From c8ea4f7a0733b2ea803faa0edeac4b8d7ea48cf4 Mon Sep 17 00:00:00 2001 From: Ryan Goree Date: Thu, 13 Mar 2025 13:53:08 -0500 Subject: [PATCH 1/4] Remove unused variable --- .../src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx b/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx index 5f6c136c6..e0620b380 100644 --- a/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx +++ b/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx @@ -146,7 +146,7 @@ export function OpenLongForm({ amount: depositAmountAsBigInt, }); - const { maxBaseIn, maxSharesIn, maxBondsOut } = useMaxLong({ + const { maxBaseIn, maxSharesIn } = useMaxLong({ hyperdriveAddress: hyperdrive.address, chainId: hyperdrive.chainId, }); From 6c989bfd9f713cc8834a6028cdc94c006c6f57ed Mon Sep 17 00:00:00 2001 From: Ryan Goree Date: Thu, 13 Mar 2025 13:54:26 -0500 Subject: [PATCH 2/4] Remove more unused variables --- .../longs/OpenLongForm/OpenLongForm.tsx | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx b/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx index e0620b380..bb6f2f315 100644 --- a/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx +++ b/apps/hyperdrive-trading/src/ui/hyperdrive/longs/OpenLongForm/OpenLongForm.tsx @@ -227,25 +227,6 @@ export function OpenLongForm({ minSharePrice: poolInfo?.vaultSharePrice || 0n, }); - const { fiatPrice: baseTokenPrice } = useTokenFiatPrice({ - chainId: hyperdrive.chainId, - tokenAddress: baseToken.address, - }); - let zapTokenAmountInBase = 0n; - if ( - isZapping && - activeTokenPrice && - baseTokenPrice && - depositAmountAsBigInt - ) { - const fiatValueOfDepositAmount = fixed( - depositAmountAsBigInt, - activeToken.decimals, - ).mul(activeTokenPrice); - const equivalentAmountOfBase = fiatValueOfDepositAmount.div(baseTokenPrice); - zapTokenAmountInBase = equivalentAmountOfBase.bigint; - } - // Plausible event props const formName = "Open Long"; const chainId = hyperdrive.chainId; From 6647185bc847b67fa9891acd77fcacbbf190bb59 Mon Sep 17 00:00:00 2001 From: Ryan Goree Date: Fri, 14 Mar 2025 22:03:25 -0500 Subject: [PATCH 3/4] Cleanup artifacts package --- .changeset/fifty-mugs-reply.md | 5 + packages/hyperdrive-artifacts/.gitignore | 11 +- packages/hyperdrive-artifacts/README.md | 19 +- .../83e70ca879a76f0c763a400659cff4f0.d.ts | 2 - .../83e70ca879a76f0c763a400659cff4f0.d.ts.map | 1 - .../dist/83e70ca879a76f0c763a400659cff4f0.js | 7 - .../hyperdrive-artifacts/dist/AaveBase.d.ts | 563 -- .../dist/AaveBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/AaveBase.js | 694 -- .../dist/AaveConversions.d.ts | 6 - .../dist/AaveConversions.d.ts.map | 1 - .../dist/AaveConversions.js | 5 - .../dist/AaveHyperdrive.d.ts | 1350 --- .../dist/AaveHyperdrive.d.ts.map | 1 - .../dist/AaveHyperdrive.js | 1703 ---- .../dist/AaveHyperdriveCoreDeployer.d.ts | 140 - .../dist/AaveHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/AaveHyperdriveCoreDeployer.js | 176 - .../AaveHyperdriveDeployerCoordinator.d.ts | 636 -- ...AaveHyperdriveDeployerCoordinator.d.ts.map | 1 - .../dist/AaveHyperdriveDeployerCoordinator.js | 812 -- .../hyperdrive-artifacts/dist/AaveL2Base.d.ts | 563 -- .../dist/AaveL2Base.d.ts.map | 1 - .../hyperdrive-artifacts/dist/AaveL2Base.js | 694 -- .../dist/AaveL2Conversions.d.ts | 6 - .../dist/AaveL2Conversions.d.ts.map | 1 - .../dist/AaveL2Conversions.js | 5 - .../dist/AaveL2Hyperdrive.d.ts | 1350 --- .../dist/AaveL2Hyperdrive.d.ts.map | 1 - .../dist/AaveL2Hyperdrive.js | 1703 ---- .../dist/AaveL2HyperdriveCoreDeployer.d.ts | 140 - .../AaveL2HyperdriveCoreDeployer.d.ts.map | 1 - .../dist/AaveL2HyperdriveCoreDeployer.js | 176 - .../AaveL2HyperdriveDeployerCoordinator.d.ts | 636 -- ...veL2HyperdriveDeployerCoordinator.d.ts.map | 1 - .../AaveL2HyperdriveDeployerCoordinator.js | 812 -- .../dist/AaveL2Target0.d.ts | 1534 --- .../dist/AaveL2Target0.d.ts.map | 1 - .../dist/AaveL2Target0.js | 1940 ---- .../dist/AaveL2Target0Deployer.d.ts | 116 - .../dist/AaveL2Target0Deployer.d.ts.map | 1 - .../dist/AaveL2Target0Deployer.js | 146 - .../dist/AaveL2Target1.d.ts | 790 -- .../dist/AaveL2Target1.d.ts.map | 1 - .../dist/AaveL2Target1.js | 984 -- .../dist/AaveL2Target1Deployer.d.ts | 116 - .../dist/AaveL2Target1Deployer.d.ts.map | 1 - .../dist/AaveL2Target1Deployer.js | 146 - .../dist/AaveL2Target2.d.ts | 810 -- .../dist/AaveL2Target2.d.ts.map | 1 - .../dist/AaveL2Target2.js | 1009 -- .../dist/AaveL2Target2Deployer.d.ts | 116 - .../dist/AaveL2Target2Deployer.d.ts.map | 1 - .../dist/AaveL2Target2Deployer.js | 146 - .../dist/AaveL2Target3.d.ts | 826 -- .../dist/AaveL2Target3.d.ts.map | 1 - .../dist/AaveL2Target3.js | 1029 -- .../dist/AaveL2Target3Deployer.d.ts | 116 - .../dist/AaveL2Target3Deployer.d.ts.map | 1 - .../dist/AaveL2Target3Deployer.js | 146 - .../dist/AaveL2Target4.d.ts | 805 -- .../dist/AaveL2Target4.d.ts.map | 1 - .../dist/AaveL2Target4.js | 1003 -- .../dist/AaveL2Target4Deployer.d.ts | 116 - .../dist/AaveL2Target4Deployer.d.ts.map | 1 - .../dist/AaveL2Target4Deployer.js | 146 - .../dist/AaveTarget0.d.ts | 1534 --- .../dist/AaveTarget0.d.ts.map | 1 - .../hyperdrive-artifacts/dist/AaveTarget0.js | 1940 ---- .../dist/AaveTarget0Deployer.d.ts | 116 - .../dist/AaveTarget0Deployer.d.ts.map | 1 - .../dist/AaveTarget0Deployer.js | 146 - .../dist/AaveTarget1.d.ts | 790 -- .../dist/AaveTarget1.d.ts.map | 1 - .../hyperdrive-artifacts/dist/AaveTarget1.js | 984 -- .../dist/AaveTarget1Deployer.d.ts | 116 - .../dist/AaveTarget1Deployer.d.ts.map | 1 - .../dist/AaveTarget1Deployer.js | 146 - .../dist/AaveTarget2.d.ts | 810 -- .../dist/AaveTarget2.d.ts.map | 1 - .../hyperdrive-artifacts/dist/AaveTarget2.js | 1009 -- .../dist/AaveTarget2Deployer.d.ts | 116 - .../dist/AaveTarget2Deployer.d.ts.map | 1 - .../dist/AaveTarget2Deployer.js | 146 - .../dist/AaveTarget3.d.ts | 826 -- .../dist/AaveTarget3.d.ts.map | 1 - .../hyperdrive-artifacts/dist/AaveTarget3.js | 1029 -- .../dist/AaveTarget3Deployer.d.ts | 116 - .../dist/AaveTarget3Deployer.d.ts.map | 1 - .../dist/AaveTarget3Deployer.js | 146 - .../dist/AaveTarget4.d.ts | 805 -- .../dist/AaveTarget4.d.ts.map | 1 - .../hyperdrive-artifacts/dist/AaveTarget4.js | 1003 -- .../dist/AaveTarget4Deployer.d.ts | 116 - .../dist/AaveTarget4Deployer.d.ts.map | 1 - .../dist/AaveTarget4Deployer.js | 146 - .../hyperdrive-artifacts/dist/Address.d.ts | 6 - .../dist/Address.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/Address.js | 5 - .../dist/AerodromeLpBase.d.ts | 535 - .../dist/AerodromeLpBase.d.ts.map | 1 - .../dist/AerodromeLpBase.js | 656 -- .../dist/AerodromeLpConversions.d.ts | 37 - .../dist/AerodromeLpConversions.d.ts.map | 1 - .../dist/AerodromeLpConversions.js | 47 - .../dist/AerodromeLpHyperdrive.d.ts | 1361 --- .../dist/AerodromeLpHyperdrive.d.ts.map | 1 - .../dist/AerodromeLpHyperdrive.js | 1716 ---- .../AerodromeLpHyperdriveCoreDeployer.d.ts | 140 - ...AerodromeLpHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/AerodromeLpHyperdriveCoreDeployer.js | 176 - ...odromeLpHyperdriveDeployerCoordinator.d.ts | 624 -- ...meLpHyperdriveDeployerCoordinator.d.ts.map | 1 - ...erodromeLpHyperdriveDeployerCoordinator.js | 797 -- .../dist/AerodromeLpTarget0.d.ts | 1542 --- .../dist/AerodromeLpTarget0.d.ts.map | 1 - .../dist/AerodromeLpTarget0.js | 1950 ---- .../dist/AerodromeLpTarget0Deployer.d.ts | 116 - .../dist/AerodromeLpTarget0Deployer.d.ts.map | 1 - .../dist/AerodromeLpTarget0Deployer.js | 146 - .../dist/AerodromeLpTarget1.d.ts | 798 -- .../dist/AerodromeLpTarget1.d.ts.map | 1 - .../dist/AerodromeLpTarget1.js | 994 -- .../dist/AerodromeLpTarget1Deployer.d.ts | 116 - .../dist/AerodromeLpTarget1Deployer.d.ts.map | 1 - .../dist/AerodromeLpTarget1Deployer.js | 146 - .../dist/AerodromeLpTarget2.d.ts | 818 -- .../dist/AerodromeLpTarget2.d.ts.map | 1 - .../dist/AerodromeLpTarget2.js | 1019 -- .../dist/AerodromeLpTarget2Deployer.d.ts | 116 - .../dist/AerodromeLpTarget2Deployer.d.ts.map | 1 - .../dist/AerodromeLpTarget2Deployer.js | 146 - .../dist/AerodromeLpTarget3.d.ts | 834 -- .../dist/AerodromeLpTarget3.d.ts.map | 1 - .../dist/AerodromeLpTarget3.js | 1039 -- .../dist/AerodromeLpTarget3Deployer.d.ts | 116 - .../dist/AerodromeLpTarget3Deployer.d.ts.map | 1 - .../dist/AerodromeLpTarget3Deployer.js | 146 - .../dist/AerodromeLpTarget4.d.ts | 813 -- .../dist/AerodromeLpTarget4.d.ts.map | 1 - .../dist/AerodromeLpTarget4.js | 1013 -- .../dist/AerodromeLpTarget4Deployer.d.ts | 116 - .../dist/AerodromeLpTarget4Deployer.d.ts.map | 1 - .../dist/AerodromeLpTarget4Deployer.js | 146 - .../hyperdrive-artifacts/dist/AssetId.d.ts | 6 - .../dist/AssetId.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/AssetId.js | 5 - packages/hyperdrive-artifacts/dist/Auth.d.ts | 81 - .../hyperdrive-artifacts/dist/Auth.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/Auth.js | 101 - .../hyperdrive-artifacts/dist/Authority.d.ts | 30 - .../dist/Authority.d.ts.map | 1 - .../hyperdrive-artifacts/dist/Authority.js | 37 - .../dist/BalancerErrors.d.ts | 6 - .../dist/BalancerErrors.d.ts.map | 1 - .../dist/BalancerErrors.js | 5 - .../dist/BorrowLogic.d.ts | 196 - .../dist/BorrowLogic.d.ts.map | 1 - .../hyperdrive-artifacts/dist/BorrowLogic.js | 241 - .../dist/BridgeLogic.d.ts | 114 - .../dist/BridgeLogic.d.ts.map | 1 - .../hyperdrive-artifacts/dist/BridgeLogic.js | 139 - .../dist/CalldataLogic.d.ts | 6 - .../dist/CalldataLogic.d.ts.map | 1 - .../dist/CalldataLogic.js | 5 - .../dist/ChainlinkBase.d.ts | 535 - .../dist/ChainlinkBase.d.ts.map | 1 - .../dist/ChainlinkBase.js | 656 -- .../dist/ChainlinkConversions.d.ts | 6 - .../dist/ChainlinkConversions.d.ts.map | 1 - .../dist/ChainlinkConversions.js | 5 - .../dist/ChainlinkHyperdrive.d.ts | 1330 --- .../dist/ChainlinkHyperdrive.d.ts.map | 1 - .../dist/ChainlinkHyperdrive.js | 1675 ---- .../dist/ChainlinkHyperdriveCoreDeployer.d.ts | 140 - .../ChainlinkHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/ChainlinkHyperdriveCoreDeployer.js | 176 - ...hainlinkHyperdriveDeployerCoordinator.d.ts | 598 -- ...linkHyperdriveDeployerCoordinator.d.ts.map | 1 - .../ChainlinkHyperdriveDeployerCoordinator.js | 762 -- .../dist/ChainlinkTarget0.d.ts | 1550 --- .../dist/ChainlinkTarget0.d.ts.map | 1 - .../dist/ChainlinkTarget0.js | 1960 ---- .../dist/ChainlinkTarget0Deployer.d.ts | 116 - .../dist/ChainlinkTarget0Deployer.d.ts.map | 1 - .../dist/ChainlinkTarget0Deployer.js | 146 - .../dist/ChainlinkTarget1.d.ts | 806 -- .../dist/ChainlinkTarget1.d.ts.map | 1 - .../dist/ChainlinkTarget1.js | 1004 -- .../dist/ChainlinkTarget1Deployer.d.ts | 116 - .../dist/ChainlinkTarget1Deployer.d.ts.map | 1 - .../dist/ChainlinkTarget1Deployer.js | 146 - .../dist/ChainlinkTarget2.d.ts | 826 -- .../dist/ChainlinkTarget2.d.ts.map | 1 - .../dist/ChainlinkTarget2.js | 1029 -- .../dist/ChainlinkTarget2Deployer.d.ts | 116 - .../dist/ChainlinkTarget2Deployer.d.ts.map | 1 - .../dist/ChainlinkTarget2Deployer.js | 146 - .../dist/ChainlinkTarget3.d.ts | 842 -- .../dist/ChainlinkTarget3.d.ts.map | 1 - .../dist/ChainlinkTarget3.js | 1049 -- .../dist/ChainlinkTarget3Deployer.d.ts | 116 - .../dist/ChainlinkTarget3Deployer.d.ts.map | 1 - .../dist/ChainlinkTarget3Deployer.js | 146 - .../dist/ChainlinkTarget4.d.ts | 821 -- .../dist/ChainlinkTarget4.d.ts.map | 1 - .../dist/ChainlinkTarget4.js | 1023 -- .../dist/ChainlinkTarget4Deployer.d.ts | 116 - .../dist/ChainlinkTarget4Deployer.d.ts.map | 1 - .../dist/ChainlinkTarget4Deployer.js | 146 - .../hyperdrive-artifacts/dist/CommonBase.d.ts | 6 - .../dist/CommonBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/CommonBase.js | 5 - .../hyperdrive-artifacts/dist/Context.d.ts | 6 - .../dist/Context.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/Context.js | 5 - .../hyperdrive-artifacts/dist/CornBase.d.ts | 535 - .../dist/CornBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/CornBase.js | 656 -- .../dist/CornConversions.d.ts | 37 - .../dist/CornConversions.d.ts.map | 1 - .../dist/CornConversions.js | 47 - .../dist/CornHyperdrive.d.ts | 1354 --- .../dist/CornHyperdrive.d.ts.map | 1 - .../dist/CornHyperdrive.js | 1708 ---- .../dist/CornHyperdriveCoreDeployer.d.ts | 148 - .../dist/CornHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/CornHyperdriveCoreDeployer.js | 187 - .../CornHyperdriveDeployerCoordinator.d.ts | 624 -- ...CornHyperdriveDeployerCoordinator.d.ts.map | 1 - .../dist/CornHyperdriveDeployerCoordinator.js | 797 -- .../dist/CornTarget0.d.ts | 1542 --- .../dist/CornTarget0.d.ts.map | 1 - .../hyperdrive-artifacts/dist/CornTarget0.js | 1950 ---- .../dist/CornTarget0Deployer.d.ts | 124 - .../dist/CornTarget0Deployer.d.ts.map | 1 - .../dist/CornTarget0Deployer.js | 157 - .../dist/CornTarget1.d.ts | 798 -- .../dist/CornTarget1.d.ts.map | 1 - .../hyperdrive-artifacts/dist/CornTarget1.js | 994 -- .../dist/CornTarget1Deployer.d.ts | 124 - .../dist/CornTarget1Deployer.d.ts.map | 1 - .../dist/CornTarget1Deployer.js | 157 - .../dist/CornTarget2.d.ts | 818 -- .../dist/CornTarget2.d.ts.map | 1 - .../hyperdrive-artifacts/dist/CornTarget2.js | 1019 -- .../dist/CornTarget2Deployer.d.ts | 124 - .../dist/CornTarget2Deployer.d.ts.map | 1 - .../dist/CornTarget2Deployer.js | 157 - .../dist/CornTarget3.d.ts | 834 -- .../dist/CornTarget3.d.ts.map | 1 - .../hyperdrive-artifacts/dist/CornTarget3.js | 1039 -- .../dist/CornTarget3Deployer.d.ts | 124 - .../dist/CornTarget3Deployer.d.ts.map | 1 - .../dist/CornTarget3Deployer.js | 157 - .../dist/CornTarget4.d.ts | 813 -- .../dist/CornTarget4.d.ts.map | 1 - .../hyperdrive-artifacts/dist/CornTarget4.js | 1013 -- .../dist/CornTarget4Deployer.d.ts | 124 - .../dist/CornTarget4Deployer.d.ts.map | 1 - .../dist/CornTarget4Deployer.js | 157 - .../hyperdrive-artifacts/dist/DataTypes.d.ts | 6 - .../dist/DataTypes.d.ts.map | 1 - .../hyperdrive-artifacts/dist/DataTypes.js | 5 - .../hyperdrive-artifacts/dist/EETHBase.d.ts | 547 -- .../dist/EETHBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EETHBase.js | 671 -- .../dist/EETHConversions.d.ts | 6 - .../dist/EETHConversions.d.ts.map | 1 - .../dist/EETHConversions.js | 5 - .../dist/EETHHyperdrive.d.ts | 1337 --- .../dist/EETHHyperdrive.d.ts.map | 1 - .../dist/EETHHyperdrive.js | 1684 ---- .../dist/EETHHyperdriveCoreDeployer.d.ts | 159 - .../dist/EETHHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/EETHHyperdriveCoreDeployer.js | 201 - .../EETHHyperdriveDeployerCoordinator.d.ts | 619 -- ...EETHHyperdriveDeployerCoordinator.d.ts.map | 1 - .../dist/EETHHyperdriveDeployerCoordinator.js | 788 -- .../dist/EETHTarget0.d.ts | 1557 --- .../dist/EETHTarget0.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EETHTarget0.js | 1969 ---- .../dist/EETHTarget0Deployer.d.ts | 135 - .../dist/EETHTarget0Deployer.d.ts.map | 1 - .../dist/EETHTarget0Deployer.js | 171 - .../dist/EETHTarget1.d.ts | 785 -- .../dist/EETHTarget1.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EETHTarget1.js | 975 -- .../dist/EETHTarget1Deployer.d.ts | 135 - .../dist/EETHTarget1Deployer.d.ts.map | 1 - .../dist/EETHTarget1Deployer.js | 171 - .../dist/EETHTarget2.d.ts | 793 -- .../dist/EETHTarget2.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EETHTarget2.js | 985 -- .../dist/EETHTarget2Deployer.d.ts | 135 - .../dist/EETHTarget2Deployer.d.ts.map | 1 - .../dist/EETHTarget2Deployer.js | 171 - .../dist/EETHTarget3.d.ts | 809 -- .../dist/EETHTarget3.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EETHTarget3.js | 1005 -- .../dist/EETHTarget3Deployer.d.ts | 135 - .../dist/EETHTarget3Deployer.d.ts.map | 1 - .../dist/EETHTarget3Deployer.js | 171 - .../dist/EETHTarget4.d.ts | 800 -- .../dist/EETHTarget4.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EETHTarget4.js | 994 -- .../dist/EETHTarget4Deployer.d.ts | 135 - .../dist/EETHTarget4Deployer.d.ts.map | 1 - .../dist/EETHTarget4Deployer.js | 171 - .../hyperdrive-artifacts/dist/EModeLogic.d.ts | 23 - .../dist/EModeLogic.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EModeLogic.js | 27 - packages/hyperdrive-artifacts/dist/ERC20.d.ts | 247 - .../hyperdrive-artifacts/dist/ERC20.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/ERC20.js | 316 - .../dist/ERC20Forwarder.d.ts | 318 - .../dist/ERC20Forwarder.d.ts.map | 1 - .../dist/ERC20Forwarder.js | 406 - .../dist/ERC20ForwarderFactory.d.ts | 116 - .../dist/ERC20ForwarderFactory.d.ts.map | 1 - .../dist/ERC20ForwarderFactory.js | 148 - .../dist/ERC20Mintable.d.ts | 723 -- .../dist/ERC20Mintable.d.ts.map | 1 - .../dist/ERC20Mintable.js | 927 -- .../hyperdrive-artifacts/dist/ERC4626.d.ts | 558 -- .../dist/ERC4626.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/ERC4626.js | 722 -- .../dist/ERC4626Base.d.ts | 535 - .../dist/ERC4626Base.d.ts.map | 1 - .../hyperdrive-artifacts/dist/ERC4626Base.js | 656 -- .../dist/ERC4626Conversions.d.ts | 6 - .../dist/ERC4626Conversions.d.ts.map | 1 - .../dist/ERC4626Conversions.js | 5 - .../dist/ERC4626Hyperdrive.d.ts | 1350 --- .../dist/ERC4626Hyperdrive.d.ts.map | 1 - .../dist/ERC4626Hyperdrive.js | 1703 ---- .../dist/ERC4626HyperdriveCoreDeployer.d.ts | 140 - .../ERC4626HyperdriveCoreDeployer.d.ts.map | 1 - .../dist/ERC4626HyperdriveCoreDeployer.js | 176 - .../ERC4626HyperdriveDeployerCoordinator.d.ts | 628 -- ...4626HyperdriveDeployerCoordinator.d.ts.map | 1 - .../ERC4626HyperdriveDeployerCoordinator.js | 802 -- .../dist/ERC4626Target0.d.ts | 1527 --- .../dist/ERC4626Target0.d.ts.map | 1 - .../dist/ERC4626Target0.js | 1931 ---- .../dist/ERC4626Target0Deployer.d.ts | 116 - .../dist/ERC4626Target0Deployer.d.ts.map | 1 - .../dist/ERC4626Target0Deployer.js | 146 - .../dist/ERC4626Target1.d.ts | 794 -- .../dist/ERC4626Target1.d.ts.map | 1 - .../dist/ERC4626Target1.js | 989 -- .../dist/ERC4626Target1Deployer.d.ts | 116 - .../dist/ERC4626Target1Deployer.d.ts.map | 1 - .../dist/ERC4626Target1Deployer.js | 146 - .../dist/ERC4626Target2.d.ts | 810 -- .../dist/ERC4626Target2.d.ts.map | 1 - .../dist/ERC4626Target2.js | 1009 -- .../dist/ERC4626Target2Deployer.d.ts | 116 - .../dist/ERC4626Target2Deployer.d.ts.map | 1 - .../dist/ERC4626Target2Deployer.js | 146 - .../dist/ERC4626Target3.d.ts | 826 -- .../dist/ERC4626Target3.d.ts.map | 1 - .../dist/ERC4626Target3.js | 1029 -- .../dist/ERC4626Target3Deployer.d.ts | 116 - .../dist/ERC4626Target3Deployer.d.ts.map | 1 - .../dist/ERC4626Target3Deployer.js | 146 - .../dist/ERC4626Target4.d.ts | 809 -- .../dist/ERC4626Target4.d.ts.map | 1 - .../dist/ERC4626Target4.js | 1008 -- .../dist/ERC4626Target4Deployer.d.ts | 116 - .../dist/ERC4626Target4Deployer.d.ts.map | 1 - .../dist/ERC4626Target4Deployer.js | 146 - .../hyperdrive-artifacts/dist/Errors.d.ts | 1085 --- .../hyperdrive-artifacts/dist/Errors.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/Errors.js | 1379 --- .../hyperdrive-artifacts/dist/ErrorsLib.d.ts | 6 - .../dist/ErrorsLib.d.ts.map | 1 - .../hyperdrive-artifacts/dist/ErrorsLib.js | 5 - .../dist/EtchingUtils.d.ts | 440 - .../dist/EtchingUtils.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EtchingUtils.js | 561 -- .../dist/EtchingVault.d.ts | 45 - .../dist/EtchingVault.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EtchingVault.js | 57 - .../dist/ExcessivelySafeCall.d.ts | 6 - .../dist/ExcessivelySafeCall.d.ts.map | 1 - .../dist/ExcessivelySafeCall.js | 5 - .../hyperdrive-artifacts/dist/EzETHBase.d.ts | 535 - .../dist/EzETHBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EzETHBase.js | 656 -- .../dist/EzETHConversions.d.ts | 6 - .../dist/EzETHConversions.d.ts.map | 1 - .../dist/EzETHConversions.js | 5 - .../dist/EzETHHyperdrive.d.ts | 1326 --- .../dist/EzETHHyperdrive.d.ts.map | 1 - .../dist/EzETHHyperdrive.js | 1670 ---- .../dist/EzETHHyperdriveCoreDeployer.d.ts | 159 - .../dist/EzETHHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/EzETHHyperdriveCoreDeployer.js | 201 - .../EzETHHyperdriveDeployerCoordinator.d.ts | 689 -- ...zETHHyperdriveDeployerCoordinator.d.ts.map | 1 - .../EzETHHyperdriveDeployerCoordinator.js | 879 -- .../dist/EzETHLineaBase.d.ts | 535 - .../dist/EzETHLineaBase.d.ts.map | 1 - .../dist/EzETHLineaBase.js | 656 -- .../dist/EzETHLineaConversions.d.ts | 6 - .../dist/EzETHLineaConversions.d.ts.map | 1 - .../dist/EzETHLineaConversions.js | 5 - .../dist/EzETHLineaHyperdrive.d.ts | 1326 --- .../dist/EzETHLineaHyperdrive.d.ts.map | 1 - .../dist/EzETHLineaHyperdrive.js | 1670 ---- .../EzETHLineaHyperdriveCoreDeployer.d.ts | 159 - .../EzETHLineaHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/EzETHLineaHyperdriveCoreDeployer.js | 201 - ...ETHLineaHyperdriveDeployerCoordinator.d.ts | 615 -- ...ineaHyperdriveDeployerCoordinator.d.ts.map | 1 - ...EzETHLineaHyperdriveDeployerCoordinator.js | 783 -- .../dist/EzETHLineaTarget0.d.ts | 1546 --- .../dist/EzETHLineaTarget0.d.ts.map | 1 - .../dist/EzETHLineaTarget0.js | 1955 ---- .../dist/EzETHLineaTarget0Deployer.d.ts | 135 - .../dist/EzETHLineaTarget0Deployer.d.ts.map | 1 - .../dist/EzETHLineaTarget0Deployer.js | 171 - .../dist/EzETHLineaTarget1.d.ts | 774 -- .../dist/EzETHLineaTarget1.d.ts.map | 1 - .../dist/EzETHLineaTarget1.js | 961 -- .../dist/EzETHLineaTarget1Deployer.d.ts | 135 - .../dist/EzETHLineaTarget1Deployer.d.ts.map | 1 - .../dist/EzETHLineaTarget1Deployer.js | 171 - .../dist/EzETHLineaTarget2.d.ts | 790 -- .../dist/EzETHLineaTarget2.d.ts.map | 1 - .../dist/EzETHLineaTarget2.js | 981 -- .../dist/EzETHLineaTarget2Deployer.d.ts | 135 - .../dist/EzETHLineaTarget2Deployer.d.ts.map | 1 - .../dist/EzETHLineaTarget2Deployer.js | 171 - .../dist/EzETHLineaTarget3.d.ts | 806 -- .../dist/EzETHLineaTarget3.d.ts.map | 1 - .../dist/EzETHLineaTarget3.js | 1001 -- .../dist/EzETHLineaTarget3Deployer.d.ts | 135 - .../dist/EzETHLineaTarget3Deployer.d.ts.map | 1 - .../dist/EzETHLineaTarget3Deployer.js | 171 - .../dist/EzETHLineaTarget4.d.ts | 789 -- .../dist/EzETHLineaTarget4.d.ts.map | 1 - .../dist/EzETHLineaTarget4.js | 980 -- .../dist/EzETHLineaTarget4Deployer.d.ts | 135 - .../dist/EzETHLineaTarget4Deployer.d.ts.map | 1 - .../dist/EzETHLineaTarget4Deployer.js | 171 - .../dist/EzETHTarget0.d.ts | 1553 --- .../dist/EzETHTarget0.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EzETHTarget0.js | 1964 ---- .../dist/EzETHTarget0Deployer.d.ts | 135 - .../dist/EzETHTarget0Deployer.d.ts.map | 1 - .../dist/EzETHTarget0Deployer.js | 171 - .../dist/EzETHTarget1.d.ts | 770 -- .../dist/EzETHTarget1.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EzETHTarget1.js | 956 -- .../dist/EzETHTarget1Deployer.d.ts | 135 - .../dist/EzETHTarget1Deployer.d.ts.map | 1 - .../dist/EzETHTarget1Deployer.js | 171 - .../dist/EzETHTarget2.d.ts | 790 -- .../dist/EzETHTarget2.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EzETHTarget2.js | 981 -- .../dist/EzETHTarget2Deployer.d.ts | 135 - .../dist/EzETHTarget2Deployer.d.ts.map | 1 - .../dist/EzETHTarget2Deployer.js | 171 - .../dist/EzETHTarget3.d.ts | 806 -- .../dist/EzETHTarget3.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EzETHTarget3.js | 1001 -- .../dist/EzETHTarget3Deployer.d.ts | 135 - .../dist/EzETHTarget3Deployer.d.ts.map | 1 - .../dist/EzETHTarget3Deployer.js | 171 - .../dist/EzETHTarget4.d.ts | 785 -- .../dist/EzETHTarget4.d.ts.map | 1 - .../hyperdrive-artifacts/dist/EzETHTarget4.js | 975 -- .../dist/EzETHTarget4Deployer.d.ts | 135 - .../dist/EzETHTarget4Deployer.d.ts.map | 1 - .../dist/EzETHTarget4Deployer.js | 171 - .../dist/FixedPointMath.d.ts | 6 - .../dist/FixedPointMath.d.ts.map | 1 - .../dist/FixedPointMath.js | 5 - .../dist/FixedPointMathLib.d.ts | 6 - .../dist/FixedPointMathLib.d.ts.map | 1 - .../dist/FixedPointMathLib.js | 5 - .../dist/FlashLoanLogic.d.ts | 84 - .../dist/FlashLoanLogic.d.ts.map | 1 - .../dist/FlashLoanLogic.js | 101 - .../dist/GPv2SafeERC20.d.ts | 6 - .../dist/GPv2SafeERC20.d.ts.map | 1 - .../dist/GPv2SafeERC20.js | 5 - .../dist/GenericLogic.d.ts | 6 - .../dist/GenericLogic.d.ts.map | 1 - .../hyperdrive-artifacts/dist/GenericLogic.js | 5 - .../hyperdrive-artifacts/dist/Helpers.d.ts | 6 - .../dist/Helpers.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/Helpers.js | 5 - .../hyperdrive-artifacts/dist/Hyperdrive.d.ts | 1204 --- .../dist/Hyperdrive.d.ts.map | 1 - .../hyperdrive-artifacts/dist/Hyperdrive.js | 1515 --- .../dist/HyperdriveAdmin.d.ts | 535 - .../dist/HyperdriveAdmin.d.ts.map | 1 - .../dist/HyperdriveAdmin.js | 656 -- .../dist/HyperdriveBase.d.ts | 535 - .../dist/HyperdriveBase.d.ts.map | 1 - .../dist/HyperdriveBase.js | 656 -- .../dist/HyperdriveCheckpoint.d.ts | 535 - .../dist/HyperdriveCheckpoint.d.ts.map | 1 - .../dist/HyperdriveCheckpoint.js | 656 -- .../dist/HyperdriveCheckpointRewarder.d.ts | 174 - .../HyperdriveCheckpointRewarder.d.ts.map | 1 - .../dist/HyperdriveCheckpointRewarder.js | 219 - .../dist/HyperdriveCheckpointSubrewarder.d.ts | 338 - .../HyperdriveCheckpointSubrewarder.d.ts.map | 1 - .../dist/HyperdriveCheckpointSubrewarder.js | 433 - .../dist/HyperdriveDeployerCoordinator.d.ts | 526 - .../HyperdriveDeployerCoordinator.d.ts.map | 1 - .../dist/HyperdriveDeployerCoordinator.js | 668 -- .../dist/HyperdriveFactory.d.ts | 1675 ---- .../dist/HyperdriveFactory.d.ts.map | 1 - .../dist/HyperdriveFactory.js | 2142 ---- .../dist/HyperdriveLP.d.ts | 535 - .../dist/HyperdriveLP.d.ts.map | 1 - .../hyperdrive-artifacts/dist/HyperdriveLP.js | 656 -- .../dist/HyperdriveLong.d.ts | 535 - .../dist/HyperdriveLong.d.ts.map | 1 - .../dist/HyperdriveLong.js | 656 -- .../dist/HyperdriveMath.d.ts | 6 - .../dist/HyperdriveMath.d.ts.map | 1 - .../dist/HyperdriveMath.js | 5 - .../dist/HyperdriveMultiToken.d.ts | 535 - .../dist/HyperdriveMultiToken.d.ts.map | 1 - .../dist/HyperdriveMultiToken.js | 656 -- .../dist/HyperdriveRegistry.d.ts | 541 -- .../dist/HyperdriveRegistry.d.ts.map | 1 - .../dist/HyperdriveRegistry.js | 700 -- .../dist/HyperdriveShort.d.ts | 535 - .../dist/HyperdriveShort.d.ts.map | 1 - .../dist/HyperdriveShort.js | 656 -- .../dist/HyperdriveStorage.d.ts | 10 - .../dist/HyperdriveStorage.d.ts.map | 1 - .../dist/HyperdriveStorage.js | 11 - .../dist/HyperdriveTarget0.d.ts | 1429 --- .../dist/HyperdriveTarget0.d.ts.map | 1 - .../dist/HyperdriveTarget0.js | 1806 ---- .../dist/HyperdriveTarget1.d.ts | 668 -- .../dist/HyperdriveTarget1.d.ts.map | 1 - .../dist/HyperdriveTarget1.js | 826 -- .../dist/HyperdriveTarget2.d.ts | 684 -- .../dist/HyperdriveTarget2.d.ts.map | 1 - .../dist/HyperdriveTarget2.js | 846 -- .../dist/HyperdriveTarget3.d.ts | 700 -- .../dist/HyperdriveTarget3.d.ts.map | 1 - .../dist/HyperdriveTarget3.js | 866 -- .../dist/HyperdriveTarget4.d.ts | 683 -- .../dist/HyperdriveTarget4.d.ts.map | 1 - .../dist/HyperdriveTarget4.js | 845 -- .../dist/HyperdriveUtils.d.ts | 6 - .../dist/HyperdriveUtils.d.ts.map | 1 - .../dist/HyperdriveUtils.js | 5 - .../dist/IACLManager.d.ts | 321 - .../dist/IACLManager.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IACLManager.js | 412 - .../hyperdrive-artifacts/dist/IAL2Token.d.ts | 613 -- .../dist/IAL2Token.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IAL2Token.js | 778 -- .../hyperdrive-artifacts/dist/IAToken.d.ts | 602 -- .../dist/IAToken.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IAToken.js | 764 -- .../dist/IAaveHyperdrive.d.ts | 1932 ---- .../dist/IAaveHyperdrive.d.ts.map | 1 - .../dist/IAaveHyperdrive.js | 2450 ----- .../IAaveHyperdriveDeployerCoordinator.d.ts | 443 - ...AaveHyperdriveDeployerCoordinator.d.ts.map | 1 - .../IAaveHyperdriveDeployerCoordinator.js | 563 -- .../dist/IAaveHyperdriveRead.d.ts | 586 -- .../dist/IAaveHyperdriveRead.d.ts.map | 1 - .../dist/IAaveHyperdriveRead.js | 755 -- .../dist/IAaveIncentivesController.d.ts | 26 - .../dist/IAaveIncentivesController.d.ts.map | 1 - .../dist/IAaveIncentivesController.js | 31 - .../dist/IAaveL2Hyperdrive.d.ts | 1932 ---- .../dist/IAaveL2Hyperdrive.d.ts.map | 1 - .../dist/IAaveL2Hyperdrive.js | 2450 ----- .../IAaveL2HyperdriveDeployerCoordinator.d.ts | 443 - ...veL2HyperdriveDeployerCoordinator.d.ts.map | 1 - .../IAaveL2HyperdriveDeployerCoordinator.js | 563 -- .../dist/IAaveL2HyperdriveRead.d.ts | 586 -- .../dist/IAaveL2HyperdriveRead.d.ts.map | 1 - .../dist/IAaveL2HyperdriveRead.js | 755 -- .../dist/IAccessControl.d.ts | 146 - .../dist/IAccessControl.d.ts.map | 1 - .../dist/IAccessControl.js | 184 - .../dist/IAerodromeLpHyperdrive.d.ts | 1943 ---- .../dist/IAerodromeLpHyperdrive.d.ts.map | 1 - .../dist/IAerodromeLpHyperdrive.js | 2464 ----- .../dist/IChainlinkAggregatorV3.d.ts | 109 - .../dist/IChainlinkAggregatorV3.d.ts.map | 1 - .../dist/IChainlinkAggregatorV3.js | 137 - .../dist/IChainlinkHyperdrive.d.ts | 1932 ---- .../dist/IChainlinkHyperdrive.d.ts.map | 1 - .../dist/IChainlinkHyperdrive.js | 2450 ----- .../dist/ICornHyperdrive.d.ts | 1932 ---- .../dist/ICornHyperdrive.d.ts.map | 1 - .../dist/ICornHyperdrive.js | 2450 ----- .../hyperdrive-artifacts/dist/ICornSilo.d.ts | 565 -- .../dist/ICornSilo.d.ts.map | 1 - .../hyperdrive-artifacts/dist/ICornSilo.js | 729 -- .../hyperdrive-artifacts/dist/ICreateX.d.ts | 705 -- .../dist/ICreateX.d.ts.map | 1 - .../hyperdrive-artifacts/dist/ICreateX.js | 923 -- .../dist/IDepositQueue.d.ts | 29 - .../dist/IDepositQueue.d.ts.map | 1 - .../dist/IDepositQueue.js | 35 - .../dist/IDeterministicDeployer.d.ts | 705 -- .../dist/IDeterministicDeployer.d.ts.map | 1 - .../dist/IDeterministicDeployer.js | 923 -- packages/hyperdrive-artifacts/dist/IEETH.d.ts | 183 - .../hyperdrive-artifacts/dist/IEETH.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IEETH.js | 235 - .../dist/IEETHHyperdrive.d.ts | 1932 ---- .../dist/IEETHHyperdrive.d.ts.map | 1 - .../dist/IEETHHyperdrive.js | 2450 ----- .../dist/IERC1155Errors.d.ts | 82 - .../dist/IERC1155Errors.d.ts.map | 1 - .../dist/IERC1155Errors.js | 108 - .../hyperdrive-artifacts/dist/IERC165.d.ts | 22 - .../dist/IERC165.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IERC165.js | 27 - .../hyperdrive-artifacts/dist/IERC20.d.ts | 186 - .../hyperdrive-artifacts/dist/IERC20.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IERC20.js | 238 - .../dist/IERC20Detailed.d.ts | 186 - .../dist/IERC20Detailed.d.ts.map | 1 - .../dist/IERC20Detailed.js | 238 - .../dist/IERC20Errors.d.ts | 70 - .../dist/IERC20Errors.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IERC20Errors.js | 92 - .../dist/IERC20Forwarder.d.ts | 314 - .../dist/IERC20Forwarder.d.ts.map | 1 - .../dist/IERC20Forwarder.js | 401 - .../dist/IERC20ForwarderFactory.d.ts | 108 - .../dist/IERC20ForwarderFactory.d.ts.map | 1 - .../dist/IERC20ForwarderFactory.js | 137 - .../dist/IERC20Metadata.d.ts | 186 - .../dist/IERC20Metadata.d.ts.map | 1 - .../dist/IERC20Metadata.js | 238 - .../dist/IERC20Permit.d.ts | 68 - .../dist/IERC20Permit.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IERC20Permit.js | 85 - .../dist/IERC20WithPermit.d.ts | 188 - .../dist/IERC20WithPermit.d.ts.map | 1 - .../dist/IERC20WithPermit.js | 240 - .../hyperdrive-artifacts/dist/IERC4626.d.ts | 492 - .../dist/IERC4626.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IERC4626.js | 638 -- ...IERC4626HyperdriveDeployerCoordinator.d.ts | 435 - ...4626HyperdriveDeployerCoordinator.d.ts.map | 1 - .../IERC4626HyperdriveDeployerCoordinator.js | 553 -- .../hyperdrive-artifacts/dist/IERC721.d.ts | 237 - .../dist/IERC721.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IERC721.js | 302 - .../dist/IERC721Enumerable.d.ts | 282 - .../dist/IERC721Enumerable.d.ts.map | 1 - .../dist/IERC721Enumerable.js | 361 - .../dist/IERC721Errors.d.ts | 82 - .../dist/IERC721Errors.d.ts.map | 1 - .../dist/IERC721Errors.js | 109 - .../dist/IERC721Metadata.d.ts | 274 - .../dist/IERC721Metadata.d.ts.map | 1 - .../dist/IERC721Metadata.js | 350 - .../dist/IERC721TokenReceiver.d.ts | 34 - .../dist/IERC721TokenReceiver.d.ts.map | 1 - .../dist/IERC721TokenReceiver.js | 42 - .../dist/IEzETHHyperdrive.d.ts | 1943 ---- .../dist/IEzETHHyperdrive.d.ts.map | 1 - .../dist/IEzETHHyperdrive.js | 2464 ----- .../IEzETHHyperdriveDeployerCoordinator.d.ts | 451 - ...zETHHyperdriveDeployerCoordinator.d.ts.map | 1 - .../IEzETHHyperdriveDeployerCoordinator.js | 573 -- .../dist/IEzETHHyperdriveRead.d.ts | 597 -- .../dist/IEzETHHyperdriveRead.d.ts.map | 1 - .../dist/IEzETHHyperdriveRead.js | 769 -- .../dist/IEzETHLineaHyperdrive.d.ts | 1932 ---- .../dist/IEzETHLineaHyperdrive.d.ts.map | 1 - .../dist/IEzETHLineaHyperdrive.js | 2450 ----- .../dist/IFiatTokenProxy.d.ts | 18 - .../dist/IFiatTokenProxy.d.ts.map | 1 - .../dist/IFiatTokenProxy.js | 21 - .../dist/IFlashLoanReceiver.d.ts | 60 - .../dist/IFlashLoanReceiver.d.ts.map | 1 - .../dist/IFlashLoanReceiver.js | 75 - .../dist/IFlashLoanSimpleReceiver.d.ts | 60 - .../dist/IFlashLoanSimpleReceiver.d.ts.map | 1 - .../dist/IFlashLoanSimpleReceiver.js | 75 - .../dist/IGatewayRouter.d.ts | 61 - .../dist/IGatewayRouter.d.ts.map | 1 - .../dist/IGatewayRouter.js | 77 - .../hyperdrive-artifacts/dist/IGauge.d.ts | 441 - .../hyperdrive-artifacts/dist/IGauge.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IGauge.js | 562 -- .../dist/IHyperdrive.d.ts | 1921 ---- .../dist/IHyperdrive.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IHyperdrive.js | 2436 ----- .../dist/IHyperdriveAdminController.d.ts | 62 - .../dist/IHyperdriveAdminController.d.ts.map | 1 - .../dist/IHyperdriveAdminController.js | 77 - .../dist/IHyperdriveCheckpointRewarder.d.ts | 162 - .../IHyperdriveCheckpointRewarder.d.ts.map | 1 - .../dist/IHyperdriveCheckpointRewarder.js | 203 - .../IHyperdriveCheckpointSubrewarder.d.ts | 278 - .../IHyperdriveCheckpointSubrewarder.d.ts.map | 1 - .../dist/IHyperdriveCheckpointSubrewarder.js | 354 - .../dist/IHyperdriveCore.d.ts | 591 -- .../dist/IHyperdriveCore.d.ts.map | 1 - .../dist/IHyperdriveCore.js | 758 -- .../dist/IHyperdriveCoreDeployer.d.ts | 140 - .../dist/IHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/IHyperdriveCoreDeployer.js | 176 - .../dist/IHyperdriveDeployerCoordinator.d.ts | 397 - .../IHyperdriveDeployerCoordinator.d.ts.map | 1 - .../dist/IHyperdriveDeployerCoordinator.js | 503 - .../dist/IHyperdriveEvents.d.ts | 531 - .../dist/IHyperdriveEvents.d.ts.map | 1 - .../dist/IHyperdriveEvents.js | 651 -- .../dist/IHyperdriveFactory.d.ts | 1514 --- .../dist/IHyperdriveFactory.d.ts.map | 1 - .../dist/IHyperdriveFactory.js | 1936 ---- .../dist/IHyperdriveGovernedRegistry.d.ts | 541 -- .../dist/IHyperdriveGovernedRegistry.d.ts.map | 1 - .../dist/IHyperdriveGovernedRegistry.js | 700 -- .../IHyperdriveGovernedRegistryEvents.d.ts | 76 - ...IHyperdriveGovernedRegistryEvents.d.ts.map | 1 - .../dist/IHyperdriveGovernedRegistryEvents.js | 95 - .../dist/IHyperdriveRead.d.ts | 575 -- .../dist/IHyperdriveRead.d.ts.map | 1 - .../dist/IHyperdriveRead.js | 741 -- .../dist/IHyperdriveRegistry.d.ts | 354 - .../dist/IHyperdriveRegistry.d.ts.map | 1 - .../dist/IHyperdriveRegistry.js | 463 - .../dist/IHyperdriveTargetDeployer.d.ts | 116 - .../dist/IHyperdriveTargetDeployer.d.ts.map | 1 - .../dist/IHyperdriveTargetDeployer.js | 146 - .../dist/IInitializableAToken.d.ts | 91 - .../dist/IInitializableAToken.d.ts.map | 1 - .../dist/IInitializableAToken.js | 111 - .../dist/IInitializableDebtToken.d.ts | 82 - .../dist/IInitializableDebtToken.d.ts.map | 1 - .../dist/IInitializableDebtToken.js | 100 - packages/hyperdrive-artifacts/dist/IIrm.d.ts | 137 - .../hyperdrive-artifacts/dist/IIrm.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IIrm.js | 175 - .../hyperdrive-artifacts/dist/IL2Pool.d.ts | 164 - .../dist/IL2Pool.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IL2Pool.js | 210 - packages/hyperdrive-artifacts/dist/ILido.d.ts | 321 - .../hyperdrive-artifacts/dist/ILido.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/ILido.js | 415 - .../dist/ILiquidityPool.d.ts | 223 - .../dist/ILiquidityPool.d.ts.map | 1 - .../dist/ILiquidityPool.js | 288 - .../ILsETHHyperdriveDeployerCoordinator.d.ts | 435 - ...sETHHyperdriveDeployerCoordinator.d.ts.map | 1 - .../ILsETHHyperdriveDeployerCoordinator.js | 553 -- .../dist/IMetaMorpho.d.ts | 562 -- .../dist/IMetaMorpho.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IMetaMorpho.js | 728 -- .../dist/IMockHyperdrive.d.ts | 184 - .../dist/IMockHyperdrive.d.ts.map | 1 - .../dist/IMockHyperdrive.js | 233 - .../hyperdrive-artifacts/dist/IMorpho.d.ts | 822 -- .../dist/IMorpho.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IMorpho.js | 1057 -- .../dist/IMorphoBase.d.ts | 714 -- .../dist/IMorphoBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IMorphoBase.js | 916 -- .../dist/IMorphoBlueHyperdrive.d.ts | 1987 ---- .../dist/IMorphoBlueHyperdrive.d.ts.map | 1 - .../dist/IMorphoBlueHyperdrive.js | 2520 ----- .../dist/IMorphoStaticTyping.d.ts | 807 -- .../dist/IMorphoStaticTyping.d.ts.map | 1 - .../dist/IMorphoStaticTyping.js | 1036 -- .../dist/IMultiToken.d.ts | 396 - .../dist/IMultiToken.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IMultiToken.js | 504 - .../dist/IMultiTokenCore.d.ts | 172 - .../dist/IMultiTokenCore.d.ts.map | 1 - .../dist/IMultiTokenCore.js | 215 - .../dist/IMultiTokenEvents.d.ts | 76 - .../dist/IMultiTokenEvents.d.ts.map | 1 - .../dist/IMultiTokenEvents.js | 93 - .../dist/IMultiTokenMetadata.d.ts | 29 - .../dist/IMultiTokenMetadata.d.ts.map | 1 - .../dist/IMultiTokenMetadata.js | 35 - .../dist/IMultiTokenRead.d.ts | 139 - .../dist/IMultiTokenRead.d.ts.map | 1 - .../dist/IMultiTokenRead.js | 181 - .../dist/IMulticall3.d.ts | 354 - .../dist/IMulticall3.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IMulticall3.js | 461 - packages/hyperdrive-artifacts/dist/IPool.d.ts | 1626 ---- .../hyperdrive-artifacts/dist/IPool.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IPool.js | 2065 ---- .../dist/IPoolAddressesProvider.d.ts | 413 - .../dist/IPoolAddressesProvider.d.ts.map | 1 - .../dist/IPoolAddressesProvider.js | 522 - .../dist/IPriceOracleGetter.d.ts | 44 - .../dist/IPriceOracleGetter.d.ts.map | 1 - .../dist/IPriceOracleGetter.js | 55 - .../dist/IPriceOracleSentinel.d.ts | 104 - .../dist/IPriceOracleSentinel.d.ts.map | 1 - .../dist/IPriceOracleSentinel.js | 131 - .../IRETHHyperdriveDeployerCoordinator.d.ts | 435 - ...RETHHyperdriveDeployerCoordinator.d.ts.map | 1 - .../IRETHHyperdriveDeployerCoordinator.js | 553 -- .../dist/IRSETHPoolV2.d.ts | 62 - .../dist/IRSETHPoolV2.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IRSETHPoolV2.js | 77 - .../dist/IRenzoOracle.d.ts | 110 - .../dist/IRenzoOracle.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IRenzoOracle.js | 142 - .../dist/IReserveInterestRateStrategy.d.ts | 86 - .../IReserveInterestRateStrategy.d.ts.map | 1 - .../dist/IReserveInterestRateStrategy.js | 108 - .../dist/IRestakeManager.d.ts | 55 - .../dist/IRestakeManager.d.ts.map | 1 - .../dist/IRestakeManager.js | 67 - .../hyperdrive-artifacts/dist/IRiverV1.d.ts | 242 - .../dist/IRiverV1.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IRiverV1.js | 312 - .../dist/IRocketDepositPool.d.ts | 141 - .../dist/IRocketDepositPool.d.ts.map | 1 - .../dist/IRocketDepositPool.js | 173 - .../dist/IRocketNetworkBalances.d.ts | 119 - .../dist/IRocketNetworkBalances.d.ts.map | 1 - .../dist/IRocketNetworkBalances.js | 149 - ...IRocketPoolDAOProtocolSettingsDeposit.d.ts | 84 - ...ketPoolDAOProtocolSettingsDeposit.d.ts.map | 1 - .../IRocketPoolDAOProtocolSettingsDeposit.js | 105 - .../dist/IRocketStorage.d.ts | 424 - .../dist/IRocketStorage.d.ts.map | 1 - .../dist/IRocketStorage.js | 544 -- .../dist/IRocketTokenRETH.d.ts | 289 - .../dist/IRocketTokenRETH.d.ts.map | 1 - .../dist/IRocketTokenRETH.js | 369 - .../dist/IRsETHLineaHyperdrive.d.ts | 1932 ---- .../dist/IRsETHLineaHyperdrive.d.ts.map | 1 - .../dist/IRsETHLineaHyperdrive.js | 2450 ----- .../dist/IScaledBalanceToken.d.ts | 127 - .../dist/IScaledBalanceToken.d.ts.map | 1 - .../dist/IScaledBalanceToken.js | 160 - .../dist/ISharesManagerV1.d.ts | 242 - .../dist/ISharesManagerV1.d.ts.map | 1 - .../dist/ISharesManagerV1.js | 312 - .../IStETHHyperdriveDeployerCoordinator.d.ts | 435 - ...tETHHyperdriveDeployerCoordinator.d.ts.map | 1 - .../IStETHHyperdriveDeployerCoordinator.js | 553 -- .../dist/IStableDebtToken.d.ts | 336 - .../dist/IStableDebtToken.d.ts.map | 1 - .../dist/IStableDebtToken.js | 423 - .../dist/IStakedToken.d.ts | 253 - .../dist/IStakedToken.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IStakedToken.js | 324 - .../dist/IStakingUSDS.d.ts | 121 - .../dist/IStakingUSDS.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IStakingUSDS.js | 152 - .../dist/IStakingUSDSHyperdrive.d.ts | 1939 ---- .../dist/IStakingUSDSHyperdrive.d.ts.map | 1 - .../dist/IStakingUSDSHyperdrive.js | 2458 ----- .../dist/IStkWellHyperdrive.d.ts | 1928 ---- .../dist/IStkWellHyperdrive.d.ts.map | 1 - .../dist/IStkWellHyperdrive.js | 2444 ----- .../dist/ISwapRouter.d.ts | 175 - .../dist/ISwapRouter.d.ts.map | 1 - .../hyperdrive-artifacts/dist/ISwapRouter.js | 225 - .../hyperdrive-artifacts/dist/IUniV3Zap.d.ts | 657 -- .../dist/IUniV3Zap.d.ts.map | 1 - .../hyperdrive-artifacts/dist/IUniV3Zap.js | 842 -- .../dist/IVariableDebtToken.d.ts | 267 - .../dist/IVariableDebtToken.d.ts.map | 1 - .../dist/IVariableDebtToken.js | 337 - packages/hyperdrive-artifacts/dist/IWETH.d.ts | 204 - .../hyperdrive-artifacts/dist/IWETH.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/IWETH.js | 260 - .../dist/IWrappedERC20.d.ts | 201 - .../dist/IWrappedERC20.d.ts.map | 1 - .../dist/IWrappedERC20.js | 258 - .../dist/IXRenzoDeposit.d.ts | 33 - .../dist/IXRenzoDeposit.d.ts.map | 1 - .../dist/IXRenzoDeposit.js | 40 - .../dist/IncentivizedERC20.d.ts | 257 - .../dist/IncentivizedERC20.d.ts.map | 1 - .../dist/IncentivizedERC20.js | 330 - .../dist/IsolationModeLogic.d.ts | 21 - .../dist/IsolationModeLogic.d.ts.map | 1 - .../dist/IsolationModeLogic.js | 25 - .../hyperdrive-artifacts/dist/L2Pool.d.ts | 1829 ---- .../hyperdrive-artifacts/dist/L2Pool.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/L2Pool.js | 2325 ----- .../hyperdrive-artifacts/dist/LPMath.d.ts | 350 - .../hyperdrive-artifacts/dist/LPMath.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/LPMath.js | 445 - packages/hyperdrive-artifacts/dist/Lib.d.ts | 83 - .../hyperdrive-artifacts/dist/Lib.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/Lib.js | 107 - .../dist/LiquidationLogic.d.ts | 150 - .../dist/LiquidationLogic.d.ts.map | 1 - .../dist/LiquidationLogic.js | 185 - .../hyperdrive-artifacts/dist/LogExpMath.d.ts | 6 - .../dist/LogExpMath.d.ts.map | 1 - .../hyperdrive-artifacts/dist/LogExpMath.js | 5 - .../hyperdrive-artifacts/dist/LsETHBase.d.ts | 535 - .../dist/LsETHBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/LsETHBase.js | 656 -- .../dist/LsETHConversions.d.ts | 6 - .../dist/LsETHConversions.d.ts.map | 1 - .../dist/LsETHConversions.js | 5 - .../dist/LsETHHyperdrive.d.ts | 1322 --- .../dist/LsETHHyperdrive.d.ts.map | 1 - .../dist/LsETHHyperdrive.js | 1665 ---- .../dist/LsETHHyperdriveCoreDeployer.d.ts | 140 - .../dist/LsETHHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/LsETHHyperdriveCoreDeployer.js | 176 - .../LsETHHyperdriveDeployerCoordinator.d.ts | 640 -- ...sETHHyperdriveDeployerCoordinator.d.ts.map | 1 - .../LsETHHyperdriveDeployerCoordinator.js | 817 -- .../dist/LsETHTarget0.d.ts | 1527 --- .../dist/LsETHTarget0.d.ts.map | 1 - .../hyperdrive-artifacts/dist/LsETHTarget0.js | 1931 ---- .../dist/LsETHTarget0Deployer.d.ts | 116 - .../dist/LsETHTarget0Deployer.d.ts.map | 1 - .../dist/LsETHTarget0Deployer.js | 146 - .../dist/LsETHTarget1.d.ts | 794 -- .../dist/LsETHTarget1.d.ts.map | 1 - .../hyperdrive-artifacts/dist/LsETHTarget1.js | 989 -- .../dist/LsETHTarget1Deployer.d.ts | 116 - .../dist/LsETHTarget1Deployer.d.ts.map | 1 - .../dist/LsETHTarget1Deployer.js | 146 - .../dist/LsETHTarget2.d.ts | 814 -- .../dist/LsETHTarget2.d.ts.map | 1 - .../hyperdrive-artifacts/dist/LsETHTarget2.js | 1014 -- .../dist/LsETHTarget2Deployer.d.ts | 116 - .../dist/LsETHTarget2Deployer.d.ts.map | 1 - .../dist/LsETHTarget2Deployer.js | 146 - .../dist/LsETHTarget3.d.ts | 830 -- .../dist/LsETHTarget3.d.ts.map | 1 - .../hyperdrive-artifacts/dist/LsETHTarget3.js | 1034 -- .../dist/LsETHTarget3Deployer.d.ts | 116 - .../dist/LsETHTarget3Deployer.d.ts.map | 1 - .../dist/LsETHTarget3Deployer.js | 146 - .../dist/LsETHTarget4.d.ts | 809 -- .../dist/LsETHTarget4.d.ts.map | 1 - .../hyperdrive-artifacts/dist/LsETHTarget4.js | 1008 -- .../dist/LsETHTarget4Deployer.d.ts | 116 - .../dist/LsETHTarget4Deployer.d.ts.map | 1 - .../dist/LsETHTarget4Deployer.js | 146 - .../dist/MarketParamsLib.d.ts | 6 - .../dist/MarketParamsLib.d.ts.map | 1 - .../dist/MarketParamsLib.js | 5 - .../hyperdrive-artifacts/dist/MathLib.d.ts | 6 - .../dist/MathLib.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/MathLib.js | 5 - .../hyperdrive-artifacts/dist/MathUtils.d.ts | 6 - .../dist/MathUtils.d.ts.map | 1 - .../hyperdrive-artifacts/dist/MathUtils.js | 5 - .../dist/MockAssetId.d.ts | 79 - .../dist/MockAssetId.d.ts.map | 1 - .../hyperdrive-artifacts/dist/MockAssetId.js | 102 - .../hyperdrive-artifacts/dist/MockERC20.d.ts | 266 - .../dist/MockERC20.d.ts.map | 1 - .../hyperdrive-artifacts/dist/MockERC20.js | 340 - .../dist/MockERC4626.d.ts | 1075 --- .../dist/MockERC4626.d.ts.map | 1 - .../hyperdrive-artifacts/dist/MockERC4626.js | 1386 --- .../dist/MockERC4626Hyperdrive.d.ts | 1441 --- .../dist/MockERC4626Hyperdrive.d.ts.map | 1 - .../dist/MockERC4626Hyperdrive.js | 1821 ---- .../hyperdrive-artifacts/dist/MockERC721.d.ts | 289 - .../dist/MockERC721.d.ts.map | 1 - .../hyperdrive-artifacts/dist/MockERC721.js | 369 - .../dist/MockEzEthPool.d.ts | 1049 -- .../dist/MockEzEthPool.d.ts.map | 1 - .../dist/MockEzEthPool.js | 1350 --- .../dist/MockFixedPointMath.d.ts | 221 - .../dist/MockFixedPointMath.d.ts.map | 1 - .../dist/MockFixedPointMath.js | 287 - .../dist/MockHyperdrive.d.ts | 1705 ---- .../dist/MockHyperdrive.d.ts.map | 1 - .../dist/MockHyperdrive.js | 2155 ----- .../dist/MockHyperdriveAdminController.d.ts | 130 - .../MockHyperdriveAdminController.d.ts.map | 1 - .../dist/MockHyperdriveAdminController.js | 164 - .../dist/MockHyperdriveBase.d.ts | 535 - .../dist/MockHyperdriveBase.d.ts.map | 1 - .../dist/MockHyperdriveBase.js | 656 -- .../dist/MockHyperdriveMath.d.ts | 632 -- .../dist/MockHyperdriveMath.d.ts.map | 1 - .../dist/MockHyperdriveMath.js | 808 -- .../dist/MockHyperdriveTarget0.d.ts | 1538 --- .../dist/MockHyperdriveTarget0.d.ts.map | 1 - .../dist/MockHyperdriveTarget0.js | 1945 ---- .../dist/MockHyperdriveTarget1.d.ts | 766 -- .../dist/MockHyperdriveTarget1.d.ts.map | 1 - .../dist/MockHyperdriveTarget1.js | 951 -- .../dist/MockHyperdriveTarget2.d.ts | 782 -- .../dist/MockHyperdriveTarget2.d.ts.map | 1 - .../dist/MockHyperdriveTarget2.js | 971 -- .../dist/MockHyperdriveTarget3.d.ts | 798 -- .../dist/MockHyperdriveTarget3.d.ts.map | 1 - .../dist/MockHyperdriveTarget3.js | 991 -- .../dist/MockHyperdriveTarget4.d.ts | 781 -- .../dist/MockHyperdriveTarget4.d.ts.map | 1 - .../dist/MockHyperdriveTarget4.js | 970 -- .../hyperdrive-artifacts/dist/MockL2Pool.d.ts | 1837 ---- .../dist/MockL2Pool.d.ts.map | 1 - .../hyperdrive-artifacts/dist/MockL2Pool.js | 2336 ----- .../hyperdrive-artifacts/dist/MockLPMath.d.ts | 1056 -- .../dist/MockLPMath.d.ts.map | 1 - .../hyperdrive-artifacts/dist/MockLPMath.js | 1346 --- .../hyperdrive-artifacts/dist/MockLido.d.ts | 895 -- .../dist/MockLido.d.ts.map | 1 - .../hyperdrive-artifacts/dist/MockLido.js | 1155 --- .../dist/MockRocketPool.d.ts | 846 -- .../dist/MockRocketPool.d.ts.map | 1 - .../dist/MockRocketPool.js | 1088 --- .../dist/MockSafeCast.d.ts | 117 - .../dist/MockSafeCast.d.ts.map | 1 - .../hyperdrive-artifacts/dist/MockSafeCast.js | 152 - .../dist/MockYieldSpaceMath.d.ts | 377 - .../dist/MockYieldSpaceMath.d.ts.map | 1 - .../dist/MockYieldSpaceMath.js | 482 - .../dist/MorphoBalancesLib.d.ts | 6 - .../dist/MorphoBalancesLib.d.ts.map | 1 - .../dist/MorphoBalancesLib.js | 5 - .../dist/MorphoBlueBase.d.ts | 563 -- .../dist/MorphoBlueBase.d.ts.map | 1 - .../dist/MorphoBlueBase.js | 694 -- .../dist/MorphoBlueConversions.d.ts | 85 - .../dist/MorphoBlueConversions.d.ts.map | 1 - .../dist/MorphoBlueConversions.js | 107 - .../dist/MorphoBlueHyperdrive.d.ts | 1375 --- .../dist/MorphoBlueHyperdrive.d.ts.map | 1 - .../dist/MorphoBlueHyperdrive.js | 1735 ---- .../MorphoBlueHyperdriveCoreDeployer.d.ts | 140 - .../MorphoBlueHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/MorphoBlueHyperdriveCoreDeployer.js | 176 - ...rphoBlueHyperdriveDeployerCoordinator.d.ts | 672 -- ...BlueHyperdriveDeployerCoordinator.d.ts.map | 1 - ...MorphoBlueHyperdriveDeployerCoordinator.js | 857 -- .../dist/MorphoBlueTarget0.d.ts | 1618 ---- .../dist/MorphoBlueTarget0.d.ts.map | 1 - .../dist/MorphoBlueTarget0.js | 2047 ---- .../dist/MorphoBlueTarget0Deployer.d.ts | 116 - .../dist/MorphoBlueTarget0Deployer.d.ts.map | 1 - .../dist/MorphoBlueTarget0Deployer.js | 146 - .../dist/MorphoBlueTarget1.d.ts | 819 -- .../dist/MorphoBlueTarget1.d.ts.map | 1 - .../dist/MorphoBlueTarget1.js | 1021 -- .../dist/MorphoBlueTarget1Deployer.d.ts | 116 - .../dist/MorphoBlueTarget1Deployer.d.ts.map | 1 - .../dist/MorphoBlueTarget1Deployer.js | 146 - .../dist/MorphoBlueTarget2.d.ts | 839 -- .../dist/MorphoBlueTarget2.d.ts.map | 1 - .../dist/MorphoBlueTarget2.js | 1046 -- .../dist/MorphoBlueTarget2Deployer.d.ts | 116 - .../dist/MorphoBlueTarget2Deployer.d.ts.map | 1 - .../dist/MorphoBlueTarget2Deployer.js | 146 - .../dist/MorphoBlueTarget3.d.ts | 855 -- .../dist/MorphoBlueTarget3.d.ts.map | 1 - .../dist/MorphoBlueTarget3.js | 1066 -- .../dist/MorphoBlueTarget3Deployer.d.ts | 116 - .../dist/MorphoBlueTarget3Deployer.d.ts.map | 1 - .../dist/MorphoBlueTarget3Deployer.js | 146 - .../dist/MorphoBlueTarget4.d.ts | 834 -- .../dist/MorphoBlueTarget4.d.ts.map | 1 - .../dist/MorphoBlueTarget4.js | 1040 -- .../dist/MorphoBlueTarget4Deployer.d.ts | 116 - .../dist/MorphoBlueTarget4Deployer.d.ts.map | 1 - .../dist/MorphoBlueTarget4Deployer.js | 146 - .../hyperdrive-artifacts/dist/MorphoLib.d.ts | 6 - .../dist/MorphoLib.d.ts.map | 1 - .../hyperdrive-artifacts/dist/MorphoLib.js | 5 - .../dist/MorphoStorageLib.d.ts | 6 - .../dist/MorphoStorageLib.d.ts.map | 1 - .../dist/MorphoStorageLib.js | 5 - .../dist/MultiRolesAuthority.d.ts | 352 - .../dist/MultiRolesAuthority.d.ts.map | 1 - .../dist/MultiRolesAuthority.js | 451 - .../dist/NonPayableDeployer.d.ts | 270 - .../dist/NonPayableDeployer.d.ts.map | 1 - .../dist/NonPayableDeployer.js | 340 - .../dist/PercentageMath.d.ts | 6 - .../dist/PercentageMath.d.ts.map | 1 - .../dist/PercentageMath.js | 5 - packages/hyperdrive-artifacts/dist/Pool.d.ts | 1672 ---- .../hyperdrive-artifacts/dist/Pool.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/Pool.js | 2122 ---- .../hyperdrive-artifacts/dist/PoolLogic.d.ts | 44 - .../dist/PoolLogic.d.ts.map | 1 - .../hyperdrive-artifacts/dist/PoolLogic.js | 52 - .../dist/PoolStorage.d.ts | 6 - .../dist/PoolStorage.d.ts.map | 1 - .../hyperdrive-artifacts/dist/PoolStorage.js | 5 - .../hyperdrive-artifacts/dist/RETHBase.d.ts | 542 -- .../dist/RETHBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/RETHBase.js | 665 -- .../dist/RETHConversions.d.ts | 6 - .../dist/RETHConversions.d.ts.map | 1 - .../dist/RETHConversions.js | 5 - .../dist/RETHHyperdrive.d.ts | 1329 --- .../dist/RETHHyperdrive.d.ts.map | 1 - .../dist/RETHHyperdrive.js | 1674 ---- .../dist/RETHHyperdriveCoreDeployer.d.ts | 140 - .../dist/RETHHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/RETHHyperdriveCoreDeployer.js | 176 - .../RETHHyperdriveDeployerCoordinator.d.ts | 640 -- ...RETHHyperdriveDeployerCoordinator.d.ts.map | 1 - .../dist/RETHHyperdriveDeployerCoordinator.js | 817 -- .../dist/RETHTarget0.d.ts | 1530 --- .../dist/RETHTarget0.d.ts.map | 1 - .../hyperdrive-artifacts/dist/RETHTarget0.js | 1935 ---- .../dist/RETHTarget0Deployer.d.ts | 116 - .../dist/RETHTarget0Deployer.d.ts.map | 1 - .../dist/RETHTarget0Deployer.js | 146 - .../dist/RETHTarget1.d.ts | 797 -- .../dist/RETHTarget1.d.ts.map | 1 - .../hyperdrive-artifacts/dist/RETHTarget1.js | 993 -- .../dist/RETHTarget1Deployer.d.ts | 116 - .../dist/RETHTarget1Deployer.d.ts.map | 1 - .../dist/RETHTarget1Deployer.js | 146 - .../dist/RETHTarget2.d.ts | 817 -- .../dist/RETHTarget2.d.ts.map | 1 - .../hyperdrive-artifacts/dist/RETHTarget2.js | 1018 -- .../dist/RETHTarget2Deployer.d.ts | 116 - .../dist/RETHTarget2Deployer.d.ts.map | 1 - .../dist/RETHTarget2Deployer.js | 146 - .../dist/RETHTarget3.d.ts | 833 -- .../dist/RETHTarget3.d.ts.map | 1 - .../hyperdrive-artifacts/dist/RETHTarget3.js | 1038 -- .../dist/RETHTarget3Deployer.d.ts | 116 - .../dist/RETHTarget3Deployer.d.ts.map | 1 - .../dist/RETHTarget3Deployer.js | 146 - .../dist/RETHTarget4.d.ts | 812 -- .../dist/RETHTarget4.d.ts.map | 1 - .../hyperdrive-artifacts/dist/RETHTarget4.js | 1012 -- .../dist/RETHTarget4Deployer.d.ts | 116 - .../dist/RETHTarget4Deployer.d.ts.map | 1 - .../dist/RETHTarget4Deployer.js | 146 - .../dist/ReentrancyGuard.d.ts | 10 - .../dist/ReentrancyGuard.d.ts.map | 1 - .../dist/ReentrancyGuard.js | 11 - .../dist/ReserveConfiguration.d.ts | 29 - .../dist/ReserveConfiguration.d.ts.map | 1 - .../dist/ReserveConfiguration.js | 35 - .../dist/ReserveLogic.d.ts | 41 - .../dist/ReserveLogic.d.ts.map | 1 - .../hyperdrive-artifacts/dist/ReserveLogic.js | 49 - .../dist/RsETHLineaBase.d.ts | 535 - .../dist/RsETHLineaBase.d.ts.map | 1 - .../dist/RsETHLineaBase.js | 656 -- .../dist/RsETHLineaConversions.d.ts | 6 - .../dist/RsETHLineaConversions.d.ts.map | 1 - .../dist/RsETHLineaConversions.js | 5 - .../dist/RsETHLineaHyperdrive.d.ts | 1326 --- .../dist/RsETHLineaHyperdrive.d.ts.map | 1 - .../dist/RsETHLineaHyperdrive.js | 1670 ---- .../RsETHLineaHyperdriveCoreDeployer.d.ts | 159 - .../RsETHLineaHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/RsETHLineaHyperdriveCoreDeployer.js | 201 - ...ETHLineaHyperdriveDeployerCoordinator.d.ts | 611 -- ...ineaHyperdriveDeployerCoordinator.d.ts.map | 1 - ...RsETHLineaHyperdriveDeployerCoordinator.js | 778 -- .../dist/RsETHLineaTarget0.d.ts | 1546 --- .../dist/RsETHLineaTarget0.d.ts.map | 1 - .../dist/RsETHLineaTarget0.js | 1955 ---- .../dist/RsETHLineaTarget0Deployer.d.ts | 135 - .../dist/RsETHLineaTarget0Deployer.d.ts.map | 1 - .../dist/RsETHLineaTarget0Deployer.js | 171 - .../dist/RsETHLineaTarget1.d.ts | 774 -- .../dist/RsETHLineaTarget1.d.ts.map | 1 - .../dist/RsETHLineaTarget1.js | 961 -- .../dist/RsETHLineaTarget1Deployer.d.ts | 135 - .../dist/RsETHLineaTarget1Deployer.d.ts.map | 1 - .../dist/RsETHLineaTarget1Deployer.js | 171 - .../dist/RsETHLineaTarget2.d.ts | 786 -- .../dist/RsETHLineaTarget2.d.ts.map | 1 - .../dist/RsETHLineaTarget2.js | 976 -- .../dist/RsETHLineaTarget2Deployer.d.ts | 135 - .../dist/RsETHLineaTarget2Deployer.d.ts.map | 1 - .../dist/RsETHLineaTarget2Deployer.js | 171 - .../dist/RsETHLineaTarget3.d.ts | 802 -- .../dist/RsETHLineaTarget3.d.ts.map | 1 - .../dist/RsETHLineaTarget3.js | 996 -- .../dist/RsETHLineaTarget3Deployer.d.ts | 135 - .../dist/RsETHLineaTarget3Deployer.d.ts.map | 1 - .../dist/RsETHLineaTarget3Deployer.js | 171 - .../dist/RsETHLineaTarget4.d.ts | 789 -- .../dist/RsETHLineaTarget4.d.ts.map | 1 - .../dist/RsETHLineaTarget4.js | 980 -- .../dist/RsETHLineaTarget4Deployer.d.ts | 135 - .../dist/RsETHLineaTarget4Deployer.d.ts.map | 1 - .../dist/RsETHLineaTarget4Deployer.js | 171 - .../hyperdrive-artifacts/dist/SafeCast.d.ts | 6 - .../dist/SafeCast.d.ts.map | 1 - .../hyperdrive-artifacts/dist/SafeCast.js | 5 - .../hyperdrive-artifacts/dist/SafeERC20.d.ts | 30 - .../dist/SafeERC20.d.ts.map | 1 - .../hyperdrive-artifacts/dist/SafeERC20.js | 38 - .../dist/SafeTransferLib.d.ts | 6 - .../dist/SafeTransferLib.d.ts.map | 1 - .../dist/SafeTransferLib.js | 5 - .../hyperdrive-artifacts/dist/ScriptBase.d.ts | 6 - .../dist/ScriptBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/ScriptBase.js | 5 - .../dist/SharesMathLib.d.ts | 6 - .../dist/SharesMathLib.d.ts.map | 1 - .../dist/SharesMathLib.js | 5 - .../hyperdrive-artifacts/dist/SignedMath.d.ts | 6 - .../dist/SignedMath.d.ts.map | 1 - .../hyperdrive-artifacts/dist/SignedMath.js | 5 - .../hyperdrive-artifacts/dist/StETHBase.d.ts | 535 - .../dist/StETHBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StETHBase.js | 656 -- .../dist/StETHConversions.d.ts | 6 - .../dist/StETHConversions.d.ts.map | 1 - .../dist/StETHConversions.js | 5 - .../dist/StETHHyperdrive.d.ts | 1322 --- .../dist/StETHHyperdrive.d.ts.map | 1 - .../dist/StETHHyperdrive.js | 1665 ---- .../dist/StETHHyperdriveCoreDeployer.d.ts | 140 - .../dist/StETHHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/StETHHyperdriveCoreDeployer.js | 176 - .../StETHHyperdriveDeployerCoordinator.d.ts | 615 -- ...tETHHyperdriveDeployerCoordinator.d.ts.map | 1 - .../StETHHyperdriveDeployerCoordinator.js | 783 -- .../dist/StETHTarget0.d.ts | 1527 --- .../dist/StETHTarget0.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StETHTarget0.js | 1931 ---- .../dist/StETHTarget0Deployer.d.ts | 116 - .../dist/StETHTarget0Deployer.d.ts.map | 1 - .../dist/StETHTarget0Deployer.js | 146 - .../dist/StETHTarget1.d.ts | 766 -- .../dist/StETHTarget1.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StETHTarget1.js | 951 -- .../dist/StETHTarget1Deployer.d.ts | 116 - .../dist/StETHTarget1Deployer.d.ts.map | 1 - .../dist/StETHTarget1Deployer.js | 146 - .../dist/StETHTarget2.d.ts | 778 -- .../dist/StETHTarget2.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StETHTarget2.js | 966 -- .../dist/StETHTarget2Deployer.d.ts | 116 - .../dist/StETHTarget2Deployer.d.ts.map | 1 - .../dist/StETHTarget2Deployer.js | 146 - .../dist/StETHTarget3.d.ts | 794 -- .../dist/StETHTarget3.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StETHTarget3.js | 986 -- .../dist/StETHTarget3Deployer.d.ts | 116 - .../dist/StETHTarget3Deployer.d.ts.map | 1 - .../dist/StETHTarget3Deployer.js | 146 - .../dist/StETHTarget4.d.ts | 781 -- .../dist/StETHTarget4.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StETHTarget4.js | 970 -- .../dist/StETHTarget4Deployer.d.ts | 116 - .../dist/StETHTarget4Deployer.d.ts.map | 1 - .../dist/StETHTarget4Deployer.js | 146 - .../dist/StakingUSDSBase.d.ts | 563 -- .../dist/StakingUSDSBase.d.ts.map | 1 - .../dist/StakingUSDSBase.js | 694 -- .../dist/StakingUSDSConversions.d.ts | 37 - .../dist/StakingUSDSConversions.d.ts.map | 1 - .../dist/StakingUSDSConversions.js | 47 - .../dist/StakingUSDSHyperdrive.d.ts | 1361 --- .../dist/StakingUSDSHyperdrive.d.ts.map | 1 - .../dist/StakingUSDSHyperdrive.js | 1716 ---- .../StakingUSDSHyperdriveCoreDeployer.d.ts | 140 - ...StakingUSDSHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/StakingUSDSHyperdriveCoreDeployer.js | 176 - ...kingUSDSHyperdriveDeployerCoordinator.d.ts | 624 -- ...USDSHyperdriveDeployerCoordinator.d.ts.map | 1 - ...takingUSDSHyperdriveDeployerCoordinator.js | 797 -- .../dist/StakingUSDSTarget0.d.ts | 1542 --- .../dist/StakingUSDSTarget0.d.ts.map | 1 - .../dist/StakingUSDSTarget0.js | 1950 ---- .../dist/StakingUSDSTarget0Deployer.d.ts | 116 - .../dist/StakingUSDSTarget0Deployer.d.ts.map | 1 - .../dist/StakingUSDSTarget0Deployer.js | 146 - .../dist/StakingUSDSTarget1.d.ts | 798 -- .../dist/StakingUSDSTarget1.d.ts.map | 1 - .../dist/StakingUSDSTarget1.js | 994 -- .../dist/StakingUSDSTarget1Deployer.d.ts | 116 - .../dist/StakingUSDSTarget1Deployer.d.ts.map | 1 - .../dist/StakingUSDSTarget1Deployer.js | 146 - .../dist/StakingUSDSTarget2.d.ts | 818 -- .../dist/StakingUSDSTarget2.d.ts.map | 1 - .../dist/StakingUSDSTarget2.js | 1019 -- .../dist/StakingUSDSTarget2Deployer.d.ts | 116 - .../dist/StakingUSDSTarget2Deployer.d.ts.map | 1 - .../dist/StakingUSDSTarget2Deployer.js | 146 - .../dist/StakingUSDSTarget3.d.ts | 834 -- .../dist/StakingUSDSTarget3.d.ts.map | 1 - .../dist/StakingUSDSTarget3.js | 1039 -- .../dist/StakingUSDSTarget3Deployer.d.ts | 116 - .../dist/StakingUSDSTarget3Deployer.d.ts.map | 1 - .../dist/StakingUSDSTarget3Deployer.js | 146 - .../dist/StakingUSDSTarget4.d.ts | 813 -- .../dist/StakingUSDSTarget4.d.ts.map | 1 - .../dist/StakingUSDSTarget4.js | 1013 -- .../dist/StakingUSDSTarget4Deployer.d.ts | 116 - .../dist/StakingUSDSTarget4Deployer.d.ts.map | 1 - .../dist/StakingUSDSTarget4Deployer.js | 146 - .../dist/StdAssertions.d.ts | 303 - .../dist/StdAssertions.d.ts.map | 1 - .../dist/StdAssertions.js | 385 - .../hyperdrive-artifacts/dist/StdChains.d.ts | 6 - .../dist/StdChains.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StdChains.js | 5 - .../hyperdrive-artifacts/dist/StdCheats.d.ts | 6 - .../dist/StdCheats.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StdCheats.js | 5 - .../dist/StdCheatsSafe.d.ts | 6 - .../dist/StdCheatsSafe.d.ts.map | 1 - .../dist/StdCheatsSafe.js | 5 - .../hyperdrive-artifacts/dist/StdError.d.ts | 106 - .../dist/StdError.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StdError.js | 133 - .../dist/StdInvariant.d.ts | 133 - .../dist/StdInvariant.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StdInvariant.js | 169 - .../hyperdrive-artifacts/dist/StdJson.d.ts | 6 - .../dist/StdJson.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/StdJson.js | 5 - .../hyperdrive-artifacts/dist/StdMath.d.ts | 6 - .../dist/StdMath.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/StdMath.js | 5 - .../hyperdrive-artifacts/dist/StdStorage.d.ts | 6 - .../dist/StdStorage.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StdStorage.js | 5 - .../hyperdrive-artifacts/dist/StdStyle.d.ts | 6 - .../dist/StdStyle.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StdStyle.js | 5 - .../hyperdrive-artifacts/dist/StdUtils.d.ts | 6 - .../dist/StdUtils.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StdUtils.js | 5 - .../dist/StkWellBase.d.ts | 535 - .../dist/StkWellBase.d.ts.map | 1 - .../hyperdrive-artifacts/dist/StkWellBase.js | 656 -- .../dist/StkWellConversions.d.ts | 6 - .../dist/StkWellConversions.d.ts.map | 1 - .../dist/StkWellConversions.js | 5 - .../dist/StkWellHyperdrive.d.ts | 1357 --- .../dist/StkWellHyperdrive.d.ts.map | 1 - .../dist/StkWellHyperdrive.js | 1711 ---- .../dist/StkWellHyperdriveCoreDeployer.d.ts | 140 - .../StkWellHyperdriveCoreDeployer.d.ts.map | 1 - .../dist/StkWellHyperdriveCoreDeployer.js | 176 - .../StkWellHyperdriveDeployerCoordinator.d.ts | 620 -- ...WellHyperdriveDeployerCoordinator.d.ts.map | 1 - .../StkWellHyperdriveDeployerCoordinator.js | 792 -- .../dist/StkWellTarget0.d.ts | 1527 --- .../dist/StkWellTarget0.d.ts.map | 1 - .../dist/StkWellTarget0.js | 1931 ---- .../dist/StkWellTarget0Deployer.d.ts | 116 - .../dist/StkWellTarget0Deployer.d.ts.map | 1 - .../dist/StkWellTarget0Deployer.js | 146 - .../dist/StkWellTarget1.d.ts | 794 -- .../dist/StkWellTarget1.d.ts.map | 1 - .../dist/StkWellTarget1.js | 989 -- .../dist/StkWellTarget1Deployer.d.ts | 116 - .../dist/StkWellTarget1Deployer.d.ts.map | 1 - .../dist/StkWellTarget1Deployer.js | 146 - .../dist/StkWellTarget2.d.ts | 810 -- .../dist/StkWellTarget2.d.ts.map | 1 - .../dist/StkWellTarget2.js | 1009 -- .../dist/StkWellTarget2Deployer.d.ts | 116 - .../dist/StkWellTarget2Deployer.d.ts.map | 1 - .../dist/StkWellTarget2Deployer.js | 146 - .../dist/StkWellTarget3.d.ts | 826 -- .../dist/StkWellTarget3.d.ts.map | 1 - .../dist/StkWellTarget3.js | 1029 -- .../dist/StkWellTarget3Deployer.d.ts | 116 - .../dist/StkWellTarget3Deployer.d.ts.map | 1 - .../dist/StkWellTarget3Deployer.js | 146 - .../dist/StkWellTarget4.d.ts | 809 -- .../dist/StkWellTarget4.d.ts.map | 1 - .../dist/StkWellTarget4.js | 1008 -- .../dist/StkWellTarget4Deployer.d.ts | 116 - .../dist/StkWellTarget4Deployer.d.ts.map | 1 - .../dist/StkWellTarget4Deployer.js | 146 - .../dist/SupplyLogic.d.ts | 131 - .../dist/SupplyLogic.d.ts.map | 1 - .../hyperdrive-artifacts/dist/SupplyLogic.js | 160 - .../hyperdrive-artifacts/dist/UniV3Path.d.ts | 6 - .../dist/UniV3Path.d.ts.map | 1 - .../hyperdrive-artifacts/dist/UniV3Path.js | 5 - .../hyperdrive-artifacts/dist/UniV3Zap.d.ts | 723 -- .../dist/UniV3Zap.d.ts.map | 1 - .../hyperdrive-artifacts/dist/UniV3Zap.js | 929 -- .../dist/UserConfiguration.d.ts | 6 - .../dist/UserConfiguration.d.ts.map | 1 - .../dist/UserConfiguration.js | 5 - .../hyperdrive-artifacts/dist/UtilsLib.d.ts | 6 - .../dist/UtilsLib.d.ts.map | 1 - .../hyperdrive-artifacts/dist/UtilsLib.js | 5 - .../dist/ValidationLogic.d.ts | 51 - .../dist/ValidationLogic.d.ts.map | 1 - .../dist/ValidationLogic.js | 63 - .../dist/VersionedInitializable.d.ts | 6 - .../dist/VersionedInitializable.d.ts.map | 1 - .../dist/VersionedInitializable.js | 5 - packages/hyperdrive-artifacts/dist/Vm.d.ts | 6672 ------------- .../hyperdrive-artifacts/dist/Vm.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/Vm.js | 8580 ---------------- .../hyperdrive-artifacts/dist/VmSafe.d.ts | 5609 ----------- .../hyperdrive-artifacts/dist/VmSafe.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/VmSafe.js | 7229 -------------- .../hyperdrive-artifacts/dist/WadRayMath.d.ts | 6 - .../dist/WadRayMath.d.ts.map | 1 - .../hyperdrive-artifacts/dist/WadRayMath.js | 5 - .../dist/YieldSpaceMath.d.ts | 6 - .../dist/YieldSpaceMath.d.ts.map | 1 - .../dist/YieldSpaceMath.js | 5 - .../hyperdrive-artifacts/dist/console.d.ts | 6 - .../dist/console.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/console.js | 5 - .../hyperdrive-artifacts/dist/console2.d.ts | 6 - .../dist/console2.d.ts.map | 1 - .../hyperdrive-artifacts/dist/console2.js | 5 - .../dist/safeconsole.d.ts | 6 - .../dist/safeconsole.d.ts.map | 1 - .../hyperdrive-artifacts/dist/safeconsole.js | 5 - .../dist/stdStorageSafe.d.ts | 46 - .../dist/stdStorageSafe.d.ts.map | 1 - .../dist/stdStorageSafe.js | 56 - .../hyperdrive-artifacts/dist/stdToml.d.ts | 6 - .../dist/stdToml.d.ts.map | 1 - packages/hyperdrive-artifacts/dist/stdToml.js | 5 - packages/hyperdrive-artifacts/package.json | 3 +- .../hyperdrive-artifacts/scripts/build.sh | 117 - .../hyperdrive-artifacts/scripts/generate.sh | 108 + packages/hyperdrive-artifacts/src/AaveBase.ts | 695 ++ .../src/AaveConversions.ts | 6 + .../src/AaveHyperdrive.ts | 1704 ++++ .../src/AaveHyperdriveCoreDeployer.ts | 177 + .../src/AaveHyperdriveDeployerCoordinator.ts | 813 ++ .../hyperdrive-artifacts/src/AaveL2Base.ts | 695 ++ .../src/AaveL2Conversions.ts | 6 + .../src/AaveL2Hyperdrive.ts | 1704 ++++ .../src/AaveL2HyperdriveCoreDeployer.ts | 177 + .../AaveL2HyperdriveDeployerCoordinator.ts | 813 ++ .../hyperdrive-artifacts/src/AaveL2Target0.ts | 1941 ++++ .../src/AaveL2Target0Deployer.ts | 147 + .../hyperdrive-artifacts/src/AaveL2Target1.ts | 985 ++ .../src/AaveL2Target1Deployer.ts | 147 + .../hyperdrive-artifacts/src/AaveL2Target2.ts | 1010 ++ .../src/AaveL2Target2Deployer.ts | 147 + .../hyperdrive-artifacts/src/AaveL2Target3.ts | 1030 ++ .../src/AaveL2Target3Deployer.ts | 147 + .../hyperdrive-artifacts/src/AaveL2Target4.ts | 1004 ++ .../src/AaveL2Target4Deployer.ts | 147 + .../hyperdrive-artifacts/src/AaveTarget0.ts | 1941 ++++ .../src/AaveTarget0Deployer.ts | 147 + .../hyperdrive-artifacts/src/AaveTarget1.ts | 985 ++ .../src/AaveTarget1Deployer.ts | 147 + .../hyperdrive-artifacts/src/AaveTarget2.ts | 1010 ++ .../src/AaveTarget2Deployer.ts | 147 + .../hyperdrive-artifacts/src/AaveTarget3.ts | 1030 ++ .../src/AaveTarget3Deployer.ts | 147 + .../hyperdrive-artifacts/src/AaveTarget4.ts | 1004 ++ .../src/AaveTarget4Deployer.ts | 147 + packages/hyperdrive-artifacts/src/Address.ts | 34 + .../src/AerodromeLpBase.ts | 657 ++ .../src/AerodromeLpConversions.ts | 48 + .../src/AerodromeLpHyperdrive.ts | 1717 ++++ .../src/AerodromeLpHyperdriveCoreDeployer.ts | 177 + ...erodromeLpHyperdriveDeployerCoordinator.ts | 798 ++ .../src/AerodromeLpTarget0.ts | 1951 ++++ .../src/AerodromeLpTarget0Deployer.ts | 147 + .../src/AerodromeLpTarget1.ts | 995 ++ .../src/AerodromeLpTarget1Deployer.ts | 147 + .../src/AerodromeLpTarget2.ts | 1020 ++ .../src/AerodromeLpTarget2Deployer.ts | 147 + .../src/AerodromeLpTarget3.ts | 1040 ++ .../src/AerodromeLpTarget3Deployer.ts | 147 + .../src/AerodromeLpTarget4.ts | 1014 ++ .../src/AerodromeLpTarget4Deployer.ts | 147 + packages/hyperdrive-artifacts/src/AssetId.ts | 6 + packages/hyperdrive-artifacts/src/Auth.ts | 102 + .../hyperdrive-artifacts/src/Authority.ts | 38 + .../src/BalancerErrors.ts | 6 + .../hyperdrive-artifacts/src/BorrowLogic.ts | 242 + .../hyperdrive-artifacts/src/BridgeLogic.ts | 140 + .../hyperdrive-artifacts/src/CalldataLogic.ts | 6 + .../hyperdrive-artifacts/src/ChainlinkBase.ts | 657 ++ .../src/ChainlinkConversions.ts | 6 + .../src/ChainlinkHyperdrive.ts | 1676 ++++ .../src/ChainlinkHyperdriveCoreDeployer.ts | 177 + .../ChainlinkHyperdriveDeployerCoordinator.ts | 763 ++ .../src/ChainlinkTarget0.ts | 1961 ++++ .../src/ChainlinkTarget0Deployer.ts | 147 + .../src/ChainlinkTarget1.ts | 1005 ++ .../src/ChainlinkTarget1Deployer.ts | 147 + .../src/ChainlinkTarget2.ts | 1030 ++ .../src/ChainlinkTarget2Deployer.ts | 147 + .../src/ChainlinkTarget3.ts | 1050 ++ .../src/ChainlinkTarget3Deployer.ts | 147 + .../src/ChainlinkTarget4.ts | 1024 ++ .../src/ChainlinkTarget4Deployer.ts | 147 + .../hyperdrive-artifacts/src/CommonBase.ts | 6 + packages/hyperdrive-artifacts/src/Context.ts | 6 + packages/hyperdrive-artifacts/src/CornBase.ts | 657 ++ .../src/CornConversions.ts | 48 + .../src/CornHyperdrive.ts | 1709 ++++ .../src/CornHyperdriveCoreDeployer.ts | 188 + .../src/CornHyperdriveDeployerCoordinator.ts | 798 ++ .../hyperdrive-artifacts/src/CornTarget0.ts | 1951 ++++ .../src/CornTarget0Deployer.ts | 158 + .../hyperdrive-artifacts/src/CornTarget1.ts | 995 ++ .../src/CornTarget1Deployer.ts | 158 + .../hyperdrive-artifacts/src/CornTarget2.ts | 1020 ++ .../src/CornTarget2Deployer.ts | 158 + .../hyperdrive-artifacts/src/CornTarget3.ts | 1040 ++ .../src/CornTarget3Deployer.ts | 158 + .../hyperdrive-artifacts/src/CornTarget4.ts | 1014 ++ .../src/CornTarget4Deployer.ts | 158 + .../hyperdrive-artifacts/src/DataTypes.ts | 6 + packages/hyperdrive-artifacts/src/EETHBase.ts | 672 ++ .../src/EETHConversions.ts | 6 + .../src/EETHHyperdrive.ts | 1685 ++++ .../src/EETHHyperdriveCoreDeployer.ts | 202 + .../src/EETHHyperdriveDeployerCoordinator.ts | 789 ++ .../hyperdrive-artifacts/src/EETHTarget0.ts | 1970 ++++ .../src/EETHTarget0Deployer.ts | 172 + .../hyperdrive-artifacts/src/EETHTarget1.ts | 976 ++ .../src/EETHTarget1Deployer.ts | 172 + .../hyperdrive-artifacts/src/EETHTarget2.ts | 986 ++ .../src/EETHTarget2Deployer.ts | 172 + .../hyperdrive-artifacts/src/EETHTarget3.ts | 1006 ++ .../src/EETHTarget3Deployer.ts | 172 + .../hyperdrive-artifacts/src/EETHTarget4.ts | 995 ++ .../src/EETHTarget4Deployer.ts | 172 + .../hyperdrive-artifacts/src/EModeLogic.ts | 28 + packages/hyperdrive-artifacts/src/ERC20.ts | 325 + .../src/ERC20Forwarder.ts | 407 + .../src/ERC20ForwarderFactory.ts | 149 + .../hyperdrive-artifacts/src/ERC20Mintable.ts | 928 ++ packages/hyperdrive-artifacts/src/ERC4626.ts | 723 ++ .../hyperdrive-artifacts/src/ERC4626Base.ts | 657 ++ .../src/ERC4626Conversions.ts | 6 + .../src/ERC4626Hyperdrive.ts | 1704 ++++ .../src/ERC4626HyperdriveCoreDeployer.ts | 177 + .../ERC4626HyperdriveDeployerCoordinator.ts | 803 ++ .../src/ERC4626Target0.ts | 1932 ++++ .../src/ERC4626Target0Deployer.ts | 147 + .../src/ERC4626Target1.ts | 990 ++ .../src/ERC4626Target1Deployer.ts | 147 + .../src/ERC4626Target2.ts | 1010 ++ .../src/ERC4626Target2Deployer.ts | 147 + .../src/ERC4626Target3.ts | 1030 ++ .../src/ERC4626Target3Deployer.ts | 147 + .../src/ERC4626Target4.ts | 1009 ++ .../src/ERC4626Target4Deployer.ts | 147 + packages/hyperdrive-artifacts/src/Errors.ts | 1380 +++ .../hyperdrive-artifacts/src/ErrorsLib.ts | 6 + .../hyperdrive-artifacts/src/EtchingUtils.ts | 562 ++ .../hyperdrive-artifacts/src/EtchingVault.ts | 58 + .../src/ExcessivelySafeCall.ts | 6 + .../hyperdrive-artifacts/src/EzETHBase.ts | 657 ++ .../src/EzETHConversions.ts | 6 + .../src/EzETHHyperdrive.ts | 1671 ++++ .../src/EzETHHyperdriveCoreDeployer.ts | 202 + .../src/EzETHHyperdriveDeployerCoordinator.ts | 880 ++ .../src/EzETHLineaBase.ts | 657 ++ .../src/EzETHLineaConversions.ts | 6 + .../src/EzETHLineaHyperdrive.ts | 1671 ++++ .../src/EzETHLineaHyperdriveCoreDeployer.ts | 202 + ...EzETHLineaHyperdriveDeployerCoordinator.ts | 784 ++ .../src/EzETHLineaTarget0.ts | 1956 ++++ .../src/EzETHLineaTarget0Deployer.ts | 172 + .../src/EzETHLineaTarget1.ts | 962 ++ .../src/EzETHLineaTarget1Deployer.ts | 172 + .../src/EzETHLineaTarget2.ts | 982 ++ .../src/EzETHLineaTarget2Deployer.ts | 172 + .../src/EzETHLineaTarget3.ts | 1002 ++ .../src/EzETHLineaTarget3Deployer.ts | 172 + .../src/EzETHLineaTarget4.ts | 981 ++ .../src/EzETHLineaTarget4Deployer.ts | 172 + .../hyperdrive-artifacts/src/EzETHTarget0.ts | 1965 ++++ .../src/EzETHTarget0Deployer.ts | 172 + .../hyperdrive-artifacts/src/EzETHTarget1.ts | 957 ++ .../src/EzETHTarget1Deployer.ts | 172 + .../hyperdrive-artifacts/src/EzETHTarget2.ts | 982 ++ .../src/EzETHTarget2Deployer.ts | 172 + .../hyperdrive-artifacts/src/EzETHTarget3.ts | 1002 ++ .../src/EzETHTarget3Deployer.ts | 172 + .../hyperdrive-artifacts/src/EzETHTarget4.ts | 976 ++ .../src/EzETHTarget4Deployer.ts | 172 + .../src/FixedPointMath.ts | 6 + .../src/FixedPointMathLib.ts | 6 + .../src/FlashLoanLogic.ts | 102 + .../hyperdrive-artifacts/src/GPv2SafeERC20.ts | 6 + .../hyperdrive-artifacts/src/GenericLogic.ts | 6 + packages/hyperdrive-artifacts/src/Helpers.ts | 6 + .../hyperdrive-artifacts/src/Hyperdrive.ts | 1516 +++ .../src/HyperdriveAdmin.ts | 657 ++ .../src/HyperdriveBase.ts | 657 ++ .../src/HyperdriveCheckpoint.ts | 657 ++ .../src/HyperdriveCheckpointRewarder.ts | 220 + .../src/HyperdriveCheckpointSubrewarder.ts | 434 + .../src/HyperdriveDeployerCoordinator.ts | 669 ++ .../src/HyperdriveFactory.ts | 2143 ++++ .../hyperdrive-artifacts/src/HyperdriveLP.ts | 657 ++ .../src/HyperdriveLong.ts | 657 ++ .../src/HyperdriveMath.ts | 6 + .../src/HyperdriveMultiToken.ts | 657 ++ .../src/HyperdriveRegistry.ts | 701 ++ .../src/HyperdriveShort.ts | 657 ++ .../src/HyperdriveStorage.ts | 12 + .../src/HyperdriveTarget0.ts | 1807 ++++ .../src/HyperdriveTarget1.ts | 827 ++ .../src/HyperdriveTarget2.ts | 847 ++ .../src/HyperdriveTarget3.ts | 867 ++ .../src/HyperdriveTarget4.ts | 846 ++ .../src/HyperdriveUtils.ts | 6 + .../hyperdrive-artifacts/src/IACLManager.ts | 413 + .../hyperdrive-artifacts/src/IAL2Token.ts | 779 ++ packages/hyperdrive-artifacts/src/IAToken.ts | 765 ++ .../src/IAaveHyperdrive.ts | 2451 +++++ .../src/IAaveHyperdriveDeployerCoordinator.ts | 564 ++ .../src/IAaveHyperdriveRead.ts | 756 ++ .../src/IAaveIncentivesController.ts | 32 + .../src/IAaveL2Hyperdrive.ts | 2451 +++++ .../IAaveL2HyperdriveDeployerCoordinator.ts | 564 ++ .../src/IAaveL2HyperdriveRead.ts | 756 ++ .../src/IAccessControl.ts | 185 + .../src/IAerodromeLpHyperdrive.ts | 2465 +++++ .../src/IChainlinkAggregatorV3.ts | 138 + .../src/IChainlinkHyperdrive.ts | 2451 +++++ .../src/ICornHyperdrive.ts | 2451 +++++ .../hyperdrive-artifacts/src/ICornSilo.ts | 730 ++ packages/hyperdrive-artifacts/src/ICreateX.ts | 924 ++ .../hyperdrive-artifacts/src/IDepositQueue.ts | 36 + .../src/IDeterministicDeployer.ts | 924 ++ packages/hyperdrive-artifacts/src/IEETH.ts | 236 + .../src/IEETHHyperdrive.ts | 2451 +++++ .../src/IERC1155Errors.ts | 109 + packages/hyperdrive-artifacts/src/IERC165.ts | 28 + packages/hyperdrive-artifacts/src/IERC20.ts | 239 + .../src/IERC20Detailed.ts | 239 + .../hyperdrive-artifacts/src/IERC20Errors.ts | 93 + .../src/IERC20Forwarder.ts | 402 + .../src/IERC20ForwarderFactory.ts | 138 + .../src/IERC20Metadata.ts | 239 + .../hyperdrive-artifacts/src/IERC20Permit.ts | 86 + .../src/IERC20WithPermit.ts | 241 + packages/hyperdrive-artifacts/src/IERC4626.ts | 639 ++ .../IERC4626HyperdriveDeployerCoordinator.ts | 554 ++ packages/hyperdrive-artifacts/src/IERC721.ts | 303 + .../src/IERC721Enumerable.ts | 362 + .../hyperdrive-artifacts/src/IERC721Errors.ts | 110 + .../src/IERC721Metadata.ts | 351 + .../src/IERC721TokenReceiver.ts | 43 + .../src/IEzETHHyperdrive.ts | 2465 +++++ .../IEzETHHyperdriveDeployerCoordinator.ts | 574 ++ .../src/IEzETHHyperdriveRead.ts | 770 ++ .../src/IEzETHLineaHyperdrive.ts | 2451 +++++ .../src/IFiatTokenProxy.ts | 22 + .../src/IFlashLoanReceiver.ts | 76 + .../src/IFlashLoanSimpleReceiver.ts | 76 + .../src/IGatewayRouter.ts | 78 + packages/hyperdrive-artifacts/src/IGauge.ts | 563 ++ .../hyperdrive-artifacts/src/IHyperdrive.ts | 2437 +++++ .../src/IHyperdriveAdminController.ts | 78 + .../src/IHyperdriveCheckpointRewarder.ts | 204 + .../src/IHyperdriveCheckpointSubrewarder.ts | 355 + .../src/IHyperdriveCore.ts | 759 ++ .../src/IHyperdriveCoreDeployer.ts | 177 + .../src/IHyperdriveDeployerCoordinator.ts | 504 + .../src/IHyperdriveEvents.ts | 652 ++ .../src/IHyperdriveFactory.ts | 1937 ++++ .../src/IHyperdriveGovernedRegistry.ts | 701 ++ .../src/IHyperdriveGovernedRegistryEvents.ts | 96 + .../src/IHyperdriveRead.ts | 742 ++ .../src/IHyperdriveRegistry.ts | 464 + .../src/IHyperdriveTargetDeployer.ts | 147 + .../src/IInitializableAToken.ts | 112 + .../src/IInitializableDebtToken.ts | 101 + packages/hyperdrive-artifacts/src/IIrm.ts | 176 + packages/hyperdrive-artifacts/src/IL2Pool.ts | 2269 +++++ packages/hyperdrive-artifacts/src/ILido.ts | 416 + .../src/ILiquidityPool.ts | 289 + .../ILsETHHyperdriveDeployerCoordinator.ts | 554 ++ .../hyperdrive-artifacts/src/IMetaMorpho.ts | 729 ++ .../src/IMockHyperdrive.ts | 234 + packages/hyperdrive-artifacts/src/IMorpho.ts | 1058 ++ .../hyperdrive-artifacts/src/IMorphoBase.ts | 917 ++ .../src/IMorphoBlueHyperdrive.ts | 2521 +++++ .../src/IMorphoStaticTyping.ts | 1037 ++ .../hyperdrive-artifacts/src/IMultiToken.ts | 505 + .../src/IMultiTokenCore.ts | 216 + .../src/IMultiTokenEvents.ts | 94 + .../src/IMultiTokenMetadata.ts | 36 + .../src/IMultiTokenRead.ts | 182 + .../hyperdrive-artifacts/src/IMulticall3.ts | 462 + packages/hyperdrive-artifacts/src/IPool.ts | 2066 ++++ .../src/IPoolAddressesProvider.ts | 523 + .../src/IPriceOracleGetter.ts | 56 + .../src/IPriceOracleSentinel.ts | 132 + .../src/IRETHHyperdriveDeployerCoordinator.ts | 554 ++ .../hyperdrive-artifacts/src/IRSETHPoolV2.ts | 78 + .../hyperdrive-artifacts/src/IRenzoOracle.ts | 143 + .../src/IRestakeManager.ts | 68 + packages/hyperdrive-artifacts/src/IRiverV1.ts | 313 + .../src/IRocketDepositPool.ts | 174 + .../src/IRocketNetworkBalances.ts | 150 + .../IRocketPoolDAOProtocolSettingsDeposit.ts | 106 + .../src/IRocketStorage.ts | 545 ++ .../src/IRocketTokenRETH.ts | 370 + .../src/IRsETHLineaHyperdrive.ts | 2451 +++++ .../src/IScaledBalanceToken.ts | 161 + .../src/ISharesManagerV1.ts | 313 + .../IStETHHyperdriveDeployerCoordinator.ts | 554 ++ .../src/IStableDebtToken.ts | 424 + .../hyperdrive-artifacts/src/IStakedToken.ts | 325 + .../hyperdrive-artifacts/src/IStakingUSDS.ts | 153 + .../src/IStakingUSDSHyperdrive.ts | 2459 +++++ .../src/IStkWellHyperdrive.ts | 2445 +++++ .../hyperdrive-artifacts/src/ISwapRouter.ts | 226 + .../hyperdrive-artifacts/src/IUniV3Zap.ts | 843 ++ .../src/IVariableDebtToken.ts | 338 + packages/hyperdrive-artifacts/src/IWETH.ts | 261 + .../hyperdrive-artifacts/src/IWrappedERC20.ts | 259 + .../src/IXRenzoDeposit.ts | 41 + .../src/IncentivizedERC20.ts | 331 + .../src/IsolationModeLogic.ts | 26 + packages/hyperdrive-artifacts/src/L2Pool.ts | 2326 +++++ packages/hyperdrive-artifacts/src/LPMath.ts | 446 + packages/hyperdrive-artifacts/src/Lib.ts | 108 + .../src/LiquidationLogic.ts | 186 + .../hyperdrive-artifacts/src/LogExpMath.ts | 6 + .../hyperdrive-artifacts/src/LsETHBase.ts | 657 ++ .../src/LsETHConversions.ts | 6 + .../src/LsETHHyperdrive.ts | 1666 ++++ .../src/LsETHHyperdriveCoreDeployer.ts | 177 + .../src/LsETHHyperdriveDeployerCoordinator.ts | 818 ++ .../hyperdrive-artifacts/src/LsETHTarget0.ts | 1932 ++++ .../src/LsETHTarget0Deployer.ts | 147 + .../hyperdrive-artifacts/src/LsETHTarget1.ts | 990 ++ .../src/LsETHTarget1Deployer.ts | 147 + .../hyperdrive-artifacts/src/LsETHTarget2.ts | 1015 ++ .../src/LsETHTarget2Deployer.ts | 147 + .../hyperdrive-artifacts/src/LsETHTarget3.ts | 1035 ++ .../src/LsETHTarget3Deployer.ts | 147 + .../hyperdrive-artifacts/src/LsETHTarget4.ts | 1009 ++ .../src/LsETHTarget4Deployer.ts | 147 + .../src/MarketParamsLib.ts | 6 + packages/hyperdrive-artifacts/src/MathLib.ts | 6 + .../hyperdrive-artifacts/src/MathUtils.ts | 6 + .../hyperdrive-artifacts/src/MockAssetId.ts | 103 + .../hyperdrive-artifacts/src/MockERC20.ts | 341 + .../hyperdrive-artifacts/src/MockERC4626.ts | 1387 +++ .../src/MockERC4626Hyperdrive.ts | 1822 ++++ .../hyperdrive-artifacts/src/MockERC721.ts | 370 + .../hyperdrive-artifacts/src/MockEzEthPool.ts | 1351 +++ .../src/MockFixedPointMath.ts | 288 + .../src/MockHyperdrive.ts | 2156 +++++ .../src/MockHyperdriveAdminController.ts | 165 + .../src/MockHyperdriveBase.ts | 657 ++ .../src/MockHyperdriveMath.ts | 809 ++ .../src/MockHyperdriveTarget0.ts | 1946 ++++ .../src/MockHyperdriveTarget1.ts | 952 ++ .../src/MockHyperdriveTarget2.ts | 972 ++ .../src/MockHyperdriveTarget3.ts | 992 ++ .../src/MockHyperdriveTarget4.ts | 971 ++ .../hyperdrive-artifacts/src/MockL2Pool.ts | 2337 +++++ .../hyperdrive-artifacts/src/MockLPMath.ts | 1347 +++ packages/hyperdrive-artifacts/src/MockLido.ts | 1156 +++ .../src/MockRocketPool.ts | 1089 +++ .../hyperdrive-artifacts/src/MockSafeCast.ts | 153 + .../src/MockYieldSpaceMath.ts | 483 + .../src/MorphoBalancesLib.ts | 6 + .../src/MorphoBlueBase.ts | 695 ++ .../src/MorphoBlueConversions.ts | 108 + .../src/MorphoBlueHyperdrive.ts | 1736 ++++ .../src/MorphoBlueHyperdriveCoreDeployer.ts | 177 + ...MorphoBlueHyperdriveDeployerCoordinator.ts | 858 ++ .../src/MorphoBlueTarget0.ts | 2048 ++++ .../src/MorphoBlueTarget0Deployer.ts | 147 + .../src/MorphoBlueTarget1.ts | 1022 ++ .../src/MorphoBlueTarget1Deployer.ts | 147 + .../src/MorphoBlueTarget2.ts | 1047 ++ .../src/MorphoBlueTarget2Deployer.ts | 147 + .../src/MorphoBlueTarget3.ts | 1067 ++ .../src/MorphoBlueTarget3Deployer.ts | 147 + .../src/MorphoBlueTarget4.ts | 1041 ++ .../src/MorphoBlueTarget4Deployer.ts | 147 + .../hyperdrive-artifacts/src/MorphoLib.ts | 6 + .../src/MorphoStorageLib.ts | 6 + .../src/MultiRolesAuthority.ts | 452 + .../src/NonPayableDeployer.ts | 341 + .../src/PercentageMath.ts | 6 + packages/hyperdrive-artifacts/src/Pool.ts | 2123 ++++ .../hyperdrive-artifacts/src/PoolLogic.ts | 53 + .../hyperdrive-artifacts/src/PoolStorage.ts | 6 + packages/hyperdrive-artifacts/src/RETHBase.ts | 666 ++ .../src/RETHConversions.ts | 6 + .../src/RETHHyperdrive.ts | 1675 ++++ .../src/RETHHyperdriveCoreDeployer.ts | 177 + .../src/RETHHyperdriveDeployerCoordinator.ts | 818 ++ .../hyperdrive-artifacts/src/RETHTarget0.ts | 1936 ++++ .../src/RETHTarget0Deployer.ts | 147 + .../hyperdrive-artifacts/src/RETHTarget1.ts | 994 ++ .../src/RETHTarget1Deployer.ts | 147 + .../hyperdrive-artifacts/src/RETHTarget2.ts | 1019 ++ .../src/RETHTarget2Deployer.ts | 147 + .../hyperdrive-artifacts/src/RETHTarget3.ts | 1039 ++ .../src/RETHTarget3Deployer.ts | 147 + .../hyperdrive-artifacts/src/RETHTarget4.ts | 1013 ++ .../src/RETHTarget4Deployer.ts | 147 + .../src/ReentrancyGuard.ts | 12 + .../src/ReserveConfiguration.ts | 36 + .../hyperdrive-artifacts/src/ReserveLogic.ts | 50 + .../src/RsETHLineaBase.ts | 657 ++ .../src/RsETHLineaConversions.ts | 6 + .../src/RsETHLineaHyperdrive.ts | 1671 ++++ .../src/RsETHLineaHyperdriveCoreDeployer.ts | 202 + ...RsETHLineaHyperdriveDeployerCoordinator.ts | 779 ++ .../src/RsETHLineaTarget0.ts | 1956 ++++ .../src/RsETHLineaTarget0Deployer.ts | 172 + .../src/RsETHLineaTarget1.ts | 962 ++ .../src/RsETHLineaTarget1Deployer.ts | 172 + .../src/RsETHLineaTarget2.ts | 977 ++ .../src/RsETHLineaTarget2Deployer.ts | 172 + .../src/RsETHLineaTarget3.ts | 997 ++ .../src/RsETHLineaTarget3Deployer.ts | 172 + .../src/RsETHLineaTarget4.ts | 981 ++ .../src/RsETHLineaTarget4Deployer.ts | 172 + packages/hyperdrive-artifacts/src/SafeCast.ts | 6 + .../hyperdrive-artifacts/src/SafeERC20.ts | 39 + .../src/SafeTransferLib.ts | 6 + .../hyperdrive-artifacts/src/ScriptBase.ts | 6 + .../hyperdrive-artifacts/src/SharesMathLib.ts | 6 + .../hyperdrive-artifacts/src/SignedMath.ts | 6 + .../hyperdrive-artifacts/src/StETHBase.ts | 657 ++ .../src/StETHConversions.ts | 6 + .../src/StETHHyperdrive.ts | 1666 ++++ .../src/StETHHyperdriveCoreDeployer.ts | 177 + .../src/StETHHyperdriveDeployerCoordinator.ts | 784 ++ .../hyperdrive-artifacts/src/StETHTarget0.ts | 1932 ++++ .../src/StETHTarget0Deployer.ts | 147 + .../hyperdrive-artifacts/src/StETHTarget1.ts | 952 ++ .../src/StETHTarget1Deployer.ts | 147 + .../hyperdrive-artifacts/src/StETHTarget2.ts | 967 ++ .../src/StETHTarget2Deployer.ts | 147 + .../hyperdrive-artifacts/src/StETHTarget3.ts | 987 ++ .../src/StETHTarget3Deployer.ts | 147 + .../hyperdrive-artifacts/src/StETHTarget4.ts | 971 ++ .../src/StETHTarget4Deployer.ts | 147 + .../src/StakingUSDSBase.ts | 695 ++ .../src/StakingUSDSConversions.ts | 48 + .../src/StakingUSDSHyperdrive.ts | 1717 ++++ .../src/StakingUSDSHyperdriveCoreDeployer.ts | 177 + ...takingUSDSHyperdriveDeployerCoordinator.ts | 798 ++ .../src/StakingUSDSTarget0.ts | 1951 ++++ .../src/StakingUSDSTarget0Deployer.ts | 147 + .../src/StakingUSDSTarget1.ts | 995 ++ .../src/StakingUSDSTarget1Deployer.ts | 147 + .../src/StakingUSDSTarget2.ts | 1020 ++ .../src/StakingUSDSTarget2Deployer.ts | 147 + .../src/StakingUSDSTarget3.ts | 1040 ++ .../src/StakingUSDSTarget3Deployer.ts | 147 + .../src/StakingUSDSTarget4.ts | 1014 ++ .../src/StakingUSDSTarget4Deployer.ts | 147 + .../hyperdrive-artifacts/src/StdAssertions.ts | 386 + .../hyperdrive-artifacts/src/StdChains.ts | 6 + .../hyperdrive-artifacts/src/StdCheats.ts | 6 + .../hyperdrive-artifacts/src/StdCheatsSafe.ts | 6 + .../hyperdrive-artifacts/src/StdInvariant.ts | 170 + packages/hyperdrive-artifacts/src/StdStyle.ts | 6 + packages/hyperdrive-artifacts/src/StdUtils.ts | 6 + .../hyperdrive-artifacts/src/StkWellBase.ts | 657 ++ .../src/StkWellConversions.ts | 6 + .../src/StkWellHyperdrive.ts | 1712 ++++ .../src/StkWellHyperdriveCoreDeployer.ts | 177 + .../StkWellHyperdriveDeployerCoordinator.ts | 793 ++ .../src/StkWellTarget0.ts | 1932 ++++ .../src/StkWellTarget0Deployer.ts | 147 + .../src/StkWellTarget1.ts | 990 ++ .../src/StkWellTarget1Deployer.ts | 147 + .../src/StkWellTarget2.ts | 1010 ++ .../src/StkWellTarget2Deployer.ts | 147 + .../src/StkWellTarget3.ts | 1030 ++ .../src/StkWellTarget3Deployer.ts | 147 + .../src/StkWellTarget4.ts | 1009 ++ .../src/StkWellTarget4Deployer.ts | 147 + .../hyperdrive-artifacts/src/SupplyLogic.ts | 161 + .../hyperdrive-artifacts/src/UniV3Path.ts | 6 + packages/hyperdrive-artifacts/src/UniV3Zap.ts | 930 ++ .../src/UserConfiguration.ts | 6 + packages/hyperdrive-artifacts/src/UtilsLib.ts | 6 + .../src/ValidationLogic.ts | 64 + .../src/VersionedInitializable.ts | 6 + packages/hyperdrive-artifacts/src/Vm.ts | 8581 +++++++++++++++++ packages/hyperdrive-artifacts/src/VmSafe.ts | 7230 ++++++++++++++ .../hyperdrive-artifacts/src/WadRayMath.ts | 6 + .../src/YieldSpaceMath.ts | 6 + packages/hyperdrive-artifacts/src/console.ts | 6 + packages/hyperdrive-artifacts/src/console2.ts | 6 + .../hyperdrive-artifacts/src/safeconsole.ts | 6 + packages/hyperdrive-artifacts/src/stdError.ts | 134 + packages/hyperdrive-artifacts/src/stdJson.ts | 6 + packages/hyperdrive-artifacts/src/stdMath.ts | 6 + .../hyperdrive-artifacts/src/stdStorage.ts | 6 + .../src/stdStorageSafe.ts | 57 + packages/hyperdrive-artifacts/src/stdToml.ts | 6 + packages/hyperdrive-artifacts/tsconfig.json | 3 +- 1913 files changed, 300510 insertions(+), 534808 deletions(-) create mode 100644 .changeset/fifty-mugs-reply.md delete mode 100644 packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Base.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Conversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target0.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target1.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target2.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target3.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target4.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/Address.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/Address.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/Address.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/AssetId.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/AssetId.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/AssetId.js delete mode 100644 packages/hyperdrive-artifacts/dist/Auth.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/Auth.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/Auth.js delete mode 100644 packages/hyperdrive-artifacts/dist/Authority.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/Authority.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/Authority.js delete mode 100644 packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/BalancerErrors.js delete mode 100644 packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/BorrowLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/BridgeLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CalldataLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/CommonBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CommonBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CommonBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/Context.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/Context.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/Context.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/CornTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/DataTypes.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/DataTypes.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/DataTypes.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EModeLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EModeLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EModeLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20Forwarder.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC20Mintable.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Base.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Conversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target0.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target1.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target2.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target3.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target4.js delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/Errors.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/Errors.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/Errors.js delete mode 100644 packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ErrorsLib.js delete mode 100644 packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EtchingUtils.js delete mode 100644 packages/hyperdrive-artifacts/dist/EtchingVault.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EtchingVault.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EtchingVault.js delete mode 100644 packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/FixedPointMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/FixedPointMathLib.js delete mode 100644 packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/FlashLoanLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/GPv2SafeERC20.js delete mode 100644 packages/hyperdrive-artifacts/dist/GenericLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/GenericLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/GenericLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/Helpers.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/Helpers.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/Helpers.js delete mode 100644 packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/Hyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveAdmin.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveFactory.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveLP.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveLong.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveRegistry.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveShort.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveStorage.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/HyperdriveUtils.js delete mode 100644 packages/hyperdrive-artifacts/dist/IACLManager.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IACLManager.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IACLManager.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAL2Token.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAL2Token.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAL2Token.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAToken.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAToken.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAToken.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveIncentivesController.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAccessControl.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAccessControl.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAccessControl.js delete mode 100644 packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.js delete mode 100644 packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ICornHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/ICornSilo.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ICornSilo.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ICornSilo.js delete mode 100644 packages/hyperdrive-artifacts/dist/ICreateX.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ICreateX.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ICreateX.js delete mode 100644 packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IDepositQueue.js delete mode 100644 packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IDeterministicDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/IEETH.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IEETH.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IEETH.js delete mode 100644 packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IEETHHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC1155Errors.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC165.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC165.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC165.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Detailed.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Errors.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Forwarder.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Metadata.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20Permit.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC20WithPermit.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC4626.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC4626.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC4626.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721Enumerable.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721Errors.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721Metadata.js delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.js delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.js delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IFiatTokenProxy.js delete mode 100644 packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.js delete mode 100644 packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.js delete mode 100644 packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IGatewayRouter.js delete mode 100644 packages/hyperdrive-artifacts/dist/IGauge.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IGauge.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IGauge.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCore.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveEvents.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveFactory.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveRead.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.js delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IInitializableAToken.js delete mode 100644 packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IInitializableDebtToken.js delete mode 100644 packages/hyperdrive-artifacts/dist/IIrm.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IIrm.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IIrm.js delete mode 100644 packages/hyperdrive-artifacts/dist/IL2Pool.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IL2Pool.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IL2Pool.js delete mode 100644 packages/hyperdrive-artifacts/dist/ILido.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ILido.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ILido.js delete mode 100644 packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ILiquidityPool.js delete mode 100644 packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMetaMorpho.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMockHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMorpho.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMorpho.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMorpho.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMorphoBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiToken.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiToken.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiToken.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenCore.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenEvents.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMultiTokenRead.js delete mode 100644 packages/hyperdrive-artifacts/dist/IMulticall3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IMulticall3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IMulticall3.js delete mode 100644 packages/hyperdrive-artifacts/dist/IPool.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IPool.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IPool.js delete mode 100644 packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.js delete mode 100644 packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IPriceOracleGetter.js delete mode 100644 packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRSETHPoolV2.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRenzoOracle.js delete mode 100644 packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRestakeManager.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRiverV1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRiverV1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRiverV1.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketDepositPool.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketStorage.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRocketTokenRETH.js delete mode 100644 packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IScaledBalanceToken.js delete mode 100644 packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ISharesManagerV1.js delete mode 100644 packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IStableDebtToken.js delete mode 100644 packages/hyperdrive-artifacts/dist/IStakedToken.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IStakedToken.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IStakedToken.js delete mode 100644 packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IStakingUSDS.js delete mode 100644 packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ISwapRouter.js delete mode 100644 packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IUniV3Zap.js delete mode 100644 packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IVariableDebtToken.js delete mode 100644 packages/hyperdrive-artifacts/dist/IWETH.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IWETH.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IWETH.js delete mode 100644 packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IWrappedERC20.js delete mode 100644 packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IXRenzoDeposit.js delete mode 100644 packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IncentivizedERC20.js delete mode 100644 packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/IsolationModeLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/L2Pool.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/L2Pool.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/L2Pool.js delete mode 100644 packages/hyperdrive-artifacts/dist/LPMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LPMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LPMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/Lib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/Lib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/Lib.js delete mode 100644 packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LiquidationLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/LogExpMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LogExpMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LogExpMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MarketParamsLib.js delete mode 100644 packages/hyperdrive-artifacts/dist/MathLib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MathLib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MathLib.js delete mode 100644 packages/hyperdrive-artifacts/dist/MathUtils.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MathUtils.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MathUtils.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockAssetId.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockAssetId.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockAssetId.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC20.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC20.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC20.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC4626.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC4626.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC4626.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC721.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC721.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockERC721.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockEzEthPool.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockFixedPointMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockL2Pool.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockLPMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockLPMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockLPMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockLido.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockLido.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockLido.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockRocketPool.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockSafeCast.js delete mode 100644 packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBalancesLib.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoLib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoLib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoLib.js delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MorphoStorageLib.js delete mode 100644 packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/MultiRolesAuthority.js delete mode 100644 packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/NonPayableDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/PercentageMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/PercentageMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/PercentageMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/Pool.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/Pool.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/Pool.js delete mode 100644 packages/hyperdrive-artifacts/dist/PoolLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/PoolLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/PoolLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/PoolStorage.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/PoolStorage.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/PoolStorage.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ReentrancyGuard.js delete mode 100644 packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ReserveConfiguration.js delete mode 100644 packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ReserveLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/SafeCast.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/SafeCast.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/SafeCast.js delete mode 100644 packages/hyperdrive-artifacts/dist/SafeERC20.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/SafeERC20.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/SafeERC20.js delete mode 100644 packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/SafeTransferLib.js delete mode 100644 packages/hyperdrive-artifacts/dist/ScriptBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ScriptBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ScriptBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/SharesMathLib.js delete mode 100644 packages/hyperdrive-artifacts/dist/SignedMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/SignedMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/SignedMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdAssertions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdAssertions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdAssertions.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdChains.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdChains.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdChains.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdCheats.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdCheats.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdCheats.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdCheatsSafe.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdError.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdError.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdError.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdInvariant.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdInvariant.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdInvariant.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdJson.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdJson.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdJson.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdStorage.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdStorage.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdStorage.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdStyle.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdStyle.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdStyle.js delete mode 100644 packages/hyperdrive-artifacts/dist/StdUtils.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StdUtils.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StdUtils.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellBase.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellBase.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellBase.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellConversions.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellHyperdrive.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget0.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget1.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget2.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget3.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget4.js delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.js delete mode 100644 packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/SupplyLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/UniV3Path.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/UniV3Path.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/UniV3Path.js delete mode 100644 packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/UniV3Zap.js delete mode 100644 packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/UserConfiguration.js delete mode 100644 packages/hyperdrive-artifacts/dist/UtilsLib.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/UtilsLib.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/UtilsLib.js delete mode 100644 packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/ValidationLogic.js delete mode 100644 packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/VersionedInitializable.js delete mode 100644 packages/hyperdrive-artifacts/dist/Vm.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/Vm.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/Vm.js delete mode 100644 packages/hyperdrive-artifacts/dist/VmSafe.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/VmSafe.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/VmSafe.js delete mode 100644 packages/hyperdrive-artifacts/dist/WadRayMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/WadRayMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/WadRayMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/YieldSpaceMath.js delete mode 100644 packages/hyperdrive-artifacts/dist/console.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/console.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/console.js delete mode 100644 packages/hyperdrive-artifacts/dist/console2.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/console2.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/console2.js delete mode 100644 packages/hyperdrive-artifacts/dist/safeconsole.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/safeconsole.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/safeconsole.js delete mode 100644 packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/stdStorageSafe.js delete mode 100644 packages/hyperdrive-artifacts/dist/stdToml.d.ts delete mode 100644 packages/hyperdrive-artifacts/dist/stdToml.d.ts.map delete mode 100644 packages/hyperdrive-artifacts/dist/stdToml.js delete mode 100644 packages/hyperdrive-artifacts/scripts/build.sh create mode 100644 packages/hyperdrive-artifacts/scripts/generate.sh create mode 100644 packages/hyperdrive-artifacts/src/AaveBase.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Base.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Conversions.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Hyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2HyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2HyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Target0.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Target0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Target1.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Target1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Target2.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Target2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Target3.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Target3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Target4.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveL2Target4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/AaveTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/Address.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpBase.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/AerodromeLpTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/AssetId.ts create mode 100644 packages/hyperdrive-artifacts/src/Auth.ts create mode 100644 packages/hyperdrive-artifacts/src/Authority.ts create mode 100644 packages/hyperdrive-artifacts/src/BalancerErrors.ts create mode 100644 packages/hyperdrive-artifacts/src/BorrowLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/BridgeLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/CalldataLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkBase.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/ChainlinkTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/CommonBase.ts create mode 100644 packages/hyperdrive-artifacts/src/Context.ts create mode 100644 packages/hyperdrive-artifacts/src/CornBase.ts create mode 100644 packages/hyperdrive-artifacts/src/CornConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/CornHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/CornHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/CornHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/CornTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/CornTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/CornTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/CornTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/CornTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/CornTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/CornTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/CornTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/CornTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/CornTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/DataTypes.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHBase.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/EETHTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EModeLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC20.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC20Forwarder.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC20ForwarderFactory.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC20Mintable.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Base.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Conversions.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Hyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626HyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626HyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Target0.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Target0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Target1.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Target1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Target2.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Target2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Target3.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Target3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Target4.ts create mode 100644 packages/hyperdrive-artifacts/src/ERC4626Target4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/Errors.ts create mode 100644 packages/hyperdrive-artifacts/src/ErrorsLib.ts create mode 100644 packages/hyperdrive-artifacts/src/EtchingUtils.ts create mode 100644 packages/hyperdrive-artifacts/src/EtchingVault.ts create mode 100644 packages/hyperdrive-artifacts/src/ExcessivelySafeCall.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHBase.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaBase.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHLineaTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/EzETHTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/FixedPointMath.ts create mode 100644 packages/hyperdrive-artifacts/src/FixedPointMathLib.ts create mode 100644 packages/hyperdrive-artifacts/src/FlashLoanLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/GPv2SafeERC20.ts create mode 100644 packages/hyperdrive-artifacts/src/GenericLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/Helpers.ts create mode 100644 packages/hyperdrive-artifacts/src/Hyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveAdmin.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveBase.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveCheckpoint.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveCheckpointRewarder.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveCheckpointSubrewarder.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveFactory.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveLP.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveLong.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveMath.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveMultiToken.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveRegistry.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveShort.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveStorage.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/HyperdriveUtils.ts create mode 100644 packages/hyperdrive-artifacts/src/IACLManager.ts create mode 100644 packages/hyperdrive-artifacts/src/IAL2Token.ts create mode 100644 packages/hyperdrive-artifacts/src/IAToken.ts create mode 100644 packages/hyperdrive-artifacts/src/IAaveHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IAaveHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/IAaveHyperdriveRead.ts create mode 100644 packages/hyperdrive-artifacts/src/IAaveIncentivesController.ts create mode 100644 packages/hyperdrive-artifacts/src/IAaveL2Hyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IAaveL2HyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/IAaveL2HyperdriveRead.ts create mode 100644 packages/hyperdrive-artifacts/src/IAccessControl.ts create mode 100644 packages/hyperdrive-artifacts/src/IAerodromeLpHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IChainlinkAggregatorV3.ts create mode 100644 packages/hyperdrive-artifacts/src/IChainlinkHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/ICornHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/ICornSilo.ts create mode 100644 packages/hyperdrive-artifacts/src/ICreateX.ts create mode 100644 packages/hyperdrive-artifacts/src/IDepositQueue.ts create mode 100644 packages/hyperdrive-artifacts/src/IDeterministicDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/IEETH.ts create mode 100644 packages/hyperdrive-artifacts/src/IEETHHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC1155Errors.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC165.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC20.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC20Detailed.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC20Errors.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC20Forwarder.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC20ForwarderFactory.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC20Metadata.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC20Permit.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC20WithPermit.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC4626.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC4626HyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC721.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC721Enumerable.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC721Errors.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC721Metadata.ts create mode 100644 packages/hyperdrive-artifacts/src/IERC721TokenReceiver.ts create mode 100644 packages/hyperdrive-artifacts/src/IEzETHHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IEzETHHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/IEzETHHyperdriveRead.ts create mode 100644 packages/hyperdrive-artifacts/src/IEzETHLineaHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IFiatTokenProxy.ts create mode 100644 packages/hyperdrive-artifacts/src/IFlashLoanReceiver.ts create mode 100644 packages/hyperdrive-artifacts/src/IFlashLoanSimpleReceiver.ts create mode 100644 packages/hyperdrive-artifacts/src/IGatewayRouter.ts create mode 100644 packages/hyperdrive-artifacts/src/IGauge.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveAdminController.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveCheckpointRewarder.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveCheckpointSubrewarder.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveCore.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveEvents.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveFactory.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistry.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistryEvents.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveRead.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveRegistry.ts create mode 100644 packages/hyperdrive-artifacts/src/IHyperdriveTargetDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/IInitializableAToken.ts create mode 100644 packages/hyperdrive-artifacts/src/IInitializableDebtToken.ts create mode 100644 packages/hyperdrive-artifacts/src/IIrm.ts create mode 100644 packages/hyperdrive-artifacts/src/IL2Pool.ts create mode 100644 packages/hyperdrive-artifacts/src/ILido.ts create mode 100644 packages/hyperdrive-artifacts/src/ILiquidityPool.ts create mode 100644 packages/hyperdrive-artifacts/src/ILsETHHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/IMetaMorpho.ts create mode 100644 packages/hyperdrive-artifacts/src/IMockHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IMorpho.ts create mode 100644 packages/hyperdrive-artifacts/src/IMorphoBase.ts create mode 100644 packages/hyperdrive-artifacts/src/IMorphoBlueHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IMorphoStaticTyping.ts create mode 100644 packages/hyperdrive-artifacts/src/IMultiToken.ts create mode 100644 packages/hyperdrive-artifacts/src/IMultiTokenCore.ts create mode 100644 packages/hyperdrive-artifacts/src/IMultiTokenEvents.ts create mode 100644 packages/hyperdrive-artifacts/src/IMultiTokenMetadata.ts create mode 100644 packages/hyperdrive-artifacts/src/IMultiTokenRead.ts create mode 100644 packages/hyperdrive-artifacts/src/IMulticall3.ts create mode 100644 packages/hyperdrive-artifacts/src/IPool.ts create mode 100644 packages/hyperdrive-artifacts/src/IPoolAddressesProvider.ts create mode 100644 packages/hyperdrive-artifacts/src/IPriceOracleGetter.ts create mode 100644 packages/hyperdrive-artifacts/src/IPriceOracleSentinel.ts create mode 100644 packages/hyperdrive-artifacts/src/IRETHHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/IRSETHPoolV2.ts create mode 100644 packages/hyperdrive-artifacts/src/IRenzoOracle.ts create mode 100644 packages/hyperdrive-artifacts/src/IRestakeManager.ts create mode 100644 packages/hyperdrive-artifacts/src/IRiverV1.ts create mode 100644 packages/hyperdrive-artifacts/src/IRocketDepositPool.ts create mode 100644 packages/hyperdrive-artifacts/src/IRocketNetworkBalances.ts create mode 100644 packages/hyperdrive-artifacts/src/IRocketPoolDAOProtocolSettingsDeposit.ts create mode 100644 packages/hyperdrive-artifacts/src/IRocketStorage.ts create mode 100644 packages/hyperdrive-artifacts/src/IRocketTokenRETH.ts create mode 100644 packages/hyperdrive-artifacts/src/IRsETHLineaHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IScaledBalanceToken.ts create mode 100644 packages/hyperdrive-artifacts/src/ISharesManagerV1.ts create mode 100644 packages/hyperdrive-artifacts/src/IStETHHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/IStableDebtToken.ts create mode 100644 packages/hyperdrive-artifacts/src/IStakedToken.ts create mode 100644 packages/hyperdrive-artifacts/src/IStakingUSDS.ts create mode 100644 packages/hyperdrive-artifacts/src/IStakingUSDSHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/IStkWellHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/ISwapRouter.ts create mode 100644 packages/hyperdrive-artifacts/src/IUniV3Zap.ts create mode 100644 packages/hyperdrive-artifacts/src/IVariableDebtToken.ts create mode 100644 packages/hyperdrive-artifacts/src/IWETH.ts create mode 100644 packages/hyperdrive-artifacts/src/IWrappedERC20.ts create mode 100644 packages/hyperdrive-artifacts/src/IXRenzoDeposit.ts create mode 100644 packages/hyperdrive-artifacts/src/IncentivizedERC20.ts create mode 100644 packages/hyperdrive-artifacts/src/IsolationModeLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/L2Pool.ts create mode 100644 packages/hyperdrive-artifacts/src/LPMath.ts create mode 100644 packages/hyperdrive-artifacts/src/Lib.ts create mode 100644 packages/hyperdrive-artifacts/src/LiquidationLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/LogExpMath.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHBase.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/LsETHTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/MarketParamsLib.ts create mode 100644 packages/hyperdrive-artifacts/src/MathLib.ts create mode 100644 packages/hyperdrive-artifacts/src/MathUtils.ts create mode 100644 packages/hyperdrive-artifacts/src/MockAssetId.ts create mode 100644 packages/hyperdrive-artifacts/src/MockERC20.ts create mode 100644 packages/hyperdrive-artifacts/src/MockERC4626.ts create mode 100644 packages/hyperdrive-artifacts/src/MockERC4626Hyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/MockERC721.ts create mode 100644 packages/hyperdrive-artifacts/src/MockEzEthPool.ts create mode 100644 packages/hyperdrive-artifacts/src/MockFixedPointMath.ts create mode 100644 packages/hyperdrive-artifacts/src/MockHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/MockHyperdriveAdminController.ts create mode 100644 packages/hyperdrive-artifacts/src/MockHyperdriveBase.ts create mode 100644 packages/hyperdrive-artifacts/src/MockHyperdriveMath.ts create mode 100644 packages/hyperdrive-artifacts/src/MockHyperdriveTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/MockHyperdriveTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/MockHyperdriveTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/MockHyperdriveTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/MockHyperdriveTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/MockL2Pool.ts create mode 100644 packages/hyperdrive-artifacts/src/MockLPMath.ts create mode 100644 packages/hyperdrive-artifacts/src/MockLido.ts create mode 100644 packages/hyperdrive-artifacts/src/MockRocketPool.ts create mode 100644 packages/hyperdrive-artifacts/src/MockSafeCast.ts create mode 100644 packages/hyperdrive-artifacts/src/MockYieldSpaceMath.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBalancesLib.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueBase.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoBlueTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoLib.ts create mode 100644 packages/hyperdrive-artifacts/src/MorphoStorageLib.ts create mode 100644 packages/hyperdrive-artifacts/src/MultiRolesAuthority.ts create mode 100644 packages/hyperdrive-artifacts/src/NonPayableDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/PercentageMath.ts create mode 100644 packages/hyperdrive-artifacts/src/Pool.ts create mode 100644 packages/hyperdrive-artifacts/src/PoolLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/PoolStorage.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHBase.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/RETHTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/ReentrancyGuard.ts create mode 100644 packages/hyperdrive-artifacts/src/ReserveConfiguration.ts create mode 100644 packages/hyperdrive-artifacts/src/ReserveLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaBase.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/RsETHLineaTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/SafeCast.ts create mode 100644 packages/hyperdrive-artifacts/src/SafeERC20.ts create mode 100644 packages/hyperdrive-artifacts/src/SafeTransferLib.ts create mode 100644 packages/hyperdrive-artifacts/src/ScriptBase.ts create mode 100644 packages/hyperdrive-artifacts/src/SharesMathLib.ts create mode 100644 packages/hyperdrive-artifacts/src/SignedMath.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHBase.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/StETHTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSBase.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/StakingUSDSTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StdAssertions.ts create mode 100644 packages/hyperdrive-artifacts/src/StdChains.ts create mode 100644 packages/hyperdrive-artifacts/src/StdCheats.ts create mode 100644 packages/hyperdrive-artifacts/src/StdCheatsSafe.ts create mode 100644 packages/hyperdrive-artifacts/src/StdInvariant.ts create mode 100644 packages/hyperdrive-artifacts/src/StdStyle.ts create mode 100644 packages/hyperdrive-artifacts/src/StdUtils.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellBase.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellConversions.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellHyperdrive.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellHyperdriveCoreDeployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellHyperdriveDeployerCoordinator.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellTarget0.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellTarget0Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellTarget1.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellTarget1Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellTarget2.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellTarget2Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellTarget3.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellTarget3Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellTarget4.ts create mode 100644 packages/hyperdrive-artifacts/src/StkWellTarget4Deployer.ts create mode 100644 packages/hyperdrive-artifacts/src/SupplyLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/UniV3Path.ts create mode 100644 packages/hyperdrive-artifacts/src/UniV3Zap.ts create mode 100644 packages/hyperdrive-artifacts/src/UserConfiguration.ts create mode 100644 packages/hyperdrive-artifacts/src/UtilsLib.ts create mode 100644 packages/hyperdrive-artifacts/src/ValidationLogic.ts create mode 100644 packages/hyperdrive-artifacts/src/VersionedInitializable.ts create mode 100644 packages/hyperdrive-artifacts/src/Vm.ts create mode 100644 packages/hyperdrive-artifacts/src/VmSafe.ts create mode 100644 packages/hyperdrive-artifacts/src/WadRayMath.ts create mode 100644 packages/hyperdrive-artifacts/src/YieldSpaceMath.ts create mode 100644 packages/hyperdrive-artifacts/src/console.ts create mode 100644 packages/hyperdrive-artifacts/src/console2.ts create mode 100644 packages/hyperdrive-artifacts/src/safeconsole.ts create mode 100644 packages/hyperdrive-artifacts/src/stdError.ts create mode 100644 packages/hyperdrive-artifacts/src/stdJson.ts create mode 100644 packages/hyperdrive-artifacts/src/stdMath.ts create mode 100644 packages/hyperdrive-artifacts/src/stdStorage.ts create mode 100644 packages/hyperdrive-artifacts/src/stdStorageSafe.ts create mode 100644 packages/hyperdrive-artifacts/src/stdToml.ts diff --git a/.changeset/fifty-mugs-reply.md b/.changeset/fifty-mugs-reply.md new file mode 100644 index 000000000..2de6801d6 --- /dev/null +++ b/.changeset/fifty-mugs-reply.md @@ -0,0 +1,5 @@ +--- +"@delvtech/hyperdrive-artifacts": patch +--- + +Added a `name` field for the contract's name. diff --git a/packages/hyperdrive-artifacts/.gitignore b/packages/hyperdrive-artifacts/.gitignore index 90840e2c6..af35df2f9 100644 --- a/packages/hyperdrive-artifacts/.gitignore +++ b/packages/hyperdrive-artifacts/.gitignore @@ -1,10 +1,5 @@ +dist node_modules -# Ignore temporary clones of the hyperdrive repo used by the build script -hyperdrive-temp.* - -# Ignore the src directory which is generated by the build script -src - -# Don't ignore the dist directory which requires forge to build -!dist \ No newline at end of file +# Ignore temporary clones created by the build script +*_temp diff --git a/packages/hyperdrive-artifacts/README.md b/packages/hyperdrive-artifacts/README.md index 545e68803..700c6ee39 100644 --- a/packages/hyperdrive-artifacts/README.md +++ b/packages/hyperdrive-artifacts/README.md @@ -1,7 +1,7 @@ # @delvtech/hyperdrive-artifacts -Build artifacts, including ABIs and Bytecodes, for the [Hyperdrive -AMM](https://github.com/delvtech/hyperdrive) contracts. +Strongly typed build artifacts, including ABIs and Bytecodes, for the +[Hyperdrive AMM](https://github.com/delvtech/hyperdrive) contracts. ## Install @@ -22,25 +22,18 @@ const hyperdriveAbi = IHyperdrive.abi; const hyperdriveBytecode = IHyperdrive.bytecode; ``` -## Building +## Generating TypeScript Files -The build script takes the git ref to clone and compile as the first positional +The generate script takes the git ref to clone and compile as the first positional argument. This means you can change the version of the contract to generate artifacts for in the `package.json`: ```json - "build:src": "sh scripts/build_src.sh v0.9.0" + "generate": "sh scripts/generate.sh v1.0.20" ``` Then run: ```sh -yarn workspace @delvtech/hyperdrive-artifacts build:src -``` - -If the `src` directory already exists from a previous build, you can force a new -build by running: - -```sh -yarn workspace @delvtech/hyperdrive-artifacts build:new +yarn workspace @delvtech/hyperdrive-artifacts generate ``` diff --git a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts b/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts deleted file mode 100644 index 37062d420..000000000 --- a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export {}; -//# sourceMappingURL=83e70ca879a76f0c763a400659cff4f0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts.map b/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts.map deleted file mode 100644 index 733e13bd9..000000000 --- a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"83e70ca879a76f0c763a400659cff4f0.d.ts","sourceRoot":"","sources":["../src/83e70ca879a76f0c763a400659cff4f0.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.js b/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.js deleted file mode 100644 index 9b2908707..000000000 --- a/packages/hyperdrive-artifacts/dist/83e70ca879a76f0c763a400659cff4f0.js +++ /dev/null @@ -1,7 +0,0 @@ -export const ; -83e70; -ca879a76f0c763a400659cff4f0 = { - abi: null, - bytecode: 'null', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveBase.d.ts b/packages/hyperdrive-artifacts/dist/AaveBase.d.ts deleted file mode 100644 index ead52ce7c..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveBase.d.ts +++ /dev/null @@ -1,563 +0,0 @@ -export declare const AaveBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AaveBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveBase.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveBase.d.ts.map deleted file mode 100644 index b7cdf263d..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveBase.d.ts","sourceRoot":"","sources":["../src/AaveBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmrBD,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveBase.js b/packages/hyperdrive-artifacts/dist/AaveBase.js deleted file mode 100644 index 7394f4020..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveBase.js +++ /dev/null @@ -1,694 +0,0 @@ -export const AaveBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts b/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts deleted file mode 100644 index 9722b17c9..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const AaveConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AaveConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts.map deleted file mode 100644 index 7507e8ba4..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveConversions.d.ts","sourceRoot":"","sources":["../src/AaveConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveConversions.js b/packages/hyperdrive-artifacts/dist/AaveConversions.js deleted file mode 100644 index 719accdad..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const AaveConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220454a0173f65e56684d3cfc8516553c1e329a3c5810dff4de49204b8c435ac94064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts deleted file mode 100644 index e71ab2745..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts +++ /dev/null @@ -1,1350 +0,0 @@ -export declare const AaveHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=AaveHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts.map deleted file mode 100644 index fc9ddbfcc..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveHyperdrive.d.ts","sourceRoot":"","sources":["../src/AaveHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuoDiqb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bxsb,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.js b/packages/hyperdrive-artifacts/dist/AaveHyperdrive.js deleted file mode 100644 index 27a29374a..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdrive.js +++ /dev/null @@ -1,1703 +0,0 @@ -export const AaveHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b5060405162001b5438038062001b54833981016040819052620000349162000723565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620008cd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260a05160408051633a9ae92360e11b81529051919092169450637535d2469350600480830193506020928290030181865afa15801562000166573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018c919062000999565b6001600160a01b03908116610320819052608051620001af9216906001620001bd565b5050505050505050620009f5565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021790859083906200028816565b6200028257604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620002769186916200033216565b62000282848262000332565b50505050565b5f805f846001600160a01b031684604051620002a59190620009b7565b5f604051808303815f865af19150503d805f8114620002e0576040519150601f19603f3d011682016040523d82523d5f602084013e620002e5565b606091505b50915091508180156200031357508051158062000313575080806020019051810190620003139190620009d4565b80156200032957505f856001600160a01b03163b115b95945050505050565b5f620003486001600160a01b03841683620003a3565b905080515f141580156200036f5750808060200190518101906200036d9190620009d4565b155b156200039e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620003b283835f620003b9565b9392505050565b606081471015620003e05760405163cd78605960e01b815230600482015260240162000395565b5f80856001600160a01b03168486604051620003fd9190620009b7565b5f6040518083038185875af1925050503d805f811462000439576040519150601f19603f3d011682016040523d82523d5f602084013e6200043e565b606091505b509092509050620004518683836200045b565b9695505050505050565b60608262000474576200046e82620004bf565b620003b2565b81511580156200048c57506001600160a01b0384163b155b15620004b757604051639996b31560e01b81526001600160a01b038516600482015260240162000395565b5080620003b2565b805115620004d05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620005265762000526620004ec565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005575762000557620004ec565b604052919050565b5f5b838110156200057b57818101518382015260200162000561565b50505f910152565b6001600160a01b0381168114620004e9575f80fd5b8051620005a58162000583565b919050565b5f60808284031215620005bb575f80fd5b604051608081016001600160401b0381118282101715620005e057620005e0620004ec565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000623575f80fd5b6200062d62000500565b90506200063a8262000598565b81526200064a6020830162000598565b60208201526200065d6040830162000598565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620006c881840162000598565b90820152610180620006dc83820162000598565b908201526101a0620006f083820162000598565b908201526101c06200070483820162000598565b908201526101e06200071984848301620005aa565b9082015292915050565b5f805f805f805f80610340898b0312156200073c575f80fd5b88516001600160401b038082111562000753575f80fd5b818b0191508b601f83011262000767575f80fd5b8151818111156200077c576200077c620004ec565b62000791601f8201601f19166020016200052c565b91508082528c6020828501011115620007a8575f80fd5b620007bb8160208401602086016200055f565b509850620007cf90508a60208b0162000611565b9650620007e06102808a0162000598565b9550620007f16102a08a0162000598565b9450620008026102c08a0162000598565b9350620008136102e08a0162000598565b9250620008246103008a0162000598565b9150620008356103208a0162000598565b90509295985092959890939650565b600181811c908216806200085957607f821691505b6020821081036200087857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200039e57805f5260205f20601f840160051c81016020851015620008a55750805b601f840160051c820191505b81811015620008c6575f8155600101620008b1565b5050505050565b81516001600160401b03811115620008e957620008e9620004ec565b6200090181620008fa845462000844565b846200087e565b602080601f83116001811462000937575f84156200091f5750858301515b5f19600386901b1c1916600185901b17855562000991565b5f85815260208120601f198616915b82811015620009675788860151825594840194600190910190840162000946565b50858210156200098557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620009aa575f80fd5b8151620003b28162000583565b5f8251620009ca8184602087016200055f565b9190910192915050565b5f60208284031215620009e5575f80fd5b81518015158114620003b2575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000b135f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f69fe16a45a80752f736685c85fd6f39fa34b276828295a1b91db6de70323e2364736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts deleted file mode 100644 index b6a880076..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const AaveHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=AaveHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index c8e199c19..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/AaveHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2Ki3hB,KAAK,MAAM,EAAE;;;;CAIp6hB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.js deleted file mode 100644 index 8430593d5..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const AaveHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506121a58061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611b54806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61034060405234801562000011575f80fd5b5060405162001b5438038062001b54833981016040819052620000349162000723565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620008cd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260a05160408051633a9ae92360e11b81529051919092169450637535d2469350600480830193506020928290030181865afa15801562000166573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018c919062000999565b6001600160a01b03908116610320819052608051620001af9216906001620001bd565b5050505050505050620009f5565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021790859083906200028816565b6200028257604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620002769186916200033216565b62000282848262000332565b50505050565b5f805f846001600160a01b031684604051620002a59190620009b7565b5f604051808303815f865af19150503d805f8114620002e0576040519150601f19603f3d011682016040523d82523d5f602084013e620002e5565b606091505b50915091508180156200031357508051158062000313575080806020019051810190620003139190620009d4565b80156200032957505f856001600160a01b03163b115b95945050505050565b5f620003486001600160a01b03841683620003a3565b905080515f141580156200036f5750808060200190518101906200036d9190620009d4565b155b156200039e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620003b283835f620003b9565b9392505050565b606081471015620003e05760405163cd78605960e01b815230600482015260240162000395565b5f80856001600160a01b03168486604051620003fd9190620009b7565b5f6040518083038185875af1925050503d805f811462000439576040519150601f19603f3d011682016040523d82523d5f602084013e6200043e565b606091505b509092509050620004518683836200045b565b9695505050505050565b60608262000474576200046e82620004bf565b620003b2565b81511580156200048c57506001600160a01b0384163b155b15620004b757604051639996b31560e01b81526001600160a01b038516600482015260240162000395565b5080620003b2565b805115620004d05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620005265762000526620004ec565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005575762000557620004ec565b604052919050565b5f5b838110156200057b57818101518382015260200162000561565b50505f910152565b6001600160a01b0381168114620004e9575f80fd5b8051620005a58162000583565b919050565b5f60808284031215620005bb575f80fd5b604051608081016001600160401b0381118282101715620005e057620005e0620004ec565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000623575f80fd5b6200062d62000500565b90506200063a8262000598565b81526200064a6020830162000598565b60208201526200065d6040830162000598565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620006c881840162000598565b90820152610180620006dc83820162000598565b908201526101a0620006f083820162000598565b908201526101c06200070483820162000598565b908201526101e06200071984848301620005aa565b9082015292915050565b5f805f805f805f80610340898b0312156200073c575f80fd5b88516001600160401b038082111562000753575f80fd5b818b0191508b601f83011262000767575f80fd5b8151818111156200077c576200077c620004ec565b62000791601f8201601f19166020016200052c565b91508082528c6020828501011115620007a8575f80fd5b620007bb8160208401602086016200055f565b509850620007cf90508a60208b0162000611565b9650620007e06102808a0162000598565b9550620007f16102a08a0162000598565b9450620008026102c08a0162000598565b9350620008136102e08a0162000598565b9250620008246103008a0162000598565b9150620008356103208a0162000598565b90509295985092959890939650565b600181811c908216806200085957607f821691505b6020821081036200087857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200039e57805f5260205f20601f840160051c81016020851015620008a55750805b601f840160051c820191505b81811015620008c6575f8155600101620008b1565b5050505050565b81516001600160401b03811115620008e957620008e9620004ec565b6200090181620008fa845462000844565b846200087e565b602080601f83116001811462000937575f84156200091f5750858301515b5f19600386901b1c1916600185901b17855562000991565b5f85815260208120601f198616915b82811015620009675788860151825594840194600190910190840162000946565b50858210156200098557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620009aa575f80fd5b8151620003b28162000583565b5f8251620009ca8184602087016200055f565b9190910192915050565b5f60208284031215620009e5575f80fd5b81518015158114620003b2575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000b135f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f69fe16a45a80752f736685c85fd6f39fa34b276828295a1b91db6de70323e2364736f6c63430008160033a264697066735822122068cd208f1e5ec93eead7631da57e4b6900eb1efd333d8bf3186ac18ade1d8fd264736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 30f21dd31..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,636 +0,0 @@ -export declare const AaveHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,uint256)": "ce34a8c3"; - readonly "convertToShares(address,address,uint256)": "0550e6e4"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AaveHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index df6d1db79..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/AaveHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuxBw+rB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBlisB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.js deleted file mode 100644 index 9fff1fa81..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,812 +0,0 @@ -export const AaveHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b5060405162002c0138038062002c018339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516127e76200041a5f395f81816102b80152610d6b01525f81816103360152610c3801525f818161039c0152610b0501525f818161030301526109d201525f818161036901526107c901525f818161042101526110c601525f81816103ee0152818161055d015281816106f2015281816107f901528181610a0201528181610b3501528181610c6801528181610d9b01528181610e9a01526110f701526127e75ff3fe6080604052600436106100fa575f3560e01c8063aa8cd6c411610092578063c45a015511610062578063c45a0155146103dd578063c83e1f5114610410578063ce34a8c314610443578063e990eba814610462578063e99be39614610481575f80fd5b8063aa8cd6c414610325578063ab71905f14610358578063b6cb11181461038b578063c1510618146103be575f80fd5b806337404017116100cd578063374040171461017c57806354fd4d5014610278578063966ecd1c146102a7578063a085fa30146102f2575f80fd5b806304baa00b146100fe5780630550e6e41461012857806306fdde031461015557806316abfc7014610169575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611d04565b60405180910390f35b348015610133575f80fd5b50610147610142366004611d3a565b6104b0565b60405190815260200161011f565b348015610160575f80fd5b506101126104c6565b610147610177366004611e77565b610551565b348015610187575f80fd5b5061026b610196366004611f35565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611f4c565b348015610283575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102b2575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102fd575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610330575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610363575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610396575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c9575f80fd5b506102da6103d8366004612120565b6106e6565b3480156103e8575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b5061014761045d366004611d3a565b610e82565b34801561046d575f80fd5b506102da61047c366004612189565b610e8e565b34801561048c575f80fd5b506005610147565b6040518060600160405280602181526020016127916021913981565b5f6104bc848484611201565b90505b9392505050565b5f80546104d290612223565b80601f01602080910402602001604051908101604052809291908181526020018280546104fe90612223565b80156105495780601f1061052057610100808354040283529160200191610549565b820191905f5260205f20905b81548152906001019060200180831161052c57829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059b57604051634084351160e01b815260040160405180910390fd5b6105a3611224565b5f868152600160205260409020600301546001600160a01b0316806105db5760405163952b05cb60e01b815260040160405180910390fd5b5f6105e882888887611245565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161061b9392919061225b565b60206040518083038185885af1158015610637573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061065c91906122a0565b92505f61066982346122cb565b905080156106d9576040515f90339083908381818185875af1925050503d805f81146106b0576040519150601f19603f3d011682016040523d82523d5f602084013e6106b5565b606091505b50509050806106d7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073057604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e05780541561076557604051633be1b34d60e11b815260040160405180910390fd5b61076f86866113c0565b5f61077a87876115cd565b90505f8760405160200161078e91906122de565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107bb8a611650565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610835929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161086a9493929190612511565b6020604051808303815f875af1158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa9190612556565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106dd565b5f878152600160205260409020548061090c5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161091e91906122de565b60405160208183030381529060405280519060200120146109525760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461097c57604051631a3272d160e31b815260040160405180910390fd5b61098687876113c0565b5f61099088611650565b6002840154608082015290506001869003610ad05760058301546001600160a01b0316156109d05760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a3793929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a6c9493929190612511565b6020604051808303815f875af1158015610a88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac9190612556565b6005840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600203610c035760068301546001600160a01b031615610b035760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b6a93929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b9f9493929190612511565b6020604051808303815f875af1158015610bbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdf9190612556565b6006840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600303610d365760078301546001600160a01b031615610c365760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c9d93929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cd29493929190612511565b6020604051808303815f875af1158015610cee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d129190612556565b6007840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600403610e695760088301546001600160a01b031615610d695760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd093929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e059493929190612511565b6020604051808303815f875af1158015610e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e459190612556565b6008840180546001600160a01b0319166001600160a01b03831617905593506106d9565b604051631d9f815960e11b815260040160405180910390fd5b5f6104bc84848461171e565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed857604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f8057604051632c95caeb60e01b815260040160405180910390fd5b8051610f9f5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc4575060a08101516001600160a01b0316155b80610fda575060c08101516001600160a01b0316155b80610ff0575060e08101516001600160a01b0316155b8061100757506101008101516001600160a01b0316155b156110255760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110389087906020016122de565b604051602081830303815290604052805190602001201461106c5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109757604051631a3272d160e31b815260040160405180910390fd5b6110a185856113c0565b5f6110ab86611650565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114d929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111889a99989796959493929190612592565b6020604051808303815f875af11580156111a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c89190612556565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f6104bc6b033b2e3c9fd0803ce800000061121c8686611740565b8491906117ab565b341561124357604051631574f9f360e01b815260040160405180910390fd5b565b5f805f866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611284573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a89190612556565b90508360200151156112bc5780915061138b565b866001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131c9190612556565b915061138881836001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa15801561135e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113829190612556565b87610e82565b94505b6113a06001600160a01b0383168730886117c6565b6113b46001600160a01b0383168887611833565b505f9695505050505050565b6113ca82826118c2565b60208201516001600160a01b03166113f55760405163073f739d60e51b815260040160405180910390fd5b81602001516001600160a01b031663b16a19de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611435573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114599190612556565b6001600160a01b0316825f01516001600160a01b03161461148d57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f29190612614565b6114fc9190612634565b61150790600a61272d565b8260800151101561152b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115909190612614565b61159a9190612634565b6115a590600a61272d565b8260a0015110156115c9576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611647835f015184602001516001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611615573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116399190612556565b670de0b6b3a7640000610e82565b90505b92915050565b611658611be3565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f6104bc61172c8585611740565b83906b033b2e3c9fd0803ce80000006117ab565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015611787573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061164791906122a0565b5f825f1904841183021582026117bf575f80fd5b5091020490565b6040516001600160a01b03848116602483015283811660448301526064820183905261182d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506119d6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526118848482611a41565b61182d576040516001600160a01b0384811660248301525f60448301526118b891869182169063095ea7b3906064016117fb565b61182d84826119d6565b6103e8826080015110156118e9576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361190e57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061193857508161010001518260e00151611935919061273b565b15155b156119565760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806119825750670de0b6b3a7640000826101c0015160200151115b8061199d5750670de0b6b3a7640000826101c0015160400151115b806119b85750670de0b6b3a7640000826101c0015160600151115b156115c9576040516322f72cc360e11b815260040160405180910390fd5b5f6119ea6001600160a01b03841683611ade565b905080515f14158015611a0e575080806020019051810190611a0c919061275a565b155b15611a3c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051611a5c9190612775565b5f604051808303815f865af19150503d805f8114611a95576040519150601f19603f3d011682016040523d82523d5f602084013e611a9a565b606091505b5091509150818015611ac4575080511580611ac4575080806020019051810190611ac4919061275a565b80156106dd5750505050506001600160a01b03163b151590565b606061164783835f845f80856001600160a01b03168486604051611b029190612775565b5f6040518083038185875af1925050503d805f8114611b3c576040519150601f19603f3d011682016040523d82523d5f602084013e611b41565b606091505b5091509150611b51868383611b5b565b9695505050505050565b606082611b7057611b6b82611bb7565b6104bf565b8151158015611b8757506001600160a01b0384163b155b15611bb057604051639996b31560e01b81526001600160a01b0385166004820152602401611a33565b50806104bf565b805115611bc75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611cb260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611cd1578181015183820152602001611cb9565b50505f910152565b5f8151808452611cf0816020860160208601611cb7565b601f01601f19169290920160200192915050565b602081525f6116476020830184611cd9565b6001600160a01b0381168114611be0575f80fd5b8035611d3581611d16565b919050565b5f805f60608486031215611d4c575f80fd5b8335611d5781611d16565b92506020840135611d6781611d16565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611daf57611daf611d78565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611daf57611daf611d78565b8015158114611be0575f80fd5b5f67ffffffffffffffff80841115611e0057611e00611d78565b604051601f8501601f19908116603f01168101908282118183101715611e2857611e28611d78565b81604052809350858152868686011115611e40575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611e68575f80fd5b61164783833560208501611de6565b5f805f805f60a08688031215611e8b575f80fd5b853594506020860135611e9d81611d16565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ec7575f80fd5b908701906060828a031215611eda575f80fd5b611ee2611d8c565b8235611eed81611d16565b81526020830135611efd81611dd9565b6020820152604083013582811115611f13575f80fd5b611f1f8b828601611e59565b6040830152508093505050509295509295909350565b5f60208284031215611f45575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611fd9575f80fd5b6040516080810181811067ffffffffffffffff82111715611ffc57611ffc611d78565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610240828403121561203e575f80fd5b612046611db5565b905061205182611d2a565b815261205f60208301611d2a565b602082015261207060408301611d2a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101406120cd818401611d2a565b908201526101606120df838201611d2a565b908201526101806120f1838201611d2a565b908201526101a0612103838201611d2a565b908201526101c061211684848301611fc9565b9082015292915050565b5f805f805f6102c08688031215612135575f80fd5b85359450612146876020880161202d565b935061026086013567ffffffffffffffff811115612162575f80fd5b61216e88828901611e59565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c0868803121561219e575f80fd5b85359450602086013567ffffffffffffffff808211156121bc575f80fd5b818801915088601f8301126121cf575f80fd5b6121de89833560208501611de6565b95506121ed8960408a0161202d565b9450610280880135915080821115612203575f80fd5b5061221088828901611e59565b959894975092956102a001359392505050565b600181811c9082168061223757607f821691505b60208210810361225557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611b5160c0840182611cd9565b5f602082840312156122b0575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561164a5761164a6122b7565b81516001600160a01b031681526102408101602083015161230a60208401826001600160a01b03169052565b50604083015161232560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161238b828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611fc1565b80516001600160a01b03168252602081015161241b60208401826001600160a01b03169052565b50604081015161243660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516124a8828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261182d565b5f6102c061251f83886123f4565b6001600160a01b038616610260840152610280830181905261254381840186611cd9565b915050826102a083015295945050505050565b5f60208284031215612566575f80fd5b81516104bf81611d16565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526125a58184018e611cd9565b90506125b4602084018d6123f4565b6001600160a01b038b81166102808501528382036102a08501526125d8828c611cd9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612624575f80fd5b815160ff811681146104bf575f80fd5b60ff828116828216039081111561164a5761164a6122b7565b600181815b8085111561268757815f190482111561266d5761266d6122b7565b8085161561267a57918102915b93841c9390800290612652565b509250929050565b5f8261269d5750600161164a565b816126a957505f61164a565b81600181146126bf57600281146126c9576126e5565b600191505061164a565b60ff8411156126da576126da6122b7565b50506001821b61164a565b5060208310610133831016604e8410600b8410161715612708575081810a61164a565b612712838361264d565b805f1904821115612725576127256122b7565b029392505050565b5f61164760ff84168361268f565b5f8261275557634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561276a575f80fd5b81516104bf81611dd9565b5f8251612786818460208701611cb7565b919091019291505056fe41617665487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220d16610b0b5f25fff945da68c69ab3d4887ae2d8fa0c55d5d4e1719982413fbe464736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,address,uint256)": "ce34a8c3", - "convertToShares(address,address,uint256)": "0550e6e4", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts deleted file mode 100644 index 60beb5b9e..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts +++ /dev/null @@ -1,563 +0,0 @@ -export declare const AaveL2Base: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AaveL2Base.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts.map deleted file mode 100644 index 3c0cd42f5..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Base.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Base.d.ts","sourceRoot":"","sources":["../src/AaveL2Base.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmrBH,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Base.js b/packages/hyperdrive-artifacts/dist/AaveL2Base.js deleted file mode 100644 index 50ec62920..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Base.js +++ /dev/null @@ -1,694 +0,0 @@ -export const AaveL2Base = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts deleted file mode 100644 index c0012f6a5..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const AaveL2Conversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AaveL2Conversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts.map deleted file mode 100644 index 6dfd7ef4d..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Conversions.d.ts","sourceRoot":"","sources":["../src/AaveL2Conversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;cAEoQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.js b/packages/hyperdrive-artifacts/dist/AaveL2Conversions.js deleted file mode 100644 index 32af6eb07..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Conversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const AaveL2Conversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202797358b24bf2769066e16a169e734f1211e09f937e55343f9d72fa8d30a90dc64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts deleted file mode 100644 index 5f534b427..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts +++ /dev/null @@ -1,1350 +0,0 @@ -export declare const AaveL2Hyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=AaveL2Hyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts.map deleted file mode 100644 index 41c39b404..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Hyperdrive.d.ts","sourceRoot":"","sources":["../src/AaveL2Hyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuoD+pb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bxsb,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.js b/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.js deleted file mode 100644 index 986b407e6..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Hyperdrive.js +++ /dev/null @@ -1,1703 +0,0 @@ -export const AaveL2Hyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b5060405162001b5438038062001b54833981016040819052620000349162000723565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620008cd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260a05160408051633a9ae92360e11b81529051919092169450637535d2469350600480830193506020928290030181865afa15801562000166573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018c919062000999565b6001600160a01b03908116610320819052608051620001af9216906001620001bd565b5050505050505050620009f5565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021790859083906200028816565b6200028257604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620002769186916200033216565b62000282848262000332565b50505050565b5f805f846001600160a01b031684604051620002a59190620009b7565b5f604051808303815f865af19150503d805f8114620002e0576040519150601f19603f3d011682016040523d82523d5f602084013e620002e5565b606091505b50915091508180156200031357508051158062000313575080806020019051810190620003139190620009d4565b80156200032957505f856001600160a01b03163b115b95945050505050565b5f620003486001600160a01b03841683620003a3565b905080515f141580156200036f5750808060200190518101906200036d9190620009d4565b155b156200039e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620003b283835f620003b9565b9392505050565b606081471015620003e05760405163cd78605960e01b815230600482015260240162000395565b5f80856001600160a01b03168486604051620003fd9190620009b7565b5f6040518083038185875af1925050503d805f811462000439576040519150601f19603f3d011682016040523d82523d5f602084013e6200043e565b606091505b509092509050620004518683836200045b565b9695505050505050565b60608262000474576200046e82620004bf565b620003b2565b81511580156200048c57506001600160a01b0384163b155b15620004b757604051639996b31560e01b81526001600160a01b038516600482015260240162000395565b5080620003b2565b805115620004d05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620005265762000526620004ec565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005575762000557620004ec565b604052919050565b5f5b838110156200057b57818101518382015260200162000561565b50505f910152565b6001600160a01b0381168114620004e9575f80fd5b8051620005a58162000583565b919050565b5f60808284031215620005bb575f80fd5b604051608081016001600160401b0381118282101715620005e057620005e0620004ec565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000623575f80fd5b6200062d62000500565b90506200063a8262000598565b81526200064a6020830162000598565b60208201526200065d6040830162000598565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620006c881840162000598565b90820152610180620006dc83820162000598565b908201526101a0620006f083820162000598565b908201526101c06200070483820162000598565b908201526101e06200071984848301620005aa565b9082015292915050565b5f805f805f805f80610340898b0312156200073c575f80fd5b88516001600160401b038082111562000753575f80fd5b818b0191508b601f83011262000767575f80fd5b8151818111156200077c576200077c620004ec565b62000791601f8201601f19166020016200052c565b91508082528c6020828501011115620007a8575f80fd5b620007bb8160208401602086016200055f565b509850620007cf90508a60208b0162000611565b9650620007e06102808a0162000598565b9550620007f16102a08a0162000598565b9450620008026102c08a0162000598565b9350620008136102e08a0162000598565b9250620008246103008a0162000598565b9150620008356103208a0162000598565b90509295985092959890939650565b600181811c908216806200085957607f821691505b6020821081036200087857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200039e57805f5260205f20601f840160051c81016020851015620008a55750805b601f840160051c820191505b81811015620008c6575f8155600101620008b1565b5050505050565b81516001600160401b03811115620008e957620008e9620004ec565b6200090181620008fa845462000844565b846200087e565b602080601f83116001811462000937575f84156200091f5750858301515b5f19600386901b1c1916600185901b17855562000991565b5f85815260208120601f198616915b82811015620009675788860151825594840194600190910190840162000946565b50858210156200098557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620009aa575f80fd5b8151620003b28162000583565b5f8251620009ca8184602087016200055f565b9190910192915050565b5f60208284031215620009e5575f80fd5b81518015158114620003b2575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000b135f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212203418deaffbc3eb9adfb17ca2314538b7df71c29ca94768dc67f74f6de494384764736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts deleted file mode 100644 index 1bc769f00..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const AaveL2HyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=AaveL2HyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 84c8a07fd..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2HyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/AaveL2HyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K+2hB,KAAK,MAAM,EAAE;;;;CAIp6hB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.js deleted file mode 100644 index 2d05acb81..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const AaveL2HyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506121a58061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611b54806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61034060405234801562000011575f80fd5b5060405162001b5438038062001b54833981016040819052620000349162000723565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620008cd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260a05160408051633a9ae92360e11b81529051919092169450637535d2469350600480830193506020928290030181865afa15801562000166573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018c919062000999565b6001600160a01b03908116610320819052608051620001af9216906001620001bd565b5050505050505050620009f5565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021790859083906200028816565b6200028257604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620002769186916200033216565b62000282848262000332565b50505050565b5f805f846001600160a01b031684604051620002a59190620009b7565b5f604051808303815f865af19150503d805f8114620002e0576040519150601f19603f3d011682016040523d82523d5f602084013e620002e5565b606091505b50915091508180156200031357508051158062000313575080806020019051810190620003139190620009d4565b80156200032957505f856001600160a01b03163b115b95945050505050565b5f620003486001600160a01b03841683620003a3565b905080515f141580156200036f5750808060200190518101906200036d9190620009d4565b155b156200039e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620003b283835f620003b9565b9392505050565b606081471015620003e05760405163cd78605960e01b815230600482015260240162000395565b5f80856001600160a01b03168486604051620003fd9190620009b7565b5f6040518083038185875af1925050503d805f811462000439576040519150601f19603f3d011682016040523d82523d5f602084013e6200043e565b606091505b509092509050620004518683836200045b565b9695505050505050565b60608262000474576200046e82620004bf565b620003b2565b81511580156200048c57506001600160a01b0384163b155b15620004b757604051639996b31560e01b81526001600160a01b038516600482015260240162000395565b5080620003b2565b805115620004d05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620005265762000526620004ec565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005575762000557620004ec565b604052919050565b5f5b838110156200057b57818101518382015260200162000561565b50505f910152565b6001600160a01b0381168114620004e9575f80fd5b8051620005a58162000583565b919050565b5f60808284031215620005bb575f80fd5b604051608081016001600160401b0381118282101715620005e057620005e0620004ec565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000623575f80fd5b6200062d62000500565b90506200063a8262000598565b81526200064a6020830162000598565b60208201526200065d6040830162000598565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620006c881840162000598565b90820152610180620006dc83820162000598565b908201526101a0620006f083820162000598565b908201526101c06200070483820162000598565b908201526101e06200071984848301620005aa565b9082015292915050565b5f805f805f805f80610340898b0312156200073c575f80fd5b88516001600160401b038082111562000753575f80fd5b818b0191508b601f83011262000767575f80fd5b8151818111156200077c576200077c620004ec565b62000791601f8201601f19166020016200052c565b91508082528c6020828501011115620007a8575f80fd5b620007bb8160208401602086016200055f565b509850620007cf90508a60208b0162000611565b9650620007e06102808a0162000598565b9550620007f16102a08a0162000598565b9450620008026102c08a0162000598565b9350620008136102e08a0162000598565b9250620008246103008a0162000598565b9150620008356103208a0162000598565b90509295985092959890939650565b600181811c908216806200085957607f821691505b6020821081036200087857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200039e57805f5260205f20601f840160051c81016020851015620008a55750805b601f840160051c820191505b81811015620008c6575f8155600101620008b1565b5050505050565b81516001600160401b03811115620008e957620008e9620004ec565b6200090181620008fa845462000844565b846200087e565b602080601f83116001811462000937575f84156200091f5750858301515b5f19600386901b1c1916600185901b17855562000991565b5f85815260208120601f198616915b82811015620009675788860151825594840194600190910190840162000946565b50858210156200098557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620009aa575f80fd5b8151620003b28162000583565b5f8251620009ca8184602087016200055f565b9190910192915050565b5f60208284031215620009e5575f80fd5b81518015158114620003b2575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000b135f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212203418deaffbc3eb9adfb17ca2314538b7df71c29ca94768dc67f74f6de494384764736f6c63430008160033a2646970667358221220ebd0aa819e4ae14b08b9217df9dd7192c4fbc00e19e9a60dd6cd6bc021da1c4964736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index e3d321733..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,636 +0,0 @@ -export declare const AaveL2HyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,uint256)": "ce34a8c3"; - readonly "convertToShares(address,address,uint256)": "0550e6e4"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AaveL2HyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index e133c656a..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2HyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/AaveL2HyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuxB0+rB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBtisB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.js deleted file mode 100644 index 9631f928b..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2HyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,812 +0,0 @@ -export const AaveL2HyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IL2Pool" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IL2Pool" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b5060405162002c0338038062002c038339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516127e96200041a5f395f81816102b80152610d6b01525f81816103360152610c3801525f818161039c0152610b0501525f818161030301526109d201525f818161036901526107c901525f818161042101526110c601525f81816103ee0152818161055d015281816106f2015281816107f901528181610a0201528181610b3501528181610c6801528181610d9b01528181610e9a01526110f701526127e95ff3fe6080604052600436106100fa575f3560e01c8063aa8cd6c411610092578063c45a015511610062578063c45a0155146103dd578063c83e1f5114610410578063ce34a8c314610443578063e990eba814610462578063e99be39614610481575f80fd5b8063aa8cd6c414610325578063ab71905f14610358578063b6cb11181461038b578063c1510618146103be575f80fd5b806337404017116100cd578063374040171461017c57806354fd4d5014610278578063966ecd1c146102a7578063a085fa30146102f2575f80fd5b806304baa00b146100fe5780630550e6e41461012857806306fdde031461015557806316abfc7014610169575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611d04565b60405180910390f35b348015610133575f80fd5b50610147610142366004611d3a565b6104b0565b60405190815260200161011f565b348015610160575f80fd5b506101126104c6565b610147610177366004611e77565b610551565b348015610187575f80fd5b5061026b610196366004611f35565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611f4c565b348015610283575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102b2575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102fd575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610330575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610363575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610396575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c9575f80fd5b506102da6103d8366004612120565b6106e6565b3480156103e8575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b5061014761045d366004611d3a565b610e82565b34801561046d575f80fd5b506102da61047c366004612189565b610e8e565b34801561048c575f80fd5b506005610147565b6040518060600160405280602381526020016127916023913981565b5f6104bc848484611201565b90505b9392505050565b5f80546104d290612223565b80601f01602080910402602001604051908101604052809291908181526020018280546104fe90612223565b80156105495780601f1061052057610100808354040283529160200191610549565b820191905f5260205f20905b81548152906001019060200180831161052c57829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461059b57604051634084351160e01b815260040160405180910390fd5b6105a3611224565b5f868152600160205260409020600301546001600160a01b0316806105db5760405163952b05cb60e01b815260040160405180910390fd5b5f6105e882888887611245565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161061b9392919061225b565b60206040518083038185885af1158015610637573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061065c91906122a0565b92505f61066982346122cb565b905080156106d9576040515f90339083908381818185875af1925050503d805f81146106b0576040519150601f19603f3d011682016040523d82523d5f602084013e6106b5565b606091505b50509050806106d7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073057604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e05780541561076557604051633be1b34d60e11b815260040160405180910390fd5b61076f86866113c0565b5f61077a87876115cd565b90505f8760405160200161078e91906122de565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107bb8a611650565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610835929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161086a9493929190612511565b6020604051808303815f875af1158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa9190612556565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106dd565b5f878152600160205260409020548061090c5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161091e91906122de565b60405160208183030381529060405280519060200120146109525760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461097c57604051631a3272d160e31b815260040160405180910390fd5b61098687876113c0565b5f61099088611650565b6002840154608082015290506001869003610ad05760058301546001600160a01b0316156109d05760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a3793929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a6c9493929190612511565b6020604051808303815f875af1158015610a88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac9190612556565b6005840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600203610c035760068301546001600160a01b031615610b035760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b6a93929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b9f9493929190612511565b6020604051808303815f875af1158015610bbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdf9190612556565b6006840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600303610d365760078301546001600160a01b031615610c365760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c9d93929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cd29493929190612511565b6020604051808303815f875af1158015610cee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d129190612556565b6007840180546001600160a01b0319166001600160a01b03831617905593506106d9565b85600403610e695760088301546001600160a01b031615610d695760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd093929190612571565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e059493929190612511565b6020604051808303815f875af1158015610e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e459190612556565b6008840180546001600160a01b0319166001600160a01b03831617905593506106d9565b604051631d9f815960e11b815260040160405180910390fd5b5f6104bc84848461171e565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed857604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f8057604051632c95caeb60e01b815260040160405180910390fd5b8051610f9f5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc4575060a08101516001600160a01b0316155b80610fda575060c08101516001600160a01b0316155b80610ff0575060e08101516001600160a01b0316155b8061100757506101008101516001600160a01b0316155b156110255760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110389087906020016122de565b604051602081830303815290604052805190602001201461106c5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109757604051631a3272d160e31b815260040160405180910390fd5b6110a185856113c0565b5f6110ab86611650565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114d929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111889a99989796959493929190612592565b6020604051808303815f875af11580156111a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c89190612556565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f6104bc6b033b2e3c9fd0803ce800000061121c8686611740565b8491906117ab565b341561124357604051631574f9f360e01b815260040160405180910390fd5b565b5f805f866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611284573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a89190612556565b90508360200151156112bc5780915061138b565b866001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131c9190612556565b915061138881836001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa15801561135e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113829190612556565b87610e82565b94505b6113a06001600160a01b0383168730886117c6565b6113b46001600160a01b0383168887611833565b505f9695505050505050565b6113ca82826118c2565b60208201516001600160a01b03166113f55760405163073f739d60e51b815260040160405180910390fd5b81602001516001600160a01b031663b16a19de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611435573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114599190612556565b6001600160a01b0316825f01516001600160a01b03161461148d57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f29190612614565b6114fc9190612634565b61150790600a61272d565b8260800151101561152b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115909190612614565b61159a9190612634565b6115a590600a61272d565b8260a0015110156115c9576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611647835f015184602001516001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611615573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116399190612556565b670de0b6b3a7640000610e82565b90505b92915050565b611658611be3565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f6104bc61172c8585611740565b83906b033b2e3c9fd0803ce80000006117ab565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015611787573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061164791906122a0565b5f825f1904841183021582026117bf575f80fd5b5091020490565b6040516001600160a01b03848116602483015283811660448301526064820183905261182d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506119d6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526118848482611a41565b61182d576040516001600160a01b0384811660248301525f60448301526118b891869182169063095ea7b3906064016117fb565b61182d84826119d6565b6103e8826080015110156118e9576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361190e57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061193857508161010001518260e00151611935919061273b565b15155b156119565760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806119825750670de0b6b3a7640000826101c0015160200151115b8061199d5750670de0b6b3a7640000826101c0015160400151115b806119b85750670de0b6b3a7640000826101c0015160600151115b156115c9576040516322f72cc360e11b815260040160405180910390fd5b5f6119ea6001600160a01b03841683611ade565b905080515f14158015611a0e575080806020019051810190611a0c919061275a565b155b15611a3c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051611a5c9190612775565b5f604051808303815f865af19150503d805f8114611a95576040519150601f19603f3d011682016040523d82523d5f602084013e611a9a565b606091505b5091509150818015611ac4575080511580611ac4575080806020019051810190611ac4919061275a565b80156106dd5750505050506001600160a01b03163b151590565b606061164783835f845f80856001600160a01b03168486604051611b029190612775565b5f6040518083038185875af1925050503d805f8114611b3c576040519150601f19603f3d011682016040523d82523d5f602084013e611b41565b606091505b5091509150611b51868383611b5b565b9695505050505050565b606082611b7057611b6b82611bb7565b6104bf565b8151158015611b8757506001600160a01b0384163b155b15611bb057604051639996b31560e01b81526001600160a01b0385166004820152602401611a33565b50806104bf565b805115611bc75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611cb260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611cd1578181015183820152602001611cb9565b50505f910152565b5f8151808452611cf0816020860160208601611cb7565b601f01601f19169290920160200192915050565b602081525f6116476020830184611cd9565b6001600160a01b0381168114611be0575f80fd5b8035611d3581611d16565b919050565b5f805f60608486031215611d4c575f80fd5b8335611d5781611d16565b92506020840135611d6781611d16565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611daf57611daf611d78565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611daf57611daf611d78565b8015158114611be0575f80fd5b5f67ffffffffffffffff80841115611e0057611e00611d78565b604051601f8501601f19908116603f01168101908282118183101715611e2857611e28611d78565b81604052809350858152868686011115611e40575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611e68575f80fd5b61164783833560208501611de6565b5f805f805f60a08688031215611e8b575f80fd5b853594506020860135611e9d81611d16565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ec7575f80fd5b908701906060828a031215611eda575f80fd5b611ee2611d8c565b8235611eed81611d16565b81526020830135611efd81611dd9565b6020820152604083013582811115611f13575f80fd5b611f1f8b828601611e59565b6040830152508093505050509295509295909350565b5f60208284031215611f45575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611fd9575f80fd5b6040516080810181811067ffffffffffffffff82111715611ffc57611ffc611d78565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610240828403121561203e575f80fd5b612046611db5565b905061205182611d2a565b815261205f60208301611d2a565b602082015261207060408301611d2a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101406120cd818401611d2a565b908201526101606120df838201611d2a565b908201526101806120f1838201611d2a565b908201526101a0612103838201611d2a565b908201526101c061211684848301611fc9565b9082015292915050565b5f805f805f6102c08688031215612135575f80fd5b85359450612146876020880161202d565b935061026086013567ffffffffffffffff811115612162575f80fd5b61216e88828901611e59565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c0868803121561219e575f80fd5b85359450602086013567ffffffffffffffff808211156121bc575f80fd5b818801915088601f8301126121cf575f80fd5b6121de89833560208501611de6565b95506121ed8960408a0161202d565b9450610280880135915080821115612203575f80fd5b5061221088828901611e59565b959894975092956102a001359392505050565b600181811c9082168061223757607f821691505b60208210810361225557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611b5160c0840182611cd9565b5f602082840312156122b0575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561164a5761164a6122b7565b81516001600160a01b031681526102408101602083015161230a60208401826001600160a01b03169052565b50604083015161232560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161238b828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611fc1565b80516001600160a01b03168252602081015161241b60208401826001600160a01b03169052565b50604081015161243660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516124a8828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261182d565b5f6102c061251f83886123f4565b6001600160a01b038616610260840152610280830181905261254381840186611cd9565b915050826102a083015295945050505050565b5f60208284031215612566575f80fd5b81516104bf81611d16565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526125a58184018e611cd9565b90506125b4602084018d6123f4565b6001600160a01b038b81166102808501528382036102a08501526125d8828c611cd9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612624575f80fd5b815160ff811681146104bf575f80fd5b60ff828116828216039081111561164a5761164a6122b7565b600181815b8085111561268757815f190482111561266d5761266d6122b7565b8085161561267a57918102915b93841c9390800290612652565b509250929050565b5f8261269d5750600161164a565b816126a957505f61164a565b81600181146126bf57600281146126c9576126e5565b600191505061164a565b60ff8411156126da576126da6122b7565b50506001821b61164a565b5060208310610133831016604e8410600b8410161715612708575081810a61164a565b612712838361264d565b805f1904821115612725576127256122b7565b029392505050565b5f61164760ff84168361268f565b5f8261275557634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561276a575f80fd5b81516104bf81611dd9565b5f8251612786818460208701611cb7565b919091019291505056fe416176654c32487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220221533949a87f7cc84d3a71967c7dbfdea08b62f748e6447af89f6e1d36f741d64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,address,uint256)": "ce34a8c3", - "convertToShares(address,address,uint256)": "0550e6e4", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts deleted file mode 100644 index 2a27b1255..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts +++ /dev/null @@ -1,1534 +0,0 @@ -export declare const AaveL2Target0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AaveL2Target0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts.map deleted file mode 100644 index 1c4976bb7..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target0.d.ts","sourceRoot":"","sources":["../src/AaveL2Target0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy2D4pmC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ClsmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0.js b/packages/hyperdrive-artifacts/dist/AaveL2Target0.js deleted file mode 100644 index 5915e0f3d..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0.js +++ /dev/null @@ -1,1940 +0,0 @@ -export const AaveL2Target0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IL2Pool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620046513803806200465183398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613db66200089b5f395f81816115080152818161260d0152818161265901528181612aa00152612d1c01525f8181610d6c015261237401525f8181610d3d015261233701525f8181610c1901528181610e9c01528181610f2a01528181610fb8015281816110460152818161168e01528181611724015281816118e601528181611efe01528181611fd2015261212301525f610e0401525f8181610dde015261251901525f8181610db801526124f301525f8181610d9201526124cd01525f61115101525f61112b01525f61110501525f6110df01525f8181610e76015261253f01525f8181610e2a015281816112dc01526128fe01525f8181610e500152612c5d01525f818161061b01528181610d0e01528181611e730152612bb301525f818161074501528181610cdf01528181611279015281816125ec0152818161263801528181612a5a0152612b3b0152613db65ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063becee9c3116100b4578063d816574311610079578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535578063fbfa77cf14610564575f80fd5b8063becee9c3146104a4578063c55dae63146104c4578063c69e16ad146104cc578063c6e6f592146104d4578063cf210e65146104e7575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063ab033ea914610458578063b0d9658014610469578063b88fed9f1461047e578063bd85b03914610491575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612fbd565b61056c565b6040516102579190613021565b60405180910390f35b61027361026e366004613047565b6105a3565b005b61027361028336600461306f565b6105ac565b61024a6105b5565b61024a6105f6565b6102a061060d565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613098565b61064c565b6102736102d9366004613169565b610668565b6102736102ec3660046131f8565b61067e565b6103046102ff366004612fbd565b610691565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461323d565b6106fa565b604051908152602001610257565b61035f61073f565b60405160ff9091168152602001610257565b61034961037f36600461327c565b6107d7565b61034961080f565b61034961039a3660046132aa565b61082d565b6103b26103ad366004613047565b610837565b6040519015158152602001610257565b61024a6103d0366004612fbd565b610856565b6102736103e33660046132e1565b610864565b61024a6108b2565b6103f86108e7565b6040516102579190613328565b6102736104133660046133c9565b5050565b610349610425366004613047565b610be0565b6102a0610c0b565b6102736104403660046133f5565b610c4a565b6102736104533660046133c9565b610c5b565b610273610466366004613047565b50565b610471610cc6565b604051610257919061342a565b61034961048c366004612fbd565b611186565b61034961049f366004612fbd565b611193565b6104b76104b2366004613550565b6111b4565b604051610257919061358f565b6102a061126b565b6103496112aa565b6103496104e2366004612fbd565b6112c3565b6103496104f5366004612fbd565b6112d0565b610502611306565b60405161025791906135d2565b61027361051d3660046136e3565b611411565b6103b261053036600461373e565b611459565b61053d61149c565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6102a06114fa565b606061059e61057a83611539565b60405160200161058a9190613021565b60405160208183030381529060405261165f565b919050565b61046681611683565b610466816118e4565b60606105f36040518060400160405280601081526020016f416176654c324879706572647269766560801b81525060405160200161058a9190613021565b90565b60606105f3600160405160200161058a919061376a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b61065d8989898989898989896119fc565b505050505050505050565b610676868686868686611bee565b505050505050565b61068b8484848433611ca1565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610738910161058a565b9392505050565b5f6105f37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c39190613817565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610809910161058a565b92915050565b5f6105f361081b611e5c565b60405160200161058a91815260200190565b5f61080982611ee9565b5f61059e6108448361211f565b6040805191151560208301520161058a565b606061059e61057a836121fd565b8361086e816122f9565b6001600160a01b0316336001600160a01b03161461089f57604051632aab8bd360e01b815260040160405180910390fd5b6108ab858585856123b6565b5050505050565b60606105f360405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190613021565b610951604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095a612422565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c4919061385a565b6109ce919061386d565b90505f8215610add5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109fa85612434565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acd9190613880565b509050610ada81846125be565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bad57610ba884866125d2565b610baf565b5f5b81526003546001600160801b0316602091820152604051919250610bd99161058a91849101613328565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b610c56838383336123b6565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cce612ee9565b6105f36040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ef6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1a91906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa891906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611012573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103691906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c491906138ae565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061342a565b5f61059e61081b836125e6565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111d0576111d06138c9565b6040519080825280602002602001820160405280156111f9578160200160208202803683370190505b5090505f5b8381101561124f575f858583818110611219576112196138dd565b9050602002013590505f815490508084848151811061123a5761123a6138dd565b602090810291909101015250506001016111fe565b506112648160405160200161058a919061358f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b5f6105f360095460405160200161058a91815260200190565b5f61059e61081b83612632565b5f61059e61081b6113017f00000000000000000000000000000000000000000000000000000000000000008561385a565b61267e565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f3600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461141b816122f9565b6001600160a01b0316336001600160a01b03161461144c57604051632aab8bd360e01b815260040160405180910390fd5b6106768686868686611ca1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610809910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f39060600161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b606060f882901c6001600160f81b0383165f611554826126be565b90505f83600381111561156957611569613832565b0361159b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611657565b60018360038111156115af576115af613832565b036115db57806040516020016115c591906138f1565b6040516020818303038152906040529350611657565b60028360038111156115ef576115ef613832565b0361160557806040516020016115c59190613929565b600383600381111561161957611619613832565b03611657576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167a9190613021565b60405180910390fd5b61168b612770565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170c91906138ae565b9050336001600160a01b038216148015906117b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a291906138ae565b6001600160a01b0316336001600160a01b031614155b80156117ca57506117c83361211f565b155b156117e7576040516282b42960e81b815260040160405180910390fd5b5f6117f0611e5c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613962565b90506118716001600160a01b0385168483612798565b8161187a611e5c565b14611898576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046660015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611940573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196491906138ae565b6001600160a01b0316336001600160a01b03161415801561198b57506119893361211f565b155b156119a8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f190831515815260200190565b60405180910390a150565b83421115611a1d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a445760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0b57506001600160a01b038516155b15611c295760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c495760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9857611c90858583818110611c6857611c686138dd565b905060200201358888868686818110611c8357611c836138dd565b9050602002013533611ca1565b600101611c4b565b50505050505050565b6001600160a01b0384161580611cbe57506001600160a01b038316155b15611cdc5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9490849061386d565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcd90849061386d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0390849061385a565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ec0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee49190613962565b905090565b5f611ef2612770565b611efb826127ea565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906138ae565b90506001600160a01b038116611f956020850185613047565b6001600160a01b031614611fbc57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205091906138ae565b6001600160a01b0316336001600160a01b031614155b801561207857506120763361211f565b155b15612095576040516282b42960e81b815260040160405180910390fd5b5f61209e612422565b600980545f9091559091506120b481838761281f565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f360408a0160208b0161306f565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561217c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a391908101906139d4565b90505f5b81518110156121f457836001600160a01b03168282815181106121cc576121cc6138dd565b60200260200101516001600160a01b0316036121ec575060019392505050565b6001016121a7565b505f9392505050565b606060f882901c6001600160f81b0383165f612218826126be565b90505f83600381111561222d5761222d613832565b0361225f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611657565b600183600381111561227357612273613832565b0361228957806040516020016115c59190613a81565b600283600381111561229d5761229d613832565b036122b357806040516020016115c59190613ab8565b60038360038111156122c7576122c7613832565b0361165757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee4670de0b6b3a76400006125e6565b61248c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258491166128b5565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125b6929004166128b5565b905292915050565b5f6107388383670de0b6b3a7640000612929565b5f61073883670de0b6b3a764000084612929565b5f6108097f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612944565b5f6108097f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461296e565b5f6126a3600b5f612690600286612991565b81526020019081526020015f20546129c5565b6126b4600b5f612690600187612991565b6108099190613ae3565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612762576126f7600a86613b16565b61270290603061385a565b60f81b826001612712848761386d565b61271c919061386d565b8151811061272c5761272c6138dd565b60200101906001600160f81b03191690815f1a9053508061274c81613b29565b915061275b9050600a86613b41565b94506126e6565b918290030190815292915050565b60025f540361279257604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c569084906129f2565b5f6127f86020830183613047565b6001600160a01b0316036104665760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061282b85856125be565b905061283681612632565b9450845f03612848575f915050610738565b84915061285b604084016020850161306f565b1561288a57612883856128716020860186613047565b61287e6040870187613b54565b612a53565b91506128ad565b6128ad8561289b6020860186613047565b6128a86040870187613b54565b612bb1565b509392505050565b5f80670de0b6b3a76400006128c8612c56565b6128d29190613b97565b90508083116128e1575f6128eb565b6128eb818461386d565b9150610738612922670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b97565b83906125d2565b5f825f19048411830215820261293d575f80fd5b5091020490565b5f6129666129528585612c81565b83906b033b2e3c9fd0803ce8000000612929565b949350505050565b5f6129666b033b2e3c9fd0803ce80000006129898686612c81565b849190612929565b5f6001600160f81b038211156129ba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129ee5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612a066001600160a01b03841683612cec565b905080515f14158015612a2a575080806020019051810190612a289190613bae565b155b15610c5657604051635274afe760e01b81526001600160a01b038416600482015260240161167a565b5f80612a877f0000000000000000000000000000000000000000000000000000000000000000612a82886125e6565b612cf9565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b129190613962565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612b83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ba79190613bae565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb84612bea876125e6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612c32573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190613bae565b5f611ee4427f0000000000000000000000000000000000000000000000000000000000000000612db6565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612cc8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107389190613962565b606061073883835f612dcb565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612d62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d869190613c44565b60e08101519091505f5f198514612d9d5784612da6565b6001600160801b035b60101b9190910195945050505050565b5f612dc18284613b16565b610738908461386d565b606081471015612df05760405163cd78605960e01b815230600482015260240161167a565b5f80856001600160a01b03168486604051612e0b9190613d65565b5f6040518083038185875af1925050503d805f8114612e45576040519150601f19603f3d011682016040523d82523d5f602084013e612e4a565b606091505b5091509150612e5a868383612e64565b9695505050505050565b606082612e7957612e7482612ec0565b610738565b8151158015612e9057506001600160a01b0384163b155b15612eb957604051639996b31560e01b81526001600160a01b038516600482015260240161167a565b5080610738565b805115612ed05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612fb860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612fcd575f80fd5b5035919050565b5f5b83811015612fee578181015183820152602001612fd6565b50505f910152565b5f815180845261300d816020860160208601612fd4565b601f01601f19169290920160200192915050565b602081525f6107386020830184612ff6565b6001600160a01b0381168114610466575f80fd5b5f60208284031215613057575f80fd5b813561073881613033565b8015158114610466575f80fd5b5f6020828403121561307f575f80fd5b813561073881613062565b60ff81168114610466575f80fd5b5f805f805f805f805f6101208a8c0312156130b1575f80fd5b8935985060208a0135975060408a01356130ca81613033565b965060608a01356130da81613033565b955060808a01356130ea81613062565b945060a08a0135935060c08a01356131018161308a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613131575f80fd5b50813567ffffffffffffffff811115613148575f80fd5b6020830191508360208260051b8501011115613162575f80fd5b9250929050565b5f805f805f806080878903121561317e575f80fd5b863561318981613033565b9550602087013561319981613033565b9450604087013567ffffffffffffffff808211156131b5575f80fd5b6131c18a838b01613121565b909650945060608901359150808211156131d9575f80fd5b506131e689828a01613121565b979a9699509497509295939492505050565b5f805f806080858703121561320b575f80fd5b84359350602085013561321d81613033565b9250604085013561322d81613033565b9396929550929360600135925050565b5f805f6060848603121561324f575f80fd5b83359250602084013561326181613033565b9150604084013561327181613033565b809150509250925092565b5f806040838503121561328d575f80fd5b82359150602083013561329f81613033565b809150509250929050565b5f602082840312156132ba575f80fd5b813567ffffffffffffffff8111156132d0575f80fd5b820160608185031215610738575f80fd5b5f805f80608085870312156132f4575f80fd5b84359350602085013561330681613033565b925060408501359150606085013561331d81613033565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156133da575f80fd5b82356133e581613033565b9150602083013561329f81613062565b5f805f60608486031215613407575f80fd5b83359250602084013561341981613033565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161345660208401826001600160a01b03169052565b50604083015161347160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516134e3828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613561575f80fd5b823567ffffffffffffffff811115613577575f80fd5b61358385828601613121565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156135c6578351835292840192918401916001016135aa565b50909695505050505050565b81516001600160801b03168152610180810160208301516135fe60208401826001600160801b03169052565b50604083015161361960408401826001600160801b03169052565b50606083015161363460608401826001600160801b03169052565b5060808301516136496080840182600f0b9052565b5060a083015161366460a08401826001600160801b03169052565b5060c083015161367f60c08401826001600160801b03169052565b5060e083015161369a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613548565b5f805f805f60a086880312156136f7575f80fd5b85359450602086013561370981613033565b9350604086013561371981613033565b925060608601359150608086013561373081613033565b809150509295509295909350565b5f806040838503121561374f575f80fd5b823561375a81613033565b9150602083013561329f81613033565b5f60208083525f84545f60018260011c9150600183168061378c57607f831692505b6020831081036137aa57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156137c957600181146137df57613808565b60ff198616825284151560051b82019650613808565b5f8b8152602090205f5b86811015613802578154848201529085019089016137e9565b83019750505b50949998505050505050505050565b5f60208284031215613827575f80fd5b81516107388161308a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080957610809613846565b8181038181111561080957610809613846565b5f8060408385031215613891575f80fd5b82519150602083015161329f81613062565b805161059e81613033565b5f602082840312156138be575f80fd5b815161073881613033565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f825161391c816011850160208701612fd4565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613955816012850160208701612fd4565b9190910160120192915050565b5f60208284031215613972575f80fd5b5051919050565b6040516101e0810167ffffffffffffffff8111828210171561399d5761399d6138c9565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156139cc576139cc6138c9565b604052919050565b5f60208083850312156139e5575f80fd5b825167ffffffffffffffff808211156139fc575f80fd5b818501915085601f830112613a0f575f80fd5b815181811115613a2157613a216138c9565b8060051b9150613a328483016139a3565b8181529183018401918481019088841115613a4b575f80fd5b938501935b83851015613a755784519250613a6583613033565b8282529385019390850190613a50565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613aab816010850160208701612fd4565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161391c816011850160208701612fd4565b8181035f83128015838313168383128216171561126457611264613846565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2457613b24613b02565b500690565b5f60018201613b3a57613b3a613846565b5060010190565b5f82613b4f57613b4f613b02565b500490565b5f808335601e19843603018112613b69575f80fd5b83018035915067ffffffffffffffff821115613b83575f80fd5b602001915036819003821315613162575f80fd5b808202811582820484141761080957610809613846565b5f60208284031215613bbe575f80fd5b815161073881613062565b5f60208284031215613bd9575f80fd5b6040516020810181811067ffffffffffffffff82111715613bfc57613bfc6138c9565b6040529151825250919050565b80516001600160801b038116811461059e575f80fd5b805164ffffffffff8116811461059e575f80fd5b805161ffff8116811461059e575f80fd5b5f6101e08284031215613c55575f80fd5b613c5d613979565b613c678484613bc9565b8152613c7560208401613c09565b6020820152613c8660408401613c09565b6040820152613c9760608401613c09565b6060820152613ca860808401613c09565b6080820152613cb960a08401613c09565b60a0820152613cca60c08401613c1f565b60c0820152613cdb60e08401613c33565b60e0820152610100613cee8185016138a3565b90820152610120613d008482016138a3565b90820152610140613d128482016138a3565b90820152610160613d248482016138a3565b90820152610180613d36848201613c09565b908201526101a0613d48848201613c09565b908201526101c0613d5a848201613c09565b908201529392505050565b5f8251613d76818460208701612fd4565b919091019291505056fea2646970667358221220fb314eaa35e42ba247109717bfab07ab00f87c656f28a474b0abac2aaa388e2564736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts deleted file mode 100644 index 88c4ddcdf..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveL2Target0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveL2Target0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts.map deleted file mode 100644 index 4ffe2d8bc..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target0Deployer.d.ts","sourceRoot":"","sources":["../src/AaveL2Target0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IgvrC,KAAK,MAAM,EAAE;;;;CAI9xrC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.js b/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.js deleted file mode 100644 index 8b0ca8736..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveL2Target0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614b628061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b61465180620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b50604051620046513803806200465183398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613db66200089b5f395f81816115080152818161260d0152818161265901528181612aa00152612d1c01525f8181610d6c015261237401525f8181610d3d015261233701525f8181610c1901528181610e9c01528181610f2a01528181610fb8015281816110460152818161168e01528181611724015281816118e601528181611efe01528181611fd2015261212301525f610e0401525f8181610dde015261251901525f8181610db801526124f301525f8181610d9201526124cd01525f61115101525f61112b01525f61110501525f6110df01525f8181610e76015261253f01525f8181610e2a015281816112dc01526128fe01525f8181610e500152612c5d01525f818161061b01528181610d0e01528181611e730152612bb301525f818161074501528181610cdf01528181611279015281816125ec0152818161263801528181612a5a0152612b3b0152613db65ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063becee9c3116100b4578063d816574311610079578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535578063fbfa77cf14610564575f80fd5b8063becee9c3146104a4578063c55dae63146104c4578063c69e16ad146104cc578063c6e6f592146104d4578063cf210e65146104e7575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063ab033ea914610458578063b0d9658014610469578063b88fed9f1461047e578063bd85b03914610491575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612fbd565b61056c565b6040516102579190613021565b60405180910390f35b61027361026e366004613047565b6105a3565b005b61027361028336600461306f565b6105ac565b61024a6105b5565b61024a6105f6565b6102a061060d565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613098565b61064c565b6102736102d9366004613169565b610668565b6102736102ec3660046131f8565b61067e565b6103046102ff366004612fbd565b610691565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461323d565b6106fa565b604051908152602001610257565b61035f61073f565b60405160ff9091168152602001610257565b61034961037f36600461327c565b6107d7565b61034961080f565b61034961039a3660046132aa565b61082d565b6103b26103ad366004613047565b610837565b6040519015158152602001610257565b61024a6103d0366004612fbd565b610856565b6102736103e33660046132e1565b610864565b61024a6108b2565b6103f86108e7565b6040516102579190613328565b6102736104133660046133c9565b5050565b610349610425366004613047565b610be0565b6102a0610c0b565b6102736104403660046133f5565b610c4a565b6102736104533660046133c9565b610c5b565b610273610466366004613047565b50565b610471610cc6565b604051610257919061342a565b61034961048c366004612fbd565b611186565b61034961049f366004612fbd565b611193565b6104b76104b2366004613550565b6111b4565b604051610257919061358f565b6102a061126b565b6103496112aa565b6103496104e2366004612fbd565b6112c3565b6103496104f5366004612fbd565b6112d0565b610502611306565b60405161025791906135d2565b61027361051d3660046136e3565b611411565b6103b261053036600461373e565b611459565b61053d61149c565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6102a06114fa565b606061059e61057a83611539565b60405160200161058a9190613021565b60405160208183030381529060405261165f565b919050565b61046681611683565b610466816118e4565b60606105f36040518060400160405280601081526020016f416176654c324879706572647269766560801b81525060405160200161058a9190613021565b90565b60606105f3600160405160200161058a919061376a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b61065d8989898989898989896119fc565b505050505050505050565b610676868686868686611bee565b505050505050565b61068b8484848433611ca1565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610738910161058a565b9392505050565b5f6105f37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c39190613817565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610809910161058a565b92915050565b5f6105f361081b611e5c565b60405160200161058a91815260200190565b5f61080982611ee9565b5f61059e6108448361211f565b6040805191151560208301520161058a565b606061059e61057a836121fd565b8361086e816122f9565b6001600160a01b0316336001600160a01b03161461089f57604051632aab8bd360e01b815260040160405180910390fd5b6108ab858585856123b6565b5050505050565b60606105f360405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190613021565b610951604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095a612422565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c4919061385a565b6109ce919061386d565b90505f8215610add5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109fa85612434565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acd9190613880565b509050610ada81846125be565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bad57610ba884866125d2565b610baf565b5f5b81526003546001600160801b0316602091820152604051919250610bd99161058a91849101613328565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b610c56838383336123b6565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cce612ee9565b6105f36040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ef6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1a91906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa891906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611012573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103691906138ae565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c491906138ae565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061342a565b5f61059e61081b836125e6565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111d0576111d06138c9565b6040519080825280602002602001820160405280156111f9578160200160208202803683370190505b5090505f5b8381101561124f575f858583818110611219576112196138dd565b9050602002013590505f815490508084848151811061123a5761123a6138dd565b602090810291909101015250506001016111fe565b506112648160405160200161058a919061358f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b5f6105f360095460405160200161058a91815260200190565b5f61059e61081b83612632565b5f61059e61081b6113017f00000000000000000000000000000000000000000000000000000000000000008561385a565b61267e565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f3600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461141b816122f9565b6001600160a01b0316336001600160a01b03161461144c57604051632aab8bd360e01b815260040160405180910390fd5b6106768686868686611ca1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610809910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f39060600161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f3910161058a565b606060f882901c6001600160f81b0383165f611554826126be565b90505f83600381111561156957611569613832565b0361159b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611657565b60018360038111156115af576115af613832565b036115db57806040516020016115c591906138f1565b6040516020818303038152906040529350611657565b60028360038111156115ef576115ef613832565b0361160557806040516020016115c59190613929565b600383600381111561161957611619613832565b03611657576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167a9190613021565b60405180910390fd5b61168b612770565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170c91906138ae565b9050336001600160a01b038216148015906117b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a291906138ae565b6001600160a01b0316336001600160a01b031614155b80156117ca57506117c83361211f565b155b156117e7576040516282b42960e81b815260040160405180910390fd5b5f6117f0611e5c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613962565b90506118716001600160a01b0385168483612798565b8161187a611e5c565b14611898576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046660015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611940573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196491906138ae565b6001600160a01b0316336001600160a01b03161415801561198b57506119893361211f565b155b156119a8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f190831515815260200190565b60405180910390a150565b83421115611a1d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a445760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0b57506001600160a01b038516155b15611c295760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c495760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9857611c90858583818110611c6857611c686138dd565b905060200201358888868686818110611c8357611c836138dd565b9050602002013533611ca1565b600101611c4b565b50505050505050565b6001600160a01b0384161580611cbe57506001600160a01b038316155b15611cdc5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9490849061386d565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcd90849061386d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0390849061385a565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ec0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee49190613962565b905090565b5f611ef2612770565b611efb826127ea565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906138ae565b90506001600160a01b038116611f956020850185613047565b6001600160a01b031614611fbc57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205091906138ae565b6001600160a01b0316336001600160a01b031614155b801561207857506120763361211f565b155b15612095576040516282b42960e81b815260040160405180910390fd5b5f61209e612422565b600980545f9091559091506120b481838761281f565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f360408a0160208b0161306f565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561217c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a391908101906139d4565b90505f5b81518110156121f457836001600160a01b03168282815181106121cc576121cc6138dd565b60200260200101516001600160a01b0316036121ec575060019392505050565b6001016121a7565b505f9392505050565b606060f882901c6001600160f81b0383165f612218826126be565b90505f83600381111561222d5761222d613832565b0361225f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611657565b600183600381111561227357612273613832565b0361228957806040516020016115c59190613a81565b600283600381111561229d5761229d613832565b036122b357806040516020016115c59190613ab8565b60038360038111156122c7576122c7613832565b0361165757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee4670de0b6b3a76400006125e6565b61248c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258491166128b5565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125b6929004166128b5565b905292915050565b5f6107388383670de0b6b3a7640000612929565b5f61073883670de0b6b3a764000084612929565b5f6108097f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612944565b5f6108097f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461296e565b5f6126a3600b5f612690600286612991565b81526020019081526020015f20546129c5565b6126b4600b5f612690600187612991565b6108099190613ae3565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612762576126f7600a86613b16565b61270290603061385a565b60f81b826001612712848761386d565b61271c919061386d565b8151811061272c5761272c6138dd565b60200101906001600160f81b03191690815f1a9053508061274c81613b29565b915061275b9050600a86613b41565b94506126e6565b918290030190815292915050565b60025f540361279257604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c569084906129f2565b5f6127f86020830183613047565b6001600160a01b0316036104665760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061282b85856125be565b905061283681612632565b9450845f03612848575f915050610738565b84915061285b604084016020850161306f565b1561288a57612883856128716020860186613047565b61287e6040870187613b54565b612a53565b91506128ad565b6128ad8561289b6020860186613047565b6128a86040870187613b54565b612bb1565b509392505050565b5f80670de0b6b3a76400006128c8612c56565b6128d29190613b97565b90508083116128e1575f6128eb565b6128eb818461386d565b9150610738612922670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b97565b83906125d2565b5f825f19048411830215820261293d575f80fd5b5091020490565b5f6129666129528585612c81565b83906b033b2e3c9fd0803ce8000000612929565b949350505050565b5f6129666b033b2e3c9fd0803ce80000006129898686612c81565b849190612929565b5f6001600160f81b038211156129ba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129ee5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612a066001600160a01b03841683612cec565b905080515f14158015612a2a575080806020019051810190612a289190613bae565b155b15610c5657604051635274afe760e01b81526001600160a01b038416600482015260240161167a565b5f80612a877f0000000000000000000000000000000000000000000000000000000000000000612a82886125e6565b612cf9565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b129190613962565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612b83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ba79190613bae565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb84612bea876125e6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612c32573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190613bae565b5f611ee4427f0000000000000000000000000000000000000000000000000000000000000000612db6565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612cc8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107389190613962565b606061073883835f612dcb565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612d62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d869190613c44565b60e08101519091505f5f198514612d9d5784612da6565b6001600160801b035b60101b9190910195945050505050565b5f612dc18284613b16565b610738908461386d565b606081471015612df05760405163cd78605960e01b815230600482015260240161167a565b5f80856001600160a01b03168486604051612e0b9190613d65565b5f6040518083038185875af1925050503d805f8114612e45576040519150601f19603f3d011682016040523d82523d5f602084013e612e4a565b606091505b5091509150612e5a868383612e64565b9695505050505050565b606082612e7957612e7482612ec0565b610738565b8151158015612e9057506001600160a01b0384163b155b15612eb957604051639996b31560e01b81526001600160a01b038516600482015260240161167a565b5080610738565b805115612ed05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612fb860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612fcd575f80fd5b5035919050565b5f5b83811015612fee578181015183820152602001612fd6565b50505f910152565b5f815180845261300d816020860160208601612fd4565b601f01601f19169290920160200192915050565b602081525f6107386020830184612ff6565b6001600160a01b0381168114610466575f80fd5b5f60208284031215613057575f80fd5b813561073881613033565b8015158114610466575f80fd5b5f6020828403121561307f575f80fd5b813561073881613062565b60ff81168114610466575f80fd5b5f805f805f805f805f6101208a8c0312156130b1575f80fd5b8935985060208a0135975060408a01356130ca81613033565b965060608a01356130da81613033565b955060808a01356130ea81613062565b945060a08a0135935060c08a01356131018161308a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613131575f80fd5b50813567ffffffffffffffff811115613148575f80fd5b6020830191508360208260051b8501011115613162575f80fd5b9250929050565b5f805f805f806080878903121561317e575f80fd5b863561318981613033565b9550602087013561319981613033565b9450604087013567ffffffffffffffff808211156131b5575f80fd5b6131c18a838b01613121565b909650945060608901359150808211156131d9575f80fd5b506131e689828a01613121565b979a9699509497509295939492505050565b5f805f806080858703121561320b575f80fd5b84359350602085013561321d81613033565b9250604085013561322d81613033565b9396929550929360600135925050565b5f805f6060848603121561324f575f80fd5b83359250602084013561326181613033565b9150604084013561327181613033565b809150509250925092565b5f806040838503121561328d575f80fd5b82359150602083013561329f81613033565b809150509250929050565b5f602082840312156132ba575f80fd5b813567ffffffffffffffff8111156132d0575f80fd5b820160608185031215610738575f80fd5b5f805f80608085870312156132f4575f80fd5b84359350602085013561330681613033565b925060408501359150606085013561331d81613033565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156133da575f80fd5b82356133e581613033565b9150602083013561329f81613062565b5f805f60608486031215613407575f80fd5b83359250602084013561341981613033565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161345660208401826001600160a01b03169052565b50604083015161347160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516134e3828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613561575f80fd5b823567ffffffffffffffff811115613577575f80fd5b61358385828601613121565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156135c6578351835292840192918401916001016135aa565b50909695505050505050565b81516001600160801b03168152610180810160208301516135fe60208401826001600160801b03169052565b50604083015161361960408401826001600160801b03169052565b50606083015161363460608401826001600160801b03169052565b5060808301516136496080840182600f0b9052565b5060a083015161366460a08401826001600160801b03169052565b5060c083015161367f60c08401826001600160801b03169052565b5060e083015161369a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613548565b5f805f805f60a086880312156136f7575f80fd5b85359450602086013561370981613033565b9350604086013561371981613033565b925060608601359150608086013561373081613033565b809150509295509295909350565b5f806040838503121561374f575f80fd5b823561375a81613033565b9150602083013561329f81613033565b5f60208083525f84545f60018260011c9150600183168061378c57607f831692505b6020831081036137aa57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156137c957600181146137df57613808565b60ff198616825284151560051b82019650613808565b5f8b8152602090205f5b86811015613802578154848201529085019089016137e9565b83019750505b50949998505050505050505050565b5f60208284031215613827575f80fd5b81516107388161308a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080957610809613846565b8181038181111561080957610809613846565b5f8060408385031215613891575f80fd5b82519150602083015161329f81613062565b805161059e81613033565b5f602082840312156138be575f80fd5b815161073881613033565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f825161391c816011850160208701612fd4565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613955816012850160208701612fd4565b9190910160120192915050565b5f60208284031215613972575f80fd5b5051919050565b6040516101e0810167ffffffffffffffff8111828210171561399d5761399d6138c9565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156139cc576139cc6138c9565b604052919050565b5f60208083850312156139e5575f80fd5b825167ffffffffffffffff808211156139fc575f80fd5b818501915085601f830112613a0f575f80fd5b815181811115613a2157613a216138c9565b8060051b9150613a328483016139a3565b8181529183018401918481019088841115613a4b575f80fd5b938501935b83851015613a755784519250613a6583613033565b8282529385019390850190613a50565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613aab816010850160208701612fd4565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161391c816011850160208701612fd4565b8181035f83128015838313168383128216171561126457611264613846565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2457613b24613b02565b500690565b5f60018201613b3a57613b3a613846565b5060010190565b5f82613b4f57613b4f613b02565b500490565b5f808335601e19843603018112613b69575f80fd5b83018035915067ffffffffffffffff821115613b83575f80fd5b602001915036819003821315613162575f80fd5b808202811582820484141761080957610809613846565b5f60208284031215613bbe575f80fd5b815161073881613062565b5f60208284031215613bd9575f80fd5b6040516020810181811067ffffffffffffffff82111715613bfc57613bfc6138c9565b6040529151825250919050565b80516001600160801b038116811461059e575f80fd5b805164ffffffffff8116811461059e575f80fd5b805161ffff8116811461059e575f80fd5b5f6101e08284031215613c55575f80fd5b613c5d613979565b613c678484613bc9565b8152613c7560208401613c09565b6020820152613c8660408401613c09565b6040820152613c9760608401613c09565b6060820152613ca860808401613c09565b6080820152613cb960a08401613c09565b60a0820152613cca60c08401613c1f565b60c0820152613cdb60e08401613c33565b60e0820152610100613cee8185016138a3565b90820152610120613d008482016138a3565b90820152610140613d128482016138a3565b90820152610160613d248482016138a3565b90820152610180613d36848201613c09565b908201526101a0613d48848201613c09565b908201526101c0613d5a848201613c09565b908201529392505050565b5f8251613d76818460208701612fd4565b919091019291505056fea2646970667358221220fb314eaa35e42ba247109717bfab07ab00f87c656f28a474b0abac2aaa388e2564736f6c63430008160033a26469706673582212201d64b3b20d134b1a648626a06df5b744d017d74f8e700714061db00519cb319264736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts deleted file mode 100644 index 189b8d837..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts +++ /dev/null @@ -1,790 +0,0 @@ -export declare const AaveL2Target1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=AaveL2Target1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts.map deleted file mode 100644 index a401ae4a9..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target1.d.ts","sourceRoot":"","sources":["../src/AaveL2Target1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAk9BgmmC,KAAK,MAAM,EAAE;;;;;CAKtomC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1.js b/packages/hyperdrive-artifacts/dist/AaveL2Target1.js deleted file mode 100644 index fb6fb87d3..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1.js +++ /dev/null @@ -1,984 +0,0 @@ -export const AaveL2Target1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620046333803806200463383398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d6a620008c95f395f818161199101528181612546015281816125b80152612e4c01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d0701525f818161139301528181611791015281816117f4015281816128f00152818161292c01528181612b240152612ce101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cbb01525f611afb01525f8181611c1c0152818161225d01526122d501525f81816108a901528181610f4301528181611bf001526122a901525f8181610e3e015261222301525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d2d01525f81816107e701528181610ec4015281816116ef015281816120fc015261339c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f6126cb01525f8181611970015281816125250152818161257201526126530152613d6a5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461362c565b610070565b60405190815260200160405180910390f35b61004b61006b36600461362c565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061369a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136ad565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136e0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613708565b6102bd8a6102b78d8f61369a565b90611584565b8d6102cb60408c018c613723565b6040516102df98979695949392919061378e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061369a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137d5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136e0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613708565b8a61050260408b018b613723565b60405161051597969594939291906137fc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136e0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119b6565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61369a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119cb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b92505b5061073e83611a01565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361369a565b4290611a2a565b8461102b565b6107db88611a3e565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bdb565b915091508060095f828254610878919061369a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361369a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ca8565b91506108e16108dc8385611584565b611cf1565b600680546002906109029084906201000090046001600160701b031661384f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a01565b60068054601090610951908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bdb565b915091508060095f8282546109c4919061369a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361383c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661384f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a01565b60068054601090610a68908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136ad565b5f61134e565b8e610ac58482611d1a565b50505b5f610ad284611f09565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061389f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061204b565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061383c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119cb565b90505f610d5f8a6120d1565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612120565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061218f565b6121be565b15610e7457610e746113ec565b5f805f610e8385878b876121ff565b9c5091945092509050610e96818461383c565b610ea0908961369a565b9750610eac828461369a565b610eb6908d61369a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061383c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ca8565b9950610f73878a61383c565b9850670de0b6b3a7640000610ff0610f8b878761369a565b600254610fa9908f90600160801b90046001600160801b031661383c565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612311565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661383c565b6110d191906138ba565b85670de0b6b3a76400006110e5878a61383c565b6110ef91906138ba565b8592919060016123ad565b611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a01565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138ba565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b0292169190911790556111d286611a01565b6111dc90826138d1565b600480546001600160801b03928316600160801b02921691909117905561120284611a01565b600280545f9061121c9084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612453565b600480545f9061125d908490600f0b6138f1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a01565b600280546010906112af908490600160801b90046001600160801b03166138d1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136ad565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461248e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124f0565b6003546113ce91906001600160801b031661369a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d1a565b5f805f61141d84611a3e565b90925090505f61142d8686611584565b90508183111561144557611442868385612504565b95505b8281101561145757808303925061145b565b5f92505b61146483611cf1565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a01565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161251f565b9450845f03611516575f91505061157d565b8491506115296040840160208501613708565b15611558576115518561153f60208601866136e0565b61154c6040870187613723565b61256b565b915061157b565b61157b8561156960208601866136e0565b6115766040870187613723565b6126c9565b505b9392505050565b5f61157d8383670de0b6b3a7640000612504565b5f805f805f805f806115a86119cb565b90505f6115b48a6120d1565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612775565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b985061169a84878b886121ff565b9c5091945090925090506116ae828461383c565b6116b8908961383c565b97506116c4818461369a565b6116ce908e61383c565b9c506116da8a8e61369a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061383c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612311565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361383c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136ad565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836127c8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138ba565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261383c565b90506118a281611a01565b600380546001600160801b03928316600160801b0292169190911790556118c883611a01565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612453565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a01565b6002805460109061193c908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127ed565b5f6119c18284613932565b61157d908461383c565b6002546004545f916105a6916001600160801b0390911690600f0b6127c8565b5f61007d826119fb858888612504565b9061280f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a38578261157d565b50919050565b6006545f908190611a60908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bd6575f611a89838361383c565b9050611a986110fa828661287e565b60068054601090611aba908490600160801b90046001600160801b03166138d1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611af2858361289290919063ffffffff16565b90505f611b1f827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b32919061369a565b90915550611b429050818361383c565b9150611b4d82611a01565b600280545f90611b679084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b94826128a6565b600480545f90611ba8908490600f0b6138f1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611be78785612892565b91505f611c14837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c40817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c6357611c52828261383c565b611c5c908461383c565b9250611c7a565b611c6d828261383c565b611c77908461369a565b92505b86861015611c9d57611c8d838789612504565b9250611c9a828789612504565b91505b509550959350505050565b5f80611cbf84611cb98a888a612504565b90612892565b9050611ccc888486612504565b611cd6908261369a565b905086811115611ce65786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d64916001600160801b03169061383c565b9050805f03611d7757600191505061131b565b5f611d81856128cf565b9050805f03611d955760019250505061131b565b5f80611da283858961296a565b9150915080611db7575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611df29291906139c3565b6040805180830381865af4158015611e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e309190613a38565b91509150611e4e611e4082611321565b611e4990613a5a565b612ade565b925082611e63575f965050505050505061131b565b611e6c82611a01565b600780545f90611e869084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611eb381611a01565b60078054601090611ed5908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f3087612c72565b6040518263ffffffff1660e01b8152600401611f4c9190613a74565b6040805180830381865af4158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613a83565b9150915080611f9f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120049161369a565b61200e919061383c565b9050805f0361202457505f958695509350505050565b5f808711612032575f61203d565b61203d848884612504565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561206e5761206e613ab1565b6040519080825280601f01601f191660200182016040528015612098576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120b8578692505b828152825f602083013e90999098509650505050505050565b5f806120db6105ab565b90508083116120ea575f6120f4565b6120f4818461383c565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612892565b5f808061214061213888670de0b6b3a764000061383c565b899087612dac565b905086156121825761215288886124f0565b91506121738a8a8461216c8a670de0b6b3a764000061383c565b8989612dcf565b925061217f838261369a565b90505b9750975097945050505050565b5f6121ac6121a584670de0b6b3a764000061383c565b83906124f0565b61157d90670de0b6b3a764000061383c565b5f806121f4856121cc6119cb565b6121d6919061369a565b600254610fa9908790600160801b90046001600160801b031661383c565b909210949350505050565b5f808080612255878661224e8b6122486122218c670de0b6b3a764000061383c565b7f0000000000000000000000000000000000000000000000000000000000000000906124f0565b906124f0565b9190612dac565b9350612281847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122a161229989670de0b6b3a764000061383c565b8a9088612dac565b90506122cd817f00000000000000000000000000000000000000000000000000000000000000006124f0565b93506122f9847f0000000000000000000000000000000000000000000000000000000000000000611584565b612303908461369a565b915050945094509450949050565b5f805f805f808888101561237d578615612333576123308d898b612504565b9c505b61233e8c898b612504565b9b506123498b611321565b6123528d611321565b61235c91906136ad565b90506123698b898b612504565b9a506123768a898b612504565b995061239c565b6123868b611321565b61238f8d611321565b61239991906136ad565b90505b9b9c9a9b999a975050505050505050565b5f825f036123bc57508461244a565b811561240e576123ed6123cf848761369a565b6123d98587611584565b6123e3888a611584565b611cb9919061369a565b90505f6123fa8588611a2a565b905080821015612408578091505b5061244a565b82850361241c57505f61244a565b612447612429848761383c565b61243385876124f0565b61243d888a611584565b611cb9919061383c565b90505b95945050505050565b5f60016001607f1b0319821280612470575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f8061249a845f612df1565b6124a4845f612df1565b6124ae91906136ad565b90505f8113156124c9576124c2818661369a565b94506124e7565b5f8112156124e7576124da81613a5a565b6124e4908661383c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dac565b5f825f190484118302158202612518575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612e06565b5f8061259f7f000000000000000000000000000000000000000000000000000000000000000061259a8861196a565b612e29565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612606573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061262a9190613ac5565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af115801561269b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126bf9190613adc565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846127028761196a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561274a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061276e9190613adc565b5050505050565b5f808061279561278d88670de0b6b3a764000061383c565b899087612504565b90508615612182576127a78888611584565b91506121738a8a846127c18a670de0b6b3a764000061383c565b8989612ee6565b5f806127d48484612ef6565b9092509050806127e6576127e66113ec565b5092915050565b5f6100806127fb8585612f31565b83906b033b2e3c9fd0803ce8000000612504565b5f815f036128265750670de0b6b3a764000061131b565b825f0361283457505f61131b565b5f61283e83611321565b90505f61285261284d86611321565b612f9c565b9050818102612869670de0b6b3a764000082613af7565b9050612874816131c1565b9695505050505050565b5f61157d83670de0b6b3a764000084612dac565b5f61157d83670de0b6b3a764000084612504565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128e9906001600160801b03168461287e565b90506129157f00000000000000000000000000000000000000000000000000000000000000008261369a565b6002546001600160801b03161115611a38576002547f0000000000000000000000000000000000000000000000000000000000000000906129609083906001600160801b031661383c565b61157d919061383c565b61297261358d565b5f8061297d84612c72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129b79190613a74565b6040805180830381865af41580156129d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f59190613a83565b9350905082612a0957505f9150612ad69050565b5f612a2f612a2a84610160015185610140015161158490919063ffffffff16565b611321565b612a4f612a2a8561012001518661010001516124f090919063ffffffff16565b612a5991906136ad565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb89190613b23565b935093509350935080612bd357505f98975050505050505050565b868414612c0457612be384611a01565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c3557612c1483612453565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c6357612c4582611a01565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c7a6135d7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d729116613353565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612da492900416613353565b905292915050565b5f825f190484118302158202612dc0575f80fd5b50910281810615159190040190565b5f80612ddf8888888888886133c7565b909250905080611ce657611ce66113ec565b5f818313612dff578161157d565b5090919050565b5f6100806b033b2e3c9fd0803ce8000000612e218686612f31565b849190612504565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612e92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eb69190613c13565b60e08101519091505f5f198514612ecd5784612ed6565b6001600160801b035b60101b9190910195945050505050565b5f80612ddf8888888888886134a3565b5f805f83612f0386611321565b612f0d91906136ad565b90505f811215612f23575f809250925050612f2a565b9150600190505b9250929050565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612f78573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613ac5565b5f808213612fbd5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130409084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131da57505f919050565b680755bf798b4a1bf1e58212613203576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061287474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133666105ab565b61337091906138ba565b905080831161337f575f613389565b613389818461383c565b915061157d6133c0670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138ba565b8390612892565b5f805f6133d7898988888861355f565b9050868810156133ed575f809250925050613498565b96869003966133fc888761280f565b975087811015613412575f809250925050613498565b878103613420818688612dac565b9050670de0b6b3a764000081106134545761344d613446670de0b6b3a76400008961287e565b829061280f565b905061346c565b613469613446670de0b6b3a764000089612892565b90505b613476818661287e565b90508981101561348d575f80935093505050613498565b899003925060019150505b965096945050505050565b5f805f6134b3898988888861355f565b90506134c3866119fb898b61369a565b9750878110156134d9575f809250925050613498565b8781036134e7818688612dac565b9050670de0b6b3a764000081106135145761350d613446670de0b6b3a76400008961287e565b905061352c565b613529613446670de0b6b3a764000089612892565b90505b613536818661287e565b9050808a101561354d575f80935093505050613498565b90980398600198509650505050505050565b5f61356a858561280f565b61358361357b866119fb868b6124f0565b859085612dac565b612447919061369a565b6040518061012001604052806135a16135d7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561366a575f80fd5b85016060818803121561367b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613686565b8181035f8312801583831316838312821617156127e6576127e6613686565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136f0575f80fd5b813561157d816136cc565b8015158114610591575f80fd5b5f60208284031215613718575f80fd5b813561157d816136fb565b5f808335601e19843603018112613738575f80fd5b83018035915067ffffffffffffffff821115613752575f80fd5b602001915036819003821315612f2a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137c760e083018486613766565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137f4576137f4613686565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61382f60c083018486613766565b9998505050505050505050565b8181038181111561131b5761131b613686565b6001600160701b038181168382160190808211156127e6576127e6613686565b6001600160801b038181168382160190808211156127e6576127e6613686565b805161389a816136cc565b919050565b5f602082840312156138af575f80fd5b815161157d816136cc565b808202811582820484141761131b5761131b613686565b6001600160801b038281168282160390808211156127e6576127e6613686565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613686565b634e487b7160e01b5f52601260045260245ffd5b5f826139405761394061391e565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139d6828551613945565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a49575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6e57613a6e613686565b505f0390565b610180810161131b8284613945565b5f8060408385031215613a94575f80fd5b825191506020830151613aa6816136fb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613ad5575f80fd5b5051919050565b5f60208284031215613aec575f80fd5b815161157d816136fb565b5f82613b0557613b0561391e565b600160ff1b82145f1984141615613b1e57613b1e613686565b500590565b5f805f8060808587031215613b36575f80fd5b845193506020850151925060408501519150606085015161367b816136fb565b6040516101e0810167ffffffffffffffff81118282101715613b8657634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613b9c575f80fd5b6040516020810181811067ffffffffffffffff82111715613bcb57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b038116811461389a575f80fd5b805164ffffffffff8116811461389a575f80fd5b805161ffff8116811461389a575f80fd5b5f6101e08284031215613c24575f80fd5b613c2c613b56565b613c368484613b8c565b8152613c4460208401613bd8565b6020820152613c5560408401613bd8565b6040820152613c6660608401613bd8565b6060820152613c7760808401613bd8565b6080820152613c8860a08401613bd8565b60a0820152613c9960c08401613bee565b60c0820152613caa60e08401613c02565b60e0820152610100613cbd81850161388f565b90820152610120613ccf84820161388f565b90820152610140613ce184820161388f565b90820152610160613cf384820161388f565b90820152610180613d05848201613bd8565b908201526101a0613d17848201613bd8565b908201526101c0613d29848201613bd8565b90820152939250505056fea26469706673582212201760476a5620c6f7b0b8050ced32ff71c5cef3353541f6d0eaf026c26ec7dfc764736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts deleted file mode 100644 index 50b234a5f..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveL2Target1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveL2Target1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts.map deleted file mode 100644 index ca5bcf931..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target1Deployer.d.ts","sourceRoot":"","sources":["../src/AaveL2Target1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IorrC,KAAK,MAAM,EAAE;;;;CAIlurC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.js b/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.js deleted file mode 100644 index 5bbca68eb..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveL2Target1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614b448061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b61463380620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b50604051620046333803806200463383398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d6a620008c95f395f818161199101528181612546015281816125b80152612e4c01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d0701525f818161139301528181611791015281816117f4015281816128f00152818161292c01528181612b240152612ce101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cbb01525f611afb01525f8181611c1c0152818161225d01526122d501525f81816108a901528181610f4301528181611bf001526122a901525f8181610e3e015261222301525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d2d01525f81816107e701528181610ec4015281816116ef015281816120fc015261339c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f6126cb01525f8181611970015281816125250152818161257201526126530152613d6a5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461362c565b610070565b60405190815260200160405180910390f35b61004b61006b36600461362c565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061369a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136ad565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136e0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613708565b6102bd8a6102b78d8f61369a565b90611584565b8d6102cb60408c018c613723565b6040516102df98979695949392919061378e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061369a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137d5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136e0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613708565b8a61050260408b018b613723565b60405161051597969594939291906137fc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136e0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119b6565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61369a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119cb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b92505b5061073e83611a01565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361369a565b4290611a2a565b8461102b565b6107db88611a3e565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bdb565b915091508060095f828254610878919061369a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361369a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ca8565b91506108e16108dc8385611584565b611cf1565b600680546002906109029084906201000090046001600160701b031661384f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a01565b60068054601090610951908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bdb565b915091508060095f8282546109c4919061369a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361383c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661384f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a01565b60068054601090610a68908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136ad565b5f61134e565b8e610ac58482611d1a565b50505b5f610ad284611f09565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061389f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061204b565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061383c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119cb565b90505f610d5f8a6120d1565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612120565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061218f565b6121be565b15610e7457610e746113ec565b5f805f610e8385878b876121ff565b9c5091945092509050610e96818461383c565b610ea0908961369a565b9750610eac828461369a565b610eb6908d61369a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061383c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ca8565b9950610f73878a61383c565b9850670de0b6b3a7640000610ff0610f8b878761369a565b600254610fa9908f90600160801b90046001600160801b031661383c565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612311565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661383c565b6110d191906138ba565b85670de0b6b3a76400006110e5878a61383c565b6110ef91906138ba565b8592919060016123ad565b611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a01565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138ba565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b0292169190911790556111d286611a01565b6111dc90826138d1565b600480546001600160801b03928316600160801b02921691909117905561120284611a01565b600280545f9061121c9084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612453565b600480545f9061125d908490600f0b6138f1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a01565b600280546010906112af908490600160801b90046001600160801b03166138d1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136ad565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461248e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124f0565b6003546113ce91906001600160801b031661369a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d1a565b5f805f61141d84611a3e565b90925090505f61142d8686611584565b90508183111561144557611442868385612504565b95505b8281101561145757808303925061145b565b5f92505b61146483611cf1565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a01565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161251f565b9450845f03611516575f91505061157d565b8491506115296040840160208501613708565b15611558576115518561153f60208601866136e0565b61154c6040870187613723565b61256b565b915061157b565b61157b8561156960208601866136e0565b6115766040870187613723565b6126c9565b505b9392505050565b5f61157d8383670de0b6b3a7640000612504565b5f805f805f805f806115a86119cb565b90505f6115b48a6120d1565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612775565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b985061169a84878b886121ff565b9c5091945090925090506116ae828461383c565b6116b8908961383c565b97506116c4818461369a565b6116ce908e61383c565b9c506116da8a8e61369a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061383c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612311565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361383c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136ad565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836127c8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138ba565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261383c565b90506118a281611a01565b600380546001600160801b03928316600160801b0292169190911790556118c883611a01565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612453565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a01565b6002805460109061193c908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127ed565b5f6119c18284613932565b61157d908461383c565b6002546004545f916105a6916001600160801b0390911690600f0b6127c8565b5f61007d826119fb858888612504565b9061280f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a38578261157d565b50919050565b6006545f908190611a60908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bd6575f611a89838361383c565b9050611a986110fa828661287e565b60068054601090611aba908490600160801b90046001600160801b03166138d1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611af2858361289290919063ffffffff16565b90505f611b1f827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b32919061369a565b90915550611b429050818361383c565b9150611b4d82611a01565b600280545f90611b679084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b94826128a6565b600480545f90611ba8908490600f0b6138f1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611be78785612892565b91505f611c14837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c40817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c6357611c52828261383c565b611c5c908461383c565b9250611c7a565b611c6d828261383c565b611c77908461369a565b92505b86861015611c9d57611c8d838789612504565b9250611c9a828789612504565b91505b509550959350505050565b5f80611cbf84611cb98a888a612504565b90612892565b9050611ccc888486612504565b611cd6908261369a565b905086811115611ce65786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d64916001600160801b03169061383c565b9050805f03611d7757600191505061131b565b5f611d81856128cf565b9050805f03611d955760019250505061131b565b5f80611da283858961296a565b9150915080611db7575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611df29291906139c3565b6040805180830381865af4158015611e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e309190613a38565b91509150611e4e611e4082611321565b611e4990613a5a565b612ade565b925082611e63575f965050505050505061131b565b611e6c82611a01565b600780545f90611e869084906001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611eb381611a01565b60078054601090611ed5908490600160801b90046001600160801b031661386f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f3087612c72565b6040518263ffffffff1660e01b8152600401611f4c9190613a74565b6040805180830381865af4158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613a83565b9150915080611f9f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120049161369a565b61200e919061383c565b9050805f0361202457505f958695509350505050565b5f808711612032575f61203d565b61203d848884612504565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561206e5761206e613ab1565b6040519080825280601f01601f191660200182016040528015612098576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120b8578692505b828152825f602083013e90999098509650505050505050565b5f806120db6105ab565b90508083116120ea575f6120f4565b6120f4818461383c565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612892565b5f808061214061213888670de0b6b3a764000061383c565b899087612dac565b905086156121825761215288886124f0565b91506121738a8a8461216c8a670de0b6b3a764000061383c565b8989612dcf565b925061217f838261369a565b90505b9750975097945050505050565b5f6121ac6121a584670de0b6b3a764000061383c565b83906124f0565b61157d90670de0b6b3a764000061383c565b5f806121f4856121cc6119cb565b6121d6919061369a565b600254610fa9908790600160801b90046001600160801b031661383c565b909210949350505050565b5f808080612255878661224e8b6122486122218c670de0b6b3a764000061383c565b7f0000000000000000000000000000000000000000000000000000000000000000906124f0565b906124f0565b9190612dac565b9350612281847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122a161229989670de0b6b3a764000061383c565b8a9088612dac565b90506122cd817f00000000000000000000000000000000000000000000000000000000000000006124f0565b93506122f9847f0000000000000000000000000000000000000000000000000000000000000000611584565b612303908461369a565b915050945094509450949050565b5f805f805f808888101561237d578615612333576123308d898b612504565b9c505b61233e8c898b612504565b9b506123498b611321565b6123528d611321565b61235c91906136ad565b90506123698b898b612504565b9a506123768a898b612504565b995061239c565b6123868b611321565b61238f8d611321565b61239991906136ad565b90505b9b9c9a9b999a975050505050505050565b5f825f036123bc57508461244a565b811561240e576123ed6123cf848761369a565b6123d98587611584565b6123e3888a611584565b611cb9919061369a565b90505f6123fa8588611a2a565b905080821015612408578091505b5061244a565b82850361241c57505f61244a565b612447612429848761383c565b61243385876124f0565b61243d888a611584565b611cb9919061383c565b90505b95945050505050565b5f60016001607f1b0319821280612470575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f8061249a845f612df1565b6124a4845f612df1565b6124ae91906136ad565b90505f8113156124c9576124c2818661369a565b94506124e7565b5f8112156124e7576124da81613a5a565b6124e4908661383c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dac565b5f825f190484118302158202612518575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612e06565b5f8061259f7f000000000000000000000000000000000000000000000000000000000000000061259a8861196a565b612e29565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612606573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061262a9190613ac5565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af115801561269b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126bf9190613adc565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846127028761196a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561274a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061276e9190613adc565b5050505050565b5f808061279561278d88670de0b6b3a764000061383c565b899087612504565b90508615612182576127a78888611584565b91506121738a8a846127c18a670de0b6b3a764000061383c565b8989612ee6565b5f806127d48484612ef6565b9092509050806127e6576127e66113ec565b5092915050565b5f6100806127fb8585612f31565b83906b033b2e3c9fd0803ce8000000612504565b5f815f036128265750670de0b6b3a764000061131b565b825f0361283457505f61131b565b5f61283e83611321565b90505f61285261284d86611321565b612f9c565b9050818102612869670de0b6b3a764000082613af7565b9050612874816131c1565b9695505050505050565b5f61157d83670de0b6b3a764000084612dac565b5f61157d83670de0b6b3a764000084612504565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128e9906001600160801b03168461287e565b90506129157f00000000000000000000000000000000000000000000000000000000000000008261369a565b6002546001600160801b03161115611a38576002547f0000000000000000000000000000000000000000000000000000000000000000906129609083906001600160801b031661383c565b61157d919061383c565b61297261358d565b5f8061297d84612c72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129b79190613a74565b6040805180830381865af41580156129d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f59190613a83565b9350905082612a0957505f9150612ad69050565b5f612a2f612a2a84610160015185610140015161158490919063ffffffff16565b611321565b612a4f612a2a8561012001518661010001516124f090919063ffffffff16565b612a5991906136ad565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb89190613b23565b935093509350935080612bd357505f98975050505050505050565b868414612c0457612be384611a01565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c3557612c1483612453565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c6357612c4582611a01565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c7a6135d7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d729116613353565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612da492900416613353565b905292915050565b5f825f190484118302158202612dc0575f80fd5b50910281810615159190040190565b5f80612ddf8888888888886133c7565b909250905080611ce657611ce66113ec565b5f818313612dff578161157d565b5090919050565b5f6100806b033b2e3c9fd0803ce8000000612e218686612f31565b849190612504565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612e92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eb69190613c13565b60e08101519091505f5f198514612ecd5784612ed6565b6001600160801b035b60101b9190910195945050505050565b5f80612ddf8888888888886134a3565b5f805f83612f0386611321565b612f0d91906136ad565b90505f811215612f23575f809250925050612f2a565b9150600190505b9250929050565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612f78573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613ac5565b5f808213612fbd5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130409084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131da57505f919050565b680755bf798b4a1bf1e58212613203576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061287474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133666105ab565b61337091906138ba565b905080831161337f575f613389565b613389818461383c565b915061157d6133c0670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138ba565b8390612892565b5f805f6133d7898988888861355f565b9050868810156133ed575f809250925050613498565b96869003966133fc888761280f565b975087811015613412575f809250925050613498565b878103613420818688612dac565b9050670de0b6b3a764000081106134545761344d613446670de0b6b3a76400008961287e565b829061280f565b905061346c565b613469613446670de0b6b3a764000089612892565b90505b613476818661287e565b90508981101561348d575f80935093505050613498565b899003925060019150505b965096945050505050565b5f805f6134b3898988888861355f565b90506134c3866119fb898b61369a565b9750878110156134d9575f809250925050613498565b8781036134e7818688612dac565b9050670de0b6b3a764000081106135145761350d613446670de0b6b3a76400008961287e565b905061352c565b613529613446670de0b6b3a764000089612892565b90505b613536818661287e565b9050808a101561354d575f80935093505050613498565b90980398600198509650505050505050565b5f61356a858561280f565b61358361357b866119fb868b6124f0565b859085612dac565b612447919061369a565b6040518061012001604052806135a16135d7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561366a575f80fd5b85016060818803121561367b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613686565b8181035f8312801583831316838312821617156127e6576127e6613686565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136f0575f80fd5b813561157d816136cc565b8015158114610591575f80fd5b5f60208284031215613718575f80fd5b813561157d816136fb565b5f808335601e19843603018112613738575f80fd5b83018035915067ffffffffffffffff821115613752575f80fd5b602001915036819003821315612f2a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137c760e083018486613766565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137f4576137f4613686565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61382f60c083018486613766565b9998505050505050505050565b8181038181111561131b5761131b613686565b6001600160701b038181168382160190808211156127e6576127e6613686565b6001600160801b038181168382160190808211156127e6576127e6613686565b805161389a816136cc565b919050565b5f602082840312156138af575f80fd5b815161157d816136cc565b808202811582820484141761131b5761131b613686565b6001600160801b038281168282160390808211156127e6576127e6613686565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613686565b634e487b7160e01b5f52601260045260245ffd5b5f826139405761394061391e565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139d6828551613945565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a49575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6e57613a6e613686565b505f0390565b610180810161131b8284613945565b5f8060408385031215613a94575f80fd5b825191506020830151613aa6816136fb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613ad5575f80fd5b5051919050565b5f60208284031215613aec575f80fd5b815161157d816136fb565b5f82613b0557613b0561391e565b600160ff1b82145f1984141615613b1e57613b1e613686565b500590565b5f805f8060808587031215613b36575f80fd5b845193506020850151925060408501519150606085015161367b816136fb565b6040516101e0810167ffffffffffffffff81118282101715613b8657634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613b9c575f80fd5b6040516020810181811067ffffffffffffffff82111715613bcb57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b038116811461389a575f80fd5b805164ffffffffff8116811461389a575f80fd5b805161ffff8116811461389a575f80fd5b5f6101e08284031215613c24575f80fd5b613c2c613b56565b613c368484613b8c565b8152613c4460208401613bd8565b6020820152613c5560408401613bd8565b6040820152613c6660608401613bd8565b6060820152613c7760808401613bd8565b6080820152613c8860a08401613bd8565b60a0820152613c9960c08401613bee565b60c0820152613caa60e08401613c02565b60e0820152610100613cbd81850161388f565b90820152610120613ccf84820161388f565b90820152610140613ce184820161388f565b90820152610160613cf384820161388f565b90820152610180613d05848201613bd8565b908201526101a0613d17848201613bd8565b908201526101c0613d29848201613bd8565b90820152939250505056fea26469706673582212201760476a5620c6f7b0b8050ced32ff71c5cef3353541f6d0eaf026c26ec7dfc764736f6c63430008160033a264697066735822122097144c2f7f68ced962e496665d664e1bba881c4f35565b59c39b5030e928043b64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts deleted file mode 100644 index 87c599fb1..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts +++ /dev/null @@ -1,810 +0,0 @@ -export declare const AaveL2Target2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=AaveL2Target2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts.map deleted file mode 100644 index e4ff19ae0..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target2.d.ts","sourceRoot":"","sources":["../src/AaveL2Target2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2+BwxqC,KAAK,MAAM,EAAE;;;;;CAK9zqC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2.js b/packages/hyperdrive-artifacts/dist/AaveL2Target2.js deleted file mode 100644 index 95f533bb3..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2.js +++ /dev/null @@ -1,1009 +0,0 @@ -export const AaveL2Target2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004a8f38038062004a8f83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516141a3620008ec5f395f818161148b015281816116d0015281816117700152818161293a01526129f201525f50505f50505f610c2801525f50505f818160f9015281816103020152612f7301525f818161150701528181611ddf01528181611e42015281816125c901528181612b6301528181612b9f01528181612d900152612f4d01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f2701525f611a0901525f8181611b2a015281816126ba01528181612732015261308b01525f81816109a301528181610e370152818161141501528181611afe015261270601525f8181610e1601528181612686015261304701525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612f9901525f81816101d301528181610396015281816108e101526136a501525f81816106a7015281816107230152818161079701528181610862015261089a01525f6117e901525f818161146a015281816116a3015281816117040152818161173101526129d101526141a35ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a39565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a39565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613aa7565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613aa7565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ace565b8b611217565b8d8a8a898e8561023e6020830183613ace565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613af6565b8961028960408a018a613b11565b60405161029c9796959493929190613b7c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613aa7565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613aa7565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613aa7565b9350505f61042784898d6114b0565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114e1565b5f6104706002886111e3565b90508c61048a826104846020840184613ace565b85611217565b858b868461049b6020860186613ace565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613af6565b6104ec896104e68a8d613bbc565b90610683565b8d6104fa60408e018e613b11565b60405161050e989796959493929190613bcf565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ace565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613af6565b156105ea576105e0856105db6040870187613b11565b611694565b9093509050610602565b5034610602856105fd6040870187613b11565b6117e7565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061189c565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006118b7565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613aa7565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16118cc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b92505b506108388361190b565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613bbc565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613aa7565b4290611938565b84610f13565b6108d58861194c565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613bbc565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611ae9565b915091508060095f8282546109729190613aa7565b9091555061098d9050865f8461098781611bb6565b88611bdf565b6109978183613aa7565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d56565b91506109db6109d68385610683565b611d9f565b600680546002906109fc9084906201000090046001600160701b0316613c16565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261190b565b60068054601090610a4b908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611ae9565b915091508060095f828254610abe9190613aa7565b90915550610ad99050835f84610ad381611bb6565b8a611dc8565b610ae38183613bbc565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c16565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261190b565b60068054601090610b62908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611bb6565b610ba483611bb6565b610bae9190613c56565b5f611fb8565b8e610bbf8482611ff7565b50505b5f610bcc846121e6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c85565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612328565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416118cc565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123ae565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123d9565b61243d565b15610e6d57610e6d61247e565b610e7987858885612497565b91965094509250670de0b6b3a7640000610efb610e968784613aa7565b600254610eb4908890600160801b90046001600160801b0316613bbc565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b1115610f0957610f0961247e565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361190b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613bbc565b610fb99190613ca0565b85670de0b6b3a7640000610fcd878a613bbc565b610fd79190613ca0565b8592919060016124df565b61190b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461190b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613ca0565b6005546001600160801b031691908860016124df565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561190b565b600280545f906110d19084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461190b565b60028054601090611120908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461190b565b6111579082613c36565b600380546001600160801b03808416600160801b02911617905590505f61117d83612583565b905061119b8161118c87611bb6565b6111969084613cd7565b611fb8565b6111a4846125c3565b6111b0576111b061247e565b5f6111ba85612622565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613aa7565b90915550505f838152600b60205260408120805483929061126a908490613aa7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6118cc565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061262e565b93508761134d858961264e565b111561135b5761135b61247e565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b93506113d58a670de0b6b3a7640000868c612662565b509193509091506113e890508183613bbc565b6113f29087613bbc565b95508861143f816114398d611407868c613bbc565b8d611412878261276e565b877f0000000000000000000000000000000000000000000000000000000000000000612783565b9061264e565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846127a3565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127c6565b5f6114c16040830160208401613af6565b156114cd5750826114da565b6114d784846127e8565b90505b9392505050565b6002546001600160801b0316838110156114fd576114fd61247e565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611535908390600f0b6127fc565b10156115435761154361247e565b60045461158d90610fe290600160801b90046001600160801b0316611570670de0b6b3a764000086613ca0565b600554600160801b90046001600160801b031691908960016124df565b600580546001600160801b03928316600160801b0292169190911790556115b38161190b565b600280546001600160801b0319166001600160801b03929092169190911790556115dc8561190b565b600280546010906115fe908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162b8561190b565b6004805460109061164d908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61167b83612583565b905061119b8161168a88611bb6565b6111969084613c56565b5f806116cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612821565b61172b7f00000000000000000000000000000000000000000000000000000000000000006116fa876001613aa7565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612888565b5f6117577f0000000000000000000000000000000000000000000000000000000000000000875f612917565b6040516303de9ce160e61b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f7a73840906024015f604051808303815f87803b1580156117b9575f80fd5b505af11580156117cb573d5f803e3d5ffd5b505050506117d8866129cb565b5f92509250505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd333061182187611464565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611872573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118969190613cfe565b50505050565b5f825f1904841183021582026118b0575f80fd5b5091020490565b5f6118c28284613d2d565b6106979084613bbc565b6002546004545f916106cb916001600160801b0390911690600f0b6127fc565b5f611902826118fc85888861189c565b90612a17565b95945050505050565b5f6001600160801b0382111561193457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116119465782610697565b50919050565b6006545f90819061196e908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611ae4575f6119978383613bbc565b90506119a6610fe28286611450565b600680546010906119c8908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a0085836127e890919063ffffffff16565b90505f611a2d827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611a409190613aa7565b90915550611a5090508183613bbc565b9150611a5b8261190b565b600280545f90611a759084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611aa282612a7c565b600480545f90611ab6908490600f0b613d40565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611af587856127e8565b91505f611b22837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611b4e817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b7157611b608282613bbc565b611b6a9084613bbc565b9250611b88565b611b7b8282613bbc565b611b859084613aa7565b92505b86861015611bab57611b9b83878961189c565b9250611ba882878961189c565b91505b509550959350505050565b5f6001600160ff1b038211156119345760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c27610fe282611c0b670de0b6b3a764000086613ca0565b600554600160801b90046001600160801b031691908a5f6124df565b600580546001600160801b03928316600160801b029216919091179055611c4d8661190b565b611c579082613cb7565b600480546001600160801b03928316600160801b029216919091179055611c7d8461190b565b600280545f90611c979084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc483612aa5565b600480545f90611cd8908490600f0b613d40565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d088561190b565b60028054601090611d2a908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d6d84611d678a888a61189c565b906127e8565b9050611d7a88848661189c565b611d849082613aa7565b905086811115611d945786810391505b509695505050505050565b5f6001600160701b038211156119345760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e0a57507f0000000000000000000000000000000000000000000000000000000000000000611e088583613bbc565b105b15611e1757611e1761247e565b6004549084900390600f0b611e2c8482613c56565b905083611e3886611bb6565b138015611e6d57507f0000000000000000000000000000000000000000000000000000000000000000611e6b83836127fc565b105b15611e7a57611e7a61247e565b600354600160801b90046001600160801b0316611ebb610fe282611ea6670de0b6b3a764000088613ca0565b6005546001600160801b031691908c5f6124df565b600580546001600160801b0319166001600160801b0392909216919091179055611ee58882613bbc565b9050611ef08161190b565b600380546001600160801b03928316600160801b029216919091179055611f168361190b565b600280546001600160801b0319166001600160801b0392909216919091179055611f3f82612aa5565b600480546001600160801b0319166001600160801b0392909216919091179055611f688761190b565b60028054601090611f8a908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fd390610fe2906001600160801b03168484612ae0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612041916001600160801b031690613bbc565b9050805f0361205457600191505061069a565b5f61205e85612b42565b9050805f036120725760019250505061069a565b5f8061207f838589612bdd565b9150915080612094575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120cf929190613deb565b6040805180830381865af41580156120e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061210d9190613e60565b9150915061212b61211d82611bb6565b61212690613e82565b612d4a565b925082612140575f965050505050505061069a565b6121498261190b565b600780545f906121639084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121908161190b565b600780546010906121b2908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61220d87612ede565b6040518263ffffffff1660e01b81526004016122299190613e9c565b6040805180830381865af4158015612243573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122679190613eab565b915091508061227c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122e191613aa7565b6122eb9190613bbc565b9050805f0361230157505f958695509350505050565b5f80871161230f575f61231a565b61231a84888461189c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561234b5761234b613ed9565b6040519080825280601f01601f191660200182016040528015612375576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612395578692505b828152825f602083013e90999098509650505050505050565b5f6123ce8787876123c788670de0b6b3a7640000613bbc565b8787613018565b979650505050505050565b5f6114d76124196123f284670de0b6b3a7640000613bbc565b611439670de0b6b3a7640000612408818a611450565b6124129190613bbc565b879061264e565b61242b90670de0b6b3a7640000613aa7565b611d6784670de0b6b3a7640000613bbc565b5f806124738561244b6118cc565b6124559190613aa7565b600254610eb4908790600160801b90046001600160801b0316613bbc565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124a789878961303a565b90925090506124b68289613bbc565b97505f6124c482888a61189c565b90506124d0818b613bbc565b9a989950979650505050505050565b5f825f036124ee575084611902565b81156125405761251f6125018487613aa7565b61250b8587610683565b612515888a610683565b611d679190613aa7565b90505f61252c8588611938565b90508082101561253a578091505b50611902565b82850361254e57505f611902565b61257961255b8487613bbc565b612565858761264e565b61256f888a610683565b611d679190613bbc565b9695505050505050565b5f6125a8600b5f6125956002866111e3565b81526020019081526020015f2054611bb6565b6125b9600b5f6125956001876111e3565b61069a9190613c56565b5f6125ee7f00000000000000000000000000000000000000000000000000000000000000008361264e565b60035461260491906001600160801b0316613aa7565b60025461261a906001600160801b031684610683565b101592915050565b5f61069a826004611ff7565b5f6123ce87878761264788670de0b6b3a7640000613bbc565b87876130b9565b5f6106978383670de0b6b3a76400006127a3565b5f8080806126b287866126ab8b6114396126848c670de0b6b3a7640000613bbc565b7f00000000000000000000000000000000000000000000000000000000000000009061264e565b91906127a3565b93506126de847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6126fe6126f689670de0b6b3a7640000613bbc565b8a90886127a3565b905061272a817f000000000000000000000000000000000000000000000000000000000000000061264e565b9350612756847f0000000000000000000000000000000000000000000000000000000000000000610683565b6127609084613aa7565b915050945094509450949050565b5f81831161277c5781610697565b5090919050565b5f8061279a846127948a888a6127a3565b90611450565b9050611d7a8884865b5f825f1904841183021582026127b7575f80fd5b50910281810615159190040190565b5f6114d76127d485856130c9565b83906b033b2e3c9fd0803ce800000061189c565b5f61069783670de0b6b3a76400008461189c565b5f806128088484613134565b90925090508061281a5761281a61247e565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526118969186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061316c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128d984826131d7565b611896576040516001600160a01b0384811660248301525f604483015261290d91869182169063095ea7b390606401612856565b611896848261316c565b6040516335ea6a7560e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612980573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a49190613faa565b60e0015190505f6129b48561190b565b60101b609085901b01919091019150509392505050565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613274565b5f815f03612a2e5750670de0b6b3a764000061069a565b825f03612a3c57505f61069a565b5f612a4683611bb6565b90505f612a5a612a5586611bb6565b613297565b9050818102612a71670de0b6b3a7640000826140cb565b9050612579816134bc565b5f60016001607f1b038211156119345760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ac2575060016001607f1b0382135b156119345760405163a5353be560e01b815260040160405180910390fd5b5f80612aec845f61364e565b612af6845f61364e565b612b009190613c56565b90505f811315612b1b57612b148186613aa7565b9450612b39565b5f811215612b3957612b2c81613e82565b612b369086613bbc565b94505b50929392505050565b6003545f908190612b5c906001600160801b031684611450565b9050612b887f000000000000000000000000000000000000000000000000000000000000000082613aa7565b6002546001600160801b03161115611946576002547f000000000000000000000000000000000000000000000000000000000000000090612bd39083906001600160801b0316613bbc565b6114da9190613bbc565b612be561399a565b5f80612bf084612ede565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612c2a9190613e9c565b6040805180830381865af4158015612c44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c689190613eab565b9350905082612c7c57505f91506117df9050565b5f612ca2612c9d84610160015185610140015161068390919063ffffffff16565b611bb6565b612cc2612c9d85610120015186610100015161264e90919063ffffffff16565b612ccc9190613c56565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e2491906140f7565b935093509350935080612e3f57505f98975050505050505050565b868414612e7057612e4f8461190b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ea157612e8083612aa5565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ecf57612eb18261190b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ee66139e4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fde911661365c565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926130109290041661365c565b905292915050565b5f806130288888888888886136d0565b909250905080611d9457611d9461247e565b5f806130838561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613079818c611450565b6114399190613bbc565b91506130af827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80613028888888888888613794565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613110573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610697919061412a565b5f805f8361314186611bb6565b61314b9190613c56565b90505f811215613161575f80925092505061067c565b946001945092505050565b5f6131806001600160a01b03841683613850565b905080515f141580156131a45750808060200190518101906131a29190613cfe565b155b156131d257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131f29190614141565b5f604051808303815f865af19150503d805f811461322b576040519150601f19603f3d011682016040523d82523d5f602084013e613230565b606091505b509150915081801561325a57508051158061325a57508080602001905181019061325a9190613cfe565b80156119025750505050506001600160a01b03163b151590565b5f6114d76b033b2e3c9fd0803ce800000061328f86866130c9565b84919061189c565b5f8082136132b85760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061333b9084901c611bb6565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134d557505f919050565b680755bf798b4a1bf1e582126134fe576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061257974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611bb6565b5f81831361277c5781610697565b5f80670de0b6b3a764000061366f6106a0565b6136799190613ca0565b9050808311613688575f613692565b6136928184613bbc565b91506114da6136c9670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613ca0565b83906127e8565b5f805f6136e0898988888861385d565b90506136fa866118fc6136f38a8d613aa7565b8790610683565b9850613707858a8661189c565b98508881101561371d575f809250925050613789565b888103670de0b6b3a764000081106137525761374b613744670de0b6b3a764000089611450565b8290612a17565b905061376a565b613767613744670de0b6b3a7640000896127e8565b90505b8089101561377f575f80935093505050613789565b8803925060019150505b965096945050505050565b5f805f6137a4898988888861385d565b90506137b4866118fc898b613aa7565b9750878110156137ca575f809250925050613789565b8781036137d88186886127a3565b9050670de0b6b3a76400008110613805576137fe613744670de0b6b3a764000089611450565b905061381d565b61381a613744670de0b6b3a7640000896127e8565b90505b6138278186611450565b9050808a101561383e575f80935093505050613789565b90980398600198509650505050505050565b606061069783835f61388b565b5f6138688585612a17565b613881613879866118fc868b61264e565b8590856127a3565b6125799190613aa7565b6060814710156138b05760405163cd78605960e01b81523060048201526024016131c9565b5f80856001600160a01b031684866040516138cb9190614141565b5f6040518083038185875af1925050503d805f8114613905576040519150601f19603f3d011682016040523d82523d5f602084013e61390a565b606091505b509150915061257986838360608261392a5761392582613971565b6114da565b815115801561394157506001600160a01b0384163b155b1561396a57604051639996b31560e01b81526001600160a01b03851660048201526024016131c9565b50806114da565b8051156139815780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139ae6139e4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a4c575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a77575f80fd5b850160608188031215613a88575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a93565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ade575f80fd5b81356114da81613aba565b80151581146105af575f80fd5b5f60208284031215613b06575f80fd5b81356114da81613ae9565b5f808335601e19843603018112613b26575f80fd5b83018035915067ffffffffffffffff821115613b40575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613baf60c083018486613b54565b9998505050505050505050565b8181038181111561069a5761069a613a93565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613c0860e083018486613b54565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561281a5761281a613a93565b6001600160801b0381811683821601908082111561281a5761281a613a93565b8181035f83128015838313168383128216171561281a5761281a613a93565b8051613c8081613aba565b919050565b5f60208284031215613c95575f80fd5b81516114da81613aba565b808202811582820484141761069a5761069a613a93565b6001600160801b0382811682821603908082111561281a5761281a613a93565b8082018281125f831280158216821582161715613cf657613cf6613a93565b505092915050565b5f60208284031215613d0e575f80fd5b81516114da81613ae9565b634e487b7160e01b5f52601260045260245ffd5b5f82613d3b57613d3b613d19565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a93565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613dfe828551613d6d565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613e71575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613e9657613e96613a93565b505f0390565b610180810161069a8284613d6d565b5f8060408385031215613ebc575f80fd5b825191506020830151613ece81613ae9565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715613f1d57634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613f33575f80fd5b6040516020810181811067ffffffffffffffff82111715613f6257634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114613c80575f80fd5b805164ffffffffff81168114613c80575f80fd5b805161ffff81168114613c80575f80fd5b5f6101e08284031215613fbb575f80fd5b613fc3613eed565b613fcd8484613f23565b8152613fdb60208401613f6f565b6020820152613fec60408401613f6f565b6040820152613ffd60608401613f6f565b606082015261400e60808401613f6f565b608082015261401f60a08401613f6f565b60a082015261403060c08401613f85565b60c082015261404160e08401613f99565b60e0820152610100614054818501613c75565b90820152610120614066848201613c75565b90820152610140614078848201613c75565b9082015261016061408a848201613c75565b9082015261018061409c848201613f6f565b908201526101a06140ae848201613f6f565b908201526101c06140c0848201613f6f565b908201529392505050565b5f826140d9576140d9613d19565b600160ff1b82145f19841416156140f2576140f2613a93565b500590565b5f805f806080858703121561410a575f80fd5b8451935060208501519250604085015191506060850151613a8881613ae9565b5f6020828403121561413a575f80fd5b5051919050565b5f82515f5b818110156141605760208186018101518583015201614146565b505f92019182525091905056fea2646970667358221220167400bc588532cc8df7943a9e082f55da37916aff9e4d400878aedacb4cbc9b64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts deleted file mode 100644 index 531e4d501..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveL2Target2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveL2Target2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts.map deleted file mode 100644 index bbc7a2bc7..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target2Deployer.d.ts","sourceRoot":"","sources":["../src/AaveL2Target2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I42vC,KAAK,MAAM,EAAE;;;;CAI15vC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.js b/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.js deleted file mode 100644 index 25836b033..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveL2Target2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614fa08061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b614a8f80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b5060405162004a8f38038062004a8f83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516141a3620008ec5f395f818161148b015281816116d0015281816117700152818161293a01526129f201525f50505f50505f610c2801525f50505f818160f9015281816103020152612f7301525f818161150701528181611ddf01528181611e42015281816125c901528181612b6301528181612b9f01528181612d900152612f4d01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f2701525f611a0901525f8181611b2a015281816126ba01528181612732015261308b01525f81816109a301528181610e370152818161141501528181611afe015261270601525f8181610e1601528181612686015261304701525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612f9901525f81816101d301528181610396015281816108e101526136a501525f81816106a7015281816107230152818161079701528181610862015261089a01525f6117e901525f818161146a015281816116a3015281816117040152818161173101526129d101526141a35ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a39565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a39565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613aa7565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613aa7565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ace565b8b611217565b8d8a8a898e8561023e6020830183613ace565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613af6565b8961028960408a018a613b11565b60405161029c9796959493929190613b7c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613aa7565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613aa7565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613aa7565b9350505f61042784898d6114b0565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114e1565b5f6104706002886111e3565b90508c61048a826104846020840184613ace565b85611217565b858b868461049b6020860186613ace565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613af6565b6104ec896104e68a8d613bbc565b90610683565b8d6104fa60408e018e613b11565b60405161050e989796959493929190613bcf565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ace565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613af6565b156105ea576105e0856105db6040870187613b11565b611694565b9093509050610602565b5034610602856105fd6040870187613b11565b6117e7565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061189c565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006118b7565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613aa7565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16118cc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b92505b506108388361190b565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613bbc565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613aa7565b4290611938565b84610f13565b6108d58861194c565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613bbc565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611ae9565b915091508060095f8282546109729190613aa7565b9091555061098d9050865f8461098781611bb6565b88611bdf565b6109978183613aa7565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d56565b91506109db6109d68385610683565b611d9f565b600680546002906109fc9084906201000090046001600160701b0316613c16565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261190b565b60068054601090610a4b908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611ae9565b915091508060095f828254610abe9190613aa7565b90915550610ad99050835f84610ad381611bb6565b8a611dc8565b610ae38183613bbc565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c16565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261190b565b60068054601090610b62908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611bb6565b610ba483611bb6565b610bae9190613c56565b5f611fb8565b8e610bbf8482611ff7565b50505b5f610bcc846121e6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c85565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612328565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416118cc565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123ae565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123d9565b61243d565b15610e6d57610e6d61247e565b610e7987858885612497565b91965094509250670de0b6b3a7640000610efb610e968784613aa7565b600254610eb4908890600160801b90046001600160801b0316613bbc565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b1115610f0957610f0961247e565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361190b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613bbc565b610fb99190613ca0565b85670de0b6b3a7640000610fcd878a613bbc565b610fd79190613ca0565b8592919060016124df565b61190b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461190b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613ca0565b6005546001600160801b031691908860016124df565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561190b565b600280545f906110d19084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461190b565b60028054601090611120908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461190b565b6111579082613c36565b600380546001600160801b03808416600160801b02911617905590505f61117d83612583565b905061119b8161118c87611bb6565b6111969084613cd7565b611fb8565b6111a4846125c3565b6111b0576111b061247e565b5f6111ba85612622565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613aa7565b90915550505f838152600b60205260408120805483929061126a908490613aa7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6118cc565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061262e565b93508761134d858961264e565b111561135b5761135b61247e565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118ec565b93506113d58a670de0b6b3a7640000868c612662565b509193509091506113e890508183613bbc565b6113f29087613bbc565b95508861143f816114398d611407868c613bbc565b8d611412878261276e565b877f0000000000000000000000000000000000000000000000000000000000000000612783565b9061264e565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846127a3565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127c6565b5f6114c16040830160208401613af6565b156114cd5750826114da565b6114d784846127e8565b90505b9392505050565b6002546001600160801b0316838110156114fd576114fd61247e565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611535908390600f0b6127fc565b10156115435761154361247e565b60045461158d90610fe290600160801b90046001600160801b0316611570670de0b6b3a764000086613ca0565b600554600160801b90046001600160801b031691908960016124df565b600580546001600160801b03928316600160801b0292169190911790556115b38161190b565b600280546001600160801b0319166001600160801b03929092169190911790556115dc8561190b565b600280546010906115fe908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162b8561190b565b6004805460109061164d908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61167b83612583565b905061119b8161168a88611bb6565b6111969084613c56565b5f806116cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612821565b61172b7f00000000000000000000000000000000000000000000000000000000000000006116fa876001613aa7565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612888565b5f6117577f0000000000000000000000000000000000000000000000000000000000000000875f612917565b6040516303de9ce160e61b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f7a73840906024015f604051808303815f87803b1580156117b9575f80fd5b505af11580156117cb573d5f803e3d5ffd5b505050506117d8866129cb565b5f92509250505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd333061182187611464565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611872573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118969190613cfe565b50505050565b5f825f1904841183021582026118b0575f80fd5b5091020490565b5f6118c28284613d2d565b6106979084613bbc565b6002546004545f916106cb916001600160801b0390911690600f0b6127fc565b5f611902826118fc85888861189c565b90612a17565b95945050505050565b5f6001600160801b0382111561193457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116119465782610697565b50919050565b6006545f90819061196e908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611ae4575f6119978383613bbc565b90506119a6610fe28286611450565b600680546010906119c8908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a0085836127e890919063ffffffff16565b90505f611a2d827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611a409190613aa7565b90915550611a5090508183613bbc565b9150611a5b8261190b565b600280545f90611a759084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611aa282612a7c565b600480545f90611ab6908490600f0b613d40565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611af587856127e8565b91505f611b22837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611b4e817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b7157611b608282613bbc565b611b6a9084613bbc565b9250611b88565b611b7b8282613bbc565b611b859084613aa7565b92505b86861015611bab57611b9b83878961189c565b9250611ba882878961189c565b91505b509550959350505050565b5f6001600160ff1b038211156119345760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c27610fe282611c0b670de0b6b3a764000086613ca0565b600554600160801b90046001600160801b031691908a5f6124df565b600580546001600160801b03928316600160801b029216919091179055611c4d8661190b565b611c579082613cb7565b600480546001600160801b03928316600160801b029216919091179055611c7d8461190b565b600280545f90611c979084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc483612aa5565b600480545f90611cd8908490600f0b613d40565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d088561190b565b60028054601090611d2a908490600160801b90046001600160801b0316613cb7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d6d84611d678a888a61189c565b906127e8565b9050611d7a88848661189c565b611d849082613aa7565b905086811115611d945786810391505b509695505050505050565b5f6001600160701b038211156119345760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e0a57507f0000000000000000000000000000000000000000000000000000000000000000611e088583613bbc565b105b15611e1757611e1761247e565b6004549084900390600f0b611e2c8482613c56565b905083611e3886611bb6565b138015611e6d57507f0000000000000000000000000000000000000000000000000000000000000000611e6b83836127fc565b105b15611e7a57611e7a61247e565b600354600160801b90046001600160801b0316611ebb610fe282611ea6670de0b6b3a764000088613ca0565b6005546001600160801b031691908c5f6124df565b600580546001600160801b0319166001600160801b0392909216919091179055611ee58882613bbc565b9050611ef08161190b565b600380546001600160801b03928316600160801b029216919091179055611f168361190b565b600280546001600160801b0319166001600160801b0392909216919091179055611f3f82612aa5565b600480546001600160801b0319166001600160801b0392909216919091179055611f688761190b565b60028054601090611f8a908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fd390610fe2906001600160801b03168484612ae0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612041916001600160801b031690613bbc565b9050805f0361205457600191505061069a565b5f61205e85612b42565b9050805f036120725760019250505061069a565b5f8061207f838589612bdd565b9150915080612094575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120cf929190613deb565b6040805180830381865af41580156120e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061210d9190613e60565b9150915061212b61211d82611bb6565b61212690613e82565b612d4a565b925082612140575f965050505050505061069a565b6121498261190b565b600780545f906121639084906001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121908161190b565b600780546010906121b2908490600160801b90046001600160801b0316613c36565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61220d87612ede565b6040518263ffffffff1660e01b81526004016122299190613e9c565b6040805180830381865af4158015612243573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122679190613eab565b915091508061227c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122e191613aa7565b6122eb9190613bbc565b9050805f0361230157505f958695509350505050565b5f80871161230f575f61231a565b61231a84888461189c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561234b5761234b613ed9565b6040519080825280601f01601f191660200182016040528015612375576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612395578692505b828152825f602083013e90999098509650505050505050565b5f6123ce8787876123c788670de0b6b3a7640000613bbc565b8787613018565b979650505050505050565b5f6114d76124196123f284670de0b6b3a7640000613bbc565b611439670de0b6b3a7640000612408818a611450565b6124129190613bbc565b879061264e565b61242b90670de0b6b3a7640000613aa7565b611d6784670de0b6b3a7640000613bbc565b5f806124738561244b6118cc565b6124559190613aa7565b600254610eb4908790600160801b90046001600160801b0316613bbc565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124a789878961303a565b90925090506124b68289613bbc565b97505f6124c482888a61189c565b90506124d0818b613bbc565b9a989950979650505050505050565b5f825f036124ee575084611902565b81156125405761251f6125018487613aa7565b61250b8587610683565b612515888a610683565b611d679190613aa7565b90505f61252c8588611938565b90508082101561253a578091505b50611902565b82850361254e57505f611902565b61257961255b8487613bbc565b612565858761264e565b61256f888a610683565b611d679190613bbc565b9695505050505050565b5f6125a8600b5f6125956002866111e3565b81526020019081526020015f2054611bb6565b6125b9600b5f6125956001876111e3565b61069a9190613c56565b5f6125ee7f00000000000000000000000000000000000000000000000000000000000000008361264e565b60035461260491906001600160801b0316613aa7565b60025461261a906001600160801b031684610683565b101592915050565b5f61069a826004611ff7565b5f6123ce87878761264788670de0b6b3a7640000613bbc565b87876130b9565b5f6106978383670de0b6b3a76400006127a3565b5f8080806126b287866126ab8b6114396126848c670de0b6b3a7640000613bbc565b7f00000000000000000000000000000000000000000000000000000000000000009061264e565b91906127a3565b93506126de847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6126fe6126f689670de0b6b3a7640000613bbc565b8a90886127a3565b905061272a817f000000000000000000000000000000000000000000000000000000000000000061264e565b9350612756847f0000000000000000000000000000000000000000000000000000000000000000610683565b6127609084613aa7565b915050945094509450949050565b5f81831161277c5781610697565b5090919050565b5f8061279a846127948a888a6127a3565b90611450565b9050611d7a8884865b5f825f1904841183021582026127b7575f80fd5b50910281810615159190040190565b5f6114d76127d485856130c9565b83906b033b2e3c9fd0803ce800000061189c565b5f61069783670de0b6b3a76400008461189c565b5f806128088484613134565b90925090508061281a5761281a61247e565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526118969186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061316c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128d984826131d7565b611896576040516001600160a01b0384811660248301525f604483015261290d91869182169063095ea7b390606401612856565b611896848261316c565b6040516335ea6a7560e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612980573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a49190613faa565b60e0015190505f6129b48561190b565b60101b609085901b01919091019150509392505050565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613274565b5f815f03612a2e5750670de0b6b3a764000061069a565b825f03612a3c57505f61069a565b5f612a4683611bb6565b90505f612a5a612a5586611bb6565b613297565b9050818102612a71670de0b6b3a7640000826140cb565b9050612579816134bc565b5f60016001607f1b038211156119345760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ac2575060016001607f1b0382135b156119345760405163a5353be560e01b815260040160405180910390fd5b5f80612aec845f61364e565b612af6845f61364e565b612b009190613c56565b90505f811315612b1b57612b148186613aa7565b9450612b39565b5f811215612b3957612b2c81613e82565b612b369086613bbc565b94505b50929392505050565b6003545f908190612b5c906001600160801b031684611450565b9050612b887f000000000000000000000000000000000000000000000000000000000000000082613aa7565b6002546001600160801b03161115611946576002547f000000000000000000000000000000000000000000000000000000000000000090612bd39083906001600160801b0316613bbc565b6114da9190613bbc565b612be561399a565b5f80612bf084612ede565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612c2a9190613e9c565b6040805180830381865af4158015612c44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c689190613eab565b9350905082612c7c57505f91506117df9050565b5f612ca2612c9d84610160015185610140015161068390919063ffffffff16565b611bb6565b612cc2612c9d85610120015186610100015161264e90919063ffffffff16565b612ccc9190613c56565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e2491906140f7565b935093509350935080612e3f57505f98975050505050505050565b868414612e7057612e4f8461190b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ea157612e8083612aa5565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ecf57612eb18261190b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ee66139e4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fde911661365c565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926130109290041661365c565b905292915050565b5f806130288888888888886136d0565b909250905080611d9457611d9461247e565b5f806130838561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613079818c611450565b6114399190613bbc565b91506130af827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80613028888888888888613794565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613110573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610697919061412a565b5f805f8361314186611bb6565b61314b9190613c56565b90505f811215613161575f80925092505061067c565b946001945092505050565b5f6131806001600160a01b03841683613850565b905080515f141580156131a45750808060200190518101906131a29190613cfe565b155b156131d257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131f29190614141565b5f604051808303815f865af19150503d805f811461322b576040519150601f19603f3d011682016040523d82523d5f602084013e613230565b606091505b509150915081801561325a57508051158061325a57508080602001905181019061325a9190613cfe565b80156119025750505050506001600160a01b03163b151590565b5f6114d76b033b2e3c9fd0803ce800000061328f86866130c9565b84919061189c565b5f8082136132b85760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061333b9084901c611bb6565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134d557505f919050565b680755bf798b4a1bf1e582126134fe576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061257974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611bb6565b5f81831361277c5781610697565b5f80670de0b6b3a764000061366f6106a0565b6136799190613ca0565b9050808311613688575f613692565b6136928184613bbc565b91506114da6136c9670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613ca0565b83906127e8565b5f805f6136e0898988888861385d565b90506136fa866118fc6136f38a8d613aa7565b8790610683565b9850613707858a8661189c565b98508881101561371d575f809250925050613789565b888103670de0b6b3a764000081106137525761374b613744670de0b6b3a764000089611450565b8290612a17565b905061376a565b613767613744670de0b6b3a7640000896127e8565b90505b8089101561377f575f80935093505050613789565b8803925060019150505b965096945050505050565b5f805f6137a4898988888861385d565b90506137b4866118fc898b613aa7565b9750878110156137ca575f809250925050613789565b8781036137d88186886127a3565b9050670de0b6b3a76400008110613805576137fe613744670de0b6b3a764000089611450565b905061381d565b61381a613744670de0b6b3a7640000896127e8565b90505b6138278186611450565b9050808a101561383e575f80935093505050613789565b90980398600198509650505050505050565b606061069783835f61388b565b5f6138688585612a17565b613881613879866118fc868b61264e565b8590856127a3565b6125799190613aa7565b6060814710156138b05760405163cd78605960e01b81523060048201526024016131c9565b5f80856001600160a01b031684866040516138cb9190614141565b5f6040518083038185875af1925050503d805f8114613905576040519150601f19603f3d011682016040523d82523d5f602084013e61390a565b606091505b509150915061257986838360608261392a5761392582613971565b6114da565b815115801561394157506001600160a01b0384163b155b1561396a57604051639996b31560e01b81526001600160a01b03851660048201526024016131c9565b50806114da565b8051156139815780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139ae6139e4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a4c575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a77575f80fd5b850160608188031215613a88575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a93565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ade575f80fd5b81356114da81613aba565b80151581146105af575f80fd5b5f60208284031215613b06575f80fd5b81356114da81613ae9565b5f808335601e19843603018112613b26575f80fd5b83018035915067ffffffffffffffff821115613b40575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613baf60c083018486613b54565b9998505050505050505050565b8181038181111561069a5761069a613a93565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613c0860e083018486613b54565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561281a5761281a613a93565b6001600160801b0381811683821601908082111561281a5761281a613a93565b8181035f83128015838313168383128216171561281a5761281a613a93565b8051613c8081613aba565b919050565b5f60208284031215613c95575f80fd5b81516114da81613aba565b808202811582820484141761069a5761069a613a93565b6001600160801b0382811682821603908082111561281a5761281a613a93565b8082018281125f831280158216821582161715613cf657613cf6613a93565b505092915050565b5f60208284031215613d0e575f80fd5b81516114da81613ae9565b634e487b7160e01b5f52601260045260245ffd5b5f82613d3b57613d3b613d19565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a93565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613dfe828551613d6d565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613e71575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613e9657613e96613a93565b505f0390565b610180810161069a8284613d6d565b5f8060408385031215613ebc575f80fd5b825191506020830151613ece81613ae9565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715613f1d57634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613f33575f80fd5b6040516020810181811067ffffffffffffffff82111715613f6257634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114613c80575f80fd5b805164ffffffffff81168114613c80575f80fd5b805161ffff81168114613c80575f80fd5b5f6101e08284031215613fbb575f80fd5b613fc3613eed565b613fcd8484613f23565b8152613fdb60208401613f6f565b6020820152613fec60408401613f6f565b6040820152613ffd60608401613f6f565b606082015261400e60808401613f6f565b608082015261401f60a08401613f6f565b60a082015261403060c08401613f85565b60c082015261404160e08401613f99565b60e0820152610100614054818501613c75565b90820152610120614066848201613c75565b90820152610140614078848201613c75565b9082015261016061408a848201613c75565b9082015261018061409c848201613f6f565b908201526101a06140ae848201613f6f565b908201526101c06140c0848201613f6f565b908201529392505050565b5f826140d9576140d9613d19565b600160ff1b82145f19841416156140f2576140f2613a93565b500590565b5f805f806080858703121561410a575f80fd5b8451935060208501519250604085015191506060850151613a8881613ae9565b5f6020828403121561413a575f80fd5b5051919050565b5f82515f5b818110156141605760208186018101518583015201614146565b505f92019182525091905056fea2646970667358221220167400bc588532cc8df7943a9e082f55da37916aff9e4d400878aedacb4cbc9b64736f6c63430008160033a2646970667358221220ee1ae53e781635186ba5e671d2349827f3813e8cbe49172e4666df08d21066ef64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts deleted file mode 100644 index 13f1f9ee9..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts +++ /dev/null @@ -1,826 +0,0 @@ -export declare const AaveL2Target3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=AaveL2Target3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts.map deleted file mode 100644 index 917e52103..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target3.d.ts","sourceRoot":"","sources":["../src/AaveL2Target3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+/BkkqC,KAAK,MAAM,EAAE;;;;;CAKxmqC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3.js b/packages/hyperdrive-artifacts/dist/AaveL2Target3.js deleted file mode 100644 index 5d9810fe6..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3.js +++ /dev/null @@ -1,1029 +0,0 @@ -export const AaveL2Target3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004a2438038062004a2483398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051614127620008fd5f395f818161198801528181611a2801528181612d6901528181612e210152612e6d01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161216e015281816121d101528181612a7a01528181612f8a0152612fc601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611d7f01525f8181611ed4015261321501525f81816110260152611ea801525f6131cb01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a1001525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f611aa101525f818161195b015281816119bc015281816119e901528181612e000152612e4c01526141275ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613992565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139f1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a51565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a64565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a51565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a64565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a64565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a51565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613af5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613b04565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613af5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613b04565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a64565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613b2f565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a51565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613b2f565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b57565b866107a960408c018c613b72565b6040516107bc9796959493929190613bb5565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613c08565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613c1f565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613b2f565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613b2f565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b57565b87610b5e6040890189613b72565b604051610b719796959493929190613bb5565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613b2f565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b57565b15610c8f57610c8585610c806040870187613b72565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b72565b611a9f565b610caf611b54565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611b66565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a51565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a64565b8a84611b7b565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a51565b4290611cb4565b84611b7b565b610f5888611cc2565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a64565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611e5f565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611e93565b915091508060095f828254610ff59190613a51565b909155506110109050865f8461100a81611766565b88611f60565b61101a8183613a51565b915061104a86838a8e877f00000000000000000000000000000000000000000000000000000000000000006120d7565b915061105e611059838561211a565b61212e565b6006805460029061107f9084906201000090046001600160701b0316613c4a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611e5f565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611e93565b915091508060095f8282546111419190613a51565b9091555061115c9050835f8461115681611766565b8a612157565b6111668183613a64565b9150611175611059838761211a565b600680546002906111969084906201000090046001600160701b0316613c4a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c8a565b5f612347565b8e6112428482612386565b50505b5f61124f84612575565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613cb9565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126b7565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611e5f565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611e5f565b6113f79190613c8a565b92915050565b5f805f8061140b8a8a61273f565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a64565b8b7f0000000000000000000000000000000000000000000000000000000000000000612777565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a64565b8d7f0000000000000000000000000000000000000000000000000000000000000000612830565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846128ea565b509093505f9050611568848f613a51565b90505f6115888b8b61157987611766565b611583908e613cd4565b612932565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612994565b611766565b6115c683611766565b6115d36115b8868561211a565b6115dd9190613c8a565b6115e79190613c8a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806129a4565b61162685670de0b6b3a7640000613a64565b906117d4565b6116346138e3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166129c7565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166129c7565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612a34565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a51565b90915550505f838152600b60205260408120805483929061183b908490613a51565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612386565b5f8183136118a7578261008d565b50919050565b5f806118b9848461273f565b9092509050806118cb576118cb612bc8565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612be1565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612c50565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a51565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612cb7565b5f611a0f7f0000000000000000000000000000000000000000000000000000000000000000875f612d46565b6040516303de9ce160e61b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f7a73840906024015f604051808303815f87803b158015611a71575f80fd5b505af1158015611a83573d5f803e3d5ffd5b50505050611a9086612dfa565b5f92509250505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd3330611ad987612e46565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611b2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4e9190613cfb565b50505050565b5f610c2d670de0b6b3a7640000612e46565b5f611b718284613d2a565b61008d9084613a64565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ba65750505050565b5f848152600860205260408120546001600160801b031690819003611bfe57611bce836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c7b565b611c4f611c4a670de0b6b3a7640000611c178886613a64565b611c219190613c08565b85670de0b6b3a7640000611c35878a613a64565b611c3f9190613c08565b859291906001612e92565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c84846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611ce4908490600160801b90046001600160801b031661211a565b6006546201000090046001600160701b03169250905081811115611e5a575f611d0d8383613a64565b9050611d1c611c4a8286612f2c565b60068054601090611d3e908490600160801b90046001600160801b0316613d3d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d7685836117d490919063ffffffff16565b90505f611da3827f000000000000000000000000000000000000000000000000000000000000000061211a565b90508060095f828254611db69190613a51565b90915550611dc690508183613a64565b9150611dd1826118d2565b600280545f90611deb9084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e1882612f40565b600480545f90611e2c908490600f0b613d5d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e885760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e9f87856117d4565b91505f611ecc837f000000000000000000000000000000000000000000000000000000000000000061211a565b9050611ef8817f000000000000000000000000000000000000000000000000000000000000000061211a565b91508315611f1b57611f0a8282613a64565b611f149084613a64565b9250611f32565b611f258282613a64565b611f2f9084613a51565b92505b86861015611f5557611f458387896117b9565b9250611f528287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fa8611c4a82611f8c670de0b6b3a764000086613c08565b600554600160801b90046001600160801b031691908a5f612e92565b600580546001600160801b03928316600160801b029216919091179055611fce866118d2565b611fd89082613d3d565b600480546001600160801b03928316600160801b029216919091179055611ffe846118d2565b600280545f906120189084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612045836118fb565b600480545f90612059908490600f0b613d5d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612089856118d2565b600280546010906120ab908490600160801b90046001600160801b0316613d3d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120e8846116268a888a6117b9565b90506120f58884866117b9565b6120ff9082613a51565b90508681111561210f5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061219957507f00000000000000000000000000000000000000000000000000000000000000006121978583613a64565b105b156121a6576121a6612bc8565b6004549084900390600f0b6121bb8482613c8a565b9050836121c786611766565b1380156121fc57507f00000000000000000000000000000000000000000000000000000000000000006121fa83836118ad565b105b1561220957612209612bc8565b600354600160801b90046001600160801b031661224a611c4a82612235670de0b6b3a764000088613c08565b6005546001600160801b031691908c5f612e92565b600580546001600160801b0319166001600160801b03929092169190911790556122748882613a64565b905061227f816118d2565b600380546001600160801b03928316600160801b0292169190911790556122a5836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556122ce826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556122f7876118d2565b60028054601090612319908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461236290611c4a906001600160801b03168484612932565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916123d0916001600160801b031690613a64565b9050805f036123e35760019150506113f7565b5f6123ed85612f69565b9050805f03612401576001925050506113f7565b5f8061240e838589613004565b9150915080612423575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161245e929190613d8a565b6040805180830381865af4158015612478573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249c9190613dff565b915091506124ba6124ac82611766565b6124b590613e21565b612a34565b9250826124cf575f96505050505050506113f7565b6124d8826118d2565b600780545f906124f29084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061251f816118d2565b60078054601090612541908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61259c8761162c565b6040518263ffffffff1660e01b81526004016125b89190613af5565b6040805180830381865af41580156125d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125f69190613e3b565b915091508061260b57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161267091613a51565b61267a9190613a64565b9050805f0361269057505f958695509350505050565b5f80871161269e575f6126a9565b6126a98488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126da576126da613e69565b6040519080825280601f01601f191660200182016040528015612704576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612724578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361274c86611766565b6127569190613c8a565b90505f81121561276c575f809250925050610d21565b946001945092505050565b5f805f612787888888888861316c565b90505f6127b1670de0b6b3a76400006127a08888612f2c565b6127aa9190613a51565b83906117d4565b9050670de0b6b3a764000081106127e5576127de6127d7670de0b6b3a7640000896117d4565b8290612be1565b90506127fd565b6127fa6127d7670de0b6b3a764000089612f2c565b90505b61280781866117d4565b90508881101561281e575f80935093505050612735565b97909703976001975095505050505050565b5f805f612840898988888861319a565b905061285a866119466128538a8d613a51565b879061211a565b9850612867858a866117b9565b98508881101561287d575f8092509250506115f6565b888103670de0b6b3a764000081106128ab576128a46127d7670de0b6b3a764000089612f2c565b90506128c3565b6128c06127d7670de0b6b3a7640000896117d4565b90505b808910156128d8575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6128fa8987896131be565b90925090506129098289613a64565b97505f61291782888a6117b9565b9050612923818b613a64565b9a989950979650505050505050565b5f8061293e845f613243565b612948845f613243565b6129529190613c8a565b90505f81131561296d576129668186613a51565b945061298b565b5f81121561298b5761297e81613e21565b6129889086613a64565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026129b8575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006129da610d28565b6129e49190613c08565b90508083116129f3575f6129fd565b6129fd8184613a64565b915061008d6127aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c08565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b0e9190613e7d565b935093509350935080612b2957505f98975050505050505050565b868414612b5a57612b39846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8b57612b6a836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb957612b9b826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bf85750670de0b6b3a76400006113f7565b825f03612c0657505f6113f7565b5f612c1083611766565b90505f612c24612c1f86611766565b613258565b9050818102612c3b670de0b6b3a764000082613ebb565b9050612c468161347d565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b4e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061360f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d08848261367a565b611b4e576040516001600160a01b0384811660248301525f6044830152612d3c91869182169063095ea7b390606401612c85565b611b4e848261360f565b6040516335ea6a7560e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612daf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd39190613fa4565b60e0015190505f612de3856118d2565b60101b609085901b01919091019150509392505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613717565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461373a565b5f825f03612ea1575084610075565b8115612ef357612ed2612eb48487613a51565b612ebe858761211a565b612ec8888a61211a565b6116269190613a51565b90505f612edf8588611cb4565b905080821015612eed578091505b50610075565b828503612f0157505f610075565b610072612f0e8487613a64565b612f188587612994565b612f22888a61211a565b6116269190613a64565b5f61008d83670de0b6b3a7640000846129a4565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612f83906001600160801b031684612f2c565b9050612faf7f000000000000000000000000000000000000000000000000000000000000000082613a51565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612ffa9083906001600160801b0316613a64565b61008d9190613a64565b61300c613938565b5f806130178461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130519190613af5565b6040805180830381865af415801561306b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061308f9190613e3b565b93509050826130a357505f9150611a979050565b5f6130c46115b884610160015185610140015161211a90919063ffffffff16565b6130e46115b885610120015186610100015161299490919063ffffffff16565b6130ee9190613c8a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6131778585612be1565b61319061318886611946868b61211a565b8590856117b9565b6100729190613a51565b5f6131a58585612be1565b6131906131b686611946868b612994565b8590856129a4565b5f8061320d8561320785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006131fd818c612f2c565b6132079190613a64565b90612994565b9150613239827f000000000000000000000000000000000000000000000000000000000000000061211a565b9050935093915050565b5f818313613251578161008d565b5090919050565b5f8082136132795760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906132fc9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361349657505f919050565b680755bf798b4a1bf1e582126134bf576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c4674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136236001600160a01b0384168361375c565b905080515f141580156136475750808060200190518101906136459190613cfb565b155b1561367557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161369591906140c5565b5f604051808303815f865af19150503d805f81146136ce576040519150601f19603f3d011682016040523d82523d5f602084013e6136d3565b606091505b50915091508180156136fd5750805115806136fd5750808060200190518101906136fd9190613cfb565b80156100755750505050506001600160a01b03163b151590565b5f61008a6b033b2e3c9fd0803ce80000006137328686613769565b8491906117b9565b5f61008a6137488585613769565b83906b033b2e3c9fd0803ce80000006117b9565b606061008d83835f6137d4565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa1580156137b0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d9190613b04565b6060814710156137f95760405163cd78605960e01b815230600482015260240161366c565b5f80856001600160a01b0316848660405161381491906140c5565b5f6040518083038185875af1925050503d805f811461384e576040519150601f19603f3d011682016040523d82523d5f602084013e613853565b606091505b5091509150612c468683836060826138735761386e826138ba565b61008d565b815115801561388a57506001600160a01b0384163b155b156138b357604051639996b31560e01b81526001600160a01b038516600482015260240161366c565b508061008d565b8051156138ca5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061394c6138e3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156139a6575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156139d8575f80fd5b6139e488828901613982565b9150509295509295909350565b5f805f60608486031215613a03575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613a27575f80fd5b613a3386828701613982565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613a3d565b818103818111156113f7576113f7613a3d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a77565b5f60208284031215613b14575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b3f575f80fd5b813561008d81613b1b565b8015158114610c0a575f80fd5b5f60208284031215613b67575f80fd5b813561008d81613b4a565b5f808335601e19843603018112613b87575f80fd5b83018035915067ffffffffffffffff821115613ba1575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613a3d565b5f805f60608486031215613c31575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613a3d565b6001600160801b038181168382160190808211156118cb576118cb613a3d565b8181035f8312801583831316838312821617156118cb576118cb613a3d565b8051613cb481613b1b565b919050565b5f60208284031215613cc9575f80fd5b815161008d81613b1b565b8082018281125f831280158216821582161715613cf357613cf3613a3d565b505092915050565b5f60208284031215613d0b575f80fd5b815161008d81613b4a565b634e487b7160e01b5f52601260045260245ffd5b5f82613d3857613d38613d16565b500690565b6001600160801b038281168282160390808211156118cb576118cb613a3d565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613a3d565b5f6102a082019050613d9d828551613a77565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613e10575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613e3557613e35613a3d565b505f0390565b5f8060408385031215613e4c575f80fd5b825191506020830151613e5e81613b4a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613e90575f80fd5b8451935060208501519250604085015191506060850151613eb081613b4a565b939692955090935050565b5f82613ec957613ec9613d16565b600160ff1b82145f1984141615613ee257613ee2613a3d565b500590565b6040516101e0810167ffffffffffffffff81118282101715613f1757634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613f2d575f80fd5b6040516020810181811067ffffffffffffffff82111715613f5c57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114613cb4575f80fd5b805164ffffffffff81168114613cb4575f80fd5b805161ffff81168114613cb4575f80fd5b5f6101e08284031215613fb5575f80fd5b613fbd613ee7565b613fc78484613f1d565b8152613fd560208401613f69565b6020820152613fe660408401613f69565b6040820152613ff760608401613f69565b606082015261400860808401613f69565b608082015261401960a08401613f69565b60a082015261402a60c08401613f7f565b60c082015261403b60e08401613f93565b60e082015261010061404e818501613ca9565b90820152610120614060848201613ca9565b90820152610140614072848201613ca9565b90820152610160614084848201613ca9565b90820152610180614096848201613f69565b908201526101a06140a8848201613f69565b908201526101c06140ba848201613f69565b908201529392505050565b5f82515f5b818110156140e457602081860181015185830152016140ca565b505f92019182525091905056fea2646970667358221220240c2ea458335572db19ff928f12ef3e08e3b8d82eff8e0d6d0dd98fcb62d0e964736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts deleted file mode 100644 index 329c1b2ac..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveL2Target3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveL2Target3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts.map deleted file mode 100644 index ca588f738..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target3Deployer.d.ts","sourceRoot":"","sources":["../src/AaveL2Target3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IspvC,KAAK,MAAM,EAAE;;;;CAIpsvC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.js b/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.js deleted file mode 100644 index 531417434..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveL2Target3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614f358061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b614a2480620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b5060405162004a2438038062004a2483398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051614127620008fd5f395f818161198801528181611a2801528181612d6901528181612e210152612e6d01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161216e015281816121d101528181612a7a01528181612f8a0152612fc601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611d7f01525f8181611ed4015261321501525f81816110260152611ea801525f6131cb01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a1001525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f611aa101525f818161195b015281816119bc015281816119e901528181612e000152612e4c01526141275ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613992565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139f1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a51565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a64565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a51565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a64565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a64565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a51565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613af5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613b04565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613af5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613b04565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a64565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613b2f565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a51565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613b2f565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b57565b866107a960408c018c613b72565b6040516107bc9796959493929190613bb5565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613c08565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613c1f565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613b2f565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613b2f565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b57565b87610b5e6040890189613b72565b604051610b719796959493929190613bb5565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613b2f565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b57565b15610c8f57610c8585610c806040870187613b72565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b72565b611a9f565b610caf611b54565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611b66565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a51565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a64565b8a84611b7b565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a51565b4290611cb4565b84611b7b565b610f5888611cc2565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a64565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611e5f565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611e93565b915091508060095f828254610ff59190613a51565b909155506110109050865f8461100a81611766565b88611f60565b61101a8183613a51565b915061104a86838a8e877f00000000000000000000000000000000000000000000000000000000000000006120d7565b915061105e611059838561211a565b61212e565b6006805460029061107f9084906201000090046001600160701b0316613c4a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611e5f565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611e93565b915091508060095f8282546111419190613a51565b9091555061115c9050835f8461115681611766565b8a612157565b6111668183613a64565b9150611175611059838761211a565b600680546002906111969084906201000090046001600160701b0316613c4a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c8a565b5f612347565b8e6112428482612386565b50505b5f61124f84612575565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613cb9565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126b7565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611e5f565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611e5f565b6113f79190613c8a565b92915050565b5f805f8061140b8a8a61273f565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a64565b8b7f0000000000000000000000000000000000000000000000000000000000000000612777565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a64565b8d7f0000000000000000000000000000000000000000000000000000000000000000612830565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846128ea565b509093505f9050611568848f613a51565b90505f6115888b8b61157987611766565b611583908e613cd4565b612932565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612994565b611766565b6115c683611766565b6115d36115b8868561211a565b6115dd9190613c8a565b6115e79190613c8a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806129a4565b61162685670de0b6b3a7640000613a64565b906117d4565b6116346138e3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166129c7565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166129c7565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612a34565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a51565b90915550505f838152600b60205260408120805483929061183b908490613a51565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612386565b5f8183136118a7578261008d565b50919050565b5f806118b9848461273f565b9092509050806118cb576118cb612bc8565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612be1565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612c50565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a51565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612cb7565b5f611a0f7f0000000000000000000000000000000000000000000000000000000000000000875f612d46565b6040516303de9ce160e61b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f7a73840906024015f604051808303815f87803b158015611a71575f80fd5b505af1158015611a83573d5f803e3d5ffd5b50505050611a9086612dfa565b5f92509250505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd3330611ad987612e46565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611b2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4e9190613cfb565b50505050565b5f610c2d670de0b6b3a7640000612e46565b5f611b718284613d2a565b61008d9084613a64565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ba65750505050565b5f848152600860205260408120546001600160801b031690819003611bfe57611bce836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c7b565b611c4f611c4a670de0b6b3a7640000611c178886613a64565b611c219190613c08565b85670de0b6b3a7640000611c35878a613a64565b611c3f9190613c08565b859291906001612e92565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c84846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611ce4908490600160801b90046001600160801b031661211a565b6006546201000090046001600160701b03169250905081811115611e5a575f611d0d8383613a64565b9050611d1c611c4a8286612f2c565b60068054601090611d3e908490600160801b90046001600160801b0316613d3d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d7685836117d490919063ffffffff16565b90505f611da3827f000000000000000000000000000000000000000000000000000000000000000061211a565b90508060095f828254611db69190613a51565b90915550611dc690508183613a64565b9150611dd1826118d2565b600280545f90611deb9084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e1882612f40565b600480545f90611e2c908490600f0b613d5d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e885760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e9f87856117d4565b91505f611ecc837f000000000000000000000000000000000000000000000000000000000000000061211a565b9050611ef8817f000000000000000000000000000000000000000000000000000000000000000061211a565b91508315611f1b57611f0a8282613a64565b611f149084613a64565b9250611f32565b611f258282613a64565b611f2f9084613a51565b92505b86861015611f5557611f458387896117b9565b9250611f528287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fa8611c4a82611f8c670de0b6b3a764000086613c08565b600554600160801b90046001600160801b031691908a5f612e92565b600580546001600160801b03928316600160801b029216919091179055611fce866118d2565b611fd89082613d3d565b600480546001600160801b03928316600160801b029216919091179055611ffe846118d2565b600280545f906120189084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612045836118fb565b600480545f90612059908490600f0b613d5d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612089856118d2565b600280546010906120ab908490600160801b90046001600160801b0316613d3d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120e8846116268a888a6117b9565b90506120f58884866117b9565b6120ff9082613a51565b90508681111561210f5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061219957507f00000000000000000000000000000000000000000000000000000000000000006121978583613a64565b105b156121a6576121a6612bc8565b6004549084900390600f0b6121bb8482613c8a565b9050836121c786611766565b1380156121fc57507f00000000000000000000000000000000000000000000000000000000000000006121fa83836118ad565b105b1561220957612209612bc8565b600354600160801b90046001600160801b031661224a611c4a82612235670de0b6b3a764000088613c08565b6005546001600160801b031691908c5f612e92565b600580546001600160801b0319166001600160801b03929092169190911790556122748882613a64565b905061227f816118d2565b600380546001600160801b03928316600160801b0292169190911790556122a5836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556122ce826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556122f7876118d2565b60028054601090612319908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461236290611c4a906001600160801b03168484612932565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916123d0916001600160801b031690613a64565b9050805f036123e35760019150506113f7565b5f6123ed85612f69565b9050805f03612401576001925050506113f7565b5f8061240e838589613004565b9150915080612423575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161245e929190613d8a565b6040805180830381865af4158015612478573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249c9190613dff565b915091506124ba6124ac82611766565b6124b590613e21565b612a34565b9250826124cf575f96505050505050506113f7565b6124d8826118d2565b600780545f906124f29084906001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061251f816118d2565b60078054601090612541908490600160801b90046001600160801b0316613c6a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61259c8761162c565b6040518263ffffffff1660e01b81526004016125b89190613af5565b6040805180830381865af41580156125d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125f69190613e3b565b915091508061260b57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161267091613a51565b61267a9190613a64565b9050805f0361269057505f958695509350505050565b5f80871161269e575f6126a9565b6126a98488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126da576126da613e69565b6040519080825280601f01601f191660200182016040528015612704576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612724578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361274c86611766565b6127569190613c8a565b90505f81121561276c575f809250925050610d21565b946001945092505050565b5f805f612787888888888861316c565b90505f6127b1670de0b6b3a76400006127a08888612f2c565b6127aa9190613a51565b83906117d4565b9050670de0b6b3a764000081106127e5576127de6127d7670de0b6b3a7640000896117d4565b8290612be1565b90506127fd565b6127fa6127d7670de0b6b3a764000089612f2c565b90505b61280781866117d4565b90508881101561281e575f80935093505050612735565b97909703976001975095505050505050565b5f805f612840898988888861319a565b905061285a866119466128538a8d613a51565b879061211a565b9850612867858a866117b9565b98508881101561287d575f8092509250506115f6565b888103670de0b6b3a764000081106128ab576128a46127d7670de0b6b3a764000089612f2c565b90506128c3565b6128c06127d7670de0b6b3a7640000896117d4565b90505b808910156128d8575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6128fa8987896131be565b90925090506129098289613a64565b97505f61291782888a6117b9565b9050612923818b613a64565b9a989950979650505050505050565b5f8061293e845f613243565b612948845f613243565b6129529190613c8a565b90505f81131561296d576129668186613a51565b945061298b565b5f81121561298b5761297e81613e21565b6129889086613a64565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026129b8575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006129da610d28565b6129e49190613c08565b90508083116129f3575f6129fd565b6129fd8184613a64565b915061008d6127aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c08565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b0e9190613e7d565b935093509350935080612b2957505f98975050505050505050565b868414612b5a57612b39846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8b57612b6a836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb957612b9b826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bf85750670de0b6b3a76400006113f7565b825f03612c0657505f6113f7565b5f612c1083611766565b90505f612c24612c1f86611766565b613258565b9050818102612c3b670de0b6b3a764000082613ebb565b9050612c468161347d565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b4e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061360f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d08848261367a565b611b4e576040516001600160a01b0384811660248301525f6044830152612d3c91869182169063095ea7b390606401612c85565b611b4e848261360f565b6040516335ea6a7560e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612daf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd39190613fa4565b60e0015190505f612de3856118d2565b60101b609085901b01919091019150509392505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613717565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461373a565b5f825f03612ea1575084610075565b8115612ef357612ed2612eb48487613a51565b612ebe858761211a565b612ec8888a61211a565b6116269190613a51565b90505f612edf8588611cb4565b905080821015612eed578091505b50610075565b828503612f0157505f610075565b610072612f0e8487613a64565b612f188587612994565b612f22888a61211a565b6116269190613a64565b5f61008d83670de0b6b3a7640000846129a4565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612f83906001600160801b031684612f2c565b9050612faf7f000000000000000000000000000000000000000000000000000000000000000082613a51565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612ffa9083906001600160801b0316613a64565b61008d9190613a64565b61300c613938565b5f806130178461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130519190613af5565b6040805180830381865af415801561306b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061308f9190613e3b565b93509050826130a357505f9150611a979050565b5f6130c46115b884610160015185610140015161211a90919063ffffffff16565b6130e46115b885610120015186610100015161299490919063ffffffff16565b6130ee9190613c8a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6131778585612be1565b61319061318886611946868b61211a565b8590856117b9565b6100729190613a51565b5f6131a58585612be1565b6131906131b686611946868b612994565b8590856129a4565b5f8061320d8561320785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006131fd818c612f2c565b6132079190613a64565b90612994565b9150613239827f000000000000000000000000000000000000000000000000000000000000000061211a565b9050935093915050565b5f818313613251578161008d565b5090919050565b5f8082136132795760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906132fc9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361349657505f919050565b680755bf798b4a1bf1e582126134bf576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c4674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136236001600160a01b0384168361375c565b905080515f141580156136475750808060200190518101906136459190613cfb565b155b1561367557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161369591906140c5565b5f604051808303815f865af19150503d805f81146136ce576040519150601f19603f3d011682016040523d82523d5f602084013e6136d3565b606091505b50915091508180156136fd5750805115806136fd5750808060200190518101906136fd9190613cfb565b80156100755750505050506001600160a01b03163b151590565b5f61008a6b033b2e3c9fd0803ce80000006137328686613769565b8491906117b9565b5f61008a6137488585613769565b83906b033b2e3c9fd0803ce80000006117b9565b606061008d83835f6137d4565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa1580156137b0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d9190613b04565b6060814710156137f95760405163cd78605960e01b815230600482015260240161366c565b5f80856001600160a01b0316848660405161381491906140c5565b5f6040518083038185875af1925050503d805f811461384e576040519150601f19603f3d011682016040523d82523d5f602084013e613853565b606091505b5091509150612c468683836060826138735761386e826138ba565b61008d565b815115801561388a57506001600160a01b0384163b155b156138b357604051639996b31560e01b81526001600160a01b038516600482015260240161366c565b508061008d565b8051156138ca5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061394c6138e3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156139a6575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156139d8575f80fd5b6139e488828901613982565b9150509295509295909350565b5f805f60608486031215613a03575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613a27575f80fd5b613a3386828701613982565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613a3d565b818103818111156113f7576113f7613a3d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a77565b5f60208284031215613b14575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b3f575f80fd5b813561008d81613b1b565b8015158114610c0a575f80fd5b5f60208284031215613b67575f80fd5b813561008d81613b4a565b5f808335601e19843603018112613b87575f80fd5b83018035915067ffffffffffffffff821115613ba1575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613a3d565b5f805f60608486031215613c31575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613a3d565b6001600160801b038181168382160190808211156118cb576118cb613a3d565b8181035f8312801583831316838312821617156118cb576118cb613a3d565b8051613cb481613b1b565b919050565b5f60208284031215613cc9575f80fd5b815161008d81613b1b565b8082018281125f831280158216821582161715613cf357613cf3613a3d565b505092915050565b5f60208284031215613d0b575f80fd5b815161008d81613b4a565b634e487b7160e01b5f52601260045260245ffd5b5f82613d3857613d38613d16565b500690565b6001600160801b038281168282160390808211156118cb576118cb613a3d565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613a3d565b5f6102a082019050613d9d828551613a77565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613e10575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613e3557613e35613a3d565b505f0390565b5f8060408385031215613e4c575f80fd5b825191506020830151613e5e81613b4a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613e90575f80fd5b8451935060208501519250604085015191506060850151613eb081613b4a565b939692955090935050565b5f82613ec957613ec9613d16565b600160ff1b82145f1984141615613ee257613ee2613a3d565b500590565b6040516101e0810167ffffffffffffffff81118282101715613f1757634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60208284031215613f2d575f80fd5b6040516020810181811067ffffffffffffffff82111715613f5c57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114613cb4575f80fd5b805164ffffffffff81168114613cb4575f80fd5b805161ffff81168114613cb4575f80fd5b5f6101e08284031215613fb5575f80fd5b613fbd613ee7565b613fc78484613f1d565b8152613fd560208401613f69565b6020820152613fe660408401613f69565b6040820152613ff760608401613f69565b606082015261400860808401613f69565b608082015261401960a08401613f69565b60a082015261402a60c08401613f7f565b60c082015261403b60e08401613f93565b60e082015261010061404e818501613ca9565b90820152610120614060848201613ca9565b90820152610140614072848201613ca9565b90820152610160614084848201613ca9565b90820152610180614096848201613f69565b908201526101a06140a8848201613f69565b908201526101c06140ba848201613f69565b908201529392505050565b5f82515f5b818110156140e457602081860181015185830152016140ca565b505f92019182525091905056fea2646970667358221220240c2ea458335572db19ff928f12ef3e08e3b8d82eff8e0d6d0dd98fcb62d0e964736f6c63430008160033a264697066735822122097a9b7ce2eca9587951b9811965eade12c59e2af59b8ccf74f7701a5e15577ee64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts deleted file mode 100644 index 46930bbe1..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts +++ /dev/null @@ -1,805 +0,0 @@ -export declare const AaveL2Target4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=AaveL2Target4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts.map deleted file mode 100644 index d0a7fa460..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target4.d.ts","sourceRoot":"","sources":["../src/AaveL2Target4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo+Bst6B,KAAK,MAAM,EAAE;;;;;;CAM5v6B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4.js b/packages/hyperdrive-artifacts/dist/AaveL2Target4.js deleted file mode 100644 index ea1999382..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4.js +++ /dev/null @@ -1,1003 +0,0 @@ -export const AaveL2Target4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003a6e38038062003a6e83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516102805161322c620008425f395f81816110aa01528181612242015281816122b401526129c001525f50505f50505f61099201525f50505f818161025f0152611f1f01525f818161177f015281816117e201528181611b0f01528181611b4b01528181611d3c0152611ef901525f81816105500152611ed301525f61136101525f6114b601525f818161070d015261148a01525f50505f81816105710152611f4501525f818161064b01526124dd01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6123c701525f8181611089015281816122210152818161226e015261234f015261322c5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612af9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b4b565b6100b1565b005b610056610092366004612af9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b7f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ba7565b61016a60408c018c612bc2565b60405161017c96959493929190612c2d565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c7a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b7f565b88610ea4565b5f6102f56102ec6020870187612b7f565b88848989610a9e565b90945090506103048188612ca1565b92505f61031083610f41565b5090506103206020870187612b7f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ba7565b8a888e80604001906103709190612bc2565b604051610384989796959493929190612cb4565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b7f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110cf565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612cfb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110eb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061110b565b92505b506105a28361112a565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ca1565b8a84611157565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612cfb565b4290611290565b84611157565b61063f886112a4565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ca1565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611441565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611475565b915091508060095f8282546106dc9190612cfb565b909155506106f79050865f846106f181611542565b8861156b565b6107018183612cfb565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116e2565b9150610745610740838561172b565b61173f565b600680546002906107669084906201000090046001600160701b0316612d0e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261112a565b600680546010906107b5908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611441565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611475565b915091508060095f8282546108289190612cfb565b909155506108439050835f8461083d81611542565b8a611768565b61084d8183612ca1565b915061085c610740838761172b565b6006805460029061087d9084906201000090046001600160701b0316612d0e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261112a565b600680546010906108cc908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611542565b61090e83611542565b6109189190612d4e565b5f611958565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d7d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611997565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a1d565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a29565b9050610b208361112a565b610b2a9083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161112a565b60078054601090610b75908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a44565b9350610bb08684611ada565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ca1565b9050805f03610c3a576001915050610dc7565b5f610c4485611aee565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b89565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e36565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612eab565b91509150610d11610d0382611542565b610d0c90612ecd565b611cf6565b925082610d26575f9650505050505050610dc7565b610d2f8261112a565b600780545f90610d499084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161112a565b60078054601090610d98908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ca1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612cfb565b90915550505f838152600b602052604081208054839290610ef7908490612cfb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e8a565b6040518263ffffffff1660e01b8152600401610f849190612ee7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ef6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612cfb565b6110469190612ca1565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a29565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084611fc4565b5f6110da8284612c7a565b6110e49084612ca1565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fe6565b5f6111218261111b858888611a29565b9061200b565b95945050505050565b5f6001600160801b0382111561115357604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111825750505050565b5f848152600860205260408120546001600160801b0316908190036111da576111aa8361112a565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611257565b61122b611226670de0b6b3a76400006111f38886612ca1565b6111fd9190612f24565b85670de0b6b3a7640000611211878a612ca1565b61121b9190612f24565b85929190600161207a565b61112a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112608461112a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161129e57826110e4565b50919050565b6006545f9081906112c6908490600160801b90046001600160801b031661172b565b6006546201000090046001600160701b0316925090508181111561143c575f6112ef8383612ca1565b90506112fe6112268286612114565b60068054601090611320908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611358858361212890919063ffffffff16565b90505f611385827f000000000000000000000000000000000000000000000000000000000000000061172b565b90508060095f8282546113989190612cfb565b909155506113a890508183612ca1565b91506113b38261112a565b600280545f906113cd9084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113fa8261213c565b600480545f9061140e908490600f0b612f3b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561146a5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114818785612128565b91505f6114ae837f000000000000000000000000000000000000000000000000000000000000000061172b565b90506114da817f000000000000000000000000000000000000000000000000000000000000000061172b565b915083156114fd576114ec8282612ca1565b6114f69084612ca1565b9250611514565b6115078282612ca1565b6115119084612cfb565b92505b8686101561153757611527838789611a29565b9250611534828789611a29565b91505b509550959350505050565b5f6001600160ff1b038211156111535760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115b361122682611597670de0b6b3a764000086612f24565b600554600160801b90046001600160801b031691908a5f61207a565b600580546001600160801b03928316600160801b0292169190911790556115d98661112a565b6115e39082612d98565b600480546001600160801b03928316600160801b0292169190911790556116098461112a565b600280545f906116239084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165083612165565b600480545f90611664908490600f0b612f3b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116948561112a565b600280546010906116b6908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116f9846116f38a888a611a29565b90612128565b9050611706888486611a29565b6117109082612cfb565b9050868111156117205786810391505b509695505050505050565b5f6110e48383670de0b6b3a7640000611a29565b5f6001600160701b038211156111535760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117aa57507f00000000000000000000000000000000000000000000000000000000000000006117a88583612ca1565b105b156117b7576117b76121a0565b6004549084900390600f0b6117cc8482612d4e565b9050836117d886611542565b13801561180d57507f000000000000000000000000000000000000000000000000000000000000000061180b8383611fe6565b105b1561181a5761181a6121a0565b600354600160801b90046001600160801b031661185b61122682611846670de0b6b3a764000088612f24565b6005546001600160801b031691908c5f61207a565b600580546001600160801b0319166001600160801b03929092169190911790556118858882612ca1565b90506118908161112a565b600380546001600160801b03928316600160801b0292169190911790556118b68361112a565b600280546001600160801b0319166001600160801b03929092169190911790556118df82612165565b600480546001600160801b0319166001600160801b03929092169190911790556119088761112a565b6002805460109061192a908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461197390611226906001600160801b031684846121b9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119ba576119ba612f68565b6040519080825280601f01601f1916602001820160405280156119e4576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a04578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a3d575f80fd5b5091020490565b5f80611a50858561172b565b9050611a5b8161221b565b9450845f03611a6d575f9150506110e4565b849150611a806040840160208501612ba7565b15611aaf57611aa885611a966020860186612b7f565b611aa36040870187612bc2565b612267565b9150611ad2565b611ad285611ac06020860186612b7f565b611acd6040870187612bc2565b6123c5565b509392505050565b5f6110e48383670de0b6b3a7640000612471565b6003545f908190611b08906001600160801b031684612114565b9050611b347f000000000000000000000000000000000000000000000000000000000000000082612cfb565b6002546001600160801b0316111561129e576002547f000000000000000000000000000000000000000000000000000000000000000090611b7f9083906001600160801b0316612ca1565b6110e49190612ca1565b611b91612a5a565b5f80611b9c84611e8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bd69190612ee7565b6040805180830381865af4158015611bf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c149190612ef6565b9350905082611c2857505f91506100a99050565b5f611c4e611c4984610160015185610140015161172b90919063ffffffff16565b611542565b611c6e611c49856101200151866101000151611ada90919063ffffffff16565b611c789190612d4e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dd09190612f7c565b935093509350935080611deb57505f98975050505050505050565b868414611e1c57611dfb8461112a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e4d57611e2c83612165565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e7b57611e5d8261112a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e92612aa4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f8a9116612494565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fbc92900416612494565b905292915050565b5f610a96611fd28585612508565b83906b033b2e3c9fd0803ce8000000611a29565b5f80611ff28484612573565b909250905080612004576120046121a0565b5092915050565b5f815f036120225750670de0b6b3a7640000610dc7565b825f0361203057505f610dc7565b5f61203a83611542565b90505f61204e61204986611542565b6125ae565b9050818102612065670de0b6b3a764000082612fba565b9050612070816127d3565b9695505050505050565b5f825f03612089575084611121565b81156120db576120ba61209c8487612cfb565b6120a6858761172b565b6120b0888a61172b565b6116f39190612cfb565b90505f6120c78588611290565b9050808210156120d5578091505b50611121565b8285036120e957505f611121565b6120706120f68487612ca1565b6121008587611ada565b61210a888a61172b565b6116f39190612ca1565b5f6110e483670de0b6b3a764000084612471565b5f6110e483670de0b6b3a764000084611a29565b5f60016001607f1b038211156111535760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612182575060016001607f1b0382135b156111535760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121c5845f612965565b6121cf845f612965565b6121d99190612d4e565b90505f8113156121f4576121ed8186612cfb565b9450612212565b5f8112156122125761220581612ecd565b61220f9086612ca1565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461297a565b5f8061229b7f000000000000000000000000000000000000000000000000000000000000000061229688611083565b61299d565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612302573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123269190612fe6565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612397573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123bb9190612ffd565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846123fe87611083565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612446573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246a9190612ffd565b5050505050565b5f825f190484118302158202612485575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124a761040f565b6124b19190612f24565b90508083116124c0575f6124ca565b6124ca8184612ca1565b91506110e4612501670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f24565b8390612128565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa15801561254f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e49190612fe6565b5f805f8361258086611542565b61258a9190612d4e565b90505f8112156125a0575f8092509250506125a7565b9150600190505b9250929050565b5f8082136125cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906126529084901c611542565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136127ec57505f919050565b680755bf798b4a1bf1e58212612815576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611542565b5f81831361297357816110e4565b5090919050565b5f610a966b033b2e3c9fd0803ce80000006129958686612508565b849190611a29565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612a06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2a91906130d5565b60e08101519091505f5f198514612a415784612a4a565b6001600160801b035b60101b9190910195945050505050565b604051806101200160405280612a6e612aa4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b0b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b2f575f80fd5b840160608187031215612b40575f80fd5b809150509250925092565b5f8060408385031215612b5c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b8f575f80fd5b81356110e481612b6b565b80151581146103f5575f80fd5b5f60208284031215612bb7575f80fd5b81356110e481612b9a565b5f808335601e19843603018112612bd7575f80fd5b83018035915067ffffffffffffffff821115612bf1575f80fd5b6020019150368190038213156125a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c5a60a083018486612c05565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c8857612c88612c66565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c8d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ced60e083018486612c05565b9a9950505050505050505050565b80820180821115610dc757610dc7612c8d565b6001600160701b0381811683821601908082111561200457612004612c8d565b6001600160801b0381811683821601908082111561200457612004612c8d565b8181035f83128015838313168383128216171561200457612004612c8d565b8051612d7881612b6b565b919050565b5f60208284031215612d8d575f80fd5b81516110e481612b6b565b6001600160801b0382811682821603908082111561200457612004612c8d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c8d565b505f0390565b6101808101610dc78284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612b9a565b809150509250929050565b8082028115828204841417610dc757610dc7612c8d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c8d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f8f575f80fd5b8451935060208501519250604085015191506060850151612faf81612b9a565b939692955090935050565b5f82612fc857612fc8612c66565b600160ff1b82145f1984141615612fe157612fe1612c8d565b500590565b5f60208284031215612ff6575f80fd5b5051919050565b5f6020828403121561300d575f80fd5b81516110e481612b9a565b6040516101e0810167ffffffffffffffff8111828210171561304857634e487b7160e01b5f52604160045260245ffd5b60405290565b5f6020828403121561305e575f80fd5b6040516020810181811067ffffffffffffffff8211171561308d57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114612d78575f80fd5b805164ffffffffff81168114612d78575f80fd5b805161ffff81168114612d78575f80fd5b5f6101e082840312156130e6575f80fd5b6130ee613018565b6130f8848461304e565b81526131066020840161309a565b60208201526131176040840161309a565b60408201526131286060840161309a565b60608201526131396080840161309a565b608082015261314a60a0840161309a565b60a082015261315b60c084016130b0565b60c082015261316c60e084016130c4565b60e082015261010061317f818501612d6d565b90820152610120613191848201612d6d565b908201526101406131a3848201612d6d565b908201526101606131b5848201612d6d565b908201526101806131c784820161309a565b908201526101a06131d984820161309a565b908201526101c06131eb84820161309a565b90820152939250505056fea2646970667358221220173c1d6628f106d9671541f080af69e51f8a356bed447913f2d707c21468971864736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts deleted file mode 100644 index 06b3e29da..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveL2Target4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveL2Target4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts.map deleted file mode 100644 index 53078ca55..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveL2Target4Deployer.d.ts","sourceRoot":"","sources":["../src/AaveL2Target4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I0y/B,KAAK,MAAM,EAAE;;;;CAIx1/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.js b/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.js deleted file mode 100644 index 0c1a022ac..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveL2Target4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveL2Target4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50613f7f8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b613a6e80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b5060405162003a6e38038062003a6e83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516102805161322c620008425f395f81816110aa01528181612242015281816122b401526129c001525f50505f50505f61099201525f50505f818161025f0152611f1f01525f818161177f015281816117e201528181611b0f01528181611b4b01528181611d3c0152611ef901525f81816105500152611ed301525f61136101525f6114b601525f818161070d015261148a01525f50505f81816105710152611f4501525f818161064b01526124dd01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6123c701525f8181611089015281816122210152818161226e015261234f015261322c5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612af9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b4b565b6100b1565b005b610056610092366004612af9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b7f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ba7565b61016a60408c018c612bc2565b60405161017c96959493929190612c2d565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c7a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b7f565b88610ea4565b5f6102f56102ec6020870187612b7f565b88848989610a9e565b90945090506103048188612ca1565b92505f61031083610f41565b5090506103206020870187612b7f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ba7565b8a888e80604001906103709190612bc2565b604051610384989796959493929190612cb4565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b7f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110cf565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612cfb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110eb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061110b565b92505b506105a28361112a565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ca1565b8a84611157565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612cfb565b4290611290565b84611157565b61063f886112a4565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ca1565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611441565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611475565b915091508060095f8282546106dc9190612cfb565b909155506106f79050865f846106f181611542565b8861156b565b6107018183612cfb565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116e2565b9150610745610740838561172b565b61173f565b600680546002906107669084906201000090046001600160701b0316612d0e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261112a565b600680546010906107b5908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611441565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611475565b915091508060095f8282546108289190612cfb565b909155506108439050835f8461083d81611542565b8a611768565b61084d8183612ca1565b915061085c610740838761172b565b6006805460029061087d9084906201000090046001600160701b0316612d0e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261112a565b600680546010906108cc908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611542565b61090e83611542565b6109189190612d4e565b5f611958565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d7d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611997565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a1d565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a29565b9050610b208361112a565b610b2a9083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161112a565b60078054601090610b75908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a44565b9350610bb08684611ada565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ca1565b9050805f03610c3a576001915050610dc7565b5f610c4485611aee565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b89565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e36565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612eab565b91509150610d11610d0382611542565b610d0c90612ecd565b611cf6565b925082610d26575f9650505050505050610dc7565b610d2f8261112a565b600780545f90610d499084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161112a565b60078054601090610d98908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ca1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612cfb565b90915550505f838152600b602052604081208054839290610ef7908490612cfb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e8a565b6040518263ffffffff1660e01b8152600401610f849190612ee7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ef6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612cfb565b6110469190612ca1565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a29565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084611fc4565b5f6110da8284612c7a565b6110e49084612ca1565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fe6565b5f6111218261111b858888611a29565b9061200b565b95945050505050565b5f6001600160801b0382111561115357604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111825750505050565b5f848152600860205260408120546001600160801b0316908190036111da576111aa8361112a565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611257565b61122b611226670de0b6b3a76400006111f38886612ca1565b6111fd9190612f24565b85670de0b6b3a7640000611211878a612ca1565b61121b9190612f24565b85929190600161207a565b61112a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112608461112a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161129e57826110e4565b50919050565b6006545f9081906112c6908490600160801b90046001600160801b031661172b565b6006546201000090046001600160701b0316925090508181111561143c575f6112ef8383612ca1565b90506112fe6112268286612114565b60068054601090611320908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611358858361212890919063ffffffff16565b90505f611385827f000000000000000000000000000000000000000000000000000000000000000061172b565b90508060095f8282546113989190612cfb565b909155506113a890508183612ca1565b91506113b38261112a565b600280545f906113cd9084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113fa8261213c565b600480545f9061140e908490600f0b612f3b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561146a5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114818785612128565b91505f6114ae837f000000000000000000000000000000000000000000000000000000000000000061172b565b90506114da817f000000000000000000000000000000000000000000000000000000000000000061172b565b915083156114fd576114ec8282612ca1565b6114f69084612ca1565b9250611514565b6115078282612ca1565b6115119084612cfb565b92505b8686101561153757611527838789611a29565b9250611534828789611a29565b91505b509550959350505050565b5f6001600160ff1b038211156111535760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115b361122682611597670de0b6b3a764000086612f24565b600554600160801b90046001600160801b031691908a5f61207a565b600580546001600160801b03928316600160801b0292169190911790556115d98661112a565b6115e39082612d98565b600480546001600160801b03928316600160801b0292169190911790556116098461112a565b600280545f906116239084906001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165083612165565b600480545f90611664908490600f0b612f3b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116948561112a565b600280546010906116b6908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116f9846116f38a888a611a29565b90612128565b9050611706888486611a29565b6117109082612cfb565b9050868111156117205786810391505b509695505050505050565b5f6110e48383670de0b6b3a7640000611a29565b5f6001600160701b038211156111535760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117aa57507f00000000000000000000000000000000000000000000000000000000000000006117a88583612ca1565b105b156117b7576117b76121a0565b6004549084900390600f0b6117cc8482612d4e565b9050836117d886611542565b13801561180d57507f000000000000000000000000000000000000000000000000000000000000000061180b8383611fe6565b105b1561181a5761181a6121a0565b600354600160801b90046001600160801b031661185b61122682611846670de0b6b3a764000088612f24565b6005546001600160801b031691908c5f61207a565b600580546001600160801b0319166001600160801b03929092169190911790556118858882612ca1565b90506118908161112a565b600380546001600160801b03928316600160801b0292169190911790556118b68361112a565b600280546001600160801b0319166001600160801b03929092169190911790556118df82612165565b600480546001600160801b0319166001600160801b03929092169190911790556119088761112a565b6002805460109061192a908490600160801b90046001600160801b0316612d2e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461197390611226906001600160801b031684846121b9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119ba576119ba612f68565b6040519080825280601f01601f1916602001820160405280156119e4576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a04578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a3d575f80fd5b5091020490565b5f80611a50858561172b565b9050611a5b8161221b565b9450845f03611a6d575f9150506110e4565b849150611a806040840160208501612ba7565b15611aaf57611aa885611a966020860186612b7f565b611aa36040870187612bc2565b612267565b9150611ad2565b611ad285611ac06020860186612b7f565b611acd6040870187612bc2565b6123c5565b509392505050565b5f6110e48383670de0b6b3a7640000612471565b6003545f908190611b08906001600160801b031684612114565b9050611b347f000000000000000000000000000000000000000000000000000000000000000082612cfb565b6002546001600160801b0316111561129e576002547f000000000000000000000000000000000000000000000000000000000000000090611b7f9083906001600160801b0316612ca1565b6110e49190612ca1565b611b91612a5a565b5f80611b9c84611e8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bd69190612ee7565b6040805180830381865af4158015611bf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c149190612ef6565b9350905082611c2857505f91506100a99050565b5f611c4e611c4984610160015185610140015161172b90919063ffffffff16565b611542565b611c6e611c49856101200151866101000151611ada90919063ffffffff16565b611c789190612d4e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dd09190612f7c565b935093509350935080611deb57505f98975050505050505050565b868414611e1c57611dfb8461112a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e4d57611e2c83612165565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e7b57611e5d8261112a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e92612aa4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f8a9116612494565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fbc92900416612494565b905292915050565b5f610a96611fd28585612508565b83906b033b2e3c9fd0803ce8000000611a29565b5f80611ff28484612573565b909250905080612004576120046121a0565b5092915050565b5f815f036120225750670de0b6b3a7640000610dc7565b825f0361203057505f610dc7565b5f61203a83611542565b90505f61204e61204986611542565b6125ae565b9050818102612065670de0b6b3a764000082612fba565b9050612070816127d3565b9695505050505050565b5f825f03612089575084611121565b81156120db576120ba61209c8487612cfb565b6120a6858761172b565b6120b0888a61172b565b6116f39190612cfb565b90505f6120c78588611290565b9050808210156120d5578091505b50611121565b8285036120e957505f611121565b6120706120f68487612ca1565b6121008587611ada565b61210a888a61172b565b6116f39190612ca1565b5f6110e483670de0b6b3a764000084612471565b5f6110e483670de0b6b3a764000084611a29565b5f60016001607f1b038211156111535760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612182575060016001607f1b0382135b156111535760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121c5845f612965565b6121cf845f612965565b6121d99190612d4e565b90505f8113156121f4576121ed8186612cfb565b9450612212565b5f8112156122125761220581612ecd565b61220f9086612ca1565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461297a565b5f8061229b7f000000000000000000000000000000000000000000000000000000000000000061229688611083565b61299d565b60405163470cc4cf60e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e19899e906024016020604051808303815f875af1158015612302573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123269190612fe6565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390529193507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612397573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123bb9190612ffd565b5050949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846123fe87611083565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612446573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246a9190612ffd565b5050505050565b5f825f190484118302158202612485575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124a761040f565b6124b19190612f24565b90508083116124c0575f6124ca565b6124ca8184612ca1565b91506110e4612501670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f24565b8390612128565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa15801561254f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e49190612fe6565b5f805f8361258086611542565b61258a9190612d4e565b90505f8112156125a0575f8092509250506125a7565b9150600190505b9250929050565b5f8082136125cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906126529084901c611542565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136127ec57505f919050565b680755bf798b4a1bf1e58212612815576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611542565b5f81831361297357816110e4565b5090919050565b5f610a966b033b2e3c9fd0803ce80000006129958686612508565b849190611a29565b6040516335ea6a7560e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015612a06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2a91906130d5565b60e08101519091505f5f198514612a415784612a4a565b6001600160801b035b60101b9190910195945050505050565b604051806101200160405280612a6e612aa4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b0b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b2f575f80fd5b840160608187031215612b40575f80fd5b809150509250925092565b5f8060408385031215612b5c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b8f575f80fd5b81356110e481612b6b565b80151581146103f5575f80fd5b5f60208284031215612bb7575f80fd5b81356110e481612b9a565b5f808335601e19843603018112612bd7575f80fd5b83018035915067ffffffffffffffff821115612bf1575f80fd5b6020019150368190038213156125a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c5a60a083018486612c05565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c8857612c88612c66565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c8d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ced60e083018486612c05565b9a9950505050505050505050565b80820180821115610dc757610dc7612c8d565b6001600160701b0381811683821601908082111561200457612004612c8d565b6001600160801b0381811683821601908082111561200457612004612c8d565b8181035f83128015838313168383128216171561200457612004612c8d565b8051612d7881612b6b565b919050565b5f60208284031215612d8d575f80fd5b81516110e481612b6b565b6001600160801b0382811682821603908082111561200457612004612c8d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c8d565b505f0390565b6101808101610dc78284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612b9a565b809150509250929050565b8082028115828204841417610dc757610dc7612c8d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c8d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f8f575f80fd5b8451935060208501519250604085015191506060850151612faf81612b9a565b939692955090935050565b5f82612fc857612fc8612c66565b600160ff1b82145f1984141615612fe157612fe1612c8d565b500590565b5f60208284031215612ff6575f80fd5b5051919050565b5f6020828403121561300d575f80fd5b81516110e481612b9a565b6040516101e0810167ffffffffffffffff8111828210171561304857634e487b7160e01b5f52604160045260245ffd5b60405290565b5f6020828403121561305e575f80fd5b6040516020810181811067ffffffffffffffff8211171561308d57634e487b7160e01b5f52604160045260245ffd5b6040529151825250919050565b80516001600160801b0381168114612d78575f80fd5b805164ffffffffff81168114612d78575f80fd5b805161ffff81168114612d78575f80fd5b5f6101e082840312156130e6575f80fd5b6130ee613018565b6130f8848461304e565b81526131066020840161309a565b60208201526131176040840161309a565b60408201526131286060840161309a565b60608201526131396080840161309a565b608082015261314a60a0840161309a565b60a082015261315b60c084016130b0565b60c082015261316c60e084016130c4565b60e082015261010061317f818501612d6d565b90820152610120613191848201612d6d565b908201526101406131a3848201612d6d565b908201526101606131b5848201612d6d565b908201526101806131c784820161309a565b908201526101a06131d984820161309a565b908201526101c06131eb84820161309a565b90820152939250505056fea2646970667358221220173c1d6628f106d9671541f080af69e51f8a356bed447913f2d707c21468971864736f6c63430008160033a2646970667358221220f6fb537c820fb6588d94c72c397156a8025eba45954b7a0b4848e236a1ab2d1964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts deleted file mode 100644 index 2c46b6dfc..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts +++ /dev/null @@ -1,1534 +0,0 @@ -export declare const AaveTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AaveTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts.map deleted file mode 100644 index 03451dfb9..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget0.d.ts","sourceRoot":"","sources":["../src/AaveTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy2DojjC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CxljC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0.js b/packages/hyperdrive-artifacts/dist/AaveTarget0.js deleted file mode 100644 index 176f18cdd..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0.js +++ /dev/null @@ -1,1940 +0,0 @@ -export const AaveTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b506040516200431c3803806200431c83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a8f6200088d5f395f81816115060152818161260b015281816126570152612a5401525f8181610d6a015261237201525f8181610d3b015261233501525f8181610c1701528181610e9a01528181610f2801528181610fb6015281816110440152818161168c01528181611722015281816118e401528181611efc01528181611fd0015261212101525f610e0201525f8181610ddc015261251701525f8181610db601526124f101525f8181610d9001526124cb01525f61114f01525f61112901525f61110301525f6110dd01525f8181610e74015261253d01525f8181610e28015281816112da01526128fc01525f8181610e4e0152612bd701525f818161061901528181610d0c01528181611e710152612b2d01525f818161074301528181610cdd01528181611277015281816125ea015281816126360152612a830152613a8f5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063becee9c3116100b4578063d816574311610079578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535578063fbfa77cf14610564575f80fd5b8063becee9c3146104a4578063c55dae63146104c4578063c69e16ad146104cc578063c6e6f592146104d4578063cf210e65146104e7575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063ab033ea914610458578063b0d9658014610469578063b88fed9f1461047e578063bd85b03914610491575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612e7a565b61056c565b6040516102579190612ede565b60405180910390f35b61027361026e366004612f04565b6105a3565b005b610273610283366004612f2c565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612f55565b61064a565b6102736102d9366004613026565b610666565b6102736102ec3660046130b5565b61067c565b6103046102ff366004612e7a565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046130fa565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f366004613139565b6107d5565b61034961080d565b61034961039a366004613167565b61082b565b6103b26103ad366004612f04565b610835565b6040519015158152602001610257565b61024a6103d0366004612e7a565b610854565b6102736103e336600461319e565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906131e5565b610273610413366004613286565b5050565b610349610425366004612f04565b610bde565b6102a0610c09565b6102736104403660046132b2565b610c48565b610273610453366004613286565b610c59565b610273610466366004612f04565b50565b610471610cc4565b60405161025791906132e7565b61034961048c366004612e7a565b611184565b61034961049f366004612e7a565b611191565b6104b76104b236600461340d565b6111b2565b604051610257919061344c565b6102a0611269565b6103496112a8565b6103496104e2366004612e7a565b6112c1565b6103496104f5366004612e7a565b6112ce565b610502611304565b604051610257919061348f565b61027361051d3660046135a0565b61140f565b6103b26105303660046135fb565b611457565b61053d61149a565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6102a06114f8565b606061059e61057a83611537565b60405160200161058a9190612ede565b60405160208183030381529060405261165d565b919050565b61046681611681565b610466816118e2565b60606105f16040518060400160405280600e81526020016d416176654879706572647269766560901b81525060405160200161058a9190612ede565b90565b60606105f1600160405160200161058a9190613627565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906136d4565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611ee7565b5f61059e6108428361211d565b6040805191151560208301520161058a565b606061059e61057a836121fb565b8361086c816122f7565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123b4565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612ede565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610958612420565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c29190613717565b6109cc919061372a565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f885612432565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb919061373d565b509050610ad881846125bc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125d0565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016131e5565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c54838383336123b4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ccc612da6565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ef4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f18919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa6919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611010573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611034919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561109e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c2919061376b565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906132e7565b5f61059e610819836125e4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111ce576111ce613786565b6040519080825280602002602001820160405280156111f7578160200160208202803683370190505b5090505f5b8381101561124d575f8585838181106112175761121761379a565b9050602002013590505f81549050808484815181106112385761123861379a565b602090810291909101015250506001016111fc565b506112628160405160200161058a919061344c565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612630565b5f61059e6108196112ff7f000000000000000000000000000000000000000000000000000000000000000085613717565b61267c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611419816122f7565b6001600160a01b0316336001600160a01b03161461144a57604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b606060f882901c6001600160f81b0383165f611552826126bc565b90505f836003811115611567576115676136ef565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad6136ef565b036115d957806040516020016115c391906137ae565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed6136ef565b0361160357806040516020016115c391906137e6565b6003836003811115611617576116176136ef565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612ede565b60405180910390fd5b61168961276e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a919061376b565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a0919061376b565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c63361211d565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611859919061381f565b905061186f6001600160a01b0385168483612796565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046660015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611962919061376b565b6001600160a01b0316336001600160a01b03161415801561198957506119873361211d565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c6661379a565b905060200201358888868686818110611c8157611c8161379a565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061372a565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061372a565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e01908490613717565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ebe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee2919061381f565b905090565b5f611ef061276e565b611ef9826127e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7a919061376b565b90506001600160a01b038116611f936020850185612f04565b6001600160a01b031614611fba57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061204e919061376b565b6001600160a01b0316336001600160a01b031614155b801561207657506120743361211d565b155b15612093576040516282b42960e81b815260040160405180910390fd5b5f61209c612420565b600980545f9091559091506120b281838761281d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f160408a0160208b01612f2c565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561217a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a19190810190613836565b90505f5b81518110156121f257836001600160a01b03168282815181106121ca576121ca61379a565b60200260200101516001600160a01b0316036121ea575060019392505050565b6001016121a5565b505f9392505050565b606060f882901c6001600160f81b0383165f612216826126bc565b90505f83600381111561222b5761222b6136ef565b0361225d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b6001836003811115612271576122716136ef565b0361228757806040516020016115c391906138f6565b600283600381111561229b5761229b6136ef565b036122b157806040516020016115c3919061392d565b60038360038111156122c5576122c56136ef565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee2670de0b6b3a76400006125e4565b61248a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258291166128b3565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125b4929004166128b3565b905292915050565b5f6107368383670de0b6b3a7640000612927565b5f61073683670de0b6b3a764000084612927565b5f6108077f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612942565b5f6108077f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461296c565b5f6126a1600b5f61268e60028661298f565b81526020019081526020015f20546129c3565b6126b2600b5f61268e60018761298f565b6108079190613958565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612760576126f5600a8661398b565b612700906030613717565b60f81b826001612710848761372a565b61271a919061372a565b8151811061272a5761272a61379a565b60200101906001600160f81b03191690815f1a9053508061274a8161399e565b91506127599050600a866139b6565b94506126e4565b918290030190815292915050565b60025f540361279057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c549084906129f0565b5f6127f66020830183612f04565b6001600160a01b0316036104665760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061282985856125bc565b905061283481612630565b9450845f03612846575f915050610736565b8491506128596040840160208501612f2c565b15612888576128818561286f6020860186612f04565b61287c60408701876139c9565b612a51565b91506128ab565b6128ab856128996020860186612f04565b6128a660408701876139c9565b612b2b565b509392505050565b5f80670de0b6b3a76400006128c6612bd0565b6128d09190613a0c565b90508083116128df575f6128e9565b6128e9818461372a565b9150610736612920670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a0c565b83906125d0565b5f825f19048411830215820261293b575f80fd5b5091020490565b5f6129646129508585612bfb565b83906b033b2e3c9fd0803ce8000000612927565b949350505050565b5f6129646b033b2e3c9fd0803ce80000006129878686612bfb565b849190612927565b5f6001600160f81b038211156129b85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129ec5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612a046001600160a01b03841683612c66565b905080515f14158015612a28575080806020019051810190612a269190613a23565b155b15610c5457604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f0000000000000000000000000000000000000000000000000000000000000000612aab886125e4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b22919061381f565b95945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb84612b64876125e4565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a99190613a23565b5f611ee2427f0000000000000000000000000000000000000000000000000000000000000000612c73565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612c42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610736919061381f565b606061073683835f612c88565b5f612c7e828461398b565b610736908461372a565b606081471015612cad5760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612cc89190613a3e565b5f6040518083038185875af1925050503d805f8114612d02576040519150601f19603f3d011682016040523d82523d5f602084013e612d07565b606091505b5091509150612d17868383612d21565b9695505050505050565b606082612d3657612d3182612d7d565b610736565b8151158015612d4d57506001600160a01b0384163b155b15612d7657604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612d8d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e7560405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e8a575f80fd5b5035919050565b5f5b83811015612eab578181015183820152602001612e93565b50505f910152565b5f8151808452612eca816020860160208601612e91565b601f01601f19169290920160200192915050565b602081525f6107366020830184612eb3565b6001600160a01b0381168114610466575f80fd5b5f60208284031215612f14575f80fd5b813561073681612ef0565b8015158114610466575f80fd5b5f60208284031215612f3c575f80fd5b813561073681612f1f565b60ff81168114610466575f80fd5b5f805f805f805f805f6101208a8c031215612f6e575f80fd5b8935985060208a0135975060408a0135612f8781612ef0565b965060608a0135612f9781612ef0565b955060808a0135612fa781612f1f565b945060a08a0135935060c08a0135612fbe81612f47565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fee575f80fd5b50813567ffffffffffffffff811115613005575f80fd5b6020830191508360208260051b850101111561301f575f80fd5b9250929050565b5f805f805f806080878903121561303b575f80fd5b863561304681612ef0565b9550602087013561305681612ef0565b9450604087013567ffffffffffffffff80821115613072575f80fd5b61307e8a838b01612fde565b90965094506060890135915080821115613096575f80fd5b506130a389828a01612fde565b979a9699509497509295939492505050565b5f805f80608085870312156130c8575f80fd5b8435935060208501356130da81612ef0565b925060408501356130ea81612ef0565b9396929550929360600135925050565b5f805f6060848603121561310c575f80fd5b83359250602084013561311e81612ef0565b9150604084013561312e81612ef0565b809150509250925092565b5f806040838503121561314a575f80fd5b82359150602083013561315c81612ef0565b809150509250929050565b5f60208284031215613177575f80fd5b813567ffffffffffffffff81111561318d575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156131b1575f80fd5b8435935060208501356131c381612ef0565b92506040850135915060608501356131da81612ef0565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613297575f80fd5b82356132a281612ef0565b9150602083013561315c81612f1f565b5f805f606084860312156132c4575f80fd5b8335925060208401356132d681612ef0565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161331360208401826001600160a01b03169052565b50604083015161332e60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516133a0828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f806020838503121561341e575f80fd5b823567ffffffffffffffff811115613434575f80fd5b61344085828601612fde565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561348357835183529284019291840191600101613467565b50909695505050505050565b81516001600160801b03168152610180810160208301516134bb60208401826001600160801b03169052565b5060408301516134d660408401826001600160801b03169052565b5060608301516134f160608401826001600160801b03169052565b5060808301516135066080840182600f0b9052565b5060a083015161352160a08401826001600160801b03169052565b5060c083015161353c60c08401826001600160801b03169052565b5060e083015161355760e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613405565b5f805f805f60a086880312156135b4575f80fd5b8535945060208601356135c681612ef0565b935060408601356135d681612ef0565b92506060860135915060808601356135ed81612ef0565b809150509295509295909350565b5f806040838503121561360c575f80fd5b823561361781612ef0565b9150602083013561315c81612ef0565b5f60208083525f84545f60018260011c9150600183168061364957607f831692505b60208310810361366757634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613686576001811461369c576136c5565b60ff198616825284151560051b820196506136c5565b5f8b8152602090205f5b868110156136bf578154848201529085019089016136a6565b83019750505b50949998505050505050505050565b5f602082840312156136e4575f80fd5b815161073681612f47565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613703565b8181038181111561080757610807613703565b5f806040838503121561374e575f80fd5b82519150602083015161315c81612f1f565b805161059e81612ef0565b5f6020828403121561377b575f80fd5b815161073681612ef0565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137d9816011850160208701612e91565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613812816012850160208701612e91565b9190910160120192915050565b5f6020828403121561382f575f80fd5b5051919050565b5f6020808385031215613847575f80fd5b825167ffffffffffffffff8082111561385e575f80fd5b818501915085601f830112613871575f80fd5b81518181111561388357613883613786565b8060051b604051601f19603f830116810181811085821117156138a8576138a8613786565b6040529182528482019250838101850191888311156138c5575f80fd5b938501935b828510156138ea576138db85613760565b845293850193928501926138ca565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613920816010850160208701612e91565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137d9816011850160208701612e91565b8181035f83128015838313168383128216171561126257611262613703565b634e487b7160e01b5f52601260045260245ffd5b5f8261399957613999613977565b500690565b5f600182016139af576139af613703565b5060010190565b5f826139c4576139c4613977565b500490565b5f808335601e198436030181126139de575f80fd5b83018035915067ffffffffffffffff8211156139f8575f80fd5b60200191503681900382131561301f575f80fd5b808202811582820484141761080757610807613703565b5f60208284031215613a33575f80fd5b815161073681612f1f565b5f8251613a4f818460208701612e91565b919091019291505056fea264697066735822122064870db4cdf96a2311a224b2012e527bf5e40a9ecc102be5afb02ed7cf8fdb8a64736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts deleted file mode 100644 index 848d99661..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts.map deleted file mode 100644 index 9ec921ce6..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/AaveTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IwooC,KAAK,MAAM,EAAE;;;;CAIproC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.js deleted file mode 100644 index 75bd5139b..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061482d8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b61431c80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b506040516200431c3803806200431c83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a8f6200088d5f395f81816115060152818161260b015281816126570152612a5401525f8181610d6a015261237201525f8181610d3b015261233501525f8181610c1701528181610e9a01528181610f2801528181610fb6015281816110440152818161168c01528181611722015281816118e401528181611efc01528181611fd0015261212101525f610e0201525f8181610ddc015261251701525f8181610db601526124f101525f8181610d9001526124cb01525f61114f01525f61112901525f61110301525f6110dd01525f8181610e74015261253d01525f8181610e28015281816112da01526128fc01525f8181610e4e0152612bd701525f818161061901528181610d0c01528181611e710152612b2d01525f818161074301528181610cdd01528181611277015281816125ea015281816126360152612a830152613a8f5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063becee9c3116100b4578063d816574311610079578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535578063fbfa77cf14610564575f80fd5b8063becee9c3146104a4578063c55dae63146104c4578063c69e16ad146104cc578063c6e6f592146104d4578063cf210e65146104e7575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063ab033ea914610458578063b0d9658014610469578063b88fed9f1461047e578063bd85b03914610491575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612e7a565b61056c565b6040516102579190612ede565b60405180910390f35b61027361026e366004612f04565b6105a3565b005b610273610283366004612f2c565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612f55565b61064a565b6102736102d9366004613026565b610666565b6102736102ec3660046130b5565b61067c565b6103046102ff366004612e7a565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046130fa565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f366004613139565b6107d5565b61034961080d565b61034961039a366004613167565b61082b565b6103b26103ad366004612f04565b610835565b6040519015158152602001610257565b61024a6103d0366004612e7a565b610854565b6102736103e336600461319e565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906131e5565b610273610413366004613286565b5050565b610349610425366004612f04565b610bde565b6102a0610c09565b6102736104403660046132b2565b610c48565b610273610453366004613286565b610c59565b610273610466366004612f04565b50565b610471610cc4565b60405161025791906132e7565b61034961048c366004612e7a565b611184565b61034961049f366004612e7a565b611191565b6104b76104b236600461340d565b6111b2565b604051610257919061344c565b6102a0611269565b6103496112a8565b6103496104e2366004612e7a565b6112c1565b6103496104f5366004612e7a565b6112ce565b610502611304565b604051610257919061348f565b61027361051d3660046135a0565b61140f565b6103b26105303660046135fb565b611457565b61053d61149a565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6102a06114f8565b606061059e61057a83611537565b60405160200161058a9190612ede565b60405160208183030381529060405261165d565b919050565b61046681611681565b610466816118e2565b60606105f16040518060400160405280600e81526020016d416176654879706572647269766560901b81525060405160200161058a9190612ede565b90565b60606105f1600160405160200161058a9190613627565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906136d4565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611ee7565b5f61059e6108428361211d565b6040805191151560208301520161058a565b606061059e61057a836121fb565b8361086c816122f7565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123b4565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612ede565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610958612420565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c29190613717565b6109cc919061372a565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f885612432565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb919061373d565b509050610ad881846125bc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125d0565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016131e5565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c54838383336123b4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ccc612da6565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ef4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f18919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa6919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611010573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611034919061376b565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561109e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c2919061376b565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906132e7565b5f61059e610819836125e4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111ce576111ce613786565b6040519080825280602002602001820160405280156111f7578160200160208202803683370190505b5090505f5b8381101561124d575f8585838181106112175761121761379a565b9050602002013590505f81549050808484815181106112385761123861379a565b602090810291909101015250506001016111fc565b506112628160405160200161058a919061344c565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612630565b5f61059e6108196112ff7f000000000000000000000000000000000000000000000000000000000000000085613717565b61267c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611419816122f7565b6001600160a01b0316336001600160a01b03161461144a57604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b606060f882901c6001600160f81b0383165f611552826126bc565b90505f836003811115611567576115676136ef565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad6136ef565b036115d957806040516020016115c391906137ae565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed6136ef565b0361160357806040516020016115c391906137e6565b6003836003811115611617576116176136ef565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612ede565b60405180910390fd5b61168961276e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a919061376b565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a0919061376b565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c63361211d565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611859919061381f565b905061186f6001600160a01b0385168483612796565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046660015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611962919061376b565b6001600160a01b0316336001600160a01b03161415801561198957506119873361211d565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c6661379a565b905060200201358888868686818110611c8157611c8161379a565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061372a565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061372a565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e01908490613717565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ebe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee2919061381f565b905090565b5f611ef061276e565b611ef9826127e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7a919061376b565b90506001600160a01b038116611f936020850185612f04565b6001600160a01b031614611fba57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061204e919061376b565b6001600160a01b0316336001600160a01b031614155b801561207657506120743361211d565b155b15612093576040516282b42960e81b815260040160405180910390fd5b5f61209c612420565b600980545f9091559091506120b281838761281d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f160408a0160208b01612f2c565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561217a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a19190810190613836565b90505f5b81518110156121f257836001600160a01b03168282815181106121ca576121ca61379a565b60200260200101516001600160a01b0316036121ea575060019392505050565b6001016121a5565b505f9392505050565b606060f882901c6001600160f81b0383165f612216826126bc565b90505f83600381111561222b5761222b6136ef565b0361225d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b6001836003811115612271576122716136ef565b0361228757806040516020016115c391906138f6565b600283600381111561229b5761229b6136ef565b036122b157806040516020016115c3919061392d565b60038360038111156122c5576122c56136ef565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee2670de0b6b3a76400006125e4565b61248a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258291166128b3565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125b4929004166128b3565b905292915050565b5f6107368383670de0b6b3a7640000612927565b5f61073683670de0b6b3a764000084612927565b5f6108077f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612942565b5f6108077f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461296c565b5f6126a1600b5f61268e60028661298f565b81526020019081526020015f20546129c3565b6126b2600b5f61268e60018761298f565b6108079190613958565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612760576126f5600a8661398b565b612700906030613717565b60f81b826001612710848761372a565b61271a919061372a565b8151811061272a5761272a61379a565b60200101906001600160f81b03191690815f1a9053508061274a8161399e565b91506127599050600a866139b6565b94506126e4565b918290030190815292915050565b60025f540361279057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c549084906129f0565b5f6127f66020830183612f04565b6001600160a01b0316036104665760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061282985856125bc565b905061283481612630565b9450845f03612846575f915050610736565b8491506128596040840160208501612f2c565b15612888576128818561286f6020860186612f04565b61287c60408701876139c9565b612a51565b91506128ab565b6128ab856128996020860186612f04565b6128a660408701876139c9565b612b2b565b509392505050565b5f80670de0b6b3a76400006128c6612bd0565b6128d09190613a0c565b90508083116128df575f6128e9565b6128e9818461372a565b9150610736612920670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a0c565b83906125d0565b5f825f19048411830215820261293b575f80fd5b5091020490565b5f6129646129508585612bfb565b83906b033b2e3c9fd0803ce8000000612927565b949350505050565b5f6129646b033b2e3c9fd0803ce80000006129878686612bfb565b849190612927565b5f6001600160f81b038211156129b85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129ec5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612a046001600160a01b03841683612c66565b905080515f14158015612a28575080806020019051810190612a269190613a23565b155b15610c5457604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f0000000000000000000000000000000000000000000000000000000000000000612aab886125e4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b22919061381f565b95945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb84612b64876125e4565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a99190613a23565b5f611ee2427f0000000000000000000000000000000000000000000000000000000000000000612c73565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612c42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610736919061381f565b606061073683835f612c88565b5f612c7e828461398b565b610736908461372a565b606081471015612cad5760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612cc89190613a3e565b5f6040518083038185875af1925050503d805f8114612d02576040519150601f19603f3d011682016040523d82523d5f602084013e612d07565b606091505b5091509150612d17868383612d21565b9695505050505050565b606082612d3657612d3182612d7d565b610736565b8151158015612d4d57506001600160a01b0384163b155b15612d7657604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612d8d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e7560405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e8a575f80fd5b5035919050565b5f5b83811015612eab578181015183820152602001612e93565b50505f910152565b5f8151808452612eca816020860160208601612e91565b601f01601f19169290920160200192915050565b602081525f6107366020830184612eb3565b6001600160a01b0381168114610466575f80fd5b5f60208284031215612f14575f80fd5b813561073681612ef0565b8015158114610466575f80fd5b5f60208284031215612f3c575f80fd5b813561073681612f1f565b60ff81168114610466575f80fd5b5f805f805f805f805f6101208a8c031215612f6e575f80fd5b8935985060208a0135975060408a0135612f8781612ef0565b965060608a0135612f9781612ef0565b955060808a0135612fa781612f1f565b945060a08a0135935060c08a0135612fbe81612f47565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fee575f80fd5b50813567ffffffffffffffff811115613005575f80fd5b6020830191508360208260051b850101111561301f575f80fd5b9250929050565b5f805f805f806080878903121561303b575f80fd5b863561304681612ef0565b9550602087013561305681612ef0565b9450604087013567ffffffffffffffff80821115613072575f80fd5b61307e8a838b01612fde565b90965094506060890135915080821115613096575f80fd5b506130a389828a01612fde565b979a9699509497509295939492505050565b5f805f80608085870312156130c8575f80fd5b8435935060208501356130da81612ef0565b925060408501356130ea81612ef0565b9396929550929360600135925050565b5f805f6060848603121561310c575f80fd5b83359250602084013561311e81612ef0565b9150604084013561312e81612ef0565b809150509250925092565b5f806040838503121561314a575f80fd5b82359150602083013561315c81612ef0565b809150509250929050565b5f60208284031215613177575f80fd5b813567ffffffffffffffff81111561318d575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156131b1575f80fd5b8435935060208501356131c381612ef0565b92506040850135915060608501356131da81612ef0565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613297575f80fd5b82356132a281612ef0565b9150602083013561315c81612f1f565b5f805f606084860312156132c4575f80fd5b8335925060208401356132d681612ef0565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161331360208401826001600160a01b03169052565b50604083015161332e60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516133a0828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f806020838503121561341e575f80fd5b823567ffffffffffffffff811115613434575f80fd5b61344085828601612fde565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561348357835183529284019291840191600101613467565b50909695505050505050565b81516001600160801b03168152610180810160208301516134bb60208401826001600160801b03169052565b5060408301516134d660408401826001600160801b03169052565b5060608301516134f160608401826001600160801b03169052565b5060808301516135066080840182600f0b9052565b5060a083015161352160a08401826001600160801b03169052565b5060c083015161353c60c08401826001600160801b03169052565b5060e083015161355760e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613405565b5f805f805f60a086880312156135b4575f80fd5b8535945060208601356135c681612ef0565b935060408601356135d681612ef0565b92506060860135915060808601356135ed81612ef0565b809150509295509295909350565b5f806040838503121561360c575f80fd5b823561361781612ef0565b9150602083013561315c81612ef0565b5f60208083525f84545f60018260011c9150600183168061364957607f831692505b60208310810361366757634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613686576001811461369c576136c5565b60ff198616825284151560051b820196506136c5565b5f8b8152602090205f5b868110156136bf578154848201529085019089016136a6565b83019750505b50949998505050505050505050565b5f602082840312156136e4575f80fd5b815161073681612f47565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613703565b8181038181111561080757610807613703565b5f806040838503121561374e575f80fd5b82519150602083015161315c81612f1f565b805161059e81612ef0565b5f6020828403121561377b575f80fd5b815161073681612ef0565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137d9816011850160208701612e91565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613812816012850160208701612e91565b9190910160120192915050565b5f6020828403121561382f575f80fd5b5051919050565b5f6020808385031215613847575f80fd5b825167ffffffffffffffff8082111561385e575f80fd5b818501915085601f830112613871575f80fd5b81518181111561388357613883613786565b8060051b604051601f19603f830116810181811085821117156138a8576138a8613786565b6040529182528482019250838101850191888311156138c5575f80fd5b938501935b828510156138ea576138db85613760565b845293850193928501926138ca565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613920816010850160208701612e91565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137d9816011850160208701612e91565b8181035f83128015838313168383128216171561126257611262613703565b634e487b7160e01b5f52601260045260245ffd5b5f8261399957613999613977565b500690565b5f600182016139af576139af613703565b5060010190565b5f826139c4576139c4613977565b500490565b5f808335601e198436030181126139de575f80fd5b83018035915067ffffffffffffffff8211156139f8575f80fd5b60200191503681900382131561301f575f80fd5b808202811582820484141761080757610807613703565b5f60208284031215613a33575f80fd5b815161073681612f1f565b5f8251613a4f818460208701612e91565b919091019291505056fea264697066735822122064870db4cdf96a2311a224b2012e527bf5e40a9ecc102be5afb02ed7cf8fdb8a64736f6c63430008160033a2646970667358221220e5fd97c0b402720a18e231d4ece27c817cdc4fd43eed25e22fcf78a3fbf9d5d164736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts deleted file mode 100644 index 06382c431..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts +++ /dev/null @@ -1,790 +0,0 @@ -export declare const AaveTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=AaveTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts.map deleted file mode 100644 index cd0408d4e..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget1.d.ts","sourceRoot":"","sources":["../src/AaveTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAk9Bs9iC,KAAK,MAAM,EAAE;;;;;CAK1/iC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1.js b/packages/hyperdrive-artifacts/dist/AaveTarget1.js deleted file mode 100644 index 44aba2f5f..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1.js +++ /dev/null @@ -1,984 +0,0 @@ -export const AaveTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620042ed380380620042ed83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a32620008bb5f395f818161199101528181612546015261256e01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612c7a01525f818161139301528181611791015281816117f4015281816128630152818161289f01528181612a970152612c5401525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612c2e01525f611afb01525f8181611c1c0152818161225d01526122d501525f81816108a901528181610f4301528181611bf001526122a901525f8181610e3e015261222301525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ca001525f81816107e701528181610ec4015281816116ef015281816120fc015261325201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61263e01525f818161197001528181612525015261259d0152613a325ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046134e2565b610070565b60405190815260200160405180910390f35b61004b61006b3660046134e2565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613550565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613563565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613596565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135be565b6102bd8a6102b78d8f613550565b90611584565b8d6102cb60408c018c6135d9565b6040516102df989796959493929190613644565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613550565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361368b565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613596565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135be565b8a61050260408b018b6135d9565b60405161051597969594939291906136b2565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613596565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119b6565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613550565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119cb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b92505b5061073e83611a01565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6136f2565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613550565b4290611a2a565b8461102b565b6107db88611a3e565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6136f2565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bdb565b915091508060095f8282546108789190613550565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613550565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ca8565b91506108e16108dc8385611584565b611cf1565b600680546002906109029084906201000090046001600160701b0316613705565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a01565b60068054601090610951908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bdb565b915091508060095f8282546109c49190613550565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836136f2565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613705565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a01565b60068054601090610a68908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613563565b5f61134e565b8e610ac58482611d1a565b50505b5f610ad284611f09565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613745565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061204b565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906136f2565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119cb565b90505f610d5f8a6120d1565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612120565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061218f565b6121be565b15610e7457610e746113ec565b5f805f610e8385878b876121ff565b9c5091945092509050610e9681846136f2565b610ea09089613550565b9750610eac8284613550565b610eb6908d613550565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906136f2565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ca8565b9950610f73878a6136f2565b9850670de0b6b3a7640000610ff0610f8b8787613550565b600254610fa9908f90600160801b90046001600160801b03166136f2565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612311565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866136f2565b6110d19190613760565b85670de0b6b3a76400006110e5878a6136f2565b6110ef9190613760565b8592919060016123ad565b611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a01565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613760565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b0292169190911790556111d286611a01565b6111dc9082613777565b600480546001600160801b03928316600160801b02921691909117905561120284611a01565b600280545f9061121c9084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612453565b600480545f9061125d908490600f0b613797565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a01565b600280546010906112af908490600160801b90046001600160801b0316613777565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613563565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461248e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124f0565b6003546113ce91906001600160801b0316613550565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d1a565b5f805f61141d84611a3e565b90925090505f61142d8686611584565b90508183111561144557611442868385612504565b95505b8281101561145757808303925061145b565b5f92505b61146483611cf1565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a01565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161251f565b9450845f03611516575f91505061157d565b84915061152960408401602085016135be565b15611558576115518561153f6020860186613596565b61154c60408701876135d9565b61256b565b915061157b565b61157b856115696020860186613596565b61157660408701876135d9565b61263c565b505b9392505050565b5f61157d8383670de0b6b3a7640000612504565b5f805f805f805f806115a86119cb565b90505f6115b48a6120d1565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006126e8565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b985061169a84878b886121ff565b9c5091945090925090506116ae82846136f2565b6116b890896136f2565b97506116c48184613550565b6116ce908e6136f2565b9c506116da8a8e613550565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906136f2565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612311565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836136f2565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613563565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361273b565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613760565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b039290921691909117905561189788826136f2565b90506118a281611a01565b600380546001600160801b03928316600160801b0292169190911790556118c883611a01565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612453565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a01565b6002805460109061193c908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612760565b5f6119c182846137d8565b61157d90846136f2565b6002546004545f916105a6916001600160801b0390911690600f0b61273b565b5f61007d826119fb858888612504565b90612782565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a38578261157d565b50919050565b6006545f908190611a60908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bd6575f611a8983836136f2565b9050611a986110fa82866127f1565b60068054601090611aba908490600160801b90046001600160801b0316613777565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611af2858361280590919063ffffffff16565b90505f611b1f827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b329190613550565b90915550611b42905081836136f2565b9150611b4d82611a01565b600280545f90611b679084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b9482612819565b600480545f90611ba8908490600f0b613797565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611be78785612805565b91505f611c14837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c40817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c6357611c5282826136f2565b611c5c90846136f2565b9250611c7a565b611c6d82826136f2565b611c779084613550565b92505b86861015611c9d57611c8d838789612504565b9250611c9a828789612504565b91505b509550959350505050565b5f80611cbf84611cb98a888a612504565b90612805565b9050611ccc888486612504565b611cd69082613550565b905086811115611ce65786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d64916001600160801b0316906136f2565b9050805f03611d7757600191505061131b565b5f611d8185612842565b9050805f03611d955760019250505061131b565b5f80611da28385896128dd565b9150915080611db7575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611df2929190613869565b6040805180830381865af4158015611e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e3091906138de565b91509150611e4e611e4082611321565b611e4990613900565b612a51565b925082611e63575f965050505050505061131b565b611e6c82611a01565b600780545f90611e869084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611eb381611a01565b60078054601090611ed5908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f3087612be5565b6040518263ffffffff1660e01b8152600401611f4c919061391a565b6040805180830381865af4158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613929565b9150915080611f9f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161200491613550565b61200e91906136f2565b9050805f0361202457505f958695509350505050565b5f808711612032575f61203d565b61203d848884612504565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561206e5761206e613957565b6040519080825280601f01601f191660200182016040528015612098576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120b8578692505b828152825f602083013e90999098509650505050505050565b5f806120db6105ab565b90508083116120ea575f6120f4565b6120f481846136f2565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612805565b5f808061214061213888670de0b6b3a76400006136f2565b899087612d1f565b905086156121825761215288886124f0565b91506121738a8a8461216c8a670de0b6b3a76400006136f2565b8989612d42565b925061217f8382613550565b90505b9750975097945050505050565b5f6121ac6121a584670de0b6b3a76400006136f2565b83906124f0565b61157d90670de0b6b3a76400006136f2565b5f806121f4856121cc6119cb565b6121d69190613550565b600254610fa9908790600160801b90046001600160801b03166136f2565b909210949350505050565b5f808080612255878661224e8b6122486122218c670de0b6b3a76400006136f2565b7f0000000000000000000000000000000000000000000000000000000000000000906124f0565b906124f0565b9190612d1f565b9350612281847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122a161229989670de0b6b3a76400006136f2565b8a9088612d1f565b90506122cd817f00000000000000000000000000000000000000000000000000000000000000006124f0565b93506122f9847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123039084613550565b915050945094509450949050565b5f805f805f808888101561237d578615612333576123308d898b612504565b9c505b61233e8c898b612504565b9b506123498b611321565b6123528d611321565b61235c9190613563565b90506123698b898b612504565b9a506123768a898b612504565b995061239c565b6123868b611321565b61238f8d611321565b6123999190613563565b90505b9b9c9a9b999a975050505050505050565b5f825f036123bc57508461244a565b811561240e576123ed6123cf8487613550565b6123d98587611584565b6123e3888a611584565b611cb99190613550565b90505f6123fa8588611a2a565b905080821015612408578091505b5061244a565b82850361241c57505f61244a565b61244761242984876136f2565b61243385876124f0565b61243d888a611584565b611cb991906136f2565b90505b95945050505050565b5f60016001607f1b0319821280612470575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f8061249a845f612d64565b6124a4845f612d64565b6124ae9190613563565b90505f8113156124c9576124c28186613550565b94506124e7565b5f8112156124e7576124da81613900565b6124e490866136f2565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612d1f565b5f825f190484118302158202612518575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612d79565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f00000000000000000000000000000000000000000000000000000000000000006125c58861196a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612618573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061007d919061396b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846126758761196a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156126bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e19190613982565b5050505050565b5f808061270861270088670de0b6b3a76400006136f2565b899087612504565b905086156121825761271a8888611584565b91506121738a8a846127348a670de0b6b3a76400006136f2565b8989612d9c565b5f806127478484612dac565b909250905080612759576127596113ec565b5092915050565b5f61008061276e8585612de7565b83906b033b2e3c9fd0803ce8000000612504565b5f815f036127995750670de0b6b3a764000061131b565b825f036127a757505f61131b565b5f6127b183611321565b90505f6127c56127c086611321565b612e52565b90508181026127dc670de0b6b3a76400008261399d565b90506127e781613077565b9695505050505050565b5f61157d83670de0b6b3a764000084612d1f565b5f61157d83670de0b6b3a764000084612504565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061285c906001600160801b0316846127f1565b90506128887f000000000000000000000000000000000000000000000000000000000000000082613550565b6002546001600160801b03161115611a38576002547f0000000000000000000000000000000000000000000000000000000000000000906128d39083906001600160801b03166136f2565b61157d91906136f2565b6128e5613443565b5f806128f084612be5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161292a919061391a565b6040805180830381865af4158015612944573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129689190613929565b935090508261297c57505f9150612a499050565b5f6129a261299d84610160015185610140015161158490919063ffffffff16565b611321565b6129c261299d8561012001518661010001516124f090919063ffffffff16565b6129cc9190613563565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b2b91906139c9565b935093509350935080612b4657505f98975050505050505050565b868414612b7757612b5684611a01565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ba857612b8783612453565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bd657612bb882611a01565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bed61348d565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ce59116613209565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d1792900416613209565b905292915050565b5f825f190484118302158202612d33575f80fd5b50910281810615159190040190565b5f80612d5288888888888861327d565b909250905080611ce657611ce66113ec565b5f818313612d72578161157d565b5090919050565b5f6100806b033b2e3c9fd0803ce8000000612d948686612de7565b849190612504565b5f80612d52888888888888613359565b5f805f83612db986611321565b612dc39190613563565b90505f811215612dd9575f809250925050612de0565b9150600190505b9250929050565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612e2e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d919061396b565b5f808213612e735760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ef69084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361309057505f919050565b680755bf798b4a1bf1e582126130b9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906127e774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061321c6105ab565b6132269190613760565b9050808311613235575f61323f565b61323f81846136f2565b915061157d613276670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613760565b8390612805565b5f805f61328d8989888888613415565b9050868810156132a3575f80925092505061334e565b96869003966132b28887612782565b9750878110156132c8575f80925092505061334e565b8781036132d6818688612d1f565b9050670de0b6b3a7640000811061330a576133036132fc670de0b6b3a7640000896127f1565b8290612782565b9050613322565b61331f6132fc670de0b6b3a764000089612805565b90505b61332c81866127f1565b905089811015613343575f8093509350505061334e565b899003925060019150505b965096945050505050565b5f805f6133698989888888613415565b9050613379866119fb898b613550565b97508781101561338f575f80925092505061334e565b87810361339d818688612d1f565b9050670de0b6b3a764000081106133ca576133c36132fc670de0b6b3a7640000896127f1565b90506133e2565b6133df6132fc670de0b6b3a764000089612805565b90505b6133ec81866127f1565b9050808a1015613403575f8093509350505061334e565b90980398600198509650505050505050565b5f6134208585612782565b613439613431866119fb868b6124f0565b859085612d1f565b6124479190613550565b60405180610120016040528061345761348d565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134f5575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613520575f80fd5b850160608188031215613531575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61353c565b8181035f8312801583831316838312821617156127595761275961353c565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135a6575f80fd5b813561157d81613582565b8015158114610591575f80fd5b5f602082840312156135ce575f80fd5b813561157d816135b1565b5f808335601e198436030181126135ee575f80fd5b83018035915067ffffffffffffffff821115613608575f80fd5b602001915036819003821315612de0575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367d60e08301848661361c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136aa576136aa61353c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136e560c08301848661361c565b9998505050505050505050565b8181038181111561131b5761131b61353c565b6001600160701b038181168382160190808211156127595761275961353c565b6001600160801b038181168382160190808211156127595761275961353c565b5f60208284031215613755575f80fd5b815161157d81613582565b808202811582820484141761131b5761131b61353c565b6001600160801b038281168282160390808211156127595761275961353c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61353c565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061387c8285516137eb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138ef575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139145761391461353c565b505f0390565b610180810161131b82846137eb565b5f806040838503121561393a575f80fd5b82519150602083015161394c816135b1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f6020828403121561397b575f80fd5b5051919050565b5f60208284031215613992575f80fd5b815161157d816135b1565b5f826139ab576139ab6137c4565b600160ff1b82145f19841416156139c4576139c461353c565b500590565b5f805f80608085870312156139dc575f80fd5b8451935060208501519250604085015191506060850151613531816135b156fea2646970667358221220ffd4608be92ebf531250a8b092ba0a9fbd5bb6616b3a693592e6f59d4f6096de64736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts deleted file mode 100644 index 5d61bd836..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts.map deleted file mode 100644 index 9dce553f0..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/AaveTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I0ioC,KAAK,MAAM,EAAE;;;;CAItloC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.js deleted file mode 100644 index d1776ed4f..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506147fe8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b6142ed80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b50604051620042ed380380620042ed83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a32620008bb5f395f818161199101528181612546015261256e01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612c7a01525f818161139301528181611791015281816117f4015281816128630152818161289f01528181612a970152612c5401525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612c2e01525f611afb01525f8181611c1c0152818161225d01526122d501525f81816108a901528181610f4301528181611bf001526122a901525f8181610e3e015261222301525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ca001525f81816107e701528181610ec4015281816116ef015281816120fc015261325201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61263e01525f818161197001528181612525015261259d0152613a325ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046134e2565b610070565b60405190815260200160405180910390f35b61004b61006b3660046134e2565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613550565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613563565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613596565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135be565b6102bd8a6102b78d8f613550565b90611584565b8d6102cb60408c018c6135d9565b6040516102df989796959493929190613644565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613550565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361368b565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613596565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135be565b8a61050260408b018b6135d9565b60405161051597969594939291906136b2565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613596565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119b6565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613550565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119cb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b92505b5061073e83611a01565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6136f2565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613550565b4290611a2a565b8461102b565b6107db88611a3e565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6136f2565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bdb565b915091508060095f8282546108789190613550565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613550565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ca8565b91506108e16108dc8385611584565b611cf1565b600680546002906109029084906201000090046001600160701b0316613705565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a01565b60068054601090610951908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bdb565b915091508060095f8282546109c49190613550565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836136f2565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613705565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a01565b60068054601090610a68908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613563565b5f61134e565b8e610ac58482611d1a565b50505b5f610ad284611f09565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613745565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061204b565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906136f2565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119cb565b90505f610d5f8a6120d1565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612120565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061218f565b6121be565b15610e7457610e746113ec565b5f805f610e8385878b876121ff565b9c5091945092509050610e9681846136f2565b610ea09089613550565b9750610eac8284613550565b610eb6908d613550565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906136f2565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ca8565b9950610f73878a6136f2565b9850670de0b6b3a7640000610ff0610f8b8787613550565b600254610fa9908f90600160801b90046001600160801b03166136f2565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612311565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866136f2565b6110d19190613760565b85670de0b6b3a76400006110e5878a6136f2565b6110ef9190613760565b8592919060016123ad565b611a01565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a01565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613760565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b0292169190911790556111d286611a01565b6111dc9082613777565b600480546001600160801b03928316600160801b02921691909117905561120284611a01565b600280545f9061121c9084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612453565b600480545f9061125d908490600f0b613797565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a01565b600280546010906112af908490600160801b90046001600160801b0316613777565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613563565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461248e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124f0565b6003546113ce91906001600160801b0316613550565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d1a565b5f805f61141d84611a3e565b90925090505f61142d8686611584565b90508183111561144557611442868385612504565b95505b8281101561145757808303925061145b565b5f92505b61146483611cf1565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a01565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161251f565b9450845f03611516575f91505061157d565b84915061152960408401602085016135be565b15611558576115518561153f6020860186613596565b61154c60408701876135d9565b61256b565b915061157b565b61157b856115696020860186613596565b61157660408701876135d9565b61263c565b505b9392505050565b5f61157d8383670de0b6b3a7640000612504565b5f805f805f805f806115a86119cb565b90505f6115b48a6120d1565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006126e8565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119eb565b985061169a84878b886121ff565b9c5091945090925090506116ae82846136f2565b6116b890896136f2565b97506116c48184613550565b6116ce908e6136f2565b9c506116da8a8e613550565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906136f2565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612311565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836136f2565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613563565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361273b565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613760565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b039290921691909117905561189788826136f2565b90506118a281611a01565b600380546001600160801b03928316600160801b0292169190911790556118c883611a01565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612453565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a01565b6002805460109061193c908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612760565b5f6119c182846137d8565b61157d90846136f2565b6002546004545f916105a6916001600160801b0390911690600f0b61273b565b5f61007d826119fb858888612504565b90612782565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a38578261157d565b50919050565b6006545f908190611a60908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bd6575f611a8983836136f2565b9050611a986110fa82866127f1565b60068054601090611aba908490600160801b90046001600160801b0316613777565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611af2858361280590919063ffffffff16565b90505f611b1f827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b329190613550565b90915550611b42905081836136f2565b9150611b4d82611a01565b600280545f90611b679084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b9482612819565b600480545f90611ba8908490600f0b613797565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611be78785612805565b91505f611c14837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c40817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c6357611c5282826136f2565b611c5c90846136f2565b9250611c7a565b611c6d82826136f2565b611c779084613550565b92505b86861015611c9d57611c8d838789612504565b9250611c9a828789612504565b91505b509550959350505050565b5f80611cbf84611cb98a888a612504565b90612805565b9050611ccc888486612504565b611cd69082613550565b905086811115611ce65786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d64916001600160801b0316906136f2565b9050805f03611d7757600191505061131b565b5f611d8185612842565b9050805f03611d955760019250505061131b565b5f80611da28385896128dd565b9150915080611db7575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611df2929190613869565b6040805180830381865af4158015611e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e3091906138de565b91509150611e4e611e4082611321565b611e4990613900565b612a51565b925082611e63575f965050505050505061131b565b611e6c82611a01565b600780545f90611e869084906001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611eb381611a01565b60078054601090611ed5908490600160801b90046001600160801b0316613725565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f3087612be5565b6040518263ffffffff1660e01b8152600401611f4c919061391a565b6040805180830381865af4158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613929565b9150915080611f9f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161200491613550565b61200e91906136f2565b9050805f0361202457505f958695509350505050565b5f808711612032575f61203d565b61203d848884612504565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561206e5761206e613957565b6040519080825280601f01601f191660200182016040528015612098576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120b8578692505b828152825f602083013e90999098509650505050505050565b5f806120db6105ab565b90508083116120ea575f6120f4565b6120f481846136f2565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612805565b5f808061214061213888670de0b6b3a76400006136f2565b899087612d1f565b905086156121825761215288886124f0565b91506121738a8a8461216c8a670de0b6b3a76400006136f2565b8989612d42565b925061217f8382613550565b90505b9750975097945050505050565b5f6121ac6121a584670de0b6b3a76400006136f2565b83906124f0565b61157d90670de0b6b3a76400006136f2565b5f806121f4856121cc6119cb565b6121d69190613550565b600254610fa9908790600160801b90046001600160801b03166136f2565b909210949350505050565b5f808080612255878661224e8b6122486122218c670de0b6b3a76400006136f2565b7f0000000000000000000000000000000000000000000000000000000000000000906124f0565b906124f0565b9190612d1f565b9350612281847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122a161229989670de0b6b3a76400006136f2565b8a9088612d1f565b90506122cd817f00000000000000000000000000000000000000000000000000000000000000006124f0565b93506122f9847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123039084613550565b915050945094509450949050565b5f805f805f808888101561237d578615612333576123308d898b612504565b9c505b61233e8c898b612504565b9b506123498b611321565b6123528d611321565b61235c9190613563565b90506123698b898b612504565b9a506123768a898b612504565b995061239c565b6123868b611321565b61238f8d611321565b6123999190613563565b90505b9b9c9a9b999a975050505050505050565b5f825f036123bc57508461244a565b811561240e576123ed6123cf8487613550565b6123d98587611584565b6123e3888a611584565b611cb99190613550565b90505f6123fa8588611a2a565b905080821015612408578091505b5061244a565b82850361241c57505f61244a565b61244761242984876136f2565b61243385876124f0565b61243d888a611584565b611cb991906136f2565b90505b95945050505050565b5f60016001607f1b0319821280612470575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f8061249a845f612d64565b6124a4845f612d64565b6124ae9190613563565b90505f8113156124c9576124c28186613550565b94506124e7565b5f8112156124e7576124da81613900565b6124e490866136f2565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612d1f565b5f825f190484118302158202612518575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612d79565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f00000000000000000000000000000000000000000000000000000000000000006125c58861196a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612618573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061007d919061396b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb846126758761196a565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156126bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e19190613982565b5050505050565b5f808061270861270088670de0b6b3a76400006136f2565b899087612504565b905086156121825761271a8888611584565b91506121738a8a846127348a670de0b6b3a76400006136f2565b8989612d9c565b5f806127478484612dac565b909250905080612759576127596113ec565b5092915050565b5f61008061276e8585612de7565b83906b033b2e3c9fd0803ce8000000612504565b5f815f036127995750670de0b6b3a764000061131b565b825f036127a757505f61131b565b5f6127b183611321565b90505f6127c56127c086611321565b612e52565b90508181026127dc670de0b6b3a76400008261399d565b90506127e781613077565b9695505050505050565b5f61157d83670de0b6b3a764000084612d1f565b5f61157d83670de0b6b3a764000084612504565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061285c906001600160801b0316846127f1565b90506128887f000000000000000000000000000000000000000000000000000000000000000082613550565b6002546001600160801b03161115611a38576002547f0000000000000000000000000000000000000000000000000000000000000000906128d39083906001600160801b03166136f2565b61157d91906136f2565b6128e5613443565b5f806128f084612be5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161292a919061391a565b6040805180830381865af4158015612944573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129689190613929565b935090508261297c57505f9150612a499050565b5f6129a261299d84610160015185610140015161158490919063ffffffff16565b611321565b6129c261299d8561012001518661010001516124f090919063ffffffff16565b6129cc9190613563565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b2b91906139c9565b935093509350935080612b4657505f98975050505050505050565b868414612b7757612b5684611a01565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ba857612b8783612453565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bd657612bb882611a01565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bed61348d565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ce59116613209565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d1792900416613209565b905292915050565b5f825f190484118302158202612d33575f80fd5b50910281810615159190040190565b5f80612d5288888888888861327d565b909250905080611ce657611ce66113ec565b5f818313612d72578161157d565b5090919050565b5f6100806b033b2e3c9fd0803ce8000000612d948686612de7565b849190612504565b5f80612d52888888888888613359565b5f805f83612db986611321565b612dc39190613563565b90505f811215612dd9575f809250925050612de0565b9150600190505b9250929050565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015612e2e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d919061396b565b5f808213612e735760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ef69084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361309057505f919050565b680755bf798b4a1bf1e582126130b9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906127e774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061321c6105ab565b6132269190613760565b9050808311613235575f61323f565b61323f81846136f2565b915061157d613276670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613760565b8390612805565b5f805f61328d8989888888613415565b9050868810156132a3575f80925092505061334e565b96869003966132b28887612782565b9750878110156132c8575f80925092505061334e565b8781036132d6818688612d1f565b9050670de0b6b3a7640000811061330a576133036132fc670de0b6b3a7640000896127f1565b8290612782565b9050613322565b61331f6132fc670de0b6b3a764000089612805565b90505b61332c81866127f1565b905089811015613343575f8093509350505061334e565b899003925060019150505b965096945050505050565b5f805f6133698989888888613415565b9050613379866119fb898b613550565b97508781101561338f575f80925092505061334e565b87810361339d818688612d1f565b9050670de0b6b3a764000081106133ca576133c36132fc670de0b6b3a7640000896127f1565b90506133e2565b6133df6132fc670de0b6b3a764000089612805565b90505b6133ec81866127f1565b9050808a1015613403575f8093509350505061334e565b90980398600198509650505050505050565b5f6134208585612782565b613439613431866119fb868b6124f0565b859085612d1f565b6124479190613550565b60405180610120016040528061345761348d565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134f5575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613520575f80fd5b850160608188031215613531575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61353c565b8181035f8312801583831316838312821617156127595761275961353c565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135a6575f80fd5b813561157d81613582565b8015158114610591575f80fd5b5f602082840312156135ce575f80fd5b813561157d816135b1565b5f808335601e198436030181126135ee575f80fd5b83018035915067ffffffffffffffff821115613608575f80fd5b602001915036819003821315612de0575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367d60e08301848661361c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136aa576136aa61353c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136e560c08301848661361c565b9998505050505050505050565b8181038181111561131b5761131b61353c565b6001600160701b038181168382160190808211156127595761275961353c565b6001600160801b038181168382160190808211156127595761275961353c565b5f60208284031215613755575f80fd5b815161157d81613582565b808202811582820484141761131b5761131b61353c565b6001600160801b038281168282160390808211156127595761275961353c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61353c565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061387c8285516137eb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138ef575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139145761391461353c565b505f0390565b610180810161131b82846137eb565b5f806040838503121561393a575f80fd5b82519150602083015161394c816135b1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f6020828403121561397b575f80fd5b5051919050565b5f60208284031215613992575f80fd5b815161157d816135b1565b5f826139ab576139ab6137c4565b600160ff1b82145f19841416156139c4576139c461353c565b500590565b5f805f80608085870312156139dc575f80fd5b8451935060208501519250604085015191506060850151613531816135b156fea2646970667358221220ffd4608be92ebf531250a8b092ba0a9fbd5bb6616b3a693592e6f59d4f6096de64736f6c63430008160033a2646970667358221220e2ffb04e0287997acb77a4a318c594c2ae4fc8e2fea5c5b8a3030a89533e0df364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts deleted file mode 100644 index 97e845d05..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts +++ /dev/null @@ -1,810 +0,0 @@ -export declare const AaveTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=AaveTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts.map deleted file mode 100644 index cdc82a710..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget2.d.ts","sourceRoot":"","sources":["../src/AaveTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2+Bg9nC,KAAK,MAAM,EAAE;;;;;CAKp/nC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2.js b/packages/hyperdrive-artifacts/dist/AaveTarget2.js deleted file mode 100644 index 4cc870ccb..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2.js +++ /dev/null @@ -1,1009 +0,0 @@ -export const AaveTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620047ea380380620047ea83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613f05620008e55f395f818161148b015281816116d00152818161177d015261294201525f50505f50505f610c2801525f50505f818160f9015281816103020152612ec301525f818161150701528181611de301528181611e46015281816125cd01528181612ab301528181612aef01528181612ce00152612e9d01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612e7701525f611a0d01525f8181611b2e015281816126be015281816127360152612fdb01525f81816109a301528181610e370152818161141501528181611b02015261270a01525f8181610e160152818161268a0152612f9701525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612ee901525f81816101d301528181610396015281816108e101526135f501525f81816106a7015281816107230152818161079701528181610862015261089a01525f6117ed01525f818161146a015281816116a3015281816117040152818161174201526129210152613f055ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613989565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613989565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139f7565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139f7565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613a1e565b8b611217565b8d8a8a898e8561023e6020830183613a1e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a46565b8961028960408a018a613a61565b60405161029c9796959493929190613acc565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139f7565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906139f7565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016139f7565b9350505f61042784898d6114b0565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114e1565b5f6104706002886111e3565b90508c61048a826104846020840184613a1e565b85611217565b858b868461049b6020860186613a1e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a46565b6104ec896104e68a8d613b0c565b90610683565b8d6104fa60408e018e613a61565b60405161050e989796959493929190613b1f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613a1e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613a46565b156105ea576105e0856105db6040870187613a61565b611694565b9093509050610602565b5034610602856105fd6040870187613a61565b6117eb565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006118a0565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006118bb565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6139f7565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16118d0565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b92505b506108388361190f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613b0c565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836139f7565b429061193c565b84610f13565b6108d588611950565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613b0c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611aed565b915091508060095f82825461097291906139f7565b9091555061098d9050865f8461098781611bba565b88611be3565b61099781836139f7565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d5a565b91506109db6109d68385610683565b611da3565b600680546002906109fc9084906201000090046001600160701b0316613b66565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261190f565b60068054601090610a4b908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611aed565b915091508060095f828254610abe91906139f7565b90915550610ad99050835f84610ad381611bba565b8a611dcc565b610ae38183613b0c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613b66565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261190f565b60068054601090610b62908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611bba565b610ba483611bba565b610bae9190613ba6565b5f611fbc565b8e610bbf8482611ffb565b50505b5f610bcc846121ea565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613bc5565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061232c565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416118d0565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123b2565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123dd565b612441565b15610e6d57610e6d612482565b610e798785888561249b565b91965094509250670de0b6b3a7640000610efb610e9687846139f7565b600254610eb4908890600160801b90046001600160801b0316613b0c565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b1115610f0957610f09612482565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361190f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613b0c565b610fb99190613be0565b85670de0b6b3a7640000610fcd878a613b0c565b610fd79190613be0565b8592919060016124e3565b61190f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461190f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613be0565b6005546001600160801b031691908860016124e3565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561190f565b600280545f906110d19084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461190f565b60028054601090611120908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461190f565b6111579082613b86565b600380546001600160801b03808416600160801b02911617905590505f61117d83612587565b905061119b8161118c87611bba565b6111969084613c17565b611fbc565b6111a4846125c7565b6111b0576111b0612482565b5f6111ba85612626565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906139f7565b90915550505f838152600b60205260408120805483929061126a9084906139f7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6118d0565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612632565b93508761134d8589612652565b111561135b5761135b612482565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b93506113d58a670de0b6b3a7640000868c612666565b509193509091506113e890508183613b0c565b6113f29087613b0c565b95508861143f816114398d611407868c613b0c565b8d6114128782612772565b877f0000000000000000000000000000000000000000000000000000000000000000612787565b90612652565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846127a7565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127ca565b5f6114c16040830160208401613a46565b156114cd5750826114da565b6114d784846127ec565b90505b9392505050565b6002546001600160801b0316838110156114fd576114fd612482565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611535908390600f0b612800565b101561154357611543612482565b60045461158d90610fe290600160801b90046001600160801b0316611570670de0b6b3a764000086613be0565b600554600160801b90046001600160801b031691908960016124e3565b600580546001600160801b03928316600160801b0292169190911790556115b38161190f565b600280546001600160801b0319166001600160801b03929092169190911790556115dc8561190f565b600280546010906115fe908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162b8561190f565b6004805460109061164d908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61167b83612587565b905061119b8161168a88611bba565b6111969084613ba6565b5f806116cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612825565b61172b7f00000000000000000000000000000000000000000000000000000000000000006116fa8760016139f7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061288c565b60405163617ba03760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790523060448301525f60648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084015f604051808303815f87803b1580156117be575f80fd5b505af11580156117d0573d5f803e3d5ffd5b505050506117dd8561291b565b5f915091505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd333061182587611464565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611876573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189a9190613c3e565b50505050565b5f825f1904841183021582026118b4575f80fd5b5091020490565b5f6118c68284613c6d565b6106979084613b0c565b6002546004545f916106cb916001600160801b0390911690600f0b612800565b5f611906826119008588886118a0565b90612967565b95945050505050565b5f6001600160801b0382111561193857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161194a5782610697565b50919050565b6006545f908190611972908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611ae8575f61199b8383613b0c565b90506119aa610fe28286611450565b600680546010906119cc908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a0485836127ec90919063ffffffff16565b90505f611a31827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611a4491906139f7565b90915550611a5490508183613b0c565b9150611a5f8261190f565b600280545f90611a799084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611aa6826129cc565b600480545f90611aba908490600f0b613c80565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611af987856127ec565b91505f611b26837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611b52817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b7557611b648282613b0c565b611b6e9084613b0c565b9250611b8c565b611b7f8282613b0c565b611b8990846139f7565b92505b86861015611baf57611b9f8387896118a0565b9250611bac8287896118a0565b91505b509550959350505050565b5f6001600160ff1b038211156119385760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c2b610fe282611c0f670de0b6b3a764000086613be0565b600554600160801b90046001600160801b031691908a5f6124e3565b600580546001600160801b03928316600160801b029216919091179055611c518661190f565b611c5b9082613bf7565b600480546001600160801b03928316600160801b029216919091179055611c818461190f565b600280545f90611c9b9084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc8836129f5565b600480545f90611cdc908490600f0b613c80565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d0c8561190f565b60028054601090611d2e908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d7184611d6b8a888a6118a0565b906127ec565b9050611d7e8884866118a0565b611d8890826139f7565b905086811115611d985786810391505b509695505050505050565b5f6001600160701b038211156119385760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e0e57507f0000000000000000000000000000000000000000000000000000000000000000611e0c8583613b0c565b105b15611e1b57611e1b612482565b6004549084900390600f0b611e308482613ba6565b905083611e3c86611bba565b138015611e7157507f0000000000000000000000000000000000000000000000000000000000000000611e6f8383612800565b105b15611e7e57611e7e612482565b600354600160801b90046001600160801b0316611ebf610fe282611eaa670de0b6b3a764000088613be0565b6005546001600160801b031691908c5f6124e3565b600580546001600160801b0319166001600160801b0392909216919091179055611ee98882613b0c565b9050611ef48161190f565b600380546001600160801b03928316600160801b029216919091179055611f1a8361190f565b600280546001600160801b0319166001600160801b0392909216919091179055611f43826129f5565b600480546001600160801b0319166001600160801b0392909216919091179055611f6c8761190f565b60028054601090611f8e908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fd790610fe2906001600160801b03168484612a30565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612045916001600160801b031690613b0c565b9050805f0361205857600191505061069a565b5f61206285612a92565b9050805f036120765760019250505061069a565b5f80612083838589612b2d565b9150915080612098575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120d3929190613d2b565b6040805180830381865af41580156120ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121119190613da0565b9150915061212f61212182611bba565b61212a90613dc2565b612c9a565b925082612144575f965050505050505061069a565b61214d8261190f565b600780545f906121679084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121948161190f565b600780546010906121b6908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61221187612e2e565b6040518263ffffffff1660e01b815260040161222d9190613ddc565b6040805180830381865af4158015612247573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061226b9190613deb565b915091508061228057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122e5916139f7565b6122ef9190613b0c565b9050805f0361230557505f958695509350505050565b5f808711612313575f61231e565b61231e8488846118a0565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561234f5761234f613e19565b6040519080825280601f01601f191660200182016040528015612379576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612399578692505b828152825f602083013e90999098509650505050505050565b5f6123d28787876123cb88670de0b6b3a7640000613b0c565b8787612f68565b979650505050505050565b5f6114d761241d6123f684670de0b6b3a7640000613b0c565b611439670de0b6b3a764000061240c818a611450565b6124169190613b0c565b8790612652565b61242f90670de0b6b3a76400006139f7565b611d6b84670de0b6b3a7640000613b0c565b5f806124778561244f6118d0565b61245991906139f7565b600254610eb4908790600160801b90046001600160801b0316613b0c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124ab898789612f8a565b90925090506124ba8289613b0c565b97505f6124c882888a6118a0565b90506124d4818b613b0c565b9a989950979650505050505050565b5f825f036124f2575084611906565b81156125445761252361250584876139f7565b61250f8587610683565b612519888a610683565b611d6b91906139f7565b90505f612530858861193c565b90508082101561253e578091505b50611906565b82850361255257505f611906565b61257d61255f8487613b0c565b6125698587612652565b612573888a610683565b611d6b9190613b0c565b9695505050505050565b5f6125ac600b5f6125996002866111e3565b81526020019081526020015f2054611bba565b6125bd600b5f6125996001876111e3565b61069a9190613ba6565b5f6125f27f000000000000000000000000000000000000000000000000000000000000000083612652565b60035461260891906001600160801b03166139f7565b60025461261e906001600160801b031684610683565b101592915050565b5f61069a826004611ffb565b5f6123d287878761264b88670de0b6b3a7640000613b0c565b8787613009565b5f6106978383670de0b6b3a76400006127a7565b5f8080806126b687866126af8b6114396126888c670de0b6b3a7640000613b0c565b7f000000000000000000000000000000000000000000000000000000000000000090612652565b91906127a7565b93506126e2847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6127026126fa89670de0b6b3a7640000613b0c565b8a90886127a7565b905061272e817f0000000000000000000000000000000000000000000000000000000000000000612652565b935061275a847f0000000000000000000000000000000000000000000000000000000000000000610683565b61276490846139f7565b915050945094509450949050565b5f8183116127805781610697565b5090919050565b5f8061279e846127988a888a6127a7565b90611450565b9050611d7e8884865b5f825f1904841183021582026127bb575f80fd5b50910281810615159190040190565b5f6114d76127d88585613019565b83906b033b2e3c9fd0803ce80000006118a0565b5f61069783670de0b6b3a7640000846118a0565b5f8061280c8484613084565b90925090508061281e5761281e612482565b5092915050565b6040516001600160a01b03848116602483015283811660448301526064820183905261189a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506130bc565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128dd8482613127565b61189a576040516001600160a01b0384811660248301525f604483015261291191869182169063095ea7b39060640161285a565b61189a84826130bc565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846131c4565b5f815f0361297e5750670de0b6b3a764000061069a565b825f0361298c57505f61069a565b5f61299683611bba565b90505f6129aa6129a586611bba565b6131e7565b90508181026129c1670de0b6b3a764000082613e2d565b905061257d8161340c565b5f60016001607f1b038211156119385760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612a12575060016001607f1b0382135b156119385760405163a5353be560e01b815260040160405180910390fd5b5f80612a3c845f61359e565b612a46845f61359e565b612a509190613ba6565b90505f811315612a6b57612a6481866139f7565b9450612a89565b5f811215612a8957612a7c81613dc2565b612a869086613b0c565b94505b50929392505050565b6003545f908190612aac906001600160801b031684611450565b9050612ad87f0000000000000000000000000000000000000000000000000000000000000000826139f7565b6002546001600160801b0316111561194a576002547f000000000000000000000000000000000000000000000000000000000000000090612b239083906001600160801b0316613b0c565b6114da9190613b0c565b612b356138ea565b5f80612b4084612e2e565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b7a9190613ddc565b6040805180830381865af4158015612b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb89190613deb565b9350905082612bcc57505f91506117e39050565b5f612bf2612bed84610160015185610140015161068390919063ffffffff16565b611bba565b612c12612bed85610120015186610100015161265290919063ffffffff16565b612c1c9190613ba6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d50573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d749190613e59565b935093509350935080612d8f57505f98975050505050505050565b868414612dc057612d9f8461190f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612df157612dd0836129f5565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e1f57612e018261190f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e36613934565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f2e91166135ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f60929004166135ac565b905292915050565b5f80612f78888888888888613620565b909250905080611d9857611d98612482565b5f80612fd38561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fc9818c611450565b6114399190613b0c565b9150612fff827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612f788888888888886136e4565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613060573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613e8c565b5f805f8361309186611bba565b61309b9190613ba6565b90505f8112156130b1575f80925092505061067c565b946001945092505050565b5f6130d06001600160a01b038416836137a0565b905080515f141580156130f45750808060200190518101906130f29190613c3e565b155b1561312257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131429190613ea3565b5f604051808303815f865af19150503d805f811461317b576040519150601f19603f3d011682016040523d82523d5f602084013e613180565b606091505b50915091508180156131aa5750805115806131aa5750808060200190518101906131aa9190613c3e565b80156119065750505050506001600160a01b03163b151590565b5f6114d76b033b2e3c9fd0803ce80000006131df8686613019565b8491906118a0565b5f8082136132085760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061328b9084901c611bba565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361342557505f919050565b680755bf798b4a1bf1e5821261344e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061257d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611bba565b5f8183136127805781610697565b5f80670de0b6b3a76400006135bf6106a0565b6135c99190613be0565b90508083116135d8575f6135e2565b6135e28184613b0c565b91506114da613619670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613be0565b83906127ec565b5f805f61363089898888886137ad565b905061364a866119006136438a8d6139f7565b8790610683565b9850613657858a866118a0565b98508881101561366d575f8092509250506136d9565b888103670de0b6b3a764000081106136a25761369b613694670de0b6b3a764000089611450565b8290612967565b90506136ba565b6136b7613694670de0b6b3a7640000896127ec565b90505b808910156136cf575f809350935050506136d9565b8803925060019150505b965096945050505050565b5f805f6136f489898888886137ad565b905061370486611900898b6139f7565b97508781101561371a575f8092509250506136d9565b8781036137288186886127a7565b9050670de0b6b3a764000081106137555761374e613694670de0b6b3a764000089611450565b905061376d565b61376a613694670de0b6b3a7640000896127ec565b90505b6137778186611450565b9050808a101561378e575f809350935050506136d9565b90980398600198509650505050505050565b606061069783835f6137db565b5f6137b88585612967565b6137d16137c986611900868b612652565b8590856127a7565b61257d91906139f7565b6060814710156138005760405163cd78605960e01b8152306004820152602401613119565b5f80856001600160a01b0316848660405161381b9190613ea3565b5f6040518083038185875af1925050503d805f8114613855576040519150601f19603f3d011682016040523d82523d5f602084013e61385a565b606091505b509150915061257d86838360608261387a57613875826138c1565b6114da565b815115801561389157506001600160a01b0384163b155b156138ba57604051639996b31560e01b81526001600160a01b0385166004820152602401613119565b50806114da565b8051156138d15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806138fe613934565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561399c575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139c7575f80fd5b8501606081880312156139d8575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6139e3565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613a2e575f80fd5b81356114da81613a0a565b80151581146105af575f80fd5b5f60208284031215613a56575f80fd5b81356114da81613a39565b5f808335601e19843603018112613a76575f80fd5b83018035915067ffffffffffffffff821115613a90575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613aff60c083018486613aa4565b9998505050505050505050565b8181038181111561069a5761069a6139e3565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b5860e083018486613aa4565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561281e5761281e6139e3565b6001600160801b0381811683821601908082111561281e5761281e6139e3565b8181035f83128015838313168383128216171561281e5761281e6139e3565b5f60208284031215613bd5575f80fd5b81516114da81613a0a565b808202811582820484141761069a5761069a6139e3565b6001600160801b0382811682821603908082111561281e5761281e6139e3565b8082018281125f831280158216821582161715613c3657613c366139e3565b505092915050565b5f60208284031215613c4e575f80fd5b81516114da81613a39565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7b57613c7b613c59565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6139e3565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d3e828551613cad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613db1575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dd657613dd66139e3565b505f0390565b610180810161069a8284613cad565b5f8060408385031215613dfc575f80fd5b825191506020830151613e0e81613a39565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3b57613e3b613c59565b600160ff1b82145f1984141615613e5457613e546139e3565b500590565b5f805f8060808587031215613e6c575f80fd5b84519350602085015192506040850151915060608501516139d881613a39565b5f60208284031215613e9c575f80fd5b5051919050565b5f82515f5b81811015613ec25760208186018101518583015201613ea8565b505f92019182525091905056fea264697066735822122088330577515d8d62a839b2c73c541444f11542c370e922cd0e5fee32b84b049464736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts deleted file mode 100644 index cbc41d618..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts.map deleted file mode 100644 index 63b270105..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/AaveTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IoitC,KAAK,MAAM,EAAE;;;;CAIhltC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.js deleted file mode 100644 index 156f363d9..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614cfb8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b6147ea80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b50604051620047ea380380620047ea83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613f05620008e55f395f818161148b015281816116d00152818161177d015261294201525f50505f50505f610c2801525f50505f818160f9015281816103020152612ec301525f818161150701528181611de301528181611e46015281816125cd01528181612ab301528181612aef01528181612ce00152612e9d01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612e7701525f611a0d01525f8181611b2e015281816126be015281816127360152612fdb01525f81816109a301528181610e370152818161141501528181611b02015261270a01525f8181610e160152818161268a0152612f9701525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612ee901525f81816101d301528181610396015281816108e101526135f501525f81816106a7015281816107230152818161079701528181610862015261089a01525f6117ed01525f818161146a015281816116a3015281816117040152818161174201526129210152613f055ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613989565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613989565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139f7565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139f7565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613a1e565b8b611217565b8d8a8a898e8561023e6020830183613a1e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a46565b8961028960408a018a613a61565b60405161029c9796959493929190613acc565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139f7565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906139f7565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016139f7565b9350505f61042784898d6114b0565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114e1565b5f6104706002886111e3565b90508c61048a826104846020840184613a1e565b85611217565b858b868461049b6020860186613a1e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a46565b6104ec896104e68a8d613b0c565b90610683565b8d6104fa60408e018e613a61565b60405161050e989796959493929190613b1f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613a1e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613a46565b156105ea576105e0856105db6040870187613a61565b611694565b9093509050610602565b5034610602856105fd6040870187613a61565b6117eb565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006118a0565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006118bb565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6139f7565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16118d0565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b92505b506108388361190f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613b0c565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836139f7565b429061193c565b84610f13565b6108d588611950565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613b0c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611aed565b915091508060095f82825461097291906139f7565b9091555061098d9050865f8461098781611bba565b88611be3565b61099781836139f7565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d5a565b91506109db6109d68385610683565b611da3565b600680546002906109fc9084906201000090046001600160701b0316613b66565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261190f565b60068054601090610a4b908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611aed565b915091508060095f828254610abe91906139f7565b90915550610ad99050835f84610ad381611bba565b8a611dcc565b610ae38183613b0c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613b66565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261190f565b60068054601090610b62908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611bba565b610ba483611bba565b610bae9190613ba6565b5f611fbc565b8e610bbf8482611ffb565b50505b5f610bcc846121ea565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613bc5565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061232c565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416118d0565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123b2565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123dd565b612441565b15610e6d57610e6d612482565b610e798785888561249b565b91965094509250670de0b6b3a7640000610efb610e9687846139f7565b600254610eb4908890600160801b90046001600160801b0316613b0c565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b1115610f0957610f09612482565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361190f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613b0c565b610fb99190613be0565b85670de0b6b3a7640000610fcd878a613b0c565b610fd79190613be0565b8592919060016124e3565b61190f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461190f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613be0565b6005546001600160801b031691908860016124e3565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561190f565b600280545f906110d19084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461190f565b60028054601090611120908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461190f565b6111579082613b86565b600380546001600160801b03808416600160801b02911617905590505f61117d83612587565b905061119b8161118c87611bba565b6111969084613c17565b611fbc565b6111a4846125c7565b6111b0576111b0612482565b5f6111ba85612626565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906139f7565b90915550505f838152600b60205260408120805483929061126a9084906139f7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6118d0565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612632565b93508761134d8589612652565b111561135b5761135b612482565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118f0565b93506113d58a670de0b6b3a7640000868c612666565b509193509091506113e890508183613b0c565b6113f29087613b0c565b95508861143f816114398d611407868c613b0c565b8d6114128782612772565b877f0000000000000000000000000000000000000000000000000000000000000000612787565b90612652565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846127a7565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127ca565b5f6114c16040830160208401613a46565b156114cd5750826114da565b6114d784846127ec565b90505b9392505050565b6002546001600160801b0316838110156114fd576114fd612482565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611535908390600f0b612800565b101561154357611543612482565b60045461158d90610fe290600160801b90046001600160801b0316611570670de0b6b3a764000086613be0565b600554600160801b90046001600160801b031691908960016124e3565b600580546001600160801b03928316600160801b0292169190911790556115b38161190f565b600280546001600160801b0319166001600160801b03929092169190911790556115dc8561190f565b600280546010906115fe908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162b8561190f565b6004805460109061164d908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61167b83612587565b905061119b8161168a88611bba565b6111969084613ba6565b5f806116cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612825565b61172b7f00000000000000000000000000000000000000000000000000000000000000006116fa8760016139f7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061288c565b60405163617ba03760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790523060448301525f60648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084015f604051808303815f87803b1580156117be575f80fd5b505af11580156117d0573d5f803e3d5ffd5b505050506117dd8561291b565b5f915091505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd333061182587611464565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611876573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189a9190613c3e565b50505050565b5f825f1904841183021582026118b4575f80fd5b5091020490565b5f6118c68284613c6d565b6106979084613b0c565b6002546004545f916106cb916001600160801b0390911690600f0b612800565b5f611906826119008588886118a0565b90612967565b95945050505050565b5f6001600160801b0382111561193857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161194a5782610697565b50919050565b6006545f908190611972908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611ae8575f61199b8383613b0c565b90506119aa610fe28286611450565b600680546010906119cc908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a0485836127ec90919063ffffffff16565b90505f611a31827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611a4491906139f7565b90915550611a5490508183613b0c565b9150611a5f8261190f565b600280545f90611a799084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611aa6826129cc565b600480545f90611aba908490600f0b613c80565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611af987856127ec565b91505f611b26837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611b52817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b7557611b648282613b0c565b611b6e9084613b0c565b9250611b8c565b611b7f8282613b0c565b611b8990846139f7565b92505b86861015611baf57611b9f8387896118a0565b9250611bac8287896118a0565b91505b509550959350505050565b5f6001600160ff1b038211156119385760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c2b610fe282611c0f670de0b6b3a764000086613be0565b600554600160801b90046001600160801b031691908a5f6124e3565b600580546001600160801b03928316600160801b029216919091179055611c518661190f565b611c5b9082613bf7565b600480546001600160801b03928316600160801b029216919091179055611c818461190f565b600280545f90611c9b9084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc8836129f5565b600480545f90611cdc908490600f0b613c80565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d0c8561190f565b60028054601090611d2e908490600160801b90046001600160801b0316613bf7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d7184611d6b8a888a6118a0565b906127ec565b9050611d7e8884866118a0565b611d8890826139f7565b905086811115611d985786810391505b509695505050505050565b5f6001600160701b038211156119385760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e0e57507f0000000000000000000000000000000000000000000000000000000000000000611e0c8583613b0c565b105b15611e1b57611e1b612482565b6004549084900390600f0b611e308482613ba6565b905083611e3c86611bba565b138015611e7157507f0000000000000000000000000000000000000000000000000000000000000000611e6f8383612800565b105b15611e7e57611e7e612482565b600354600160801b90046001600160801b0316611ebf610fe282611eaa670de0b6b3a764000088613be0565b6005546001600160801b031691908c5f6124e3565b600580546001600160801b0319166001600160801b0392909216919091179055611ee98882613b0c565b9050611ef48161190f565b600380546001600160801b03928316600160801b029216919091179055611f1a8361190f565b600280546001600160801b0319166001600160801b0392909216919091179055611f43826129f5565b600480546001600160801b0319166001600160801b0392909216919091179055611f6c8761190f565b60028054601090611f8e908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fd790610fe2906001600160801b03168484612a30565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612045916001600160801b031690613b0c565b9050805f0361205857600191505061069a565b5f61206285612a92565b9050805f036120765760019250505061069a565b5f80612083838589612b2d565b9150915080612098575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120d3929190613d2b565b6040805180830381865af41580156120ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121119190613da0565b9150915061212f61212182611bba565b61212a90613dc2565b612c9a565b925082612144575f965050505050505061069a565b61214d8261190f565b600780545f906121679084906001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121948161190f565b600780546010906121b6908490600160801b90046001600160801b0316613b86565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61221187612e2e565b6040518263ffffffff1660e01b815260040161222d9190613ddc565b6040805180830381865af4158015612247573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061226b9190613deb565b915091508061228057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122e5916139f7565b6122ef9190613b0c565b9050805f0361230557505f958695509350505050565b5f808711612313575f61231e565b61231e8488846118a0565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561234f5761234f613e19565b6040519080825280601f01601f191660200182016040528015612379576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612399578692505b828152825f602083013e90999098509650505050505050565b5f6123d28787876123cb88670de0b6b3a7640000613b0c565b8787612f68565b979650505050505050565b5f6114d761241d6123f684670de0b6b3a7640000613b0c565b611439670de0b6b3a764000061240c818a611450565b6124169190613b0c565b8790612652565b61242f90670de0b6b3a76400006139f7565b611d6b84670de0b6b3a7640000613b0c565b5f806124778561244f6118d0565b61245991906139f7565b600254610eb4908790600160801b90046001600160801b0316613b0c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124ab898789612f8a565b90925090506124ba8289613b0c565b97505f6124c882888a6118a0565b90506124d4818b613b0c565b9a989950979650505050505050565b5f825f036124f2575084611906565b81156125445761252361250584876139f7565b61250f8587610683565b612519888a610683565b611d6b91906139f7565b90505f612530858861193c565b90508082101561253e578091505b50611906565b82850361255257505f611906565b61257d61255f8487613b0c565b6125698587612652565b612573888a610683565b611d6b9190613b0c565b9695505050505050565b5f6125ac600b5f6125996002866111e3565b81526020019081526020015f2054611bba565b6125bd600b5f6125996001876111e3565b61069a9190613ba6565b5f6125f27f000000000000000000000000000000000000000000000000000000000000000083612652565b60035461260891906001600160801b03166139f7565b60025461261e906001600160801b031684610683565b101592915050565b5f61069a826004611ffb565b5f6123d287878761264b88670de0b6b3a7640000613b0c565b8787613009565b5f6106978383670de0b6b3a76400006127a7565b5f8080806126b687866126af8b6114396126888c670de0b6b3a7640000613b0c565b7f000000000000000000000000000000000000000000000000000000000000000090612652565b91906127a7565b93506126e2847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6127026126fa89670de0b6b3a7640000613b0c565b8a90886127a7565b905061272e817f0000000000000000000000000000000000000000000000000000000000000000612652565b935061275a847f0000000000000000000000000000000000000000000000000000000000000000610683565b61276490846139f7565b915050945094509450949050565b5f8183116127805781610697565b5090919050565b5f8061279e846127988a888a6127a7565b90611450565b9050611d7e8884865b5f825f1904841183021582026127bb575f80fd5b50910281810615159190040190565b5f6114d76127d88585613019565b83906b033b2e3c9fd0803ce80000006118a0565b5f61069783670de0b6b3a7640000846118a0565b5f8061280c8484613084565b90925090508061281e5761281e612482565b5092915050565b6040516001600160a01b03848116602483015283811660448301526064820183905261189a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506130bc565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128dd8482613127565b61189a576040516001600160a01b0384811660248301525f604483015261291191869182169063095ea7b39060640161285a565b61189a84826130bc565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846131c4565b5f815f0361297e5750670de0b6b3a764000061069a565b825f0361298c57505f61069a565b5f61299683611bba565b90505f6129aa6129a586611bba565b6131e7565b90508181026129c1670de0b6b3a764000082613e2d565b905061257d8161340c565b5f60016001607f1b038211156119385760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612a12575060016001607f1b0382135b156119385760405163a5353be560e01b815260040160405180910390fd5b5f80612a3c845f61359e565b612a46845f61359e565b612a509190613ba6565b90505f811315612a6b57612a6481866139f7565b9450612a89565b5f811215612a8957612a7c81613dc2565b612a869086613b0c565b94505b50929392505050565b6003545f908190612aac906001600160801b031684611450565b9050612ad87f0000000000000000000000000000000000000000000000000000000000000000826139f7565b6002546001600160801b0316111561194a576002547f000000000000000000000000000000000000000000000000000000000000000090612b239083906001600160801b0316613b0c565b6114da9190613b0c565b612b356138ea565b5f80612b4084612e2e565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b7a9190613ddc565b6040805180830381865af4158015612b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb89190613deb565b9350905082612bcc57505f91506117e39050565b5f612bf2612bed84610160015185610140015161068390919063ffffffff16565b611bba565b612c12612bed85610120015186610100015161265290919063ffffffff16565b612c1c9190613ba6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d50573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d749190613e59565b935093509350935080612d8f57505f98975050505050505050565b868414612dc057612d9f8461190f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612df157612dd0836129f5565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e1f57612e018261190f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e36613934565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f2e91166135ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f60929004166135ac565b905292915050565b5f80612f78888888888888613620565b909250905080611d9857611d98612482565b5f80612fd38561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fc9818c611450565b6114399190613b0c565b9150612fff827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612f788888888888886136e4565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613060573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613e8c565b5f805f8361309186611bba565b61309b9190613ba6565b90505f8112156130b1575f80925092505061067c565b946001945092505050565b5f6130d06001600160a01b038416836137a0565b905080515f141580156130f45750808060200190518101906130f29190613c3e565b155b1561312257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131429190613ea3565b5f604051808303815f865af19150503d805f811461317b576040519150601f19603f3d011682016040523d82523d5f602084013e613180565b606091505b50915091508180156131aa5750805115806131aa5750808060200190518101906131aa9190613c3e565b80156119065750505050506001600160a01b03163b151590565b5f6114d76b033b2e3c9fd0803ce80000006131df8686613019565b8491906118a0565b5f8082136132085760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061328b9084901c611bba565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361342557505f919050565b680755bf798b4a1bf1e5821261344e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061257d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611bba565b5f8183136127805781610697565b5f80670de0b6b3a76400006135bf6106a0565b6135c99190613be0565b90508083116135d8575f6135e2565b6135e28184613b0c565b91506114da613619670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613be0565b83906127ec565b5f805f61363089898888886137ad565b905061364a866119006136438a8d6139f7565b8790610683565b9850613657858a866118a0565b98508881101561366d575f8092509250506136d9565b888103670de0b6b3a764000081106136a25761369b613694670de0b6b3a764000089611450565b8290612967565b90506136ba565b6136b7613694670de0b6b3a7640000896127ec565b90505b808910156136cf575f809350935050506136d9565b8803925060019150505b965096945050505050565b5f805f6136f489898888886137ad565b905061370486611900898b6139f7565b97508781101561371a575f8092509250506136d9565b8781036137288186886127a7565b9050670de0b6b3a764000081106137555761374e613694670de0b6b3a764000089611450565b905061376d565b61376a613694670de0b6b3a7640000896127ec565b90505b6137778186611450565b9050808a101561378e575f809350935050506136d9565b90980398600198509650505050505050565b606061069783835f6137db565b5f6137b88585612967565b6137d16137c986611900868b612652565b8590856127a7565b61257d91906139f7565b6060814710156138005760405163cd78605960e01b8152306004820152602401613119565b5f80856001600160a01b0316848660405161381b9190613ea3565b5f6040518083038185875af1925050503d805f8114613855576040519150601f19603f3d011682016040523d82523d5f602084013e61385a565b606091505b509150915061257d86838360608261387a57613875826138c1565b6114da565b815115801561389157506001600160a01b0384163b155b156138ba57604051639996b31560e01b81526001600160a01b0385166004820152602401613119565b50806114da565b8051156138d15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806138fe613934565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561399c575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139c7575f80fd5b8501606081880312156139d8575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6139e3565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613a2e575f80fd5b81356114da81613a0a565b80151581146105af575f80fd5b5f60208284031215613a56575f80fd5b81356114da81613a39565b5f808335601e19843603018112613a76575f80fd5b83018035915067ffffffffffffffff821115613a90575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613aff60c083018486613aa4565b9998505050505050505050565b8181038181111561069a5761069a6139e3565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b5860e083018486613aa4565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561281e5761281e6139e3565b6001600160801b0381811683821601908082111561281e5761281e6139e3565b8181035f83128015838313168383128216171561281e5761281e6139e3565b5f60208284031215613bd5575f80fd5b81516114da81613a0a565b808202811582820484141761069a5761069a6139e3565b6001600160801b0382811682821603908082111561281e5761281e6139e3565b8082018281125f831280158216821582161715613c3657613c366139e3565b505092915050565b5f60208284031215613c4e575f80fd5b81516114da81613a39565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7b57613c7b613c59565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6139e3565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d3e828551613cad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613db1575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dd657613dd66139e3565b505f0390565b610180810161069a8284613cad565b5f8060408385031215613dfc575f80fd5b825191506020830151613e0e81613a39565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3b57613e3b613c59565b600160ff1b82145f1984141615613e5457613e546139e3565b500590565b5f805f8060808587031215613e6c575f80fd5b84519350602085015192506040850151915060608501516139d881613a39565b5f60208284031215613e9c575f80fd5b5051919050565b5f82515f5b81811015613ec25760208186018101518583015201613ea8565b505f92019182525091905056fea264697066735822122088330577515d8d62a839b2c73c541444f11542c370e922cd0e5fee32b84b049464736f6c63430008160033a264697066735822122027eaaccf021a4243f6897710a82fba2dfa0b991a57e73c44527124c6a265634a64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts deleted file mode 100644 index 92d08bd74..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts +++ /dev/null @@ -1,826 +0,0 @@ -export declare const AaveTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=AaveTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts.map deleted file mode 100644 index b69936586..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget3.d.ts","sourceRoot":"","sources":["../src/AaveTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+/B0vnC,KAAK,MAAM,EAAE;;;;;CAK9xnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3.js b/packages/hyperdrive-artifacts/dist/AaveTarget3.js deleted file mode 100644 index 16a118f7a..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3.js +++ /dev/null @@ -1,1029 +0,0 @@ -export const AaveTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b506040516200477f3803806200477f83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613e89620008f65f395f818161198801528181611a3501528181612d710152612dbd01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181612172015281816121d501528181612a7e01528181612eda0152612f1601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611d8301525f8181611ed8015261316501525f81816110260152611eac01525f61311b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a1401525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f611aa501525f818161195b015281816119bc015281816119fa01528181612d500152612d9c0152613e895ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138e2565b610064565b60405190815260200160405180910390f35b61003f61005f366004613941565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6139a1565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896139b4565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826139a1565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826139b4565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906139b4565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906139a1565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a45565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a54565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a45565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a54565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876139b4565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a7f565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906139a1565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613a7f565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613aa7565b866107a960408c018c613ac2565b6040516107bc9796959493929190613b05565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b58565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b6f565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613a7f565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613a7f565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613aa7565b87610b5e6040890189613ac2565b604051610b719796959493929190613b05565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613a7f565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613aa7565b15610c8f57610c8585610c806040870187613ac2565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613ac2565b611aa3565b610caf611b58565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611b6a565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6139a1565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6139b4565b8a84611b7f565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836139a1565b4290611cb8565b84611b7f565b610f5888611cc6565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6139b4565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611e63565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611e97565b915091508060095f828254610ff591906139a1565b909155506110109050865f8461100a81611766565b88611f64565b61101a81836139a1565b915061104a86838a8e877f00000000000000000000000000000000000000000000000000000000000000006120db565b915061105e611059838561211e565b612132565b6006805460029061107f9084906201000090046001600160701b0316613b9a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611e63565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611e97565b915091508060095f82825461114191906139a1565b9091555061115c9050835f8461115681611766565b8a61215b565b61116681836139b4565b9150611175611059838761211e565b600680546002906111969084906201000090046001600160701b0316613b9a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613bda565b5f61234b565b8e611242848261238a565b50505b5f61124f84612579565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613bf9565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611e63565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611e63565b6113f79190613bda565b92915050565b5f805f8061140b8a8a612743565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006139b4565b8b7f000000000000000000000000000000000000000000000000000000000000000061277b565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006139b4565b8d7f0000000000000000000000000000000000000000000000000000000000000000612834565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846128ee565b509093505f9050611568848f6139a1565b90505f6115888b8b61157987611766565b611583908e613c14565b612936565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612998565b611766565b6115c683611766565b6115d36115b8868561211e565b6115dd9190613bda565b6115e79190613bda565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806129a8565b61162685670de0b6b3a76400006139b4565b906117d4565b611634613833565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166129cb565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166129cb565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612a38565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906139a1565b90915550505f838152600b60205260408120805483929061183b9084906139a1565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f782600461238a565b5f8183136118a7578261008d565b50919050565b5f806118b98484612743565b9092509050806118cb576118cb612bcc565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612be5565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612c54565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016139a1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612cbb565b60405163617ba03760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790523060448301525f60648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084015f604051808303815f87803b158015611a76575f80fd5b505af1158015611a88573d5f803e3d5ffd5b50505050611a9585612d4a565b5f915091505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd3330611add87612d96565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611b2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b529190613c3b565b50505050565b5f610c2d670de0b6b3a7640000612d96565b5f611b758284613c6a565b61008d90846139b4565b5f83815260086020526040902054600160801b90046001600160801b0316808303611baa5750505050565b5f848152600860205260408120546001600160801b031690819003611c0257611bd2836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c7f565b611c53611c4e670de0b6b3a7640000611c1b88866139b4565b611c259190613b58565b85670de0b6b3a7640000611c39878a6139b4565b611c439190613b58565b859291906001612de2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c88846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611ce8908490600160801b90046001600160801b031661211e565b6006546201000090046001600160701b03169250905081811115611e5e575f611d1183836139b4565b9050611d20611c4e8286612e7c565b60068054601090611d42908490600160801b90046001600160801b0316613c7d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d7a85836117d490919063ffffffff16565b90505f611da7827f000000000000000000000000000000000000000000000000000000000000000061211e565b90508060095f828254611dba91906139a1565b90915550611dca905081836139b4565b9150611dd5826118d2565b600280545f90611def9084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e1c82612e90565b600480545f90611e30908490600f0b613c9d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e8c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ea387856117d4565b91505f611ed0837f000000000000000000000000000000000000000000000000000000000000000061211e565b9050611efc817f000000000000000000000000000000000000000000000000000000000000000061211e565b91508315611f1f57611f0e82826139b4565b611f1890846139b4565b9250611f36565b611f2982826139b4565b611f3390846139a1565b92505b86861015611f5957611f498387896117b9565b9250611f568287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fac611c4e82611f90670de0b6b3a764000086613b58565b600554600160801b90046001600160801b031691908a5f612de2565b600580546001600160801b03928316600160801b029216919091179055611fd2866118d2565b611fdc9082613c7d565b600480546001600160801b03928316600160801b029216919091179055612002846118d2565b600280545f9061201c9084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612049836118fb565b600480545f9061205d908490600f0b613c9d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061208d856118d2565b600280546010906120af908490600160801b90046001600160801b0316613c7d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120ec846116268a888a6117b9565b90506120f98884866117b9565b61210390826139a1565b9050868111156121135786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061219d57507f000000000000000000000000000000000000000000000000000000000000000061219b85836139b4565b105b156121aa576121aa612bcc565b6004549084900390600f0b6121bf8482613bda565b9050836121cb86611766565b13801561220057507f00000000000000000000000000000000000000000000000000000000000000006121fe83836118ad565b105b1561220d5761220d612bcc565b600354600160801b90046001600160801b031661224e611c4e82612239670de0b6b3a764000088613b58565b6005546001600160801b031691908c5f612de2565b600580546001600160801b0319166001600160801b039290921691909117905561227888826139b4565b9050612283816118d2565b600380546001600160801b03928316600160801b0292169190911790556122a9836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556122d2826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556122fb876118d2565b6002805460109061231d908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461236690611c4e906001600160801b03168484612936565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916123d4916001600160801b0316906139b4565b9050805f036123e75760019150506113f7565b5f6123f185612eb9565b9050805f03612405576001925050506113f7565b5f80612412838589612f54565b9150915080612427575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612462929190613cca565b6040805180830381865af415801561247c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a09190613d3f565b915091506124be6124b082611766565b6124b990613d61565b612a38565b9250826124d3575f96505050505050506113f7565b6124dc826118d2565b600780545f906124f69084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612523816118d2565b60078054601090612545908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125a08761162c565b6040518263ffffffff1660e01b81526004016125bc9190613a45565b6040805180830381865af41580156125d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125fa9190613d7b565b915091508061260f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612674916139a1565b61267e91906139b4565b9050805f0361269457505f958695509350505050565b5f8087116126a2575f6126ad565b6126ad8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126de576126de613da9565b6040519080825280601f01601f191660200182016040528015612708576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612728578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361275086611766565b61275a9190613bda565b90505f811215612770575f809250925050610d21565b946001945092505050565b5f805f61278b88888888886130bc565b90505f6127b5670de0b6b3a76400006127a48888612e7c565b6127ae91906139a1565b83906117d4565b9050670de0b6b3a764000081106127e9576127e26127db670de0b6b3a7640000896117d4565b8290612be5565b9050612801565b6127fe6127db670de0b6b3a764000089612e7c565b90505b61280b81866117d4565b905088811015612822575f80935093505050612739565b97909703976001975095505050505050565b5f805f61284489898888886130ea565b905061285e866119466128578a8d6139a1565b879061211e565b985061286b858a866117b9565b985088811015612881575f8092509250506115f6565b888103670de0b6b3a764000081106128af576128a86127db670de0b6b3a764000089612e7c565b90506128c7565b6128c46127db670de0b6b3a7640000896117d4565b90505b808910156128dc575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6128fe89878961310e565b909250905061290d82896139b4565b97505f61291b82888a6117b9565b9050612927818b6139b4565b9a989950979650505050505050565b5f80612942845f613193565b61294c845f613193565b6129569190613bda565b90505f8113156129715761296a81866139a1565b945061298f565b5f81121561298f5761298281613d61565b61298c90866139b4565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026129bc575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006129de610d28565b6129e89190613b58565b90508083116129f7575f612a01565b612a0181846139b4565b915061008d6127ae670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b58565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b129190613dbd565b935093509350935080612b2d57505f98975050505050505050565b868414612b5e57612b3d846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8f57612b6e836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bbd57612b9f826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bfc5750670de0b6b3a76400006113f7565b825f03612c0a57505f6113f7565b5f612c1483611766565b90505f612c28612c2386611766565b6131a8565b9050818102612c3f670de0b6b3a764000082613dfb565b9050612c4a816133cd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b529186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061355f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d0c84826135ca565b611b52576040516001600160a01b0384811660248301525f6044830152612d4091869182169063095ea7b390606401612c89565b611b52848261355f565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613667565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461368a565b5f825f03612df1575084610075565b8115612e4357612e22612e0484876139a1565b612e0e858761211e565b612e18888a61211e565b61162691906139a1565b90505f612e2f8588611cb8565b905080821015612e3d578091505b50610075565b828503612e5157505f610075565b610072612e5e84876139b4565b612e688587612998565b612e72888a61211e565b61162691906139b4565b5f61008d83670de0b6b3a7640000846129a8565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612ed3906001600160801b031684612e7c565b9050612eff7f0000000000000000000000000000000000000000000000000000000000000000826139a1565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612f4a9083906001600160801b03166139b4565b61008d91906139b4565b612f5c613888565b5f80612f678461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612fa19190613a45565b6040805180830381865af4158015612fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fdf9190613d7b565b9350905082612ff357505f9150611a9b9050565b5f6130146115b884610160015185610140015161211e90919063ffffffff16565b6130346115b885610120015186610100015161299890919063ffffffff16565b61303e9190613bda565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130c78585612be5565b6130e06130d886611946868b61211e565b8590856117b9565b61007291906139a1565b5f6130f58585612be5565b6130e061310686611946868b612998565b8590856129a8565b5f8061315d8561315785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061314d818c612e7c565b61315791906139b4565b90612998565b9150613189827f000000000000000000000000000000000000000000000000000000000000000061211e565b9050935093915050565b5f8183136131a1578161008d565b5090919050565b5f8082136131c95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061324c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136133e657505f919050565b680755bf798b4a1bf1e5821261340f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c4a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6135736001600160a01b038416836136ac565b905080515f141580156135975750808060200190518101906135959190613c3b565b155b156135c557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516135e59190613e27565b5f604051808303815f865af19150503d805f811461361e576040519150601f19603f3d011682016040523d82523d5f602084013e613623565b606091505b509150915081801561364d57508051158061364d57508080602001905181019061364d9190613c3b565b80156100755750505050506001600160a01b03163b151590565b5f61008a6b033b2e3c9fd0803ce800000061368286866136b9565b8491906117b9565b5f61008a61369885856136b9565b83906b033b2e3c9fd0803ce80000006117b9565b606061008d83835f613724565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613700573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d9190613a54565b6060814710156137495760405163cd78605960e01b81523060048201526024016135bc565b5f80856001600160a01b031684866040516137649190613e27565b5f6040518083038185875af1925050503d805f811461379e576040519150601f19603f3d011682016040523d82523d5f602084013e6137a3565b606091505b5091509150612c4a8683836060826137c3576137be8261380a565b61008d565b81511580156137da57506001600160a01b0384163b155b1561380357604051639996b31560e01b81526001600160a01b03851660048201526024016135bc565b508061008d565b80511561381a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061389c613833565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156138f6575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613928575f80fd5b613934888289016138d2565b9150509295509295909350565b5f805f60608486031215613953575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613977575f80fd5b613983868287016138d2565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f761398d565b818103818111156113f7576113f761398d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846139c7565b5f60208284031215613a64575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613a8f575f80fd5b813561008d81613a6b565b8015158114610c0a575f80fd5b5f60208284031215613ab7575f80fd5b813561008d81613a9a565b5f808335601e19843603018112613ad7575f80fd5b83018035915067ffffffffffffffff821115613af1575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f761398d565b5f805f60608486031215613b81575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb61398d565b6001600160801b038181168382160190808211156118cb576118cb61398d565b8181035f8312801583831316838312821617156118cb576118cb61398d565b5f60208284031215613c09575f80fd5b815161008d81613a6b565b8082018281125f831280158216821582161715613c3357613c3361398d565b505092915050565b5f60208284031215613c4b575f80fd5b815161008d81613a9a565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7857613c78613c56565b500690565b6001600160801b038281168282160390808211156118cb576118cb61398d565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f761398d565b5f6102a082019050613cdd8285516139c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d50575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d7557613d7561398d565b505f0390565b5f8060408385031215613d8c575f80fd5b825191506020830151613d9e81613a9a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613dd0575f80fd5b8451935060208501519250604085015191506060850151613df081613a9a565b939692955090935050565b5f82613e0957613e09613c56565b600160ff1b82145f1984141615613e2257613e2261398d565b500590565b5f82515f5b81811015613e465760208186018101518583015201613e2c565b505f92019182525091905056fea2646970667358221220640a92cbc756d9143c0dbc01bfb8447576eb5a91a48299f33ec97a3e60e09ddf64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts deleted file mode 100644 index 04f02e9f2..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts.map deleted file mode 100644 index 86e9faa20..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/AaveTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I80sC,KAAK,MAAM,EAAE;;;;CAI13sC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.js deleted file mode 100644 index a49e55f0e..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614c908061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b61477f80620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b506040516200477f3803806200477f83398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613e89620008f65f395f818161198801528181611a3501528181612d710152612dbd01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181612172015281816121d501528181612a7e01528181612eda0152612f1601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611d8301525f8181611ed8015261316501525f81816110260152611eac01525f61311b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a1401525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f611aa501525f818161195b015281816119bc015281816119fa01528181612d500152612d9c0152613e895ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138e2565b610064565b60405190815260200160405180910390f35b61003f61005f366004613941565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6139a1565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896139b4565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826139a1565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826139b4565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906139b4565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906139a1565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a45565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a54565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a45565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a54565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876139b4565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a7f565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906139a1565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613a7f565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613aa7565b866107a960408c018c613ac2565b6040516107bc9796959493929190613b05565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b58565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b6f565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613a7f565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613a7f565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613aa7565b87610b5e6040890189613ac2565b604051610b719796959493929190613b05565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613a7f565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613aa7565b15610c8f57610c8585610c806040870187613ac2565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613ac2565b611aa3565b610caf611b58565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611b6a565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6139a1565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6139b4565b8a84611b7f565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836139a1565b4290611cb8565b84611b7f565b610f5888611cc6565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6139b4565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611e63565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611e97565b915091508060095f828254610ff591906139a1565b909155506110109050865f8461100a81611766565b88611f64565b61101a81836139a1565b915061104a86838a8e877f00000000000000000000000000000000000000000000000000000000000000006120db565b915061105e611059838561211e565b612132565b6006805460029061107f9084906201000090046001600160701b0316613b9a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611e63565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611e97565b915091508060095f82825461114191906139a1565b9091555061115c9050835f8461115681611766565b8a61215b565b61116681836139b4565b9150611175611059838761211e565b600680546002906111969084906201000090046001600160701b0316613b9a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613bda565b5f61234b565b8e611242848261238a565b50505b5f61124f84612579565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613bf9565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611e63565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611e63565b6113f79190613bda565b92915050565b5f805f8061140b8a8a612743565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006139b4565b8b7f000000000000000000000000000000000000000000000000000000000000000061277b565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006139b4565b8d7f0000000000000000000000000000000000000000000000000000000000000000612834565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846128ee565b509093505f9050611568848f6139a1565b90505f6115888b8b61157987611766565b611583908e613c14565b612936565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612998565b611766565b6115c683611766565b6115d36115b8868561211e565b6115dd9190613bda565b6115e79190613bda565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806129a8565b61162685670de0b6b3a76400006139b4565b906117d4565b611634613833565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166129cb565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166129cb565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612a38565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906139a1565b90915550505f838152600b60205260408120805483929061183b9084906139a1565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f782600461238a565b5f8183136118a7578261008d565b50919050565b5f806118b98484612743565b9092509050806118cb576118cb612bcc565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612be5565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612c54565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016139a1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612cbb565b60405163617ba03760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790523060448301525f60648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084015f604051808303815f87803b158015611a76575f80fd5b505af1158015611a88573d5f803e3d5ffd5b50505050611a9585612d4a565b5f915091505b935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd3330611add87612d96565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015611b2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b529190613c3b565b50505050565b5f610c2d670de0b6b3a7640000612d96565b5f611b758284613c6a565b61008d90846139b4565b5f83815260086020526040902054600160801b90046001600160801b0316808303611baa5750505050565b5f848152600860205260408120546001600160801b031690819003611c0257611bd2836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c7f565b611c53611c4e670de0b6b3a7640000611c1b88866139b4565b611c259190613b58565b85670de0b6b3a7640000611c39878a6139b4565b611c439190613b58565b859291906001612de2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c88846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611ce8908490600160801b90046001600160801b031661211e565b6006546201000090046001600160701b03169250905081811115611e5e575f611d1183836139b4565b9050611d20611c4e8286612e7c565b60068054601090611d42908490600160801b90046001600160801b0316613c7d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d7a85836117d490919063ffffffff16565b90505f611da7827f000000000000000000000000000000000000000000000000000000000000000061211e565b90508060095f828254611dba91906139a1565b90915550611dca905081836139b4565b9150611dd5826118d2565b600280545f90611def9084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e1c82612e90565b600480545f90611e30908490600f0b613c9d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e8c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ea387856117d4565b91505f611ed0837f000000000000000000000000000000000000000000000000000000000000000061211e565b9050611efc817f000000000000000000000000000000000000000000000000000000000000000061211e565b91508315611f1f57611f0e82826139b4565b611f1890846139b4565b9250611f36565b611f2982826139b4565b611f3390846139a1565b92505b86861015611f5957611f498387896117b9565b9250611f568287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fac611c4e82611f90670de0b6b3a764000086613b58565b600554600160801b90046001600160801b031691908a5f612de2565b600580546001600160801b03928316600160801b029216919091179055611fd2866118d2565b611fdc9082613c7d565b600480546001600160801b03928316600160801b029216919091179055612002846118d2565b600280545f9061201c9084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612049836118fb565b600480545f9061205d908490600f0b613c9d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061208d856118d2565b600280546010906120af908490600160801b90046001600160801b0316613c7d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120ec846116268a888a6117b9565b90506120f98884866117b9565b61210390826139a1565b9050868111156121135786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061219d57507f000000000000000000000000000000000000000000000000000000000000000061219b85836139b4565b105b156121aa576121aa612bcc565b6004549084900390600f0b6121bf8482613bda565b9050836121cb86611766565b13801561220057507f00000000000000000000000000000000000000000000000000000000000000006121fe83836118ad565b105b1561220d5761220d612bcc565b600354600160801b90046001600160801b031661224e611c4e82612239670de0b6b3a764000088613b58565b6005546001600160801b031691908c5f612de2565b600580546001600160801b0319166001600160801b039290921691909117905561227888826139b4565b9050612283816118d2565b600380546001600160801b03928316600160801b0292169190911790556122a9836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556122d2826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556122fb876118d2565b6002805460109061231d908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461236690611c4e906001600160801b03168484612936565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916123d4916001600160801b0316906139b4565b9050805f036123e75760019150506113f7565b5f6123f185612eb9565b9050805f03612405576001925050506113f7565b5f80612412838589612f54565b9150915080612427575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612462929190613cca565b6040805180830381865af415801561247c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a09190613d3f565b915091506124be6124b082611766565b6124b990613d61565b612a38565b9250826124d3575f96505050505050506113f7565b6124dc826118d2565b600780545f906124f69084906001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612523816118d2565b60078054601090612545908490600160801b90046001600160801b0316613bba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125a08761162c565b6040518263ffffffff1660e01b81526004016125bc9190613a45565b6040805180830381865af41580156125d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125fa9190613d7b565b915091508061260f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612674916139a1565b61267e91906139b4565b9050805f0361269457505f958695509350505050565b5f8087116126a2575f6126ad565b6126ad8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126de576126de613da9565b6040519080825280601f01601f191660200182016040528015612708576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612728578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361275086611766565b61275a9190613bda565b90505f811215612770575f809250925050610d21565b946001945092505050565b5f805f61278b88888888886130bc565b90505f6127b5670de0b6b3a76400006127a48888612e7c565b6127ae91906139a1565b83906117d4565b9050670de0b6b3a764000081106127e9576127e26127db670de0b6b3a7640000896117d4565b8290612be5565b9050612801565b6127fe6127db670de0b6b3a764000089612e7c565b90505b61280b81866117d4565b905088811015612822575f80935093505050612739565b97909703976001975095505050505050565b5f805f61284489898888886130ea565b905061285e866119466128578a8d6139a1565b879061211e565b985061286b858a866117b9565b985088811015612881575f8092509250506115f6565b888103670de0b6b3a764000081106128af576128a86127db670de0b6b3a764000089612e7c565b90506128c7565b6128c46127db670de0b6b3a7640000896117d4565b90505b808910156128dc575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6128fe89878961310e565b909250905061290d82896139b4565b97505f61291b82888a6117b9565b9050612927818b6139b4565b9a989950979650505050505050565b5f80612942845f613193565b61294c845f613193565b6129569190613bda565b90505f8113156129715761296a81866139a1565b945061298f565b5f81121561298f5761298281613d61565b61298c90866139b4565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026129bc575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006129de610d28565b6129e89190613b58565b90508083116129f7575f612a01565b612a0181846139b4565b915061008d6127ae670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b58565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b129190613dbd565b935093509350935080612b2d57505f98975050505050505050565b868414612b5e57612b3d846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8f57612b6e836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bbd57612b9f826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bfc5750670de0b6b3a76400006113f7565b825f03612c0a57505f6113f7565b5f612c1483611766565b90505f612c28612c2386611766565b6131a8565b9050818102612c3f670de0b6b3a764000082613dfb565b9050612c4a816133cd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b529186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061355f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d0c84826135ca565b611b52576040516001600160a01b0384811660248301525f6044830152612d4091869182169063095ea7b390606401612c89565b611b52848261355f565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613667565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461368a565b5f825f03612df1575084610075565b8115612e4357612e22612e0484876139a1565b612e0e858761211e565b612e18888a61211e565b61162691906139a1565b90505f612e2f8588611cb8565b905080821015612e3d578091505b50610075565b828503612e5157505f610075565b610072612e5e84876139b4565b612e688587612998565b612e72888a61211e565b61162691906139b4565b5f61008d83670de0b6b3a7640000846129a8565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612ed3906001600160801b031684612e7c565b9050612eff7f0000000000000000000000000000000000000000000000000000000000000000826139a1565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612f4a9083906001600160801b03166139b4565b61008d91906139b4565b612f5c613888565b5f80612f678461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612fa19190613a45565b6040805180830381865af4158015612fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fdf9190613d7b565b9350905082612ff357505f9150611a9b9050565b5f6130146115b884610160015185610140015161211e90919063ffffffff16565b6130346115b885610120015186610100015161299890919063ffffffff16565b61303e9190613bda565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130c78585612be5565b6130e06130d886611946868b61211e565b8590856117b9565b61007291906139a1565b5f6130f58585612be5565b6130e061310686611946868b612998565b8590856129a8565b5f8061315d8561315785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061314d818c612e7c565b61315791906139b4565b90612998565b9150613189827f000000000000000000000000000000000000000000000000000000000000000061211e565b9050935093915050565b5f8183136131a1578161008d565b5090919050565b5f8082136131c95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061324c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136133e657505f919050565b680755bf798b4a1bf1e5821261340f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c4a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6135736001600160a01b038416836136ac565b905080515f141580156135975750808060200190518101906135959190613c3b565b155b156135c557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516135e59190613e27565b5f604051808303815f865af19150503d805f811461361e576040519150601f19603f3d011682016040523d82523d5f602084013e613623565b606091505b509150915081801561364d57508051158061364d57508080602001905181019061364d9190613c3b565b80156100755750505050506001600160a01b03163b151590565b5f61008a6b033b2e3c9fd0803ce800000061368286866136b9565b8491906117b9565b5f61008a61369885856136b9565b83906b033b2e3c9fd0803ce80000006117b9565b606061008d83835f613724565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa158015613700573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d9190613a54565b6060814710156137495760405163cd78605960e01b81523060048201526024016135bc565b5f80856001600160a01b031684866040516137649190613e27565b5f6040518083038185875af1925050503d805f811461379e576040519150601f19603f3d011682016040523d82523d5f602084013e6137a3565b606091505b5091509150612c4a8683836060826137c3576137be8261380a565b61008d565b81511580156137da57506001600160a01b0384163b155b1561380357604051639996b31560e01b81526001600160a01b03851660048201526024016135bc565b508061008d565b80511561381a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061389c613833565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156138f6575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613928575f80fd5b613934888289016138d2565b9150509295509295909350565b5f805f60608486031215613953575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613977575f80fd5b613983868287016138d2565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f761398d565b818103818111156113f7576113f761398d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846139c7565b5f60208284031215613a64575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613a8f575f80fd5b813561008d81613a6b565b8015158114610c0a575f80fd5b5f60208284031215613ab7575f80fd5b813561008d81613a9a565b5f808335601e19843603018112613ad7575f80fd5b83018035915067ffffffffffffffff821115613af1575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f761398d565b5f805f60608486031215613b81575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb61398d565b6001600160801b038181168382160190808211156118cb576118cb61398d565b8181035f8312801583831316838312821617156118cb576118cb61398d565b5f60208284031215613c09575f80fd5b815161008d81613a6b565b8082018281125f831280158216821582161715613c3357613c3361398d565b505092915050565b5f60208284031215613c4b575f80fd5b815161008d81613a9a565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7857613c78613c56565b500690565b6001600160801b038281168282160390808211156118cb576118cb61398d565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f761398d565b5f6102a082019050613cdd8285516139c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d50575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d7557613d7561398d565b505f0390565b5f8060408385031215613d8c575f80fd5b825191506020830151613d9e81613a9a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613dd0575f80fd5b8451935060208501519250604085015191506060850151613df081613a9a565b939692955090935050565b5f82613e0957613e09613c56565b600160ff1b82145f1984141615613e2257613e2261398d565b500590565b5f82515f5b81811015613e465760208186018101518583015201613e2c565b505f92019182525091905056fea2646970667358221220640a92cbc756d9143c0dbc01bfb8447576eb5a91a48299f33ec97a3e60e09ddf64736f6c63430008160033a2646970667358221220e375af81e0ab43b77a5c8f70a4a357ce1975b74b840ad76d94aa3fb015b82d0b64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts deleted file mode 100644 index 9b5ab8e25..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts +++ /dev/null @@ -1,805 +0,0 @@ -export declare const AaveTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=AaveTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts.map deleted file mode 100644 index 9bdd4ce49..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget4.d.ts","sourceRoot":"","sources":["../src/AaveTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo+B4k3B,KAAK,MAAM,EAAE;;;;;;CAMhn3B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4.js b/packages/hyperdrive-artifacts/dist/AaveTarget4.js deleted file mode 100644 index 7fa608265..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4.js +++ /dev/null @@ -1,1003 +0,0 @@ -export const AaveTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620037283803806200372883398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612ef4620008345f395f81816110aa01528181612242015261226a01525f50505f50505f61099201525f50505f818161025f0152611f1f01525f818161177f015281816117e201528181611b0f01528181611b4b01528181611d3c0152611ef901525f81816105500152611ed301525f61136101525f6114b601525f818161070d015261148a01525f50505f81816105710152611f4501525f818161064b015261245001525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61233a01525f81816110890152818161222101526122990152612ef45ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129af565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a01565b6100b1565b005b6100566100923660046129af565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a35565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a5d565b61016a60408c018c612a78565b60405161017c96959493929190612ae3565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b30565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a35565b88610ea4565b5f6102f56102ec6020870187612a35565b88848989610a9e565b90945090506103048188612b57565b92505f61031083610f41565b5090506103206020870187612a35565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a5d565b8a888e80604001906103709190612a78565b604051610384989796959493929190612b6a565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a35565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110cf565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bb1565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110eb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061110b565b92505b506105a28361112a565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b57565b8a84611157565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bb1565b4290611290565b84611157565b61063f886112a4565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b57565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611441565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611475565b915091508060095f8282546106dc9190612bb1565b909155506106f79050865f846106f181611542565b8861156b565b6107018183612bb1565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116e2565b9150610745610740838561172b565b61173f565b600680546002906107669084906201000090046001600160701b0316612bc4565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261112a565b600680546010906107b5908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611441565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611475565b915091508060095f8282546108289190612bb1565b909155506108439050835f8461083d81611542565b8a611768565b61084d8183612b57565b915061085c610740838761172b565b6006805460029061087d9084906201000090046001600160701b0316612bc4565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261112a565b600680546010906108cc908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611542565b61090e83611542565b6109189190612c04565b5f611958565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c23565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611997565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a1d565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a29565b9050610b208361112a565b610b2a9083612c3e565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161112a565b60078054601090610b75908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a44565b9350610bb08684611ada565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b57565b9050805f03610c3a576001915050610dc7565b5f610c4485611aee565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b89565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612cdc565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d51565b91509150610d11610d0382611542565b610d0c90612d73565b611cf6565b925082610d26575f9650505050505050610dc7565b610d2f8261112a565b600780545f90610d499084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161112a565b60078054601090610d98908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b57565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bb1565b90915550505f838152600b602052604081208054839290610ef7908490612bb1565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e8a565b6040518263ffffffff1660e01b8152600401610f849190612d8d565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612d9c565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bb1565b6110469190612b57565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a29565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084611fc4565b5f6110da8284612b30565b6110e49084612b57565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fe6565b5f6111218261111b858888611a29565b9061200b565b95945050505050565b5f6001600160801b0382111561115357604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111825750505050565b5f848152600860205260408120546001600160801b0316908190036111da576111aa8361112a565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611257565b61122b611226670de0b6b3a76400006111f38886612b57565b6111fd9190612dca565b85670de0b6b3a7640000611211878a612b57565b61121b9190612dca565b85929190600161207a565b61112a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112608461112a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161129e57826110e4565b50919050565b6006545f9081906112c6908490600160801b90046001600160801b031661172b565b6006546201000090046001600160701b0316925090508181111561143c575f6112ef8383612b57565b90506112fe6112268286612114565b60068054601090611320908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611358858361212890919063ffffffff16565b90505f611385827f000000000000000000000000000000000000000000000000000000000000000061172b565b90508060095f8282546113989190612bb1565b909155506113a890508183612b57565b91506113b38261112a565b600280545f906113cd9084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113fa8261213c565b600480545f9061140e908490600f0b612de1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561146a5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114818785612128565b91505f6114ae837f000000000000000000000000000000000000000000000000000000000000000061172b565b90506114da817f000000000000000000000000000000000000000000000000000000000000000061172b565b915083156114fd576114ec8282612b57565b6114f69084612b57565b9250611514565b6115078282612b57565b6115119084612bb1565b92505b8686101561153757611527838789611a29565b9250611534828789611a29565b91505b509550959350505050565b5f6001600160ff1b038211156111535760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115b361122682611597670de0b6b3a764000086612dca565b600554600160801b90046001600160801b031691908a5f61207a565b600580546001600160801b03928316600160801b0292169190911790556115d98661112a565b6115e39082612c3e565b600480546001600160801b03928316600160801b0292169190911790556116098461112a565b600280545f906116239084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165083612165565b600480545f90611664908490600f0b612de1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116948561112a565b600280546010906116b6908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116f9846116f38a888a611a29565b90612128565b9050611706888486611a29565b6117109082612bb1565b9050868111156117205786810391505b509695505050505050565b5f6110e48383670de0b6b3a7640000611a29565b5f6001600160701b038211156111535760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117aa57507f00000000000000000000000000000000000000000000000000000000000000006117a88583612b57565b105b156117b7576117b76121a0565b6004549084900390600f0b6117cc8482612c04565b9050836117d886611542565b13801561180d57507f000000000000000000000000000000000000000000000000000000000000000061180b8383611fe6565b105b1561181a5761181a6121a0565b600354600160801b90046001600160801b031661185b61122682611846670de0b6b3a764000088612dca565b6005546001600160801b031691908c5f61207a565b600580546001600160801b0319166001600160801b03929092169190911790556118858882612b57565b90506118908161112a565b600380546001600160801b03928316600160801b0292169190911790556118b68361112a565b600280546001600160801b0319166001600160801b03929092169190911790556118df82612165565b600480546001600160801b0319166001600160801b03929092169190911790556119088761112a565b6002805460109061192a908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461197390611226906001600160801b031684846121b9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119ba576119ba612e0e565b6040519080825280601f01601f1916602001820160405280156119e4576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a04578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a3d575f80fd5b5091020490565b5f80611a50858561172b565b9050611a5b8161221b565b9450845f03611a6d575f9150506110e4565b849150611a806040840160208501612a5d565b15611aaf57611aa885611a966020860186612a35565b611aa36040870187612a78565b612267565b9150611ad2565b611ad285611ac06020860186612a35565b611acd6040870187612a78565b612338565b509392505050565b5f6110e48383670de0b6b3a76400006123e4565b6003545f908190611b08906001600160801b031684612114565b9050611b347f000000000000000000000000000000000000000000000000000000000000000082612bb1565b6002546001600160801b0316111561129e576002547f000000000000000000000000000000000000000000000000000000000000000090611b7f9083906001600160801b0316612b57565b6110e49190612b57565b611b91612910565b5f80611b9c84611e8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bd69190612d8d565b6040805180830381865af4158015611bf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c149190612d9c565b9350905082611c2857505f91506100a99050565b5f611c4e611c4984610160015185610140015161172b90919063ffffffff16565b611542565b611c6e611c49856101200151866101000151611ada90919063ffffffff16565b611c789190612c04565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dd09190612e22565b935093509350935080611deb57505f98975050505050505050565b868414611e1c57611dfb8461112a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e4d57611e2c83612165565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e7b57611e5d8261112a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e9261295a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f8a9116612407565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fbc92900416612407565b905292915050565b5f610a96611fd2858561247b565b83906b033b2e3c9fd0803ce8000000611a29565b5f80611ff284846124e6565b909250905080612004576120046121a0565b5092915050565b5f815f036120225750670de0b6b3a7640000610dc7565b825f0361203057505f610dc7565b5f61203a83611542565b90505f61204e61204986611542565b612521565b9050818102612065670de0b6b3a764000082612e60565b905061207081612746565b9695505050505050565b5f825f03612089575084611121565b81156120db576120ba61209c8487612bb1565b6120a6858761172b565b6120b0888a61172b565b6116f39190612bb1565b90505f6120c78588611290565b9050808210156120d5578091505b50611121565b8285036120e957505f611121565b6120706120f68487612b57565b6121008587611ada565b61210a888a61172b565b6116f39190612b57565b5f6110e483670de0b6b3a7640000846123e4565b5f6110e483670de0b6b3a764000084611a29565b5f60016001607f1b038211156111535760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612182575060016001607f1b0382135b156111535760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121c5845f6128d8565b6121cf845f6128d8565b6121d99190612c04565b90505f8113156121f4576121ed8186612bb1565b9450612212565b5f8112156122125761220581612d73565b61220f9086612b57565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ed565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f00000000000000000000000000000000000000000000000000000000000000006122c188611083565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612314573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111219190612e8c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb8461237187611083565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156123b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123dd9190612ea3565b5050505050565b5f825f1904841183021582026123f8575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061241a61040f565b6124249190612dca565b9050808311612433575f61243d565b61243d8184612b57565b91506110e4612474670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612dca565b8390612128565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa1580156124c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e49190612e8c565b5f805f836124f386611542565b6124fd9190612c04565b90505f811215612513575f80925092505061251a565b9150600190505b9250929050565b5f8082136125425760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c59084901c611542565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361275f57505f919050565b680755bf798b4a1bf1e58212612788576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611542565b5f8183136128e657816110e4565b5090919050565b5f610a966b033b2e3c9fd0803ce8000000612908868661247b565b849190611a29565b60405180610120016040528061292461295a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129c1575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156129e5575f80fd5b8401606081870312156129f6575f80fd5b809150509250925092565b5f8060408385031215612a12575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a45575f80fd5b81356110e481612a21565b80151581146103f5575f80fd5b5f60208284031215612a6d575f80fd5b81356110e481612a50565b5f808335601e19843603018112612a8d575f80fd5b83018035915067ffffffffffffffff821115612aa7575f80fd5b60200191503681900382131561251a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b1060a083018486612abb565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b3e57612b3e612b1c565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b43565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ba360e083018486612abb565b9a9950505050505050505050565b80820180821115610dc757610dc7612b43565b6001600160701b0381811683821601908082111561200457612004612b43565b6001600160801b0381811683821601908082111561200457612004612b43565b8181035f83128015838313168383128216171561200457612004612b43565b5f60208284031215612c33575f80fd5b81516110e481612a21565b6001600160801b0382811682821603908082111561200457612004612b43565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612cef828551612c5e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d62575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612d8757612d87612b43565b505f0390565b6101808101610dc78284612c5e565b5f8060408385031215612dad575f80fd5b825191506020830151612dbf81612a50565b809150509250929050565b8082028115828204841417610dc757610dc7612b43565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b43565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e35575f80fd5b8451935060208501519250604085015191506060850151612e5581612a50565b939692955090935050565b5f82612e6e57612e6e612b1c565b600160ff1b82145f1984141615612e8757612e87612b43565b500590565b5f60208284031215612e9c575f80fd5b5051919050565b5f60208284031215612eb3575f80fd5b81516110e481612a5056fea26469706673582212205d56748004f2bd9f2e36f9879771beb10d1de13e010eec538e82fc4d5bbc08c964736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts deleted file mode 100644 index 819310a2a..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AaveTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AaveTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts.map deleted file mode 100644 index 548b0246c..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AaveTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/AaveTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Igq8B,KAAK,MAAM,EAAE;;;;CAI5s8B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.js deleted file mode 100644 index d31155ad5..000000000 --- a/packages/hyperdrive-artifacts/dist/AaveTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AaveTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50613c398061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000237565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085856040516200009e90620000d3565b620000ab929190620003a7565b8190604051809103905ff5905080158015620000c9573d5f803e3d5ffd5b5095945050505050565b61372880620004dc83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200011c576200011c620000e1565b60405290565b80356001600160a01b038116811462000139575f80fd5b919050565b5f608082840312156200014f575f80fd5b6040516080810181811067ffffffffffffffff82111715620001755762000175620000e1565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001b6575f80fd5b813567ffffffffffffffff80821115620001d457620001d4620000e1565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff620000e1565b8160405283815286602085880101111562000218575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156200024d575f80fd5b610260808212156200025d575f80fd5b62000267620000f5565b9150620002748762000122565b8252620002846020880162000122565b6020830152620002976040880162000122565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200030281890162000122565b908301526101806200031688820162000122565b908301526101a06200032a88820162000122565b908301526101c06200033e88820162000122565b908301526101e062000353898983016200013e565b81840152508195506200036881880162000122565b9450505061028085013567ffffffffffffffff81111562000387575f80fd5b6200039587828801620001a6565b949793965093946102a0013593505050565b82516001600160a01b0316815261028081016020840151620003d460208401826001600160a01b03169052565b506040840151620003f060408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015162000463828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe6102a060405234801562000011575f80fd5b50604051620037283803806200372883398101604081905262000034916200055e565b60015f5581516001600160a01b039081166080908152602080850151831660a0818152928601516101a052918501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815183015190528051604090810151610160529051606090810151610180528187015185166102405286015161026052928416610220528251633a9ae92360e11b815292519192637535d24692600480830193928290030181865afa15801562000110573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000136919062000698565b6001600160a01b0390811661028081905260805162000159921690600162000161565b505062000705565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001bb90859083906200022c16565b6200022657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021a918691620002d616565b620002268482620002d6565b50505050565b5f805f846001600160a01b031684604051620002499190620006b6565b5f604051808303815f865af19150503d805f811462000284576040519150601f19603f3d011682016040523d82523d5f602084013e62000289565b606091505b5091509150818015620002b7575080511580620002b7575080806020019051810190620002b79190620006e4565b8015620002cd57505f856001600160a01b03163b115b95945050505050565b5f620002ec6001600160a01b0384168362000347565b905080515f1415801562000313575080806020019051810190620003119190620006e4565b155b156200034257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035683835f6200035d565b9392505050565b606081471015620003845760405163cd78605960e01b815230600482015260240162000339565b5f80856001600160a01b03168486604051620003a19190620006b6565b5f6040518083038185875af1925050503d805f8114620003dd576040519150601f19603f3d011682016040523d82523d5f602084013e620003e2565b606091505b509092509050620003f5868383620003ff565b9695505050505050565b6060826200041857620004128262000463565b62000356565b81511580156200043057506001600160a01b0384163b155b156200045b57604051639996b31560e01b81526001600160a01b038516600482015260240162000339565b508062000356565b805115620004745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b0381118282101715620004c057634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146200048d575f80fd5b8051620004e881620004c6565b919050565b5f60808284031215620004fe575f80fd5b604051608081016001600160401b03811182821017156200052d57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f8082840361028081121562000572575f80fd5b6102608082121562000582575f80fd5b6200058c62000490565b91506200059985620004db565b8252620005a960208601620004db565b6020830152620005bc60408601620004db565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000627818701620004db565b908301526101806200063b868201620004db565b908301526101a06200064f868201620004db565b908301526101c062000663868201620004db565b908301526101e06200067887878301620004ed565b81840152508193506200068d818601620004db565b925050509250929050565b5f60208284031215620006a9575f80fd5b81516200035681620004c6565b5f82515f5b81811015620006d75760208186018101518583015201620006bb565b505f920191825250919050565b5f60208284031215620006f5575f80fd5b8151801515811462000356575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612ef4620008345f395f81816110aa01528181612242015261226a01525f50505f50505f61099201525f50505f818161025f0152611f1f01525f818161177f015281816117e201528181611b0f01528181611b4b01528181611d3c0152611ef901525f81816105500152611ed301525f61136101525f6114b601525f818161070d015261148a01525f50505f81816105710152611f4501525f818161064b015261245001525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61233a01525f81816110890152818161222101526122990152612ef45ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129af565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a01565b6100b1565b005b6100566100923660046129af565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a35565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a5d565b61016a60408c018c612a78565b60405161017c96959493929190612ae3565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b30565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a35565b88610ea4565b5f6102f56102ec6020870187612a35565b88848989610a9e565b90945090506103048188612b57565b92505f61031083610f41565b5090506103206020870187612a35565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a5d565b8a888e80604001906103709190612a78565b604051610384989796959493929190612b6a565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a35565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110cf565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bb1565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110eb565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061110b565b92505b506105a28361112a565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b57565b8a84611157565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bb1565b4290611290565b84611157565b61063f886112a4565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b57565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611441565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611475565b915091508060095f8282546106dc9190612bb1565b909155506106f79050865f846106f181611542565b8861156b565b6107018183612bb1565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116e2565b9150610745610740838561172b565b61173f565b600680546002906107669084906201000090046001600160701b0316612bc4565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261112a565b600680546010906107b5908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611441565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611475565b915091508060095f8282546108289190612bb1565b909155506108439050835f8461083d81611542565b8a611768565b61084d8183612b57565b915061085c610740838761172b565b6006805460029061087d9084906201000090046001600160701b0316612bc4565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261112a565b600680546010906108cc908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611542565b61090e83611542565b6109189190612c04565b5f611958565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c23565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611997565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a1d565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a29565b9050610b208361112a565b610b2a9083612c3e565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161112a565b60078054601090610b75908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a44565b9350610bb08684611ada565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b57565b9050805f03610c3a576001915050610dc7565b5f610c4485611aee565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b89565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612cdc565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d51565b91509150610d11610d0382611542565b610d0c90612d73565b611cf6565b925082610d26575f9650505050505050610dc7565b610d2f8261112a565b600780545f90610d499084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161112a565b60078054601090610d98908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b57565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bb1565b90915550505f838152600b602052604081208054839290610ef7908490612bb1565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e8a565b6040518263ffffffff1660e01b8152600401610f849190612d8d565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612d9c565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bb1565b6110469190612b57565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a29565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084611fc4565b5f6110da8284612b30565b6110e49084612b57565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fe6565b5f6111218261111b858888611a29565b9061200b565b95945050505050565b5f6001600160801b0382111561115357604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111825750505050565b5f848152600860205260408120546001600160801b0316908190036111da576111aa8361112a565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611257565b61122b611226670de0b6b3a76400006111f38886612b57565b6111fd9190612dca565b85670de0b6b3a7640000611211878a612b57565b61121b9190612dca565b85929190600161207a565b61112a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112608461112a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161129e57826110e4565b50919050565b6006545f9081906112c6908490600160801b90046001600160801b031661172b565b6006546201000090046001600160701b0316925090508181111561143c575f6112ef8383612b57565b90506112fe6112268286612114565b60068054601090611320908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611358858361212890919063ffffffff16565b90505f611385827f000000000000000000000000000000000000000000000000000000000000000061172b565b90508060095f8282546113989190612bb1565b909155506113a890508183612b57565b91506113b38261112a565b600280545f906113cd9084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113fa8261213c565b600480545f9061140e908490600f0b612de1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561146a5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114818785612128565b91505f6114ae837f000000000000000000000000000000000000000000000000000000000000000061172b565b90506114da817f000000000000000000000000000000000000000000000000000000000000000061172b565b915083156114fd576114ec8282612b57565b6114f69084612b57565b9250611514565b6115078282612b57565b6115119084612bb1565b92505b8686101561153757611527838789611a29565b9250611534828789611a29565b91505b509550959350505050565b5f6001600160ff1b038211156111535760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115b361122682611597670de0b6b3a764000086612dca565b600554600160801b90046001600160801b031691908a5f61207a565b600580546001600160801b03928316600160801b0292169190911790556115d98661112a565b6115e39082612c3e565b600480546001600160801b03928316600160801b0292169190911790556116098461112a565b600280545f906116239084906001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165083612165565b600480545f90611664908490600f0b612de1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116948561112a565b600280546010906116b6908490600160801b90046001600160801b0316612c3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116f9846116f38a888a611a29565b90612128565b9050611706888486611a29565b6117109082612bb1565b9050868111156117205786810391505b509695505050505050565b5f6110e48383670de0b6b3a7640000611a29565b5f6001600160701b038211156111535760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117aa57507f00000000000000000000000000000000000000000000000000000000000000006117a88583612b57565b105b156117b7576117b76121a0565b6004549084900390600f0b6117cc8482612c04565b9050836117d886611542565b13801561180d57507f000000000000000000000000000000000000000000000000000000000000000061180b8383611fe6565b105b1561181a5761181a6121a0565b600354600160801b90046001600160801b031661185b61122682611846670de0b6b3a764000088612dca565b6005546001600160801b031691908c5f61207a565b600580546001600160801b0319166001600160801b03929092169190911790556118858882612b57565b90506118908161112a565b600380546001600160801b03928316600160801b0292169190911790556118b68361112a565b600280546001600160801b0319166001600160801b03929092169190911790556118df82612165565b600480546001600160801b0319166001600160801b03929092169190911790556119088761112a565b6002805460109061192a908490600160801b90046001600160801b0316612be4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461197390611226906001600160801b031684846121b9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119ba576119ba612e0e565b6040519080825280601f01601f1916602001820160405280156119e4576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a04578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a3d575f80fd5b5091020490565b5f80611a50858561172b565b9050611a5b8161221b565b9450845f03611a6d575f9150506110e4565b849150611a806040840160208501612a5d565b15611aaf57611aa885611a966020860186612a35565b611aa36040870187612a78565b612267565b9150611ad2565b611ad285611ac06020860186612a35565b611acd6040870187612a78565b612338565b509392505050565b5f6110e48383670de0b6b3a76400006123e4565b6003545f908190611b08906001600160801b031684612114565b9050611b347f000000000000000000000000000000000000000000000000000000000000000082612bb1565b6002546001600160801b0316111561129e576002547f000000000000000000000000000000000000000000000000000000000000000090611b7f9083906001600160801b0316612b57565b6110e49190612b57565b611b91612910565b5f80611b9c84611e8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bd69190612d8d565b6040805180830381865af4158015611bf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c149190612d9c565b9350905082611c2857505f91506100a99050565b5f611c4e611c4984610160015185610140015161172b90919063ffffffff16565b611542565b611c6e611c49856101200151866101000151611ada90919063ffffffff16565b611c789190612c04565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dd09190612e22565b935093509350935080611deb57505f98975050505050505050565b868414611e1c57611dfb8461112a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e4d57611e2c83612165565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e7b57611e5d8261112a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e9261295a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f8a9116612407565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fbc92900416612407565b905292915050565b5f610a96611fd2858561247b565b83906b033b2e3c9fd0803ce8000000611a29565b5f80611ff284846124e6565b909250905080612004576120046121a0565b5092915050565b5f815f036120225750670de0b6b3a7640000610dc7565b825f0361203057505f610dc7565b5f61203a83611542565b90505f61204e61204986611542565b612521565b9050818102612065670de0b6b3a764000082612e60565b905061207081612746565b9695505050505050565b5f825f03612089575084611121565b81156120db576120ba61209c8487612bb1565b6120a6858761172b565b6120b0888a61172b565b6116f39190612bb1565b90505f6120c78588611290565b9050808210156120d5578091505b50611121565b8285036120e957505f611121565b6120706120f68487612b57565b6121008587611ada565b61210a888a61172b565b6116f39190612b57565b5f6110e483670de0b6b3a7640000846123e4565b5f6110e483670de0b6b3a764000084611a29565b5f60016001607f1b038211156111535760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612182575060016001607f1b0382135b156111535760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121c5845f6128d8565b6121cf845f6128d8565b6121d99190612c04565b90505f8113156121f4576121ed8186612bb1565b9450612212565b5f8112156122125761220581612d73565b61220f9086612b57565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ed565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec7f00000000000000000000000000000000000000000000000000000000000000006122c188611083565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152602481019190915290871660448201526064016020604051808303815f875af1158015612314573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111219190612e8c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb8461237187611083565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156123b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123dd9190612ea3565b5050505050565b5f825f1904841183021582026123f8575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061241a61040f565b6124249190612dca565b9050808311612433575f61243d565b61243d8184612b57565b91506110e4612474670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612dca565b8390612128565b60405163d15e005360e01b81526001600160a01b0383811660048301525f919083169063d15e005390602401602060405180830381865afa1580156124c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e49190612e8c565b5f805f836124f386611542565b6124fd9190612c04565b90505f811215612513575f80925092505061251a565b9150600190505b9250929050565b5f8082136125425760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c59084901c611542565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361275f57505f919050565b680755bf798b4a1bf1e58212612788576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611542565b5f8183136128e657816110e4565b5090919050565b5f610a966b033b2e3c9fd0803ce8000000612908868661247b565b849190611a29565b60405180610120016040528061292461295a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129c1575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156129e5575f80fd5b8401606081870312156129f6575f80fd5b809150509250925092565b5f8060408385031215612a12575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a45575f80fd5b81356110e481612a21565b80151581146103f5575f80fd5b5f60208284031215612a6d575f80fd5b81356110e481612a50565b5f808335601e19843603018112612a8d575f80fd5b83018035915067ffffffffffffffff821115612aa7575f80fd5b60200191503681900382131561251a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b1060a083018486612abb565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b3e57612b3e612b1c565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b43565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ba360e083018486612abb565b9a9950505050505050505050565b80820180821115610dc757610dc7612b43565b6001600160701b0381811683821601908082111561200457612004612b43565b6001600160801b0381811683821601908082111561200457612004612b43565b8181035f83128015838313168383128216171561200457612004612b43565b5f60208284031215612c33575f80fd5b81516110e481612a21565b6001600160801b0382811682821603908082111561200457612004612b43565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612cef828551612c5e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d62575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612d8757612d87612b43565b505f0390565b6101808101610dc78284612c5e565b5f8060408385031215612dad575f80fd5b825191506020830151612dbf81612a50565b809150509250929050565b8082028115828204841417610dc757610dc7612b43565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b43565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e35575f80fd5b8451935060208501519250604085015191506060850151612e5581612a50565b939692955090935050565b5f82612e6e57612e6e612b1c565b600160ff1b82145f1984141615612e8757612e87612b43565b500590565b5f60208284031215612e9c575f80fd5b5051919050565b5f60208284031215612eb3575f80fd5b81516110e481612a5056fea26469706673582212205d56748004f2bd9f2e36f9879771beb10d1de13e010eec538e82fc4d5bbc08c964736f6c63430008160033a2646970667358221220e98e299f14d24e0b119c86bb17f0a833263d4350fd4a379478bc96547e51b54364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/Address.d.ts b/packages/hyperdrive-artifacts/dist/Address.d.ts deleted file mode 100644 index 1b554ffa2..000000000 --- a/packages/hyperdrive-artifacts/dist/Address.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const Address: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=Address.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Address.d.ts.map b/packages/hyperdrive-artifacts/dist/Address.d.ts.map deleted file mode 100644 index 10099caae..000000000 --- a/packages/hyperdrive-artifacts/dist/Address.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../src/Address.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Address.js b/packages/hyperdrive-artifacts/dist/Address.js deleted file mode 100644 index a65cd8bca..000000000 --- a/packages/hyperdrive-artifacts/dist/Address.js +++ /dev/null @@ -1,5 +0,0 @@ -export const Address = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212208a6033904973a8903efa4738fe05fee0cb1c3bc94c879c58f0ef1f82d138f40264736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts deleted file mode 100644 index 52ce281be..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const AerodromeLpBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AerodromeLpBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts.map deleted file mode 100644 index b6396a315..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpBase.d.ts","sourceRoot":"","sources":["../src/AerodromeLpBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBR,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.js b/packages/hyperdrive-artifacts/dist/AerodromeLpBase.js deleted file mode 100644 index 327c18469..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const AerodromeLpBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts deleted file mode 100644 index 2c2aab0e6..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -export declare const AerodromeLpConversions: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - }; -}; -//# sourceMappingURL=AerodromeLpConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts.map deleted file mode 100644 index f14f5084b..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpConversions.d.ts","sourceRoot":"","sources":["../src/AerodromeLpConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCib,KAAK,MAAM,EAAE;;;;;CAKhe,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.js b/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.js deleted file mode 100644 index 88232d250..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpConversions.js +++ /dev/null @@ -1,47 +0,0 @@ -export const AerodromeLpConversions = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x60ac610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063b88fed9f146040578063c6e6f592146040575b5f80fd5b604e604b3660046060565b90565b60405190815260200160405180910390f35b5f60208284031215606f575f80fd5b503591905056fea2646970667358221220af27691cb67853def7c53f2b5057236e03411c77c6749f42a90ffcf05a010f9064736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts deleted file mode 100644 index 8e438dcf4..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts +++ /dev/null @@ -1,1361 +0,0 @@ -export declare const AerodromeLpHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReward"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "getReward()": "3d18b912"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=AerodromeLpHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts.map deleted file mode 100644 index e34b18f3d..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpHyperdrive.d.ts","sourceRoot":"","sources":["../src/AerodromeLpHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmpDkrb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgChub,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.js b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.js deleted file mode 100644 index c03a4aec0..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdrive.js +++ /dev/null @@ -1,1716 +0,0 @@ -export const AerodromeLpHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReward", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b5060405162001b6038038062001b608339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905030600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110d062000a905f395f61073301525f81816105f20152818161065c01526107c901525f818161056d015281816107f8015261085501525f818161052701526109e501525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161079a0152818161082b01528181610885015281816109ba0152610a1801525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110d05ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f45780633d18b912146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610aec565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610afb565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b68565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c27565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c5d565b348015610310575f80fd5b5061032461031f366004610c86565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d1a565b610689565b348015610368575f80fd5b506102e9610377366004610da9565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610dee565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e44565b610794565b348015610465575f80fd5b506102e9610474366004610e7e565b6107c4565b6103e6610487366004610e9e565b6107f2565b348015610497575f80fd5b506102e9610377366004610efd565b3480156104b1575f80fd5b506102e96104c0366004610f44565b610826565b6103e66104d3366004610c86565b61084f565b3480156104e3575f80fd5b506102e96104f2366004610f77565b610881565b348015610502575f80fd5b506102e9610511366004610fef565b6109b5565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610dee565b6109de565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a9366004611024565b610a13565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a44565b6106517f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50949350505050565b604051630c00007b60e41b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c00007b0906024015f604051808303815f87803b15801561077c575f80fd5b505af115801561078e573d5f803e3d5ffd5b50505050565b5f6107be7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50919050565b6107ed7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b505050565b5f61081c7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5095945050505050565b6107ed7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5f6108797f0000000000000000000000000000000000000000000000000000000000000000610ad2565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108b5610a44565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161095e919061107f565b5f60405180830381855af49150503d805f8114610996576040519150601f19603f3d011682016040523d82523d5f602084013e61099b565b606091505b5091509150816109ad57805160208201fd5b805160208201f35b61078e7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5f80610a097f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5094509492505050565b610a3c7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161095e9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b2a5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b60578181015183820152602001610b48565b50505f910152565b5f60208284031215610b78575f80fd5b815167ffffffffffffffff80821115610b8f575f80fd5b818401915084601f830112610ba2575f80fd5b815181811115610bb457610bb4610b32565b604051601f8201601f19908116603f01168101908382118183101715610bdc57610bdc610b32565b81604052828152876020848701011115610bf4575f80fd5b610c05836020830160208801610b46565b979650505050505050565b6001600160a01b0381168114610c24575f80fd5b50565b5f60208284031215610c37575f80fd5b8135610c4281610c10565b9392505050565b80358015158114610c58575f80fd5b919050565b5f60208284031215610c6d575f80fd5b610c4282610c49565b5f606082840312156107be575f80fd5b5f805f60608486031215610c98575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cbc575f80fd5b610cc886828701610c76565b9150509250925092565b5f8083601f840112610ce2575f80fd5b50813567ffffffffffffffff811115610cf9575f80fd5b6020830191508360208260051b8501011115610d13575f80fd5b9250929050565b5f805f805f8060808789031215610d2f575f80fd5b8635610d3a81610c10565b95506020870135610d4a81610c10565b9450604087013567ffffffffffffffff80821115610d66575f80fd5b610d728a838b01610cd2565b90965094506060890135915080821115610d8a575f80fd5b50610d9789828a01610cd2565b979a9699509497509295939492505050565b5f805f8060808587031215610dbc575f80fd5b843593506020850135610dce81610c10565b92506040850135610dde81610c10565b9396929550929360600135925050565b5f805f8060808587031215610e01575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e2c575f80fd5b610e3887828801610c76565b91505092959194509250565b5f60208284031215610e54575f80fd5b813567ffffffffffffffff811115610e6a575f80fd5b610e7684828501610c76565b949350505050565b5f8060408385031215610e8f575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eb2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ee4575f80fd5b610ef088828901610c76565b9150509295509295909350565b5f805f8060808587031215610f10575f80fd5b843593506020850135610f2281610c10565b9250604085013591506060850135610f3981610c10565b939692955090935050565b5f8060408385031215610f55575f80fd5b8235610f6081610c10565b9150610f6e60208401610c49565b90509250929050565b5f805f805f805f60e0888a031215610f8d575f80fd5b8735610f9881610c10565b96506020880135610fa881610c10565b9550610fb660408901610c49565b945060608801359350608088013560ff81168114610fd2575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611001575f80fd5b83359250602084013561101381610c10565b929592945050506040919091013590565b5f805f805f60a08688031215611038575f80fd5b85359450602086013561104a81610c10565b9350604086013561105a81610c10565b925060608601359150608086013561107181610c10565b809150509295509295909350565b5f8251611090818460208701610b46565b919091019291505056fea2646970667358221220d60b636ac94363dedd017ff626d9a9186630b94114fff8e77c0f28fa3fccabc464736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "getReward()": "3d18b912", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 1fb6e7983..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const AerodromeLpHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=AerodromeLpHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 59b64fe1d..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2KgziB,KAAK,MAAM,EAAE;;;;CAI12iB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.js deleted file mode 100644 index fe7ed2c08..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const AerodromeLpHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506122888061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b6200004762000041366004620003de565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f601488511015620000bb5760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f88806020019051810190620000d29190620004d6565b60408051336020820152908101859052909150606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b8960405162000115906200015a565b62000129999897969594939291906200061b565b8190604051809103905ff590508015801562000147573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b611b6080620006f383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001a357620001a362000168565b60405290565b5f82601f830112620001b9575f80fd5b813567ffffffffffffffff80821115620001d757620001d762000168565b604051601f8301601f19908116603f0116810190828211818310171562000202576200020262000168565b816040528381528660208588010111156200021b575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b03811681146200024f575f80fd5b50565b80356200025f816200023a565b919050565b5f6080828403121562000275575f80fd5b6040516080810181811067ffffffffffffffff821117156200029b576200029b62000168565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002de575f80fd5b620002e86200017c565b9050620002f58262000252565b8152620003056020830162000252565b6020820152620003186040830162000252565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200038381840162000252565b908201526101806200039783820162000252565b908201526101a0620003ab83820162000252565b908201526101c0620003bf83820162000252565b908201526101e0620003d48484830162000264565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003f9575f80fd5b8a3567ffffffffffffffff8082111562000411575f80fd5b6200041f8e838f01620001a9565b9b50620004308e60208f01620002cc565b9a50620004416102808e0162000252565b99506102a08d013591508082111562000458575f80fd5b50620004678d828e01620001a9565b975050620004796102c08c0162000252565b95506200048a6102e08c0162000252565b94506200049b6103008c0162000252565b9350620004ac6103208c0162000252565b9250620004bd6103408c0162000252565b91506103608b013590509295989b9194979a5092959850565b5f60208284031215620004e7575f80fd5b8151620004f4816200023a565b9392505050565b80516001600160a01b0316825260208101516200052360208401826001600160a01b03169052565b5060408101516200053f60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151620005b2828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b8082101562000651576020828e01015161038083860101526020820191506200062d565b61038091505f82828601015281601f19601f830116850101925050506200067c602083018b620004fb565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200014c56fe61034060405234801562000011575f80fd5b5060405162001b6038038062001b608339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905030600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110d062000a905f395f61073301525f81816105f20152818161065c01526107c901525f818161056d015281816107f8015261085501525f818161052701526109e501525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161079a0152818161082b01528181610885015281816109ba0152610a1801525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110d05ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f45780633d18b912146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610aec565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610afb565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b68565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c27565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c5d565b348015610310575f80fd5b5061032461031f366004610c86565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d1a565b610689565b348015610368575f80fd5b506102e9610377366004610da9565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610dee565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e44565b610794565b348015610465575f80fd5b506102e9610474366004610e7e565b6107c4565b6103e6610487366004610e9e565b6107f2565b348015610497575f80fd5b506102e9610377366004610efd565b3480156104b1575f80fd5b506102e96104c0366004610f44565b610826565b6103e66104d3366004610c86565b61084f565b3480156104e3575f80fd5b506102e96104f2366004610f77565b610881565b348015610502575f80fd5b506102e9610511366004610fef565b6109b5565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610dee565b6109de565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a9366004611024565b610a13565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a44565b6106517f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50949350505050565b604051630c00007b60e41b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c00007b0906024015f604051808303815f87803b15801561077c575f80fd5b505af115801561078e573d5f803e3d5ffd5b50505050565b5f6107be7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b50919050565b6107ed7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b505050565b5f61081c7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5095945050505050565b6107ed7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5f6108797f0000000000000000000000000000000000000000000000000000000000000000610ad2565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108b5610a44565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161095e919061107f565b5f60405180830381855af49150503d805f8114610996576040519150601f19603f3d011682016040523d82523d5f602084013e61099b565b606091505b5091509150816109ad57805160208201fd5b805160208201f35b61078e7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5f80610a097f0000000000000000000000000000000000000000000000000000000000000000610ad2565b5094509492505050565b610a3c7f0000000000000000000000000000000000000000000000000000000000000000610ad2565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161095e9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b2a5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b60578181015183820152602001610b48565b50505f910152565b5f60208284031215610b78575f80fd5b815167ffffffffffffffff80821115610b8f575f80fd5b818401915084601f830112610ba2575f80fd5b815181811115610bb457610bb4610b32565b604051601f8201601f19908116603f01168101908382118183101715610bdc57610bdc610b32565b81604052828152876020848701011115610bf4575f80fd5b610c05836020830160208801610b46565b979650505050505050565b6001600160a01b0381168114610c24575f80fd5b50565b5f60208284031215610c37575f80fd5b8135610c4281610c10565b9392505050565b80358015158114610c58575f80fd5b919050565b5f60208284031215610c6d575f80fd5b610c4282610c49565b5f606082840312156107be575f80fd5b5f805f60608486031215610c98575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cbc575f80fd5b610cc886828701610c76565b9150509250925092565b5f8083601f840112610ce2575f80fd5b50813567ffffffffffffffff811115610cf9575f80fd5b6020830191508360208260051b8501011115610d13575f80fd5b9250929050565b5f805f805f8060808789031215610d2f575f80fd5b8635610d3a81610c10565b95506020870135610d4a81610c10565b9450604087013567ffffffffffffffff80821115610d66575f80fd5b610d728a838b01610cd2565b90965094506060890135915080821115610d8a575f80fd5b50610d9789828a01610cd2565b979a9699509497509295939492505050565b5f805f8060808587031215610dbc575f80fd5b843593506020850135610dce81610c10565b92506040850135610dde81610c10565b9396929550929360600135925050565b5f805f8060808587031215610e01575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e2c575f80fd5b610e3887828801610c76565b91505092959194509250565b5f60208284031215610e54575f80fd5b813567ffffffffffffffff811115610e6a575f80fd5b610e7684828501610c76565b949350505050565b5f8060408385031215610e8f575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eb2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ee4575f80fd5b610ef088828901610c76565b9150509295509295909350565b5f805f8060808587031215610f10575f80fd5b843593506020850135610f2281610c10565b9250604085013591506060850135610f3981610c10565b939692955090935050565b5f8060408385031215610f55575f80fd5b8235610f6081610c10565b9150610f6e60208401610c49565b90509250929050565b5f805f805f805f60e0888a031215610f8d575f80fd5b8735610f9881610c10565b96506020880135610fa881610c10565b9550610fb660408901610c49565b945060608801359350608088013560ff81168114610fd2575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611001575f80fd5b83359250602084013561101381610c10565b929592945050506040919091013590565b5f805f805f60a08688031215611038575f80fd5b85359450602086013561104a81610c10565b9350604086013561105a81610c10565b925060608601359150608086013561107181610c10565b809150509295509295909350565b5f8251611090818460208701610b46565b919091019291505056fea2646970667358221220d60b636ac94363dedd017ff626d9a9186630b94114fff8e77c0f28fa3fccabc464736f6c63430008160033a2646970667358221220c2acf6be12024b0ebfd7d1005f6f8f9dd79a685937636087a5d9318d432eafea64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 071e4f040..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,624 +0,0 @@ -export declare const AerodromeLpHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AerodromeLpHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index b2366037d..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/AerodromeLpHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwwBm0oB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBp4oB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.js deleted file mode 100644 index 52c811504..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,797 +0,0 @@ -export const AerodromeLpHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b50604051620028b2380380620028b28339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516124986200041a5f395f81816102990152610dd001525f81816103170152610c9d01525f818161037d0152610b6a01525f81816102e40152610a3701525f818161034a015261082e01525f8181610440015261115901525f81816103ee01528181610547015281816107570152818161085e01528181610a6701528181610b9a01528181610ccd01528181610e0001528181610f2d015261118a01526124985ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f59214610410578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611b1b565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611c50565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611d0e565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611d25565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611d0e565b6106d0565b3480156103c9575f80fd5b506102bb6103d8366004611ef9565b61074b565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b5061014f61042a366004611d0e565b610ee7565b34801561043a575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102bb61047c366004611f62565b610f21565b34801561048c575f80fd5b50600561014f565b60405180606001604052806028815260200161243b6028913981565b5f80546104bc90611ffc565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890611ffc565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d611294565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112b5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190612034565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612079565b92505f6106538234612090565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af4158015610721573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107459190612079565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079557604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610945578054156107ca57604051633be1b34d60e11b815260040160405180910390fd5b6107d4868661136f565b5f6107df87876114fc565b90505f876040516020016107f391906120af565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108208a611515565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161089a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108cf94939291906122e2565b6020604051808303815f875af11580156108eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090f9190612327565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109715760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161098391906120af565b60405160208183030381529060405280519060200120146109b75760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109e157604051631a3272d160e31b815260040160405180910390fd5b6109eb878761136f565b5f6109f588611515565b6002840154608082015290506001869003610b355760058301546001600160a01b031615610a355760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a9c93929190612342565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ad194939291906122e2565b6020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190612327565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c685760068301546001600160a01b031615610b685760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bcf93929190612342565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c0494939291906122e2565b6020604051808303815f875af1158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190612327565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d9b5760078301546001600160a01b031615610c9b5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d0293929190612342565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d3794939291906122e2565b6020604051808303815f875af1158015610d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d779190612327565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ece5760088301546001600160a01b031615610dce5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e3593929190612342565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e6a94939291906122e2565b6020604051808303815f875af1158015610e86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaa9190612327565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f59290602401610706565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561101357604051632c95caeb60e01b815260040160405180910390fd5b80516110325760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611057575060a08101516001600160a01b0316155b8061106d575060c08101516001600160a01b0316155b80611083575060e08101516001600160a01b0316155b8061109a57506101008101516001600160a01b0316155b156110b85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110cb9087906020016120af565b60405160208183030381529060405280519060200120146110ff5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461112a57604051631a3272d160e31b815260040160405180910390fd5b611134858561136f565b5f61113e86611515565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111e0929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161121b9a99989796959493929190612363565b6020604051808303815f875af1158015611237573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125b9190612327565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112b357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112d85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113399190612327565b90506113506001600160a01b0382168630876115e3565b6113646001600160a01b0382168786611650565b505f95945050505050565b6014815110156113c65760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e6774680000000000000060448201526064015b60405180910390fd5b5f818060200190518101906113db9190612327565b90506113e783836116df565b60208301516001600160a01b0316156114135760405163073f739d60e51b815260040160405180910390fd5b806001600160a01b03166372f702f36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114739190612327565b6001600160a01b0316835f01516001600160a01b0316146114a757604051630722152560e11b815260040160405180910390fd5b82608001516305f5e100146114cf576040516349db44f560e01b815260040160405180910390fd5b8260a001516305f5e100146114f7576040516318c9522360e11b815260040160405180910390fd5b505050565b5f61150e670de0b6b3a76400006106d0565b9392505050565b61151d6119fa565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261164a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506117f7565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116a18482611858565b61164a576040516001600160a01b0384811660248301525f60448301526116d591869182169063095ea7b390606401611618565b61164a84826117f7565b6103e882608001511015611706576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361172b57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061175557508161010001518260e0015161175291906123e5565b15155b156117735760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a7640000108061179f5750670de0b6b3a7640000826101c0015160200151115b806117ba5750670de0b6b3a7640000826101c0015160400151115b806117d55750670de0b6b3a7640000826101c0015160600151115b156117f3576040516322f72cc360e11b815260040160405180910390fd5b5050565b5f61180b6001600160a01b038416836118f5565b905080515f1415801561182f57508080602001905181019061182d9190612404565b155b156114f757604051635274afe760e01b81526001600160a01b03841660048201526024016113bd565b5f805f846001600160a01b031684604051611873919061241f565b5f604051808303815f865af19150503d805f81146118ac576040519150601f19603f3d011682016040523d82523d5f602084013e6118b1565b606091505b50915091508180156118db5750805115806118db5750808060200190518101906118db9190612404565b80156106c75750505050506001600160a01b03163b151590565b606061150e83835f845f80856001600160a01b03168486604051611919919061241f565b5f6040518083038185875af1925050503d805f8114611953576040519150601f19603f3d011682016040523d82523d5f602084013e611958565b606091505b5091509150611968868383611972565b9695505050505050565b60608261198757611982826119ce565b61150e565b815115801561199e57506001600160a01b0384163b155b156119c757604051639996b31560e01b81526001600160a01b03851660048201526024016113bd565b508061150e565b8051156119de5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ac960405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611ae8578181015183820152602001611ad0565b50505f910152565b5f8151808452611b07816020860160208601611ace565b601f01601f19169290920160200192915050565b602081525f61150e6020830184611af0565b6001600160a01b03811681146119f7575f80fd5b8035611b4c81611b2d565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b8857611b88611b51565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b8857611b88611b51565b80151581146119f7575f80fd5b5f67ffffffffffffffff80841115611bd957611bd9611b51565b604051601f8501601f19908116603f01168101908282118183101715611c0157611c01611b51565b81604052809350858152868686011115611c19575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611c41575f80fd5b61150e83833560208501611bbf565b5f805f805f60a08688031215611c64575f80fd5b853594506020860135611c7681611b2d565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ca0575f80fd5b908701906060828a031215611cb3575f80fd5b611cbb611b65565b8235611cc681611b2d565b81526020830135611cd681611bb2565b6020820152604083013582811115611cec575f80fd5b611cf88b828601611c32565b6040830152508093505050509295509295909350565b5f60208284031215611d1e575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611db2575f80fd5b6040516080810181811067ffffffffffffffff82111715611dd557611dd5611b51565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611e17575f80fd5b611e1f611b8e565b9050611e2a82611b41565b8152611e3860208301611b41565b6020820152611e4960408301611b41565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611ea6818401611b41565b90820152610160611eb8838201611b41565b90820152610180611eca838201611b41565b908201526101a0611edc838201611b41565b908201526101c0611eef84848301611da2565b9082015292915050565b5f805f805f6102c08688031215611f0e575f80fd5b85359450611f1f8760208801611e06565b935061026086013567ffffffffffffffff811115611f3b575f80fd5b611f4788828901611c32565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611f77575f80fd5b85359450602086013567ffffffffffffffff80821115611f95575f80fd5b818801915088601f830112611fa8575f80fd5b611fb789833560208501611bbf565b9550611fc68960408a01611e06565b9450610280880135915080821115611fdc575f80fd5b50611fe988828901611c32565b959894975092956102a001359392505050565b600181811c9082168061201057607f821691505b60208210810361202e57634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261196860c0840182611af0565b5f60208284031215612089575f80fd5b5051919050565b8181038181111561074557634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b03168152610240810160208301516120db60208401826001600160a01b03169052565b5060408301516120f660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161215c828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d9a565b80516001600160a01b0316825260208101516121ec60208401826001600160a01b03169052565b50604081015161220760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612279828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261164a565b5f6102c06122f083886121c5565b6001600160a01b038616610260840152610280830181905261231481840186611af0565b915050826102a083015295945050505050565b5f60208284031215612337575f80fd5b815161150e81611b2d565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526123768184018e611af0565b9050612385602084018d6121c5565b6001600160a01b038b81166102808501528382036102a08501526123a9828c611af0565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f826123ff57634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612414575f80fd5b815161150e81611bb2565b5f8251612430818460208701611ace565b919091019291505056fe4165726f64726f6d654c70487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220cd199a18587602fbf10fcb79dc6cbb4dc0695a732b46ce3e8db340e65d6d4da964736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts deleted file mode 100644 index cf65d4160..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts +++ /dev/null @@ -1,1542 +0,0 @@ -export declare const AerodromeLpTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "gauge"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "gauge()": "a6f19c84"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts.map deleted file mode 100644 index 2e029682f..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget0.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm3Dyz9B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Cp29B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.js deleted file mode 100644 index 42dc70536..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0.js +++ /dev/null @@ -1,1950 +0,0 @@ -export const AerodromeLpTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "gauge", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003da238038062003da28339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139456200045d5f395f8181610cd901528181611e780152612a3a01525f8181610db0015261237901525f8181610d81015261233c01525f8181610c1e01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0301528181611fd7015261212801525f610e4801525f8181610e22015261251e01525f8181610dfc01526124f801525f8181610dd601526124d201525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254401525f8181610e6e01528181611320015261291a01525f8181610e940152612af801525f81816106200152610d5201525f818161074a01528181610d23015281816112bd0152612aa601526139455ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063a6f19c8414610458578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d30565b61056c565b6040516102579190612d94565b60405180910390f35b61027361026e366004612dba565b6105a3565b005b610273610283366004612de2565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e0b565b610651565b6102736102d9366004612edc565b61066d565b6102736102ec366004612f6b565b610683565b6103046102ff366004612d30565b610696565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612fb0565b6106ff565b604051908152602001610257565b61035f610744565b60405160ff9091168152602001610257565b61034961037f366004612fef565b6107dc565b610349610814565b61034961039a36600461301d565b610832565b6103b26103ad366004612dba565b61083c565b6040519015158152602001610257565b61024a6103d0366004612d30565b61085b565b6102736103e3366004613054565b610869565b61024a6108b7565b6103f86108ec565b604051610257919061309b565b61027361041336600461313c565b5050565b610349610425366004612dba565b610be5565b6102a0610c10565b610273610440366004613168565b610c4f565b61027361045336600461313c565b610c60565b6102a0610ccb565b61027361046e366004612dba565b50565b610479610d0a565b604051610257919061319d565b610349610494366004612d30565b6111ca565b6103496104a7366004612d30565b6111d7565b6104bf6104ba3660046132c3565b6111f8565b6040516102579190613302565b6102a06112af565b6103496112ee565b6103496104ea366004612d30565b611307565b6103496104fd366004612d30565b611314565b61050a61134a565b6040516102579190613345565b610273610525366004613456565b611455565b6103b26105383660046134b1565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612d94565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001744165726f64726f6d654c704879706572647269766560581b81525060405160200161058a9190612d94565b90565b60606105f8600160405160200161058a91906134dd565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610662898989898989898989611a01565b505050505050505050565b61067b868686868686611bf3565b505050505050565b6106908484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073d910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c8919061358a565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261080e910161058a565b92915050565b5f6105f8610820611e61565b60405160200161058a91815260200190565b5f61080e82611eee565b5f61059e61084983612124565b6040805191151560208301520161058a565b606061059e61057a83612202565b83610873816122fe565b6001600160a01b0316336001600160a01b0316146108a457604051632aab8bd360e01b815260040160405180910390fd5b6108b0858585856123bb565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d94565b610956604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095f612427565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c991906135cd565b6109d391906135e0565b90505f8215610ae25773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109ff85612439565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad291906135f3565b509050610adf81846125c3565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bb257610bad84866125d7565b610bb4565b5f5b81526003546001600160801b0316602091820152604051919250610bde9161058a9184910161309b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c5b838383336123bb565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610d12612c5c565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613621565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061319d565b5f61059e610820836125eb565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461363c565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613650565b9050602002013590505f815490508084848151811061127e5761127e613650565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613302565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61082083612660565b5f61059e6108206113457f0000000000000000000000000000000000000000000000000000000000000000856135cd565b61269a565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f816122fe565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b61067b8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161080e910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126da565b90505f83600381111561156e5761156e6135a5565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135a5565b036115e057806040516020016115ca9190613664565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135a5565b0361160a57806040516020016115ca919061369c565b600383600381111561161e5761161e6135a5565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612d94565b60405180910390fd5b61169061278c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613621565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613621565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd33612124565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136d5565b90506118766001600160a01b03851684836127b4565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613621565b6001600160a01b0316336001600160a01b031614158015611990575061198e33612124565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613650565b905060200201358888868686818110611c8857611c88613650565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135e0565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135e0565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135cd565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ec5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee991906136d5565b905090565b5f611ef761278c565b611f0082612806565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f819190613621565b90506001600160a01b038116611f9a6020850185612dba565b6001600160a01b031614611fc157604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612031573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120559190613621565b6001600160a01b0316336001600160a01b031614155b801561207d575061207b33612124565b155b1561209a576040516282b42960e81b815260040160405180910390fd5b5f6120a3612427565b600980545f9091559091506120b981838761283b565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f860408a0160208b01612de2565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612181573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a891908101906136ec565b90505f5b81518110156121f957836001600160a01b03168282815181106121d1576121d1613650565b60200260200101516001600160a01b0316036121f1575060019392505050565b6001016121ac565b505f9392505050565b606060f882901c6001600160f81b0383165f61221d826126da565b90505f836003811115612232576122326135a5565b03612264576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612278576122786135a5565b0361228e57806040516020016115ca91906137ac565b60028360038111156122a2576122a26135a5565b036122b857806040516020016115ca91906137e3565b60038360038111156122cc576122cc6135a5565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee9670de0b6b3a76400006125eb565b6124916040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258991166128d1565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125bb929004166128d1565b905292915050565b5f61073d8383670de0b6b3a7640000612945565b5f61073d83670de0b6b3a764000084612945565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af415801561263c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080e91906136d5565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f59290602401612621565b5f6126bf600b5f6126ac600286612960565b81526020019081526020015f2054612994565b6126d0600b5f6126ac600187612960565b61080e919061380e565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277e57612713600a86613841565b61271e9060306135cd565b60f81b82600161272e84876135e0565b61273891906135e0565b8151811061274857612748613650565b60200101906001600160f81b03191690815f1a9053508061276881613854565b91506127779050600a8661386c565b9450612702565b918290030190815292915050565b60025f54036127ae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c5b9084906129c1565b5f6128146020830183612dba565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061284785856125c3565b905061285281612660565b9450845f03612864575f91505061073d565b8491506128776040840160208501612de2565b156128a65761289f8561288d6020860186612dba565b61289a604087018761387f565b612a22565b91506128c9565b6128c9856128b76020860186612dba565b6128c4604087018761387f565b612ad8565b509392505050565b5f80670de0b6b3a76400006128e4612af1565b6128ee91906138c2565b90508083116128fd575f612907565b61290781846135e0565b915061073d61293e670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138c2565b83906125d7565b5f825f190484118302158202612959575f80fd5b5091020490565b5f6001600160f81b038211156129895760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129bd5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129d56001600160a01b03841683612b1c565b905080515f141580156129f95750808060200190518101906129f791906138d9565b155b15610c5b57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a83575f80fd5b505af1158015612a95573d5f803e3d5ffd5b50612acf9250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905085876127b4565b50929392505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ee9427f0000000000000000000000000000000000000000000000000000000000000000612b29565b606061073d83835f612b3e565b5f612b348284613841565b61073d90846135e0565b606081471015612b635760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b7e91906138f4565b5f6040518083038185875af1925050503d805f8114612bb8576040519150601f19603f3d011682016040523d82523d5f602084013e612bbd565b606091505b5091509150612bcd868383612bd7565b9695505050505050565b606082612bec57612be782612c33565b61073d565b8151158015612c0357506001600160a01b0384163b155b15612c2c57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061073d565b805115612c435780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d2b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d40575f80fd5b5035919050565b5f5b83811015612d61578181015183820152602001612d49565b50505f910152565b5f8151808452612d80816020860160208601612d47565b601f01601f19169290920160200192915050565b602081525f61073d6020830184612d69565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612dca575f80fd5b813561073d81612da6565b801515811461046e575f80fd5b5f60208284031215612df2575f80fd5b813561073d81612dd5565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e24575f80fd5b8935985060208a0135975060408a0135612e3d81612da6565b965060608a0135612e4d81612da6565b955060808a0135612e5d81612dd5565b945060a08a0135935060c08a0135612e7481612dfd565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612ea4575f80fd5b50813567ffffffffffffffff811115612ebb575f80fd5b6020830191508360208260051b8501011115612ed5575f80fd5b9250929050565b5f805f805f8060808789031215612ef1575f80fd5b8635612efc81612da6565b95506020870135612f0c81612da6565b9450604087013567ffffffffffffffff80821115612f28575f80fd5b612f348a838b01612e94565b90965094506060890135915080821115612f4c575f80fd5b50612f5989828a01612e94565b979a9699509497509295939492505050565b5f805f8060808587031215612f7e575f80fd5b843593506020850135612f9081612da6565b92506040850135612fa081612da6565b9396929550929360600135925050565b5f805f60608486031215612fc2575f80fd5b833592506020840135612fd481612da6565b91506040840135612fe481612da6565b809150509250925092565b5f8060408385031215613000575f80fd5b82359150602083013561301281612da6565b809150509250929050565b5f6020828403121561302d575f80fd5b813567ffffffffffffffff811115613043575f80fd5b82016060818503121561073d575f80fd5b5f805f8060808587031215613067575f80fd5b84359350602085013561307981612da6565b925060408501359150606085013561309081612da6565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561314d575f80fd5b823561315881612da6565b9150602083013561301281612dd5565b5f805f6060848603121561317a575f80fd5b83359250602084013561318c81612da6565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131c960208401826001600160a01b03169052565b5060408301516131e460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613256828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132d4575f80fd5b823567ffffffffffffffff8111156132ea575f80fd5b6132f685828601612e94565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133395783518352928401929184019160010161331d565b50909695505050505050565b81516001600160801b031681526101808101602083015161337160208401826001600160801b03169052565b50604083015161338c60408401826001600160801b03169052565b5060608301516133a760608401826001600160801b03169052565b5060808301516133bc6080840182600f0b9052565b5060a08301516133d760a08401826001600160801b03169052565b5060c08301516133f260c08401826001600160801b03169052565b5060e083015161340d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132bb565b5f805f805f60a0868803121561346a575f80fd5b85359450602086013561347c81612da6565b9350604086013561348c81612da6565b92506060860135915060808601356134a381612da6565b809150509295509295909350565b5f80604083850312156134c2575f80fd5b82356134cd81612da6565b9150602083013561301281612da6565b5f60208083525f84545f60018260011c915060018316806134ff57607f831692505b60208310810361351d57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561353c57600181146135525761357b565b60ff198616825284151560051b8201965061357b565b5f8b8152602090205f5b868110156135755781548482015290850190890161355c565b83019750505b50949998505050505050505050565b5f6020828403121561359a575f80fd5b815161073d81612dfd565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080e5761080e6135b9565b8181038181111561080e5761080e6135b9565b5f8060408385031215613604575f80fd5b82519150602083015161301281612dd5565b805161059e81612da6565b5f60208284031215613631575f80fd5b815161073d81612da6565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f825161368f816011850160208701612d47565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136c8816012850160208701612d47565b9190910160120192915050565b5f602082840312156136e5575f80fd5b5051919050565b5f60208083850312156136fd575f80fd5b825167ffffffffffffffff80821115613714575f80fd5b818501915085601f830112613727575f80fd5b8151818111156137395761373961363c565b8060051b604051601f19603f8301168101818110858211171561375e5761375e61363c565b60405291825284820192508381018501918883111561377b575f80fd5b938501935b828510156137a05761379185613616565b84529385019392850192613780565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137d6816010850160208701612d47565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161368f816011850160208701612d47565b8181035f8312801583831316838312821617156112a8576112a86135b9565b634e487b7160e01b5f52601260045260245ffd5b5f8261384f5761384f61382d565b500690565b5f60018201613865576138656135b9565b5060010190565b5f8261387a5761387a61382d565b500490565b5f808335601e19843603018112613894575f80fd5b83018035915067ffffffffffffffff8211156138ae575f80fd5b602001915036819003821315612ed5575f80fd5b808202811582820484141761080e5761080e6135b9565b5f602082840312156138e9575f80fd5b815161073d81612dd5565b5f8251613905818460208701612d47565b919091019291505056fea26469706673582212206debf1925dc2cd5411fbabbc4a5b5327e7b8fb2c116603fabea3c9cb1abec6c664736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "gauge()": "a6f19c84", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts deleted file mode 100644 index 6f0a29ff3..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AerodromeLpTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts.map deleted file mode 100644 index 28fb1df07..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6ImmjC,KAAK,MAAM,EAAE;;;;CAItpjC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.js deleted file mode 100644 index 563b73288..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AerodromeLpTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061431e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610299565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f6014835110156100b35760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f838060200190518101906100c891906103f0565b604080513360208201529081018590529091506060016040516020818303038152906040528051906020012086868360405161010390610139565b61010f93929190610412565b8190604051809103905ff590508015801561012c573d5f803e3d5ffd5b509150505b949350505050565b613da2806200054783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561017f5761017f610147565b60405290565b6001600160a01b0381168114610199575f80fd5b50565b80356101a781610185565b919050565b5f608082840312156101bc575f80fd5b6040516080810181811067ffffffffffffffff821117156101df576101df610147565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f83011261021f575f80fd5b813567ffffffffffffffff8082111561023a5761023a610147565b604051601f8301601f19908116603f0116810190828211818310171561026257610262610147565b8160405283815286602085880101111561027a575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156102ae575f80fd5b610260808212156102bd575f80fd5b6102c561015b565b91506102d08761019c565b82526102de6020880161019c565b60208301526102ef6040880161019c565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061035881890161019c565b9083015261018061036a88820161019c565b908301526101a061037c88820161019c565b908301526101c061038e88820161019c565b908301526101e06103a1898983016101ac565b81840152508195506103b481880161019c565b9450505061028085013567ffffffffffffffff8111156103d2575f80fd5b6103de87828801610210565b949793965093946102a0013593505050565b5f60208284031215610400575f80fd5b815161040b81610185565b9392505050565b83516001600160a01b031681526102a08101602085015161043e60208401826001600160a01b03169052565b50604085015161045960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516104cb828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261013156fe6102a060405234801562000011575f80fd5b5060405162003da238038062003da28339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139456200045d5f395f8181610cd901528181611e780152612a3a01525f8181610db0015261237901525f8181610d81015261233c01525f8181610c1e01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0301528181611fd7015261212801525f610e4801525f8181610e22015261251e01525f8181610dfc01526124f801525f8181610dd601526124d201525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254401525f8181610e6e01528181611320015261291a01525f8181610e940152612af801525f81816106200152610d5201525f818161074a01528181610d23015281816112bd0152612aa601526139455ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b8063a22cb465116100fa578063a22cb46514610445578063a6f19c8414610458578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe0014610417578063950c5d031461042a5780639cd241af14610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d30565b61056c565b6040516102579190612d94565b60405180910390f35b61027361026e366004612dba565b6105a3565b005b610273610283366004612de2565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e0b565b610651565b6102736102d9366004612edc565b61066d565b6102736102ec366004612f6b565b610683565b6103046102ff366004612d30565b610696565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612fb0565b6106ff565b604051908152602001610257565b61035f610744565b60405160ff9091168152602001610257565b61034961037f366004612fef565b6107dc565b610349610814565b61034961039a36600461301d565b610832565b6103b26103ad366004612dba565b61083c565b6040519015158152602001610257565b61024a6103d0366004612d30565b61085b565b6102736103e3366004613054565b610869565b61024a6108b7565b6103f86108ec565b604051610257919061309b565b61027361041336600461313c565b5050565b610349610425366004612dba565b610be5565b6102a0610c10565b610273610440366004613168565b610c4f565b61027361045336600461313c565b610c60565b6102a0610ccb565b61027361046e366004612dba565b50565b610479610d0a565b604051610257919061319d565b610349610494366004612d30565b6111ca565b6103496104a7366004612d30565b6111d7565b6104bf6104ba3660046132c3565b6111f8565b6040516102579190613302565b6102a06112af565b6103496112ee565b6103496104ea366004612d30565b611307565b6103496104fd366004612d30565b611314565b61050a61134a565b6040516102579190613345565b610273610525366004613456565b611455565b6103b26105383660046134b1565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612d94565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001744165726f64726f6d654c704879706572647269766560581b81525060405160200161058a9190612d94565b90565b60606105f8600160405160200161058a91906134dd565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610662898989898989898989611a01565b505050505050505050565b61067b868686868686611bf3565b505050505050565b6106908484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073d910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c8919061358a565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261080e910161058a565b92915050565b5f6105f8610820611e61565b60405160200161058a91815260200190565b5f61080e82611eee565b5f61059e61084983612124565b6040805191151560208301520161058a565b606061059e61057a83612202565b83610873816122fe565b6001600160a01b0316336001600160a01b0316146108a457604051632aab8bd360e01b815260040160405180910390fd5b6108b0858585856123bb565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d94565b610956604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095f612427565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c991906135cd565b6109d391906135e0565b90505f8215610ae25773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109ff85612439565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad291906135f3565b509050610adf81846125c3565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bb257610bad84866125d7565b610bb4565b5f5b81526003546001600160801b0316602091820152604051919250610bde9161058a9184910161309b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c5b838383336123bb565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610d12612c5c565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613621565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613621565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061319d565b5f61059e610820836125eb565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461363c565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613650565b9050602002013590505f815490508084848151811061127e5761127e613650565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613302565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61082083612660565b5f61059e6108206113457f0000000000000000000000000000000000000000000000000000000000000000856135cd565b61269a565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f816122fe565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b61067b8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161080e910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126da565b90505f83600381111561156e5761156e6135a5565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135a5565b036115e057806040516020016115ca9190613664565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135a5565b0361160a57806040516020016115ca919061369c565b600383600381111561161e5761161e6135a5565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612d94565b60405180910390fd5b61169061278c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613621565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613621565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd33612124565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136d5565b90506118766001600160a01b03851684836127b4565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613621565b6001600160a01b0316336001600160a01b031614158015611990575061198e33612124565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613650565b905060200201358888868686818110611c8857611c88613650565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135e0565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135e0565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135cd565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ec5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee991906136d5565b905090565b5f611ef761278c565b611f0082612806565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f819190613621565b90506001600160a01b038116611f9a6020850185612dba565b6001600160a01b031614611fc157604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061206b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612031573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120559190613621565b6001600160a01b0316336001600160a01b031614155b801561207d575061207b33612124565b155b1561209a576040516282b42960e81b815260040160405180910390fd5b5f6120a3612427565b600980545f9091559091506120b981838761283b565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120f860408a0160208b01612de2565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612181573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121a891908101906136ec565b90505f5b81518110156121f957836001600160a01b03168282815181106121d1576121d1613650565b60200260200101516001600160a01b0316036121f1575060019392505050565b6001016121ac565b505f9392505050565b606060f882901c6001600160f81b0383165f61221d826126da565b90505f836003811115612232576122326135a5565b03612264576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612278576122786135a5565b0361228e57806040516020016115ca91906137ac565b60028360038111156122a2576122a26135a5565b036122b857806040516020016115ca91906137e3565b60038360038111156122cc576122cc6135a5565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ee9670de0b6b3a76400006125eb565b6124916040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161258991166128d1565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125bb929004166128d1565b905292915050565b5f61073d8383670de0b6b3a7640000612945565b5f61073d83670de0b6b3a764000084612945565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af415801561263c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080e91906136d5565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f59290602401612621565b5f6126bf600b5f6126ac600286612960565b81526020019081526020015f2054612994565b6126d0600b5f6126ac600187612960565b61080e919061380e565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277e57612713600a86613841565b61271e9060306135cd565b60f81b82600161272e84876135e0565b61273891906135e0565b8151811061274857612748613650565b60200101906001600160f81b03191690815f1a9053508061276881613854565b91506127779050600a8661386c565b9450612702565b918290030190815292915050565b60025f54036127ae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c5b9084906129c1565b5f6128146020830183612dba565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061284785856125c3565b905061285281612660565b9450845f03612864575f91505061073d565b8491506128776040840160208501612de2565b156128a65761289f8561288d6020860186612dba565b61289a604087018761387f565b612a22565b91506128c9565b6128c9856128b76020860186612dba565b6128c4604087018761387f565b612ad8565b509392505050565b5f80670de0b6b3a76400006128e4612af1565b6128ee91906138c2565b90508083116128fd575f612907565b61290781846135e0565b915061073d61293e670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138c2565b83906125d7565b5f825f190484118302158202612959575f80fd5b5091020490565b5f6001600160f81b038211156129895760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129bd5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129d56001600160a01b03841683612b1c565b905080515f141580156129f95750808060200190518101906129f791906138d9565b155b15610c5b57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a83575f80fd5b505af1158015612a95573d5f803e3d5ffd5b50612acf9250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905085876127b4565b50929392505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ee9427f0000000000000000000000000000000000000000000000000000000000000000612b29565b606061073d83835f612b3e565b5f612b348284613841565b61073d90846135e0565b606081471015612b635760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b7e91906138f4565b5f6040518083038185875af1925050503d805f8114612bb8576040519150601f19603f3d011682016040523d82523d5f602084013e612bbd565b606091505b5091509150612bcd868383612bd7565b9695505050505050565b606082612bec57612be782612c33565b61073d565b8151158015612c0357506001600160a01b0384163b155b15612c2c57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061073d565b805115612c435780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d2b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d40575f80fd5b5035919050565b5f5b83811015612d61578181015183820152602001612d49565b50505f910152565b5f8151808452612d80816020860160208601612d47565b601f01601f19169290920160200192915050565b602081525f61073d6020830184612d69565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612dca575f80fd5b813561073d81612da6565b801515811461046e575f80fd5b5f60208284031215612df2575f80fd5b813561073d81612dd5565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e24575f80fd5b8935985060208a0135975060408a0135612e3d81612da6565b965060608a0135612e4d81612da6565b955060808a0135612e5d81612dd5565b945060a08a0135935060c08a0135612e7481612dfd565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612ea4575f80fd5b50813567ffffffffffffffff811115612ebb575f80fd5b6020830191508360208260051b8501011115612ed5575f80fd5b9250929050565b5f805f805f8060808789031215612ef1575f80fd5b8635612efc81612da6565b95506020870135612f0c81612da6565b9450604087013567ffffffffffffffff80821115612f28575f80fd5b612f348a838b01612e94565b90965094506060890135915080821115612f4c575f80fd5b50612f5989828a01612e94565b979a9699509497509295939492505050565b5f805f8060808587031215612f7e575f80fd5b843593506020850135612f9081612da6565b92506040850135612fa081612da6565b9396929550929360600135925050565b5f805f60608486031215612fc2575f80fd5b833592506020840135612fd481612da6565b91506040840135612fe481612da6565b809150509250925092565b5f8060408385031215613000575f80fd5b82359150602083013561301281612da6565b809150509250929050565b5f6020828403121561302d575f80fd5b813567ffffffffffffffff811115613043575f80fd5b82016060818503121561073d575f80fd5b5f805f8060808587031215613067575f80fd5b84359350602085013561307981612da6565b925060408501359150606085013561309081612da6565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561314d575f80fd5b823561315881612da6565b9150602083013561301281612dd5565b5f805f6060848603121561317a575f80fd5b83359250602084013561318c81612da6565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131c960208401826001600160a01b03169052565b5060408301516131e460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613256828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132d4575f80fd5b823567ffffffffffffffff8111156132ea575f80fd5b6132f685828601612e94565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133395783518352928401929184019160010161331d565b50909695505050505050565b81516001600160801b031681526101808101602083015161337160208401826001600160801b03169052565b50604083015161338c60408401826001600160801b03169052565b5060608301516133a760608401826001600160801b03169052565b5060808301516133bc6080840182600f0b9052565b5060a08301516133d760a08401826001600160801b03169052565b5060c08301516133f260c08401826001600160801b03169052565b5060e083015161340d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132bb565b5f805f805f60a0868803121561346a575f80fd5b85359450602086013561347c81612da6565b9350604086013561348c81612da6565b92506060860135915060808601356134a381612da6565b809150509295509295909350565b5f80604083850312156134c2575f80fd5b82356134cd81612da6565b9150602083013561301281612da6565b5f60208083525f84545f60018260011c915060018316806134ff57607f831692505b60208310810361351d57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561353c57600181146135525761357b565b60ff198616825284151560051b8201965061357b565b5f8b8152602090205f5b868110156135755781548482015290850190890161355c565b83019750505b50949998505050505050505050565b5f6020828403121561359a575f80fd5b815161073d81612dfd565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080e5761080e6135b9565b8181038181111561080e5761080e6135b9565b5f8060408385031215613604575f80fd5b82519150602083015161301281612dd5565b805161059e81612da6565b5f60208284031215613631575f80fd5b815161073d81612da6565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f825161368f816011850160208701612d47565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136c8816012850160208701612d47565b9190910160120192915050565b5f602082840312156136e5575f80fd5b5051919050565b5f60208083850312156136fd575f80fd5b825167ffffffffffffffff80821115613714575f80fd5b818501915085601f830112613727575f80fd5b8151818111156137395761373961363c565b8060051b604051601f19603f8301168101818110858211171561375e5761375e61363c565b60405291825284820192508381018501918883111561377b575f80fd5b938501935b828510156137a05761379185613616565b84529385019392850192613780565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137d6816010850160208701612d47565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161368f816011850160208701612d47565b8181035f8312801583831316838312821617156112a8576112a86135b9565b634e487b7160e01b5f52601260045260245ffd5b5f8261384f5761384f61382d565b500690565b5f60018201613865576138656135b9565b5060010190565b5f8261387a5761387a61382d565b500490565b5f808335601e19843603018112613894575f80fd5b83018035915067ffffffffffffffff8211156138ae575f80fd5b602001915036819003821315612ed5575f80fd5b808202811582820484141761080e5761080e6135b9565b5f602082840312156138e9575f80fd5b815161073d81612dd5565b5f8251613905818460208701612d47565b919091019291505056fea26469706673582212206debf1925dc2cd5411fbabbc4a5b5327e7b8fb2c116603fabea3c9cb1abec6c664736f6c63430008160033a26469706673582212202644783f4c39c74d9552efed1e05dba6ee9886df1e35415b79fcbbe63879965464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts deleted file mode 100644 index 9262b6ebf..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts +++ /dev/null @@ -1,798 +0,0 @@ -export declare const AerodromeLpTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts.map deleted file mode 100644 index f08597584..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget1.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA49B+o/B,KAAK,MAAM,EAAE;;;;;CAK1r/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.js deleted file mode 100644 index 62de2a06e..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1.js +++ /dev/null @@ -1,994 +0,0 @@ -export const AerodromeLpTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f4d38038062003f4d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613abe6200048f5f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bb801525f818161139301528181611791015281816117f4015281816127a1015281816127dd015281816129d50152612b9201525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b6c01525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bde01525f81816107e701528181610ec4015281816116ef01528181612125015261315901525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126060152613abe5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613542565b610070565b60405190815260200160405180910390f35b61004b61006b366004613542565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b0565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135c3565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135f6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161361e565b6102bd8a6102b78d8f6135b0565b90611584565b8d6102cb60408c018c613639565b6040516102df9897969594939291906136a4565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b0565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136eb565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135f6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161361e565b8a61050260408b018b613639565b6040516105159796959493929190613712565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135f6565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613752565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b0565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613752565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b0565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b0565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b0316613765565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b0565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613752565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613765565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135c3565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137a5565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613752565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e968184613752565b610ea090896135b0565b9750610eac82846135b0565b610eb6908d6135b0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613752565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a613752565b9850670de0b6b3a7640000610ff0610f8b87876135b0565b600254610fa9908f90600160801b90046001600160801b0316613752565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613752565b6110d191906137c0565b85670de0b6b3a76400006110e5878a613752565b6110ef91906137c0565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c0565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137d7565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b6137f7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137d7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135c3565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b0565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161361e565b15611558576115518561153f60208601866135f6565b61154c6040870187613639565b612582565b915061157b565b61157b8561156960208601866135f6565b6115766040870187613639565b61262f565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612648565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae8284613752565b6116b89089613752565b97506116c481846135b0565b6116ce908e613752565b9c506116da8a8e6135b0565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613752565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613752565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135c3565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361269b565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c0565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613752565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613824565b5f6119ea828461384f565b61157d9084613752565b6002546004545f916105a6916001600160801b0390911690600f0b61269b565b5f61007d82611a2485888861252d565b906126c0565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab28383613752565b9050611ac16110fa828661272f565b60068054601090611ae3908490600160801b90046001600160801b03166137d7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274390919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b0565b90915550611b6b90508183613752565b9150611b7682611a2a565b600280545f90611b909084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612757565b600480545f90611bd1908490600f0b6137f7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612743565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b8282613752565b611c859084613752565b9250611ca3565b611c968282613752565b611ca090846135b0565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612743565b9050611cf588848661252d565b611cff90826135b0565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b031690613752565b9050805f03611da057600191505061131b565b5f611daa85612780565b9050805f03611dbe5760019250505061131b565b5f80611dcb83858961281b565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e0565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613955565b91509150611e77611e6982611321565b611e7290613977565b61298f565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b23565b6040518263ffffffff1660e01b8152600401611f759190613991565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a0565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b0565b6120379190613752565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139ce565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d8184613752565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612743565b5f808061216961216188670de0b6b3a7640000613752565b899087612c5d565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a7640000613752565b8989612c80565b92506121a883826135b0565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a7640000613752565b8390612519565b61157d90670de0b6b3a7640000613752565b5f8061221d856121f56119f4565b6121ff91906135b0565b600254610fa9908790600160801b90046001600160801b0316613752565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a7640000613752565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c5d565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a7640000613752565b8a9088612c5d565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b0565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135c3565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135c3565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b0565b6124028587611584565b61240c888a611584565b611ce291906135b0565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b6124706124528487613752565b61245c8587612519565b612466888a611584565b611ce29190613752565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612ca2565b6124cd845f612ca2565b6124d791906135c3565b90505f8113156124f2576124eb81866135b0565b9450612510565b5f8112156125105761250381613977565b61250d9086613752565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c5d565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b506125109250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690508587612cb7565b60405163350b944160e11b815260040160405180910390fd5b5f808061266861266088670de0b6b3a7640000613752565b89908761252d565b905086156121ab5761267a8888611584565b915061219c8a8a846126948a670de0b6b3a7640000613752565b8989612d0e565b5f806126a78484612d1e565b9092509050806126b9576126b96113ec565b5092915050565b5f815f036126d75750670de0b6b3a764000061131b565b825f036126e557505f61131b565b5f6126ef83611321565b90505f6127036126fe86611321565b612d59565b905081810261271a670de0b6b3a7640000826139e2565b905061272581612f7e565b9695505050505050565b5f61157d83670de0b6b3a764000084612c5d565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061279a906001600160801b03168461272f565b90506127c67f0000000000000000000000000000000000000000000000000000000000000000826135b0565b6002546001600160801b03161115611a61576002547f0000000000000000000000000000000000000000000000000000000000000000906128119083906001600160801b0316613752565b61157d9190613752565b6128236134a3565b5f8061282e84612b23565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128689190613991565b6040805180830381865af4158015612882573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128a691906139a0565b93509050826128ba57505f91506129879050565b5f6128e06128db84610160015185610140015161158490919063ffffffff16565b611321565b6129006128db85610120015186610100015161251990919063ffffffff16565b61290a91906135c3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a699190613a0e565b935093509350935080612a8457505f98975050505050505050565b868414612ab557612a9484611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ae657612ac58361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1457612af682611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b2b6134ed565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c239116613110565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5592900416613110565b905292915050565b5f825f190484118302158202612c71575f80fd5b50910281810615159190040190565b5f80612c90888888888888613184565b909250905080611d0f57611d0f6113ec565b5f818313612cb0578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d09908490613260565b505050565b5f80612c908888888888886132c6565b5f805f83612d2b86611321565b612d3591906135c3565b90505f811215612d4b575f809250925050612d52565b9150600190505b9250929050565b5f808213612d7a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dfd9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f9757505f919050565b680755bf798b4a1bf1e58212612fc0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131236105ab565b61312d91906137c0565b905080831161313c575f613146565b6131468184613752565b915061157d61317d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c0565b8390612743565b5f805f6131948989888888613382565b9050868810156131aa575f809250925050613255565b96869003966131b988876126c0565b9750878110156131cf575f809250925050613255565b8781036131dd818688612c5d565b9050670de0b6b3a764000081106132115761320a613203670de0b6b3a76400008961272f565b82906126c0565b9050613229565b613226613203670de0b6b3a764000089612743565b90505b613233818661272f565b90508981101561324a575f80935093505050613255565b899003925060019150505b965096945050505050565b5f6132746001600160a01b038416836133b0565b905080515f141580156132985750808060200190518101906132969190613a41565b155b15612d0957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132d68989888888613382565b90506132e686611a24898b6135b0565b9750878110156132fc575f809250925050613255565b87810361330a818688612c5d565b9050670de0b6b3a7640000811061333757613330613203670de0b6b3a76400008961272f565b905061334f565b61334c613203670de0b6b3a764000089612743565b90505b613359818661272f565b9050808a1015613370575f80935093505050613255565b90980398600198509650505050505050565b5f61338d85856126c0565b6133a661339e86611a24868b612519565b859085612c5d565b61247091906135b0565b606061157d83835f845f80856001600160a01b031684866040516133d49190613a5c565b5f6040518083038185875af1925050503d805f811461340e576040519150601f19603f3d011682016040523d82523d5f602084013e613413565b606091505b50915091506127258683836060826134335761342e8261347a565b61157d565b815115801561344a57506001600160a01b0384163b155b1561347357604051639996b31560e01b81526001600160a01b03851660048201526024016132bd565b508061157d565b80511561348a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134b76134ed565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613555575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613580575f80fd5b850160608188031215613591575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61359c565b8181035f8312801583831316838312821617156126b9576126b961359c565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613606575f80fd5b813561157d816135e2565b8015158114610591575f80fd5b5f6020828403121561362e575f80fd5b813561157d81613611565b5f808335601e1984360301811261364e575f80fd5b83018035915067ffffffffffffffff821115613668575f80fd5b602001915036819003821315612d52575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136dd60e08301848661367c565b9a9950505050505050505050565b8082018281125f83128015821682158216171561370a5761370a61359c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374560c08301848661367c565b9998505050505050505050565b8181038181111561131b5761131b61359c565b6001600160701b038181168382160190808211156126b9576126b961359c565b6001600160801b038181168382160190808211156126b9576126b961359c565b5f602082840312156137b5575f80fd5b815161157d816135e2565b808202811582820484141761131b5761131b61359c565b6001600160801b038281168282160390808211156126b9576126b961359c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61359c565b5f60208284031215613834575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261385d5761385d61383b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138f3828551613862565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613966575f80fd5b505080516020909101519092909150565b5f600160ff1b820161398b5761398b61359c565b505f0390565b610180810161131b8284613862565b5f80604083850312156139b1575f80fd5b8251915060208301516139c381613611565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f0576139f061383b565b600160ff1b82145f1984141615613a0957613a0961359c565b500590565b5f805f8060808587031215613a21575f80fd5b845193506020850151925060408501519150606085015161359181613611565b5f60208284031215613a51575f80fd5b815161157d81613611565b5f82515f5b81811015613a7b5760208186018101518583015201613a61565b505f92019182525091905056fea264697066735822122060b9a7af601fefa2e6630a33cdfd05b07d9405e4bae612cefd337a9c7ee8695a64736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts deleted file mode 100644 index f16410027..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AerodromeLpTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts.map deleted file mode 100644 index 1e2f02275..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Iy7kC,KAAK,MAAM,EAAE;;;;CAI5+kC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.js deleted file mode 100644 index d083d73e2..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AerodromeLpTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506144c98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610299565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f6014835110156100b35760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f838060200190518101906100c891906103f0565b604080513360208201529081018590529091506060016040516020818303038152906040528051906020012086868360405161010390610139565b61010f93929190610412565b8190604051809103905ff590508015801561012c573d5f803e3d5ffd5b509150505b949350505050565b613f4d806200054783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561017f5761017f610147565b60405290565b6001600160a01b0381168114610199575f80fd5b50565b80356101a781610185565b919050565b5f608082840312156101bc575f80fd5b6040516080810181811067ffffffffffffffff821117156101df576101df610147565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f83011261021f575f80fd5b813567ffffffffffffffff8082111561023a5761023a610147565b604051601f8301601f19908116603f0116810190828211818310171561026257610262610147565b8160405283815286602085880101111561027a575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156102ae575f80fd5b610260808212156102bd575f80fd5b6102c561015b565b91506102d08761019c565b82526102de6020880161019c565b60208301526102ef6040880161019c565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061035881890161019c565b9083015261018061036a88820161019c565b908301526101a061037c88820161019c565b908301526101c061038e88820161019c565b908301526101e06103a1898983016101ac565b81840152508195506103b481880161019c565b9450505061028085013567ffffffffffffffff8111156103d2575f80fd5b6103de87828801610210565b949793965093946102a0013593505050565b5f60208284031215610400575f80fd5b815161040b81610185565b9392505050565b83516001600160a01b031681526102a08101602085015161043e60208401826001600160a01b03169052565b50604085015161045960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516104cb828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261013156fe6102a060405234801562000011575f80fd5b5060405162003f4d38038062003f4d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613abe6200048f5f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bb801525f818161139301528181611791015281816117f4015281816127a1015281816127dd015281816129d50152612b9201525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b6c01525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bde01525f81816107e701528181610ec4015281816116ef01528181612125015261315901525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126060152613abe5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613542565b610070565b60405190815260200160405180910390f35b61004b61006b366004613542565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b0565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135c3565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135f6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161361e565b6102bd8a6102b78d8f6135b0565b90611584565b8d6102cb60408c018c613639565b6040516102df9897969594939291906136a4565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b0565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136eb565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135f6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161361e565b8a61050260408b018b613639565b6040516105159796959493929190613712565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135f6565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613752565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b0565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613752565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b0565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b0565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b0316613765565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b0565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613752565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613765565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135c3565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137a5565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613752565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e968184613752565b610ea090896135b0565b9750610eac82846135b0565b610eb6908d6135b0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613752565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a613752565b9850670de0b6b3a7640000610ff0610f8b87876135b0565b600254610fa9908f90600160801b90046001600160801b0316613752565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613752565b6110d191906137c0565b85670de0b6b3a76400006110e5878a613752565b6110ef91906137c0565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c0565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137d7565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b6137f7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137d7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135c3565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b0565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161361e565b15611558576115518561153f60208601866135f6565b61154c6040870187613639565b612582565b915061157b565b61157b8561156960208601866135f6565b6115766040870187613639565b61262f565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612648565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae8284613752565b6116b89089613752565b97506116c481846135b0565b6116ce908e613752565b9c506116da8a8e6135b0565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613752565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613752565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135c3565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361269b565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c0565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613752565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613824565b5f6119ea828461384f565b61157d9084613752565b6002546004545f916105a6916001600160801b0390911690600f0b61269b565b5f61007d82611a2485888861252d565b906126c0565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab28383613752565b9050611ac16110fa828661272f565b60068054601090611ae3908490600160801b90046001600160801b03166137d7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274390919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b0565b90915550611b6b90508183613752565b9150611b7682611a2a565b600280545f90611b909084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612757565b600480545f90611bd1908490600f0b6137f7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612743565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b8282613752565b611c859084613752565b9250611ca3565b611c968282613752565b611ca090846135b0565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612743565b9050611cf588848661252d565b611cff90826135b0565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b031690613752565b9050805f03611da057600191505061131b565b5f611daa85612780565b9050805f03611dbe5760019250505061131b565b5f80611dcb83858961281b565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e0565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613955565b91509150611e77611e6982611321565b611e7290613977565b61298f565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b0316613785565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b23565b6040518263ffffffff1660e01b8152600401611f759190613991565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a0565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b0565b6120379190613752565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139ce565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d8184613752565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612743565b5f808061216961216188670de0b6b3a7640000613752565b899087612c5d565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a7640000613752565b8989612c80565b92506121a883826135b0565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a7640000613752565b8390612519565b61157d90670de0b6b3a7640000613752565b5f8061221d856121f56119f4565b6121ff91906135b0565b600254610fa9908790600160801b90046001600160801b0316613752565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a7640000613752565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c5d565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a7640000613752565b8a9088612c5d565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b0565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135c3565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135c3565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b0565b6124028587611584565b61240c888a611584565b611ce291906135b0565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b6124706124528487613752565b61245c8587612519565b612466888a611584565b611ce29190613752565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612ca2565b6124cd845f612ca2565b6124d791906135c3565b90505f8113156124f2576124eb81866135b0565b9450612510565b5f8112156125105761250381613977565b61250d9086613752565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c5d565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b506125109250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690508587612cb7565b60405163350b944160e11b815260040160405180910390fd5b5f808061266861266088670de0b6b3a7640000613752565b89908761252d565b905086156121ab5761267a8888611584565b915061219c8a8a846126948a670de0b6b3a7640000613752565b8989612d0e565b5f806126a78484612d1e565b9092509050806126b9576126b96113ec565b5092915050565b5f815f036126d75750670de0b6b3a764000061131b565b825f036126e557505f61131b565b5f6126ef83611321565b90505f6127036126fe86611321565b612d59565b905081810261271a670de0b6b3a7640000826139e2565b905061272581612f7e565b9695505050505050565b5f61157d83670de0b6b3a764000084612c5d565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061279a906001600160801b03168461272f565b90506127c67f0000000000000000000000000000000000000000000000000000000000000000826135b0565b6002546001600160801b03161115611a61576002547f0000000000000000000000000000000000000000000000000000000000000000906128119083906001600160801b0316613752565b61157d9190613752565b6128236134a3565b5f8061282e84612b23565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128689190613991565b6040805180830381865af4158015612882573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128a691906139a0565b93509050826128ba57505f91506129879050565b5f6128e06128db84610160015185610140015161158490919063ffffffff16565b611321565b6129006128db85610120015186610100015161251990919063ffffffff16565b61290a91906135c3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a699190613a0e565b935093509350935080612a8457505f98975050505050505050565b868414612ab557612a9484611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ae657612ac58361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1457612af682611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b2b6134ed565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c239116613110565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5592900416613110565b905292915050565b5f825f190484118302158202612c71575f80fd5b50910281810615159190040190565b5f80612c90888888888888613184565b909250905080611d0f57611d0f6113ec565b5f818313612cb0578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d09908490613260565b505050565b5f80612c908888888888886132c6565b5f805f83612d2b86611321565b612d3591906135c3565b90505f811215612d4b575f809250925050612d52565b9150600190505b9250929050565b5f808213612d7a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dfd9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f9757505f919050565b680755bf798b4a1bf1e58212612fc0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131236105ab565b61312d91906137c0565b905080831161313c575f613146565b6131468184613752565b915061157d61317d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c0565b8390612743565b5f805f6131948989888888613382565b9050868810156131aa575f809250925050613255565b96869003966131b988876126c0565b9750878110156131cf575f809250925050613255565b8781036131dd818688612c5d565b9050670de0b6b3a764000081106132115761320a613203670de0b6b3a76400008961272f565b82906126c0565b9050613229565b613226613203670de0b6b3a764000089612743565b90505b613233818661272f565b90508981101561324a575f80935093505050613255565b899003925060019150505b965096945050505050565b5f6132746001600160a01b038416836133b0565b905080515f141580156132985750808060200190518101906132969190613a41565b155b15612d0957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132d68989888888613382565b90506132e686611a24898b6135b0565b9750878110156132fc575f809250925050613255565b87810361330a818688612c5d565b9050670de0b6b3a7640000811061333757613330613203670de0b6b3a76400008961272f565b905061334f565b61334c613203670de0b6b3a764000089612743565b90505b613359818661272f565b9050808a1015613370575f80935093505050613255565b90980398600198509650505050505050565b5f61338d85856126c0565b6133a661339e86611a24868b612519565b859085612c5d565b61247091906135b0565b606061157d83835f845f80856001600160a01b031684866040516133d49190613a5c565b5f6040518083038185875af1925050503d805f811461340e576040519150601f19603f3d011682016040523d82523d5f602084013e613413565b606091505b50915091506127258683836060826134335761342e8261347a565b61157d565b815115801561344a57506001600160a01b0384163b155b1561347357604051639996b31560e01b81526001600160a01b03851660048201526024016132bd565b508061157d565b80511561348a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134b76134ed565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613555575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613580575f80fd5b850160608188031215613591575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61359c565b8181035f8312801583831316838312821617156126b9576126b961359c565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613606575f80fd5b813561157d816135e2565b8015158114610591575f80fd5b5f6020828403121561362e575f80fd5b813561157d81613611565b5f808335601e1984360301811261364e575f80fd5b83018035915067ffffffffffffffff821115613668575f80fd5b602001915036819003821315612d52575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136dd60e08301848661367c565b9a9950505050505050505050565b8082018281125f83128015821682158216171561370a5761370a61359c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374560c08301848661367c565b9998505050505050505050565b8181038181111561131b5761131b61359c565b6001600160701b038181168382160190808211156126b9576126b961359c565b6001600160801b038181168382160190808211156126b9576126b961359c565b5f602082840312156137b5575f80fd5b815161157d816135e2565b808202811582820484141761131b5761131b61359c565b6001600160801b038281168282160390808211156126b9576126b961359c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61359c565b5f60208284031215613834575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261385d5761385d61383b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138f3828551613862565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613966575f80fd5b505080516020909101519092909150565b5f600160ff1b820161398b5761398b61359c565b505f0390565b610180810161131b8284613862565b5f80604083850312156139b1575f80fd5b8251915060208301516139c381613611565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f0576139f061383b565b600160ff1b82145f1984141615613a0957613a0961359c565b500590565b5f805f8060808587031215613a21575f80fd5b845193506020850151925060408501519150606085015161359181613611565b5f60208284031215613a51575f80fd5b815161157d81613611565b5f82515f5b81811015613a7b5760208186018101518583015201613a61565b505f92019182525091905056fea264697066735822122060b9a7af601fefa2e6630a33cdfd05b07d9405e4bae612cefd337a9c7ee8695a64736f6c63430008160033a264697066735822122029654ce641e154532980f44468ecd39e2c6e20d09e423a8fcdb105cf39751c1064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts deleted file mode 100644 index 757bd46f8..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts +++ /dev/null @@ -1,818 +0,0 @@ -export declare const AerodromeLpTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts.map deleted file mode 100644 index 8d75c6968..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget2.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq/BuhiC,KAAK,MAAM,EAAE;;;;;CAKlkiC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.js deleted file mode 100644 index b98985980..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2.js +++ /dev/null @@ -1,1019 +0,0 @@ -export const AerodromeLpTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004211380380620042118339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d5f620004b25f395f81816116f8015261176901525f50505f50505f610c2801525f50505f818160f9015281816103020152612dab01525f818161152f01528181611d3301528181611d960152818161251d0152818161299b015281816129d701528181612bc80152612d8501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d5f01525f61195d01525f8181611a7e0152818161260e015281816126860152612ec301525f81816109a301528181610e370152818161141501528181611a52015261265a01525f8181610e16015281816125da0152612e7f01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd101525f81816101d301528181610396015281816108e1015261344f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d5f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e3565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e3565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613851565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613851565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613878565b8b611217565b8d8a8a898e8561023e6020830183613878565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a0565b8961028960408a018a6138bb565b60405161029c9796959493929190613926565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613851565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613851565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613851565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a826104846020840184613878565b85611217565b858b868461049b6020860186613878565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a0565b6104ec896104e68a8d613966565b90610683565b8d6104fa60408e018e6138bb565b60405161050e989796959493929190613979565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613878565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a0565b156105ea576105e0856105db60408701876138bb565b6116bc565b9093509050610602565b5034610602856105fd60408701876138bb565b6117d7565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f0565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061180b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613851565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611820565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b92505b506108388361185f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613966565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613851565b429061188c565b84610f13565b6108d5886118a0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613966565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a3d565b915091508060095f8282546109729190613851565b9091555061098d9050865f8461098781611b0a565b88611b33565b6109978183613851565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611caa565b91506109db6109d68385610683565b611cf3565b600680546002906109fc9084906201000090046001600160701b03166139c0565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261185f565b60068054601090610a4b908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a3d565b915091508060095f828254610abe9190613851565b90915550610ad99050835f84610ad381611b0a565b8a611d1c565b610ae38183613966565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c0565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261185f565b60068054601090610b62908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b0a565b610ba483611b0a565b610bae9190613a00565b5f611f0c565b8e610bbf8482611f4b565b50505b5f610bcc8461213a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a1f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061227c565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611820565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612302565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061232d565b612391565b15610e6d57610e6d6123d2565b610e79878588856123eb565b91965094509250670de0b6b3a7640000610efb610e968784613851565b600254610eb4908890600160801b90046001600160801b0316613966565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b1115610f0957610f096123d2565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361185f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613966565b610fb99190613a3a565b85670de0b6b3a7640000610fcd878a613966565b610fd79190613a3a565b859291906001612433565b61185f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461185f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a3a565b6005546001600160801b03169190886001612433565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561185f565b600280545f906110d19084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461185f565b60028054601090611120908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461185f565b61115790826139e0565b600380546001600160801b03808416600160801b02911617905590505f61117d836124d7565b905061119b8161118c87611b0a565b6111969084613a71565b611f0c565b6111a484612517565b6111b0576111b06123d2565b5f6111ba85612576565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613851565b90915550505f838152600b60205260408120805483929061126a908490613851565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611820565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612582565b93508761134d85896125a2565b111561135b5761135b6123d2565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b93506113d58a670de0b6b3a7640000868c6125b6565b509193509091506113e890508183613966565b6113f29087613966565b95508861143f816114398d611407868c613966565b8d61141287826126c2565b877f00000000000000000000000000000000000000000000000000000000000000006126d7565b906125a2565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126f7565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a98565b5f6114e960408301602084016138a0565b156114f5575082611502565b6114ff848461271a565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d2565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61272e565b101561156b5761156b6123d2565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a3a565b600554600160801b90046001600160801b03169190896001612433565b600580546001600160801b03928316600160801b0292169190911790556115db8161185f565b600280546001600160801b0319166001600160801b03929092169190911790556116048561185f565b60028054601090611626908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561185f565b60048054601090611675908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124d7565b905061119b816116b288611b0a565b6111969084613a00565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612753565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613851565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c0565b60405163b6b55f2560e01b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024015f604051808303815f87803b1580156117b2575f80fd5b505af11580156117c4573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611804575f80fd5b5091020490565b5f6118168284613ac3565b6106979084613966565b6002546004545f916106cb916001600160801b0390911690600f0b61272e565b5f611856826118508588886117f0565b9061284f565b95945050505050565b5f6001600160801b0382111561188857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161189a5782610697565b50919050565b6006545f9081906118c2908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a38575f6118eb8383613966565b90506118fa610fe28286611450565b6006805460109061191c908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611954858361271a90919063ffffffff16565b90505f611981827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119949190613851565b909155506119a490508183613966565b91506119af8261185f565b600280545f906119c99084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119f6826128b4565b600480545f90611a0a908490600f0b613ad6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a49878561271a565b91505f611a76837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ac557611ab48282613966565b611abe9084613966565b9250611adc565b611acf8282613966565b611ad99084613851565b92505b86861015611aff57611aef8387896117f0565b9250611afc8287896117f0565b91505b509550959350505050565b5f6001600160ff1b038211156118885760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b7b610fe282611b5f670de0b6b3a764000086613a3a565b600554600160801b90046001600160801b031691908a5f612433565b600580546001600160801b03928316600160801b029216919091179055611ba18661185f565b611bab9082613a51565b600480546001600160801b03928316600160801b029216919091179055611bd18461185f565b600280545f90611beb9084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c18836128dd565b600480545f90611c2c908490600f0b613ad6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c5c8561185f565b60028054601090611c7e908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc184611cbb8a888a6117f0565b9061271a565b9050611cce8884866117f0565b611cd89082613851565b905086811115611ce85786810391505b509695505050505050565b5f6001600160701b038211156118885760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5e57507f0000000000000000000000000000000000000000000000000000000000000000611d5c8583613966565b105b15611d6b57611d6b6123d2565b6004549084900390600f0b611d808482613a00565b905083611d8c86611b0a565b138015611dc157507f0000000000000000000000000000000000000000000000000000000000000000611dbf838361272e565b105b15611dce57611dce6123d2565b600354600160801b90046001600160801b0316611e0f610fe282611dfa670de0b6b3a764000088613a3a565b6005546001600160801b031691908c5f612433565b600580546001600160801b0319166001600160801b0392909216919091179055611e398882613966565b9050611e448161185f565b600380546001600160801b03928316600160801b029216919091179055611e6a8361185f565b600280546001600160801b0319166001600160801b0392909216919091179055611e93826128dd565b600480546001600160801b0319166001600160801b0392909216919091179055611ebc8761185f565b60028054601090611ede908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2790610fe2906001600160801b03168484612918565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f95916001600160801b031690613966565b9050805f03611fa857600191505061069a565b5f611fb28561297a565b9050805f03611fc65760019250505061069a565b5f80611fd3838589612a15565b9150915080611fe8575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612023929190613b81565b6040805180830381865af415801561203d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120619190613bf6565b9150915061207f61207182611b0a565b61207a90613c18565b612b82565b925082612094575f965050505050505061069a565b61209d8261185f565b600780545f906120b79084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120e48161185f565b60078054601090612106908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216187612d16565b6040518263ffffffff1660e01b815260040161217d9190613c32565b6040805180830381865af4158015612197573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121bb9190613c41565b91509150806121d057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223591613851565b61223f9190613966565b9050805f0361225557505f958695509350505050565b5f808711612263575f61226e565b61226e8488846117f0565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229f5761229f613c6f565b6040519080825280601f01601f1916602001820160405280156122c9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122e9578692505b828152825f602083013e90999098509650505050505050565b5f61232287878761231b88670de0b6b3a7640000613966565b8787612e50565b979650505050505050565b5f6114ff61236d61234684670de0b6b3a7640000613966565b611439670de0b6b3a764000061235c818a611450565b6123669190613966565b87906125a2565b61237f90670de0b6b3a7640000613851565b611cbb84670de0b6b3a7640000613966565b5f806123c78561239f611820565b6123a99190613851565b600254610eb4908790600160801b90046001600160801b0316613966565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123fb898789612e72565b909250905061240a8289613966565b97505f61241882888a6117f0565b9050612424818b613966565b9a989950979650505050505050565b5f825f03612442575084611856565b8115612494576124736124558487613851565b61245f8587610683565b612469888a610683565b611cbb9190613851565b90505f612480858861188c565b90508082101561248e578091505b50611856565b8285036124a257505f611856565b6124cd6124af8487613966565b6124b985876125a2565b6124c3888a610683565b611cbb9190613966565b9695505050505050565b5f6124fc600b5f6124e96002866111e3565b81526020019081526020015f2054611b0a565b61250d600b5f6124e96001876111e3565b61069a9190613a00565b5f6125427f0000000000000000000000000000000000000000000000000000000000000000836125a2565b60035461255891906001600160801b0316613851565b60025461256e906001600160801b031684610683565b101592915050565b5f61069a826004611f4b565b5f61232287878761259b88670de0b6b3a7640000613966565b8787612ef1565b5f6106978383670de0b6b3a76400006126f7565b5f80808061260687866125ff8b6114396125d88c670de0b6b3a7640000613966565b7f0000000000000000000000000000000000000000000000000000000000000000906125a2565b91906126f7565b9350612632847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265261264a89670de0b6b3a7640000613966565b8a90886126f7565b905061267e817f00000000000000000000000000000000000000000000000000000000000000006125a2565b93506126aa847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126b49084613851565b915050945094509450949050565b5f8183116126d05781610697565b5090919050565b5f806126ee846126e88a888a6126f7565b90611450565b9050611cce8884865b5f825f19048411830215820261270b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f0565b5f8061273a8484612f01565b90925090508061274c5761274c6123d2565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127ba9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f39565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128118482612fa4565b6127ba576040516001600160a01b0384811660248301525f604483015261284591869182169063095ea7b390606401612788565b6127ba8482612f39565b5f815f036128665750670de0b6b3a764000061069a565b825f0361287457505f61069a565b5f61287e83611b0a565b90505f61289261288d86611b0a565b613041565b90508181026128a9670de0b6b3a764000082613c83565b90506124cd81613266565b5f60016001607f1b038211156118885760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128fa575060016001607f1b0382135b156118885760405163a5353be560e01b815260040160405180910390fd5b5f80612924845f6133f8565b61292e845f6133f8565b6129389190613a00565b90505f8113156129535761294c8186613851565b9450612971565b5f8112156129715761296481613c18565b61296e9086613966565b94505b50929392505050565b6003545f908190612994906001600160801b031684611450565b90506129c07f000000000000000000000000000000000000000000000000000000000000000082613851565b6002546001600160801b0316111561189a576002547f000000000000000000000000000000000000000000000000000000000000000090612a0b9083906001600160801b0316613966565b6115029190613966565b612a1d613744565b5f80612a2884612d16565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a629190613c32565b6040805180830381865af4158015612a7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa09190613c41565b9350905082612ab457505f91506117cf9050565b5f612ada612ad584610160015185610140015161068390919063ffffffff16565b611b0a565b612afa612ad58561012001518661010001516125a290919063ffffffff16565b612b049190613a00565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c5c9190613caf565b935093509350935080612c7757505f98975050505050505050565b868414612ca857612c878461185f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cd957612cb8836128dd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0757612ce98261185f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d1e61378e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e169116613406565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4892900416613406565b905292915050565b5f80612e6088888888888861347a565b909250905080611ce857611ce86123d2565b5f80612ebb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb1818c611450565b6114399190613966565b9150612ee7827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e6088888888888861353e565b5f805f83612f0e86611b0a565b612f189190613a00565b90505f811215612f2e575f80925092505061067c565b946001945092505050565b5f612f4d6001600160a01b038416836135fa565b905080515f14158015612f71575080806020019051810190612f6f9190613ce2565b155b15612f9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fbf9190613cfd565b5f604051808303815f865af19150503d805f8114612ff8576040519150601f19603f3d011682016040523d82523d5f602084013e612ffd565b606091505b50915091508180156130275750805115806130275750808060200190518101906130279190613ce2565b80156118565750505050506001600160a01b03163b151590565b5f8082136130625760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130e59084901c611b0a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361327f57505f919050565b680755bf798b4a1bf1e582126132a8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124cd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b0a565b5f8183136126d05781610697565b5f80670de0b6b3a76400006134196106a0565b6134239190613a3a565b9050808311613432575f61343c565b61343c8184613966565b9150611502613473670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a3a565b839061271a565b5f805f61348a8989888888613607565b90506134a48661185061349d8a8d613851565b8790610683565b98506134b1858a866117f0565b9850888110156134c7575f809250925050613533565b888103670de0b6b3a764000081106134fc576134f56134ee670de0b6b3a764000089611450565b829061284f565b9050613514565b6135116134ee670de0b6b3a76400008961271a565b90505b80891015613529575f80935093505050613533565b8803925060019150505b965096945050505050565b5f805f61354e8989888888613607565b905061355e86611850898b613851565b975087811015613574575f809250925050613533565b8781036135828186886126f7565b9050670de0b6b3a764000081106135af576135a86134ee670de0b6b3a764000089611450565b90506135c7565b6135c46134ee670de0b6b3a76400008961271a565b90505b6135d18186611450565b9050808a10156135e8575f80935093505050613533565b90980398600198509650505050505050565b606061069783835f613635565b5f613612858561284f565b61362b61362386611850868b6125a2565b8590856126f7565b6124cd9190613851565b60608147101561365a5760405163cd78605960e01b8152306004820152602401612f96565b5f80856001600160a01b031684866040516136759190613cfd565b5f6040518083038185875af1925050503d805f81146136af576040519150601f19603f3d011682016040523d82523d5f602084013e6136b4565b606091505b50915091506124cd8683836060826136d4576136cf8261371b565b611502565b81511580156136eb57506001600160a01b0384163b155b1561371457604051639996b31560e01b81526001600160a01b0385166004820152602401612f96565b5080611502565b80511561372b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375861378e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137f6575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613821575f80fd5b850160608188031215613832575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61383d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613888575f80fd5b813561150281613864565b80151581146105af575f80fd5b5f602082840312156138b0575f80fd5b813561150281613893565b5f808335601e198436030181126138d0575f80fd5b83018035915067ffffffffffffffff8211156138ea575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395960c0830184866138fe565b9998505050505050505050565b8181038181111561069a5761069a61383d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b260e0830184866138fe565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561274c5761274c61383d565b6001600160801b0381811683821601908082111561274c5761274c61383d565b8181035f83128015838313168383128216171561274c5761274c61383d565b5f60208284031215613a2f575f80fd5b815161150281613864565b808202811582820484141761069a5761069a61383d565b6001600160801b0382811682821603908082111561274c5761274c61383d565b8082018281125f831280158216821582161715613a9057613a9061383d565b505092915050565b5f60208284031215613aa8575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad157613ad1613aaf565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61383d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b94828551613b03565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c07575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c2c57613c2c61383d565b505f0390565b610180810161069a8284613b03565b5f8060408385031215613c52575f80fd5b825191506020830151613c6481613893565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9157613c91613aaf565b600160ff1b82145f1984141615613caa57613caa61383d565b500590565b5f805f8060808587031215613cc2575f80fd5b845193506020850151925060408501519150606085015161383281613893565b5f60208284031215613cf2575f80fd5b815161150281613893565b5f82515f5b81811015613d1c5760208186018101518583015201613d02565b505f92019182525091905056fea2646970667358221220d4d6fef1547ba5e0338a30d4fad2f95947e88ba5a7798dc8bf677615f34e76c064736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts deleted file mode 100644 index 7fd8649db..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AerodromeLpTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts.map deleted file mode 100644 index ad2ab6313..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Ii0nC,KAAK,MAAM,EAAE;;;;CAIp3nC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.js deleted file mode 100644 index 9016462b0..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AerodromeLpTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061478d8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610299565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f6014835110156100b35760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f838060200190518101906100c891906103f0565b604080513360208201529081018590529091506060016040516020818303038152906040528051906020012086868360405161010390610139565b61010f93929190610412565b8190604051809103905ff590508015801561012c573d5f803e3d5ffd5b509150505b949350505050565b614211806200054783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561017f5761017f610147565b60405290565b6001600160a01b0381168114610199575f80fd5b50565b80356101a781610185565b919050565b5f608082840312156101bc575f80fd5b6040516080810181811067ffffffffffffffff821117156101df576101df610147565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f83011261021f575f80fd5b813567ffffffffffffffff8082111561023a5761023a610147565b604051601f8301601f19908116603f0116810190828211818310171561026257610262610147565b8160405283815286602085880101111561027a575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156102ae575f80fd5b610260808212156102bd575f80fd5b6102c561015b565b91506102d08761019c565b82526102de6020880161019c565b60208301526102ef6040880161019c565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061035881890161019c565b9083015261018061036a88820161019c565b908301526101a061037c88820161019c565b908301526101c061038e88820161019c565b908301526101e06103a1898983016101ac565b81840152508195506103b481880161019c565b9450505061028085013567ffffffffffffffff8111156103d2575f80fd5b6103de87828801610210565b949793965093946102a0013593505050565b5f60208284031215610400575f80fd5b815161040b81610185565b9392505050565b83516001600160a01b031681526102a08101602085015161043e60208401826001600160a01b03169052565b50604085015161045960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516104cb828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261013156fe6102a060405234801562000011575f80fd5b5060405162004211380380620042118339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d5f620004b25f395f81816116f8015261176901525f50505f50505f610c2801525f50505f818160f9015281816103020152612dab01525f818161152f01528181611d3301528181611d960152818161251d0152818161299b015281816129d701528181612bc80152612d8501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d5f01525f61195d01525f8181611a7e0152818161260e015281816126860152612ec301525f81816109a301528181610e370152818161141501528181611a52015261265a01525f8181610e16015281816125da0152612e7f01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd101525f81816101d301528181610396015281816108e1015261344f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d5f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e3565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e3565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613851565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613851565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613878565b8b611217565b8d8a8a898e8561023e6020830183613878565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a0565b8961028960408a018a6138bb565b60405161029c9796959493929190613926565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613851565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613851565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613851565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a826104846020840184613878565b85611217565b858b868461049b6020860186613878565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a0565b6104ec896104e68a8d613966565b90610683565b8d6104fa60408e018e6138bb565b60405161050e989796959493929190613979565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613878565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a0565b156105ea576105e0856105db60408701876138bb565b6116bc565b9093509050610602565b5034610602856105fd60408701876138bb565b6117d7565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f0565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061180b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613851565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611820565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b92505b506108388361185f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613966565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613851565b429061188c565b84610f13565b6108d5886118a0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613966565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a3d565b915091508060095f8282546109729190613851565b9091555061098d9050865f8461098781611b0a565b88611b33565b6109978183613851565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611caa565b91506109db6109d68385610683565b611cf3565b600680546002906109fc9084906201000090046001600160701b03166139c0565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261185f565b60068054601090610a4b908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a3d565b915091508060095f828254610abe9190613851565b90915550610ad99050835f84610ad381611b0a565b8a611d1c565b610ae38183613966565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c0565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261185f565b60068054601090610b62908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b0a565b610ba483611b0a565b610bae9190613a00565b5f611f0c565b8e610bbf8482611f4b565b50505b5f610bcc8461213a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a1f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061227c565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611820565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612302565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061232d565b612391565b15610e6d57610e6d6123d2565b610e79878588856123eb565b91965094509250670de0b6b3a7640000610efb610e968784613851565b600254610eb4908890600160801b90046001600160801b0316613966565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b1115610f0957610f096123d2565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361185f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613966565b610fb99190613a3a565b85670de0b6b3a7640000610fcd878a613966565b610fd79190613a3a565b859291906001612433565b61185f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461185f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a3a565b6005546001600160801b03169190886001612433565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561185f565b600280545f906110d19084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461185f565b60028054601090611120908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461185f565b61115790826139e0565b600380546001600160801b03808416600160801b02911617905590505f61117d836124d7565b905061119b8161118c87611b0a565b6111969084613a71565b611f0c565b6111a484612517565b6111b0576111b06123d2565b5f6111ba85612576565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613851565b90915550505f838152600b60205260408120805483929061126a908490613851565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611820565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612582565b93508761134d85896125a2565b111561135b5761135b6123d2565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611840565b93506113d58a670de0b6b3a7640000868c6125b6565b509193509091506113e890508183613966565b6113f29087613966565b95508861143f816114398d611407868c613966565b8d61141287826126c2565b877f00000000000000000000000000000000000000000000000000000000000000006126d7565b906125a2565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126f7565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a98565b5f6114e960408301602084016138a0565b156114f5575082611502565b6114ff848461271a565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d2565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61272e565b101561156b5761156b6123d2565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a3a565b600554600160801b90046001600160801b03169190896001612433565b600580546001600160801b03928316600160801b0292169190911790556115db8161185f565b600280546001600160801b0319166001600160801b03929092169190911790556116048561185f565b60028054601090611626908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561185f565b60048054601090611675908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124d7565b905061119b816116b288611b0a565b6111969084613a00565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612753565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613851565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c0565b60405163b6b55f2560e01b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024015f604051808303815f87803b1580156117b2575f80fd5b505af11580156117c4573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611804575f80fd5b5091020490565b5f6118168284613ac3565b6106979084613966565b6002546004545f916106cb916001600160801b0390911690600f0b61272e565b5f611856826118508588886117f0565b9061284f565b95945050505050565b5f6001600160801b0382111561188857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161189a5782610697565b50919050565b6006545f9081906118c2908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a38575f6118eb8383613966565b90506118fa610fe28286611450565b6006805460109061191c908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611954858361271a90919063ffffffff16565b90505f611981827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119949190613851565b909155506119a490508183613966565b91506119af8261185f565b600280545f906119c99084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119f6826128b4565b600480545f90611a0a908490600f0b613ad6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a49878561271a565b91505f611a76837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ac557611ab48282613966565b611abe9084613966565b9250611adc565b611acf8282613966565b611ad99084613851565b92505b86861015611aff57611aef8387896117f0565b9250611afc8287896117f0565b91505b509550959350505050565b5f6001600160ff1b038211156118885760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b7b610fe282611b5f670de0b6b3a764000086613a3a565b600554600160801b90046001600160801b031691908a5f612433565b600580546001600160801b03928316600160801b029216919091179055611ba18661185f565b611bab9082613a51565b600480546001600160801b03928316600160801b029216919091179055611bd18461185f565b600280545f90611beb9084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c18836128dd565b600480545f90611c2c908490600f0b613ad6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c5c8561185f565b60028054601090611c7e908490600160801b90046001600160801b0316613a51565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc184611cbb8a888a6117f0565b9061271a565b9050611cce8884866117f0565b611cd89082613851565b905086811115611ce85786810391505b509695505050505050565b5f6001600160701b038211156118885760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5e57507f0000000000000000000000000000000000000000000000000000000000000000611d5c8583613966565b105b15611d6b57611d6b6123d2565b6004549084900390600f0b611d808482613a00565b905083611d8c86611b0a565b138015611dc157507f0000000000000000000000000000000000000000000000000000000000000000611dbf838361272e565b105b15611dce57611dce6123d2565b600354600160801b90046001600160801b0316611e0f610fe282611dfa670de0b6b3a764000088613a3a565b6005546001600160801b031691908c5f612433565b600580546001600160801b0319166001600160801b0392909216919091179055611e398882613966565b9050611e448161185f565b600380546001600160801b03928316600160801b029216919091179055611e6a8361185f565b600280546001600160801b0319166001600160801b0392909216919091179055611e93826128dd565b600480546001600160801b0319166001600160801b0392909216919091179055611ebc8761185f565b60028054601090611ede908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2790610fe2906001600160801b03168484612918565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f95916001600160801b031690613966565b9050805f03611fa857600191505061069a565b5f611fb28561297a565b9050805f03611fc65760019250505061069a565b5f80611fd3838589612a15565b9150915080611fe8575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612023929190613b81565b6040805180830381865af415801561203d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120619190613bf6565b9150915061207f61207182611b0a565b61207a90613c18565b612b82565b925082612094575f965050505050505061069a565b61209d8261185f565b600780545f906120b79084906001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120e48161185f565b60078054601090612106908490600160801b90046001600160801b03166139e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216187612d16565b6040518263ffffffff1660e01b815260040161217d9190613c32565b6040805180830381865af4158015612197573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121bb9190613c41565b91509150806121d057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223591613851565b61223f9190613966565b9050805f0361225557505f958695509350505050565b5f808711612263575f61226e565b61226e8488846117f0565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229f5761229f613c6f565b6040519080825280601f01601f1916602001820160405280156122c9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122e9578692505b828152825f602083013e90999098509650505050505050565b5f61232287878761231b88670de0b6b3a7640000613966565b8787612e50565b979650505050505050565b5f6114ff61236d61234684670de0b6b3a7640000613966565b611439670de0b6b3a764000061235c818a611450565b6123669190613966565b87906125a2565b61237f90670de0b6b3a7640000613851565b611cbb84670de0b6b3a7640000613966565b5f806123c78561239f611820565b6123a99190613851565b600254610eb4908790600160801b90046001600160801b0316613966565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123fb898789612e72565b909250905061240a8289613966565b97505f61241882888a6117f0565b9050612424818b613966565b9a989950979650505050505050565b5f825f03612442575084611856565b8115612494576124736124558487613851565b61245f8587610683565b612469888a610683565b611cbb9190613851565b90505f612480858861188c565b90508082101561248e578091505b50611856565b8285036124a257505f611856565b6124cd6124af8487613966565b6124b985876125a2565b6124c3888a610683565b611cbb9190613966565b9695505050505050565b5f6124fc600b5f6124e96002866111e3565b81526020019081526020015f2054611b0a565b61250d600b5f6124e96001876111e3565b61069a9190613a00565b5f6125427f0000000000000000000000000000000000000000000000000000000000000000836125a2565b60035461255891906001600160801b0316613851565b60025461256e906001600160801b031684610683565b101592915050565b5f61069a826004611f4b565b5f61232287878761259b88670de0b6b3a7640000613966565b8787612ef1565b5f6106978383670de0b6b3a76400006126f7565b5f80808061260687866125ff8b6114396125d88c670de0b6b3a7640000613966565b7f0000000000000000000000000000000000000000000000000000000000000000906125a2565b91906126f7565b9350612632847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265261264a89670de0b6b3a7640000613966565b8a90886126f7565b905061267e817f00000000000000000000000000000000000000000000000000000000000000006125a2565b93506126aa847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126b49084613851565b915050945094509450949050565b5f8183116126d05781610697565b5090919050565b5f806126ee846126e88a888a6126f7565b90611450565b9050611cce8884865b5f825f19048411830215820261270b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f0565b5f8061273a8484612f01565b90925090508061274c5761274c6123d2565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127ba9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f39565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128118482612fa4565b6127ba576040516001600160a01b0384811660248301525f604483015261284591869182169063095ea7b390606401612788565b6127ba8482612f39565b5f815f036128665750670de0b6b3a764000061069a565b825f0361287457505f61069a565b5f61287e83611b0a565b90505f61289261288d86611b0a565b613041565b90508181026128a9670de0b6b3a764000082613c83565b90506124cd81613266565b5f60016001607f1b038211156118885760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128fa575060016001607f1b0382135b156118885760405163a5353be560e01b815260040160405180910390fd5b5f80612924845f6133f8565b61292e845f6133f8565b6129389190613a00565b90505f8113156129535761294c8186613851565b9450612971565b5f8112156129715761296481613c18565b61296e9086613966565b94505b50929392505050565b6003545f908190612994906001600160801b031684611450565b90506129c07f000000000000000000000000000000000000000000000000000000000000000082613851565b6002546001600160801b0316111561189a576002547f000000000000000000000000000000000000000000000000000000000000000090612a0b9083906001600160801b0316613966565b6115029190613966565b612a1d613744565b5f80612a2884612d16565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a629190613c32565b6040805180830381865af4158015612a7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa09190613c41565b9350905082612ab457505f91506117cf9050565b5f612ada612ad584610160015185610140015161068390919063ffffffff16565b611b0a565b612afa612ad58561012001518661010001516125a290919063ffffffff16565b612b049190613a00565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c5c9190613caf565b935093509350935080612c7757505f98975050505050505050565b868414612ca857612c878461185f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cd957612cb8836128dd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0757612ce98261185f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d1e61378e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e169116613406565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4892900416613406565b905292915050565b5f80612e6088888888888861347a565b909250905080611ce857611ce86123d2565b5f80612ebb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb1818c611450565b6114399190613966565b9150612ee7827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e6088888888888861353e565b5f805f83612f0e86611b0a565b612f189190613a00565b90505f811215612f2e575f80925092505061067c565b946001945092505050565b5f612f4d6001600160a01b038416836135fa565b905080515f14158015612f71575080806020019051810190612f6f9190613ce2565b155b15612f9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fbf9190613cfd565b5f604051808303815f865af19150503d805f8114612ff8576040519150601f19603f3d011682016040523d82523d5f602084013e612ffd565b606091505b50915091508180156130275750805115806130275750808060200190518101906130279190613ce2565b80156118565750505050506001600160a01b03163b151590565b5f8082136130625760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130e59084901c611b0a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361327f57505f919050565b680755bf798b4a1bf1e582126132a8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124cd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b0a565b5f8183136126d05781610697565b5f80670de0b6b3a76400006134196106a0565b6134239190613a3a565b9050808311613432575f61343c565b61343c8184613966565b9150611502613473670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a3a565b839061271a565b5f805f61348a8989888888613607565b90506134a48661185061349d8a8d613851565b8790610683565b98506134b1858a866117f0565b9850888110156134c7575f809250925050613533565b888103670de0b6b3a764000081106134fc576134f56134ee670de0b6b3a764000089611450565b829061284f565b9050613514565b6135116134ee670de0b6b3a76400008961271a565b90505b80891015613529575f80935093505050613533565b8803925060019150505b965096945050505050565b5f805f61354e8989888888613607565b905061355e86611850898b613851565b975087811015613574575f809250925050613533565b8781036135828186886126f7565b9050670de0b6b3a764000081106135af576135a86134ee670de0b6b3a764000089611450565b90506135c7565b6135c46134ee670de0b6b3a76400008961271a565b90505b6135d18186611450565b9050808a10156135e8575f80935093505050613533565b90980398600198509650505050505050565b606061069783835f613635565b5f613612858561284f565b61362b61362386611850868b6125a2565b8590856126f7565b6124cd9190613851565b60608147101561365a5760405163cd78605960e01b8152306004820152602401612f96565b5f80856001600160a01b031684866040516136759190613cfd565b5f6040518083038185875af1925050503d805f81146136af576040519150601f19603f3d011682016040523d82523d5f602084013e6136b4565b606091505b50915091506124cd8683836060826136d4576136cf8261371b565b611502565b81511580156136eb57506001600160a01b0384163b155b1561371457604051639996b31560e01b81526001600160a01b0385166004820152602401612f96565b5080611502565b80511561372b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375861378e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137f6575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613821575f80fd5b850160608188031215613832575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61383d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613888575f80fd5b813561150281613864565b80151581146105af575f80fd5b5f602082840312156138b0575f80fd5b813561150281613893565b5f808335601e198436030181126138d0575f80fd5b83018035915067ffffffffffffffff8211156138ea575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395960c0830184866138fe565b9998505050505050505050565b8181038181111561069a5761069a61383d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b260e0830184866138fe565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561274c5761274c61383d565b6001600160801b0381811683821601908082111561274c5761274c61383d565b8181035f83128015838313168383128216171561274c5761274c61383d565b5f60208284031215613a2f575f80fd5b815161150281613864565b808202811582820484141761069a5761069a61383d565b6001600160801b0382811682821603908082111561274c5761274c61383d565b8082018281125f831280158216821582161715613a9057613a9061383d565b505092915050565b5f60208284031215613aa8575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad157613ad1613aaf565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61383d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b94828551613b03565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c07575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c2c57613c2c61383d565b505f0390565b610180810161069a8284613b03565b5f8060408385031215613c52575f80fd5b825191506020830151613c6481613893565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9157613c91613aaf565b600160ff1b82145f1984141615613caa57613caa61383d565b500590565b5f805f8060808587031215613cc2575f80fd5b845193506020850151925060408501519150606085015161383281613893565b5f60208284031215613cf2575f80fd5b815161150281613893565b5f82515f5b81811015613d1c5760208186018101518583015201613d02565b505f92019182525091905056fea2646970667358221220d4d6fef1547ba5e0338a30d4fad2f95947e88ba5a7798dc8bf677615f34e76c064736f6c63430008160033a2646970667358221220e186ee3a5ec8ef2fdf93f9a18e8ea6b47689f6108bb6c659d094ed57789b6fb164736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts deleted file mode 100644 index 6e073e164..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts +++ /dev/null @@ -1,834 +0,0 @@ -export declare const AerodromeLpTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts.map deleted file mode 100644 index 863c12195..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget3.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAygC+uhC,KAAK,MAAM,EAAE;;;;;CAK1xhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.js deleted file mode 100644 index 356597b07..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3.js +++ /dev/null @@ -1,1039 +0,0 @@ -export const AerodromeLpTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b506040516200417d3803806200417d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cba620004c35f395f818161198801526119f901525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161209a015281816120fd015281816129a601528181612de40152612e2001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cab01525f8181611e00015261306f01525f81816110260152611dd401525f61302501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261293c01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cba5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613713565b610064565b60405190815260200160405180910390f35b61003f61005f366004613772565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d2565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137e5565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d2565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137e5565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137e5565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d2565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613876565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613885565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613876565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613885565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137e5565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d2565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138d8565b866107a960408c018c6138f3565b6040516107bc9796959493929190613936565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613989565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138d8565b87610b5e60408901896138f3565b604051610b719796959493929190613936565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138d8565b15610c8f57610c8585610c8060408701876138f3565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f3565b611a67565b610caf611a80565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a92565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d2565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137e5565b8a84611aa7565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d2565b4290611be0565b84611aa7565b610f5888611bee565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137e5565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d8b565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dbf565b915091508060095f828254610ff591906137d2565b909155506110109050865f8461100a81611766565b88611e8c565b61101a81836137d2565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612003565b915061105e6110598385612046565b61205a565b6006805460029061107f9084906201000090046001600160701b03166139cb565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d8b565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dbf565b915091508060095f82825461114191906137d2565b9091555061115c9050835f8461115681611766565b8a612083565b61116681836137e5565b91506111756110598387612046565b600680546002906111969084906201000090046001600160701b03166139cb565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a0b565b5f612273565b8e61124284826122b2565b50505b5f61124f846124a1565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a2a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e3565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d8b565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d8b565b6113f79190613a0b565b92915050565b5f805f8061140b8a8a61266b565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137e5565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a3565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137e5565b8d7f000000000000000000000000000000000000000000000000000000000000000061275c565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612816565b509093505f9050611568848f6137d2565b90505f6115888b8b61157987611766565b611583908e613a45565b61285e565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c0565b611766565b6115c683611766565b6115d36115b88685612046565b6115dd9190613a0b565b6115e79190613a0b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d0565b61162685670de0b6b3a76400006137e5565b906117d4565b611634613664565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f3565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f3565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612960565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d2565b90915550505f838152600b60205260408120805483929061183b9084906137d2565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b2565b5f8183136118a7578261008d565b50919050565b5f806118b9848461266b565b9092509050806118cb576118cb612af4565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b0d565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b7c565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d2565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612be9565b60405163b6b55f2560e01b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024015f604051808303815f87803b158015611a42575f80fd5b505af1158015611a54573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c78565b5f611a9d8284613a80565b61008d90846137e5565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad25750505050565b5f848152600860205260408120546001600160801b031690819003611b2a57611afa836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ba7565b611b7b611b76670de0b6b3a7640000611b4388866137e5565b611b4d9190613989565b85670de0b6b3a7640000611b61878a6137e5565b611b6b9190613989565b859291906001612cec565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb0846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c10908490600160801b90046001600160801b0316612046565b6006546201000090046001600160701b03169250905081811115611d86575f611c3983836137e5565b9050611c48611b768286612d86565b60068054601090611c6a908490600160801b90046001600160801b0316613a93565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca285836117d490919063ffffffff16565b90505f611ccf827f0000000000000000000000000000000000000000000000000000000000000000612046565b90508060095f828254611ce291906137d2565b90915550611cf2905081836137e5565b9150611cfd826118d2565b600280545f90611d179084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4482612d9a565b600480545f90611d58908490600f0b613ab3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611db45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dcb87856117d4565b91505f611df8837f0000000000000000000000000000000000000000000000000000000000000000612046565b9050611e24817f0000000000000000000000000000000000000000000000000000000000000000612046565b91508315611e4757611e3682826137e5565b611e4090846137e5565b9250611e5e565b611e5182826137e5565b611e5b90846137d2565b92505b86861015611e8157611e718387896117b9565b9250611e7e8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611ed4611b7682611eb8670de0b6b3a764000086613989565b600554600160801b90046001600160801b031691908a5f612cec565b600580546001600160801b03928316600160801b029216919091179055611efa866118d2565b611f049082613a93565b600480546001600160801b03928316600160801b029216919091179055611f2a846118d2565b600280545f90611f449084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f71836118fb565b600480545f90611f85908490600f0b613ab3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fb5856118d2565b60028054601090611fd7908490600160801b90046001600160801b0316613a93565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612014846116268a888a6117b9565b90506120218884866117b9565b61202b90826137d2565b90508681111561203b5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120c557507f00000000000000000000000000000000000000000000000000000000000000006120c385836137e5565b105b156120d2576120d2612af4565b6004549084900390600f0b6120e78482613a0b565b9050836120f386611766565b13801561212857507f000000000000000000000000000000000000000000000000000000000000000061212683836118ad565b105b1561213557612135612af4565b600354600160801b90046001600160801b0316612176611b7682612161670de0b6b3a764000088613989565b6005546001600160801b031691908c5f612cec565b600580546001600160801b0319166001600160801b03929092169190911790556121a088826137e5565b90506121ab816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d1836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556121fa826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612223876118d2565b60028054601090612245908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461228e90611b76906001600160801b0316848461285e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916122fc916001600160801b0316906137e5565b9050805f0361230f5760019150506113f7565b5f61231985612dc3565b9050805f0361232d576001925050506113f7565b5f8061233a838589612e5e565b915091508061234f575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161238a929190613ae0565b6040805180830381865af41580156123a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123c89190613b55565b915091506123e66123d882611766565b6123e190613b77565b612960565b9250826123fb575f96505050505050506113f7565b612404826118d2565b600780545f9061241e9084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061244b816118d2565b6007805460109061246d908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124c88761162c565b6040518263ffffffff1660e01b81526004016124e49190613876565b6040805180830381865af41580156124fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125229190613b91565b915091508061253757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161259c916137d2565b6125a691906137e5565b9050805f036125bc57505f958695509350505050565b5f8087116125ca575f6125d5565b6125d58488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260657612606613bbf565b6040519080825280601f01601f191660200182016040528015612630576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612650578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267886611766565b6126829190613a0b565b90505f811215612698575f809250925050610d21565b946001945092505050565b5f805f6126b38888888888612fc6565b90505f6126dd670de0b6b3a76400006126cc8888612d86565b6126d691906137d2565b83906117d4565b9050670de0b6b3a764000081106127115761270a612703670de0b6b3a7640000896117d4565b8290612b0d565b9050612729565b612726612703670de0b6b3a764000089612d86565b90505b61273381866117d4565b90508881101561274a575f80935093505050612661565b97909703976001975095505050505050565b5f805f61276c8989888888612ff4565b90506127868661194661277f8a8d6137d2565b8790612046565b9850612793858a866117b9565b9850888110156127a9575f8092509250506115f6565b888103670de0b6b3a764000081106127d7576127d0612703670de0b6b3a764000089612d86565b90506127ef565b6127ec612703670de0b6b3a7640000896117d4565b90505b80891015612804575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612826898789613018565b909250905061283582896137e5565b97505f61284382888a6117b9565b905061284f818b6137e5565b9a989950979650505050505050565b5f8061286a845f61309d565b612874845f61309d565b61287e9190613a0b565b90505f8113156128995761289281866137d2565b94506128b7565b5f8112156128b7576128aa81613b77565b6128b490866137e5565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128e4575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612906610d28565b6129109190613989565b905080831161291f575f612929565b61292981846137e5565b915061008d6126d6670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613989565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3a9190613bd3565b935093509350935080612a5557505f98975050505050505050565b868414612a8657612a65846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab757612a96836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae557612ac7826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b245750670de0b6b3a76400006113f7565b825f03612b3257505f6113f7565b5f612b3c83611766565b90505f612b50612b4b86611766565b6130b2565b9050818102612b67670de0b6b3a764000082613c11565b9050612b72816132d7565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be39186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613469565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c3a84826134d4565b612be3576040516001600160a01b0384811660248301525f6044830152612c6e91869182169063095ea7b390606401612bb1565b612be38482613469565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f90602401602060405180830381865af4158015612cc8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613885565b5f825f03612cfb575084610075565b8115612d4d57612d2c612d0e84876137d2565b612d188587612046565b612d22888a612046565b61162691906137d2565b90505f612d398588611be0565b905080821015612d47578091505b50610075565b828503612d5b57505f610075565b610072612d6884876137e5565b612d7285876128c0565b612d7c888a612046565b61162691906137e5565b5f61008d83670de0b6b3a7640000846128d0565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612ddd906001600160801b031684612d86565b9050612e097f0000000000000000000000000000000000000000000000000000000000000000826137d2565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e549083906001600160801b03166137e5565b61008d91906137e5565b612e666136b9565b5f80612e718461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eab9190613876565b6040805180830381865af4158015612ec5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee99190613b91565b9350905082612efd57505f9150611a5f9050565b5f612f1e6115b884610160015185610140015161204690919063ffffffff16565b612f3e6115b88561012001518661010001516128c090919063ffffffff16565b612f489190613a0b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd18585612b0d565b612fea612fe286611946868b612046565b8590856117b9565b61007291906137d2565b5f612fff8585612b0d565b612fea61301086611946868b6128c0565b8590856128d0565b5f806130678561306185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613057818c612d86565b61306191906137e5565b906128c0565b9150613093827f0000000000000000000000000000000000000000000000000000000000000000612046565b9050935093915050565b5f8183136130ab578161008d565b5090919050565b5f8082136130d35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131569084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f057505f919050565b680755bf798b4a1bf1e58212613319576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f61347d6001600160a01b03841683613571565b905080515f141580156134a157508080602001905181019061349f9190613c3d565b155b156134cf57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134ef9190613c58565b5f604051808303815f865af19150503d805f8114613528576040519150601f19603f3d011682016040523d82523d5f602084013e61352d565b606091505b50915091508180156135575750805115806135575750808060200190518101906135579190613c3d565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135959190613c58565b5f6040518083038185875af1925050503d805f81146135cf576040519150601f19603f3d011682016040523d82523d5f602084013e6135d4565b606091505b5091509150612b728683836060826135f4576135ef8261363b565b61008d565b815115801561360b57506001600160a01b0384163b155b1561363457604051639996b31560e01b81526001600160a01b03851660048201526024016134c6565b508061008d565b80511561364b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136cd613664565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613727575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613759575f80fd5b61376588828901613703565b9150509295509295909350565b5f805f60608486031215613784575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137a8575f80fd5b6137b486828701613703565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137be565b818103818111156113f7576113f76137be565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137f8565b5f60208284031215613895575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c0575f80fd5b813561008d8161389c565b8015158114610c0a575f80fd5b5f602082840312156138e8575f80fd5b813561008d816138cb565b5f808335601e19843603018112613908575f80fd5b83018035915067ffffffffffffffff821115613922575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137be565b5f805f606084860312156139b2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137be565b6001600160801b038181168382160190808211156118cb576118cb6137be565b8181035f8312801583831316838312821617156118cb576118cb6137be565b5f60208284031215613a3a575f80fd5b815161008d8161389c565b8082018281125f831280158216821582161715613a6457613a646137be565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a8e57613a8e613a6c565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137be565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137be565b5f6102a082019050613af38285516137f8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b66575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b8b57613b8b6137be565b505f0390565b5f8060408385031215613ba2575f80fd5b825191506020830151613bb4816138cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613be6575f80fd5b8451935060208501519250604085015191506060850151613c06816138cb565b939692955090935050565b5f82613c1f57613c1f613a6c565b600160ff1b82145f1984141615613c3857613c386137be565b500590565b5f60208284031215613c4d575f80fd5b815161008d816138cb565b5f82515f5b81811015613c775760208186018101518583015201613c5d565b505f92019182525091905056fea2646970667358221220e9e7b92c845d4c4d4001de9ab66ae5c923e4e71869dcb6757b19414caa767bff64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts deleted file mode 100644 index 366115b08..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AerodromeLpTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts.map deleted file mode 100644 index 4089a0158..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IyhnC,KAAK,MAAM,EAAE;;;;CAI5knC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.js deleted file mode 100644 index 05c6a0c93..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AerodromeLpTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506146f98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610299565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f6014835110156100b35760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f838060200190518101906100c891906103f0565b604080513360208201529081018590529091506060016040516020818303038152906040528051906020012086868360405161010390610139565b61010f93929190610412565b8190604051809103905ff590508015801561012c573d5f803e3d5ffd5b509150505b949350505050565b61417d806200054783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561017f5761017f610147565b60405290565b6001600160a01b0381168114610199575f80fd5b50565b80356101a781610185565b919050565b5f608082840312156101bc575f80fd5b6040516080810181811067ffffffffffffffff821117156101df576101df610147565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f83011261021f575f80fd5b813567ffffffffffffffff8082111561023a5761023a610147565b604051601f8301601f19908116603f0116810190828211818310171561026257610262610147565b8160405283815286602085880101111561027a575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156102ae575f80fd5b610260808212156102bd575f80fd5b6102c561015b565b91506102d08761019c565b82526102de6020880161019c565b60208301526102ef6040880161019c565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061035881890161019c565b9083015261018061036a88820161019c565b908301526101a061037c88820161019c565b908301526101c061038e88820161019c565b908301526101e06103a1898983016101ac565b81840152508195506103b481880161019c565b9450505061028085013567ffffffffffffffff8111156103d2575f80fd5b6103de87828801610210565b949793965093946102a0013593505050565b5f60208284031215610400575f80fd5b815161040b81610185565b9392505050565b83516001600160a01b031681526102a08101602085015161043e60208401826001600160a01b03169052565b50604085015161045960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516104cb828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261013156fe6102a060405234801562000011575f80fd5b506040516200417d3803806200417d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cba620004c35f395f818161198801526119f901525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161209a015281816120fd015281816129a601528181612de40152612e2001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cab01525f8181611e00015261306f01525f81816110260152611dd401525f61302501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261293c01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cba5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613713565b610064565b60405190815260200160405180910390f35b61003f61005f366004613772565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d2565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137e5565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d2565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137e5565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137e5565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d2565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613876565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613885565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613876565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613885565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137e5565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d2565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138d8565b866107a960408c018c6138f3565b6040516107bc9796959493929190613936565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613989565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138d8565b87610b5e60408901896138f3565b604051610b719796959493929190613936565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138d8565b15610c8f57610c8585610c8060408701876138f3565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f3565b611a67565b610caf611a80565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a92565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d2565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137e5565b8a84611aa7565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d2565b4290611be0565b84611aa7565b610f5888611bee565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137e5565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d8b565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dbf565b915091508060095f828254610ff591906137d2565b909155506110109050865f8461100a81611766565b88611e8c565b61101a81836137d2565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612003565b915061105e6110598385612046565b61205a565b6006805460029061107f9084906201000090046001600160701b03166139cb565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d8b565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dbf565b915091508060095f82825461114191906137d2565b9091555061115c9050835f8461115681611766565b8a612083565b61116681836137e5565b91506111756110598387612046565b600680546002906111969084906201000090046001600160701b03166139cb565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a0b565b5f612273565b8e61124284826122b2565b50505b5f61124f846124a1565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a2a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e3565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d8b565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d8b565b6113f79190613a0b565b92915050565b5f805f8061140b8a8a61266b565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137e5565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a3565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137e5565b8d7f000000000000000000000000000000000000000000000000000000000000000061275c565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612816565b509093505f9050611568848f6137d2565b90505f6115888b8b61157987611766565b611583908e613a45565b61285e565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c0565b611766565b6115c683611766565b6115d36115b88685612046565b6115dd9190613a0b565b6115e79190613a0b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d0565b61162685670de0b6b3a76400006137e5565b906117d4565b611634613664565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f3565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f3565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612960565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d2565b90915550505f838152600b60205260408120805483929061183b9084906137d2565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b2565b5f8183136118a7578261008d565b50919050565b5f806118b9848461266b565b9092509050806118cb576118cb612af4565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b0d565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b7c565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d2565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612be9565b60405163b6b55f2560e01b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f25906024015f604051808303815f87803b158015611a42575f80fd5b505af1158015611a54573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c78565b5f611a9d8284613a80565b61008d90846137e5565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad25750505050565b5f848152600860205260408120546001600160801b031690819003611b2a57611afa836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ba7565b611b7b611b76670de0b6b3a7640000611b4388866137e5565b611b4d9190613989565b85670de0b6b3a7640000611b61878a6137e5565b611b6b9190613989565b859291906001612cec565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb0846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c10908490600160801b90046001600160801b0316612046565b6006546201000090046001600160701b03169250905081811115611d86575f611c3983836137e5565b9050611c48611b768286612d86565b60068054601090611c6a908490600160801b90046001600160801b0316613a93565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca285836117d490919063ffffffff16565b90505f611ccf827f0000000000000000000000000000000000000000000000000000000000000000612046565b90508060095f828254611ce291906137d2565b90915550611cf2905081836137e5565b9150611cfd826118d2565b600280545f90611d179084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4482612d9a565b600480545f90611d58908490600f0b613ab3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611db45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dcb87856117d4565b91505f611df8837f0000000000000000000000000000000000000000000000000000000000000000612046565b9050611e24817f0000000000000000000000000000000000000000000000000000000000000000612046565b91508315611e4757611e3682826137e5565b611e4090846137e5565b9250611e5e565b611e5182826137e5565b611e5b90846137d2565b92505b86861015611e8157611e718387896117b9565b9250611e7e8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611ed4611b7682611eb8670de0b6b3a764000086613989565b600554600160801b90046001600160801b031691908a5f612cec565b600580546001600160801b03928316600160801b029216919091179055611efa866118d2565b611f049082613a93565b600480546001600160801b03928316600160801b029216919091179055611f2a846118d2565b600280545f90611f449084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f71836118fb565b600480545f90611f85908490600f0b613ab3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fb5856118d2565b60028054601090611fd7908490600160801b90046001600160801b0316613a93565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612014846116268a888a6117b9565b90506120218884866117b9565b61202b90826137d2565b90508681111561203b5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120c557507f00000000000000000000000000000000000000000000000000000000000000006120c385836137e5565b105b156120d2576120d2612af4565b6004549084900390600f0b6120e78482613a0b565b9050836120f386611766565b13801561212857507f000000000000000000000000000000000000000000000000000000000000000061212683836118ad565b105b1561213557612135612af4565b600354600160801b90046001600160801b0316612176611b7682612161670de0b6b3a764000088613989565b6005546001600160801b031691908c5f612cec565b600580546001600160801b0319166001600160801b03929092169190911790556121a088826137e5565b90506121ab816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d1836118d2565b600280546001600160801b0319166001600160801b03929092169190911790556121fa826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612223876118d2565b60028054601090612245908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461228e90611b76906001600160801b0316848461285e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916122fc916001600160801b0316906137e5565b9050805f0361230f5760019150506113f7565b5f61231985612dc3565b9050805f0361232d576001925050506113f7565b5f8061233a838589612e5e565b915091508061234f575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161238a929190613ae0565b6040805180830381865af41580156123a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123c89190613b55565b915091506123e66123d882611766565b6123e190613b77565b612960565b9250826123fb575f96505050505050506113f7565b612404826118d2565b600780545f9061241e9084906001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061244b816118d2565b6007805460109061246d908490600160801b90046001600160801b03166139eb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124c88761162c565b6040518263ffffffff1660e01b81526004016124e49190613876565b6040805180830381865af41580156124fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125229190613b91565b915091508061253757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161259c916137d2565b6125a691906137e5565b9050805f036125bc57505f958695509350505050565b5f8087116125ca575f6125d5565b6125d58488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260657612606613bbf565b6040519080825280601f01601f191660200182016040528015612630576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612650578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267886611766565b6126829190613a0b565b90505f811215612698575f809250925050610d21565b946001945092505050565b5f805f6126b38888888888612fc6565b90505f6126dd670de0b6b3a76400006126cc8888612d86565b6126d691906137d2565b83906117d4565b9050670de0b6b3a764000081106127115761270a612703670de0b6b3a7640000896117d4565b8290612b0d565b9050612729565b612726612703670de0b6b3a764000089612d86565b90505b61273381866117d4565b90508881101561274a575f80935093505050612661565b97909703976001975095505050505050565b5f805f61276c8989888888612ff4565b90506127868661194661277f8a8d6137d2565b8790612046565b9850612793858a866117b9565b9850888110156127a9575f8092509250506115f6565b888103670de0b6b3a764000081106127d7576127d0612703670de0b6b3a764000089612d86565b90506127ef565b6127ec612703670de0b6b3a7640000896117d4565b90505b80891015612804575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612826898789613018565b909250905061283582896137e5565b97505f61284382888a6117b9565b905061284f818b6137e5565b9a989950979650505050505050565b5f8061286a845f61309d565b612874845f61309d565b61287e9190613a0b565b90505f8113156128995761289281866137d2565b94506128b7565b5f8112156128b7576128aa81613b77565b6128b490866137e5565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128e4575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612906610d28565b6129109190613989565b905080831161291f575f612929565b61292981846137e5565b915061008d6126d6670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613989565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3a9190613bd3565b935093509350935080612a5557505f98975050505050505050565b868414612a8657612a65846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab757612a96836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae557612ac7826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b245750670de0b6b3a76400006113f7565b825f03612b3257505f6113f7565b5f612b3c83611766565b90505f612b50612b4b86611766565b6130b2565b9050818102612b67670de0b6b3a764000082613c11565b9050612b72816132d7565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be39186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613469565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c3a84826134d4565b612be3576040516001600160a01b0384811660248301525f6044830152612c6e91869182169063095ea7b390606401612bb1565b612be38482613469565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f90602401602060405180830381865af4158015612cc8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613885565b5f825f03612cfb575084610075565b8115612d4d57612d2c612d0e84876137d2565b612d188587612046565b612d22888a612046565b61162691906137d2565b90505f612d398588611be0565b905080821015612d47578091505b50610075565b828503612d5b57505f610075565b610072612d6884876137e5565b612d7285876128c0565b612d7c888a612046565b61162691906137e5565b5f61008d83670de0b6b3a7640000846128d0565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612ddd906001600160801b031684612d86565b9050612e097f0000000000000000000000000000000000000000000000000000000000000000826137d2565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e549083906001600160801b03166137e5565b61008d91906137e5565b612e666136b9565b5f80612e718461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eab9190613876565b6040805180830381865af4158015612ec5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee99190613b91565b9350905082612efd57505f9150611a5f9050565b5f612f1e6115b884610160015185610140015161204690919063ffffffff16565b612f3e6115b88561012001518661010001516128c090919063ffffffff16565b612f489190613a0b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd18585612b0d565b612fea612fe286611946868b612046565b8590856117b9565b61007291906137d2565b5f612fff8585612b0d565b612fea61301086611946868b6128c0565b8590856128d0565b5f806130678561306185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613057818c612d86565b61306191906137e5565b906128c0565b9150613093827f0000000000000000000000000000000000000000000000000000000000000000612046565b9050935093915050565b5f8183136130ab578161008d565b5090919050565b5f8082136130d35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131569084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f057505f919050565b680755bf798b4a1bf1e58212613319576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f61347d6001600160a01b03841683613571565b905080515f141580156134a157508080602001905181019061349f9190613c3d565b155b156134cf57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134ef9190613c58565b5f604051808303815f865af19150503d805f8114613528576040519150601f19603f3d011682016040523d82523d5f602084013e61352d565b606091505b50915091508180156135575750805115806135575750808060200190518101906135579190613c3d565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135959190613c58565b5f6040518083038185875af1925050503d805f81146135cf576040519150601f19603f3d011682016040523d82523d5f602084013e6135d4565b606091505b5091509150612b728683836060826135f4576135ef8261363b565b61008d565b815115801561360b57506001600160a01b0384163b155b1561363457604051639996b31560e01b81526001600160a01b03851660048201526024016134c6565b508061008d565b80511561364b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136cd613664565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613727575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613759575f80fd5b61376588828901613703565b9150509295509295909350565b5f805f60608486031215613784575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137a8575f80fd5b6137b486828701613703565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137be565b818103818111156113f7576113f76137be565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137f8565b5f60208284031215613895575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c0575f80fd5b813561008d8161389c565b8015158114610c0a575f80fd5b5f602082840312156138e8575f80fd5b813561008d816138cb565b5f808335601e19843603018112613908575f80fd5b83018035915067ffffffffffffffff821115613922575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137be565b5f805f606084860312156139b2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137be565b6001600160801b038181168382160190808211156118cb576118cb6137be565b8181035f8312801583831316838312821617156118cb576118cb6137be565b5f60208284031215613a3a575f80fd5b815161008d8161389c565b8082018281125f831280158216821582161715613a6457613a646137be565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a8e57613a8e613a6c565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137be565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137be565b5f6102a082019050613af38285516137f8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b66575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b8b57613b8b6137be565b505f0390565b5f8060408385031215613ba2575f80fd5b825191506020830151613bb4816138cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613be6575f80fd5b8451935060208501519250604085015191506060850151613c06816138cb565b939692955090935050565b5f82613c1f57613c1f613a6c565b600160ff1b82145f1984141615613c3857613c386137be565b500590565b5f60208284031215613c4d575f80fd5b815161008d816138cb565b5f82515f5b81811015613c775760208186018101518583015201613c5d565b505f92019182525091905056fea2646970667358221220e9e7b92c845d4c4d4001de9ab66ae5c923e4e71869dcb6757b19414caa767bff64736f6c63430008160033a2646970667358221220257f1b68fb5ea41ebcdd23920b9581342c118bf8d0c71ae7f22cb8dde1026f5064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts deleted file mode 100644 index 01c362ec4..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts +++ /dev/null @@ -1,813 +0,0 @@ -export declare const AerodromeLpTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_gauge"; - readonly type: "address"; - readonly internalType: "contract IGauge"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts.map deleted file mode 100644 index ab114f2cc..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget4.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8+BqwzB,KAAK,MAAM,EAAE;;;;;;CAMhzzB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.js deleted file mode 100644 index e58548135..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4.js +++ /dev/null @@ -1,1013 +0,0 @@ -export const AerodromeLpTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_gauge", - "type": "address", - "internalType": "contract IGauge" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003388380380620033888339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f80620004085f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261238e01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122e00152612f805ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a0f565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a61565b6100b1565b005b610056610092366004612a0f565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a95565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612abd565b61016a60408c018c612ad8565b60405161017c96959493929190612b43565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b90565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a95565b88610ea4565b5f6102f56102ec6020870187612a95565b88848989610a9e565b90945090506103048188612bb7565b92505f61031083610f41565b5090506103206020870187612a95565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612abd565b8a888e80604001906103709190612ad8565b604051610384989796959493929190612bca565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a95565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c11565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bb7565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c11565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bb7565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c11565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c11565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c24565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c11565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bb7565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c24565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c64565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c83565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612c9e565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bb7565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d3c565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612db1565b91509150610d11610d038261156b565b610d0c90612dd3565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bb7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c11565b90915550505f838152600b602052604081208054839290610ef7908490612c11565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612ded565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dfc565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c11565b6110469190612bb7565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e2a565b5f6111038284612b90565b61110d9084612bb7565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bb7565b6112269190612e41565b85670de0b6b3a764000061123a878a612bb7565b6112449190612e41565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bb7565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c11565b909155506113d190508183612bb7565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e58565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bb7565b61151f9084612bb7565b925061153d565b6115308282612bb7565b61153a9084612c11565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e41565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612c9e565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e58565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c11565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bb7565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c64565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e41565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bb7565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e85565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612abd565b15611ad857611ad185611abf6020860186612a95565b611acc6040870187612ad8565b61225c565b9150611afb565b611afb85611ae96020860186612a95565b611af66040870187612ad8565b612309565b509392505050565b5f61110d8383670de0b6b3a7640000612322565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c11565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bb7565b61110d9190612bb7565b611bba612970565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612ded565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612dfc565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c64565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612e99565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129ba565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612345565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612345565b905292915050565b5f80611ff984846123b9565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123f4565b905081810261206c670de0b6b3a764000082612ed7565b905061207781612619565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c11565b6120ad8587611754565b6120b7888a611754565b61171c9190612c11565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bb7565b6121078587611b03565b612111888a611754565b61171c9190612bb7565b5f61110d83670de0b6b3a764000084612322565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127ab565b6121d6845f6127ab565b6121e09190612c64565b90505f8113156121fb576121f48186612c11565b9450612219565b5f8112156122195761220c81612dd3565b6122169086612bb7565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b506122199250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905085876127c0565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612336575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061235861040f565b6123629190612e41565b9050808311612371575f61237b565b61237b8184612bb7565b915061110d6123b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e41565b839061212f565b5f805f836123c68661156b565b6123d09190612c64565b90505f8112156123e6575f8092509250506123ed565b9150600190505b9250929050565b5f8082136124155760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124989084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263257505f919050565b680755bf798b4a1bf1e5821261265b576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127b9578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612812908490612817565b505050565b5f61282b6001600160a01b0384168361287d565b905080515f1415801561284f57508080602001905181019061284d9190612f03565b155b1561281257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128a19190612f1e565b5f6040518083038185875af1925050503d805f81146128db576040519150601f19603f3d011682016040523d82523d5f602084013e6128e0565b606091505b5091509150612077868383606082612900576128fb82612947565b61110d565b815115801561291757506001600160a01b0384163b155b1561294057604051639996b31560e01b81526001600160a01b0385166004820152602401612874565b508061110d565b8051156129575780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129846129ba565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a21575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a45575f80fd5b840160608187031215612a56575f80fd5b809150509250925092565b5f8060408385031215612a72575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aa5575f80fd5b813561110d81612a81565b80151581146103f5575f80fd5b5f60208284031215612acd575f80fd5b813561110d81612ab0565b5f808335601e19843603018112612aed575f80fd5b83018035915067ffffffffffffffff821115612b07575f80fd5b6020019150368190038213156123ed575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7060a083018486612b1b565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b9e57612b9e612b7c565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612ba3565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0360e083018486612b1b565b9a9950505050505050505050565b80820180821115610dc757610dc7612ba3565b6001600160701b0381811683821601908082111561200b5761200b612ba3565b6001600160801b0381811683821601908082111561200b5761200b612ba3565b8181035f83128015838313168383128216171561200b5761200b612ba3565b5f60208284031215612c93575f80fd5b815161110d81612a81565b6001600160801b0382811682821603908082111561200b5761200b612ba3565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d4f828551612cbe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dc2575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612de757612de7612ba3565b505f0390565b6101808101610dc78284612cbe565b5f8060408385031215612e0d575f80fd5b825191506020830151612e1f81612ab0565b809150509250929050565b5f60208284031215612e3a575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612ba3565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612ba3565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eac575f80fd5b8451935060208501519250604085015191506060850151612ecc81612ab0565b939692955090935050565b5f82612ee557612ee5612b7c565b600160ff1b82145f1984141615612efe57612efe612ba3565b500590565b5f60208284031215612f13575f80fd5b815161110d81612ab0565b5f82515f5b81811015612f3d5760208186018101518583015201612f23565b505f92019182525091905056fea26469706673582212207f8a80ab1cb14340506caba01813356ee6936a77d84cd4a622ab0d724812deba64736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts deleted file mode 100644 index 1e8661c6c..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const AerodromeLpTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=AerodromeLpTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts.map deleted file mode 100644 index f7da5e760..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AerodromeLpTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/AerodromeLpTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I6i5B,KAAK,MAAM,EAAE;;;;CAIhm5B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.js deleted file mode 100644 index 19e2a6b87..000000000 --- a/packages/hyperdrive-artifacts/dist/AerodromeLpTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const AerodromeLpTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506139038061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610298565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f6014835110156100b35760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964205f657874726144617461206c656e67746800000000000000604482015260640160405180910390fd5b5f838060200190518101906100c891906103ef565b604080513360208201529081018590529091506060016040516020818303038152906040528051906020012086868360405161010390610139565b61010f93929190610411565b8190604051809103905ff590508015801561012c573d5f803e3d5ffd5b509150505b949350505050565b6133888061054683390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561017e5761017e610146565b60405290565b6001600160a01b0381168114610198575f80fd5b50565b80356101a681610184565b919050565b5f608082840312156101bb575f80fd5b6040516080810181811067ffffffffffffffff821117156101de576101de610146565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f83011261021e575f80fd5b813567ffffffffffffffff8082111561023957610239610146565b604051601f8301601f19908116603f0116810190828211818310171561026157610261610146565b81604052838152866020858801011115610279575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c08112156102ad575f80fd5b610260808212156102bc575f80fd5b6102c461015a565b91506102cf8761019b565b82526102dd6020880161019b565b60208301526102ee6040880161019b565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061035781890161019b565b9083015261018061036988820161019b565b908301526101a061037b88820161019b565b908301526101c061038d88820161019b565b908301526101e06103a0898983016101ab565b81840152508195506103b381880161019b565b9450505061028085013567ffffffffffffffff8111156103d1575f80fd5b6103dd8782880161020f565b949793965093946102a0013593505050565b5f602082840312156103ff575f80fd5b815161040a81610184565b9392505050565b83516001600160a01b031681526102a08101602085015161043d60208401826001600160a01b03169052565b50604085015161045860408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516104ca828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261013156fe6102a060405234801562000011575f80fd5b5060405162003388380380620033888339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f80620004085f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261238e01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122e00152612f805ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a0f565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a61565b6100b1565b005b610056610092366004612a0f565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a95565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612abd565b61016a60408c018c612ad8565b60405161017c96959493929190612b43565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b90565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a95565b88610ea4565b5f6102f56102ec6020870187612a95565b88848989610a9e565b90945090506103048188612bb7565b92505f61031083610f41565b5090506103206020870187612a95565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612abd565b8a888e80604001906103709190612ad8565b604051610384989796959493929190612bca565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a95565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c11565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bb7565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c11565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bb7565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c11565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c11565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c24565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c11565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bb7565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c24565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c64565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c83565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612c9e565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bb7565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d3c565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612db1565b91509150610d11610d038261156b565b610d0c90612dd3565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bb7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c11565b90915550505f838152600b602052604081208054839290610ef7908490612c11565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612ded565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dfc565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c11565b6110469190612bb7565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e2a565b5f6111038284612b90565b61110d9084612bb7565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bb7565b6112269190612e41565b85670de0b6b3a764000061123a878a612bb7565b6112449190612e41565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bb7565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c11565b909155506113d190508183612bb7565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e58565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bb7565b61151f9084612bb7565b925061153d565b6115308282612bb7565b61153a9084612c11565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e41565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612c9e565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e58565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612c9e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c11565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bb7565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c64565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e41565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bb7565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c44565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e85565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612abd565b15611ad857611ad185611abf6020860186612a95565b611acc6040870187612ad8565b61225c565b9150611afb565b611afb85611ae96020860186612a95565b611af66040870187612ad8565b612309565b509392505050565b5f61110d8383670de0b6b3a7640000612322565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c11565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bb7565b61110d9190612bb7565b611bba612970565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612ded565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612dfc565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c64565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612e99565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129ba565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612345565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612345565b905292915050565b5f80611ff984846123b9565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123f4565b905081810261206c670de0b6b3a764000082612ed7565b905061207781612619565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c11565b6120ad8587611754565b6120b7888a611754565b61171c9190612c11565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bb7565b6121078587611b03565b612111888a611754565b61171c9190612bb7565b5f61110d83670de0b6b3a764000084612322565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127ab565b6121d6845f6127ab565b6121e09190612c64565b90505f8113156121fb576121f48186612c11565b9450612219565b5f8112156122195761220c81612dd3565b6122169086612bb7565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$2547229b0150c03f930e3c2db66c5de7b3$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b506122199250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905085876127c0565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612336575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061235861040f565b6123629190612e41565b9050808311612371575f61237b565b61237b8184612bb7565b915061110d6123b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e41565b839061212f565b5f805f836123c68661156b565b6123d09190612c64565b90505f8112156123e6575f8092509250506123ed565b9150600190505b9250929050565b5f8082136124155760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124989084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263257505f919050565b680755bf798b4a1bf1e5821261265b576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127b9578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612812908490612817565b505050565b5f61282b6001600160a01b0384168361287d565b905080515f1415801561284f57508080602001905181019061284d9190612f03565b155b1561281257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128a19190612f1e565b5f6040518083038185875af1925050503d805f81146128db576040519150601f19603f3d011682016040523d82523d5f602084013e6128e0565b606091505b5091509150612077868383606082612900576128fb82612947565b61110d565b815115801561291757506001600160a01b0384163b155b1561294057604051639996b31560e01b81526001600160a01b0385166004820152602401612874565b508061110d565b8051156129575780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129846129ba565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a21575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a45575f80fd5b840160608187031215612a56575f80fd5b809150509250925092565b5f8060408385031215612a72575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aa5575f80fd5b813561110d81612a81565b80151581146103f5575f80fd5b5f60208284031215612acd575f80fd5b813561110d81612ab0565b5f808335601e19843603018112612aed575f80fd5b83018035915067ffffffffffffffff821115612b07575f80fd5b6020019150368190038213156123ed575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7060a083018486612b1b565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b9e57612b9e612b7c565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612ba3565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0360e083018486612b1b565b9a9950505050505050505050565b80820180821115610dc757610dc7612ba3565b6001600160701b0381811683821601908082111561200b5761200b612ba3565b6001600160801b0381811683821601908082111561200b5761200b612ba3565b8181035f83128015838313168383128216171561200b5761200b612ba3565b5f60208284031215612c93575f80fd5b815161110d81612a81565b6001600160801b0382811682821603908082111561200b5761200b612ba3565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d4f828551612cbe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dc2575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612de757612de7612ba3565b505f0390565b6101808101610dc78284612cbe565b5f8060408385031215612e0d575f80fd5b825191506020830151612e1f81612ab0565b809150509250929050565b5f60208284031215612e3a575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612ba3565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612ba3565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eac575f80fd5b8451935060208501519250604085015191506060850151612ecc81612ab0565b939692955090935050565b5f82612ee557612ee5612b7c565b600160ff1b82145f1984141615612efe57612efe612ba3565b500590565b5f60208284031215612f13575f80fd5b815161110d81612ab0565b5f82515f5b81811015612f3d5760208186018101518583015201612f23565b505f92019182525091905056fea26469706673582212207f8a80ab1cb14340506caba01813356ee6936a77d84cd4a622ab0d724812deba64736f6c63430008160033a264697066735822122013ea66732a829af5f7dc801474f304ca4b4ec46b2d409da20c7a588471c245a064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/AssetId.d.ts b/packages/hyperdrive-artifacts/dist/AssetId.d.ts deleted file mode 100644 index 90d55c036..000000000 --- a/packages/hyperdrive-artifacts/dist/AssetId.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const AssetId: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=AssetId.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AssetId.d.ts.map b/packages/hyperdrive-artifacts/dist/AssetId.d.ts.map deleted file mode 100644 index b0350c390..000000000 --- a/packages/hyperdrive-artifacts/dist/AssetId.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AssetId.d.ts","sourceRoot":"","sources":["../src/AssetId.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/AssetId.js b/packages/hyperdrive-artifacts/dist/AssetId.js deleted file mode 100644 index b041094b7..000000000 --- a/packages/hyperdrive-artifacts/dist/AssetId.js +++ /dev/null @@ -1,5 +0,0 @@ -export const AssetId = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212204c4789ab1eea31e317c9f548dcc363eaa3d362e1e3655c907c855c2faf45539264736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Auth.d.ts b/packages/hyperdrive-artifacts/dist/Auth.d.ts deleted file mode 100644 index a8e6bd9de..000000000 --- a/packages/hyperdrive-artifacts/dist/Auth.d.ts +++ /dev/null @@ -1,81 +0,0 @@ -export declare const Auth: { - abi: readonly [{ - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "authority()": "bf7e214f"; - readonly "owner()": "8da5cb5b"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "transferOwnership(address)": "f2fde38b"; - }; -}; -//# sourceMappingURL=Auth.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Auth.d.ts.map b/packages/hyperdrive-artifacts/dist/Auth.d.ts.map deleted file mode 100644 index b49d703e1..000000000 --- a/packages/hyperdrive-artifacts/dist/Auth.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../src/Auth.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6FG,KAAK,MAAM,EAAE;;;;;;;CAOhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Auth.js b/packages/hyperdrive-artifacts/dist/Auth.js deleted file mode 100644 index 5c652579b..000000000 --- a/packages/hyperdrive-artifacts/dist/Auth.js +++ /dev/null @@ -1,101 +0,0 @@ -export const Auth = { - abi: [ - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "authority()": "bf7e214f", - "owner()": "8da5cb5b", - "setAuthority(address)": "7a9e5e4b", - "transferOwnership(address)": "f2fde38b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/Authority.d.ts b/packages/hyperdrive-artifacts/dist/Authority.d.ts deleted file mode 100644 index 502498234..000000000 --- a/packages/hyperdrive-artifacts/dist/Authority.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -export declare const Authority: { - abi: readonly [{ - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "canCall(address,address,bytes4)": "b7009613"; - }; -}; -//# sourceMappingURL=Authority.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Authority.d.ts.map b/packages/hyperdrive-artifacts/dist/Authority.d.ts.map deleted file mode 100644 index 5afb01dc7..000000000 --- a/packages/hyperdrive-artifacts/dist/Authority.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Authority.d.ts","sourceRoot":"","sources":["../src/Authority.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;cAgCF,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Authority.js b/packages/hyperdrive-artifacts/dist/Authority.js deleted file mode 100644 index 41eca4a3f..000000000 --- a/packages/hyperdrive-artifacts/dist/Authority.js +++ /dev/null @@ -1,37 +0,0 @@ -export const Authority = { - abi: [ - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "canCall(address,address,bytes4)": "b7009613" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts b/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts deleted file mode 100644 index 6ee1bb031..000000000 --- a/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const BalancerErrors: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=BalancerErrors.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts.map b/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts.map deleted file mode 100644 index 95bc42785..000000000 --- a/packages/hyperdrive-artifacts/dist/BalancerErrors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"BalancerErrors.d.ts","sourceRoot":"","sources":["../src/BalancerErrors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;cAEuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BalancerErrors.js b/packages/hyperdrive-artifacts/dist/BalancerErrors.js deleted file mode 100644 index fa6db2063..000000000 --- a/packages/hyperdrive-artifacts/dist/BalancerErrors.js +++ /dev/null @@ -1,5 +0,0 @@ -export const BalancerErrors = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212204c316e6374dd5a8d7f67db7bc23fe2768db5f652d3ddc0028c87072b085b5b5b64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts b/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts deleted file mode 100644 index 1ccfa2d80..000000000 --- a/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts +++ /dev/null @@ -1,196 +0,0 @@ -export declare const BorrowLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "Borrow"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "borrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Repay"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "repayer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "useATokens"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SwapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeBorrow(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteBorrowParams)": "1e6473f9"; - readonly "executeRebalanceStableBorrowRate(DataTypes.ReserveData storage,address,address)": "6973f744"; - readonly "executeRepay(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteRepayParams)": "40e95de6"; - readonly "executeSwapBorrowRateMode(DataTypes.ReserveData storage,DataTypes.UserConfigurationMap storage,address,address,DataTypes.InterestRateMode)": "2421c64e"; - }; -}; -//# sourceMappingURL=BorrowLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts.map deleted file mode 100644 index d5551280d..000000000 --- a/packages/hyperdrive-artifacts/dist/BorrowLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"BorrowLogic.d.ts","sourceRoot":"","sources":["../src/BorrowLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyO80kC,KAAK,MAAM,EAAE;;;;;;;CAOl3kC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BorrowLogic.js b/packages/hyperdrive-artifacts/dist/BorrowLogic.js deleted file mode 100644 index e1115406b..000000000 --- a/packages/hyperdrive-artifacts/dist/BorrowLogic.js +++ /dev/null @@ -1,241 +0,0 @@ -export const BorrowLogic = { - abi: [ - { - "type": "event", - "name": "Borrow", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "borrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RebalanceStableBorrowRate", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Repay", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "repayer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "useATokens", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SwapBorrowRateMode", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - } - ], - "anonymous": false - } - ], - bytecode: '0x614474610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c80631e6473f9146100595780632421c64e1461007a57806340e95de6146100995780636973f744146100ca575b5f80fd5b818015610064575f80fd5b50610078610073366004613d5d565b6100e9565b005b818015610085575f80fd5b50610078610094366004613e76565b6105ed565b8180156100a4575f80fd5b506100b86100b3366004613ec9565b6108bf565b60405190815260200160405180910390f35b8180156100d5575f80fd5b506100786100e4366004613f8c565b610dae565b80516001600160a01b03165f9081526020869052604081209061010b82610f96565b90506101178282611161565b6040805160208101909152845481525f9081908190610137908b8b6111b9565b9250925092506102248a8a8a604051806101c001604052808981526020018c6040518060200160405290815f8201548152505081526020018b5f01516001600160a01b031681526020018b604001516001600160a01b031681526020018b6060015181526020018b6080015160028111156101b4576101b4613fc5565b81526020018b60e0015181526020018b610100015181526020018b61012001516001600160a01b031681526020018b610140015160ff1681526020018b61016001516001600160a01b031681526020018815158152602001876001600160a01b031681526020018681525061125f565b5f8060018860800151600281111561023e5761023e613fc5565b036102eb57600387015461020087015160208a01516040808c015160608d0151915163b3f1c93d60e01b81526001600160801b0390951696506001600160a01b039093169363b3f1c93d9361029a939290918890600401613fd9565b6060604051808303815f875af11580156102b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102da9190614002565b60a089015260c0880152905061037a565b8561022001516001600160a01b031663b3f1c93d89602001518a604001518b606001518a61014001516040518563ffffffff1660e01b81526004016103339493929190613fd9565b60408051808303815f875af115801561034e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103729190614036565b602088015290505b801561039d57600387015461039d908a90600160a81b900461ffff166001611e23565b8415610488576101c0860151515f906103e29060029060301c60ff166103c39190614076565b6103ce90600a614169565b8a606001516103dd9190614188565b611e83565b6001600160a01b0386165f90815260208f90526040812060090180549091906104159084906001600160801b03166141a7565b92506101000a8154816001600160801b0302191690836001600160801b0316021790556001600160801b03169050846001600160a01b03167faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a58260405161047e91815260200190565b60405180910390a2505b6104b086895f01515f8b60c001516104a0575f6104a6565b8b606001515b8b93929190611eef565b8760c0015115610529576101e0860151602089015160608a0151604051634efecaa560e01b81526001600160a01b0392831660048201526024810191909152911690634efecaa5906044015f604051808303815f87803b158015610512575f80fd5b505af1158015610524573d5f803e3d5ffd5b505050505b8760a0015161ffff1688604001516001600160a01b0316895f01516001600160a01b03167fb3d084820fb1a9decffb176436bd02558d15fac9b0ddfed8c465bc7359d7dce08b602001518c606001518d608001516001600281111561059057610590613fc5565b8f6080015160028111156105a6576105a6613fc5565b146105c55760028e0154600160801b90046001600160801b03166105c7565b885b6040516105d794939291906141ee565b60405180910390a4505050505050505050505050565b5f6105f786610f96565b90506106038682611161565b5f8061060f858461220a565b915091506106218884898585896122f6565b600184600281111561063557610635613fc5565b0361074257610200830151604051632770a7eb60e21b81526001600160a01b0387811660048301526024820185905290911690639dc29fac9060440160408051808303815f875af115801561068c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b09190614221565b60a085015260c084015261022083015161014084015160405163b3f1c93d60e01b81526001600160a01b039092169163b3f1c93d916106f89189918291889190600401613fd9565b60408051808303815f875af1158015610713573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107379190614036565b60208501525061085d565b610220830151610140840151604051637a94c56560e11b81526001600160a01b03888116600483015260248201859052604482019290925291169063f5298aca906064016020604051808303815f875af11580156107a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c69190614243565b6020840152610200830151600389015460405163b3f1c93d60e01b81526001600160a01b039092169163b3f1c93d91610811918991829187916001600160801b03169060040161425a565b6060604051808303815f875af115801561082d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108519190614002565b60a086015260c0850152505b61086a8884885f80611eef565b846001600160a01b0316866001600160a01b03167f7962b394d85a534033ba2efcf43cd36de57b7ebeb3de0ca4428965d9b3ddc481866040516108ad919061428b565b60405180910390a35050505050505050565b80516001600160a01b03165f908152602085905260408120816108e182610f96565b90506108ed8282611161565b5f806108fd86606001518461220a565b9150915061091b838760200151886040015189606001518686612591565b5f60018760400151600281111561093457610934613fc5565b1461093f5781610941565b825b90508660800151801561095857505f198760200151145b156109d0576101e08401516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156109a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ca9190614243565b60208801525b80876020015110156109e3575060208601515b6001876040015160028111156109fb576109fb613fc5565b03610a89576102008401516060880151604051632770a7eb60e21b81526001600160a01b03918216600482015260248101849052911690639dc29fac9060440160408051808303815f875af1158015610a56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7a9190614221565b60a086015260c0850152610b18565b6102208401516060880151610140860151604051637a94c56560e11b81526001600160a01b03928316600482015260248101859052604481019190915291169063f5298aca906064016020604051808303815f875af1158015610aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b129190614243565b60208501525b610b3b84885f01518960800151610b2f5783610b31565b5f5b889291905f611eef565b80610b468385614299565b610b509190614076565b5f03610b72576003850154610b72908990600160a81b900461ffff165f611e23565b610b7f8a8a8a8785612725565b866080015115610cbc576101e0840151610100850151604051636b81068560e11b81526001600160a01b0383169263d7020d0a92610bc4923392918791600401613fd9565b5f604051808303815f87803b158015610bdb575f80fd5b505af1158015610bed573d5f803e3d5ffd5b5050506101e0850151604051630ed1279f60e11b81523360048201526001600160a01b039091169150631da24f3e90602401602060405180830381865afa158015610c3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5e9190614243565b5f03610cb7576003850154610c80908990600160a81b900461ffff165f6128a7565b865160405133916001600160a01b0316907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd905f90a35b610d4b565b6101e08401518751610cdc916001600160a01b03909116903390846128fb565b6101e084015160608801516040516337ecbb3b60e11b81523360048201526001600160a01b03918216602482015260448101849052911690636fd97676906064015f604051808303815f87803b158015610d34575f80fd5b505af1158015610d46573d5f803e3d5ffd5b505050505b60608701518751608089015160408051858152911515602083015233936001600160a01b039081169316917fa534c8dbe71f871f9f3530e97a74601fea17b426cae02e1c5aee42c96c784051910160405180910390a49998505050505050505050565b5f610db884610f96565b9050610dc48482611161565b610dcf848285612993565b6102008101516040516370a0823160e01b81526001600160a01b0384811660048301525f91908316906370a0823190602401602060405180830381865afa158015610e1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e409190614243565b604051632770a7eb60e21b81526001600160a01b0386811660048301526024820183905291925090831690639dc29fac9060440160408051808303815f875af1158015610e8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb39190614221565b5050600386015460405163b3f1c93d60e01b81526001600160a01b0384169163b3f1c93d91610ef6918891829187916001600160801b039091169060040161425a565b6060604051808303815f875af1158015610f12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f369190614002565b60a086015260c085015250610f4e8684875f80611eef565b836001600160a01b0316856001600160a01b03167f9f439ae0c81e41a04d3fdfe07aed54e6a179fb0db15be7702eb66fa8ef6f530060405160405180910390a3505050505050565b610f9e613c25565b610fa6613c25565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa158015611095573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b99190614243565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa15801561110a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112e91906142ac565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b9092041603611181575050565b61118b8282612c50565b6111958282612d2d565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f805f6111c586612e8d565b1561124d575f6111f5877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa612ed3565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff1690508015611249576001955090935091506112569050565b5050505b505f9150819050805b93509350939050565b6080810151604080518082019091526002815261191b60f11b6020820152906112a45760405162461bcd60e51b815260040161129b91906142f3565b60405180910390fd5b5061134b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581526020015f151581525090565b81516101c0015161135b90612f02565b15156102008601521515610240850152151561022084015215156101e083015215156101c08201819052604080518082019091526002815261323760f01b6020820152906113bc5760405162461bcd60e51b815260040161129b91906142f3565b508061020001511560405180604001604052806002815260200161323960f01b815250906113fd5760405162461bcd60e51b815260040161129b91906142f3565b50806101e001511560405180604001604052806002815260200161064760f31b8152509061143e5760405162461bcd60e51b815260040161129b91906142f3565b5080610220015160405180604001604052806002815260200161033360f41b8152509061147e5760405162461bcd60e51b815260040161129b91906142f3565b5081516101c0015151600160fc1b16158061150457508160800151825f01516101e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115019190614243565b10155b60405180604001604052806002815260200161191b60f11b8152509061153d5760405162461bcd60e51b815260040161129b91906142f3565b506101408201516001600160a01b031615806115b957508161014001516001600160a01b03166349aa2e816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611595573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115b9919061433f565b60405180604001604052806002815260200161353960f01b815250906115f25760405162461bcd60e51b815260040161129b91906142f3565b5060028260a00151600281111561160b5761160b613fc5565b148061162c575060018260a00151600281111561162a5761162a613fc5565b145b60405180604001604052806002815260200161333360f01b815250906116655760405162461bcd60e51b815260040161129b91906142f3565b5081516101c001515160301c60ff1661010082015281516101c001515160501c640fffffffff166101208201819052610100820151600a0a6101608301521561173357815161014081015190516116bb91612f4a565b60e0820181905260808084015184519091015190916116d991614299565b6116e39190614299565b60c08201819052610160820151610120830151604080518082019091526002815261035360f41b602082015292910210156117315760405162461bcd60e51b815260040161129b91906142f3565b505b8161016001511561183a5781516101c001515167200000000000000016151560405180604001604052806002815260200161036360f41b8152509061178b5760405162461bcd60e51b815260040161129b91906142f3565b50816101a001516117c160028361010001516117a79190614076565b6117b290600a614169565b84608001516103dd9190614188565b6101808401516001600160a01b03165f908152602088905260409020600901546117f491906001600160801b03166141a7565b6001600160801b0316111560405180604001604052806002815260200161353360f01b815250906118385760405162461bcd60e51b815260040161129b91906142f3565b505b61012082015160ff16156118cf5761012082015182516101c001515160ff9182169160a89190911c16146040518060400160405280600281526020016106a760f31b8152509061189d5760405162461bcd60e51b815260040161129b91906142f3565b5061012082015160ff165f90815260208490526040902054660100000000000090046001600160a01b03166101808201525b61192c8585856040518060a00160405280876020015181526020018760e00151815260200187606001516001600160a01b031681526020018761010001516001600160a01b0316815260200187610120015160ff16815250612f8c565b5060a086015250835260608301526040808301829052805180820190915260028152610ccd60f21b6020820152906119775760405162461bcd60e51b815260040161129b91906142f3565b508051604080518082019091526002815261353760f01b6020820152906119b15760405162461bcd60e51b815260040161129b91906142f3565b50670de0b6b3a76400008160a001511160405180604001604052806002815260200161333560f01b815250906119fa5760405162461bcd60e51b815260040161129b91906142f3565b5060808201516101008301516101808301516001600160a01b039182169163b3596f079116611a2d578460400151611a34565b8361018001515b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611a76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9a9190614243565b611aa4919061435a565b610140820181815261016083015191829081611ac257611ac2614174565b0490525080516101408201516060830151611ae79291611ae191614299565b9061344e565b602080830182905260408084015181518083019092526002825261199b60f11b92820192909252911115611b2e5760405162461bcd60e51b815260040161129b91906142f3565b5060018260a001516002811115611b4757611b47613fc5565b03611d1e5780610240015160405180604001604052806002815260200161333160f01b81525090611b8b5760405162461bcd60e51b815260040161129b91906142f3565b506040828101516001600160a01b03165f90815260208781529190206003015490830151611bc391600160a81b900461ffff16613477565b1580611bd8575081516101c001515161ffff16155b80611c59575081516101e0015160608301516040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015611c2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c529190614243565b8260800151115b60405180604001604052806002815260200161333760f01b81525090611c925760405162461bcd60e51b815260040161129b91906142f3565b506040828101516001600160a01b03165f908152602087905290812060090154600160801b90046001600160801b03166080830181905260c0840151611cd891906134c5565b9050808360800151111560405180604001604052806002815260200161066760f31b81525090611d1b5760405162461bcd60e51b815260040161129b91906142f3565b50505b6020820151517f55555555555555555555555555555555555555555555555555555555555555551615611e1c576020820151611d5b9086866134e9565b6001600160a01b03166101a0830152158015610260830152611dd45781604001516001600160a01b0316816101a001516001600160a01b03161460405180604001604052806002815260200161383960f01b81525090611dce5760405162461bcd60e51b815260040161129b91906142f3565b50611e1c565b81516101c0015151604080518082019091526002815261383960f01b6020820152906001603e1b1615611e1a5760405162461bcd60e51b815260040161129b91906142f3565b505b5050505050565b6040805180820190915260028152610dcd60f21b602082015260808310611e5d5760405162461bcd60e51b815260040161129b91906142f3565b50600182811b1b8115611e7557835481178455611e7d565b835481191684555b50505050565b5f6001600160801b03821115611eeb5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161129b565b5090565b611f1660405180608001604052805f81526020015f81526020015f81526020015f81525090565b6101408501516020860151611f2a91612f4a565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e91611ff191600401614371565b606060405180830381865afa15801561200c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203091906143f3565b6040840152602083015280825261204690611e83565b6001870180546001600160801b03928316600160801b029216919091179055602081015161207390611e83565b6003870180546001600160801b0319166001600160801b039290921691909117905560408101516120a390611e83565b6002870180546001600160801b03928316600160801b0292169190911790556040805160208101909152865481526120e19051600160fc1b16151590565b1561219657821561213e576120f583611e83565b600987018054601090612119908490600160801b90046001600160801b03166141a7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b81156121965761214d82611e83565b600987018054601090612171908490600160801b90046001600160801b031661441e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6102008101516040516370a0823160e01b81526001600160a01b0384811660048301525f9283929116906370a0823190602401602060405180830381865afa158015612258573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061227c9190614243565b6102208401516040516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa1580156122c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122eb9190614243565b915091509250929050565b5f805f612307886101c00151612f02565b94509450505092508260405180604001604052806002815260200161323760f01b815250906123495760405162461bcd60e51b815260040161129b91906142f3565b50604080518082019091526002815261323960f01b602082015281156123825760405162461bcd60e51b815260040161129b91906142f3565b50600184600281111561239757612397613fc5565b036123d957604080518082019091526002815261343160f01b6020820152866123d35760405162461bcd60e51b815260040161129b91906142f3565b50612586565b60028460028111156123ed576123ed613fc5565b03612556576040805180820190915260028152611a1960f11b6020820152856124295760405162461bcd60e51b815260040161129b91906142f3565b50604080518082019091526002815261333160f01b6020820152826124615760405162461bcd60e51b815260040161129b91906142f3565b50600389015460408051602081019091528854815261248a91600160a81b900461ffff16613477565b158061249e57506101c08801515161ffff16155b8061251d57506101e08801516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156124ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125119190614243565b61251b8688614299565b115b60405180604001604052806002815260200161333760f01b815250906123d35760405162461bcd60e51b815260040161129b91906142f3565b6040805180820182526002815261333360f01b6020820152905162461bcd60e51b815261129b91906004016142f3565b505050505050505050565b604080518082019091526002815261191b60f11b6020820152856125c85760405162461bcd60e51b815260040161129b91906142f3565b505f19851415806125e15750336001600160a01b038416145b60405180604001604052806002815260200161034360f41b8152509061261a5760405162461bcd60e51b815260040161129b91906142f3565b505f8061262b886101c00151612f02565b945050505091508160405180604001604052806002815260200161323760f01b8152509061266c5760405162461bcd60e51b815260040161129b91906142f3565b50604080518082019091526002815261323960f01b602082015281156126a55760405162461bcd60e51b815260040161129b91906142f3565b5083158015906126c6575060018660028111156126c4576126c4613fc5565b145b806126ec575082158015906126ec575060028660028111156126ea576126ea613fc5565b145b60405180604001604052806002815260200161333960f01b815250906125865760405162461bcd60e51b815260040161129b91906142f3565b6040805160208101909152835481525f9081906127439088886111b9565b5091509150811561289e576001600160a01b0381165f908152602088905260408120600901546101c0860151516001600160801b0390911691906127a99060029060301c60ff166127949190614076565b61279f90600a614169565b6103dd9087614188565b9050806001600160801b0316826001600160801b031611612821576001600160a01b0383165f81815260208b8152604080832060090180546001600160801b0319169055519182527faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a2612586565b5f61282c828461441e565b6001600160a01b0385165f81815260208d815260409182902060090180546001600160801b0319166001600160801b03959095169485179055905183815292935090917faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a25050505b50505050505050565b6040805180820190915260028152610dcd60f21b6020820152608083106128e15760405162461bcd60e51b815260040161129b91906142f3565b50600182811b81011b8115611e7557835481178455611e7d565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af161293d573d5f803e3d5ffd5b5061294785613580565b611e1c5760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d00000000000000604482015260640161129b565b5f806129a3846101c00151612f02565b945050505091508160405180604001604052806002815260200161323760f01b815250906129e45760405162461bcd60e51b815260040161129b91906142f3565b50604080518082019091526002815261323960f01b60208201528115612a1d5760405162461bcd60e51b815260040161129b91906142f3565b505f8461022001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a849190614243565b8561020001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ac5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ae99190614243565b612af39190614299565b6007870154604080516101408101825260088a01546001600160801b03600160801b91829004811683525f6020808501829052848601829052606085018290526080850188905260a085018290526101a08d015160c08601526001600160a01b038c811660e0870152865191820187528e5491829052600160fc1b909116151561010086015260098e0154939093049091166101208401529251637b424dcf60e11b81529495509193919092169163f6849b9e91612bb49190600401614371565b606060405180830381865afa158015612bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf391906143f3565b50909150612c059050816123286134c5565b8661016001511115604051806040016040528060028152602001610d0d60f21b81525090612c465760405162461bcd60e51b815260040161129b91906142f3565b5050505050505050565b61016081015115612cbe575f612c70826101600151836102400151613623565b9050612c898260e0015182612f4a90919063ffffffff16565b6101008301819052612c9a90611e83565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115612d29575f612cda826101800151836102400151613667565b9050612cf482610120015182612f4a90919063ffffffff16565b6101408301819052612d0590611e83565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b612d606040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03612d7157505050565b6101208201518251612d8291612f4a565b60208201526101408201518251612d9891612f4a565b60408201526060820151610260830151610240840151612dc092919064ffffffffff1661366f565b606082018190526040830151612dd591612f4a565b808252602082015160808401516040840151612df19190614299565b612dfb9190614076565b612e059190614076565b608082018190526101a0830151612e1c91906134c5565b60a0820181905215612e8857612e476103dd8361010001518360a0015161379490919063ffffffff16565b6008840180545f90612e639084906001600160801b03166141a7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa168015801590612ecc5750612ec8600182614076565b8116155b9392505050565b81515f9082165f198101198116825b60029190911c908115612ef757600101612ee2565b925050505b92915050565b51670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000821615159167100000000000000016151590565b5f81156b019d971e4fe8401e740000001983900484111517612f6a575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b5f805f805f80612f9e875f0151511590565b15612fba57505f94508493508392508291505f19905081613441565b6130496040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff161561308d57608088015160ff165f90815260208a905260409020606089015161307a91906137d1565b6101808401526101c08301526101a08201525b87602001518160c0015110156133665760c081015188516130ad9161387a565b6130c15760c081018051600101905261308d565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526130f95760c081018051600101905261308d565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906131815750816101e00151896080015160ff16145b6131fd57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa1580156131d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131f89190614243565b613204565b8161018001515b825260a082015115801590613224575060c0820151895161322491613477565b1561331357613240896040015182845f015185602001516138c9565b6040830181905261010083018051613259908390614299565b90525060808901516101e08301516132749160ff169061397e565b15156102408301526080820151156132ca5781610240015161329a5781608001516132a1565b816101a001515b82604001516132b0919061435a565b82610140018181516132c29190614299565b9052506132d3565b60016102208301525b8161024001516132e7578160a001516132ee565b816101c001515b82604001516132fd919061435a565b826101600181815161330f9190614299565b9052505b60c082015189516133239161398e565b156133555761333f896040015182845f015185602001516139da565b82610120018181516133519190614299565b9052505b5060c081018051600101905261308d565b8061010001515f03613378575f613393565b8061010001518161014001518161339157613391614174565b045b6101408201526101008101515f036133ab575f6133c6565b806101000151816101600151816133c4576133c4614174565b045b61016082015261012081015115613408576134038161012001516133fd8361016001518461010001516134c590919063ffffffff16565b90613b09565b61340b565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b5f811561271060028404190484111715613466575f80fd5b506127109190910260028204010490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106134b35760405162461bcd60e51b815260040161129b91906142f3565b50509051600191821b82011c16151590565b5f811561138819839004841115176134db575f80fd5b506127109102611388010490565b5f806134f485613b3e565b15613572575f613524867f5555555555555555555555555555555555555555555555555555555555555555612ed3565b5f81815260208681526040808320546001600160a01b03168084528983529281902081519283019091525490819052919250906001603e1b161561356f576001935091506135789050565b50505b505f9050805b935093915050565b5f6135a2565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d80156135e15760208114613612576135dc7f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f613586565b61361d565b823b613609576136097311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014613586565b6001915061361d565b3d5f803e5f51151591505b50919050565b5f8061363664ffffffffff841642614076565b613640908561435a565b6301e133809004905061365f816b033b2e3c9fd0803ce8000000614299565b949350505050565b5f612ecc8383425b5f8061368264ffffffffff851684614076565b9050805f036136a0576b033b2e3c9fd0803ce8000000915050612ecc565b5f1981015f8080600285116136b5575f6136ba565b600285035b925066038882915c40006136ce8a80612f4a565b816136db576136db614174565b0491506301e133806136ed838b612f4a565b816136fa576136fa614174565b0490505f82613709868861435a565b613713919061435a565b6002900490505f8285613726888a61435a565b613730919061435a565b61373a919061435a565b60069004905080826301e133806137518a8f61435a565b61375b9190614188565b613771906b033b2e3c9fd0803ce8000000614299565b61377b9190614299565b6137859190614299565b9b9a5050505050505050505050565b5f81156b033b2e3c9fd0803ce8000000600284041904841117156137b6575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b81545f90819081908190660100000000000090046001600160a01b0316801561385f5760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa158015613838573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061385c9190614243565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106138b65760405162461bcd60e51b815260040161129b91906142f3565b5050905160019190911b1c600316151590565b5f806138d485613b79565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f928792613957928692911690631da24f3e90602401602060405180830381865afa15801561392d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139519190614243565b90612f4a565b613961919061435a565b905083818161397257613972614174565b04979650505050505050565b5f8215801590612ecc5750501490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106139ca5760405162461bcd60e51b815260040161129b91906142f3565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa158015613a27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a4b9190614243565b90508015613a6957613a66613a5f86613bcf565b8290612f4a565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa158015613ab3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ad79190614243565b613ae19082614299565b9050613aed818561435a565b9050828181613afe57613afe614174565b049695505050505050565b5f8115670de0b6b3a764000060028404190484111715613b27575f80fd5b50670de0b6b3a76400009190910260028204010490565b80515f907f5555555555555555555555555555555555555555555555555555555555555555168015801590612ecc5750612ec8600182614076565b60038101545f90600160801b900464ffffffffff16428103613ba7575050600101546001600160801b031690565b6001830154612ecc906001600160801b038082169161395191600160801b9091041684613623565b60038101545f90600160801b900464ffffffffff16428103613bfd575050600201546001600160801b031690565b6002830154612ecc906001600160801b038082169161395191600160801b9091041684613667565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001613c9a60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b604051610180810167ffffffffffffffff81118282101715613cf257634e487b7160e01b5f52604160045260245ffd5b60405290565b80356001600160a01b0381168114613d0e575f80fd5b919050565b803560038110613d0e575f80fd5b803561ffff81168114613d0e575f80fd5b8015158114613d3f575f80fd5b50565b8035613d0e81613d32565b803560ff81168114613d0e575f80fd5b5f805f805f858703610200811215613d73575f80fd5b8635955060208701359450604087013593506060870135925061018080607f1983011215613d9f575f80fd5b613da7613cc2565b9150613db560808901613cf8565b8252613dc360a08901613cf8565b6020830152613dd460c08901613cf8565b604083015260e08801356060830152610100613df1818a01613d13565b6080840152610120613e04818b01613d21565b60a0850152610140613e17818c01613d42565b60c0860152610160808c013560e0870152848c013584870152613e3d6101a08d01613cf8565b83870152613e4e6101c08d01613d4d565b82870152613e5f6101e08d01613cf8565b818701525050505050809150509295509295909350565b5f805f805f60a08688031215613e8a575f80fd5b8535945060208601359350613ea160408701613cf8565b9250613eaf60608701613cf8565b9150613ebd60808701613d13565b90509295509295909350565b5f805f80848603610100811215613ede575f80fd5b85359450602086013593506040860135925060a0605f1982011215613f01575f80fd5b5060405160a0810181811067ffffffffffffffff82111715613f3157634e487b7160e01b5f52604160045260245ffd5b604052613f4060608701613cf8565b815260808601356020820152613f5860a08701613d13565b6040820152613f6960c08701613cf8565b606082015260e0860135613f7c81613d32565b6080820152939692955090935050565b5f805f60608486031215613f9e575f80fd5b83359250613fae60208501613cf8565b9150613fbc60408501613cf8565b90509250925092565b634e487b7160e01b5f52602160045260245ffd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b5f805f60608486031215614014575f80fd5b835161401f81613d32565b602085015160409095015190969495509392505050565b5f8060408385031215614047575f80fd5b825161405281613d32565b6020939093015192949293505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115612efc57612efc614062565b600181815b808511156140c357815f19048211156140a9576140a9614062565b808516156140b657918102915b93841c939080029061408e565b509250929050565b5f826140d957506001612efc565b816140e557505f612efc565b81600181146140fb576002811461410557614121565b6001915050612efc565b60ff84111561411657614116614062565b50506001821b612efc565b5060208310610133831016604e8410600b8410161715614144575081810a612efc565b61414e8383614089565b805f190482111561416157614161614062565b029392505050565b5f612ecc83836140cb565b634e487b7160e01b5f52601260045260245ffd5b5f826141a257634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160801b038181168382160190808211156141c7576141c7614062565b5092915050565b600381106141ea57634e487b7160e01b5f52602160045260245ffd5b9052565b6001600160a01b0385168152602081018490526080810161421260408301856141ce565b82606083015295945050505050565b5f8060408385031215614232575f80fd5b505080516020909101519092909150565b5f60208284031215614253575f80fd5b5051919050565b6001600160a01b03948516815292909316602083015260408201526001600160801b03909116606082015260800190565b60208101612efc82846141ce565b80820180821115612efc57612efc614062565b5f805f80608085870312156142bf575f80fd5b845193506020850151925060408501519150606085015164ffffffffff811681146142e8575f80fd5b939692955090935050565b5f602080835283518060208501525f5b8181101561431f57858101830151858201604001528201614303565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561434f575f80fd5b8151612ecc81613d32565b8082028115828204841417612efc57612efc614062565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e08301516143d360e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215614405575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b038281168282160390808211156141c7576141c761406256fea264697066735822122059e544468935c3dbe4f4bb7656afd2cccc2f3824bfefdb49fba6b4635bf6f7d964736f6c63430008160033', - methodIdentifiers: { - "executeBorrow(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteBorrowParams)": "1e6473f9", - "executeRebalanceStableBorrowRate(DataTypes.ReserveData storage,address,address)": "6973f744", - "executeRepay(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteRepayParams)": "40e95de6", - "executeSwapBorrowRateMode(DataTypes.ReserveData storage,DataTypes.UserConfigurationMap storage,address,address,DataTypes.InterestRateMode)": "2421c64e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts b/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts deleted file mode 100644 index 3603261ee..000000000 --- a/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts +++ /dev/null @@ -1,114 +0,0 @@ -export declare const BridgeLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "BackUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "backer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeBackUnbacked(DataTypes.ReserveData storage,address,uint256,uint256,uint256)": "8e743248"; - readonly "executeMintUnbacked(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,address,uint256,address,uint16)": "0413c86f"; - }; -}; -//# sourceMappingURL=BridgeLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts.map deleted file mode 100644 index d335b3183..000000000 --- a/packages/hyperdrive-artifacts/dist/BridgeLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"BridgeLogic.d.ts","sourceRoot":"","sources":["../src/BridgeLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqIggd,KAAK,MAAM,EAAE;;;;;CAKpid,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/BridgeLogic.js b/packages/hyperdrive-artifacts/dist/BridgeLogic.js deleted file mode 100644 index 0f9f2566f..000000000 --- a/packages/hyperdrive-artifacts/dist/BridgeLogic.js +++ /dev/null @@ -1,139 +0,0 @@ -export const BridgeLogic = { - abi: [ - { - "type": "event", - "name": "BackUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "backer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x611ccd610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80630413c86f146100435780638e74324814610064575b5f80fd5b81801561004e575f80fd5b5061006261005d366004611899565b610095565b005b81801561006f575f80fd5b5061008361007e36600461190c565b61031b565b60405190815260200160405180910390f35b6001600160a01b0384165f908152602088905260408120906100b68261056a565b90506100c28282610735565b6100ce8183878761078d565b6101c08101515160b081901c640fffffffff169060301c60ff165f6100f288610a4e565b600886018054601090610116908490600160801b90046001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b0316021790556001600160801b0316905081600a6101519190611a6b565b61015b9084611a76565b811115604051806040016040528060028152602001611a9960f11b815250906101a05760405162461bcd60e51b81526004016101979190611a8d565b60405180910390fd5b506101ae85858b5f80610aba565b6101e084015161010085015160405163b3f1c93d60e01b81523360048201526001600160a01b038a81166024830152604482018c905260648201929092525f92919091169063b3f1c93d906084016020604051808303815f875af1158015610218573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023c9190611ad9565b905080156102bd5761025b8d8d8d886101c00151896101e00151610dd5565b156102bd57600386015461027d908c90600160a81b900461ffff166001610fbd565b876001600160a01b03168a6001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b60408051338152602081018b905261ffff8916916001600160a01b03808c1692908e16917ff25af37b3d3ec226063dc9bdc103ece7eb110a50f340fe854bb7bc1b0676d7d0910160405180910390a450505050505050505050505050565b5f806103268761056a565b90506103328782610735565b60088701545f90600160801b90046001600160801b03168610610369576008880154600160801b90046001600160801b031661036b565b855b90505f610378868661101f565b90505f6103858288611af8565b90505f6103928885611b0b565b61010086015160088d0154919250610430916103b9916001600160801b0390911690611043565b866101e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041e9190611b1e565b6104289190611b0b565b8c9084611084565b610100860181905261044c906104479085906110f8565b610a4e565b60088c0180545f906104689084906001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061049584610a4e565b60088c0180546010906104b9908490600160801b90046001600160801b0316611b35565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506104f6858b835f8f610aba90949392919063ffffffff16565b6101e0850151610513906001600160a01b038c1690339084611133565b60408051858152602081018a905233916001600160a01b038d16917f281596e92b2d974beb7d4f124df30a0b39067b096893e95011ce4bdad798b759910160405180910390a3509193505050505b95945050505050565b6105726117e5565b61057a6117e5565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa158015610669573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068d9190611b1e565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa1580156106de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107029190611b55565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b9092041603610755575050565b61075f82826111d2565b61076982826112af565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b604080518082019091526002815261191b60f11b6020820152826107c45760405162461bcd60e51b81526004016101979190611a8d565b505f805f610819876101c0015151670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000821615159167100000000000000016151590565b94505050925092508260405180604001604052806002815260200161323760f01b8152509061085b5760405162461bcd60e51b81526004016101979190611a8d565b50604080518082019091526002815261323960f01b602082015281156108945760405162461bcd60e51b81526004016101979190611a8d565b50604080518082019091526002815261064760f31b602082015282156108cd5760405162461bcd60e51b81526004016101979190611a8d565b50866101e001516001600160a01b0316846001600160a01b03161415604051806040016040528060028152602001610e4d60f21b815250906109225760405162461bcd60e51b81526004016101979190611a8d565b506101c08701515160741c640fffffffff16801580610a0a57506101c08801515160301c60ff1661095490600a611a6b565b61095e9082611a76565b866109fd8a61010001518a6008015f9054906101000a90046001600160801b03166001600160801b03168c6101e001516001600160a01b031663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ed9190611b1e565b6109f79190611b0b565b90611043565b610a079190611b0b565b11155b60405180604001604052806002815260200161353160f01b81525090610a435760405162461bcd60e51b81526004016101979190611a8d565b505050505050505050565b5f6001600160801b03821115610ab65760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610197565b5090565b610ae160405180608001604052805f81526020015f81526020015f81526020015f81525090565b6101408501516020860151610af591611043565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e91610bbc91600401611b9c565b606060405180830381865afa158015610bd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfb9190611c1e565b60408401526020830152808252610c1190610a4e565b6001870180546001600160801b03928316600160801b0292169190911790556020810151610c3e90610a4e565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151610c6e90610a4e565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152610cac9051600160fc1b16151590565b15610d61578215610d0957610cc083610a4e565b600987018054601090610ce4908490600160801b90046001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115610d6157610d1882610a4e565b600987018054601090610d3c908490600160801b90046001600160801b0316611b35565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b81515f9060d41c64ffffffffff1615610fa7575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e499190611c49565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea89190611c49565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0a9190611c49565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa158015610f74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f989190611ad9565b610fa5575f915050610561565b505b610fb38686868661140f565b9695505050505050565b6040805180820190915260028152610dcd60f21b602082015260808310610ff75760405162461bcd60e51b81526004016101979190611a8d565b50600182811b81011b811561101157835481178455611019565b835481191684555b50505050565b5f81156113881983900484111517611035575f80fd5b506127109102611388010490565b5f81156b019d971e4fe8401e740000001983900484111517611063575f80fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b60018301545f9081906110c1906001600160801b0316676765c793fa10079d601b1b6109ed6110b2886114ab565b6110bb886114ab565b906110f8565b90506110cc81610a4e565b6001860180546001600160801b0319166001600160801b039290921691909117905590505b9392505050565b5f8115676765c793fa10079d601b1b60028404190484111715611119575f80fd5b50676765c793fa10079d601b1b9190910260028204010490565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af1611175573d5f803e3d5ffd5b5061117f856114c5565b6111cb5760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610197565b5050505050565b61016081015115611240575f6111f2826101600151836102400151611568565b905061120b8260e001518261104390919063ffffffff16565b610100830181905261121c90610a4e565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b8051156112ab575f61125c8261018001518361024001516115ad565b90506112768261012001518261104390919063ffffffff16565b610140830181905261128790610a4e565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b6112e26040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f036112f357505050565b610120820151825161130491611043565b6020820152610140820151825161131a91611043565b6040820152606082015161026083015161024084015161134292919064ffffffffff166115b5565b60608201819052604083015161135791611043565b8082526020820151608084015160408401516113739190611b0b565b61137d9190611af8565b6113879190611af8565b608082018190526101a083015161139e919061101f565b60a082018190521561140a576113c96104478361010001518360a001516110f890919063ffffffff16565b6008840180545f906113e59084906001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b5f61141c825161ffff1690565b5f0361142957505f6114a3565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16611468575060016114a3565b6040805160208101909152835481525f906114849087876116d8565b505090508015801561149f5750825160d41c64ffffffffff16155b9150505b949350505050565b633b9aca0081810290810482146114c0575f80fd5b919050565b5f6114e7565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d80156115265760208114611557576115217f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f6114cb565b611562565b823b61154e5761154e7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b60146114cb565b60019150611562565b3d5f803e5f51151591505b50919050565b5f8061157b64ffffffffff841642611af8565b6115859085611a76565b6301e13380900490506115a381676765c793fa10079d601b1b611b0b565b9150505b92915050565b5f6110f18383425b5f806115c864ffffffffff851684611af8565b9050805f036115e557676765c793fa10079d601b1b9150506110f1565b5f1981015f8080600285116115fa575f6115ff565b600285035b925066038882915c40006116138a80611043565b8161162057611620611c64565b0491506301e13380611632838b611043565b8161163f5761163f611c64565b0490505f8261164e8688611a76565b6116589190611a76565b6002900490505f828561166b888a611a76565b6116759190611a76565b61167f9190611a76565b60069004905080826301e133806116968a8f611a76565b6116a09190611c78565b6116b590676765c793fa10079d601b1b611b0b565b6116bf9190611b0b565b6116c99190611b0b565b9b9a5050505050505050505050565b5f805f6116e48661177e565b1561176c575f611714877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6117c1565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff1690508015611768576001955090935091506117759050565b5050505b505f9150819050805b93509350939050565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1680158015906110f157506117b9600182611af8565b161592915050565b81515f9082165f198101198116825b60029190911c908115610561576001016117d0565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161185a60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6001600160a01b0381168114611896575f80fd5b50565b5f805f805f805f60e0888a0312156118af575f80fd5b87359650602088013595506040880135945060608801356118cf81611882565b93506080880135925060a08801356118e681611882565b915060c088013561ffff811681146118fc575f80fd5b8091505092959891949750929550565b5f805f805f60a08688031215611920575f80fd5b85359450602086013561193281611882565b94979496505050506040830135926060810135926080909101359150565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b0381811683821601908082111561198457611984611950565b5092915050565b600181815b808511156119c557815f19048211156119ab576119ab611950565b808516156119b857918102915b93841c9390800290611990565b509250929050565b5f826119db575060016115a7565b816119e757505f6115a7565b81600181146119fd5760028114611a0757611a23565b60019150506115a7565b60ff841115611a1857611a18611950565b50506001821b6115a7565b5060208310610133831016604e8410600b8410161715611a46575081810a6115a7565b611a50838361198b565b805f1904821115611a6357611a63611950565b029392505050565b5f6110f183836119cd565b80820281158282048414176115a7576115a7611950565b5f602080835283518060208501525f5b81811015611ab957858101830151858201604001528201611a9d565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611ae9575f80fd5b815180151581146110f1575f80fd5b818103818111156115a7576115a7611950565b808201808211156115a7576115a7611950565b5f60208284031215611b2e575f80fd5b5051919050565b6001600160801b0382811682821603908082111561198457611984611950565b5f805f8060808587031215611b68575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114611b91575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151611bfe60e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215611c30575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611c59575f80fd5b81516110f181611882565b634e487b7160e01b5f52601260045260245ffd5b5f82611c9257634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220fea637e18eeb345815f52e8526538811a8eea0ed524cf631d2402630bb41afb964736f6c63430008160033', - methodIdentifiers: { - "executeBackUnbacked(DataTypes.ReserveData storage,address,uint256,uint256,uint256)": "8e743248", - "executeMintUnbacked(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,address,uint256,address,uint16)": "0413c86f" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts b/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts deleted file mode 100644 index bd39e0022..000000000 --- a/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const CalldataLogic: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=CalldataLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts.map deleted file mode 100644 index 170364cae..000000000 --- a/packages/hyperdrive-artifacts/dist/CalldataLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CalldataLogic.d.ts","sourceRoot":"","sources":["../src/CalldataLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;cAEwQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CalldataLogic.js b/packages/hyperdrive-artifacts/dist/CalldataLogic.js deleted file mode 100644 index c9a3f90cf..000000000 --- a/packages/hyperdrive-artifacts/dist/CalldataLogic.js +++ /dev/null @@ -1,5 +0,0 @@ -export const CalldataLogic = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b62bad570afe33a39a83096ec895d556bc35d9b7e60c04175ebb692cadbf2faf64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts deleted file mode 100644 index 135008780..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const ChainlinkBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ChainlinkBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts.map deleted file mode 100644 index 6e3828135..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkBase.d.ts","sourceRoot":"","sources":["../src/ChainlinkBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBN,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkBase.js b/packages/hyperdrive-artifacts/dist/ChainlinkBase.js deleted file mode 100644 index bbf965e95..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const ChainlinkBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts deleted file mode 100644 index 5b9412748..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const ChainlinkConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ChainlinkConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts.map deleted file mode 100644 index b8d8a33c3..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkConversions.d.ts","sourceRoot":"","sources":["../src/ChainlinkConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;cAEiQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.js b/packages/hyperdrive-artifacts/dist/ChainlinkConversions.js deleted file mode 100644 index 609884a38..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const ChainlinkConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122028a53ab113cb8d4399f43da1597ae57f6393fa298130b8680a1a766ee0d7adc364736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts deleted file mode 100644 index 8ddfbc640..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts +++ /dev/null @@ -1,1330 +0,0 @@ -export declare const ChainlinkHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=ChainlinkHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts.map deleted file mode 100644 index 085ff9722..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkHyperdrive.d.ts","sourceRoot":"","sources":["../src/ChainlinkHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2mD8+X,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B1hY,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.js b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.js deleted file mode 100644 index 2bc70ef62..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdrive.js +++ /dev/null @@ -1,1675 +0,0 @@ -export const ChainlinkHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61036060405234801562000011575f80fd5b50604051620017fd380380620017fd8339810160408190526200003491620003e5565b81818b8b8b8b8b8b8b8b868660015f81905550815f01516001600160a01b03166080816001600160a01b03168152505081602001516001600160a01b031660a0816001600160a01b03168152505081608001516101a081815250508160a001516101c081815250508160c001516101e081815250508160e00151610200818152505081610120015160c0818152505081610100015160e081815250508161014001516101008181525050816101e001515f01516101208181525050816101e00151602001516101408181525050816101e00151604001516101608181525050816101e0015160600151610180818152505081604001516001600160a01b0316610240816001600160a01b03168152505081606001516102608181525050806001600160a01b0316610220816001600160a01b031681525050505087600190816200017f9190620005cb565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529490941661034052505060ff166103205250620006979950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002065762000206620001cc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620002375762000237620001cc565b604052919050565b80516001600160a01b038116811462000256575f80fd5b919050565b5f608082840312156200026c575f80fd5b604051608081016001600160401b0381118282101715620002915762000291620001cc565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002d4575f80fd5b620002de620001e0565b9050620002eb826200023f565b8152620002fb602083016200023f565b60208201526200030e604083016200023f565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620003798184016200023f565b908201526101806200038d8382016200023f565b908201526101a0620003a18382016200023f565b908201526101c0620003b58382016200023f565b908201526101e0620003ca848483016200025b565b9082015292915050565b805160ff8116811462000256575f80fd5b5f805f805f805f805f806103808b8d03121562000400575f80fd5b8a516001600160401b038082111562000417575f80fd5b818d0191508d601f8301126200042b575f80fd5b815181811115620004405762000440620001cc565b6020915062000458601f8201601f191683016200020c565b8181528f838386010111156200046c575f80fd5b5f5b828110156200048b5784810184015182820185015283016200046e565b505f838383010152809d505050620004a68e828f01620002c2565b9a505050620004b96102808c016200023f565b9750620004ca6102a08c016200023f565b9650620004db6102c08c016200023f565b9550620004ec6102e08c016200023f565b9450620004fd6103008c016200023f565b93506200050e6103208c016200023f565b92506200051f6103408c016200023f565b9150620005306103608c01620003d4565b90509295989b9194979a5092959850565b600181811c908216806200055657607f821691505b6020821081036200057557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005c657805f5260205f20601f840160051c81016020851015620005a25750805b601f840160051c820191505b81811015620005c3575f8155600101620005ae565b50505b505050565b81516001600160401b03811115620005e757620005e7620001cc565b620005ff81620005f8845462000541565b846200057b565b602080601f83116001811462000635575f84156200061d5750858301515b5f19600386901b1c1916600185901b1785556200068f565b5f85815260208120601f198616915b82811015620006655788860151825594840194600190910190840162000644565b50858210156200068357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007bc5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122029d3a8fe7b29d4f7ed662c3796a7937c2f6ca5c84b52cc12644a4790c8e6793a64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 822fc6046..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const ChainlinkHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=ChainlinkHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 3294e79ed..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2Kw8e,KAAK,MAAM,EAAE;;;;CAIhgf,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.js deleted file mode 100644 index 27c11f35c..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const ChainlinkHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50611ed38061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200038b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f805f898060200190518101906200007c919062000483565b604080513360208201529081018790529193509150606001604051602081830303815290604052805190602001208d8d8d8c8c8c8c8c8a8a604051620000c29062000107565b620000d79a99989796959493929190620005e4565b8190604051809103905ff5905080158015620000f5573d5f803e3d5ffd5b509d9c50505050505050505050505050565b6117fd80620006a183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000150576200015062000115565b60405290565b5f82601f83011262000166575f80fd5b813567ffffffffffffffff8082111562000184576200018462000115565b604051601f8301601f19908116603f01168101908282118183101715620001af57620001af62000115565b81604052838152866020858801011115620001c8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001fc575f80fd5b50565b80356200020c81620001e7565b919050565b5f6080828403121562000222575f80fd5b6040516080810181811067ffffffffffffffff8211171562000248576200024862000115565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200028b575f80fd5b6200029562000129565b9050620002a282620001ff565b8152620002b260208301620001ff565b6020820152620002c560408301620001ff565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000330818401620001ff565b9082015261018062000344838201620001ff565b908201526101a062000358838201620001ff565b908201526101c06200036c838201620001ff565b908201526101e0620003818484830162000211565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a6575f80fd5b8a3567ffffffffffffffff80821115620003be575f80fd5b620003cc8e838f0162000156565b9b50620003dd8e60208f0162000279565b9a50620003ee6102808e01620001ff565b99506102a08d013591508082111562000405575f80fd5b50620004148d828e0162000156565b975050620004266102c08c01620001ff565b9550620004376102e08c01620001ff565b9450620004486103008c01620001ff565b9350620004596103208c01620001ff565b92506200046a6103408c01620001ff565b91506103608b013590509295989b9194979a5092959850565b5f806040838503121562000495575f80fd5b8251620004a281620001e7565b602084015190925060ff81168114620004b9575f80fd5b809150509250929050565b80516001600160a01b031682526020810151620004ec60208401826001600160a01b03169052565b5060408101516200050860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200057b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103808083528c5180828501525f91505b808210156200061a576020828f0101516103a08386010152602082019150620005f6565b6103a091505f82828601015281601f19601f8301168501019250505062000645602083018c620004c4565b6001600160a01b03998a166102808301529789166102a08201529588166102c08701529387166102e0860152918616610300850152851661032084015290931661034082015260ff909216610360909201919091529291505056fe61036060405234801562000011575f80fd5b50604051620017fd380380620017fd8339810160408190526200003491620003e5565b81818b8b8b8b8b8b8b8b868660015f81905550815f01516001600160a01b03166080816001600160a01b03168152505081602001516001600160a01b031660a0816001600160a01b03168152505081608001516101a081815250508160a001516101c081815250508160c001516101e081815250508160e00151610200818152505081610120015160c0818152505081610100015160e081815250508161014001516101008181525050816101e001515f01516101208181525050816101e00151602001516101408181525050816101e00151604001516101608181525050816101e0015160600151610180818152505081604001516001600160a01b0316610240816001600160a01b03168152505081606001516102608181525050806001600160a01b0316610220816001600160a01b031681525050505087600190816200017f9190620005cb565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529490941661034052505060ff166103205250620006979950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002065762000206620001cc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620002375762000237620001cc565b604052919050565b80516001600160a01b038116811462000256575f80fd5b919050565b5f608082840312156200026c575f80fd5b604051608081016001600160401b0381118282101715620002915762000291620001cc565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002d4575f80fd5b620002de620001e0565b9050620002eb826200023f565b8152620002fb602083016200023f565b60208201526200030e604083016200023f565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620003798184016200023f565b908201526101806200038d8382016200023f565b908201526101a0620003a18382016200023f565b908201526101c0620003b58382016200023f565b908201526101e0620003ca848483016200025b565b9082015292915050565b805160ff8116811462000256575f80fd5b5f805f805f805f805f806103808b8d03121562000400575f80fd5b8a516001600160401b038082111562000417575f80fd5b818d0191508d601f8301126200042b575f80fd5b815181811115620004405762000440620001cc565b6020915062000458601f8201601f191683016200020c565b8181528f838386010111156200046c575f80fd5b5f5b828110156200048b5784810184015182820185015283016200046e565b505f838383010152809d505050620004a68e828f01620002c2565b9a505050620004b96102808c016200023f565b9750620004ca6102a08c016200023f565b9650620004db6102c08c016200023f565b9550620004ec6102e08c016200023f565b9450620004fd6103008c016200023f565b93506200050e6103208c016200023f565b92506200051f6103408c016200023f565b9150620005306103608c01620003d4565b90509295989b9194979a5092959850565b600181811c908216806200055657607f821691505b6020821081036200057557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005c657805f5260205f20601f840160051c81016020851015620005a25750805b601f840160051c820191505b81811015620005c3575f8155600101620005ae565b50505b505050565b81516001600160401b03811115620005e757620005e7620001cc565b620005ff81620005f8845462000541565b846200057b565b602080601f83116001811462000635575f84156200061d5750858301515b5f19600386901b1c1916600185901b1785556200068f565b5f85815260208120601f198616915b82811015620006655788860151825594840194600190910190840162000644565b50858210156200068357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007bc5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122029d3a8fe7b29d4f7ed662c3796a7937c2f6ca5c84b52cc12644a4790c8e6793a64736f6c63430008160033a2646970667358221220d631e332c39645a1fceaad8beacbc42762833f2583bee1e6f2b3e6e425da650764736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 291a1d58c..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,598 +0,0 @@ -export declare const ChainlinkHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ChainlinkHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 15babb1dd..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/ChainlinkHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuuBq6pB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;CAkBp+pB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.js deleted file mode 100644 index a9e57e277..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,762 +0,0 @@ -export const ChainlinkHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b50604051620029e2380380620029e28339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125c86200041a5f395f81816102830152610d0101525f81816103010152610bce01525f81816103670152610a9b01525f81816102ce015261096801525f8181610334015261075f01525f81816103ec015261105001525f81816103b9015281816104f3015281816106880152818161078f0152818161099801528181610acb01528181610bfe01528181610d3101528181610e24015261108101526125c85ff3fe6080604052600436106100e4575f3560e01c8063aa8cd6c411610087578063c45a015511610057578063c45a0155146103a8578063c83e1f51146103db578063e990eba81461040e578063e99be3961461042d575f80fd5b8063aa8cd6c4146102f0578063ab71905f14610323578063b6cb111814610356578063c151061814610389575f80fd5b806337404017116100c2578063374040171461014757806354fd4d5014610243578063966ecd1c14610272578063a085fa30146102bd575f80fd5b806304baa00b146100e857806306fdde031461011257806316abfc7014610126575b5f80fd5b3480156100f3575f80fd5b506100fc610440565b6040516101099190611a9c565b60405180910390f35b34801561011d575f80fd5b506100fc61045c565b610139610134366004611bd1565b6104e7565b604051908152602001610109565b348015610152575f80fd5b50610236610161366004611c8f565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b6040516101099190611ca6565b34801561024e575f80fd5b50604080518082019091526007815266076312e302e32360cc1b60208201526100fc565b34801561027d575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610109565b3480156102c8575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b3480156102fb575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b34801561032e575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610361575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610394575f80fd5b506102a56103a3366004611e7a565b61067c565b3480156103b3575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e6575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610419575f80fd5b506102a5610428366004611ee3565b610e18565b348015610438575f80fd5b506005610139565b60405180606001604052806026815260200161256d6026913981565b5f805461046890611f7d565b80601f016020809104026020016040519081016040528092919081815260200182805461049490611f7d565b80156104df5780601f106104b6576101008083540402835291602001916104df565b820191905f5260205f20905b8154815290600101906020018083116104c257829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461053157604051634084351160e01b815260040160405180910390fd5b61053961118b565b5f868152600160205260409020600301546001600160a01b0316806105715760405163952b05cb60e01b815260040160405180910390fd5b5f61057e828888876111ac565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016105b193929190611fb5565b60206040518083038185885af11580156105cd573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906105f29190611ffa565b92505f6105ff8234612025565b9050801561066f576040515f90339083908381818185875af1925050503d805f8114610646576040519150601f19603f3d011682016040523d82523d5f602084013e61064b565b606091505b505090508061066d576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106c657604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610876578054156106fb57604051633be1b34d60e11b815260040160405180910390fd5b6107058686611265565b5f6107108787611353565b90505f876040516020016107249190612038565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107518a611387565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016107cb929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610800949392919061226b565b6020604051808303815f875af115801561081c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084091906122b0565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b0383161790559050610673565b5f87815260016020526040902054806108a25760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016108b49190612038565b60405160208183030381529060405280519060200120146108e85760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461091257604051631a3272d160e31b815260040160405180910390fd5b61091c8787611265565b5f61092688611387565b6002840154608082015290506001869003610a665760058301546001600160a01b0316156109665760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b6040516020016109cd939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a02949392919061226b565b6020604051808303815f875af1158015610a1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4291906122b0565b6005840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600203610b995760068301546001600160a01b031615610a995760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b00939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b35949392919061226b565b6020604051808303815f875af1158015610b51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7591906122b0565b6006840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600303610ccc5760078301546001600160a01b031615610bcc5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c33939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c68949392919061226b565b6020604051808303815f875af1158015610c84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca891906122b0565b6007840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600403610dff5760088301546001600160a01b031615610cff5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d66939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d9b949392919061226b565b6020604051808303815f875af1158015610db7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ddb91906122b0565b6008840180546001600160a01b0319166001600160a01b038316179055935061066f565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e6257604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f0a57604051632c95caeb60e01b815260040160405180910390fd5b8051610f295760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610f4e575060a08101516001600160a01b0316155b80610f64575060c08101516001600160a01b0316155b80610f7a575060e08101516001600160a01b0316155b80610f9157506101008101516001600160a01b0316155b15610faf5760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051610fc2908790602001612038565b6040516020818303038152906040528051906020012014610ff65760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461102157604051631a3272d160e31b815260040160405180910390fd5b61102b8585611265565b5f61103586611387565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016110d7929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111129a999897969594939291906122ec565b6020604051808303815f875af115801561112e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115291906122b0565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156111aa57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156111d05760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561120d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123191906122b0565b90506112486001600160a01b038216863087611455565b61125c6001600160a01b03821687866114c2565b50949350505050565b61126f8282611551565b81516001600160a01b03161561129857604051630722152560e11b815260040160405180910390fd5b60208201516001600160a01b03166112c35760405163073f739d60e51b815260040160405180910390fd5b5f818060200190518101906112d8919061236e565b91506112e790506003826123ab565b6112f290600a6124a4565b836080015114611315576040516349db44f560e01b815260040160405180910390fd5b6113206003826123ab565b61132b90600a6124a4565b8360a001511461134e576040516318c9522360e11b815260040160405180910390fd5b505050565b5f808280602001905181019061136991906122b0565b905061137d81670de0b6b3a7640000611669565b9150505b92915050565b61138f61197b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526114bc9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611684565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261151384826116ea565b6114bc576040516001600160a01b0384811660248301525f604483015261154791869182169063095ea7b39060640161148a565b6114bc8482611684565b6103e882608001511015611578576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361159d57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806115c757508161010001518260e001516115c491906124b2565b15155b156115e55760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116115750670de0b6b3a7640000826101c0015160200151115b8061162c5750670de0b6b3a7640000826101c0015160400151115b806116475750670de0b6b3a7640000826101c0015160600151115b15611665576040516322f72cc360e11b815260040160405180910390fd5b5050565b5f61167d61167684611787565b83906117f8565b9392505050565b5f6116986001600160a01b0384168361180c565b905080515f141580156116bc5750808060200190518101906116ba91906124d1565b155b1561134e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b03168460405161170591906124ec565b5f604051808303815f865af19150503d805f811461173e576040519150601f19603f3d011682016040523d82523d5f602084013e611743565b606091505b509150915081801561176d57508051158061176d57508080602001905181019061176d91906124d1565b80156106735750505050506001600160a01b03163b151590565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156117c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117e99190612520565b50505091505061167d81611819565b5f61167d8383670de0b6b3a764000061183f565b606061167d83835f61185a565b5f8082121561183b5760405163071d137160e51b815260040160405180910390fd5b5090565b5f825f190484118302158202611853575f80fd5b5091020490565b60608147101561187f5760405163cd78605960e01b81523060048201526024016116e1565b5f80856001600160a01b0316848660405161189a91906124ec565b5f6040518083038185875af1925050503d805f81146118d4576040519150601f19603f3d011682016040523d82523d5f602084013e6118d9565b606091505b50915091506118e98683836118f3565b9695505050505050565b606082611908576119038261194f565b61167d565b815115801561191f57506001600160a01b0384163b155b1561194857604051639996b31560e01b81526001600160a01b03851660048201526024016116e1565b508061167d565b80511561195f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a4a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a69578181015183820152602001611a51565b50505f910152565b5f8151808452611a88816020860160208601611a4f565b601f01601f19169290920160200192915050565b602081525f61167d6020830184611a71565b6001600160a01b0381168114611978575f80fd5b8035611acd81611aae565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b0957611b09611ad2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b0957611b09611ad2565b8015158114611978575f80fd5b5f67ffffffffffffffff80841115611b5a57611b5a611ad2565b604051601f8501601f19908116603f01168101908282118183101715611b8257611b82611ad2565b81604052809350858152868686011115611b9a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611bc2575f80fd5b61167d83833560208501611b40565b5f805f805f60a08688031215611be5575f80fd5b853594506020860135611bf781611aae565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611c21575f80fd5b908701906060828a031215611c34575f80fd5b611c3c611ae6565b8235611c4781611aae565b81526020830135611c5781611b33565b6020820152604083013582811115611c6d575f80fd5b611c798b828601611bb3565b6040830152508093505050509295509295909350565b5f60208284031215611c9f575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d33575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5657611d56611ad2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d98575f80fd5b611da0611b0f565b9050611dab82611ac2565b8152611db960208301611ac2565b6020820152611dca60408301611ac2565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e27818401611ac2565b90820152610160611e39838201611ac2565b90820152610180611e4b838201611ac2565b908201526101a0611e5d838201611ac2565b908201526101c0611e7084848301611d23565b9082015292915050565b5f805f805f6102c08688031215611e8f575f80fd5b85359450611ea08760208801611d87565b935061026086013567ffffffffffffffff811115611ebc575f80fd5b611ec888828901611bb3565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef8575f80fd5b85359450602086013567ffffffffffffffff80821115611f16575f80fd5b818801915088601f830112611f29575f80fd5b611f3889833560208501611b40565b9550611f478960408a01611d87565b9450610280880135915080821115611f5d575f80fd5b50611f6a88828901611bb3565b959894975092956102a001359392505050565b600181811c90821680611f9157607f821691505b602082108103611faf57634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a08401526118e960c0840182611a71565b5f6020828403121561200a575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561138157611381612011565b81516001600160a01b031681526102408101602083015161206460208401826001600160a01b03169052565b50604083015161207f60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e5828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d1b565b80516001600160a01b03168252602081015161217560208401826001600160a01b03169052565b50604081015161219060408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612202828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526114bc565b5f6102c0612279838861214e565b6001600160a01b038616610260840152610280830181905261229d81840186611a71565b915050826102a083015295945050505050565b5f602082840312156122c0575f80fd5b815161167d81611aae565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122ff8184018e611a71565b905061230e602084018d61214e565b6001600160a01b038b81166102808501528382036102a0850152612332828c611a71565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f806040838503121561237f575f80fd5b825161238a81611aae565b602084015190925060ff811681146123a0575f80fd5b809150509250929050565b60ff828116828216039081111561138157611381612011565b600181815b808511156123fe57815f19048211156123e4576123e4612011565b808516156123f157918102915b93841c93908002906123c9565b509250929050565b5f8261241457506001611381565b8161242057505f611381565b816001811461243657600281146124405761245c565b6001915050611381565b60ff84111561245157612451612011565b50506001821b611381565b5060208310610133831016604e8410600b841016171561247f575081810a611381565b61248983836123c4565b805f190482111561249c5761249c612011565b029392505050565b5f61167d60ff841683612406565b5f826124cc57634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156124e1575f80fd5b815161167d81611b33565b5f82516124fd818460208701611a4f565b9190910192915050565b805169ffffffffffffffffffff81168114611acd575f80fd5b5f805f805f60a08688031215612534575f80fd5b61253d86612507565b945060208601519350604086015192506060860151915061256060808701612507565b9050929550929590935056fe436861696e6c696e6b487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220f6ab7d4f2c983fe186e6a41effaa7165ecf5b9b966e646324127c6bcec27dc1864736f6c63430008160033', - methodIdentifiers: { - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts deleted file mode 100644 index 451209fb9..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts +++ /dev/null @@ -1,1550 +0,0 @@ -export declare const ChainlinkTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "aggregator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "aggregator()": "245a7bfc"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ChainlinkTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts.map deleted file mode 100644 index 9a0f5985a..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget0.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA63D+x9B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Cx09B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.js deleted file mode 100644 index 7f50ba9cf..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0.js +++ /dev/null @@ -1,1960 +0,0 @@ -export const ChainlinkTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "aggregator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003d9438038062003d948339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516138ff620004955f395f81816107500152818161259001526125bb01525f61078901525f8181610d4f015261231801525f8181610d2001526122db01525f8181610bfc01528181610e7f01528181610f0d01528181610f9b0152818161102901528181611632015281816116c80152818161188a01528181611ea201528181611f7601526120c701525f610de701525f8181610dc101526124bd01525f8181610d9b015261249701525f8181610d75015261247101525f61113401525f61110e01525f6110e801525f6110c201525f8181610e5901526124e301525f8181610e0d015281816112bf015261286001525f8181610e3301526129de01525f818161061e01528181610cf101528181611e1701526129b001525f8181610cc2015261125c01526138ff5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b806320fc4881146102f157806321ff32a914610336578063245a7bfc14610357578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ca9565b61056c565b6040516102579190612d0d565b60405180910390f35b61027361026e366004612d33565b6105a3565b005b610273610283366004612d5b565b6105ac565b61024a6105b5565b61024a6105f9565b6102a0610610565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612d76565b61064f565b6102736102d9366004612e4c565b61066b565b6102736102ec366004612edb565b610681565b6103046102ff366004612ca9565b610694565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f20565b6106fd565b604051908152602001610257565b6102a0610742565b610367610781565b60405160ff9091168152602001610257565b610349610387366004612f5f565b6107ba565b6103496107f2565b6103496103a2366004612f8d565b610810565b6103ba6103b5366004612d33565b61081a565b6040519015158152602001610257565b61024a6103d8366004612ca9565b610839565b6102736103eb366004612fc4565b610847565b61024a610895565b6104006108ca565b604051610257919061300b565b61027361041b3660046130ac565b5050565b61034961042d366004612d33565b610bc3565b6102a0610bee565b6102736104483660046130d8565b610c2d565b61027361045b3660046130ac565b610c3e565b61027361046e366004612d33565b50565b610479610ca9565b604051610257919061310d565b610349610494366004612ca9565b611169565b6103496104a7366004612ca9565b611176565b6104bf6104ba366004613233565b611197565b6040516102579190613272565b6102a061124e565b61034961128d565b6103496104ea366004612ca9565b6112a6565b6103496104fd366004612ca9565b6112b3565b61050a6112e9565b60405161025791906132b5565b6102736105253660046133c6565b6113f4565b6103ba610538366004613421565b61143c565b61054561147f565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114dd565b60405160200161058a9190612d0d565b604051602081830303815290604052611603565b919050565b61046e81611627565b61046e81611888565b60606105f660405180604001604052806013815260200172436861696e6c696e6b4879706572647269766560681b81525060405160200161058a9190612d0d565b90565b60606105f6600160405160200161058a919061344d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6106608989898989898989896119a0565b505050505050505050565b610679868686868686611b92565b505050505050565b61068e8484848433611c45565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073b910161058a565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6040805160ff7f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ec910161058a565b92915050565b5f6105f66107fe611e00565b60405160200161058a91815260200190565b5f6107ec82611e8d565b5f61059e610827836120c3565b6040805191151560208301520161058a565b606061059e61057a836121a1565b836108518161229d565b6001600160a01b0316336001600160a01b03161461088257604051632aab8bd360e01b815260040160405180910390fd5b61088e8585858561235a565b5050505050565b60606105f660405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d0d565b610934604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61093d6123c6565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109a79190613522565b6109b19190613535565b90505f8215610ac05773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109dd856123d8565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab09190613548565b509050610abd8184612562565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9057610b8b8486612576565b610b92565b5f5b81526003546001600160801b0316602091820152604051919250610bbc9161058a9184910161300b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b610c398383833361235a565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb1612bd5565b6105f66040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efd9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8b9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a79190613576565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061310d565b5f61059e6107fe8361258a565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111b3576111b3613591565b6040519080825280602002602001820160405280156111dc578160200160208202803683370190505b5090505f5b83811015611232575f8585838181106111fc576111fc6135a5565b9050602002013590505f815490508084848151811061121d5761121d6135a5565b602090810291909101015250506001016111e1565b506112478160405160200161058a9190613272565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f6105f660095460405160200161058a91815260200190565b5f61059e6107fe836125b5565b5f61059e6107fe6112e47f000000000000000000000000000000000000000000000000000000000000000085613522565b6125e0565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f6600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113fe8161229d565b6001600160a01b0316336001600160a01b03161461142f57604051632aab8bd360e01b815260040160405180910390fd5b6106798686868686611c45565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ec910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f69060600161058a565b606060f882901c6001600160f81b0383165f6114f882612620565b90505f83600381111561150d5761150d6134fa565b0361153f576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115fb565b6001836003811115611553576115536134fa565b0361157f578060405160200161156991906135b9565b60405160208183030381529060405293506115fb565b6002836003811115611593576115936134fa565b036115a9578060405160200161156991906135f1565b60038360038111156115bd576115bd6134fa565b036115fb576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161161e9190612d0d565b60405180910390fd5b61162f6126d2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b09190613576565b9050336001600160a01b0382161480159061175c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611722573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117469190613576565b6001600160a01b0316336001600160a01b031614155b801561176e575061176c336120c3565b155b1561178b576040516282b42960e81b815260040160405180910390fd5b5f611794611e00565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff919061362a565b90506118156001600160a01b03851684836126fa565b8161181e611e00565b1461183c576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613576565b6001600160a01b0316336001600160a01b03161415801561192f575061192d336120c3565b155b1561194c576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061199590831515815260200190565b60405180910390a150565b834211156119c15760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119e85760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ad2573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1057604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611baf57506001600160a01b038516155b15611bcd5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bed5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c3c57611c34858583818110611c0c57611c0c6135a5565b905060200201358888868686818110611c2757611c276135a5565b9050602002013533611c45565b600101611bef565b50505050505050565b6001600160a01b0384161580611c6257506001600160a01b038316155b15611c805760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d40576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d40575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d3e575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d38908490613535565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d71908490613535565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611da7908490613522565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e88919061362a565b905090565b5f611e966126d2565b611e9f8261274c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f209190613576565b90506001600160a01b038116611f396020850185612d33565b6001600160a01b031614611f6057604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061200a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff49190613576565b6001600160a01b0316336001600160a01b031614155b801561201c575061201a336120c3565b155b15612039576040516282b42960e81b815260040160405180910390fd5b5f6120426123c6565b600980545f909155909150612058818387612781565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461209760408a0160208b01612d5b565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612120573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121479190810190613641565b90505f5b815181101561219857836001600160a01b0316828281518110612170576121706135a5565b60200260200101516001600160a01b031603612190575060019392505050565b60010161214b565b505f9392505050565b606060f882901c6001600160f81b0383165f6121bc82612620565b90505f8360038111156121d1576121d16134fa565b03612203576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115fb565b6001836003811115612217576122176134fa565b0361222d57806040516020016115699190613701565b6002836003811115612241576122416134fa565b0361225757806040516020016115699190613738565b600383600381111561226b5761226b6134fa565b036115fb57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e88670de0b6b3a764000061258a565b6124306040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125289116612817565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261255a92900416612817565b905292915050565b5f61073b8383670de0b6b3a764000061288b565b5f61073b83670de0b6b3a76400008461288b565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128a6565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128ba565b5f612605600b5f6125f26002866128c7565b81526020019081526020015f20546128fb565b612616600b5f6125f26001876128c7565b6107ec9190613763565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126c457612659600a86613796565b612664906030613522565b60f81b8260016126748487613535565b61267e9190613535565b8151811061268e5761268e6135a5565b60200101906001600160f81b03191690815f1a905350806126ae816137a9565b91506126bd9050600a866137c1565b9450612648565b918290030190815292915050565b60025f54036126f457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c39908490612928565b5f61275a6020830183612d33565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061278d8585612562565b9050612798816125b5565b9450845f036127aa575f91505061073b565b8491506127bd6040840160208501612d5b565b156127ec576127e5856127d36020860186612d33565b6127e060408701876137d4565b612989565b915061280f565b61280f856127fd6020860186612d33565b61280a60408701876137d4565b6129a3565b509392505050565b5f80670de0b6b3a764000061282a6129d7565b6128349190613817565b9050808311612843575f61284d565b61284d8184613535565b915061073b612884670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613817565b8390612576565b5f825f19048411830215820261289f575f80fd5b5091020490565b5f61073b6128b384612a02565b8390612562565b5f61073b61288484612a02565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a73565b905080515f1415801561296057508080602001905181019061295e919061382e565b155b15610c3957604051635274afe760e01b81526001600160a01b038416600482015260240161161e565b5f60405163350b944160e11b815260040160405180910390fd5b61068e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126fa565b5f611e88427f0000000000000000000000000000000000000000000000000000000000000000612a80565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a649190613862565b50505091505061073b81612a95565b606061073b83835f612ab7565b5f612a8b8284613796565b61073b9084613535565b5f808212156129245760405163071d137160e51b815260040160405180910390fd5b606081471015612adc5760405163cd78605960e01b815230600482015260240161161e565b5f80856001600160a01b03168486604051612af791906138ae565b5f6040518083038185875af1925050503d805f8114612b31576040519150601f19603f3d011682016040523d82523d5f602084013e612b36565b606091505b5091509150612b46868383612b50565b9695505050505050565b606082612b6557612b6082612bac565b61073b565b8151158015612b7c57506001600160a01b0384163b155b15612ba557604051639996b31560e01b81526001600160a01b038516600482015260240161161e565b508061073b565b805115612bbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ca460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cb9575f80fd5b5035919050565b5f5b83811015612cda578181015183820152602001612cc2565b50505f910152565b5f8151808452612cf9816020860160208601612cc0565b601f01601f19169290920160200192915050565b602081525f61073b6020830184612ce2565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d43575f80fd5b813561073b81612d1f565b801515811461046e575f80fd5b5f60208284031215612d6b575f80fd5b813561073b81612d4e565b5f805f805f805f805f6101208a8c031215612d8f575f80fd5b8935985060208a0135975060408a0135612da881612d1f565b965060608a0135612db881612d1f565b955060808a0135612dc881612d4e565b945060a08a0135935060c08a013560ff81168114612de4575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e14575f80fd5b50813567ffffffffffffffff811115612e2b575f80fd5b6020830191508360208260051b8501011115612e45575f80fd5b9250929050565b5f805f805f8060808789031215612e61575f80fd5b8635612e6c81612d1f565b95506020870135612e7c81612d1f565b9450604087013567ffffffffffffffff80821115612e98575f80fd5b612ea48a838b01612e04565b90965094506060890135915080821115612ebc575f80fd5b50612ec989828a01612e04565b979a9699509497509295939492505050565b5f805f8060808587031215612eee575f80fd5b843593506020850135612f0081612d1f565b92506040850135612f1081612d1f565b9396929550929360600135925050565b5f805f60608486031215612f32575f80fd5b833592506020840135612f4481612d1f565b91506040840135612f5481612d1f565b809150509250925092565b5f8060408385031215612f70575f80fd5b823591506020830135612f8281612d1f565b809150509250929050565b5f60208284031215612f9d575f80fd5b813567ffffffffffffffff811115612fb3575f80fd5b82016060818503121561073b575f80fd5b5f805f8060808587031215612fd7575f80fd5b843593506020850135612fe981612d1f565b925060408501359150606085013561300081612d1f565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130bd575f80fd5b82356130c881612d1f565b91506020830135612f8281612d4e565b5f805f606084860312156130ea575f80fd5b8335925060208401356130fc81612d1f565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161313960208401826001600160a01b03169052565b50604083015161315460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516131c6828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613244575f80fd5b823567ffffffffffffffff81111561325a575f80fd5b61326685828601612e04565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132a95783518352928401929184019160010161328d565b50909695505050505050565b81516001600160801b03168152610180810160208301516132e160208401826001600160801b03169052565b5060408301516132fc60408401826001600160801b03169052565b50606083015161331760608401826001600160801b03169052565b50608083015161332c6080840182600f0b9052565b5060a083015161334760a08401826001600160801b03169052565b5060c083015161336260c08401826001600160801b03169052565b5060e083015161337d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261322b565b5f805f805f60a086880312156133da575f80fd5b8535945060208601356133ec81612d1f565b935060408601356133fc81612d1f565b925060608601359150608086013561341381612d1f565b809150509295509295909350565b5f8060408385031215613432575f80fd5b823561343d81612d1f565b91506020830135612f8281612d1f565b5f60208083525f84545f60018260011c9150600183168061346f57607f831692505b60208310810361348d57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ac57600181146134c2576134eb565b60ff198616825284151560051b820196506134eb565b5f8b8152602090205f5b868110156134e5578154848201529085019089016134cc565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ec576107ec61350e565b818103818111156107ec576107ec61350e565b5f8060408385031215613559575f80fd5b825191506020830151612f8281612d4e565b805161059e81612d1f565b5f60208284031215613586575f80fd5b815161073b81612d1f565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516135e4816011850160208701612cc0565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161361d816012850160208701612cc0565b9190910160120192915050565b5f6020828403121561363a575f80fd5b5051919050565b5f6020808385031215613652575f80fd5b825167ffffffffffffffff80821115613669575f80fd5b818501915085601f83011261367c575f80fd5b81518181111561368e5761368e613591565b8060051b604051601f19603f830116810181811085821117156136b3576136b3613591565b6040529182528482019250838101850191888311156136d0575f80fd5b938501935b828510156136f5576136e68561356b565b845293850193928501926136d5565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161372b816010850160208701612cc0565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516135e4816011850160208701612cc0565b8181035f8312801583831316838312821617156112475761124761350e565b634e487b7160e01b5f52601260045260245ffd5b5f826137a4576137a4613782565b500690565b5f600182016137ba576137ba61350e565b5060010190565b5f826137cf576137cf613782565b500490565b5f808335601e198436030181126137e9575f80fd5b83018035915067ffffffffffffffff821115613803575f80fd5b602001915036819003821315612e45575f80fd5b80820281158282048414176107ec576107ec61350e565b5f6020828403121561383e575f80fd5b815161073b81612d4e565b805169ffffffffffffffffffff8116811461059e575f80fd5b5f805f805f60a08688031215613876575f80fd5b61387f86613849565b94506020860151935060408601519250606086015191506138a260808701613849565b90509295509295909350565b5f82516138bf818460208701612cc0565b919091019291505056fea2646970667358221220865bcc4e363df9c8c27d2739b1d8270b265f9ec9ec21b7eff679a90dcae2e04c64736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "aggregator()": "245a7bfc", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts deleted file mode 100644 index 1413b944d..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ChainlinkTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ChainlinkTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts.map deleted file mode 100644 index 4eeb24f90..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I6/iC,KAAK,MAAM,EAAE;;;;CAI9ijC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.js deleted file mode 100644 index 8df360277..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ChainlinkTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506142ea8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613d94806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003d9438038062003d948339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516138ff620004955f395f81816107500152818161259001526125bb01525f61078901525f8181610d4f015261231801525f8181610d2001526122db01525f8181610bfc01528181610e7f01528181610f0d01528181610f9b0152818161102901528181611632015281816116c80152818161188a01528181611ea201528181611f7601526120c701525f610de701525f8181610dc101526124bd01525f8181610d9b015261249701525f8181610d75015261247101525f61113401525f61110e01525f6110e801525f6110c201525f8181610e5901526124e301525f8181610e0d015281816112bf015261286001525f8181610e3301526129de01525f818161061e01528181610cf101528181611e1701526129b001525f8181610cc2015261125c01526138ff5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b806320fc4881146102f157806321ff32a914610336578063245a7bfc14610357578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ca9565b61056c565b6040516102579190612d0d565b60405180910390f35b61027361026e366004612d33565b6105a3565b005b610273610283366004612d5b565b6105ac565b61024a6105b5565b61024a6105f9565b6102a0610610565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612d76565b61064f565b6102736102d9366004612e4c565b61066b565b6102736102ec366004612edb565b610681565b6103046102ff366004612ca9565b610694565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f20565b6106fd565b604051908152602001610257565b6102a0610742565b610367610781565b60405160ff9091168152602001610257565b610349610387366004612f5f565b6107ba565b6103496107f2565b6103496103a2366004612f8d565b610810565b6103ba6103b5366004612d33565b61081a565b6040519015158152602001610257565b61024a6103d8366004612ca9565b610839565b6102736103eb366004612fc4565b610847565b61024a610895565b6104006108ca565b604051610257919061300b565b61027361041b3660046130ac565b5050565b61034961042d366004612d33565b610bc3565b6102a0610bee565b6102736104483660046130d8565b610c2d565b61027361045b3660046130ac565b610c3e565b61027361046e366004612d33565b50565b610479610ca9565b604051610257919061310d565b610349610494366004612ca9565b611169565b6103496104a7366004612ca9565b611176565b6104bf6104ba366004613233565b611197565b6040516102579190613272565b6102a061124e565b61034961128d565b6103496104ea366004612ca9565b6112a6565b6103496104fd366004612ca9565b6112b3565b61050a6112e9565b60405161025791906132b5565b6102736105253660046133c6565b6113f4565b6103ba610538366004613421565b61143c565b61054561147f565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114dd565b60405160200161058a9190612d0d565b604051602081830303815290604052611603565b919050565b61046e81611627565b61046e81611888565b60606105f660405180604001604052806013815260200172436861696e6c696e6b4879706572647269766560681b81525060405160200161058a9190612d0d565b90565b60606105f6600160405160200161058a919061344d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6106608989898989898989896119a0565b505050505050505050565b610679868686868686611b92565b505050505050565b61068e8484848433611c45565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073b910161058a565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6040805160ff7f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ec910161058a565b92915050565b5f6105f66107fe611e00565b60405160200161058a91815260200190565b5f6107ec82611e8d565b5f61059e610827836120c3565b6040805191151560208301520161058a565b606061059e61057a836121a1565b836108518161229d565b6001600160a01b0316336001600160a01b03161461088257604051632aab8bd360e01b815260040160405180910390fd5b61088e8585858561235a565b5050505050565b60606105f660405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d0d565b610934604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61093d6123c6565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109a79190613522565b6109b19190613535565b90505f8215610ac05773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109dd856123d8565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab09190613548565b509050610abd8184612562565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9057610b8b8486612576565b610b92565b5f5b81526003546001600160801b0316602091820152604051919250610bbc9161058a9184910161300b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b610c398383833361235a565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb1612bd5565b6105f66040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efd9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8b9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a79190613576565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061310d565b5f61059e6107fe8361258a565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111b3576111b3613591565b6040519080825280602002602001820160405280156111dc578160200160208202803683370190505b5090505f5b83811015611232575f8585838181106111fc576111fc6135a5565b9050602002013590505f815490508084848151811061121d5761121d6135a5565b602090810291909101015250506001016111e1565b506112478160405160200161058a9190613272565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f6105f660095460405160200161058a91815260200190565b5f61059e6107fe836125b5565b5f61059e6107fe6112e47f000000000000000000000000000000000000000000000000000000000000000085613522565b6125e0565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f6600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113fe8161229d565b6001600160a01b0316336001600160a01b03161461142f57604051632aab8bd360e01b815260040160405180910390fd5b6106798686868686611c45565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ec910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f69060600161058a565b606060f882901c6001600160f81b0383165f6114f882612620565b90505f83600381111561150d5761150d6134fa565b0361153f576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115fb565b6001836003811115611553576115536134fa565b0361157f578060405160200161156991906135b9565b60405160208183030381529060405293506115fb565b6002836003811115611593576115936134fa565b036115a9578060405160200161156991906135f1565b60038360038111156115bd576115bd6134fa565b036115fb576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161161e9190612d0d565b60405180910390fd5b61162f6126d2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b09190613576565b9050336001600160a01b0382161480159061175c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611722573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117469190613576565b6001600160a01b0316336001600160a01b031614155b801561176e575061176c336120c3565b155b1561178b576040516282b42960e81b815260040160405180910390fd5b5f611794611e00565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff919061362a565b90506118156001600160a01b03851684836126fa565b8161181e611e00565b1461183c576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613576565b6001600160a01b0316336001600160a01b03161415801561192f575061192d336120c3565b155b1561194c576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061199590831515815260200190565b60405180910390a150565b834211156119c15760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119e85760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ad2573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1057604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611baf57506001600160a01b038516155b15611bcd5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bed5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c3c57611c34858583818110611c0c57611c0c6135a5565b905060200201358888868686818110611c2757611c276135a5565b9050602002013533611c45565b600101611bef565b50505050505050565b6001600160a01b0384161580611c6257506001600160a01b038316155b15611c805760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d40576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d40575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d3e575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d38908490613535565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d71908490613535565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611da7908490613522565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e88919061362a565b905090565b5f611e966126d2565b611e9f8261274c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f209190613576565b90506001600160a01b038116611f396020850185612d33565b6001600160a01b031614611f6057604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061200a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff49190613576565b6001600160a01b0316336001600160a01b031614155b801561201c575061201a336120c3565b155b15612039576040516282b42960e81b815260040160405180910390fd5b5f6120426123c6565b600980545f909155909150612058818387612781565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461209760408a0160208b01612d5b565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612120573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121479190810190613641565b90505f5b815181101561219857836001600160a01b0316828281518110612170576121706135a5565b60200260200101516001600160a01b031603612190575060019392505050565b60010161214b565b505f9392505050565b606060f882901c6001600160f81b0383165f6121bc82612620565b90505f8360038111156121d1576121d16134fa565b03612203576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115fb565b6001836003811115612217576122176134fa565b0361222d57806040516020016115699190613701565b6002836003811115612241576122416134fa565b0361225757806040516020016115699190613738565b600383600381111561226b5761226b6134fa565b036115fb57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e88670de0b6b3a764000061258a565b6124306040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125289116612817565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261255a92900416612817565b905292915050565b5f61073b8383670de0b6b3a764000061288b565b5f61073b83670de0b6b3a76400008461288b565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128a6565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128ba565b5f612605600b5f6125f26002866128c7565b81526020019081526020015f20546128fb565b612616600b5f6125f26001876128c7565b6107ec9190613763565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126c457612659600a86613796565b612664906030613522565b60f81b8260016126748487613535565b61267e9190613535565b8151811061268e5761268e6135a5565b60200101906001600160f81b03191690815f1a905350806126ae816137a9565b91506126bd9050600a866137c1565b9450612648565b918290030190815292915050565b60025f54036126f457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c39908490612928565b5f61275a6020830183612d33565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061278d8585612562565b9050612798816125b5565b9450845f036127aa575f91505061073b565b8491506127bd6040840160208501612d5b565b156127ec576127e5856127d36020860186612d33565b6127e060408701876137d4565b612989565b915061280f565b61280f856127fd6020860186612d33565b61280a60408701876137d4565b6129a3565b509392505050565b5f80670de0b6b3a764000061282a6129d7565b6128349190613817565b9050808311612843575f61284d565b61284d8184613535565b915061073b612884670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613817565b8390612576565b5f825f19048411830215820261289f575f80fd5b5091020490565b5f61073b6128b384612a02565b8390612562565b5f61073b61288484612a02565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a73565b905080515f1415801561296057508080602001905181019061295e919061382e565b155b15610c3957604051635274afe760e01b81526001600160a01b038416600482015260240161161e565b5f60405163350b944160e11b815260040160405180910390fd5b61068e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126fa565b5f611e88427f0000000000000000000000000000000000000000000000000000000000000000612a80565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a649190613862565b50505091505061073b81612a95565b606061073b83835f612ab7565b5f612a8b8284613796565b61073b9084613535565b5f808212156129245760405163071d137160e51b815260040160405180910390fd5b606081471015612adc5760405163cd78605960e01b815230600482015260240161161e565b5f80856001600160a01b03168486604051612af791906138ae565b5f6040518083038185875af1925050503d805f8114612b31576040519150601f19603f3d011682016040523d82523d5f602084013e612b36565b606091505b5091509150612b46868383612b50565b9695505050505050565b606082612b6557612b6082612bac565b61073b565b8151158015612b7c57506001600160a01b0384163b155b15612ba557604051639996b31560e01b81526001600160a01b038516600482015260240161161e565b508061073b565b805115612bbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ca460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cb9575f80fd5b5035919050565b5f5b83811015612cda578181015183820152602001612cc2565b50505f910152565b5f8151808452612cf9816020860160208601612cc0565b601f01601f19169290920160200192915050565b602081525f61073b6020830184612ce2565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d43575f80fd5b813561073b81612d1f565b801515811461046e575f80fd5b5f60208284031215612d6b575f80fd5b813561073b81612d4e565b5f805f805f805f805f6101208a8c031215612d8f575f80fd5b8935985060208a0135975060408a0135612da881612d1f565b965060608a0135612db881612d1f565b955060808a0135612dc881612d4e565b945060a08a0135935060c08a013560ff81168114612de4575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e14575f80fd5b50813567ffffffffffffffff811115612e2b575f80fd5b6020830191508360208260051b8501011115612e45575f80fd5b9250929050565b5f805f805f8060808789031215612e61575f80fd5b8635612e6c81612d1f565b95506020870135612e7c81612d1f565b9450604087013567ffffffffffffffff80821115612e98575f80fd5b612ea48a838b01612e04565b90965094506060890135915080821115612ebc575f80fd5b50612ec989828a01612e04565b979a9699509497509295939492505050565b5f805f8060808587031215612eee575f80fd5b843593506020850135612f0081612d1f565b92506040850135612f1081612d1f565b9396929550929360600135925050565b5f805f60608486031215612f32575f80fd5b833592506020840135612f4481612d1f565b91506040840135612f5481612d1f565b809150509250925092565b5f8060408385031215612f70575f80fd5b823591506020830135612f8281612d1f565b809150509250929050565b5f60208284031215612f9d575f80fd5b813567ffffffffffffffff811115612fb3575f80fd5b82016060818503121561073b575f80fd5b5f805f8060808587031215612fd7575f80fd5b843593506020850135612fe981612d1f565b925060408501359150606085013561300081612d1f565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130bd575f80fd5b82356130c881612d1f565b91506020830135612f8281612d4e565b5f805f606084860312156130ea575f80fd5b8335925060208401356130fc81612d1f565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161313960208401826001600160a01b03169052565b50604083015161315460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516131c6828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613244575f80fd5b823567ffffffffffffffff81111561325a575f80fd5b61326685828601612e04565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132a95783518352928401929184019160010161328d565b50909695505050505050565b81516001600160801b03168152610180810160208301516132e160208401826001600160801b03169052565b5060408301516132fc60408401826001600160801b03169052565b50606083015161331760608401826001600160801b03169052565b50608083015161332c6080840182600f0b9052565b5060a083015161334760a08401826001600160801b03169052565b5060c083015161336260c08401826001600160801b03169052565b5060e083015161337d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261322b565b5f805f805f60a086880312156133da575f80fd5b8535945060208601356133ec81612d1f565b935060408601356133fc81612d1f565b925060608601359150608086013561341381612d1f565b809150509295509295909350565b5f8060408385031215613432575f80fd5b823561343d81612d1f565b91506020830135612f8281612d1f565b5f60208083525f84545f60018260011c9150600183168061346f57607f831692505b60208310810361348d57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ac57600181146134c2576134eb565b60ff198616825284151560051b820196506134eb565b5f8b8152602090205f5b868110156134e5578154848201529085019089016134cc565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ec576107ec61350e565b818103818111156107ec576107ec61350e565b5f8060408385031215613559575f80fd5b825191506020830151612f8281612d4e565b805161059e81612d1f565b5f60208284031215613586575f80fd5b815161073b81612d1f565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516135e4816011850160208701612cc0565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161361d816012850160208701612cc0565b9190910160120192915050565b5f6020828403121561363a575f80fd5b5051919050565b5f6020808385031215613652575f80fd5b825167ffffffffffffffff80821115613669575f80fd5b818501915085601f83011261367c575f80fd5b81518181111561368e5761368e613591565b8060051b604051601f19603f830116810181811085821117156136b3576136b3613591565b6040529182528482019250838101850191888311156136d0575f80fd5b938501935b828510156136f5576136e68561356b565b845293850193928501926136d5565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161372b816010850160208701612cc0565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516135e4816011850160208701612cc0565b8181035f8312801583831316838312821617156112475761124761350e565b634e487b7160e01b5f52601260045260245ffd5b5f826137a4576137a4613782565b500690565b5f600182016137ba576137ba61350e565b5060010190565b5f826137cf576137cf613782565b500490565b5f808335601e198436030181126137e9575f80fd5b83018035915067ffffffffffffffff821115613803575f80fd5b602001915036819003821315612e45575f80fd5b80820281158282048414176107ec576107ec61350e565b5f6020828403121561383e575f80fd5b815161073b81612d4e565b805169ffffffffffffffffffff8116811461059e575f80fd5b5f805f805f60a08688031215613876575f80fd5b61387f86613849565b94506020860151935060408601519250606086015191506138a260808701613849565b90509295509295909350565b5f82516138bf818460208701612cc0565b919091019291505056fea2646970667358221220865bcc4e363df9c8c27d2739b1d8270b265f9ec9ec21b7eff679a90dcae2e04c64736f6c63430008160033a2646970667358221220763dc87fe8b2892ca4b50ea5dd31e724ef5511178a35297febd12632006c207864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts deleted file mode 100644 index 1e980d55e..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts +++ /dev/null @@ -1,806 +0,0 @@ -export declare const ChainlinkTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=ChainlinkTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts.map deleted file mode 100644 index 3af62e06e..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget1.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAs+Bi4/B,KAAK,MAAM,EAAE;;;;;CAK16/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.js deleted file mode 100644 index f1c73fc44..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1.js +++ /dev/null @@ -1,1004 +0,0 @@ -export const ChainlinkTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003fc538038062003fc58339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613afa620004cb5f395f8181611970015261250401525f50505f50505f50505f610b2e01525f50505f818160a9015281816103140152612b0101525f818161139301528181611791015281816117f4015281816126ea015281816127260152818161291e0152612adb01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ab501525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b2701525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61255001525f5050613afa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461352b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461352b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613599565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135ac565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135df565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613607565b6102bd8a6102b78d8f613599565b90611584565b8d6102cb60408c018c613622565b6040516102df98979695949392919061368d565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613599565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136d4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135df565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613607565b8a61050260408b018b613622565b60405161051597969594939291906136fb565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135df565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613599565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61373b565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613599565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61373b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613599565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613599565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613599565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361373b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135ac565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061378e565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061373b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e96818461373b565b610ea09089613599565b9750610eac8284613599565b610eb6908d613599565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061373b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a61373b565b9850670de0b6b3a7640000610ff0610f8b8787613599565b600254610fa9908f90600160801b90046001600160801b031661373b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661373b565b6110d191906137a9565b85670de0b6b3a76400006110e5878a61373b565b6110ef91906137a9565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137a9565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137c0565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135ac565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613599565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b8491506115296040840160208501613607565b15611558576115518561153f60208601866135df565b61154c6040870187613622565b612529565b915061157b565b61157b8561156960208601866135df565b6115766040870187613622565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae828461373b565b6116b8908961373b565b97506116c48184613599565b6116ce908e61373b565b9c506116da8a8e613599565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061373b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361373b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135ac565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137a9565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261373b565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613821565b61157d908461373b565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b90612609565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a68838361373b565b9050611a776110fa8286612678565b60068054601090611a99908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361268c90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613599565b90915550611b219050818361373b565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126a0565b600480545f90611b87908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc6878561268c565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c31828261373b565b611c3b908461373b565b9250611c59565b611c4c828261373b565b611c569084613599565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b9061268c565b9050611cab8884866124e3565b611cb59082613599565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b03169061373b565b9050805f03611d5657600191505061131b565b5f611d60856126c9565b9050805f03611d745760019250505061131b565b5f80611d81838589612764565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd19291906138b2565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613927565b91509150611e2d611e1f82611321565b611e2890613949565b6128d8565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612a6c565b6040518263ffffffff1660e01b8152600401611f2b9190613963565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613972565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613599565b611fed919061373b565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d6139a0565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d3818461373b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061268c565b5f808061211f61211788670de0b6b3a764000061373b565b899087612ba6565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a764000061373b565b8989612bc9565b925061215e8382613599565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a764000061373b565b83906124cf565b61157d90670de0b6b3a764000061373b565b5f806121d3856121ab6119aa565b6121b59190613599565b600254610fa9908790600160801b90046001600160801b031661373b565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a764000061373b565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612ba6565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a764000061373b565b8a9088612ba6565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613599565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b91906135ac565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b61237891906135ac565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613599565b6123b88587611584565b6123c2888a611584565b611c989190613599565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b612426612408848761373b565b61241285876124cf565b61241c888a611584565b611c98919061373b565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612beb565b612483845f612beb565b61248d91906135ac565b90505f8113156124a8576124a18186613599565b94506124c6565b5f8112156124c6576124b981613949565b6124c3908661373b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612ba6565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c00565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c14565b50505050565b5f808061259d61259588670de0b6b3a764000061373b565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a764000061373b565b8989612c6b565b5f806125dc8484612c7b565b9092509050806125ee576125ee6113ec565b5092915050565b5f61157d61260284612cb6565b8390611584565b5f815f036126205750670de0b6b3a764000061131b565b825f0361262e57505f61131b565b5f61263883611321565b90505f61264c61264786611321565b612d27565b9050818102612663670de0b6b3a7640000826139b4565b905061266e81612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612ba6565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906126e3906001600160801b031684612678565b905061270f7f000000000000000000000000000000000000000000000000000000000000000082613599565b6002546001600160801b03161115611a17576002547f00000000000000000000000000000000000000000000000000000000000000009061275a9083906001600160801b031661373b565b61157d919061373b565b61276c61348c565b5f8061277784612a6c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016127b19190613963565b6040805180830381865af41580156127cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ef9190613972565b935090508261280357505f91506128d09050565b5f61282961282484610160015185610140015161158490919063ffffffff16565b611321565b6128496128248561012001518661010001516124cf90919063ffffffff16565b61285391906135ac565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129b291906139e0565b9350935093509350806129cd57505f98975050505050505050565b8684146129fe576129dd846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2f57612a0e83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5d57612a3f826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a746134d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b6c91166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b9e929004166130de565b905292915050565b5f825f190484118302158202612bba575f80fd5b50910281810615159190040190565b5f80612bd988888888888861314b565b909250905080611cc557611cc56113ec565b5f818313612bf9578161157d565b5090919050565b5f61157d612c0d84612cb6565b839061268c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612c66908490613227565b505050565b5f80612bd988888888888861328d565b5f805f83612c8886611321565b612c9291906135ac565b90505f811215612ca8575f809250925050612caf565b9150600190505b9250929050565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612cf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d189190613a31565b50505091505061157d81613349565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061266e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb91906137a9565b905080831161310a575f613114565b613114818461373b565b915061157d612c0d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137a9565b5f805f61315b898988888861336b565b905086881015613171575f80925092505061321c565b96869003966131808887612609565b975087811015613196575f80925092505061321c565b8781036131a4818688612ba6565b9050670de0b6b3a764000081106131d8576131d16131ca670de0b6b3a764000089612678565b8290612609565b90506131f0565b6131ed6131ca670de0b6b3a76400008961268c565b90505b6131fa8186612678565b905089811015613211575f8093509350505061321c565b899003925060019150505b965096945050505050565b5f61323b6001600160a01b03841683613399565b905080515f1415801561325f57508080602001905181019061325d9190613a7d565b155b15612c6657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61329d898988888861336b565b90506132ad866119da898b613599565b9750878110156132c3575f80925092505061321c565b8781036132d1818688612ba6565b9050670de0b6b3a764000081106132fe576132f76131ca670de0b6b3a764000089612678565b9050613316565b6133136131ca670de0b6b3a76400008961268c565b90505b6133208186612678565b9050808a1015613337575f8093509350505061321c565b90980398600198509650505050505050565b5f8082121561134a5760405163071d137160e51b815260040160405180910390fd5b5f6133768585612609565b61338f613387866119da868b6124cf565b859085612ba6565b6124269190613599565b606061157d83835f845f80856001600160a01b031684866040516133bd9190613a98565b5f6040518083038185875af1925050503d805f81146133f7576040519150601f19603f3d011682016040523d82523d5f602084013e6133fc565b606091505b509150915061266e86838360608261341c5761341782613463565b61157d565b815115801561343357506001600160a01b0384163b155b1561345c57604051639996b31560e01b81526001600160a01b0385166004820152602401613284565b508061157d565b8051156134735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134a06134d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561353e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613569575f80fd5b85016060818803121561357a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613585565b8181035f8312801583831316838312821617156125ee576125ee613585565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135ef575f80fd5b813561157d816135cb565b8015158114610591575f80fd5b5f60208284031215613617575f80fd5b813561157d816135fa565b5f808335601e19843603018112613637575f80fd5b83018035915067ffffffffffffffff821115613651575f80fd5b602001915036819003821315612caf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136c660e083018486613665565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136f3576136f3613585565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61372e60c083018486613665565b9998505050505050505050565b8181038181111561131b5761131b613585565b6001600160701b038181168382160190808211156125ee576125ee613585565b6001600160801b038181168382160190808211156125ee576125ee613585565b5f6020828403121561379e575f80fd5b815161157d816135cb565b808202811582820484141761131b5761131b613585565b6001600160801b038281168282160390808211156125ee576125ee613585565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613585565b634e487b7160e01b5f52601260045260245ffd5b5f8261382f5761382f61380d565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138c5828551613834565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613938575f80fd5b505080516020909101519092909150565b5f600160ff1b820161395d5761395d613585565b505f0390565b610180810161131b8284613834565b5f8060408385031215613983575f80fd5b825191506020830151613995816135fa565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139c2576139c261380d565b600160ff1b82145f19841416156139db576139db613585565b500590565b5f805f80608085870312156139f3575f80fd5b845193506020850151925060408501519150606085015161357a816135fa565b805169ffffffffffffffffffff81168114613a2c575f80fd5b919050565b5f805f805f60a08688031215613a45575f80fd5b613a4e86613a13565b9450602086015193506040860151925060608601519150613a7160808701613a13565b90509295509295909350565b5f60208284031215613a8d575f80fd5b815161157d816135fa565b5f82515f5b81811015613ab75760208186018101518583015201613a9d565b505f92019182525091905056fea26469706673582212202d586cae72b83505910ff34ffbb5ed2dda4db266d92ee4ce595d84dcc2f6b6fc64736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts deleted file mode 100644 index d92723d4d..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ChainlinkTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ChainlinkTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts.map deleted file mode 100644 index 340a0c4f1..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+llC,KAAK,MAAM,EAAE;;;;CAIhplC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.js deleted file mode 100644 index 98d3af199..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ChainlinkTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061451b8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613fc5806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003fc538038062003fc58339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613afa620004cb5f395f8181611970015261250401525f50505f50505f50505f610b2e01525f50505f818160a9015281816103140152612b0101525f818161139301528181611791015281816117f4015281816126ea015281816127260152818161291e0152612adb01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ab501525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b2701525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61255001525f5050613afa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461352b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461352b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613599565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135ac565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135df565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613607565b6102bd8a6102b78d8f613599565b90611584565b8d6102cb60408c018c613622565b6040516102df98979695949392919061368d565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613599565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136d4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135df565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613607565b8a61050260408b018b613622565b60405161051597969594939291906136fb565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135df565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613599565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61373b565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613599565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61373b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613599565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613599565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613599565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361373b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135ac565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061378e565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061373b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e96818461373b565b610ea09089613599565b9750610eac8284613599565b610eb6908d613599565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061373b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a61373b565b9850670de0b6b3a7640000610ff0610f8b8787613599565b600254610fa9908f90600160801b90046001600160801b031661373b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661373b565b6110d191906137a9565b85670de0b6b3a76400006110e5878a61373b565b6110ef91906137a9565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137a9565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137c0565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135ac565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613599565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b8491506115296040840160208501613607565b15611558576115518561153f60208601866135df565b61154c6040870187613622565b612529565b915061157b565b61157b8561156960208601866135df565b6115766040870187613622565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae828461373b565b6116b8908961373b565b97506116c48184613599565b6116ce908e61373b565b9c506116da8a8e613599565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061373b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361373b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135ac565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137a9565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261373b565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613821565b61157d908461373b565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b90612609565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a68838361373b565b9050611a776110fa8286612678565b60068054601090611a99908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361268c90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613599565b90915550611b219050818361373b565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126a0565b600480545f90611b87908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc6878561268c565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c31828261373b565b611c3b908461373b565b9250611c59565b611c4c828261373b565b611c569084613599565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b9061268c565b9050611cab8884866124e3565b611cb59082613599565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b03169061373b565b9050805f03611d5657600191505061131b565b5f611d60856126c9565b9050805f03611d745760019250505061131b565b5f80611d81838589612764565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd19291906138b2565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613927565b91509150611e2d611e1f82611321565b611e2890613949565b6128d8565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612a6c565b6040518263ffffffff1660e01b8152600401611f2b9190613963565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613972565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613599565b611fed919061373b565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d6139a0565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d3818461373b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061268c565b5f808061211f61211788670de0b6b3a764000061373b565b899087612ba6565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a764000061373b565b8989612bc9565b925061215e8382613599565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a764000061373b565b83906124cf565b61157d90670de0b6b3a764000061373b565b5f806121d3856121ab6119aa565b6121b59190613599565b600254610fa9908790600160801b90046001600160801b031661373b565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a764000061373b565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612ba6565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a764000061373b565b8a9088612ba6565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613599565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b91906135ac565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b61237891906135ac565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613599565b6123b88587611584565b6123c2888a611584565b611c989190613599565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b612426612408848761373b565b61241285876124cf565b61241c888a611584565b611c98919061373b565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612beb565b612483845f612beb565b61248d91906135ac565b90505f8113156124a8576124a18186613599565b94506124c6565b5f8112156124c6576124b981613949565b6124c3908661373b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612ba6565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c00565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c14565b50505050565b5f808061259d61259588670de0b6b3a764000061373b565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a764000061373b565b8989612c6b565b5f806125dc8484612c7b565b9092509050806125ee576125ee6113ec565b5092915050565b5f61157d61260284612cb6565b8390611584565b5f815f036126205750670de0b6b3a764000061131b565b825f0361262e57505f61131b565b5f61263883611321565b90505f61264c61264786611321565b612d27565b9050818102612663670de0b6b3a7640000826139b4565b905061266e81612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612ba6565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906126e3906001600160801b031684612678565b905061270f7f000000000000000000000000000000000000000000000000000000000000000082613599565b6002546001600160801b03161115611a17576002547f00000000000000000000000000000000000000000000000000000000000000009061275a9083906001600160801b031661373b565b61157d919061373b565b61276c61348c565b5f8061277784612a6c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016127b19190613963565b6040805180830381865af41580156127cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ef9190613972565b935090508261280357505f91506128d09050565b5f61282961282484610160015185610140015161158490919063ffffffff16565b611321565b6128496128248561012001518661010001516124cf90919063ffffffff16565b61285391906135ac565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129b291906139e0565b9350935093509350806129cd57505f98975050505050505050565b8684146129fe576129dd846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2f57612a0e83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5d57612a3f826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a746134d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b6c91166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b9e929004166130de565b905292915050565b5f825f190484118302158202612bba575f80fd5b50910281810615159190040190565b5f80612bd988888888888861314b565b909250905080611cc557611cc56113ec565b5f818313612bf9578161157d565b5090919050565b5f61157d612c0d84612cb6565b839061268c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612c66908490613227565b505050565b5f80612bd988888888888861328d565b5f805f83612c8886611321565b612c9291906135ac565b90505f811215612ca8575f809250925050612caf565b9150600190505b9250929050565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612cf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d189190613a31565b50505091505061157d81613349565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061266e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb91906137a9565b905080831161310a575f613114565b613114818461373b565b915061157d612c0d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137a9565b5f805f61315b898988888861336b565b905086881015613171575f80925092505061321c565b96869003966131808887612609565b975087811015613196575f80925092505061321c565b8781036131a4818688612ba6565b9050670de0b6b3a764000081106131d8576131d16131ca670de0b6b3a764000089612678565b8290612609565b90506131f0565b6131ed6131ca670de0b6b3a76400008961268c565b90505b6131fa8186612678565b905089811015613211575f8093509350505061321c565b899003925060019150505b965096945050505050565b5f61323b6001600160a01b03841683613399565b905080515f1415801561325f57508080602001905181019061325d9190613a7d565b155b15612c6657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61329d898988888861336b565b90506132ad866119da898b613599565b9750878110156132c3575f80925092505061321c565b8781036132d1818688612ba6565b9050670de0b6b3a764000081106132fe576132f76131ca670de0b6b3a764000089612678565b9050613316565b6133136131ca670de0b6b3a76400008961268c565b90505b6133208186612678565b9050808a1015613337575f8093509350505061321c565b90980398600198509650505050505050565b5f8082121561134a5760405163071d137160e51b815260040160405180910390fd5b5f6133768585612609565b61338f613387866119da868b6124cf565b859085612ba6565b6124269190613599565b606061157d83835f845f80856001600160a01b031684866040516133bd9190613a98565b5f6040518083038185875af1925050503d805f81146133f7576040519150601f19603f3d011682016040523d82523d5f602084013e6133fc565b606091505b509150915061266e86838360608261341c5761341782613463565b61157d565b815115801561343357506001600160a01b0384163b155b1561345c57604051639996b31560e01b81526001600160a01b0385166004820152602401613284565b508061157d565b8051156134735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134a06134d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561353e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613569575f80fd5b85016060818803121561357a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613585565b8181035f8312801583831316838312821617156125ee576125ee613585565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135ef575f80fd5b813561157d816135cb565b8015158114610591575f80fd5b5f60208284031215613617575f80fd5b813561157d816135fa565b5f808335601e19843603018112613637575f80fd5b83018035915067ffffffffffffffff821115613651575f80fd5b602001915036819003821315612caf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136c660e083018486613665565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136f3576136f3613585565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61372e60c083018486613665565b9998505050505050505050565b8181038181111561131b5761131b613585565b6001600160701b038181168382160190808211156125ee576125ee613585565b6001600160801b038181168382160190808211156125ee576125ee613585565b5f6020828403121561379e575f80fd5b815161157d816135cb565b808202811582820484141761131b5761131b613585565b6001600160801b038281168282160390808211156125ee576125ee613585565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613585565b634e487b7160e01b5f52601260045260245ffd5b5f8261382f5761382f61380d565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138c5828551613834565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613938575f80fd5b505080516020909101519092909150565b5f600160ff1b820161395d5761395d613585565b505f0390565b610180810161131b8284613834565b5f8060408385031215613983575f80fd5b825191506020830151613995816135fa565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139c2576139c261380d565b600160ff1b82145f19841416156139db576139db613585565b500590565b5f805f80608085870312156139f3575f80fd5b845193506020850151925060408501519150606085015161357a816135fa565b805169ffffffffffffffffffff81168114613a2c575f80fd5b919050565b5f805f805f60a08688031215613a45575f80fd5b613a4e86613a13565b9450602086015193506040860151925060608601519150613a7160808701613a13565b90509295509295909350565b5f60208284031215613a8d575f80fd5b815161157d816135fa565b5f82515f5b81811015613ab75760208186018101518583015201613a9d565b505f92019182525091905056fea26469706673582212202d586cae72b83505910ff34ffbb5ed2dda4db266d92ee4ce595d84dcc2f6b6fc64736f6c63430008160033a264697066735822122054a2031bd3d1c581af53eeb58de0782ad11eb258834261810f3fbf7120f2db9664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts deleted file mode 100644 index 1fdfad9c0..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts +++ /dev/null @@ -1,826 +0,0 @@ -export declare const ChainlinkTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=ChainlinkTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts.map deleted file mode 100644 index b9c9def20..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget2.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+/B65gC,KAAK,MAAM,EAAE;;;;;CAKt8gC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.js deleted file mode 100644 index 0c3bc65a6..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2.js +++ /dev/null @@ -1,1029 +0,0 @@ -export const ChainlinkTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b50604051620040d3380380620040d38339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613bfa620004d95f395f61146a01525f50505f50505f50505f610c2801525f50505f818160f9015281816103020152612c0201525f81816114e601528181611c0b01528181611c6e015281816123f5015281816127eb0152818161282701528181612a1f0152612bdc01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bb601525f61183501525f8181611956015281816124e60152818161255e0152612d1a01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612cd601525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c2801525f81816101d301528181610396015281816108e1015261327501525f81816106a7015281816107230152818161079701528181610862015261089a01525f61169b01525f5050613bfa5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461362b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461362b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613699565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613699565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6136c0565b8b611217565b8d8a8a898e8561023e60208301836136c0565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136e8565b8961028960408a018a613703565b60405161029c979695949392919061376e565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613699565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613699565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613699565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846136c0565b85611217565b858b868461049b60208601866136c0565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136e8565b6104ec896104e68a8d6137ae565b90610683565b8d6104fa60408e018e613703565b60405161050e9897969594939291906137c1565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836136c0565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136e8565b156105ea576105e0856105db6040870187613703565b611673565b9093509050610602565b5034610602856105fd6040870187613703565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6137ae565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6137ae565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f8282546109729190613699565b9091555061098d9050865f84610987816119e2565b88611a0b565b6109978183613699565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe9190613699565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae381836137ae565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae9190613848565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613867565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e968784613699565b600254610eb4908890600160801b90046001600160801b03166137ae565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866137ae565b610fb99190613882565b85670de0b6b3a7640000610fcd878a6137ae565b610fd79190613882565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613882565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b6111579082613828565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b61119690846138b9565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613699565b90915550505f838152600b60205260408120805483929061126a908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e8905081836137ae565b6113f290876137ae565b95508861143f816114398d611407868c6137ae565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136e8565b156114ac5750826114b9565b6114b68484612606565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61261a565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613882565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b6111969084613848565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661263f565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138f4565b61069790846137ae565b6002546004545f916106cb916001600160801b0390911690600f0b61261a565b5f61172e826117288588886116c8565b9061269f565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c383836137ae565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361260690919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c9190613699565b9091555061187c905081836137ae565b915061188782611737565b600280545f906118a19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612704565b600480545f906118e2908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119218785612606565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c82826137ae565b61199690846137ae565b92506119b4565b6119a782826137ae565b6119b19084613699565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613882565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a839082613899565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af08361272d565b600480545f90611b04908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b90612606565b9050611ba68884866116c8565b611bb09082613699565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c3485836137ae565b105b15611c4357611c436122aa565b6004549084900390600f0b611c588482613848565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361261a565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613882565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d1188826137ae565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b8261272d565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b03168484612768565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b0316906137ae565b9050805f03611e8057600191505061069a565b5f611e8a856127ca565b9050805f03611e9e5760019250505061069a565b5f80611eab838589612865565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb9291906139b2565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f399190613a27565b91509150611f57611f49826119e2565b611f5290613a49565b6129d9565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612b6d565b6040518263ffffffff1660e01b81526004016120559190613a63565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a72565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d91613699565b61211791906137ae565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613aa0565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a76400006137ae565b8787612ca7565b979650505050505050565b5f6114b661224561221e84670de0b6b3a76400006137ae565b611439670de0b6b3a7640000612234818a611450565b61223e91906137ae565b879061247a565b61225790670de0b6b3a7640000613699565b611b9384670de0b6b3a76400006137ae565b5f8061229f856122776116f8565b6122819190613699565b600254610eb4908790600160801b90046001600160801b03166137ae565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612cc9565b90925090506122e282896137ae565b97505f6122f082888a6116c8565b90506122fc818b6137ae565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d8487613699565b6123378587610683565b612341888a610683565b611b939190613699565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a561238784876137ae565b612391858761247a565b61239b888a610683565b611b9391906137ae565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a9190613848565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b0316613699565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a76400006137ae565b8787612d48565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a76400006137ae565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a76400006137ae565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c9084613699565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b5f6106976125ff84612d58565b8390610683565b5f61069783670de0b6b3a7640000846116c8565b5f806126268484612dc9565b909250905080612638576126386122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612699908590612e01565b50505050565b5f815f036126b65750670de0b6b3a764000061069a565b825f036126c457505f61069a565b5f6126ce836119e2565b90505f6126e26126dd866119e2565b612e67565b90508181026126f9670de0b6b3a764000082613ab4565b90506123a58161308c565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061274a575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f80612774845f61321e565b61277e845f61321e565b6127889190613848565b90505f8113156127a35761279c8186613699565b94506127c1565b5f8112156127c1576127b481613a49565b6127be90866137ae565b94505b50929392505050565b6003545f9081906127e4906001600160801b031684611450565b90506128107f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b03161115611772576002547f00000000000000000000000000000000000000000000000000000000000000009061285b9083906001600160801b03166137ae565b6114b991906137ae565b61286d61358c565b5f8061287884612b6d565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128b29190613a63565b6040805180830381865af41580156128cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f09190613a72565b935090508261290457505f91506129d19050565b5f61292a61292584610160015185610140015161068390919063ffffffff16565b6119e2565b61294a61292585610120015186610100015161247a90919063ffffffff16565b6129549190613848565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ab39190613ae0565b935093509350935080612ace57505f98975050505050505050565b868414612aff57612ade84611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3057612b0f8361272d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5e57612b4082611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b756135d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c6d911661322c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c9f9290041661322c565b905292915050565b5f80612cb78888888888886132a0565b909250905080611bc057611bc06122aa565b5f80612d128561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d08818c611450565b61143991906137ae565b9150612d3e827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cb7888888888888613364565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612d96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dba9190613b31565b5050509150506114b981613420565b5f805f83612dd6866119e2565b612de09190613848565b90505f811215612df6575f80925092505061067c565b946001945092505050565b5f612e156001600160a01b03841683613442565b905080515f14158015612e39575080806020019051810190612e379190613b7d565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e885760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f0b9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130a557505f919050565b680755bf798b4a1bf1e582126130ce576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a764000061323f6106a0565b6132499190613882565b9050808311613258575f613262565b61326281846137ae565b91506114b9613299670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613882565b8390612606565b5f805f6132b0898988888861344f565b90506132ca866117286132c38a8d613699565b8790610683565b98506132d7858a866116c8565b9850888110156132ed575f809250925050613359565b888103670de0b6b3a764000081106133225761331b613314670de0b6b3a764000089611450565b829061269f565b905061333a565b613337613314670de0b6b3a764000089612606565b90505b8089101561334f575f80935093505050613359565b8803925060019150505b965096945050505050565b5f805f613374898988888861344f565b905061338486611728898b613699565b97508781101561339a575f809250925050613359565b8781036133a88186886125cf565b9050670de0b6b3a764000081106133d5576133ce613314670de0b6b3a764000089611450565b90506133ed565b6133ea613314670de0b6b3a764000089612606565b90505b6133f78186611450565b9050808a101561340e575f80935093505050613359565b90980398600198509650505050505050565b5f808212156117605760405163071d137160e51b815260040160405180910390fd5b606061069783835f61347d565b5f61345a858561269f565b61347361346b86611728868b61247a565b8590856125cf565b6123a59190613699565b6060814710156134a25760405163cd78605960e01b8152306004820152602401612e5e565b5f80856001600160a01b031684866040516134bd9190613b98565b5f6040518083038185875af1925050503d805f81146134f7576040519150601f19603f3d011682016040523d82523d5f602084013e6134fc565b606091505b50915091506123a586838360608261351c5761351782613563565b6114b9565b815115801561353357506001600160a01b0384163b155b1561355c57604051639996b31560e01b81526001600160a01b0385166004820152602401612e5e565b50806114b9565b8051156135735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a06135d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613669575f80fd5b85016060818803121561367a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613685565b6001600160a01b03811681146105af575f80fd5b5f602082840312156136d0575f80fd5b81356114b9816136ac565b80151581146105af575f80fd5b5f602082840312156136f8575f80fd5b81356114b9816136db565b5f808335601e19843603018112613718575f80fd5b83018035915067ffffffffffffffff821115613732575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137a160c083018486613746565b9998505050505050505050565b8181038181111561069a5761069a613685565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137fa60e083018486613746565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561263857612638613685565b6001600160801b0381811683821601908082111561263857612638613685565b8181035f83128015838313168383128216171561263857612638613685565b5f60208284031215613877575f80fd5b81516114b9816136ac565b808202811582820484141761069a5761069a613685565b6001600160801b0382811682821603908082111561263857612638613685565b8082018281125f8312801582168215821617156138d8576138d8613685565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613902576139026138e0565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139c5828551613934565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a38575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a5d57613a5d613685565b505f0390565b610180810161069a8284613934565b5f8060408385031215613a83575f80fd5b825191506020830151613a95816136db565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ac257613ac26138e0565b600160ff1b82145f1984141615613adb57613adb613685565b500590565b5f805f8060808587031215613af3575f80fd5b845193506020850151925060408501519150606085015161367a816136db565b805169ffffffffffffffffffff81168114613b2c575f80fd5b919050565b5f805f805f60a08688031215613b45575f80fd5b613b4e86613b13565b9450602086015193506040860151925060608601519150613b7160808701613b13565b90509295509295909350565b5f60208284031215613b8d575f80fd5b81516114b9816136db565b5f82515f5b81811015613bb75760208186018101518583015201613b9d565b505f92019182525091905056fea2646970667358221220fd7bcf9d20b3a827267355b78180e9c498491cf137c663b1f116a4fe25c46f0364736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts deleted file mode 100644 index 0136267cd..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ChainlinkTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ChainlinkTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts.map deleted file mode 100644 index 9f1b689c8..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I2nmC,KAAK,MAAM,EAAE;;;;CAI5qmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.js deleted file mode 100644 index e7752e71e..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ChainlinkTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506146298061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b6140d3806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b50604051620040d3380380620040d38339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613bfa620004d95f395f61146a01525f50505f50505f50505f610c2801525f50505f818160f9015281816103020152612c0201525f81816114e601528181611c0b01528181611c6e015281816123f5015281816127eb0152818161282701528181612a1f0152612bdc01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bb601525f61183501525f8181611956015281816124e60152818161255e0152612d1a01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612cd601525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c2801525f81816101d301528181610396015281816108e1015261327501525f81816106a7015281816107230152818161079701528181610862015261089a01525f61169b01525f5050613bfa5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461362b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461362b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613699565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613699565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6136c0565b8b611217565b8d8a8a898e8561023e60208301836136c0565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136e8565b8961028960408a018a613703565b60405161029c979695949392919061376e565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613699565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613699565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613699565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846136c0565b85611217565b858b868461049b60208601866136c0565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136e8565b6104ec896104e68a8d6137ae565b90610683565b8d6104fa60408e018e613703565b60405161050e9897969594939291906137c1565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836136c0565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136e8565b156105ea576105e0856105db6040870187613703565b611673565b9093509050610602565b5034610602856105fd6040870187613703565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6137ae565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6137ae565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f8282546109729190613699565b9091555061098d9050865f84610987816119e2565b88611a0b565b6109978183613699565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe9190613699565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae381836137ae565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae9190613848565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613867565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e968784613699565b600254610eb4908890600160801b90046001600160801b03166137ae565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866137ae565b610fb99190613882565b85670de0b6b3a7640000610fcd878a6137ae565b610fd79190613882565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613882565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b6111579082613828565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b61119690846138b9565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613699565b90915550505f838152600b60205260408120805483929061126a908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e8905081836137ae565b6113f290876137ae565b95508861143f816114398d611407868c6137ae565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136e8565b156114ac5750826114b9565b6114b68484612606565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61261a565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613882565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b6111969084613848565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661263f565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138f4565b61069790846137ae565b6002546004545f916106cb916001600160801b0390911690600f0b61261a565b5f61172e826117288588886116c8565b9061269f565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c383836137ae565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361260690919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c9190613699565b9091555061187c905081836137ae565b915061188782611737565b600280545f906118a19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612704565b600480545f906118e2908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119218785612606565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c82826137ae565b61199690846137ae565b92506119b4565b6119a782826137ae565b6119b19084613699565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613882565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a839082613899565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af08361272d565b600480545f90611b04908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b90612606565b9050611ba68884866116c8565b611bb09082613699565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c3485836137ae565b105b15611c4357611c436122aa565b6004549084900390600f0b611c588482613848565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361261a565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613882565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d1188826137ae565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b8261272d565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b03168484612768565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b0316906137ae565b9050805f03611e8057600191505061069a565b5f611e8a856127ca565b9050805f03611e9e5760019250505061069a565b5f80611eab838589612865565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb9291906139b2565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f399190613a27565b91509150611f57611f49826119e2565b611f5290613a49565b6129d9565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612b6d565b6040518263ffffffff1660e01b81526004016120559190613a63565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a72565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d91613699565b61211791906137ae565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613aa0565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a76400006137ae565b8787612ca7565b979650505050505050565b5f6114b661224561221e84670de0b6b3a76400006137ae565b611439670de0b6b3a7640000612234818a611450565b61223e91906137ae565b879061247a565b61225790670de0b6b3a7640000613699565b611b9384670de0b6b3a76400006137ae565b5f8061229f856122776116f8565b6122819190613699565b600254610eb4908790600160801b90046001600160801b03166137ae565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612cc9565b90925090506122e282896137ae565b97505f6122f082888a6116c8565b90506122fc818b6137ae565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d8487613699565b6123378587610683565b612341888a610683565b611b939190613699565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a561238784876137ae565b612391858761247a565b61239b888a610683565b611b9391906137ae565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a9190613848565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b0316613699565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a76400006137ae565b8787612d48565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a76400006137ae565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a76400006137ae565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c9084613699565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b5f6106976125ff84612d58565b8390610683565b5f61069783670de0b6b3a7640000846116c8565b5f806126268484612dc9565b909250905080612638576126386122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612699908590612e01565b50505050565b5f815f036126b65750670de0b6b3a764000061069a565b825f036126c457505f61069a565b5f6126ce836119e2565b90505f6126e26126dd866119e2565b612e67565b90508181026126f9670de0b6b3a764000082613ab4565b90506123a58161308c565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061274a575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f80612774845f61321e565b61277e845f61321e565b6127889190613848565b90505f8113156127a35761279c8186613699565b94506127c1565b5f8112156127c1576127b481613a49565b6127be90866137ae565b94505b50929392505050565b6003545f9081906127e4906001600160801b031684611450565b90506128107f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b03161115611772576002547f00000000000000000000000000000000000000000000000000000000000000009061285b9083906001600160801b03166137ae565b6114b991906137ae565b61286d61358c565b5f8061287884612b6d565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128b29190613a63565b6040805180830381865af41580156128cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f09190613a72565b935090508261290457505f91506129d19050565b5f61292a61292584610160015185610140015161068390919063ffffffff16565b6119e2565b61294a61292585610120015186610100015161247a90919063ffffffff16565b6129549190613848565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ab39190613ae0565b935093509350935080612ace57505f98975050505050505050565b868414612aff57612ade84611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3057612b0f8361272d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5e57612b4082611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b756135d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c6d911661322c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c9f9290041661322c565b905292915050565b5f80612cb78888888888886132a0565b909250905080611bc057611bc06122aa565b5f80612d128561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d08818c611450565b61143991906137ae565b9150612d3e827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cb7888888888888613364565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612d96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dba9190613b31565b5050509150506114b981613420565b5f805f83612dd6866119e2565b612de09190613848565b90505f811215612df6575f80925092505061067c565b946001945092505050565b5f612e156001600160a01b03841683613442565b905080515f14158015612e39575080806020019051810190612e379190613b7d565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e885760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f0b9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130a557505f919050565b680755bf798b4a1bf1e582126130ce576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a764000061323f6106a0565b6132499190613882565b9050808311613258575f613262565b61326281846137ae565b91506114b9613299670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613882565b8390612606565b5f805f6132b0898988888861344f565b90506132ca866117286132c38a8d613699565b8790610683565b98506132d7858a866116c8565b9850888110156132ed575f809250925050613359565b888103670de0b6b3a764000081106133225761331b613314670de0b6b3a764000089611450565b829061269f565b905061333a565b613337613314670de0b6b3a764000089612606565b90505b8089101561334f575f80935093505050613359565b8803925060019150505b965096945050505050565b5f805f613374898988888861344f565b905061338486611728898b613699565b97508781101561339a575f809250925050613359565b8781036133a88186886125cf565b9050670de0b6b3a764000081106133d5576133ce613314670de0b6b3a764000089611450565b90506133ed565b6133ea613314670de0b6b3a764000089612606565b90505b6133f78186611450565b9050808a101561340e575f80935093505050613359565b90980398600198509650505050505050565b5f808212156117605760405163071d137160e51b815260040160405180910390fd5b606061069783835f61347d565b5f61345a858561269f565b61347361346b86611728868b61247a565b8590856125cf565b6123a59190613699565b6060814710156134a25760405163cd78605960e01b8152306004820152602401612e5e565b5f80856001600160a01b031684866040516134bd9190613b98565b5f6040518083038185875af1925050503d805f81146134f7576040519150601f19603f3d011682016040523d82523d5f602084013e6134fc565b606091505b50915091506123a586838360608261351c5761351782613563565b6114b9565b815115801561353357506001600160a01b0384163b155b1561355c57604051639996b31560e01b81526001600160a01b0385166004820152602401612e5e565b50806114b9565b8051156135735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a06135d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613669575f80fd5b85016060818803121561367a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613685565b6001600160a01b03811681146105af575f80fd5b5f602082840312156136d0575f80fd5b81356114b9816136ac565b80151581146105af575f80fd5b5f602082840312156136f8575f80fd5b81356114b9816136db565b5f808335601e19843603018112613718575f80fd5b83018035915067ffffffffffffffff821115613732575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137a160c083018486613746565b9998505050505050505050565b8181038181111561069a5761069a613685565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137fa60e083018486613746565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561263857612638613685565b6001600160801b0381811683821601908082111561263857612638613685565b8181035f83128015838313168383128216171561263857612638613685565b5f60208284031215613877575f80fd5b81516114b9816136ac565b808202811582820484141761069a5761069a613685565b6001600160801b0382811682821603908082111561263857612638613685565b8082018281125f8312801582168215821617156138d8576138d8613685565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613902576139026138e0565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139c5828551613934565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a38575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a5d57613a5d613685565b505f0390565b610180810161069a8284613934565b5f8060408385031215613a83575f80fd5b825191506020830151613a95816136db565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ac257613ac26138e0565b600160ff1b82145f1984141615613adb57613adb613685565b500590565b5f805f8060808587031215613af3575f80fd5b845193506020850151925060408501519150606085015161367a816136db565b805169ffffffffffffffffffff81168114613b2c575f80fd5b919050565b5f805f805f60a08688031215613b45575f80fd5b613b4e86613b13565b9450602086015193506040860151925060608601519150613b7160808701613b13565b90509295509295909350565b5f60208284031215613b8d575f80fd5b81516114b9816136db565b5f82515f5b81811015613bb75760208186018101518583015201613b9d565b505f92019182525091905056fea2646970667358221220fd7bcf9d20b3a827267355b78180e9c498491cf137c663b1f116a4fe25c46f0364736f6c63430008160033a2646970667358221220ae0e7847dff6a762a557f519f2052a9223ccb4ffc24c70d7cff076c5e835f05864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts deleted file mode 100644 index ff0d1bfbc..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts +++ /dev/null @@ -1,842 +0,0 @@ -export declare const ChainlinkTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=ChainlinkTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts.map deleted file mode 100644 index ab5871acc..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget3.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmhC+vgC,KAAK,MAAM,EAAE;;;;;CAKxygC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.js deleted file mode 100644 index d289ede3a..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3.js +++ /dev/null @@ -1,1049 +0,0 @@ -export const ChainlinkTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b5060405162004084380380620040848339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613b9a620004ea5f395f612b0301525f50505f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61197401525f5050613b9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613589565b610064565b60405190815260200160405180910390f35b61003f61005f3660046135e8565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613648565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961365b565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613648565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261365b565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061365b565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613648565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016136ec565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906136fb565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016136ec565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906136fb565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761365b565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613726565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613648565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613726565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161374e565b866107a960408c018c613769565b6040516107bc97969594939291906137ac565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026137ff565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613816565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613726565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613726565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161374e565b87610b5e6040890189613769565b604051610b7197969594939291906137ac565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613726565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161374e565b15610c8f57610c8585610c806040870187613769565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613769565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613648565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61365b565b8a846119c8565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613648565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61365b565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff59190613648565b909155506110109050865f8461100a81611766565b88611dad565b61101a8183613648565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f8282546111419190613648565b9091555061115c9050835f8461115681611766565b8a611fa4565b611166818361365b565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613881565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906138a0565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613881565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f613648565b90505f6115888b8b61157987611766565b611583908e6138bb565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613881565b6115e79190613881565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a764000061365b565b906117d4565b6116346134da565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613648565b90915550505f838152600b60205260408120805483929061183b908490613648565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be82846138f6565b61008d908461365b565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a64888661365b565b611a6e91906137ff565b85670de0b6b3a7640000611a82878a61365b565b611a8c91906137ff565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a838361365b565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c039190613648565b90915550611c139050818361365b565b9150611c1e826118d2565b600280545f90611c389084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d57828261365b565b611d61908461365b565b9250611d7f565b611d72828261365b565b611d7c9084613648565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a7640000866137ff565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e259082613909565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c9082613648565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe4858361365b565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613881565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a7640000886137ff565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c1888261365b565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b03169061365b565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab929190613956565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e991906139cb565b915091506123076122f982611766565b612302906139ed565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b815260040161240591906136ec565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124439190613a07565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd91613648565b6124c7919061365b565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561252757612527613a35565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613881565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f79190613648565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d613648565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b9092509050612756828961365b565b97505f61276482888a6117b9565b9050612770818b61365b565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613881565b90505f8113156127ba576127b38186613648565b94506127d8565b5f8112156127d8576127cb816139ed565b6127d5908661365b565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b61283191906137ff565b9050808311612840575f61284a565b61284a818461365b565b915061008d6125f7670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ff565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b9190613a49565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a87565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a8487613648565b612b548587611f67565b612b5e888a611f67565b6116269190613648565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba4848761365b565b612bae85876127e1565b612bb8888a611f67565b611626919061365b565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f000000000000000000000000000000000000000000000000000000000000000082613648565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b031661365b565b61008d919061365b565b612ca261352f565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce791906136ec565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d259190613a07565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613881565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b6100729190613648565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea4919061365b565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b03841683613326565b905080515f141580156132e45750808060200190518101906132e29190613ab3565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f61008d61331f84613333565b8390611f67565b606061008d83835f6133a4565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015613371573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133959190613aec565b50505091505061008d81613433565b6060814710156133c95760405163cd78605960e01b8152306004820152602401613309565b5f80856001600160a01b031684866040516133e49190613b38565b5f6040518083038185875af1925050503d805f811461341e576040519150601f19603f3d011682016040523d82523d5f602084013e613423565b606091505b5091509150612a93868383613455565b5f8082121561178f5760405163071d137160e51b815260040160405180910390fd5b60608261346a57613465826134b1565b61008d565b815115801561348157506001600160a01b0384163b155b156134aa57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134c15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806135436134da565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561359d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135cf575f80fd5b6135db88828901613579565b9150509295509295909350565b5f805f606084860312156135fa575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561361e575f80fd5b61362a86828701613579565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613634565b818103818111156113f7576113f7613634565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461366e565b5f6020828403121561370b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613736575f80fd5b813561008d81613712565b8015158114610c0a575f80fd5b5f6020828403121561375e575f80fd5b813561008d81613741565b5f808335601e1984360301811261377e575f80fd5b83018035915067ffffffffffffffff821115613798575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613634565b5f805f60608486031215613828575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613634565b6001600160801b038181168382160190808211156118cb576118cb613634565b8181035f8312801583831316838312821617156118cb576118cb613634565b5f602082840312156138b0575f80fd5b815161008d81613712565b8082018281125f8312801582168215821617156138da576138da613634565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613904576139046138e2565b500690565b6001600160801b038281168282160390808211156118cb576118cb613634565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613634565b5f6102a08201905061396982855161366e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139dc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a0157613a01613634565b505f0390565b5f8060408385031215613a18575f80fd5b825191506020830151613a2a81613741565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a5c575f80fd5b8451935060208501519250604085015191506060850151613a7c81613741565b939692955090935050565b5f82613a9557613a956138e2565b600160ff1b82145f1984141615613aae57613aae613634565b500590565b5f60208284031215613ac3575f80fd5b815161008d81613741565b805169ffffffffffffffffffff81168114613ae7575f80fd5b919050565b5f805f805f60a08688031215613b00575f80fd5b613b0986613ace565b9450602086015193506040860151925060608601519150613b2c60808701613ace565b90509295509295909350565b5f82515f5b81811015613b575760208186018101518583015201613b3d565b505f92019182525091905056fea264697066735822122032da34dd56206eee2d5583d2e637ab0dd26adef1f2f55a60dfde5db812aeaab764736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts deleted file mode 100644 index 102c45dfe..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ChainlinkTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ChainlinkTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts.map deleted file mode 100644 index 28887eca4..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I69lC,KAAK,MAAM,EAAE;;;;CAI9gmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.js deleted file mode 100644 index 5135ea7ec..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ChainlinkTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506145da8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b614084806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162004084380380620040848339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613b9a620004ea5f395f612b0301525f50505f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61197401525f5050613b9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613589565b610064565b60405190815260200160405180910390f35b61003f61005f3660046135e8565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613648565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961365b565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613648565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261365b565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061365b565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613648565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016136ec565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906136fb565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016136ec565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906136fb565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761365b565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613726565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613648565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613726565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161374e565b866107a960408c018c613769565b6040516107bc97969594939291906137ac565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026137ff565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613816565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613726565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613726565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161374e565b87610b5e6040890189613769565b604051610b7197969594939291906137ac565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613726565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161374e565b15610c8f57610c8585610c806040870187613769565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613769565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613648565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61365b565b8a846119c8565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613648565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61365b565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff59190613648565b909155506110109050865f8461100a81611766565b88611dad565b61101a8183613648565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f8282546111419190613648565b9091555061115c9050835f8461115681611766565b8a611fa4565b611166818361365b565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613881565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906138a0565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613881565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f613648565b90505f6115888b8b61157987611766565b611583908e6138bb565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613881565b6115e79190613881565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a764000061365b565b906117d4565b6116346134da565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613648565b90915550505f838152600b60205260408120805483929061183b908490613648565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be82846138f6565b61008d908461365b565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a64888661365b565b611a6e91906137ff565b85670de0b6b3a7640000611a82878a61365b565b611a8c91906137ff565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a838361365b565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c039190613648565b90915550611c139050818361365b565b9150611c1e826118d2565b600280545f90611c389084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d57828261365b565b611d61908461365b565b9250611d7f565b611d72828261365b565b611d7c9084613648565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a7640000866137ff565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e259082613909565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c9082613648565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe4858361365b565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613881565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a7640000886137ff565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c1888261365b565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b03169061365b565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab929190613956565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e991906139cb565b915091506123076122f982611766565b612302906139ed565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b815260040161240591906136ec565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124439190613a07565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd91613648565b6124c7919061365b565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561252757612527613a35565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613881565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f79190613648565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d613648565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b9092509050612756828961365b565b97505f61276482888a6117b9565b9050612770818b61365b565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613881565b90505f8113156127ba576127b38186613648565b94506127d8565b5f8112156127d8576127cb816139ed565b6127d5908661365b565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b61283191906137ff565b9050808311612840575f61284a565b61284a818461365b565b915061008d6125f7670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ff565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b9190613a49565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a87565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a8487613648565b612b548587611f67565b612b5e888a611f67565b6116269190613648565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba4848761365b565b612bae85876127e1565b612bb8888a611f67565b611626919061365b565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f000000000000000000000000000000000000000000000000000000000000000082613648565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b031661365b565b61008d919061365b565b612ca261352f565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce791906136ec565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d259190613a07565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613881565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b6100729190613648565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea4919061365b565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b03841683613326565b905080515f141580156132e45750808060200190518101906132e29190613ab3565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f61008d61331f84613333565b8390611f67565b606061008d83835f6133a4565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015613371573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133959190613aec565b50505091505061008d81613433565b6060814710156133c95760405163cd78605960e01b8152306004820152602401613309565b5f80856001600160a01b031684866040516133e49190613b38565b5f6040518083038185875af1925050503d805f811461341e576040519150601f19603f3d011682016040523d82523d5f602084013e613423565b606091505b5091509150612a93868383613455565b5f8082121561178f5760405163071d137160e51b815260040160405180910390fd5b60608261346a57613465826134b1565b61008d565b815115801561348157506001600160a01b0384163b155b156134aa57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134c15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806135436134da565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561359d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135cf575f80fd5b6135db88828901613579565b9150509295509295909350565b5f805f606084860312156135fa575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561361e575f80fd5b61362a86828701613579565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613634565b818103818111156113f7576113f7613634565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461366e565b5f6020828403121561370b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613736575f80fd5b813561008d81613712565b8015158114610c0a575f80fd5b5f6020828403121561375e575f80fd5b813561008d81613741565b5f808335601e1984360301811261377e575f80fd5b83018035915067ffffffffffffffff821115613798575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613634565b5f805f60608486031215613828575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613634565b6001600160801b038181168382160190808211156118cb576118cb613634565b8181035f8312801583831316838312821617156118cb576118cb613634565b5f602082840312156138b0575f80fd5b815161008d81613712565b8082018281125f8312801582168215821617156138da576138da613634565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613904576139046138e2565b500690565b6001600160801b038281168282160390808211156118cb576118cb613634565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613634565b5f6102a08201905061396982855161366e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139dc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a0157613a01613634565b505f0390565b5f8060408385031215613a18575f80fd5b825191506020830151613a2a81613741565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a5c575f80fd5b8451935060208501519250604085015191506060850151613a7c81613741565b939692955090935050565b5f82613a9557613a956138e2565b600160ff1b82145f1984141615613aae57613aae613634565b500590565b5f60208284031215613ac3575f80fd5b815161008d81613741565b805169ffffffffffffffffffff81168114613ae7575f80fd5b919050565b5f805f805f60a08688031215613b00575f80fd5b613b0986613ace565b9450602086015193506040860151925060608601519150613b2c60808701613ace565b90509295509295909350565b5f82515f5b81811015613b575760208186018101518583015201613b3d565b505f92019182525091905056fea264697066735822122032da34dd56206eee2d5583d2e637ab0dd26adef1f2f55a60dfde5db812aeaab764736f6c63430008160033a2646970667358221220e0a52e1adad5b425056392437ff533af6c3f9d49f7d9fb740a2d89340656fb3e64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts deleted file mode 100644 index e5b246742..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts +++ /dev/null @@ -1,821 +0,0 @@ -export declare const ChainlinkTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__aggregator"; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }, { - readonly name: "__decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=ChainlinkTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts.map deleted file mode 100644 index a61efe4be..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget4.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw/Bu/zB,KAAK,MAAM,EAAE;;;;;;CAMhi0B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.js deleted file mode 100644 index 11ac03423..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4.js +++ /dev/null @@ -1,1023 +0,0 @@ -export const ChainlinkTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__aggregator", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - }, - { - "name": "__decimals", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003400380380620034008339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051612fbc620004445f395f818161108901526121f201525f50505f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526122d701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61223e01525f5050612fbc5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129f8565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a4a565b6100b1565b005b6100566100923660046129f8565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a7e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612aa6565b61016a60408c018c612ac1565b60405161017c96959493929190612b2c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b79565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a7e565b88610ea4565b5f6102f56102ec6020870187612a7e565b88848989610a9e565b90945090506103048188612ba0565b92505f61031083610f41565b5090506103206020870187612a7e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612aa6565b8a888e80604001906103709190612ac1565b604051610384989796959493929190612bb3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a7e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bfa565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ba0565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bfa565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ba0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bfa565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bfa565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bfa565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612ba0565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c4d565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c6c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c87565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ba0565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d25565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d9a565b91509150610d11610d0382611521565b610d0c90612dbc565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ba0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bfa565b90915550505f838152600b602052604081208054839290610ef7908490612bfa565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dd6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612de5565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bfa565b6110469190612ba0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b79565b6110c39084612ba0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fb7565b5f611100826110fa858888611a08565b90611fdc565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612ba0565b6111dc9190612e13565b85670de0b6b3a76400006111f0878a612ba0565b6111fa9190612e13565b85929190600161204b565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612ba0565b90506112dd61120582866120e5565b600680546010906112ff908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120f990919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bfa565b9091555061138790508183612ba0565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d98261210d565b600480545f906113ed908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120f9565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612ba0565b6114d59084612ba0565b92506114f3565b6114e68282612ba0565b6114f09084612bfa565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612e13565b600554600160801b90046001600160801b031691908a5f61204b565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c87565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612136565b600480545f90611643908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120f9565b90506116e5888486611a08565b6116ef9082612bfa565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612ba0565b105b1561179657611796612171565b6004549084900390600f0b6117ab8482612c4d565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fb7565b105b156117f9576117f9612171565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612e13565b6005546001600160801b031691908c5f61204b565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612ba0565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612136565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e57565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ec565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612aa6565b15611a8e57611a8785611a756020860186612a7e565b611a826040870187612ac1565b612217565b9150611ab1565b611ab185611a9f6020860186612a7e565b611aac6040870187612ac1565b612231565b509392505050565b5f6110c38383670de0b6b3a764000061226b565b6003545f908190611ae7906001600160801b0316846120e5565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bfa565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612ba0565b6110c39190612ba0565b611b70612959565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dd6565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612de5565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c4d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e6b565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612136565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e716129a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f69911661228e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b9290041661228e565b905292915050565b5f6110c3611fb084612302565b839061170a565b5f80611fc38484612373565b909250905080611fd557611fd5612171565b5092915050565b5f815f03611ff35750670de0b6b3a7640000610dc7565b825f0361200157505f610dc7565b5f61200b83611521565b90505f61201f61201a86611521565b6123ae565b9050818102612036670de0b6b3a764000082612ea9565b9050612041816125d3565b9695505050505050565b5f825f0361205a575084611100565b81156120ac5761208b61206d8487612bfa565b612077858761170a565b612081888a61170a565b6116d29190612bfa565b90505f612098858861126f565b9050808210156120a6578091505b50611100565b8285036120ba57505f611100565b6120416120c78487612ba0565b6120d18587611ab9565b6120db888a61170a565b6116d29190612ba0565b5f6110c383670de0b6b3a76400008461226b565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612153575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612196845f612765565b6121a0845f612765565b6121aa9190612c4d565b90505f8113156121c5576121be8186612bfa565b94506121e3565b5f8112156121e3576121d681612dbc565b6121e09086612ba0565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361277a565b5f60405163350b944160e11b815260040160405180910390fd5b6122656001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612787565b50505050565b5f825f19048411830215820261227f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122a161040f565b6122ab9190612e13565b90508083116122ba575f6122c4565b6122c48184612ba0565b91506110c36122fb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e13565b83906120f9565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612340573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123649190612ef3565b5050509150506110c3816127de565b5f805f8361238086611521565b61238a9190612c4d565b90505f8112156123a0575f8092509250506123a7565b9150600190505b9250929050565b5f8082136123cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124529084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125ec57505f919050565b680755bf798b4a1bf1e58212612615576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361277357816110c3565b5090919050565b5f6110c36122fb84612302565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127d9908490612800565b505050565b5f808212156111325760405163071d137160e51b815260040160405180910390fd5b5f6128146001600160a01b03841683612866565b905080515f141580156128385750808060200190518101906128369190612f3f565b155b156127d957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161288a9190612f5a565b5f6040518083038185875af1925050503d805f81146128c4576040519150601f19603f3d011682016040523d82523d5f602084013e6128c9565b606091505b50915091506120418683836060826128e9576128e482612930565b6110c3565b815115801561290057506001600160a01b0384163b155b1561292957604051639996b31560e01b81526001600160a01b038516600482015260240161285d565b50806110c3565b8051156129405780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061296d6129a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a0a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a2e575f80fd5b840160608187031215612a3f575f80fd5b809150509250925092565b5f8060408385031215612a5b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a8e575f80fd5b81356110c381612a6a565b80151581146103f5575f80fd5b5f60208284031215612ab6575f80fd5b81356110c381612a99565b5f808335601e19843603018112612ad6575f80fd5b83018035915067ffffffffffffffff821115612af0575f80fd5b6020019150368190038213156123a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b5960a083018486612b04565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b8757612b87612b65565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b8c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bec60e083018486612b04565b9a9950505050505050505050565b80820180821115610dc757610dc7612b8c565b6001600160701b03818116838216019080821115611fd557611fd5612b8c565b6001600160801b03818116838216019080821115611fd557611fd5612b8c565b8181035f831280158383131683831282161715611fd557611fd5612b8c565b5f60208284031215612c7c575f80fd5b81516110c381612a6a565b6001600160801b03828116828216039080821115611fd557611fd5612b8c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d38828551612ca7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dab575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612dd057612dd0612b8c565b505f0390565b6101808101610dc78284612ca7565b5f8060408385031215612df6575f80fd5b825191506020830151612e0881612a99565b809150509250929050565b8082028115828204841417610dc757610dc7612b8c565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b8c565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e7e575f80fd5b8451935060208501519250604085015191506060850151612e9e81612a99565b939692955090935050565b5f82612eb757612eb7612b65565b600160ff1b82145f1984141615612ed057612ed0612b8c565b500590565b805169ffffffffffffffffffff81168114612eee575f80fd5b919050565b5f805f805f60a08688031215612f07575f80fd5b612f1086612ed5565b9450602086015193506040860151925060608601519150612f3360808701612ed5565b90509295509295909350565b5f60208284031215612f4f575f80fd5b81516110c381612a99565b5f82515f5b81811015612f795760208186018101518583015201612f5f565b505f92019182525091905056fea264697066735822122018f664371dfdaf4d3feb151b19522458f85711bca38a23f82c14feb20673232864736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts deleted file mode 100644 index f2ec88663..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ChainlinkTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ChainlinkTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts.map deleted file mode 100644 index 629953598..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ChainlinkTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/ChainlinkTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Iqt5B,KAAK,MAAM,EAAE;;;;CAItw5B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.js deleted file mode 100644 index eb28aff6e..000000000 --- a/packages/hyperdrive-artifacts/dist/ChainlinkTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ChainlinkTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506139568061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613400806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003400380380620034008339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051612fbc620004445f395f818161108901526121f201525f50505f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526122d701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61223e01525f5050612fbc5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129f8565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a4a565b6100b1565b005b6100566100923660046129f8565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a7e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612aa6565b61016a60408c018c612ac1565b60405161017c96959493929190612b2c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b79565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a7e565b88610ea4565b5f6102f56102ec6020870187612a7e565b88848989610a9e565b90945090506103048188612ba0565b92505f61031083610f41565b5090506103206020870187612a7e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612aa6565b8a888e80604001906103709190612ac1565b604051610384989796959493929190612bb3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a7e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bfa565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ba0565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bfa565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ba0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bfa565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bfa565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bfa565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612ba0565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c4d565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c6c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c87565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ba0565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d25565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d9a565b91509150610d11610d0382611521565b610d0c90612dbc565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ba0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bfa565b90915550505f838152600b602052604081208054839290610ef7908490612bfa565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dd6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612de5565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bfa565b6110469190612ba0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b79565b6110c39084612ba0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fb7565b5f611100826110fa858888611a08565b90611fdc565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612ba0565b6111dc9190612e13565b85670de0b6b3a76400006111f0878a612ba0565b6111fa9190612e13565b85929190600161204b565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612ba0565b90506112dd61120582866120e5565b600680546010906112ff908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120f990919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bfa565b9091555061138790508183612ba0565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d98261210d565b600480545f906113ed908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120f9565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612ba0565b6114d59084612ba0565b92506114f3565b6114e68282612ba0565b6114f09084612bfa565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612e13565b600554600160801b90046001600160801b031691908a5f61204b565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c87565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612136565b600480545f90611643908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120f9565b90506116e5888486611a08565b6116ef9082612bfa565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612ba0565b105b1561179657611796612171565b6004549084900390600f0b6117ab8482612c4d565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fb7565b105b156117f9576117f9612171565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612e13565b6005546001600160801b031691908c5f61204b565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612ba0565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612136565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e57565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ec565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612aa6565b15611a8e57611a8785611a756020860186612a7e565b611a826040870187612ac1565b612217565b9150611ab1565b611ab185611a9f6020860186612a7e565b611aac6040870187612ac1565b612231565b509392505050565b5f6110c38383670de0b6b3a764000061226b565b6003545f908190611ae7906001600160801b0316846120e5565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bfa565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612ba0565b6110c39190612ba0565b611b70612959565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dd6565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612de5565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c4d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e6b565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612136565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e716129a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f69911661228e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b9290041661228e565b905292915050565b5f6110c3611fb084612302565b839061170a565b5f80611fc38484612373565b909250905080611fd557611fd5612171565b5092915050565b5f815f03611ff35750670de0b6b3a7640000610dc7565b825f0361200157505f610dc7565b5f61200b83611521565b90505f61201f61201a86611521565b6123ae565b9050818102612036670de0b6b3a764000082612ea9565b9050612041816125d3565b9695505050505050565b5f825f0361205a575084611100565b81156120ac5761208b61206d8487612bfa565b612077858761170a565b612081888a61170a565b6116d29190612bfa565b90505f612098858861126f565b9050808210156120a6578091505b50611100565b8285036120ba57505f611100565b6120416120c78487612ba0565b6120d18587611ab9565b6120db888a61170a565b6116d29190612ba0565b5f6110c383670de0b6b3a76400008461226b565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612153575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612196845f612765565b6121a0845f612765565b6121aa9190612c4d565b90505f8113156121c5576121be8186612bfa565b94506121e3565b5f8112156121e3576121d681612dbc565b6121e09086612ba0565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361277a565b5f60405163350b944160e11b815260040160405180910390fd5b6122656001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612787565b50505050565b5f825f19048411830215820261227f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122a161040f565b6122ab9190612e13565b90508083116122ba575f6122c4565b6122c48184612ba0565b91506110c36122fb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e13565b83906120f9565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612340573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123649190612ef3565b5050509150506110c3816127de565b5f805f8361238086611521565b61238a9190612c4d565b90505f8112156123a0575f8092509250506123a7565b9150600190505b9250929050565b5f8082136123cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124529084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125ec57505f919050565b680755bf798b4a1bf1e58212612615576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361277357816110c3565b5090919050565b5f6110c36122fb84612302565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127d9908490612800565b505050565b5f808212156111325760405163071d137160e51b815260040160405180910390fd5b5f6128146001600160a01b03841683612866565b905080515f141580156128385750808060200190518101906128369190612f3f565b155b156127d957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161288a9190612f5a565b5f6040518083038185875af1925050503d805f81146128c4576040519150601f19603f3d011682016040523d82523d5f602084013e6128c9565b606091505b50915091506120418683836060826128e9576128e482612930565b6110c3565b815115801561290057506001600160a01b0384163b155b1561292957604051639996b31560e01b81526001600160a01b038516600482015260240161285d565b50806110c3565b8051156129405780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061296d6129a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a0a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a2e575f80fd5b840160608187031215612a3f575f80fd5b809150509250925092565b5f8060408385031215612a5b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a8e575f80fd5b81356110c381612a6a565b80151581146103f5575f80fd5b5f60208284031215612ab6575f80fd5b81356110c381612a99565b5f808335601e19843603018112612ad6575f80fd5b83018035915067ffffffffffffffff821115612af0575f80fd5b6020019150368190038213156123a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b5960a083018486612b04565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b8757612b87612b65565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b8c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bec60e083018486612b04565b9a9950505050505050505050565b80820180821115610dc757610dc7612b8c565b6001600160701b03818116838216019080821115611fd557611fd5612b8c565b6001600160801b03818116838216019080821115611fd557611fd5612b8c565b8181035f831280158383131683831282161715611fd557611fd5612b8c565b5f60208284031215612c7c575f80fd5b81516110c381612a6a565b6001600160801b03828116828216039080821115611fd557611fd5612b8c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d38828551612ca7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dab575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612dd057612dd0612b8c565b505f0390565b6101808101610dc78284612ca7565b5f8060408385031215612df6575f80fd5b825191506020830151612e0881612a99565b809150509250929050565b8082028115828204841417610dc757610dc7612b8c565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b8c565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e7e575f80fd5b8451935060208501519250604085015191506060850151612e9e81612a99565b939692955090935050565b5f82612eb757612eb7612b65565b600160ff1b82145f1984141615612ed057612ed0612b8c565b500590565b805169ffffffffffffffffffff81168114612eee575f80fd5b919050565b5f805f805f60a08688031215612f07575f80fd5b612f1086612ed5565b9450602086015193506040860151925060608601519150612f3360808701612ed5565b90509295509295909350565b5f60208284031215612f4f575f80fd5b81516110c381612a99565b5f82515f5b81811015612f795760208186018101518583015201612f5f565b505f92019182525091905056fea264697066735822122018f664371dfdaf4d3feb151b19522458f85711bca38a23f82c14feb20673232864736f6c63430008160033a2646970667358221220bd75f2efaa16267421e10cc34500819359909cd9e429c98c0d473ea97d5cad2764736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CommonBase.d.ts b/packages/hyperdrive-artifacts/dist/CommonBase.d.ts deleted file mode 100644 index 0337fa89b..000000000 --- a/packages/hyperdrive-artifacts/dist/CommonBase.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const CommonBase: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=CommonBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CommonBase.d.ts.map b/packages/hyperdrive-artifacts/dist/CommonBase.d.ts.map deleted file mode 100644 index 5a6aee4d8..000000000 --- a/packages/hyperdrive-artifacts/dist/CommonBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CommonBase.d.ts","sourceRoot":"","sources":["../src/CommonBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAEH,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CommonBase.js b/packages/hyperdrive-artifacts/dist/CommonBase.js deleted file mode 100644 index 97c63547e..000000000 --- a/packages/hyperdrive-artifacts/dist/CommonBase.js +++ /dev/null @@ -1,5 +0,0 @@ -export const CommonBase = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Context.d.ts b/packages/hyperdrive-artifacts/dist/Context.d.ts deleted file mode 100644 index 726203252..000000000 --- a/packages/hyperdrive-artifacts/dist/Context.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const Context: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=Context.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Context.d.ts.map b/packages/hyperdrive-artifacts/dist/Context.d.ts.map deleted file mode 100644 index 482f6c264..000000000 --- a/packages/hyperdrive-artifacts/dist/Context.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../src/Context.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAEA,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Context.js b/packages/hyperdrive-artifacts/dist/Context.js deleted file mode 100644 index 5fde5f3b6..000000000 --- a/packages/hyperdrive-artifacts/dist/Context.js +++ /dev/null @@ -1,5 +0,0 @@ -export const Context = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/CornBase.d.ts b/packages/hyperdrive-artifacts/dist/CornBase.d.ts deleted file mode 100644 index 1ca70a4d3..000000000 --- a/packages/hyperdrive-artifacts/dist/CornBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const CornBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=CornBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornBase.d.ts.map b/packages/hyperdrive-artifacts/dist/CornBase.d.ts.map deleted file mode 100644 index 5da526e8f..000000000 --- a/packages/hyperdrive-artifacts/dist/CornBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornBase.d.ts","sourceRoot":"","sources":["../src/CornBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBD,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornBase.js b/packages/hyperdrive-artifacts/dist/CornBase.js deleted file mode 100644 index 9ec02efe9..000000000 --- a/packages/hyperdrive-artifacts/dist/CornBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const CornBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/CornConversions.d.ts b/packages/hyperdrive-artifacts/dist/CornConversions.d.ts deleted file mode 100644 index 40d5f1e04..000000000 --- a/packages/hyperdrive-artifacts/dist/CornConversions.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -export declare const CornConversions: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - }; -}; -//# sourceMappingURL=CornConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/CornConversions.d.ts.map deleted file mode 100644 index 7689b51f8..000000000 --- a/packages/hyperdrive-artifacts/dist/CornConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornConversions.d.ts","sourceRoot":"","sources":["../src/CornConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCwb,KAAK,MAAM,EAAE;;;;;CAKhe,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornConversions.js b/packages/hyperdrive-artifacts/dist/CornConversions.js deleted file mode 100644 index 442bdeb9c..000000000 --- a/packages/hyperdrive-artifacts/dist/CornConversions.js +++ /dev/null @@ -1,47 +0,0 @@ -export const CornConversions = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x60ac610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063b88fed9f146040578063c6e6f592146040575b5f80fd5b604e604b3660046060565b90565b60405190815260200160405180910390f35b5f60208284031215606f575f80fd5b503591905056fea2646970667358221220b9d26028c7b4c6a20d26496e9e331e5d123bedaf97958cf869de383f28cec77d64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts deleted file mode 100644 index aec600f19..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts +++ /dev/null @@ -1,1354 +0,0 @@ -export declare const CornHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=CornHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts.map deleted file mode 100644 index f6d4bb4d2..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornHyperdrive.d.ts","sourceRoot":"","sources":["../src/CornHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4oDq5a,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B57a,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdrive.js b/packages/hyperdrive-artifacts/dist/CornHyperdrive.js deleted file mode 100644 index 296fde547..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdrive.js +++ /dev/null @@ -1,1708 +0,0 @@ -export const CornHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b5060405162001ace38038062001ace8339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905082600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000a8d5f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a7b6ea0a7297bb64e4ef7273377503be80f1b66162bc4e704d468a95f9de4f9d64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 44c1eb741..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,148 +0,0 @@ -export declare const CornHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=CornHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index a57988f69..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/CornHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsLu9hB,KAAK,MAAM,EAAE;;;;CAI1giB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.js deleted file mode 100644 index 4bd1b4ddc..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveCoreDeployer.js +++ /dev/null @@ -1,187 +0,0 @@ -export const CornHyperdriveCoreDeployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516121f53803806121f583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516121726100835f395f609801526121725ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200037f565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000c59062000109565b620000d99998979695949392919062000597565b8190604051809103905ff5905080158015620000f7573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611ace806200066f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000152576200015262000117565b60405290565b5f82601f83011262000168575f80fd5b813567ffffffffffffffff8082111562000186576200018662000117565b604051601f8301601f19908116603f01168101908282118183101715620001b157620001b162000117565b81604052838152866020858801011115620001ca575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000200575f80fd5b919050565b5f6080828403121562000216575f80fd5b6040516080810181811067ffffffffffffffff821117156200023c576200023c62000117565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200027f575f80fd5b620002896200012b565b90506200029682620001e9565b8152620002a660208301620001e9565b6020820152620002b960408301620001e9565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000324818401620001e9565b9082015261018062000338838201620001e9565b908201526101a06200034c838201620001e9565b908201526101c062000360838201620001e9565b908201526101e0620003758484830162000205565b9082015292915050565b5f805f805f805f805f806103808b8d0312156200039a575f80fd5b8a3567ffffffffffffffff80821115620003b2575f80fd5b620003c08e838f0162000158565b9b50620003d18e60208f016200026d565b9a50620003e26102808e01620001e9565b99506102a08d0135915080821115620003f9575f80fd5b50620004088d828e0162000158565b9750506200041a6102c08c01620001e9565b95506200042b6102e08c01620001e9565b94506200043c6103008c01620001e9565b93506200044d6103208c01620001e9565b92506200045e6103408c01620001e9565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200049f60208401826001600160a01b03169052565b506040810151620004bb60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200052e828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005cd576020828e0101516103808386010152602082019150620005a9565b61038091505f82828601015281601f19601f83011685010192505050620005f8602083018b62000477565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b038316610340830152620000fb56fe61034060405234801562000011575f80fd5b5060405162001ace38038062001ace8339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905082600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000a8d5f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a7b6ea0a7297bb64e4ef7273377503be80f1b66162bc4e704d468a95f9de4f9d64736f6c63430008160033a2646970667358221220b999f55f01f73dbe4fff79beaf733b76e53e1545b3fb5e46a5c33f150beaf2d564736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 6f09fcd22..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,624 +0,0 @@ -export declare const CornHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=CornHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index eb224acec..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/CornHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwwBw8pB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBlgqB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.js deleted file mode 100644 index 21f3c2ca9..000000000 --- a/packages/hyperdrive-artifacts/dist/CornHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,797 +0,0 @@ -export const CornHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b50604051620029f1380380620029f18339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125d76200041a5f395f81816102990152610dd001525f81816103170152610c9d01525f818161037d0152610b6a01525f81816102e40152610a3701525f818161034a015261082e01525f8181610440015261115901525f81816103ee01528181610547015281816107570152818161085e01528181610a6701528181610b9a01528181610ccd01528181610e0001528181610f2d015261118a01526125d75ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f59214610410578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611b32565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611c67565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611d25565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611d3c565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611d25565b6106d0565b3480156103c9575f80fd5b506102bb6103d8366004611f10565b61074b565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b5061014f61042a366004611d25565b610ee7565b34801561043a575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102bb61047c366004611f79565b610f21565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602181526020016125816021913981565b5f80546104bc90612013565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612013565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d611294565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112b5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106059392919061204b565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612090565b92505f61065382346120bb565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af4158015610721573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107459190612090565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079557604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610945578054156107ca57604051633be1b34d60e11b815260040160405180910390fd5b6107d4868661136f565b5f6107df878761150d565b90505f876040516020016107f391906120ce565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108208a611526565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161089a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108cf9493929190612301565b6020604051808303815f875af11580156108eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090f9190612346565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109715760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161098391906120ce565b60405160208183030381529060405280519060200120146109b75760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109e157604051631a3272d160e31b815260040160405180910390fd5b6109eb878761136f565b5f6109f588611526565b6002840154608082015290506001869003610b355760058301546001600160a01b031615610a355760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a9c93929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ad19493929190612301565b6020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190612346565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c685760068301546001600160a01b031615610b685760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bcf93929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c049493929190612301565b6020604051808303815f875af1158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190612346565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d9b5760078301546001600160a01b031615610c9b5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d0293929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d379493929190612301565b6020604051808303815f875af1158015610d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d779190612346565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ece5760088301546001600160a01b031615610dce5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e3593929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e6a9493929190612301565b6020604051808303815f875af1158015610e86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaa9190612346565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401610706565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561101357604051632c95caeb60e01b815260040160405180910390fd5b80516110325760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611057575060a08101516001600160a01b0316155b8061106d575060c08101516001600160a01b0316155b80611083575060e08101516001600160a01b0316155b8061109a57506101008101516001600160a01b0316155b156110b85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110cb9087906020016120ce565b60405160208183030381529060405280519060200120146110ff5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461112a57604051631a3272d160e31b815260040160405180910390fd5b611134858561136f565b5f61113e86611526565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111e0929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161121b9a99989796959493929190612382565b6020604051808303815f875af1158015611237573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125b9190612346565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112b357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112d85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113399190612346565b90506113506001600160a01b0382168630876115f4565b6113646001600160a01b0382168786611661565b505f95945050505050565b61137982826116f0565b81516001600160a01b03166113a157604051630722152560e11b815260040160405180910390fd5b60208201516001600160a01b0316156113cd5760405163073f739d60e51b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561140e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114329190612404565b61143c9190612424565b61144790600a61251d565b8260800151101561146b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114d09190612404565b6114da9190612424565b6114e590600a61251d565b8260a001511015611509576040516318c9522360e11b815260040160405180910390fd5b5050565b5f61151f670de0b6b3a76400006106d0565b9392505050565b61152e611a11565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261165b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611804565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116b2848261186f565b61165b576040516001600160a01b0384811660248301525f60448301526116e691869182169063095ea7b390606401611629565b61165b8482611804565b6103e882608001511015611717576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361173c57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061176657508161010001518260e00151611763919061252b565b15155b156117845760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117b05750670de0b6b3a7640000826101c0015160200151115b806117cb5750670de0b6b3a7640000826101c0015160400151115b806117e65750670de0b6b3a7640000826101c0015160600151115b15611509576040516322f72cc360e11b815260040160405180910390fd5b5f6118186001600160a01b0384168361190c565b905080515f1415801561183c57508080602001905181019061183a919061254a565b155b1561186a57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161188a9190612565565b5f604051808303815f865af19150503d805f81146118c3576040519150601f19603f3d011682016040523d82523d5f602084013e6118c8565b606091505b50915091508180156118f25750805115806118f25750808060200190518101906118f2919061254a565b80156106c75750505050506001600160a01b03163b151590565b606061151f83835f845f80856001600160a01b031684866040516119309190612565565b5f6040518083038185875af1925050503d805f811461196a576040519150601f19603f3d011682016040523d82523d5f602084013e61196f565b606091505b509150915061197f868383611989565b9695505050505050565b60608261199e57611999826119e5565b61151f565b81511580156119b557506001600160a01b0384163b155b156119de57604051639996b31560e01b81526001600160a01b0385166004820152602401611861565b508061151f565b8051156119f55780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ae060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611aff578181015183820152602001611ae7565b50505f910152565b5f8151808452611b1e816020860160208601611ae5565b601f01601f19169290920160200192915050565b602081525f61151f6020830184611b07565b6001600160a01b0381168114611a0e575f80fd5b8035611b6381611b44565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b9f57611b9f611b68565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b9f57611b9f611b68565b8015158114611a0e575f80fd5b5f67ffffffffffffffff80841115611bf057611bf0611b68565b604051601f8501601f19908116603f01168101908282118183101715611c1857611c18611b68565b81604052809350858152868686011115611c30575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611c58575f80fd5b61151f83833560208501611bd6565b5f805f805f60a08688031215611c7b575f80fd5b853594506020860135611c8d81611b44565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611cb7575f80fd5b908701906060828a031215611cca575f80fd5b611cd2611b7c565b8235611cdd81611b44565b81526020830135611ced81611bc9565b6020820152604083013582811115611d03575f80fd5b611d0f8b828601611c49565b6040830152508093505050509295509295909350565b5f60208284031215611d35575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611dc9575f80fd5b6040516080810181811067ffffffffffffffff82111715611dec57611dec611b68565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611e2e575f80fd5b611e36611ba5565b9050611e4182611b58565b8152611e4f60208301611b58565b6020820152611e6060408301611b58565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611ebd818401611b58565b90820152610160611ecf838201611b58565b90820152610180611ee1838201611b58565b908201526101a0611ef3838201611b58565b908201526101c0611f0684848301611db9565b9082015292915050565b5f805f805f6102c08688031215611f25575f80fd5b85359450611f368760208801611e1d565b935061026086013567ffffffffffffffff811115611f52575f80fd5b611f5e88828901611c49565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611f8e575f80fd5b85359450602086013567ffffffffffffffff80821115611fac575f80fd5b818801915088601f830112611fbf575f80fd5b611fce89833560208501611bd6565b9550611fdd8960408a01611e1d565b9450610280880135915080821115611ff3575f80fd5b5061200088828901611c49565b959894975092956102a001359392505050565b600181811c9082168061202757607f821691505b60208210810361204557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261197f60c0840182611b07565b5f602082840312156120a0575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610745576107456120a7565b81516001600160a01b03168152610240810160208301516120fa60208401826001600160a01b03169052565b50604083015161211560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161217b828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611db1565b80516001600160a01b03168252602081015161220b60208401826001600160a01b03169052565b50604081015161222660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612298828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261165b565b5f6102c061230f83886121e4565b6001600160a01b038616610260840152610280830181905261233381840186611b07565b915050826102a083015295945050505050565b5f60208284031215612356575f80fd5b815161151f81611b44565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526123958184018e611b07565b90506123a4602084018d6121e4565b6001600160a01b038b81166102808501528382036102a08501526123c8828c611b07565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612414575f80fd5b815160ff8116811461151f575f80fd5b60ff8281168282160390811115610745576107456120a7565b600181815b8085111561247757815f190482111561245d5761245d6120a7565b8085161561246a57918102915b93841c9390800290612442565b509250929050565b5f8261248d57506001610745565b8161249957505f610745565b81600181146124af57600281146124b9576124d5565b6001915050610745565b60ff8411156124ca576124ca6120a7565b50506001821b610745565b5060208310610133831016604e8410600b84101617156124f8575081810a610745565b612502838361243d565b805f1904821115612515576125156120a7565b029392505050565b5f61151f60ff84168361247f565b5f8261254557634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561255a575f80fd5b815161151f81611bc9565b5f8251612576818460208701611ae5565b919091019291505056fe436f726e487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220b5ab105022b44bb1298c3119dea1a3fb4317d43d99b5905fd1620281923813be64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts deleted file mode 100644 index 6c90dcf24..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts +++ /dev/null @@ -1,1542 +0,0 @@ -export declare const CornTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "cornSilo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "cornSilo()": "7d1849ab"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=CornTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts.map deleted file mode 100644 index 146f5102b..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget0.d.ts","sourceRoot":"","sources":["../src/CornTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm3D0h+B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C9j+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0.js b/packages/hyperdrive-artifacts/dist/CornTarget0.js deleted file mode 100644 index a2cb78a6c..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0.js +++ /dev/null @@ -1,1950 +0,0 @@ -export const CornTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "cornSilo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e0f38038062003e0f8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139a46200046b5f395f8181610bec01528181611ea10152612a8d01525f8181610da9015261239c01525f8181610d7a015261235f01525f8181610c5601528181610ed901528181610f6701528181610ff5015281816110830152818161168c01528181611722015281816118e401528181611f2601528181611ffa015261214b01525f610e4101525f8181610e1b015261254101525f8181610df5015261251b01525f8181610dcf01526124f501525f61118e01525f61116801525f61114201525f61111c01525f8181610eb3015261256701525f8181610e6701528181611319015261293d01525f8181610e8d0152612b5701525f81816106190152610d4b01525f818161074301528181610d1c015281816112b601528181611e7701528181612a5c0152612b0801526139a45ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637d1849ab146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d8f565b61056c565b6040516102579190612df3565b60405180910390f35b61027361026e366004612e19565b6105a3565b005b610273610283366004612e41565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e6a565b61064a565b6102736102d9366004612f3b565b610666565b6102736102ec366004612fca565b61067c565b6103046102ff366004612d8f565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461300f565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f36600461304e565b6107d5565b61034961080d565b61034961039a36600461307c565b61082b565b6103b26103ad366004612e19565b610835565b6040519015158152602001610257565b61024a6103d0366004612d8f565b610854565b6102736103e33660046130b3565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906130fa565b61027361041336600461319b565b5050565b6102a0610bde565b61034961042d366004612e19565b610c1d565b6102a0610c48565b6102736104483660046131c7565b610c87565b61027361045b36600461319b565b610c98565b61027361046e366004612e19565b50565b610479610d03565b60405161025791906131fc565b610349610494366004612d8f565b6111c3565b6103496104a7366004612d8f565b6111d0565b6104bf6104ba366004613322565b6111f1565b6040516102579190613361565b6102a06112a8565b6103496112e7565b6103496104ea366004612d8f565b611300565b6103496104fd366004612d8f565b61130d565b61050a611343565b60405161025791906133a4565b6102736105253660046134b5565b61144e565b6103b2610538366004613510565b611496565b6105456114d9565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a83611537565b60405160200161058a9190612df3565b60405160208183030381529060405261165d565b919050565b61046e81611681565b61046e816118e2565b60606105f16040518060400160405280600e81526020016d436f726e4879706572647269766560901b81525060405160200161058a9190612df3565b90565b60606105f1600160405160200161058a919061353c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906135e9565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611f11565b5f61059e61084283612147565b6040805191151560208301520161058a565b606061059e61057a83612225565b8361086c81612321565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123de565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612df3565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095861244a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c2919061362c565b6109cc919061363f565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f88561245c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb9190613652565b509050610ad881846125e6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125fa565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016130fa565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c93838383336123de565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d0b612cbb565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe59190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110739190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111019190613680565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131fc565b5f61059e6108198361260e565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff81111561120d5761120d61369b565b604051908082528060200260200182016040528015611236578160200160208202803683370190505b5090505f5b8381101561128c575f858583818110611256576112566136af565b9050602002013590505f8154905080848481518110611277576112776136af565b6020908102919091010152505060010161123b565b506112a18160405160200161058a9190613361565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612683565b5f61059e61081961133e7f00000000000000000000000000000000000000000000000000000000000000008561362c565b6126bd565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145881612321565b6001600160a01b0316336001600160a01b03161461148957604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b606060f882901c6001600160f81b0383165f611552826126fd565b90505f83600381111561156757611567613604565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad613604565b036115d957806040516020016115c391906136c3565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed613604565b0361160357806040516020016115c391906136fb565b600383600381111561161757611617613604565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612df3565b60405180910390fd5b6116896127af565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a9190613680565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a09190613680565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c633612147565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118599190613734565b905061186f6001600160a01b03851684836127d7565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119629190613680565b6001600160a01b0316336001600160a01b031614158015611989575061198733612147565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c666136af565b905060200201358888868686818110611c8157611c816136af565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061363f565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061363f565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0190849061362c565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051630a7292f560e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690630a7292f590604401602060405180830381865afa158015611ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0c9190613734565b905090565b5f611f1a6127af565b611f2382612829565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fa49190613680565b90506001600160a01b038116611fbd6020850185612e19565b6001600160a01b031614611fe457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061208e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612054573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120789190613680565b6001600160a01b0316336001600160a01b031614155b80156120a0575061209e33612147565b155b156120bd576040516282b42960e81b815260040160405180910390fd5b5f6120c661244a565b600980545f9091559091506120dc81838761285e565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461211b60408a0160208b01612e41565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156121a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121cb919081019061374b565b90505f5b815181101561221c57836001600160a01b03168282815181106121f4576121f46136af565b60200260200101516001600160a01b031603612214575060019392505050565b6001016121cf565b505f9392505050565b606060f882901c6001600160f81b0383165f612240826126fd565b90505f83600381111561225557612255613604565b03612287576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b600183600381111561229b5761229b613604565b036122b157806040516020016115c3919061380b565b60028360038111156122c5576122c5613604565b036122db57806040516020016115c39190613842565b60038360038111156122ef576122ef613604565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611f0c670de0b6b3a764000061260e565b6124b46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125ac91166128f4565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125de929004166128f4565b905292915050565b5f6107368383670de0b6b3a7640000612968565b5f61073683670de0b6b3a764000084612968565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af415801561265f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108079190613734565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401612644565b5f6126e2600b5f6126cf600286612983565b81526020019081526020015f20546129b7565b6126f3600b5f6126cf600187612983565b610807919061386d565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127a157612736600a866138a0565b61274190603061362c565b60f81b826001612751848761363f565b61275b919061363f565b8151811061276b5761276b6136af565b60200101906001600160f81b03191690815f1a9053508061278b816138b3565b915061279a9050600a866138cb565b9450612725565b918290030190815292915050565b60025f54036127d157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c939084906129e4565b5f6128376020830183612e19565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061286a85856125e6565b905061287581612683565b9450845f03612887575f915050610736565b84915061289a6040840160208501612e41565b156128c9576128c2856128b06020860186612e19565b6128bd60408701876138de565b612a45565b91506128ec565b6128ec856128da6020860186612e19565b6128e760408701876138de565b612b37565b509392505050565b5f80670de0b6b3a7640000612907612b50565b6129119190613921565b9050808311612920575f61292a565b61292a818461363f565b9150610736612961670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613921565b83906125fa565b5f825f19048411830215820261297c575f80fd5b5091020490565b5f6001600160f81b038211156129ac5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129e05760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129f86001600160a01b03841683612b7b565b905080515f14158015612a1c575080806020019051810190612a1a9190613938565b155b15610c9357604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612ad5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af99190613734565b9050612b2f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127d7565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611f0c427f0000000000000000000000000000000000000000000000000000000000000000612b88565b606061073683835f612b9d565b5f612b9382846138a0565b610736908461363f565b606081471015612bc25760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612bdd9190613953565b5f6040518083038185875af1925050503d805f8114612c17576040519150601f19603f3d011682016040523d82523d5f602084013e612c1c565b606091505b5091509150612c2c868383612c36565b9695505050505050565b606082612c4b57612c4682612c92565b610736565b8151158015612c6257506001600160a01b0384163b155b15612c8b57604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612ca25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d8a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d9f575f80fd5b5035919050565b5f5b83811015612dc0578181015183820152602001612da8565b50505f910152565b5f8151808452612ddf816020860160208601612da6565b601f01601f19169290920160200192915050565b602081525f6107366020830184612dc8565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612e29575f80fd5b813561073681612e05565b801515811461046e575f80fd5b5f60208284031215612e51575f80fd5b813561073681612e34565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e83575f80fd5b8935985060208a0135975060408a0135612e9c81612e05565b965060608a0135612eac81612e05565b955060808a0135612ebc81612e34565b945060a08a0135935060c08a0135612ed381612e5c565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612f03575f80fd5b50813567ffffffffffffffff811115612f1a575f80fd5b6020830191508360208260051b8501011115612f34575f80fd5b9250929050565b5f805f805f8060808789031215612f50575f80fd5b8635612f5b81612e05565b95506020870135612f6b81612e05565b9450604087013567ffffffffffffffff80821115612f87575f80fd5b612f938a838b01612ef3565b90965094506060890135915080821115612fab575f80fd5b50612fb889828a01612ef3565b979a9699509497509295939492505050565b5f805f8060808587031215612fdd575f80fd5b843593506020850135612fef81612e05565b92506040850135612fff81612e05565b9396929550929360600135925050565b5f805f60608486031215613021575f80fd5b83359250602084013561303381612e05565b9150604084013561304381612e05565b809150509250925092565b5f806040838503121561305f575f80fd5b82359150602083013561307181612e05565b809150509250929050565b5f6020828403121561308c575f80fd5b813567ffffffffffffffff8111156130a2575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156130c6575f80fd5b8435935060208501356130d881612e05565b92506040850135915060608501356130ef81612e05565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156131ac575f80fd5b82356131b781612e05565b9150602083013561307181612e34565b5f805f606084860312156131d9575f80fd5b8335925060208401356131eb81612e05565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161322860208401826001600160a01b03169052565b50604083015161324360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516132b5828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613333575f80fd5b823567ffffffffffffffff811115613349575f80fd5b61335585828601612ef3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133985783518352928401929184019160010161337c565b50909695505050505050565b81516001600160801b03168152610180810160208301516133d060208401826001600160801b03169052565b5060408301516133eb60408401826001600160801b03169052565b50606083015161340660608401826001600160801b03169052565b50608083015161341b6080840182600f0b9052565b5060a083015161343660a08401826001600160801b03169052565b5060c083015161345160c08401826001600160801b03169052565b5060e083015161346c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261331a565b5f805f805f60a086880312156134c9575f80fd5b8535945060208601356134db81612e05565b935060408601356134eb81612e05565b925060608601359150608086013561350281612e05565b809150509295509295909350565b5f8060408385031215613521575f80fd5b823561352c81612e05565b9150602083013561307181612e05565b5f60208083525f84545f60018260011c9150600183168061355e57607f831692505b60208310810361357c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561359b57600181146135b1576135da565b60ff198616825284151560051b820196506135da565b5f8b8152602090205f5b868110156135d4578154848201529085019089016135bb565b83019750505b50949998505050505050505050565b5f602082840312156135f9575f80fd5b815161073681612e5c565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613618565b8181038181111561080757610807613618565b5f8060408385031215613663575f80fd5b82519150602083015161307181612e34565b805161059e81612e05565b5f60208284031215613690575f80fd5b815161073681612e05565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136ee816011850160208701612da6565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613727816012850160208701612da6565b9190910160120192915050565b5f60208284031215613744575f80fd5b5051919050565b5f602080838503121561375c575f80fd5b825167ffffffffffffffff80821115613773575f80fd5b818501915085601f830112613786575f80fd5b8151818111156137985761379861369b565b8060051b604051601f19603f830116810181811085821117156137bd576137bd61369b565b6040529182528482019250838101850191888311156137da575f80fd5b938501935b828510156137ff576137f085613675565b845293850193928501926137df565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613835816010850160208701612da6565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136ee816011850160208701612da6565b8181035f8312801583831316838312821617156112a1576112a1613618565b634e487b7160e01b5f52601260045260245ffd5b5f826138ae576138ae61388c565b500690565b5f600182016138c4576138c4613618565b5060010190565b5f826138d9576138d961388c565b500490565b5f808335601e198436030181126138f3575f80fd5b83018035915067ffffffffffffffff82111561390d575f80fd5b602001915036819003821315612f34575f80fd5b808202811582820484141761080757610807613618565b5f60208284031215613948575f80fd5b815161073681612e34565b5f8251613964818460208701612da6565b919091019291505056fea2646970667358221220ce9ac7544d36e0999ee669e8cdf009ca51b5cda91c38af3927a953c1543e462c64736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "cornSilo()": "7d1849ab", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts deleted file mode 100644 index 3afa78e62..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -export declare const CornTarget0Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=CornTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts.map deleted file mode 100644 index 4fac6692e..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/CornTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJsxjC,KAAK,MAAM,EAAE;;;;CAIl0jC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.js deleted file mode 100644 index 2f5738b47..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget0Deployer.js +++ /dev/null @@ -1,157 +0,0 @@ -export const CornTarget0Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161439138038061439183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161430e6100835f395f608b015261430e5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b613e0f806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162003e0f38038062003e0f8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139a46200046b5f395f8181610bec01528181611ea10152612a8d01525f8181610da9015261239c01525f8181610d7a015261235f01525f8181610c5601528181610ed901528181610f6701528181610ff5015281816110830152818161168c01528181611722015281816118e401528181611f2601528181611ffa015261214b01525f610e4101525f8181610e1b015261254101525f8181610df5015261251b01525f8181610dcf01526124f501525f61118e01525f61116801525f61114201525f61111c01525f8181610eb3015261256701525f8181610e6701528181611319015261293d01525f8181610e8d0152612b5701525f81816106190152610d4b01525f818161074301528181610d1c015281816112b601528181611e7701528181612a5c0152612b0801526139a45ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637d1849ab146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d8f565b61056c565b6040516102579190612df3565b60405180910390f35b61027361026e366004612e19565b6105a3565b005b610273610283366004612e41565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e6a565b61064a565b6102736102d9366004612f3b565b610666565b6102736102ec366004612fca565b61067c565b6103046102ff366004612d8f565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461300f565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f36600461304e565b6107d5565b61034961080d565b61034961039a36600461307c565b61082b565b6103b26103ad366004612e19565b610835565b6040519015158152602001610257565b61024a6103d0366004612d8f565b610854565b6102736103e33660046130b3565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906130fa565b61027361041336600461319b565b5050565b6102a0610bde565b61034961042d366004612e19565b610c1d565b6102a0610c48565b6102736104483660046131c7565b610c87565b61027361045b36600461319b565b610c98565b61027361046e366004612e19565b50565b610479610d03565b60405161025791906131fc565b610349610494366004612d8f565b6111c3565b6103496104a7366004612d8f565b6111d0565b6104bf6104ba366004613322565b6111f1565b6040516102579190613361565b6102a06112a8565b6103496112e7565b6103496104ea366004612d8f565b611300565b6103496104fd366004612d8f565b61130d565b61050a611343565b60405161025791906133a4565b6102736105253660046134b5565b61144e565b6103b2610538366004613510565b611496565b6105456114d9565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a83611537565b60405160200161058a9190612df3565b60405160208183030381529060405261165d565b919050565b61046e81611681565b61046e816118e2565b60606105f16040518060400160405280600e81526020016d436f726e4879706572647269766560901b81525060405160200161058a9190612df3565b90565b60606105f1600160405160200161058a919061353c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906135e9565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611f11565b5f61059e61084283612147565b6040805191151560208301520161058a565b606061059e61057a83612225565b8361086c81612321565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123de565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612df3565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095861244a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c2919061362c565b6109cc919061363f565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f88561245c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb9190613652565b509050610ad881846125e6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125fa565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016130fa565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c93838383336123de565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d0b612cbb565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe59190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110739190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111019190613680565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131fc565b5f61059e6108198361260e565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff81111561120d5761120d61369b565b604051908082528060200260200182016040528015611236578160200160208202803683370190505b5090505f5b8381101561128c575f858583818110611256576112566136af565b9050602002013590505f8154905080848481518110611277576112776136af565b6020908102919091010152505060010161123b565b506112a18160405160200161058a9190613361565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612683565b5f61059e61081961133e7f00000000000000000000000000000000000000000000000000000000000000008561362c565b6126bd565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145881612321565b6001600160a01b0316336001600160a01b03161461148957604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b606060f882901c6001600160f81b0383165f611552826126fd565b90505f83600381111561156757611567613604565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad613604565b036115d957806040516020016115c391906136c3565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed613604565b0361160357806040516020016115c391906136fb565b600383600381111561161757611617613604565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612df3565b60405180910390fd5b6116896127af565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a9190613680565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a09190613680565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c633612147565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118599190613734565b905061186f6001600160a01b03851684836127d7565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119629190613680565b6001600160a01b0316336001600160a01b031614158015611989575061198733612147565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c666136af565b905060200201358888868686818110611c8157611c816136af565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061363f565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061363f565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0190849061362c565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051630a7292f560e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690630a7292f590604401602060405180830381865afa158015611ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0c9190613734565b905090565b5f611f1a6127af565b611f2382612829565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fa49190613680565b90506001600160a01b038116611fbd6020850185612e19565b6001600160a01b031614611fe457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061208e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612054573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120789190613680565b6001600160a01b0316336001600160a01b031614155b80156120a0575061209e33612147565b155b156120bd576040516282b42960e81b815260040160405180910390fd5b5f6120c661244a565b600980545f9091559091506120dc81838761285e565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461211b60408a0160208b01612e41565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156121a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121cb919081019061374b565b90505f5b815181101561221c57836001600160a01b03168282815181106121f4576121f46136af565b60200260200101516001600160a01b031603612214575060019392505050565b6001016121cf565b505f9392505050565b606060f882901c6001600160f81b0383165f612240826126fd565b90505f83600381111561225557612255613604565b03612287576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b600183600381111561229b5761229b613604565b036122b157806040516020016115c3919061380b565b60028360038111156122c5576122c5613604565b036122db57806040516020016115c39190613842565b60038360038111156122ef576122ef613604565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611f0c670de0b6b3a764000061260e565b6124b46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125ac91166128f4565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125de929004166128f4565b905292915050565b5f6107368383670de0b6b3a7640000612968565b5f61073683670de0b6b3a764000084612968565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af415801561265f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108079190613734565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401612644565b5f6126e2600b5f6126cf600286612983565b81526020019081526020015f20546129b7565b6126f3600b5f6126cf600187612983565b610807919061386d565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127a157612736600a866138a0565b61274190603061362c565b60f81b826001612751848761363f565b61275b919061363f565b8151811061276b5761276b6136af565b60200101906001600160f81b03191690815f1a9053508061278b816138b3565b915061279a9050600a866138cb565b9450612725565b918290030190815292915050565b60025f54036127d157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c939084906129e4565b5f6128376020830183612e19565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061286a85856125e6565b905061287581612683565b9450845f03612887575f915050610736565b84915061289a6040840160208501612e41565b156128c9576128c2856128b06020860186612e19565b6128bd60408701876138de565b612a45565b91506128ec565b6128ec856128da6020860186612e19565b6128e760408701876138de565b612b37565b509392505050565b5f80670de0b6b3a7640000612907612b50565b6129119190613921565b9050808311612920575f61292a565b61292a818461363f565b9150610736612961670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613921565b83906125fa565b5f825f19048411830215820261297c575f80fd5b5091020490565b5f6001600160f81b038211156129ac5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129e05760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129f86001600160a01b03841683612b7b565b905080515f14158015612a1c575080806020019051810190612a1a9190613938565b155b15610c9357604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612ad5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af99190613734565b9050612b2f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127d7565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611f0c427f0000000000000000000000000000000000000000000000000000000000000000612b88565b606061073683835f612b9d565b5f612b9382846138a0565b610736908461363f565b606081471015612bc25760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612bdd9190613953565b5f6040518083038185875af1925050503d805f8114612c17576040519150601f19603f3d011682016040523d82523d5f602084013e612c1c565b606091505b5091509150612c2c868383612c36565b9695505050505050565b606082612c4b57612c4682612c92565b610736565b8151158015612c6257506001600160a01b0384163b155b15612c8b57604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612ca25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d8a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d9f575f80fd5b5035919050565b5f5b83811015612dc0578181015183820152602001612da8565b50505f910152565b5f8151808452612ddf816020860160208601612da6565b601f01601f19169290920160200192915050565b602081525f6107366020830184612dc8565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612e29575f80fd5b813561073681612e05565b801515811461046e575f80fd5b5f60208284031215612e51575f80fd5b813561073681612e34565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e83575f80fd5b8935985060208a0135975060408a0135612e9c81612e05565b965060608a0135612eac81612e05565b955060808a0135612ebc81612e34565b945060a08a0135935060c08a0135612ed381612e5c565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612f03575f80fd5b50813567ffffffffffffffff811115612f1a575f80fd5b6020830191508360208260051b8501011115612f34575f80fd5b9250929050565b5f805f805f8060808789031215612f50575f80fd5b8635612f5b81612e05565b95506020870135612f6b81612e05565b9450604087013567ffffffffffffffff80821115612f87575f80fd5b612f938a838b01612ef3565b90965094506060890135915080821115612fab575f80fd5b50612fb889828a01612ef3565b979a9699509497509295939492505050565b5f805f8060808587031215612fdd575f80fd5b843593506020850135612fef81612e05565b92506040850135612fff81612e05565b9396929550929360600135925050565b5f805f60608486031215613021575f80fd5b83359250602084013561303381612e05565b9150604084013561304381612e05565b809150509250925092565b5f806040838503121561305f575f80fd5b82359150602083013561307181612e05565b809150509250929050565b5f6020828403121561308c575f80fd5b813567ffffffffffffffff8111156130a2575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156130c6575f80fd5b8435935060208501356130d881612e05565b92506040850135915060608501356130ef81612e05565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156131ac575f80fd5b82356131b781612e05565b9150602083013561307181612e34565b5f805f606084860312156131d9575f80fd5b8335925060208401356131eb81612e05565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161322860208401826001600160a01b03169052565b50604083015161324360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516132b5828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613333575f80fd5b823567ffffffffffffffff811115613349575f80fd5b61335585828601612ef3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133985783518352928401929184019160010161337c565b50909695505050505050565b81516001600160801b03168152610180810160208301516133d060208401826001600160801b03169052565b5060408301516133eb60408401826001600160801b03169052565b50606083015161340660608401826001600160801b03169052565b50608083015161341b6080840182600f0b9052565b5060a083015161343660a08401826001600160801b03169052565b5060c083015161345160c08401826001600160801b03169052565b5060e083015161346c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261331a565b5f805f805f60a086880312156134c9575f80fd5b8535945060208601356134db81612e05565b935060408601356134eb81612e05565b925060608601359150608086013561350281612e05565b809150509295509295909350565b5f8060408385031215613521575f80fd5b823561352c81612e05565b9150602083013561307181612e05565b5f60208083525f84545f60018260011c9150600183168061355e57607f831692505b60208310810361357c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561359b57600181146135b1576135da565b60ff198616825284151560051b820196506135da565b5f8b8152602090205f5b868110156135d4578154848201529085019089016135bb565b83019750505b50949998505050505050505050565b5f602082840312156135f9575f80fd5b815161073681612e5c565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613618565b8181038181111561080757610807613618565b5f8060408385031215613663575f80fd5b82519150602083015161307181612e34565b805161059e81612e05565b5f60208284031215613690575f80fd5b815161073681612e05565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136ee816011850160208701612da6565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613727816012850160208701612da6565b9190910160120192915050565b5f60208284031215613744575f80fd5b5051919050565b5f602080838503121561375c575f80fd5b825167ffffffffffffffff80821115613773575f80fd5b818501915085601f830112613786575f80fd5b8151818111156137985761379861369b565b8060051b604051601f19603f830116810181811085821117156137bd576137bd61369b565b6040529182528482019250838101850191888311156137da575f80fd5b938501935b828510156137ff576137f085613675565b845293850193928501926137df565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613835816010850160208701612da6565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136ee816011850160208701612da6565b8181035f8312801583831316838312821617156112a1576112a1613618565b634e487b7160e01b5f52601260045260245ffd5b5f826138ae576138ae61388c565b500690565b5f600182016138c4576138c4613618565b5060010190565b5f826138d9576138d961388c565b500490565b5f808335601e198436030181126138f3575f80fd5b83018035915067ffffffffffffffff82111561390d575f80fd5b602001915036819003821315612f34575f80fd5b808202811582820484141761080757610807613618565b5f60208284031215613948575f80fd5b815161073681612e34565b5f8251613964818460208701612da6565b919091019291505056fea2646970667358221220ce9ac7544d36e0999ee669e8cdf009ca51b5cda91c38af3927a953c1543e462c64736f6c63430008160033a264697066735822122026094cd33c4fcb1821d6d80135d07655c1c0c62f3592dacbe23c63262fb6b34864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts deleted file mode 100644 index b1bbb8d16..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts +++ /dev/null @@ -1,798 +0,0 @@ -export declare const CornTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=CornTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts.map deleted file mode 100644 index 2a56b07b9..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget1.d.ts","sourceRoot":"","sources":["../src/CornTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA49B8x/B,KAAK,MAAM,EAAE;;;;;CAKl0/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1.js b/packages/hyperdrive-artifacts/dist/CornTarget1.js deleted file mode 100644 index 8bc1cb39c..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1.js +++ /dev/null @@ -1,994 +0,0 @@ -export const CornTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f9138038062003f918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613afb620004965f395f6125ca01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bf501525f818161139301528181611791015281816117f4015281816127de0152818161281a01528181612a120152612bcf01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ba901525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612c1b01525f81816107e701528181610ec4015281816116ef01528181612125015261319601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f818161259901526126450152613afb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461357f565b610070565b60405190815260200160405180910390f35b61004b61006b36600461357f565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135ed565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613600565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613633565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161365b565b6102bd8a6102b78d8f6135ed565b90611584565b8d6102cb60408c018c613676565b6040516102df9897969594939291906136e1565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135ed565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613728565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613633565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161365b565b8a61050260408b018b613676565b604051610515979695949392919061374f565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613633565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135ed565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61378f565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135ed565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61378f565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135ed565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135ed565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135ed565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361378f565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613600565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137e2565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061378f565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461378f565b610ea090896135ed565b9750610eac82846135ed565b610eb6908d6135ed565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061378f565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61378f565b9850670de0b6b3a7640000610ff0610f8b87876135ed565b600254610fa9908f90600160801b90046001600160801b031661378f565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661378f565b6110d191906137fd565b85670de0b6b3a76400006110e5878a61378f565b6110ef91906137fd565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137fd565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc9082613814565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613600565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135ed565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161365b565b15611558576115518561153f6020860186613633565b61154c6040870187613676565b612582565b915061157b565b61157b856115696020860186613633565b6115766040870187613676565b61266c565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612685565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461378f565b6116b8908961378f565b97506116c481846135ed565b6116ce908e61378f565b9c506116da8a8e6135ed565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061378f565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361378f565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613600565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126d8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137fd565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261378f565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613861565b5f6119ea828461388c565b61157d908461378f565b6002546004545f916105a6916001600160801b0390911690600f0b6126d8565b5f61007d82611a2485888861252d565b906126fd565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361378f565b9050611ac16110fa828661276c565b60068054601090611ae3908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361278090919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135ed565b90915550611b6b9050818361378f565b9150611b7682611a2a565b600280545f90611b909084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612794565b600480545f90611bd1908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612780565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261378f565b611c85908461378f565b9250611ca3565b611c96828261378f565b611ca090846135ed565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612780565b9050611cf588848661252d565b611cff90826135ed565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061378f565b9050805f03611da057600191505061131b565b5f611daa856127bd565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612858565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b92919061391d565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613992565b91509150611e77611e6982611321565b611e72906139b4565b6129cc565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b60565b6040518263ffffffff1660e01b8152600401611f7591906139ce565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139dd565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135ed565b612037919061378f565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561209757612097613a0b565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461378f565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612780565b5f808061216961216188670de0b6b3a764000061378f565b899087612c9a565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061378f565b8989612cbd565b92506121a883826135ed565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061378f565b8390612519565b61157d90670de0b6b3a764000061378f565b5f8061221d856121f56119f4565b6121ff91906135ed565b600254610fa9908790600160801b90046001600160801b031661378f565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061378f565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c9a565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061378f565b8a9088612c9a565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135ed565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b6123859190613600565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c29190613600565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135ed565b6124028587611584565b61240c888a611584565b611ce291906135ed565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761378f565b61245c8587612519565b612466888a611584565b611ce2919061378f565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cdf565b6124cd845f612cdf565b6124d79190613600565b90505f8113156124f2576124eb81866135ed565b9450612510565b5f81121561251057612503816139b4565b61250d908661378f565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c9a565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016119a0565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612612573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126369190613861565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cf4565b60405163350b944160e11b815260040160405180910390fd5b5f80806126a561269d88670de0b6b3a764000061378f565b89908761252d565b905086156121ab576126b78888611584565b915061219c8a8a846126d18a670de0b6b3a764000061378f565b8989612d4b565b5f806126e48484612d5b565b9092509050806126f6576126f66113ec565b5092915050565b5f815f036127145750670de0b6b3a764000061131b565b825f0361272257505f61131b565b5f61272c83611321565b90505f61274061273b86611321565b612d96565b9050818102612757670de0b6b3a764000082613a1f565b905061276281612fbb565b9695505050505050565b5f61157d83670de0b6b3a764000084612c9a565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127d7906001600160801b03168461276c565b90506128037f0000000000000000000000000000000000000000000000000000000000000000826135ed565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061284e9083906001600160801b031661378f565b61157d919061378f565b6128606134e0565b5f8061286b84612b60565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128a591906139ce565b6040805180830381865af41580156128bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e391906139dd565b93509050826128f757505f91506129c49050565b5f61291d61291884610160015185610140015161158490919063ffffffff16565b611321565b61293d61291885610120015186610100015161251990919063ffffffff16565b6129479190613600565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613a4b565b935093509350935080612ac157505f98975050505050505050565b868414612af257612ad184611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b2357612b028361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5157612b3382611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b6861352a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c60911661314d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c929290041661314d565b905292915050565b5f825f190484118302158202612cae575f80fd5b50910281810615159190040190565b5f80612ccd8888888888886131c1565b909250905080611d0f57611d0f6113ec565b5f818313612ced578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d4690849061329d565b505050565b5f80612ccd888888888888613303565b5f805f83612d6886611321565b612d729190613600565b90505f811215612d88575f809250925050612d8f565b9150600190505b9250929050565b5f808213612db75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e3a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fd457505f919050565b680755bf798b4a1bf1e58212612ffd576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061276274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131606105ab565b61316a91906137fd565b9050808311613179575f613183565b613183818461378f565b915061157d6131ba670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137fd565b8390612780565b5f805f6131d189898888886133bf565b9050868810156131e7575f809250925050613292565b96869003966131f688876126fd565b97508781101561320c575f809250925050613292565b87810361321a818688612c9a565b9050670de0b6b3a7640000811061324e57613247613240670de0b6b3a76400008961276c565b82906126fd565b9050613266565b613263613240670de0b6b3a764000089612780565b90505b613270818661276c565b905089811015613287575f80935093505050613292565b899003925060019150505b965096945050505050565b5f6132b16001600160a01b038416836133ed565b905080515f141580156132d55750808060200190518101906132d39190613a7e565b155b15612d4657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61331389898888886133bf565b905061332386611a24898b6135ed565b975087811015613339575f809250925050613292565b878103613347818688612c9a565b9050670de0b6b3a764000081106133745761336d613240670de0b6b3a76400008961276c565b905061338c565b613389613240670de0b6b3a764000089612780565b90505b613396818661276c565b9050808a10156133ad575f80935093505050613292565b90980398600198509650505050505050565b5f6133ca85856126fd565b6133e36133db86611a24868b612519565b859085612c9a565b61247091906135ed565b606061157d83835f845f80856001600160a01b031684866040516134119190613a99565b5f6040518083038185875af1925050503d805f811461344b576040519150601f19603f3d011682016040523d82523d5f602084013e613450565b606091505b50915091506127628683836060826134705761346b826134b7565b61157d565b815115801561348757506001600160a01b0384163b155b156134b057604051639996b31560e01b81526001600160a01b03851660048201526024016132fa565b508061157d565b8051156134c75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134f461352a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613592575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135bd575f80fd5b8501606081880312156135ce575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135d9565b8181035f8312801583831316838312821617156126f6576126f66135d9565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613643575f80fd5b813561157d8161361f565b8015158114610591575f80fd5b5f6020828403121561366b575f80fd5b813561157d8161364e565b5f808335601e1984360301811261368b575f80fd5b83018035915067ffffffffffffffff8211156136a5575f80fd5b602001915036819003821315612d8f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61371a60e0830184866136b9565b9a9950505050505050505050565b8082018281125f831280158216821582161715613747576137476135d9565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61378260c0830184866136b9565b9998505050505050505050565b8181038181111561131b5761131b6135d9565b6001600160701b038181168382160190808211156126f6576126f66135d9565b6001600160801b038181168382160190808211156126f6576126f66135d9565b5f602082840312156137f2575f80fd5b815161157d8161361f565b808202811582820484141761131b5761131b6135d9565b6001600160801b038281168282160390808211156126f6576126f66135d9565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135d9565b5f60208284031215613871575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389a5761389a613878565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393082855161389f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139a3575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139c8576139c86135d9565b505f0390565b610180810161131b828461389f565b5f80604083850312156139ee575f80fd5b825191506020830151613a008161364e565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a2d57613a2d613878565b600160ff1b82145f1984141615613a4657613a466135d9565b500590565b5f805f8060808587031215613a5e575f80fd5b84519350602085015192506040850151915060608501516135ce8161364e565b5f60208284031215613a8e575f80fd5b815161157d8161364e565b5f82515f5b81811015613ab85760208186018101518583015201613a9e565b505f92019182525091905056fea2646970667358221220063b5ed8f2d0b2a6aba85c3d6617f016061a69e6176da261a73426e9d3b2c60764736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts deleted file mode 100644 index 48bb823f8..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -export declare const CornTarget1Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=CornTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts.map deleted file mode 100644 index a7c3d72dc..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/CornTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJ0hlC,KAAK,MAAM,EAAE;;;;CAItklC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.js deleted file mode 100644 index 26d4b2cfe..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget1Deployer.js +++ /dev/null @@ -1,157 +0,0 @@ -export const CornTarget1Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161451338038061451383398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144906100835f395f608b01526144905ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b613f91806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162003f9138038062003f918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613afb620004965f395f6125ca01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bf501525f818161139301528181611791015281816117f4015281816127de0152818161281a01528181612a120152612bcf01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ba901525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612c1b01525f81816107e701528181610ec4015281816116ef01528181612125015261319601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f818161259901526126450152613afb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461357f565b610070565b60405190815260200160405180910390f35b61004b61006b36600461357f565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135ed565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613600565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613633565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161365b565b6102bd8a6102b78d8f6135ed565b90611584565b8d6102cb60408c018c613676565b6040516102df9897969594939291906136e1565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135ed565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613728565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613633565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161365b565b8a61050260408b018b613676565b604051610515979695949392919061374f565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613633565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135ed565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61378f565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135ed565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61378f565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135ed565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135ed565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135ed565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361378f565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613600565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137e2565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061378f565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461378f565b610ea090896135ed565b9750610eac82846135ed565b610eb6908d6135ed565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061378f565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61378f565b9850670de0b6b3a7640000610ff0610f8b87876135ed565b600254610fa9908f90600160801b90046001600160801b031661378f565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661378f565b6110d191906137fd565b85670de0b6b3a76400006110e5878a61378f565b6110ef91906137fd565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137fd565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc9082613814565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613600565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135ed565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161365b565b15611558576115518561153f6020860186613633565b61154c6040870187613676565b612582565b915061157b565b61157b856115696020860186613633565b6115766040870187613676565b61266c565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612685565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461378f565b6116b8908961378f565b97506116c481846135ed565b6116ce908e61378f565b9c506116da8a8e6135ed565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061378f565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361378f565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613600565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126d8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137fd565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261378f565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613861565b5f6119ea828461388c565b61157d908461378f565b6002546004545f916105a6916001600160801b0390911690600f0b6126d8565b5f61007d82611a2485888861252d565b906126fd565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361378f565b9050611ac16110fa828661276c565b60068054601090611ae3908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361278090919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135ed565b90915550611b6b9050818361378f565b9150611b7682611a2a565b600280545f90611b909084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612794565b600480545f90611bd1908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612780565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261378f565b611c85908461378f565b9250611ca3565b611c96828261378f565b611ca090846135ed565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612780565b9050611cf588848661252d565b611cff90826135ed565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061378f565b9050805f03611da057600191505061131b565b5f611daa856127bd565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612858565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b92919061391d565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613992565b91509150611e77611e6982611321565b611e72906139b4565b6129cc565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b60565b6040518263ffffffff1660e01b8152600401611f7591906139ce565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139dd565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135ed565b612037919061378f565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561209757612097613a0b565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461378f565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612780565b5f808061216961216188670de0b6b3a764000061378f565b899087612c9a565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061378f565b8989612cbd565b92506121a883826135ed565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061378f565b8390612519565b61157d90670de0b6b3a764000061378f565b5f8061221d856121f56119f4565b6121ff91906135ed565b600254610fa9908790600160801b90046001600160801b031661378f565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061378f565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c9a565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061378f565b8a9088612c9a565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135ed565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b6123859190613600565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c29190613600565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135ed565b6124028587611584565b61240c888a611584565b611ce291906135ed565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761378f565b61245c8587612519565b612466888a611584565b611ce2919061378f565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cdf565b6124cd845f612cdf565b6124d79190613600565b90505f8113156124f2576124eb81866135ed565b9450612510565b5f81121561251057612503816139b4565b61250d908661378f565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c9a565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016119a0565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612612573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126369190613861565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cf4565b60405163350b944160e11b815260040160405180910390fd5b5f80806126a561269d88670de0b6b3a764000061378f565b89908761252d565b905086156121ab576126b78888611584565b915061219c8a8a846126d18a670de0b6b3a764000061378f565b8989612d4b565b5f806126e48484612d5b565b9092509050806126f6576126f66113ec565b5092915050565b5f815f036127145750670de0b6b3a764000061131b565b825f0361272257505f61131b565b5f61272c83611321565b90505f61274061273b86611321565b612d96565b9050818102612757670de0b6b3a764000082613a1f565b905061276281612fbb565b9695505050505050565b5f61157d83670de0b6b3a764000084612c9a565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127d7906001600160801b03168461276c565b90506128037f0000000000000000000000000000000000000000000000000000000000000000826135ed565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061284e9083906001600160801b031661378f565b61157d919061378f565b6128606134e0565b5f8061286b84612b60565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128a591906139ce565b6040805180830381865af41580156128bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e391906139dd565b93509050826128f757505f91506129c49050565b5f61291d61291884610160015185610140015161158490919063ffffffff16565b611321565b61293d61291885610120015186610100015161251990919063ffffffff16565b6129479190613600565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613a4b565b935093509350935080612ac157505f98975050505050505050565b868414612af257612ad184611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b2357612b028361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5157612b3382611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b6861352a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c60911661314d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c929290041661314d565b905292915050565b5f825f190484118302158202612cae575f80fd5b50910281810615159190040190565b5f80612ccd8888888888886131c1565b909250905080611d0f57611d0f6113ec565b5f818313612ced578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d4690849061329d565b505050565b5f80612ccd888888888888613303565b5f805f83612d6886611321565b612d729190613600565b90505f811215612d88575f809250925050612d8f565b9150600190505b9250929050565b5f808213612db75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e3a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fd457505f919050565b680755bf798b4a1bf1e58212612ffd576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061276274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131606105ab565b61316a91906137fd565b9050808311613179575f613183565b613183818461378f565b915061157d6131ba670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137fd565b8390612780565b5f805f6131d189898888886133bf565b9050868810156131e7575f809250925050613292565b96869003966131f688876126fd565b97508781101561320c575f809250925050613292565b87810361321a818688612c9a565b9050670de0b6b3a7640000811061324e57613247613240670de0b6b3a76400008961276c565b82906126fd565b9050613266565b613263613240670de0b6b3a764000089612780565b90505b613270818661276c565b905089811015613287575f80935093505050613292565b899003925060019150505b965096945050505050565b5f6132b16001600160a01b038416836133ed565b905080515f141580156132d55750808060200190518101906132d39190613a7e565b155b15612d4657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61331389898888886133bf565b905061332386611a24898b6135ed565b975087811015613339575f809250925050613292565b878103613347818688612c9a565b9050670de0b6b3a764000081106133745761336d613240670de0b6b3a76400008961276c565b905061338c565b613389613240670de0b6b3a764000089612780565b90505b613396818661276c565b9050808a10156133ad575f80935093505050613292565b90980398600198509650505050505050565b5f6133ca85856126fd565b6133e36133db86611a24868b612519565b859085612c9a565b61247091906135ed565b606061157d83835f845f80856001600160a01b031684866040516134119190613a99565b5f6040518083038185875af1925050503d805f811461344b576040519150601f19603f3d011682016040523d82523d5f602084013e613450565b606091505b50915091506127628683836060826134705761346b826134b7565b61157d565b815115801561348757506001600160a01b0384163b155b156134b057604051639996b31560e01b81526001600160a01b03851660048201526024016132fa565b508061157d565b8051156134c75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134f461352a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613592575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135bd575f80fd5b8501606081880312156135ce575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135d9565b8181035f8312801583831316838312821617156126f6576126f66135d9565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613643575f80fd5b813561157d8161361f565b8015158114610591575f80fd5b5f6020828403121561366b575f80fd5b813561157d8161364e565b5f808335601e1984360301811261368b575f80fd5b83018035915067ffffffffffffffff8211156136a5575f80fd5b602001915036819003821315612d8f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61371a60e0830184866136b9565b9a9950505050505050505050565b8082018281125f831280158216821582161715613747576137476135d9565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61378260c0830184866136b9565b9998505050505050505050565b8181038181111561131b5761131b6135d9565b6001600160701b038181168382160190808211156126f6576126f66135d9565b6001600160801b038181168382160190808211156126f6576126f66135d9565b5f602082840312156137f2575f80fd5b815161157d8161361f565b808202811582820484141761131b5761131b6135d9565b6001600160801b038281168282160390808211156126f6576126f66135d9565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135d9565b5f60208284031215613871575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389a5761389a613878565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393082855161389f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139a3575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139c8576139c86135d9565b505f0390565b610180810161131b828461389f565b5f80604083850312156139ee575f80fd5b825191506020830151613a008161364e565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a2d57613a2d613878565b600160ff1b82145f1984141615613a4657613a466135d9565b500590565b5f805f8060808587031215613a5e575f80fd5b84519350602085015192506040850151915060608501516135ce8161364e565b5f60208284031215613a8e575f80fd5b815161157d8161364e565b5f82515f5b81811015613ab85760208186018101518583015201613a9e565b505f92019182525091905056fea2646970667358221220063b5ed8f2d0b2a6aba85c3d6617f016061a69e6176da261a73426e9d3b2c60764736f6c63430008160033a264697066735822122079d8ca4682edb830cb9cd8aaa002aa4808e3c379d48160855e696fee40f32bd464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts deleted file mode 100644 index 449adaf63..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts +++ /dev/null @@ -1,818 +0,0 @@ -export declare const CornTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=CornTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts.map deleted file mode 100644 index 05e2983e1..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget2.d.ts","sourceRoot":"","sources":["../src/CornTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq/B0qiC,KAAK,MAAM,EAAE;;;;;CAK9siC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2.js b/packages/hyperdrive-artifacts/dist/CornTarget2.js deleted file mode 100644 index 8c2cb479f..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2.js +++ /dev/null @@ -1,1019 +0,0 @@ -export const CornTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004257380380620042578339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d9e620004b95f395f81816116f8015261179b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612dea01525f818161152f01528181611d7201528181611dd50152818161255c015281816129da01528181612a1601528181612c070152612dc401525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d9e01525f61199c01525f8181611abd0152818161264d015281816126c50152612f0201525f81816109a301528181610e370152818161141501528181611a91015261269901525f8181610e16015281816126190152612ebe01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e1001525f81816101d301528181610396015281816108e1015261348e01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb0152818161172c015261176a0152613d9e5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613822565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613822565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613890565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613890565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138b7565b8b611217565b8d8a8a898e8561023e60208301836138b7565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138df565b8961028960408a018a6138fa565b60405161029c9796959493929190613965565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613890565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613890565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613890565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a8261048460208401846138b7565b85611217565b858b868461049b60208601866138b7565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138df565b6104ec896104e68a8d6139a5565b90610683565b8d6104fa60408e018e6138fa565b60405161050e9897969594939291906139b8565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138b7565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138df565b156105ea576105e0856105db60408701876138fa565b6116bc565b9093509050610602565b5034610602856105fd60408701876138fa565b611816565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061182f565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061184a565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613890565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161185f565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b92505b506108388361189e565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139a5565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613890565b42906118cb565b84610f13565b6108d5886118df565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139a5565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a7c565b915091508060095f8282546109729190613890565b9091555061098d9050865f8461098781611b49565b88611b72565b6109978183613890565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce9565b91506109db6109d68385610683565b611d32565b600680546002906109fc9084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261189e565b60068054601090610a4b908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a7c565b915091508060095f828254610abe9190613890565b90915550610ad99050835f84610ad381611b49565b8a611d5b565b610ae381836139a5565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261189e565b60068054601090610b62908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b49565b610ba483611b49565b610bae9190613a3f565b5f611f4b565b8e610bbf8482611f8a565b50505b5f610bcc84612179565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a5e565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161185f565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612341565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061236c565b6123d0565b15610e6d57610e6d612411565b610e798785888561242a565b91965094509250670de0b6b3a7640000610efb610e968784613890565b600254610eb4908890600160801b90046001600160801b03166139a5565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b1115610f0957610f09612411565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361189e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139a5565b610fb99190613a79565b85670de0b6b3a7640000610fcd878a6139a5565b610fd79190613a79565b859291906001612472565b61189e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461189e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a79565b6005546001600160801b03169190886001612472565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561189e565b600280545f906110d19084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461189e565b60028054601090611120908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461189e565b6111579082613a1f565b600380546001600160801b03808416600160801b02911617905590505f61117d83612516565b905061119b8161118c87611b49565b6111969084613ab0565b611f4b565b6111a484612556565b6111b0576111b0612411565b5f6111ba856125b5565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613890565b90915550505f838152600b60205260408120805483929061126a908490613890565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61185f565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125c1565b93508761134d85896125e1565b111561135b5761135b612411565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b93506113d58a670de0b6b3a7640000868c6125f5565b509193509091506113e8905081836139a5565b6113f290876139a5565b95508861143f816114398d611407868c6139a5565b8d6114128782612701565b877f0000000000000000000000000000000000000000000000000000000000000000612716565b906125e1565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612736565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613ad7565b5f6114e960408301602084016138df565b156114f5575082611502565b6114ff8484612759565b90505b9392505050565b6002546001600160801b03168381101561152557611525612411565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61276d565b101561156b5761156b612411565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a79565b600554600160801b90046001600160801b03169190896001612472565b600580546001600160801b03928316600160801b0292169190911790556115db8161189e565b600280546001600160801b0319166001600160801b03929092169190911790556116048561189e565b60028054601090611626908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561189e565b60048054601090611675908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a383612516565b905061119b816116b288611b49565b6111969084613a3f565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612792565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613890565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127ff565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af11580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190613ad7565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611843575f80fd5b5091020490565b5f6118558284613b02565b61069790846139a5565b6002546004545f916106cb916001600160801b0390911690600f0b61276d565b5f6118958261188f85888861182f565b9061288e565b95945050505050565b5f6001600160801b038211156118c757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118d95782610697565b50919050565b6006545f908190611901908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a77575f61192a83836139a5565b9050611939610fe28286611450565b6006805460109061195b908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611993858361275990919063ffffffff16565b90505f6119c0827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119d39190613890565b909155506119e3905081836139a5565b91506119ee8261189e565b600280545f90611a089084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a35826128f3565b600480545f90611a49908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a888785612759565b91505f611ab5837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ae1817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b0457611af382826139a5565b611afd90846139a5565b9250611b1b565b611b0e82826139a5565b611b189084613890565b92505b86861015611b3e57611b2e83878961182f565b9250611b3b82878961182f565b91505b509550959350505050565b5f6001600160ff1b038211156118c75760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bba610fe282611b9e670de0b6b3a764000086613a79565b600554600160801b90046001600160801b031691908a5f612472565b600580546001600160801b03928316600160801b029216919091179055611be08661189e565b611bea9082613a90565b600480546001600160801b03928316600160801b029216919091179055611c108461189e565b600280545f90611c2a9084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c578361291c565b600480545f90611c6b908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c9b8561189e565b60028054601090611cbd908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0084611cfa8a888a61182f565b90612759565b9050611d0d88848661182f565b611d179082613890565b905086811115611d275786810391505b509695505050505050565b5f6001600160701b038211156118c75760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d9d57507f0000000000000000000000000000000000000000000000000000000000000000611d9b85836139a5565b105b15611daa57611daa612411565b6004549084900390600f0b611dbf8482613a3f565b905083611dcb86611b49565b138015611e0057507f0000000000000000000000000000000000000000000000000000000000000000611dfe838361276d565b105b15611e0d57611e0d612411565b600354600160801b90046001600160801b0316611e4e610fe282611e39670de0b6b3a764000088613a79565b6005546001600160801b031691908c5f612472565b600580546001600160801b0319166001600160801b0392909216919091179055611e7888826139a5565b9050611e838161189e565b600380546001600160801b03928316600160801b029216919091179055611ea98361189e565b600280546001600160801b0319166001600160801b0392909216919091179055611ed28261291c565b600480546001600160801b0319166001600160801b0392909216919091179055611efb8761189e565b60028054601090611f1d908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6690610fe2906001600160801b03168484612957565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fd4916001600160801b0316906139a5565b9050805f03611fe757600191505061069a565b5f611ff1856129b9565b9050805f036120055760019250505061069a565b5f80612012838589612a54565b9150915080612027575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612062929190613bc0565b6040805180830381865af415801561207c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a09190613c35565b915091506120be6120b082611b49565b6120b990613c57565b612bc1565b9250826120d3575f965050505050505061069a565b6120dc8261189e565b600780545f906120f69084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121238161189e565b60078054601090612145908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a087612d55565b6040518263ffffffff1660e01b81526004016121bc9190613c71565b6040805180830381865af41580156121d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121fa9190613c80565b915091508061220f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227491613890565b61227e91906139a5565b9050805f0361229457505f958695509350505050565b5f8087116122a2575f6122ad565b6122ad84888461182f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122de576122de613cae565b6040519080825280601f01601f191660200182016040528015612308576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612328578692505b828152825f602083013e90999098509650505050505050565b5f61236187878761235a88670de0b6b3a76400006139a5565b8787612e8f565b979650505050505050565b5f6114ff6123ac61238584670de0b6b3a76400006139a5565b611439670de0b6b3a764000061239b818a611450565b6123a591906139a5565b87906125e1565b6123be90670de0b6b3a7640000613890565b611cfa84670de0b6b3a76400006139a5565b5f80612406856123de61185f565b6123e89190613890565b600254610eb4908790600160801b90046001600160801b03166139a5565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61243a898789612eb1565b909250905061244982896139a5565b97505f61245782888a61182f565b9050612463818b6139a5565b9a989950979650505050505050565b5f825f03612481575084611895565b81156124d3576124b26124948487613890565b61249e8587610683565b6124a8888a610683565b611cfa9190613890565b90505f6124bf85886118cb565b9050808210156124cd578091505b50611895565b8285036124e157505f611895565b61250c6124ee84876139a5565b6124f885876125e1565b612502888a610683565b611cfa91906139a5565b9695505050505050565b5f61253b600b5f6125286002866111e3565b81526020019081526020015f2054611b49565b61254c600b5f6125286001876111e3565b61069a9190613a3f565b5f6125817f0000000000000000000000000000000000000000000000000000000000000000836125e1565b60035461259791906001600160801b0316613890565b6002546125ad906001600160801b031684610683565b101592915050565b5f61069a826004611f8a565b5f6123618787876125da88670de0b6b3a76400006139a5565b8787612f30565b5f6106978383670de0b6b3a7640000612736565b5f808080612645878661263e8b6114396126178c670de0b6b3a76400006139a5565b7f0000000000000000000000000000000000000000000000000000000000000000906125e1565b9190612736565b9350612671847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61269161268989670de0b6b3a76400006139a5565b8a9088612736565b90506126bd817f00000000000000000000000000000000000000000000000000000000000000006125e1565b93506126e9847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126f39084613890565b915050945094509450949050565b5f81831161270f5781610697565b5090919050565b5f8061272d846127278a888a612736565b90611450565b9050611d0d8884865b5f825f19048411830215820261274a575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a76400008461182f565b5f806127798484612f40565b90925090508061278b5761278b612411565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127f99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f78565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128508482612fe3565b6127f9576040516001600160a01b0384811660248301525f604483015261288491869182169063095ea7b3906064016127c7565b6127f98482612f78565b5f815f036128a55750670de0b6b3a764000061069a565b825f036128b357505f61069a565b5f6128bd83611b49565b90505f6128d16128cc86611b49565b613080565b90508181026128e8670de0b6b3a764000082613cc2565b905061250c816132a5565b5f60016001607f1b038211156118c75760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612939575060016001607f1b0382135b156118c75760405163a5353be560e01b815260040160405180910390fd5b5f80612963845f613437565b61296d845f613437565b6129779190613a3f565b90505f8113156129925761298b8186613890565b94506129b0565b5f8112156129b0576129a381613c57565b6129ad90866139a5565b94505b50929392505050565b6003545f9081906129d3906001600160801b031684611450565b90506129ff7f000000000000000000000000000000000000000000000000000000000000000082613890565b6002546001600160801b031611156118d9576002547f000000000000000000000000000000000000000000000000000000000000000090612a4a9083906001600160801b03166139a5565b61150291906139a5565b612a5c613783565b5f80612a6784612d55565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612aa19190613c71565b6040805180830381865af4158015612abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612adf9190613c80565b9350905082612af357505f915061180e9050565b5f612b19612b1484610160015185610140015161068390919063ffffffff16565b611b49565b612b39612b148561012001518661010001516125e190919063ffffffff16565b612b439190613a3f565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c9b9190613cee565b935093509350935080612cb657505f98975050505050505050565b868414612ce757612cc68461189e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d1857612cf78361291c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d4657612d288261189e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d5d6137cd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e559116613445565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e8792900416613445565b905292915050565b5f80612e9f8888888888886134b9565b909250905080611d2757611d27612411565b5f80612efa8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ef0818c611450565b61143991906139a5565b9150612f26827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e9f88888888888861357d565b5f805f83612f4d86611b49565b612f579190613a3f565b90505f811215612f6d575f80925092505061067c565b946001945092505050565b5f612f8c6001600160a01b03841683613639565b905080515f14158015612fb0575080806020019051810190612fae9190613d21565b155b15612fde57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612ffe9190613d3c565b5f604051808303815f865af19150503d805f8114613037576040519150601f19603f3d011682016040523d82523d5f602084013e61303c565b606091505b50915091508180156130665750805115806130665750808060200190518101906130669190613d21565b80156118955750505050506001600160a01b03163b151590565b5f8082136130a15760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131249084901c611b49565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132be57505f919050565b680755bf798b4a1bf1e582126132e7576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061250c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b49565b5f81831361270f5781610697565b5f80670de0b6b3a76400006134586106a0565b6134629190613a79565b9050808311613471575f61347b565b61347b81846139a5565b91506115026134b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a79565b8390612759565b5f805f6134c98989888888613646565b90506134e38661188f6134dc8a8d613890565b8790610683565b98506134f0858a8661182f565b985088811015613506575f809250925050613572565b888103670de0b6b3a7640000811061353b5761353461352d670de0b6b3a764000089611450565b829061288e565b9050613553565b61355061352d670de0b6b3a764000089612759565b90505b80891015613568575f80935093505050613572565b8803925060019150505b965096945050505050565b5f805f61358d8989888888613646565b905061359d8661188f898b613890565b9750878110156135b3575f809250925050613572565b8781036135c1818688612736565b9050670de0b6b3a764000081106135ee576135e761352d670de0b6b3a764000089611450565b9050613606565b61360361352d670de0b6b3a764000089612759565b90505b6136108186611450565b9050808a1015613627575f80935093505050613572565b90980398600198509650505050505050565b606061069783835f613674565b5f613651858561288e565b61366a6136628661188f868b6125e1565b859085612736565b61250c9190613890565b6060814710156136995760405163cd78605960e01b8152306004820152602401612fd5565b5f80856001600160a01b031684866040516136b49190613d3c565b5f6040518083038185875af1925050503d805f81146136ee576040519150601f19603f3d011682016040523d82523d5f602084013e6136f3565b606091505b509150915061250c8683836060826137135761370e8261375a565b611502565b815115801561372a57506001600160a01b0384163b155b1561375357604051639996b31560e01b81526001600160a01b0385166004820152602401612fd5565b5080611502565b80511561376a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137976137cd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613835575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613860575f80fd5b850160608188031215613871575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61387c565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138c7575f80fd5b8135611502816138a3565b80151581146105af575f80fd5b5f602082840312156138ef575f80fd5b8135611502816138d2565b5f808335601e1984360301811261390f575f80fd5b83018035915067ffffffffffffffff821115613929575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61399860c08301848661393d565b9998505050505050505050565b8181038181111561069a5761069a61387c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139f160e08301848661393d565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561278b5761278b61387c565b6001600160801b0381811683821601908082111561278b5761278b61387c565b8181035f83128015838313168383128216171561278b5761278b61387c565b5f60208284031215613a6e575f80fd5b8151611502816138a3565b808202811582820484141761069a5761069a61387c565b6001600160801b0382811682821603908082111561278b5761278b61387c565b8082018281125f831280158216821582161715613acf57613acf61387c565b505092915050565b5f60208284031215613ae7575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b1057613b10613aee565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61387c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613bd3828551613b42565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c46575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c6b57613c6b61387c565b505f0390565b610180810161069a8284613b42565b5f8060408385031215613c91575f80fd5b825191506020830151613ca3816138d2565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613cd057613cd0613aee565b600160ff1b82145f1984141615613ce957613ce961387c565b500590565b5f805f8060808587031215613d01575f80fd5b8451935060208501519250604085015191506060850151613871816138d2565b5f60208284031215613d31575f80fd5b8151611502816138d2565b5f82515f5b81811015613d5b5760208186018101518583015201613d41565b505f92019182525091905056fea2646970667358221220c27e73e1ec88ba30adc104222cfe01c1fcc1678226aad26d6d21f8628f993c1c64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts deleted file mode 100644 index 85da19a3b..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -export declare const CornTarget2Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=CornTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts.map deleted file mode 100644 index 7c4f9ba3c..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/CornTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJs6nC,KAAK,MAAM,EAAE;;;;CAIl9nC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.js deleted file mode 100644 index a4264de56..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget2Deployer.js +++ /dev/null @@ -1,157 +0,0 @@ -export const CornTarget2Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516147d93803806147d983398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516147566100835f395f608b01526147565ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b614257806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162004257380380620042578339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d9e620004b95f395f81816116f8015261179b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612dea01525f818161152f01528181611d7201528181611dd50152818161255c015281816129da01528181612a1601528181612c070152612dc401525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d9e01525f61199c01525f8181611abd0152818161264d015281816126c50152612f0201525f81816109a301528181610e370152818161141501528181611a91015261269901525f8181610e16015281816126190152612ebe01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e1001525f81816101d301528181610396015281816108e1015261348e01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb0152818161172c015261176a0152613d9e5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613822565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613822565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613890565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613890565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138b7565b8b611217565b8d8a8a898e8561023e60208301836138b7565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138df565b8961028960408a018a6138fa565b60405161029c9796959493929190613965565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613890565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613890565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613890565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a8261048460208401846138b7565b85611217565b858b868461049b60208601866138b7565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138df565b6104ec896104e68a8d6139a5565b90610683565b8d6104fa60408e018e6138fa565b60405161050e9897969594939291906139b8565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138b7565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138df565b156105ea576105e0856105db60408701876138fa565b6116bc565b9093509050610602565b5034610602856105fd60408701876138fa565b611816565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061182f565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061184a565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613890565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161185f565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b92505b506108388361189e565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139a5565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613890565b42906118cb565b84610f13565b6108d5886118df565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139a5565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a7c565b915091508060095f8282546109729190613890565b9091555061098d9050865f8461098781611b49565b88611b72565b6109978183613890565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce9565b91506109db6109d68385610683565b611d32565b600680546002906109fc9084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261189e565b60068054601090610a4b908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a7c565b915091508060095f828254610abe9190613890565b90915550610ad99050835f84610ad381611b49565b8a611d5b565b610ae381836139a5565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261189e565b60068054601090610b62908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b49565b610ba483611b49565b610bae9190613a3f565b5f611f4b565b8e610bbf8482611f8a565b50505b5f610bcc84612179565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a5e565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161185f565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612341565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061236c565b6123d0565b15610e6d57610e6d612411565b610e798785888561242a565b91965094509250670de0b6b3a7640000610efb610e968784613890565b600254610eb4908890600160801b90046001600160801b03166139a5565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b1115610f0957610f09612411565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361189e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139a5565b610fb99190613a79565b85670de0b6b3a7640000610fcd878a6139a5565b610fd79190613a79565b859291906001612472565b61189e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461189e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a79565b6005546001600160801b03169190886001612472565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561189e565b600280545f906110d19084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461189e565b60028054601090611120908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461189e565b6111579082613a1f565b600380546001600160801b03808416600160801b02911617905590505f61117d83612516565b905061119b8161118c87611b49565b6111969084613ab0565b611f4b565b6111a484612556565b6111b0576111b0612411565b5f6111ba856125b5565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613890565b90915550505f838152600b60205260408120805483929061126a908490613890565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61185f565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125c1565b93508761134d85896125e1565b111561135b5761135b612411565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b93506113d58a670de0b6b3a7640000868c6125f5565b509193509091506113e8905081836139a5565b6113f290876139a5565b95508861143f816114398d611407868c6139a5565b8d6114128782612701565b877f0000000000000000000000000000000000000000000000000000000000000000612716565b906125e1565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612736565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613ad7565b5f6114e960408301602084016138df565b156114f5575082611502565b6114ff8484612759565b90505b9392505050565b6002546001600160801b03168381101561152557611525612411565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61276d565b101561156b5761156b612411565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a79565b600554600160801b90046001600160801b03169190896001612472565b600580546001600160801b03928316600160801b0292169190911790556115db8161189e565b600280546001600160801b0319166001600160801b03929092169190911790556116048561189e565b60028054601090611626908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561189e565b60048054601090611675908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a383612516565b905061119b816116b288611b49565b6111969084613a3f565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612792565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613890565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127ff565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af11580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190613ad7565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611843575f80fd5b5091020490565b5f6118558284613b02565b61069790846139a5565b6002546004545f916106cb916001600160801b0390911690600f0b61276d565b5f6118958261188f85888861182f565b9061288e565b95945050505050565b5f6001600160801b038211156118c757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118d95782610697565b50919050565b6006545f908190611901908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a77575f61192a83836139a5565b9050611939610fe28286611450565b6006805460109061195b908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611993858361275990919063ffffffff16565b90505f6119c0827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119d39190613890565b909155506119e3905081836139a5565b91506119ee8261189e565b600280545f90611a089084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a35826128f3565b600480545f90611a49908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a888785612759565b91505f611ab5837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ae1817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b0457611af382826139a5565b611afd90846139a5565b9250611b1b565b611b0e82826139a5565b611b189084613890565b92505b86861015611b3e57611b2e83878961182f565b9250611b3b82878961182f565b91505b509550959350505050565b5f6001600160ff1b038211156118c75760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bba610fe282611b9e670de0b6b3a764000086613a79565b600554600160801b90046001600160801b031691908a5f612472565b600580546001600160801b03928316600160801b029216919091179055611be08661189e565b611bea9082613a90565b600480546001600160801b03928316600160801b029216919091179055611c108461189e565b600280545f90611c2a9084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c578361291c565b600480545f90611c6b908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c9b8561189e565b60028054601090611cbd908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0084611cfa8a888a61182f565b90612759565b9050611d0d88848661182f565b611d179082613890565b905086811115611d275786810391505b509695505050505050565b5f6001600160701b038211156118c75760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d9d57507f0000000000000000000000000000000000000000000000000000000000000000611d9b85836139a5565b105b15611daa57611daa612411565b6004549084900390600f0b611dbf8482613a3f565b905083611dcb86611b49565b138015611e0057507f0000000000000000000000000000000000000000000000000000000000000000611dfe838361276d565b105b15611e0d57611e0d612411565b600354600160801b90046001600160801b0316611e4e610fe282611e39670de0b6b3a764000088613a79565b6005546001600160801b031691908c5f612472565b600580546001600160801b0319166001600160801b0392909216919091179055611e7888826139a5565b9050611e838161189e565b600380546001600160801b03928316600160801b029216919091179055611ea98361189e565b600280546001600160801b0319166001600160801b0392909216919091179055611ed28261291c565b600480546001600160801b0319166001600160801b0392909216919091179055611efb8761189e565b60028054601090611f1d908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6690610fe2906001600160801b03168484612957565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fd4916001600160801b0316906139a5565b9050805f03611fe757600191505061069a565b5f611ff1856129b9565b9050805f036120055760019250505061069a565b5f80612012838589612a54565b9150915080612027575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612062929190613bc0565b6040805180830381865af415801561207c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a09190613c35565b915091506120be6120b082611b49565b6120b990613c57565b612bc1565b9250826120d3575f965050505050505061069a565b6120dc8261189e565b600780545f906120f69084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121238161189e565b60078054601090612145908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a087612d55565b6040518263ffffffff1660e01b81526004016121bc9190613c71565b6040805180830381865af41580156121d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121fa9190613c80565b915091508061220f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227491613890565b61227e91906139a5565b9050805f0361229457505f958695509350505050565b5f8087116122a2575f6122ad565b6122ad84888461182f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122de576122de613cae565b6040519080825280601f01601f191660200182016040528015612308576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612328578692505b828152825f602083013e90999098509650505050505050565b5f61236187878761235a88670de0b6b3a76400006139a5565b8787612e8f565b979650505050505050565b5f6114ff6123ac61238584670de0b6b3a76400006139a5565b611439670de0b6b3a764000061239b818a611450565b6123a591906139a5565b87906125e1565b6123be90670de0b6b3a7640000613890565b611cfa84670de0b6b3a76400006139a5565b5f80612406856123de61185f565b6123e89190613890565b600254610eb4908790600160801b90046001600160801b03166139a5565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61243a898789612eb1565b909250905061244982896139a5565b97505f61245782888a61182f565b9050612463818b6139a5565b9a989950979650505050505050565b5f825f03612481575084611895565b81156124d3576124b26124948487613890565b61249e8587610683565b6124a8888a610683565b611cfa9190613890565b90505f6124bf85886118cb565b9050808210156124cd578091505b50611895565b8285036124e157505f611895565b61250c6124ee84876139a5565b6124f885876125e1565b612502888a610683565b611cfa91906139a5565b9695505050505050565b5f61253b600b5f6125286002866111e3565b81526020019081526020015f2054611b49565b61254c600b5f6125286001876111e3565b61069a9190613a3f565b5f6125817f0000000000000000000000000000000000000000000000000000000000000000836125e1565b60035461259791906001600160801b0316613890565b6002546125ad906001600160801b031684610683565b101592915050565b5f61069a826004611f8a565b5f6123618787876125da88670de0b6b3a76400006139a5565b8787612f30565b5f6106978383670de0b6b3a7640000612736565b5f808080612645878661263e8b6114396126178c670de0b6b3a76400006139a5565b7f0000000000000000000000000000000000000000000000000000000000000000906125e1565b9190612736565b9350612671847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61269161268989670de0b6b3a76400006139a5565b8a9088612736565b90506126bd817f00000000000000000000000000000000000000000000000000000000000000006125e1565b93506126e9847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126f39084613890565b915050945094509450949050565b5f81831161270f5781610697565b5090919050565b5f8061272d846127278a888a612736565b90611450565b9050611d0d8884865b5f825f19048411830215820261274a575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a76400008461182f565b5f806127798484612f40565b90925090508061278b5761278b612411565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127f99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f78565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128508482612fe3565b6127f9576040516001600160a01b0384811660248301525f604483015261288491869182169063095ea7b3906064016127c7565b6127f98482612f78565b5f815f036128a55750670de0b6b3a764000061069a565b825f036128b357505f61069a565b5f6128bd83611b49565b90505f6128d16128cc86611b49565b613080565b90508181026128e8670de0b6b3a764000082613cc2565b905061250c816132a5565b5f60016001607f1b038211156118c75760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612939575060016001607f1b0382135b156118c75760405163a5353be560e01b815260040160405180910390fd5b5f80612963845f613437565b61296d845f613437565b6129779190613a3f565b90505f8113156129925761298b8186613890565b94506129b0565b5f8112156129b0576129a381613c57565b6129ad90866139a5565b94505b50929392505050565b6003545f9081906129d3906001600160801b031684611450565b90506129ff7f000000000000000000000000000000000000000000000000000000000000000082613890565b6002546001600160801b031611156118d9576002547f000000000000000000000000000000000000000000000000000000000000000090612a4a9083906001600160801b03166139a5565b61150291906139a5565b612a5c613783565b5f80612a6784612d55565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612aa19190613c71565b6040805180830381865af4158015612abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612adf9190613c80565b9350905082612af357505f915061180e9050565b5f612b19612b1484610160015185610140015161068390919063ffffffff16565b611b49565b612b39612b148561012001518661010001516125e190919063ffffffff16565b612b439190613a3f565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c9b9190613cee565b935093509350935080612cb657505f98975050505050505050565b868414612ce757612cc68461189e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d1857612cf78361291c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d4657612d288261189e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d5d6137cd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e559116613445565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e8792900416613445565b905292915050565b5f80612e9f8888888888886134b9565b909250905080611d2757611d27612411565b5f80612efa8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ef0818c611450565b61143991906139a5565b9150612f26827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e9f88888888888861357d565b5f805f83612f4d86611b49565b612f579190613a3f565b90505f811215612f6d575f80925092505061067c565b946001945092505050565b5f612f8c6001600160a01b03841683613639565b905080515f14158015612fb0575080806020019051810190612fae9190613d21565b155b15612fde57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612ffe9190613d3c565b5f604051808303815f865af19150503d805f8114613037576040519150601f19603f3d011682016040523d82523d5f602084013e61303c565b606091505b50915091508180156130665750805115806130665750808060200190518101906130669190613d21565b80156118955750505050506001600160a01b03163b151590565b5f8082136130a15760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131249084901c611b49565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132be57505f919050565b680755bf798b4a1bf1e582126132e7576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061250c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b49565b5f81831361270f5781610697565b5f80670de0b6b3a76400006134586106a0565b6134629190613a79565b9050808311613471575f61347b565b61347b81846139a5565b91506115026134b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a79565b8390612759565b5f805f6134c98989888888613646565b90506134e38661188f6134dc8a8d613890565b8790610683565b98506134f0858a8661182f565b985088811015613506575f809250925050613572565b888103670de0b6b3a7640000811061353b5761353461352d670de0b6b3a764000089611450565b829061288e565b9050613553565b61355061352d670de0b6b3a764000089612759565b90505b80891015613568575f80935093505050613572565b8803925060019150505b965096945050505050565b5f805f61358d8989888888613646565b905061359d8661188f898b613890565b9750878110156135b3575f809250925050613572565b8781036135c1818688612736565b9050670de0b6b3a764000081106135ee576135e761352d670de0b6b3a764000089611450565b9050613606565b61360361352d670de0b6b3a764000089612759565b90505b6136108186611450565b9050808a1015613627575f80935093505050613572565b90980398600198509650505050505050565b606061069783835f613674565b5f613651858561288e565b61366a6136628661188f868b6125e1565b859085612736565b61250c9190613890565b6060814710156136995760405163cd78605960e01b8152306004820152602401612fd5565b5f80856001600160a01b031684866040516136b49190613d3c565b5f6040518083038185875af1925050503d805f81146136ee576040519150601f19603f3d011682016040523d82523d5f602084013e6136f3565b606091505b509150915061250c8683836060826137135761370e8261375a565b611502565b815115801561372a57506001600160a01b0384163b155b1561375357604051639996b31560e01b81526001600160a01b0385166004820152602401612fd5565b5080611502565b80511561376a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137976137cd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613835575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613860575f80fd5b850160608188031215613871575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61387c565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138c7575f80fd5b8135611502816138a3565b80151581146105af575f80fd5b5f602082840312156138ef575f80fd5b8135611502816138d2565b5f808335601e1984360301811261390f575f80fd5b83018035915067ffffffffffffffff821115613929575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61399860c08301848661393d565b9998505050505050505050565b8181038181111561069a5761069a61387c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139f160e08301848661393d565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561278b5761278b61387c565b6001600160801b0381811683821601908082111561278b5761278b61387c565b8181035f83128015838313168383128216171561278b5761278b61387c565b5f60208284031215613a6e575f80fd5b8151611502816138a3565b808202811582820484141761069a5761069a61387c565b6001600160801b0382811682821603908082111561278b5761278b61387c565b8082018281125f831280158216821582161715613acf57613acf61387c565b505092915050565b5f60208284031215613ae7575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b1057613b10613aee565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61387c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613bd3828551613b42565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c46575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c6b57613c6b61387c565b505f0390565b610180810161069a8284613b42565b5f8060408385031215613c91575f80fd5b825191506020830151613ca3816138d2565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613cd057613cd0613aee565b600160ff1b82145f1984141615613ce957613ce961387c565b500590565b5f805f8060808587031215613d01575f80fd5b8451935060208501519250604085015191506060850151613871816138d2565b5f60208284031215613d31575f80fd5b8151611502816138d2565b5f82515f5b81811015613d5b5760208186018101518583015201613d41565b505f92019182525091905056fea2646970667358221220c27e73e1ec88ba30adc104222cfe01c1fcc1678226aad26d6d21f8628f993c1c64736f6c63430008160033a26469706673582212204e3afa669e4652611b4e6462ec50409a8c9345f2fcc95ec1b4ad67b1aade5af764736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts deleted file mode 100644 index c8d64f996..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts +++ /dev/null @@ -1,834 +0,0 @@ -export declare const CornTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=CornTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts.map deleted file mode 100644 index c85afb649..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget3.d.ts","sourceRoot":"","sources":["../src/CornTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAygCk4hC,KAAK,MAAM,EAAE;;;;;CAKt6hC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3.js b/packages/hyperdrive-artifacts/dist/CornTarget3.js deleted file mode 100644 index d07788523..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3.js +++ /dev/null @@ -1,1039 +0,0 @@ -export const CornTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620041c3380380620041c38339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cf9620004ca5f395f81816119880152611a2b01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d90152818161213c015281816129e501528181612e230152612e5f01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cea01525f8181611e3f01526130ae01525f81816110260152611e1301525f61306401525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297b01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01526119fa0152613cf95ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613752565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137b1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613811565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613824565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613811565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613824565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613824565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613811565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138b5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138c4565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138b5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138c4565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613824565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138ef565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613811565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138ef565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613917565b866107a960408c018c613932565b6040516107bc9796959493929190613975565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139c8565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139df565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138ef565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138ef565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613917565b87610b5e6040890189613932565b604051610b719796959493929190613975565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138ef565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613917565b15610c8f57610c8585610c806040870187613932565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613932565b611aa6565b610caf611abf565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ad1565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613811565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613824565b8a84611ae6565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613811565b4290611c1f565b84611ae6565b610f5888611c2d565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613824565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dca565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfe565b915091508060095f828254610ff59190613811565b909155506110109050865f8461100a81611766565b88611ecb565b61101a8183613811565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612042565b915061105e6110598385612085565b612099565b6006805460029061107f9084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dca565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfe565b915091508060095f8282546111419190613811565b9091555061115c9050835f8461115681611766565b8a6120c2565b6111668183613824565b91506111756110598387612085565b600680546002906111969084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a4a565b5f6122b2565b8e61124284826122f1565b50505b5f61124f846124e0565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a69565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612622565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dca565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dca565b6113f79190613a4a565b92915050565b5f805f8061140b8a8a6126aa565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8b7f00000000000000000000000000000000000000000000000000000000000000006126e2565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8d7f000000000000000000000000000000000000000000000000000000000000000061279b565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612855565b509093505f9050611568848f613811565b90505f6115888b8b61157987611766565b611583908e613a84565b61289d565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128ff565b611766565b6115c683611766565b6115d36115b88685612085565b6115dd9190613a4a565b6115e79190613a4a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290f565b61162685670de0b6b3a7640000613824565b906117d4565b6116346136a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612932565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612932565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299f565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613811565b90915550505f838152600b60205260408120805483929061183b908490613811565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122f1565b5f8183136118a7578261008d565b50919050565b5f806118b984846126aa565b9092509050806118cb576118cb612b33565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b4c565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bbb565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613811565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c28565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af1158015611a73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9791906138c4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612cb7565b5f611adc8284613abf565b61008d9084613824565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b115750505050565b5f848152600860205260408120546001600160801b031690819003611b6957611b39836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be6565b611bba611bb5670de0b6b3a7640000611b828886613824565b611b8c91906139c8565b85670de0b6b3a7640000611ba0878a613824565b611baa91906139c8565b859291906001612d2b565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bef846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4f908490600160801b90046001600160801b0316612085565b6006546201000090046001600160701b03169250905081811115611dc5575f611c788383613824565b9050611c87611bb58286612dc5565b60068054601090611ca9908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ce185836117d490919063ffffffff16565b90505f611d0e827f0000000000000000000000000000000000000000000000000000000000000000612085565b90508060095f828254611d219190613811565b90915550611d3190508183613824565b9150611d3c826118d2565b600280545f90611d569084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8382612dd9565b600480545f90611d97908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0a87856117d4565b91505f611e37837f0000000000000000000000000000000000000000000000000000000000000000612085565b9050611e63817f0000000000000000000000000000000000000000000000000000000000000000612085565b91508315611e8657611e758282613824565b611e7f9084613824565b9250611e9d565b611e908282613824565b611e9a9084613811565b92505b86861015611ec057611eb08387896117b9565b9250611ebd8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f13611bb582611ef7670de0b6b3a7640000866139c8565b600554600160801b90046001600160801b031691908a5f612d2b565b600580546001600160801b03928316600160801b029216919091179055611f39866118d2565b611f439082613ad2565b600480546001600160801b03928316600160801b029216919091179055611f69846118d2565b600280545f90611f839084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fb0836118fb565b600480545f90611fc4908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff4856118d2565b60028054601090612016908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612053846116268a888a6117b9565b90506120608884866117b9565b61206a9082613811565b90508681111561207a5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210457507f00000000000000000000000000000000000000000000000000000000000000006121028583613824565b105b1561211157612111612b33565b6004549084900390600f0b6121268482613a4a565b90508361213286611766565b13801561216757507f000000000000000000000000000000000000000000000000000000000000000061216583836118ad565b105b1561217457612174612b33565b600354600160801b90046001600160801b03166121b5611bb5826121a0670de0b6b3a7640000886139c8565b6005546001600160801b031691908c5f612d2b565b600580546001600160801b0319166001600160801b03929092169190911790556121df8882613824565b90506121ea816118d2565b600380546001600160801b03928316600160801b029216919091179055612210836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612239826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612262876118d2565b60028054601090612284908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122cd90611bb5906001600160801b0316848461289d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161233b916001600160801b031690613824565b9050805f0361234e5760019150506113f7565b5f61235885612e02565b9050805f0361236c576001925050506113f7565b5f80612379838589612e9d565b915091508061238e575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c9929190613b1f565b6040805180830381865af41580156123e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124079190613b94565b9150915061242561241782611766565b61242090613bb6565b61299f565b92508261243a575f96505050505050506113f7565b612443826118d2565b600780545f9061245d9084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061248a816118d2565b600780546010906124ac908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125078761162c565b6040518263ffffffff1660e01b815260040161252391906138b5565b6040805180830381865af415801561253d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125619190613bd0565b915091508061257657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125db91613811565b6125e59190613824565b9050805f036125fb57505f958695509350505050565b5f808711612609575f612614565b6126148488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264557612645613bfe565b6040519080825280601f01601f19166020018201604052801561266f576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268f578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b786611766565b6126c19190613a4a565b90505f8112156126d7575f809250925050610d21565b946001945092505050565b5f805f6126f28888888888613005565b90505f61271c670de0b6b3a764000061270b8888612dc5565b6127159190613811565b83906117d4565b9050670de0b6b3a7640000811061275057612749612742670de0b6b3a7640000896117d4565b8290612b4c565b9050612768565b612765612742670de0b6b3a764000089612dc5565b90505b61277281866117d4565b905088811015612789575f809350935050506126a0565b97909703976001975095505050505050565b5f805f6127ab8989888888613033565b90506127c5866119466127be8a8d613811565b8790612085565b98506127d2858a866117b9565b9850888110156127e8575f8092509250506115f6565b888103670de0b6b3a764000081106128165761280f612742670de0b6b3a764000089612dc5565b905061282e565b61282b612742670de0b6b3a7640000896117d4565b90505b80891015612843575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612865898789613057565b90925090506128748289613824565b97505f61288282888a6117b9565b905061288e818b613824565b9a989950979650505050505050565b5f806128a9845f6130dc565b6128b3845f6130dc565b6128bd9190613a4a565b90505f8113156128d8576128d18186613811565b94506128f6565b5f8112156128f6576128e981613bb6565b6128f39086613824565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612923575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612945610d28565b61294f91906139c8565b905080831161295e575f612968565b6129688184613824565b915061008d612715670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139c8565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a799190613c12565b935093509350935080612a9457505f98975050505050505050565b868414612ac557612aa4846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af657612ad5836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2457612b06826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b635750670de0b6b3a76400006113f7565b825f03612b7157505f6113f7565b5f612b7b83611766565b90505f612b8f612b8a86611766565b6130f1565b9050818102612ba6670de0b6b3a764000082613c50565b9050612bb181613316565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c229186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506134a8565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c798482613513565b612c22576040516001600160a01b0384811660248301525f6044830152612cad91869182169063095ea7b390606401612bf0565b612c2284826134a8565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af4158015612d07573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f791906138c4565b5f825f03612d3a575084610075565b8115612d8c57612d6b612d4d8487613811565b612d578587612085565b612d61888a612085565b6116269190613811565b90505f612d788588611c1f565b905080821015612d86578091505b50610075565b828503612d9a57505f610075565b610072612da78487613824565b612db185876128ff565b612dbb888a612085565b6116269190613824565b5f61008d83670de0b6b3a76400008461290f565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612e1c906001600160801b031684612dc5565b9050612e487f000000000000000000000000000000000000000000000000000000000000000082613811565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e939083906001600160801b0316613824565b61008d9190613824565b612ea56136f8565b5f80612eb08461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eea91906138b5565b6040805180830381865af4158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f289190613bd0565b9350905082612f3c57505f9150611a9e9050565b5f612f5d6115b884610160015185610140015161208590919063ffffffff16565b612f7d6115b88561012001518661010001516128ff90919063ffffffff16565b612f879190613a4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130108585612b4c565b61302961302186611946868b612085565b8590856117b9565b6100729190613811565b5f61303e8585612b4c565b61302961304f86611946868b6128ff565b85908561290f565b5f806130a6856130a085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613096818c612dc5565b6130a09190613824565b906128ff565b91506130d2827f0000000000000000000000000000000000000000000000000000000000000000612085565b9050935093915050565b5f8183136130ea578161008d565b5090919050565b5f8082136131125760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131959084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361332f57505f919050565b680755bf798b4a1bf1e58212613358576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bb174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134bc6001600160a01b038416836135b0565b905080515f141580156134e05750808060200190518101906134de9190613c7c565b155b1561350e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161352e9190613c97565b5f604051808303815f865af19150503d805f8114613567576040519150601f19603f3d011682016040523d82523d5f602084013e61356c565b606091505b50915091508180156135965750805115806135965750808060200190518101906135969190613c7c565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135d49190613c97565b5f6040518083038185875af1925050503d805f811461360e576040519150601f19603f3d011682016040523d82523d5f602084013e613613565b606091505b5091509150612bb18683836060826136335761362e8261367a565b61008d565b815115801561364a57506001600160a01b0384163b155b1561367357604051639996b31560e01b81526001600160a01b0385166004820152602401613505565b508061008d565b80511561368a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061370c6136a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613766575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613798575f80fd5b6137a488828901613742565b9150509295509295909350565b5f805f606084860312156137c3575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137e7575f80fd5b6137f386828701613742565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137fd565b818103818111156113f7576113f76137fd565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613837565b5f602082840312156138d4575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138ff575f80fd5b813561008d816138db565b8015158114610c0a575f80fd5b5f60208284031215613927575f80fd5b813561008d8161390a565b5f808335601e19843603018112613947575f80fd5b83018035915067ffffffffffffffff821115613961575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137fd565b5f805f606084860312156139f1575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137fd565b6001600160801b038181168382160190808211156118cb576118cb6137fd565b8181035f8312801583831316838312821617156118cb576118cb6137fd565b5f60208284031215613a79575f80fd5b815161008d816138db565b8082018281125f831280158216821582161715613aa357613aa36137fd565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613acd57613acd613aab565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137fd565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137fd565b5f6102a082019050613b32828551613837565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137fd565b505f0390565b5f8060408385031215613be1575f80fd5b825191506020830151613bf38161390a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c25575f80fd5b8451935060208501519250604085015191506060850151613c458161390a565b939692955090935050565b5f82613c5e57613c5e613aab565b600160ff1b82145f1984141615613c7757613c776137fd565b500590565b5f60208284031215613c8c575f80fd5b815161008d8161390a565b5f82515f5b81811015613cb65760208186018101518583015201613c9c565b505f92019182525091905056fea2646970667358221220d5f62440e28478b29193e21dafa44521272eec0a04d75472d5a80d6d5f40122c64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts deleted file mode 100644 index 132604cb4..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -export declare const CornTarget3Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=CornTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts.map deleted file mode 100644 index 6097079ff..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/CornTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJ8nnC,KAAK,MAAM,EAAE;;;;CAI1qnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.js deleted file mode 100644 index 7a3ca4b0f..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget3Deployer.js +++ /dev/null @@ -1,157 +0,0 @@ -export const CornTarget3Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161474538038061474583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146c26100835f395f608b01526146c25ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b6141c3806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b50604051620041c3380380620041c38339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cf9620004ca5f395f81816119880152611a2b01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d90152818161213c015281816129e501528181612e230152612e5f01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cea01525f8181611e3f01526130ae01525f81816110260152611e1301525f61306401525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297b01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01526119fa0152613cf95ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613752565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137b1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613811565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613824565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613811565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613824565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613824565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613811565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138b5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138c4565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138b5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138c4565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613824565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138ef565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613811565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138ef565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613917565b866107a960408c018c613932565b6040516107bc9796959493929190613975565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139c8565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139df565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138ef565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138ef565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613917565b87610b5e6040890189613932565b604051610b719796959493929190613975565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138ef565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613917565b15610c8f57610c8585610c806040870187613932565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613932565b611aa6565b610caf611abf565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ad1565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613811565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613824565b8a84611ae6565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613811565b4290611c1f565b84611ae6565b610f5888611c2d565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613824565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dca565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfe565b915091508060095f828254610ff59190613811565b909155506110109050865f8461100a81611766565b88611ecb565b61101a8183613811565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612042565b915061105e6110598385612085565b612099565b6006805460029061107f9084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dca565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfe565b915091508060095f8282546111419190613811565b9091555061115c9050835f8461115681611766565b8a6120c2565b6111668183613824565b91506111756110598387612085565b600680546002906111969084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a4a565b5f6122b2565b8e61124284826122f1565b50505b5f61124f846124e0565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a69565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612622565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dca565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dca565b6113f79190613a4a565b92915050565b5f805f8061140b8a8a6126aa565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8b7f00000000000000000000000000000000000000000000000000000000000000006126e2565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8d7f000000000000000000000000000000000000000000000000000000000000000061279b565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612855565b509093505f9050611568848f613811565b90505f6115888b8b61157987611766565b611583908e613a84565b61289d565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128ff565b611766565b6115c683611766565b6115d36115b88685612085565b6115dd9190613a4a565b6115e79190613a4a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290f565b61162685670de0b6b3a7640000613824565b906117d4565b6116346136a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612932565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612932565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299f565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613811565b90915550505f838152600b60205260408120805483929061183b908490613811565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122f1565b5f8183136118a7578261008d565b50919050565b5f806118b984846126aa565b9092509050806118cb576118cb612b33565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b4c565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bbb565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613811565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c28565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af1158015611a73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9791906138c4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612cb7565b5f611adc8284613abf565b61008d9084613824565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b115750505050565b5f848152600860205260408120546001600160801b031690819003611b6957611b39836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be6565b611bba611bb5670de0b6b3a7640000611b828886613824565b611b8c91906139c8565b85670de0b6b3a7640000611ba0878a613824565b611baa91906139c8565b859291906001612d2b565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bef846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4f908490600160801b90046001600160801b0316612085565b6006546201000090046001600160701b03169250905081811115611dc5575f611c788383613824565b9050611c87611bb58286612dc5565b60068054601090611ca9908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ce185836117d490919063ffffffff16565b90505f611d0e827f0000000000000000000000000000000000000000000000000000000000000000612085565b90508060095f828254611d219190613811565b90915550611d3190508183613824565b9150611d3c826118d2565b600280545f90611d569084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8382612dd9565b600480545f90611d97908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0a87856117d4565b91505f611e37837f0000000000000000000000000000000000000000000000000000000000000000612085565b9050611e63817f0000000000000000000000000000000000000000000000000000000000000000612085565b91508315611e8657611e758282613824565b611e7f9084613824565b9250611e9d565b611e908282613824565b611e9a9084613811565b92505b86861015611ec057611eb08387896117b9565b9250611ebd8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f13611bb582611ef7670de0b6b3a7640000866139c8565b600554600160801b90046001600160801b031691908a5f612d2b565b600580546001600160801b03928316600160801b029216919091179055611f39866118d2565b611f439082613ad2565b600480546001600160801b03928316600160801b029216919091179055611f69846118d2565b600280545f90611f839084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fb0836118fb565b600480545f90611fc4908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff4856118d2565b60028054601090612016908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612053846116268a888a6117b9565b90506120608884866117b9565b61206a9082613811565b90508681111561207a5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210457507f00000000000000000000000000000000000000000000000000000000000000006121028583613824565b105b1561211157612111612b33565b6004549084900390600f0b6121268482613a4a565b90508361213286611766565b13801561216757507f000000000000000000000000000000000000000000000000000000000000000061216583836118ad565b105b1561217457612174612b33565b600354600160801b90046001600160801b03166121b5611bb5826121a0670de0b6b3a7640000886139c8565b6005546001600160801b031691908c5f612d2b565b600580546001600160801b0319166001600160801b03929092169190911790556121df8882613824565b90506121ea816118d2565b600380546001600160801b03928316600160801b029216919091179055612210836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612239826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612262876118d2565b60028054601090612284908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122cd90611bb5906001600160801b0316848461289d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161233b916001600160801b031690613824565b9050805f0361234e5760019150506113f7565b5f61235885612e02565b9050805f0361236c576001925050506113f7565b5f80612379838589612e9d565b915091508061238e575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c9929190613b1f565b6040805180830381865af41580156123e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124079190613b94565b9150915061242561241782611766565b61242090613bb6565b61299f565b92508261243a575f96505050505050506113f7565b612443826118d2565b600780545f9061245d9084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061248a816118d2565b600780546010906124ac908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125078761162c565b6040518263ffffffff1660e01b815260040161252391906138b5565b6040805180830381865af415801561253d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125619190613bd0565b915091508061257657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125db91613811565b6125e59190613824565b9050805f036125fb57505f958695509350505050565b5f808711612609575f612614565b6126148488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264557612645613bfe565b6040519080825280601f01601f19166020018201604052801561266f576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268f578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b786611766565b6126c19190613a4a565b90505f8112156126d7575f809250925050610d21565b946001945092505050565b5f805f6126f28888888888613005565b90505f61271c670de0b6b3a764000061270b8888612dc5565b6127159190613811565b83906117d4565b9050670de0b6b3a7640000811061275057612749612742670de0b6b3a7640000896117d4565b8290612b4c565b9050612768565b612765612742670de0b6b3a764000089612dc5565b90505b61277281866117d4565b905088811015612789575f809350935050506126a0565b97909703976001975095505050505050565b5f805f6127ab8989888888613033565b90506127c5866119466127be8a8d613811565b8790612085565b98506127d2858a866117b9565b9850888110156127e8575f8092509250506115f6565b888103670de0b6b3a764000081106128165761280f612742670de0b6b3a764000089612dc5565b905061282e565b61282b612742670de0b6b3a7640000896117d4565b90505b80891015612843575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612865898789613057565b90925090506128748289613824565b97505f61288282888a6117b9565b905061288e818b613824565b9a989950979650505050505050565b5f806128a9845f6130dc565b6128b3845f6130dc565b6128bd9190613a4a565b90505f8113156128d8576128d18186613811565b94506128f6565b5f8112156128f6576128e981613bb6565b6128f39086613824565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612923575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612945610d28565b61294f91906139c8565b905080831161295e575f612968565b6129688184613824565b915061008d612715670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139c8565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a799190613c12565b935093509350935080612a9457505f98975050505050505050565b868414612ac557612aa4846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af657612ad5836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2457612b06826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b635750670de0b6b3a76400006113f7565b825f03612b7157505f6113f7565b5f612b7b83611766565b90505f612b8f612b8a86611766565b6130f1565b9050818102612ba6670de0b6b3a764000082613c50565b9050612bb181613316565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c229186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506134a8565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c798482613513565b612c22576040516001600160a01b0384811660248301525f6044830152612cad91869182169063095ea7b390606401612bf0565b612c2284826134a8565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af4158015612d07573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f791906138c4565b5f825f03612d3a575084610075565b8115612d8c57612d6b612d4d8487613811565b612d578587612085565b612d61888a612085565b6116269190613811565b90505f612d788588611c1f565b905080821015612d86578091505b50610075565b828503612d9a57505f610075565b610072612da78487613824565b612db185876128ff565b612dbb888a612085565b6116269190613824565b5f61008d83670de0b6b3a76400008461290f565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612e1c906001600160801b031684612dc5565b9050612e487f000000000000000000000000000000000000000000000000000000000000000082613811565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e939083906001600160801b0316613824565b61008d9190613824565b612ea56136f8565b5f80612eb08461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eea91906138b5565b6040805180830381865af4158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f289190613bd0565b9350905082612f3c57505f9150611a9e9050565b5f612f5d6115b884610160015185610140015161208590919063ffffffff16565b612f7d6115b88561012001518661010001516128ff90919063ffffffff16565b612f879190613a4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130108585612b4c565b61302961302186611946868b612085565b8590856117b9565b6100729190613811565b5f61303e8585612b4c565b61302961304f86611946868b6128ff565b85908561290f565b5f806130a6856130a085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613096818c612dc5565b6130a09190613824565b906128ff565b91506130d2827f0000000000000000000000000000000000000000000000000000000000000000612085565b9050935093915050565b5f8183136130ea578161008d565b5090919050565b5f8082136131125760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131959084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361332f57505f919050565b680755bf798b4a1bf1e58212613358576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bb174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134bc6001600160a01b038416836135b0565b905080515f141580156134e05750808060200190518101906134de9190613c7c565b155b1561350e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161352e9190613c97565b5f604051808303815f865af19150503d805f8114613567576040519150601f19603f3d011682016040523d82523d5f602084013e61356c565b606091505b50915091508180156135965750805115806135965750808060200190518101906135969190613c7c565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135d49190613c97565b5f6040518083038185875af1925050503d805f811461360e576040519150601f19603f3d011682016040523d82523d5f602084013e613613565b606091505b5091509150612bb18683836060826136335761362e8261367a565b61008d565b815115801561364a57506001600160a01b0384163b155b1561367357604051639996b31560e01b81526001600160a01b0385166004820152602401613505565b508061008d565b80511561368a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061370c6136a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613766575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613798575f80fd5b6137a488828901613742565b9150509295509295909350565b5f805f606084860312156137c3575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137e7575f80fd5b6137f386828701613742565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137fd565b818103818111156113f7576113f76137fd565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613837565b5f602082840312156138d4575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138ff575f80fd5b813561008d816138db565b8015158114610c0a575f80fd5b5f60208284031215613927575f80fd5b813561008d8161390a565b5f808335601e19843603018112613947575f80fd5b83018035915067ffffffffffffffff821115613961575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137fd565b5f805f606084860312156139f1575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137fd565b6001600160801b038181168382160190808211156118cb576118cb6137fd565b8181035f8312801583831316838312821617156118cb576118cb6137fd565b5f60208284031215613a79575f80fd5b815161008d816138db565b8082018281125f831280158216821582161715613aa357613aa36137fd565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613acd57613acd613aab565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137fd565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137fd565b5f6102a082019050613b32828551613837565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137fd565b505f0390565b5f8060408385031215613be1575f80fd5b825191506020830151613bf38161390a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c25575f80fd5b8451935060208501519250604085015191506060850151613c458161390a565b939692955090935050565b5f82613c5e57613c5e613aab565b600160ff1b82145f1984141615613c7757613c776137fd565b500590565b5f60208284031215613c8c575f80fd5b815161008d8161390a565b5f82515f5b81811015613cb65760208186018101518583015201613c9c565b505f92019182525091905056fea2646970667358221220d5f62440e28478b29193e21dafa44521272eec0a04d75472d5a80d6d5f40122c64736f6c63430008160033a264697066735822122005c9adc0322328f7aa2c123b4086a14ae0140950f1ef926b622332132d89ad7e64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts deleted file mode 100644 index 104c68b13..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts +++ /dev/null @@ -1,813 +0,0 @@ -export declare const CornTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=CornTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts.map deleted file mode 100644 index 312ee24ef..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget4.d.ts","sourceRoot":"","sources":["../src/CornTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8+Bo5zB,KAAK,MAAM,EAAE;;;;;;CAMx7zB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4.js b/packages/hyperdrive-artifacts/dist/CornTarget4.js deleted file mode 100644 index b7a4eaa5f..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4.js +++ /dev/null @@ -1,1013 +0,0 @@ -export const CornTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620033cc380380620033cc8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612fbd6200040f5f395f6122a401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b01526123cb01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f8181612273015261231f0152612fbd5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a4c565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a9e565b6100b1565b005b610056610092366004612a4c565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612ad2565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612afa565b61016a60408c018c612b15565b60405161017c96959493929190612b80565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612bcd565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612ad2565b88610ea4565b5f6102f56102ec6020870187612ad2565b88848989610a9e565b90945090506103048188612bf4565b92505f61031083610f41565b5090506103206020870187612ad2565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612afa565b8a888e80604001906103709190612b15565b604051610384989796959493929190612c07565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612ad2565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c4e565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bf4565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c4e565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bf4565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c4e565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c4e565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c4e565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bf4565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612ca1565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612cc0565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612cdb565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bf4565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d79565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dee565b91509150610d11610d038261156b565b610d0c90612e10565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bf4565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c4e565b90915550505f838152600b602052604081208054839290610ef7908490612c4e565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612e2a565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e39565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c4e565b6110469190612bf4565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e67565b5f6111038284612bcd565b61110d9084612bf4565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bf4565b6112269190612e7e565b85670de0b6b3a764000061123a878a612bf4565b6112449190612e7e565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bf4565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c4e565b909155506113d190508183612bf4565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bf4565b61151f9084612bf4565b925061153d565b6115308282612bf4565b61153a9084612c4e565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e7e565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612cdb565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c4e565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bf4565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612ca1565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e7e565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bf4565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612ec2565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612afa565b15611ad857611ad185611abf6020860186612ad2565b611acc6040870187612b15565b61225c565b9150611afb565b611afb85611ae96020860186612ad2565b611af66040870187612b15565b612346565b509392505050565b5f61110d8383670de0b6b3a764000061235f565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c4e565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bf4565b61110d9190612bf4565b611bba6129ad565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612e2a565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e39565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612ca1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ed6565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129f7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612382565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612382565b905292915050565b5f80611ff984846123f6565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b612431565b905081810261206c670de0b6b3a764000082612f14565b905061207781612656565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c4e565b6120ad8587611754565b6120b7888a611754565b61171c9190612c4e565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bf4565b6121078587611b03565b612111888a611754565b61171c9190612bf4565b5f61110d83670de0b6b3a76400008461235f565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127e8565b6121d6845f6127e8565b6121e09190612ca1565b90505f8113156121fb576121f48186612c4e565b9450612219565b5f8112156122195761220c81612e10565b6122169086612bf4565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016110b9565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af11580156122ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123109190612e67565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127fd565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612373575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061239561040f565b61239f9190612e7e565b90508083116123ae575f6123b8565b6123b88184612bf4565b915061110d6123ef670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e7e565b839061212f565b5f805f836124038661156b565b61240d9190612ca1565b90505f811215612423575f80925092505061242a565b9150600190505b9250929050565b5f8082136124525760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124d59084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266f57505f919050565b680755bf798b4a1bf1e58212612698576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127f6578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261284f908490612854565b505050565b5f6128686001600160a01b038416836128ba565b905080515f1415801561288c57508080602001905181019061288a9190612f40565b155b1561284f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128de9190612f5b565b5f6040518083038185875af1925050503d805f8114612918576040519150601f19603f3d011682016040523d82523d5f602084013e61291d565b606091505b509150915061207786838360608261293d5761293882612984565b61110d565b815115801561295457506001600160a01b0384163b155b1561297d57604051639996b31560e01b81526001600160a01b03851660048201526024016128b1565b508061110d565b8051156129945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129c16129f7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a5e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a82575f80fd5b840160608187031215612a93575f80fd5b809150509250925092565b5f8060408385031215612aaf575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612ae2575f80fd5b813561110d81612abe565b80151581146103f5575f80fd5b5f60208284031215612b0a575f80fd5b813561110d81612aed565b5f808335601e19843603018112612b2a575f80fd5b83018035915067ffffffffffffffff821115612b44575f80fd5b60200191503681900382131561242a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612bad60a083018486612b58565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bdb57612bdb612bb9565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612be0565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c4060e083018486612b58565b9a9950505050505050505050565b80820180821115610dc757610dc7612be0565b6001600160701b0381811683821601908082111561200b5761200b612be0565b6001600160801b0381811683821601908082111561200b5761200b612be0565b8181035f83128015838313168383128216171561200b5761200b612be0565b5f60208284031215612cd0575f80fd5b815161110d81612abe565b6001600160801b0382811682821603908082111561200b5761200b612be0565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d8c828551612cfb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dff575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e2457612e24612be0565b505f0390565b6101808101610dc78284612cfb565b5f8060408385031215612e4a575f80fd5b825191506020830151612e5c81612aed565b809150509250929050565b5f60208284031215612e77575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612be0565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612be0565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ee9575f80fd5b8451935060208501519250604085015191506060850151612f0981612aed565b939692955090935050565b5f82612f2257612f22612bb9565b600160ff1b82145f1984141615612f3b57612f3b612be0565b500590565b5f60208284031215612f50575f80fd5b815161110d81612aed565b5f82515f5b81811015612f7a5760208186018101518583015201612f60565b505f92019182525091905056fea2646970667358221220cd16a3c2b0d16d74cdd153556c100803f7f3fe7e4343cdc3de8b0d7fe075d36964736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts deleted file mode 100644 index 8ed02e24c..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -export declare const CornTarget4Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_cornSilo"; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=CornTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts.map deleted file mode 100644 index b643796ab..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CornTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/CornTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJgp5B,KAAK,MAAM,EAAE;;;;CAI5r5B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.js deleted file mode 100644 index 7fb020f8f..000000000 --- a/packages/hyperdrive-artifacts/dist/CornTarget4Deployer.js +++ /dev/null @@ -1,157 +0,0 @@ -export const CornTarget4Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_cornSilo", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161394e38038061394e83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516138cb6100835f395f608b01526138cb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b6133cc806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b50604051620033cc380380620033cc8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612fbd6200040f5f395f6122a401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b01526123cb01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f8181612273015261231f0152612fbd5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a4c565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a9e565b6100b1565b005b610056610092366004612a4c565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612ad2565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612afa565b61016a60408c018c612b15565b60405161017c96959493929190612b80565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612bcd565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612ad2565b88610ea4565b5f6102f56102ec6020870187612ad2565b88848989610a9e565b90945090506103048188612bf4565b92505f61031083610f41565b5090506103206020870187612ad2565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612afa565b8a888e80604001906103709190612b15565b604051610384989796959493929190612c07565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612ad2565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c4e565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bf4565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c4e565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bf4565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c4e565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c4e565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c4e565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bf4565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612ca1565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612cc0565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612cdb565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bf4565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d79565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dee565b91509150610d11610d038261156b565b610d0c90612e10565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bf4565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c4e565b90915550505f838152600b602052604081208054839290610ef7908490612c4e565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612e2a565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e39565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c4e565b6110469190612bf4565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e67565b5f6111038284612bcd565b61110d9084612bf4565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bf4565b6112269190612e7e565b85670de0b6b3a764000061123a878a612bf4565b6112449190612e7e565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bf4565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c4e565b909155506113d190508183612bf4565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bf4565b61151f9084612bf4565b925061153d565b6115308282612bf4565b61153a9084612c4e565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e7e565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612cdb565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c4e565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bf4565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612ca1565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e7e565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bf4565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612ec2565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612afa565b15611ad857611ad185611abf6020860186612ad2565b611acc6040870187612b15565b61225c565b9150611afb565b611afb85611ae96020860186612ad2565b611af66040870187612b15565b612346565b509392505050565b5f61110d8383670de0b6b3a764000061235f565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c4e565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bf4565b61110d9190612bf4565b611bba6129ad565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612e2a565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e39565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612ca1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ed6565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129f7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612382565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612382565b905292915050565b5f80611ff984846123f6565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b612431565b905081810261206c670de0b6b3a764000082612f14565b905061207781612656565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c4e565b6120ad8587611754565b6120b7888a611754565b61171c9190612c4e565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bf4565b6121078587611b03565b612111888a611754565b61171c9190612bf4565b5f61110d83670de0b6b3a76400008461235f565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127e8565b6121d6845f6127e8565b6121e09190612ca1565b90505f8113156121fb576121f48186612c4e565b9450612219565b5f8112156122195761220c81612e10565b6122169086612bf4565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016110b9565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af11580156122ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123109190612e67565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127fd565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612373575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061239561040f565b61239f9190612e7e565b90508083116123ae575f6123b8565b6123b88184612bf4565b915061110d6123ef670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e7e565b839061212f565b5f805f836124038661156b565b61240d9190612ca1565b90505f811215612423575f80925092505061242a565b9150600190505b9250929050565b5f8082136124525760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124d59084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266f57505f919050565b680755bf798b4a1bf1e58212612698576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127f6578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261284f908490612854565b505050565b5f6128686001600160a01b038416836128ba565b905080515f1415801561288c57508080602001905181019061288a9190612f40565b155b1561284f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128de9190612f5b565b5f6040518083038185875af1925050503d805f8114612918576040519150601f19603f3d011682016040523d82523d5f602084013e61291d565b606091505b509150915061207786838360608261293d5761293882612984565b61110d565b815115801561295457506001600160a01b0384163b155b1561297d57604051639996b31560e01b81526001600160a01b03851660048201526024016128b1565b508061110d565b8051156129945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129c16129f7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a5e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a82575f80fd5b840160608187031215612a93575f80fd5b809150509250925092565b5f8060408385031215612aaf575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612ae2575f80fd5b813561110d81612abe565b80151581146103f5575f80fd5b5f60208284031215612b0a575f80fd5b813561110d81612aed565b5f808335601e19843603018112612b2a575f80fd5b83018035915067ffffffffffffffff821115612b44575f80fd5b60200191503681900382131561242a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612bad60a083018486612b58565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bdb57612bdb612bb9565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612be0565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c4060e083018486612b58565b9a9950505050505050505050565b80820180821115610dc757610dc7612be0565b6001600160701b0381811683821601908082111561200b5761200b612be0565b6001600160801b0381811683821601908082111561200b5761200b612be0565b8181035f83128015838313168383128216171561200b5761200b612be0565b5f60208284031215612cd0575f80fd5b815161110d81612abe565b6001600160801b0382811682821603908082111561200b5761200b612be0565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d8c828551612cfb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dff575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e2457612e24612be0565b505f0390565b6101808101610dc78284612cfb565b5f8060408385031215612e4a575f80fd5b825191506020830151612e5c81612aed565b809150509250929050565b5f60208284031215612e77575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612be0565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612be0565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ee9575f80fd5b8451935060208501519250604085015191506060850151612f0981612aed565b939692955090935050565b5f82612f2257612f22612bb9565b600160ff1b82145f1984141615612f3b57612f3b612be0565b500590565b5f60208284031215612f50575f80fd5b815161110d81612aed565b5f82515f5b81811015612f7a5760208186018101518583015201612f60565b505f92019182525091905056fea2646970667358221220cd16a3c2b0d16d74cdd153556c100803f7f3fe7e4343cdc3de8b0d7fe075d36964736f6c63430008160033a2646970667358221220c63eaf43f071c6c06f4cc5ba2362b1a2657b45efa3678c03c72a0095ccbaeaa264736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/DataTypes.d.ts b/packages/hyperdrive-artifacts/dist/DataTypes.d.ts deleted file mode 100644 index 52b459cdd..000000000 --- a/packages/hyperdrive-artifacts/dist/DataTypes.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const DataTypes: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=DataTypes.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/DataTypes.d.ts.map b/packages/hyperdrive-artifacts/dist/DataTypes.d.ts.map deleted file mode 100644 index bed6dbfe9..000000000 --- a/packages/hyperdrive-artifacts/dist/DataTypes.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DataTypes.d.ts","sourceRoot":"","sources":["../src/DataTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAE4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/DataTypes.js b/packages/hyperdrive-artifacts/dist/DataTypes.js deleted file mode 100644 index df63fd119..000000000 --- a/packages/hyperdrive-artifacts/dist/DataTypes.js +++ /dev/null @@ -1,5 +0,0 @@ -export const DataTypes = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212206b4329db27ba9f71274415ec5a71848a8953922ed76f3d9684a07c38f081468364736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHBase.d.ts b/packages/hyperdrive-artifacts/dist/EETHBase.d.ts deleted file mode 100644 index eac34ccac..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHBase.d.ts +++ /dev/null @@ -1,547 +0,0 @@ -export declare const EETHBase: { - abi: readonly [{ - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - }; -}; -//# sourceMappingURL=EETHBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHBase.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHBase.d.ts.map deleted file mode 100644 index 1145bea3f..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHBase.d.ts","sourceRoot":"","sources":["../src/EETHBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0pBD,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHBase.js b/packages/hyperdrive-artifacts/dist/EETHBase.js deleted file mode 100644 index 47be7b7de..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHBase.js +++ /dev/null @@ -1,671 +0,0 @@ -export const EETHBase = { - abi: [ - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "_liquidityPool()": "207deba0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts b/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts deleted file mode 100644 index afee9f760..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const EETHConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=EETHConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts.map deleted file mode 100644 index 3a8e6f85b..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHConversions.d.ts","sourceRoot":"","sources":["../src/EETHConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHConversions.js b/packages/hyperdrive-artifacts/dist/EETHConversions.js deleted file mode 100644 index 3f4c133fc..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const EETHConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220d8e30ef645f9bb2fc984f1b0491d8697ffa3c73e1cf168c4f2ceffce6f5fca6364736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts deleted file mode 100644 index 9f54e4fea..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts +++ /dev/null @@ -1,1337 +0,0 @@ -export declare const EETHHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "_liquidityPool()": "207deba0"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=EETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts.map deleted file mode 100644 index aa69aa24a..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/EETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmnDuwX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC9yX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/EETHHyperdrive.js deleted file mode 100644 index 6614cfaa0..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdrive.js +++ /dev/null @@ -1,1684 +0,0 @@ -export const EETHHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b506040516200178738038062001787833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161107f620007085f395f61038d01525f81816106110152818161067b015261077201525f818161058c015281816107a101526107fe01525f8181610546015261099401525f81816105de015261071001525f81816101d5015281816103d80152818161064c015281816106ad015281816106df01528181610743015281816107d40152818161082e0152818161096301526109c701525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f505061107f5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc146105ae578063eac3e799146105cd578063f3f7070714610600578063f698da2514610633576101c1565b8063cbc1343414610305578063d899e1121461057b578063dbbe807014610568578063ded06231146103fa576101c1565b8063a22cb465116100d0578063a22cb465146104c5578063a6e8a85914610535578063ab033ea9146102ca578063cba2e58d14610568576101c1565b806377d05ff4146104e45780639032c726146104f75780639cd241af14610516576101c1565b806329b23fc111610163578063414f826d1161013d578063414f826d146104795780634c2ac1d9146104985780634ed2d6ac146104ab5780637180c8ca146104c5576101c1565b806329b23fc1146103fa57806330adf81f146104275780633e691db91461045a576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d578063207deba01461037c57806321b57d53146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610a9b565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610aaa565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b17565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610bd6565b610647565b005b3480156102f6575f80fd5b506102e96102e4366004610c0c565b348015610310575f80fd5b5061032461031f366004610c35565b610674565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610cc9565b6106a8565b348015610368575f80fd5b506102e9610377366004610d58565b6106da565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b348015610405575f80fd5b50610419610414366004610d9d565b61070a565b604051908152602001610335565b348015610432575f80fd5b506104197f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610465575f80fd5b50610419610474366004610df3565b61073d565b348015610484575f80fd5b506102e9610493366004610e2d565b61076d565b6104196104a6366004610e4d565b61079b565b3480156104b6575f80fd5b506102e9610377366004610eac565b3480156104d0575f80fd5b506102e96104df366004610ef3565b6107cf565b6104196104f2366004610c35565b6107f8565b348015610502575f80fd5b506102e9610511366004610f26565b61082a565b348015610521575f80fd5b506102e9610530366004610f9e565b61095e565b348015610540575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610576366004610d9d565b61098d565b348015610586575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b9575f80fd5b506102e96105c8366004610fd3565b6109c2565b3480156105d8575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060b575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561063e575f80fd5b506104196109f3565b6106707f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050565b5f8061069f7f0000000000000000000000000000000000000000000000000000000000000000610a81565b50935093915050565b6106d17f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050505050565b6107037f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050505050565b5f6107347f0000000000000000000000000000000000000000000000000000000000000000610a81565b50949350505050565b5f6107677f0000000000000000000000000000000000000000000000000000000000000000610a81565b50919050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050565b5f6107c57f0000000000000000000000000000000000000000000000000000000000000000610a81565b5095945050505050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b5f6108227f0000000000000000000000000000000000000000000000000000000000000000610a81565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661085e6109f3565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610907919061102e565b5f60405180830381855af49150503d805f811461093f576040519150601f19603f3d011682016040523d82523d5f602084013e610944565b606091505b50915091508161095657805160208201fd5b805160208201f35b6109877f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050565b5f806109b87f0000000000000000000000000000000000000000000000000000000000000000610a81565b5094509492505050565b6109eb7f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109079291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ad95780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b0f578181015183820152602001610af7565b50505f910152565b5f60208284031215610b27575f80fd5b815167ffffffffffffffff80821115610b3e575f80fd5b818401915084601f830112610b51575f80fd5b815181811115610b6357610b63610ae1565b604051601f8201601f19908116603f01168101908382118183101715610b8b57610b8b610ae1565b81604052828152876020848701011115610ba3575f80fd5b610bb4836020830160208801610af5565b979650505050505050565b6001600160a01b0381168114610bd3575f80fd5b50565b5f60208284031215610be6575f80fd5b8135610bf181610bbf565b9392505050565b80358015158114610c07575f80fd5b919050565b5f60208284031215610c1c575f80fd5b610bf182610bf8565b5f60608284031215610767575f80fd5b5f805f60608486031215610c47575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c6b575f80fd5b610c7786828701610c25565b9150509250925092565b5f8083601f840112610c91575f80fd5b50813567ffffffffffffffff811115610ca8575f80fd5b6020830191508360208260051b8501011115610cc2575f80fd5b9250929050565b5f805f805f8060808789031215610cde575f80fd5b8635610ce981610bbf565b95506020870135610cf981610bbf565b9450604087013567ffffffffffffffff80821115610d15575f80fd5b610d218a838b01610c81565b90965094506060890135915080821115610d39575f80fd5b50610d4689828a01610c81565b979a9699509497509295939492505050565b5f805f8060808587031215610d6b575f80fd5b843593506020850135610d7d81610bbf565b92506040850135610d8d81610bbf565b9396929550929360600135925050565b5f805f8060808587031215610db0575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ddb575f80fd5b610de787828801610c25565b91505092959194509250565b5f60208284031215610e03575f80fd5b813567ffffffffffffffff811115610e19575f80fd5b610e2584828501610c25565b949350505050565b5f8060408385031215610e3e575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e61575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e93575f80fd5b610e9f88828901610c25565b9150509295509295909350565b5f805f8060808587031215610ebf575f80fd5b843593506020850135610ed181610bbf565b9250604085013591506060850135610ee881610bbf565b939692955090935050565b5f8060408385031215610f04575f80fd5b8235610f0f81610bbf565b9150610f1d60208401610bf8565b90509250929050565b5f805f805f805f60e0888a031215610f3c575f80fd5b8735610f4781610bbf565b96506020880135610f5781610bbf565b9550610f6560408901610bf8565b945060608801359350608088013560ff81168114610f81575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fb0575f80fd5b833592506020840135610fc281610bbf565b929592945050506040919091013590565b5f805f805f60a08688031215610fe7575f80fd5b853594506020860135610ff981610bbf565b9350604086013561100981610bbf565b925060608601359150608086013561102081610bbf565b809150509295509295909350565b5f825161103f818460208701610af5565b919091019291505056fea264697066735822122051ff1a9929326c276b2b5ffa17e6cc26973ec03cf282a9c6d94e027b2a650cdd64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "_liquidityPool()": "207deba0", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts deleted file mode 100644 index f80a0a099..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,159 +0,0 @@ -export declare const EETHHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index affa27d0a..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/EETHHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmMu7e,KAAK,MAAM,EAAE;;;;;CAK1+e,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.js deleted file mode 100644 index 980e27d69..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveCoreDeployer.js +++ /dev/null @@ -1,201 +0,0 @@ -export const EETHHyperdriveCoreDeployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b50604051611ee5380380611ee583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e5c6100895f395f81816042015260c80152611e5c5ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c8063665a11ca146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003b0565b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b7f0000000000000000000000000000000000000000000000000000000000000000604051620000f5906200013a565b6200010999989796959493929190620005c8565b8190604051809103905ff590508015801562000127573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b61178780620006a083390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000183576200018362000148565b60405290565b5f82601f83011262000199575f80fd5b813567ffffffffffffffff80821115620001b757620001b762000148565b604051601f8301601f19908116603f01168101908282118183101715620001e257620001e262000148565b81604052838152866020858801011115620001fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000231575f80fd5b919050565b5f6080828403121562000247575f80fd5b6040516080810181811067ffffffffffffffff821117156200026d576200026d62000148565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002b0575f80fd5b620002ba6200015c565b9050620002c7826200021a565b8152620002d7602083016200021a565b6020820152620002ea604083016200021a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140808301358183015250610160620003558184016200021a565b90820152610180620003698382016200021a565b908201526101a06200037d8382016200021a565b908201526101c0620003918382016200021a565b908201526101e0620003a68484830162000236565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003cb575f80fd5b8a3567ffffffffffffffff80821115620003e3575f80fd5b620003f18e838f0162000189565b9b50620004028e60208f016200029e565b9a50620004136102808e016200021a565b99506102a08d01359150808211156200042a575f80fd5b50620004398d828e0162000189565b9750506200044b6102c08c016200021a565b95506200045c6102e08c016200021a565b94506200046d6103008c016200021a565b93506200047e6103208c016200021a565b92506200048f6103408c016200021a565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004d060208401826001600160a01b03169052565b506040810151620004ec60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055f828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fe576020828e0101516103808386010152602082019150620005da565b61038091505f82828601015281601f19601f8301168501019250505062000629602083018b620004a8565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012c56fe61034060405234801562000011575f80fd5b506040516200178738038062001787833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161107f620007085f395f61038d01525f81816106110152818161067b015261077201525f818161058c015281816107a101526107fe01525f8181610546015261099401525f81816105de015261071001525f81816101d5015281816103d80152818161064c015281816106ad015281816106df01528181610743015281816107d40152818161082e0152818161096301526109c701525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f505061107f5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc146105ae578063eac3e799146105cd578063f3f7070714610600578063f698da2514610633576101c1565b8063cbc1343414610305578063d899e1121461057b578063dbbe807014610568578063ded06231146103fa576101c1565b8063a22cb465116100d0578063a22cb465146104c5578063a6e8a85914610535578063ab033ea9146102ca578063cba2e58d14610568576101c1565b806377d05ff4146104e45780639032c726146104f75780639cd241af14610516576101c1565b806329b23fc111610163578063414f826d1161013d578063414f826d146104795780634c2ac1d9146104985780634ed2d6ac146104ab5780637180c8ca146104c5576101c1565b806329b23fc1146103fa57806330adf81f146104275780633e691db91461045a576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d578063207deba01461037c57806321b57d53146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610a9b565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610aaa565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b17565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610bd6565b610647565b005b3480156102f6575f80fd5b506102e96102e4366004610c0c565b348015610310575f80fd5b5061032461031f366004610c35565b610674565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610cc9565b6106a8565b348015610368575f80fd5b506102e9610377366004610d58565b6106da565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b348015610405575f80fd5b50610419610414366004610d9d565b61070a565b604051908152602001610335565b348015610432575f80fd5b506104197f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610465575f80fd5b50610419610474366004610df3565b61073d565b348015610484575f80fd5b506102e9610493366004610e2d565b61076d565b6104196104a6366004610e4d565b61079b565b3480156104b6575f80fd5b506102e9610377366004610eac565b3480156104d0575f80fd5b506102e96104df366004610ef3565b6107cf565b6104196104f2366004610c35565b6107f8565b348015610502575f80fd5b506102e9610511366004610f26565b61082a565b348015610521575f80fd5b506102e9610530366004610f9e565b61095e565b348015610540575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610576366004610d9d565b61098d565b348015610586575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b9575f80fd5b506102e96105c8366004610fd3565b6109c2565b3480156105d8575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060b575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561063e575f80fd5b506104196109f3565b6106707f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050565b5f8061069f7f0000000000000000000000000000000000000000000000000000000000000000610a81565b50935093915050565b6106d17f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050505050565b6107037f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050505050565b5f6107347f0000000000000000000000000000000000000000000000000000000000000000610a81565b50949350505050565b5f6107677f0000000000000000000000000000000000000000000000000000000000000000610a81565b50919050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050565b5f6107c57f0000000000000000000000000000000000000000000000000000000000000000610a81565b5095945050505050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b5f6108227f0000000000000000000000000000000000000000000000000000000000000000610a81565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661085e6109f3565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610907919061102e565b5f60405180830381855af49150503d805f811461093f576040519150601f19603f3d011682016040523d82523d5f602084013e610944565b606091505b50915091508161095657805160208201fd5b805160208201f35b6109877f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050565b5f806109b87f0000000000000000000000000000000000000000000000000000000000000000610a81565b5094509492505050565b6109eb7f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109079291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ad95780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b0f578181015183820152602001610af7565b50505f910152565b5f60208284031215610b27575f80fd5b815167ffffffffffffffff80821115610b3e575f80fd5b818401915084601f830112610b51575f80fd5b815181811115610b6357610b63610ae1565b604051601f8201601f19908116603f01168101908382118183101715610b8b57610b8b610ae1565b81604052828152876020848701011115610ba3575f80fd5b610bb4836020830160208801610af5565b979650505050505050565b6001600160a01b0381168114610bd3575f80fd5b50565b5f60208284031215610be6575f80fd5b8135610bf181610bbf565b9392505050565b80358015158114610c07575f80fd5b919050565b5f60208284031215610c1c575f80fd5b610bf182610bf8565b5f60608284031215610767575f80fd5b5f805f60608486031215610c47575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c6b575f80fd5b610c7786828701610c25565b9150509250925092565b5f8083601f840112610c91575f80fd5b50813567ffffffffffffffff811115610ca8575f80fd5b6020830191508360208260051b8501011115610cc2575f80fd5b9250929050565b5f805f805f8060808789031215610cde575f80fd5b8635610ce981610bbf565b95506020870135610cf981610bbf565b9450604087013567ffffffffffffffff80821115610d15575f80fd5b610d218a838b01610c81565b90965094506060890135915080821115610d39575f80fd5b50610d4689828a01610c81565b979a9699509497509295939492505050565b5f805f8060808587031215610d6b575f80fd5b843593506020850135610d7d81610bbf565b92506040850135610d8d81610bbf565b9396929550929360600135925050565b5f805f8060808587031215610db0575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ddb575f80fd5b610de787828801610c25565b91505092959194509250565b5f60208284031215610e03575f80fd5b813567ffffffffffffffff811115610e19575f80fd5b610e2584828501610c25565b949350505050565b5f8060408385031215610e3e575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e61575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e93575f80fd5b610e9f88828901610c25565b9150509295509295909350565b5f805f8060808587031215610ebf575f80fd5b843593506020850135610ed181610bbf565b9250604085013591506060850135610ee881610bbf565b939692955090935050565b5f8060408385031215610f04575f80fd5b8235610f0f81610bbf565b9150610f1d60208401610bf8565b90509250929050565b5f805f805f805f60e0888a031215610f3c575f80fd5b8735610f4781610bbf565b96506020880135610f5781610bbf565b9550610f6560408901610bf8565b945060608801359350608088013560ff81168114610f81575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fb0575f80fd5b833592506020840135610fc281610bbf565b929592945050506040919091013590565b5f805f805f60a08688031215610fe7575f80fd5b853594506020860135610ff981610bbf565b9350604086013561100981610bbf565b925060608601359150608086013561102081610bbf565b809150509295509295909350565b5f825161103f818460208701610af5565b919091019291505056fea264697066735822122051ff1a9929326c276b2b5ffa17e6cc26973ec03cf282a9c6d94e027b2a650cdd64736f6c63430008160033a2646970667358221220450a86b208f0f343448e05a1f35c024bd3d10154bc52fe59b8e9669b87d4646564736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 1dfefb228..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,619 +0,0 @@ -export declare const EETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "liquidityPool()": "665a11ca"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=EETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 878bec781..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/EETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8vBkioB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqB5loB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index 38f589841..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,788 +0,0 @@ -export const EETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b506040516200281e3803806200281e8339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516123ca620004545f395f81816102e20152818161070c0152818161074101526115d801525f818161032d0152610dec01525f81816103930152610cb901525f81816103f90152610b8601525f81816103600152610a5301525f81816103c6015261084a01525f818161047e015261113b01525f818161044b01528181610585015281816107730152818161087a01528181610a8301528181610bb601528181610ce901528181610e1c01528181610f0f015261116c01526123ca5ff3fe608060405260043610610105575f3560e01c8063a085fa3011610092578063c151061811610062578063c15106181461041b578063c45a01551461043a578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063a085fa301461034f578063aa8cd6c414610382578063ab71905f146103b5578063b6cb1118146103e8575f80fd5b806337404017116100d857806337404017146101875780633e5541f11461028357806354fd4d50146102a2578063665a11ca146102d1578063966ecd1c1461031c575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc7014610147578063251f6c4214610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611a38565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a610155366004611b70565b610579565b60405190815260200161012a565b348015610173575f80fd5b5061015a610182366004611c2e565b610706565b348015610192575f80fd5b506102766101a1366004611c58565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611c6f565b34801561028e575f80fd5b5061015a61029d366004611c2e565b61073b565b3480156102ad575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b3480156102dc575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b348015610327575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b34801561035a575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b34801561038d575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c0575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f3575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b348015610426575f80fd5b50610304610435366004611e43565b610767565b348015610445575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b348015610478575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b506103046104ba366004611eac565b610f03565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602181526020016123746021913981565b5f80546104fa90611f46565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611f46565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611276565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611f7e565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611fcd565b92505f6106898234611fe4565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6107327f0000000000000000000000000000000000000000000000000000000000000000848461142f565b90505b92915050565b5f6107327f00000000000000000000000000000000000000000000000000000000000000008484611519565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b157604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610961578054156107e657604051633be1b34d60e11b815260040160405180910390fd5b6107f086866115cc565b5f6107fb878761170d565b90505f8760405160200161080f9190612003565b6040516020818303038152906040528051906020012090505f878051906020012090505f61083c8a611724565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108b6929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108eb9493929190612236565b6020604051808303815f875af1158015610907573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092b919061227b565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061098d5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161099f9190612003565b60405160208183030381529060405280519060200120146109d35760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109fd57604051631a3272d160e31b815260040160405180910390fd5b610a0787876115cc565b5f610a1188611724565b6002840154608082015290506001869003610b515760058301546001600160a01b031615610a515760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ab893929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aed9493929190612236565b6020604051808303815f875af1158015610b09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2d919061227b565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c845760068301546001600160a01b031615610b845760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610beb93929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c209493929190612236565b6020604051808303815f875af1158015610c3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c60919061227b565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610db75760078301546001600160a01b031615610cb75760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d1e93929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d539493929190612236565b6020604051808303815f875af1158015610d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d93919061227b565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610eea5760088301546001600160a01b031615610dea5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e5193929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e869493929190612236565b6020604051808303815f875af1158015610ea2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec6919061227b565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f4d57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610ff557604051632c95caeb60e01b815260040160405180910390fd5b80516110145760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611039575060a08101516001600160a01b0316155b8061104f575060c08101516001600160a01b0316155b80611065575060e08101516001600160a01b0316155b8061107c57506101008101516001600160a01b0316155b1561109a5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110ad908790602001612003565b60405160208183030381529060405280519060200120146110e15760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461110c57604051631a3272d160e31b815260040160405180910390fd5b61111685856115cc565b5f61112086611724565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111c2929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111fd9a999897969594939291906122b7565b6020604051808303815f875af1158015611219573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123d919061227b565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f8160200151156112a957823410156112a25760405163044044a560e21b815260040160405180910390fd5b5081611427565b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130a919061227b565b90505f6113178286610706565b6040516323b872dd60e01b81526001600160a01b038881166004830152306024830152604482018390529192505f918416906323b872dd906064016020604051808303815f875af115801561136e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113929190612339565b9050806113b2576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0389811660048301526024820184905284169063095ea7b3906044016020604051808303815f875af11580156113fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114229190612339565b505050505b949350505050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114919190611fcd565b9050805f036114a3575f915050611512565b61150e856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115069190611fcd565b8490836117f2565b9150505b9392505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611557573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b9190611fcd565b9050805f0361158d575f915050611512565b61150e846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e2573d5f803e3d5ffd5b6115d6828261180d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630de371e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611632573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611656919061227b565b6001600160a01b031682602001516001600160a01b03161461168b5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b03166116b357604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c68000146116de576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611709576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6107328360200151670de0b6b3a7640000610706565b61172c611921565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f825f190484118302158202611806575f80fd5b5091020490565b6103e882608001511015611834576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361185957604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061188357508161010001518260e001516118809190612354565b15155b156118a15760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118cd5750670de0b6b3a7640000826101c0015160200151115b806118e85750670de0b6b3a7640000826101c0015160400151115b806119035750670de0b6b3a7640000826101c0015160600151115b15611709576040516322f72cc360e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016119f060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b81811015611a19576020818501810151868301820152016119fd565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61073260208301846119f5565b6001600160a01b0381168114611a5e575f80fd5b50565b8035611a6c81611a4a565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611aa857611aa8611a71565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611aa857611aa8611a71565b8015158114611a5e575f80fd5b5f67ffffffffffffffff80841115611af957611af9611a71565b604051601f8501601f19908116603f01168101908282118183101715611b2157611b21611a71565b81604052809350858152868686011115611b39575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b61575f80fd5b61073283833560208501611adf565b5f805f805f60a08688031215611b84575f80fd5b853594506020860135611b9681611a4a565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bc0575f80fd5b908701906060828a031215611bd3575f80fd5b611bdb611a85565b8235611be681611a4a565b81526020830135611bf681611ad2565b6020820152604083013582811115611c0c575f80fd5b611c188b828601611b52565b6040830152508093505050509295509295909350565b5f8060408385031215611c3f575f80fd5b8235611c4a81611a4a565b946020939093013593505050565b5f60208284031215611c68575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611cfc575f80fd5b6040516080810181811067ffffffffffffffff82111715611d1f57611d1f611a71565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d61575f80fd5b611d69611aae565b9050611d7482611a61565b8152611d8260208301611a61565b6020820152611d9360408301611a61565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611df0818401611a61565b90820152610160611e02838201611a61565b90820152610180611e14838201611a61565b908201526101a0611e26838201611a61565b908201526101c0611e3984848301611cec565b9082015292915050565b5f805f805f6102c08688031215611e58575f80fd5b85359450611e698760208801611d50565b935061026086013567ffffffffffffffff811115611e85575f80fd5b611e9188828901611b52565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ec1575f80fd5b85359450602086013567ffffffffffffffff80821115611edf575f80fd5b818801915088601f830112611ef2575f80fd5b611f0189833560208501611adf565b9550611f108960408a01611d50565b9450610280880135915080821115611f26575f80fd5b50611f3388828901611b52565b959894975092956102a001359392505050565b600181811c90821680611f5a57607f821691505b602082108103611f7857634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611fc360c08401826119f5565b9695505050505050565b5f60208284031215611fdd575f80fd5b5051919050565b8181038181111561073557634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161202f60208401826001600160a01b03169052565b50604083015161204a60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120b0828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611ce4565b80516001600160a01b03168252602081015161214060208401826001600160a01b03169052565b50604081015161215b60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121cd828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c06122448388612119565b6001600160a01b0386166102608401526102808301819052612268818401866119f5565b915050826102a083015295945050505050565b5f6020828403121561228b575f80fd5b815161151281611a4a565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122ca8184018e6119f5565b90506122d9602084018d612119565b6001600160a01b038b81166102808501528382036102a08501526122fd828c6119f5565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612349575f80fd5b815161151281611ad2565b5f8261236e57634e487b7160e01b5f52601260045260245ffd5b50069056fe45455448487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220eb7fdab6b1a7e0099dfe1ab95a0b970744f788d179e5d614cc9cac5361d50bba64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "liquidityPool()": "665a11ca", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts deleted file mode 100644 index cd4774ea3..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts +++ /dev/null @@ -1,1557 +0,0 @@ -export declare const EETHTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "liquidityPool()": "665a11ca"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=EETHTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts.map deleted file mode 100644 index 2f71b9e7d..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget0.d.ts","sourceRoot":"","sources":["../src/EETHTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq4Dk5+B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Ct7+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0.js b/packages/hyperdrive-artifacts/dist/EETHTarget0.js deleted file mode 100644 index bfc993d6d..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0.js +++ /dev/null @@ -1,1969 +0,0 @@ -export const EETHTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003ecb38038062003ecb8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a59620004725f395f818161030101528181610b9d0152818161259b01526125e701525f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca01526128ad01525f8181610e3e0152612c3001525f818161064b01528181610cfc01528181611e22015281816125bc015281816126080152612b9f01525f8181610ccd01526112670152613a595ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610521578063d816574314610534578063e44808bc14610549578063e985e9c51461055c578063fba560081461056f575f80fd5b8063bd85b039146104cb578063becee9c3146104de578063c55dae63146104fe578063c69e16ad14610506578063c6e6f5921461050e575f80fd5b80639cd241af116100fa5780639cd241af1461046c578063a22cb4651461047f578063ab033ea914610492578063b0d96580146104a3578063b88fed9f146104b8575f80fd5b806360246c8814610422578063665a11ca146104375780637180c8ca1461043f5780637ecebe0014610451578063950c5d0314610464575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db9146103be57806346fbf68e146103d15780634e41a1fb146103f45780634ed2d6ac1461040757806354fd4d501461041a575f80fd5b806320fc48811461032357806321ff32a914610368578063313ce567146103895780633656eec2146103a35780633a98ef39146103b6575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e9578063207deba0146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612e68565b61059e565b6040516102629190612ecc565b60405180910390f35b61027e610279366004612ef2565b6105d5565b005b61027e61028e366004612f1a565b6105de565b6102556105e7565b610255610626565b6102ab61063d565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004612f35565b61067c565b61027e6102e436600461300b565b610698565b61027e6102f736600461309a565b6106ae565b6102ab7f000000000000000000000000000000000000000000000000000000000000000081565b610336610331366004612e68565b6106c1565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61037b6103763660046130df565b61072a565b604051908152602001610262565b61039161076f565b60405160ff9091168152602001610262565b61037b6103b136600461311e565b610786565b61037b6107be565b61037b6103cc36600461314c565b6107dc565b6103e46103df366004612ef2565b6107e6565b6040519015158152602001610262565b610255610402366004612e68565b610805565b61027e610415366004613183565b610813565b610255610861565b61042a610896565b60405161026291906131ca565b6102ab610b8f565b61027e61044d36600461326b565b5050565b61037b61045f366004612ef2565b610bce565b6102ab610bf9565b61027e61047a366004613297565b610c38565b61027e61048d36600461326b565b610c49565b61027e6104a0366004612ef2565b50565b6104ab610cb4565b60405161026291906132cc565b61037b6104c6366004612e68565b611174565b61037b6104d9366004612e68565b611181565b6104f16104ec3660046133f2565b6111a2565b6040516102629190613431565b6102ab611259565b61037b611298565b61037b61051c366004612e68565b6112b1565b61037b61052f366004612e68565b6112be565b61053c6112f4565b6040516102629190613474565b61027e610557366004613585565b6113ff565b6103e461056a3660046135e0565b611447565b61057761148a565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105d06105ac836114e8565b6040516020016105bc9190612ecc565b60405160208183030381529060405261160e565b919050565b6104a081611632565b6104a081611893565b60606106236040518060400160405280600e81526020016d454554484879706572647269766560901b8152506040516020016105bc9190612ecc565b90565b606061062360016040516020016105bc919061360c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b61068d8989898989898989896119ab565b505050505050505050565b6106a6868686868686611b9d565b505050505050565b6106bb8484848433611c50565b50505050565b604080516060810182525f80825260208201819052918101919091526105d060085f8481526020019081526020015f206040516020016105bc919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261076891016105bc565b9392505050565b60408051601260208201525f9161062391016105bc565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107b891016105bc565b92915050565b5f6106236107ca611e0b565b6040516020016105bc91815260200190565b5f6107b882611e98565b5f6105d06107f3836120ce565b604080519115156020830152016105bc565b60606105d06105ac836121ac565b8361081d816122a8565b6001600160a01b0316336001600160a01b03161461084e57604051632aab8bd360e01b815260040160405180910390fd5b61085a85858585612365565b5050505050565b606061062360405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105bc9190612ecc565b610900604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109096123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161097391906136e1565b61097d91906136f4565b90505f8215610a8c5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109a9856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7c9190613707565b509050610a89818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b5c57610b578486612581565b610b5e565b5f5b81526003546001600160801b0316602091820152604051919250610b88916105bc918491016131ca565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105d091016105bc565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d94565b6106236040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613735565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105bc91906132cc565b5f6105d06107ca83612595565b5f818152600b60209081526040808320548151928301526105d091016105bc565b60605f8267ffffffffffffffff8111156111be576111be613750565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613764565b9050602002013590505f815490508084848151811061122857611228613764565b602090810291909101015250506001016111ec565b50611252816040516020016105bc9190613431565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b5f6106236009546040516020016105bc91815260200190565b5f6105d06107ca836125e1565b5f6105d06107ca6112ef7f0000000000000000000000000000000000000000000000000000000000000000856136e1565b61262d565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261062360026040516020016105bc919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106a68686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107b891016105bc565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610623906060016105bc565b606060f882901c6001600160f81b0383165f6115038261266d565b90505f836003811115611518576115186136b9565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136b9565b0361158a57806040516020016115749190613778565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136b9565b036115b4578060405160200161157491906137b0565b60038360038111156115c8576115c86136b9565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ecc565b60405180910390fd5b61163a61271f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613735565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613735565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a91906137e9565b90506118206001600160a01b0385168483612747565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104a060015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613735565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613764565b905060200201358888868686818110611c3257611c32613764565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d439084906136f4565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c9084906136f4565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136e1565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9391906137e9565b905090565b5f611ea161271f565b611eaa82612799565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613735565b90506001600160a01b038116611f446020850185612ef2565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613735565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f9091559091506120638183876127ce565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f1a565b60408051938452602084019290925215159082015260600160405180910390a25050506105d060015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121529190810190613800565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613764565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261266d565b90505f8360038111156121dc576121dc6136b9565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136b9565b03612238578060405160200161157491906138c0565b600283600381111561224c5761224c6136b9565b03612262578060405160200161157491906138f7565b6003836003811115612276576122766136b9565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612864565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612864565b905292915050565b5f6107688383670de0b6b3a76400006128d8565b5f61076883670de0b6b3a7640000846128d8565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128f3565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846129db565b5f612652600b5f61263f600286612a8e565b81526020019081526020015f2054612ac2565b612663600b5f61263f600187612a8e565b6107b89190613922565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612711576126a6600a86613955565b6126b19060306136e1565b60f81b8260016126c184876136f4565b6126cb91906136f4565b815181106126db576126db613764565b60200101906001600160f81b03191690815f1a905350806126fb81613968565b915061270a9050600a86613980565b9450612695565b918290030190815292915050565b60025f540361274157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c44908490612aef565b5f6127a76020830183612ef2565b6001600160a01b0316036104a05760405163f0dd15fd60e01b815260040160405180910390fd5b5f806127da858561256d565b90506127e5816125e1565b9450845f036127f7575f915050610768565b84915061280a6040840160208501612f1a565b1561283957612832856128206020860186612ef2565b61282d6040870187613993565b612b50565b915061285c565b61285c8561284a6020860186612ef2565b6128576040870187613993565b612b6a565b509392505050565b5f80670de0b6b3a7640000612877612c29565b61288191906139d6565b9050808311612890575f61289a565b61289a81846136f4565b91506107686128d1670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139d6565b8390612581565b5f825f1904841183021582026128ec575f80fd5b5091020490565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612931573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295591906137e9565b9050805f03612967575f915050610768565b6129d2856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ca91906137e9565b8490836128d8565b95945050505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3d91906137e9565b9050805f03612a4f575f915050610768565b6129d2846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b5f6001600160f81b03821115612ab75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aeb5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b036001600160a01b03841683612c54565b905080515f14158015612b27575080806020019051810190612b2591906139ed565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b5f60405163350b944160e11b815260040160405180910390fd5b5f612b7485612595565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0991906139ed565b9050806106a6576040516312171d8360e31b815260040160405180910390fd5b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c61565b606061076883835f612c76565b5f612c6c8284613955565b61076890846136f4565b606081471015612c9b5760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612cb69190613a08565b5f6040518083038185875af1925050503d805f8114612cf0576040519150601f19603f3d011682016040523d82523d5f602084013e612cf5565b606091505b5091509150612d05868383612d0f565b9695505050505050565b606082612d2457612d1f82612d6b565b610768565b8151158015612d3b57506001600160a01b0384163b155b15612d6457604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610768565b805115612d7b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e78575f80fd5b5035919050565b5f5b83811015612e99578181015183820152602001612e81565b50505f910152565b5f8151808452612eb8816020860160208601612e7f565b601f01601f19169290920160200192915050565b602081525f6107686020830184612ea1565b6001600160a01b03811681146104a0575f80fd5b5f60208284031215612f02575f80fd5b813561076881612ede565b80151581146104a0575f80fd5b5f60208284031215612f2a575f80fd5b813561076881612f0d565b5f805f805f805f805f6101208a8c031215612f4e575f80fd5b8935985060208a0135975060408a0135612f6781612ede565b965060608a0135612f7781612ede565b955060808a0135612f8781612f0d565b945060a08a0135935060c08a013560ff81168114612fa3575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd3575f80fd5b50813567ffffffffffffffff811115612fea575f80fd5b6020830191508360208260051b8501011115613004575f80fd5b9250929050565b5f805f805f8060808789031215613020575f80fd5b863561302b81612ede565b9550602087013561303b81612ede565b9450604087013567ffffffffffffffff80821115613057575f80fd5b6130638a838b01612fc3565b9096509450606089013591508082111561307b575f80fd5b5061308889828a01612fc3565b979a9699509497509295939492505050565b5f805f80608085870312156130ad575f80fd5b8435935060208501356130bf81612ede565b925060408501356130cf81612ede565b9396929550929360600135925050565b5f805f606084860312156130f1575f80fd5b83359250602084013561310381612ede565b9150604084013561311381612ede565b809150509250925092565b5f806040838503121561312f575f80fd5b82359150602083013561314181612ede565b809150509250929050565b5f6020828403121561315c575f80fd5b813567ffffffffffffffff811115613172575f80fd5b820160608185031215610768575f80fd5b5f805f8060808587031215613196575f80fd5b8435935060208501356131a881612ede565b92506040850135915060608501356131bf81612ede565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327c575f80fd5b823561328781612ede565b9150602083013561314181612f0d565b5f805f606084860312156132a9575f80fd5b8335925060208401356132bb81612ede565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132f860208401826001600160a01b03169052565b50604083015161331360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613385828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613403575f80fd5b823567ffffffffffffffff811115613419575f80fd5b61342585828601612fc3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134685783518352928401929184019160010161344c565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a060208401826001600160801b03169052565b5060408301516134bb60408401826001600160801b03169052565b5060608301516134d660608401826001600160801b03169052565b5060808301516134eb6080840182600f0b9052565b5060a083015161350660a08401826001600160801b03169052565b5060c083015161352160c08401826001600160801b03169052565b5060e083015161353c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ea565b5f805f805f60a08688031215613599575f80fd5b8535945060208601356135ab81612ede565b935060408601356135bb81612ede565b92506060860135915060808601356135d281612ede565b809150509295509295909350565b5f80604083850312156135f1575f80fd5b82356135fc81612ede565b9150602083013561314181612ede565b5f60208083525f84545f60018260011c9150600183168061362e57607f831692505b60208310810361364c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366b5760018114613681576136aa565b60ff198616825284151560051b820196506136aa565b5f8b8152602090205f5b868110156136a45781548482015290850190890161368b565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107b8576107b86136cd565b818103818111156107b8576107b86136cd565b5f8060408385031215613718575f80fd5b82519150602083015161314181612f0d565b80516105d081612ede565b5f60208284031215613745575f80fd5b815161076881612ede565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137a3816011850160208701612e7f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137dc816012850160208701612e7f565b9190910160120192915050565b5f602082840312156137f9575f80fd5b5051919050565b5f6020808385031215613811575f80fd5b825167ffffffffffffffff80821115613828575f80fd5b818501915085601f83011261383b575f80fd5b81518181111561384d5761384d613750565b8060051b604051601f19603f8301168101818110858211171561387257613872613750565b60405291825284820192508381018501918883111561388f575f80fd5b938501935b828510156138b4576138a58561372a565b84529385019392850192613894565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516138ea816010850160208701612e7f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137a3816011850160208701612e7f565b8181035f831280158383131683831282161715611252576112526136cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261396357613963613941565b500690565b5f60018201613979576139796136cd565b5060010190565b5f8261398e5761398e613941565b500490565b5f808335601e198436030181126139a8575f80fd5b83018035915067ffffffffffffffff8211156139c2575f80fd5b602001915036819003821315613004575f80fd5b80820281158282048414176107b8576107b86136cd565b5f602082840312156139fd575f80fd5b815161076881612f0d565b5f8251613a19818460208701612e7f565b919091019291505056fea2646970667358221220a4da0a409a8b75edd252732149e3bac45fdc18f6f99be5583c4d690df15b996c64736f6c63430008160033', - methodIdentifiers: { - "_liquidityPool()": "207deba0", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "liquidityPool()": "665a11ca", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts deleted file mode 100644 index a89c22dfe..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EETHTarget0Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts.map deleted file mode 100644 index d35391f47..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/EETHTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKovkC,KAAK,MAAM,EAAE;;;;;CAKhykC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.js deleted file mode 100644 index 675178d3f..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget0Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EETHTarget0Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161448038038061448083398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143f76100895f395f8181603d015260b801526143f75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613ecb806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003ecb38038062003ecb8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a59620004725f395f818161030101528181610b9d0152818161259b01526125e701525f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca01526128ad01525f8181610e3e0152612c3001525f818161064b01528181610cfc01528181611e22015281816125bc015281816126080152612b9f01525f8181610ccd01526112670152613a595ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610521578063d816574314610534578063e44808bc14610549578063e985e9c51461055c578063fba560081461056f575f80fd5b8063bd85b039146104cb578063becee9c3146104de578063c55dae63146104fe578063c69e16ad14610506578063c6e6f5921461050e575f80fd5b80639cd241af116100fa5780639cd241af1461046c578063a22cb4651461047f578063ab033ea914610492578063b0d96580146104a3578063b88fed9f146104b8575f80fd5b806360246c8814610422578063665a11ca146104375780637180c8ca1461043f5780637ecebe0014610451578063950c5d0314610464575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db9146103be57806346fbf68e146103d15780634e41a1fb146103f45780634ed2d6ac1461040757806354fd4d501461041a575f80fd5b806320fc48811461032357806321ff32a914610368578063313ce567146103895780633656eec2146103a35780633a98ef39146103b6575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e9578063207deba0146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612e68565b61059e565b6040516102629190612ecc565b60405180910390f35b61027e610279366004612ef2565b6105d5565b005b61027e61028e366004612f1a565b6105de565b6102556105e7565b610255610626565b6102ab61063d565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004612f35565b61067c565b61027e6102e436600461300b565b610698565b61027e6102f736600461309a565b6106ae565b6102ab7f000000000000000000000000000000000000000000000000000000000000000081565b610336610331366004612e68565b6106c1565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61037b6103763660046130df565b61072a565b604051908152602001610262565b61039161076f565b60405160ff9091168152602001610262565b61037b6103b136600461311e565b610786565b61037b6107be565b61037b6103cc36600461314c565b6107dc565b6103e46103df366004612ef2565b6107e6565b6040519015158152602001610262565b610255610402366004612e68565b610805565b61027e610415366004613183565b610813565b610255610861565b61042a610896565b60405161026291906131ca565b6102ab610b8f565b61027e61044d36600461326b565b5050565b61037b61045f366004612ef2565b610bce565b6102ab610bf9565b61027e61047a366004613297565b610c38565b61027e61048d36600461326b565b610c49565b61027e6104a0366004612ef2565b50565b6104ab610cb4565b60405161026291906132cc565b61037b6104c6366004612e68565b611174565b61037b6104d9366004612e68565b611181565b6104f16104ec3660046133f2565b6111a2565b6040516102629190613431565b6102ab611259565b61037b611298565b61037b61051c366004612e68565b6112b1565b61037b61052f366004612e68565b6112be565b61053c6112f4565b6040516102629190613474565b61027e610557366004613585565b6113ff565b6103e461056a3660046135e0565b611447565b61057761148a565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105d06105ac836114e8565b6040516020016105bc9190612ecc565b60405160208183030381529060405261160e565b919050565b6104a081611632565b6104a081611893565b60606106236040518060400160405280600e81526020016d454554484879706572647269766560901b8152506040516020016105bc9190612ecc565b90565b606061062360016040516020016105bc919061360c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b61068d8989898989898989896119ab565b505050505050505050565b6106a6868686868686611b9d565b505050505050565b6106bb8484848433611c50565b50505050565b604080516060810182525f80825260208201819052918101919091526105d060085f8481526020019081526020015f206040516020016105bc919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261076891016105bc565b9392505050565b60408051601260208201525f9161062391016105bc565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107b891016105bc565b92915050565b5f6106236107ca611e0b565b6040516020016105bc91815260200190565b5f6107b882611e98565b5f6105d06107f3836120ce565b604080519115156020830152016105bc565b60606105d06105ac836121ac565b8361081d816122a8565b6001600160a01b0316336001600160a01b03161461084e57604051632aab8bd360e01b815260040160405180910390fd5b61085a85858585612365565b5050505050565b606061062360405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105bc9190612ecc565b610900604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109096123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161097391906136e1565b61097d91906136f4565b90505f8215610a8c5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109a9856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7c9190613707565b509050610a89818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b5c57610b578486612581565b610b5e565b5f5b81526003546001600160801b0316602091820152604051919250610b88916105bc918491016131ca565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105d091016105bc565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d94565b6106236040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613735565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105bc91906132cc565b5f6105d06107ca83612595565b5f818152600b60209081526040808320548151928301526105d091016105bc565b60605f8267ffffffffffffffff8111156111be576111be613750565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613764565b9050602002013590505f815490508084848151811061122857611228613764565b602090810291909101015250506001016111ec565b50611252816040516020016105bc9190613431565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b5f6106236009546040516020016105bc91815260200190565b5f6105d06107ca836125e1565b5f6105d06107ca6112ef7f0000000000000000000000000000000000000000000000000000000000000000856136e1565b61262d565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261062360026040516020016105bc919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106a68686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107b891016105bc565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610623906060016105bc565b606060f882901c6001600160f81b0383165f6115038261266d565b90505f836003811115611518576115186136b9565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136b9565b0361158a57806040516020016115749190613778565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136b9565b036115b4578060405160200161157491906137b0565b60038360038111156115c8576115c86136b9565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ecc565b60405180910390fd5b61163a61271f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613735565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613735565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a91906137e9565b90506118206001600160a01b0385168483612747565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104a060015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613735565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613764565b905060200201358888868686818110611c3257611c32613764565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d439084906136f4565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c9084906136f4565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136e1565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9391906137e9565b905090565b5f611ea161271f565b611eaa82612799565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613735565b90506001600160a01b038116611f446020850185612ef2565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613735565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f9091559091506120638183876127ce565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f1a565b60408051938452602084019290925215159082015260600160405180910390a25050506105d060015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121529190810190613800565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613764565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261266d565b90505f8360038111156121dc576121dc6136b9565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136b9565b03612238578060405160200161157491906138c0565b600283600381111561224c5761224c6136b9565b03612262578060405160200161157491906138f7565b6003836003811115612276576122766136b9565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612864565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612864565b905292915050565b5f6107688383670de0b6b3a76400006128d8565b5f61076883670de0b6b3a7640000846128d8565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128f3565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846129db565b5f612652600b5f61263f600286612a8e565b81526020019081526020015f2054612ac2565b612663600b5f61263f600187612a8e565b6107b89190613922565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612711576126a6600a86613955565b6126b19060306136e1565b60f81b8260016126c184876136f4565b6126cb91906136f4565b815181106126db576126db613764565b60200101906001600160f81b03191690815f1a905350806126fb81613968565b915061270a9050600a86613980565b9450612695565b918290030190815292915050565b60025f540361274157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c44908490612aef565b5f6127a76020830183612ef2565b6001600160a01b0316036104a05760405163f0dd15fd60e01b815260040160405180910390fd5b5f806127da858561256d565b90506127e5816125e1565b9450845f036127f7575f915050610768565b84915061280a6040840160208501612f1a565b1561283957612832856128206020860186612ef2565b61282d6040870187613993565b612b50565b915061285c565b61285c8561284a6020860186612ef2565b6128576040870187613993565b612b6a565b509392505050565b5f80670de0b6b3a7640000612877612c29565b61288191906139d6565b9050808311612890575f61289a565b61289a81846136f4565b91506107686128d1670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139d6565b8390612581565b5f825f1904841183021582026128ec575f80fd5b5091020490565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612931573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295591906137e9565b9050805f03612967575f915050610768565b6129d2856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ca91906137e9565b8490836128d8565b95945050505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3d91906137e9565b9050805f03612a4f575f915050610768565b6129d2846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b5f6001600160f81b03821115612ab75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aeb5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b036001600160a01b03841683612c54565b905080515f14158015612b27575080806020019051810190612b2591906139ed565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b5f60405163350b944160e11b815260040160405180910390fd5b5f612b7485612595565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0991906139ed565b9050806106a6576040516312171d8360e31b815260040160405180910390fd5b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c61565b606061076883835f612c76565b5f612c6c8284613955565b61076890846136f4565b606081471015612c9b5760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612cb69190613a08565b5f6040518083038185875af1925050503d805f8114612cf0576040519150601f19603f3d011682016040523d82523d5f602084013e612cf5565b606091505b5091509150612d05868383612d0f565b9695505050505050565b606082612d2457612d1f82612d6b565b610768565b8151158015612d3b57506001600160a01b0384163b155b15612d6457604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610768565b805115612d7b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e78575f80fd5b5035919050565b5f5b83811015612e99578181015183820152602001612e81565b50505f910152565b5f8151808452612eb8816020860160208601612e7f565b601f01601f19169290920160200192915050565b602081525f6107686020830184612ea1565b6001600160a01b03811681146104a0575f80fd5b5f60208284031215612f02575f80fd5b813561076881612ede565b80151581146104a0575f80fd5b5f60208284031215612f2a575f80fd5b813561076881612f0d565b5f805f805f805f805f6101208a8c031215612f4e575f80fd5b8935985060208a0135975060408a0135612f6781612ede565b965060608a0135612f7781612ede565b955060808a0135612f8781612f0d565b945060a08a0135935060c08a013560ff81168114612fa3575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd3575f80fd5b50813567ffffffffffffffff811115612fea575f80fd5b6020830191508360208260051b8501011115613004575f80fd5b9250929050565b5f805f805f8060808789031215613020575f80fd5b863561302b81612ede565b9550602087013561303b81612ede565b9450604087013567ffffffffffffffff80821115613057575f80fd5b6130638a838b01612fc3565b9096509450606089013591508082111561307b575f80fd5b5061308889828a01612fc3565b979a9699509497509295939492505050565b5f805f80608085870312156130ad575f80fd5b8435935060208501356130bf81612ede565b925060408501356130cf81612ede565b9396929550929360600135925050565b5f805f606084860312156130f1575f80fd5b83359250602084013561310381612ede565b9150604084013561311381612ede565b809150509250925092565b5f806040838503121561312f575f80fd5b82359150602083013561314181612ede565b809150509250929050565b5f6020828403121561315c575f80fd5b813567ffffffffffffffff811115613172575f80fd5b820160608185031215610768575f80fd5b5f805f8060808587031215613196575f80fd5b8435935060208501356131a881612ede565b92506040850135915060608501356131bf81612ede565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327c575f80fd5b823561328781612ede565b9150602083013561314181612f0d565b5f805f606084860312156132a9575f80fd5b8335925060208401356132bb81612ede565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132f860208401826001600160a01b03169052565b50604083015161331360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613385828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613403575f80fd5b823567ffffffffffffffff811115613419575f80fd5b61342585828601612fc3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134685783518352928401929184019160010161344c565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a060208401826001600160801b03169052565b5060408301516134bb60408401826001600160801b03169052565b5060608301516134d660608401826001600160801b03169052565b5060808301516134eb6080840182600f0b9052565b5060a083015161350660a08401826001600160801b03169052565b5060c083015161352160c08401826001600160801b03169052565b5060e083015161353c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ea565b5f805f805f60a08688031215613599575f80fd5b8535945060208601356135ab81612ede565b935060408601356135bb81612ede565b92506060860135915060808601356135d281612ede565b809150509295509295909350565b5f80604083850312156135f1575f80fd5b82356135fc81612ede565b9150602083013561314181612ede565b5f60208083525f84545f60018260011c9150600183168061362e57607f831692505b60208310810361364c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366b5760018114613681576136aa565b60ff198616825284151560051b820196506136aa565b5f8b8152602090205f5b868110156136a45781548482015290850190890161368b565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107b8576107b86136cd565b818103818111156107b8576107b86136cd565b5f8060408385031215613718575f80fd5b82519150602083015161314181612f0d565b80516105d081612ede565b5f60208284031215613745575f80fd5b815161076881612ede565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137a3816011850160208701612e7f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137dc816012850160208701612e7f565b9190910160120192915050565b5f602082840312156137f9575f80fd5b5051919050565b5f6020808385031215613811575f80fd5b825167ffffffffffffffff80821115613828575f80fd5b818501915085601f83011261383b575f80fd5b81518181111561384d5761384d613750565b8060051b604051601f19603f8301168101818110858211171561387257613872613750565b60405291825284820192508381018501918883111561388f575f80fd5b938501935b828510156138b4576138a58561372a565b84529385019392850192613894565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516138ea816010850160208701612e7f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137a3816011850160208701612e7f565b8181035f831280158383131683831282161715611252576112526136cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261396357613963613941565b500690565b5f60018201613979576139796136cd565b5060010190565b5f8261398e5761398e613941565b500490565b5f808335601e198436030181126139a8575f80fd5b83018035915067ffffffffffffffff8211156139c2575f80fd5b602001915036819003821315613004575f80fd5b80820281158282048414176107b8576107b86136cd565b5f602082840312156139fd575f80fd5b815161076881612f0d565b5f8251613a19818460208701612e7f565b919091019291505056fea2646970667358221220a4da0a409a8b75edd252732149e3bac45fdc18f6f99be5583c4d690df15b996c64736f6c63430008160033a2646970667358221220a6831cdf5f39d83855e8a445a49d7e643f3ac418aca30c6d5e2b3b855072f45d64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts deleted file mode 100644 index 6656cb943..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts +++ /dev/null @@ -1,785 +0,0 @@ -export declare const EETHTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=EETHTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts.map deleted file mode 100644 index 1111798cb..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget1.d.ts","sourceRoot":"","sources":["../src/EETHTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw8Bst/B,KAAK,MAAM,EAAE;;;;;;CAM1v/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1.js b/packages/hyperdrive-artifacts/dist/EETHTarget1.js deleted file mode 100644 index bdeda0195..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1.js +++ /dev/null @@ -1,975 +0,0 @@ -export const EETHTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f6d38038062003f6d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac3620004aa5f395f81816048015281816119bb015261257001525f50505f50505f610b7901525f50505f818160f40152818161035f0152612ce601525f81816113de015281816117dc0152818161183f015281816128cf0152818161290b01528181612b030152612cc001525f818161073701528181610df001528181610e3701528181610ff601528181611645015281816116920152612c9a01525f611b4601525f8181611c67015281816122a8015261232001525f81816108f401528181610f8e01528181611c3b01526122f401525f8181610e89015261226e01525f818161075801528181610dce01528181610e580152818161101701528181611623015281816116b30152612d0c01525f818161083201528181610f0f0152818161173a0152818161214701526132e301525f81816105fd01528181610674015281816106e8015281816107b301526107eb01525f81816119dc01528181612591015261260501525f5050613ac35ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063207deba01461004357806329b23fc114610087578063ded06231146100a8575b5f80fd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613573565b6100bb565b60405190815260200161007e565b61009a6100b6366004613573565b6100d3565b5f6100c8858585856100e0565b90505b949350505050565b5f6100c88585858561034b565b5f6100e961057f565b6100f2826105a7565b7f00000000000000000000000000000000000000000000000000000000000000008410156101335760405163211ddda360e11b815260040160405180910390fd5b5f61013c6105df565b9050854210156101615761015b6101516105f6565b8260046001610621565b50610171565b61016f868260046001610621565b505b61018661017f600288610c84565b3387610cb8565b5f805f805f806101978b888e610d8e565b9550955095509550955095505f8c90508c421015610253578260095f8282546101c091906135e1565b909155506101d890506101d16105f6565b4284611076565b6101e58c888787856111af565b5f6101ef8e611326565b905061020d6101fd8e61136c565b61020790836135f4565b82611399565b610216896113d8565b61022257610222611437565b5f61022c8a611450565b90508061024c57604051638bdf918d60e01b815260040160405180910390fd5b505061026a565b61025d868961145c565b955061026888611450565b505b5f610276878a8d611538565b90508b8110156102995760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102a9600288610c84565b6102b66020830183613627565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102f46040890160208a0161364f565b6103088a6103028d8f6135e1565b906115cf565b8d61031660408c018c61366a565b60405161032a9897969594939291906136d5565b60405180910390a450939c505050505050505050505050506100cb60015f55565b5f61035461057f565b61035d826105a7565b7f000000000000000000000000000000000000000000000000000000000000000084101561039e5760405163211ddda360e11b815260040160405180910390fd5b5f6103a76105df565b9050854210156103c2576103bc6101516105f6565b506103d2565b6103d0868260046001610621565b505b6103e061017f600188610c84565b5f805f805f806103f18b888e6115e3565b9550955095509550955095505f8c90508c4210156104a0578260095f82825461041a91906135e1565b9091555061042b90506101d16105f6565b6104388c888787856117c5565b5f61044282611326565b905061045a6104508e61136c565b610207908361371c565b610463896113d8565b61046f5761046f611437565b5f6104798a611450565b90508061049957604051638bdf918d60e01b815260040160405180910390fd5b50506104b7565b6104aa868961145c565b95506104b588611450565b505b5f6104c3878a8d611538565b90508b8110156104e65760405163c972651760e01b815260040160405180910390fd5b8c898c6104f4600186610c84565b6105016020830183613627565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee526788888761053f6040890160208a0161364f565b8a61054d60408b018b61366a565b6040516105609796959493929190613743565b60405180910390a450919a50505050505050505050506100cb60015f55565b60025f54036105a157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105b56020830183613627565b6001600160a01b0316036105dc5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105f1670de0b6b3a76400006119b5565b905090565b5f6105f1427f0000000000000000000000000000000000000000000000000000000000000000611a01565b5f84815260086020526040812060018101546001600160801b031615158061064857504286115b1561066157600101546001600160801b031690506100cb565b5f805f61066c6105f6565b90505f6106997f00000000000000000000000000000000000000000000000000000000000000008b6135e1565b90505b8181101561070d575f818152600860205260409020600101546001600160801b031680156106e5575f828152600860205260409020549094506001600160801b0316925061070d565b507f00000000000000000000000000000000000000000000000000000000000000000161069c565b835f0361077f5788935061077c610722611a16565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b92505b5061078983611a4c565b6001850180546001600160801b0319166001600160801b03929092169190911790556107df6107d87f00000000000000000000000000000000000000000000000000000000000000008b613783565b8a84611076565b61081d896108176108107f0000000000000000000000000000000000000000000000000000000000000000836135e1565b4290611a75565b84611076565b61082688611a89565b505f90506008816108577f00000000000000000000000000000000000000000000000000000000000000008d613783565b815260208101919091526040015f908120600101546001600160801b0316915061088260028c610c84565b5f818152600b60205260408120549192508c8c83156109c357600192505f806108ae86898d865f611c26565b915091508060095f8282546108c391906135e1565b909155506108de9050865f846108d88161136c565b886111af565b6108e881836135e1565b915061091886838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf3565b915061092c61092783856115cf565b611d3c565b6006805460029061094d9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061097a82611a4c565b6006805460109061099c908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109cf600184610c84565b5f818152600b60205260409020549091508015610ada57600194505f806109fa838b8f886001611c26565b915091508060095f828254610a0f91906135e1565b90915550610a2a9050835f84610a248161136c565b8a6117c5565b610a348183613783565b9150610a4361092783876115cf565b60068054600290610a649084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a9182611a4c565b60068054601090610ab3908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b1357610b05610aec8761136c565b610af58361136c565b610aff91906135f4565b5f611399565b8e610b108482611d65565b50505b5f610b1d84611f54565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf791906137d6565b90506001600160a01b03811615610c6b57610c685a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612096565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cad5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610cfa57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d3c908490613783565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d9e611a16565b90505f610daa8a61211c565b6002549091508c908c90610e14908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061216b565b600254919d509a50909550610e7c908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b9550610eb2858c610ead897f00000000000000000000000000000000000000000000000000000000000000006121da565b612209565b15610ebf57610ebf611437565b5f805f610ece85878b8761224a565b9c5091945092509050610ee18184613783565b610eeb90896135e1565b9750610ef782846135e1565b610f01908d6135e1565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f399190613783565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f7f575f8b8152600860205260409020600101546001600160801b0316610f81565b8b5b90508b610fb28e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cf3565b9950610fbe878a613783565b9850670de0b6b3a764000061103b610fd687876135e1565b600254610ff4908f90600160801b90046001600160801b0316613783565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b111561104957611049611437565b6110588a8a878a87875f61235c565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110a15750505050565b5f848152600860205260408120546001600160801b0316908190036110f9576110c983611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611176565b61114a611145670de0b6b3a76400006111128886613783565b61111c91906137f1565b85670de0b6b3a7640000611130878a613783565b61113a91906137f1565b8592919060016123f8565b611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61117f84611a4c565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111f7611145826111db670de0b6b3a7640000866137f1565b600554600160801b90046001600160801b031691908a5f6123f8565b600580546001600160801b03928316600160801b02921691909117905561121d86611a4c565b6112279082613808565b600480546001600160801b03928316600160801b02921691909117905561124d84611a4c565b600280545f906112679084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112948361249e565b600480545f906112a8908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112d885611a4c565b600280546010906112fa908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61134b600b5f611338600286610c84565b81526020019081526020015f205461136c565b61135c600b5f611338600187610c84565b61136691906135f4565b92915050565b5f6001600160ff1b038211156113955760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113b490611145906001600160801b031684846124d9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114037f00000000000000000000000000000000000000000000000000000000000000008361253b565b60035461141991906001600160801b03166135e1565b60025461142f906001600160801b0316846115cf565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f611366826004611d65565b5f805f61146884611a89565b90925090505f61147886866115cf565b9050818311156114905761148d86838561254f565b95505b828110156114a25780830392506114a6565b5f92505b6114af83611d3c565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561150257869003611505565b505f5b61150e81611a4c565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061154485856115cf565b905061154f8161256a565b9450845f03611561575f9150506115c8565b849150611574604084016020850161364f565b156115a35761159c8561158a6020860186613627565b611597604087018761366a565b6125b6565b91506115c6565b6115c6856115b46020860186613627565b6115c1604087018761366a565b6125d0565b505b9392505050565b5f6115c88383670de0b6b3a764000061254f565b5f805f805f805f806115f3611a16565b90505f6115ff8a61211c565b6002549091508b908d90611669908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612697565b600254919d509b509095505f90819081906116d7908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b98506116e584878b8861224a565b9c5091945090925090506116f98284613783565b6117039089613783565b975061170f81846135e1565b611719908e613783565b9c506117258a8e6135e1565b9b50505050505050506117af8686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117649190613783565b815260208101919091526040015f20600101546001600160801b0316428e116117a6575f8e8152600860205260409020600101546001600160801b03166117a8565b8e5b600161235c565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061180757507f00000000000000000000000000000000000000000000000000000000000000006118058583613783565b105b1561181457611814611437565b6004549084900390600f0b61182984826135f4565b9050836118358661136c565b13801561186a57507f000000000000000000000000000000000000000000000000000000000000000061186883836126ea565b105b1561187757611877611437565b600354600160801b90046001600160801b03166118b8611145826118a3670de0b6b3a7640000886137f1565b6005546001600160801b031691908c5f6123f8565b600580546001600160801b0319166001600160801b03929092169190911790556118e28882613783565b90506118ed81611a4c565b600380546001600160801b03928316600160801b02921691909117905561191383611a4c565b600280546001600160801b0319166001600160801b039290921691909117905561193c8261249e565b600480546001600160801b0319166001600160801b039290921691909117905561196587611a4c565b60028054601090611987908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461270f565b5f611a0c8284613869565b6115c89084613783565b6002546004545f916105f1916001600160801b0390911690600f0b6126ea565b5f6100c882611a4685888861254f565b906127ee565b5f6001600160801b0382111561139557604051630f0af95160e11b815260040160405180910390fd5b5f818311611a8357826115c8565b50919050565b6006545f908190611aab908490600160801b90046001600160801b03166115cf565b6006546201000090046001600160701b03169250905081811115611c21575f611ad48383613783565b9050611ae3611145828661285d565b60068054601090611b05908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b3d858361287190919063ffffffff16565b90505f611b6a827f00000000000000000000000000000000000000000000000000000000000000006115cf565b90508060095f828254611b7d91906135e1565b90915550611b8d90508183613783565b9150611b9882611a4c565b600280545f90611bb29084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bdf82612885565b600480545f90611bf3908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c328785612871565b91505f611c5f837f00000000000000000000000000000000000000000000000000000000000000006115cf565b9050611c8b817f00000000000000000000000000000000000000000000000000000000000000006115cf565b91508315611cae57611c9d8282613783565b611ca79084613783565b9250611cc5565b611cb88282613783565b611cc290846135e1565b92505b86861015611ce857611cd883878961254f565b9250611ce582878961254f565b91505b509550959350505050565b5f80611d0a84611d048a888a61254f565b90612871565b9050611d1788848661254f565b611d2190826135e1565b905086811115611d315786810391505b509695505050505050565b5f6001600160701b038211156113955760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611daf916001600160801b031690613783565b9050805f03611dc2576001915050611366565b5f611dcc856128ae565b9050805f03611de057600192505050611366565b5f80611ded838589612949565b9150915080611e02575f945050505050611366565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e3d9291906138fa565b6040805180830381865af4158015611e57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7b919061396f565b91509150611e99611e8b8261136c565b611e9490613991565b612abd565b925082611eae575f9650505050505050611366565b611eb782611a4c565b600780545f90611ed19084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611efe81611a4c565b60078054601090611f20908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f7b87612c51565b6040518263ffffffff1660e01b8152600401611f9791906139ab565b6040805180830381865af4158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd591906139ba565b9150915080611fea57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204f916135e1565b6120599190613783565b9050805f0361206f57505f958695509350505050565b5f80871161207d575f612088565b61208884888461254f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120b9576120b96139e8565b6040519080825280601f01601f1916602001820160405280156120e3576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612103578692505b828152825f602083013e90999098509650505050505050565b5f806121266105f6565b9050808311612135575f61213f565b61213f8184613783565b91506115c8827f0000000000000000000000000000000000000000000000000000000000000000612871565b5f808061218b61218388670de0b6b3a7640000613783565b899087612d8b565b905086156121cd5761219d888861253b565b91506121be8a8a846121b78a670de0b6b3a7640000613783565b8989612dae565b92506121ca83826135e1565b90505b9750975097945050505050565b5f6121f76121f084670de0b6b3a7640000613783565b839061253b565b6115c890670de0b6b3a7640000613783565b5f8061223f85612217611a16565b61222191906135e1565b600254610ff4908790600160801b90046001600160801b0316613783565b909210949350505050565b5f8080806122a087866122998b61229361226c8c670de0b6b3a7640000613783565b7f00000000000000000000000000000000000000000000000000000000000000009061253b565b9061253b565b9190612d8b565b93506122cc847f00000000000000000000000000000000000000000000000000000000000000006115cf565b91505f6122ec6122e489670de0b6b3a7640000613783565b8a9088612d8b565b9050612318817f000000000000000000000000000000000000000000000000000000000000000061253b565b9350612344847f00000000000000000000000000000000000000000000000000000000000000006115cf565b61234e90846135e1565b915050945094509450949050565b5f805f805f80888810156123c857861561237e5761237b8d898b61254f565b9c505b6123898c898b61254f565b9b506123948b61136c565b61239d8d61136c565b6123a791906135f4565b90506123b48b898b61254f565b9a506123c18a898b61254f565b99506123e7565b6123d18b61136c565b6123da8d61136c565b6123e491906135f4565b90505b9b9c9a9b999a975050505050505050565b5f825f03612407575084612495565b81156124595761243861241a84876135e1565b61242485876115cf565b61242e888a6115cf565b611d0491906135e1565b90505f6124458588611a75565b905080821015612453578091505b50612495565b82850361246757505f612495565b6124926124748487613783565b61247e858761253b565b612488888a6115cf565b611d049190613783565b90505b95945050505050565b5f60016001607f1b03198212806124bb575060016001607f1b0382135b156113955760405163a5353be560e01b815260040160405180910390fd5b5f806124e5845f612dd0565b6124ef845f612dd0565b6124f991906135f4565b90505f8113156125145761250d81866135e1565b9450612532565b5f8112156125325761252581613991565b61252f9086613783565b94505b50929392505050565b5f6115c88383670de0b6b3a7640000612d8b565b5f825f190484118302158202612563575f80fd5b5091020490565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612de5565b5f60405163350b944160e11b815260040160405180910390fd5b5f6125da856119b5565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561264b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f91906139fc565b90508061268f576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806126b76126af88670de0b6b3a7640000613783565b89908761254f565b905086156121cd576126c988886115cf565b91506121be8a8a846126e38a670de0b6b3a7640000613783565b8989612e98565b5f806126f68484612ea8565b90925090508061270857612708611437565b5092915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127719190613a17565b9050805f03612783575f9150506115c8565b612495856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e69190613a17565b84908361254f565b5f815f036128055750670de0b6b3a7640000611366565b825f0361281357505f611366565b5f61281d8361136c565b90505f61283161282c8661136c565b612ee3565b9050818102612848670de0b6b3a764000082613a2e565b905061285381613108565b9695505050505050565b5f6115c883670de0b6b3a764000084612d8b565b5f6115c883670de0b6b3a76400008461254f565b5f60016001607f1b038211156113955760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128c8906001600160801b03168461285d565b90506128f47f0000000000000000000000000000000000000000000000000000000000000000826135e1565b6002546001600160801b03161115611a83576002547f00000000000000000000000000000000000000000000000000000000000000009061293f9083906001600160801b0316613783565b6115c89190613783565b6129516134d4565b5f8061295c84612c51565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161299691906139ab565b6040805180830381865af41580156129b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129d491906139ba565b93509050826129e857505f9150612ab59050565b5f612a0e612a098461016001518561014001516115cf90919063ffffffff16565b61136c565b612a2e612a0985610120015186610100015161253b90919063ffffffff16565b612a3891906135f4565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b979190613a5a565b935093509350935080612bb257505f98975050505050505050565b868414612be357612bc284611a4c565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c1457612bf38361249e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c4257612c2482611a4c565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c5961351e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d51911661329a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d839290041661329a565b905292915050565b5f825f190484118302158202612d9f575f80fd5b50910281810615159190040190565b5f80612dbe88888888888861330e565b909250905080611d3157611d31611437565b5f818313612dde57816115c8565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e479190613a17565b9050805f03612e59575f9150506115c8565b612495846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b5f80612dbe8888888888886133ea565b5f805f83612eb58661136c565b612ebf91906135f4565b90505f811215612ed5575f809250925050612edc565b9150600190505b9250929050565b5f808213612f045760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f879084901c61136c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312157505f919050565b680755bf798b4a1bf1e5821261314a576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061285374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61136c565b5f80670de0b6b3a76400006132ad6105f6565b6132b791906137f1565b90508083116132c6575f6132d0565b6132d08184613783565b91506115c8613307670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137f1565b8390612871565b5f805f61331e89898888886134a6565b905086881015613334575f8092509250506133df565b968690039661334388876127ee565b975087811015613359575f8092509250506133df565b878103613367818688612d8b565b9050670de0b6b3a7640000811061339b5761339461338d670de0b6b3a76400008961285d565b82906127ee565b90506133b3565b6133b061338d670de0b6b3a764000089612871565b90505b6133bd818661285d565b9050898110156133d4575f809350935050506133df565b899003925060019150505b965096945050505050565b5f805f6133fa89898888886134a6565b905061340a86611a46898b6135e1565b975087811015613420575f8092509250506133df565b87810361342e818688612d8b565b9050670de0b6b3a7640000811061345b5761345461338d670de0b6b3a76400008961285d565b9050613473565b61347061338d670de0b6b3a764000089612871565b90505b61347d818661285d565b9050808a1015613494575f809350935050506133df565b90980398600198509650505050505050565b5f6134b185856127ee565b6134ca6134c286611a46868b61253b565b859085612d8b565b61249291906135e1565b6040518061012001604052806134e861351e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613586575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135b1575f80fd5b8501606081880312156135c2575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611366576113666135cd565b8181035f831280158383131683831282161715612708576127086135cd565b6001600160a01b03811681146105dc575f80fd5b5f60208284031215613637575f80fd5b81356115c881613613565b80151581146105dc575f80fd5b5f6020828403121561365f575f80fd5b81356115c881613642565b5f808335601e1984360301811261367f575f80fd5b83018035915067ffffffffffffffff821115613699575f80fd5b602001915036819003821315612edc575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61370e60e0830184866136ad565b9a9950505050505050505050565b8082018281125f83128015821682158216171561373b5761373b6135cd565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61377660c0830184866136ad565b9998505050505050505050565b81810381811115611366576113666135cd565b6001600160701b03818116838216019080821115612708576127086135cd565b6001600160801b03818116838216019080821115612708576127086135cd565b5f602082840312156137e6575f80fd5b81516115c881613613565b8082028115828204841417611366576113666135cd565b6001600160801b03828116828216039080821115612708576127086135cd565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715611366576113666135cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061390d82855161387c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613980575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a5576139a56135cd565b505f0390565b6101808101611366828461387c565b5f80604083850312156139cb575f80fd5b8251915060208301516139dd81613642565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a0c575f80fd5b81516115c881613642565b5f60208284031215613a27575f80fd5b5051919050565b5f82613a3c57613a3c613855565b600160ff1b82145f1984141615613a5557613a556135cd565b500590565b5f805f8060808587031215613a6d575f80fd5b84519350602085015192506040850151915060608501516135c28161364256fea26469706673582212203f265796572d49c5992cd5e50258665290b8552cf9f47ee2a97e50b62c346e6b64736f6c63430008160033', - methodIdentifiers: { - "_liquidityPool()": "207deba0", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts deleted file mode 100644 index 2e7e45a41..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EETHTarget1Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts.map deleted file mode 100644 index f295f063e..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/EETHTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKwjlC,KAAK,MAAM,EAAE;;;;;CAKpmlC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.js deleted file mode 100644 index 0b5eae3dd..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget1Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EETHTarget1Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161452238038061452283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144996100895f395f8181603d015260b801526144995ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613f6d806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003f6d38038062003f6d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac3620004aa5f395f81816048015281816119bb015261257001525f50505f50505f610b7901525f50505f818160f40152818161035f0152612ce601525f81816113de015281816117dc0152818161183f015281816128cf0152818161290b01528181612b030152612cc001525f818161073701528181610df001528181610e3701528181610ff601528181611645015281816116920152612c9a01525f611b4601525f8181611c67015281816122a8015261232001525f81816108f401528181610f8e01528181611c3b01526122f401525f8181610e89015261226e01525f818161075801528181610dce01528181610e580152818161101701528181611623015281816116b30152612d0c01525f818161083201528181610f0f0152818161173a0152818161214701526132e301525f81816105fd01528181610674015281816106e8015281816107b301526107eb01525f81816119dc01528181612591015261260501525f5050613ac35ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063207deba01461004357806329b23fc114610087578063ded06231146100a8575b5f80fd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613573565b6100bb565b60405190815260200161007e565b61009a6100b6366004613573565b6100d3565b5f6100c8858585856100e0565b90505b949350505050565b5f6100c88585858561034b565b5f6100e961057f565b6100f2826105a7565b7f00000000000000000000000000000000000000000000000000000000000000008410156101335760405163211ddda360e11b815260040160405180910390fd5b5f61013c6105df565b9050854210156101615761015b6101516105f6565b8260046001610621565b50610171565b61016f868260046001610621565b505b61018661017f600288610c84565b3387610cb8565b5f805f805f806101978b888e610d8e565b9550955095509550955095505f8c90508c421015610253578260095f8282546101c091906135e1565b909155506101d890506101d16105f6565b4284611076565b6101e58c888787856111af565b5f6101ef8e611326565b905061020d6101fd8e61136c565b61020790836135f4565b82611399565b610216896113d8565b61022257610222611437565b5f61022c8a611450565b90508061024c57604051638bdf918d60e01b815260040160405180910390fd5b505061026a565b61025d868961145c565b955061026888611450565b505b5f610276878a8d611538565b90508b8110156102995760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102a9600288610c84565b6102b66020830183613627565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102f46040890160208a0161364f565b6103088a6103028d8f6135e1565b906115cf565b8d61031660408c018c61366a565b60405161032a9897969594939291906136d5565b60405180910390a450939c505050505050505050505050506100cb60015f55565b5f61035461057f565b61035d826105a7565b7f000000000000000000000000000000000000000000000000000000000000000084101561039e5760405163211ddda360e11b815260040160405180910390fd5b5f6103a76105df565b9050854210156103c2576103bc6101516105f6565b506103d2565b6103d0868260046001610621565b505b6103e061017f600188610c84565b5f805f805f806103f18b888e6115e3565b9550955095509550955095505f8c90508c4210156104a0578260095f82825461041a91906135e1565b9091555061042b90506101d16105f6565b6104388c888787856117c5565b5f61044282611326565b905061045a6104508e61136c565b610207908361371c565b610463896113d8565b61046f5761046f611437565b5f6104798a611450565b90508061049957604051638bdf918d60e01b815260040160405180910390fd5b50506104b7565b6104aa868961145c565b95506104b588611450565b505b5f6104c3878a8d611538565b90508b8110156104e65760405163c972651760e01b815260040160405180910390fd5b8c898c6104f4600186610c84565b6105016020830183613627565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee526788888761053f6040890160208a0161364f565b8a61054d60408b018b61366a565b6040516105609796959493929190613743565b60405180910390a450919a50505050505050505050506100cb60015f55565b60025f54036105a157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105b56020830183613627565b6001600160a01b0316036105dc5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105f1670de0b6b3a76400006119b5565b905090565b5f6105f1427f0000000000000000000000000000000000000000000000000000000000000000611a01565b5f84815260086020526040812060018101546001600160801b031615158061064857504286115b1561066157600101546001600160801b031690506100cb565b5f805f61066c6105f6565b90505f6106997f00000000000000000000000000000000000000000000000000000000000000008b6135e1565b90505b8181101561070d575f818152600860205260409020600101546001600160801b031680156106e5575f828152600860205260409020549094506001600160801b0316925061070d565b507f00000000000000000000000000000000000000000000000000000000000000000161069c565b835f0361077f5788935061077c610722611a16565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b92505b5061078983611a4c565b6001850180546001600160801b0319166001600160801b03929092169190911790556107df6107d87f00000000000000000000000000000000000000000000000000000000000000008b613783565b8a84611076565b61081d896108176108107f0000000000000000000000000000000000000000000000000000000000000000836135e1565b4290611a75565b84611076565b61082688611a89565b505f90506008816108577f00000000000000000000000000000000000000000000000000000000000000008d613783565b815260208101919091526040015f908120600101546001600160801b0316915061088260028c610c84565b5f818152600b60205260408120549192508c8c83156109c357600192505f806108ae86898d865f611c26565b915091508060095f8282546108c391906135e1565b909155506108de9050865f846108d88161136c565b886111af565b6108e881836135e1565b915061091886838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf3565b915061092c61092783856115cf565b611d3c565b6006805460029061094d9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061097a82611a4c565b6006805460109061099c908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109cf600184610c84565b5f818152600b60205260409020549091508015610ada57600194505f806109fa838b8f886001611c26565b915091508060095f828254610a0f91906135e1565b90915550610a2a9050835f84610a248161136c565b8a6117c5565b610a348183613783565b9150610a4361092783876115cf565b60068054600290610a649084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a9182611a4c565b60068054601090610ab3908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b1357610b05610aec8761136c565b610af58361136c565b610aff91906135f4565b5f611399565b8e610b108482611d65565b50505b5f610b1d84611f54565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf791906137d6565b90506001600160a01b03811615610c6b57610c685a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612096565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cad5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610cfa57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d3c908490613783565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d9e611a16565b90505f610daa8a61211c565b6002549091508c908c90610e14908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061216b565b600254919d509a50909550610e7c908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b9550610eb2858c610ead897f00000000000000000000000000000000000000000000000000000000000000006121da565b612209565b15610ebf57610ebf611437565b5f805f610ece85878b8761224a565b9c5091945092509050610ee18184613783565b610eeb90896135e1565b9750610ef782846135e1565b610f01908d6135e1565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f399190613783565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f7f575f8b8152600860205260409020600101546001600160801b0316610f81565b8b5b90508b610fb28e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cf3565b9950610fbe878a613783565b9850670de0b6b3a764000061103b610fd687876135e1565b600254610ff4908f90600160801b90046001600160801b0316613783565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b111561104957611049611437565b6110588a8a878a87875f61235c565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110a15750505050565b5f848152600860205260408120546001600160801b0316908190036110f9576110c983611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611176565b61114a611145670de0b6b3a76400006111128886613783565b61111c91906137f1565b85670de0b6b3a7640000611130878a613783565b61113a91906137f1565b8592919060016123f8565b611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61117f84611a4c565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111f7611145826111db670de0b6b3a7640000866137f1565b600554600160801b90046001600160801b031691908a5f6123f8565b600580546001600160801b03928316600160801b02921691909117905561121d86611a4c565b6112279082613808565b600480546001600160801b03928316600160801b02921691909117905561124d84611a4c565b600280545f906112679084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112948361249e565b600480545f906112a8908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112d885611a4c565b600280546010906112fa908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61134b600b5f611338600286610c84565b81526020019081526020015f205461136c565b61135c600b5f611338600187610c84565b61136691906135f4565b92915050565b5f6001600160ff1b038211156113955760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113b490611145906001600160801b031684846124d9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114037f00000000000000000000000000000000000000000000000000000000000000008361253b565b60035461141991906001600160801b03166135e1565b60025461142f906001600160801b0316846115cf565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f611366826004611d65565b5f805f61146884611a89565b90925090505f61147886866115cf565b9050818311156114905761148d86838561254f565b95505b828110156114a25780830392506114a6565b5f92505b6114af83611d3c565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561150257869003611505565b505f5b61150e81611a4c565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061154485856115cf565b905061154f8161256a565b9450845f03611561575f9150506115c8565b849150611574604084016020850161364f565b156115a35761159c8561158a6020860186613627565b611597604087018761366a565b6125b6565b91506115c6565b6115c6856115b46020860186613627565b6115c1604087018761366a565b6125d0565b505b9392505050565b5f6115c88383670de0b6b3a764000061254f565b5f805f805f805f806115f3611a16565b90505f6115ff8a61211c565b6002549091508b908d90611669908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612697565b600254919d509b509095505f90819081906116d7908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b98506116e584878b8861224a565b9c5091945090925090506116f98284613783565b6117039089613783565b975061170f81846135e1565b611719908e613783565b9c506117258a8e6135e1565b9b50505050505050506117af8686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117649190613783565b815260208101919091526040015f20600101546001600160801b0316428e116117a6575f8e8152600860205260409020600101546001600160801b03166117a8565b8e5b600161235c565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061180757507f00000000000000000000000000000000000000000000000000000000000000006118058583613783565b105b1561181457611814611437565b6004549084900390600f0b61182984826135f4565b9050836118358661136c565b13801561186a57507f000000000000000000000000000000000000000000000000000000000000000061186883836126ea565b105b1561187757611877611437565b600354600160801b90046001600160801b03166118b8611145826118a3670de0b6b3a7640000886137f1565b6005546001600160801b031691908c5f6123f8565b600580546001600160801b0319166001600160801b03929092169190911790556118e28882613783565b90506118ed81611a4c565b600380546001600160801b03928316600160801b02921691909117905561191383611a4c565b600280546001600160801b0319166001600160801b039290921691909117905561193c8261249e565b600480546001600160801b0319166001600160801b039290921691909117905561196587611a4c565b60028054601090611987908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461270f565b5f611a0c8284613869565b6115c89084613783565b6002546004545f916105f1916001600160801b0390911690600f0b6126ea565b5f6100c882611a4685888861254f565b906127ee565b5f6001600160801b0382111561139557604051630f0af95160e11b815260040160405180910390fd5b5f818311611a8357826115c8565b50919050565b6006545f908190611aab908490600160801b90046001600160801b03166115cf565b6006546201000090046001600160701b03169250905081811115611c21575f611ad48383613783565b9050611ae3611145828661285d565b60068054601090611b05908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b3d858361287190919063ffffffff16565b90505f611b6a827f00000000000000000000000000000000000000000000000000000000000000006115cf565b90508060095f828254611b7d91906135e1565b90915550611b8d90508183613783565b9150611b9882611a4c565b600280545f90611bb29084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bdf82612885565b600480545f90611bf3908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c328785612871565b91505f611c5f837f00000000000000000000000000000000000000000000000000000000000000006115cf565b9050611c8b817f00000000000000000000000000000000000000000000000000000000000000006115cf565b91508315611cae57611c9d8282613783565b611ca79084613783565b9250611cc5565b611cb88282613783565b611cc290846135e1565b92505b86861015611ce857611cd883878961254f565b9250611ce582878961254f565b91505b509550959350505050565b5f80611d0a84611d048a888a61254f565b90612871565b9050611d1788848661254f565b611d2190826135e1565b905086811115611d315786810391505b509695505050505050565b5f6001600160701b038211156113955760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611daf916001600160801b031690613783565b9050805f03611dc2576001915050611366565b5f611dcc856128ae565b9050805f03611de057600192505050611366565b5f80611ded838589612949565b9150915080611e02575f945050505050611366565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e3d9291906138fa565b6040805180830381865af4158015611e57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7b919061396f565b91509150611e99611e8b8261136c565b611e9490613991565b612abd565b925082611eae575f9650505050505050611366565b611eb782611a4c565b600780545f90611ed19084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611efe81611a4c565b60078054601090611f20908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f7b87612c51565b6040518263ffffffff1660e01b8152600401611f9791906139ab565b6040805180830381865af4158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd591906139ba565b9150915080611fea57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204f916135e1565b6120599190613783565b9050805f0361206f57505f958695509350505050565b5f80871161207d575f612088565b61208884888461254f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120b9576120b96139e8565b6040519080825280601f01601f1916602001820160405280156120e3576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612103578692505b828152825f602083013e90999098509650505050505050565b5f806121266105f6565b9050808311612135575f61213f565b61213f8184613783565b91506115c8827f0000000000000000000000000000000000000000000000000000000000000000612871565b5f808061218b61218388670de0b6b3a7640000613783565b899087612d8b565b905086156121cd5761219d888861253b565b91506121be8a8a846121b78a670de0b6b3a7640000613783565b8989612dae565b92506121ca83826135e1565b90505b9750975097945050505050565b5f6121f76121f084670de0b6b3a7640000613783565b839061253b565b6115c890670de0b6b3a7640000613783565b5f8061223f85612217611a16565b61222191906135e1565b600254610ff4908790600160801b90046001600160801b0316613783565b909210949350505050565b5f8080806122a087866122998b61229361226c8c670de0b6b3a7640000613783565b7f00000000000000000000000000000000000000000000000000000000000000009061253b565b9061253b565b9190612d8b565b93506122cc847f00000000000000000000000000000000000000000000000000000000000000006115cf565b91505f6122ec6122e489670de0b6b3a7640000613783565b8a9088612d8b565b9050612318817f000000000000000000000000000000000000000000000000000000000000000061253b565b9350612344847f00000000000000000000000000000000000000000000000000000000000000006115cf565b61234e90846135e1565b915050945094509450949050565b5f805f805f80888810156123c857861561237e5761237b8d898b61254f565b9c505b6123898c898b61254f565b9b506123948b61136c565b61239d8d61136c565b6123a791906135f4565b90506123b48b898b61254f565b9a506123c18a898b61254f565b99506123e7565b6123d18b61136c565b6123da8d61136c565b6123e491906135f4565b90505b9b9c9a9b999a975050505050505050565b5f825f03612407575084612495565b81156124595761243861241a84876135e1565b61242485876115cf565b61242e888a6115cf565b611d0491906135e1565b90505f6124458588611a75565b905080821015612453578091505b50612495565b82850361246757505f612495565b6124926124748487613783565b61247e858761253b565b612488888a6115cf565b611d049190613783565b90505b95945050505050565b5f60016001607f1b03198212806124bb575060016001607f1b0382135b156113955760405163a5353be560e01b815260040160405180910390fd5b5f806124e5845f612dd0565b6124ef845f612dd0565b6124f991906135f4565b90505f8113156125145761250d81866135e1565b9450612532565b5f8112156125325761252581613991565b61252f9086613783565b94505b50929392505050565b5f6115c88383670de0b6b3a7640000612d8b565b5f825f190484118302158202612563575f80fd5b5091020490565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612de5565b5f60405163350b944160e11b815260040160405180910390fd5b5f6125da856119b5565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561264b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f91906139fc565b90508061268f576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806126b76126af88670de0b6b3a7640000613783565b89908761254f565b905086156121cd576126c988886115cf565b91506121be8a8a846126e38a670de0b6b3a7640000613783565b8989612e98565b5f806126f68484612ea8565b90925090508061270857612708611437565b5092915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127719190613a17565b9050805f03612783575f9150506115c8565b612495856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e69190613a17565b84908361254f565b5f815f036128055750670de0b6b3a7640000611366565b825f0361281357505f611366565b5f61281d8361136c565b90505f61283161282c8661136c565b612ee3565b9050818102612848670de0b6b3a764000082613a2e565b905061285381613108565b9695505050505050565b5f6115c883670de0b6b3a764000084612d8b565b5f6115c883670de0b6b3a76400008461254f565b5f60016001607f1b038211156113955760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128c8906001600160801b03168461285d565b90506128f47f0000000000000000000000000000000000000000000000000000000000000000826135e1565b6002546001600160801b03161115611a83576002547f00000000000000000000000000000000000000000000000000000000000000009061293f9083906001600160801b0316613783565b6115c89190613783565b6129516134d4565b5f8061295c84612c51565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161299691906139ab565b6040805180830381865af41580156129b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129d491906139ba565b93509050826129e857505f9150612ab59050565b5f612a0e612a098461016001518561014001516115cf90919063ffffffff16565b61136c565b612a2e612a0985610120015186610100015161253b90919063ffffffff16565b612a3891906135f4565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b979190613a5a565b935093509350935080612bb257505f98975050505050505050565b868414612be357612bc284611a4c565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c1457612bf38361249e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c4257612c2482611a4c565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c5961351e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d51911661329a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d839290041661329a565b905292915050565b5f825f190484118302158202612d9f575f80fd5b50910281810615159190040190565b5f80612dbe88888888888861330e565b909250905080611d3157611d31611437565b5f818313612dde57816115c8565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e479190613a17565b9050805f03612e59575f9150506115c8565b612495846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b5f80612dbe8888888888886133ea565b5f805f83612eb58661136c565b612ebf91906135f4565b90505f811215612ed5575f809250925050612edc565b9150600190505b9250929050565b5f808213612f045760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f879084901c61136c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312157505f919050565b680755bf798b4a1bf1e5821261314a576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061285374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61136c565b5f80670de0b6b3a76400006132ad6105f6565b6132b791906137f1565b90508083116132c6575f6132d0565b6132d08184613783565b91506115c8613307670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137f1565b8390612871565b5f805f61331e89898888886134a6565b905086881015613334575f8092509250506133df565b968690039661334388876127ee565b975087811015613359575f8092509250506133df565b878103613367818688612d8b565b9050670de0b6b3a7640000811061339b5761339461338d670de0b6b3a76400008961285d565b82906127ee565b90506133b3565b6133b061338d670de0b6b3a764000089612871565b90505b6133bd818661285d565b9050898110156133d4575f809350935050506133df565b899003925060019150505b965096945050505050565b5f805f6133fa89898888886134a6565b905061340a86611a46898b6135e1565b975087811015613420575f8092509250506133df565b87810361342e818688612d8b565b9050670de0b6b3a7640000811061345b5761345461338d670de0b6b3a76400008961285d565b9050613473565b61347061338d670de0b6b3a764000089612871565b90505b61347d818661285d565b9050808a1015613494575f809350935050506133df565b90980398600198509650505050505050565b5f6134b185856127ee565b6134ca6134c286611a46868b61253b565b859085612d8b565b61249291906135e1565b6040518061012001604052806134e861351e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613586575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135b1575f80fd5b8501606081880312156135c2575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611366576113666135cd565b8181035f831280158383131683831282161715612708576127086135cd565b6001600160a01b03811681146105dc575f80fd5b5f60208284031215613637575f80fd5b81356115c881613613565b80151581146105dc575f80fd5b5f6020828403121561365f575f80fd5b81356115c881613642565b5f808335601e1984360301811261367f575f80fd5b83018035915067ffffffffffffffff821115613699575f80fd5b602001915036819003821315612edc575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61370e60e0830184866136ad565b9a9950505050505050505050565b8082018281125f83128015821682158216171561373b5761373b6135cd565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61377660c0830184866136ad565b9998505050505050505050565b81810381811115611366576113666135cd565b6001600160701b03818116838216019080821115612708576127086135cd565b6001600160801b03818116838216019080821115612708576127086135cd565b5f602082840312156137e6575f80fd5b81516115c881613613565b8082028115828204841417611366576113666135cd565b6001600160801b03828116828216039080821115612708576127086135cd565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715611366576113666135cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061390d82855161387c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613980575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a5576139a56135cd565b505f0390565b6101808101611366828461387c565b5f80604083850312156139cb575f80fd5b8251915060208301516139dd81613642565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a0c575f80fd5b81516115c881613642565b5f60208284031215613a27575f80fd5b5051919050565b5f82613a3c57613a3c613855565b600160ff1b82145f1984141615613a5557613a556135cd565b500590565b5f805f8060808587031215613a6d575f80fd5b84519350602085015192506040850151915060608501516135c28161364256fea26469706673582212203f265796572d49c5992cd5e50258665290b8552cf9f47ee2a97e50b62c346e6b64736f6c63430008160033a2646970667358221220ad4ce9a6fe4476b25693872e405cf042beb8c780ac11f3766f4df9175073056964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts deleted file mode 100644 index de714a414..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts +++ /dev/null @@ -1,793 +0,0 @@ -export declare const EETHTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=EETHTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts.map deleted file mode 100644 index e407ad29c..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget2.d.ts","sourceRoot":"","sources":["../src/EETHTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAk9B8xgC,KAAK,MAAM,EAAE;;;;;;CAMl0gC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2.js b/packages/hyperdrive-artifacts/dist/EETHTarget2.js deleted file mode 100644 index fc8ab3560..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2.js +++ /dev/null @@ -1,985 +0,0 @@ -export const EETHTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004091380380620040918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613bd1620004c05f395f818160480152818161149001526116e401525f50505f50505f8181610c4e015261171401525f50505f8181610148015281816103490152612e6d01525f818161152d01528181611e1201528181611e75015281816125fc01528181612a5d01528181612a9901528181612c8a0152612e4701525f818161080c01528181610da801528181610dea01528181610edc01528181611342015281816113a00152612e2101525f611a3c01525f8181611b5d015281816126ed015281816127650152612f8501525f81816109c901528181610e5d0152818161143b01528181611b31015261273901525f8181610e3c015281816126b90152612f4101525f818161082d01528181610d8601528181610e0b01528181610efd01528181611320015281816113c10152612e9301525f8181610222015281816103dd01528181610907015261340901525f81816106cd01528181610749015281816107bd0152818161088801526108c001525f81816114b1015261183e01525f5050613bd15ff3fe608060405260043610610033575f3560e01c8063207deba014610037578063cba2e58d14610087578063dbbe8070146100af575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613681565b6100c2565b6040805192835260208301919091520161007e565b61009a6100bd366004613681565b6100de565b5f806100d0868686866100ec565b915091505b94509492505050565b5f806100d08686868661030b565b5f806100f6610578565b600654610100900460ff161561011f576040516321081abf60e01b815260040160405180910390fd5b610128836105a0565b5f8061013488866105d8565b90925090505f61014483836106a9565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101875760405163211ddda360e11b815260040160405180910390fd5b868210156101a8576040516342af972b60e01b815260040160405180910390fd5b5f6101b16106c6565b90506101c18184600460016106f6565b505f805f6101cf8787610d5a565b919a5091945090925090508b8810156101fb5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461020c91906136ef565b9091555061021d9050844283610f39565b6102477f0000000000000000000000000000000000000000000000000000000000000000856136ef565b98506102558389888c611072565b5f61026160018b611209565b905061027a8161027460208e018e613716565b8b61123d565b8d8a8a898e8561028d6020830183613716565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ca604088016020890161373e565b896102d860408a018a613759565b6040516102eb97969594939291906137c4565b60405180910390a350909b5050505050505050505050506100d560015f55565b5f80610315610578565b600654610100900460ff161561033e576040516321081abf60e01b815260040160405180910390fd5b610347836105a0565b7f00000000000000000000000000000000000000000000000000000000000000008610156103885760405163211ddda360e11b815260040160405180910390fd5b5f6103916112e2565b9050848110156103b4576040516342af972b60e01b815260040160405180910390fd5b5f6103bd6106c6565b90505f6103d56103cb6106c6565b84600460016106f6565b90505f6104027f0000000000000000000000000000000000000000000000000000000000000000846136ef565b90505f805f806104138e89886112f4565b60098054949850929650909450925083915f906104319084906136ef565b909155506104429050874283610f39565b61045461044f858a611476565b61148a565b61045f9060016136ef565b9350505f61046e84898d6114d6565b9050808d10156104915760405163c972651760e01b815260040160405180910390fd5b61049b818c6105d8565b508e90506104ab81858b89611507565b5f6104b7600288611209565b90508c6104d1826104cb6020840184613716565b8561123d565b858b86846104e26020860186613716565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661051f60408b0160208c0161373e565b6105338961052d8a8d613804565b906106a9565b8d61054160408e018e613759565b604051610555989796959493929190613817565b60405180910390a350989d50939b5050505050505050505050506100d560015f55565b60025f540361059a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105ae6020830183613716565b6001600160a01b0316036105d55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105eb604085016020860161373e565b1561061057610606856106016040870187613759565b6116ba565b9093509050610628565b5034610628856106236040870187613759565b611805565b6106306112e2565b915080156106a0576040515f90339083908381818185875af1925050503d805f8114610677576040519150601f19603f3d011682016040523d82523d5f602084013e61067c565b606091505b505090508061069e576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106bd8383670de0b6b3a76400006118cf565b90505b92915050565b5f6106f1427f00000000000000000000000000000000000000000000000000000000000000006118ea565b905090565b5f84815260086020526040812060018101546001600160801b031615158061071d57504286115b1561073657600101546001600160801b03169050610d52565b5f805f6107416106c6565b90505f61076e7f00000000000000000000000000000000000000000000000000000000000000008b6136ef565b90505b818110156107e2575f818152600860205260409020600101546001600160801b031680156107ba575f828152600860205260409020549094506001600160801b031692506107e2565b507f000000000000000000000000000000000000000000000000000000000000000001610771565b835f03610854578893506108516107f76118ff565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b92505b5061085e8361193e565b6001850180546001600160801b0319166001600160801b03929092169190911790556108b46108ad7f00000000000000000000000000000000000000000000000000000000000000008b613804565b8a84610f39565b6108f2896108ec6108e57f0000000000000000000000000000000000000000000000000000000000000000836136ef565b429061196b565b84610f39565b6108fb8861197f565b505f905060088161092c7f00000000000000000000000000000000000000000000000000000000000000008d613804565b815260208101919091526040015f908120600101546001600160801b0316915061095760028c611209565b5f818152600b60205260408120549192508c8c8315610a9857600192505f8061098386898d865f611b1c565b915091508060095f82825461099891906136ef565b909155506109b39050865f846109ad81611be9565b88611c12565b6109bd81836136ef565b91506109ed86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d89565b9150610a016109fc83856106a9565b611dd2565b60068054600290610a229084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4f8261193e565b60068054601090610a71908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610aa4600184611209565b5f818152600b60205260409020549091508015610baf57600194505f80610acf838b8f886001611b1c565b915091508060095f828254610ae491906136ef565b90915550610aff9050835f84610af981611be9565b8a611dfb565b610b098183613804565b9150610b186109fc83876106a9565b60068054600290610b399084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b668261193e565b60068054601090610b88908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610be857610bda610bc187611be9565b610bca83611be9565b610bd4919061389e565b5f611feb565b8e610be5848261202a565b50505b5f610bf284612219565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc91906138bd565b90506001600160a01b03811615610d4057610d3d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061235b565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d676118ff565b600254909150610dcc908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123e1565b600254909450610e2f908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b9150610e868785610e81857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061240c565b612470565b15610e9357610e936124b1565b610e9f878588856124ca565b91965094509250670de0b6b3a7640000610f21610ebc87846136ef565b600254610eda908890600160801b90046001600160801b0316613804565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b1115610f2f57610f2f6124b1565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f645750505050565b5f848152600860205260408120546001600160801b031690819003610fbc57610f8c8361193e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611039565b61100d611008670de0b6b3a7640000610fd58886613804565b610fdf91906138d8565b85670de0b6b3a7640000610ff3878a613804565b610ffd91906138d8565b859291906001612512565b61193e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6110428461193e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110b46110088261109e670de0b6b3a7640000866138d8565b6005546001600160801b03169190886001612512565b600580546001600160801b0319166001600160801b03929092169190911790556110dd8561193e565b600280545f906110f79084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111248461193e565b60028054601090611146908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111738461193e565b61117d908261387e565b600380546001600160801b03808416600160801b02911617905590505f6111a3836125b6565b90506111c1816111b287611be9565b6111bc908461390f565b611feb565b6111ca846125f6565b6111d6576111d66124b1565b5f6111e085612655565b90508061120057604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112325760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061126e9084906136ef565b90915550505f838152600b6020526040812080548392906112909084906136ef565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106f1670de0b6b3a764000061148a565b5f805f805f6113016118ff565b600254909150611366908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612661565b9350876113738589612681565b1115611381576113816124b1565b6002545f9081906113e5908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b93506113fb8a670de0b6b3a7640000868c612695565b5091935090915061140e90508183613804565b6114189087613804565b9550886114658161145f8d61142d868c613804565b8d61143887826127a1565b877f00000000000000000000000000000000000000000000000000000000000000006127b6565b90612681565b975090945050505093509350935093565b5f6106bd83670de0b6b3a7640000846127d6565b5f6106c07f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127f9565b5f6114e7604083016020840161373e565b156114f3575082611500565b6114fd84846128d8565b90505b9392505050565b6002546001600160801b031683811015611523576115236124b1565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155b908390600f0b6128ec565b1015611569576115696124b1565b6004546115b39061100890600160801b90046001600160801b0316611596670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b03169190896001612512565b600580546001600160801b03928316600160801b0292169190911790556115d98161193e565b600280546001600160801b0319166001600160801b03929092169190911790556116028561193e565b60028054601090611624908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116518561193e565b60048054601090611673908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a1836125b6565b90506111c1816116b088611be9565b6111bc908461389e565b5f80843410156116dd576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179291906138bd565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117d5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117fa9190613936565b91505b935093915050565b5f61180f8461148a565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611884573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a8919061394d565b9050806118c8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f1904841183021582026118e3575f80fd5b5091020490565b5f6118f5828461397c565b6106bd9084613804565b6002546004545f916106f1916001600160801b0390911690600f0b6128ec565b5f6119358261192f8588886118cf565b90612911565b95945050505050565b5f6001600160801b0382111561196757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161197957826106bd565b50919050565b6006545f9081906119a1908490600160801b90046001600160801b03166106a9565b6006546201000090046001600160701b03169250905081811115611b17575f6119ca8383613804565b90506119d96110088286611476565b600680546010906119fb908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a3385836128d890919063ffffffff16565b90505f611a60827f00000000000000000000000000000000000000000000000000000000000000006106a9565b90508060095f828254611a7391906136ef565b90915550611a8390508183613804565b9150611a8e8261193e565b600280545f90611aa89084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ad582612976565b600480545f90611ae9908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611b2887856128d8565b91505f611b55837f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050611b81817f00000000000000000000000000000000000000000000000000000000000000006106a9565b91508315611ba457611b938282613804565b611b9d9084613804565b9250611bbb565b611bae8282613804565b611bb890846136ef565b92505b86861015611bde57611bce8387896118cf565b9250611bdb8287896118cf565b91505b509550959350505050565b5f6001600160ff1b038211156119675760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c5a61100882611c3e670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b031691908a5f612512565b600580546001600160801b03928316600160801b029216919091179055611c808661193e565b611c8a90826138ef565b600480546001600160801b03928316600160801b029216919091179055611cb08461193e565b600280545f90611cca9084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cf78361299f565b600480545f90611d0b908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d3b8561193e565b60028054601090611d5d908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611da084611d9a8a888a6118cf565b906128d8565b9050611dad8884866118cf565b611db790826136ef565b905086811115611dc75786810391505b509695505050505050565b5f6001600160701b038211156119675760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e3d57507f0000000000000000000000000000000000000000000000000000000000000000611e3b8583613804565b105b15611e4a57611e4a6124b1565b6004549084900390600f0b611e5f848261389e565b905083611e6b86611be9565b138015611ea057507f0000000000000000000000000000000000000000000000000000000000000000611e9e83836128ec565b105b15611ead57611ead6124b1565b600354600160801b90046001600160801b0316611eee61100882611ed9670de0b6b3a7640000886138d8565b6005546001600160801b031691908c5f612512565b600580546001600160801b0319166001600160801b0392909216919091179055611f188882613804565b9050611f238161193e565b600380546001600160801b03928316600160801b029216919091179055611f498361193e565b600280546001600160801b0319166001600160801b0392909216919091179055611f728261299f565b600480546001600160801b0319166001600160801b0392909216919091179055611f9b8761193e565b60028054601090611fbd908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461200690611008906001600160801b031684846129da565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612074916001600160801b031690613804565b9050805f036120875760019150506106c0565b5f61209185612a3c565b9050805f036120a5576001925050506106c0565b5f806120b2838589612ad7565b91509150806120c7575f9450505050506106c0565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612102929190613a3a565b6040805180830381865af415801561211c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121409190613aaf565b9150915061215e61215082611be9565b61215990613ad1565b612c44565b925082612173575f96505050505050506106c0565b61217c8261193e565b600780545f906121969084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121c38161193e565b600780546010906121e5908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61224087612dd8565b6040518263ffffffff1660e01b815260040161225c9190613aeb565b6040805180830381865af4158015612276573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229a9190613afa565b91509150806122af57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612314916136ef565b61231e9190613804565b9050805f0361233457505f958695509350505050565b5f808711612342575f61234d565b61234d8488846118cf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561237e5761237e613b28565b6040519080825280601f01601f1916602001820160405280156123a8576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156123c8578692505b828152825f602083013e90999098509650505050505050565b5f6124018787876123fa88670de0b6b3a7640000613804565b8787612f12565b979650505050505050565b5f6114fd61244c61242584670de0b6b3a7640000613804565b61145f670de0b6b3a764000061243b818a611476565b6124459190613804565b8790612681565b61245e90670de0b6b3a76400006136ef565b611d9a84670de0b6b3a7640000613804565b5f806124a68561247e6118ff565b61248891906136ef565b600254610eda908790600160801b90046001600160801b0316613804565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124da898789612f34565b90925090506124e98289613804565b97505f6124f782888a6118cf565b9050612503818b613804565b9a989950979650505050505050565b5f825f03612521575084611935565b81156125735761255261253484876136ef565b61253e85876106a9565b612548888a6106a9565b611d9a91906136ef565b90505f61255f858861196b565b90508082101561256d578091505b50611935565b82850361258157505f611935565b6125ac61258e8487613804565b6125988587612681565b6125a2888a6106a9565b611d9a9190613804565b9695505050505050565b5f6125db600b5f6125c8600286611209565b81526020019081526020015f2054611be9565b6125ec600b5f6125c8600187611209565b6106c0919061389e565b5f6126217f000000000000000000000000000000000000000000000000000000000000000083612681565b60035461263791906001600160801b03166136ef565b60025461264d906001600160801b0316846106a9565b101592915050565b5f6106c082600461202a565b5f61240187878761267a88670de0b6b3a7640000613804565b8787612fb3565b5f6106bd8383670de0b6b3a76400006127d6565b5f8080806126e587866126de8b61145f6126b78c670de0b6b3a7640000613804565b7f000000000000000000000000000000000000000000000000000000000000000090612681565b91906127d6565b9350612711847f00000000000000000000000000000000000000000000000000000000000000006106a9565b91505f61273161272989670de0b6b3a7640000613804565b8a90886127d6565b905061275d817f0000000000000000000000000000000000000000000000000000000000000000612681565b9350612789847f00000000000000000000000000000000000000000000000000000000000000006106a9565b61279390846136ef565b915050945094509450949050565b5f8183116127af57816106bd565b5090919050565b5f806127cd846127c78a888a6127d6565b90611476565b9050611dad8884865b5f825f1904841183021582026127ea575f80fd5b50910281810615159190040190565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285b9190613936565b9050805f0361286d575f915050611500565b611935856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d09190613936565b8490836118cf565b5f6106bd83670de0b6b3a7640000846118cf565b5f806128f88484612fc3565b90925090508061290a5761290a6124b1565b5092915050565b5f815f036129285750670de0b6b3a76400006106c0565b825f0361293657505f6106c0565b5f61294083611be9565b90505f61295461294f86611be9565b612ffb565b905081810261296b670de0b6b3a764000082613b3c565b90506125ac81613220565b5f60016001607f1b038211156119675760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806129bc575060016001607f1b0382135b156119675760405163a5353be560e01b815260040160405180910390fd5b5f806129e6845f6133b2565b6129f0845f6133b2565b6129fa919061389e565b90505f811315612a1557612a0e81866136ef565b9450612a33565b5f811215612a3357612a2681613ad1565b612a309086613804565b94505b50929392505050565b6003545f908190612a56906001600160801b031684611476565b9050612a827f0000000000000000000000000000000000000000000000000000000000000000826136ef565b6002546001600160801b03161115611979576002547f000000000000000000000000000000000000000000000000000000000000000090612acd9083906001600160801b0316613804565b6115009190613804565b612adf6135e2565b5f80612aea84612dd8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b249190613aeb565b6040805180830381865af4158015612b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b629190613afa565b9350905082612b7657505f91506117fd9050565b5f612b9c612b978461016001518561014001516106a990919063ffffffff16565b611be9565b612bbc612b9785610120015186610100015161268190919063ffffffff16565b612bc6919061389e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1e9190613b68565b935093509350935080612d3957505f98975050505050505050565b868414612d6a57612d498461193e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d9b57612d7a8361299f565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612dc957612dab8261193e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612de061362c565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ed891166133c0565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f0a929004166133c0565b905292915050565b5f80612f22888888888888613434565b909250905080611dc757611dc76124b1565b5f80612f7d8561145f85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f73818c611476565b61145f9190613804565b9150612fa9827f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050935093915050565b5f80612f228888888888886134f8565b5f805f83612fd086611be9565b612fda919061389e565b90505f811215612ff0575f8092509250506106a2565b946001945092505050565b5f80821361301c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309f9084901c611be9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323957505f919050565b680755bf798b4a1bf1e58212613262576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906125ac74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611be9565b5f8183136127af57816106bd565b5f80670de0b6b3a76400006133d36106c6565b6133dd91906138d8565b90508083116133ec575f6133f6565b6133f68184613804565b915061150061342d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d8565b83906128d8565b5f805f61344489898888886135b4565b905061345e8661192f6134578a8d6136ef565b87906106a9565b985061346b858a866118cf565b985088811015613481575f8092509250506134ed565b888103670de0b6b3a764000081106134b6576134af6134a8670de0b6b3a764000089611476565b8290612911565b90506134ce565b6134cb6134a8670de0b6b3a7640000896128d8565b90505b808910156134e3575f809350935050506134ed565b8803925060019150505b965096945050505050565b5f805f61350889898888886135b4565b90506135188661192f898b6136ef565b97508781101561352e575f8092509250506134ed565b87810361353c8186886127d6565b9050670de0b6b3a76400008110613569576135626134a8670de0b6b3a764000089611476565b9050613581565b61357e6134a8670de0b6b3a7640000896128d8565b90505b61358b8186611476565b9050808a10156135a2575f809350935050506134ed565b90980398600198509650505050505050565b5f6135bf8585612911565b6135d86135d08661192f868b612681565b8590856127d6565b6125ac91906136ef565b6040518061012001604052806135f661362c565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613694575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136bf575f80fd5b8501606081880312156136d0575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c0576106c06136db565b6001600160a01b03811681146105d5575f80fd5b5f60208284031215613726575f80fd5b813561150081613702565b80151581146105d5575f80fd5b5f6020828403121561374e575f80fd5b813561150081613731565b5f808335601e1984360301811261376e575f80fd5b83018035915067ffffffffffffffff821115613788575f80fd5b6020019150368190038213156106a2575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137f760c08301848661379c565b9998505050505050505050565b818103818111156106c0576106c06136db565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61385060e08301848661379c565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561290a5761290a6136db565b6001600160801b0381811683821601908082111561290a5761290a6136db565b8181035f83128015838313168383128216171561290a5761290a6136db565b5f602082840312156138cd575f80fd5b815161150081613702565b80820281158282048414176106c0576106c06136db565b6001600160801b0382811682821603908082111561290a5761290a6136db565b8082018281125f83128015821682158216171561392e5761392e6136db565b505092915050565b5f60208284031215613946575f80fd5b5051919050565b5f6020828403121561395d575f80fd5b815161150081613731565b634e487b7160e01b5f52601260045260245ffd5b5f8261398a5761398a613968565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106c0576106c06136db565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a4d8285516139bc565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ac0575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613ae557613ae56136db565b505f0390565b61018081016106c082846139bc565b5f8060408385031215613b0b575f80fd5b825191506020830151613b1d81613731565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b4a57613b4a613968565b600160ff1b82145f1984141615613b6357613b636136db565b500590565b5f805f8060808587031215613b7b575f80fd5b84519350602085015192506040850151915060608501516136d08161373156fea2646970667358221220059bf0099f9f65942f2b523ba2b81b1e97a86f6165c63f203c3c9fd9eae7251164736f6c63430008160033', - methodIdentifiers: { - "_liquidityPool()": "207deba0", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts deleted file mode 100644 index e442c2d03..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EETHTarget2Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts.map deleted file mode 100644 index e5bbde2f4..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/EETHTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKgomC,KAAK,MAAM,EAAE;;;;;CAK5qmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.js deleted file mode 100644 index 0f3a73187..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget2Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EETHTarget2Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161464638038061464683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516145bd6100895f395f8181603d015260b801526145bd5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b614091806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162004091380380620040918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613bd1620004c05f395f818160480152818161149001526116e401525f50505f50505f8181610c4e015261171401525f50505f8181610148015281816103490152612e6d01525f818161152d01528181611e1201528181611e75015281816125fc01528181612a5d01528181612a9901528181612c8a0152612e4701525f818161080c01528181610da801528181610dea01528181610edc01528181611342015281816113a00152612e2101525f611a3c01525f8181611b5d015281816126ed015281816127650152612f8501525f81816109c901528181610e5d0152818161143b01528181611b31015261273901525f8181610e3c015281816126b90152612f4101525f818161082d01528181610d8601528181610e0b01528181610efd01528181611320015281816113c10152612e9301525f8181610222015281816103dd01528181610907015261340901525f81816106cd01528181610749015281816107bd0152818161088801526108c001525f81816114b1015261183e01525f5050613bd15ff3fe608060405260043610610033575f3560e01c8063207deba014610037578063cba2e58d14610087578063dbbe8070146100af575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613681565b6100c2565b6040805192835260208301919091520161007e565b61009a6100bd366004613681565b6100de565b5f806100d0868686866100ec565b915091505b94509492505050565b5f806100d08686868661030b565b5f806100f6610578565b600654610100900460ff161561011f576040516321081abf60e01b815260040160405180910390fd5b610128836105a0565b5f8061013488866105d8565b90925090505f61014483836106a9565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101875760405163211ddda360e11b815260040160405180910390fd5b868210156101a8576040516342af972b60e01b815260040160405180910390fd5b5f6101b16106c6565b90506101c18184600460016106f6565b505f805f6101cf8787610d5a565b919a5091945090925090508b8810156101fb5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461020c91906136ef565b9091555061021d9050844283610f39565b6102477f0000000000000000000000000000000000000000000000000000000000000000856136ef565b98506102558389888c611072565b5f61026160018b611209565b905061027a8161027460208e018e613716565b8b61123d565b8d8a8a898e8561028d6020830183613716565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ca604088016020890161373e565b896102d860408a018a613759565b6040516102eb97969594939291906137c4565b60405180910390a350909b5050505050505050505050506100d560015f55565b5f80610315610578565b600654610100900460ff161561033e576040516321081abf60e01b815260040160405180910390fd5b610347836105a0565b7f00000000000000000000000000000000000000000000000000000000000000008610156103885760405163211ddda360e11b815260040160405180910390fd5b5f6103916112e2565b9050848110156103b4576040516342af972b60e01b815260040160405180910390fd5b5f6103bd6106c6565b90505f6103d56103cb6106c6565b84600460016106f6565b90505f6104027f0000000000000000000000000000000000000000000000000000000000000000846136ef565b90505f805f806104138e89886112f4565b60098054949850929650909450925083915f906104319084906136ef565b909155506104429050874283610f39565b61045461044f858a611476565b61148a565b61045f9060016136ef565b9350505f61046e84898d6114d6565b9050808d10156104915760405163c972651760e01b815260040160405180910390fd5b61049b818c6105d8565b508e90506104ab81858b89611507565b5f6104b7600288611209565b90508c6104d1826104cb6020840184613716565b8561123d565b858b86846104e26020860186613716565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661051f60408b0160208c0161373e565b6105338961052d8a8d613804565b906106a9565b8d61054160408e018e613759565b604051610555989796959493929190613817565b60405180910390a350989d50939b5050505050505050505050506100d560015f55565b60025f540361059a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105ae6020830183613716565b6001600160a01b0316036105d55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105eb604085016020860161373e565b1561061057610606856106016040870187613759565b6116ba565b9093509050610628565b5034610628856106236040870187613759565b611805565b6106306112e2565b915080156106a0576040515f90339083908381818185875af1925050503d805f8114610677576040519150601f19603f3d011682016040523d82523d5f602084013e61067c565b606091505b505090508061069e576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106bd8383670de0b6b3a76400006118cf565b90505b92915050565b5f6106f1427f00000000000000000000000000000000000000000000000000000000000000006118ea565b905090565b5f84815260086020526040812060018101546001600160801b031615158061071d57504286115b1561073657600101546001600160801b03169050610d52565b5f805f6107416106c6565b90505f61076e7f00000000000000000000000000000000000000000000000000000000000000008b6136ef565b90505b818110156107e2575f818152600860205260409020600101546001600160801b031680156107ba575f828152600860205260409020549094506001600160801b031692506107e2565b507f000000000000000000000000000000000000000000000000000000000000000001610771565b835f03610854578893506108516107f76118ff565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b92505b5061085e8361193e565b6001850180546001600160801b0319166001600160801b03929092169190911790556108b46108ad7f00000000000000000000000000000000000000000000000000000000000000008b613804565b8a84610f39565b6108f2896108ec6108e57f0000000000000000000000000000000000000000000000000000000000000000836136ef565b429061196b565b84610f39565b6108fb8861197f565b505f905060088161092c7f00000000000000000000000000000000000000000000000000000000000000008d613804565b815260208101919091526040015f908120600101546001600160801b0316915061095760028c611209565b5f818152600b60205260408120549192508c8c8315610a9857600192505f8061098386898d865f611b1c565b915091508060095f82825461099891906136ef565b909155506109b39050865f846109ad81611be9565b88611c12565b6109bd81836136ef565b91506109ed86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d89565b9150610a016109fc83856106a9565b611dd2565b60068054600290610a229084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4f8261193e565b60068054601090610a71908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610aa4600184611209565b5f818152600b60205260409020549091508015610baf57600194505f80610acf838b8f886001611b1c565b915091508060095f828254610ae491906136ef565b90915550610aff9050835f84610af981611be9565b8a611dfb565b610b098183613804565b9150610b186109fc83876106a9565b60068054600290610b399084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b668261193e565b60068054601090610b88908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610be857610bda610bc187611be9565b610bca83611be9565b610bd4919061389e565b5f611feb565b8e610be5848261202a565b50505b5f610bf284612219565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc91906138bd565b90506001600160a01b03811615610d4057610d3d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061235b565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d676118ff565b600254909150610dcc908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123e1565b600254909450610e2f908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b9150610e868785610e81857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061240c565b612470565b15610e9357610e936124b1565b610e9f878588856124ca565b91965094509250670de0b6b3a7640000610f21610ebc87846136ef565b600254610eda908890600160801b90046001600160801b0316613804565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b1115610f2f57610f2f6124b1565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f645750505050565b5f848152600860205260408120546001600160801b031690819003610fbc57610f8c8361193e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611039565b61100d611008670de0b6b3a7640000610fd58886613804565b610fdf91906138d8565b85670de0b6b3a7640000610ff3878a613804565b610ffd91906138d8565b859291906001612512565b61193e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6110428461193e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110b46110088261109e670de0b6b3a7640000866138d8565b6005546001600160801b03169190886001612512565b600580546001600160801b0319166001600160801b03929092169190911790556110dd8561193e565b600280545f906110f79084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111248461193e565b60028054601090611146908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111738461193e565b61117d908261387e565b600380546001600160801b03808416600160801b02911617905590505f6111a3836125b6565b90506111c1816111b287611be9565b6111bc908461390f565b611feb565b6111ca846125f6565b6111d6576111d66124b1565b5f6111e085612655565b90508061120057604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112325760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061126e9084906136ef565b90915550505f838152600b6020526040812080548392906112909084906136ef565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106f1670de0b6b3a764000061148a565b5f805f805f6113016118ff565b600254909150611366908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612661565b9350876113738589612681565b1115611381576113816124b1565b6002545f9081906113e5908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b93506113fb8a670de0b6b3a7640000868c612695565b5091935090915061140e90508183613804565b6114189087613804565b9550886114658161145f8d61142d868c613804565b8d61143887826127a1565b877f00000000000000000000000000000000000000000000000000000000000000006127b6565b90612681565b975090945050505093509350935093565b5f6106bd83670de0b6b3a7640000846127d6565b5f6106c07f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127f9565b5f6114e7604083016020840161373e565b156114f3575082611500565b6114fd84846128d8565b90505b9392505050565b6002546001600160801b031683811015611523576115236124b1565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155b908390600f0b6128ec565b1015611569576115696124b1565b6004546115b39061100890600160801b90046001600160801b0316611596670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b03169190896001612512565b600580546001600160801b03928316600160801b0292169190911790556115d98161193e565b600280546001600160801b0319166001600160801b03929092169190911790556116028561193e565b60028054601090611624908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116518561193e565b60048054601090611673908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a1836125b6565b90506111c1816116b088611be9565b6111bc908461389e565b5f80843410156116dd576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179291906138bd565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117d5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117fa9190613936565b91505b935093915050565b5f61180f8461148a565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611884573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a8919061394d565b9050806118c8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f1904841183021582026118e3575f80fd5b5091020490565b5f6118f5828461397c565b6106bd9084613804565b6002546004545f916106f1916001600160801b0390911690600f0b6128ec565b5f6119358261192f8588886118cf565b90612911565b95945050505050565b5f6001600160801b0382111561196757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161197957826106bd565b50919050565b6006545f9081906119a1908490600160801b90046001600160801b03166106a9565b6006546201000090046001600160701b03169250905081811115611b17575f6119ca8383613804565b90506119d96110088286611476565b600680546010906119fb908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a3385836128d890919063ffffffff16565b90505f611a60827f00000000000000000000000000000000000000000000000000000000000000006106a9565b90508060095f828254611a7391906136ef565b90915550611a8390508183613804565b9150611a8e8261193e565b600280545f90611aa89084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ad582612976565b600480545f90611ae9908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611b2887856128d8565b91505f611b55837f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050611b81817f00000000000000000000000000000000000000000000000000000000000000006106a9565b91508315611ba457611b938282613804565b611b9d9084613804565b9250611bbb565b611bae8282613804565b611bb890846136ef565b92505b86861015611bde57611bce8387896118cf565b9250611bdb8287896118cf565b91505b509550959350505050565b5f6001600160ff1b038211156119675760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c5a61100882611c3e670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b031691908a5f612512565b600580546001600160801b03928316600160801b029216919091179055611c808661193e565b611c8a90826138ef565b600480546001600160801b03928316600160801b029216919091179055611cb08461193e565b600280545f90611cca9084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cf78361299f565b600480545f90611d0b908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d3b8561193e565b60028054601090611d5d908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611da084611d9a8a888a6118cf565b906128d8565b9050611dad8884866118cf565b611db790826136ef565b905086811115611dc75786810391505b509695505050505050565b5f6001600160701b038211156119675760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e3d57507f0000000000000000000000000000000000000000000000000000000000000000611e3b8583613804565b105b15611e4a57611e4a6124b1565b6004549084900390600f0b611e5f848261389e565b905083611e6b86611be9565b138015611ea057507f0000000000000000000000000000000000000000000000000000000000000000611e9e83836128ec565b105b15611ead57611ead6124b1565b600354600160801b90046001600160801b0316611eee61100882611ed9670de0b6b3a7640000886138d8565b6005546001600160801b031691908c5f612512565b600580546001600160801b0319166001600160801b0392909216919091179055611f188882613804565b9050611f238161193e565b600380546001600160801b03928316600160801b029216919091179055611f498361193e565b600280546001600160801b0319166001600160801b0392909216919091179055611f728261299f565b600480546001600160801b0319166001600160801b0392909216919091179055611f9b8761193e565b60028054601090611fbd908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461200690611008906001600160801b031684846129da565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612074916001600160801b031690613804565b9050805f036120875760019150506106c0565b5f61209185612a3c565b9050805f036120a5576001925050506106c0565b5f806120b2838589612ad7565b91509150806120c7575f9450505050506106c0565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612102929190613a3a565b6040805180830381865af415801561211c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121409190613aaf565b9150915061215e61215082611be9565b61215990613ad1565b612c44565b925082612173575f96505050505050506106c0565b61217c8261193e565b600780545f906121969084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121c38161193e565b600780546010906121e5908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61224087612dd8565b6040518263ffffffff1660e01b815260040161225c9190613aeb565b6040805180830381865af4158015612276573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229a9190613afa565b91509150806122af57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612314916136ef565b61231e9190613804565b9050805f0361233457505f958695509350505050565b5f808711612342575f61234d565b61234d8488846118cf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561237e5761237e613b28565b6040519080825280601f01601f1916602001820160405280156123a8576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156123c8578692505b828152825f602083013e90999098509650505050505050565b5f6124018787876123fa88670de0b6b3a7640000613804565b8787612f12565b979650505050505050565b5f6114fd61244c61242584670de0b6b3a7640000613804565b61145f670de0b6b3a764000061243b818a611476565b6124459190613804565b8790612681565b61245e90670de0b6b3a76400006136ef565b611d9a84670de0b6b3a7640000613804565b5f806124a68561247e6118ff565b61248891906136ef565b600254610eda908790600160801b90046001600160801b0316613804565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124da898789612f34565b90925090506124e98289613804565b97505f6124f782888a6118cf565b9050612503818b613804565b9a989950979650505050505050565b5f825f03612521575084611935565b81156125735761255261253484876136ef565b61253e85876106a9565b612548888a6106a9565b611d9a91906136ef565b90505f61255f858861196b565b90508082101561256d578091505b50611935565b82850361258157505f611935565b6125ac61258e8487613804565b6125988587612681565b6125a2888a6106a9565b611d9a9190613804565b9695505050505050565b5f6125db600b5f6125c8600286611209565b81526020019081526020015f2054611be9565b6125ec600b5f6125c8600187611209565b6106c0919061389e565b5f6126217f000000000000000000000000000000000000000000000000000000000000000083612681565b60035461263791906001600160801b03166136ef565b60025461264d906001600160801b0316846106a9565b101592915050565b5f6106c082600461202a565b5f61240187878761267a88670de0b6b3a7640000613804565b8787612fb3565b5f6106bd8383670de0b6b3a76400006127d6565b5f8080806126e587866126de8b61145f6126b78c670de0b6b3a7640000613804565b7f000000000000000000000000000000000000000000000000000000000000000090612681565b91906127d6565b9350612711847f00000000000000000000000000000000000000000000000000000000000000006106a9565b91505f61273161272989670de0b6b3a7640000613804565b8a90886127d6565b905061275d817f0000000000000000000000000000000000000000000000000000000000000000612681565b9350612789847f00000000000000000000000000000000000000000000000000000000000000006106a9565b61279390846136ef565b915050945094509450949050565b5f8183116127af57816106bd565b5090919050565b5f806127cd846127c78a888a6127d6565b90611476565b9050611dad8884865b5f825f1904841183021582026127ea575f80fd5b50910281810615159190040190565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285b9190613936565b9050805f0361286d575f915050611500565b611935856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d09190613936565b8490836118cf565b5f6106bd83670de0b6b3a7640000846118cf565b5f806128f88484612fc3565b90925090508061290a5761290a6124b1565b5092915050565b5f815f036129285750670de0b6b3a76400006106c0565b825f0361293657505f6106c0565b5f61294083611be9565b90505f61295461294f86611be9565b612ffb565b905081810261296b670de0b6b3a764000082613b3c565b90506125ac81613220565b5f60016001607f1b038211156119675760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806129bc575060016001607f1b0382135b156119675760405163a5353be560e01b815260040160405180910390fd5b5f806129e6845f6133b2565b6129f0845f6133b2565b6129fa919061389e565b90505f811315612a1557612a0e81866136ef565b9450612a33565b5f811215612a3357612a2681613ad1565b612a309086613804565b94505b50929392505050565b6003545f908190612a56906001600160801b031684611476565b9050612a827f0000000000000000000000000000000000000000000000000000000000000000826136ef565b6002546001600160801b03161115611979576002547f000000000000000000000000000000000000000000000000000000000000000090612acd9083906001600160801b0316613804565b6115009190613804565b612adf6135e2565b5f80612aea84612dd8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b249190613aeb565b6040805180830381865af4158015612b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b629190613afa565b9350905082612b7657505f91506117fd9050565b5f612b9c612b978461016001518561014001516106a990919063ffffffff16565b611be9565b612bbc612b9785610120015186610100015161268190919063ffffffff16565b612bc6919061389e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1e9190613b68565b935093509350935080612d3957505f98975050505050505050565b868414612d6a57612d498461193e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d9b57612d7a8361299f565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612dc957612dab8261193e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612de061362c565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ed891166133c0565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f0a929004166133c0565b905292915050565b5f80612f22888888888888613434565b909250905080611dc757611dc76124b1565b5f80612f7d8561145f85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f73818c611476565b61145f9190613804565b9150612fa9827f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050935093915050565b5f80612f228888888888886134f8565b5f805f83612fd086611be9565b612fda919061389e565b90505f811215612ff0575f8092509250506106a2565b946001945092505050565b5f80821361301c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309f9084901c611be9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323957505f919050565b680755bf798b4a1bf1e58212613262576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906125ac74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611be9565b5f8183136127af57816106bd565b5f80670de0b6b3a76400006133d36106c6565b6133dd91906138d8565b90508083116133ec575f6133f6565b6133f68184613804565b915061150061342d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d8565b83906128d8565b5f805f61344489898888886135b4565b905061345e8661192f6134578a8d6136ef565b87906106a9565b985061346b858a866118cf565b985088811015613481575f8092509250506134ed565b888103670de0b6b3a764000081106134b6576134af6134a8670de0b6b3a764000089611476565b8290612911565b90506134ce565b6134cb6134a8670de0b6b3a7640000896128d8565b90505b808910156134e3575f809350935050506134ed565b8803925060019150505b965096945050505050565b5f805f61350889898888886135b4565b90506135188661192f898b6136ef565b97508781101561352e575f8092509250506134ed565b87810361353c8186886127d6565b9050670de0b6b3a76400008110613569576135626134a8670de0b6b3a764000089611476565b9050613581565b61357e6134a8670de0b6b3a7640000896128d8565b90505b61358b8186611476565b9050808a10156135a2575f809350935050506134ed565b90980398600198509650505050505050565b5f6135bf8585612911565b6135d86135d08661192f868b612681565b8590856127d6565b6125ac91906136ef565b6040518061012001604052806135f661362c565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613694575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136bf575f80fd5b8501606081880312156136d0575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c0576106c06136db565b6001600160a01b03811681146105d5575f80fd5b5f60208284031215613726575f80fd5b813561150081613702565b80151581146105d5575f80fd5b5f6020828403121561374e575f80fd5b813561150081613731565b5f808335601e1984360301811261376e575f80fd5b83018035915067ffffffffffffffff821115613788575f80fd5b6020019150368190038213156106a2575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137f760c08301848661379c565b9998505050505050505050565b818103818111156106c0576106c06136db565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61385060e08301848661379c565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561290a5761290a6136db565b6001600160801b0381811683821601908082111561290a5761290a6136db565b8181035f83128015838313168383128216171561290a5761290a6136db565b5f602082840312156138cd575f80fd5b815161150081613702565b80820281158282048414176106c0576106c06136db565b6001600160801b0382811682821603908082111561290a5761290a6136db565b8082018281125f83128015821682158216171561392e5761392e6136db565b505092915050565b5f60208284031215613946575f80fd5b5051919050565b5f6020828403121561395d575f80fd5b815161150081613731565b634e487b7160e01b5f52601260045260245ffd5b5f8261398a5761398a613968565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106c0576106c06136db565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a4d8285516139bc565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ac0575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613ae557613ae56136db565b505f0390565b61018081016106c082846139bc565b5f8060408385031215613b0b575f80fd5b825191506020830151613b1d81613731565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b4a57613b4a613968565b600160ff1b82145f1984141615613b6357613b636136db565b500590565b5f805f8060808587031215613b7b575f80fd5b84519350602085015192506040850151915060608501516136d08161373156fea2646970667358221220059bf0099f9f65942f2b523ba2b81b1e97a86f6165c63f203c3c9fd9eae7251164736f6c63430008160033a26469706673582212207f61c2c41875cea09cc584c35a076ce90c66a4d2a70c82ade54f9037ba1df07264736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts deleted file mode 100644 index 35a3155c8..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts +++ /dev/null @@ -1,809 +0,0 @@ -export declare const EETHTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=EETHTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts.map deleted file mode 100644 index b3613b38f..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget3.d.ts","sourceRoot":"","sources":["../src/EETHTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAs+BwkgC,KAAK,MAAM,EAAE;;;;;;CAM5mgC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3.js b/packages/hyperdrive-artifacts/dist/EETHTarget3.js deleted file mode 100644 index c2219b96b..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3.js +++ /dev/null @@ -1,1005 +0,0 @@ -export const EETHTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004026380380620040268339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b55620004d15f395f818160480152818161199c0152612c8901525f50505f50505f81816112d101526119cc01525f81816103470152818161037601526103a301525f8181610128015281816105e501526116e701525f818161087901528181610964015281816109f401528181610af9015281816115b9015281816116c1015281816121a10152818161220401528181612aad01528181612dc70152612e0301525f8181610188015281816108e901528181610e8f01528181611482015281816114e50152818161152a015261169b01525f611db201525f8181611f07015261305201525f818161104c0152611edb01525f61300801525f81816101ca0152818161093c01528181610eb001528181611452015281816114b50152818161154b015261170d01525f81816101a90152818161027e0152818161031c015281816107240152818161091601528181610f8a0152612a4301525f81816102dc01528181610d5501528181610dcc01528181610e4001528181610f0b0152610f4301525f8181611af60152612caa01525f5050613b555ff3fe608060405260043610610033575f3560e01c8063207deba0146100375780634c2ac1d91461008757806377d05ff4146100a8575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a6100953660046135da565b6100bb565b60405190815260200161007e565b61009a6100b6366004613639565b6100d5565b5f6100c986868686866100eb565b90505b95945050505050565b5f6100e184848461082d565b90505b9392505050565b5f6100f4610bd3565b600654610100900460ff161561011d576040516321081abf60e01b815260040160405180910390fd5b61012682610bfb565b7f00000000000000000000000000000000000000000000000000000000000000008610156101675760405163211ddda360e11b815260040160405180910390fd5b5f6101ee610173610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c58565b9050848110806101fd57508381115b1561021b57604051633b61151160e11b815260040160405180910390fd5b5f806102278986610c7d565b915091505f610234610d4e565b9050610244818360046001610d79565b506002546004546003545f9283926102ad926001600160801b0380841693600f9390930b92600160801b90048116918991166102a86102a37f00000000000000000000000000000000000000000000000000000000000000008b613699565b6113dd565b611423565b91509150806102cf57604051630552b01360e31b815260040160405180910390fd5b8b5f6103406008826103017f0000000000000000000000000000000000000000000000000000000000000000896136ac565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611627565b905061036c7f000000000000000000000000000000000000000000000000000000000000000082613699565b8811806103cb57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cb57506103c87f0000000000000000000000000000000000000000000000000000000000000000826136ac565b88105b156103e957604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610434916001600160801b03909116906136ac565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061046e908390613699565b90505f805f61047c8a611652565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104b690849060040161373d565b602060405180830381865af41580156104d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f5919061374c565b91506105086105038c61178c565b6117b9565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa156916105699185910161373d565b602060405180830381865af4158015610584573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a8919061374c565b9250818310156105cb5760405163184d952160e11b815260040160405180910390fd5b6105e184836105da81876136ac565b91906117df565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106245760405163211ddda360e11b815260040160405180910390fd5b508f610630868e6117fa565b101561064f5760405163c972651760e01b815260040160405180910390fd5b61066b5f8e5f0160208101906106659190613777565b8e61180e565b610674896118b3565b95508561069457604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61074e60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102a87f00000000000000000000000000000000000000000000000000000000000000008c6102a39190613699565b9b5090508a158061076757506107648c5f6118bf565b81125b1561078557604051630552b01360e31b815260040160405180910390fd5b5f881561079c5761079787848b6117df565b61079e565b5f5b90506107ad6020850185613777565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ea60408a0160208b0161379f565b866107f860408c018c6137ba565b60405161080b97969594939291906137fd565b60405180910390a250505050505050505050505050505050506100cc60015f55565b5f610836610bd3565b61083f82610bfb565b60065460ff161561086357604051637983c05160e01b815260040160405180910390fd5b5f8061086f8685610c7d565b909250905061089f7f00000000000000000000000000000000000000000000000000000000000000006002613850565b8210156108bf57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190613867565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a1d84846118d3565b1015610a3c5760405163216f4ab160e21b815260040160405180910390fd5b5f80610a4c858585895f80611423565b91509150801580610a5c57505f82125b15610a7a57604051630552b01360e31b815260040160405180910390fd5b610a83856118f8565b600280546001600160801b0319166001600160801b0392909216919091179055610aac84611921565b600480546001600160801b0319166001600160801b0392909216919091179055610ad5836118f8565b600280546001600160801b03928316600160801b029216919091179055610b1d5f807f000000000000000000000000000000000000000000000000000000000000000061180e565b610b345f610b2e60208c018c613777565b8a61180e565b610b49610b3f610d4e565b8760046001610d79565b508a8a8a610b5a6020820182613777565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b97604087016020880161379f565b87610ba560408901896137ba565b604051610bb897969594939291906137fd565b60405180910390a2505050505050505050506100e460015f55565b60025f5403610bf557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610c096020830183613777565b6001600160a01b031603610c305760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c53916001600160801b0390911690600f0b6118d3565b905090565b5f80610c668787878661195c565b9050610c728185611627565b979650505050505050565b815f80610c90604085016020860161379f565b15610cb557610cab85610ca660408701876137ba565b611972565b9093509050610ccd565b5034610ccd85610cc860408701876137ba565b611abd565b610cd5611b87565b91508015610d45576040515f90339083908381818185875af1925050503d805f8114610d1c576040519150601f19603f3d011682016040523d82523d5f602084013e610d21565b606091505b5050905080610d43576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c53427f0000000000000000000000000000000000000000000000000000000000000000611b99565b5f84815260086020526040812060018101546001600160801b0316151580610da057504286115b15610db957600101546001600160801b031690506113d5565b5f805f610dc4610d4e565b90505f610df17f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b81811015610e65575f818152600860205260409020600101546001600160801b03168015610e3d575f828152600860205260409020549094506001600160801b03169250610e65565b507f000000000000000000000000000000000000000000000000000000000000000001610df4565b835f03610ed757889350610ed4610e7a610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b92505b50610ee1836118f8565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f37610f307f00000000000000000000000000000000000000000000000000000000000000008b6136ac565b8a84611bae565b610f7589610f6f610f687f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611ce7565b84611bae565b610f7e88611cf5565b505f9050600881610faf7f00000000000000000000000000000000000000000000000000000000000000008d6136ac565b815260208101919091526040015f908120600101546001600160801b03169150610fda60028c611e92565b5f818152600b60205260408120549192508c8c831561111b57600192505f8061100686898d865f611ec6565b915091508060095f82825461101b9190613699565b909155506110369050865f846110308161178c565b88611f93565b6110408183613699565b915061107086838a8e877f000000000000000000000000000000000000000000000000000000000000000061210a565b915061108461107f838561214d565b612161565b600680546002906110a59084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110d2826118f8565b600680546010906110f4908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611127600184611e92565b5f818152600b6020526040902054909150801561123257600194505f80611152838b8f886001611ec6565b915091508060095f8282546111679190613699565b909155506111829050835f8461117c8161178c565b8a61218a565b61118c81836136ac565b915061119b61107f838761214d565b600680546002906111bc9084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111e9826118f8565b6006805460109061120b908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561126b5761125d6112448761178c565b61124d8361178c565b61125791906138d2565b5f61237a565b8e61126884826123b9565b50505b5f611275846125a8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134f91906138f1565b90506001600160a01b038116156113c3576113c05a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126ea565b50505b509b9d50505050505050505050505050505b949350505050565b5f611402600b5f6113ef600286611e92565b81526020019081526020015f205461178c565b611413600b5f6113ef600187611e92565b61141d91906138d2565b92915050565b5f805f806114318a8a612772565b9150915080611447575f8093509350505061161c565b5f6114a6838a61147f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8b7f00000000000000000000000000000000000000000000000000000000000000006127aa565b5090505f611509848b846114e27f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8d7f0000000000000000000000000000000000000000000000000000000000000000612863565b509050811580611517575080155b1561152257505f9050805b5f61156f858c7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b905061157d83838c8461291d565b509093505f905061158e848f613699565b90505f6115ae8b8b61159f8761178c565b6115a9908e61390c565b612965565b90508b6115e36115de7f0000000000000000000000000000000000000000000000000000000000000000836129c7565b61178c565b6115ec8361178c565b6115f96115de868561214d565b61160391906138d2565b61160d91906138d2565b60019950995050505050505050505b965096945050505050565b5f6100e461163a84846301e133806129d7565b61164c85670de0b6b3a76400006136ac565b906117fa565b61165a61352b565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161175291166129fa565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611784929004166129fa565b905292915050565b5f6001600160ff1b038211156117b55760405163396ea70160e11b815260040160405180910390fd5b5090565b6117c281612a67565b610c3057604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117f3575f80fd5b5091020490565b5f6100e483670de0b6b3a7640000846117df565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061183f908490613699565b90915550505f838152600b602052604081208054839290611861908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61141d8260046123b9565b5f8183136118cd57826100e4565b50919050565b5f806118df8484612772565b9092509050806118f1576118f1612bfb565b5092915050565b5f6001600160801b038211156117b557604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061193e575060016001607f1b0382135b156117b55760405163a5353be560e01b815260040160405180910390fd5b5f6100cc8261196c8588886117df565b90612c14565b5f8084341015611995576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a4a91906138f1565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a8d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611ab2919061374c565b91505b935093915050565b5f611ac784612c83565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b609190613933565b905080611b80576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f610c53670de0b6b3a7640000612c83565b5f611ba48284613962565b6100e490846136ac565b5f83815260086020526040902054600160801b90046001600160801b0316808303611bd95750505050565b5f848152600860205260408120546001600160801b031690819003611c3157611c01836118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cae565b611c82611c7d670de0b6b3a7640000611c4a88866136ac565b611c549190613850565b85670de0b6b3a7640000611c68878a6136ac565b611c729190613850565b859291906001612ccf565b6118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cb7846118f8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118cd57826100e4565b6006545f908190611d17908490600160801b90046001600160801b031661214d565b6006546201000090046001600160701b03169250905081811115611e8d575f611d4083836136ac565b9050611d4f611c7d8286612d69565b60068054601090611d71908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611da985836117fa90919063ffffffff16565b90505f611dd6827f000000000000000000000000000000000000000000000000000000000000000061214d565b90508060095f828254611de99190613699565b90915550611df9905081836136ac565b9150611e04826118f8565b600280545f90611e1e9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e4b82612d7d565b600480545f90611e5f908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ebb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ed287856117fa565b91505f611eff837f000000000000000000000000000000000000000000000000000000000000000061214d565b9050611f2b817f000000000000000000000000000000000000000000000000000000000000000061214d565b91508315611f4e57611f3d82826136ac565b611f4790846136ac565b9250611f65565b611f5882826136ac565b611f629084613699565b92505b86861015611f8857611f788387896117df565b9250611f858287896117df565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fdb611c7d82611fbf670de0b6b3a764000086613850565b600554600160801b90046001600160801b031691908a5f612ccf565b600580546001600160801b03928316600160801b029216919091179055612001866118f8565b61200b9082613975565b600480546001600160801b03928316600160801b029216919091179055612031846118f8565b600280545f9061204b9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061207883611921565b600480545f9061208c908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506120bc856118f8565b600280546010906120de908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061211b8461164c8a888a6117df565b90506121288884866117df565b6121329082613699565b9050868111156121425786810391505b509695505050505050565b5f6100e48383670de0b6b3a76400006117df565b5f6001600160701b038211156117b55760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806121cc57507f00000000000000000000000000000000000000000000000000000000000000006121ca85836136ac565b105b156121d9576121d9612bfb565b6004549084900390600f0b6121ee84826138d2565b9050836121fa8661178c565b13801561222f57507f000000000000000000000000000000000000000000000000000000000000000061222d83836118d3565b105b1561223c5761223c612bfb565b600354600160801b90046001600160801b031661227d611c7d82612268670de0b6b3a764000088613850565b6005546001600160801b031691908c5f612ccf565b600580546001600160801b0319166001600160801b03929092169190911790556122a788826136ac565b90506122b2816118f8565b600380546001600160801b03928316600160801b0292169190911790556122d8836118f8565b600280546001600160801b0319166001600160801b039290921691909117905561230182611921565b600480546001600160801b0319166001600160801b039290921691909117905561232a876118f8565b6002805460109061234c908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461239590611c7d906001600160801b03168484612965565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612403916001600160801b0316906136ac565b9050805f0361241657600191505061141d565b5f61242085612da6565b9050805f036124345760019250505061141d565b5f80612441838589612e41565b9150915080612456575f94505050505061141d565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124919291906139c2565b6040805180830381865af41580156124ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124cf9190613a37565b915091506124ed6124df8261178c565b6124e890613a59565b612a67565b925082612502575f965050505050505061141d565b61250b826118f8565b600780545f906125259084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612552816118f8565b60078054601090612574908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125cf87611652565b6040518263ffffffff1660e01b81526004016125eb919061373d565b6040805180830381865af4158015612605573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126299190613a73565b915091508061263e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126a391613699565b6126ad91906136ac565b9050805f036126c357505f958695509350505050565b5f8087116126d1575f6126dc565b6126dc8488846117df565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561270d5761270d613aa1565b6040519080825280601f01601f191660200182016040528015612737576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612757578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361277f8661178c565b61278991906138d2565b90505f81121561279f575f809250925050610d47565b946001945092505050565b5f805f6127ba8888888888612fa9565b90505f6127e4670de0b6b3a76400006127d38888612d69565b6127dd9190613699565b83906117fa565b9050670de0b6b3a764000081106128185761281161280a670de0b6b3a7640000896117fa565b8290612c14565b9050612830565b61282d61280a670de0b6b3a764000089612d69565b90505b61283a81866117fa565b905088811015612851575f80935093505050612768565b97909703976001975095505050505050565b5f805f6128738989888888612fd7565b905061288d8661196c6128868a8d613699565b879061214d565b985061289a858a866117df565b9850888110156128b0575f80925092505061161c565b888103670de0b6b3a764000081106128de576128d761280a670de0b6b3a764000089612d69565b90506128f6565b6128f361280a670de0b6b3a7640000896117fa565b90505b8089101561290b575f8093509350505061161c565b90970398600198509650505050505050565b5f805f805f61292d898789612ffb565b909250905061293c82896136ac565b97505f61294a82888a6117df565b9050612956818b6136ac565b9a989950979650505050505050565b5f80612971845f613080565b61297b845f613080565b61298591906138d2565b90505f8113156129a0576129998186613699565b94506129be565b5f8112156129be576129b181613a59565b6129bb90866136ac565b94505b50929392505050565b5f6100e48383670de0b6b3a76400005b5f825f1904841183021582026129eb575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a0d610d4e565b612a179190613850565b9050808311612a26575f612a30565b612a3081846136ac565b91506100e46127dd670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613850565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b419190613ab5565b935093509350935080612b5c57505f98975050505050505050565b868414612b8d57612b6c846118f8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bbe57612b9d83611921565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bec57612bce826118f8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c2b5750670de0b6b3a764000061141d565b825f03612c3957505f61141d565b5f612c438361178c565b90505f612c57612c528661178c565b613095565b9050818102612c6e670de0b6b3a764000082613af3565b9050612c79816132ba565b9695505050505050565b5f61141d7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461344c565b5f825f03612cde5750846100cc565b8115612d3057612d0f612cf18487613699565b612cfb858761214d565b612d05888a61214d565b61164c9190613699565b90505f612d1c8588611ce7565b905080821015612d2a578091505b506100cc565b828503612d3e57505f6100cc565b6100c9612d4b84876136ac565b612d5585876129c7565b612d5f888a61214d565b61164c91906136ac565b5f6100e483670de0b6b3a7640000846129d7565b5f60016001607f1b038211156117b55760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dc0906001600160801b031684612d69565b9050612dec7f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b031611156118cd576002547f000000000000000000000000000000000000000000000000000000000000000090612e379083906001600160801b03166136ac565b6100e491906136ac565b612e49613580565b5f80612e5484611652565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e8e919061373d565b6040805180830381865af4158015612ea8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ecc9190613a73565b9350905082612ee057505f9150611ab59050565b5f612f016115de84610160015185610140015161214d90919063ffffffff16565b612f216115de8561012001518661010001516129c790919063ffffffff16565b612f2b91906138d2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fb48585612c14565b612fcd612fc58661196c868b61214d565b8590856117df565b6100c99190613699565b5f612fe28585612c14565b612fcd612ff38661196c868b6129c7565b8590856129d7565b5f8061304a8561304485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061303a818c612d69565b61304491906136ac565b906129c7565b9150613076827f000000000000000000000000000000000000000000000000000000000000000061214d565b9050935093915050565b5f81831361308e57816100e4565b5090919050565b5f8082136130b65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131399084901c61178c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d357505f919050565b680755bf798b4a1bf1e582126132fc576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c7974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61178c565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561348a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134ae919061374c565b9050805f036134c0575f9150506100e4565b6100cc856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613523919061374c565b8490836117df565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061359461352b565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118cd575f80fd5b5f805f805f60a086880312156135ee575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613620575f80fd5b61362c888289016135ca565b9150509295509295909350565b5f805f6060848603121561364b575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561366f575f80fd5b61367b868287016135ca565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561141d5761141d613685565b8181038181111561141d5761141d613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161141d82846136bf565b5f6020828403121561375c575f80fd5b5051919050565b6001600160a01b0381168114610c30575f80fd5b5f60208284031215613787575f80fd5b81356100e481613763565b8015158114610c30575f80fd5b5f602082840312156137af575f80fd5b81356100e481613792565b5f808335601e198436030181126137cf575f80fd5b83018035915067ffffffffffffffff8211156137e9575f80fd5b602001915036819003821315610d47575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761141d5761141d613685565b5f805f60608486031215613879575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118f1576118f1613685565b6001600160801b038181168382160190808211156118f1576118f1613685565b8181035f8312801583831316838312821617156118f1576118f1613685565b5f60208284031215613901575f80fd5b81516100e481613763565b8082018281125f83128015821682158216171561392b5761392b613685565b505092915050565b5f60208284031215613943575f80fd5b81516100e481613792565b634e487b7160e01b5f52601260045260245ffd5b5f826139705761397061394e565b500690565b6001600160801b038281168282160390808211156118f1576118f1613685565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561141d5761141d613685565b5f6102a0820190506139d58285516136bf565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a48575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6d57613a6d613685565b505f0390565b5f8060408385031215613a84575f80fd5b825191506020830151613a9681613792565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613ac8575f80fd5b8451935060208501519250604085015191506060850151613ae881613792565b939692955090935050565b5f82613b0157613b0161394e565b600160ff1b82145f1984141615613b1a57613b1a613685565b50059056fea26469706673582212204442c3eda2a6f096d77ed7a23fb0bf1e50b232c55d90611835b6ef96e5674e0264736f6c63430008160033', - methodIdentifiers: { - "_liquidityPool()": "207deba0", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts deleted file mode 100644 index 0d6f239f1..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EETHTarget3Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts.map deleted file mode 100644 index 5411aecad..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/EETHTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK06lC,KAAK,MAAM,EAAE;;;;;CAKt9lC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.js deleted file mode 100644 index bc710014b..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget3Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EETHTarget3Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516145db3803806145db83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516145526100895f395f8181603d015260b801526145525ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b614026806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162004026380380620040268339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b55620004d15f395f818160480152818161199c0152612c8901525f50505f50505f81816112d101526119cc01525f81816103470152818161037601526103a301525f8181610128015281816105e501526116e701525f818161087901528181610964015281816109f401528181610af9015281816115b9015281816116c1015281816121a10152818161220401528181612aad01528181612dc70152612e0301525f8181610188015281816108e901528181610e8f01528181611482015281816114e50152818161152a015261169b01525f611db201525f8181611f07015261305201525f818161104c0152611edb01525f61300801525f81816101ca0152818161093c01528181610eb001528181611452015281816114b50152818161154b015261170d01525f81816101a90152818161027e0152818161031c015281816107240152818161091601528181610f8a0152612a4301525f81816102dc01528181610d5501528181610dcc01528181610e4001528181610f0b0152610f4301525f8181611af60152612caa01525f5050613b555ff3fe608060405260043610610033575f3560e01c8063207deba0146100375780634c2ac1d91461008757806377d05ff4146100a8575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a6100953660046135da565b6100bb565b60405190815260200161007e565b61009a6100b6366004613639565b6100d5565b5f6100c986868686866100eb565b90505b95945050505050565b5f6100e184848461082d565b90505b9392505050565b5f6100f4610bd3565b600654610100900460ff161561011d576040516321081abf60e01b815260040160405180910390fd5b61012682610bfb565b7f00000000000000000000000000000000000000000000000000000000000000008610156101675760405163211ddda360e11b815260040160405180910390fd5b5f6101ee610173610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c58565b9050848110806101fd57508381115b1561021b57604051633b61151160e11b815260040160405180910390fd5b5f806102278986610c7d565b915091505f610234610d4e565b9050610244818360046001610d79565b506002546004546003545f9283926102ad926001600160801b0380841693600f9390930b92600160801b90048116918991166102a86102a37f00000000000000000000000000000000000000000000000000000000000000008b613699565b6113dd565b611423565b91509150806102cf57604051630552b01360e31b815260040160405180910390fd5b8b5f6103406008826103017f0000000000000000000000000000000000000000000000000000000000000000896136ac565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611627565b905061036c7f000000000000000000000000000000000000000000000000000000000000000082613699565b8811806103cb57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cb57506103c87f0000000000000000000000000000000000000000000000000000000000000000826136ac565b88105b156103e957604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610434916001600160801b03909116906136ac565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061046e908390613699565b90505f805f61047c8a611652565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104b690849060040161373d565b602060405180830381865af41580156104d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f5919061374c565b91506105086105038c61178c565b6117b9565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa156916105699185910161373d565b602060405180830381865af4158015610584573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a8919061374c565b9250818310156105cb5760405163184d952160e11b815260040160405180910390fd5b6105e184836105da81876136ac565b91906117df565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106245760405163211ddda360e11b815260040160405180910390fd5b508f610630868e6117fa565b101561064f5760405163c972651760e01b815260040160405180910390fd5b61066b5f8e5f0160208101906106659190613777565b8e61180e565b610674896118b3565b95508561069457604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61074e60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102a87f00000000000000000000000000000000000000000000000000000000000000008c6102a39190613699565b9b5090508a158061076757506107648c5f6118bf565b81125b1561078557604051630552b01360e31b815260040160405180910390fd5b5f881561079c5761079787848b6117df565b61079e565b5f5b90506107ad6020850185613777565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ea60408a0160208b0161379f565b866107f860408c018c6137ba565b60405161080b97969594939291906137fd565b60405180910390a250505050505050505050505050505050506100cc60015f55565b5f610836610bd3565b61083f82610bfb565b60065460ff161561086357604051637983c05160e01b815260040160405180910390fd5b5f8061086f8685610c7d565b909250905061089f7f00000000000000000000000000000000000000000000000000000000000000006002613850565b8210156108bf57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190613867565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a1d84846118d3565b1015610a3c5760405163216f4ab160e21b815260040160405180910390fd5b5f80610a4c858585895f80611423565b91509150801580610a5c57505f82125b15610a7a57604051630552b01360e31b815260040160405180910390fd5b610a83856118f8565b600280546001600160801b0319166001600160801b0392909216919091179055610aac84611921565b600480546001600160801b0319166001600160801b0392909216919091179055610ad5836118f8565b600280546001600160801b03928316600160801b029216919091179055610b1d5f807f000000000000000000000000000000000000000000000000000000000000000061180e565b610b345f610b2e60208c018c613777565b8a61180e565b610b49610b3f610d4e565b8760046001610d79565b508a8a8a610b5a6020820182613777565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b97604087016020880161379f565b87610ba560408901896137ba565b604051610bb897969594939291906137fd565b60405180910390a2505050505050505050506100e460015f55565b60025f5403610bf557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610c096020830183613777565b6001600160a01b031603610c305760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c53916001600160801b0390911690600f0b6118d3565b905090565b5f80610c668787878661195c565b9050610c728185611627565b979650505050505050565b815f80610c90604085016020860161379f565b15610cb557610cab85610ca660408701876137ba565b611972565b9093509050610ccd565b5034610ccd85610cc860408701876137ba565b611abd565b610cd5611b87565b91508015610d45576040515f90339083908381818185875af1925050503d805f8114610d1c576040519150601f19603f3d011682016040523d82523d5f602084013e610d21565b606091505b5050905080610d43576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c53427f0000000000000000000000000000000000000000000000000000000000000000611b99565b5f84815260086020526040812060018101546001600160801b0316151580610da057504286115b15610db957600101546001600160801b031690506113d5565b5f805f610dc4610d4e565b90505f610df17f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b81811015610e65575f818152600860205260409020600101546001600160801b03168015610e3d575f828152600860205260409020549094506001600160801b03169250610e65565b507f000000000000000000000000000000000000000000000000000000000000000001610df4565b835f03610ed757889350610ed4610e7a610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b92505b50610ee1836118f8565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f37610f307f00000000000000000000000000000000000000000000000000000000000000008b6136ac565b8a84611bae565b610f7589610f6f610f687f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611ce7565b84611bae565b610f7e88611cf5565b505f9050600881610faf7f00000000000000000000000000000000000000000000000000000000000000008d6136ac565b815260208101919091526040015f908120600101546001600160801b03169150610fda60028c611e92565b5f818152600b60205260408120549192508c8c831561111b57600192505f8061100686898d865f611ec6565b915091508060095f82825461101b9190613699565b909155506110369050865f846110308161178c565b88611f93565b6110408183613699565b915061107086838a8e877f000000000000000000000000000000000000000000000000000000000000000061210a565b915061108461107f838561214d565b612161565b600680546002906110a59084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110d2826118f8565b600680546010906110f4908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611127600184611e92565b5f818152600b6020526040902054909150801561123257600194505f80611152838b8f886001611ec6565b915091508060095f8282546111679190613699565b909155506111829050835f8461117c8161178c565b8a61218a565b61118c81836136ac565b915061119b61107f838761214d565b600680546002906111bc9084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111e9826118f8565b6006805460109061120b908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561126b5761125d6112448761178c565b61124d8361178c565b61125791906138d2565b5f61237a565b8e61126884826123b9565b50505b5f611275846125a8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134f91906138f1565b90506001600160a01b038116156113c3576113c05a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126ea565b50505b509b9d50505050505050505050505050505b949350505050565b5f611402600b5f6113ef600286611e92565b81526020019081526020015f205461178c565b611413600b5f6113ef600187611e92565b61141d91906138d2565b92915050565b5f805f806114318a8a612772565b9150915080611447575f8093509350505061161c565b5f6114a6838a61147f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8b7f00000000000000000000000000000000000000000000000000000000000000006127aa565b5090505f611509848b846114e27f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8d7f0000000000000000000000000000000000000000000000000000000000000000612863565b509050811580611517575080155b1561152257505f9050805b5f61156f858c7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b905061157d83838c8461291d565b509093505f905061158e848f613699565b90505f6115ae8b8b61159f8761178c565b6115a9908e61390c565b612965565b90508b6115e36115de7f0000000000000000000000000000000000000000000000000000000000000000836129c7565b61178c565b6115ec8361178c565b6115f96115de868561214d565b61160391906138d2565b61160d91906138d2565b60019950995050505050505050505b965096945050505050565b5f6100e461163a84846301e133806129d7565b61164c85670de0b6b3a76400006136ac565b906117fa565b61165a61352b565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161175291166129fa565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611784929004166129fa565b905292915050565b5f6001600160ff1b038211156117b55760405163396ea70160e11b815260040160405180910390fd5b5090565b6117c281612a67565b610c3057604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117f3575f80fd5b5091020490565b5f6100e483670de0b6b3a7640000846117df565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061183f908490613699565b90915550505f838152600b602052604081208054839290611861908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61141d8260046123b9565b5f8183136118cd57826100e4565b50919050565b5f806118df8484612772565b9092509050806118f1576118f1612bfb565b5092915050565b5f6001600160801b038211156117b557604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061193e575060016001607f1b0382135b156117b55760405163a5353be560e01b815260040160405180910390fd5b5f6100cc8261196c8588886117df565b90612c14565b5f8084341015611995576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a4a91906138f1565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a8d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611ab2919061374c565b91505b935093915050565b5f611ac784612c83565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b609190613933565b905080611b80576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f610c53670de0b6b3a7640000612c83565b5f611ba48284613962565b6100e490846136ac565b5f83815260086020526040902054600160801b90046001600160801b0316808303611bd95750505050565b5f848152600860205260408120546001600160801b031690819003611c3157611c01836118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cae565b611c82611c7d670de0b6b3a7640000611c4a88866136ac565b611c549190613850565b85670de0b6b3a7640000611c68878a6136ac565b611c729190613850565b859291906001612ccf565b6118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cb7846118f8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118cd57826100e4565b6006545f908190611d17908490600160801b90046001600160801b031661214d565b6006546201000090046001600160701b03169250905081811115611e8d575f611d4083836136ac565b9050611d4f611c7d8286612d69565b60068054601090611d71908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611da985836117fa90919063ffffffff16565b90505f611dd6827f000000000000000000000000000000000000000000000000000000000000000061214d565b90508060095f828254611de99190613699565b90915550611df9905081836136ac565b9150611e04826118f8565b600280545f90611e1e9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e4b82612d7d565b600480545f90611e5f908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ebb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ed287856117fa565b91505f611eff837f000000000000000000000000000000000000000000000000000000000000000061214d565b9050611f2b817f000000000000000000000000000000000000000000000000000000000000000061214d565b91508315611f4e57611f3d82826136ac565b611f4790846136ac565b9250611f65565b611f5882826136ac565b611f629084613699565b92505b86861015611f8857611f788387896117df565b9250611f858287896117df565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fdb611c7d82611fbf670de0b6b3a764000086613850565b600554600160801b90046001600160801b031691908a5f612ccf565b600580546001600160801b03928316600160801b029216919091179055612001866118f8565b61200b9082613975565b600480546001600160801b03928316600160801b029216919091179055612031846118f8565b600280545f9061204b9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061207883611921565b600480545f9061208c908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506120bc856118f8565b600280546010906120de908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061211b8461164c8a888a6117df565b90506121288884866117df565b6121329082613699565b9050868111156121425786810391505b509695505050505050565b5f6100e48383670de0b6b3a76400006117df565b5f6001600160701b038211156117b55760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806121cc57507f00000000000000000000000000000000000000000000000000000000000000006121ca85836136ac565b105b156121d9576121d9612bfb565b6004549084900390600f0b6121ee84826138d2565b9050836121fa8661178c565b13801561222f57507f000000000000000000000000000000000000000000000000000000000000000061222d83836118d3565b105b1561223c5761223c612bfb565b600354600160801b90046001600160801b031661227d611c7d82612268670de0b6b3a764000088613850565b6005546001600160801b031691908c5f612ccf565b600580546001600160801b0319166001600160801b03929092169190911790556122a788826136ac565b90506122b2816118f8565b600380546001600160801b03928316600160801b0292169190911790556122d8836118f8565b600280546001600160801b0319166001600160801b039290921691909117905561230182611921565b600480546001600160801b0319166001600160801b039290921691909117905561232a876118f8565b6002805460109061234c908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461239590611c7d906001600160801b03168484612965565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612403916001600160801b0316906136ac565b9050805f0361241657600191505061141d565b5f61242085612da6565b9050805f036124345760019250505061141d565b5f80612441838589612e41565b9150915080612456575f94505050505061141d565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124919291906139c2565b6040805180830381865af41580156124ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124cf9190613a37565b915091506124ed6124df8261178c565b6124e890613a59565b612a67565b925082612502575f965050505050505061141d565b61250b826118f8565b600780545f906125259084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612552816118f8565b60078054601090612574908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125cf87611652565b6040518263ffffffff1660e01b81526004016125eb919061373d565b6040805180830381865af4158015612605573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126299190613a73565b915091508061263e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126a391613699565b6126ad91906136ac565b9050805f036126c357505f958695509350505050565b5f8087116126d1575f6126dc565b6126dc8488846117df565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561270d5761270d613aa1565b6040519080825280601f01601f191660200182016040528015612737576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612757578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361277f8661178c565b61278991906138d2565b90505f81121561279f575f809250925050610d47565b946001945092505050565b5f805f6127ba8888888888612fa9565b90505f6127e4670de0b6b3a76400006127d38888612d69565b6127dd9190613699565b83906117fa565b9050670de0b6b3a764000081106128185761281161280a670de0b6b3a7640000896117fa565b8290612c14565b9050612830565b61282d61280a670de0b6b3a764000089612d69565b90505b61283a81866117fa565b905088811015612851575f80935093505050612768565b97909703976001975095505050505050565b5f805f6128738989888888612fd7565b905061288d8661196c6128868a8d613699565b879061214d565b985061289a858a866117df565b9850888110156128b0575f80925092505061161c565b888103670de0b6b3a764000081106128de576128d761280a670de0b6b3a764000089612d69565b90506128f6565b6128f361280a670de0b6b3a7640000896117fa565b90505b8089101561290b575f8093509350505061161c565b90970398600198509650505050505050565b5f805f805f61292d898789612ffb565b909250905061293c82896136ac565b97505f61294a82888a6117df565b9050612956818b6136ac565b9a989950979650505050505050565b5f80612971845f613080565b61297b845f613080565b61298591906138d2565b90505f8113156129a0576129998186613699565b94506129be565b5f8112156129be576129b181613a59565b6129bb90866136ac565b94505b50929392505050565b5f6100e48383670de0b6b3a76400005b5f825f1904841183021582026129eb575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a0d610d4e565b612a179190613850565b9050808311612a26575f612a30565b612a3081846136ac565b91506100e46127dd670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613850565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b419190613ab5565b935093509350935080612b5c57505f98975050505050505050565b868414612b8d57612b6c846118f8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bbe57612b9d83611921565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bec57612bce826118f8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c2b5750670de0b6b3a764000061141d565b825f03612c3957505f61141d565b5f612c438361178c565b90505f612c57612c528661178c565b613095565b9050818102612c6e670de0b6b3a764000082613af3565b9050612c79816132ba565b9695505050505050565b5f61141d7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461344c565b5f825f03612cde5750846100cc565b8115612d3057612d0f612cf18487613699565b612cfb858761214d565b612d05888a61214d565b61164c9190613699565b90505f612d1c8588611ce7565b905080821015612d2a578091505b506100cc565b828503612d3e57505f6100cc565b6100c9612d4b84876136ac565b612d5585876129c7565b612d5f888a61214d565b61164c91906136ac565b5f6100e483670de0b6b3a7640000846129d7565b5f60016001607f1b038211156117b55760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dc0906001600160801b031684612d69565b9050612dec7f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b031611156118cd576002547f000000000000000000000000000000000000000000000000000000000000000090612e379083906001600160801b03166136ac565b6100e491906136ac565b612e49613580565b5f80612e5484611652565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e8e919061373d565b6040805180830381865af4158015612ea8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ecc9190613a73565b9350905082612ee057505f9150611ab59050565b5f612f016115de84610160015185610140015161214d90919063ffffffff16565b612f216115de8561012001518661010001516129c790919063ffffffff16565b612f2b91906138d2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fb48585612c14565b612fcd612fc58661196c868b61214d565b8590856117df565b6100c99190613699565b5f612fe28585612c14565b612fcd612ff38661196c868b6129c7565b8590856129d7565b5f8061304a8561304485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061303a818c612d69565b61304491906136ac565b906129c7565b9150613076827f000000000000000000000000000000000000000000000000000000000000000061214d565b9050935093915050565b5f81831361308e57816100e4565b5090919050565b5f8082136130b65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131399084901c61178c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d357505f919050565b680755bf798b4a1bf1e582126132fc576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c7974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61178c565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561348a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134ae919061374c565b9050805f036134c0575f9150506100e4565b6100cc856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613523919061374c565b8490836117df565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061359461352b565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118cd575f80fd5b5f805f805f60a086880312156135ee575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613620575f80fd5b61362c888289016135ca565b9150509295509295909350565b5f805f6060848603121561364b575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561366f575f80fd5b61367b868287016135ca565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561141d5761141d613685565b8181038181111561141d5761141d613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161141d82846136bf565b5f6020828403121561375c575f80fd5b5051919050565b6001600160a01b0381168114610c30575f80fd5b5f60208284031215613787575f80fd5b81356100e481613763565b8015158114610c30575f80fd5b5f602082840312156137af575f80fd5b81356100e481613792565b5f808335601e198436030181126137cf575f80fd5b83018035915067ffffffffffffffff8211156137e9575f80fd5b602001915036819003821315610d47575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761141d5761141d613685565b5f805f60608486031215613879575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118f1576118f1613685565b6001600160801b038181168382160190808211156118f1576118f1613685565b8181035f8312801583831316838312821617156118f1576118f1613685565b5f60208284031215613901575f80fd5b81516100e481613763565b8082018281125f83128015821682158216171561392b5761392b613685565b505092915050565b5f60208284031215613943575f80fd5b81516100e481613792565b634e487b7160e01b5f52601260045260245ffd5b5f826139705761397061394e565b500690565b6001600160801b038281168282160390808211156118f1576118f1613685565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561141d5761141d613685565b5f6102a0820190506139d58285516136bf565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a48575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6d57613a6d613685565b505f0390565b5f8060408385031215613a84575f80fd5b825191506020830151613a9681613792565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613ac8575f80fd5b8451935060208501519250604085015191506060850151613ae881613792565b939692955090935050565b5f82613b0157613b0161394e565b600160ff1b82145f1984141615613b1a57613b1a613685565b50059056fea26469706673582212204442c3eda2a6f096d77ed7a23fb0bf1e50b232c55d90611835b6ef96e5674e0264736f6c63430008160033a2646970667358221220b76d00495249c7f4e4c99e5eb276d120a5b898bcacb6a2520890e6a2e82c1a1364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts deleted file mode 100644 index d05b70b2b..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts +++ /dev/null @@ -1,800 +0,0 @@ -export declare const EETHTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "_liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_liquidityPool()": "207deba0"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=EETHTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts.map deleted file mode 100644 index 32b401e08..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget4.d.ts","sourceRoot":"","sources":["../src/EETHTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA09B40zB,KAAK,MAAM,EAAE;;;;;;;CAOh3zB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4.js b/packages/hyperdrive-artifacts/dist/EETHTarget4.js deleted file mode 100644 index 44d3a1e47..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4.js +++ /dev/null @@ -1,994 +0,0 @@ -export const EETHTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620033a8380380620033a88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f85620004235f395f81816080015281816110d4015261232901525f50505f50505f6109dd01525f50505f81816102aa0152611f6a01525f81816117ca0152818161182d01528181611b5a01528181611b9601528181611d870152611f4401525f818161059b0152611f1e01525f6113ac01525f61150101525f818161075801526114d501525f50505f81816105bc0152611f9001525f818161069601526124bc01525f818161022d01528181610461015281816104d80152818161054c01528181610617015261064f01525f81816110f50152818161234a01526123be01525f5050612f855ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c8063074a6de91461004e578063207deba01461007b578063414f826d146100ba578063cbc13434146100cf575b5f80fd5b61006161005c366004612a40565b6100e2565b604080519283526020830191909152015b60405180910390f35b6100a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610072565b6100cd6100c8366004612a92565b6100fc565b005b6100616100dd366004612a40565b61010a565b5f806100ef858585610117565b915091505b935093915050565b61010682826101d9565b5050565b5f806100ef858585610295565b5f806101216103e3565b61012a8361040b565b5f610133610443565b905061014a61014061045a565b8260046001610485565b506101583387838888610ae9565b909350915061016a6020850185612ac6565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101a860408b0160208c01612aee565b6101b560408c018c612b09565b6040516101c796959493929190612b74565b60405180910390a3506100f460015f55565b6101e16103e3565b5f6101ea610443565b5f848152600860205260409020600101549091506001600160801b03161561021d576102168183610c28565b505061028c565b5f61022661045a565b90506102527f000000000000000000000000000000000000000000000000000000000000000085612bc1565b15158061025e57508381105b1561027c5760405163ecd29e8160e01b815260040160405180910390fd5b6102888483855f610485565b5050505b61010660015f55565b5f8061029f6103e3565b6102a88361040b565b7f00000000000000000000000000000000000000000000000000000000000000008510156102e95760405163211ddda360e11b815260040160405180910390fd5b5f6102f2610443565b90506102ff61014061045a565b5061030b5f3388610e18565b610326600360f81b6103206020870187612ac6565b88610eef565b5f6103406103376020870187612ac6565b88848989610ae9565b909450905061034f8188612be8565b92505f61035b83610f8c565b50905061036b6020870187612ac6565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103a960408d0160208e01612aee565b8a888e80604001906103bb9190612b09565b6040516103cf989796959493929190612bfb565b60405180910390a35050506100f460015f55565b60025f540361040557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104196020830183612ac6565b6001600160a01b0316036104405760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610455670de0b6b3a76400006110ce565b905090565b5f610455427f000000000000000000000000000000000000000000000000000000000000000061111a565b5f84815260086020526040812060018101546001600160801b03161515806104ac57504286115b156104c557600101546001600160801b03169050610ae1565b5f805f6104d061045a565b90505f6104fd7f00000000000000000000000000000000000000000000000000000000000000008b612c42565b90505b81811015610571575f818152600860205260409020600101546001600160801b03168015610549575f828152600860205260409020549094506001600160801b03169250610571565b507f000000000000000000000000000000000000000000000000000000000000000001610500565b835f036105e3578893506105e0610586611136565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611156565b92505b506105ed83611175565b6001850180546001600160801b0319166001600160801b039290921691909117905561064361063c7f00000000000000000000000000000000000000000000000000000000000000008b612be8565b8a846111a2565b6106818961067b6106747f000000000000000000000000000000000000000000000000000000000000000083612c42565b42906112db565b846111a2565b61068a886112ef565b505f90506008816106bb7f00000000000000000000000000000000000000000000000000000000000000008d612be8565b815260208101919091526040015f908120600101546001600160801b031691506106e660028c61148c565b5f818152600b60205260408120549192508c8c831561082757600192505f8061071286898d865f6114c0565b915091508060095f8282546107279190612c42565b909155506107429050865f8461073c8161158d565b886115b6565b61074c8183612c42565b915061077c86838a8e877f000000000000000000000000000000000000000000000000000000000000000061172d565b915061079061078b8385611776565b61178a565b600680546002906107b19084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107de82611175565b60068054601090610800908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61083360018461148c565b5f818152600b6020526040902054909150801561093e57600194505f8061085e838b8f8860016114c0565b915091508060095f8282546108739190612c42565b9091555061088e9050835f846108888161158d565b8a6117b3565b6108988183612be8565b91506108a761078b8387611776565b600680546002906108c89084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108f582611175565b60068054601090610917908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610977576109696109508761158d565b6109598361158d565b6109639190612c95565b5f6119a3565b8e6109748482610c28565b50505b5f61098184610f8c565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5b9190612cb4565b90506001600160a01b03811615610acf57610acc5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119e2565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610af485611a68565b505060075485906001600160801b031680821115610b1957806001600160801b031691505b815f03610b2c575f809250925050610c1e565b610b3b600360f81b8984610e18565b6007545f90610b609084906001600160801b03600160801b9091048116908516611a74565b9050610b6b83611175565b610b759083612ccf565b600780546001600160801b0319166001600160801b0392909216919091179055610b9e81611175565b60078054601090610bc0908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610bef818887611a8f565b9350610bfb8684611b25565b841015610c1b5760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c72916001600160801b031690612be8565b9050805f03610c85576001915050610e12565b5f610c8f85611b39565b9050805f03610ca357600192505050610e12565b5f80610cb0838589611bd4565b9150915080610cc5575f945050505050610e12565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d00929190612d6d565b6040805180830381865af4158015610d1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3e9190612de2565b91509150610d5c610d4e8261158d565b610d5790612e04565b611d41565b925082610d71575f9650505050505050610e12565b610d7a82611175565b600780545f90610d949084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610dc181611175565b60078054601090610de3908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e5a57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e9c908490612be8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f20908490612c42565b90915550505f838152600b602052604081208054839290610f42908490612c42565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610ee2565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fb387611ed5565b6040518263ffffffff1660e01b8152600401610fcf9190612e1e565b6040805180830381865af4158015610fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100d9190612e2d565b915091508061102257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161108791612c42565b6110919190612be8565b9050805f036110a757505f958695509350505050565b5f8087116110b5575f6110c0565b6110c0848884611a74565b976001975095505050505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461200f565b5f6111258284612bc1565b61112f9084612be8565b9392505050565b6002546004545f91610455916001600160801b0390911690600f0b6120ee565b5f61116c82611166858888611a74565b90612113565b95945050505050565b5f6001600160801b0382111561119e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111cd5750505050565b5f848152600860205260408120546001600160801b031690819003611225576111f583611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112a2565b611276611271670de0b6b3a764000061123e8886612be8565b6112489190612e5b565b85670de0b6b3a764000061125c878a612be8565b6112669190612e5b565b859291906001612182565b611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112ab84611175565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112e9578261112f565b50919050565b6006545f908190611311908490600160801b90046001600160801b0316611776565b6006546201000090046001600160701b03169250905081811115611487575f61133a8383612be8565b9050611349611271828661221c565b6006805460109061136b908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113a3858361223090919063ffffffff16565b90505f6113d0827f0000000000000000000000000000000000000000000000000000000000000000611776565b90508060095f8282546113e39190612c42565b909155506113f390508183612be8565b91506113fe82611175565b600280545f906114189084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061144582612244565b600480545f90611459908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114b55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114cc8785612230565b91505f6114f9837f0000000000000000000000000000000000000000000000000000000000000000611776565b9050611525817f0000000000000000000000000000000000000000000000000000000000000000611776565b91508315611548576115378282612be8565b6115419084612be8565b925061155f565b6115528282612be8565b61155c9084612c42565b92505b8686101561158257611572838789611a74565b925061157f828789611a74565b91505b509550959350505050565b5f6001600160ff1b0382111561119e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115fe611271826115e2670de0b6b3a764000086612e5b565b600554600160801b90046001600160801b031691908a5f612182565b600580546001600160801b03928316600160801b02921691909117905561162486611175565b61162e9082612ccf565b600480546001600160801b03928316600160801b02921691909117905561165484611175565b600280545f9061166e9084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061169b8361226d565b600480545f906116af908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116df85611175565b60028054601090611701908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117448461173e8a888a611a74565b90612230565b9050611751888486611a74565b61175b9082612c42565b90508681111561176b5786810391505b509695505050505050565b5f61112f8383670de0b6b3a7640000611a74565b5f6001600160701b0382111561119e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117f557507f00000000000000000000000000000000000000000000000000000000000000006117f38583612be8565b105b15611802576118026122a8565b6004549084900390600f0b6118178482612c95565b9050836118238661158d565b13801561185857507f000000000000000000000000000000000000000000000000000000000000000061185683836120ee565b105b15611865576118656122a8565b600354600160801b90046001600160801b03166118a661127182611891670de0b6b3a764000088612e5b565b6005546001600160801b031691908c5f612182565b600580546001600160801b0319166001600160801b03929092169190911790556118d08882612be8565b90506118db81611175565b600380546001600160801b03928316600160801b02921691909117905561190183611175565b600280546001600160801b0319166001600160801b039290921691909117905561192a8261226d565b600480546001600160801b0319166001600160801b039290921691909117905561195387611175565b60028054601090611975908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119be90611271906001600160801b031684846122c1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a0557611a05612e9f565b6040519080825280601f01601f191660200182016040528015611a2f576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a4f578692505b828152825f602083013e90999098509650505050505050565b5f610e12826004610c28565b5f825f190484118302158202611a88575f80fd5b5091020490565b5f80611a9b8585611776565b9050611aa681612323565b9450845f03611ab8575f91505061112f565b849150611acb6040840160208501612aee565b15611afa57611af385611ae16020860186612ac6565b611aee6040870187612b09565b61236f565b9150611b1d565b611b1d85611b0b6020860186612ac6565b611b186040870187612b09565b612389565b509392505050565b5f61112f8383670de0b6b3a7640000612450565b6003545f908190611b53906001600160801b03168461221c565b9050611b7f7f000000000000000000000000000000000000000000000000000000000000000082612c42565b6002546001600160801b031611156112e9576002547f000000000000000000000000000000000000000000000000000000000000000090611bca9083906001600160801b0316612be8565b61112f9190612be8565b611bdc6129a1565b5f80611be784611ed5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c219190612e1e565b6040805180830381865af4158015611c3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5f9190612e2d565b9350905082611c7357505f91506100f49050565b5f611c99611c9484610160015185610140015161177690919063ffffffff16565b61158d565b611cb9611c94856101200151866101000151611b2590919063ffffffff16565b611cc39190612c95565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611df7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1b9190612eb3565b935093509350935080611e3657505f98975050505050505050565b868414611e6757611e4684611175565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e9857611e778361226d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ec657611ea882611175565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611edd6129eb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fd59116612473565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261200792900416612473565b905292915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120719190612ef1565b9050805f03612083575f91505061112f565b61116c856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e69190612ef1565b849083611a74565b5f806120fa84846124e7565b90925090508061210c5761210c6122a8565b5092915050565b5f815f0361212a5750670de0b6b3a7640000610e12565b825f0361213857505f610e12565b5f6121428361158d565b90505f6121566121518661158d565b612522565b905081810261216d670de0b6b3a764000082612f08565b905061217881612747565b9695505050505050565b5f825f0361219157508461116c565b81156121e3576121c26121a48487612c42565b6121ae8587611776565b6121b8888a611776565b61173e9190612c42565b90505f6121cf85886112db565b9050808210156121dd578091505b5061116c565b8285036121f157505f61116c565b6121786121fe8487612be8565b6122088587611b25565b612212888a611776565b61173e9190612be8565b5f61112f83670de0b6b3a764000084612450565b5f61112f83670de0b6b3a764000084611a74565b5f60016001607f1b0382111561119e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061228a575060016001607f1b0382135b1561119e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806122cd845f6128d9565b6122d7845f6128d9565b6122e19190612c95565b90505f8113156122fc576122f58186612c42565b945061231a565b5f81121561231a5761230d81612e04565b6123179086612be8565b94505b50929392505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ee565b5f60405163350b944160e11b815260040160405180910390fd5b5f612393856110ce565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190612f34565b905080612448576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202612464575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061248661045a565b6124909190612e5b565b905080831161249f575f6124a9565b6124a98184612be8565b915061112f6124e0670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e5b565b8390612230565b5f805f836124f48661158d565b6124fe9190612c95565b90505f811215612514575f80925092505061251b565b9150600190505b9250929050565b5f8082136125435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c69084901c61158d565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361276057505f919050565b680755bf798b4a1bf1e58212612789576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061217874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61158d565b5f8183136128e7578161112f565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561292c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129509190612ef1565b9050805f03612962575f91505061112f565b61116c846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b6040518061012001604052806129b56129eb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a52575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a76575f80fd5b840160608187031215612a87575f80fd5b809150509250925092565b5f8060408385031215612aa3575f80fd5b50508035926020909101359150565b6001600160a01b0381168114610440575f80fd5b5f60208284031215612ad6575f80fd5b813561112f81612ab2565b8015158114610440575f80fd5b5f60208284031215612afe575f80fd5b813561112f81612ae1565b5f808335601e19843603018112612b1e575f80fd5b83018035915067ffffffffffffffff821115612b38575f80fd5b60200191503681900382131561251b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ba160a083018486612b4c565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bcf57612bcf612bad565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e1257610e12612bd4565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c3460e083018486612b4c565b9a9950505050505050505050565b80820180821115610e1257610e12612bd4565b6001600160701b0381811683821601908082111561210c5761210c612bd4565b6001600160801b0381811683821601908082111561210c5761210c612bd4565b8181035f83128015838313168383128216171561210c5761210c612bd4565b5f60208284031215612cc4575f80fd5b815161112f81612ab2565b6001600160801b0382811682821603908082111561210c5761210c612bd4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d80828551612cef565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612df3575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e1857612e18612bd4565b505f0390565b6101808101610e128284612cef565b5f8060408385031215612e3e575f80fd5b825191506020830151612e5081612ae1565b809150509250929050565b8082028115828204841417610e1257610e12612bd4565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e1257610e12612bd4565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ec6575f80fd5b8451935060208501519250604085015191506060850151612ee681612ae1565b939692955090935050565b5f60208284031215612f01575f80fd5b5051919050565b5f82612f1657612f16612bad565b600160ff1b82145f1984141615612f2f57612f2f612bd4565b500590565b5f60208284031215612f44575f80fd5b815161112f81612ae156fea26469706673582212209e9db331913f1dd6fb168cb5030c609ae43e200ef2d9b0b169ea046ca21ea35464736f6c63430008160033', - methodIdentifiers: { - "_liquidityPool()": "207deba0", - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts deleted file mode 100644 index c6e083449..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EETHTarget4Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILiquidityPool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "liquidityPool()": "665a11ca"; - }; -}; -//# sourceMappingURL=EETHTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts.map deleted file mode 100644 index 3b2cdd82b..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EETHTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/EETHTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK8q5B,KAAK,MAAM,EAAE;;;;;CAK1t5B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.js deleted file mode 100644 index b7aa8751d..000000000 --- a/packages/hyperdrive-artifacts/dist/EETHTarget4Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EETHTarget4Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILiquidityPool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161395d38038061395d83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516138d46100895f395f8181603d015260b801526138d45ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6133a8806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620033a8380380620033a88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f85620004235f395f81816080015281816110d4015261232901525f50505f50505f6109dd01525f50505f81816102aa0152611f6a01525f81816117ca0152818161182d01528181611b5a01528181611b9601528181611d870152611f4401525f818161059b0152611f1e01525f6113ac01525f61150101525f818161075801526114d501525f50505f81816105bc0152611f9001525f818161069601526124bc01525f818161022d01528181610461015281816104d80152818161054c01528181610617015261064f01525f81816110f50152818161234a01526123be01525f5050612f855ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c8063074a6de91461004e578063207deba01461007b578063414f826d146100ba578063cbc13434146100cf575b5f80fd5b61006161005c366004612a40565b6100e2565b604080519283526020830191909152015b60405180910390f35b6100a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610072565b6100cd6100c8366004612a92565b6100fc565b005b6100616100dd366004612a40565b61010a565b5f806100ef858585610117565b915091505b935093915050565b61010682826101d9565b5050565b5f806100ef858585610295565b5f806101216103e3565b61012a8361040b565b5f610133610443565b905061014a61014061045a565b8260046001610485565b506101583387838888610ae9565b909350915061016a6020850185612ac6565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101a860408b0160208c01612aee565b6101b560408c018c612b09565b6040516101c796959493929190612b74565b60405180910390a3506100f460015f55565b6101e16103e3565b5f6101ea610443565b5f848152600860205260409020600101549091506001600160801b03161561021d576102168183610c28565b505061028c565b5f61022661045a565b90506102527f000000000000000000000000000000000000000000000000000000000000000085612bc1565b15158061025e57508381105b1561027c5760405163ecd29e8160e01b815260040160405180910390fd5b6102888483855f610485565b5050505b61010660015f55565b5f8061029f6103e3565b6102a88361040b565b7f00000000000000000000000000000000000000000000000000000000000000008510156102e95760405163211ddda360e11b815260040160405180910390fd5b5f6102f2610443565b90506102ff61014061045a565b5061030b5f3388610e18565b610326600360f81b6103206020870187612ac6565b88610eef565b5f6103406103376020870187612ac6565b88848989610ae9565b909450905061034f8188612be8565b92505f61035b83610f8c565b50905061036b6020870187612ac6565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103a960408d0160208e01612aee565b8a888e80604001906103bb9190612b09565b6040516103cf989796959493929190612bfb565b60405180910390a35050506100f460015f55565b60025f540361040557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104196020830183612ac6565b6001600160a01b0316036104405760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610455670de0b6b3a76400006110ce565b905090565b5f610455427f000000000000000000000000000000000000000000000000000000000000000061111a565b5f84815260086020526040812060018101546001600160801b03161515806104ac57504286115b156104c557600101546001600160801b03169050610ae1565b5f805f6104d061045a565b90505f6104fd7f00000000000000000000000000000000000000000000000000000000000000008b612c42565b90505b81811015610571575f818152600860205260409020600101546001600160801b03168015610549575f828152600860205260409020549094506001600160801b03169250610571565b507f000000000000000000000000000000000000000000000000000000000000000001610500565b835f036105e3578893506105e0610586611136565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611156565b92505b506105ed83611175565b6001850180546001600160801b0319166001600160801b039290921691909117905561064361063c7f00000000000000000000000000000000000000000000000000000000000000008b612be8565b8a846111a2565b6106818961067b6106747f000000000000000000000000000000000000000000000000000000000000000083612c42565b42906112db565b846111a2565b61068a886112ef565b505f90506008816106bb7f00000000000000000000000000000000000000000000000000000000000000008d612be8565b815260208101919091526040015f908120600101546001600160801b031691506106e660028c61148c565b5f818152600b60205260408120549192508c8c831561082757600192505f8061071286898d865f6114c0565b915091508060095f8282546107279190612c42565b909155506107429050865f8461073c8161158d565b886115b6565b61074c8183612c42565b915061077c86838a8e877f000000000000000000000000000000000000000000000000000000000000000061172d565b915061079061078b8385611776565b61178a565b600680546002906107b19084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107de82611175565b60068054601090610800908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61083360018461148c565b5f818152600b6020526040902054909150801561093e57600194505f8061085e838b8f8860016114c0565b915091508060095f8282546108739190612c42565b9091555061088e9050835f846108888161158d565b8a6117b3565b6108988183612be8565b91506108a761078b8387611776565b600680546002906108c89084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108f582611175565b60068054601090610917908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610977576109696109508761158d565b6109598361158d565b6109639190612c95565b5f6119a3565b8e6109748482610c28565b50505b5f61098184610f8c565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5b9190612cb4565b90506001600160a01b03811615610acf57610acc5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119e2565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610af485611a68565b505060075485906001600160801b031680821115610b1957806001600160801b031691505b815f03610b2c575f809250925050610c1e565b610b3b600360f81b8984610e18565b6007545f90610b609084906001600160801b03600160801b9091048116908516611a74565b9050610b6b83611175565b610b759083612ccf565b600780546001600160801b0319166001600160801b0392909216919091179055610b9e81611175565b60078054601090610bc0908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610bef818887611a8f565b9350610bfb8684611b25565b841015610c1b5760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c72916001600160801b031690612be8565b9050805f03610c85576001915050610e12565b5f610c8f85611b39565b9050805f03610ca357600192505050610e12565b5f80610cb0838589611bd4565b9150915080610cc5575f945050505050610e12565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d00929190612d6d565b6040805180830381865af4158015610d1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3e9190612de2565b91509150610d5c610d4e8261158d565b610d5790612e04565b611d41565b925082610d71575f9650505050505050610e12565b610d7a82611175565b600780545f90610d949084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610dc181611175565b60078054601090610de3908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e5a57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e9c908490612be8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f20908490612c42565b90915550505f838152600b602052604081208054839290610f42908490612c42565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610ee2565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fb387611ed5565b6040518263ffffffff1660e01b8152600401610fcf9190612e1e565b6040805180830381865af4158015610fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100d9190612e2d565b915091508061102257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161108791612c42565b6110919190612be8565b9050805f036110a757505f958695509350505050565b5f8087116110b5575f6110c0565b6110c0848884611a74565b976001975095505050505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461200f565b5f6111258284612bc1565b61112f9084612be8565b9392505050565b6002546004545f91610455916001600160801b0390911690600f0b6120ee565b5f61116c82611166858888611a74565b90612113565b95945050505050565b5f6001600160801b0382111561119e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111cd5750505050565b5f848152600860205260408120546001600160801b031690819003611225576111f583611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112a2565b611276611271670de0b6b3a764000061123e8886612be8565b6112489190612e5b565b85670de0b6b3a764000061125c878a612be8565b6112669190612e5b565b859291906001612182565b611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112ab84611175565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112e9578261112f565b50919050565b6006545f908190611311908490600160801b90046001600160801b0316611776565b6006546201000090046001600160701b03169250905081811115611487575f61133a8383612be8565b9050611349611271828661221c565b6006805460109061136b908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113a3858361223090919063ffffffff16565b90505f6113d0827f0000000000000000000000000000000000000000000000000000000000000000611776565b90508060095f8282546113e39190612c42565b909155506113f390508183612be8565b91506113fe82611175565b600280545f906114189084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061144582612244565b600480545f90611459908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114b55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114cc8785612230565b91505f6114f9837f0000000000000000000000000000000000000000000000000000000000000000611776565b9050611525817f0000000000000000000000000000000000000000000000000000000000000000611776565b91508315611548576115378282612be8565b6115419084612be8565b925061155f565b6115528282612be8565b61155c9084612c42565b92505b8686101561158257611572838789611a74565b925061157f828789611a74565b91505b509550959350505050565b5f6001600160ff1b0382111561119e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115fe611271826115e2670de0b6b3a764000086612e5b565b600554600160801b90046001600160801b031691908a5f612182565b600580546001600160801b03928316600160801b02921691909117905561162486611175565b61162e9082612ccf565b600480546001600160801b03928316600160801b02921691909117905561165484611175565b600280545f9061166e9084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061169b8361226d565b600480545f906116af908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116df85611175565b60028054601090611701908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117448461173e8a888a611a74565b90612230565b9050611751888486611a74565b61175b9082612c42565b90508681111561176b5786810391505b509695505050505050565b5f61112f8383670de0b6b3a7640000611a74565b5f6001600160701b0382111561119e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117f557507f00000000000000000000000000000000000000000000000000000000000000006117f38583612be8565b105b15611802576118026122a8565b6004549084900390600f0b6118178482612c95565b9050836118238661158d565b13801561185857507f000000000000000000000000000000000000000000000000000000000000000061185683836120ee565b105b15611865576118656122a8565b600354600160801b90046001600160801b03166118a661127182611891670de0b6b3a764000088612e5b565b6005546001600160801b031691908c5f612182565b600580546001600160801b0319166001600160801b03929092169190911790556118d08882612be8565b90506118db81611175565b600380546001600160801b03928316600160801b02921691909117905561190183611175565b600280546001600160801b0319166001600160801b039290921691909117905561192a8261226d565b600480546001600160801b0319166001600160801b039290921691909117905561195387611175565b60028054601090611975908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119be90611271906001600160801b031684846122c1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a0557611a05612e9f565b6040519080825280601f01601f191660200182016040528015611a2f576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a4f578692505b828152825f602083013e90999098509650505050505050565b5f610e12826004610c28565b5f825f190484118302158202611a88575f80fd5b5091020490565b5f80611a9b8585611776565b9050611aa681612323565b9450845f03611ab8575f91505061112f565b849150611acb6040840160208501612aee565b15611afa57611af385611ae16020860186612ac6565b611aee6040870187612b09565b61236f565b9150611b1d565b611b1d85611b0b6020860186612ac6565b611b186040870187612b09565b612389565b509392505050565b5f61112f8383670de0b6b3a7640000612450565b6003545f908190611b53906001600160801b03168461221c565b9050611b7f7f000000000000000000000000000000000000000000000000000000000000000082612c42565b6002546001600160801b031611156112e9576002547f000000000000000000000000000000000000000000000000000000000000000090611bca9083906001600160801b0316612be8565b61112f9190612be8565b611bdc6129a1565b5f80611be784611ed5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c219190612e1e565b6040805180830381865af4158015611c3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5f9190612e2d565b9350905082611c7357505f91506100f49050565b5f611c99611c9484610160015185610140015161177690919063ffffffff16565b61158d565b611cb9611c94856101200151866101000151611b2590919063ffffffff16565b611cc39190612c95565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611df7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1b9190612eb3565b935093509350935080611e3657505f98975050505050505050565b868414611e6757611e4684611175565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e9857611e778361226d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ec657611ea882611175565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611edd6129eb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fd59116612473565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261200792900416612473565b905292915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120719190612ef1565b9050805f03612083575f91505061112f565b61116c856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e69190612ef1565b849083611a74565b5f806120fa84846124e7565b90925090508061210c5761210c6122a8565b5092915050565b5f815f0361212a5750670de0b6b3a7640000610e12565b825f0361213857505f610e12565b5f6121428361158d565b90505f6121566121518661158d565b612522565b905081810261216d670de0b6b3a764000082612f08565b905061217881612747565b9695505050505050565b5f825f0361219157508461116c565b81156121e3576121c26121a48487612c42565b6121ae8587611776565b6121b8888a611776565b61173e9190612c42565b90505f6121cf85886112db565b9050808210156121dd578091505b5061116c565b8285036121f157505f61116c565b6121786121fe8487612be8565b6122088587611b25565b612212888a611776565b61173e9190612be8565b5f61112f83670de0b6b3a764000084612450565b5f61112f83670de0b6b3a764000084611a74565b5f60016001607f1b0382111561119e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061228a575060016001607f1b0382135b1561119e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806122cd845f6128d9565b6122d7845f6128d9565b6122e19190612c95565b90505f8113156122fc576122f58186612c42565b945061231a565b5f81121561231a5761230d81612e04565b6123179086612be8565b94505b50929392505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ee565b5f60405163350b944160e11b815260040160405180910390fd5b5f612393856110ce565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190612f34565b905080612448576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202612464575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061248661045a565b6124909190612e5b565b905080831161249f575f6124a9565b6124a98184612be8565b915061112f6124e0670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e5b565b8390612230565b5f805f836124f48661158d565b6124fe9190612c95565b90505f811215612514575f80925092505061251b565b9150600190505b9250929050565b5f8082136125435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c69084901c61158d565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361276057505f919050565b680755bf798b4a1bf1e58212612789576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061217874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61158d565b5f8183136128e7578161112f565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561292c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129509190612ef1565b9050805f03612962575f91505061112f565b61116c846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b6040518061012001604052806129b56129eb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a52575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a76575f80fd5b840160608187031215612a87575f80fd5b809150509250925092565b5f8060408385031215612aa3575f80fd5b50508035926020909101359150565b6001600160a01b0381168114610440575f80fd5b5f60208284031215612ad6575f80fd5b813561112f81612ab2565b8015158114610440575f80fd5b5f60208284031215612afe575f80fd5b813561112f81612ae1565b5f808335601e19843603018112612b1e575f80fd5b83018035915067ffffffffffffffff821115612b38575f80fd5b60200191503681900382131561251b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ba160a083018486612b4c565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bcf57612bcf612bad565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e1257610e12612bd4565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c3460e083018486612b4c565b9a9950505050505050505050565b80820180821115610e1257610e12612bd4565b6001600160701b0381811683821601908082111561210c5761210c612bd4565b6001600160801b0381811683821601908082111561210c5761210c612bd4565b8181035f83128015838313168383128216171561210c5761210c612bd4565b5f60208284031215612cc4575f80fd5b815161112f81612ab2565b6001600160801b0382811682821603908082111561210c5761210c612bd4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d80828551612cef565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612df3575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e1857612e18612bd4565b505f0390565b6101808101610e128284612cef565b5f8060408385031215612e3e575f80fd5b825191506020830151612e5081612ae1565b809150509250929050565b8082028115828204841417610e1257610e12612bd4565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e1257610e12612bd4565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ec6575f80fd5b8451935060208501519250604085015191506060850151612ee681612ae1565b939692955090935050565b5f60208284031215612f01575f80fd5b5051919050565b5f82612f1657612f16612bad565b600160ff1b82145f1984141615612f2f57612f2f612bd4565b500590565b5f60208284031215612f44575f80fd5b815161112f81612ae156fea26469706673582212209e9db331913f1dd6fb168cb5030c609ae43e200ef2d9b0b169ea046ca21ea35464736f6c63430008160033a2646970667358221220031583c44c74a3841c7428e01c807d25c70e43634d2d0e5b0f45bc1e9b5e4f9964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "liquidityPool()": "665a11ca" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts b/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts deleted file mode 100644 index e6647ab74..000000000 --- a/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -export declare const EModeLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "UserEModeSet"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "categoryId"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeSetUserEMode(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => uint8) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSetUserEModeParams)": "5d5dc313"; - }; -}; -//# sourceMappingURL=EModeLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts.map deleted file mode 100644 index 6c4dc1ff5..000000000 --- a/packages/hyperdrive-artifacts/dist/EModeLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EModeLogic.d.ts","sourceRoot":"","sources":["../src/EModeLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;cAsBuhQ,KAAK,MAAM,EAAE;;;;CAI1jQ,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EModeLogic.js b/packages/hyperdrive-artifacts/dist/EModeLogic.js deleted file mode 100644 index 13702f2b1..000000000 --- a/packages/hyperdrive-artifacts/dist/EModeLogic.js +++ /dev/null @@ -1,27 +0,0 @@ -export const EModeLogic = { - abi: [ - { - "type": "event", - "name": "UserEModeSet", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "categoryId", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - } - ], - bytecode: '0x610fd8610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610034575f3560e01c80635d5dc31314610038575b5f80fd5b818015610043575f80fd5b50610057610052366004610df4565b610059565b005b604080516020810182528354815282519183015161007d9289928992899290610121565b335f908152602084905260409081902080549183015160ff90811660ff198416179091551680156100da576100d7878787866040518060200160405290815f82015481525050338760400151885f0151896020015161023e565b50505b604080830151905160ff909116815233907fd728da875fc88944cbf17638bcbe4af0eedaef63becd1d1c57cc097eb4608d849060200160405180910390a250505050505050565b60ff8116158061014b575060ff81165f9081526020859052604090205462010000900461ffff1615155b6040518060400160405280600281526020016106a760f31b8152509061018d5760405162461bcd60e51b81526004016101849190610ebb565b60405180910390fd5b508251156102365760ff811615610236575f5b82811015610234576101b284826102e8565b1561022c575f81815260208781526040808320546001600160a01b03168352898252918290208251918201909252905480825260ff8481169160a81c16146040518060400160405280600281526020016106a760f31b815250906102295760405162461bcd60e51b81526004016101849190610ebb565b50505b6001016101a0565b505b505050505050565b5f805f806102898c8c8c6040518060a001604052808e81526020018b81526020018d6001600160a01b031681526020018a6001600160a01b031681526020018c60ff1681525061033b565b9550955050505050670de0b6b3a764000082101560405180604001604052806002815260200161333560f01b815250906102d65760405162461bcd60e51b81526004016101849190610ebb565b50909b909a5098505050505050505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106103245760405162461bcd60e51b81526004016101849190610ebb565b50508151600182811b9190911c1615155b92915050565b5f805f805f8061034d875f0151511590565b1561036957505f94508493508392508291505f199050816107f0565b6103f86040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff161561043c57608088015160ff165f90815260208a905260409020606089015161042991906107fd565b6101808401526101c08301526101a08201525b87602001518160c0015110156107155760c0810151885161045c916108a6565b6104705760c081018051600101905261043c565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526104a85760c081018051600101905261043c565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906105305750816101e00151896080015160ff16145b6105ac57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015610583573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a79190610f07565b6105b3565b8161018001515b825260a0820151158015906105d3575060c082015189516105d3916108f5565b156106c2576105ef896040015182845f01518560200151610943565b6040830181905261010083018051610608908390610f32565b90525060808901516101e08301516106239160ff16906109f8565b151561024083015260808201511561067957816102400151610649578160800151610650565b816101a001515b826040015161065f9190610f45565b82610140018181516106719190610f32565b905250610682565b60016102208301525b816102400151610696578160a0015161069d565b816101c001515b82604001516106ac9190610f45565b82610160018181516106be9190610f32565b9052505b60c082015189516106d2916102e8565b15610704576106ee896040015182845f01518560200151610a0e565b82610120018181516107009190610f32565b9052505b5060c081018051600101905261043c565b8061010001515f03610727575f610742565b8061010001518161014001518161074057610740610f5c565b045b6101408201526101008101515f0361075a575f610775565b8061010001518161016001518161077357610773610f5c565b045b610160820152610120810151156107b7576107b28161012001516107ac836101600151846101000151610b3d90919063ffffffff16565b90610b61565b6107ba565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b81545f90819081908190660100000000000090046001600160a01b0316801561088b5760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa158015610864573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108889190610f07565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106108e25760405162461bcd60e51b81526004016101849190610ebb565b5050905160019190911b1c600316151590565b6040805180820190915260028152610dcd60f21b60208201525f90608083106109315760405162461bcd60e51b81526004016101849190610ebb565b50509051600191821b82011c16151590565b5f8061094e85610b96565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f9287926109d1928692911690631da24f3e90602401602060405180830381865afa1580156109a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cb9190610f07565b90610bec565b6109db9190610f45565b90508381816109ec576109ec610f5c565b04979650505050505050565b5f8215801590610a0757508282145b9392505050565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa158015610a5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7f9190610f07565b90508015610a9d57610a9a610a9386610c2e565b8290610bec565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa158015610ae7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0b9190610f07565b610b159082610f32565b9050610b218185610f45565b9050828181610b3257610b32610f5c565b049695505050505050565b5f81156113881983900484111517610b53575f80fd5b506127109102611388010490565b5f8115670de0b6b3a764000060028404190484111715610b7f575f80fd5b50670de0b6b3a76400009190910260028204010490565b60038101545f90600160801b900464ffffffffff16428103610bc4575050600101546001600160801b031690565b6001830154610a07906001600160801b03808216916109cb91600160801b9091041684610c84565b5f81156b019d971e4fe8401e740000001983900484111517610c0c575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b60038101545f90600160801b900464ffffffffff16428103610c5c575050600201546001600160801b031690565b6002830154610a07906001600160801b03808216916109cb91600160801b9091041684610cc8565b5f80610c9764ffffffffff841642610f70565b610ca19085610f45565b6301e1338090049050610cc0816b033b2e3c9fd0803ce8000000610f32565b949350505050565b5f610a078383425f80610ce264ffffffffff851684610f70565b9050805f03610d00576b033b2e3c9fd0803ce8000000915050610a07565b5f1981015f808060028511610d15575f610d1a565b600285035b925066038882915c4000610d2e8a80610bec565b81610d3b57610d3b610f5c565b0491506301e13380610d4d838b610bec565b81610d5a57610d5a610f5c565b0490505f82610d698688610f45565b610d739190610f45565b6002900490505f8285610d86888a610f45565b610d909190610f45565b610d9a9190610f45565b60069004905080826301e13380610db18a8f610f45565b610dbb9190610f83565b610dd1906b033b2e3c9fd0803ce8000000610f32565b610ddb9190610f32565b610de59190610f32565b9b9a5050505050505050505050565b5f805f805f80868803610100811215610e0b575f80fd5b873596506020880135955060408801359450606080890135945060808901359350609f1982011215610e3b575f80fd5b506040516060810181811067ffffffffffffffff82111715610e6b57634e487b7160e01b5f52604160045260245ffd5b60405260a0880135815260c08801356001600160a01b0381168114610e8e575f80fd5b602082015260e088013560ff81168114610ea6575f80fd5b80604083015250809150509295509295509295565b5f602080835283518060208501525f5b81811015610ee757858101830151858201604001528201610ecb565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215610f17575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561033557610335610f1e565b808202811582820484141761033557610335610f1e565b634e487b7160e01b5f52601260045260245ffd5b8181038181111561033557610335610f1e565b5f82610f9d57634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212205fedc852856008db381a4b471a87bb15242fc3a860ea279677529381f57b359c64736f6c63430008160033', - methodIdentifiers: { - "executeSetUserEMode(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => uint8) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSetUserEModeParams)": "5d5dc313" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC20.d.ts b/packages/hyperdrive-artifacts/dist/ERC20.d.ts deleted file mode 100644 index 781ba2f55..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20.d.ts +++ /dev/null @@ -1,247 +0,0 @@ -export declare const ERC20: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=ERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC20.d.ts.map deleted file mode 100644 index 5df2c699f..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC20.d.ts","sourceRoot":"","sources":["../src/ERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4SE,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;CAehC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20.js b/packages/hyperdrive-artifacts/dist/ERC20.js deleted file mode 100644 index b4cae2fb1..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20.js +++ /dev/null @@ -1,316 +0,0 @@ -export const ERC20 = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts b/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts deleted file mode 100644 index 6a93fe17a..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts +++ /dev/null @@ -1,318 +0,0 @@ -export declare const ERC20Forwarder: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "token"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenId"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "source"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "symbol()": "95d89b41"; - readonly "token()": "fc0c546a"; - readonly "tokenId()": "17d70f7c"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ERC20Forwarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts.map deleted file mode 100644 index cfba3a1ca..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC20Forwarder.d.ts","sourceRoot":"","sources":["../src/ERC20Forwarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiYiiR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBxkR,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.js b/packages/hyperdrive-artifacts/dist/ERC20Forwarder.js deleted file mode 100644 index 6a89e6239..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Forwarder.js +++ /dev/null @@ -1,406 +0,0 @@ -export const ERC20Forwarder = { - abi: [ - { - "type": "constructor", - "inputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "token", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMultiToken" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenId", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "source", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - } - ], - bytecode: '0x60c060405234801561000f575f80fd5b50604080516330075a5d60e11b815281513392839263600eb4ba92600480830193928290030181865afa158015610048573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061006c9190610081565b60a0526001600160a01b0316608052506100b8565b5f8060408385031215610092575f80fd5b82516001600160a01b03811681146100a8575f80fd5b6020939093015192949293505050565b60805160a051610fb661015e5f395f818161017d015281816102ee0152818161039e015281816104960152818161053e0152818161064a015281816106fc0152818161076b01528181610a250152610bc401525f81816102a601528181610317015281816103e3015281816104be0152818161058b0152818161068201528181610725015281816107ba01528181610a6201528181610b3d0152610c020152610fb65ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806354fd4d501161009e578063a9059cbb1161006e578063a9059cbb1461025e578063d505accf14610271578063dd62ed3e14610286578063f698da2514610299578063fc0c546a146102a1575f80fd5b806354fd4d50146101fe57806370a08231146102245780637ecebe001461023757806395d89b4114610256575f80fd5b806318160ddd116100d957806318160ddd146101ad57806323b872dd146101b557806330adf81f146101c8578063313ce567146101ef575f80fd5b806304baa00b1461010a57806306fdde031461014d578063095ea7b31461015557806317d70f7c14610178575b5f80fd5b6101376040518060400160405280600e81526020016d22a92199182337b93bb0b93232b960911b81525081565b6040516101449190610d22565b60405180910390f35b6101376102e0565b610168610163366004610d6f565b61038f565b6040519015158152602001610144565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610144565b61019f610487565b6101686101c3366004610d97565b61052f565b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610144565b61013760405180604001604052806007815260200166076312e302e32360cc1b81525081565b61019f610232366004610dd0565b61063b565b61019f610245366004610dd0565b5f6020819052908152604090205481565b6101376106ed565b61016861026c366004610d6f565b61075c565b61028461027f366004610df0565b610850565b005b61019f610294366004610e5d565b610b14565b61019f610c72565b6102c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610144565b604051622b600360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062ad800c906024015b5f60405180830381865afa158015610363573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261038a9190810190610ea2565b905090565b6040516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b038381166024830152604482018390523360648301525f917f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610426575f80fd5b505af1158015610438573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906020015b60405180910390a35060015b92915050565b60405163bd85b03960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bd85b03990602401602060405180830381865afa15801561050b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038a9190610f4a565b604051633912022f60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0384811660248301528381166044830152606482018390523360848301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156105ce575f80fd5b505af11580156105e0573d5f803e3d5ffd5b50505050826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161062991815260200190565b60405180910390a35060019392505050565b604051631b2b776160e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0382811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690633656eec290604401602060405180830381865afa1580156106c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104819190610f4a565b604051634e41a1fb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634e41a1fb90602401610349565b604051633912022f60e21b81527f0000000000000000000000000000000000000000000000000000000000000000600482015233602482018190526001600160a01b0384811660448401526064830184905260848301919091525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156107fd575f80fd5b505af115801561080f573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610475565b834211156108715760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166108985760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b0387165f90815260208190526040812054906108b9610c72565b604080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810184905260c0810188905260e0016040516020818303038152906040528051906020012060405160200161095292919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f80855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa1580156109ba573d5f803e3d5ffd5b505050602060405103519050896001600160a01b0316816001600160a01b0316146109f857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b03808b165f8181526020819052604090819020600187019055516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201528b83166024820152604481018b905260648101919091527f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610aa5575f80fd5b505af1158015610ab7573d5f803e3d5ffd5b50505050886001600160a01b03168a6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258a604051610b0091815260200190565b60405180910390a350505050505050505050565b60405163e985e9c560e01b81526001600160a01b03838116600483015282811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e985e9c590604401602060405180830381865afa158015610b84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba89190610f61565b15610bb557505f19610481565b6040516321ff32a960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b03848116602483015283811660448301527f000000000000000000000000000000000000000000000000000000000000000016906321ff32a990606401602060405180830381865afa158015610c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6b9190610f4a565b9050610481565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b5f5b83811015610d1a578181015183820152602001610d02565b50505f910152565b602081525f8251806020840152610d40816040850160208701610d00565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610d6a575f80fd5b919050565b5f8060408385031215610d80575f80fd5b610d8983610d54565b946020939093013593505050565b5f805f60608486031215610da9575f80fd5b610db284610d54565b9250610dc060208501610d54565b9150604084013590509250925092565b5f60208284031215610de0575f80fd5b610de982610d54565b9392505050565b5f805f805f805f60e0888a031215610e06575f80fd5b610e0f88610d54565b9650610e1d60208901610d54565b95506040880135945060608801359350608088013560ff81168114610e40575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610e6e575f80fd5b610e7783610d54565b9150610e8560208401610d54565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610eb2575f80fd5b815167ffffffffffffffff80821115610ec9575f80fd5b818401915084601f830112610edc575f80fd5b815181811115610eee57610eee610e8e565b604051601f8201601f19908116603f01168101908382118183101715610f1657610f16610e8e565b81604052828152876020848701011115610f2e575f80fd5b610f3f836020830160208801610d00565b979650505050505050565b5f60208284031215610f5a575f80fd5b5051919050565b5f60208284031215610f71575f80fd5b81518015158114610de9575f80fdfea26469706673582212200d9ff63d4b9e6f153a8da56e582ec74e539c3879a5e3c4f8f56c9f90c231510f64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "kind()": "04baa00b", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "token()": "fc0c546a", - "tokenId()": "17d70f7c", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts b/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts deleted file mode 100644 index 6e36ded6a..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC20ForwarderFactory: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "ERC20LINK_HASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "create"; - readonly inputs: readonly [{ - readonly name: "__token"; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: "__tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20Forwarder"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getDeployDetails"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getForwarder"; - readonly inputs: readonly [{ - readonly name: "__token"; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: "__tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "error"; - readonly name: "InvalidForwarderAddress"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ERC20LINK_HASH()": "d13053bb"; - readonly "create(address,uint256)": "0ecaea73"; - readonly "getDeployDetails()": "600eb4ba"; - readonly "getForwarder(address,uint256)": "0710fd58"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ERC20ForwarderFactory.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts.map deleted file mode 100644 index 6ec591c79..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC20ForwarderFactory.d.ts","sourceRoot":"","sources":["../src/ERC20ForwarderFactory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyI8sY,KAAK,MAAM,EAAE;;;;;;;;;;CAU5vY,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.js b/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.js deleted file mode 100644 index b60b208b8..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20ForwarderFactory.js +++ /dev/null @@ -1,148 +0,0 @@ -export const ERC20ForwarderFactory = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "ERC20LINK_HASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "create", - "inputs": [ - { - "name": "__token", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "__tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20Forwarder" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getDeployDetails", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getForwarder", - "inputs": [ - { - "name": "__token", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "__tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "error", - "name": "InvalidForwarderAddress", - "inputs": [] - } - ], - bytecode: '0x6080604052600180546001600160a01b03191681178155600255348015610024575f80fd5b5060405161186e38038061186e83398101604081905261004391610069565b5f61004e82826101af565b505061026e565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561007a575f80fd5b82516001600160401b0380821115610090575f80fd5b818501915085601f8301126100a3575f80fd5b8151818111156100b5576100b5610055565b604051601f8201601f19908116603f011681019083821181831017156100dd576100dd610055565b8160405282815288868487010111156100f4575f80fd5b5f93505b8284101561011557848401860151818501870152928501926100f8565b5f86848301015280965050505050505092915050565b600181811c9082168061013f57607f821691505b60208210810361015d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101aa57805f5260205f20601f840160051c810160208510156101885750805b601f840160051c820191505b818110156101a7575f8155600101610194565b50505b505050565b81516001600160401b038111156101c8576101c8610055565b6101dc816101d6845461012b565b84610163565b602080601f83116001811461020f575f84156101f85750858301515b5f19600386901b1c1916600185901b178555610266565b5f85815260208120601f198616915b8281101561023d5788860151825594840194600190910190840161021e565b508582101561025a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6115f38061027b5f395ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c80630ecaea73116100585780630ecaea73146100fb57806354fd4d501461010e578063600eb4ba14610134578063d13053bb1461016a575f80fd5b806304baa00b1461007e57806306fdde03146100c85780630710fd58146100d0575b5f80fd5b6100b2604051806040016040528060158152602001744552433230466f72776172646572466163746f727960581b81525081565b6040516100bf91906103f0565b60405180910390f35b6100b2610180565b6100e36100de36600461043c565b61020b565b6040516001600160a01b0390911681526020016100bf565b6100e361010936600461043c565b6102de565b6100b260405180604001604052806007815260200166076312e302e32360cc1b81525081565b61014b6001546002546001600160a01b0390911691565b604080516001600160a01b0390931683526020830191909152016100bf565b6101726103b6565b6040519081526020016100bf565b5f805461018c90610471565b80601f01602080910402602001604051908101604052809291908181526020018280546101b890610471565b80156102035780601f106101da57610100808354040283529160200191610203565b820191905f5260205f20905b8154815290600101906020018083116101e657829003601f168201915b505050505081565b604080516001600160a01b03841660208201529081018290525f9081906060016040516020818303038152906040528051906020012090505f60ff60f81b30836040518060200161025b906103e3565b6020820181038252601f19601f82011660405250805190602001206040516020016102bd94939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051808303601f19018152919052805160209091012095945050505050565b6002819055600180546001600160a01b0319166001600160a01b03841690811790915560408051602081019290925281018290525f9081906060016040516020818303038152906040528051906020012090505f8160405161033f906103e3565b8190604051809103905ff590508015801561035c573d5f803e3d5ffd5b509050610369858561020b565b6001600160a01b0316816001600160a01b0316146103995760405162e0775560e61b815260040160405180910390fd5b600180546001600160a01b03191681178155600255949350505050565b6040516103c5602082016103e3565b6020820181038252601f19601f820116604052508051906020012081565b611114806104aa83390190565b5f602080835283518060208501525f5b8181101561041c57858101830151858201604001528201610400565b505f604082860101526040601f19601f8301168501019250505092915050565b5f806040838503121561044d575f80fd5b82356001600160a01b0381168114610463575f80fd5b946020939093013593505050565b600181811c9082168061048557607f821691505b6020821081036104a357634e487b7160e01b5f52602260045260245ffd5b5091905056fe60c060405234801561000f575f80fd5b50604080516330075a5d60e11b815281513392839263600eb4ba92600480830193928290030181865afa158015610048573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061006c9190610081565b60a0526001600160a01b0316608052506100b8565b5f8060408385031215610092575f80fd5b82516001600160a01b03811681146100a8575f80fd5b6020939093015192949293505050565b60805160a051610fb661015e5f395f818161017d015281816102ee0152818161039e015281816104960152818161053e0152818161064a015281816106fc0152818161076b01528181610a250152610bc401525f81816102a601528181610317015281816103e3015281816104be0152818161058b0152818161068201528181610725015281816107ba01528181610a6201528181610b3d0152610c020152610fb65ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806354fd4d501161009e578063a9059cbb1161006e578063a9059cbb1461025e578063d505accf14610271578063dd62ed3e14610286578063f698da2514610299578063fc0c546a146102a1575f80fd5b806354fd4d50146101fe57806370a08231146102245780637ecebe001461023757806395d89b4114610256575f80fd5b806318160ddd116100d957806318160ddd146101ad57806323b872dd146101b557806330adf81f146101c8578063313ce567146101ef575f80fd5b806304baa00b1461010a57806306fdde031461014d578063095ea7b31461015557806317d70f7c14610178575b5f80fd5b6101376040518060400160405280600e81526020016d22a92199182337b93bb0b93232b960911b81525081565b6040516101449190610d22565b60405180910390f35b6101376102e0565b610168610163366004610d6f565b61038f565b6040519015158152602001610144565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610144565b61019f610487565b6101686101c3366004610d97565b61052f565b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610144565b61013760405180604001604052806007815260200166076312e302e32360cc1b81525081565b61019f610232366004610dd0565b61063b565b61019f610245366004610dd0565b5f6020819052908152604090205481565b6101376106ed565b61016861026c366004610d6f565b61075c565b61028461027f366004610df0565b610850565b005b61019f610294366004610e5d565b610b14565b61019f610c72565b6102c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610144565b604051622b600360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062ad800c906024015b5f60405180830381865afa158015610363573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261038a9190810190610ea2565b905090565b6040516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b038381166024830152604482018390523360648301525f917f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610426575f80fd5b505af1158015610438573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906020015b60405180910390a35060015b92915050565b60405163bd85b03960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bd85b03990602401602060405180830381865afa15801561050b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038a9190610f4a565b604051633912022f60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0384811660248301528381166044830152606482018390523360848301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156105ce575f80fd5b505af11580156105e0573d5f803e3d5ffd5b50505050826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161062991815260200190565b60405180910390a35060019392505050565b604051631b2b776160e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0382811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690633656eec290604401602060405180830381865afa1580156106c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104819190610f4a565b604051634e41a1fb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634e41a1fb90602401610349565b604051633912022f60e21b81527f0000000000000000000000000000000000000000000000000000000000000000600482015233602482018190526001600160a01b0384811660448401526064830184905260848301919091525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156107fd575f80fd5b505af115801561080f573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610475565b834211156108715760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166108985760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b0387165f90815260208190526040812054906108b9610c72565b604080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810184905260c0810188905260e0016040516020818303038152906040528051906020012060405160200161095292919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f80855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa1580156109ba573d5f803e3d5ffd5b505050602060405103519050896001600160a01b0316816001600160a01b0316146109f857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b03808b165f8181526020819052604090819020600187019055516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201528b83166024820152604481018b905260648101919091527f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610aa5575f80fd5b505af1158015610ab7573d5f803e3d5ffd5b50505050886001600160a01b03168a6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258a604051610b0091815260200190565b60405180910390a350505050505050505050565b60405163e985e9c560e01b81526001600160a01b03838116600483015282811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e985e9c590604401602060405180830381865afa158015610b84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba89190610f61565b15610bb557505f19610481565b6040516321ff32a960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b03848116602483015283811660448301527f000000000000000000000000000000000000000000000000000000000000000016906321ff32a990606401602060405180830381865afa158015610c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6b9190610f4a565b9050610481565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b5f5b83811015610d1a578181015183820152602001610d02565b50505f910152565b602081525f8251806020840152610d40816040850160208701610d00565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610d6a575f80fd5b919050565b5f8060408385031215610d80575f80fd5b610d8983610d54565b946020939093013593505050565b5f805f60608486031215610da9575f80fd5b610db284610d54565b9250610dc060208501610d54565b9150604084013590509250925092565b5f60208284031215610de0575f80fd5b610de982610d54565b9392505050565b5f805f805f805f60e0888a031215610e06575f80fd5b610e0f88610d54565b9650610e1d60208901610d54565b95506040880135945060608801359350608088013560ff81168114610e40575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610e6e575f80fd5b610e7783610d54565b9150610e8560208401610d54565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610eb2575f80fd5b815167ffffffffffffffff80821115610ec9575f80fd5b818401915084601f830112610edc575f80fd5b815181811115610eee57610eee610e8e565b604051601f8201601f19908116603f01168101908382118183101715610f1657610f16610e8e565b81604052828152876020848701011115610f2e575f80fd5b610f3f836020830160208801610d00565b979650505050505050565b5f60208284031215610f5a575f80fd5b5051919050565b5f60208284031215610f71575f80fd5b81518015158114610de9575f80fdfea26469706673582212200d9ff63d4b9e6f153a8da56e582ec74e539c3879a5e3c4f8f56c9f90c231510f64736f6c63430008160033a264697066735822122077ff4715aad5e900a0eb1d5c03c2f718a47d434f98962105db8d4a1f1d659e7364736f6c63430008160033', - methodIdentifiers: { - "ERC20LINK_HASH()": "d13053bb", - "create(address,uint256)": "0ecaea73", - "getDeployDetails()": "600eb4ba", - "getForwarder(address,uint256)": "0710fd58", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts b/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts deleted file mode 100644 index 1dcb03a9f..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts +++ /dev/null @@ -1,723 +0,0 @@ -export declare const ERC20Mintable: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "symbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "decimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "isCompetitionMode_"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "maxMintAmount_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCompetitionMode"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isUnrestricted"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMintAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMaxMintAmount"; - readonly inputs: readonly [{ - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUnrestrictedMintStatus"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "authority()": "bf7e214f"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "burn(uint256)": "42966c68"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "decimals()": "313ce567"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "isCompetitionMode()": "7a8c63b5"; - readonly "isUnrestricted(address)": "aed30777"; - readonly "maxMintAmount()": "239c70ae"; - readonly "mint(address,uint256)": "40c10f19"; - readonly "mint(uint256)": "a0712d68"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "owner()": "8da5cb5b"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setMaxMintAmount(uint256)": "088a4ed0"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUnrestrictedMintStatus(address,bool)": "05f05a94"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOwnership(address)": "f2fde38b"; - }; -}; -//# sourceMappingURL=ERC20Mintable.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts.map deleted file mode 100644 index ed435cb59..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Mintable.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC20Mintable.d.ts","sourceRoot":"","sources":["../src/ERC20Mintable.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu3B4wf,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuClzf,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC20Mintable.js b/packages/hyperdrive-artifacts/dist/ERC20Mintable.js deleted file mode 100644 index ce81fea52..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC20Mintable.js +++ /dev/null @@ -1,927 +0,0 @@ -export const ERC20Mintable = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "symbol", - "type": "string", - "internalType": "string" - }, - { - "name": "decimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "admin", - "type": "address", - "internalType": "address" - }, - { - "name": "isCompetitionMode_", - "type": "bool", - "internalType": "bool" - }, - { - "name": "maxMintAmount_", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCompetitionMode", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isUnrestricted", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMintAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxMintAmount", - "inputs": [ - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUnrestrictedMintStatus", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - } - ], - bytecode: '0x61010060405234801562000011575f80fd5b5060405162001f8938038062001f8983398101604081905262000034916200028a565b823081818989895f620000488482620003cb565b506001620000578382620003cb565b5060ff81166080524660a0526200006d6200011a565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55506200051192505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200014c919062000497565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620001d8575f80fd5b81516001600160401b0380821115620001f557620001f5620001b4565b604051601f8301601f19908116603f01168101908282118183101715620002205762000220620001b4565b81604052838152602092508660208588010111156200023d575f80fd5b5f91505b8382101562000260578582018301518183018401529082019062000241565b5f602085830101528094505050505092915050565b8051801515811462000285575f80fd5b919050565b5f805f805f8060c08789031215620002a0575f80fd5b86516001600160401b0380821115620002b7575f80fd5b620002c58a838b01620001c8565b97506020890151915080821115620002db575f80fd5b50620002ea89828a01620001c8565b955050604087015160ff8116811462000301575f80fd5b60608801519094506001600160a01b03811681146200031e575f80fd5b92506200032e6080880162000275565b915060a087015190509295509295509295565b600181811c908216806200035657607f821691505b6020821081036200037557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003c657805f5260205f20601f840160051c81016020851015620003a25750805b601f840160051c820191505b81811015620003c3575f8155600101620003ae565b50505b505050565b81516001600160401b03811115620003e757620003e7620001b4565b620003ff81620003f8845462000341565b846200037b565b602080601f83116001811462000435575f84156200041d5750858301515b5f19600386901b1c1916600185901b1785556200048f565b5f85815260208120601f198616915b82811015620004655788860151825594840194600190910190840162000444565b50858210156200048357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620004a68162000341565b60018281168015620004c15760018114620004d75762000505565b60ff198416875282151583028701945062000505565b875f526020805f205f5b85811015620004fc5781548a820152908401908201620004e1565b50505082870194505b50929695505050505050565b60805160a05160c05160e051611a1a6200056f5f395f81816103c7015281816105d3015281816106e8015281816109bb01528181610a5801528181610d8a0152610deb01525f61099701525f61096201525f6103080152611a1a5ff3fe608060405234801561000f575f80fd5b5060043610610213575f3560e01c80637a8c63b51161011f578063b7009613116100a9578063dd62ed3e11610079578063dd62ed3e1461050a578063e688747b14610534578063ea7ca27614610569578063ed0d0efb1461059f578063f2fde38b146105be575f80fd5b8063b7009613146104a9578063bf7e214f146104bc578063c53a3985146104cf578063d505accf146104f7575f80fd5b806395d89b41116100ef57806395d89b41146104465780639dc29fac1461044e578063a0712d6814610461578063a9059cbb14610474578063aed3077714610487575f80fd5b80637a8c63b5146103c25780637a9e5e4b146103e95780637ecebe00146103fc5780638da5cb5b1461041b575f80fd5b806323b872dd116101a057806342966c681161017057806342966c68146103575780634b5159da1461036a57806367aff4841461037d57806370a0823114610390578063728b952b146103af575f80fd5b806323b872dd146102f0578063313ce567146103035780633644e5151461033c57806340c10f1914610344575f80fd5b8063095ea7b3116101e6578063095ea7b3146102865780630bade8a4146102a95780630ea9b75b146102cb57806318160ddd146102de578063239c70ae146102e7575f80fd5b806305f05a941461021757806306a36aee1461022c57806306fdde031461025e578063088a4ed014610273575b5f80fd5b61022a6102253660046114ae565b6105d1565b005b61024b61023a3660046114e5565b60096020525f908152604090205481565b6040519081526020015b60405180910390f35b61026661065b565b6040516102559190611500565b61022a61028136600461154c565b6106e6565b610299610294366004611563565b610742565b6040519015158152602001610255565b6102996102b73660046115a9565b600a6020525f908152604090205460ff1681565b61022a6102d93660046115d2565b6107ae565b61024b60025481565b61024b600c5481565b6102996102fe366004611616565b610883565b61032a7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610255565b61024b61095f565b61022a610352366004611563565b6109b9565b61022a61036536600461154c565b610a56565b61022a610378366004611654565b610aba565b61022a61038b36600461166e565b610b4a565b61024b61039e3660046114e5565b60036020525f908152604090205481565b61022a6103bd366004611699565b610c0f565b6102997f000000000000000000000000000000000000000000000000000000000000000081565b61022a6103f73660046114e5565b610c96565b61024b61040a3660046114e5565b60056020525f908152604090205481565b60065461042e906001600160a01b031681565b6040516001600160a01b039091168152602001610255565b610266610d7b565b61022a61045c366004611563565b610d88565b61022a61046f36600461154c565b610de9565b610299610482366004611563565b610e82565b6102996104953660046114e5565b600d6020525f908152604090205460ff1681565b6102996104b73660046116c5565b610ee5565b60075461042e906001600160a01b031681565b61042e6104dd3660046114e5565b60086020525f90815260409020546001600160a01b031681565b61022a610505366004611709565b610fde565b61024b610518366004611699565b600460209081525f928352604080842090915290825290205481565b610299610542366004611772565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b6102996105773660046117a3565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b61024b6105ad3660046115a9565b600b6020525f908152604090205481565b61022a6105cc3660046114e5565b61121c565b7f0000000000000000000000000000000000000000000000000000000000000000156106315761060c335f356001600160e01b031916611298565b6106315760405162461bcd60e51b8152600401610628906117cd565b60405180910390fd5b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f805461066790611804565b80601f016020809104026020016040519081016040528092919081815260200182805461069390611804565b80156106de5780601f106106b5576101008083540402835291602001916106de565b820191905f5260205f20905b8154815290600101906020018083116106c157829003601f168201915b505050505081565b7f00000000000000000000000000000000000000000000000000000000000000001561073d57610721335f356001600160e01b031916611298565b61073d5760405162461bcd60e51b8152600401610628906117cd565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061079c9086815260200190565b60405180910390a35060015b92915050565b6107c3335f356001600160e01b031916611298565b6107df5760405162461bcd60e51b81526004016106289061183c565b801561080e576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610834565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610876911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f1981146108dc576108b88382611876565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610903908490611876565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f805160206119c58339815191529061094a9087815260200190565b60405180910390a360019150505b9392505050565b5f7f000000000000000000000000000000000000000000000000000000000000000046146109945761098f61133f565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000015610a10576109f4335f356001600160e01b031916611298565b610a105760405162461bcd60e51b8152600401610628906117cd565b335f908152600d602052604090205460ff16610a4857600c54811115610a485760405162461bcd60e51b815260040161062890611889565b610a5282826113d7565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610aad57610a91335f356001600160e01b031916611298565b610aad5760405162461bcd60e51b8152600401610628906117cd565b610ab7338261142e565b50565b610acf335f356001600160e01b031916611298565b610aeb5760405162461bcd60e51b81526004016106289061183c565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610b5f335f356001600160e01b031916611298565b610b7b5760405162461bcd60e51b81526004016106289061183c565b8015610ba9576001600160a01b0383165f9081526009602052604090208054600160ff85161b179055610bce565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610876911515815260200190565b610c24335f356001600160e01b031916611298565b610c405760405162461bcd60e51b81526004016106289061183c565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b0316331480610d28575060075460405163b700961360e01b81526001600160a01b039091169063b700961390610ce990339030906001600160e01b03195f3516906004016118cb565b602060405180830381865afa158015610d04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2891906118f8565b610d30575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b6001805461066790611804565b7f000000000000000000000000000000000000000000000000000000000000000015610ddf57610dc3335f356001600160e01b031916611298565b610ddf5760405162461bcd60e51b8152600401610628906117cd565b610a52828261142e565b7f000000000000000000000000000000000000000000000000000000000000000015610e4057610e24335f356001600160e01b031916611298565b610e405760405162461bcd60e51b8152600401610628906117cd565b335f908152600d602052604090205460ff16610e7857600c54811115610e785760405162461bcd60e51b815260040161062890611889565b610ab733826113d7565b335f90815260036020526040812080548391908390610ea2908490611876565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f805160206119c58339815191529061079c9086815260200190565b6001600160a01b038083165f908152600860205260408120549091168015610f7e5760405163b700961360e01b81526001600160a01b0382169063b700961390610f37908890889088906004016118cb565b602060405180830381865afa158015610f52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7691906118f8565b915050610958565b6001600160e01b031983165f908152600a602052604090205460ff1680610fd557506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b4284101561102e5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610628565b5f600161103961095f565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015611141573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906111775750876001600160a01b0316816001600160a01b0316145b6111b45760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610628565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b611231335f356001600160e01b031916611298565b61124d5760405162461bcd60e51b81526004016106289061183c565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6007545f906001600160a01b0316801580159061131f575060405163b700961360e01b81526001600160a01b0382169063b7009613906112e0908790309088906004016118cb565b602060405180830381865afa1580156112fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131f91906118f8565b8061133757506006546001600160a01b038581169116145b949350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f60405161136f9190611913565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060025f8282546113e891906119b1565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f805160206119c583398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611455908490611876565b90915550506002805482900390556040518181525f906001600160a01b038416905f805160206119c583398151915290602001611422565b6001600160a01b0381168114610ab7575f80fd5b8015158114610ab7575f80fd5b5f80604083850312156114bf575f80fd5b82356114ca8161148d565b915060208301356114da816114a1565b809150509250929050565b5f602082840312156114f5575f80fd5b81356109588161148d565b5f602080835283518060208501525f5b8181101561152c57858101830151858201604001528201611510565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561155c575f80fd5b5035919050565b5f8060408385031215611574575f80fd5b823561157f8161148d565b946020939093013593505050565b80356001600160e01b0319811681146115a4575f80fd5b919050565b5f602082840312156115b9575f80fd5b6109588261158d565b803560ff811681146115a4575f80fd5b5f805f606084860312156115e4575f80fd5b6115ed846115c2565b92506115fb6020850161158d565b9150604084013561160b816114a1565b809150509250925092565b5f805f60608486031215611628575f80fd5b83356116338161148d565b925060208401356116438161148d565b929592945050506040919091013590565b5f8060408385031215611665575f80fd5b6114ca8361158d565b5f805f60608486031215611680575f80fd5b833561168b8161148d565b92506115fb602085016115c2565b5f80604083850312156116aa575f80fd5b82356116b58161148d565b915060208301356114da8161148d565b5f805f606084860312156116d7575f80fd5b83356116e28161148d565b925060208401356116f28161148d565b91506117006040850161158d565b90509250925092565b5f805f805f805f60e0888a03121561171f575f80fd5b873561172a8161148d565b9650602088013561173a8161148d565b95506040880135945060608801359350611756608089016115c2565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215611783575f80fd5b61178c836115c2565b915061179a6020840161158d565b90509250929050565b5f80604083850312156117b4575f80fd5b82356117bf8161148d565b915061179a602084016115c2565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c9082168061181857607f821691505b60208210810361183657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107a8576107a8611862565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611908575f80fd5b8151610958816114a1565b5f8083545f60018260011c9150600183168061193057607f831692505b6020808410820361194f57634e487b7160e01b5f52602260045260245ffd5b8180156119635760018114611978576119a3565b60ff19861689528415158502890196506119a3565b5f8a8152602090205f5b8681101561199b5781548b820152908501908301611982565b505084890196505b509498975050505050505050565b808201808211156107a8576107a861186256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220327bc91d6f09a925c146c80290bfde7f90aab0f56a72af8861f409aa3948d81964736f6c63430008160033', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "authority()": "bf7e214f", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "burn(uint256)": "42966c68", - "canCall(address,address,bytes4)": "b7009613", - "decimals()": "313ce567", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getTargetCustomAuthority(address)": "c53a3985", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "isCompetitionMode()": "7a8c63b5", - "isUnrestricted(address)": "aed30777", - "maxMintAmount()": "239c70ae", - "mint(address,uint256)": "40c10f19", - "mint(uint256)": "a0712d68", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "setAuthority(address)": "7a9e5e4b", - "setMaxMintAmount(uint256)": "088a4ed0", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUnrestrictedMintStatus(address,bool)": "05f05a94", - "setUserRole(address,uint8,bool)": "67aff484", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626.d.ts deleted file mode 100644 index 5a7753b4d..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626.d.ts +++ /dev/null @@ -1,558 +0,0 @@ -export declare const ERC4626: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "asset"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToAssets"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "maxDeposit"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxRedeem"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxWithdraw"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "previewDeposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewMint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewRedeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewWithdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "redeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalAssets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deposit"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "asset()": "38d52e0f"; - readonly "balanceOf(address)": "70a08231"; - readonly "convertToAssets(uint256)": "07a2d13a"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "deposit(uint256,address)": "6e553f65"; - readonly "maxDeposit(address)": "402d267d"; - readonly "maxMint(address)": "c63d75b6"; - readonly "maxRedeem(address)": "d905777e"; - readonly "maxWithdraw(address)": "ce96cb77"; - readonly "mint(uint256,address)": "94bf804d"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "previewDeposit(uint256)": "ef8b30f7"; - readonly "previewMint(uint256)": "b3d7f6b9"; - readonly "previewRedeem(uint256)": "4cdad506"; - readonly "previewWithdraw(uint256)": "0a28a477"; - readonly "redeem(uint256,address,address)": "ba087652"; - readonly "symbol()": "95d89b41"; - readonly "totalAssets()": "01e1d114"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "withdraw(uint256,address,address)": "b460af94"; - }; -}; -//# sourceMappingURL=ERC4626.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626.d.ts.map deleted file mode 100644 index 444846a87..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626.d.ts","sourceRoot":"","sources":["../src/ERC4626.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkrBA,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626.js b/packages/hyperdrive-artifacts/dist/ERC4626.js deleted file mode 100644 index 09407cb32..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626.js +++ /dev/null @@ -1,722 +0,0 @@ -export const ERC4626 = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "asset", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToAssets", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "maxDeposit", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMint", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxRedeem", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxWithdraw", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "previewDeposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewMint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewRedeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewWithdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalAssets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "balanceOf(address)": "70a08231", - "convertToAssets(uint256)": "07a2d13a", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "deposit(uint256,address)": "6e553f65", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(uint256,address)": "94bf804d", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "symbol()": "95d89b41", - "totalAssets()": "01e1d114", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address,address)": "b460af94" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts deleted file mode 100644 index ac244f173..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const ERC4626Base: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ERC4626Base.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts.map deleted file mode 100644 index 4626ef383..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Base.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Base.d.ts","sourceRoot":"","sources":["../src/ERC4626Base.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBJ,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Base.js b/packages/hyperdrive-artifacts/dist/ERC4626Base.js deleted file mode 100644 index 3052b9025..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Base.js +++ /dev/null @@ -1,656 +0,0 @@ -export const ERC4626Base = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts deleted file mode 100644 index ef96ad134..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const ERC4626Conversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ERC4626Conversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts.map deleted file mode 100644 index bad154f7e..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Conversions.d.ts","sourceRoot":"","sources":["../src/ERC4626Conversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;cAEmQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.js b/packages/hyperdrive-artifacts/dist/ERC4626Conversions.js deleted file mode 100644 index 345a2ff1f..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Conversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const ERC4626Conversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212206342abdde17a804bc069629bb17530c9892231b5ab21dfb0262d9fe17e0ef05064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts deleted file mode 100644 index 41d6e9684..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts +++ /dev/null @@ -1,1350 +0,0 @@ -export declare const ERC4626Hyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=ERC4626Hyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts.map deleted file mode 100644 index 5c0999ea5..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Hyperdrive.d.ts","sourceRoot":"","sources":["../src/ERC4626Hyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuoD01a,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bp4a,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.js b/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.js deleted file mode 100644 index 6264bf89c..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Hyperdrive.js +++ /dev/null @@ -1,1703 +0,0 @@ -export const ERC4626Hyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b5060405162001ab238038062001ab28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161104162000a715f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220099d126b799e3a960c9eab6d2d040aa7e428a873a3f06060217444991969687e64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts deleted file mode 100644 index e5a493fb6..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const ERC4626HyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=ERC4626HyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index d8d9950c6..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626HyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/ERC4626HyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2KgjhB,KAAK,MAAM,EAAE;;;;CAItmhB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.js deleted file mode 100644 index a6cac6729..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const ERC4626HyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506121068061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611ab2806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b5060405162001ab238038062001ab28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161104162000a715f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220099d126b799e3a960c9eab6d2d040aa7e428a873a3f06060217444991969687e64736f6c63430008160033a2646970667358221220fdcc5ef1e806b823ef7b08ac5894ec6168915c6e11a413d32e99ac705377a1df64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index bdfedb48e..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,628 +0,0 @@ -export declare const ERC4626HyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ERC4626HyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 2bbf559ff..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626HyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/ERC4626HyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6wBu7qB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBp/qB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.js deleted file mode 100644 index dfdd3f88d..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626HyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,802 +0,0 @@ -export const ERC4626HyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b5060405162002aea38038062002aea8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516126d06200041a5f395f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526126d05ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bf4565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611d29565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611de7565b6106d0565b348015610187575f80fd5b5061026b610196366004611e11565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611e28565b348015610283575f80fd5b5061014f610292366004611de7565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611ffc565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004612065565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602481526020016126776024913981565b5f80546104bc906120ff565b80601f01602080910402602001604051908101604052809291908181526020018280546104e8906120ff565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190612137565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612186565b92505f61065382346121b1565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db8383611329565b90505b92915050565b5f6106db8383611393565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b61077886866113c2565b5f61078387876115cf565b90505f8760405160200161079791906121c4565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a6115e6565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161087394939291906123f7565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b3919061243c565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161092791906121c4565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f87876113c2565b5f610999886115e6565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a4093929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a7594939291906123f7565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab5919061243c565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b7393929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba894939291906123f7565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be8919061243c565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca693929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb94939291906123f7565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b919061243c565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd993929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e94939291906123f7565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e919061243c565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110359087906020016121c4565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e85856113c2565b5f6110a8866115e6565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a99989796959493929190612478565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c5919061243c565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8082602001511561129257856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611267573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128b919061243c565b90506112f5565b856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f2919061243c565b90505b61130a6001600160a01b0382168630876116b4565b61131e6001600160a01b0382168786611721565b505f95945050505050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa15801561136f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190612186565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611354565b6113cc82826117b0565b60208201516001600160a01b03166113f75760405163073f739d60e51b815260040160405180910390fd5b81602001516001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611437573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145b919061243c565b6001600160a01b0316825f01516001600160a01b03161461148f57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f491906124fa565b6114fe919061251a565b61150990600a612613565b8260800151101561152d576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061159291906124fa565b61159c919061251a565b6115a790600a612613565b8260a0015110156115cb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b6115ee611ad3565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261171b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506118c4565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611772848261192f565b61171b576040516001600160a01b0384811660248301525f60448301526117a691869182169063095ea7b3906064016116e9565b61171b84826118c4565b6103e8826080015110156117d7576040516349db44f560e01b815260040160405180910390fd5b8161010001515f036117fc57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061182657508161010001518260e001516118239190612621565b15155b156118445760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118705750670de0b6b3a7640000826101c0015160200151115b8061188b5750670de0b6b3a7640000826101c0015160400151115b806118a65750670de0b6b3a7640000826101c0015160600151115b156115cb576040516322f72cc360e11b815260040160405180910390fd5b5f6118d86001600160a01b038416836119cc565b905080515f141580156118fc5750808060200190518101906118fa9190612640565b155b1561192a57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161194a919061265b565b5f604051808303815f865af19150503d805f8114611983576040519150601f19603f3d011682016040523d82523d5f602084013e611988565b606091505b50915091508180156119b25750805115806119b25750808060200190518101906119b29190612640565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b031684866040516119f0919061265b565b5f6040518083038185875af1925050503d805f8114611a2a576040519150601f19603f3d011682016040523d82523d5f602084013e611a2f565b606091505b5091509150611a3f868383611a4b565b925050505b9392505050565b606082611a6057611a5b82611aa7565b611a44565b8151158015611a7757506001600160a01b0384163b155b15611aa057604051639996b31560e01b81526001600160a01b0385166004820152602401611921565b5080611a44565b805115611ab75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ba260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611bc1578181015183820152602001611ba9565b50505f910152565b5f8151808452611be0816020860160208601611ba7565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611bc9565b6001600160a01b0381168114611ad0575f80fd5b8035611c2581611c06565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c6157611c61611c2a565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c6157611c61611c2a565b8015158114611ad0575f80fd5b5f67ffffffffffffffff80841115611cb257611cb2611c2a565b604051601f8501601f19908116603f01168101908282118183101715611cda57611cda611c2a565b81604052809350858152868686011115611cf2575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611d1a575f80fd5b6106db83833560208501611c98565b5f805f805f60a08688031215611d3d575f80fd5b853594506020860135611d4f81611c06565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d79575f80fd5b908701906060828a031215611d8c575f80fd5b611d94611c3e565b8235611d9f81611c06565b81526020830135611daf81611c8b565b6020820152604083013582811115611dc5575f80fd5b611dd18b828601611d0b565b6040830152508093505050509295509295909350565b5f8060408385031215611df8575f80fd5b8235611e0381611c06565b946020939093013593505050565b5f60208284031215611e21575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611eb5575f80fd5b6040516080810181811067ffffffffffffffff82111715611ed857611ed8611c2a565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611f1a575f80fd5b611f22611c67565b9050611f2d82611c1a565b8152611f3b60208301611c1a565b6020820152611f4c60408301611c1a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611fa9818401611c1a565b90820152610160611fbb838201611c1a565b90820152610180611fcd838201611c1a565b908201526101a0611fdf838201611c1a565b908201526101c0611ff284848301611ea5565b9082015292915050565b5f805f805f6102c08688031215612011575f80fd5b853594506120228760208801611f09565b935061026086013567ffffffffffffffff81111561203e575f80fd5b61204a88828901611d0b565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c0868803121561207a575f80fd5b85359450602086013567ffffffffffffffff80821115612098575f80fd5b818801915088601f8301126120ab575f80fd5b6120ba89833560208501611c98565b95506120c98960408a01611f09565b94506102808801359150808211156120df575f80fd5b506120ec88828901611d0b565b959894975092956102a001359392505050565b600181811c9082168061211357607f821691505b60208210810361213157634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261217c60c0840182611bc9565b9695505050505050565b5f60208284031215612196575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106de576106de61219d565b81516001600160a01b03168152610240810160208301516121f060208401826001600160a01b03169052565b50604083015161220b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151612271828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e9d565b80516001600160a01b03168252602081015161230160208401826001600160a01b03169052565b50604081015161231c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161238e828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261171b565b5f6102c061240583886122da565b6001600160a01b038616610260840152610280830181905261242981840186611bc9565b915050826102a083015295945050505050565b5f6020828403121561244c575f80fd5b8151611a4481611c06565b6001600160a01b039390931683526020830191909152604082015260600190565b5f61038080835261248b8184018e611bc9565b905061249a602084018d6122da565b6001600160a01b038b81166102808501528382036102a08501526124be828c611bc9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f6020828403121561250a575f80fd5b815160ff81168114611a44575f80fd5b60ff82811682821603908111156106de576106de61219d565b600181815b8085111561256d57815f19048211156125535761255361219d565b8085161561256057918102915b93841c9390800290612538565b509250929050565b5f82612583575060016106de565b8161258f57505f6106de565b81600181146125a557600281146125af576125cb565b60019150506106de565b60ff8411156125c0576125c061219d565b50506001821b6106de565b5060208310610133831016604e8410600b84101617156125ee575081810a6106de565b6125f88383612533565b805f190482111561260b5761260b61219d565b029392505050565b5f6106db60ff841683612575565b5f8261263b57634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612650575f80fd5b8151611a4481611c8b565b5f825161266c818460208701611ba7565b919091019291505056fe45524334363236487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220eb20e2025c59cf03e179f60d33edda05b6e9118b0ab6a9f06e08bed958790ecc64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts deleted file mode 100644 index 89fecef5d..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts +++ /dev/null @@ -1,1527 +0,0 @@ -export declare const ERC4626Target0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ERC4626Target0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts.map deleted file mode 100644 index c6844e574..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target0.d.ts","sourceRoot":"","sources":["../src/ERC4626Target0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi2Di5+B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCx7+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0.js b/packages/hyperdrive-artifacts/dist/ERC4626Target0.js deleted file mode 100644 index 38ffcb4a8..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0.js +++ /dev/null @@ -1,1931 +0,0 @@ -export const ERC4626Target0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003ecc38038062003ecc8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a76620004565f395f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca015261286b01525f8181610e3e0152612c2901525f818161060901528181610cfc01528181611e220152818161259b015281816125c601528181612ac70152612bfb01525f818161073301528181610ccd0152818161126701528181612a2f0152612b5e0152613a765ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612e61565b610559565b60405161024c9190612ec5565b60405180910390f35b610268610263366004612eeb565b610590565b005b610268610278366004612f13565b610599565b61023f6105a2565b61023f6105e4565b6102956105fb565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612f3c565b61063a565b6102686102ce36600461300d565b610656565b6102686102e136600461309c565b61066c565b6102f96102f4366004612e61565b61067f565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e6103393660046130e1565b6106e8565b60405190815260200161024c565b61035461072d565b60405160ff909116815260200161024c565b61033e610374366004613120565b6107c5565b61033e6107fd565b61033e61038f36600461314e565b61081b565b6103a76103a2366004612eeb565b610825565b604051901515815260200161024c565b61023f6103c5366004612e61565b610844565b6102686103d8366004613185565b610852565b61023f6108a0565b6103ed6108d5565b60405161024c91906131cc565b61026861040836600461326d565b5050565b61033e61041a366004612eeb565b610bce565b610295610bf9565b610268610435366004613299565b610c38565b61026861044836600461326d565b610c49565b61026861045b366004612eeb565b50565b610466610cb4565b60405161024c91906132ce565b61033e610481366004612e61565b611174565b61033e610494366004612e61565b611181565b6104ac6104a73660046133f4565b6111a2565b60405161024c9190613433565b610295611259565b61033e611298565b61033e6104d7366004612e61565b6112b1565b61033e6104ea366004612e61565b6112be565b6104f76112f4565b60405161024c9190613476565b610268610512366004613587565b6113ff565b6103a76105253660046135e2565b611447565b61053261148a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b610567836114e8565b6040516020016105779190612ec5565b60405160208183030381529060405261160e565b919050565b61045b81611632565b61045b81611893565b60606105e160405180604001604052806011815260200170455243343632364879706572647269766560781b8152506040516020016105779190612ec5565b90565b60606105e16001604051602001610577919061360e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b61064b8989898989898989896119ab565b505050505050505050565b610664868686868686611b9d565b505050505050565b6106798484848433611c50565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107269101610577565b9392505050565b5f6105e17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b191906136bb565b6040805160ff909216602083015201610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107f79101610577565b92915050565b5f6105e1610809611e0b565b60405160200161057791815260200190565b5f6107f782611e98565b5f61058b610832836120ce565b60408051911515602083015201610577565b606061058b610567836121ac565b8361085c816122a8565b6001600160a01b0316336001600160a01b03161461088d57604051632aab8bd360e01b815260040160405180910390fd5b61089985858585612365565b5050505050565b60606105e160405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612ec5565b61093f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109486123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109b291906136fe565b6109bc9190613711565b90505f8215610acb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109e8856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb9190613724565b509050610ac8818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9b57610b968486612581565b610b9d565b5f5b81526003546001600160801b0316602091820152604051919250610bc791610577918491016131cc565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d8d565b6105e16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613752565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906132ce565b5f61058b61080983612595565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff8111156111be576111be61376d565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613781565b9050602002013590505f815490508084848151811061122857611228613781565b602090810291909101015250506001016111ec565b50611252816040516020016105779190613433565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b5f6105e160095460405160200161057791815260200190565b5f61058b610809836125c0565b5f61058b6108096112ef7f0000000000000000000000000000000000000000000000000000000000000000856136fe565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e16002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106648686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107f79101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e190606001610577565b606060f882901c6001600160f81b0383165f6115038261262b565b90505f836003811115611518576115186136d6565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136d6565b0361158a57806040516020016115749190613795565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136d6565b036115b4578060405160200161157491906137cd565b60038360038111156115c8576115c86136d6565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ec5565b60405180910390fd5b61163a6126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613752565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613752565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a9190613806565b90506118206001600160a01b0385168483612705565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613752565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613781565b905060200201358888868686818110611c3257611c32613781565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d43908490613711565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c908490613711565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136fe565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e939190613806565b905090565b5f611ea16126dd565b611eaa82612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613752565b90506001600160a01b038116611f446020850185612eeb565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613752565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f90915590915061206381838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f13565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612152919081019061381d565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613781565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261262b565b90505f8360038111156121dc576121dc6136d6565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136d6565b03612238578060405160200161157491906138dd565b600283600381111561224c5761224c6136d6565b0361226257806040516020016115749190613914565b6003836003811115612276576122766136d6565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612822565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612822565b905292915050565b5f6107268383670de0b6b3a7640000612896565b5f61072683670de0b6b3a764000084612896565b5f6107f77f0000000000000000000000000000000000000000000000000000000000000000836128b1565b5f6107f77f00000000000000000000000000000000000000000000000000000000000000008361291b565b5f612610600b5f6125fd60028661294a565b81526020019081526020015f205461297e565b612621600b5f6125fd60018761294a565b6107f7919061393f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613972565b61266f9060306136fe565b60f81b82600161267f8487613711565b6126899190613711565b8151811061269957612699613781565b60200101906001600160f81b03191690815f1a905350806126b981613985565b91506126c89050600a8661399d565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c449084906129ab565b5f6127656020830183612eeb565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612798858561256d565b90506127a3816125c0565b9450845f036127b5575f915050610726565b8491506127c86040840160208501612f13565b156127f7576127f0856127de6020860186612eeb565b6127eb60408701876139b0565b612a0c565b915061281a565b61281a856128086020860186612eeb565b61281560408701876139b0565b612bee565b509392505050565b5f80670de0b6b3a7640000612835612c22565b61283f91906139f3565b905080831161284e575f612858565b6128588184613711565b915061072661288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139f3565b8390612581565b5f825f1904841183021582026128aa575f80fd5b5091020490565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa1580156128f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190613806565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016128dc565b5f6001600160f81b038211156129735760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129a75760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129bf6001600160a01b03841683612c4d565b905080515f141580156129e35750808060200190518101906129e19190613a0a565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a989190613806565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612b0f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b339190613806565b9150612b3f82826136fe565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612ba3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc79190613806565b14612be55760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6106796001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612705565b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c5a565b606061072683835f612c6f565b5f612c658284613972565b6107269084613711565b606081471015612c945760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612caf9190613a25565b5f6040518083038185875af1925050503d805f8114612ce9576040519150601f19603f3d011682016040523d82523d5f602084013e612cee565b606091505b5091509150612cfe868383612d08565b9695505050505050565b606082612d1d57612d1882612d64565b610726565b8151158015612d3457506001600160a01b0384163b155b15612d5d57604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610726565b805115612d745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e5c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e71575f80fd5b5035919050565b5f5b83811015612e92578181015183820152602001612e7a565b50505f910152565b5f8151808452612eb1816020860160208601612e78565b601f01601f19169290920160200192915050565b602081525f6107266020830184612e9a565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612efb575f80fd5b813561072681612ed7565b801515811461045b575f80fd5b5f60208284031215612f23575f80fd5b813561072681612f06565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612f55575f80fd5b8935985060208a0135975060408a0135612f6e81612ed7565b965060608a0135612f7e81612ed7565b955060808a0135612f8e81612f06565b945060a08a0135935060c08a0135612fa581612f2e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd5575f80fd5b50813567ffffffffffffffff811115612fec575f80fd5b6020830191508360208260051b8501011115613006575f80fd5b9250929050565b5f805f805f8060808789031215613022575f80fd5b863561302d81612ed7565b9550602087013561303d81612ed7565b9450604087013567ffffffffffffffff80821115613059575f80fd5b6130658a838b01612fc5565b9096509450606089013591508082111561307d575f80fd5b5061308a89828a01612fc5565b979a9699509497509295939492505050565b5f805f80608085870312156130af575f80fd5b8435935060208501356130c181612ed7565b925060408501356130d181612ed7565b9396929550929360600135925050565b5f805f606084860312156130f3575f80fd5b83359250602084013561310581612ed7565b9150604084013561311581612ed7565b809150509250925092565b5f8060408385031215613131575f80fd5b82359150602083013561314381612ed7565b809150509250929050565b5f6020828403121561315e575f80fd5b813567ffffffffffffffff811115613174575f80fd5b820160608185031215610726575f80fd5b5f805f8060808587031215613198575f80fd5b8435935060208501356131aa81612ed7565b92506040850135915060608501356131c181612ed7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327e575f80fd5b823561328981612ed7565b9150602083013561314381612f06565b5f805f606084860312156132ab575f80fd5b8335925060208401356132bd81612ed7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132fa60208401826001600160a01b03169052565b50604083015161331560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613387828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613405575f80fd5b823567ffffffffffffffff81111561341b575f80fd5b61342785828601612fc5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561346a5783518352928401929184019160010161344e565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a260208401826001600160801b03169052565b5060408301516134bd60408401826001600160801b03169052565b5060608301516134d860608401826001600160801b03169052565b5060808301516134ed6080840182600f0b9052565b5060a083015161350860a08401826001600160801b03169052565b5060c083015161352360c08401826001600160801b03169052565b5060e083015161353e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ec565b5f805f805f60a0868803121561359b575f80fd5b8535945060208601356135ad81612ed7565b935060408601356135bd81612ed7565b92506060860135915060808601356135d481612ed7565b809150509295509295909350565b5f80604083850312156135f3575f80fd5b82356135fe81612ed7565b9150602083013561314381612ed7565b5f60208083525f84545f60018260011c9150600183168061363057607f831692505b60208310810361364e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366d5760018114613683576136ac565b60ff198616825284151560051b820196506136ac565b5f8b8152602090205f5b868110156136a65781548482015290850190890161368d565b83019750505b50949998505050505050505050565b5f602082840312156136cb575f80fd5b815161072681612f2e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107f7576107f76136ea565b818103818111156107f7576107f76136ea565b5f8060408385031215613735575f80fd5b82519150602083015161314381612f06565b805161058b81612ed7565b5f60208284031215613762575f80fd5b815161072681612ed7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137c0816011850160208701612e78565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137f9816012850160208701612e78565b9190910160120192915050565b5f60208284031215613816575f80fd5b5051919050565b5f602080838503121561382e575f80fd5b825167ffffffffffffffff80821115613845575f80fd5b818501915085601f830112613858575f80fd5b81518181111561386a5761386a61376d565b8060051b604051601f19603f8301168101818110858211171561388f5761388f61376d565b6040529182528482019250838101850191888311156138ac575f80fd5b938501935b828510156138d1576138c285613747565b845293850193928501926138b1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613907816010850160208701612e78565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137c0816011850160208701612e78565b8181035f831280158383131683831282161715611252576112526136ea565b634e487b7160e01b5f52601260045260245ffd5b5f826139805761398061395e565b500690565b5f60018201613996576139966136ea565b5060010190565b5f826139ab576139ab61395e565b500490565b5f808335601e198436030181126139c5575f80fd5b83018035915067ffffffffffffffff8211156139df575f80fd5b602001915036819003821315613006575f80fd5b80820281158282048414176107f7576107f76136ea565b5f60208284031215613a1a575f80fd5b815161072681612f06565b5f8251613a36818460208701612e78565b919091019291505056fea26469706673582212208ecbb73f3dbe342fbbec123e3afd4fb8df745caac1be231983ac9e9586ae09c664736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts deleted file mode 100644 index 5b687266a..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC4626Target0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ERC4626Target0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts.map deleted file mode 100644 index 721582272..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target0Deployer.d.ts","sourceRoot":"","sources":["../src/ERC4626Target0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Im3jC,KAAK,MAAM,EAAE;;;;CAIl6jC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.js b/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.js deleted file mode 100644 index 789826987..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ERC4626Target0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506143a48061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613ecc806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003ecc38038062003ecc8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a76620004565f395f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca015261286b01525f8181610e3e0152612c2901525f818161060901528181610cfc01528181611e220152818161259b015281816125c601528181612ac70152612bfb01525f818161073301528181610ccd0152818161126701528181612a2f0152612b5e0152613a765ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612e61565b610559565b60405161024c9190612ec5565b60405180910390f35b610268610263366004612eeb565b610590565b005b610268610278366004612f13565b610599565b61023f6105a2565b61023f6105e4565b6102956105fb565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612f3c565b61063a565b6102686102ce36600461300d565b610656565b6102686102e136600461309c565b61066c565b6102f96102f4366004612e61565b61067f565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e6103393660046130e1565b6106e8565b60405190815260200161024c565b61035461072d565b60405160ff909116815260200161024c565b61033e610374366004613120565b6107c5565b61033e6107fd565b61033e61038f36600461314e565b61081b565b6103a76103a2366004612eeb565b610825565b604051901515815260200161024c565b61023f6103c5366004612e61565b610844565b6102686103d8366004613185565b610852565b61023f6108a0565b6103ed6108d5565b60405161024c91906131cc565b61026861040836600461326d565b5050565b61033e61041a366004612eeb565b610bce565b610295610bf9565b610268610435366004613299565b610c38565b61026861044836600461326d565b610c49565b61026861045b366004612eeb565b50565b610466610cb4565b60405161024c91906132ce565b61033e610481366004612e61565b611174565b61033e610494366004612e61565b611181565b6104ac6104a73660046133f4565b6111a2565b60405161024c9190613433565b610295611259565b61033e611298565b61033e6104d7366004612e61565b6112b1565b61033e6104ea366004612e61565b6112be565b6104f76112f4565b60405161024c9190613476565b610268610512366004613587565b6113ff565b6103a76105253660046135e2565b611447565b61053261148a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b610567836114e8565b6040516020016105779190612ec5565b60405160208183030381529060405261160e565b919050565b61045b81611632565b61045b81611893565b60606105e160405180604001604052806011815260200170455243343632364879706572647269766560781b8152506040516020016105779190612ec5565b90565b60606105e16001604051602001610577919061360e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b61064b8989898989898989896119ab565b505050505050505050565b610664868686868686611b9d565b505050505050565b6106798484848433611c50565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107269101610577565b9392505050565b5f6105e17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b191906136bb565b6040805160ff909216602083015201610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107f79101610577565b92915050565b5f6105e1610809611e0b565b60405160200161057791815260200190565b5f6107f782611e98565b5f61058b610832836120ce565b60408051911515602083015201610577565b606061058b610567836121ac565b8361085c816122a8565b6001600160a01b0316336001600160a01b03161461088d57604051632aab8bd360e01b815260040160405180910390fd5b61089985858585612365565b5050505050565b60606105e160405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612ec5565b61093f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109486123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109b291906136fe565b6109bc9190613711565b90505f8215610acb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109e8856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb9190613724565b509050610ac8818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9b57610b968486612581565b610b9d565b5f5b81526003546001600160801b0316602091820152604051919250610bc791610577918491016131cc565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d8d565b6105e16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613752565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906132ce565b5f61058b61080983612595565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff8111156111be576111be61376d565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613781565b9050602002013590505f815490508084848151811061122857611228613781565b602090810291909101015250506001016111ec565b50611252816040516020016105779190613433565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b5f6105e160095460405160200161057791815260200190565b5f61058b610809836125c0565b5f61058b6108096112ef7f0000000000000000000000000000000000000000000000000000000000000000856136fe565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e16002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106648686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107f79101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e190606001610577565b606060f882901c6001600160f81b0383165f6115038261262b565b90505f836003811115611518576115186136d6565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136d6565b0361158a57806040516020016115749190613795565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136d6565b036115b4578060405160200161157491906137cd565b60038360038111156115c8576115c86136d6565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ec5565b60405180910390fd5b61163a6126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613752565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613752565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a9190613806565b90506118206001600160a01b0385168483612705565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613752565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613781565b905060200201358888868686818110611c3257611c32613781565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d43908490613711565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c908490613711565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136fe565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e939190613806565b905090565b5f611ea16126dd565b611eaa82612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613752565b90506001600160a01b038116611f446020850185612eeb565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613752565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f90915590915061206381838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f13565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612152919081019061381d565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613781565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261262b565b90505f8360038111156121dc576121dc6136d6565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136d6565b03612238578060405160200161157491906138dd565b600283600381111561224c5761224c6136d6565b0361226257806040516020016115749190613914565b6003836003811115612276576122766136d6565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612822565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612822565b905292915050565b5f6107268383670de0b6b3a7640000612896565b5f61072683670de0b6b3a764000084612896565b5f6107f77f0000000000000000000000000000000000000000000000000000000000000000836128b1565b5f6107f77f00000000000000000000000000000000000000000000000000000000000000008361291b565b5f612610600b5f6125fd60028661294a565b81526020019081526020015f205461297e565b612621600b5f6125fd60018761294a565b6107f7919061393f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613972565b61266f9060306136fe565b60f81b82600161267f8487613711565b6126899190613711565b8151811061269957612699613781565b60200101906001600160f81b03191690815f1a905350806126b981613985565b91506126c89050600a8661399d565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c449084906129ab565b5f6127656020830183612eeb565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612798858561256d565b90506127a3816125c0565b9450845f036127b5575f915050610726565b8491506127c86040840160208501612f13565b156127f7576127f0856127de6020860186612eeb565b6127eb60408701876139b0565b612a0c565b915061281a565b61281a856128086020860186612eeb565b61281560408701876139b0565b612bee565b509392505050565b5f80670de0b6b3a7640000612835612c22565b61283f91906139f3565b905080831161284e575f612858565b6128588184613711565b915061072661288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139f3565b8390612581565b5f825f1904841183021582026128aa575f80fd5b5091020490565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa1580156128f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190613806565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016128dc565b5f6001600160f81b038211156129735760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129a75760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129bf6001600160a01b03841683612c4d565b905080515f141580156129e35750808060200190518101906129e19190613a0a565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a989190613806565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612b0f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b339190613806565b9150612b3f82826136fe565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612ba3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc79190613806565b14612be55760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6106796001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612705565b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c5a565b606061072683835f612c6f565b5f612c658284613972565b6107269084613711565b606081471015612c945760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612caf9190613a25565b5f6040518083038185875af1925050503d805f8114612ce9576040519150601f19603f3d011682016040523d82523d5f602084013e612cee565b606091505b5091509150612cfe868383612d08565b9695505050505050565b606082612d1d57612d1882612d64565b610726565b8151158015612d3457506001600160a01b0384163b155b15612d5d57604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610726565b805115612d745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e5c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e71575f80fd5b5035919050565b5f5b83811015612e92578181015183820152602001612e7a565b50505f910152565b5f8151808452612eb1816020860160208601612e78565b601f01601f19169290920160200192915050565b602081525f6107266020830184612e9a565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612efb575f80fd5b813561072681612ed7565b801515811461045b575f80fd5b5f60208284031215612f23575f80fd5b813561072681612f06565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612f55575f80fd5b8935985060208a0135975060408a0135612f6e81612ed7565b965060608a0135612f7e81612ed7565b955060808a0135612f8e81612f06565b945060a08a0135935060c08a0135612fa581612f2e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd5575f80fd5b50813567ffffffffffffffff811115612fec575f80fd5b6020830191508360208260051b8501011115613006575f80fd5b9250929050565b5f805f805f8060808789031215613022575f80fd5b863561302d81612ed7565b9550602087013561303d81612ed7565b9450604087013567ffffffffffffffff80821115613059575f80fd5b6130658a838b01612fc5565b9096509450606089013591508082111561307d575f80fd5b5061308a89828a01612fc5565b979a9699509497509295939492505050565b5f805f80608085870312156130af575f80fd5b8435935060208501356130c181612ed7565b925060408501356130d181612ed7565b9396929550929360600135925050565b5f805f606084860312156130f3575f80fd5b83359250602084013561310581612ed7565b9150604084013561311581612ed7565b809150509250925092565b5f8060408385031215613131575f80fd5b82359150602083013561314381612ed7565b809150509250929050565b5f6020828403121561315e575f80fd5b813567ffffffffffffffff811115613174575f80fd5b820160608185031215610726575f80fd5b5f805f8060808587031215613198575f80fd5b8435935060208501356131aa81612ed7565b92506040850135915060608501356131c181612ed7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327e575f80fd5b823561328981612ed7565b9150602083013561314381612f06565b5f805f606084860312156132ab575f80fd5b8335925060208401356132bd81612ed7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132fa60208401826001600160a01b03169052565b50604083015161331560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613387828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613405575f80fd5b823567ffffffffffffffff81111561341b575f80fd5b61342785828601612fc5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561346a5783518352928401929184019160010161344e565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a260208401826001600160801b03169052565b5060408301516134bd60408401826001600160801b03169052565b5060608301516134d860608401826001600160801b03169052565b5060808301516134ed6080840182600f0b9052565b5060a083015161350860a08401826001600160801b03169052565b5060c083015161352360c08401826001600160801b03169052565b5060e083015161353e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ec565b5f805f805f60a0868803121561359b575f80fd5b8535945060208601356135ad81612ed7565b935060408601356135bd81612ed7565b92506060860135915060808601356135d481612ed7565b809150509295509295909350565b5f80604083850312156135f3575f80fd5b82356135fe81612ed7565b9150602083013561314381612ed7565b5f60208083525f84545f60018260011c9150600183168061363057607f831692505b60208310810361364e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366d5760018114613683576136ac565b60ff198616825284151560051b820196506136ac565b5f8b8152602090205f5b868110156136a65781548482015290850190890161368d565b83019750505b50949998505050505050505050565b5f602082840312156136cb575f80fd5b815161072681612f2e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107f7576107f76136ea565b818103818111156107f7576107f76136ea565b5f8060408385031215613735575f80fd5b82519150602083015161314381612f06565b805161058b81612ed7565b5f60208284031215613762575f80fd5b815161072681612ed7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137c0816011850160208701612e78565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137f9816012850160208701612e78565b9190910160120192915050565b5f60208284031215613816575f80fd5b5051919050565b5f602080838503121561382e575f80fd5b825167ffffffffffffffff80821115613845575f80fd5b818501915085601f830112613858575f80fd5b81518181111561386a5761386a61376d565b8060051b604051601f19603f8301168101818110858211171561388f5761388f61376d565b6040529182528482019250838101850191888311156138ac575f80fd5b938501935b828510156138d1576138c285613747565b845293850193928501926138b1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613907816010850160208701612e78565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137c0816011850160208701612e78565b8181035f831280158383131683831282161715611252576112526136ea565b634e487b7160e01b5f52601260045260245ffd5b5f826139805761398061395e565b500690565b5f60018201613996576139966136ea565b5060010190565b5f826139ab576139ab61395e565b500490565b5f808335601e198436030181126139c5575f80fd5b83018035915067ffffffffffffffff8211156139df575f80fd5b602001915036819003821315613006575f80fd5b80820281158282048414176107f7576107f76136ea565b5f60208284031215613a1a575f80fd5b815161072681612f06565b5f8251613a36818460208701612e78565b919091019291505056fea26469706673582212208ecbb73f3dbe342fbbec123e3afd4fb8df745caac1be231983ac9e9586ae09c664736f6c63430008160033a26469706673582212204bc9a6125e7a582ac48b2e649ead520a3e9160ddee511f1c375e1b74c9bd273464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts deleted file mode 100644 index 291e01694..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts +++ /dev/null @@ -1,794 +0,0 @@ -export declare const ERC4626Target1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=ERC4626Target1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts.map deleted file mode 100644 index 74044c14e..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target1.d.ts","sourceRoot":"","sources":["../src/ERC4626Target1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu9Bu7gC,KAAK,MAAM,EAAE;;;;;CAK99gC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1.js b/packages/hyperdrive-artifacts/dist/ERC4626Target1.js deleted file mode 100644 index c681b6fed..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1.js +++ /dev/null @@ -1,989 +0,0 @@ -export const ERC4626Target1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b50604051620040df380380620040df8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c546200048b5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1f01525f818161139301528181611791015281816117f4015281816129080152818161294401528181612b3c0152612cf901525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cd301525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4501525f81816107e701528181610ec4015281816116ef015281816120db01526132ef01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015281816125e4015261271801525f818161254c015261267b0152613c545ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046136d8565b610070565b60405190815260200160405180910390f35b61004b61006b3660046136d8565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613746565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613759565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361378c565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137b4565b6102bd8a6102b78d8f613746565b90611584565b8d6102cb60408c018c6137cf565b6040516102df98979695949392919061383a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613746565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613881565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361378c565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137b4565b8a61050260408b018b6137cf565b60405161051597969594939291906138a8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361378c565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613746565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6138e8565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613746565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6138e8565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613746565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613746565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613746565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836138e8565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613759565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061393b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906138e8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846138e8565b610ea09089613746565b9750610eac8284613746565b610eb6908d613746565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906138e8565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6138e8565b9850670de0b6b3a7640000610ff0610f8b8787613746565b600254610fa9908f90600160801b90046001600160801b03166138e8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866138e8565b6110d19190613956565b85670de0b6b3a76400006110e5878a6138e8565b6110ef9190613956565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613956565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261396d565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613759565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613746565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016137b4565b15611558576115518561153f602086018661378c565b61154c60408701876137cf565b612529565b915061157b565b61157b85611569602086018661378c565b61157660408701876137cf565b61270b565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612745565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846138e8565b6116b890896138e8565b97506116c48184613746565b6116ce908e6138e8565b9c506116da8a8e613746565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906138e8565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836138e8565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613759565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612798565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613956565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826138e8565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836127bd565b5f6119a082846139ce565b61157d90846138e8565b6002546004545f916105a6916001600160801b0390911690600f0b612798565b5f61007d826119da8588886124e3565b90612827565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836138e8565b9050611a776110fa8286612896565b60068054601090611a99908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836128aa90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613746565b90915550611b21905081836138e8565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826128be565b600480545f90611b87908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856128aa565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826138e8565b611c3b90846138e8565b9250611c59565b611c4c82826138e8565b611c569084613746565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906128aa565b9050611cab8884866124e3565b611cb59082613746565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906138e8565b9050805f03611d5657600191505061131b565b5f611d60856128e7565b9050805f03611d745760019250505061131b565b5f80611d81838589612982565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613a5f565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613ad4565b91509150611e2d611e1f82611321565b611e2890613af6565b612af6565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612c8a565b6040518263ffffffff1660e01b8152600401611f2b9190613b10565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613b1f565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613746565b611fed91906138e8565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613b4d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846138e8565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128aa565b5f808061211f61211788670de0b6b3a76400006138e8565b899087612dc4565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006138e8565b8989612de7565b925061215e8382613746565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006138e8565b83906124cf565b61157d90670de0b6b3a76400006138e8565b5f806121d3856121ab6119aa565b6121b59190613746565b600254610fa9908790600160801b90046001600160801b03166138e8565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006138e8565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612dc4565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006138e8565b8a9088612dc4565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613746565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613759565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613759565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613746565b6123b88587611584565b6123c2888a611584565b611c989190613746565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876138e8565b61241285876124cf565b61241c888a611584565b611c9891906138e8565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612e09565b612483845f612e09565b61248d9190613759565b90505f8113156124a8576124a18186613746565b94506124c6565b5f8112156124c6576124b981613af6565b6124c390866138e8565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc4565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612e1e565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b59190613b61565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af115801561262c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126509190613b61565b915061265c8282613746565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156126c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e49190613b61565b146127025760405163350b944160e11b815260040160405180910390fd5b50949350505050565b61273f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612e4d565b50505050565b5f808061276561275d88670de0b6b3a76400006138e8565b8990876124e3565b90508615612161576127778888611584565b91506121528a8a846127918a670de0b6b3a76400006138e8565b8989612ea4565b5f806127a48484612eb4565b9092509050806127b6576127b66113ec565b5092915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015612803573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613b61565b5f815f0361283e5750670de0b6b3a764000061131b565b825f0361284c57505f61131b565b5f61285683611321565b90505f61286a61286586611321565b612eef565b9050818102612881670de0b6b3a764000082613b78565b905061288c81613114565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc4565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612901906001600160801b031684612896565b905061292d7f000000000000000000000000000000000000000000000000000000000000000082613746565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906129789083906001600160801b03166138e8565b61157d91906138e8565b61298a613639565b5f8061299584612c8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cf9190613b10565b6040805180830381865af41580156129e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0d9190613b1f565b9350905082612a2157505f9150612aee9050565b5f612a47612a4284610160015185610140015161158490919063ffffffff16565b611321565b612a67612a428561012001518661010001516124cf90919063ffffffff16565b612a719190613759565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd09190613ba4565b935093509350935080612beb57505f98975050505050505050565b868414612c1c57612bfb846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4d57612c2c83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7b57612c5d826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c92613683565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d8a91166132a6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dbc929004166132a6565b905292915050565b5f825f190484118302158202612dd8575f80fd5b50910281810615159190040190565b5f80612df788888888888861331a565b909250905080611cc557611cc56113ec565b5f818313612e17578161157d565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016127e8565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612e9f9084906133f6565b505050565b5f80612df788888888888861345c565b5f805f83612ec186611321565b612ecb9190613759565b90505f811215612ee1575f809250925050612ee8565b9150600190505b9250929050565b5f808213612f105760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f939084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312d57505f919050565b680755bf798b4a1bf1e58212613156576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006132b96105ab565b6132c39190613956565b90508083116132d2575f6132dc565b6132dc81846138e8565b915061157d613313670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613956565b83906128aa565b5f805f61332a8989888888613518565b905086881015613340575f8092509250506133eb565b968690039661334f8887612827565b975087811015613365575f8092509250506133eb565b878103613373818688612dc4565b9050670de0b6b3a764000081106133a7576133a0613399670de0b6b3a764000089612896565b8290612827565b90506133bf565b6133bc613399670de0b6b3a7640000896128aa565b90505b6133c98186612896565b9050898110156133e0575f809350935050506133eb565b899003925060019150505b965096945050505050565b5f61340a6001600160a01b03841683613546565b905080515f1415801561342e57508080602001905181019061342c9190613bd7565b155b15612e9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61346c8989888888613518565b905061347c866119da898b613746565b975087811015613492575f8092509250506133eb565b8781036134a0818688612dc4565b9050670de0b6b3a764000081106134cd576134c6613399670de0b6b3a764000089612896565b90506134e5565b6134e2613399670de0b6b3a7640000896128aa565b90505b6134ef8186612896565b9050808a1015613506575f809350935050506133eb565b90980398600198509650505050505050565b5f6135238585612827565b61353c613534866119da868b6124cf565b859085612dc4565b6124269190613746565b606061157d83835f845f80856001600160a01b0316848660405161356a9190613bf2565b5f6040518083038185875af1925050503d805f81146135a4576040519150601f19603f3d011682016040523d82523d5f602084013e6135a9565b606091505b509150915061288c8683836060826135c9576135c482613610565b61157d565b81511580156135e057506001600160a01b0384163b155b1561360957604051639996b31560e01b81526001600160a01b0385166004820152602401613453565b508061157d565b8051156136205780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061364d613683565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156136eb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613716575f80fd5b850160608188031215613727575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613732565b8181035f8312801583831316838312821617156127b6576127b6613732565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561379c575f80fd5b813561157d81613778565b8015158114610591575f80fd5b5f602082840312156137c4575f80fd5b813561157d816137a7565b5f808335601e198436030181126137e4575f80fd5b83018035915067ffffffffffffffff8211156137fe575f80fd5b602001915036819003821315612ee8575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61387360e083018486613812565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138a0576138a0613732565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6138db60c083018486613812565b9998505050505050505050565b8181038181111561131b5761131b613732565b6001600160701b038181168382160190808211156127b6576127b6613732565b6001600160801b038181168382160190808211156127b6576127b6613732565b5f6020828403121561394b575f80fd5b815161157d81613778565b808202811582820484141761131b5761131b613732565b6001600160801b038281168282160390808211156127b6576127b6613732565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613732565b634e487b7160e01b5f52601260045260245ffd5b5f826139dc576139dc6139ba565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a728285516139e1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ae5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0a57613b0a613732565b505f0390565b610180810161131b82846139e1565b5f8060408385031215613b30575f80fd5b825191506020830151613b42816137a7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613b71575f80fd5b5051919050565b5f82613b8657613b866139ba565b600160ff1b82145f1984141615613b9f57613b9f613732565b500590565b5f805f8060808587031215613bb7575f80fd5b8451935060208501519250604085015191506060850151613727816137a7565b5f60208284031215613be7575f80fd5b815161157d816137a7565b5f82515f5b81811015613c115760208186018101518583015201613bf7565b505f92019182525091905056fea2646970667358221220b9e98ece53127923a7906b9ea689ecb1e6002be68e8487084cd519e09775646a64736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts deleted file mode 100644 index 00b7c3f0b..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC4626Target1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ERC4626Target1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts.map deleted file mode 100644 index 74fc4f34b..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target1Deployer.d.ts","sourceRoot":"","sources":["../src/ERC4626Target1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Iy5lC,KAAK,MAAM,EAAE;;;;CAIx8lC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.js b/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.js deleted file mode 100644 index 216d6e1cb..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ERC4626Target1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506145b78061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b6140df806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b50604051620040df380380620040df8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c546200048b5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1f01525f818161139301528181611791015281816117f4015281816129080152818161294401528181612b3c0152612cf901525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cd301525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4501525f81816107e701528181610ec4015281816116ef015281816120db01526132ef01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015281816125e4015261271801525f818161254c015261267b0152613c545ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046136d8565b610070565b60405190815260200160405180910390f35b61004b61006b3660046136d8565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613746565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613759565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361378c565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137b4565b6102bd8a6102b78d8f613746565b90611584565b8d6102cb60408c018c6137cf565b6040516102df98979695949392919061383a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613746565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613881565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361378c565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137b4565b8a61050260408b018b6137cf565b60405161051597969594939291906138a8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361378c565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613746565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6138e8565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613746565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6138e8565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613746565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613746565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613746565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836138e8565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613759565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061393b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906138e8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846138e8565b610ea09089613746565b9750610eac8284613746565b610eb6908d613746565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906138e8565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6138e8565b9850670de0b6b3a7640000610ff0610f8b8787613746565b600254610fa9908f90600160801b90046001600160801b03166138e8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866138e8565b6110d19190613956565b85670de0b6b3a76400006110e5878a6138e8565b6110ef9190613956565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613956565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261396d565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613759565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613746565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016137b4565b15611558576115518561153f602086018661378c565b61154c60408701876137cf565b612529565b915061157b565b61157b85611569602086018661378c565b61157660408701876137cf565b61270b565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612745565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846138e8565b6116b890896138e8565b97506116c48184613746565b6116ce908e6138e8565b9c506116da8a8e613746565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906138e8565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836138e8565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613759565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612798565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613956565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826138e8565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836127bd565b5f6119a082846139ce565b61157d90846138e8565b6002546004545f916105a6916001600160801b0390911690600f0b612798565b5f61007d826119da8588886124e3565b90612827565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836138e8565b9050611a776110fa8286612896565b60068054601090611a99908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836128aa90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613746565b90915550611b21905081836138e8565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826128be565b600480545f90611b87908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856128aa565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826138e8565b611c3b90846138e8565b9250611c59565b611c4c82826138e8565b611c569084613746565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906128aa565b9050611cab8884866124e3565b611cb59082613746565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906138e8565b9050805f03611d5657600191505061131b565b5f611d60856128e7565b9050805f03611d745760019250505061131b565b5f80611d81838589612982565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613a5f565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613ad4565b91509150611e2d611e1f82611321565b611e2890613af6565b612af6565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612c8a565b6040518263ffffffff1660e01b8152600401611f2b9190613b10565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613b1f565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613746565b611fed91906138e8565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613b4d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846138e8565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128aa565b5f808061211f61211788670de0b6b3a76400006138e8565b899087612dc4565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006138e8565b8989612de7565b925061215e8382613746565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006138e8565b83906124cf565b61157d90670de0b6b3a76400006138e8565b5f806121d3856121ab6119aa565b6121b59190613746565b600254610fa9908790600160801b90046001600160801b03166138e8565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006138e8565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612dc4565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006138e8565b8a9088612dc4565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613746565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613759565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613759565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613746565b6123b88587611584565b6123c2888a611584565b611c989190613746565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876138e8565b61241285876124cf565b61241c888a611584565b611c9891906138e8565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612e09565b612483845f612e09565b61248d9190613759565b90505f8113156124a8576124a18186613746565b94506124c6565b5f8112156124c6576124b981613af6565b6124c390866138e8565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc4565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612e1e565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b59190613b61565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af115801561262c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126509190613b61565b915061265c8282613746565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156126c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e49190613b61565b146127025760405163350b944160e11b815260040160405180910390fd5b50949350505050565b61273f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612e4d565b50505050565b5f808061276561275d88670de0b6b3a76400006138e8565b8990876124e3565b90508615612161576127778888611584565b91506121528a8a846127918a670de0b6b3a76400006138e8565b8989612ea4565b5f806127a48484612eb4565b9092509050806127b6576127b66113ec565b5092915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015612803573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613b61565b5f815f0361283e5750670de0b6b3a764000061131b565b825f0361284c57505f61131b565b5f61285683611321565b90505f61286a61286586611321565b612eef565b9050818102612881670de0b6b3a764000082613b78565b905061288c81613114565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc4565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612901906001600160801b031684612896565b905061292d7f000000000000000000000000000000000000000000000000000000000000000082613746565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906129789083906001600160801b03166138e8565b61157d91906138e8565b61298a613639565b5f8061299584612c8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cf9190613b10565b6040805180830381865af41580156129e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0d9190613b1f565b9350905082612a2157505f9150612aee9050565b5f612a47612a4284610160015185610140015161158490919063ffffffff16565b611321565b612a67612a428561012001518661010001516124cf90919063ffffffff16565b612a719190613759565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd09190613ba4565b935093509350935080612beb57505f98975050505050505050565b868414612c1c57612bfb846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4d57612c2c83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7b57612c5d826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c92613683565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d8a91166132a6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dbc929004166132a6565b905292915050565b5f825f190484118302158202612dd8575f80fd5b50910281810615159190040190565b5f80612df788888888888861331a565b909250905080611cc557611cc56113ec565b5f818313612e17578161157d565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016127e8565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612e9f9084906133f6565b505050565b5f80612df788888888888861345c565b5f805f83612ec186611321565b612ecb9190613759565b90505f811215612ee1575f809250925050612ee8565b9150600190505b9250929050565b5f808213612f105760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f939084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312d57505f919050565b680755bf798b4a1bf1e58212613156576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006132b96105ab565b6132c39190613956565b90508083116132d2575f6132dc565b6132dc81846138e8565b915061157d613313670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613956565b83906128aa565b5f805f61332a8989888888613518565b905086881015613340575f8092509250506133eb565b968690039661334f8887612827565b975087811015613365575f8092509250506133eb565b878103613373818688612dc4565b9050670de0b6b3a764000081106133a7576133a0613399670de0b6b3a764000089612896565b8290612827565b90506133bf565b6133bc613399670de0b6b3a7640000896128aa565b90505b6133c98186612896565b9050898110156133e0575f809350935050506133eb565b899003925060019150505b965096945050505050565b5f61340a6001600160a01b03841683613546565b905080515f1415801561342e57508080602001905181019061342c9190613bd7565b155b15612e9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61346c8989888888613518565b905061347c866119da898b613746565b975087811015613492575f8092509250506133eb565b8781036134a0818688612dc4565b9050670de0b6b3a764000081106134cd576134c6613399670de0b6b3a764000089612896565b90506134e5565b6134e2613399670de0b6b3a7640000896128aa565b90505b6134ef8186612896565b9050808a1015613506575f809350935050506133eb565b90980398600198509650505050505050565b5f6135238585612827565b61353c613534866119da868b6124cf565b859085612dc4565b6124269190613746565b606061157d83835f845f80856001600160a01b0316848660405161356a9190613bf2565b5f6040518083038185875af1925050503d805f81146135a4576040519150601f19603f3d011682016040523d82523d5f602084013e6135a9565b606091505b509150915061288c8683836060826135c9576135c482613610565b61157d565b81511580156135e057506001600160a01b0384163b155b1561360957604051639996b31560e01b81526001600160a01b0385166004820152602401613453565b508061157d565b8051156136205780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061364d613683565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156136eb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613716575f80fd5b850160608188031215613727575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613732565b8181035f8312801583831316838312821617156127b6576127b6613732565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561379c575f80fd5b813561157d81613778565b8015158114610591575f80fd5b5f602082840312156137c4575f80fd5b813561157d816137a7565b5f808335601e198436030181126137e4575f80fd5b83018035915067ffffffffffffffff8211156137fe575f80fd5b602001915036819003821315612ee8575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61387360e083018486613812565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138a0576138a0613732565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6138db60c083018486613812565b9998505050505050505050565b8181038181111561131b5761131b613732565b6001600160701b038181168382160190808211156127b6576127b6613732565b6001600160801b038181168382160190808211156127b6576127b6613732565b5f6020828403121561394b575f80fd5b815161157d81613778565b808202811582820484141761131b5761131b613732565b6001600160801b038281168282160390808211156127b6576127b6613732565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613732565b634e487b7160e01b5f52601260045260245ffd5b5f826139dc576139dc6139ba565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a728285516139e1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ae5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0a57613b0a613732565b505f0390565b610180810161131b82846139e1565b5f8060408385031215613b30575f80fd5b825191506020830151613b42816137a7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613b71575f80fd5b5051919050565b5f82613b8657613b866139ba565b600160ff1b82145f1984141615613b9f57613b9f613732565b500590565b5f805f8060808587031215613bb7575f80fd5b8451935060208501519250604085015191506060850151613727816137a7565b5f60208284031215613be7575f80fd5b815161157d816137a7565b5f82515f5b81811015613c115760208186018101518583015201613bf7565b505f92019182525091905056fea2646970667358221220b9e98ece53127923a7906b9ea689ecb1e6002be68e8487084cd519e09775646a64736f6c63430008160033a26469706673582212205f5aa409eae4faa0640904c71022305cb4399f397b4501d8a5b3a799a75041fc64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts deleted file mode 100644 index 0df5fb169..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts +++ /dev/null @@ -1,810 +0,0 @@ -export declare const ERC4626Target2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=ERC4626Target2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts.map deleted file mode 100644 index 012b46d1d..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target2.d.ts","sourceRoot":"","sources":["../src/ERC4626Target2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2+BqqiC,KAAK,MAAM,EAAE;;;;;CAK5siC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2.js b/packages/hyperdrive-artifacts/dist/ERC4626Target2.js deleted file mode 100644 index c79e7000d..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2.js +++ /dev/null @@ -1,1009 +0,0 @@ -export const ERC4626Target2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004256380380620042568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613db6620004a05f395f50505f50505f610c2801525f50505f818160f9015281816103020152612e0701525f81816114e601528181611d2601528181611d8901528181612510015281816129f701528181612a3301528181612c240152612de101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612dbb01525f61195001525f8181611a7101528181612601015281816126790152612f1f01525f81816109a301528181610e370152818161141501528181611a45015261264d01525f8181610e16015281816125cd0152612edb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e2d01525f81816101d301528181610396015281816108e101526134a601525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015281816116af0152818161172801526117b601525f818161168201526116e30152613db65ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461383a565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461383a565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906138a8565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856138a8565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138cf565b8b611217565b8d8a8a898e8561023e60208301836138cf565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138f7565b8961028960408a018a613912565b60405161029c979695949392919061397d565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846138a8565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906138a8565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016138a8565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846138cf565b85611217565b858b868461049b60208601866138cf565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138f7565b6104ec896104e68a8d6139bd565b90610683565b8d6104fa60408e018e613912565b60405161050e9897969594939291906139d0565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138cf565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138f7565b156105ea576105e0856105db6040870187613912565b611673565b9093509050610602565b5034610602856105fd6040870187613912565b6117a9565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117e3565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117fe565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6138a8565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611813565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b92505b5061083883611852565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139bd565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836138a8565b429061187f565b84610f13565b6108d588611893565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139bd565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a30565b915091508060095f82825461097291906138a8565b9091555061098d9050865f8461098781611afd565b88611b26565b61099781836138a8565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c9d565b91506109db6109d68385610683565b611ce6565b600680546002906109fc9084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611852565b60068054601090610a4b908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a30565b915091508060095f828254610abe91906138a8565b90915550610ad99050835f84610ad381611afd565b8a611d0f565b610ae381836139bd565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611852565b60068054601090610b62908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611afd565b610ba483611afd565b610bae9190613a57565b5f611eff565b8e610bbf8482611f3e565b50505b5f610bcc8461212d565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a76565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061226f565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611813565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122f5565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612320565b612384565b15610e6d57610e6d6123c5565b610e79878588856123de565b91965094509250670de0b6b3a7640000610efb610e9687846138a8565b600254610eb4908890600160801b90046001600160801b03166139bd565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b1115610f0957610f096123c5565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611852565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139bd565b610fb99190613a91565b85670de0b6b3a7640000610fcd878a6139bd565b610fd79190613a91565b859291906001612426565b611852565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611852565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a91565b6005546001600160801b03169190886001612426565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611852565b600280545f906110d19084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611852565b60028054601090611120908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611852565b6111579082613a37565b600380546001600160801b03808416600160801b02911617905590505f61117d836124ca565b905061119b8161118c87611afd565b6111969084613ac8565b611eff565b6111a48461250a565b6111b0576111b06123c5565b5f6111ba85612569565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906138a8565b90915550505f838152600b60205260408120805483929061126a9084906138a8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611813565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612575565b93508761134d8589612595565b111561135b5761135b6123c5565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b93506113d58a670de0b6b3a7640000868c6125a9565b509193509091506113e8905081836139bd565b6113f290876139bd565b95508861143f816114398d611407868c6139bd565b8d61141287826126b5565b877f00000000000000000000000000000000000000000000000000000000000000006126ca565b90612595565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126ea565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000008361270d565b5f6114a060408301602084016138f7565b156114ac5750826114b9565b6114b68484612776565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6123c5565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61278a565b1015611522576115226123c5565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613a91565b600554600160801b90046001600160801b03169190896001612426565b600580546001600160801b03928316600160801b02921691909117905561159281611852565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611852565b600280546010906115dd908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611852565b6004805460109061162c908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836124ca565b905061119b8161166988611afd565b6111969084613a57565b5f806116aa6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330886127af565b61170a7f00000000000000000000000000000000000000000000000000000000000000006116d98760016138a8565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061281c565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611776573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179a9190613aef565b92505f9150505b935093915050565b6117de6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866127af565b505050565b5f825f1904841183021582026117f7575f80fd5b5091020490565b5f6118098284613b1a565b61069790846139bd565b6002546004545f916106cb916001600160801b0390911690600f0b61278a565b5f611849826118438588886117e3565b906128ab565b95945050505050565b5f6001600160801b0382111561187b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161188d5782610697565b50919050565b6006545f9081906118b5908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a2b575f6118de83836139bd565b90506118ed610fe28286611450565b6006805460109061190f908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611947858361277690919063ffffffff16565b90505f611974827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461198791906138a8565b90915550611997905081836139bd565b91506119a282611852565b600280545f906119bc9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119e982612910565b600480545f906119fd908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a3c8785612776565b91505f611a69837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a95817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ab857611aa782826139bd565b611ab190846139bd565b9250611acf565b611ac282826139bd565b611acc90846138a8565b92505b86861015611af257611ae28387896117e3565b9250611aef8287896117e3565b91505b509550959350505050565b5f6001600160ff1b0382111561187b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b6e610fe282611b52670de0b6b3a764000086613a91565b600554600160801b90046001600160801b031691908a5f612426565b600580546001600160801b03928316600160801b029216919091179055611b9486611852565b611b9e9082613aa8565b600480546001600160801b03928316600160801b029216919091179055611bc484611852565b600280545f90611bde9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c0b83612939565b600480545f90611c1f908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c4f85611852565b60028054601090611c71908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cb484611cae8a888a6117e3565b90612776565b9050611cc18884866117e3565b611ccb90826138a8565b905086811115611cdb5786810391505b509695505050505050565b5f6001600160701b0382111561187b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5157507f0000000000000000000000000000000000000000000000000000000000000000611d4f85836139bd565b105b15611d5e57611d5e6123c5565b6004549084900390600f0b611d738482613a57565b905083611d7f86611afd565b138015611db457507f0000000000000000000000000000000000000000000000000000000000000000611db2838361278a565b105b15611dc157611dc16123c5565b600354600160801b90046001600160801b0316611e02610fe282611ded670de0b6b3a764000088613a91565b6005546001600160801b031691908c5f612426565b600580546001600160801b0319166001600160801b0392909216919091179055611e2c88826139bd565b9050611e3781611852565b600380546001600160801b03928316600160801b029216919091179055611e5d83611852565b600280546001600160801b0319166001600160801b0392909216919091179055611e8682612939565b600480546001600160801b0319166001600160801b0392909216919091179055611eaf87611852565b60028054601090611ed1908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f1a90610fe2906001600160801b03168484612974565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f88916001600160801b0316906139bd565b9050805f03611f9b57600191505061069a565b5f611fa5856129d6565b9050805f03611fb95760019250505061069a565b5f80611fc6838589612a71565b9150915080611fdb575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612016929190613bd8565b6040805180830381865af4158015612030573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120549190613c4d565b9150915061207261206482611afd565b61206d90613c6f565b612bde565b925082612087575f965050505050505061069a565b61209082611852565b600780545f906120aa9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120d781611852565b600780546010906120f9908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61215487612d72565b6040518263ffffffff1660e01b81526004016121709190613c89565b6040805180830381865af415801561218a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121ae9190613c98565b91509150806121c357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612228916138a8565b61223291906139bd565b9050805f0361224857505f958695509350505050565b5f808711612256575f612261565b6122618488846117e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229257612292613cc6565b6040519080825280601f01601f1916602001820160405280156122bc576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122dc578692505b828152825f602083013e90999098509650505050505050565b5f61231587878761230e88670de0b6b3a76400006139bd565b8787612eac565b979650505050505050565b5f6114b661236061233984670de0b6b3a76400006139bd565b611439670de0b6b3a764000061234f818a611450565b61235991906139bd565b8790612595565b61237290670de0b6b3a76400006138a8565b611cae84670de0b6b3a76400006139bd565b5f806123ba85612392611813565b61239c91906138a8565b600254610eb4908790600160801b90046001600160801b03166139bd565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123ee898789612ece565b90925090506123fd82896139bd565b97505f61240b82888a6117e3565b9050612417818b6139bd565b9a989950979650505050505050565b5f825f03612435575084611849565b81156124875761246661244884876138a8565b6124528587610683565b61245c888a610683565b611cae91906138a8565b90505f612473858861187f565b905080821015612481578091505b50611849565b82850361249557505f611849565b6124c06124a284876139bd565b6124ac8587612595565b6124b6888a610683565b611cae91906139bd565b9695505050505050565b5f6124ef600b5f6124dc6002866111e3565b81526020019081526020015f2054611afd565b612500600b5f6124dc6001876111e3565b61069a9190613a57565b5f6125357f000000000000000000000000000000000000000000000000000000000000000083612595565b60035461254b91906001600160801b03166138a8565b600254612561906001600160801b031684610683565b101592915050565b5f61069a826004611f3e565b5f61231587878761258e88670de0b6b3a76400006139bd565b8787612f4d565b5f6106978383670de0b6b3a76400006126ea565b5f8080806125f987866125f28b6114396125cb8c670de0b6b3a76400006139bd565b7f000000000000000000000000000000000000000000000000000000000000000090612595565b91906126ea565b9350612625847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61264561263d89670de0b6b3a76400006139bd565b8a90886126ea565b9050612671817f0000000000000000000000000000000000000000000000000000000000000000612595565b935061269d847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126a790846138a8565b915050945094509450949050565b5f8183116126c35781610697565b5090919050565b5f806126e1846126db8a888a6126ea565b90611450565b9050611cc18884865b5f825f1904841183021582026126fe575f80fd5b50910281810615159190040190565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa158015612752573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613aef565b5f61069783670de0b6b3a7640000846117e3565b5f806127968484612f5d565b9092509050806127a8576127a86123c5565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526128169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f95565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261286d8482612ffb565b612816576040516001600160a01b0384811660248301525f60448301526128a191869182169063095ea7b3906064016127e4565b6128168482612f95565b5f815f036128c25750670de0b6b3a764000061069a565b825f036128d057505f61069a565b5f6128da83611afd565b90505f6128ee6128e986611afd565b613098565b9050818102612905670de0b6b3a764000082613cda565b90506124c0816132bd565b5f60016001607f1b0382111561187b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612956575060016001607f1b0382135b1561187b5760405163a5353be560e01b815260040160405180910390fd5b5f80612980845f61344f565b61298a845f61344f565b6129949190613a57565b90505f8113156129af576129a881866138a8565b94506129cd565b5f8112156129cd576129c081613c6f565b6129ca90866139bd565b94505b50929392505050565b6003545f9081906129f0906001600160801b031684611450565b9050612a1c7f0000000000000000000000000000000000000000000000000000000000000000826138a8565b6002546001600160801b0316111561188d576002547f000000000000000000000000000000000000000000000000000000000000000090612a679083906001600160801b03166139bd565b6114b991906139bd565b612a7961379b565b5f80612a8484612d72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612abe9190613c89565b6040805180830381865af4158015612ad8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612afc9190613c98565b9350905082612b1057505f91506117a19050565b5f612b36612b3184610160015185610140015161068390919063ffffffff16565b611afd565b612b56612b3185610120015186610100015161259590919063ffffffff16565b612b609190613a57565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cb89190613d06565b935093509350935080612cd357505f98975050505050505050565b868414612d0457612ce384611852565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d3557612d1483612939565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d6357612d4582611852565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d7a6137e5565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e72911661345d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612ea49290041661345d565b905292915050565b5f80612ebc8888888888886134d1565b909250905080611cdb57611cdb6123c5565b5f80612f178561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f0d818c611450565b61143991906139bd565b9150612f43827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612ebc888888888888613595565b5f805f83612f6a86611afd565b612f749190613a57565b90505f811215612f8a575f80925092505061067c565b946001945092505050565b5f612fa96001600160a01b03841683613651565b905080515f14158015612fcd575080806020019051810190612fcb9190613d39565b155b156117de57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516130169190613d54565b5f604051808303815f865af19150503d805f811461304f576040519150601f19603f3d011682016040523d82523d5f602084013e613054565b606091505b509150915081801561307e57508051158061307e57508080602001905181019061307e9190613d39565b80156118495750505050506001600160a01b03163b151590565b5f8082136130b95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061313c9084901c611afd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d657505f919050565b680755bf798b4a1bf1e582126132ff576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124c074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611afd565b5f8183136126c35781610697565b5f80670de0b6b3a76400006134706106a0565b61347a9190613a91565b9050808311613489575f613493565b61349381846139bd565b91506114b96134ca670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a91565b8390612776565b5f805f6134e1898988888861365e565b90506134fb866118436134f48a8d6138a8565b8790610683565b9850613508858a866117e3565b98508881101561351e575f80925092505061358a565b888103670de0b6b3a764000081106135535761354c613545670de0b6b3a764000089611450565b82906128ab565b905061356b565b613568613545670de0b6b3a764000089612776565b90505b80891015613580575f8093509350505061358a565b8803925060019150505b965096945050505050565b5f805f6135a5898988888861365e565b90506135b586611843898b6138a8565b9750878110156135cb575f80925092505061358a565b8781036135d98186886126ea565b9050670de0b6b3a76400008110613606576135ff613545670de0b6b3a764000089611450565b905061361e565b61361b613545670de0b6b3a764000089612776565b90505b6136288186611450565b9050808a101561363f575f8093509350505061358a565b90980398600198509650505050505050565b606061069783835f61368c565b5f61366985856128ab565b61368261367a86611843868b612595565b8590856126ea565b6124c091906138a8565b6060814710156136b15760405163cd78605960e01b8152306004820152602401612ff2565b5f80856001600160a01b031684866040516136cc9190613d54565b5f6040518083038185875af1925050503d805f8114613706576040519150601f19603f3d011682016040523d82523d5f602084013e61370b565b606091505b50915091506124c086838360608261372b5761372682613772565b6114b9565b815115801561374257506001600160a01b0384163b155b1561376b57604051639996b31560e01b81526001600160a01b0385166004820152602401612ff2565b50806114b9565b8051156137825780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137af6137e5565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561384d575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613878575f80fd5b850160608188031215613889575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613894565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138df575f80fd5b81356114b9816138bb565b80151581146105af575f80fd5b5f60208284031215613907575f80fd5b81356114b9816138ea565b5f808335601e19843603018112613927575f80fd5b83018035915067ffffffffffffffff821115613941575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6139b060c083018486613955565b9998505050505050505050565b8181038181111561069a5761069a613894565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613a0960e083018486613955565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127a8576127a8613894565b6001600160801b038181168382160190808211156127a8576127a8613894565b8181035f8312801583831316838312821617156127a8576127a8613894565b5f60208284031215613a86575f80fd5b81516114b9816138bb565b808202811582820484141761069a5761069a613894565b6001600160801b038281168282160390808211156127a8576127a8613894565b8082018281125f831280158216821582161715613ae757613ae7613894565b505092915050565b5f60208284031215613aff575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2857613b28613b06565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613894565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613beb828551613b5a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c5e575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c8357613c83613894565b505f0390565b610180810161069a8284613b5a565b5f8060408385031215613ca9575f80fd5b825191506020830151613cbb816138ea565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ce857613ce8613b06565b600160ff1b82145f1984141615613d0157613d01613894565b500590565b5f805f8060808587031215613d19575f80fd5b8451935060208501519250604085015191506060850151613889816138ea565b5f60208284031215613d49575f80fd5b81516114b9816138ea565b5f82515f5b81811015613d735760208186018101518583015201613d59565b505f92019182525091905056fea26469706673582212208a4ab4c94830f5d2444fc1295aa78da62a176036a4136e87b4edecc32d6b841164736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts deleted file mode 100644 index 84e5992dd..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC4626Target2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ERC4626Target2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts.map deleted file mode 100644 index 066f9309c..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target2Deployer.d.ts","sourceRoot":"","sources":["../src/ERC4626Target2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IuonC,KAAK,MAAM,EAAE;;;;CAItrnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.js b/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.js deleted file mode 100644 index 858efdaf8..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ERC4626Target2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061472e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614256806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004256380380620042568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613db6620004a05f395f50505f50505f610c2801525f50505f818160f9015281816103020152612e0701525f81816114e601528181611d2601528181611d8901528181612510015281816129f701528181612a3301528181612c240152612de101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612dbb01525f61195001525f8181611a7101528181612601015281816126790152612f1f01525f81816109a301528181610e370152818161141501528181611a45015261264d01525f8181610e16015281816125cd0152612edb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e2d01525f81816101d301528181610396015281816108e101526134a601525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015281816116af0152818161172801526117b601525f818161168201526116e30152613db65ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461383a565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461383a565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906138a8565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856138a8565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138cf565b8b611217565b8d8a8a898e8561023e60208301836138cf565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138f7565b8961028960408a018a613912565b60405161029c979695949392919061397d565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846138a8565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906138a8565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016138a8565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846138cf565b85611217565b858b868461049b60208601866138cf565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138f7565b6104ec896104e68a8d6139bd565b90610683565b8d6104fa60408e018e613912565b60405161050e9897969594939291906139d0565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138cf565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138f7565b156105ea576105e0856105db6040870187613912565b611673565b9093509050610602565b5034610602856105fd6040870187613912565b6117a9565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117e3565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117fe565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6138a8565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611813565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b92505b5061083883611852565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139bd565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836138a8565b429061187f565b84610f13565b6108d588611893565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139bd565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a30565b915091508060095f82825461097291906138a8565b9091555061098d9050865f8461098781611afd565b88611b26565b61099781836138a8565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c9d565b91506109db6109d68385610683565b611ce6565b600680546002906109fc9084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611852565b60068054601090610a4b908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a30565b915091508060095f828254610abe91906138a8565b90915550610ad99050835f84610ad381611afd565b8a611d0f565b610ae381836139bd565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611852565b60068054601090610b62908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611afd565b610ba483611afd565b610bae9190613a57565b5f611eff565b8e610bbf8482611f3e565b50505b5f610bcc8461212d565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a76565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061226f565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611813565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122f5565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612320565b612384565b15610e6d57610e6d6123c5565b610e79878588856123de565b91965094509250670de0b6b3a7640000610efb610e9687846138a8565b600254610eb4908890600160801b90046001600160801b03166139bd565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b1115610f0957610f096123c5565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611852565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139bd565b610fb99190613a91565b85670de0b6b3a7640000610fcd878a6139bd565b610fd79190613a91565b859291906001612426565b611852565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611852565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a91565b6005546001600160801b03169190886001612426565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611852565b600280545f906110d19084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611852565b60028054601090611120908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611852565b6111579082613a37565b600380546001600160801b03808416600160801b02911617905590505f61117d836124ca565b905061119b8161118c87611afd565b6111969084613ac8565b611eff565b6111a48461250a565b6111b0576111b06123c5565b5f6111ba85612569565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906138a8565b90915550505f838152600b60205260408120805483929061126a9084906138a8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611813565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612575565b93508761134d8589612595565b111561135b5761135b6123c5565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b93506113d58a670de0b6b3a7640000868c6125a9565b509193509091506113e8905081836139bd565b6113f290876139bd565b95508861143f816114398d611407868c6139bd565b8d61141287826126b5565b877f00000000000000000000000000000000000000000000000000000000000000006126ca565b90612595565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126ea565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000008361270d565b5f6114a060408301602084016138f7565b156114ac5750826114b9565b6114b68484612776565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6123c5565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61278a565b1015611522576115226123c5565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613a91565b600554600160801b90046001600160801b03169190896001612426565b600580546001600160801b03928316600160801b02921691909117905561159281611852565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611852565b600280546010906115dd908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611852565b6004805460109061162c908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836124ca565b905061119b8161166988611afd565b6111969084613a57565b5f806116aa6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330886127af565b61170a7f00000000000000000000000000000000000000000000000000000000000000006116d98760016138a8565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061281c565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611776573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179a9190613aef565b92505f9150505b935093915050565b6117de6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866127af565b505050565b5f825f1904841183021582026117f7575f80fd5b5091020490565b5f6118098284613b1a565b61069790846139bd565b6002546004545f916106cb916001600160801b0390911690600f0b61278a565b5f611849826118438588886117e3565b906128ab565b95945050505050565b5f6001600160801b0382111561187b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161188d5782610697565b50919050565b6006545f9081906118b5908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a2b575f6118de83836139bd565b90506118ed610fe28286611450565b6006805460109061190f908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611947858361277690919063ffffffff16565b90505f611974827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461198791906138a8565b90915550611997905081836139bd565b91506119a282611852565b600280545f906119bc9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119e982612910565b600480545f906119fd908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a3c8785612776565b91505f611a69837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a95817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ab857611aa782826139bd565b611ab190846139bd565b9250611acf565b611ac282826139bd565b611acc90846138a8565b92505b86861015611af257611ae28387896117e3565b9250611aef8287896117e3565b91505b509550959350505050565b5f6001600160ff1b0382111561187b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b6e610fe282611b52670de0b6b3a764000086613a91565b600554600160801b90046001600160801b031691908a5f612426565b600580546001600160801b03928316600160801b029216919091179055611b9486611852565b611b9e9082613aa8565b600480546001600160801b03928316600160801b029216919091179055611bc484611852565b600280545f90611bde9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c0b83612939565b600480545f90611c1f908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c4f85611852565b60028054601090611c71908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cb484611cae8a888a6117e3565b90612776565b9050611cc18884866117e3565b611ccb90826138a8565b905086811115611cdb5786810391505b509695505050505050565b5f6001600160701b0382111561187b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5157507f0000000000000000000000000000000000000000000000000000000000000000611d4f85836139bd565b105b15611d5e57611d5e6123c5565b6004549084900390600f0b611d738482613a57565b905083611d7f86611afd565b138015611db457507f0000000000000000000000000000000000000000000000000000000000000000611db2838361278a565b105b15611dc157611dc16123c5565b600354600160801b90046001600160801b0316611e02610fe282611ded670de0b6b3a764000088613a91565b6005546001600160801b031691908c5f612426565b600580546001600160801b0319166001600160801b0392909216919091179055611e2c88826139bd565b9050611e3781611852565b600380546001600160801b03928316600160801b029216919091179055611e5d83611852565b600280546001600160801b0319166001600160801b0392909216919091179055611e8682612939565b600480546001600160801b0319166001600160801b0392909216919091179055611eaf87611852565b60028054601090611ed1908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f1a90610fe2906001600160801b03168484612974565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f88916001600160801b0316906139bd565b9050805f03611f9b57600191505061069a565b5f611fa5856129d6565b9050805f03611fb95760019250505061069a565b5f80611fc6838589612a71565b9150915080611fdb575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612016929190613bd8565b6040805180830381865af4158015612030573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120549190613c4d565b9150915061207261206482611afd565b61206d90613c6f565b612bde565b925082612087575f965050505050505061069a565b61209082611852565b600780545f906120aa9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120d781611852565b600780546010906120f9908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61215487612d72565b6040518263ffffffff1660e01b81526004016121709190613c89565b6040805180830381865af415801561218a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121ae9190613c98565b91509150806121c357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612228916138a8565b61223291906139bd565b9050805f0361224857505f958695509350505050565b5f808711612256575f612261565b6122618488846117e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229257612292613cc6565b6040519080825280601f01601f1916602001820160405280156122bc576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122dc578692505b828152825f602083013e90999098509650505050505050565b5f61231587878761230e88670de0b6b3a76400006139bd565b8787612eac565b979650505050505050565b5f6114b661236061233984670de0b6b3a76400006139bd565b611439670de0b6b3a764000061234f818a611450565b61235991906139bd565b8790612595565b61237290670de0b6b3a76400006138a8565b611cae84670de0b6b3a76400006139bd565b5f806123ba85612392611813565b61239c91906138a8565b600254610eb4908790600160801b90046001600160801b03166139bd565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123ee898789612ece565b90925090506123fd82896139bd565b97505f61240b82888a6117e3565b9050612417818b6139bd565b9a989950979650505050505050565b5f825f03612435575084611849565b81156124875761246661244884876138a8565b6124528587610683565b61245c888a610683565b611cae91906138a8565b90505f612473858861187f565b905080821015612481578091505b50611849565b82850361249557505f611849565b6124c06124a284876139bd565b6124ac8587612595565b6124b6888a610683565b611cae91906139bd565b9695505050505050565b5f6124ef600b5f6124dc6002866111e3565b81526020019081526020015f2054611afd565b612500600b5f6124dc6001876111e3565b61069a9190613a57565b5f6125357f000000000000000000000000000000000000000000000000000000000000000083612595565b60035461254b91906001600160801b03166138a8565b600254612561906001600160801b031684610683565b101592915050565b5f61069a826004611f3e565b5f61231587878761258e88670de0b6b3a76400006139bd565b8787612f4d565b5f6106978383670de0b6b3a76400006126ea565b5f8080806125f987866125f28b6114396125cb8c670de0b6b3a76400006139bd565b7f000000000000000000000000000000000000000000000000000000000000000090612595565b91906126ea565b9350612625847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61264561263d89670de0b6b3a76400006139bd565b8a90886126ea565b9050612671817f0000000000000000000000000000000000000000000000000000000000000000612595565b935061269d847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126a790846138a8565b915050945094509450949050565b5f8183116126c35781610697565b5090919050565b5f806126e1846126db8a888a6126ea565b90611450565b9050611cc18884865b5f825f1904841183021582026126fe575f80fd5b50910281810615159190040190565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa158015612752573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613aef565b5f61069783670de0b6b3a7640000846117e3565b5f806127968484612f5d565b9092509050806127a8576127a86123c5565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526128169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f95565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261286d8482612ffb565b612816576040516001600160a01b0384811660248301525f60448301526128a191869182169063095ea7b3906064016127e4565b6128168482612f95565b5f815f036128c25750670de0b6b3a764000061069a565b825f036128d057505f61069a565b5f6128da83611afd565b90505f6128ee6128e986611afd565b613098565b9050818102612905670de0b6b3a764000082613cda565b90506124c0816132bd565b5f60016001607f1b0382111561187b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612956575060016001607f1b0382135b1561187b5760405163a5353be560e01b815260040160405180910390fd5b5f80612980845f61344f565b61298a845f61344f565b6129949190613a57565b90505f8113156129af576129a881866138a8565b94506129cd565b5f8112156129cd576129c081613c6f565b6129ca90866139bd565b94505b50929392505050565b6003545f9081906129f0906001600160801b031684611450565b9050612a1c7f0000000000000000000000000000000000000000000000000000000000000000826138a8565b6002546001600160801b0316111561188d576002547f000000000000000000000000000000000000000000000000000000000000000090612a679083906001600160801b03166139bd565b6114b991906139bd565b612a7961379b565b5f80612a8484612d72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612abe9190613c89565b6040805180830381865af4158015612ad8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612afc9190613c98565b9350905082612b1057505f91506117a19050565b5f612b36612b3184610160015185610140015161068390919063ffffffff16565b611afd565b612b56612b3185610120015186610100015161259590919063ffffffff16565b612b609190613a57565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cb89190613d06565b935093509350935080612cd357505f98975050505050505050565b868414612d0457612ce384611852565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d3557612d1483612939565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d6357612d4582611852565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d7a6137e5565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e72911661345d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612ea49290041661345d565b905292915050565b5f80612ebc8888888888886134d1565b909250905080611cdb57611cdb6123c5565b5f80612f178561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f0d818c611450565b61143991906139bd565b9150612f43827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612ebc888888888888613595565b5f805f83612f6a86611afd565b612f749190613a57565b90505f811215612f8a575f80925092505061067c565b946001945092505050565b5f612fa96001600160a01b03841683613651565b905080515f14158015612fcd575080806020019051810190612fcb9190613d39565b155b156117de57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516130169190613d54565b5f604051808303815f865af19150503d805f811461304f576040519150601f19603f3d011682016040523d82523d5f602084013e613054565b606091505b509150915081801561307e57508051158061307e57508080602001905181019061307e9190613d39565b80156118495750505050506001600160a01b03163b151590565b5f8082136130b95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061313c9084901c611afd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d657505f919050565b680755bf798b4a1bf1e582126132ff576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124c074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611afd565b5f8183136126c35781610697565b5f80670de0b6b3a76400006134706106a0565b61347a9190613a91565b9050808311613489575f613493565b61349381846139bd565b91506114b96134ca670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a91565b8390612776565b5f805f6134e1898988888861365e565b90506134fb866118436134f48a8d6138a8565b8790610683565b9850613508858a866117e3565b98508881101561351e575f80925092505061358a565b888103670de0b6b3a764000081106135535761354c613545670de0b6b3a764000089611450565b82906128ab565b905061356b565b613568613545670de0b6b3a764000089612776565b90505b80891015613580575f8093509350505061358a565b8803925060019150505b965096945050505050565b5f805f6135a5898988888861365e565b90506135b586611843898b6138a8565b9750878110156135cb575f80925092505061358a565b8781036135d98186886126ea565b9050670de0b6b3a76400008110613606576135ff613545670de0b6b3a764000089611450565b905061361e565b61361b613545670de0b6b3a764000089612776565b90505b6136288186611450565b9050808a101561363f575f8093509350505061358a565b90980398600198509650505050505050565b606061069783835f61368c565b5f61366985856128ab565b61368261367a86611843868b612595565b8590856126ea565b6124c091906138a8565b6060814710156136b15760405163cd78605960e01b8152306004820152602401612ff2565b5f80856001600160a01b031684866040516136cc9190613d54565b5f6040518083038185875af1925050503d805f8114613706576040519150601f19603f3d011682016040523d82523d5f602084013e61370b565b606091505b50915091506124c086838360608261372b5761372682613772565b6114b9565b815115801561374257506001600160a01b0384163b155b1561376b57604051639996b31560e01b81526001600160a01b0385166004820152602401612ff2565b50806114b9565b8051156137825780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137af6137e5565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561384d575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613878575f80fd5b850160608188031215613889575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613894565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138df575f80fd5b81356114b9816138bb565b80151581146105af575f80fd5b5f60208284031215613907575f80fd5b81356114b9816138ea565b5f808335601e19843603018112613927575f80fd5b83018035915067ffffffffffffffff821115613941575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6139b060c083018486613955565b9998505050505050505050565b8181038181111561069a5761069a613894565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613a0960e083018486613955565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127a8576127a8613894565b6001600160801b038181168382160190808211156127a8576127a8613894565b8181035f8312801583831316838312821617156127a8576127a8613894565b5f60208284031215613a86575f80fd5b81516114b9816138bb565b808202811582820484141761069a5761069a613894565b6001600160801b038281168282160390808211156127a8576127a8613894565b8082018281125f831280158216821582161715613ae757613ae7613894565b505092915050565b5f60208284031215613aff575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2857613b28613b06565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613894565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613beb828551613b5a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c5e575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c8357613c83613894565b505f0390565b610180810161069a8284613b5a565b5f8060408385031215613ca9575f80fd5b825191506020830151613cbb816138ea565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ce857613ce8613b06565b600160ff1b82145f1984141615613d0157613d01613894565b500590565b5f805f8060808587031215613d19575f80fd5b8451935060208501519250604085015191506060850151613889816138ea565b5f60208284031215613d49575f80fd5b81516114b9816138ea565b5f82515f5b81811015613d735760208186018101518583015201613d59565b505f92019182525091905056fea26469706673582212208a4ab4c94830f5d2444fc1295aa78da62a176036a4136e87b4edecc32d6b841164736f6c63430008160033a264697066735822122043f672569fe8860f954412d209b078eaed10295fb03a71f5dd6a807e7e219bad64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts deleted file mode 100644 index 5e94fed94..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts +++ /dev/null @@ -1,826 +0,0 @@ -export declare const ERC4626Target3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=ERC4626Target3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts.map deleted file mode 100644 index 522d15ef5..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target3.d.ts","sourceRoot":"","sources":["../src/ERC4626Target3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+/B63hC,KAAK,MAAM,EAAE;;;;;CAKp6hC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3.js b/packages/hyperdrive-artifacts/dist/ERC4626Target3.js deleted file mode 100644 index bb09d49fb..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3.js +++ /dev/null @@ -1,1029 +0,0 @@ -export const ERC4626Target3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b50604051620041c2380380620041c28339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613d11620004b15f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d601528181612139015281816129e201528181612dd70152612e1301525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611ce701525f8181611e3c015261306201525f81816110260152611e1001525f61301801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297801525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f818161198801528181611a0101528181611a8f0152612cba01525f818161195b01526119bc0152613d115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461376a565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137c9565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613829565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961383c565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613829565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261383c565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061383c565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613829565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138cd565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138dc565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138cd565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138dc565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761383c565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613907565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613829565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613907565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161392f565b866107a960408c018c61394a565b6040516107bc979695949392919061398d565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139e0565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139f7565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613907565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613907565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161392f565b87610b5e604089018961394a565b604051610b71979695949392919061398d565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613907565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161392f565b15610c8f57610c8585610c80604087018761394a565b61194c565b9093509050610ca7565b5034610ca785610ca2604087018761394a565b611a82565b610caf611abc565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ace565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613829565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a84611ae3565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613829565b4290611c1c565b84611ae3565b610f5888611c2a565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dc7565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfb565b915091508060095f828254610ff59190613829565b909155506110109050865f8461100a81611766565b88611ec8565b61101a8183613829565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061203f565b915061105e6110598385612082565b612096565b6006805460029061107f9084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dc7565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfb565b915091508060095f8282546111419190613829565b9091555061115c9050835f8461115681611766565b8a6120bf565b611166818361383c565b91506111756110598387612082565b600680546002906111969084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a62565b5f6122af565b8e61124284826122ee565b50505b5f61124f846124dd565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a81565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061261f565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dc7565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dc7565b6113f79190613a62565b92915050565b5f805f8061140b8a8a6126a7565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8b7f00000000000000000000000000000000000000000000000000000000000000006126df565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8d7f0000000000000000000000000000000000000000000000000000000000000000612798565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612852565b509093505f9050611568848f613829565b90505f6115888b8b61157987611766565b611583908e613a9c565b61289a565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128fc565b611766565b6115c683611766565b6115d36115b88685612082565b6115dd9190613a62565b6115e79190613a62565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290c565b61162685670de0b6b3a764000061383c565b906117d4565b6116346136bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661292f565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661292f565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299c565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613829565b90915550505f838152600b60205260408120805483929061183b908490613829565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122ee565b5f8183136118a7578261008d565b50919050565b5f806118b984846126a7565b9092509050806118cb576118cb612b30565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b49565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bb8565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613829565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c25565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a7391906138dc565b92505f9150505b935093915050565b611ab76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612bb8565b505050565b5f610c2d670de0b6b3a7640000612cb4565b5f611ad98284613ad7565b61008d908461383c565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b0e5750505050565b5f848152600860205260408120546001600160801b031690819003611b6657611b36836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be3565b611bb7611bb2670de0b6b3a7640000611b7f888661383c565b611b8991906139e0565b85670de0b6b3a7640000611b9d878a61383c565b611ba791906139e0565b859291906001612cdf565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bec846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4c908490600160801b90046001600160801b0316612082565b6006546201000090046001600160701b03169250905081811115611dc2575f611c75838361383c565b9050611c84611bb28286612d79565b60068054601090611ca6908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cde85836117d490919063ffffffff16565b90505f611d0b827f0000000000000000000000000000000000000000000000000000000000000000612082565b90508060095f828254611d1e9190613829565b90915550611d2e9050818361383c565b9150611d39826118d2565b600280545f90611d539084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8082612d8d565b600480545f90611d94908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0787856117d4565b91505f611e34837f0000000000000000000000000000000000000000000000000000000000000000612082565b9050611e60817f0000000000000000000000000000000000000000000000000000000000000000612082565b91508315611e8357611e72828261383c565b611e7c908461383c565b9250611e9a565b611e8d828261383c565b611e979084613829565b92505b86861015611ebd57611ead8387896117b9565b9250611eba8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f10611bb282611ef4670de0b6b3a7640000866139e0565b600554600160801b90046001600160801b031691908a5f612cdf565b600580546001600160801b03928316600160801b029216919091179055611f36866118d2565b611f409082613aea565b600480546001600160801b03928316600160801b029216919091179055611f66846118d2565b600280545f90611f809084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fad836118fb565b600480545f90611fc1908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff1856118d2565b60028054601090612013908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612050846116268a888a6117b9565b905061205d8884866117b9565b6120679082613829565b9050868111156120775786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210157507f00000000000000000000000000000000000000000000000000000000000000006120ff858361383c565b105b1561210e5761210e612b30565b6004549084900390600f0b6121238482613a62565b90508361212f86611766565b13801561216457507f000000000000000000000000000000000000000000000000000000000000000061216283836118ad565b105b1561217157612171612b30565b600354600160801b90046001600160801b03166121b2611bb28261219d670de0b6b3a7640000886139e0565b6005546001600160801b031691908c5f612cdf565b600580546001600160801b0319166001600160801b03929092169190911790556121dc888261383c565b90506121e7816118d2565b600380546001600160801b03928316600160801b02921691909117905561220d836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612236826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561225f876118d2565b60028054601090612281908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122ca90611bb2906001600160801b0316848461289a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612338916001600160801b03169061383c565b9050805f0361234b5760019150506113f7565b5f61235585612db6565b9050805f03612369576001925050506113f7565b5f80612376838589612e51565b915091508061238b575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c6929190613b37565b6040805180830381865af41580156123e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124049190613bac565b9150915061242261241482611766565b61241d90613bce565b61299c565b925082612437575f96505050505050506113f7565b612440826118d2565b600780545f9061245a9084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612487816118d2565b600780546010906124a9908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125048761162c565b6040518263ffffffff1660e01b815260040161252091906138cd565b6040805180830381865af415801561253a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061255e9190613be8565b915091508061257357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125d891613829565b6125e2919061383c565b9050805f036125f857505f958695509350505050565b5f808711612606575f612611565b6126118488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264257612642613c16565b6040519080825280601f01601f19166020018201604052801561266c576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268c578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b486611766565b6126be9190613a62565b90505f8112156126d4575f809250925050610d21565b946001945092505050565b5f805f6126ef8888888888612fb9565b90505f612719670de0b6b3a76400006127088888612d79565b6127129190613829565b83906117d4565b9050670de0b6b3a7640000811061274d5761274661273f670de0b6b3a7640000896117d4565b8290612b49565b9050612765565b61276261273f670de0b6b3a764000089612d79565b90505b61276f81866117d4565b905088811015612786575f8093509350505061269d565b97909703976001975095505050505050565b5f805f6127a88989888888612fe7565b90506127c2866119466127bb8a8d613829565b8790612082565b98506127cf858a866117b9565b9850888110156127e5575f8092509250506115f6565b888103670de0b6b3a764000081106128135761280c61273f670de0b6b3a764000089612d79565b905061282b565b61282861273f670de0b6b3a7640000896117d4565b90505b80891015612840575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61286289878961300b565b9092509050612871828961383c565b97505f61287f82888a6117b9565b905061288b818b61383c565b9a989950979650505050505050565b5f806128a6845f613090565b6128b0845f613090565b6128ba9190613a62565b90505f8113156128d5576128ce8186613829565b94506128f3565b5f8112156128f3576128e681613bce565b6128f0908661383c565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612920575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612942610d28565b61294c91906139e0565b905080831161295b575f612965565b612965818461383c565b915061008d612712670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139e0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a769190613c2a565b935093509350935080612a9157505f98975050505050505050565b868414612ac257612aa1846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af357612ad2836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2157612b03826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b605750670de0b6b3a76400006113f7565b825f03612b6e57505f6113f7565b5f612b7883611766565b90505f612b8c612b8786611766565b6130a5565b9050818102612ba3670de0b6b3a764000082613c68565b9050612bae816132ca565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c1f9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061345c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c7684826134c2565b612c1f576040516001600160a01b0384811660248301525f6044830152612caa91869182169063095ea7b390606401612bed565b612c1f848261345c565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000008361355f565b5f825f03612cee575084610075565b8115612d4057612d1f612d018487613829565b612d0b8587612082565b612d15888a612082565b6116269190613829565b90505f612d2c8588611c1c565b905080821015612d3a578091505b50610075565b828503612d4e57505f610075565b610072612d5b848761383c565b612d6585876128fc565b612d6f888a612082565b611626919061383c565b5f61008d83670de0b6b3a76400008461290c565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dd0906001600160801b031684612d79565b9050612dfc7f000000000000000000000000000000000000000000000000000000000000000082613829565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e479083906001600160801b031661383c565b61008d919061383c565b612e59613710565b5f80612e648461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e9e91906138cd565b6040805180830381865af4158015612eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612edc9190613be8565b9350905082612ef057505f9150611a7a9050565b5f612f116115b884610160015185610140015161208290919063ffffffff16565b612f316115b88561012001518661010001516128fc90919063ffffffff16565b612f3b9190613a62565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fc48585612b49565b612fdd612fd586611946868b612082565b8590856117b9565b6100729190613829565b5f612ff28585612b49565b612fdd61300386611946868b6128fc565b85908561290c565b5f8061305a8561305485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061304a818c612d79565b613054919061383c565b906128fc565b9150613086827f0000000000000000000000000000000000000000000000000000000000000000612082565b9050935093915050565b5f81831361309e578161008d565b5090919050565b5f8082136130c65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131499084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132e357505f919050565b680755bf798b4a1bf1e5821261330c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134706001600160a01b038416836135c8565b905080515f141580156134945750808060200190518101906134929190613c94565b155b15611ab757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134dd9190613caf565b5f604051808303815f865af19150503d805f8114613516576040519150601f19603f3d011682016040523d82523d5f602084013e61351b565b606091505b50915091508180156135455750805115806135455750808060200190518101906135459190613c94565b80156100755750505050506001600160a01b03163b151590565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa1580156135a4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d91906138dc565b606061008d83835f845f80856001600160a01b031684866040516135ec9190613caf565b5f6040518083038185875af1925050503d805f8114613626576040519150601f19603f3d011682016040523d82523d5f602084013e61362b565b606091505b5091509150612bae86838360608261364b5761364682613692565b61008d565b815115801561366257506001600160a01b0384163b155b1561368b57604051639996b31560e01b81526001600160a01b03851660048201526024016134b9565b508061008d565b8051156136a25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806137246136bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561377e575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156137b0575f80fd5b6137bc8882890161375a565b9150509295509295909350565b5f805f606084860312156137db575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ff575f80fd5b61380b8682870161375a565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613815565b818103818111156113f7576113f7613815565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461384f565b5f602082840312156138ec575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613917575f80fd5b813561008d816138f3565b8015158114610c0a575f80fd5b5f6020828403121561393f575f80fd5b813561008d81613922565b5f808335601e1984360301811261395f575f80fd5b83018035915067ffffffffffffffff821115613979575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613815565b5f805f60608486031215613a09575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613815565b6001600160801b038181168382160190808211156118cb576118cb613815565b8181035f8312801583831316838312821617156118cb576118cb613815565b5f60208284031215613a91575f80fd5b815161008d816138f3565b8082018281125f831280158216821582161715613abb57613abb613815565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ae557613ae5613ac3565b500690565b6001600160801b038281168282160390808211156118cb576118cb613815565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613815565b5f6102a082019050613b4a82855161384f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613bbd575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613be257613be2613815565b505f0390565b5f8060408385031215613bf9575f80fd5b825191506020830151613c0b81613922565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c3d575f80fd5b8451935060208501519250604085015191506060850151613c5d81613922565b939692955090935050565b5f82613c7657613c76613ac3565b600160ff1b82145f1984141615613c8f57613c8f613815565b500590565b5f60208284031215613ca4575f80fd5b815161008d81613922565b5f82515f5b81811015613cce5760208186018101518583015201613cb4565b505f92019182525091905056fea264697066735822122009f2d2e973becd4368ede2511076c749a97f867026cf8faea5963c9744be37b364736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts deleted file mode 100644 index 9940cbaad..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC4626Target3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ERC4626Target3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts.map deleted file mode 100644 index c8767c708..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target3Deployer.d.ts","sourceRoot":"","sources":["../src/ERC4626Target3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+1mC,KAAK,MAAM,EAAE;;;;CAI94mC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.js b/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.js deleted file mode 100644 index 6f9e2f198..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ERC4626Target3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061469a8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b6141c2806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b50604051620041c2380380620041c28339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613d11620004b15f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d601528181612139015281816129e201528181612dd70152612e1301525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611ce701525f8181611e3c015261306201525f81816110260152611e1001525f61301801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297801525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f818161198801528181611a0101528181611a8f0152612cba01525f818161195b01526119bc0152613d115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461376a565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137c9565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613829565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961383c565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613829565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261383c565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061383c565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613829565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138cd565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138dc565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138cd565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138dc565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761383c565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613907565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613829565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613907565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161392f565b866107a960408c018c61394a565b6040516107bc979695949392919061398d565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139e0565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139f7565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613907565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613907565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161392f565b87610b5e604089018961394a565b604051610b71979695949392919061398d565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613907565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161392f565b15610c8f57610c8585610c80604087018761394a565b61194c565b9093509050610ca7565b5034610ca785610ca2604087018761394a565b611a82565b610caf611abc565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ace565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613829565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a84611ae3565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613829565b4290611c1c565b84611ae3565b610f5888611c2a565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dc7565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfb565b915091508060095f828254610ff59190613829565b909155506110109050865f8461100a81611766565b88611ec8565b61101a8183613829565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061203f565b915061105e6110598385612082565b612096565b6006805460029061107f9084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dc7565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfb565b915091508060095f8282546111419190613829565b9091555061115c9050835f8461115681611766565b8a6120bf565b611166818361383c565b91506111756110598387612082565b600680546002906111969084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a62565b5f6122af565b8e61124284826122ee565b50505b5f61124f846124dd565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a81565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061261f565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dc7565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dc7565b6113f79190613a62565b92915050565b5f805f8061140b8a8a6126a7565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8b7f00000000000000000000000000000000000000000000000000000000000000006126df565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8d7f0000000000000000000000000000000000000000000000000000000000000000612798565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612852565b509093505f9050611568848f613829565b90505f6115888b8b61157987611766565b611583908e613a9c565b61289a565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128fc565b611766565b6115c683611766565b6115d36115b88685612082565b6115dd9190613a62565b6115e79190613a62565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290c565b61162685670de0b6b3a764000061383c565b906117d4565b6116346136bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661292f565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661292f565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299c565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613829565b90915550505f838152600b60205260408120805483929061183b908490613829565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122ee565b5f8183136118a7578261008d565b50919050565b5f806118b984846126a7565b9092509050806118cb576118cb612b30565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b49565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bb8565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613829565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c25565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a7391906138dc565b92505f9150505b935093915050565b611ab76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612bb8565b505050565b5f610c2d670de0b6b3a7640000612cb4565b5f611ad98284613ad7565b61008d908461383c565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b0e5750505050565b5f848152600860205260408120546001600160801b031690819003611b6657611b36836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be3565b611bb7611bb2670de0b6b3a7640000611b7f888661383c565b611b8991906139e0565b85670de0b6b3a7640000611b9d878a61383c565b611ba791906139e0565b859291906001612cdf565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bec846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4c908490600160801b90046001600160801b0316612082565b6006546201000090046001600160701b03169250905081811115611dc2575f611c75838361383c565b9050611c84611bb28286612d79565b60068054601090611ca6908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cde85836117d490919063ffffffff16565b90505f611d0b827f0000000000000000000000000000000000000000000000000000000000000000612082565b90508060095f828254611d1e9190613829565b90915550611d2e9050818361383c565b9150611d39826118d2565b600280545f90611d539084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8082612d8d565b600480545f90611d94908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0787856117d4565b91505f611e34837f0000000000000000000000000000000000000000000000000000000000000000612082565b9050611e60817f0000000000000000000000000000000000000000000000000000000000000000612082565b91508315611e8357611e72828261383c565b611e7c908461383c565b9250611e9a565b611e8d828261383c565b611e979084613829565b92505b86861015611ebd57611ead8387896117b9565b9250611eba8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f10611bb282611ef4670de0b6b3a7640000866139e0565b600554600160801b90046001600160801b031691908a5f612cdf565b600580546001600160801b03928316600160801b029216919091179055611f36866118d2565b611f409082613aea565b600480546001600160801b03928316600160801b029216919091179055611f66846118d2565b600280545f90611f809084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fad836118fb565b600480545f90611fc1908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff1856118d2565b60028054601090612013908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612050846116268a888a6117b9565b905061205d8884866117b9565b6120679082613829565b9050868111156120775786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210157507f00000000000000000000000000000000000000000000000000000000000000006120ff858361383c565b105b1561210e5761210e612b30565b6004549084900390600f0b6121238482613a62565b90508361212f86611766565b13801561216457507f000000000000000000000000000000000000000000000000000000000000000061216283836118ad565b105b1561217157612171612b30565b600354600160801b90046001600160801b03166121b2611bb28261219d670de0b6b3a7640000886139e0565b6005546001600160801b031691908c5f612cdf565b600580546001600160801b0319166001600160801b03929092169190911790556121dc888261383c565b90506121e7816118d2565b600380546001600160801b03928316600160801b02921691909117905561220d836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612236826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561225f876118d2565b60028054601090612281908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122ca90611bb2906001600160801b0316848461289a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612338916001600160801b03169061383c565b9050805f0361234b5760019150506113f7565b5f61235585612db6565b9050805f03612369576001925050506113f7565b5f80612376838589612e51565b915091508061238b575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c6929190613b37565b6040805180830381865af41580156123e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124049190613bac565b9150915061242261241482611766565b61241d90613bce565b61299c565b925082612437575f96505050505050506113f7565b612440826118d2565b600780545f9061245a9084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612487816118d2565b600780546010906124a9908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125048761162c565b6040518263ffffffff1660e01b815260040161252091906138cd565b6040805180830381865af415801561253a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061255e9190613be8565b915091508061257357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125d891613829565b6125e2919061383c565b9050805f036125f857505f958695509350505050565b5f808711612606575f612611565b6126118488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264257612642613c16565b6040519080825280601f01601f19166020018201604052801561266c576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268c578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b486611766565b6126be9190613a62565b90505f8112156126d4575f809250925050610d21565b946001945092505050565b5f805f6126ef8888888888612fb9565b90505f612719670de0b6b3a76400006127088888612d79565b6127129190613829565b83906117d4565b9050670de0b6b3a7640000811061274d5761274661273f670de0b6b3a7640000896117d4565b8290612b49565b9050612765565b61276261273f670de0b6b3a764000089612d79565b90505b61276f81866117d4565b905088811015612786575f8093509350505061269d565b97909703976001975095505050505050565b5f805f6127a88989888888612fe7565b90506127c2866119466127bb8a8d613829565b8790612082565b98506127cf858a866117b9565b9850888110156127e5575f8092509250506115f6565b888103670de0b6b3a764000081106128135761280c61273f670de0b6b3a764000089612d79565b905061282b565b61282861273f670de0b6b3a7640000896117d4565b90505b80891015612840575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61286289878961300b565b9092509050612871828961383c565b97505f61287f82888a6117b9565b905061288b818b61383c565b9a989950979650505050505050565b5f806128a6845f613090565b6128b0845f613090565b6128ba9190613a62565b90505f8113156128d5576128ce8186613829565b94506128f3565b5f8112156128f3576128e681613bce565b6128f0908661383c565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612920575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612942610d28565b61294c91906139e0565b905080831161295b575f612965565b612965818461383c565b915061008d612712670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139e0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a769190613c2a565b935093509350935080612a9157505f98975050505050505050565b868414612ac257612aa1846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af357612ad2836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2157612b03826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b605750670de0b6b3a76400006113f7565b825f03612b6e57505f6113f7565b5f612b7883611766565b90505f612b8c612b8786611766565b6130a5565b9050818102612ba3670de0b6b3a764000082613c68565b9050612bae816132ca565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c1f9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061345c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c7684826134c2565b612c1f576040516001600160a01b0384811660248301525f6044830152612caa91869182169063095ea7b390606401612bed565b612c1f848261345c565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000008361355f565b5f825f03612cee575084610075565b8115612d4057612d1f612d018487613829565b612d0b8587612082565b612d15888a612082565b6116269190613829565b90505f612d2c8588611c1c565b905080821015612d3a578091505b50610075565b828503612d4e57505f610075565b610072612d5b848761383c565b612d6585876128fc565b612d6f888a612082565b611626919061383c565b5f61008d83670de0b6b3a76400008461290c565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dd0906001600160801b031684612d79565b9050612dfc7f000000000000000000000000000000000000000000000000000000000000000082613829565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e479083906001600160801b031661383c565b61008d919061383c565b612e59613710565b5f80612e648461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e9e91906138cd565b6040805180830381865af4158015612eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612edc9190613be8565b9350905082612ef057505f9150611a7a9050565b5f612f116115b884610160015185610140015161208290919063ffffffff16565b612f316115b88561012001518661010001516128fc90919063ffffffff16565b612f3b9190613a62565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fc48585612b49565b612fdd612fd586611946868b612082565b8590856117b9565b6100729190613829565b5f612ff28585612b49565b612fdd61300386611946868b6128fc565b85908561290c565b5f8061305a8561305485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061304a818c612d79565b613054919061383c565b906128fc565b9150613086827f0000000000000000000000000000000000000000000000000000000000000000612082565b9050935093915050565b5f81831361309e578161008d565b5090919050565b5f8082136130c65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131499084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132e357505f919050565b680755bf798b4a1bf1e5821261330c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134706001600160a01b038416836135c8565b905080515f141580156134945750808060200190518101906134929190613c94565b155b15611ab757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134dd9190613caf565b5f604051808303815f865af19150503d805f8114613516576040519150601f19603f3d011682016040523d82523d5f602084013e61351b565b606091505b50915091508180156135455750805115806135455750808060200190518101906135459190613c94565b80156100755750505050506001600160a01b03163b151590565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa1580156135a4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d91906138dc565b606061008d83835f845f80856001600160a01b031684866040516135ec9190613caf565b5f6040518083038185875af1925050503d805f8114613626576040519150601f19603f3d011682016040523d82523d5f602084013e61362b565b606091505b5091509150612bae86838360608261364b5761364682613692565b61008d565b815115801561366257506001600160a01b0384163b155b1561368b57604051639996b31560e01b81526001600160a01b03851660048201526024016134b9565b508061008d565b8051156136a25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806137246136bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561377e575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156137b0575f80fd5b6137bc8882890161375a565b9150509295509295909350565b5f805f606084860312156137db575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ff575f80fd5b61380b8682870161375a565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613815565b818103818111156113f7576113f7613815565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461384f565b5f602082840312156138ec575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613917575f80fd5b813561008d816138f3565b8015158114610c0a575f80fd5b5f6020828403121561393f575f80fd5b813561008d81613922565b5f808335601e1984360301811261395f575f80fd5b83018035915067ffffffffffffffff821115613979575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613815565b5f805f60608486031215613a09575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613815565b6001600160801b038181168382160190808211156118cb576118cb613815565b8181035f8312801583831316838312821617156118cb576118cb613815565b5f60208284031215613a91575f80fd5b815161008d816138f3565b8082018281125f831280158216821582161715613abb57613abb613815565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ae557613ae5613ac3565b500690565b6001600160801b038281168282160390808211156118cb576118cb613815565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613815565b5f6102a082019050613b4a82855161384f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613bbd575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613be257613be2613815565b505f0390565b5f8060408385031215613bf9575f80fd5b825191506020830151613c0b81613922565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c3d575f80fd5b8451935060208501519250604085015191506060850151613c5d81613922565b939692955090935050565b5f82613c7657613c76613ac3565b600160ff1b82145f1984141615613c8f57613c8f613815565b500590565b5f60208284031215613ca4575f80fd5b815161008d81613922565b5f82515f5b81811015613cce5760208186018101518583015201613cb4565b505f92019182525091905056fea264697066735822122009f2d2e973becd4368ede2511076c749a97f867026cf8faea5963c9744be37b364736f6c63430008160033a264697066735822122049bde01678a107bcf071d08800055eece08bc194212b6e9aa216e53ae8e1e68364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts deleted file mode 100644 index 199f222c4..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts +++ /dev/null @@ -1,809 +0,0 @@ -export declare const ERC4626Target4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=ERC4626Target4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts.map deleted file mode 100644 index 9bfda22d8..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target4.d.ts","sourceRoot":"","sources":["../src/ERC4626Target4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy+B6i1B,KAAK,MAAM,EAAE;;;;;;CAMpl1B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4.js b/packages/hyperdrive-artifacts/dist/ERC4626Target4.js deleted file mode 100644 index f224d99dc..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4.js +++ /dev/null @@ -1,1008 +0,0 @@ -export const ERC4626Target4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b506040516200351a3803806200351a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613116620004045f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526124f501525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110890152818161224801528181612328015261245c01525f818161229001526123bf01526131165ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ba5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612bf7565b6100b1565b005b610056610092366004612ba5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c2b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c53565b61016a60408c018c612c6e565b60405161017c96959493929190612cd9565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d26565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c2b565b88610ea4565b5f6102f56102ec6020870187612c2b565b88848989610a9e565b90945090506103048188612d4d565b92505f61031083610f41565b5090506103206020870187612c2b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c53565b8a888e80604001906103709190612c6e565b604051610384989796959493929190612d60565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c2b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612da7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d4d565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612da7565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d4d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612da7565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612da7565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612da7565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612d4d565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612dfa565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e19565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612e34565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d4d565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ed2565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f47565b91509150610d11610d0382611521565b610d0c90612f69565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d4d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612da7565b90915550505f838152600b602052604081208054839290610ef7908490612da7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612f83565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f92565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612da7565b6110469190612d4d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612d26565b6110c39084612d4d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612d4d565b6111dc9190612fc0565b85670de0b6b3a76400006111f0878a612d4d565b6111fa9190612fc0565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612d4d565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612da7565b9091555061138790508183612d4d565b915061139282611109565b600280545f906113ac9084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612d4d565b6114d59084612d4d565b92506114f3565b6114e68282612d4d565b6114f09084612da7565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612fc0565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612e34565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612da7565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612d4d565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612dfa565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612fc0565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612d4d565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999613004565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612c53565b15611a8e57611a8785611a756020860186612c2b565b611a826040870187612c6e565b61226d565b9150611ab1565b611ab185611a9f6020860186612c2b565b611aac6040870187612c6e565b61244f565b509392505050565b5f6110c38383670de0b6b3a7640000612489565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612da7565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612d4d565b6110c39190612d4d565b611b70612b06565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612f83565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612f92565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612dfa565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190613018565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612b50565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166124ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166124ac565b905292915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190613056565b5f806120198484612520565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b61255b565b905081810261208c670de0b6b3a76400008261306d565b905061209781612780565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612da7565b6120cd858761170a565b6120d7888a61170a565b6116d29190612da7565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612d4d565b6121278587611ab9565b612131888a61170a565b6116d29190612d4d565b5f6110c383670de0b6b3a764000084612489565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f612912565b6121f6845f612912565b6122009190612dfa565b90505f81131561221b576122148186612da7565b9450612239565b5f8112156122395761222c81612f69565b6122369086612d4d565b94505b50929392505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083612927565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156122d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122f99190613056565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612370573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123949190613056565b91506123a08282612da7565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190613056565b146124465760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6124836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612956565b50505050565b5f825f19048411830215820261249d575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bf61040f565b6124c99190612fc0565b90508083116124d8575f6124e2565b6124e28184612d4d565b91506110c3612519670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fc0565b839061214f565b5f805f8361252d86611521565b6125379190612dfa565b90505f81121561254d575f809250925050612554565b9150600190505b9250929050565b5f80821361257c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125ff9084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279957505f919050565b680755bf798b4a1bf1e582126127c2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361292057816110c3565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129a89084906129ad565b505050565b5f6129c16001600160a01b03841683612a13565b905080515f141580156129e55750808060200190518101906129e39190613099565b155b156129a857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b03168486604051612a3791906130b4565b5f6040518083038185875af1925050503d805f8114612a71576040519150601f19603f3d011682016040523d82523d5f602084013e612a76565b606091505b5091509150612097868383606082612a9657612a9182612add565b6110c3565b8151158015612aad57506001600160a01b0384163b155b15612ad657604051639996b31560e01b81526001600160a01b0385166004820152602401612a0a565b50806110c3565b805115612aed5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612b1a612b50565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bb7575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612bdb575f80fd5b840160608187031215612bec575f80fd5b809150509250925092565b5f8060408385031215612c08575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c3b575f80fd5b81356110c381612c17565b80151581146103f5575f80fd5b5f60208284031215612c63575f80fd5b81356110c381612c46565b5f808335601e19843603018112612c83575f80fd5b83018035915067ffffffffffffffff821115612c9d575f80fd5b602001915036819003821315612554575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d0660a083018486612cb1565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d3457612d34612d12565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d39565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d9960e083018486612cb1565b9a9950505050505050505050565b80820180821115610dc757610dc7612d39565b6001600160701b0381811683821601908082111561202b5761202b612d39565b6001600160801b0381811683821601908082111561202b5761202b612d39565b8181035f83128015838313168383128216171561202b5761202b612d39565b5f60208284031215612e29575f80fd5b81516110c381612c17565b6001600160801b0382811682821603908082111561202b5761202b612d39565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612ee5828551612e54565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f58575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f7d57612f7d612d39565b505f0390565b6101808101610dc78284612e54565b5f8060408385031215612fa3575f80fd5b825191506020830151612fb581612c46565b809150509250929050565b8082028115828204841417610dc757610dc7612d39565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d39565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561302b575f80fd5b845193506020850151925060408501519150606085015161304b81612c46565b939692955090935050565b5f60208284031215613066575f80fd5b5051919050565b5f8261307b5761307b612d12565b600160ff1b82145f198414161561309457613094612d39565b500590565b5f602082840312156130a9575f80fd5b81516110c381612c46565b5f82515f5b818110156130d357602081860181015185830152016130b9565b505f92019182525091905056fea26469706673582212206df342c46dc49e7dac9a1099ce50c122d6556780e9ded19b7472f42c2adc276564736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts deleted file mode 100644 index d1600e780..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const ERC4626Target4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=ERC4626Target4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts.map deleted file mode 100644 index 103c1543e..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ERC4626Target4Deployer.d.ts","sourceRoot":"","sources":["../src/ERC4626Target4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+g6B,KAAK,MAAM,EAAE;;;;CAI9j6B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.js b/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.js deleted file mode 100644 index ecdeb7d72..000000000 --- a/packages/hyperdrive-artifacts/dist/ERC4626Target4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const ERC4626Target4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506139f28061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b61351a806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b506040516200351a3803806200351a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613116620004045f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526124f501525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110890152818161224801528181612328015261245c01525f818161229001526123bf01526131165ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ba5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612bf7565b6100b1565b005b610056610092366004612ba5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c2b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c53565b61016a60408c018c612c6e565b60405161017c96959493929190612cd9565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d26565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c2b565b88610ea4565b5f6102f56102ec6020870187612c2b565b88848989610a9e565b90945090506103048188612d4d565b92505f61031083610f41565b5090506103206020870187612c2b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c53565b8a888e80604001906103709190612c6e565b604051610384989796959493929190612d60565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c2b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612da7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d4d565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612da7565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d4d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612da7565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612da7565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612da7565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612d4d565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612dfa565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e19565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612e34565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d4d565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ed2565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f47565b91509150610d11610d0382611521565b610d0c90612f69565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d4d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612da7565b90915550505f838152600b602052604081208054839290610ef7908490612da7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612f83565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f92565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612da7565b6110469190612d4d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612d26565b6110c39084612d4d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612d4d565b6111dc9190612fc0565b85670de0b6b3a76400006111f0878a612d4d565b6111fa9190612fc0565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612d4d565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612da7565b9091555061138790508183612d4d565b915061139282611109565b600280545f906113ac9084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612d4d565b6114d59084612d4d565b92506114f3565b6114e68282612d4d565b6114f09084612da7565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612fc0565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612e34565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612da7565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612d4d565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612dfa565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612fc0565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612d4d565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999613004565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612c53565b15611a8e57611a8785611a756020860186612c2b565b611a826040870187612c6e565b61226d565b9150611ab1565b611ab185611a9f6020860186612c2b565b611aac6040870187612c6e565b61244f565b509392505050565b5f6110c38383670de0b6b3a7640000612489565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612da7565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612d4d565b6110c39190612d4d565b611b70612b06565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612f83565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612f92565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612dfa565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190613018565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612b50565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166124ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166124ac565b905292915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190613056565b5f806120198484612520565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b61255b565b905081810261208c670de0b6b3a76400008261306d565b905061209781612780565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612da7565b6120cd858761170a565b6120d7888a61170a565b6116d29190612da7565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612d4d565b6121278587611ab9565b612131888a61170a565b6116d29190612d4d565b5f6110c383670de0b6b3a764000084612489565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f612912565b6121f6845f612912565b6122009190612dfa565b90505f81131561221b576122148186612da7565b9450612239565b5f8112156122395761222c81612f69565b6122369086612d4d565b94505b50929392505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083612927565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156122d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122f99190613056565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612370573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123949190613056565b91506123a08282612da7565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190613056565b146124465760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6124836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612956565b50505050565b5f825f19048411830215820261249d575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bf61040f565b6124c99190612fc0565b90508083116124d8575f6124e2565b6124e28184612d4d565b91506110c3612519670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fc0565b839061214f565b5f805f8361252d86611521565b6125379190612dfa565b90505f81121561254d575f809250925050612554565b9150600190505b9250929050565b5f80821361257c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125ff9084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279957505f919050565b680755bf798b4a1bf1e582126127c2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361292057816110c3565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129a89084906129ad565b505050565b5f6129c16001600160a01b03841683612a13565b905080515f141580156129e55750808060200190518101906129e39190613099565b155b156129a857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b03168486604051612a3791906130b4565b5f6040518083038185875af1925050503d805f8114612a71576040519150601f19603f3d011682016040523d82523d5f602084013e612a76565b606091505b5091509150612097868383606082612a9657612a9182612add565b6110c3565b8151158015612aad57506001600160a01b0384163b155b15612ad657604051639996b31560e01b81526001600160a01b0385166004820152602401612a0a565b50806110c3565b805115612aed5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612b1a612b50565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bb7575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612bdb575f80fd5b840160608187031215612bec575f80fd5b809150509250925092565b5f8060408385031215612c08575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c3b575f80fd5b81356110c381612c17565b80151581146103f5575f80fd5b5f60208284031215612c63575f80fd5b81356110c381612c46565b5f808335601e19843603018112612c83575f80fd5b83018035915067ffffffffffffffff821115612c9d575f80fd5b602001915036819003821315612554575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d0660a083018486612cb1565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d3457612d34612d12565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d39565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d9960e083018486612cb1565b9a9950505050505050505050565b80820180821115610dc757610dc7612d39565b6001600160701b0381811683821601908082111561202b5761202b612d39565b6001600160801b0381811683821601908082111561202b5761202b612d39565b8181035f83128015838313168383128216171561202b5761202b612d39565b5f60208284031215612e29575f80fd5b81516110c381612c17565b6001600160801b0382811682821603908082111561202b5761202b612d39565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612ee5828551612e54565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f58575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f7d57612f7d612d39565b505f0390565b6101808101610dc78284612e54565b5f8060408385031215612fa3575f80fd5b825191506020830151612fb581612c46565b809150509250929050565b8082028115828204841417610dc757610dc7612d39565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d39565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561302b575f80fd5b845193506020850151925060408501519150606085015161304b81612c46565b939692955090935050565b5f60208284031215613066575f80fd5b5051919050565b5f8261307b5761307b612d12565b600160ff1b82145f198414161561309457613094612d39565b500590565b5f602082840312156130a9575f80fd5b81516110c381612c46565b5f82515f5b818110156130d357602081860181015185830152016130b9565b505f92019182525091905056fea26469706673582212206df342c46dc49e7dac9a1099ce50c122d6556780e9ded19b7472f42c2adc276564736f6c63430008160033a2646970667358221220cf2d5b23ebb64c3f7a3b0255b3a637a2a4fd302160b948a06af1566879db7ab364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/Errors.d.ts b/packages/hyperdrive-artifacts/dist/Errors.d.ts deleted file mode 100644 index 043226deb..000000000 --- a/packages/hyperdrive-artifacts/dist/Errors.d.ts +++ /dev/null @@ -1,1085 +0,0 @@ -export declare const Errors: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ACL_ADMIN_CANNOT_BE_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER_ALREADY_ADDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER_NOT_REGISTERED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ASSET_NOT_BORROWABLE_IN_ISOLATION"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ASSET_NOT_LISTED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BORROWING_NOT_ENABLED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BORROW_CAP_EXCEEDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_PROTOCOL_FEE_INVALID"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_MUST_BE_POOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_ATOKEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_BRIDGE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_EMERGENCY_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_POOL_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_POOL_CONFIGURATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_RISK_OR_POOL_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "COLLATERAL_BALANCE_IS_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "COLLATERAL_CANNOT_BE_LIQUIDATED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "COLLATERAL_CANNOT_COVER_NEW_BORROW"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "COLLATERAL_SAME_AS_BORROWING_CURRENCY"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "DEBT_CEILING_EXCEEDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "DEBT_CEILING_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "EMODE_CATEGORY_RESERVED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_DISABLED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_INVALID"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "HEALTH_FACTOR_NOT_BELOW_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INCONSISTENT_EMODE_CATEGORY"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INCONSISTENT_FLASHLOAN_PARAMS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INCONSISTENT_PARAMS_LENGTH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_ADDRESSES_PROVIDER_ID"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_AMOUNT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_BORROW_CAP"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_BURN_AMOUNT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_DEBT_CEILING"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_DECIMALS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_EMODE_CATEGORY"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_EMODE_CATEGORY_ASSIGNMENT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_EMODE_CATEGORY_PARAMS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_EXPIRATION"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_FLASHLOAN_EXECUTOR_RETURN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_FREEZE_STATE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_GRACE_PERIOD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_INTEREST_RATE_MODE_SELECTED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_LIQUIDATION_PROTOCOL_FEE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_LIQ_BONUS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_LIQ_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_LTV"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_MAX_RATE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_MINT_AMOUNT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_OPTIMAL_USAGE_RATIO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_RESERVE_FACTOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_RESERVE_INDEX"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_RESERVE_PARAMS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_SIGNATURE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_SUPPLY_CAP"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "INVALID_UNBACKED_MINT_CAP"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "LTV_VALIDATION_FAILED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NOT_CONTRACT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NOT_ENOUGH_AVAILABLE_USER_BALANCE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NO_DEBT_OF_SELECTED_TYPE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NO_MORE_RESERVES_ALLOWED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NO_OUTSTANDING_STABLE_DEBT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "NO_OUTSTANDING_VARIABLE_DEBT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "OPERATION_NOT_SUPPORTED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "POOL_ADDRESSES_DO_NOT_MATCH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "PRICE_ORACLE_SENTINEL_CHECK_FAILED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_ALREADY_ADDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_ALREADY_INITIALIZED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_DEBT_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_FROZEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_INACTIVE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_LIQUIDITY_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_PAUSED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "SILOED_BORROWING_VIOLATION"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "SLOPE_2_MUST_BE_GTE_SLOPE_1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "STABLE_BORROWING_ENABLED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "STABLE_BORROWING_NOT_ENABLED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "STABLE_DEBT_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "SUPPLY_CAP_EXCEEDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "SUPPLY_TO_ATOKEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNBACKED_MINT_CAP_EXCEEDED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNDERLYING_BALANCE_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNDERLYING_CANNOT_BE_RESCUED"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "USER_IN_ISOLATION_MODE_OR_LTV_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "VARIABLE_DEBT_SUPPLY_NOT_ZERO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "WITHDRAW_TO_ATOKEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ZERO_ADDRESS_NOT_VALID"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ACL_ADMIN_CANNOT_BE_ZERO()": "fd1828ff"; - readonly "ADDRESSES_PROVIDER_ALREADY_ADDED()": "14dcfbbc"; - readonly "ADDRESSES_PROVIDER_NOT_REGISTERED()": "e02f07ee"; - readonly "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE()": "f07f6785"; - readonly "ASSET_NOT_BORROWABLE_IN_ISOLATION()": "8596aad5"; - readonly "ASSET_NOT_LISTED()": "cd23367c"; - readonly "BORROWING_NOT_ENABLED()": "4ef999ff"; - readonly "BORROW_CAP_EXCEEDED()": "2eed17e8"; - readonly "BRIDGE_PROTOCOL_FEE_INVALID()": "7aa0767e"; - readonly "CALLER_MUST_BE_POOL()": "471df685"; - readonly "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN()": "2c8e3b4c"; - readonly "CALLER_NOT_ATOKEN()": "a2e976c6"; - readonly "CALLER_NOT_BRIDGE()": "4f77647b"; - readonly "CALLER_NOT_EMERGENCY_ADMIN()": "485c8ff6"; - readonly "CALLER_NOT_POOL_ADMIN()": "ac753236"; - readonly "CALLER_NOT_POOL_CONFIGURATOR()": "61c111d2"; - readonly "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN()": "26e7b312"; - readonly "CALLER_NOT_RISK_OR_POOL_ADMIN()": "b5e79366"; - readonly "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN()": "8e838748"; - readonly "COLLATERAL_BALANCE_IS_ZERO()": "4e01e3c1"; - readonly "COLLATERAL_CANNOT_BE_LIQUIDATED()": "895f7dc8"; - readonly "COLLATERAL_CANNOT_COVER_NEW_BORROW()": "e3fa20f5"; - readonly "COLLATERAL_SAME_AS_BORROWING_CURRENCY()": "8a344000"; - readonly "DEBT_CEILING_EXCEEDED()": "65a83bab"; - readonly "DEBT_CEILING_NOT_ZERO()": "e4dd8b74"; - readonly "EMODE_CATEGORY_RESERVED()": "f479ea11"; - readonly "FLASHLOAN_DISABLED()": "8aa3ca4c"; - readonly "FLASHLOAN_PREMIUM_INVALID()": "747fa556"; - readonly "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD()": "366eb54d"; - readonly "HEALTH_FACTOR_NOT_BELOW_THRESHOLD()": "952633c5"; - readonly "INCONSISTENT_EMODE_CATEGORY()": "8f7722b2"; - readonly "INCONSISTENT_FLASHLOAN_PARAMS()": "73dea5e3"; - readonly "INCONSISTENT_PARAMS_LENGTH()": "bad8308c"; - readonly "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET()": "2926c971"; - readonly "INVALID_ADDRESSES_PROVIDER()": "37930782"; - readonly "INVALID_ADDRESSES_PROVIDER_ID()": "60c3de80"; - readonly "INVALID_AMOUNT()": "fae82791"; - readonly "INVALID_BORROW_CAP()": "d6f9fcde"; - readonly "INVALID_BURN_AMOUNT()": "51267450"; - readonly "INVALID_DEBT_CEILING()": "dcc56db6"; - readonly "INVALID_DECIMALS()": "fa163a83"; - readonly "INVALID_EMODE_CATEGORY()": "a8c97853"; - readonly "INVALID_EMODE_CATEGORY_ASSIGNMENT()": "5d9c76c0"; - readonly "INVALID_EMODE_CATEGORY_PARAMS()": "47cf1523"; - readonly "INVALID_EXPIRATION()": "c08a1146"; - readonly "INVALID_FLASHLOAN_EXECUTOR_RETURN()": "7fea6f36"; - readonly "INVALID_FREEZE_STATE()": "22760245"; - readonly "INVALID_GRACE_PERIOD()": "4105ab65"; - readonly "INVALID_INTEREST_RATE_MODE_SELECTED()": "89c5d45f"; - readonly "INVALID_LIQUIDATION_PROTOCOL_FEE()": "8eda46bd"; - readonly "INVALID_LIQ_BONUS()": "9527e9d9"; - readonly "INVALID_LIQ_THRESHOLD()": "dd1dd95f"; - readonly "INVALID_LTV()": "99ce53f3"; - readonly "INVALID_MAX_RATE()": "f9b6e9a1"; - readonly "INVALID_MINT_AMOUNT()": "abd351b1"; - readonly "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO()": "c899301a"; - readonly "INVALID_OPTIMAL_USAGE_RATIO()": "4e3aed37"; - readonly "INVALID_RESERVE_FACTOR()": "a4868dca"; - readonly "INVALID_RESERVE_INDEX()": "d1cd8b1d"; - readonly "INVALID_RESERVE_PARAMS()": "335763de"; - readonly "INVALID_SIGNATURE()": "a3402a38"; - readonly "INVALID_SUPPLY_CAP()": "26bbd053"; - readonly "INVALID_UNBACKED_MINT_CAP()": "47ba93d8"; - readonly "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED()": "f1820652"; - readonly "LTV_VALIDATION_FAILED()": "b87041c2"; - readonly "NOT_CONTRACT()": "11d7b006"; - readonly "NOT_ENOUGH_AVAILABLE_USER_BALANCE()": "b7f5e224"; - readonly "NO_DEBT_OF_SELECTED_TYPE()": "dc191bd9"; - readonly "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF()": "712f536a"; - readonly "NO_MORE_RESERVES_ALLOWED()": "76ae8fca"; - readonly "NO_OUTSTANDING_STABLE_DEBT()": "74459b14"; - readonly "NO_OUTSTANDING_VARIABLE_DEBT()": "b4a45730"; - readonly "OPERATION_NOT_SUPPORTED()": "8b8b98d7"; - readonly "POOL_ADDRESSES_DO_NOT_MATCH()": "1abbb001"; - readonly "PRICE_ORACLE_SENTINEL_CHECK_FAILED()": "c8638082"; - readonly "RESERVE_ALREADY_ADDED()": "12dcade8"; - readonly "RESERVE_ALREADY_INITIALIZED()": "d9adda85"; - readonly "RESERVE_DEBT_NOT_ZERO()": "e981483a"; - readonly "RESERVE_FROZEN()": "6cd3cfbc"; - readonly "RESERVE_INACTIVE()": "52ba9dbe"; - readonly "RESERVE_LIQUIDITY_NOT_ZERO()": "084dfa0d"; - readonly "RESERVE_PAUSED()": "b68774e9"; - readonly "SILOED_BORROWING_VIOLATION()": "de24948c"; - readonly "SLOPE_2_MUST_BE_GTE_SLOPE_1()": "db3e2c54"; - readonly "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER()": "22a73446"; - readonly "STABLE_BORROWING_ENABLED()": "198d6a6b"; - readonly "STABLE_BORROWING_NOT_ENABLED()": "4d86f393"; - readonly "STABLE_DEBT_NOT_ZERO()": "65e7ef4c"; - readonly "SUPPLY_CAP_EXCEEDED()": "b0510054"; - readonly "SUPPLY_TO_ATOKEN()": "231ec141"; - readonly "UNBACKED_MINT_CAP_EXCEEDED()": "6b3f7cc7"; - readonly "UNDERLYING_BALANCE_ZERO()": "a2797c80"; - readonly "UNDERLYING_CANNOT_BE_RESCUED()": "ab883ca0"; - readonly "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO()": "94f9fd8a"; - readonly "USER_IN_ISOLATION_MODE_OR_LTV_ZERO()": "480702ae"; - readonly "VARIABLE_DEBT_SUPPLY_NOT_ZERO()": "f10727db"; - readonly "WITHDRAW_TO_ATOKEN()": "6177a932"; - readonly "ZERO_ADDRESS_NOT_VALID()": "d14bb17a"; - }; -}; -//# sourceMappingURL=Errors.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Errors.d.ts.map b/packages/hyperdrive-artifacts/dist/Errors.d.ts.map deleted file mode 100644 index df481e91e..000000000 --- a/packages/hyperdrive-artifacts/dist/Errors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6vCi5S,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqGh7S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Errors.js b/packages/hyperdrive-artifacts/dist/Errors.js deleted file mode 100644 index 990705f89..000000000 --- a/packages/hyperdrive-artifacts/dist/Errors.js +++ /dev/null @@ -1,1379 +0,0 @@ -export const Errors = { - abi: [ - { - "type": "function", - "name": "ACL_ADMIN_CANNOT_BE_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ADDRESSES_PROVIDER_ALREADY_ADDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ADDRESSES_PROVIDER_NOT_REGISTERED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ASSET_NOT_BORROWABLE_IN_ISOLATION", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ASSET_NOT_LISTED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BORROWING_NOT_ENABLED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BORROW_CAP_EXCEEDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_PROTOCOL_FEE_INVALID", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_MUST_BE_POOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_ATOKEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_BRIDGE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_EMERGENCY_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_POOL_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_POOL_CONFIGURATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_RISK_OR_POOL_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "COLLATERAL_BALANCE_IS_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "COLLATERAL_CANNOT_BE_LIQUIDATED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "COLLATERAL_CANNOT_COVER_NEW_BORROW", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "COLLATERAL_SAME_AS_BORROWING_CURRENCY", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEBT_CEILING_EXCEEDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEBT_CEILING_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "EMODE_CATEGORY_RESERVED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_DISABLED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_INVALID", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "HEALTH_FACTOR_NOT_BELOW_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INCONSISTENT_EMODE_CATEGORY", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INCONSISTENT_FLASHLOAN_PARAMS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INCONSISTENT_PARAMS_LENGTH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_ADDRESSES_PROVIDER_ID", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_AMOUNT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_BORROW_CAP", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_BURN_AMOUNT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_DEBT_CEILING", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_DECIMALS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_EMODE_CATEGORY", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_EMODE_CATEGORY_ASSIGNMENT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_EMODE_CATEGORY_PARAMS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_EXPIRATION", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_FLASHLOAN_EXECUTOR_RETURN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_FREEZE_STATE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_GRACE_PERIOD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_INTEREST_RATE_MODE_SELECTED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_LIQUIDATION_PROTOCOL_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_LIQ_BONUS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_LIQ_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_LTV", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_MAX_RATE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_MINT_AMOUNT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_OPTIMAL_USAGE_RATIO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_RESERVE_FACTOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_RESERVE_INDEX", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_RESERVE_PARAMS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_SIGNATURE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_SUPPLY_CAP", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "INVALID_UNBACKED_MINT_CAP", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "LTV_VALIDATION_FAILED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NOT_CONTRACT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NOT_ENOUGH_AVAILABLE_USER_BALANCE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NO_DEBT_OF_SELECTED_TYPE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NO_MORE_RESERVES_ALLOWED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NO_OUTSTANDING_STABLE_DEBT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NO_OUTSTANDING_VARIABLE_DEBT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "OPERATION_NOT_SUPPORTED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "POOL_ADDRESSES_DO_NOT_MATCH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "PRICE_ORACLE_SENTINEL_CHECK_FAILED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_ALREADY_ADDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_ALREADY_INITIALIZED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_DEBT_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_FROZEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_INACTIVE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_LIQUIDITY_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_PAUSED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SILOED_BORROWING_VIOLATION", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SLOPE_2_MUST_BE_GTE_SLOPE_1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "STABLE_BORROWING_ENABLED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "STABLE_BORROWING_NOT_ENABLED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "STABLE_DEBT_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SUPPLY_CAP_EXCEEDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SUPPLY_TO_ATOKEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNBACKED_MINT_CAP_EXCEEDED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNDERLYING_BALANCE_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNDERLYING_CANNOT_BE_RESCUED", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "USER_IN_ISOLATION_MODE_OR_LTV_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "VARIABLE_DEBT_SUPPLY_NOT_ZERO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "WITHDRAW_TO_ATOKEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ZERO_ADDRESS_NOT_VALID", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x611293610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061055e575f3560e01c80638aa3ca4c116102ca578063c08a114611610191578063de24948c116100fa578063f10727db116100b4578063f9b6e9a11161008f578063f9b6e9a11461118d578063fa163a83146111ae578063fae82791146111cf578063fd1828ff146111f0575f80fd5b8063f10727db1461112a578063f18206521461114b578063f479ea111461116c575f80fd5b8063de24948c14611065578063e02f07ee14611086578063e3fa20f5146110a6578063e4dd8b74146110c7578063e981483a146110e8578063f07f678514611109575f80fd5b8063d6f9fcde1161014b578063d6f9fcde14610f9f578063d9adda8514610fc0578063db3e2c5414610fe1578063dc191bd914611002578063dcc56db614611023578063dd1dd95f14611044575f80fd5b8063c08a114614610ed9578063c863808214610efa578063c899301a14610f1b578063cd23367c14610f3c578063d14bb17a14610f5d578063d1cd8b1d14610f7e575f80fd5b8063a4868dca11610233578063b4a45730116101ed578063b4a4573014610e14578063b5e7936614610e35578063b68774e914610e55578063b7f5e22414610e76578063b87041c214610e97578063bad8308c14610eb8575f80fd5b8063a4868dca14610d4f578063a8c9785314610d70578063ab883ca014610d91578063abd351b114610db2578063ac75323614610dd3578063b051005414610df3575f80fd5b8063952633c511610284578063952633c514610c895780639527e9d914610caa57806399ce53f314610ccb578063a2797c8014610cec578063a2e976c614610d0d578063a3402a3814610d2e575f80fd5b80638aa3ca4c14610bc35780638b8b98d714610be45780638e83874814610c055780638eda46bd14610c265780638f7722b214610c4757806394f9fd8a14610c68575f80fd5b80634e01e3c1116104285780636b3f7cc71161039157806376ae8fca1161034b5780638596aad5116103265780638596aad514610b3f578063895f7dc814610b6057806389c5d45f14610b815780638a34400014610ba2575f80fd5b806376ae8fca14610adc5780637aa0767e14610afd5780637fea6f3614610b1e575f80fd5b80636b3f7cc714610a165780636cd3cfbc14610a37578063712f536a14610a5857806373dea5e314610a7957806374459b1414610a9a578063747fa55614610abb575f80fd5b80635d9c76c0116103e25780635d9c76c01461095157806360c3de80146109725780636177a9321461099257806361c111d2146109b357806365a83bab146109d457806365e7ef4c146109f5575f80fd5b80634e01e3c11461088c5780634e3aed37146108ad5780634ef999ff146108ce5780634f77647b146108ef578063512674501461090f57806352ba9dbe14610930575f80fd5b80632c8e3b4c116104ca578063471df68511610484578063471df685146107c757806347ba93d8146107e857806347cf152314610809578063480702ae1461082a578063485c8ff61461084b5780634d86f3931461086b575f80fd5b80632c8e3b4c146107025780632eed17e814610722578063335763de14610743578063366eb54d1461076457806337930782146107855780634105ab65146107a6575f80fd5b8063227602451161051b578063227602451461063d57806322a734461461065e578063231ec1411461067f57806326bbd053146106a057806326e7b312146106c15780632926c971146106e1575f80fd5b8063084dfa0d1461056257806311d7b0061461059957806312dcade8146105b957806314dcfbbc146105da578063198d6a6b146105fb5780631abbb0011461061c575b5f80fd5b61058360405180604001604052806002815260200161062760f31b81525081565b6040516105909190611211565b60405180910390f35b610583604051806040016040528060018152602001603960f81b81525081565b610583604051806040016040528060028152602001610c4d60f21b81525081565b610583604051806040016040528060028152602001611c1b60f11b81525081565b61058360405180604001604052806002815260200161070760f31b81525081565b61058360405180604001604052806002815260200161383760f01b81525081565b61058360405180604001604052806002815260200161393960f01b81525081565b61058360405180604001604052806002815260200161343760f01b81525081565b610583604051806040016040528060028152602001610e4d60f21b81525081565b61058360405180604001604052806002815260200161363960f01b81525081565b610583604051806040016040528060018152602001603360f81b81525081565b610583604051806040016040528060028152602001610d0d60f21b81525081565b610583604051806040016040528060018152602001603560f81b81525081565b61058360405180604001604052806002815260200161035360f41b81525081565b61058360405180604001604052806002815260200161032360f41b81525081565b61058360405180604001604052806002815260200161333560f01b81525081565b61058360405180604001604052806002815260200161189960f11b81525081565b61058360405180604001604052806002815260200161072760f31b81525081565b61058360405180604001604052806002815260200161323360f01b81525081565b610583604051806040016040528060028152602001611b9960f11b81525081565b61058360405180604001604052806002815260200161323160f01b81525081565b610583604051806040016040528060028152602001611b1960f11b81525081565b610583604051806040016040528060018152602001601960f91b81525081565b61058360405180604001604052806002815260200161333160f01b81525081565b610583604051806040016040528060028152602001610ccd60f21b81525081565b61058360405180604001604052806002815260200161383360f01b81525081565b61058360405180604001604052806002815260200161033360f41b81525081565b610583604051806040016040528060018152602001601b60f91b81525081565b61058360405180604001604052806002815260200161323560f01b81525081565b61058360405180604001604052806002815260200161323760f01b81525081565b61058360405180604001604052806002815260200161313760f01b81525081565b610583604051806040016040528060018152602001600760fb1b81525081565b61058360405180604001604052806002815260200161393360f01b81525081565b61058360405180604001604052806002815260200161031360f41b81525081565b61058360405180604001604052806002815260200161353360f01b81525081565b61058360405180604001604052806002815260200161353560f01b81525081565b610583604051806040016040528060028152602001611a9960f11b81525081565b61058360405180604001604052806002815260200161064760f31b81525081565b61058360405180604001604052806002815260200161034360f41b81525081565b61058360405180604001604052806002815260200161343960f01b81525081565b61058360405180604001604052806002815260200161343160f01b81525081565b61058360405180604001604052806002815260200161313960f01b81525081565b61058360405180604001604052806002815260200161313560f01b81525081565b61058360405180604001604052806002815260200161191960f11b81525081565b61058360405180604001604052806002815260200161313360f01b81525081565b61058360405180604001604052806002815260200161036360f41b81525081565b610583604051806040016040528060028152602001611a1b60f11b81525081565b61058360405180604001604052806002815260200161333360f01b81525081565b61058360405180604001604052806002815260200161333760f01b81525081565b61058360405180604001604052806002815260200161393160f01b81525081565b61058360405180604001604052806002815260200161038360f41b81525081565b610583604051806040016040528060028152602001611c9b60f11b81525081565b61058360405180604001604052806002815260200161037360f41b81525081565b6105836040518060400160405280600281526020016106a760f31b81525081565b610583604051806040016040528060028152602001610d4d60f21b81525081565b61058360405180604001604052806002815260200161343560f01b81525081565b61058360405180604001604052806002815260200161363560f01b81525081565b61058360405180604001604052806002815260200161363360f01b81525081565b61058360405180604001604052806002815260200161343360f01b81525081565b61058360405180604001604052806002815260200161313160f01b81525081565b61058360405180604001604052806002815260200161373960f01b81525081565b61058360405180604001604052806002815260200161363760f01b81525081565b61058360405180604001604052806002815260200161373160f01b81525081565b61058360405180604001604052806002815260200161383560f01b81525081565b610583604051806040016040528060028152602001610c8d60f21b81525081565b610583604051806040016040528060018152602001603160f81b81525081565b61058360405180604001604052806002815260200161353160f01b81525081565b610583604051806040016040528060028152602001611a1960f11b81525081565b610583604051806040016040528060018152602001600d60fa1b81525081565b61058360405180604001604052806002815260200161323960f01b81525081565b61058360405180604001604052806002815260200161199960f11b81525081565b61058360405180604001604052806002815260200161353760f01b81525081565b610583604051806040016040528060028152602001611b9b60f11b81525081565b6105836040518060400160405280600281526020016106e760f31b81525081565b61058360405180604001604052806002815260200161353960f01b81525081565b610583604051806040016040528060028152602001610e0d60f21b81525081565b610583604051806040016040528060028152602001611c1960f11b81525081565b61058360405180604001604052806002815260200161373760f01b81525081565b610583604051806040016040528060028152602001610dcd60f21b81525081565b6105836040518060400160405280600281526020016106c760f31b81525081565b61058360405180604001604052806002815260200161363160f01b81525081565b61058360405180604001604052806002815260200161393560f01b81525081565b61058360405180604001604052806002815260200161333960f01b81525081565b61058360405180604001604052806002815260200161373360f01b81525081565b610583604051806040016040528060028152602001610d8d60f21b81525081565b61058360405180604001604052806002815260200161383960f01b81525081565b610583604051806040016040528060018152602001603760f81b81525081565b61058360405180604001604052806002815260200161199b60f11b81525081565b61058360405180604001604052806002815260200161383160f01b81525081565b61058360405180604001604052806002815260200161039360f41b81525081565b61058360405180604001604052806002815260200161066760f31b81525081565b610583604051806040016040528060028152602001611a9b60f11b81525081565b61058360405180604001604052806002815260200161393760f01b81525081565b61058360405180604001604052806002815260200161189b60f11b81525081565b610583604051806040016040528060028152602001611c9960f11b81525081565b610583604051806040016040528060028152602001611b1b60f11b81525081565b61058360405180604001604052806002815260200161191b60f11b81525081565b61058360405180604001604052806002815260200161373560f01b81525081565b5f602080835283518060208501525f5b8181101561123d57858101830151858201604001528201611221565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220277e106deea35701f26fbbedb8f798ae0af618897570241f2a4cd24dc0c951aa64736f6c63430008160033', - methodIdentifiers: { - "ACL_ADMIN_CANNOT_BE_ZERO()": "fd1828ff", - "ADDRESSES_PROVIDER_ALREADY_ADDED()": "14dcfbbc", - "ADDRESSES_PROVIDER_NOT_REGISTERED()": "e02f07ee", - "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE()": "f07f6785", - "ASSET_NOT_BORROWABLE_IN_ISOLATION()": "8596aad5", - "ASSET_NOT_LISTED()": "cd23367c", - "BORROWING_NOT_ENABLED()": "4ef999ff", - "BORROW_CAP_EXCEEDED()": "2eed17e8", - "BRIDGE_PROTOCOL_FEE_INVALID()": "7aa0767e", - "CALLER_MUST_BE_POOL()": "471df685", - "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN()": "2c8e3b4c", - "CALLER_NOT_ATOKEN()": "a2e976c6", - "CALLER_NOT_BRIDGE()": "4f77647b", - "CALLER_NOT_EMERGENCY_ADMIN()": "485c8ff6", - "CALLER_NOT_POOL_ADMIN()": "ac753236", - "CALLER_NOT_POOL_CONFIGURATOR()": "61c111d2", - "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN()": "26e7b312", - "CALLER_NOT_RISK_OR_POOL_ADMIN()": "b5e79366", - "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN()": "8e838748", - "COLLATERAL_BALANCE_IS_ZERO()": "4e01e3c1", - "COLLATERAL_CANNOT_BE_LIQUIDATED()": "895f7dc8", - "COLLATERAL_CANNOT_COVER_NEW_BORROW()": "e3fa20f5", - "COLLATERAL_SAME_AS_BORROWING_CURRENCY()": "8a344000", - "DEBT_CEILING_EXCEEDED()": "65a83bab", - "DEBT_CEILING_NOT_ZERO()": "e4dd8b74", - "EMODE_CATEGORY_RESERVED()": "f479ea11", - "FLASHLOAN_DISABLED()": "8aa3ca4c", - "FLASHLOAN_PREMIUM_INVALID()": "747fa556", - "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD()": "366eb54d", - "HEALTH_FACTOR_NOT_BELOW_THRESHOLD()": "952633c5", - "INCONSISTENT_EMODE_CATEGORY()": "8f7722b2", - "INCONSISTENT_FLASHLOAN_PARAMS()": "73dea5e3", - "INCONSISTENT_PARAMS_LENGTH()": "bad8308c", - "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET()": "2926c971", - "INVALID_ADDRESSES_PROVIDER()": "37930782", - "INVALID_ADDRESSES_PROVIDER_ID()": "60c3de80", - "INVALID_AMOUNT()": "fae82791", - "INVALID_BORROW_CAP()": "d6f9fcde", - "INVALID_BURN_AMOUNT()": "51267450", - "INVALID_DEBT_CEILING()": "dcc56db6", - "INVALID_DECIMALS()": "fa163a83", - "INVALID_EMODE_CATEGORY()": "a8c97853", - "INVALID_EMODE_CATEGORY_ASSIGNMENT()": "5d9c76c0", - "INVALID_EMODE_CATEGORY_PARAMS()": "47cf1523", - "INVALID_EXPIRATION()": "c08a1146", - "INVALID_FLASHLOAN_EXECUTOR_RETURN()": "7fea6f36", - "INVALID_FREEZE_STATE()": "22760245", - "INVALID_GRACE_PERIOD()": "4105ab65", - "INVALID_INTEREST_RATE_MODE_SELECTED()": "89c5d45f", - "INVALID_LIQUIDATION_PROTOCOL_FEE()": "8eda46bd", - "INVALID_LIQ_BONUS()": "9527e9d9", - "INVALID_LIQ_THRESHOLD()": "dd1dd95f", - "INVALID_LTV()": "99ce53f3", - "INVALID_MAX_RATE()": "f9b6e9a1", - "INVALID_MINT_AMOUNT()": "abd351b1", - "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO()": "c899301a", - "INVALID_OPTIMAL_USAGE_RATIO()": "4e3aed37", - "INVALID_RESERVE_FACTOR()": "a4868dca", - "INVALID_RESERVE_INDEX()": "d1cd8b1d", - "INVALID_RESERVE_PARAMS()": "335763de", - "INVALID_SIGNATURE()": "a3402a38", - "INVALID_SUPPLY_CAP()": "26bbd053", - "INVALID_UNBACKED_MINT_CAP()": "47ba93d8", - "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED()": "f1820652", - "LTV_VALIDATION_FAILED()": "b87041c2", - "NOT_CONTRACT()": "11d7b006", - "NOT_ENOUGH_AVAILABLE_USER_BALANCE()": "b7f5e224", - "NO_DEBT_OF_SELECTED_TYPE()": "dc191bd9", - "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF()": "712f536a", - "NO_MORE_RESERVES_ALLOWED()": "76ae8fca", - "NO_OUTSTANDING_STABLE_DEBT()": "74459b14", - "NO_OUTSTANDING_VARIABLE_DEBT()": "b4a45730", - "OPERATION_NOT_SUPPORTED()": "8b8b98d7", - "POOL_ADDRESSES_DO_NOT_MATCH()": "1abbb001", - "PRICE_ORACLE_SENTINEL_CHECK_FAILED()": "c8638082", - "RESERVE_ALREADY_ADDED()": "12dcade8", - "RESERVE_ALREADY_INITIALIZED()": "d9adda85", - "RESERVE_DEBT_NOT_ZERO()": "e981483a", - "RESERVE_FROZEN()": "6cd3cfbc", - "RESERVE_INACTIVE()": "52ba9dbe", - "RESERVE_LIQUIDITY_NOT_ZERO()": "084dfa0d", - "RESERVE_PAUSED()": "b68774e9", - "SILOED_BORROWING_VIOLATION()": "de24948c", - "SLOPE_2_MUST_BE_GTE_SLOPE_1()": "db3e2c54", - "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER()": "22a73446", - "STABLE_BORROWING_ENABLED()": "198d6a6b", - "STABLE_BORROWING_NOT_ENABLED()": "4d86f393", - "STABLE_DEBT_NOT_ZERO()": "65e7ef4c", - "SUPPLY_CAP_EXCEEDED()": "b0510054", - "SUPPLY_TO_ATOKEN()": "231ec141", - "UNBACKED_MINT_CAP_EXCEEDED()": "6b3f7cc7", - "UNDERLYING_BALANCE_ZERO()": "a2797c80", - "UNDERLYING_CANNOT_BE_RESCUED()": "ab883ca0", - "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO()": "94f9fd8a", - "USER_IN_ISOLATION_MODE_OR_LTV_ZERO()": "480702ae", - "VARIABLE_DEBT_SUPPLY_NOT_ZERO()": "f10727db", - "WITHDRAW_TO_ATOKEN()": "6177a932", - "ZERO_ADDRESS_NOT_VALID()": "d14bb17a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts b/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts deleted file mode 100644 index ee58074c9..000000000 --- a/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const ErrorsLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ErrorsLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts.map b/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts.map deleted file mode 100644 index d0e287a8c..000000000 --- a/packages/hyperdrive-artifacts/dist/ErrorsLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ErrorsLib.d.ts","sourceRoot":"","sources":["../src/ErrorsLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAE4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ErrorsLib.js b/packages/hyperdrive-artifacts/dist/ErrorsLib.js deleted file mode 100644 index cebadb1c2..000000000 --- a/packages/hyperdrive-artifacts/dist/ErrorsLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const ErrorsLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c9cc56cd8ceefe4fe028ddf9f165d958af3b63952c40726213beb3e92239b66364736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts b/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts deleted file mode 100644 index 8feace530..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts +++ /dev/null @@ -1,440 +0,0 @@ -export declare const EtchingUtils: { - abi: readonly [{ - readonly type: "function"; - readonly name: "IS_TEST"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "excludeArtifacts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedArtifacts_"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "excludeContracts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedContracts_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "excludeSenders"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedSenders_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "failed"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetArtifactSelectors"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedArtifactSelectors_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzSelector[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "selectors"; - readonly type: "bytes4[]"; - readonly internalType: "bytes4[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetArtifacts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedArtifacts_"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetContracts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedContracts_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetInterfaces"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedInterfaces_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzInterface[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "artifacts"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetSelectors"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedSelectors_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzSelector[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "selectors"; - readonly type: "bytes4[]"; - readonly internalType: "bytes4[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetSenders"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedSenders_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "log"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_address"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "uint256[]"; - readonly indexed: false; - readonly internalType: "uint256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "int256[]"; - readonly indexed: false; - readonly internalType: "int256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_bytes"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_bytes32"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly indexed: false; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_int"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_address"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256[]"; - readonly indexed: false; - readonly internalType: "uint256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256[]"; - readonly indexed: false; - readonly internalType: "int256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_bytes"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_bytes32"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "bytes32"; - readonly indexed: false; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_decimal_int"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_decimal_uint"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_int"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_string"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_uint"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_string"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_uint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "logs"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "IS_TEST()": "fa7626d4"; - readonly "excludeArtifacts()": "b5508aa9"; - readonly "excludeContracts()": "e20c9f71"; - readonly "excludeSenders()": "1ed7831c"; - readonly "failed()": "ba414fa6"; - readonly "targetArtifactSelectors()": "66d9a9a0"; - readonly "targetArtifacts()": "85226c81"; - readonly "targetContracts()": "3f7286f4"; - readonly "targetInterfaces()": "2ade3880"; - readonly "targetSelectors()": "916a17c6"; - readonly "targetSenders()": "3e5e3c23"; - }; -}; -//# sourceMappingURL=EtchingUtils.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts.map b/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts.map deleted file mode 100644 index 1d43e4e44..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingUtils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EtchingUtils.d.ts","sourceRoot":"","sources":["../src/EtchingUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkiBqlL,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAc1nL,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EtchingUtils.js b/packages/hyperdrive-artifacts/dist/EtchingUtils.js deleted file mode 100644 index 89c806479..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingUtils.js +++ /dev/null @@ -1,561 +0,0 @@ -export const EtchingUtils = { - abi: [ - { - "type": "function", - "name": "IS_TEST", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeArtifacts", - "inputs": [], - "outputs": [ - { - "name": "excludedArtifacts_", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeContracts", - "inputs": [], - "outputs": [ - { - "name": "excludedContracts_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeSenders", - "inputs": [], - "outputs": [ - { - "name": "excludedSenders_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "failed", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetArtifactSelectors", - "inputs": [], - "outputs": [ - { - "name": "targetedArtifactSelectors_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzSelector[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "selectors", - "type": "bytes4[]", - "internalType": "bytes4[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetArtifacts", - "inputs": [], - "outputs": [ - { - "name": "targetedArtifacts_", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetContracts", - "inputs": [], - "outputs": [ - { - "name": "targetedContracts_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetInterfaces", - "inputs": [], - "outputs": [ - { - "name": "targetedInterfaces_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzInterface[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "artifacts", - "type": "string[]", - "internalType": "string[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetSelectors", - "inputs": [], - "outputs": [ - { - "name": "targetedSelectors_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzSelector[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "selectors", - "type": "bytes4[]", - "internalType": "bytes4[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetSenders", - "inputs": [], - "outputs": [ - { - "name": "targetedSenders_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "log", - "inputs": [ - { - "name": "", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_address", - "inputs": [ - { - "name": "", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "int256[]", - "indexed": false, - "internalType": "int256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_bytes", - "inputs": [ - { - "name": "", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_bytes32", - "inputs": [ - { - "name": "", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_int", - "inputs": [ - { - "name": "", - "type": "int256", - "indexed": false, - "internalType": "int256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_address", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256[]", - "indexed": false, - "internalType": "int256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_bytes", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_bytes32", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_decimal_int", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256", - "indexed": false, - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_decimal_uint", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_int", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256", - "indexed": false, - "internalType": "int256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_string", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_uint", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_string", - "inputs": [ - { - "name": "", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_uint", - "inputs": [ - { - "name": "", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "logs", - "inputs": [ - { - "name": "", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - } - ], - bytecode: '0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002c575f80fd5b50610af38061003a5f395ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c806385226c811161006e57806385226c8114610102578063916a17c614610117578063b5508aa91461011f578063ba414fa614610127578063e20c9f711461013f578063fa7626d414610147575f80fd5b80631ed7831c146100aa5780632ade3880146100c85780633e5e3c23146100dd5780633f7286f4146100e557806366d9a9a0146100ed575b5f80fd5b6100b2610154565b6040516100bf9190610802565b60405180910390f35b6100d06101b4565b6040516100bf919061084e565b6100b26102f0565b6100b261034e565b6100f56103ac565b6040516100bf919061093e565b61010a61048d565b6040516100bf91906109e1565b6100f5610558565b61010a610639565b61012f610704565b60405190151581526020016100bf565b6100b26107a4565b601e5461012f9060ff1681565b606060168054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161018c575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f84815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156102d0578382905f5260205f2001805461024590610a6e565b80601f016020809104026020016040519081016040528092919081815260200182805461027190610a6e565b80156102bc5780601f10610293576101008083540402835291602001916102bc565b820191905f5260205f20905b81548152906001019060200180831161029f57829003601f168201915b505050505081526020019060010190610228565b5050505081525050815260200190600101906101d7565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561047557602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116104375790505b505050505081525050815260200190600101906103cf565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156102e7578382905f5260205f200180546104cd90610a6e565b80601f01602080910402602001604051908101604052809291908181526020018280546104f990610a6e565b80156105445780601f1061051b57610100808354040283529160200191610544565b820191905f5260205f20905b81548152906001019060200180831161052757829003601f168201915b5050505050815260200190600101906104b0565b6060601c805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561062157602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105e35790505b5050505050815250508152602001906001019061057b565b60606019805480602002602001604051908101604052809291908181526020015f905b828210156102e7578382905f5260205f2001805461067990610a6e565b80601f01602080910402602001604051908101604052809291908181526020018280546106a590610a6e565b80156106f05780601f106106c7576101008083540402835291602001916106f0565b820191905f5260205f20905b8154815290600101906020018083116106d357829003601f168201915b50505050508152602001906001019061065c565b6008545f9060ff161561071b575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b60248301525f9163667f9d7090604401602060405180830381865afa158015610779573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079d9190610aa6565b1415905090565b606060158054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b602080825282518282018190525f9190848201906040850190845b818110156108425783516001600160a01b03168352928401929184019160010161081d565b50909695505050505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b8381101561093057603f19898403018552815180516001600160a01b031684528701518784018790528051878501819052908801906060600582901b8601810191908601905f5b8181101561091a57878403605f19018352845180518086525f5b818110156108f4578e81840101518f82890101528e810190506108d6565b505f8682018f0152958d0195601f01601f19169094018c019350918b01916001016108bc565b5050509588019593505090860190600101610875565b509098975050505050505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b8381101561093057888303603f19018552815180516001600160a01b031684528701518784018790528051878501819052908801905f9060608601905b808310156109cc5783516001600160e01b0319168252928a019260019290920191908a01906109a2565b50968901969450505090860190600101610965565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b82811015610a6157878503603f19018452815180518087525f5b81811015610a3b578281018901518882018a01528801610a20565b505f878201890152601f01601f1916909501860194509285019290850190600101610a06565b5092979650505050505050565b600181811c90821680610a8257607f821691505b602082108103610aa057634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610ab6575f80fd5b505191905056fea2646970667358221220f8e3f1e78d3a92b702c3b4390e0a0517b53bdb574b48e718842dcde2e095e5e564736f6c63430008160033', - methodIdentifiers: { - "IS_TEST()": "fa7626d4", - "excludeArtifacts()": "b5508aa9", - "excludeContracts()": "e20c9f71", - "excludeSenders()": "1ed7831c", - "failed()": "ba414fa6", - "targetArtifactSelectors()": "66d9a9a0", - "targetArtifacts()": "85226c81", - "targetContracts()": "3f7286f4", - "targetInterfaces()": "2ade3880", - "targetSelectors()": "916a17c6", - "targetSenders()": "3e5e3c23" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts b/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts deleted file mode 100644 index 21ecd95fa..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -export declare const EtchingVault: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_baseToken_"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_vaultSharePrice_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "asset"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToAssets"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "asset()": "38d52e0f"; - readonly "convertToAssets(uint256)": "07a2d13a"; - }; -}; -//# sourceMappingURL=EtchingVault.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts.map b/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts.map deleted file mode 100644 index 2b747b4a7..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingVault.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EtchingVault.d.ts","sourceRoot":"","sources":["../src/EtchingVault.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmD6xB,KAAK,MAAM,EAAE;;;;;CAKl0B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EtchingVault.js b/packages/hyperdrive-artifacts/dist/EtchingVault.js deleted file mode 100644 index e594d1610..000000000 --- a/packages/hyperdrive-artifacts/dist/EtchingVault.js +++ /dev/null @@ -1,57 +0,0 @@ -export const EtchingVault = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_baseToken_", - "type": "address", - "internalType": "address" - }, - { - "name": "_vaultSharePrice_", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "asset", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToAssets", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60c060405234801561000f575f80fd5b5060405161019138038061019183398101604081905261002e91610044565b6001600160a01b0390911660805260a05261007b565b5f8060408385031215610055575f80fd5b82516001600160a01b038116811461006b575f80fd5b6020939093015192949293505050565b60805160a05160f96100985f395f604201525f6084015260f95ff3fe6080604052348015600e575f80fd5b50600436106030575f3560e01c806307a2d13a14603457806338d52e0f146077575b5f80fd5b6064603f36600460ad565b507f000000000000000000000000000000000000000000000000000000000000000090565b6040519081526020015b60405180910390f35b6040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001606e565b5f6020828403121560bc575f80fd5b503591905056fea264697066735822122096e50bd5dc98c6d2bcb55b4e1b306bf05c1561d1057b9b404154025d00a265f464736f6c63430008160033', - methodIdentifiers: { - "asset()": "38d52e0f", - "convertToAssets(uint256)": "07a2d13a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts b/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts deleted file mode 100644 index 6f42e1f40..000000000 --- a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const ExcessivelySafeCall: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ExcessivelySafeCall.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts.map b/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts.map deleted file mode 100644 index 914791433..000000000 --- a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ExcessivelySafeCall.d.ts","sourceRoot":"","sources":["../src/ExcessivelySafeCall.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;cAEkQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.js b/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.js deleted file mode 100644 index d1ab6381a..000000000 --- a/packages/hyperdrive-artifacts/dist/ExcessivelySafeCall.js +++ /dev/null @@ -1,5 +0,0 @@ -export const ExcessivelySafeCall = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212201e07a5e84cfc83e73639cab8548c1a55ca605d8a07d8c3d3a38cad377301094f64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts b/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts deleted file mode 100644 index aa163b9fa..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const EzETHBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=EzETHBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts.map deleted file mode 100644 index a883d8af0..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHBase.d.ts","sourceRoot":"","sources":["../src/EzETHBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBF,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHBase.js b/packages/hyperdrive-artifacts/dist/EzETHBase.js deleted file mode 100644 index c584920c0..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const EzETHBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts b/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts deleted file mode 100644 index b8e9c3d18..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const EzETHConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=EzETHConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts.map deleted file mode 100644 index 3dd98d6f7..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHConversions.d.ts","sourceRoot":"","sources":["../src/EzETHConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;cAEqQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHConversions.js b/packages/hyperdrive-artifacts/dist/EzETHConversions.js deleted file mode 100644 index e371b9c80..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const EzETHConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a2221d2867c29648bcbb93a06ec06af7d6f25879110496b212e45ec5eb2f99a564736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts deleted file mode 100644 index 8832bc558..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts +++ /dev/null @@ -1,1326 +0,0 @@ -export declare const EzETHHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=EzETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts.map deleted file mode 100644 index 540834f36..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/EzETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsmDo9X,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5/X,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.js deleted file mode 100644 index 44fd2bdf8..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdrive.js +++ /dev/null @@ -1,1670 +0,0 @@ -export const EzETHHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61036060405234801562000011575f80fd5b50604051620017ee380380620017ee8339810160408190526200003491620003c5565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000597565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284166103208190526040805163224a19a960e21b8152905191945063892866a4935060048082019350602092918290030181865afa1580156200016b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000191919062000663565b6001600160a01b031661034052506200068898505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620001e957620001e9620001af565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200021a576200021a620001af565b604052919050565b6001600160a01b038116811462000237575f80fd5b50565b8051620002478162000222565b919050565b5f608082840312156200025d575f80fd5b604051608081016001600160401b0381118282101715620002825762000282620001af565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002c5575f80fd5b620002cf620001c3565b9050620002dc826200023a565b8152620002ec602083016200023a565b6020820152620002ff604083016200023a565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200036a8184016200023a565b908201526101806200037e8382016200023a565b908201526101a0620003928382016200023a565b908201526101c0620003a68382016200023a565b908201526101e0620003bb848483016200024c565b9082015292915050565b5f805f805f805f805f6103608a8c031215620003df575f80fd5b89516001600160401b0380821115620003f6575f80fd5b818c0191508c601f8301126200040a575f80fd5b8151818111156200041f576200041f620001af565b6020915062000437601f8201601f19168301620001ef565b8181528e838386010111156200044b575f80fd5b5f5b828110156200046a5784810184015182820185015283016200044d565b505f838383010152809c505050620004858d828e01620002b3565b99505050620004986102808b016200023a565b9650620004a96102a08b016200023a565b9550620004ba6102c08b016200023a565b9450620004cb6102e08b016200023a565b9350620004dc6103008b016200023a565b9250620004ed6103208b016200023a565b9150620004fe6103408b016200023a565b90509295985092959850929598565b600181811c908216806200052257607f821691505b6020821081036200054157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200059257805f5260205f20601f840160051c810160208510156200056e5750805b601f840160051c820191505b818110156200058f575f81556001016200057a565b50505b505050565b81516001600160401b03811115620005b357620005b3620001af565b620005cb81620005c484546200050d565b8462000547565b602080601f83116001811462000601575f8415620005e95750858301515b5f19600386901b1c1916600185901b1785556200065b565b5f85815260208120601f198616915b82811015620006315788860151825594840194600190910190840162000610565b50858210156200064f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000674575f80fd5b8151620006818162000222565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007ad5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a2a818db7b6181468bf437645441eac8dca3ddae76628169d283dc2151e7096264736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts deleted file mode 100644 index ea741b8b4..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,159 +0,0 @@ -export declare const EzETHHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 5466c84ad..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/EzETHHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmMgpf,KAAK,MAAM,EAAE;;;;;CAKpsf,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.js deleted file mode 100644 index be0fcda79..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveCoreDeployer.js +++ /dev/null @@ -1,201 +0,0 @@ -export const EzETHHyperdriveCoreDeployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b50604051611f52380380611f5283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611ec96100895f395f81816075015260ce0152611ec95ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c80638cc23ce0146200003c578063ff0996b5146200006f575b5f80fd5b620000536200004d366004620003b6565b62000097565b6040516001600160a01b03909116815260200160405180910390f35b620000537f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b7f0000000000000000000000000000000000000000000000000000000000000000604051620000fb9062000140565b6200010f99989796959493929190620005ce565b8190604051809103905ff59050801580156200012d573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b6117ee80620006a683390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200018957620001896200014e565b60405290565b5f82601f8301126200019f575f80fd5b813567ffffffffffffffff80821115620001bd57620001bd6200014e565b604051601f8301601f19908116603f01168101908282118183101715620001e857620001e86200014e565b8160405283815286602085880101111562000201575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000237575f80fd5b919050565b5f608082840312156200024d575f80fd5b6040516080810181811067ffffffffffffffff821117156200027357620002736200014e565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002b6575f80fd5b620002c062000162565b9050620002cd8262000220565b8152620002dd6020830162000220565b6020820152620002f06040830162000220565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035b81840162000220565b908201526101806200036f83820162000220565b908201526101a06200038383820162000220565b908201526101c06200039783820162000220565b908201526101e0620003ac848483016200023c565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003d1575f80fd5b8a3567ffffffffffffffff80821115620003e9575f80fd5b620003f78e838f016200018f565b9b50620004088e60208f01620002a4565b9a50620004196102808e0162000220565b99506102a08d013591508082111562000430575f80fd5b506200043f8d828e016200018f565b975050620004516102c08c0162000220565b9550620004626102e08c0162000220565b9450620004736103008c0162000220565b9350620004846103208c0162000220565b9250620004956103408c0162000220565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004d660208401826001600160a01b03169052565b506040810151620004f260408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015162000565828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b8082101562000604576020828e0101516103808386010152602082019150620005e0565b61038091505f82828601015281601f19601f830116850101925050506200062f602083018b620004ae565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200013256fe61036060405234801562000011575f80fd5b50604051620017ee380380620017ee8339810160408190526200003491620003c5565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000597565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284166103208190526040805163224a19a960e21b8152905191945063892866a4935060048082019350602092918290030181865afa1580156200016b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000191919062000663565b6001600160a01b031661034052506200068898505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620001e957620001e9620001af565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200021a576200021a620001af565b604052919050565b6001600160a01b038116811462000237575f80fd5b50565b8051620002478162000222565b919050565b5f608082840312156200025d575f80fd5b604051608081016001600160401b0381118282101715620002825762000282620001af565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002c5575f80fd5b620002cf620001c3565b9050620002dc826200023a565b8152620002ec602083016200023a565b6020820152620002ff604083016200023a565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200036a8184016200023a565b908201526101806200037e8382016200023a565b908201526101a0620003928382016200023a565b908201526101c0620003a68382016200023a565b908201526101e0620003bb848483016200024c565b9082015292915050565b5f805f805f805f805f6103608a8c031215620003df575f80fd5b89516001600160401b0380821115620003f6575f80fd5b818c0191508c601f8301126200040a575f80fd5b8151818111156200041f576200041f620001af565b6020915062000437601f8201601f19168301620001ef565b8181528e838386010111156200044b575f80fd5b5f5b828110156200046a5784810184015182820185015283016200044d565b505f838383010152809c505050620004858d828e01620002b3565b99505050620004986102808b016200023a565b9650620004a96102a08b016200023a565b9550620004ba6102c08b016200023a565b9450620004cb6102e08b016200023a565b9350620004dc6103008b016200023a565b9250620004ed6103208b016200023a565b9150620004fe6103408b016200023a565b90509295985092959850929598565b600181811c908216806200052257607f821691505b6020821081036200054157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200059257805f5260205f20601f840160051c810160208510156200056e5750805b601f840160051c820191505b818110156200058f575f81556001016200057a565b50505b505050565b81516001600160401b03811115620005b357620005b3620001af565b620005cb81620005c484546200050d565b8462000547565b602080601f83116001811462000601575f8415620005e95750858301515b5f19600386901b1c1916600185901b1785556200065b565b5f85815260208120601f198616915b82811015620006315788860151825594840194600190910190840162000610565b50858210156200064f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000674575f80fd5b8151620006818162000222565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007ad5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a2a818db7b6181468bf437645441eac8dca3ddae76628169d283dc2151e7096264736f6c63430008160033a2646970667358221220710b355c8d17e3c6a99473b8cceee8e31a0be2c3ad016c28dfd1368d3e21367964736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 455ebbb30..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,689 +0,0 @@ -export declare const EzETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_renzoOracle"; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }, { - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_renzoOracle"; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }, { - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ezETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,address,uint256)": "5111bea2"; - readonly "convertToShares(address,address,address,uint256)": "079554e7"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "ezETH()": "13a73c78"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "renzoOracle()": "892866a4"; - readonly "restakeManager()": "ff0996b5"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=EzETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 0fcd75675..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/EzETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1BmguB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuB9juB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index dd33c6790..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,879 +0,0 @@ -export const EzETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_renzoOracle", - "type": "address", - "internalType": "contract IRenzoOracle" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - }, - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_renzoOracle", - "type": "address", - "internalType": "contract IRenzoOracle" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - }, - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ezETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRenzoOracle" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6101c060405234801562000011575f80fd5b5060405162002e0f38038062002e0f8339810160408190526200003491620001c1565b88888888888888885f620000498982620003ab565b506001600160a01b0396871660805294861660a05292851660c05290841660e052831661010052821661012052811661014052821661016081905260408051630274e78f60e31b815290519192506313a73c789160048083019260209291908290030181865afa158015620000c0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000e6919062000477565b6001600160a01b03166101a0816001600160a01b031681525050610160516001600160a01b031663892866a46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000140573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000166919062000477565b6001600160a01b031661018052506200049c975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114620001ac575f80fd5b50565b8051620001bc8162000197565b919050565b5f805f805f805f805f6101208a8c031215620001db575f80fd5b89516001600160401b0380821115620001f2575f80fd5b818c0191508c601f83011262000206575f80fd5b8151818111156200021b576200021b62000183565b604051601f8201601f19908116603f0116810190838211818310171562000246576200024662000183565b81604052828152602093508f8484870101111562000262575f80fd5b5f91505b8282101562000285578482018401518183018501529083019062000266565b5f848483010152809d505050506200029f818d01620001af565b99505050620002b160408b01620001af565b9650620002c160608b01620001af565b9550620002d160808b01620001af565b9450620002e160a08b01620001af565b9350620002f160c08b01620001af565b92506200030160e08b01620001af565b9150620003126101008b01620001af565b90509295985092959850929598565b600181811c908216806200033657607f821691505b6020821081036200035557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003a657805f5260205f20601f840160051c81016020851015620003825750805b601f840160051c820191505b81811015620003a3575f81556001016200038e565b50505b505050565b81516001600160401b03811115620003c757620003c762000183565b620003df81620003d8845462000321565b846200035b565b602080601f83116001811462000415575f8415620003fd5750858301515b5f19600386901b1c1916600185901b1785556200046f565b5f85815260208120601f198616915b82811015620004455788860151825594840194600190910190840162000424565b50858210156200046357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000488575f80fd5b8151620004958162000197565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051612877620005985f395f818161019b0152818161145a0152818161148f015261161101525f818161034301526116c501525f818161052c01526116e601525f81816103760152610e3101525f81816103dc0152610cfe01525f81816104420152610bcb01525f81816103a90152610a9801525f818161040f015261088f01525f81816104c7015261118001525f818161049401528181610617015281816107b8015281816108bf01528181610ac801528181610bfb01528181610d2e01528181610e6101528181610f5401526111b101526128775ff3fe60806040526004361061011b575f3560e01c8063a085fa301161009d578063c45a015511610062578063c45a015514610483578063c83e1f51146104b6578063e990eba8146104e9578063e99be39614610508578063ff0996b51461051b575f80fd5b8063a085fa3014610398578063aa8cd6c4146103cb578063ab71905f146103fe578063b6cb111814610431578063c151061814610464575f80fd5b806337404017116100e357806337404017146101e85780635111bea2146102e457806354fd4d5014610303578063892866a414610332578063966ecd1c14610365575f80fd5b806304baa00b1461011f57806306fdde0314610149578063079554e71461015d57806313a73c781461018a57806316abfc70146101d5575b5f80fd5b34801561012a575f80fd5b5061013361054e565b6040516101409190611d2f565b60405180910390f35b348015610154575f80fd5b5061013361056a565b348015610168575f80fd5b5061017c610177366004611d65565b6105f5565b604051908152602001610140565b348015610195575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610140565b61017c6101e3366004611ec5565b61060b565b3480156101f3575f80fd5b506102d7610202366004611f83565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b6040516101409190611f9a565b3480156102ef575f80fd5b5061017c6102fe366004611d65565b61079f565b34801561030e575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610133565b34801561033d575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610370575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a3575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d6575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610409575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561043c575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046f575f80fd5b506101bd61047e36600461216e565b6107ac565b34801561048e575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c1575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f4575f80fd5b506101bd6105033660046121d7565b610f48565b348015610513575f80fd5b50600561017c565b348015610526575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040518060600160405280602281526020016128206022913981565b5f805461057690612271565b80601f01602080910402602001604051908101604052809291908181526020018280546105a290612271565b80156105ed5780601f106105c4576101008083540402835291602001916105ed565b820191905f5260205f20905b8154815290600101906020018083116105d057829003601f168201915b505050505081565b5f610602858585856112bb565b95945050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461065557604051634084351160e01b815260040160405180910390fd5b61065d611408565b5f868152600160205260409020600301546001600160a01b0316806106955760405163952b05cb60e01b815260040160405180910390fd5b5f6106a282888887611429565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106d5939291906122a9565b60206040518083038185885af11580156106f1573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061071691906122f8565b92505f610723823461230f565b90508015610793576040515f90339083908381818185875af1925050503d805f811461076a576040519150601f19603f3d011682016040523d82523d5f602084013e61076f565b606091505b5050905080610791576040516312171d8360e31b815260040160405180910390fd5b505b50505095945050505050565b5f610602858585856114c0565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107f657604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036109a65780541561082b57604051633be1b34d60e11b815260040160405180910390fd5b61083586866115c7565b5f61084087876116bf565b90505f87604051602001610854919061232e565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108818a611721565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108fb929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016109309493929190612561565b6020604051808303815f875af115801561094c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097091906125a6565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b0383161790559050610602565b5f87815260016020526040902054806109d25760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109e4919061232e565b6040516020818303038152906040528051906020012014610a185760405163332ee11f60e01b815260040160405180910390fd5b60018201548651602088012014610a4257604051631a3272d160e31b815260040160405180910390fd5b610a4c87876115c7565b5f610a5688611721565b6002840154608082015290506001869003610b965760058301546001600160a01b031615610a965760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610afd939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b329493929190612561565b6020604051808303815f875af1158015610b4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7291906125a6565b6005840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600203610cc95760068301546001600160a01b031615610bc95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c30939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c659493929190612561565b6020604051808303815f875af1158015610c81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca591906125a6565b6006840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600303610dfc5760078301546001600160a01b031615610cfc5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d63939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d989493929190612561565b6020604051808303815f875af1158015610db4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd891906125a6565b6007840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600403610f2f5760088301546001600160a01b031615610e2f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e96939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ecb9493929190612561565b6020604051808303815f875af1158015610ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0b91906125a6565b6008840180546001600160a01b0319166001600160a01b0383161790559350610793565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f9257604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561103a57604051632c95caeb60e01b815260040160405180910390fd5b80516110595760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b0316158061107e575060a08101516001600160a01b0316155b80611094575060c08101516001600160a01b0316155b806110aa575060e08101516001600160a01b0316155b806110c157506101008101516001600160a01b0316155b156110df5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110f290879060200161232e565b60405160208183030381529060405280519060200120146111265760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461115157604051631a3272d160e31b815260040160405180910390fd5b61115b85856115c7565b5f61116586611721565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611207929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016112429a999897969594939291906125e2565b6020604051808303815f875af115801561125e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128291906125a6565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156112f8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261131f91908101906126f3565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611360573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138491906122f8565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064015b602060405180830381865afa1580156113d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fd91906122f8565b979650505050505050565b341561142757604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001511561144d5760405163350b944160e11b815260040160405180910390fd5b6114826001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168530866117ef565b6114b66001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868561185c565b505f949350505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156114fd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261152491908101906126f3565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611565573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061158991906122f8565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064016113be565b6115d182826118eb565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461160f57604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146116655760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611690576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c68000146116bb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6117187f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008560200151670de0b6b3a764000061079f565b90505b92915050565b611729611c0e565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526118569186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506119ff565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526118ad8482611a6a565b611856576040516001600160a01b0384811660248301525f60448301526118e191869182169063095ea7b390606401611824565b61185684826119ff565b6103e882608001511015611912576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361193757604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061196157508161010001518260e0015161195e91906127ca565b15155b1561197f5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806119ab5750670de0b6b3a7640000826101c0015160200151115b806119c65750670de0b6b3a7640000826101c0015160400151115b806119e15750670de0b6b3a7640000826101c0015160600151115b156116bb576040516322f72cc360e11b815260040160405180910390fd5b5f611a136001600160a01b03841683611b07565b905080515f14158015611a37575080806020019051810190611a3591906127e9565b155b15611a6557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051611a859190612804565b5f604051808303815f865af19150503d805f8114611abe576040519150601f19603f3d011682016040523d82523d5f602084013e611ac3565b606091505b5091509150818015611aed575080511580611aed575080806020019051810190611aed91906127e9565b80156106025750505050506001600160a01b03163b151590565b606061171883835f845f80856001600160a01b03168486604051611b2b9190612804565b5f6040518083038185875af1925050503d805f8114611b65576040519150601f19603f3d011682016040523d82523d5f602084013e611b6a565b606091505b5091509150611b7a868383611b86565b925050505b9392505050565b606082611b9b57611b9682611be2565b611b7f565b8151158015611bb257506001600160a01b0384163b155b15611bdb57604051639996b31560e01b81526001600160a01b0385166004820152602401611a5c565b5080611b7f565b805115611bf25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611cdd60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611cfc578181015183820152602001611ce4565b50505f910152565b5f8151808452611d1b816020860160208601611ce2565b601f01601f19169290920160200192915050565b602081525f6117186020830184611d04565b6001600160a01b0381168114611c0b575f80fd5b8035611d6081611d41565b919050565b5f805f8060808587031215611d78575f80fd5b8435611d8381611d41565b93506020850135611d9381611d41565b92506040850135611da381611d41565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611dea57611dea611db3565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611dea57611dea611db3565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e3d57611e3d611db3565b604052919050565b8015158114611c0b575f80fd5b5f67ffffffffffffffff831115611e6b57611e6b611db3565b611e7e601f8401601f1916602001611e14565b9050828152838383011115611e91575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112611eb6575f80fd5b61171883833560208501611e52565b5f805f805f60a08688031215611ed9575f80fd5b853594506020860135611eeb81611d41565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611f15575f80fd5b908701906060828a031215611f28575f80fd5b611f30611dc7565b8235611f3b81611d41565b81526020830135611f4b81611e45565b6020820152604083013582811115611f61575f80fd5b611f6d8b828601611ea7565b6040830152508093505050509295509295909350565b5f60208284031215611f93575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215612027575f80fd5b6040516080810181811067ffffffffffffffff8211171561204a5761204a611db3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610240828403121561208c575f80fd5b612094611df0565b905061209f82611d55565b81526120ad60208301611d55565b60208201526120be60408301611d55565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014061211b818401611d55565b9082015261016061212d838201611d55565b9082015261018061213f838201611d55565b908201526101a0612151838201611d55565b908201526101c061216484848301612017565b9082015292915050565b5f805f805f6102c08688031215612183575f80fd5b85359450612194876020880161207b565b935061026086013567ffffffffffffffff8111156121b0575f80fd5b6121bc88828901611ea7565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c086880312156121ec575f80fd5b85359450602086013567ffffffffffffffff8082111561220a575f80fd5b818801915088601f83011261221d575f80fd5b61222c89833560208501611e52565b955061223b8960408a0161207b565b9450610280880135915080821115612251575f80fd5b5061225e88828901611ea7565b959894975092956102a001359392505050565b600181811c9082168061228557607f821691505b6020821081036122a357634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a08401526122ee60c0840182611d04565b9695505050505050565b5f60208284031215612308575f80fd5b5051919050565b8181038181111561171b57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161235a60208401826001600160a01b03169052565b50604083015161237560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516123db828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e08501526040810151610200850152606081015161022085015261200f565b80516001600160a01b03168252602081015161246b60208401826001600160a01b03169052565b50604081015161248660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516124f8828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611856565b5f6102c061256f8388612444565b6001600160a01b038616610260840152610280830181905261259381840186611d04565b915050826102a083015295945050505050565b5f602082840312156125b6575f80fd5b8151611b7f81611d41565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526125f58184018e611d04565b9050612604602084018d612444565b6001600160a01b038b81166102808501528382036102a0850152612628828c611d04565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f67ffffffffffffffff82111561267d5761267d611db3565b5060051b60200190565b5f82601f830112612696575f80fd5b815160206126ab6126a683612664565b611e14565b8083825260208201915060208460051b8701019350868411156126cc575f80fd5b602086015b848110156126e857805183529183019183016126d1565b509695505050505050565b5f805f60608486031215612705575f80fd5b835167ffffffffffffffff8082111561271c575f80fd5b818601915086601f83011261272f575f80fd5b8151602061273f6126a683612664565b82815260059290921b8401810191818101908a84111561275d575f80fd5b8286015b8481101561279357805186811115612777575f80fd5b6127858d86838b0101612687565b845250918301918301612761565b50918901519197509093505050808211156127ac575f80fd5b506127b986828701612687565b925050604084015190509250925092565b5f826127e457634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156127f9575f80fd5b8151611b7f81611e45565b5f8251612815818460208701611ce2565b919091019291505056fe457a455448487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220c481fd737d68f65e134bf8a9ac399c7d6aa52f9ed8bea236e80df2c9feeab78664736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,address,address,uint256)": "5111bea2", - "convertToShares(address,address,address,uint256)": "079554e7", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "ezETH()": "13a73c78", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "renzoOracle()": "892866a4", - "restakeManager()": "ff0996b5", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts deleted file mode 100644 index 50f719257..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const EzETHLineaBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=EzETHLineaBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts.map deleted file mode 100644 index 288aa001e..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaBase.d.ts","sourceRoot":"","sources":["../src/EzETHLineaBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.js b/packages/hyperdrive-artifacts/dist/EzETHLineaBase.js deleted file mode 100644 index 60b480f48..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const EzETHLineaBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts deleted file mode 100644 index 323e4c43c..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const EzETHLineaConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=EzETHLineaConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts.map deleted file mode 100644 index 8889777f8..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaConversions.d.ts","sourceRoot":"","sources":["../src/EzETHLineaConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;cAEgQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.js b/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.js deleted file mode 100644 index b0f24bf10..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const EzETHLineaConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f67ac4d85d125d3caac64e9417f531a496cfe1642a72ca2dae0bcef19b38f6fc64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts deleted file mode 100644 index 15fbd6ee5..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts +++ /dev/null @@ -1,1326 +0,0 @@ -export declare const EzETHLineaHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=EzETHLineaHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts.map deleted file mode 100644 index 2a3210ab3..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaHyperdrive.d.ts","sourceRoot":"","sources":["../src/EzETHLineaHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsmD+nX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5qX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.js b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.js deleted file mode 100644 index 9914e1b5a..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdrive.js +++ /dev/null @@ -1,1670 +0,0 @@ -export const EzETHLineaHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f43369c771b298943b2ca32c2ef059ddd101fd6f1eba3c63d5f506d7fdf1e1cd64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 1eebaf7b1..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,159 +0,0 @@ -export declare const EzETHLineaHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 017b37392..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmMyye,KAAK,MAAM,EAAE;;;;;CAKl2e,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.js deleted file mode 100644 index 86f12b235..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveCoreDeployer.js +++ /dev/null @@ -1,201 +0,0 @@ -export const EzETHLineaHyperdriveCoreDeployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b50604051611ea1380380611ea183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e186100895f395f81816042015260c60152611e185ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c806312ae5e67146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003ad565b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000f39062000137565b6200010799989796959493929190620005c5565b8190604051809103905ff590508015801562000125573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611746806200069d83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000180576200018062000145565b60405290565b5f82601f83011262000196575f80fd5b813567ffffffffffffffff80821115620001b457620001b462000145565b604051601f8301601f19908116603f01168101908282118183101715620001df57620001df62000145565b81604052838152866020858801011115620001f8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b03811681146200022e575f80fd5b919050565b5f6080828403121562000244575f80fd5b6040516080810181811067ffffffffffffffff821117156200026a576200026a62000145565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002ad575f80fd5b620002b762000159565b9050620002c48262000217565b8152620002d46020830162000217565b6020820152620002e76040830162000217565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035281840162000217565b908201526101806200036683820162000217565b908201526101a06200037a83820162000217565b908201526101c06200038e83820162000217565b908201526101e0620003a38484830162000233565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003c8575f80fd5b8a3567ffffffffffffffff80821115620003e0575f80fd5b620003ee8e838f0162000186565b9b50620003ff8e60208f016200029b565b9a50620004106102808e0162000217565b99506102a08d013591508082111562000427575f80fd5b50620004368d828e0162000186565b975050620004486102c08c0162000217565b9550620004596102e08c0162000217565b94506200046a6103008c0162000217565b93506200047b6103208c0162000217565b92506200048c6103408c0162000217565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004cd60208401826001600160a01b03169052565b506040810151620004e960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055c828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fb576020828e0101516103808386010152602082019150620005d7565b61038091505f82828601015281601f19601f8301168501019250505062000626602083018b620004a5565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012956fe61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f43369c771b298943b2ca32c2ef059ddd101fd6f1eba3c63d5f506d7fdf1e1cd64736f6c63430008160033a2646970667358221220bc33a3244939269e39b725e0a7a6c69ccb69b66ee235df69a13cf49c27db1e0a64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index ffa55de77..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,615 +0,0 @@ -export declare const EzETHLineaHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 415c267fd..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/EzETHLineaHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyvBk/mB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBljnB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.js deleted file mode 100644 index bcffe62e0..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,783 +0,0 @@ -export const EzETHLineaHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b5060405162002709380380620027098339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516122bc6200044d5f395f8181610158015281816106f5015261143701525f81816102ef0152610da501525f81816103550152610c7201525f81816103bb0152610b3f01525f81816103220152610a0c01525f8181610388015261080301525f818161045f01526110f401525f818161042c015281816105660152818161072c0152818161083301528181610a3c01528181610b6f01528181610ca201528181610dd501528181610ec8015261112501526122bc5ff3fe608060405260043610610105575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a01551461041b578063c6e6f592146103dd578063c83e1f511461044e578063e990eba814610481578063e99be396146104a0575f80fd5b8063ab71905f14610377578063b6cb1118146103aa578063b88fed9f146103dd578063c1510618146103fc575f80fd5b806337404017116100d857806337404017146101b357806354fd4d50146102af578063966ecd1c146102de578063a085fa3014610311578063aa8cd6c414610344575f80fd5b806304baa00b1461010957806306fdde031461013357806312ae5e671461014757806316abfc7014610192575b5f80fd5b348015610114575f80fd5b5061011d6104b3565b60405161012a919061192c565b60405180910390f35b34801561013e575f80fd5b5061011d6104cf565b348015610152575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b6101a56101a0366004611a64565b61055a565b60405190815260200161012a565b3480156101be575f80fd5b506102a26101cd366004611b22565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611b39565b3480156102ba575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b3480156102e9575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561031c575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506101a56103f7366004611b22565b6106ef565b348015610407575f80fd5b5061017a610416366004611d0d565b610720565b348015610426575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610459575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c575f80fd5b5061017a61049b366004611d76565b610ebc565b3480156104ab575f80fd5b5060056101a5565b6040518060600160405280602781526020016122606027913981565b5f80546104db90611e10565b80601f016020809104026020016040519081016040528092919081815260200182805461050790611e10565b80156105525780601f1061052957610100808354040283529160200191610552565b820191905f5260205f20905b81548152906001019060200180831161053557829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105a457604051634084351160e01b815260040160405180910390fd5b6105ac61122f565b5f868152600160205260409020600301546001600160a01b0316806105e45760405163952b05cb60e01b815260040160405180910390fd5b5f6105f182888887611250565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161062493929190611e48565b60206040518083038185885af1158015610640573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106659190611e97565b92505f6106728234611eae565b905080156106e2576040515f90339083908381818185875af1925050503d805f81146106b9576040519150601f19603f3d011682016040523d82523d5f602084013e6106be565b606091505b50509050806106e0576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f61071a7f00000000000000000000000000000000000000000000000000000000000000008361140c565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076a57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361091a5780541561079f57604051633be1b34d60e11b815260040160405180910390fd5b6107a9868661142b565b5f6107b48787611582565b90505f876040516020016107c89190611ecd565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107f58a61159b565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161086f929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108a49493929190612100565b6020604051808303815f875af11580156108c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e49190612145565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106e6565b5f87815260016020526040902054806109465760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109589190611ecd565b604051602081830303815290604052805190602001201461098c5760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109b657604051631a3272d160e31b815260040160405180910390fd5b6109c0878761142b565b5f6109ca8861159b565b6002840154608082015290506001869003610b0a5760058301546001600160a01b031615610a0a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a7193929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aa69493929190612100565b6020604051808303815f875af1158015610ac2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae69190612145565b6005840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600203610c3d5760068301546001600160a01b031615610b3d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ba493929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bd99493929190612100565b6020604051808303815f875af1158015610bf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c199190612145565b6006840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600303610d705760078301546001600160a01b031615610c705760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cd793929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d0c9493929190612100565b6020604051808303815f875af1158015610d28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4c9190612145565b6007840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600403610ea35760088301546001600160a01b031615610da35760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e0a93929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e3f9493929190612100565b6020604051808303815f875af1158015610e5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7f9190612145565b6008840180546001600160a01b0319166001600160a01b03831617905593506106e2565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f0657604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610fae57604051632c95caeb60e01b815260040160405180910390fd5b8051610fcd5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610ff2575060a08101516001600160a01b0316155b80611008575060c08101516001600160a01b0316155b8061101e575060e08101516001600160a01b0316155b8061103557506101008101516001600160a01b0316155b156110535760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611066908790602001611ecd565b604051602081830303815290604052805190602001201461109a5760405163332ee11f60e01b815260040160405180910390fd5b80602001518480519060200120146110c557604051631a3272d160e31b815260040160405180910390fd5b6110cf858561142b565b5f6110d98661159b565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161117b929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111b69a99989796959493929190612181565b6020604051808303815f875af11580156111d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f69190612145565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561124e57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112745760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190612145565b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018790529192505f918316906323b872dd906064016020604051808303815f875af115801561132c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113509190612203565b905080611370576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0388811660048301526024820187905283169063095ea7b3906044016020604051808303815f875af11580156113bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e09190612203565b905080611400576040516340b27c2160e11b815260040160405180910390fd5b505f9695505050505050565b5f8061141784611669565b905061142383826116d2565b949350505050565b61143582826116e6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663152b2c4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b59190612145565b6001600160a01b031682602001516001600160a01b0316146114ea5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461152857604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c6800014611553576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c680001461157e576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611594670de0b6b3a76400006106ef565b9392505050565b6115a3611815565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156116a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ca919061221e565b509392505050565b5f6115948383670de0b6b3a76400006117fa565b6103e88260800151101561170d576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361173257604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061175c57508161010001518260e001516117599190612240565b15155b1561177a5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117a65750670de0b6b3a7640000826101c0015160200151115b806117c15750670de0b6b3a7640000826101c0015160400151115b806117dc5750670de0b6b3a7640000826101c0015160600151115b1561157e576040516322f72cc360e11b815260040160405180910390fd5b5f825f19048411830215820261180e575f80fd5b5091020490565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016118e460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b8181101561190d576020818501810151868301820152016118f1565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61159460208301846118e9565b6001600160a01b0381168114611952575f80fd5b50565b80356119608161193e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561199c5761199c611965565b60405290565b6040516101e0810167ffffffffffffffff8111828210171561199c5761199c611965565b8015158114611952575f80fd5b5f67ffffffffffffffff808411156119ed576119ed611965565b604051601f8501601f19908116603f01168101908282118183101715611a1557611a15611965565b81604052809350858152868686011115611a2d575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611a55575f80fd5b611594838335602085016119d3565b5f805f805f60a08688031215611a78575f80fd5b853594506020860135611a8a8161193e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ab4575f80fd5b908701906060828a031215611ac7575f80fd5b611acf611979565b8235611ada8161193e565b81526020830135611aea816119c6565b6020820152604083013582811115611b00575f80fd5b611b0c8b828601611a46565b6040830152508093505050509295509295909350565b5f60208284031215611b32575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611bc6575f80fd5b6040516080810181811067ffffffffffffffff82111715611be957611be9611965565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611c2b575f80fd5b611c336119a2565b9050611c3e82611955565b8152611c4c60208301611955565b6020820152611c5d60408301611955565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611cba818401611955565b90820152610160611ccc838201611955565b90820152610180611cde838201611955565b908201526101a0611cf0838201611955565b908201526101c0611d0384848301611bb6565b9082015292915050565b5f805f805f6102c08688031215611d22575f80fd5b85359450611d338760208801611c1a565b935061026086013567ffffffffffffffff811115611d4f575f80fd5b611d5b88828901611a46565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611d8b575f80fd5b85359450602086013567ffffffffffffffff80821115611da9575f80fd5b818801915088601f830112611dbc575f80fd5b611dcb898335602085016119d3565b9550611dda8960408a01611c1a565b9450610280880135915080821115611df0575f80fd5b50611dfd88828901611a46565b959894975092956102a001359392505050565b600181811c90821680611e2457607f821691505b602082108103611e4257634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611e8d60c08401826118e9565b9695505050505050565b5f60208284031215611ea7575f80fd5b5051919050565b8181038181111561071a57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611ef960208401826001600160a01b03169052565b506040830151611f1460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151611f7a828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611bae565b80516001600160a01b03168252602081015161200a60208401826001600160a01b03169052565b50604081015161202560408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612097828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061210e8388611fe3565b6001600160a01b0386166102608401526102808301819052612132818401866118e9565b915050826102a083015295945050505050565b5f60208284031215612155575f80fd5b81516115948161193e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526121948184018e6118e9565b90506121a3602084018d611fe3565b6001600160a01b038b81166102808501528382036102a08501526121c7828c6118e9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612213575f80fd5b8151611594816119c6565b5f806040838503121561222f575f80fd5b505080516020909101519092909150565b5f8261225a57634e487b7160e01b5f52601260045260245ffd5b50069056fe457a4554484c696e6561487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212201eec5f311729a0457d96043dddf7c08546a2553822f7700393a7fb716a3861d564736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts deleted file mode 100644 index 4f1a92645..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts +++ /dev/null @@ -1,1546 +0,0 @@ -export declare const EzETHLineaTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts.map deleted file mode 100644 index ba14e4276..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget0.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw3D4q9B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Ctt9B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.js deleted file mode 100644 index 413a54d52..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0.js +++ /dev/null @@ -1,1955 +0,0 @@ -export const EzETHLineaTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003d5b38038062003d5b8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138fe6200045d5f395f818161065e0152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138fe5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806312ae5e67146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102a0610650565b6102736102ce366004612db8565b61068f565b6102736102e1366004612e8e565b6106ab565b6102736102f4366004612f1d565b6106c1565b61030c610307366004612ceb565b6106d4565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612f62565b61073d565b604051908152602001610257565b610367610782565b60405160ff9091168152602001610257565b610351610387366004612fa1565b610799565b6103516107d1565b6103516103a2366004612fcf565b6107ef565b6103ba6103b5366004612d75565b6107f9565b6040519015158152602001610257565b61024a6103d8366004612ceb565b610818565b6102736103eb366004613006565b610826565b61024a610874565b6104006108a9565b604051610257919061304d565b61027361041b3660046130ee565b5050565b61035161042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610351610494366004612ceb565b611148565b6103516104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61035161126c565b6103516104ea366004612ceb565b611285565b6103516104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103ba610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f760405180604001604052806014815260200173457a4554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6106a089898989898989898961197f565b505050505050505050565b6106b9868686868686611b71565b505050505050565b6106ce8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077b910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107cb910161058a565b92915050565b5f6105f76107dd611ddf565b60405160200161058a91815260200190565b5f6107cb82611e6c565b5f61059e610806836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836108308161227c565b6001600160a01b0316336001600160a01b03161461086157604051632aab8bd360e01b815260040160405180910390fd5b61086d85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b610913604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61091c6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109869190613564565b6109909190613577565b90505f8215610a9f5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109bc856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8f919061358a565b509050610a9c8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b6f57610b6a8486612555565b610b71565b5f5b81526003546001600160801b0316602091820152604051919250610b9b9161058a9184910161304d565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e6107dd83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e6107dd83612594565b5f61059e6107dd6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b6106b98686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107cb910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61077b8383670de0b6b3a764000061286a565b5f61077b83670de0b6b3a76400008461286a565b5f6107cb7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f6107cb7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b6107cb91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061077b565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061077b612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061086d576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ee919061388b565b606061077b83835f612af9565b5f612aef82846137d8565b61077b9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b3991906138ad565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61077b565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061077b565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61077b6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561077b81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561077b81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561077b575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107cb576107cb613550565b818103818111156107cb576107cb613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161077b81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b80820281158282048414176107cb576107cb613550565b5f60208284031215613880575f80fd5b815161077b81612d90565b5f806040838503121561389c575f80fd5b505080516020909101519092909150565b5f82516138be818460208701612d02565b919091019291505056fea264697066735822122070b879219848c948671d6a0bc46b0eb459b815f0c1e5be80de6b4d7718abc90a64736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts deleted file mode 100644 index 8a7fba853..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHLineaTarget0Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts.map deleted file mode 100644 index fc2956687..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK8gjC,KAAK,MAAM,EAAE;;;;;CAKhkjC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.js deleted file mode 100644 index 81dd3bc5f..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget0Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHLineaTarget0Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161431038038061431083398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142876100895f395f8181603d015260b801526142875ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613d5b806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003d5b38038062003d5b8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138fe6200045d5f395f818161065e0152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138fe5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806312ae5e67146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102a0610650565b6102736102ce366004612db8565b61068f565b6102736102e1366004612e8e565b6106ab565b6102736102f4366004612f1d565b6106c1565b61030c610307366004612ceb565b6106d4565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612f62565b61073d565b604051908152602001610257565b610367610782565b60405160ff9091168152602001610257565b610351610387366004612fa1565b610799565b6103516107d1565b6103516103a2366004612fcf565b6107ef565b6103ba6103b5366004612d75565b6107f9565b6040519015158152602001610257565b61024a6103d8366004612ceb565b610818565b6102736103eb366004613006565b610826565b61024a610874565b6104006108a9565b604051610257919061304d565b61027361041b3660046130ee565b5050565b61035161042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610351610494366004612ceb565b611148565b6103516104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61035161126c565b6103516104ea366004612ceb565b611285565b6103516104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103ba610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f760405180604001604052806014815260200173457a4554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6106a089898989898989898961197f565b505050505050505050565b6106b9868686868686611b71565b505050505050565b6106ce8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077b910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107cb910161058a565b92915050565b5f6105f76107dd611ddf565b60405160200161058a91815260200190565b5f6107cb82611e6c565b5f61059e610806836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836108308161227c565b6001600160a01b0316336001600160a01b03161461086157604051632aab8bd360e01b815260040160405180910390fd5b61086d85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b610913604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61091c6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109869190613564565b6109909190613577565b90505f8215610a9f5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109bc856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8f919061358a565b509050610a9c8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b6f57610b6a8486612555565b610b71565b5f5b81526003546001600160801b0316602091820152604051919250610b9b9161058a9184910161304d565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e6107dd83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e6107dd83612594565b5f61059e6107dd6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b6106b98686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107cb910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61077b8383670de0b6b3a764000061286a565b5f61077b83670de0b6b3a76400008461286a565b5f6107cb7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f6107cb7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b6107cb91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061077b565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061077b612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061086d576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ee919061388b565b606061077b83835f612af9565b5f612aef82846137d8565b61077b9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b3991906138ad565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61077b565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061077b565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61077b6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561077b81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561077b81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561077b575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107cb576107cb613550565b818103818111156107cb576107cb613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161077b81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b80820281158282048414176107cb576107cb613550565b5f60208284031215613880575f80fd5b815161077b81612d90565b5f806040838503121561389c575f80fd5b505080516020909101519092909150565b5f82516138be818460208701612d02565b919091019291505056fea264697066735822122070b879219848c948671d6a0bc46b0eb459b815f0c1e5be80de6b4d7718abc90a64736f6c63430008160033a26469706673582212207c509fd1c03c2184a79d1586e62b90e86f23936009e3087a6adfe718a19b48b964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts deleted file mode 100644 index 739f8e266..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts +++ /dev/null @@ -1,774 +0,0 @@ -export declare const EzETHLineaTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts.map deleted file mode 100644 index 1d4849037..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget1.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA27Bk09B,KAAK,MAAM,EAAE;;;;;CAK529B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.js deleted file mode 100644 index bef9e4471..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1.js +++ /dev/null @@ -1,961 +0,0 @@ -export const EzETHLineaTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003da638038062003da68339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613910620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139105ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b91906137d3565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a656fea2646970667358221220b04c80675515ea61ec7dff4f6d897ff7fd30801acecd9383d1b6ca94240fd3c364736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts deleted file mode 100644 index 01f2e08e1..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHLineaTarget1Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts.map deleted file mode 100644 index 67c6e7d9a..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKoqjC,KAAK,MAAM,EAAE;;;;;CAKttjC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.js deleted file mode 100644 index e8faf0a87..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget1Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHLineaTarget1Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161435b38038061435b83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142d26100895f395f8181603d015260b801526142d25ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613da6806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003da638038062003da68339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613910620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139105ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b91906137d3565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a656fea2646970667358221220b04c80675515ea61ec7dff4f6d897ff7fd30801acecd9383d1b6ca94240fd3c364736f6c63430008160033a2646970667358221220edcd677769f7f8da108f6ffb643080fa1e39bbc38d04fdd5ff6cdaefaa45048064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts deleted file mode 100644 index c999e52d6..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts +++ /dev/null @@ -1,790 +0,0 @@ -export declare const EzETHLineaTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts.map deleted file mode 100644 index 250b9514d..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget2.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+8Bwv+B,KAAK,MAAM,EAAE;;;;;CAKly+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.js deleted file mode 100644 index 5f14af910..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2.js +++ /dev/null @@ -1,981 +0,0 @@ -export const EzETHLineaTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e8138038062003e818339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139dd620004a45f395f61146a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612c2701525f81816114e601528181611c8d01528181611cf001528181612477015281816128100152818161284c01528181612a440152612c0101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bdb01525f6118b701525f81816119d801528181612568015281816125e00152612d3f01525f81816109a301528181610e3701528181611415015281816119ac01526125b401525f8181610e16015281816125340152612cfb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c4d01525f81816101d301528181610396015281816108e1015261322c01525f81816106a7015281816107230152818161079701528181610862015261089a01525f6116b201525f50506139dd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046134a4565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046134a4565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613512565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613512565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613539565b8b611217565b8d8a8a898e8561023e6020830183613539565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613561565b8961028960408a018a61357c565b60405161029c97969594939291906135e7565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613512565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613512565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613512565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613539565b85611217565b858b868461049b6020860186613539565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613561565b6104ec896104e68a8d613627565b90610683565b8d6104fa60408e018e61357c565b60405161050e98979695949392919061363a565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613539565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613561565b156105ea576105e0856105db604087018761357c565b611673565b9093509050610602565b5034610602856105fd604087018761357c565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061174a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611765565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613512565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161177a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b92505b50610838836117b9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613627565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613512565b42906117e6565b84610f13565b6108d5886117fa565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613627565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611997565b915091508060095f8282546109729190613512565b9091555061098d9050865f8461098781611a64565b88611a8d565b6109978183613512565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c04565b91506109db6109d68385610683565b611c4d565b600680546002906109fc9084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117b9565b60068054601090610a4b908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611997565b915091508060095f828254610abe9190613512565b90915550610ad99050835f84610ad381611a64565b8a611c76565b610ae38183613627565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117b9565b60068054601090610b62908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a64565b610ba483611a64565b610bae91906136c1565b5f611e66565b8e610bbf8482611ea5565b50505b5f610bcc84612094565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906136e0565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121d6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161177a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061225c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612287565b6122eb565b15610e6d57610e6d61232c565b610e7987858885612345565b91965094509250670de0b6b3a7640000610efb610e968784613512565b600254610eb4908890600160801b90046001600160801b0316613627565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b1115610f0957610f0961232c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613627565b610fb991906136fb565b85670de0b6b3a7640000610fcd878a613627565b610fd791906136fb565b85929190600161238d565b6117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117b9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866136fb565b6005546001600160801b0316919088600161238d565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117b9565b600280545f906110d19084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117b9565b60028054601090611120908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117b9565b61115790826136a1565b600380546001600160801b03808416600160801b02911617905590505f61117d83612431565b905061119b8161118c87611a64565b6111969084613732565b611e66565b6111a484612471565b6111b0576111b061232c565b5f6111ba856124d0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613512565b90915550505f838152600b60205260408120805483929061126a908490613512565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61177a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124dc565b93508761134d85896124fc565b111561135b5761135b61232c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b93506113d58a670de0b6b3a7640000868c612510565b509193509091506113e890508183613627565b6113f29087613627565b95508861143f816114398d611407868c613627565b8d611412878261261c565b877f0000000000000000000000000000000000000000000000000000000000000000612631565b906124fc565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612651565b5f61069a7f000000000000000000000000000000000000000000000000000000000000000083612674565b5f6114a06040830160208401613561565b156114ac5750826114b9565b6114b6848461268b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc61232c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61269f565b10156115225761152261232c565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b0316919089600161238d565b600580546001600160801b03928316600160801b029216919091179055611592816117b9565b600280546001600160801b0319166001600160801b03929092169190911790556115bb856117b9565b600280546010906115dd908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a856117b9565b6004805460109061162c908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a83612431565b905061119b8161166988611a64565b61119690846136c1565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117249190613759565b905080611744576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261175e575f80fd5b5091020490565b5f6117708284613788565b6106979084613627565b6002546004545f916106cb916001600160801b0390911690600f0b61269f565b5f6117b0826117aa85888861174a565b906126c4565b95945050505050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117f45782610697565b50919050565b6006545f90819061181c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611992575f6118458383613627565b9050611854610fe28286611450565b60068054601090611876908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ae858361268b90919063ffffffff16565b90505f6118db827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546118ee9190613512565b909155506118fe90508183613627565b9150611909826117b9565b600280545f906119239084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061195082612729565b600480545f90611964908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119a3878561268b565b91505f6119d0837f0000000000000000000000000000000000000000000000000000000000000000610683565b90506119fc817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a1f57611a0e8282613627565b611a189084613627565b9250611a36565b611a298282613627565b611a339084613512565b92505b86861015611a5957611a4983878961174a565b9250611a5682878961174a565b91505b509550959350505050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611ad5610fe282611ab9670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b031691908a5f61238d565b600580546001600160801b03928316600160801b029216919091179055611afb866117b9565b611b059082613712565b600480546001600160801b03928316600160801b029216919091179055611b2b846117b9565b600280545f90611b459084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7283612752565b600480545f90611b86908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bb6856117b9565b60028054601090611bd8908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c1b84611c158a888a61174a565b9061268b565b9050611c2888848661174a565b611c329082613512565b905086811115611c425786810391505b509695505050505050565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cb857507f0000000000000000000000000000000000000000000000000000000000000000611cb68583613627565b105b15611cc557611cc561232c565b6004549084900390600f0b611cda84826136c1565b905083611ce686611a64565b138015611d1b57507f0000000000000000000000000000000000000000000000000000000000000000611d19838361269f565b105b15611d2857611d2861232c565b600354600160801b90046001600160801b0316611d69610fe282611d54670de0b6b3a7640000886136fb565b6005546001600160801b031691908c5f61238d565b600580546001600160801b0319166001600160801b0392909216919091179055611d938882613627565b9050611d9e816117b9565b600380546001600160801b03928316600160801b029216919091179055611dc4836117b9565b600280546001600160801b0319166001600160801b0392909216919091179055611ded82612752565b600480546001600160801b0319166001600160801b0392909216919091179055611e16876117b9565b60028054601090611e38908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611e8190610fe2906001600160801b0316848461278d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611eef916001600160801b031690613627565b9050805f03611f0257600191505061069a565b5f611f0c856127ef565b9050805f03611f205760019250505061069a565b5f80611f2d83858961288a565b9150915080611f42575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f7d929190613846565b6040805180830381865af4158015611f97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbb91906138bb565b91509150611fd9611fcb82611a64565b611fd4906138dd565b6129fe565b925082611fee575f965050505050505061069a565b611ff7826117b9565b600780545f906120119084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061203e816117b9565b60078054601090612060908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120bb87612b92565b6040518263ffffffff1660e01b81526004016120d791906138f7565b6040805180830381865af41580156120f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121159190613906565b915091508061212a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161218f91613512565b6121999190613627565b9050805f036121af57505f958695509350505050565b5f8087116121bd575f6121c8565b6121c884888461174a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156121f9576121f9613934565b6040519080825280601f01601f191660200182016040528015612223576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612243578692505b828152825f602083013e90999098509650505050505050565b5f61227c87878761227588670de0b6b3a7640000613627565b8787612ccc565b979650505050505050565b5f6114b66122c76122a084670de0b6b3a7640000613627565b611439670de0b6b3a76400006122b6818a611450565b6122c09190613627565b87906124fc565b6122d990670de0b6b3a7640000613512565b611c1584670de0b6b3a7640000613627565b5f80612321856122f961177a565b6123039190613512565b600254610eb4908790600160801b90046001600160801b0316613627565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612355898789612cee565b90925090506123648289613627565b97505f61237282888a61174a565b905061237e818b613627565b9a989950979650505050505050565b5f825f0361239c5750846117b0565b81156123ee576123cd6123af8487613512565b6123b98587610683565b6123c3888a610683565b611c159190613512565b90505f6123da85886117e6565b9050808210156123e8578091505b506117b0565b8285036123fc57505f6117b0565b6124276124098487613627565b61241385876124fc565b61241d888a610683565b611c159190613627565b9695505050505050565b5f612456600b5f6124436002866111e3565b81526020019081526020015f2054611a64565b612467600b5f6124436001876111e3565b61069a91906136c1565b5f61249c7f0000000000000000000000000000000000000000000000000000000000000000836124fc565b6003546124b291906001600160801b0316613512565b6002546124c8906001600160801b031684610683565b101592915050565b5f61069a826004611ea5565b5f61227c8787876124f588670de0b6b3a7640000613627565b8787612d6d565b5f6106978383670de0b6b3a7640000612651565b5f80808061256087866125598b6114396125328c670de0b6b3a7640000613627565b7f0000000000000000000000000000000000000000000000000000000000000000906124fc565b9190612651565b935061258c847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125ac6125a489670de0b6b3a7640000613627565b8a9088612651565b90506125d8817f00000000000000000000000000000000000000000000000000000000000000006124fc565b9350612604847f0000000000000000000000000000000000000000000000000000000000000000610683565b61260e9084613512565b915050945094509450949050565b5f81831161262a5781610697565b5090919050565b5f80612648846126428a888a612651565b90611450565b9050611c288884865b5f825f190484118302158202612665575f80fd5b50910281810615159190040190565b5f8061267f84612d7d565b9050610d2c8382610683565b5f61069783670de0b6b3a76400008461174a565b5f806126ab8484612de6565b9092509050806126bd576126bd61232c565b5092915050565b5f815f036126db5750670de0b6b3a764000061069a565b825f036126e957505f61069a565b5f6126f383611a64565b90505f61270761270286611a64565b612e1e565b905081810261271e670de0b6b3a764000082613948565b905061242781613043565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061276f575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f80612799845f6131d5565b6127a3845f6131d5565b6127ad91906136c1565b90505f8113156127c8576127c18186613512565b94506127e6565b5f8112156127e6576127d9816138dd565b6127e39086613627565b94505b50929392505050565b6003545f908190612809906001600160801b031684611450565b90506128357f000000000000000000000000000000000000000000000000000000000000000082613512565b6002546001600160801b031611156117f4576002547f0000000000000000000000000000000000000000000000000000000000000000906128809083906001600160801b0316613627565b6114b99190613627565b612892613405565b5f8061289d84612b92565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128d791906138f7565b6040805180830381865af41580156128f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129159190613906565b935090508261292957505f91506129f69050565b5f61294f61294a84610160015185610140015161068390919063ffffffff16565b611a64565b61296f61294a8561012001518661010001516124fc90919063ffffffff16565b61297991906136c1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ab4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ad89190613974565b935093509350935080612af357505f98975050505050505050565b868414612b2457612b03846117b9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b5557612b3483612752565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b8357612b65826117b9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b9a61344f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c9291166131e3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cc4929004166131e3565b905292915050565b5f80612cdc888888888888613257565b909250905080611c4257611c4261232c565b5f80612d378561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d2d818c611450565b6114399190613627565b9150612d63827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cdc88888888888861331b565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612dba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dde91906138bb565b509392505050565b5f805f83612df386611a64565b612dfd91906136c1565b90505f811215612e13575f80925092505061067c565b946001945092505050565b5f808213612e3f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ec29084901c611a64565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361305c57505f919050565b680755bf798b4a1bf1e58212613085576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061242774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a64565b5f81831361262a5781610697565b5f80670de0b6b3a76400006131f66106a0565b61320091906136fb565b905080831161320f575f613219565b6132198184613627565b91506114b9613250670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136fb565b839061268b565b5f805f61326789898888886133d7565b9050613281866117aa61327a8a8d613512565b8790610683565b985061328e858a8661174a565b9850888110156132a4575f809250925050613310565b888103670de0b6b3a764000081106132d9576132d26132cb670de0b6b3a764000089611450565b82906126c4565b90506132f1565b6132ee6132cb670de0b6b3a76400008961268b565b90505b80891015613306575f80935093505050613310565b8803925060019150505b965096945050505050565b5f805f61332b89898888886133d7565b905061333b866117aa898b613512565b975087811015613351575f809250925050613310565b87810361335f818688612651565b9050670de0b6b3a7640000811061338c576133856132cb670de0b6b3a764000089611450565b90506133a4565b6133a16132cb670de0b6b3a76400008961268b565b90505b6133ae8186611450565b9050808a10156133c5575f80935093505050613310565b90980398600198509650505050505050565b5f6133e285856126c4565b6133fb6133f3866117aa868b6124fc565b859085612651565b6124279190613512565b60405180610120016040528061341961344f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134b7575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156134e2575f80fd5b8501606081880312156134f3575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6134fe565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613549575f80fd5b81356114b981613525565b80151581146105af575f80fd5b5f60208284031215613571575f80fd5b81356114b981613554565b5f808335601e19843603018112613591575f80fd5b83018035915067ffffffffffffffff8211156135ab575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61361a60c0830184866135bf565b9998505050505050505050565b8181038181111561069a5761069a6134fe565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367360e0830184866135bf565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126bd576126bd6134fe565b6001600160801b038181168382160190808211156126bd576126bd6134fe565b8181035f8312801583831316838312821617156126bd576126bd6134fe565b5f602082840312156136f0575f80fd5b81516114b981613525565b808202811582820484141761069a5761069a6134fe565b6001600160801b038281168282160390808211156126bd576126bd6134fe565b8082018281125f831280158216821582161715613751576137516134fe565b505092915050565b5f60208284031215613769575f80fd5b81516114b981613554565b634e487b7160e01b5f52601260045260245ffd5b5f8261379657613796613774565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6134fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138598285516137c8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138cc575f80fd5b505080516020909101519092909150565b5f600160ff1b82016138f1576138f16134fe565b505f0390565b610180810161069a82846137c8565b5f8060408385031215613917575f80fd5b82519150602083015161392981613554565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8261395657613956613774565b600160ff1b82145f198414161561396f5761396f6134fe565b500590565b5f805f8060808587031215613987575f80fd5b84519350602085015192506040850151915060608501516134f38161355456fea2646970667358221220236e255a79db1393c18a8216c83057b5006da584dfca625b70e0cd0075dea52064736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts deleted file mode 100644 index f60919a3d..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHLineaTarget2Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts.map deleted file mode 100644 index 140449f7d..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK0lkC,KAAK,MAAM,EAAE;;;;;CAK5okC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.js deleted file mode 100644 index fb128b61b..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget2Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHLineaTarget2Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161443638038061443683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143ad6100895f395f8181603d015260b801526143ad5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613e81806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003e8138038062003e818339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139dd620004a45f395f61146a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612c2701525f81816114e601528181611c8d01528181611cf001528181612477015281816128100152818161284c01528181612a440152612c0101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bdb01525f6118b701525f81816119d801528181612568015281816125e00152612d3f01525f81816109a301528181610e3701528181611415015281816119ac01526125b401525f8181610e16015281816125340152612cfb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c4d01525f81816101d301528181610396015281816108e1015261322c01525f81816106a7015281816107230152818161079701528181610862015261089a01525f6116b201525f50506139dd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046134a4565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046134a4565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613512565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613512565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613539565b8b611217565b8d8a8a898e8561023e6020830183613539565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613561565b8961028960408a018a61357c565b60405161029c97969594939291906135e7565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613512565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613512565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613512565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613539565b85611217565b858b868461049b6020860186613539565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613561565b6104ec896104e68a8d613627565b90610683565b8d6104fa60408e018e61357c565b60405161050e98979695949392919061363a565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613539565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613561565b156105ea576105e0856105db604087018761357c565b611673565b9093509050610602565b5034610602856105fd604087018761357c565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061174a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611765565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613512565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161177a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b92505b50610838836117b9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613627565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613512565b42906117e6565b84610f13565b6108d5886117fa565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613627565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611997565b915091508060095f8282546109729190613512565b9091555061098d9050865f8461098781611a64565b88611a8d565b6109978183613512565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c04565b91506109db6109d68385610683565b611c4d565b600680546002906109fc9084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117b9565b60068054601090610a4b908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611997565b915091508060095f828254610abe9190613512565b90915550610ad99050835f84610ad381611a64565b8a611c76565b610ae38183613627565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117b9565b60068054601090610b62908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a64565b610ba483611a64565b610bae91906136c1565b5f611e66565b8e610bbf8482611ea5565b50505b5f610bcc84612094565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906136e0565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121d6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161177a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061225c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612287565b6122eb565b15610e6d57610e6d61232c565b610e7987858885612345565b91965094509250670de0b6b3a7640000610efb610e968784613512565b600254610eb4908890600160801b90046001600160801b0316613627565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b1115610f0957610f0961232c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613627565b610fb991906136fb565b85670de0b6b3a7640000610fcd878a613627565b610fd791906136fb565b85929190600161238d565b6117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117b9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866136fb565b6005546001600160801b0316919088600161238d565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117b9565b600280545f906110d19084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117b9565b60028054601090611120908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117b9565b61115790826136a1565b600380546001600160801b03808416600160801b02911617905590505f61117d83612431565b905061119b8161118c87611a64565b6111969084613732565b611e66565b6111a484612471565b6111b0576111b061232c565b5f6111ba856124d0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613512565b90915550505f838152600b60205260408120805483929061126a908490613512565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61177a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124dc565b93508761134d85896124fc565b111561135b5761135b61232c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b93506113d58a670de0b6b3a7640000868c612510565b509193509091506113e890508183613627565b6113f29087613627565b95508861143f816114398d611407868c613627565b8d611412878261261c565b877f0000000000000000000000000000000000000000000000000000000000000000612631565b906124fc565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612651565b5f61069a7f000000000000000000000000000000000000000000000000000000000000000083612674565b5f6114a06040830160208401613561565b156114ac5750826114b9565b6114b6848461268b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc61232c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61269f565b10156115225761152261232c565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b0316919089600161238d565b600580546001600160801b03928316600160801b029216919091179055611592816117b9565b600280546001600160801b0319166001600160801b03929092169190911790556115bb856117b9565b600280546010906115dd908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a856117b9565b6004805460109061162c908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a83612431565b905061119b8161166988611a64565b61119690846136c1565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117249190613759565b905080611744576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261175e575f80fd5b5091020490565b5f6117708284613788565b6106979084613627565b6002546004545f916106cb916001600160801b0390911690600f0b61269f565b5f6117b0826117aa85888861174a565b906126c4565b95945050505050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117f45782610697565b50919050565b6006545f90819061181c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611992575f6118458383613627565b9050611854610fe28286611450565b60068054601090611876908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ae858361268b90919063ffffffff16565b90505f6118db827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546118ee9190613512565b909155506118fe90508183613627565b9150611909826117b9565b600280545f906119239084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061195082612729565b600480545f90611964908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119a3878561268b565b91505f6119d0837f0000000000000000000000000000000000000000000000000000000000000000610683565b90506119fc817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a1f57611a0e8282613627565b611a189084613627565b9250611a36565b611a298282613627565b611a339084613512565b92505b86861015611a5957611a4983878961174a565b9250611a5682878961174a565b91505b509550959350505050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611ad5610fe282611ab9670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b031691908a5f61238d565b600580546001600160801b03928316600160801b029216919091179055611afb866117b9565b611b059082613712565b600480546001600160801b03928316600160801b029216919091179055611b2b846117b9565b600280545f90611b459084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7283612752565b600480545f90611b86908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bb6856117b9565b60028054601090611bd8908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c1b84611c158a888a61174a565b9061268b565b9050611c2888848661174a565b611c329082613512565b905086811115611c425786810391505b509695505050505050565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cb857507f0000000000000000000000000000000000000000000000000000000000000000611cb68583613627565b105b15611cc557611cc561232c565b6004549084900390600f0b611cda84826136c1565b905083611ce686611a64565b138015611d1b57507f0000000000000000000000000000000000000000000000000000000000000000611d19838361269f565b105b15611d2857611d2861232c565b600354600160801b90046001600160801b0316611d69610fe282611d54670de0b6b3a7640000886136fb565b6005546001600160801b031691908c5f61238d565b600580546001600160801b0319166001600160801b0392909216919091179055611d938882613627565b9050611d9e816117b9565b600380546001600160801b03928316600160801b029216919091179055611dc4836117b9565b600280546001600160801b0319166001600160801b0392909216919091179055611ded82612752565b600480546001600160801b0319166001600160801b0392909216919091179055611e16876117b9565b60028054601090611e38908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611e8190610fe2906001600160801b0316848461278d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611eef916001600160801b031690613627565b9050805f03611f0257600191505061069a565b5f611f0c856127ef565b9050805f03611f205760019250505061069a565b5f80611f2d83858961288a565b9150915080611f42575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f7d929190613846565b6040805180830381865af4158015611f97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbb91906138bb565b91509150611fd9611fcb82611a64565b611fd4906138dd565b6129fe565b925082611fee575f965050505050505061069a565b611ff7826117b9565b600780545f906120119084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061203e816117b9565b60078054601090612060908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120bb87612b92565b6040518263ffffffff1660e01b81526004016120d791906138f7565b6040805180830381865af41580156120f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121159190613906565b915091508061212a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161218f91613512565b6121999190613627565b9050805f036121af57505f958695509350505050565b5f8087116121bd575f6121c8565b6121c884888461174a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156121f9576121f9613934565b6040519080825280601f01601f191660200182016040528015612223576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612243578692505b828152825f602083013e90999098509650505050505050565b5f61227c87878761227588670de0b6b3a7640000613627565b8787612ccc565b979650505050505050565b5f6114b66122c76122a084670de0b6b3a7640000613627565b611439670de0b6b3a76400006122b6818a611450565b6122c09190613627565b87906124fc565b6122d990670de0b6b3a7640000613512565b611c1584670de0b6b3a7640000613627565b5f80612321856122f961177a565b6123039190613512565b600254610eb4908790600160801b90046001600160801b0316613627565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612355898789612cee565b90925090506123648289613627565b97505f61237282888a61174a565b905061237e818b613627565b9a989950979650505050505050565b5f825f0361239c5750846117b0565b81156123ee576123cd6123af8487613512565b6123b98587610683565b6123c3888a610683565b611c159190613512565b90505f6123da85886117e6565b9050808210156123e8578091505b506117b0565b8285036123fc57505f6117b0565b6124276124098487613627565b61241385876124fc565b61241d888a610683565b611c159190613627565b9695505050505050565b5f612456600b5f6124436002866111e3565b81526020019081526020015f2054611a64565b612467600b5f6124436001876111e3565b61069a91906136c1565b5f61249c7f0000000000000000000000000000000000000000000000000000000000000000836124fc565b6003546124b291906001600160801b0316613512565b6002546124c8906001600160801b031684610683565b101592915050565b5f61069a826004611ea5565b5f61227c8787876124f588670de0b6b3a7640000613627565b8787612d6d565b5f6106978383670de0b6b3a7640000612651565b5f80808061256087866125598b6114396125328c670de0b6b3a7640000613627565b7f0000000000000000000000000000000000000000000000000000000000000000906124fc565b9190612651565b935061258c847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125ac6125a489670de0b6b3a7640000613627565b8a9088612651565b90506125d8817f00000000000000000000000000000000000000000000000000000000000000006124fc565b9350612604847f0000000000000000000000000000000000000000000000000000000000000000610683565b61260e9084613512565b915050945094509450949050565b5f81831161262a5781610697565b5090919050565b5f80612648846126428a888a612651565b90611450565b9050611c288884865b5f825f190484118302158202612665575f80fd5b50910281810615159190040190565b5f8061267f84612d7d565b9050610d2c8382610683565b5f61069783670de0b6b3a76400008461174a565b5f806126ab8484612de6565b9092509050806126bd576126bd61232c565b5092915050565b5f815f036126db5750670de0b6b3a764000061069a565b825f036126e957505f61069a565b5f6126f383611a64565b90505f61270761270286611a64565b612e1e565b905081810261271e670de0b6b3a764000082613948565b905061242781613043565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061276f575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f80612799845f6131d5565b6127a3845f6131d5565b6127ad91906136c1565b90505f8113156127c8576127c18186613512565b94506127e6565b5f8112156127e6576127d9816138dd565b6127e39086613627565b94505b50929392505050565b6003545f908190612809906001600160801b031684611450565b90506128357f000000000000000000000000000000000000000000000000000000000000000082613512565b6002546001600160801b031611156117f4576002547f0000000000000000000000000000000000000000000000000000000000000000906128809083906001600160801b0316613627565b6114b99190613627565b612892613405565b5f8061289d84612b92565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128d791906138f7565b6040805180830381865af41580156128f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129159190613906565b935090508261292957505f91506129f69050565b5f61294f61294a84610160015185610140015161068390919063ffffffff16565b611a64565b61296f61294a8561012001518661010001516124fc90919063ffffffff16565b61297991906136c1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ab4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ad89190613974565b935093509350935080612af357505f98975050505050505050565b868414612b2457612b03846117b9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b5557612b3483612752565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b8357612b65826117b9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b9a61344f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c9291166131e3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cc4929004166131e3565b905292915050565b5f80612cdc888888888888613257565b909250905080611c4257611c4261232c565b5f80612d378561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d2d818c611450565b6114399190613627565b9150612d63827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cdc88888888888861331b565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612dba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dde91906138bb565b509392505050565b5f805f83612df386611a64565b612dfd91906136c1565b90505f811215612e13575f80925092505061067c565b946001945092505050565b5f808213612e3f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ec29084901c611a64565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361305c57505f919050565b680755bf798b4a1bf1e58212613085576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061242774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a64565b5f81831361262a5781610697565b5f80670de0b6b3a76400006131f66106a0565b61320091906136fb565b905080831161320f575f613219565b6132198184613627565b91506114b9613250670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136fb565b839061268b565b5f805f61326789898888886133d7565b9050613281866117aa61327a8a8d613512565b8790610683565b985061328e858a8661174a565b9850888110156132a4575f809250925050613310565b888103670de0b6b3a764000081106132d9576132d26132cb670de0b6b3a764000089611450565b82906126c4565b90506132f1565b6132ee6132cb670de0b6b3a76400008961268b565b90505b80891015613306575f80935093505050613310565b8803925060019150505b965096945050505050565b5f805f61332b89898888886133d7565b905061333b866117aa898b613512565b975087811015613351575f809250925050613310565b87810361335f818688612651565b9050670de0b6b3a7640000811061338c576133856132cb670de0b6b3a764000089611450565b90506133a4565b6133a16132cb670de0b6b3a76400008961268b565b90505b6133ae8186611450565b9050808a10156133c5575f80935093505050613310565b90980398600198509650505050505050565b5f6133e285856126c4565b6133fb6133f3866117aa868b6124fc565b859085612651565b6124279190613512565b60405180610120016040528061341961344f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134b7575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156134e2575f80fd5b8501606081880312156134f3575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6134fe565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613549575f80fd5b81356114b981613525565b80151581146105af575f80fd5b5f60208284031215613571575f80fd5b81356114b981613554565b5f808335601e19843603018112613591575f80fd5b83018035915067ffffffffffffffff8211156135ab575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61361a60c0830184866135bf565b9998505050505050505050565b8181038181111561069a5761069a6134fe565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367360e0830184866135bf565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126bd576126bd6134fe565b6001600160801b038181168382160190808211156126bd576126bd6134fe565b8181035f8312801583831316838312821617156126bd576126bd6134fe565b5f602082840312156136f0575f80fd5b81516114b981613525565b808202811582820484141761069a5761069a6134fe565b6001600160801b038281168282160390808211156126bd576126bd6134fe565b8082018281125f831280158216821582161715613751576137516134fe565b505092915050565b5f60208284031215613769575f80fd5b81516114b981613554565b634e487b7160e01b5f52601260045260245ffd5b5f8261379657613796613774565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6134fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138598285516137c8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138cc575f80fd5b505080516020909101519092909150565b5f600160ff1b82016138f1576138f16134fe565b505f0390565b610180810161069a82846137c8565b5f8060408385031215613917575f80fd5b82519150602083015161392981613554565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8261395657613956613774565b600160ff1b82145f198414161561396f5761396f6134fe565b500590565b5f805f8060808587031215613987575f80fd5b84519350602085015192506040850151915060608501516134f38161355456fea2646970667358221220236e255a79db1393c18a8216c83057b5006da584dfca625b70e0cd0075dea52064736f6c63430008160033a2646970667358221220a97e8368c0814cab46c11d2986ccd59dc3a985683f9cdb9d42512a9b5fe33a2864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts deleted file mode 100644 index 59cb11424..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts +++ /dev/null @@ -1,806 +0,0 @@ -export declare const EzETHLineaTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts.map deleted file mode 100644 index 038db5888..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget3.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm+Bgl+B,KAAK,MAAM,EAAE;;;;;CAK1n+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.js deleted file mode 100644 index 6d1c43683..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3.js +++ /dev/null @@ -1,1001 +0,0 @@ -export const EzETHLineaTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e2d38038062003e2d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613978620004b55f395f612b2501525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161203d015281816120a00152818161294901528181612c420152612c7e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c4e01525f8181611da30152612ed401525f81816110260152611d7701525f612e8a01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128df01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61198b01525f50506139785ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046133fd565b610064565b60405190815260200160405180910390f35b61003f61005f36600461345c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896134cf565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826134bc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826134cf565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906134cf565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906134bc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613560565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061356f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613560565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061356f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876134cf565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061359a565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906134bc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561359a565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016135c2565b866107a960408c018c6135dd565b6040516107bc9796959493929190613620565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613673565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061368a565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61359a565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261359a565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016135c2565b87610b5e60408901896135dd565b604051610b719796959493929190613620565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361359a565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016135c2565b15610c8f57610c8585610c8060408701876135dd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876135dd565b611967565b610caf611a23565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a35565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6134cf565b8a84611a4a565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836134bc565b4290611b83565b84611a4a565b610f5888611b91565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6134cf565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d2e565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d62565b915091508060095f828254610ff591906134bc565b909155506110109050865f8461100a81611766565b88611e2f565b61101a81836134bc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611fa6565b915061105e6110598385611fe9565b611ffd565b6006805460029061107f9084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d2e565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d62565b915091508060095f82825461114191906134bc565b9091555061115c9050835f8461115681611766565b8a612026565b61116681836134cf565b91506111756110598387611fe9565b600680546002906111969084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906136f5565b5f612216565b8e6112428482612255565b50505b5f61124f84612444565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613714565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612586565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d2e565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d2e565b6113f791906136f5565b92915050565b5f805f8061140b8a8a61260e565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8b7f0000000000000000000000000000000000000000000000000000000000000000612646565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8d7f00000000000000000000000000000000000000000000000000000000000000006126ff565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846127b9565b509093505f9050611568848f6134bc565b90505f6115888b8b61157987611766565b611583908e61372f565b612801565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612863565b611766565b6115c683611766565b6115d36115b88685611fe9565b6115dd91906136f5565b6115e791906136f5565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612873565b61162685670de0b6b3a76400006134cf565b906117d4565b61163461334e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612896565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612896565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612903565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906134bc565b90915550505f838152600b60205260408120805483929061183b9084906134bc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612255565b5f8183136118a7578261008d565b50919050565b5f806118b9848461260e565b9092509050806118cb576118cb612a97565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612ab0565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fd9190613756565b905080611a1d576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610c2d670de0b6b3a7640000612b1f565b5f611a408284613785565b61008d90846134cf565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a755750505050565b5f848152600860205260408120546001600160801b031690819003611acd57611a9d836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b4a565b611b1e611b19670de0b6b3a7640000611ae688866134cf565b611af09190613673565b85670de0b6b3a7640000611b04878a6134cf565b611b0e9190613673565b859291906001612b4a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b53846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611bb3908490600160801b90046001600160801b0316611fe9565b6006546201000090046001600160701b03169250905081811115611d29575f611bdc83836134cf565b9050611beb611b198286612be4565b60068054601090611c0d908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c4585836117d490919063ffffffff16565b90505f611c72827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b90508060095f828254611c8591906134bc565b90915550611c95905081836134cf565b9150611ca0826118d2565b600280545f90611cba9084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ce782612bf8565b600480545f90611cfb908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d6e87856117d4565b91505f611d9b837f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050611dc7817f0000000000000000000000000000000000000000000000000000000000000000611fe9565b91508315611dea57611dd982826134cf565b611de390846134cf565b9250611e01565b611df482826134cf565b611dfe90846134bc565b92505b86861015611e2457611e148387896117b9565b9250611e218287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e77611b1982611e5b670de0b6b3a764000086613673565b600554600160801b90046001600160801b031691908a5f612b4a565b600580546001600160801b03928316600160801b029216919091179055611e9d866118d2565b611ea79082613798565b600480546001600160801b03928316600160801b029216919091179055611ecd846118d2565b600280545f90611ee79084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f14836118fb565b600480545f90611f28908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f58856118d2565b60028054601090611f7a908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611fb7846116268a888a6117b9565b9050611fc48884866117b9565b611fce90826134bc565b905086811115611fde5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061206857507f000000000000000000000000000000000000000000000000000000000000000061206685836134cf565b105b1561207557612075612a97565b6004549084900390600f0b61208a84826136f5565b90508361209686611766565b1380156120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c983836118ad565b105b156120d8576120d8612a97565b600354600160801b90046001600160801b0316612119611b1982612104670de0b6b3a764000088613673565b6005546001600160801b031691908c5f612b4a565b600580546001600160801b0319166001600160801b039290921691909117905561214388826134cf565b905061214e816118d2565b600380546001600160801b03928316600160801b029216919091179055612174836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561219d826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121c6876118d2565b600280546010906121e8908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461223190611b19906001600160801b03168484612801565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161229f916001600160801b0316906134cf565b9050805f036122b25760019150506113f7565b5f6122bc85612c21565b9050805f036122d0576001925050506113f7565b5f806122dd838589612cbc565b91509150806122f2575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161232d9291906137e5565b6040805180830381865af4158015612347573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236b919061385a565b9150915061238961237b82611766565b6123849061387c565b612903565b92508261239e575f96505050505050506113f7565b6123a7826118d2565b600780545f906123c19084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123ee816118d2565b60078054601090612410908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61246b8761162c565b6040518263ffffffff1660e01b81526004016124879190613560565b6040805180830381865af41580156124a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c59190613896565b91509150806124da57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161253f916134bc565b61254991906134cf565b9050805f0361255f57505f958695509350505050565b5f80871161256d575f612578565b6125788488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156125a9576125a96138c4565b6040519080825280601f01601f1916602001820160405280156125d3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125f3578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361261b86611766565b61262591906136f5565b90505f81121561263b575f809250925050610d21565b946001945092505050565b5f805f6126568888888888612e2b565b90505f612680670de0b6b3a764000061266f8888612be4565b61267991906134bc565b83906117d4565b9050670de0b6b3a764000081106126b4576126ad6126a6670de0b6b3a7640000896117d4565b8290612ab0565b90506126cc565b6126c96126a6670de0b6b3a764000089612be4565b90505b6126d681866117d4565b9050888110156126ed575f80935093505050612604565b97909703976001975095505050505050565b5f805f61270f8989888888612e59565b9050612729866119466127228a8d6134bc565b8790611fe9565b9850612736858a866117b9565b98508881101561274c575f8092509250506115f6565b888103670de0b6b3a7640000811061277a576127736126a6670de0b6b3a764000089612be4565b9050612792565b61278f6126a6670de0b6b3a7640000896117d4565b90505b808910156127a7575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127c9898789612e7d565b90925090506127d882896134cf565b97505f6127e682888a6117b9565b90506127f2818b6134cf565b9a989950979650505050505050565b5f8061280d845f612f02565b612817845f612f02565b61282191906136f5565b90505f81131561283c5761283581866134bc565b945061285a565b5f81121561285a5761284d8161387c565b61285790866134cf565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612887575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006128a9610d28565b6128b39190613673565b90508083116128c2575f6128cc565b6128cc81846134cf565b915061008d612679670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613673565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129dd91906138d8565b9350935093509350806129f857505f98975050505050505050565b868414612a2957612a08846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a5a57612a39836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a8857612a6a826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ac75750670de0b6b3a76400006113f7565b825f03612ad557505f6113f7565b5f612adf83611766565b90505f612af3612aee86611766565b612f17565b9050818102612b0a670de0b6b3a764000082613916565b9050612b158161313c565b9695505050505050565b5f6113f77f0000000000000000000000000000000000000000000000000000000000000000836132ce565b5f825f03612b59575084610075565b8115612bab57612b8a612b6c84876134bc565b612b768587611fe9565b612b80888a611fe9565b61162691906134bc565b90505f612b978588611b83565b905080821015612ba5578091505b50610075565b828503612bb957505f610075565b610072612bc684876134cf565b612bd08587612863565b612bda888a611fe9565b61162691906134cf565b5f61008d83670de0b6b3a764000084612873565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c3b906001600160801b031684612be4565b9050612c677f0000000000000000000000000000000000000000000000000000000000000000826134bc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cb29083906001600160801b03166134cf565b61008d91906134cf565b612cc46133a3565b5f80612ccf8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d099190613560565b6040805180830381865af4158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d479190613896565b9350905082612d5b57505f9150612e239050565b5f612d7c6115b8846101600151856101400151611fe990919063ffffffff16565b612d9c6115b885610120015186610100015161286390919063ffffffff16565b612da691906136f5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e368585612ab0565b612e4f612e4786611946868b611fe9565b8590856117b9565b61007291906134bc565b5f612e648585612ab0565b612e4f612e7586611946868b612863565b859085612873565b5f80612ecc85612ec685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ebc818c612be4565b612ec691906134cf565b90612863565b9150612ef8827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050935093915050565b5f818313612f10578161008d565b5090919050565b5f808213612f385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fbb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361315557505f919050565b680755bf798b4a1bf1e5821261317e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b1574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f806132d9846132e5565b90506113af8382611fe9565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015613322573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613346919061385a565b509392505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806133b761334e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613411575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613443575f80fd5b61344f888289016133ed565b9150509295509295909350565b5f805f6060848603121561346e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613492575f80fd5b61349e868287016133ed565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76134a8565b818103818111156113f7576113f76134a8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846134e2565b5f6020828403121561357f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156135aa575f80fd5b813561008d81613586565b8015158114610c0a575f80fd5b5f602082840312156135d2575f80fd5b813561008d816135b5565b5f808335601e198436030181126135f2575f80fd5b83018035915067ffffffffffffffff82111561360c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76134a8565b5f805f6060848603121561369c575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6134a8565b6001600160801b038181168382160190808211156118cb576118cb6134a8565b8181035f8312801583831316838312821617156118cb576118cb6134a8565b5f60208284031215613724575f80fd5b815161008d81613586565b8082018281125f83128015821682158216171561374e5761374e6134a8565b505092915050565b5f60208284031215613766575f80fd5b815161008d816135b5565b634e487b7160e01b5f52601260045260245ffd5b5f8261379357613793613771565b500690565b6001600160801b038281168282160390808211156118cb576118cb6134a8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76134a8565b5f6102a0820190506137f88285516134e2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561386b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613890576138906134a8565b505f0390565b5f80604083850312156138a7575f80fd5b8251915060208301516138b9816135b5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156138eb575f80fd5b845193506020850151925060408501519150606085015161390b816135b5565b939692955090935050565b5f8261392457613924613771565b600160ff1b82145f198414161561393d5761393d6134a8565b50059056fea264697066735822122094312e6095c3f8c3bc7bbcc9e2b97f76c2982a6067293e8ee56f615eb947fb7e64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts deleted file mode 100644 index c46078fb7..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHLineaTarget3Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts.map deleted file mode 100644 index c11f943f2..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKk7jC,KAAK,MAAM,EAAE;;;;;CAKp+jC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.js deleted file mode 100644 index 2fcf077c5..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget3Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHLineaTarget3Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516143e23803806143e283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143596100895f395f8181603d015260b801526143595ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613e2d806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003e2d38038062003e2d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613978620004b55f395f612b2501525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161203d015281816120a00152818161294901528181612c420152612c7e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c4e01525f8181611da30152612ed401525f81816110260152611d7701525f612e8a01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128df01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61198b01525f50506139785ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046133fd565b610064565b60405190815260200160405180910390f35b61003f61005f36600461345c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896134cf565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826134bc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826134cf565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906134cf565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906134bc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613560565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061356f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613560565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061356f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876134cf565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061359a565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906134bc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561359a565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016135c2565b866107a960408c018c6135dd565b6040516107bc9796959493929190613620565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613673565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061368a565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61359a565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261359a565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016135c2565b87610b5e60408901896135dd565b604051610b719796959493929190613620565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361359a565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016135c2565b15610c8f57610c8585610c8060408701876135dd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876135dd565b611967565b610caf611a23565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a35565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6134cf565b8a84611a4a565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836134bc565b4290611b83565b84611a4a565b610f5888611b91565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6134cf565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d2e565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d62565b915091508060095f828254610ff591906134bc565b909155506110109050865f8461100a81611766565b88611e2f565b61101a81836134bc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611fa6565b915061105e6110598385611fe9565b611ffd565b6006805460029061107f9084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d2e565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d62565b915091508060095f82825461114191906134bc565b9091555061115c9050835f8461115681611766565b8a612026565b61116681836134cf565b91506111756110598387611fe9565b600680546002906111969084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906136f5565b5f612216565b8e6112428482612255565b50505b5f61124f84612444565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613714565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612586565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d2e565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d2e565b6113f791906136f5565b92915050565b5f805f8061140b8a8a61260e565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8b7f0000000000000000000000000000000000000000000000000000000000000000612646565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8d7f00000000000000000000000000000000000000000000000000000000000000006126ff565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846127b9565b509093505f9050611568848f6134bc565b90505f6115888b8b61157987611766565b611583908e61372f565b612801565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612863565b611766565b6115c683611766565b6115d36115b88685611fe9565b6115dd91906136f5565b6115e791906136f5565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612873565b61162685670de0b6b3a76400006134cf565b906117d4565b61163461334e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612896565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612896565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612903565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906134bc565b90915550505f838152600b60205260408120805483929061183b9084906134bc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612255565b5f8183136118a7578261008d565b50919050565b5f806118b9848461260e565b9092509050806118cb576118cb612a97565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612ab0565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fd9190613756565b905080611a1d576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610c2d670de0b6b3a7640000612b1f565b5f611a408284613785565b61008d90846134cf565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a755750505050565b5f848152600860205260408120546001600160801b031690819003611acd57611a9d836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b4a565b611b1e611b19670de0b6b3a7640000611ae688866134cf565b611af09190613673565b85670de0b6b3a7640000611b04878a6134cf565b611b0e9190613673565b859291906001612b4a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b53846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611bb3908490600160801b90046001600160801b0316611fe9565b6006546201000090046001600160701b03169250905081811115611d29575f611bdc83836134cf565b9050611beb611b198286612be4565b60068054601090611c0d908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c4585836117d490919063ffffffff16565b90505f611c72827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b90508060095f828254611c8591906134bc565b90915550611c95905081836134cf565b9150611ca0826118d2565b600280545f90611cba9084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ce782612bf8565b600480545f90611cfb908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d6e87856117d4565b91505f611d9b837f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050611dc7817f0000000000000000000000000000000000000000000000000000000000000000611fe9565b91508315611dea57611dd982826134cf565b611de390846134cf565b9250611e01565b611df482826134cf565b611dfe90846134bc565b92505b86861015611e2457611e148387896117b9565b9250611e218287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e77611b1982611e5b670de0b6b3a764000086613673565b600554600160801b90046001600160801b031691908a5f612b4a565b600580546001600160801b03928316600160801b029216919091179055611e9d866118d2565b611ea79082613798565b600480546001600160801b03928316600160801b029216919091179055611ecd846118d2565b600280545f90611ee79084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f14836118fb565b600480545f90611f28908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f58856118d2565b60028054601090611f7a908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611fb7846116268a888a6117b9565b9050611fc48884866117b9565b611fce90826134bc565b905086811115611fde5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061206857507f000000000000000000000000000000000000000000000000000000000000000061206685836134cf565b105b1561207557612075612a97565b6004549084900390600f0b61208a84826136f5565b90508361209686611766565b1380156120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c983836118ad565b105b156120d8576120d8612a97565b600354600160801b90046001600160801b0316612119611b1982612104670de0b6b3a764000088613673565b6005546001600160801b031691908c5f612b4a565b600580546001600160801b0319166001600160801b039290921691909117905561214388826134cf565b905061214e816118d2565b600380546001600160801b03928316600160801b029216919091179055612174836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561219d826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121c6876118d2565b600280546010906121e8908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461223190611b19906001600160801b03168484612801565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161229f916001600160801b0316906134cf565b9050805f036122b25760019150506113f7565b5f6122bc85612c21565b9050805f036122d0576001925050506113f7565b5f806122dd838589612cbc565b91509150806122f2575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161232d9291906137e5565b6040805180830381865af4158015612347573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236b919061385a565b9150915061238961237b82611766565b6123849061387c565b612903565b92508261239e575f96505050505050506113f7565b6123a7826118d2565b600780545f906123c19084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123ee816118d2565b60078054601090612410908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61246b8761162c565b6040518263ffffffff1660e01b81526004016124879190613560565b6040805180830381865af41580156124a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c59190613896565b91509150806124da57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161253f916134bc565b61254991906134cf565b9050805f0361255f57505f958695509350505050565b5f80871161256d575f612578565b6125788488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156125a9576125a96138c4565b6040519080825280601f01601f1916602001820160405280156125d3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125f3578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361261b86611766565b61262591906136f5565b90505f81121561263b575f809250925050610d21565b946001945092505050565b5f805f6126568888888888612e2b565b90505f612680670de0b6b3a764000061266f8888612be4565b61267991906134bc565b83906117d4565b9050670de0b6b3a764000081106126b4576126ad6126a6670de0b6b3a7640000896117d4565b8290612ab0565b90506126cc565b6126c96126a6670de0b6b3a764000089612be4565b90505b6126d681866117d4565b9050888110156126ed575f80935093505050612604565b97909703976001975095505050505050565b5f805f61270f8989888888612e59565b9050612729866119466127228a8d6134bc565b8790611fe9565b9850612736858a866117b9565b98508881101561274c575f8092509250506115f6565b888103670de0b6b3a7640000811061277a576127736126a6670de0b6b3a764000089612be4565b9050612792565b61278f6126a6670de0b6b3a7640000896117d4565b90505b808910156127a7575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127c9898789612e7d565b90925090506127d882896134cf565b97505f6127e682888a6117b9565b90506127f2818b6134cf565b9a989950979650505050505050565b5f8061280d845f612f02565b612817845f612f02565b61282191906136f5565b90505f81131561283c5761283581866134bc565b945061285a565b5f81121561285a5761284d8161387c565b61285790866134cf565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612887575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006128a9610d28565b6128b39190613673565b90508083116128c2575f6128cc565b6128cc81846134cf565b915061008d612679670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613673565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129dd91906138d8565b9350935093509350806129f857505f98975050505050505050565b868414612a2957612a08846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a5a57612a39836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a8857612a6a826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ac75750670de0b6b3a76400006113f7565b825f03612ad557505f6113f7565b5f612adf83611766565b90505f612af3612aee86611766565b612f17565b9050818102612b0a670de0b6b3a764000082613916565b9050612b158161313c565b9695505050505050565b5f6113f77f0000000000000000000000000000000000000000000000000000000000000000836132ce565b5f825f03612b59575084610075565b8115612bab57612b8a612b6c84876134bc565b612b768587611fe9565b612b80888a611fe9565b61162691906134bc565b90505f612b978588611b83565b905080821015612ba5578091505b50610075565b828503612bb957505f610075565b610072612bc684876134cf565b612bd08587612863565b612bda888a611fe9565b61162691906134cf565b5f61008d83670de0b6b3a764000084612873565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c3b906001600160801b031684612be4565b9050612c677f0000000000000000000000000000000000000000000000000000000000000000826134bc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cb29083906001600160801b03166134cf565b61008d91906134cf565b612cc46133a3565b5f80612ccf8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d099190613560565b6040805180830381865af4158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d479190613896565b9350905082612d5b57505f9150612e239050565b5f612d7c6115b8846101600151856101400151611fe990919063ffffffff16565b612d9c6115b885610120015186610100015161286390919063ffffffff16565b612da691906136f5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e368585612ab0565b612e4f612e4786611946868b611fe9565b8590856117b9565b61007291906134bc565b5f612e648585612ab0565b612e4f612e7586611946868b612863565b859085612873565b5f80612ecc85612ec685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ebc818c612be4565b612ec691906134cf565b90612863565b9150612ef8827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050935093915050565b5f818313612f10578161008d565b5090919050565b5f808213612f385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fbb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361315557505f919050565b680755bf798b4a1bf1e5821261317e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b1574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f806132d9846132e5565b90506113af8382611fe9565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015613322573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613346919061385a565b509392505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806133b761334e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613411575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613443575f80fd5b61344f888289016133ed565b9150509295509295909350565b5f805f6060848603121561346e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613492575f80fd5b61349e868287016133ed565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76134a8565b818103818111156113f7576113f76134a8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846134e2565b5f6020828403121561357f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156135aa575f80fd5b813561008d81613586565b8015158114610c0a575f80fd5b5f602082840312156135d2575f80fd5b813561008d816135b5565b5f808335601e198436030181126135f2575f80fd5b83018035915067ffffffffffffffff82111561360c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76134a8565b5f805f6060848603121561369c575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6134a8565b6001600160801b038181168382160190808211156118cb576118cb6134a8565b8181035f8312801583831316838312821617156118cb576118cb6134a8565b5f60208284031215613724575f80fd5b815161008d81613586565b8082018281125f83128015821682158216171561374e5761374e6134a8565b505092915050565b5f60208284031215613766575f80fd5b815161008d816135b5565b634e487b7160e01b5f52601260045260245ffd5b5f8261379357613793613771565b500690565b6001600160801b038281168282160390808211156118cb576118cb6134a8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76134a8565b5f6102a0820190506137f88285516134e2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561386b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613890576138906134a8565b505f0390565b5f80604083850312156138a7575f80fd5b8251915060208301516138b9816135b5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156138eb575f80fd5b845193506020850151925060408501519150606085015161390b816135b5565b939692955090935050565b5f8261392457613924613771565b600160ff1b82145f198414161561393d5761393d6134a8565b50059056fea264697066735822122094312e6095c3f8c3bc7bbcc9e2b97f76c2982a6067293e8ee56f615eb947fb7e64736f6c63430008160033a264697066735822122053626dfe90230be3cfa3d38abf5dc5742e465b8cb62617b35fd8bbce0c214de364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts deleted file mode 100644 index 7fafb3428..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts +++ /dev/null @@ -1,789 +0,0 @@ -export declare const EzETHLineaTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts.map deleted file mode 100644 index c7da04398..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget4.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA68Bw7xB,KAAK,MAAM,EAAE;;;;;;CAMl+xB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.js deleted file mode 100644 index 5b1ec0879..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4.js +++ /dev/null @@ -1,980 +0,0 @@ -export const EzETHLineaTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620031e1380380620031e18339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612dd26200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612dd25ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab19190612c46565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c38161294556fea26469706673582212200346933a59005cfae56c249e093d82d3765d00759b04265e1bb8dd389344a05564736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts deleted file mode 100644 index 6d7f68201..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHLineaTarget4Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_xRenzoDeposit"; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=EzETHLineaTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts.map deleted file mode 100644 index 78bb71ea3..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHLineaTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHLineaTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK0x3B,KAAK,MAAM,EAAE;;;;;CAK503B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.js deleted file mode 100644 index 8cbbb425f..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHLineaTarget4Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHLineaTarget4Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_xRenzoDeposit", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161379638038061379683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161370d6100895f395f8181603d015260b8015261370d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6131e1806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620031e1380380620031e18339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612dd26200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612dd25ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab19190612c46565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c38161294556fea26469706673582212200346933a59005cfae56c249e093d82d3765d00759b04265e1bb8dd389344a05564736f6c63430008160033a264697066735822122077d7b6e575688ed2cfaaa88f74afafcd2c0f7b72e3b392651aeb3ee931a526e364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts deleted file mode 100644 index d2461be64..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts +++ /dev/null @@ -1,1553 +0,0 @@ -export declare const EzETHTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "renzo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "renzo()": "6a1a3f3d"; - readonly "renzoOracle()": "892866a4"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=EzETHTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts.map deleted file mode 100644 index 9e54e8d8a..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget0.d.ts","sourceRoot":"","sources":["../src/EzETHTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAg4D+3hC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Cp6hC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0.js b/packages/hyperdrive-artifacts/dist/EzETHTarget0.js deleted file mode 100644 index af9136f53..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0.js +++ /dev/null @@ -1,1964 +0,0 @@ -export const EzETHTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renzo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRenzoOracle" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b50604051620041c2380380620041c283398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c9c620005265f395f8181610be9015281816125bc015261262901525f8181610b7f015281816125dd015261264a01525f8181610d7b015261234401525f8181610d4c015261230701525f8181610c2801528181610eab01528181610f3901528181610fc7015281816110550152818161165e015281816116f4015281816118b601528181611ece01528181611fa201526120f301525f610e1301525f8181610ded01526124e901525f8181610dc701526124c301525f8181610da1015261249d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e85015261250f01525f8181610e39015281816112eb015261291001525f8181610e5f0152612d1d01525f818161062d01528181610d1d01528181611e43015281816125fe0152818161266b0152612cac01525f8181610cee01526112880152613c9c5ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c80636a1a3f3d11610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610502578063d816574314610515578063e44808bc1461052a578063e985e9c51461053d578063fba5600814610550575f80fd5b8063bd85b039146104ac578063becee9c3146104bf578063c55dae63146104df578063c69e16ad146104e7578063c6e6f592146104ef575f80fd5b80639cd241af116100fa5780639cd241af1461044d578063a22cb46514610460578063ab033ea914610473578063b0d9658014610484578063b88fed9f14610499575f80fd5b80636a1a3f3d146104105780637180c8ca146104185780637ecebe001461042a578063892866a41461043d578063950c5d0314610445575f80fd5b806321ff32a9116101c157806346fbf68e1161018657806346fbf68e146103aa5780634e41a1fb146103cd5780634ed2d6ac146103e057806354fd4d50146103f357806360246c88146103fb575f80fd5b806321ff32a914610341578063313ce567146103625780633656eec21461037c5780633a98ef391461038f5780633e691db914610397575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e957806320fc4881146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612f55565b61057f565b6040516102629190612fb9565b60405180910390f35b61027e610279366004612fdf565b6105b6565b005b61027e61028e366004613007565b6105bf565b6102556105c8565b610255610608565b6102ab61061f565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004613022565b61065e565b61027e6102e43660046130f8565b61067a565b61027e6102f7366004613187565b610690565b61030f61030a366004612f55565b6106a3565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61035461034f3660046131cc565b61070c565b604051908152602001610262565b61036a610751565b60405160ff9091168152602001610262565b61035461038a36600461320b565b610768565b6103546107a0565b6103546103a5366004613239565b6107be565b6103bd6103b8366004612fdf565b6107c8565b6040519015158152602001610262565b6102556103db366004612f55565b6107e7565b61027e6103ee366004613270565b6107f5565b610255610843565b610403610878565b60405161026291906132b7565b6102ab610b71565b61027e610426366004613358565b5050565b610354610438366004612fdf565b610bb0565b6102ab610bdb565b6102ab610c1a565b61027e61045b366004613384565b610c59565b61027e61046e366004613358565b610c6a565b61027e610481366004612fdf565b50565b61048c610cd5565b60405161026291906133b9565b6103546104a7366004612f55565b611195565b6103546104ba366004612f55565b6111a2565b6104d26104cd3660046134df565b6111c3565b604051610262919061351e565b6102ab61127a565b6103546112b9565b6103546104fd366004612f55565b6112d2565b610354610510366004612f55565b6112df565b61051d611315565b6040516102629190613561565b61027e610538366004613672565b611420565b6103bd61054b3660046136cd565b611468565b6105586114ab565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105b161058d83611509565b60405160200161059d9190612fb9565b60405160208183030381529060405261162f565b919050565b61048181611653565b610481816118b4565b60606106056040518060400160405280600f81526020016e457a4554484879706572647269766560881b81525060405160200161059d9190612fb9565b90565b6060610605600160405160200161059d91906136f9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b61066f8989898989898989896119cc565b505050505050505050565b610688868686868686611bbe565b505050505050565b61069d8484848433611c71565b50505050565b604080516060810182525f80825260208201819052918101919091526105b160085f8481526020019081526020015f2060405160200161059d919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261074a910161059d565b9392505050565b60408051601260208201525f91610605910161059d565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261079a910161059d565b92915050565b5f6106056107ac611e2c565b60405160200161059d91815260200190565b5f61079a82611eb9565b5f6105b16107d5836120ef565b6040805191151560208301520161059d565b60606105b161058d836121cd565b836107ff816122c9565b6001600160a01b0316336001600160a01b03161461083057604051632aab8bd360e01b815260040160405180910390fd5b61083c85858585612386565b5050505050565b606061060560405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161059d9190612fb9565b6108e2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108eb6123f2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161095591906137ce565b61095f91906137e1565b90505f8215610a6e5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61098b85612404565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5e91906137f4565b509050610a6b818461258e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3e57610b3984866125a2565b610b40565b5f5b81526003546001600160801b0316602091820152604051919250610b6a9161059d918491016132b7565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105b1910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b610c6583838333612386565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612e81565b6106056040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f299190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb79190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110459190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d39190613817565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161059d91906133b9565b5f6105b16107ac836125b6565b5f818152600b60209081526040808320548151928301526105b1910161059d565b60605f8267ffffffffffffffff8111156111df576111df613832565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f85858381811061122857611228613846565b9050602002013590505f815490508084848151811061124957611249613846565b6020908102919091010152505060010161120d565b506112738160405160200161059d919061351e565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b5f61060560095460405160200161059d91815260200190565b5f6105b16107ac83612623565b5f6105b16107ac6113107f0000000000000000000000000000000000000000000000000000000000000000856137ce565b612690565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152610605600260405160200161059d919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461142a816122c9565b6001600160a01b0316336001600160a01b03161461145b57604051632aab8bd360e01b815260040160405180910390fd5b6106888686868686611c71565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161079a910161059d565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526106059060600161059d565b606060f882901c6001600160f81b0383165f611524826126d0565b90505f836003811115611539576115396137a6565b0361156b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611627565b600183600381111561157f5761157f6137a6565b036115ab5780604051602001611595919061385a565b6040516020818303038152906040529350611627565b60028360038111156115bf576115bf6137a6565b036115d557806040516020016115959190613892565b60038360038111156115e9576115e96137a6565b03611627576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161164a9190612fb9565b60405180910390fd5b61165b612782565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116dc9190613817565b9050336001600160a01b0382161480159061178857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561174e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117729190613817565b6001600160a01b0316336001600160a01b031614155b801561179a5750611798336120ef565b155b156117b7576040516282b42960e81b815260040160405180910390fd5b5f6117c0611e2c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182b91906138cb565b90506118416001600160a01b03851684836127aa565b8161184a611e2c565b14611868576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061048160015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611910573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119349190613817565b6001600160a01b0316336001600160a01b03161415801561195b5750611959336120ef565b155b15611978576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119c190831515815260200190565b60405180910390a150565b834211156119ed5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a145760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611afe573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b3c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bdb57506001600160a01b038516155b15611bf95760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c195760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c6857611c60858583818110611c3857611c38613846565b905060200201358888868686818110611c5357611c53613846565b9050602002013533611c71565b600101611c1b565b50505050505050565b6001600160a01b0384161580611c8e57506001600160a01b038316155b15611cac5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d6c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d6c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d6a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d649084906137e1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d9d9084906137e1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dd39084906137ce565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb491906138cb565b905090565b5f611ec2612782565b611ecb826127fc565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4c9190613817565b90506001600160a01b038116611f656020850185612fdf565b6001600160a01b031614611f8c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061203657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120209190613817565b6001600160a01b0316336001600160a01b031614155b80156120485750612046336120ef565b155b15612065576040516282b42960e81b815260040160405180910390fd5b5f61206e6123f2565b600980545f909155909150612084818387612831565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120c360408a0160208b01613007565b60408051938452602084019290925215159082015260600160405180910390a25050506105b160015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561214c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121739190810190613936565b90505f5b81518110156121c457836001600160a01b031682828151811061219c5761219c613846565b60200260200101516001600160a01b0316036121bc575060019392505050565b600101612177565b505f9392505050565b606060f882901c6001600160f81b0383165f6121e8826126d0565b90505f8360038111156121fd576121fd6137a6565b0361222f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611627565b6001836003811115612243576122436137a6565b03612259578060405160200161159591906139c5565b600283600381111561226d5761226d6137a6565b03612283578060405160200161159591906139fc565b6003836003811115612297576122976137a6565b0361162757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611eb4670de0b6b3a76400006125b6565b61245c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161255491166128c7565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612586929004166128c7565b905292915050565b5f61074a8383670de0b6b3a764000061293b565b5f61074a83670de0b6b3a76400008461293b565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612956565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612aa3565b5f6126b5600b5f6126a2600286612baa565b81526020019081526020015f2054612bde565b6126c6600b5f6126a2600187612baa565b61079a9190613a27565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277457612709600a86613a5a565b6127149060306137ce565b60f81b82600161272484876137e1565b61272e91906137e1565b8151811061273e5761273e613846565b60200101906001600160f81b03191690815f1a9053508061275e81613a6d565b915061276d9050600a86613a85565b94506126f8565b918290030190815292915050565b60025f54036127a457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612c0b565b5f61280a6020830183612fdf565b6001600160a01b0316036104815760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061283d858561258e565b905061284881612623565b9450845f0361285a575f91505061074a565b84915061286d6040840160208501613007565b1561289c57612895856128836020860186612fdf565b6128906040870187613a98565b612c6c565b91506128bf565b6128bf856128ad6020860186612fdf565b6128ba6040870187613a98565b612c86565b509392505050565b5f80670de0b6b3a76400006128da612d16565b6128e49190613adb565b90508083116128f3575f6128fd565b6128fd81846137e1565b915061074a612934670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613adb565b83906125a2565b5f825f19048411830215820261294f575f80fd5b5091020490565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612993573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129ba9190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a1f91906138cb565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9891906138cb565b979650505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612ae0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b079190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6c91906138cb565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a90606401612a59565b5f6001600160f81b03821115612bd35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612c075760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612c1f6001600160a01b03841683612d41565b905080515f14158015612c43575080806020019051810190612c419190613c30565b155b15610c6557604051635274afe760e01b81526001600160a01b038416600482015260240161164a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612cf2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613c30565b5f611eb4427f0000000000000000000000000000000000000000000000000000000000000000612d4e565b606061074a83835f612d63565b5f612d598284613a5a565b61074a90846137e1565b606081471015612d885760405163cd78605960e01b815230600482015260240161164a565b5f80856001600160a01b03168486604051612da39190613c4b565b5f6040518083038185875af1925050503d805f8114612ddd576040519150601f19603f3d011682016040523d82523d5f602084013e612de2565b606091505b5091509150612df2868383612dfc565b9695505050505050565b606082612e1157612e0c82612e58565b61074a565b8151158015612e2857506001600160a01b0384163b155b15612e5157604051639996b31560e01b81526001600160a01b038516600482015260240161164a565b508061074a565b805115612e685780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612f5060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612f65575f80fd5b5035919050565b5f5b83811015612f86578181015183820152602001612f6e565b50505f910152565b5f8151808452612fa5816020860160208601612f6c565b601f01601f19169290920160200192915050565b602081525f61074a6020830184612f8e565b6001600160a01b0381168114610481575f80fd5b5f60208284031215612fef575f80fd5b813561074a81612fcb565b8015158114610481575f80fd5b5f60208284031215613017575f80fd5b813561074a81612ffa565b5f805f805f805f805f6101208a8c03121561303b575f80fd5b8935985060208a0135975060408a013561305481612fcb565b965060608a013561306481612fcb565b955060808a013561307481612ffa565b945060a08a0135935060c08a013560ff81168114613090575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126130c0575f80fd5b50813567ffffffffffffffff8111156130d7575f80fd5b6020830191508360208260051b85010111156130f1575f80fd5b9250929050565b5f805f805f806080878903121561310d575f80fd5b863561311881612fcb565b9550602087013561312881612fcb565b9450604087013567ffffffffffffffff80821115613144575f80fd5b6131508a838b016130b0565b90965094506060890135915080821115613168575f80fd5b5061317589828a016130b0565b979a9699509497509295939492505050565b5f805f806080858703121561319a575f80fd5b8435935060208501356131ac81612fcb565b925060408501356131bc81612fcb565b9396929550929360600135925050565b5f805f606084860312156131de575f80fd5b8335925060208401356131f081612fcb565b9150604084013561320081612fcb565b809150509250925092565b5f806040838503121561321c575f80fd5b82359150602083013561322e81612fcb565b809150509250929050565b5f60208284031215613249575f80fd5b813567ffffffffffffffff81111561325f575f80fd5b82016060818503121561074a575f80fd5b5f805f8060808587031215613283575f80fd5b84359350602085013561329581612fcb565b92506040850135915060608501356132ac81612fcb565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613369575f80fd5b823561337481612fcb565b9150602083013561322e81612ffa565b5f805f60608486031215613396575f80fd5b8335925060208401356133a881612fcb565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516133e560208401826001600160a01b03169052565b50604083015161340060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613472828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156134f0575f80fd5b823567ffffffffffffffff811115613506575f80fd5b613512858286016130b0565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561355557835183529284019291840191600101613539565b50909695505050505050565b81516001600160801b031681526101808101602083015161358d60208401826001600160801b03169052565b5060408301516135a860408401826001600160801b03169052565b5060608301516135c360608401826001600160801b03169052565b5060808301516135d86080840182600f0b9052565b5060a08301516135f360a08401826001600160801b03169052565b5060c083015161360e60c08401826001600160801b03169052565b5060e083015161362960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526134d7565b5f805f805f60a08688031215613686575f80fd5b85359450602086013561369881612fcb565b935060408601356136a881612fcb565b92506060860135915060808601356136bf81612fcb565b809150509295509295909350565b5f80604083850312156136de575f80fd5b82356136e981612fcb565b9150602083013561322e81612fcb565b5f60208083525f84545f60018260011c9150600183168061371b57607f831692505b60208310810361373957634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613758576001811461376e57613797565b60ff198616825284151560051b82019650613797565b5f8b8152602090205f5b8681101561379157815484820152908501908901613778565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561079a5761079a6137ba565b8181038181111561079a5761079a6137ba565b5f8060408385031215613805575f80fd5b82519150602083015161322e81612ffa565b5f60208284031215613827575f80fd5b815161074a81612fcb565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613885816011850160208701612f6c565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516138be816012850160208701612f6c565b9190910160120192915050565b5f602082840312156138db575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561390b5761390b613832565b604052919050565b5f67ffffffffffffffff82111561392c5761392c613832565b5060051b60200190565b5f6020808385031215613947575f80fd5b825167ffffffffffffffff81111561395d575f80fd5b8301601f8101851361396d575f80fd5b805161398061397b82613913565b6138e2565b81815260059190911b8201830190838101908783111561399e575f80fd5b928401925b82841015612a985783516139b681612fcb565b825292840192908401906139a3565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516139ef816010850160208701612f6c565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613885816011850160208701612f6c565b8181035f831280158383131683831282161715611273576112736137ba565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6857613a68613a46565b500690565b5f60018201613a7e57613a7e6137ba565b5060010190565b5f82613a9357613a93613a46565b500490565b5f808335601e19843603018112613aad575f80fd5b83018035915067ffffffffffffffff821115613ac7575f80fd5b6020019150368190038213156130f1575f80fd5b808202811582820484141761079a5761079a6137ba565b5f82601f830112613b01575f80fd5b81516020613b1161397b83613913565b8083825260208201915060208460051b870101935086841115613b32575f80fd5b602086015b84811015613b4e5780518352918301918301613b37565b509695505050505050565b5f805f60608486031215613b6b575f80fd5b835167ffffffffffffffff80821115613b82575f80fd5b818601915086601f830112613b95575f80fd5b81516020613ba561397b83613913565b82815260059290921b8401810191818101908a841115613bc3575f80fd5b8286015b84811015613bf957805186811115613bdd575f80fd5b613beb8d86838b0101613af2565b845250918301918301613bc7565b5091890151919750909350505080821115613c12575f80fd5b50613c1f86828701613af2565b925050604084015190509250925092565b5f60208284031215613c40575f80fd5b815161074a81612ffa565b5f8251613c5c818460208701612f6c565b919091019291505056fea2646970667358221220f8cb2e7e0b30a5ebfbbbe9dfc0af59b14d26a68115a6d152152c1b9c01ef524264736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "renzo()": "6a1a3f3d", - "renzoOracle()": "892866a4", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts deleted file mode 100644 index cdfe9c068..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHTarget0Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts.map deleted file mode 100644 index ce88ab584..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK6unC,KAAK,MAAM,EAAE;;;;;CAK1xnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.js deleted file mode 100644 index 98c7a5ba4..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget0Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHTarget0Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161477d38038061477d83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146f46100895f395f8181606c015260bd01526146f45ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b6141c280620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620041c2380380620041c283398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c9c620005265f395f8181610be9015281816125bc015261262901525f8181610b7f015281816125dd015261264a01525f8181610d7b015261234401525f8181610d4c015261230701525f8181610c2801528181610eab01528181610f3901528181610fc7015281816110550152818161165e015281816116f4015281816118b601528181611ece01528181611fa201526120f301525f610e1301525f8181610ded01526124e901525f8181610dc701526124c301525f8181610da1015261249d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e85015261250f01525f8181610e39015281816112eb015261291001525f8181610e5f0152612d1d01525f818161062d01528181610d1d01528181611e43015281816125fe0152818161266b0152612cac01525f8181610cee01526112880152613c9c5ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c80636a1a3f3d11610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610502578063d816574314610515578063e44808bc1461052a578063e985e9c51461053d578063fba5600814610550575f80fd5b8063bd85b039146104ac578063becee9c3146104bf578063c55dae63146104df578063c69e16ad146104e7578063c6e6f592146104ef575f80fd5b80639cd241af116100fa5780639cd241af1461044d578063a22cb46514610460578063ab033ea914610473578063b0d9658014610484578063b88fed9f14610499575f80fd5b80636a1a3f3d146104105780637180c8ca146104185780637ecebe001461042a578063892866a41461043d578063950c5d0314610445575f80fd5b806321ff32a9116101c157806346fbf68e1161018657806346fbf68e146103aa5780634e41a1fb146103cd5780634ed2d6ac146103e057806354fd4d50146103f357806360246c88146103fb575f80fd5b806321ff32a914610341578063313ce567146103625780633656eec21461037c5780633a98ef391461038f5780633e691db914610397575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e957806320fc4881146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612f55565b61057f565b6040516102629190612fb9565b60405180910390f35b61027e610279366004612fdf565b6105b6565b005b61027e61028e366004613007565b6105bf565b6102556105c8565b610255610608565b6102ab61061f565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004613022565b61065e565b61027e6102e43660046130f8565b61067a565b61027e6102f7366004613187565b610690565b61030f61030a366004612f55565b6106a3565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61035461034f3660046131cc565b61070c565b604051908152602001610262565b61036a610751565b60405160ff9091168152602001610262565b61035461038a36600461320b565b610768565b6103546107a0565b6103546103a5366004613239565b6107be565b6103bd6103b8366004612fdf565b6107c8565b6040519015158152602001610262565b6102556103db366004612f55565b6107e7565b61027e6103ee366004613270565b6107f5565b610255610843565b610403610878565b60405161026291906132b7565b6102ab610b71565b61027e610426366004613358565b5050565b610354610438366004612fdf565b610bb0565b6102ab610bdb565b6102ab610c1a565b61027e61045b366004613384565b610c59565b61027e61046e366004613358565b610c6a565b61027e610481366004612fdf565b50565b61048c610cd5565b60405161026291906133b9565b6103546104a7366004612f55565b611195565b6103546104ba366004612f55565b6111a2565b6104d26104cd3660046134df565b6111c3565b604051610262919061351e565b6102ab61127a565b6103546112b9565b6103546104fd366004612f55565b6112d2565b610354610510366004612f55565b6112df565b61051d611315565b6040516102629190613561565b61027e610538366004613672565b611420565b6103bd61054b3660046136cd565b611468565b6105586114ab565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105b161058d83611509565b60405160200161059d9190612fb9565b60405160208183030381529060405261162f565b919050565b61048181611653565b610481816118b4565b60606106056040518060400160405280600f81526020016e457a4554484879706572647269766560881b81525060405160200161059d9190612fb9565b90565b6060610605600160405160200161059d91906136f9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b61066f8989898989898989896119cc565b505050505050505050565b610688868686868686611bbe565b505050505050565b61069d8484848433611c71565b50505050565b604080516060810182525f80825260208201819052918101919091526105b160085f8481526020019081526020015f2060405160200161059d919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261074a910161059d565b9392505050565b60408051601260208201525f91610605910161059d565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261079a910161059d565b92915050565b5f6106056107ac611e2c565b60405160200161059d91815260200190565b5f61079a82611eb9565b5f6105b16107d5836120ef565b6040805191151560208301520161059d565b60606105b161058d836121cd565b836107ff816122c9565b6001600160a01b0316336001600160a01b03161461083057604051632aab8bd360e01b815260040160405180910390fd5b61083c85858585612386565b5050505050565b606061060560405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161059d9190612fb9565b6108e2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108eb6123f2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161095591906137ce565b61095f91906137e1565b90505f8215610a6e5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61098b85612404565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5e91906137f4565b509050610a6b818461258e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3e57610b3984866125a2565b610b40565b5f5b81526003546001600160801b0316602091820152604051919250610b6a9161059d918491016132b7565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105b1910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b610c6583838333612386565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612e81565b6106056040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f299190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb79190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110459190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d39190613817565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161059d91906133b9565b5f6105b16107ac836125b6565b5f818152600b60209081526040808320548151928301526105b1910161059d565b60605f8267ffffffffffffffff8111156111df576111df613832565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f85858381811061122857611228613846565b9050602002013590505f815490508084848151811061124957611249613846565b6020908102919091010152505060010161120d565b506112738160405160200161059d919061351e565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b5f61060560095460405160200161059d91815260200190565b5f6105b16107ac83612623565b5f6105b16107ac6113107f0000000000000000000000000000000000000000000000000000000000000000856137ce565b612690565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152610605600260405160200161059d919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461142a816122c9565b6001600160a01b0316336001600160a01b03161461145b57604051632aab8bd360e01b815260040160405180910390fd5b6106888686868686611c71565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161079a910161059d565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526106059060600161059d565b606060f882901c6001600160f81b0383165f611524826126d0565b90505f836003811115611539576115396137a6565b0361156b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611627565b600183600381111561157f5761157f6137a6565b036115ab5780604051602001611595919061385a565b6040516020818303038152906040529350611627565b60028360038111156115bf576115bf6137a6565b036115d557806040516020016115959190613892565b60038360038111156115e9576115e96137a6565b03611627576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161164a9190612fb9565b60405180910390fd5b61165b612782565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116dc9190613817565b9050336001600160a01b0382161480159061178857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561174e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117729190613817565b6001600160a01b0316336001600160a01b031614155b801561179a5750611798336120ef565b155b156117b7576040516282b42960e81b815260040160405180910390fd5b5f6117c0611e2c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182b91906138cb565b90506118416001600160a01b03851684836127aa565b8161184a611e2c565b14611868576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061048160015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611910573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119349190613817565b6001600160a01b0316336001600160a01b03161415801561195b5750611959336120ef565b155b15611978576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119c190831515815260200190565b60405180910390a150565b834211156119ed5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a145760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611afe573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b3c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bdb57506001600160a01b038516155b15611bf95760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c195760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c6857611c60858583818110611c3857611c38613846565b905060200201358888868686818110611c5357611c53613846565b9050602002013533611c71565b600101611c1b565b50505050505050565b6001600160a01b0384161580611c8e57506001600160a01b038316155b15611cac5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d6c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d6c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d6a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d649084906137e1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d9d9084906137e1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dd39084906137ce565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb491906138cb565b905090565b5f611ec2612782565b611ecb826127fc565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4c9190613817565b90506001600160a01b038116611f656020850185612fdf565b6001600160a01b031614611f8c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061203657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120209190613817565b6001600160a01b0316336001600160a01b031614155b80156120485750612046336120ef565b155b15612065576040516282b42960e81b815260040160405180910390fd5b5f61206e6123f2565b600980545f909155909150612084818387612831565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120c360408a0160208b01613007565b60408051938452602084019290925215159082015260600160405180910390a25050506105b160015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561214c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121739190810190613936565b90505f5b81518110156121c457836001600160a01b031682828151811061219c5761219c613846565b60200260200101516001600160a01b0316036121bc575060019392505050565b600101612177565b505f9392505050565b606060f882901c6001600160f81b0383165f6121e8826126d0565b90505f8360038111156121fd576121fd6137a6565b0361222f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611627565b6001836003811115612243576122436137a6565b03612259578060405160200161159591906139c5565b600283600381111561226d5761226d6137a6565b03612283578060405160200161159591906139fc565b6003836003811115612297576122976137a6565b0361162757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611eb4670de0b6b3a76400006125b6565b61245c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161255491166128c7565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612586929004166128c7565b905292915050565b5f61074a8383670de0b6b3a764000061293b565b5f61074a83670de0b6b3a76400008461293b565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612956565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612aa3565b5f6126b5600b5f6126a2600286612baa565b81526020019081526020015f2054612bde565b6126c6600b5f6126a2600187612baa565b61079a9190613a27565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277457612709600a86613a5a565b6127149060306137ce565b60f81b82600161272484876137e1565b61272e91906137e1565b8151811061273e5761273e613846565b60200101906001600160f81b03191690815f1a9053508061275e81613a6d565b915061276d9050600a86613a85565b94506126f8565b918290030190815292915050565b60025f54036127a457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612c0b565b5f61280a6020830183612fdf565b6001600160a01b0316036104815760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061283d858561258e565b905061284881612623565b9450845f0361285a575f91505061074a565b84915061286d6040840160208501613007565b1561289c57612895856128836020860186612fdf565b6128906040870187613a98565b612c6c565b91506128bf565b6128bf856128ad6020860186612fdf565b6128ba6040870187613a98565b612c86565b509392505050565b5f80670de0b6b3a76400006128da612d16565b6128e49190613adb565b90508083116128f3575f6128fd565b6128fd81846137e1565b915061074a612934670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613adb565b83906125a2565b5f825f19048411830215820261294f575f80fd5b5091020490565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612993573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129ba9190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a1f91906138cb565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9891906138cb565b979650505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612ae0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b079190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6c91906138cb565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a90606401612a59565b5f6001600160f81b03821115612bd35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612c075760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612c1f6001600160a01b03841683612d41565b905080515f14158015612c43575080806020019051810190612c419190613c30565b155b15610c6557604051635274afe760e01b81526001600160a01b038416600482015260240161164a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612cf2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613c30565b5f611eb4427f0000000000000000000000000000000000000000000000000000000000000000612d4e565b606061074a83835f612d63565b5f612d598284613a5a565b61074a90846137e1565b606081471015612d885760405163cd78605960e01b815230600482015260240161164a565b5f80856001600160a01b03168486604051612da39190613c4b565b5f6040518083038185875af1925050503d805f8114612ddd576040519150601f19603f3d011682016040523d82523d5f602084013e612de2565b606091505b5091509150612df2868383612dfc565b9695505050505050565b606082612e1157612e0c82612e58565b61074a565b8151158015612e2857506001600160a01b0384163b155b15612e5157604051639996b31560e01b81526001600160a01b038516600482015260240161164a565b508061074a565b805115612e685780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612f5060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612f65575f80fd5b5035919050565b5f5b83811015612f86578181015183820152602001612f6e565b50505f910152565b5f8151808452612fa5816020860160208601612f6c565b601f01601f19169290920160200192915050565b602081525f61074a6020830184612f8e565b6001600160a01b0381168114610481575f80fd5b5f60208284031215612fef575f80fd5b813561074a81612fcb565b8015158114610481575f80fd5b5f60208284031215613017575f80fd5b813561074a81612ffa565b5f805f805f805f805f6101208a8c03121561303b575f80fd5b8935985060208a0135975060408a013561305481612fcb565b965060608a013561306481612fcb565b955060808a013561307481612ffa565b945060a08a0135935060c08a013560ff81168114613090575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126130c0575f80fd5b50813567ffffffffffffffff8111156130d7575f80fd5b6020830191508360208260051b85010111156130f1575f80fd5b9250929050565b5f805f805f806080878903121561310d575f80fd5b863561311881612fcb565b9550602087013561312881612fcb565b9450604087013567ffffffffffffffff80821115613144575f80fd5b6131508a838b016130b0565b90965094506060890135915080821115613168575f80fd5b5061317589828a016130b0565b979a9699509497509295939492505050565b5f805f806080858703121561319a575f80fd5b8435935060208501356131ac81612fcb565b925060408501356131bc81612fcb565b9396929550929360600135925050565b5f805f606084860312156131de575f80fd5b8335925060208401356131f081612fcb565b9150604084013561320081612fcb565b809150509250925092565b5f806040838503121561321c575f80fd5b82359150602083013561322e81612fcb565b809150509250929050565b5f60208284031215613249575f80fd5b813567ffffffffffffffff81111561325f575f80fd5b82016060818503121561074a575f80fd5b5f805f8060808587031215613283575f80fd5b84359350602085013561329581612fcb565b92506040850135915060608501356132ac81612fcb565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613369575f80fd5b823561337481612fcb565b9150602083013561322e81612ffa565b5f805f60608486031215613396575f80fd5b8335925060208401356133a881612fcb565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516133e560208401826001600160a01b03169052565b50604083015161340060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613472828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156134f0575f80fd5b823567ffffffffffffffff811115613506575f80fd5b613512858286016130b0565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561355557835183529284019291840191600101613539565b50909695505050505050565b81516001600160801b031681526101808101602083015161358d60208401826001600160801b03169052565b5060408301516135a860408401826001600160801b03169052565b5060608301516135c360608401826001600160801b03169052565b5060808301516135d86080840182600f0b9052565b5060a08301516135f360a08401826001600160801b03169052565b5060c083015161360e60c08401826001600160801b03169052565b5060e083015161362960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526134d7565b5f805f805f60a08688031215613686575f80fd5b85359450602086013561369881612fcb565b935060408601356136a881612fcb565b92506060860135915060808601356136bf81612fcb565b809150509295509295909350565b5f80604083850312156136de575f80fd5b82356136e981612fcb565b9150602083013561322e81612fcb565b5f60208083525f84545f60018260011c9150600183168061371b57607f831692505b60208310810361373957634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613758576001811461376e57613797565b60ff198616825284151560051b82019650613797565b5f8b8152602090205f5b8681101561379157815484820152908501908901613778565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561079a5761079a6137ba565b8181038181111561079a5761079a6137ba565b5f8060408385031215613805575f80fd5b82519150602083015161322e81612ffa565b5f60208284031215613827575f80fd5b815161074a81612fcb565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613885816011850160208701612f6c565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516138be816012850160208701612f6c565b9190910160120192915050565b5f602082840312156138db575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561390b5761390b613832565b604052919050565b5f67ffffffffffffffff82111561392c5761392c613832565b5060051b60200190565b5f6020808385031215613947575f80fd5b825167ffffffffffffffff81111561395d575f80fd5b8301601f8101851361396d575f80fd5b805161398061397b82613913565b6138e2565b81815260059190911b8201830190838101908783111561399e575f80fd5b928401925b82841015612a985783516139b681612fcb565b825292840192908401906139a3565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516139ef816010850160208701612f6c565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613885816011850160208701612f6c565b8181035f831280158383131683831282161715611273576112736137ba565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6857613a68613a46565b500690565b5f60018201613a7e57613a7e6137ba565b5060010190565b5f82613a9357613a93613a46565b500490565b5f808335601e19843603018112613aad575f80fd5b83018035915067ffffffffffffffff821115613ac7575f80fd5b6020019150368190038213156130f1575f80fd5b808202811582820484141761079a5761079a6137ba565b5f82601f830112613b01575f80fd5b81516020613b1161397b83613913565b8083825260208201915060208460051b870101935086841115613b32575f80fd5b602086015b84811015613b4e5780518352918301918301613b37565b509695505050505050565b5f805f60608486031215613b6b575f80fd5b835167ffffffffffffffff80821115613b82575f80fd5b818601915086601f830112613b95575f80fd5b81516020613ba561397b83613913565b82815260059290921b8401810191818101908a841115613bc3575f80fd5b8286015b84811015613bf957805186811115613bdd575f80fd5b613beb8d86838b0101613af2565b845250918301918301613bc7565b5091890151919750909350505080821115613c12575f80fd5b50613c1f86828701613af2565b925050604084015190509250925092565b5f60208284031215613c40575f80fd5b815161074a81612ffa565b5f8251613c5c818460208701612f6c565b919091019291505056fea2646970667358221220f8cb2e7e0b30a5ebfbbbe9dfc0af59b14d26a68115a6d152152c1b9c01ef524264736f6c63430008160033a2646970667358221220ab739ef33eaf94485fcef00b116ea314b3ce3a4437577403003718fb86c8914664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts deleted file mode 100644 index 8038b2af9..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts +++ /dev/null @@ -1,770 +0,0 @@ -export declare const EzETHTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=EzETHTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts.map deleted file mode 100644 index 0a4742280..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget1.d.ts","sourceRoot":"","sources":["../src/EzETHTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAs7B2liC,KAAK,MAAM,EAAE;;;;;CAKhoiC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1.js b/packages/hyperdrive-artifacts/dist/EzETHTarget1.js deleted file mode 100644 index 4f267eb82..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1.js +++ /dev/null @@ -1,956 +0,0 @@ -export const EzETHTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b50604051620042303803806200423083398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613cd8620005585f395f8181611970015261254601525f8181611991015261256701525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1b01525f818161139301528181611791015281816117f4015281816129040152818161294001528181612b380152612cf501525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ccf01525f611b1c01525f8181611c3d0152818161227e01526122f601525f81816108a901528181610f4301528181611c1101526122ca01525f8181610e3e015261224401525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4101525f81816107e701528181610ec4015281816116ef0152818161211d015261336c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119b20152818161258801526125ed01525f5050613cd85ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046135fc565b610070565b60405190815260200160405180910390f35b61004b61006b3660046135fc565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061366a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc908361367d565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136b0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016136d8565b6102bd8a6102b78d8f61366a565b90611584565b8d6102cb60408c018c6136f3565b6040516102df98979695949392919061375e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061366a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137a5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136b0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016136d8565b8a61050260408b018b6136f3565b60405161051597969594939291906137cc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136b0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119d7565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61366a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119ec565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b92505b5061073e83611a22565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61380c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361366a565b4290611a4b565b8461102b565b6107db88611a5f565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61380c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bfc565b915091508060095f828254610878919061366a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361366a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cc9565b91506108e16108dc8385611584565b611d12565b600680546002906109029084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a22565b60068054601090610951908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bfc565b915091508060095f8282546109c4919061366a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361380c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a22565b60068054601090610a68908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab4919061367d565b5f61134e565b8e610ac58482611d3b565b50505b5f610ad284611f2a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061385f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061206c565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061380c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119ec565b90505f610d5f8a6120f2565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612141565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b0565b6121df565b15610e7457610e746113ec565b5f805f610e8385878b87612220565b9c5091945092509050610e96818461380c565b610ea0908961366a565b9750610eac828461366a565b610eb6908d61366a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061380c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cc9565b9950610f73878a61380c565b9850670de0b6b3a7640000610ff0610f8b878761366a565b600254610fa9908f90600160801b90046001600160801b031661380c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612332565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661380c565b6110d1919061387a565b85670de0b6b3a76400006110e5878a61380c565b6110ef919061387a565b8592919060016123ce565b611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a22565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661387a565b600554600160801b90046001600160801b031691908a5f6123ce565b600580546001600160801b03928316600160801b0292169190911790556111d286611a22565b6111dc9082613891565b600480546001600160801b03928316600160801b02921691909117905561120284611a22565b600280545f9061121c9084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612474565b600480545f9061125d908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a22565b600280546010906112af908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b919061367d565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124af565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612511565b6003546113ce91906001600160801b031661366a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d3b565b5f805f61141d84611a5f565b90925090505f61142d8686611584565b90508183111561144557611442868385612525565b95505b8281101561145757808303925061145b565b5f92505b61146483611d12565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a22565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612540565b9450845f03611516575f91505061157d565b84915061152960408401602085016136d8565b15611558576115518561153f60208601866136b0565b61154c60408701876136f3565b6125ad565b915061157b565b61157b8561156960208601866136b0565b61157660408701876136f3565b6125c7565b505b9392505050565b5f61157d8383670de0b6b3a7640000612525565b5f805f805f805f806115a86119ec565b90505f6115b48a6120f2565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b985061169a84878b88612220565b9c5091945090925090506116ae828461380c565b6116b8908961380c565b97506116c4818461366a565b6116ce908e61380c565b9c506116da8a8e61366a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061380c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612332565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361380c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de848261367d565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b1565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861387a565b6005546001600160801b031691908c5f6123ce565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261380c565b90506118a281611a22565b600380546001600160801b03928316600160801b0292169190911790556118c883611a22565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612474565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a22565b6002805460109061193c908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856126d6565b5f6119e282846138f2565b61157d908461380c565b6002546004545f916105a6916001600160801b0390911690600f0b6126b1565b5f61007d82611a1c858888612525565b90612823565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a59578261157d565b50919050565b6006545f908190611a81908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bf7575f611aaa838361380c565b9050611ab96110fa8286612892565b60068054601090611adb908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1385836128a690919063ffffffff16565b90505f611b40827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b53919061366a565b90915550611b639050818361380c565b9150611b6e82611a22565b600280545f90611b889084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bb5826128ba565b600480545f90611bc9908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c0887856128a6565b91505f611c35837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c61817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8457611c73828261380c565b611c7d908461380c565b9250611c9b565b611c8e828261380c565b611c98908461366a565b92505b86861015611cbe57611cae838789612525565b9250611cbb828789612525565b91505b509550959350505050565b5f80611ce084611cda8a888a612525565b906128a6565b9050611ced888486612525565b611cf7908261366a565b905086811115611d075786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d85916001600160801b03169061380c565b9050805f03611d9857600191505061131b565b5f611da2856128e3565b9050805f03611db65760019250505061131b565b5f80611dc383858961297e565b9150915080611dd8575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e13929190613983565b6040805180830381865af4158015611e2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e5191906139f8565b91509150611e6f611e6182611321565b611e6a90613a1a565b612af2565b925082611e84575f965050505050505061131b565b611e8d82611a22565b600780545f90611ea79084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ed481611a22565b60078054601090611ef6908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5187612c86565b6040518263ffffffff1660e01b8152600401611f6d9190613a34565b6040805180830381865af4158015611f87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fab9190613a43565b9150915080611fc057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120259161366a565b61202f919061380c565b9050805f0361204557505f958695509350505050565b5f808711612053575f61205e565b61205e848884612525565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561208f5761208f613a71565b6040519080825280601f01601f1916602001820160405280156120b9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120d9578692505b828152825f602083013e90999098509650505050505050565b5f806120fc6105ab565b905080831161210b575f612115565b612115818461380c565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128a6565b5f808061216161215988670de0b6b3a764000061380c565b899087612dc0565b905086156121a3576121738888612511565b91506121948a8a8461218d8a670de0b6b3a764000061380c565b8989612de3565b92506121a0838261366a565b90505b9750975097945050505050565b5f6121cd6121c684670de0b6b3a764000061380c565b8390612511565b61157d90670de0b6b3a764000061380c565b5f80612215856121ed6119ec565b6121f7919061366a565b600254610fa9908790600160801b90046001600160801b031661380c565b909210949350505050565b5f808080612276878661226f8b6122696122428c670de0b6b3a764000061380c565b7f000000000000000000000000000000000000000000000000000000000000000090612511565b90612511565b9190612dc0565b93506122a2847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122c26122ba89670de0b6b3a764000061380c565b8a9088612dc0565b90506122ee817f0000000000000000000000000000000000000000000000000000000000000000612511565b935061231a847f0000000000000000000000000000000000000000000000000000000000000000611584565b612324908461366a565b915050945094509450949050565b5f805f805f808888101561239e578615612354576123518d898b612525565b9c505b61235f8c898b612525565b9b5061236a8b611321565b6123738d611321565b61237d919061367d565b905061238a8b898b612525565b9a506123978a898b612525565b99506123bd565b6123a78b611321565b6123b08d611321565b6123ba919061367d565b90505b9b9c9a9b999a975050505050505050565b5f825f036123dd57508461246b565b811561242f5761240e6123f0848761366a565b6123fa8587611584565b612404888a611584565b611cda919061366a565b90505f61241b8588611a4b565b905080821015612429578091505b5061246b565b82850361243d57505f61246b565b61246861244a848761380c565b6124548587612511565b61245e888a611584565b611cda919061380c565b90505b95945050505050565b5f60016001607f1b0319821280612491575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124bb845f612e05565b6124c5845f612e05565b6124cf919061367d565b90505f8113156124ea576124e3818661366a565b9450612508565b5f811215612508576124fb81613a1a565b612505908661380c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc0565b5f825f190484118302158202612539575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612e1a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612633573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126579190613a85565b5050505050565b5f808061267e61267688670de0b6b3a764000061380c565b899087612525565b905086156121a3576126908888611584565b91506121948a8a846126aa8a670de0b6b3a764000061380c565b8989612f21565b5f806126bd8484612f31565b9092509050806126cf576126cf6113ec565b5092915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612713573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261273a9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561277b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061279f9190613c2c565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa1580156127f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128189190613c2c565b979650505050505050565b5f815f0361283a5750670de0b6b3a764000061131b565b825f0361284857505f61131b565b5f61285283611321565b90505f61286661286186611321565b612f6c565b905081810261287d670de0b6b3a764000082613c43565b905061288881613191565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc0565b5f61157d83670de0b6b3a764000084612525565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128fd906001600160801b031684612892565b90506129297f00000000000000000000000000000000000000000000000000000000000000008261366a565b6002546001600160801b03161115611a59576002547f0000000000000000000000000000000000000000000000000000000000000000906129749083906001600160801b031661380c565b61157d919061380c565b61298661355d565b5f8061299184612c86565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cb9190613a34565b6040805180830381865af41580156129e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a099190613a43565b9350905082612a1d57505f9150612aea9050565b5f612a43612a3e84610160015185610140015161158490919063ffffffff16565b611321565b612a63612a3e85610120015186610100015161251190919063ffffffff16565b612a6d919061367d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ba8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bcc9190613c6f565b935093509350935080612be757505f98975050505050505050565b868414612c1857612bf784611a22565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4957612c2883612474565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7757612c5982611a22565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c8e6135a7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d869116613323565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612db892900416613323565b905292915050565b5f825f190484118302158202612dd4575f80fd5b50910281810615159190040190565b5f80612df3888888888888613397565b909250905080611d0757611d076113ec565b5f818313612e13578161157d565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612e57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e7e9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ebf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee39190613c2c565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016127d9565b5f80612df3888888888888613473565b5f805f83612f3e86611321565b612f48919061367d565b90505f811215612f5e575f809250925050612f65565b9150600190505b9250929050565b5f808213612f8d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130109084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131aa57505f919050565b680755bf798b4a1bf1e582126131d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133366105ab565b613340919061387a565b905080831161334f575f613359565b613359818461380c565b915061157d613390670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061387a565b83906128a6565b5f805f6133a7898988888861352f565b9050868810156133bd575f809250925050613468565b96869003966133cc8887612823565b9750878110156133e2575f809250925050613468565b8781036133f0818688612dc0565b9050670de0b6b3a764000081106134245761341d613416670de0b6b3a764000089612892565b8290612823565b905061343c565b613439613416670de0b6b3a7640000896128a6565b90505b6134468186612892565b90508981101561345d575f80935093505050613468565b899003925060019150505b965096945050505050565b5f805f613483898988888861352f565b905061349386611a1c898b61366a565b9750878110156134a9575f809250925050613468565b8781036134b7818688612dc0565b9050670de0b6b3a764000081106134e4576134dd613416670de0b6b3a764000089612892565b90506134fc565b6134f9613416670de0b6b3a7640000896128a6565b90505b6135068186612892565b9050808a101561351d575f80935093505050613468565b90980398600198509650505050505050565b5f61353a8585612823565b61355361354b86611a1c868b612511565b859085612dc0565b612468919061366a565b6040518061012001604052806135716135a7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561360f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561363a575f80fd5b85016060818803121561364b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613656565b8181035f8312801583831316838312821617156126cf576126cf613656565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136c0575f80fd5b813561157d8161369c565b8015158114610591575f80fd5b5f602082840312156136e8575f80fd5b813561157d816136cb565b5f808335601e19843603018112613708575f80fd5b83018035915067ffffffffffffffff821115613722575f80fd5b602001915036819003821315612f65575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379760e083018486613736565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137c4576137c4613656565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ff60c083018486613736565b9998505050505050505050565b8181038181111561131b5761131b613656565b6001600160701b038181168382160190808211156126cf576126cf613656565b6001600160801b038181168382160190808211156126cf576126cf613656565b5f6020828403121561386f575f80fd5b815161157d8161369c565b808202811582820484141761131b5761131b613656565b6001600160801b038281168282160390808211156126cf576126cf613656565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613656565b634e487b7160e01b5f52601260045260245ffd5b5f82613900576139006138de565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613996828551613905565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a09575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2e57613a2e613656565b505f0390565b610180810161131b8284613905565b5f8060408385031215613a54575f80fd5b825191506020830151613a66816136cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a95575f80fd5b815161157d816136cb565b604051601f8201601f1916810167ffffffffffffffff81118282101715613ac957613ac9613a71565b604052919050565b5f67ffffffffffffffff821115613aea57613aea613a71565b5060051b60200190565b5f82601f830112613b03575f80fd5b81516020613b18613b1383613ad1565b613aa0565b8083825260208201915060208460051b870101935086841115613b39575f80fd5b602086015b84811015611d075780518352918301918301613b3e565b5f805f60608486031215613b67575f80fd5b835167ffffffffffffffff80821115613b7e575f80fd5b818601915086601f830112613b91575f80fd5b81516020613ba1613b1383613ad1565b82815260059290921b8401810191818101908a841115613bbf575f80fd5b8286015b84811015613bf557805186811115613bd9575f80fd5b613be78d86838b0101613af4565b845250918301918301613bc3565b5091890151919750909350505080821115613c0e575f80fd5b50613c1b86828701613af4565b925050604084015190509250925092565b5f60208284031215613c3c575f80fd5b5051919050565b5f82613c5157613c516138de565b600160ff1b82145f1984141615613c6a57613c6a613656565b500590565b5f805f8060808587031215613c82575f80fd5b845193506020850151925060408501519150606085015161364b816136cb56fea264697066735822122057e1978fd3631ec66fbf3f0a12ef64cbbd2e4cc99c8dc40f65cc64c08085a8f364736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts deleted file mode 100644 index 0337f08a7..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHTarget1Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts.map deleted file mode 100644 index 20478a6d0..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKy8nC,KAAK,MAAM,EAAE;;;;;CAKt/nC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.js deleted file mode 100644 index cd6f4b1c2..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget1Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHTarget1Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516147eb3803806147eb83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516147626100895f395f8181606c015260bd01526147625ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61423080620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620042303803806200423083398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613cd8620005585f395f8181611970015261254601525f8181611991015261256701525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1b01525f818161139301528181611791015281816117f4015281816129040152818161294001528181612b380152612cf501525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ccf01525f611b1c01525f8181611c3d0152818161227e01526122f601525f81816108a901528181610f4301528181611c1101526122ca01525f8181610e3e015261224401525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4101525f81816107e701528181610ec4015281816116ef0152818161211d015261336c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119b20152818161258801526125ed01525f5050613cd85ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046135fc565b610070565b60405190815260200160405180910390f35b61004b61006b3660046135fc565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061366a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc908361367d565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136b0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016136d8565b6102bd8a6102b78d8f61366a565b90611584565b8d6102cb60408c018c6136f3565b6040516102df98979695949392919061375e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061366a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137a5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136b0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016136d8565b8a61050260408b018b6136f3565b60405161051597969594939291906137cc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136b0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119d7565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61366a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119ec565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b92505b5061073e83611a22565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61380c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361366a565b4290611a4b565b8461102b565b6107db88611a5f565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61380c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bfc565b915091508060095f828254610878919061366a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361366a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cc9565b91506108e16108dc8385611584565b611d12565b600680546002906109029084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a22565b60068054601090610951908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bfc565b915091508060095f8282546109c4919061366a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361380c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a22565b60068054601090610a68908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab4919061367d565b5f61134e565b8e610ac58482611d3b565b50505b5f610ad284611f2a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061385f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061206c565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061380c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119ec565b90505f610d5f8a6120f2565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612141565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b0565b6121df565b15610e7457610e746113ec565b5f805f610e8385878b87612220565b9c5091945092509050610e96818461380c565b610ea0908961366a565b9750610eac828461366a565b610eb6908d61366a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061380c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cc9565b9950610f73878a61380c565b9850670de0b6b3a7640000610ff0610f8b878761366a565b600254610fa9908f90600160801b90046001600160801b031661380c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612332565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661380c565b6110d1919061387a565b85670de0b6b3a76400006110e5878a61380c565b6110ef919061387a565b8592919060016123ce565b611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a22565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661387a565b600554600160801b90046001600160801b031691908a5f6123ce565b600580546001600160801b03928316600160801b0292169190911790556111d286611a22565b6111dc9082613891565b600480546001600160801b03928316600160801b02921691909117905561120284611a22565b600280545f9061121c9084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612474565b600480545f9061125d908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a22565b600280546010906112af908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b919061367d565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124af565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612511565b6003546113ce91906001600160801b031661366a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d3b565b5f805f61141d84611a5f565b90925090505f61142d8686611584565b90508183111561144557611442868385612525565b95505b8281101561145757808303925061145b565b5f92505b61146483611d12565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a22565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612540565b9450845f03611516575f91505061157d565b84915061152960408401602085016136d8565b15611558576115518561153f60208601866136b0565b61154c60408701876136f3565b6125ad565b915061157b565b61157b8561156960208601866136b0565b61157660408701876136f3565b6125c7565b505b9392505050565b5f61157d8383670de0b6b3a7640000612525565b5f805f805f805f806115a86119ec565b90505f6115b48a6120f2565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b985061169a84878b88612220565b9c5091945090925090506116ae828461380c565b6116b8908961380c565b97506116c4818461366a565b6116ce908e61380c565b9c506116da8a8e61366a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061380c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612332565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361380c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de848261367d565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b1565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861387a565b6005546001600160801b031691908c5f6123ce565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261380c565b90506118a281611a22565b600380546001600160801b03928316600160801b0292169190911790556118c883611a22565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612474565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a22565b6002805460109061193c908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856126d6565b5f6119e282846138f2565b61157d908461380c565b6002546004545f916105a6916001600160801b0390911690600f0b6126b1565b5f61007d82611a1c858888612525565b90612823565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a59578261157d565b50919050565b6006545f908190611a81908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bf7575f611aaa838361380c565b9050611ab96110fa8286612892565b60068054601090611adb908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1385836128a690919063ffffffff16565b90505f611b40827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b53919061366a565b90915550611b639050818361380c565b9150611b6e82611a22565b600280545f90611b889084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bb5826128ba565b600480545f90611bc9908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c0887856128a6565b91505f611c35837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c61817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8457611c73828261380c565b611c7d908461380c565b9250611c9b565b611c8e828261380c565b611c98908461366a565b92505b86861015611cbe57611cae838789612525565b9250611cbb828789612525565b91505b509550959350505050565b5f80611ce084611cda8a888a612525565b906128a6565b9050611ced888486612525565b611cf7908261366a565b905086811115611d075786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d85916001600160801b03169061380c565b9050805f03611d9857600191505061131b565b5f611da2856128e3565b9050805f03611db65760019250505061131b565b5f80611dc383858961297e565b9150915080611dd8575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e13929190613983565b6040805180830381865af4158015611e2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e5191906139f8565b91509150611e6f611e6182611321565b611e6a90613a1a565b612af2565b925082611e84575f965050505050505061131b565b611e8d82611a22565b600780545f90611ea79084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ed481611a22565b60078054601090611ef6908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5187612c86565b6040518263ffffffff1660e01b8152600401611f6d9190613a34565b6040805180830381865af4158015611f87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fab9190613a43565b9150915080611fc057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120259161366a565b61202f919061380c565b9050805f0361204557505f958695509350505050565b5f808711612053575f61205e565b61205e848884612525565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561208f5761208f613a71565b6040519080825280601f01601f1916602001820160405280156120b9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120d9578692505b828152825f602083013e90999098509650505050505050565b5f806120fc6105ab565b905080831161210b575f612115565b612115818461380c565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128a6565b5f808061216161215988670de0b6b3a764000061380c565b899087612dc0565b905086156121a3576121738888612511565b91506121948a8a8461218d8a670de0b6b3a764000061380c565b8989612de3565b92506121a0838261366a565b90505b9750975097945050505050565b5f6121cd6121c684670de0b6b3a764000061380c565b8390612511565b61157d90670de0b6b3a764000061380c565b5f80612215856121ed6119ec565b6121f7919061366a565b600254610fa9908790600160801b90046001600160801b031661380c565b909210949350505050565b5f808080612276878661226f8b6122696122428c670de0b6b3a764000061380c565b7f000000000000000000000000000000000000000000000000000000000000000090612511565b90612511565b9190612dc0565b93506122a2847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122c26122ba89670de0b6b3a764000061380c565b8a9088612dc0565b90506122ee817f0000000000000000000000000000000000000000000000000000000000000000612511565b935061231a847f0000000000000000000000000000000000000000000000000000000000000000611584565b612324908461366a565b915050945094509450949050565b5f805f805f808888101561239e578615612354576123518d898b612525565b9c505b61235f8c898b612525565b9b5061236a8b611321565b6123738d611321565b61237d919061367d565b905061238a8b898b612525565b9a506123978a898b612525565b99506123bd565b6123a78b611321565b6123b08d611321565b6123ba919061367d565b90505b9b9c9a9b999a975050505050505050565b5f825f036123dd57508461246b565b811561242f5761240e6123f0848761366a565b6123fa8587611584565b612404888a611584565b611cda919061366a565b90505f61241b8588611a4b565b905080821015612429578091505b5061246b565b82850361243d57505f61246b565b61246861244a848761380c565b6124548587612511565b61245e888a611584565b611cda919061380c565b90505b95945050505050565b5f60016001607f1b0319821280612491575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124bb845f612e05565b6124c5845f612e05565b6124cf919061367d565b90505f8113156124ea576124e3818661366a565b9450612508565b5f811215612508576124fb81613a1a565b612505908661380c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc0565b5f825f190484118302158202612539575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612e1a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612633573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126579190613a85565b5050505050565b5f808061267e61267688670de0b6b3a764000061380c565b899087612525565b905086156121a3576126908888611584565b91506121948a8a846126aa8a670de0b6b3a764000061380c565b8989612f21565b5f806126bd8484612f31565b9092509050806126cf576126cf6113ec565b5092915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612713573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261273a9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561277b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061279f9190613c2c565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa1580156127f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128189190613c2c565b979650505050505050565b5f815f0361283a5750670de0b6b3a764000061131b565b825f0361284857505f61131b565b5f61285283611321565b90505f61286661286186611321565b612f6c565b905081810261287d670de0b6b3a764000082613c43565b905061288881613191565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc0565b5f61157d83670de0b6b3a764000084612525565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128fd906001600160801b031684612892565b90506129297f00000000000000000000000000000000000000000000000000000000000000008261366a565b6002546001600160801b03161115611a59576002547f0000000000000000000000000000000000000000000000000000000000000000906129749083906001600160801b031661380c565b61157d919061380c565b61298661355d565b5f8061299184612c86565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cb9190613a34565b6040805180830381865af41580156129e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a099190613a43565b9350905082612a1d57505f9150612aea9050565b5f612a43612a3e84610160015185610140015161158490919063ffffffff16565b611321565b612a63612a3e85610120015186610100015161251190919063ffffffff16565b612a6d919061367d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ba8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bcc9190613c6f565b935093509350935080612be757505f98975050505050505050565b868414612c1857612bf784611a22565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4957612c2883612474565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7757612c5982611a22565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c8e6135a7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d869116613323565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612db892900416613323565b905292915050565b5f825f190484118302158202612dd4575f80fd5b50910281810615159190040190565b5f80612df3888888888888613397565b909250905080611d0757611d076113ec565b5f818313612e13578161157d565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612e57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e7e9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ebf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee39190613c2c565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016127d9565b5f80612df3888888888888613473565b5f805f83612f3e86611321565b612f48919061367d565b90505f811215612f5e575f809250925050612f65565b9150600190505b9250929050565b5f808213612f8d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130109084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131aa57505f919050565b680755bf798b4a1bf1e582126131d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133366105ab565b613340919061387a565b905080831161334f575f613359565b613359818461380c565b915061157d613390670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061387a565b83906128a6565b5f805f6133a7898988888861352f565b9050868810156133bd575f809250925050613468565b96869003966133cc8887612823565b9750878110156133e2575f809250925050613468565b8781036133f0818688612dc0565b9050670de0b6b3a764000081106134245761341d613416670de0b6b3a764000089612892565b8290612823565b905061343c565b613439613416670de0b6b3a7640000896128a6565b90505b6134468186612892565b90508981101561345d575f80935093505050613468565b899003925060019150505b965096945050505050565b5f805f613483898988888861352f565b905061349386611a1c898b61366a565b9750878110156134a9575f809250925050613468565b8781036134b7818688612dc0565b9050670de0b6b3a764000081106134e4576134dd613416670de0b6b3a764000089612892565b90506134fc565b6134f9613416670de0b6b3a7640000896128a6565b90505b6135068186612892565b9050808a101561351d575f80935093505050613468565b90980398600198509650505050505050565b5f61353a8585612823565b61355361354b86611a1c868b612511565b859085612dc0565b612468919061366a565b6040518061012001604052806135716135a7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561360f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561363a575f80fd5b85016060818803121561364b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613656565b8181035f8312801583831316838312821617156126cf576126cf613656565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136c0575f80fd5b813561157d8161369c565b8015158114610591575f80fd5b5f602082840312156136e8575f80fd5b813561157d816136cb565b5f808335601e19843603018112613708575f80fd5b83018035915067ffffffffffffffff821115613722575f80fd5b602001915036819003821315612f65575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379760e083018486613736565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137c4576137c4613656565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ff60c083018486613736565b9998505050505050505050565b8181038181111561131b5761131b613656565b6001600160701b038181168382160190808211156126cf576126cf613656565b6001600160801b038181168382160190808211156126cf576126cf613656565b5f6020828403121561386f575f80fd5b815161157d8161369c565b808202811582820484141761131b5761131b613656565b6001600160801b038281168282160390808211156126cf576126cf613656565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613656565b634e487b7160e01b5f52601260045260245ffd5b5f82613900576139006138de565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613996828551613905565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a09575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2e57613a2e613656565b505f0390565b610180810161131b8284613905565b5f8060408385031215613a54575f80fd5b825191506020830151613a66816136cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a95575f80fd5b815161157d816136cb565b604051601f8201601f1916810167ffffffffffffffff81118282101715613ac957613ac9613a71565b604052919050565b5f67ffffffffffffffff821115613aea57613aea613a71565b5060051b60200190565b5f82601f830112613b03575f80fd5b81516020613b18613b1383613ad1565b613aa0565b8083825260208201915060208460051b870101935086841115613b39575f80fd5b602086015b84811015611d075780518352918301918301613b3e565b5f805f60608486031215613b67575f80fd5b835167ffffffffffffffff80821115613b7e575f80fd5b818601915086601f830112613b91575f80fd5b81516020613ba1613b1383613ad1565b82815260059290921b8401810191818101908a841115613bbf575f80fd5b8286015b84811015613bf557805186811115613bd9575f80fd5b613be78d86838b0101613af4565b845250918301918301613bc3565b5091890151919750909350505080821115613c0e575f80fd5b50613c1b86828701613af4565b925050604084015190509250925092565b5f60208284031215613c3c575f80fd5b5051919050565b5f82613c5157613c516138de565b600160ff1b82145f1984141615613c6a57613c6a613656565b500590565b5f805f8060808587031215613c82575f80fd5b845193506020850151925060408501519150606085015161364b816136cb56fea264697066735822122057e1978fd3631ec66fbf3f0a12ef64cbbd2e4cc99c8dc40f65cc64c08085a8f364736f6c63430008160033a264697066735822122034f17bafc1baa96bbd7b76eeb892deb03c1a1ca1a759390f81ad67babddacd7d64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts deleted file mode 100644 index b3ddeeed6..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts +++ /dev/null @@ -1,790 +0,0 @@ -export declare const EzETHTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=EzETHTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts.map deleted file mode 100644 index 2bdf73b8b..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget2.d.ts","sourceRoot":"","sources":["../src/EzETHTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+8B62hC,KAAK,MAAM,EAAE;;;;;CAKl5hC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2.js b/packages/hyperdrive-artifacts/dist/EzETHTarget2.js deleted file mode 100644 index 6c16ad568..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2.js +++ /dev/null @@ -1,981 +0,0 @@ -export const EzETHTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b50604051620041b9380380620041b983398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c61620005585f395f61146a01525f61148b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612d7101525f818161152801528181611cad01528181611d10015281816124970152818161295a0152818161299601528181612b8e0152612d4b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d2501525f6118d701525f81816119f801528181612588015281816126000152612e8901525f81816109a301528181610e3701528181611415015281816119cc01526125d401525f8181610e16015281816125540152612e4501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d9701525f81816101d301528181610396015281816108e1015261330d01525f81816106a7015281816107230152818161079701528181610862015261089a01525f81816114ac01526116f201525f5050613c615ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613585565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613585565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906135f3565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856135f3565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61361a565b8b611217565b8d8a8a898e8561023e602083018361361a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613642565b8961028960408a018a61365d565b60405161029c97969594939291906136c8565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846135f3565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906135f3565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016135f3565b9350505f61042784898d6114d1565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611502565b5f6104706002886111e3565b90508c61048a82610484602084018461361a565b85611217565b858b868461049b602086018661361a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613642565b6104ec896104e68a8d613708565b90610683565b8d6104fa60408e018e61365d565b60405161050e98979695949392919061371b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361361a565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613642565b156105ea576105e0856105db604087018761365d565b6116b5565b9093509050610602565b5034610602856105fd604087018761365d565b6116d0565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061176a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611785565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6135f3565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161179a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b92505b50610838836117d9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613708565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836135f3565b4290611806565b84610f13565b6108d58861181a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613708565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119b7565b915091508060095f82825461097291906135f3565b9091555061098d9050865f8461098781611a84565b88611aad565b61099781836135f3565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c24565b91506109db6109d68385610683565b611c6d565b600680546002906109fc9084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117d9565b60068054601090610a4b908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119b7565b915091508060095f828254610abe91906135f3565b90915550610ad99050835f84610ad381611a84565b8a611c96565b610ae38183613708565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117d9565b60068054601090610b62908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a84565b610ba483611a84565b610bae91906137a2565b5f611e86565b8e610bbf8482611ec5565b50505b5f610bcc846120b4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906137c1565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121f6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161179a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061227c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122a7565b61230b565b15610e6d57610e6d61234c565b610e7987858885612365565b91965094509250670de0b6b3a7640000610efb610e9687846135f3565b600254610eb4908890600160801b90046001600160801b0316613708565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b1115610f0957610f0961234c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613708565b610fb991906137dc565b85670de0b6b3a7640000610fcd878a613708565b610fd791906137dc565b8592919060016123ad565b6117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117d9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866137dc565b6005546001600160801b031691908860016123ad565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117d9565b600280545f906110d19084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117d9565b60028054601090611120908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117d9565b6111579082613782565b600380546001600160801b03808416600160801b02911617905590505f61117d83612451565b905061119b8161118c87611a84565b6111969084613813565b611e86565b6111a484612491565b6111b0576111b061234c565b5f6111ba856124f0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906135f3565b90915550505f838152600b60205260408120805483929061126a9084906135f3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61179a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124fc565b93508761134d858961251c565b111561135b5761135b61234c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b93506113d58a670de0b6b3a7640000868c612530565b509193509091506113e890508183613708565b6113f29087613708565b95508861143f816114398d611407868c613708565b8d611412878261263c565b877f0000000000000000000000000000000000000000000000000000000000000000612651565b9061251c565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612671565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612694565b5f6114e26040830160208401613642565b156114ee5750826114fb565b6114f884846127d5565b90505b9392505050565b6002546001600160801b03168381101561151e5761151e61234c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611556908390600f0b6127e9565b10156115645761156461234c565b6004546115ae90610fe290600160801b90046001600160801b0316611591670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908960016123ad565b600580546001600160801b03928316600160801b0292169190911790556115d4816117d9565b600280546001600160801b0319166001600160801b03929092169190911790556115fd856117d9565b6002805460109061161f908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061164c856117d9565b6004805460109061166e908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61169c83612451565b905061119b816116ab88611a84565b61119690846137a2565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611740573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611764919061383a565b50505050565b5f825f19048411830215820261177e575f80fd5b5091020490565b5f6117908284613869565b6106979084613708565b6002546004545f916106cb916001600160801b0390911690600f0b6127e9565b5f6117d0826117ca85888861176a565b9061280e565b95945050505050565b5f6001600160801b0382111561180257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118145782610697565b50919050565b6006545f90819061183c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119b2575f6118658383613708565b9050611874610fe28286611450565b60068054601090611896908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ce85836127d590919063ffffffff16565b90505f6118fb827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461190e91906135f3565b9091555061191e90508183613708565b9150611929826117d9565b600280545f906119439084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197082612873565b600480545f90611984908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119c387856127d5565b91505f6119f0837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a1c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a3f57611a2e8282613708565b611a389084613708565b9250611a56565b611a498282613708565b611a5390846135f3565b92505b86861015611a7957611a6983878961176a565b9250611a7682878961176a565b91505b509550959350505050565b5f6001600160ff1b038211156118025760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611af5610fe282611ad9670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b029216919091179055611b1b866117d9565b611b2590826137f3565b600480546001600160801b03928316600160801b029216919091179055611b4b846117d9565b600280545f90611b659084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b928361289c565b600480545f90611ba6908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bd6856117d9565b60028054601090611bf8908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c3b84611c358a888a61176a565b906127d5565b9050611c4888848661176a565b611c5290826135f3565b905086811115611c625786810391505b509695505050505050565b5f6001600160701b038211156118025760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cd857507f0000000000000000000000000000000000000000000000000000000000000000611cd68583613708565b105b15611ce557611ce561234c565b6004549084900390600f0b611cfa84826137a2565b905083611d0686611a84565b138015611d3b57507f0000000000000000000000000000000000000000000000000000000000000000611d3983836127e9565b105b15611d4857611d4861234c565b600354600160801b90046001600160801b0316611d89610fe282611d74670de0b6b3a7640000886137dc565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611db38882613708565b9050611dbe816117d9565b600380546001600160801b03928316600160801b029216919091179055611de4836117d9565b600280546001600160801b0319166001600160801b0392909216919091179055611e0d8261289c565b600480546001600160801b0319166001600160801b0392909216919091179055611e36876117d9565b60028054601090611e58908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ea190610fe2906001600160801b031684846128d7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f0f916001600160801b031690613708565b9050805f03611f2257600191505061069a565b5f611f2c85612939565b9050805f03611f405760019250505061069a565b5f80611f4d8385896129d4565b9150915080611f62575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f9d929190613927565b6040805180830381865af4158015611fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdb919061399c565b91509150611ff9611feb82611a84565b611ff4906139be565b612b48565b92508261200e575f965050505050505061069a565b612017826117d9565b600780545f906120319084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061205e816117d9565b60078054601090612080908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120db87612cdc565b6040518263ffffffff1660e01b81526004016120f791906139d8565b6040805180830381865af4158015612111573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061213591906139e7565b915091508061214a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121af916135f3565b6121b99190613708565b9050805f036121cf57505f958695509350505050565b5f8087116121dd575f6121e8565b6121e884888461176a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561221957612219613a15565b6040519080825280601f01601f191660200182016040528015612243576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612263578692505b828152825f602083013e90999098509650505050505050565b5f61229c87878761229588670de0b6b3a7640000613708565b8787612e16565b979650505050505050565b5f6114f86122e76122c084670de0b6b3a7640000613708565b611439670de0b6b3a76400006122d6818a611450565b6122e09190613708565b879061251c565b6122f990670de0b6b3a76400006135f3565b611c3584670de0b6b3a7640000613708565b5f806123418561231961179a565b61232391906135f3565b600254610eb4908790600160801b90046001600160801b0316613708565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612375898789612e38565b90925090506123848289613708565b97505f61239282888a61176a565b905061239e818b613708565b9a989950979650505050505050565b5f825f036123bc5750846117d0565b811561240e576123ed6123cf84876135f3565b6123d98587610683565b6123e3888a610683565b611c3591906135f3565b90505f6123fa8588611806565b905080821015612408578091505b506117d0565b82850361241c57505f6117d0565b6124476124298487613708565b612433858761251c565b61243d888a610683565b611c359190613708565b9695505050505050565b5f612476600b5f6124636002866111e3565b81526020019081526020015f2054611a84565b612487600b5f6124636001876111e3565b61069a91906137a2565b5f6124bc7f00000000000000000000000000000000000000000000000000000000000000008361251c565b6003546124d291906001600160801b03166135f3565b6002546124e8906001600160801b031684610683565b101592915050565b5f61069a826004611ec5565b5f61229c87878761251588670de0b6b3a7640000613708565b8787612eb7565b5f6106978383670de0b6b3a7640000612671565b5f80808061258087866125798b6114396125528c670de0b6b3a7640000613708565b7f00000000000000000000000000000000000000000000000000000000000000009061251c565b9190612671565b93506125ac847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125cc6125c489670de0b6b3a7640000613708565b8a9088612671565b90506125f8817f000000000000000000000000000000000000000000000000000000000000000061251c565b9350612624847f0000000000000000000000000000000000000000000000000000000000000000610683565b61262e90846135f3565b915050945094509450949050565b5f81831161264a5781610697565b5090919050565b5f80612668846126628a888a612671565b90611450565b9050611c488884865b5f825f190484118302158202612685575f80fd5b50910281810615159190040190565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156126d1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526126f89190810190613ade565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061275d9190613bb5565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa1580156127b1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229c9190613bb5565b5f61069783670de0b6b3a76400008461176a565b5f806127f58484612ec7565b9092509050806128075761280761234c565b5092915050565b5f815f036128255750670de0b6b3a764000061069a565b825f0361283357505f61069a565b5f61283d83611a84565b90505f61285161284c86611a84565b612eff565b9050818102612868670de0b6b3a764000082613bcc565b905061244781613124565b5f60016001607f1b038211156118025760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b9575060016001607f1b0382135b156118025760405163a5353be560e01b815260040160405180910390fd5b5f806128e3845f6132b6565b6128ed845f6132b6565b6128f791906137a2565b90505f8113156129125761290b81866135f3565b9450612930565b5f81121561293057612923816139be565b61292d9086613708565b94505b50929392505050565b6003545f908190612953906001600160801b031684611450565b905061297f7f0000000000000000000000000000000000000000000000000000000000000000826135f3565b6002546001600160801b03161115611814576002547f0000000000000000000000000000000000000000000000000000000000000000906129ca9083906001600160801b0316613708565b6114fb9190613708565b6129dc6134e6565b5f806129e784612cdc565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a2191906139d8565b6040805180830381865af4158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906139e7565b9350905082612a7357505f9150612b409050565b5f612a99612a9484610160015185610140015161068390919063ffffffff16565b611a84565b612ab9612a9485610120015186610100015161251c90919063ffffffff16565b612ac391906137a2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c229190613bf8565b935093509350935080612c3d57505f98975050505050505050565b868414612c6e57612c4d846117d9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9f57612c7e8361289c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ccd57612caf826117d9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ce4613530565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ddc91166132c4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e0e929004166132c4565b905292915050565b5f80612e26888888888888613338565b909250905080611c6257611c6261234c565b5f80612e818561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e77818c611450565b6114399190613708565b9150612ead827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e268888888888886133fc565b5f805f83612ed486611a84565b612ede91906137a2565b90505f811215612ef4575f80925092505061067c565b946001945092505050565b5f808213612f205760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fa39084901c611a84565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313d57505f919050565b680755bf798b4a1bf1e58212613166576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061244774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a84565b5f81831361264a5781610697565b5f80670de0b6b3a76400006132d76106a0565b6132e191906137dc565b90508083116132f0575f6132fa565b6132fa8184613708565b91506114fb613331670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137dc565b83906127d5565b5f805f61334889898888886134b8565b9050613362866117ca61335b8a8d6135f3565b8790610683565b985061336f858a8661176a565b985088811015613385575f8092509250506133f1565b888103670de0b6b3a764000081106133ba576133b36133ac670de0b6b3a764000089611450565b829061280e565b90506133d2565b6133cf6133ac670de0b6b3a7640000896127d5565b90505b808910156133e7575f809350935050506133f1565b8803925060019150505b965096945050505050565b5f805f61340c89898888886134b8565b905061341c866117ca898b6135f3565b975087811015613432575f8092509250506133f1565b878103613440818688612671565b9050670de0b6b3a7640000811061346d576134666133ac670de0b6b3a764000089611450565b9050613485565b6134826133ac670de0b6b3a7640000896127d5565b90505b61348f8186611450565b9050808a10156134a6575f809350935050506133f1565b90980398600198509650505050505050565b5f6134c3858561280e565b6134dc6134d4866117ca868b61251c565b859085612671565b61244791906135f3565b6040518061012001604052806134fa613530565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613598575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135c3575f80fd5b8501606081880312156135d4575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6135df565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561362a575f80fd5b81356114fb81613606565b80151581146105af575f80fd5b5f60208284031215613652575f80fd5b81356114fb81613635565b5f808335601e19843603018112613672575f80fd5b83018035915067ffffffffffffffff82111561368c575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136fb60c0830184866136a0565b9998505050505050505050565b8181038181111561069a5761069a6135df565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61375460e0830184866136a0565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612807576128076135df565b6001600160801b03818116838216019080821115612807576128076135df565b8181035f831280158383131683831282161715612807576128076135df565b5f602082840312156137d1575f80fd5b81516114fb81613606565b808202811582820484141761069a5761069a6135df565b6001600160801b03828116828216039080821115612807576128076135df565b8082018281125f831280158216821582161715613832576138326135df565b505092915050565b5f6020828403121561384a575f80fd5b81516114fb81613635565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6135df565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393a8285516138a9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139ad575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139d2576139d26135df565b505f0390565b610180810161069a82846138a9565b5f80604083850312156139f8575f80fd5b825191506020830151613a0a81613635565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a5257613a52613a15565b604052919050565b5f67ffffffffffffffff821115613a7357613a73613a15565b5060051b60200190565b5f82601f830112613a8c575f80fd5b81516020613aa1613a9c83613a5a565b613a29565b8083825260208201915060208460051b870101935086841115613ac2575f80fd5b602086015b84811015611c625780518352918301918301613ac7565b5f805f60608486031215613af0575f80fd5b835167ffffffffffffffff80821115613b07575f80fd5b818601915086601f830112613b1a575f80fd5b81516020613b2a613a9c83613a5a565b82815260059290921b8401810191818101908a841115613b48575f80fd5b8286015b84811015613b7e57805186811115613b62575f80fd5b613b708d86838b0101613a7d565b845250918301918301613b4c565b5091890151919750909350505080821115613b97575f80fd5b50613ba486828701613a7d565b925050604084015190509250925092565b5f60208284031215613bc5575f80fd5b5051919050565b5f82613bda57613bda613855565b600160ff1b82145f1984141615613bf357613bf36135df565b500590565b5f805f8060808587031215613c0b575f80fd5b84519350602085015192506040850151915060608501516135d48161363556fea26469706673582212204cda7d6160535a33cc6cda69fe36662a5e479c8bc3fb800750f275520e21b92a64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts deleted file mode 100644 index b092a21e8..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHTarget2Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts.map deleted file mode 100644 index b3ceda72c..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK2tnC,KAAK,MAAM,EAAE;;;;;CAKxwnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.js deleted file mode 100644 index e3079455c..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget2Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHTarget2Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161477438038061477483398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146eb6100895f395f8181606c015260bd01526146eb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b6141b980620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620041b9380380620041b983398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c61620005585f395f61146a01525f61148b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612d7101525f818161152801528181611cad01528181611d10015281816124970152818161295a0152818161299601528181612b8e0152612d4b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d2501525f6118d701525f81816119f801528181612588015281816126000152612e8901525f81816109a301528181610e3701528181611415015281816119cc01526125d401525f8181610e16015281816125540152612e4501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d9701525f81816101d301528181610396015281816108e1015261330d01525f81816106a7015281816107230152818161079701528181610862015261089a01525f81816114ac01526116f201525f5050613c615ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613585565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613585565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906135f3565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856135f3565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61361a565b8b611217565b8d8a8a898e8561023e602083018361361a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613642565b8961028960408a018a61365d565b60405161029c97969594939291906136c8565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846135f3565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906135f3565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016135f3565b9350505f61042784898d6114d1565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611502565b5f6104706002886111e3565b90508c61048a82610484602084018461361a565b85611217565b858b868461049b602086018661361a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613642565b6104ec896104e68a8d613708565b90610683565b8d6104fa60408e018e61365d565b60405161050e98979695949392919061371b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361361a565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613642565b156105ea576105e0856105db604087018761365d565b6116b5565b9093509050610602565b5034610602856105fd604087018761365d565b6116d0565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061176a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611785565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6135f3565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161179a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b92505b50610838836117d9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613708565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836135f3565b4290611806565b84610f13565b6108d58861181a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613708565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119b7565b915091508060095f82825461097291906135f3565b9091555061098d9050865f8461098781611a84565b88611aad565b61099781836135f3565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c24565b91506109db6109d68385610683565b611c6d565b600680546002906109fc9084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117d9565b60068054601090610a4b908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119b7565b915091508060095f828254610abe91906135f3565b90915550610ad99050835f84610ad381611a84565b8a611c96565b610ae38183613708565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117d9565b60068054601090610b62908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a84565b610ba483611a84565b610bae91906137a2565b5f611e86565b8e610bbf8482611ec5565b50505b5f610bcc846120b4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906137c1565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121f6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161179a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061227c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122a7565b61230b565b15610e6d57610e6d61234c565b610e7987858885612365565b91965094509250670de0b6b3a7640000610efb610e9687846135f3565b600254610eb4908890600160801b90046001600160801b0316613708565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b1115610f0957610f0961234c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613708565b610fb991906137dc565b85670de0b6b3a7640000610fcd878a613708565b610fd791906137dc565b8592919060016123ad565b6117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117d9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866137dc565b6005546001600160801b031691908860016123ad565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117d9565b600280545f906110d19084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117d9565b60028054601090611120908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117d9565b6111579082613782565b600380546001600160801b03808416600160801b02911617905590505f61117d83612451565b905061119b8161118c87611a84565b6111969084613813565b611e86565b6111a484612491565b6111b0576111b061234c565b5f6111ba856124f0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906135f3565b90915550505f838152600b60205260408120805483929061126a9084906135f3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61179a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124fc565b93508761134d858961251c565b111561135b5761135b61234c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b93506113d58a670de0b6b3a7640000868c612530565b509193509091506113e890508183613708565b6113f29087613708565b95508861143f816114398d611407868c613708565b8d611412878261263c565b877f0000000000000000000000000000000000000000000000000000000000000000612651565b9061251c565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612671565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612694565b5f6114e26040830160208401613642565b156114ee5750826114fb565b6114f884846127d5565b90505b9392505050565b6002546001600160801b03168381101561151e5761151e61234c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611556908390600f0b6127e9565b10156115645761156461234c565b6004546115ae90610fe290600160801b90046001600160801b0316611591670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908960016123ad565b600580546001600160801b03928316600160801b0292169190911790556115d4816117d9565b600280546001600160801b0319166001600160801b03929092169190911790556115fd856117d9565b6002805460109061161f908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061164c856117d9565b6004805460109061166e908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61169c83612451565b905061119b816116ab88611a84565b61119690846137a2565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611740573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611764919061383a565b50505050565b5f825f19048411830215820261177e575f80fd5b5091020490565b5f6117908284613869565b6106979084613708565b6002546004545f916106cb916001600160801b0390911690600f0b6127e9565b5f6117d0826117ca85888861176a565b9061280e565b95945050505050565b5f6001600160801b0382111561180257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118145782610697565b50919050565b6006545f90819061183c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119b2575f6118658383613708565b9050611874610fe28286611450565b60068054601090611896908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ce85836127d590919063ffffffff16565b90505f6118fb827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461190e91906135f3565b9091555061191e90508183613708565b9150611929826117d9565b600280545f906119439084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197082612873565b600480545f90611984908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119c387856127d5565b91505f6119f0837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a1c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a3f57611a2e8282613708565b611a389084613708565b9250611a56565b611a498282613708565b611a5390846135f3565b92505b86861015611a7957611a6983878961176a565b9250611a7682878961176a565b91505b509550959350505050565b5f6001600160ff1b038211156118025760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611af5610fe282611ad9670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b029216919091179055611b1b866117d9565b611b2590826137f3565b600480546001600160801b03928316600160801b029216919091179055611b4b846117d9565b600280545f90611b659084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b928361289c565b600480545f90611ba6908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bd6856117d9565b60028054601090611bf8908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c3b84611c358a888a61176a565b906127d5565b9050611c4888848661176a565b611c5290826135f3565b905086811115611c625786810391505b509695505050505050565b5f6001600160701b038211156118025760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cd857507f0000000000000000000000000000000000000000000000000000000000000000611cd68583613708565b105b15611ce557611ce561234c565b6004549084900390600f0b611cfa84826137a2565b905083611d0686611a84565b138015611d3b57507f0000000000000000000000000000000000000000000000000000000000000000611d3983836127e9565b105b15611d4857611d4861234c565b600354600160801b90046001600160801b0316611d89610fe282611d74670de0b6b3a7640000886137dc565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611db38882613708565b9050611dbe816117d9565b600380546001600160801b03928316600160801b029216919091179055611de4836117d9565b600280546001600160801b0319166001600160801b0392909216919091179055611e0d8261289c565b600480546001600160801b0319166001600160801b0392909216919091179055611e36876117d9565b60028054601090611e58908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ea190610fe2906001600160801b031684846128d7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f0f916001600160801b031690613708565b9050805f03611f2257600191505061069a565b5f611f2c85612939565b9050805f03611f405760019250505061069a565b5f80611f4d8385896129d4565b9150915080611f62575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f9d929190613927565b6040805180830381865af4158015611fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdb919061399c565b91509150611ff9611feb82611a84565b611ff4906139be565b612b48565b92508261200e575f965050505050505061069a565b612017826117d9565b600780545f906120319084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061205e816117d9565b60078054601090612080908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120db87612cdc565b6040518263ffffffff1660e01b81526004016120f791906139d8565b6040805180830381865af4158015612111573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061213591906139e7565b915091508061214a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121af916135f3565b6121b99190613708565b9050805f036121cf57505f958695509350505050565b5f8087116121dd575f6121e8565b6121e884888461176a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561221957612219613a15565b6040519080825280601f01601f191660200182016040528015612243576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612263578692505b828152825f602083013e90999098509650505050505050565b5f61229c87878761229588670de0b6b3a7640000613708565b8787612e16565b979650505050505050565b5f6114f86122e76122c084670de0b6b3a7640000613708565b611439670de0b6b3a76400006122d6818a611450565b6122e09190613708565b879061251c565b6122f990670de0b6b3a76400006135f3565b611c3584670de0b6b3a7640000613708565b5f806123418561231961179a565b61232391906135f3565b600254610eb4908790600160801b90046001600160801b0316613708565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612375898789612e38565b90925090506123848289613708565b97505f61239282888a61176a565b905061239e818b613708565b9a989950979650505050505050565b5f825f036123bc5750846117d0565b811561240e576123ed6123cf84876135f3565b6123d98587610683565b6123e3888a610683565b611c3591906135f3565b90505f6123fa8588611806565b905080821015612408578091505b506117d0565b82850361241c57505f6117d0565b6124476124298487613708565b612433858761251c565b61243d888a610683565b611c359190613708565b9695505050505050565b5f612476600b5f6124636002866111e3565b81526020019081526020015f2054611a84565b612487600b5f6124636001876111e3565b61069a91906137a2565b5f6124bc7f00000000000000000000000000000000000000000000000000000000000000008361251c565b6003546124d291906001600160801b03166135f3565b6002546124e8906001600160801b031684610683565b101592915050565b5f61069a826004611ec5565b5f61229c87878761251588670de0b6b3a7640000613708565b8787612eb7565b5f6106978383670de0b6b3a7640000612671565b5f80808061258087866125798b6114396125528c670de0b6b3a7640000613708565b7f00000000000000000000000000000000000000000000000000000000000000009061251c565b9190612671565b93506125ac847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125cc6125c489670de0b6b3a7640000613708565b8a9088612671565b90506125f8817f000000000000000000000000000000000000000000000000000000000000000061251c565b9350612624847f0000000000000000000000000000000000000000000000000000000000000000610683565b61262e90846135f3565b915050945094509450949050565b5f81831161264a5781610697565b5090919050565b5f80612668846126628a888a612671565b90611450565b9050611c488884865b5f825f190484118302158202612685575f80fd5b50910281810615159190040190565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156126d1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526126f89190810190613ade565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061275d9190613bb5565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa1580156127b1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229c9190613bb5565b5f61069783670de0b6b3a76400008461176a565b5f806127f58484612ec7565b9092509050806128075761280761234c565b5092915050565b5f815f036128255750670de0b6b3a764000061069a565b825f0361283357505f61069a565b5f61283d83611a84565b90505f61285161284c86611a84565b612eff565b9050818102612868670de0b6b3a764000082613bcc565b905061244781613124565b5f60016001607f1b038211156118025760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b9575060016001607f1b0382135b156118025760405163a5353be560e01b815260040160405180910390fd5b5f806128e3845f6132b6565b6128ed845f6132b6565b6128f791906137a2565b90505f8113156129125761290b81866135f3565b9450612930565b5f81121561293057612923816139be565b61292d9086613708565b94505b50929392505050565b6003545f908190612953906001600160801b031684611450565b905061297f7f0000000000000000000000000000000000000000000000000000000000000000826135f3565b6002546001600160801b03161115611814576002547f0000000000000000000000000000000000000000000000000000000000000000906129ca9083906001600160801b0316613708565b6114fb9190613708565b6129dc6134e6565b5f806129e784612cdc565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a2191906139d8565b6040805180830381865af4158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906139e7565b9350905082612a7357505f9150612b409050565b5f612a99612a9484610160015185610140015161068390919063ffffffff16565b611a84565b612ab9612a9485610120015186610100015161251c90919063ffffffff16565b612ac391906137a2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c229190613bf8565b935093509350935080612c3d57505f98975050505050505050565b868414612c6e57612c4d846117d9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9f57612c7e8361289c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ccd57612caf826117d9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ce4613530565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ddc91166132c4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e0e929004166132c4565b905292915050565b5f80612e26888888888888613338565b909250905080611c6257611c6261234c565b5f80612e818561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e77818c611450565b6114399190613708565b9150612ead827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e268888888888886133fc565b5f805f83612ed486611a84565b612ede91906137a2565b90505f811215612ef4575f80925092505061067c565b946001945092505050565b5f808213612f205760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fa39084901c611a84565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313d57505f919050565b680755bf798b4a1bf1e58212613166576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061244774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a84565b5f81831361264a5781610697565b5f80670de0b6b3a76400006132d76106a0565b6132e191906137dc565b90508083116132f0575f6132fa565b6132fa8184613708565b91506114fb613331670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137dc565b83906127d5565b5f805f61334889898888886134b8565b9050613362866117ca61335b8a8d6135f3565b8790610683565b985061336f858a8661176a565b985088811015613385575f8092509250506133f1565b888103670de0b6b3a764000081106133ba576133b36133ac670de0b6b3a764000089611450565b829061280e565b90506133d2565b6133cf6133ac670de0b6b3a7640000896127d5565b90505b808910156133e7575f809350935050506133f1565b8803925060019150505b965096945050505050565b5f805f61340c89898888886134b8565b905061341c866117ca898b6135f3565b975087811015613432575f8092509250506133f1565b878103613440818688612671565b9050670de0b6b3a7640000811061346d576134666133ac670de0b6b3a764000089611450565b9050613485565b6134826133ac670de0b6b3a7640000896127d5565b90505b61348f8186611450565b9050808a10156134a6575f809350935050506133f1565b90980398600198509650505050505050565b5f6134c3858561280e565b6134dc6134d4866117ca868b61251c565b859085612671565b61244791906135f3565b6040518061012001604052806134fa613530565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613598575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135c3575f80fd5b8501606081880312156135d4575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6135df565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561362a575f80fd5b81356114fb81613606565b80151581146105af575f80fd5b5f60208284031215613652575f80fd5b81356114fb81613635565b5f808335601e19843603018112613672575f80fd5b83018035915067ffffffffffffffff82111561368c575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136fb60c0830184866136a0565b9998505050505050505050565b8181038181111561069a5761069a6135df565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61375460e0830184866136a0565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612807576128076135df565b6001600160801b03818116838216019080821115612807576128076135df565b8181035f831280158383131683831282161715612807576128076135df565b5f602082840312156137d1575f80fd5b81516114fb81613606565b808202811582820484141761069a5761069a6135df565b6001600160801b03828116828216039080821115612807576128076135df565b8082018281125f831280158216821582161715613832576138326135df565b505092915050565b5f6020828403121561384a575f80fd5b81516114fb81613635565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6135df565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393a8285516138a9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139ad575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139d2576139d26135df565b505f0390565b610180810161069a82846138a9565b5f80604083850312156139f8575f80fd5b825191506020830151613a0a81613635565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a5257613a52613a15565b604052919050565b5f67ffffffffffffffff821115613a7357613a73613a15565b5060051b60200190565b5f82601f830112613a8c575f80fd5b81516020613aa1613a9c83613a5a565b613a29565b8083825260208201915060208460051b870101935086841115613ac2575f80fd5b602086015b84811015611c625780518352918301918301613ac7565b5f805f60608486031215613af0575f80fd5b835167ffffffffffffffff80821115613b07575f80fd5b818601915086601f830112613b1a575f80fd5b81516020613b2a613a9c83613a5a565b82815260059290921b8401810191818101908a841115613b48575f80fd5b8286015b84811015613b7e57805186811115613b62575f80fd5b613b708d86838b0101613a7d565b845250918301918301613b4c565b5091890151919750909350505080821115613b97575f80fd5b50613ba486828701613a7d565b925050604084015190509250925092565b5f60208284031215613bc5575f80fd5b5051919050565b5f82613bda57613bda613855565b600160ff1b82145f1984141615613bf357613bf36135df565b500590565b5f805f8060808587031215613c0b575f80fd5b84519350602085015192506040850151915060608501516135d48161363556fea26469706673582212204cda7d6160535a33cc6cda69fe36662a5e479c8bc3fb800750f275520e21b92a64736f6c63430008160033a2646970667358221220216ab024a27b24bb8e1d911e87f55ef282ffbba02823d8779216ec4490216b2564736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts deleted file mode 100644 index 9e98a4fa7..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts +++ /dev/null @@ -1,806 +0,0 @@ -export declare const EzETHTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=EzETHTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts.map deleted file mode 100644 index cba982b03..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget3.d.ts","sourceRoot":"","sources":["../src/EzETHTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm+BuphC,KAAK,MAAM,EAAE;;;;;CAK5rhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3.js b/packages/hyperdrive-artifacts/dist/EzETHTarget3.js deleted file mode 100644 index 8e2a24364..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3.js +++ /dev/null @@ -1,1001 +0,0 @@ -export const EzETHTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b506040516200414e3803806200414e83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613be5620005695f395f612b0301525f612b2401525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161201b0152818161207e0152818161292701528181612c620152612c9e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c2c01525f8181611d810152612ef401525f81816110260152611d5501525f612eaa01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128bd01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119890152612b4501525f5050613be55ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134de565b610064565b60405190815260200160405180910390f35b61003f61005f36600461353d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b61359d565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135b0565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f00000000000000000000000000000000000000000000000000000000000000008261359d565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135b0565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135b0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f90839061359d565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613641565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613650565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613641565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613650565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135b0565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061367b565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c610254919061359d565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561367b565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136a3565b866107a960408c018c6136be565b6040516107bc9796959493929190613701565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613754565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061376b565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61367b565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261367b565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136a3565b87610b5e60408901896136be565b604051610b719796959493929190613701565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361367b565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136a3565b15610c8f57610c8585610c8060408701876136be565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136be565b611967565b610caf611a01565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a13565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b61359d565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b8a84611a28565b610f4f89610f49610f427f00000000000000000000000000000000000000000000000000000000000000008361359d565b4290611b61565b84611a28565b610f5888611b6f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135b0565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d0c565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d40565b915091508060095f828254610ff5919061359d565b909155506110109050865f8461100a81611766565b88611e0d565b61101a818361359d565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f84565b915061105e6110598385611fc7565b611fdb565b6006805460029061107f9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d0c565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d40565b915091508060095f828254611141919061359d565b9091555061115c9050835f8461115681611766565b8a612004565b61116681836135b0565b91506111756110598387611fc7565b600680546002906111969084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906137d6565b5f6121f4565b8e6112428482612233565b50505b5f61124f84612422565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906137f5565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612564565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d0c565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d0c565b6113f791906137d6565b92915050565b5f805f8061140b8a8a6125ec565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612624565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8d7f00000000000000000000000000000000000000000000000000000000000000006126dd565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612797565b509093505f9050611568848f61359d565b90505f6115888b8b61157987611766565b611583908e613810565b6127df565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612841565b611766565b6115c683611766565b6115d36115b88685611fc7565b6115dd91906137d6565b6115e791906137d6565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612851565b61162685670de0b6b3a76400006135b0565b906117d4565b61163461342f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612874565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612874565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c816128e1565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061181990849061359d565b90915550505f838152600b60205260408120805483929061183b90849061359d565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612233565b5f8183136118a7578261008d565b50919050565b5f806118b984846125ec565b9092509050806118cb576118cb612a75565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a8e565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fb9190613837565b50505050565b5f610c2d670de0b6b3a7640000612afd565b5f611a1e8284613866565b61008d90846135b0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a535750505050565b5f848152600860205260408120546001600160801b031690819003611aab57611a7b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b28565b611afc611af7670de0b6b3a7640000611ac488866135b0565b611ace9190613754565b85670de0b6b3a7640000611ae2878a6135b0565b611aec9190613754565b859291906001612b6a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b31846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b91908490600160801b90046001600160801b0316611fc7565b6006546201000090046001600160701b03169250905081811115611d07575f611bba83836135b0565b9050611bc9611af78286612c04565b60068054601090611beb908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c2385836117d490919063ffffffff16565b90505f611c50827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b90508060095f828254611c63919061359d565b90915550611c73905081836135b0565b9150611c7e826118d2565b600280545f90611c989084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc582612c18565b600480545f90611cd9908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d355760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d4c87856117d4565b91505f611d79837f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050611da5817f0000000000000000000000000000000000000000000000000000000000000000611fc7565b91508315611dc857611db782826135b0565b611dc190846135b0565b9250611ddf565b611dd282826135b0565b611ddc908461359d565b92505b86861015611e0257611df28387896117b9565b9250611dff8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e55611af782611e39670de0b6b3a764000086613754565b600554600160801b90046001600160801b031691908a5f612b6a565b600580546001600160801b03928316600160801b029216919091179055611e7b866118d2565b611e859082613879565b600480546001600160801b03928316600160801b029216919091179055611eab846118d2565b600280545f90611ec59084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef2836118fb565b600480545f90611f06908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f36856118d2565b60028054601090611f58908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f95846116268a888a6117b9565b9050611fa28884866117b9565b611fac908261359d565b905086811115611fbc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061204657507f000000000000000000000000000000000000000000000000000000000000000061204485836135b0565b105b1561205357612053612a75565b6004549084900390600f0b61206884826137d6565b90508361207486611766565b1380156120a957507f00000000000000000000000000000000000000000000000000000000000000006120a783836118ad565b105b156120b6576120b6612a75565b600354600160801b90046001600160801b03166120f7611af7826120e2670de0b6b3a764000088613754565b6005546001600160801b031691908c5f612b6a565b600580546001600160801b0319166001600160801b039290921691909117905561212188826135b0565b905061212c816118d2565b600380546001600160801b03928316600160801b029216919091179055612152836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561217b826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121a4876118d2565b600280546010906121c6908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220f90611af7906001600160801b031684846127df565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161227d916001600160801b0316906135b0565b9050805f036122905760019150506113f7565b5f61229a85612c41565b9050805f036122ae576001925050506113f7565b5f806122bb838589612cdc565b91509150806122d0575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161230b9291906138c6565b6040805180830381865af4158015612325573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612349919061393b565b9150915061236761235982611766565b6123629061395d565b6128e1565b92508261237c575f96505050505050506113f7565b612385826118d2565b600780545f9061239f9084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123cc816118d2565b600780546010906123ee908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124498761162c565b6040518263ffffffff1660e01b81526004016124659190613641565b6040805180830381865af415801561247f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a39190613977565b91509150806124b857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251d9161359d565b61252791906135b0565b9050805f0361253d57505f958695509350505050565b5f80871161254b575f612556565b6125568488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612587576125876139a5565b6040519080825280601f01601f1916602001820160405280156125b1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125d1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125f986611766565b61260391906137d6565b90505f811215612619575f809250925050610d21565b946001945092505050565b5f805f6126348888888888612e4b565b90505f61265e670de0b6b3a764000061264d8888612c04565b612657919061359d565b83906117d4565b9050670de0b6b3a764000081106126925761268b612684670de0b6b3a7640000896117d4565b8290612a8e565b90506126aa565b6126a7612684670de0b6b3a764000089612c04565b90505b6126b481866117d4565b9050888110156126cb575f809350935050506125e2565b97909703976001975095505050505050565b5f805f6126ed8989888888612e79565b9050612707866119466127008a8d61359d565b8790611fc7565b9850612714858a866117b9565b98508881101561272a575f8092509250506115f6565b888103670de0b6b3a7640000811061275857612751612684670de0b6b3a764000089612c04565b9050612770565b61276d612684670de0b6b3a7640000896117d4565b90505b80891015612785575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127a7898789612e9d565b90925090506127b682896135b0565b97505f6127c482888a6117b9565b90506127d0818b6135b0565b9a989950979650505050505050565b5f806127eb845f612f22565b6127f5845f612f22565b6127ff91906137d6565b90505f81131561281a57612813818661359d565b9450612838565b5f8112156128385761282b8161395d565b61283590866135b0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612865575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612887610d28565b6128919190613754565b90508083116128a0575f6128aa565b6128aa81846135b0565b915061008d612657670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613754565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129bb91906139b9565b9350935093509350806129d657505f98975050505050505050565b868414612a07576129e6846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a3857612a17836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a6657612a48826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612aa55750670de0b6b3a76400006113f7565b825f03612ab357505f6113f7565b5f612abd83611766565b90505f612ad1612acc86611766565b612f37565b9050818102612ae8670de0b6b3a7640000826139f7565b9050612af38161315c565b9695505050505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856132ee565b5f825f03612b79575084610075565b8115612bcb57612baa612b8c848761359d565b612b968587611fc7565b612ba0888a611fc7565b611626919061359d565b90505f612bb78588611b61565b905080821015612bc5578091505b50610075565b828503612bd957505f610075565b610072612be684876135b0565b612bf08587612841565b612bfa888a611fc7565b61162691906135b0565b5f61008d83670de0b6b3a764000084612851565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c5b906001600160801b031684612c04565b9050612c877f00000000000000000000000000000000000000000000000000000000000000008261359d565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cd29083906001600160801b03166135b0565b61008d91906135b0565b612ce4613484565b5f80612cef8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d299190613641565b6040805180830381865af4158015612d43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d679190613977565b9350905082612d7b57505f9150612e439050565b5f612d9c6115b8846101600151856101400151611fc790919063ffffffff16565b612dbc6115b885610120015186610100015161284190919063ffffffff16565b612dc691906137d6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e568585612a8e565b612e6f612e6786611946868b611fc7565b8590856117b9565b610072919061359d565b5f612e848585612a8e565b612e6f612e9586611946868b612841565b859085612851565b5f80612eec85612ee685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612edc818c612c04565b612ee691906135b0565b90612841565b9150612f18827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050935093915050565b5f818313612f30578161008d565b5090919050565b5f808213612f585760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fdb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317557505f919050565b680755bf798b4a1bf1e5821261319e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612af374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561332b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133529190810190613ad8565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b79190613650565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa15801561340b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c9190613650565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061349861342f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156134f2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613524575f80fd5b613530888289016134ce565b9150509295509295909350565b5f805f6060848603121561354f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613573575f80fd5b61357f868287016134ce565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613589565b818103818111156113f7576113f7613589565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846135c3565b5f60208284031215613660575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f6020828403121561368b575f80fd5b813561008d81613667565b8015158114610c0a575f80fd5b5f602082840312156136b3575f80fd5b813561008d81613696565b5f808335601e198436030181126136d3575f80fd5b83018035915067ffffffffffffffff8211156136ed575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613589565b5f805f6060848603121561377d575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613589565b6001600160801b038181168382160190808211156118cb576118cb613589565b8181035f8312801583831316838312821617156118cb576118cb613589565b5f60208284031215613805575f80fd5b815161008d81613667565b8082018281125f83128015821682158216171561382f5761382f613589565b505092915050565b5f60208284031215613847575f80fd5b815161008d81613696565b634e487b7160e01b5f52601260045260245ffd5b5f8261387457613874613852565b500690565b6001600160801b038281168282160390808211156118cb576118cb613589565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613589565b5f6102a0820190506138d98285516135c3565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561394c575f80fd5b505080516020909101519092909150565b5f600160ff1b820161397157613971613589565b505f0390565b5f8060408385031215613988575f80fd5b82519150602083015161399a81613696565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139cc575f80fd5b84519350602085015192506040850151915060608501516139ec81613696565b939692955090935050565b5f82613a0557613a05613852565b600160ff1b82145f1984141615613a1e57613a1e613589565b500590565b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4c57613a4c6139a5565b604052919050565b5f67ffffffffffffffff821115613a6d57613a6d6139a5565b5060051b60200190565b5f82601f830112613a86575f80fd5b81516020613a9b613a9683613a54565b613a23565b8083825260208201915060208460051b870101935086841115613abc575f80fd5b602086015b84811015611fbc5780518352918301918301613ac1565b5f805f60608486031215613aea575f80fd5b835167ffffffffffffffff80821115613b01575f80fd5b818601915086601f830112613b14575f80fd5b81516020613b24613a9683613a54565b82815260059290921b8401810191818101908a841115613b42575f80fd5b8286015b84811015613b7857805186811115613b5c575f80fd5b613b6a8d86838b0101613a77565b845250918301918301613b46565b5091890151919750909350505080821115613b91575f80fd5b50613b9e86828701613a77565b92505060408401519050925092509256fea264697066735822122099aaad782d31747b0c0a6b731b5950e310787763c2cd6a0acb10e229320e942864736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts deleted file mode 100644 index f190216f6..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHTarget3Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts.map deleted file mode 100644 index 313e1d2c8..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKqgnC,KAAK,MAAM,EAAE;;;;;CAKljnC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.js deleted file mode 100644 index 307f67385..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget3Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHTarget3Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161470938038061470983398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146806100895f395f8181606c015260bd01526146805ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61414e80620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b506040516200414e3803806200414e83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613be5620005695f395f612b0301525f612b2401525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161201b0152818161207e0152818161292701528181612c620152612c9e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c2c01525f8181611d810152612ef401525f81816110260152611d5501525f612eaa01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128bd01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119890152612b4501525f5050613be55ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134de565b610064565b60405190815260200160405180910390f35b61003f61005f36600461353d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b61359d565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135b0565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f00000000000000000000000000000000000000000000000000000000000000008261359d565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135b0565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135b0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f90839061359d565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613641565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613650565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613641565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613650565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135b0565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061367b565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c610254919061359d565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561367b565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136a3565b866107a960408c018c6136be565b6040516107bc9796959493929190613701565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613754565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061376b565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61367b565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261367b565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136a3565b87610b5e60408901896136be565b604051610b719796959493929190613701565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361367b565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136a3565b15610c8f57610c8585610c8060408701876136be565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136be565b611967565b610caf611a01565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a13565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b61359d565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b8a84611a28565b610f4f89610f49610f427f00000000000000000000000000000000000000000000000000000000000000008361359d565b4290611b61565b84611a28565b610f5888611b6f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135b0565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d0c565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d40565b915091508060095f828254610ff5919061359d565b909155506110109050865f8461100a81611766565b88611e0d565b61101a818361359d565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f84565b915061105e6110598385611fc7565b611fdb565b6006805460029061107f9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d0c565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d40565b915091508060095f828254611141919061359d565b9091555061115c9050835f8461115681611766565b8a612004565b61116681836135b0565b91506111756110598387611fc7565b600680546002906111969084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906137d6565b5f6121f4565b8e6112428482612233565b50505b5f61124f84612422565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906137f5565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612564565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d0c565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d0c565b6113f791906137d6565b92915050565b5f805f8061140b8a8a6125ec565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612624565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8d7f00000000000000000000000000000000000000000000000000000000000000006126dd565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612797565b509093505f9050611568848f61359d565b90505f6115888b8b61157987611766565b611583908e613810565b6127df565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612841565b611766565b6115c683611766565b6115d36115b88685611fc7565b6115dd91906137d6565b6115e791906137d6565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612851565b61162685670de0b6b3a76400006135b0565b906117d4565b61163461342f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612874565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612874565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c816128e1565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061181990849061359d565b90915550505f838152600b60205260408120805483929061183b90849061359d565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612233565b5f8183136118a7578261008d565b50919050565b5f806118b984846125ec565b9092509050806118cb576118cb612a75565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a8e565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fb9190613837565b50505050565b5f610c2d670de0b6b3a7640000612afd565b5f611a1e8284613866565b61008d90846135b0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a535750505050565b5f848152600860205260408120546001600160801b031690819003611aab57611a7b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b28565b611afc611af7670de0b6b3a7640000611ac488866135b0565b611ace9190613754565b85670de0b6b3a7640000611ae2878a6135b0565b611aec9190613754565b859291906001612b6a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b31846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b91908490600160801b90046001600160801b0316611fc7565b6006546201000090046001600160701b03169250905081811115611d07575f611bba83836135b0565b9050611bc9611af78286612c04565b60068054601090611beb908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c2385836117d490919063ffffffff16565b90505f611c50827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b90508060095f828254611c63919061359d565b90915550611c73905081836135b0565b9150611c7e826118d2565b600280545f90611c989084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc582612c18565b600480545f90611cd9908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d355760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d4c87856117d4565b91505f611d79837f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050611da5817f0000000000000000000000000000000000000000000000000000000000000000611fc7565b91508315611dc857611db782826135b0565b611dc190846135b0565b9250611ddf565b611dd282826135b0565b611ddc908461359d565b92505b86861015611e0257611df28387896117b9565b9250611dff8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e55611af782611e39670de0b6b3a764000086613754565b600554600160801b90046001600160801b031691908a5f612b6a565b600580546001600160801b03928316600160801b029216919091179055611e7b866118d2565b611e859082613879565b600480546001600160801b03928316600160801b029216919091179055611eab846118d2565b600280545f90611ec59084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef2836118fb565b600480545f90611f06908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f36856118d2565b60028054601090611f58908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f95846116268a888a6117b9565b9050611fa28884866117b9565b611fac908261359d565b905086811115611fbc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061204657507f000000000000000000000000000000000000000000000000000000000000000061204485836135b0565b105b1561205357612053612a75565b6004549084900390600f0b61206884826137d6565b90508361207486611766565b1380156120a957507f00000000000000000000000000000000000000000000000000000000000000006120a783836118ad565b105b156120b6576120b6612a75565b600354600160801b90046001600160801b03166120f7611af7826120e2670de0b6b3a764000088613754565b6005546001600160801b031691908c5f612b6a565b600580546001600160801b0319166001600160801b039290921691909117905561212188826135b0565b905061212c816118d2565b600380546001600160801b03928316600160801b029216919091179055612152836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561217b826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121a4876118d2565b600280546010906121c6908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220f90611af7906001600160801b031684846127df565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161227d916001600160801b0316906135b0565b9050805f036122905760019150506113f7565b5f61229a85612c41565b9050805f036122ae576001925050506113f7565b5f806122bb838589612cdc565b91509150806122d0575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161230b9291906138c6565b6040805180830381865af4158015612325573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612349919061393b565b9150915061236761235982611766565b6123629061395d565b6128e1565b92508261237c575f96505050505050506113f7565b612385826118d2565b600780545f9061239f9084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123cc816118d2565b600780546010906123ee908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124498761162c565b6040518263ffffffff1660e01b81526004016124659190613641565b6040805180830381865af415801561247f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a39190613977565b91509150806124b857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251d9161359d565b61252791906135b0565b9050805f0361253d57505f958695509350505050565b5f80871161254b575f612556565b6125568488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612587576125876139a5565b6040519080825280601f01601f1916602001820160405280156125b1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125d1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125f986611766565b61260391906137d6565b90505f811215612619575f809250925050610d21565b946001945092505050565b5f805f6126348888888888612e4b565b90505f61265e670de0b6b3a764000061264d8888612c04565b612657919061359d565b83906117d4565b9050670de0b6b3a764000081106126925761268b612684670de0b6b3a7640000896117d4565b8290612a8e565b90506126aa565b6126a7612684670de0b6b3a764000089612c04565b90505b6126b481866117d4565b9050888110156126cb575f809350935050506125e2565b97909703976001975095505050505050565b5f805f6126ed8989888888612e79565b9050612707866119466127008a8d61359d565b8790611fc7565b9850612714858a866117b9565b98508881101561272a575f8092509250506115f6565b888103670de0b6b3a7640000811061275857612751612684670de0b6b3a764000089612c04565b9050612770565b61276d612684670de0b6b3a7640000896117d4565b90505b80891015612785575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127a7898789612e9d565b90925090506127b682896135b0565b97505f6127c482888a6117b9565b90506127d0818b6135b0565b9a989950979650505050505050565b5f806127eb845f612f22565b6127f5845f612f22565b6127ff91906137d6565b90505f81131561281a57612813818661359d565b9450612838565b5f8112156128385761282b8161395d565b61283590866135b0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612865575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612887610d28565b6128919190613754565b90508083116128a0575f6128aa565b6128aa81846135b0565b915061008d612657670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613754565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129bb91906139b9565b9350935093509350806129d657505f98975050505050505050565b868414612a07576129e6846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a3857612a17836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a6657612a48826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612aa55750670de0b6b3a76400006113f7565b825f03612ab357505f6113f7565b5f612abd83611766565b90505f612ad1612acc86611766565b612f37565b9050818102612ae8670de0b6b3a7640000826139f7565b9050612af38161315c565b9695505050505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856132ee565b5f825f03612b79575084610075565b8115612bcb57612baa612b8c848761359d565b612b968587611fc7565b612ba0888a611fc7565b611626919061359d565b90505f612bb78588611b61565b905080821015612bc5578091505b50610075565b828503612bd957505f610075565b610072612be684876135b0565b612bf08587612841565b612bfa888a611fc7565b61162691906135b0565b5f61008d83670de0b6b3a764000084612851565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c5b906001600160801b031684612c04565b9050612c877f00000000000000000000000000000000000000000000000000000000000000008261359d565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cd29083906001600160801b03166135b0565b61008d91906135b0565b612ce4613484565b5f80612cef8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d299190613641565b6040805180830381865af4158015612d43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d679190613977565b9350905082612d7b57505f9150612e439050565b5f612d9c6115b8846101600151856101400151611fc790919063ffffffff16565b612dbc6115b885610120015186610100015161284190919063ffffffff16565b612dc691906137d6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e568585612a8e565b612e6f612e6786611946868b611fc7565b8590856117b9565b610072919061359d565b5f612e848585612a8e565b612e6f612e9586611946868b612841565b859085612851565b5f80612eec85612ee685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612edc818c612c04565b612ee691906135b0565b90612841565b9150612f18827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050935093915050565b5f818313612f30578161008d565b5090919050565b5f808213612f585760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fdb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317557505f919050565b680755bf798b4a1bf1e5821261319e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612af374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561332b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133529190810190613ad8565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b79190613650565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa15801561340b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c9190613650565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061349861342f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156134f2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613524575f80fd5b613530888289016134ce565b9150509295509295909350565b5f805f6060848603121561354f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613573575f80fd5b61357f868287016134ce565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613589565b818103818111156113f7576113f7613589565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846135c3565b5f60208284031215613660575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f6020828403121561368b575f80fd5b813561008d81613667565b8015158114610c0a575f80fd5b5f602082840312156136b3575f80fd5b813561008d81613696565b5f808335601e198436030181126136d3575f80fd5b83018035915067ffffffffffffffff8211156136ed575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613589565b5f805f6060848603121561377d575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613589565b6001600160801b038181168382160190808211156118cb576118cb613589565b8181035f8312801583831316838312821617156118cb576118cb613589565b5f60208284031215613805575f80fd5b815161008d81613667565b8082018281125f83128015821682158216171561382f5761382f613589565b505092915050565b5f60208284031215613847575f80fd5b815161008d81613696565b634e487b7160e01b5f52601260045260245ffd5b5f8261387457613874613852565b500690565b6001600160801b038281168282160390808211156118cb576118cb613589565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613589565b5f6102a0820190506138d98285516135c3565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561394c575f80fd5b505080516020909101519092909150565b5f600160ff1b820161397157613971613589565b505f0390565b5f8060408385031215613988575f80fd5b82519150602083015161399a81613696565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139cc575f80fd5b84519350602085015192506040850151915060608501516139ec81613696565b939692955090935050565b5f82613a0557613a05613852565b600160ff1b82145f1984141615613a1e57613a1e613589565b500590565b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4c57613a4c6139a5565b604052919050565b5f67ffffffffffffffff821115613a6d57613a6d6139a5565b5060051b60200190565b5f82601f830112613a86575f80fd5b81516020613a9b613a9683613a54565b613a23565b8083825260208201915060208460051b870101935086841115613abc575f80fd5b602086015b84811015611fbc5780518352918301918301613ac1565b5f805f60608486031215613aea575f80fd5b835167ffffffffffffffff80821115613b01575f80fd5b818601915086601f830112613b14575f80fd5b81516020613b24613a9683613a54565b82815260059290921b8401810191818101908a841115613b42575f80fd5b8286015b84811015613b7857805186811115613b5c575f80fd5b613b6a8d86838b0101613a77565b845250918301918301613b46565b5091890151919750909350505080821115613b91575f80fd5b50613b9e86828701613a77565b92505060408401519050925092509256fea264697066735822122099aaad782d31747b0c0a6b731b5950e310787763c2cd6a0acb10e229320e942864736f6c63430008160033a2646970667358221220c3f64d7796630bb2699b928ac64d7d5b30f2a85202601cf4aa699f7f00a0ad8164736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts deleted file mode 100644 index 438af0746..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts +++ /dev/null @@ -1,785 +0,0 @@ -export declare const EzETHTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=EzETHTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts.map deleted file mode 100644 index b75afa114..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget4.d.ts","sourceRoot":"","sources":["../src/EzETHTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw8Bit2B,KAAK,MAAM,EAAE;;;;;;CAMtv2B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4.js b/packages/hyperdrive-artifacts/dist/EzETHTarget4.js deleted file mode 100644 index 709a09d6d..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4.js +++ /dev/null @@ -1,975 +0,0 @@ -export const EzETHTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102c060405234801562000011575f80fd5b506040516200366b3803806200366b83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a05161319a620004d15f395f8181611089015261236d01525f81816110aa015261238e01525f50505f50505f61099201525f50505f818161025f0152611f4001525f81816117a00152818161180301528181611b3001528181611b6c01528181611d5d0152611f1a01525f81816105500152611ef401525f61138201525f6114d701525f818161070d01526114ab01525f50505f81816105710152611f6601525f818161064b01526124f101525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110cb015281816123af015261241401525f505061319a5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ac9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b1b565b6100b1565b005b610056610092366004612ac9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b4f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612b77565b61016a60408c018c612b92565b60405161017c96959493929190612bfd565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c4a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b4f565b88610ea4565b5f6102f56102ec6020870187612b4f565b88848989610a9e565b90945090506103048188612c71565b92505f61031083610f41565b5090506103206020870187612b4f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612b77565b8a888e80604001906103709190612b92565b604051610384989796959493929190612c84565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b4f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f0565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612ccb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b61110c565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061112c565b92505b506105a28361114b565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612c71565b8a84611178565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612ccb565b42906112b1565b84611178565b61063f886112c5565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612c71565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611462565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611496565b915091508060095f8282546106dc9190612ccb565b909155506106f79050865f846106f181611563565b8861158c565b6107018183612ccb565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611703565b9150610745610740838561174c565b611760565b600680546002906107669084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261114b565b600680546010906107b5908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611462565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611496565b915091508060095f8282546108289190612ccb565b909155506108439050835f8461083d81611563565b8a611789565b61084d8183612c71565b915061085c610740838761174c565b6006805460029061087d9084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261114b565b600680546010906108cc908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611563565b61090e83611563565b6109189190612d1e565b5f611979565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d3d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119b8565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a3e565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a4a565b9050610b208361114b565b610b2a9083612d58565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161114b565b60078054601090610b75908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a65565b9350610bb08684611afb565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612c71565b9050805f03610c3a576001915050610dc7565b5f610c4485611b0f565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611baa565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612df6565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612e6b565b91509150610d11610d0382611563565b610d0c90612e8d565b611d17565b925082610d26575f9650505050505050610dc7565b610d2f8261114b565b600780545f90610d499084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161114b565b60078054601090610d98908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612c71565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612ccb565b90915550505f838152600b602052604081208054839290610ef7908490612ccb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eab565b6040518263ffffffff1660e01b8152600401610f849190612ea7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612eb6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612ccb565b6110469190612c71565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a4a565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085611fe5565b5f6110fb8284612c4a565b6111059084612c71565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612132565b5f6111428261113c858888611a4a565b90612157565b95945050505050565b5f6001600160801b0382111561117457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111a35750505050565b5f848152600860205260408120546001600160801b0316908190036111fb576111cb8361114b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611278565b61124c611247670de0b6b3a76400006112148886612c71565b61121e9190612ee4565b85670de0b6b3a7640000611232878a612c71565b61123c9190612ee4565b8592919060016121c6565b61114b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112818461114b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112bf5782611105565b50919050565b6006545f9081906112e7908490600160801b90046001600160801b031661174c565b6006546201000090046001600160701b0316925090508181111561145d575f6113108383612c71565b905061131f6112478286612260565b60068054601090611341908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611379858361227490919063ffffffff16565b90505f6113a6827f000000000000000000000000000000000000000000000000000000000000000061174c565b90508060095f8282546113b99190612ccb565b909155506113c990508183612c71565b91506113d48261114b565b600280545f906113ee9084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061141b82612288565b600480545f9061142f908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561148b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114a28785612274565b91505f6114cf837f000000000000000000000000000000000000000000000000000000000000000061174c565b90506114fb817f000000000000000000000000000000000000000000000000000000000000000061174c565b9150831561151e5761150d8282612c71565b6115179084612c71565b9250611535565b6115288282612c71565b6115329084612ccb565b92505b8686101561155857611548838789611a4a565b9250611555828789611a4a565b91505b509550959350505050565b5f6001600160ff1b038211156111745760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115d4611247826115b8670de0b6b3a764000086612ee4565b600554600160801b90046001600160801b031691908a5f6121c6565b600580546001600160801b03928316600160801b0292169190911790556115fa8661114b565b6116049082612d58565b600480546001600160801b03928316600160801b02921691909117905561162a8461114b565b600280545f906116449084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611671836122b1565b600480545f90611685908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116b58561114b565b600280546010906116d7908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061171a846117148a888a611a4a565b90612274565b9050611727888486611a4a565b6117319082612ccb565b9050868111156117415786810391505b509695505050505050565b5f6111058383670de0b6b3a7640000611a4a565b5f6001600160701b038211156111745760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117cb57507f00000000000000000000000000000000000000000000000000000000000000006117c98583612c71565b105b156117d8576117d86122ec565b6004549084900390600f0b6117ed8482612d1e565b9050836117f986611563565b13801561182e57507f000000000000000000000000000000000000000000000000000000000000000061182c8383612132565b105b1561183b5761183b6122ec565b600354600160801b90046001600160801b031661187c61124782611867670de0b6b3a764000088612ee4565b6005546001600160801b031691908c5f6121c6565b600580546001600160801b0319166001600160801b03929092169190911790556118a68882612c71565b90506118b18161114b565b600380546001600160801b03928316600160801b0292169190911790556118d78361114b565b600280546001600160801b0319166001600160801b0392909216919091179055611900826122b1565b600480546001600160801b0319166001600160801b03929092169190911790556119298761114b565b6002805460109061194b908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199490611247906001600160801b03168484612305565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119db576119db612f28565b6040519080825280601f01601f191660200182016040528015611a05576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a25578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a5e575f80fd5b5091020490565b5f80611a71858561174c565b9050611a7c81612367565b9450845f03611a8e575f915050611105565b849150611aa16040840160208501612b77565b15611ad057611ac985611ab76020860186612b4f565b611ac46040870187612b92565b6123d4565b9150611af3565b611af385611ae16020860186612b4f565b611aee6040870187612b92565b6123ee565b509392505050565b5f6111058383670de0b6b3a7640000612485565b6003545f908190611b29906001600160801b031684612260565b9050611b557f000000000000000000000000000000000000000000000000000000000000000082612ccb565b6002546001600160801b031611156112bf576002547f000000000000000000000000000000000000000000000000000000000000000090611ba09083906001600160801b0316612c71565b6111059190612c71565b611bb2612a2a565b5f80611bbd84611eab565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bf79190612ea7565b6040805180830381865af4158015611c11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c359190612eb6565b9350905082611c4957505f91506100a99050565b5f611c6f611c6a84610160015185610140015161174c90919063ffffffff16565b611563565b611c8f611c6a856101200151866101000151611afb90919063ffffffff16565b611c999190612d1e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df19190612f3c565b935093509350935080611e0c57505f98975050505050505050565b868414611e3d57611e1c8461114b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e6e57611e4d836122b1565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e9c57611e7e8261114b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611eb3612a74565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fab91166124a8565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fdd929004166124a8565b905292915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612022573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612049919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ae9190613106565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121279190613106565b979650505050505050565b5f8061213e848461251c565b909250905080612150576121506122ec565b5092915050565b5f815f0361216e5750670de0b6b3a7640000610dc7565b825f0361217c57505f610dc7565b5f61218683611563565b90505f61219a61219586611563565b612557565b90508181026121b1670de0b6b3a76400008261311d565b90506121bc8161277c565b9695505050505050565b5f825f036121d5575084611142565b8115612227576122066121e88487612ccb565b6121f2858761174c565b6121fc888a61174c565b6117149190612ccb565b90505f61221385886112b1565b905080821015612221578091505b50611142565b82850361223557505f611142565b6121bc6122428487612c71565b61224c8587611afb565b612256888a61174c565b6117149190612c71565b5f61110583670de0b6b3a764000084612485565b5f61110583670de0b6b3a764000084611a4a565b5f60016001607f1b038211156111745760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806122ce575060016001607f1b0382135b156111745760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612311845f61290e565b61231b845f61290e565b6123259190612d1e565b90505f811315612340576123398186612ccb565b945061235e565b5f81121561235e5761235181612e8d565b61235b9086612c71565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612923565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561245a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247e9190613149565b5050505050565b5f825f190484118302158202612499575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bb61040f565b6124c59190612ee4565b90508083116124d4575f6124de565b6124de8184612c71565b9150611105612515670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ee4565b8390612274565b5f805f8361252986611563565b6125339190612d1e565b90505f811215612549575f809250925050612550565b9150600190505b9250929050565b5f8082136125785760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125fb9084901c611563565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279557505f919050565b680755bf798b4a1bf1e582126127be576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906121bc74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611563565b5f81831361291c5781611105565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612960573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612987919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ec9190613106565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016120e8565b604051806101200160405280612a3e612a74565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612adb575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612aff575f80fd5b840160608187031215612b10575f80fd5b809150509250925092565b5f8060408385031215612b2c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b5f575f80fd5b813561110581612b3b565b80151581146103f5575f80fd5b5f60208284031215612b87575f80fd5b813561110581612b6a565b5f808335601e19843603018112612ba7575f80fd5b83018035915067ffffffffffffffff821115612bc1575f80fd5b602001915036819003821315612550575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c2a60a083018486612bd5565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c5857612c58612c36565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c5d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cbd60e083018486612bd5565b9a9950505050505050505050565b80820180821115610dc757610dc7612c5d565b6001600160701b0381811683821601908082111561215057612150612c5d565b6001600160801b0381811683821601908082111561215057612150612c5d565b8181035f83128015838313168383128216171561215057612150612c5d565b5f60208284031215612d4d575f80fd5b815161110581612b3b565b6001600160801b0382811682821603908082111561215057612150612c5d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e09828551612d78565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612e7c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ea157612ea1612c5d565b505f0390565b6101808101610dc78284612d78565b5f8060408385031215612ec7575f80fd5b825191506020830151612ed981612b6a565b809150509250929050565b8082028115828204841417610dc757610dc7612c5d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c5d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f4f575f80fd5b8451935060208501519250604085015191506060850151612f6f81612b6a565b939692955090935050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612fa357612fa3612f28565b604052919050565b5f67ffffffffffffffff821115612fc457612fc4612f28565b5060051b60200190565b5f82601f830112612fdd575f80fd5b81516020612ff2612fed83612fab565b612f7a565b8083825260208201915060208460051b870101935086841115613013575f80fd5b602086015b848110156117415780518352918301918301613018565b5f805f60608486031215613041575f80fd5b835167ffffffffffffffff80821115613058575f80fd5b818601915086601f83011261306b575f80fd5b8151602061307b612fed83612fab565b82815260059290921b8401810191818101908a841115613099575f80fd5b8286015b848110156130cf578051868111156130b3575f80fd5b6130c18d86838b0101612fce565b84525091830191830161309d565b50918901519197509093505050808211156130e8575f80fd5b506130f586828701612fce565b925050604084015190509250925092565b5f60208284031215613116575f80fd5b5051919050565b5f8261312b5761312b612c36565b600160ff1b82145f198414161561314457613144612c5d565b500590565b5f60208284031215613159575f80fd5b815161110581612b6a56fea26469706673582212209adc030b7845d4b70c323028550690ac57e118a8b436dd2524b31c36cf6e087464736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts deleted file mode 100644 index 2e6c8b156..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const EzETHTarget4Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "restakeManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "restakeManager()": "ff0996b5"; - }; -}; -//# sourceMappingURL=EzETHTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts.map deleted file mode 100644 index e9a9a1a4f..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"EzETHTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/EzETHTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK+j8B,KAAK,MAAM,EAAE;;;;;CAK5m8B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.js deleted file mode 100644 index 7684db81a..000000000 --- a/packages/hyperdrive-artifacts/dist/EzETHTarget4Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const EzETHTarget4Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "restakeManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b50604051613c26380380613c2683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051613b9d6100895f395f8181606c015260bd0152613b9d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61366b80620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b506040516200366b3803806200366b83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a05161319a620004d15f395f8181611089015261236d01525f81816110aa015261238e01525f50505f50505f61099201525f50505f818161025f0152611f4001525f81816117a00152818161180301528181611b3001528181611b6c01528181611d5d0152611f1a01525f81816105500152611ef401525f61138201525f6114d701525f818161070d01526114ab01525f50505f81816105710152611f6601525f818161064b01526124f101525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110cb015281816123af015261241401525f505061319a5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ac9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b1b565b6100b1565b005b610056610092366004612ac9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b4f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612b77565b61016a60408c018c612b92565b60405161017c96959493929190612bfd565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c4a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b4f565b88610ea4565b5f6102f56102ec6020870187612b4f565b88848989610a9e565b90945090506103048188612c71565b92505f61031083610f41565b5090506103206020870187612b4f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612b77565b8a888e80604001906103709190612b92565b604051610384989796959493929190612c84565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b4f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f0565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612ccb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b61110c565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061112c565b92505b506105a28361114b565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612c71565b8a84611178565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612ccb565b42906112b1565b84611178565b61063f886112c5565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612c71565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611462565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611496565b915091508060095f8282546106dc9190612ccb565b909155506106f79050865f846106f181611563565b8861158c565b6107018183612ccb565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611703565b9150610745610740838561174c565b611760565b600680546002906107669084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261114b565b600680546010906107b5908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611462565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611496565b915091508060095f8282546108289190612ccb565b909155506108439050835f8461083d81611563565b8a611789565b61084d8183612c71565b915061085c610740838761174c565b6006805460029061087d9084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261114b565b600680546010906108cc908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611563565b61090e83611563565b6109189190612d1e565b5f611979565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d3d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119b8565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a3e565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a4a565b9050610b208361114b565b610b2a9083612d58565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161114b565b60078054601090610b75908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a65565b9350610bb08684611afb565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612c71565b9050805f03610c3a576001915050610dc7565b5f610c4485611b0f565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611baa565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612df6565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612e6b565b91509150610d11610d0382611563565b610d0c90612e8d565b611d17565b925082610d26575f9650505050505050610dc7565b610d2f8261114b565b600780545f90610d499084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161114b565b60078054601090610d98908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612c71565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612ccb565b90915550505f838152600b602052604081208054839290610ef7908490612ccb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eab565b6040518263ffffffff1660e01b8152600401610f849190612ea7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612eb6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612ccb565b6110469190612c71565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a4a565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085611fe5565b5f6110fb8284612c4a565b6111059084612c71565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612132565b5f6111428261113c858888611a4a565b90612157565b95945050505050565b5f6001600160801b0382111561117457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111a35750505050565b5f848152600860205260408120546001600160801b0316908190036111fb576111cb8361114b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611278565b61124c611247670de0b6b3a76400006112148886612c71565b61121e9190612ee4565b85670de0b6b3a7640000611232878a612c71565b61123c9190612ee4565b8592919060016121c6565b61114b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112818461114b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112bf5782611105565b50919050565b6006545f9081906112e7908490600160801b90046001600160801b031661174c565b6006546201000090046001600160701b0316925090508181111561145d575f6113108383612c71565b905061131f6112478286612260565b60068054601090611341908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611379858361227490919063ffffffff16565b90505f6113a6827f000000000000000000000000000000000000000000000000000000000000000061174c565b90508060095f8282546113b99190612ccb565b909155506113c990508183612c71565b91506113d48261114b565b600280545f906113ee9084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061141b82612288565b600480545f9061142f908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561148b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114a28785612274565b91505f6114cf837f000000000000000000000000000000000000000000000000000000000000000061174c565b90506114fb817f000000000000000000000000000000000000000000000000000000000000000061174c565b9150831561151e5761150d8282612c71565b6115179084612c71565b9250611535565b6115288282612c71565b6115329084612ccb565b92505b8686101561155857611548838789611a4a565b9250611555828789611a4a565b91505b509550959350505050565b5f6001600160ff1b038211156111745760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115d4611247826115b8670de0b6b3a764000086612ee4565b600554600160801b90046001600160801b031691908a5f6121c6565b600580546001600160801b03928316600160801b0292169190911790556115fa8661114b565b6116049082612d58565b600480546001600160801b03928316600160801b02921691909117905561162a8461114b565b600280545f906116449084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611671836122b1565b600480545f90611685908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116b58561114b565b600280546010906116d7908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061171a846117148a888a611a4a565b90612274565b9050611727888486611a4a565b6117319082612ccb565b9050868111156117415786810391505b509695505050505050565b5f6111058383670de0b6b3a7640000611a4a565b5f6001600160701b038211156111745760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117cb57507f00000000000000000000000000000000000000000000000000000000000000006117c98583612c71565b105b156117d8576117d86122ec565b6004549084900390600f0b6117ed8482612d1e565b9050836117f986611563565b13801561182e57507f000000000000000000000000000000000000000000000000000000000000000061182c8383612132565b105b1561183b5761183b6122ec565b600354600160801b90046001600160801b031661187c61124782611867670de0b6b3a764000088612ee4565b6005546001600160801b031691908c5f6121c6565b600580546001600160801b0319166001600160801b03929092169190911790556118a68882612c71565b90506118b18161114b565b600380546001600160801b03928316600160801b0292169190911790556118d78361114b565b600280546001600160801b0319166001600160801b0392909216919091179055611900826122b1565b600480546001600160801b0319166001600160801b03929092169190911790556119298761114b565b6002805460109061194b908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199490611247906001600160801b03168484612305565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119db576119db612f28565b6040519080825280601f01601f191660200182016040528015611a05576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a25578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a5e575f80fd5b5091020490565b5f80611a71858561174c565b9050611a7c81612367565b9450845f03611a8e575f915050611105565b849150611aa16040840160208501612b77565b15611ad057611ac985611ab76020860186612b4f565b611ac46040870187612b92565b6123d4565b9150611af3565b611af385611ae16020860186612b4f565b611aee6040870187612b92565b6123ee565b509392505050565b5f6111058383670de0b6b3a7640000612485565b6003545f908190611b29906001600160801b031684612260565b9050611b557f000000000000000000000000000000000000000000000000000000000000000082612ccb565b6002546001600160801b031611156112bf576002547f000000000000000000000000000000000000000000000000000000000000000090611ba09083906001600160801b0316612c71565b6111059190612c71565b611bb2612a2a565b5f80611bbd84611eab565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bf79190612ea7565b6040805180830381865af4158015611c11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c359190612eb6565b9350905082611c4957505f91506100a99050565b5f611c6f611c6a84610160015185610140015161174c90919063ffffffff16565b611563565b611c8f611c6a856101200151866101000151611afb90919063ffffffff16565b611c999190612d1e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df19190612f3c565b935093509350935080611e0c57505f98975050505050505050565b868414611e3d57611e1c8461114b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e6e57611e4d836122b1565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e9c57611e7e8261114b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611eb3612a74565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fab91166124a8565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fdd929004166124a8565b905292915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612022573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612049919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ae9190613106565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121279190613106565b979650505050505050565b5f8061213e848461251c565b909250905080612150576121506122ec565b5092915050565b5f815f0361216e5750670de0b6b3a7640000610dc7565b825f0361217c57505f610dc7565b5f61218683611563565b90505f61219a61219586611563565b612557565b90508181026121b1670de0b6b3a76400008261311d565b90506121bc8161277c565b9695505050505050565b5f825f036121d5575084611142565b8115612227576122066121e88487612ccb565b6121f2858761174c565b6121fc888a61174c565b6117149190612ccb565b90505f61221385886112b1565b905080821015612221578091505b50611142565b82850361223557505f611142565b6121bc6122428487612c71565b61224c8587611afb565b612256888a61174c565b6117149190612c71565b5f61110583670de0b6b3a764000084612485565b5f61110583670de0b6b3a764000084611a4a565b5f60016001607f1b038211156111745760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806122ce575060016001607f1b0382135b156111745760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612311845f61290e565b61231b845f61290e565b6123259190612d1e565b90505f811315612340576123398186612ccb565b945061235e565b5f81121561235e5761235181612e8d565b61235b9086612c71565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612923565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561245a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247e9190613149565b5050505050565b5f825f190484118302158202612499575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bb61040f565b6124c59190612ee4565b90508083116124d4575f6124de565b6124de8184612c71565b9150611105612515670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ee4565b8390612274565b5f805f8361252986611563565b6125339190612d1e565b90505f811215612549575f809250925050612550565b9150600190505b9250929050565b5f8082136125785760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125fb9084901c611563565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279557505f919050565b680755bf798b4a1bf1e582126127be576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906121bc74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611563565b5f81831361291c5781611105565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612960573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612987919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ec9190613106565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016120e8565b604051806101200160405280612a3e612a74565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612adb575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612aff575f80fd5b840160608187031215612b10575f80fd5b809150509250925092565b5f8060408385031215612b2c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b5f575f80fd5b813561110581612b3b565b80151581146103f5575f80fd5b5f60208284031215612b87575f80fd5b813561110581612b6a565b5f808335601e19843603018112612ba7575f80fd5b83018035915067ffffffffffffffff821115612bc1575f80fd5b602001915036819003821315612550575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c2a60a083018486612bd5565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c5857612c58612c36565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c5d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cbd60e083018486612bd5565b9a9950505050505050505050565b80820180821115610dc757610dc7612c5d565b6001600160701b0381811683821601908082111561215057612150612c5d565b6001600160801b0381811683821601908082111561215057612150612c5d565b8181035f83128015838313168383128216171561215057612150612c5d565b5f60208284031215612d4d575f80fd5b815161110581612b3b565b6001600160801b0382811682821603908082111561215057612150612c5d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e09828551612d78565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612e7c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ea157612ea1612c5d565b505f0390565b6101808101610dc78284612d78565b5f8060408385031215612ec7575f80fd5b825191506020830151612ed981612b6a565b809150509250929050565b8082028115828204841417610dc757610dc7612c5d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c5d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f4f575f80fd5b8451935060208501519250604085015191506060850151612f6f81612b6a565b939692955090935050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612fa357612fa3612f28565b604052919050565b5f67ffffffffffffffff821115612fc457612fc4612f28565b5060051b60200190565b5f82601f830112612fdd575f80fd5b81516020612ff2612fed83612fab565b612f7a565b8083825260208201915060208460051b870101935086841115613013575f80fd5b602086015b848110156117415780518352918301918301613018565b5f805f60608486031215613041575f80fd5b835167ffffffffffffffff80821115613058575f80fd5b818601915086601f83011261306b575f80fd5b8151602061307b612fed83612fab565b82815260059290921b8401810191818101908a841115613099575f80fd5b8286015b848110156130cf578051868111156130b3575f80fd5b6130c18d86838b0101612fce565b84525091830191830161309d565b50918901519197509093505050808211156130e8575f80fd5b506130f586828701612fce565b925050604084015190509250925092565b5f60208284031215613116575f80fd5b5051919050565b5f8261312b5761312b612c36565b600160ff1b82145f198414161561314457613144612c5d565b500590565b5f60208284031215613159575f80fd5b815161110581612b6a56fea26469706673582212209adc030b7845d4b70c323028550690ac57e118a8b436dd2524b31c36cf6e087464736f6c63430008160033a264697066735822122003874c91623dcd3f30b860e583527274889c45dddc07c8c44e7764b7f32c49a564736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "restakeManager()": "ff0996b5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts b/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts deleted file mode 100644 index 143f3a546..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const FixedPointMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=FixedPointMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts.map b/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts.map deleted file mode 100644 index 7853727bd..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FixedPointMath.d.ts","sourceRoot":"","sources":["../src/FixedPointMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;cAEuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMath.js b/packages/hyperdrive-artifacts/dist/FixedPointMath.js deleted file mode 100644 index e0101ec39..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const FixedPointMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ab5330a265c88664dbe0d7bcb7c41a09258e07d5e26b9d424694434026334e9264736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts b/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts deleted file mode 100644 index df6d750e5..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const FixedPointMathLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=FixedPointMathLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts.map b/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts.map deleted file mode 100644 index 757abbc12..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FixedPointMathLib.d.ts","sourceRoot":"","sources":["../src/FixedPointMathLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;cAEoQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.js b/packages/hyperdrive-artifacts/dist/FixedPointMathLib.js deleted file mode 100644 index cdcf31eba..000000000 --- a/packages/hyperdrive-artifacts/dist/FixedPointMathLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const FixedPointMathLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220690de1b5e79a420b769ad01df0747a97804fed65ed44ee4d1027828105eee6fc64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts b/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts deleted file mode 100644 index 95d8dd35c..000000000 --- a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts +++ /dev/null @@ -1,84 +0,0 @@ -export declare const FlashLoanLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "FlashLoan"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeFlashLoan(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.FlashloanParams)": "2e7263ea"; - readonly "executeFlashLoanSimple(DataTypes.ReserveData storage,DataTypes.FlashloanSimpleParams)": "a1fe0e8d"; - }; -}; -//# sourceMappingURL=FlashLoanLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts.map deleted file mode 100644 index e64fba5d4..000000000 --- a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FlashLoanLogic.d.ts","sourceRoot":"","sources":["../src/FlashLoanLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+Fu6oB,KAAK,MAAM,EAAE;;;;;CAK98oB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.js b/packages/hyperdrive-artifacts/dist/FlashLoanLogic.js deleted file mode 100644 index ccb830044..000000000 --- a/packages/hyperdrive-artifacts/dist/FlashLoanLogic.js +++ /dev/null @@ -1,101 +0,0 @@ -export const FlashLoanLogic = { - abi: [ - { - "type": "event", - "name": "FlashLoan", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "initiator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "premium", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x6128a2610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80632e7263ea14610043578063a1fe0e8d14610064575b5f80fd5b81801561004e575f80fd5b5061006261005d366004612100565b610083565b005b81801561006f575f80fd5b5061006261007e3660046122a7565b610a3c565b6100968582602001518360400151610c5e565b6100e26040518060e001604052805f6001600160a01b031681526020015f81526020015f6001600160a01b031681526020015f8152602001606081526020015f81526020015f81525090565b81602001515167ffffffffffffffff81111561010057610100611eb3565b604051908082528060200260200182016040528015610129578160200160208202803683370190505b50608082015281516001600160a01b031681526101c0820151610156578161010001518260e00151610159565b5f805b60c083015260a08201525f60208201525b816020015151816020015110156103e65781604001518160200151815181106101955761019561236c565b602090810291909101015160608201525f82606001518260200151815181106101c0576101c061236c565b602002602001015160028111156101d9576101d9612380565b60028111156101ea576101ea612380565b146101f5575f610208565b60a0810151606082015161020891610db0565b81608001518260200151815181106102225761022261236c565b602002602001018181525050610289865f846020015184602001518151811061024d5761024d61236c565b6020908102919091018101516001600160a01b031682528181019290925260409081015f20815192830190915254815251600160fc1b16151590565b156103275761029b8160600151610dd4565b865f84602001518460200151815181106102b7576102b761236c565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2060090160108282829054906101000a90046001600160801b031661030291906123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b855f83602001518360200151815181106103435761034361236c565b6020908102919091018101516001600160a01b0390811683529082019290925260409081015f20600490810154855160608601519351634efecaa560e01b8152908516928101929092526024820192909252911690634efecaa5906044015f604051808303815f87803b1580156103b8575f80fd5b505af11580156103ca573d5f803e3d5ffd5b50505060208201805191506103de826123cf565b90525061016a565b805f01516001600160a01b031663920f5c84836020015184604001518460800151338760a001516040518663ffffffff1660e01b815260040161042d959493929190612464565b6020604051808303815f875af1158015610449573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046d91906124fe565b60405180604001604052806002815260200161313360f01b815250906104af5760405162461bcd60e51b81526004016104a69190612519565b60405180910390fd5b505f60208201525b81602001515181602001511015610a345781602001518160200151815181106104e2576104e261236c565b602002602001015181604001906001600160a01b031690816001600160a01b03168152505081604001518160200151815181106105215761052161236c565b602090810291909101015160608201525f826060015182602001518151811061054c5761054c61236c565b6020026020010151600281111561056557610565612380565b600281111561057657610576612380565b0361062557610620865f83604001516001600160a01b03166001600160a01b031681526020019081526020015f206040518060c001604052808460600151815260200184608001518560200151815181106105d3576105d361236c565b602002602001015181526020018460c00151815260200184604001516001600160a01b03168152602001855f01516001600160a01b031681526020018560c0015161ffff16815250610e40565b610a1c565b73__$5f76d850ac254f0697945c46b13dedf9fb$__631e6473f98787878760405180610180016040528088604001516001600160a01b03168152602001336001600160a01b0316815260200189608001516001600160a01b031681526020018860600151815260200189606001518960200151815181106106a8576106a861236c565b602002602001015160028111156106c1576106c1612380565b60028111156106d2576106d2612380565b81526020018960c0015161ffff1681526020015f151581526020018961018001516001600160a01b031663e82fec2f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610752919061252b565b81526020018961018001516001600160a01b03166372218d046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610798573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107bc919061252b565b81526020018961016001516001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610802573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108269190612542565b6001600160a01b031681526020016108bf8a61018001516001600160a01b031663eddf1b798c608001516040518263ffffffff1660e01b815260040161087b91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610896573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ba919061252b565b6110c6565b60ff1681526020018961016001516001600160a01b0316635eb88d3d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610908573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c9190612542565b6001600160a01b03168152506040518663ffffffff1660e01b815260040161095895949392919061257d565b5f6040518083038186803b15801561096e575f80fd5b505af4158015610980573d5f803e3d5ffd5b505050508160c0015161ffff1681604001516001600160a01b0316835f01516001600160a01b03167fefefaba5e921573100900a3ad9cf29f222d995fb3b6045797eaea7521bd8d6f033856060015187606001518760200151815181106109e9576109e961236c565b60200260200101516002811115610a0257610a02612380565b5f604051610a139493929190612671565b60405180910390a45b60208101805190610a2c826123cf565b9052506104b7565b505050505050565b610a4a828260400151611126565b805160c082015160408301515f91610a629190610db0565b6040805160208101909152855490819052909150600160fc1b1615610ad757610a8e8360400151610dd4565b600985018054601090610ab2908490600160801b90046001600160801b03166123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b60048481015484516040808701519051634efecaa560e01b81526001600160a01b039283169481019490945260248401521690634efecaa5906044015f604051808303815f87803b158015610b2a575f80fd5b505af1158015610b3c573d5f803e3d5ffd5b50505050602083015160408085015160608601519151631b11d0ff60e01b81526001600160a01b03861693631b11d0ff93610b7f939192879133916004016126a4565b6020604051808303815f875af1158015610b9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbf91906124fe565b60405180604001604052806002815260200161313360f01b81525090610bf85760405162461bcd60e51b81526004016104a69190612519565b50610c58846040518060c00160405280866040015181526020018481526020018660a00151815260200186602001516001600160a01b03168152602001865f01516001600160a01b03168152602001866080015161ffff16815250610e40565b50505050565b805182511460405180604001604052806002815260200161343960f01b81525090610c9c5760405162461bcd60e51b81526004016104a69190612519565b505f5b8251811015610c58575f610cb48260016126e8565b90505b8351811015610d4a57838181518110610cd257610cd261236c565b60200260200101516001600160a01b0316848381518110610cf557610cf561236c565b60200260200101516001600160a01b0316141560405180604001604052806002815260200161343960f01b81525090610d415760405162461bcd60e51b81526004016104a69190612519565b50600101610cb7565b50610da8845f858481518110610d6257610d6261236c565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f20838381518110610d9b57610d9b61236c565b6020026020010151611126565b600101610c9f565b5f81156113881983900484111517610dc6575f80fd5b506127109102611388010490565b5f6001600160801b03821115610e3c5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016104a6565b5090565b5f610e5c82604001518360200151610db090919063ffffffff16565b90505f818360200151610e6f91906126fb565b90505f8360200151845f0151610e8591906126e8565b90505f610e91866112cf565b9050610e9d868261149a565b6101008101516008870154610f3691610ebf916001600160801b0316906114f2565b826101e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f24919061252b565b610f2e91906126e8565b879085611533565b6101008201819052610f5290610f4d9086906115b7565b610dd4565b6008870180545f90610f6e9084906001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610faf818660600151845f8a6115f290949392919063ffffffff16565b60808501516101e08201516060870151610fd5926001600160a01b03909116918561190d565b6101e081015160808601516040516337ecbb3b60e11b81526001600160a01b0391821660048201819052602482015260448101859052911690636fd97676906064015f604051808303815f87803b15801561102e575f80fd5b505af1158015611040573d5f803e3d5ffd5b505050508460a0015161ffff1685606001516001600160a01b031686608001516001600160a01b03167fefefaba5e921573100900a3ad9cf29f222d995fb3b6045797eaea7521bd8d6f033895f01515f60028111156110a1576110a1612380565b8b602001516040516110b69493929190612671565b60405180910390a4505050505050565b5f60ff821115610e3c5760405162461bcd60e51b815260206004820152602560248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2038604482015264206269747360d81b60648201526084016104a6565b604080516020810190915282548082526710000000000000001615151560405180604001604052806002815260200161323960f01b8152509061117c5760405162461bcd60e51b81526004016104a69190612519565b50805167010000000000000016151560405180604001604052806002815260200161323760f01b815250906111c45760405162461bcd60e51b81526004016104a69190612519565b50805167800000000000000016151560405180604001604052806002815260200161393160f01b8152509061120c5760405162461bcd60e51b81526004016104a69190612519565b508051600160fc1b161580611296575081836004015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611293919061252b565b10155b60405180604001604052806002815260200161191b60f11b81525090610c585760405162461bcd60e51b81526004016104a69190612519565b6112d7611e16565b6112df611e16565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa1580156113ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f2919061252b565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa158015611443573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611467919061272e565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b90920416036114ba575050565b6114c482826119ac565b6114ce8282611a89565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f81156b019d971e4fe8401e740000001983900484111517611512575f80fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b60018301545f908190611580906001600160801b0316676765c793fa10079d601b1b61157061156188611be9565b61156a88611be9565b906115b7565b61157a91906126e8565b906114f2565b905061158b81610dd4565b6001860180546001600160801b0319166001600160801b039290921691909117905590505b9392505050565b5f8115676765c793fa10079d601b1b600284041904841117156115d8575f80fd5b50676765c793fa10079d601b1b9190910260028204010490565b61161960405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161162d916114f2565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e916116f491600401612775565b606060405180830381865afa15801561170f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061173391906127f7565b6040840152602083015280825261174990610dd4565b6001870180546001600160801b03928316600160801b029216919091179055602081015161177690610dd4565b6003870180546001600160801b0319166001600160801b039290921691909117905560408101516117a690610dd4565b6002870180546001600160801b03928316600160801b0292169190911790556040805160208101909152865481526117e49051600160fc1b16151590565b15611899578215611841576117f883610dd4565b60098701805460109061181c908490600160801b90046001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b81156118995761185082610dd4565b600987018054601090611874908490600160801b90046001600160801b03166123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af161194f573d5f803e3d5ffd5b5061195985611c03565b6119a55760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d0000000000000060448201526064016104a6565b5050505050565b61016081015115611a1a575f6119cc826101600151836102400151611ca6565b90506119e58260e00151826114f290919063ffffffff16565b61010083018190526119f690610dd4565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115611a85575f611a36826101800151836102400151611ceb565b9050611a50826101200151826114f290919063ffffffff16565b6101408301819052611a6190610dd4565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b611abc6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03611acd57505050565b6101208201518251611ade916114f2565b60208201526101408201518251611af4916114f2565b60408201526060820151610260830151610240840151611b1c92919064ffffffffff16611cf3565b606082018190526040830151611b31916114f2565b808252602082015160808401516040840151611b4d91906126e8565b611b5791906126fb565b611b6191906126fb565b608082018190526101a0830151611b789190610db0565b60a0820181905215611be457611ba3610f4d8361010001518360a001516115b790919063ffffffff16565b6008840180545f90611bbf9084906001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b633b9aca008181029081048214611bfe575f80fd5b919050565b5f611c25565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015611c645760208114611c9557611c5f7f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611c09565b611ca0565b823b611c8c57611c8c7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611c09565b60019150611ca0565b3d5f803e5f51151591505b50919050565b5f80611cb964ffffffffff8416426126fb565b611cc39085612822565b6301e1338090049050611ce181676765c793fa10079d601b1b6126e8565b9150505b92915050565b5f6115b08383425b5f80611d0664ffffffffff8516846126fb565b9050805f03611d2357676765c793fa10079d601b1b9150506115b0565b5f1981015f808060028511611d38575f611d3d565b600285035b925066038882915c4000611d518a806114f2565b81611d5e57611d5e612839565b0491506301e13380611d70838b6114f2565b81611d7d57611d7d612839565b0490505f82611d8c8688612822565b611d969190612822565b6002900490505f8285611da9888a612822565b611db39190612822565b611dbd9190612822565b60069004905080826301e13380611dd48a8f612822565b611dde919061284d565b611df390676765c793fa10079d601b1b6126e8565b611dfd91906126e8565b611e0791906126e8565b9b9a5050505050505050505050565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001611e8b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715611eeb57611eeb611eb3565b60405290565b60405160e0810167ffffffffffffffff81118282101715611eeb57611eeb611eb3565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f3d57611f3d611eb3565b604052919050565b6001600160a01b0381168114611f59575f80fd5b50565b8035611bfe81611f45565b5f67ffffffffffffffff821115611f8057611f80611eb3565b5060051b60200190565b5f82601f830112611f99575f80fd5b81356020611fae611fa983611f67565b611f14565b8083825260208201915060208460051b870101935086841115611fcf575f80fd5b602086015b84811015611ff4578035611fe781611f45565b8352918301918301611fd4565b509695505050505050565b5f82601f83011261200e575f80fd5b8135602061201e611fa983611f67565b8083825260208201915060208460051b87010193508684111561203f575f80fd5b602086015b84811015611ff45780358352918301918301612044565b5f82601f83011261206a575f80fd5b813567ffffffffffffffff81111561208457612084611eb3565b612097601f8201601f1916602001611f14565b8181528460208386010111156120ab575f80fd5b816020850160208301375f918101602001919091529392505050565b803561ffff81168114611bfe575f80fd5b803560ff81168114611bfe575f80fd5b8015158114611f59575f80fd5b8035611bfe816120e8565b5f805f805f60a08688031215612114575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff80821115612147575f80fd5b908701906101e0828a03121561215b575f80fd5b612163611ec7565b61216c83611f5c565b815260208301358281111561217f575f80fd5b61218b8b828601611f8a565b6020830152506040830135828111156121a2575f80fd5b6121ae8b828601611fff565b6040830152506060830135828111156121c5575f80fd5b6121d18b828601611fff565b6060830152506121e360808401611f5c565b608082015260a0830135828111156121f9575f80fd5b6122058b82860161205b565b60a08301525061221760c084016120c7565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101609150612257828401611f5c565b82820152610180915061226b828401611f5c565b828201526101a0915061227f8284016120d8565b828201526101c091506122938284016120f5565b828201528093505050509295509295909350565b5f80604083850312156122b8575f80fd5b82359150602083013567ffffffffffffffff808211156122d6575f80fd5b9084019060e082870312156122e9575f80fd5b6122f1611ef1565b6122fa83611f5c565b815261230860208401611f5c565b602082015260408301356040820152606083013582811115612328575f80fd5b6123348882860161205b565b606083015250612346608084016120c7565b608082015260a083013560a082015260c083013560c08201528093505050509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b6001600160801b038281168282160390808211156123c8576123c8612394565b5092915050565b5f600182016123e0576123e0612394565b5060010190565b5f815180845260208085019450602084015f5b83811015612416578151875295820195908201906001016123fa565b509495945050505050565b5f81518084525f5b8181101561244557602081850181015186830182015201612429565b505f602082860101526020601f19601f83011685010191505092915050565b60a080825286519082018190525f9060209060c0840190828a01845b828110156124a55781516001600160a01b031684529284019290840190600101612480565b50505083810360208501526124ba81896123e7565b91505082810360408401526124cf81876123e7565b6001600160a01b0386166060850152838103608085015290506124f28185612421565b98975050505050505050565b5f6020828403121561250e575f80fd5b81516115b0816120e8565b602081525f6115b06020830184612421565b5f6020828403121561253b575f80fd5b5051919050565b5f60208284031215612552575f80fd5b81516115b081611f45565b6003811061257957634e487b7160e01b5f52602160045260245ffd5b9052565b85815260208101859052604081018490526060810183905281516001600160a01b03166080820152610200810160208301516001600160a01b03811660a08401525060408301516001600160a01b03811660c084015250606083015160e083015260808301516101006125f28185018361255d565b60a0850151915061012061260b8186018461ffff169052565b60c086015192506101406126228187018515159052565b60e08701516101608781019190915292870151610180870152908601516001600160a01b039081166101a08701529086015160ff166101c0860152908501519081166101e08501529050611ff4565b6001600160a01b03851681526020810184905260808101612695604083018561255d565b82606083015295945050505050565b6001600160a01b03868116825260208201869052604082018590528316606082015260a0608082018190525f906126dd90830184612421565b979650505050505050565b80820180821115611ce557611ce5612394565b81810381811115611ce557611ce5612394565b6001600160801b038181168382160190808211156123c8576123c8612394565b5f805f8060808587031215612741575f80fd5b845193506020850151925060408501519150606085015164ffffffffff8116811461276a575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e08301516127d760e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215612809575f80fd5b8351925060208401519150604084015190509250925092565b8082028115828204841417611ce557611ce5612394565b634e487b7160e01b5f52601260045260245ffd5b5f8261286757634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220347a10409fa10aed1c7c663df78ec0314d1ba218f8888c5bdf40c377cb90785c64736f6c63430008160033', - methodIdentifiers: { - "executeFlashLoan(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.FlashloanParams)": "2e7263ea", - "executeFlashLoanSimple(DataTypes.ReserveData storage,DataTypes.FlashloanSimpleParams)": "a1fe0e8d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts b/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts deleted file mode 100644 index 70203be40..000000000 --- a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const GPv2SafeERC20: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=GPv2SafeERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts.map deleted file mode 100644 index fad7c1395..000000000 --- a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"GPv2SafeERC20.d.ts","sourceRoot":"","sources":["../src/GPv2SafeERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;cAEwQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.js b/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.js deleted file mode 100644 index ecbe251c3..000000000 --- a/packages/hyperdrive-artifacts/dist/GPv2SafeERC20.js +++ /dev/null @@ -1,5 +0,0 @@ -export const GPv2SafeERC20 = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207fd976204a67fe387dde0e3f5b91594a03bb9474ecded0f0cec5f31f49530ec764736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts b/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts deleted file mode 100644 index 8926aa02c..000000000 --- a/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const GenericLogic: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=GenericLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts.map deleted file mode 100644 index 8c7968afc..000000000 --- a/packages/hyperdrive-artifacts/dist/GenericLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"GenericLogic.d.ts","sourceRoot":"","sources":["../src/GenericLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;cAEyQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/GenericLogic.js b/packages/hyperdrive-artifacts/dist/GenericLogic.js deleted file mode 100644 index 47f345a0c..000000000 --- a/packages/hyperdrive-artifacts/dist/GenericLogic.js +++ /dev/null @@ -1,5 +0,0 @@ -export const GenericLogic = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212203216d6a937141bc98440dcdd944ec0c65652e17bc70b3418594ecdc84aa23c9064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Helpers.d.ts b/packages/hyperdrive-artifacts/dist/Helpers.d.ts deleted file mode 100644 index 10952ac38..000000000 --- a/packages/hyperdrive-artifacts/dist/Helpers.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const Helpers: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=Helpers.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Helpers.d.ts.map b/packages/hyperdrive-artifacts/dist/Helpers.d.ts.map deleted file mode 100644 index 942eed666..000000000 --- a/packages/hyperdrive-artifacts/dist/Helpers.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Helpers.d.ts","sourceRoot":"","sources":["../src/Helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Helpers.js b/packages/hyperdrive-artifacts/dist/Helpers.js deleted file mode 100644 index 6addd58cd..000000000 --- a/packages/hyperdrive-artifacts/dist/Helpers.js +++ /dev/null @@ -1,5 +0,0 @@ -export const Helpers = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220696d957db5182146bba93b0e3509553cedcf65a26663dfb9cf78d4a5c870740464736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts deleted file mode 100644 index 64072c0b3..000000000 --- a/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts +++ /dev/null @@ -1,1204 +0,0 @@ -export declare const Hyperdrive: { - abi: readonly [{ - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=Hyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts.map deleted file mode 100644 index 5eeb285e0..000000000 --- a/packages/hyperdrive-artifacts/dist/Hyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Hyperdrive.d.ts","sourceRoot":"","sources":["../src/Hyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA28CH,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Hyperdrive.js b/packages/hyperdrive-artifacts/dist/Hyperdrive.js deleted file mode 100644 index aeb09aae3..000000000 --- a/packages/hyperdrive-artifacts/dist/Hyperdrive.js +++ /dev/null @@ -1,1515 +0,0 @@ -export const Hyperdrive = { - abi: [ - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts deleted file mode 100644 index 114e38dd6..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveAdmin: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveAdmin.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts.map deleted file mode 100644 index f1fc95baf..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveAdmin.d.ts","sourceRoot":"","sources":["../src/HyperdriveAdmin.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBR,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.js b/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.js deleted file mode 100644 index 7ff4baab0..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveAdmin.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveAdmin = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts deleted file mode 100644 index 971e08faa..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts.map deleted file mode 100644 index 1cacd2076..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveBase.d.ts","sourceRoot":"","sources":["../src/HyperdriveBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveBase.js b/packages/hyperdrive-artifacts/dist/HyperdriveBase.js deleted file mode 100644 index 9789f3c1b..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts deleted file mode 100644 index 7c8173cbd..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveCheckpoint: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveCheckpoint.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts.map deleted file mode 100644 index 1c70eb272..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveCheckpoint.d.ts","sourceRoot":"","sources":["../src/HyperdriveCheckpoint.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBb,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.js b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.js deleted file mode 100644 index 8ea18f9dc..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpoint.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveCheckpoint = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts deleted file mode 100644 index f7b9d890e..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts +++ /dev/null @@ -1,174 +0,0 @@ -export declare const HyperdriveCheckpointRewarder: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_subrewarder"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "claimCheckpointReward"; - readonly inputs: readonly [{ - readonly name: "_claimant"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isTrader"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "subrewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSubrewarder"; - readonly inputs: readonly [{ - readonly name: "_subrewarder"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CheckpointRewardClaimed"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "claimant"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "isTrader"; - readonly type: "bool"; - readonly indexed: true; - readonly internalType: "bool"; - }, { - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "rewardToken"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "contract IERC20"; - }, { - readonly name: "rewardAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SubrewarderUpdated"; - readonly inputs: readonly [{ - readonly name: "subrewarder"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "claimCheckpointReward(address,uint256,bool)": "69114d4e"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "subrewarder()": "3d7f7b24"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateSubrewarder(address)": "9b06ae49"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveCheckpointRewarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts.map deleted file mode 100644 index 270042bb5..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveCheckpointRewarder.d.ts","sourceRoot":"","sources":["../src/HyperdriveCheckpointRewarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+Mi+H,KAAK,MAAM,EAAE;;;;;;;;;;;CAWthI,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.js b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.js deleted file mode 100644 index 4dcb85777..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointRewarder.js +++ /dev/null @@ -1,219 +0,0 @@ -export const HyperdriveCheckpointRewarder = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_subrewarder", - "type": "address", - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "claimCheckpointReward", - "inputs": [ - { - "name": "_claimant", - "type": "address", - "internalType": "address" - }, - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isTrader", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "subrewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSubrewarder", - "inputs": [ - { - "name": "_subrewarder", - "type": "address", - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CheckpointRewardClaimed", - "inputs": [ - { - "name": "instance", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "claimant", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "isTrader", - "type": "bool", - "indexed": true, - "internalType": "bool" - }, - { - "name": "checkpointTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "rewardToken", - "type": "address", - "indexed": false, - "internalType": "contract IERC20" - }, - { - "name": "rewardAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SubrewarderUpdated", - "inputs": [ - { - "name": "subrewarder", - "type": "address", - "indexed": true, - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506040516107fb3803806107fb83398101604081905261002e91610099565b60018054336001600160a01b031991821617909155600280549091166001600160a01b0383161790555f61006283826101f0565b5050506102af565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114610094575f80fd5b919050565b5f80604083850312156100aa575f80fd5b82516001600160401b03808211156100c0575f80fd5b818501915085601f8301126100d3575f80fd5b8151818111156100e5576100e561006a565b604051601f8201601f19908116603f0116810190838211818310171561010d5761010d61006a565b81604052828152602093508884848701011115610128575f80fd5b5f91505b82821015610149578482018401518183018501529083019061012c565b5f84848301015280965050505061016181860161007e565b925050509250929050565b600181811c9082168061018057607f821691505b60208210810361019e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101eb57805f5260205f20601f840160051c810160208510156101c95750805b601f840160051c820191505b818110156101e8575f81556001016101d5565b50505b505050565b81516001600160401b038111156102095761020961006a565b61021d81610217845461016c565b846101a4565b602080601f831160018114610250575f84156102395750858301515b5f19600386901b1c1916600185901b1785556102a7565b5f85815260208120601f198616915b8281101561027e5788860151825594840194600190910190840161025f565b508582101561029b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b61053f806102bc5f395ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c806369114d4e1161005857806369114d4e146101345780639b06ae4914610149578063e2f273bd1461015c578063f851a4401461016f575f80fd5b806304baa00b1461008957806306fdde03146100db5780633d7f7b24146100e357806354fd4d501461010e575b5f80fd5b6100c56040518060400160405280601c81526020017f48797065726472697665436865636b706f696e7452657761726465720000000081525081565b6040516100d291906103dd565b60405180910390f35b6100c5610182565b6002546100f6906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100c560405180604001604052806007815260200166076312e302e32360cc1b81525081565b610147610142366004610440565b61020d565b005b610147610157366004610483565b6102f7565b61014761016a366004610483565b61036a565b6001546100f6906001600160a01b031681565b5f805461018e906104a5565b80601f01602080910402602001604051908101604052809291908181526020018280546101ba906104a5565b80156102055780601f106101dc57610100808354040283529160200191610205565b820191905f5260205f20905b8154815290600101906020018083116101e857829003601f168201915b505050505081565b60025460405163e9f4604160e01b81523360048201526001600160a01b0385811660248301526044820185905283151560648301525f92839291169063e9f460419060840160408051808303815f875af115801561026d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061029191906104dd565b909250905080156102f057604080518581526001600160a01b0384811660208301529181018390528415159187169033907f458cb4864d237cf3ef21835340aeec96759e685bd06793180e8cf7a7cd69cd5e9060600160405180910390a45b5050505050565b6001546001600160a01b03163314610321576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f4a847489062ccada272e291a747bfecff5d74ded500da0a156faca0bd8394dc6905f90a250565b6001546001600160a01b03163314610394576040516282b42960e81b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b5f602080835283518060208501525f5b81811015610409578581018301518582016040015282016103ed565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461043d575f80fd5b50565b5f805f60608486031215610452575f80fd5b833561045d81610429565b92506020840135915060408401358015158114610478575f80fd5b809150509250925092565b5f60208284031215610493575f80fd5b813561049e81610429565b9392505050565b600181811c908216806104b957607f821691505b6020821081036104d757634e487b7160e01b5f52602260045260245ffd5b50919050565b5f80604083850312156104ee575f80fd5b82516104f981610429565b602093909301519294929350505056fea26469706673582212209883b177773d0f7ac2191c2fef31721ffed01848dae9984a91967ab2106bb24764736f6c63430008160033', - methodIdentifiers: { - "admin()": "f851a440", - "claimCheckpointReward(address,uint256,bool)": "69114d4e", - "kind()": "04baa00b", - "name()": "06fdde03", - "subrewarder()": "3d7f7b24", - "updateAdmin(address)": "e2f273bd", - "updateSubrewarder(address)": "9b06ae49", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts deleted file mode 100644 index 213e514eb..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts +++ /dev/null @@ -1,338 +0,0 @@ -export declare const HyperdriveCheckpointSubrewarder: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_rewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_source"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_registry"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveRegistry"; - }, { - readonly name: "_rewardToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_minterRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_traderRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minterRewardAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "processReward"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_claimant"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isTrader"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "registry"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "source"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "traderRewardAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinterRewardAmount"; - readonly inputs: readonly [{ - readonly name: "_minterRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateRegistry"; - readonly inputs: readonly [{ - readonly name: "_registry"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateRewardToken"; - readonly inputs: readonly [{ - readonly name: "_rewardToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSource"; - readonly inputs: readonly [{ - readonly name: "_source"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateTraderRewardAmount"; - readonly inputs: readonly [{ - readonly name: "_traderRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinterRewardAmountUpdated"; - readonly inputs: readonly [{ - readonly name: "minterRewardAmount"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RegistryUpdated"; - readonly inputs: readonly [{ - readonly name: "registry"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RewardTokenUpdated"; - readonly inputs: readonly [{ - readonly name: "rewardToken"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IERC20"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SourceUpdated"; - readonly inputs: readonly [{ - readonly name: "source"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TraderRewardAmountUpdated"; - readonly inputs: readonly [{ - readonly name: "traderRewardAmount"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "kind()": "04baa00b"; - readonly "minterRewardAmount()": "62498576"; - readonly "name()": "06fdde03"; - readonly "processReward(address,address,uint256,bool)": "e9f46041"; - readonly "registry()": "7b103999"; - readonly "rewardToken()": "f7c618c1"; - readonly "rewarder()": "dcc3e06e"; - readonly "source()": "67e828bf"; - readonly "traderRewardAmount()": "5b338e07"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateMinterRewardAmount(uint256)": "2057b1c7"; - readonly "updateRegistry(address)": "1a5da6c8"; - readonly "updateRewardToken(address)": "f8cf31cb"; - readonly "updateSource(address)": "f24bab65"; - readonly "updateTraderRewardAmount(uint256)": "9183219f"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveCheckpointSubrewarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts.map deleted file mode 100644 index d086b6018..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveCheckpointSubrewarder.d.ts","sourceRoot":"","sources":["../src/HyperdriveCheckpointSubrewarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4Z85Q,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBt9Q,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.js b/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.js deleted file mode 100644 index 8a5b1efa0..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveCheckpointSubrewarder.js +++ /dev/null @@ -1,433 +0,0 @@ -export const HyperdriveCheckpointSubrewarder = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_rewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "_source", - "type": "address", - "internalType": "address" - }, - { - "name": "_registry", - "type": "address", - "internalType": "contract IHyperdriveRegistry" - }, - { - "name": "_rewardToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_minterRewardAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_traderRewardAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minterRewardAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "processReward", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - }, - { - "name": "_claimant", - "type": "address", - "internalType": "address" - }, - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isTrader", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "registry", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdriveRegistry" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "source", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "traderRewardAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinterRewardAmount", - "inputs": [ - { - "name": "_minterRewardAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateRegistry", - "inputs": [ - { - "name": "_registry", - "type": "address", - "internalType": "contract IHyperdriveRegistry" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateRewardToken", - "inputs": [ - { - "name": "_rewardToken", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSource", - "inputs": [ - { - "name": "_source", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateTraderRewardAmount", - "inputs": [ - { - "name": "_traderRewardAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinterRewardAmountUpdated", - "inputs": [ - { - "name": "minterRewardAmount", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RegistryUpdated", - "inputs": [ - { - "name": "registry", - "type": "address", - "indexed": true, - "internalType": "contract IHyperdriveRegistry" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RewardTokenUpdated", - "inputs": [ - { - "name": "rewardToken", - "type": "address", - "indexed": true, - "internalType": "contract IERC20" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SourceUpdated", - "inputs": [ - { - "name": "source", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TraderRewardAmountUpdated", - "inputs": [ - { - "name": "traderRewardAmount", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x60a060405234801562000010575f80fd5b50604051620010db380380620010db8339810160408190526200003391620000d3565b5f62000040888262000286565b50600180546001600160a01b031990811633179091556001600160a01b0396871660805260028054968816968216969096179095556003805494871694861694909417909355600480549290951691909316179092556005556006555062000352565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000ce575f80fd5b919050565b5f805f805f805f60e0888a031215620000ea575f80fd5b87516001600160401b038082111562000101575f80fd5b818a0191508a601f83011262000115575f80fd5b8151818111156200012a576200012a620000a3565b604051601f8201601f19908116603f01168101908382118183101715620001555762000155620000a3565b81604052828152602093508d8484870101111562000171575f80fd5b5f91505b8282101562000194578482018401518183018501529083019062000175565b5f848483010152809b50505050620001ae818b01620000b7565b97505050620001c060408901620000b7565b9450620001d060608901620000b7565b9350620001e060808901620000b7565b925060a0880151915060c0880151905092959891949750929550565b600181811c908216806200021157607f821691505b6020821081036200023057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028157805f5260205f20601f840160051c810160208510156200025d5750805b601f840160051c820191505b818110156200027e575f815560010162000269565b50505b505050565b81516001600160401b03811115620002a257620002a2620000a3565b620002ba81620002b38454620001fc565b8462000236565b602080601f831160018114620002f0575f8415620002d85750858301515b5f19600386901b1c1916600185901b1785556200034a565b5f85815260208120601f198616915b828110156200032057888601518255948401946001909101908401620002ff565b50858210156200033e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b608051610d69620003725f395f818161022801526105110152610d695ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c80637b1039991161009e578063e9f460411161006e578063e9f460411461025d578063f24bab651461028f578063f7c618c1146102a2578063f851a440146102b5578063f8cf31cb146102c8575f80fd5b80637b103999146101fd5780639183219f14610210578063dcc3e06e14610223578063e2f273bd1461024a575f80fd5b806354fd4d50116100d957806354fd4d501461018c5780635b338e07146101b257806362498576146101c957806367e828bf146101d2575f80fd5b806304baa00b1461010a57806306fdde031461015c5780631a5da6c8146101645780632057b1c714610179575b5f80fd5b6101466040518060400160405280601f81526020017f48797065726472697665436865636b706f696e7453756272657761726465720081525081565b604051610153919061099e565b60405180910390f35b6101466102db565b6101776101723660046109e4565b610366565b005b6101776101873660046109ff565b6103d9565b61014660405180604001604052806007815260200166076312e302e32360cc1b81525081565b6101bb60065481565b604051908152602001610153565b6101bb60055481565b6002546101e5906001600160a01b031681565b6040516001600160a01b039091168152602001610153565b6003546101e5906001600160a01b031681565b61017761021e3660046109ff565b610435565b6101e57f000000000000000000000000000000000000000000000000000000000000000081565b6101776102583660046109e4565b610491565b61027061026b366004610a23565b610504565b604080516001600160a01b039093168352602083019190915201610153565b61017761029d3660046109e4565b6106a6565b6004546101e5906001600160a01b031681565b6001546101e5906001600160a01b031681565b6101776102d63660046109e4565b610719565b5f80546102e790610a73565b80601f016020809104026020016040519081016040528092919081815260200182805461031390610a73565b801561035e5780601f106103355761010080835404028352916020019161035e565b820191905f5260205f20905b81548152906001019060200180831161034157829003601f168201915b505050505081565b6001546001600160a01b03163314610390576040516282b42960e81b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd905f90a250565b6001546001600160a01b03163314610403576040516282b42960e81b815260040160405180910390fd5b600581905560405181907faa8ae98398382187f26cba5014456be39e5486e84a5347fc41a234a6c4f03d25905f90a250565b6001546001600160a01b0316331461045f576040516282b42960e81b815260040160405180910390fd5b600681905560405181907fcbfc476043808accf425b48e528723c20dfc23e022fc8b6b63247ba91f9ee396905f90a250565b6001546001600160a01b031633146104bb576040516282b42960e81b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b5f80336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461054e576040516282b42960e81b815260040160405180910390fd5b5f60045f9054906101000a90046001600160a01b031690506105d542886001600160a01b031663b0d965806040518163ffffffff1660e01b815260040161026060405180830381865afa1580156105a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105cb9190610b61565b610120015161078c565b85146105e55791505f905061069d565b60035460405163062eced560e21b81526001600160a01b038981166004830152909116906318bb3b54906024016040805180830381865afa15801561062c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106509190610c5f565b516001146106625791505f905061069d565b5f8461067057600554610674565b6006545b9050801561069757600254610697906001600160a01b03848116911689846107aa565b90925090505b94509492505050565b6001546001600160a01b031633146106d0576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517ff2d025ce2c36cbd78cd7a2dd4607f7c5ef6b207ee59dfceb74aa73b80c1c53ae905f90a250565b6001546001600160a01b03163314610743576040516282b42960e81b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fa5289ba11778999f4dfb9415023783188d42bbb5db0612cbfbe55999069612a0905f90a250565b5f6107978284610cbf565b6107a19084610cde565b90505b92915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261080490859061080a565b50505050565b5f61081e6001600160a01b03841683610875565b905080515f141580156108425750808060200190518101906108409190610cfd565b155b1561087057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606107a183835f845f80856001600160a01b031684866040516108999190610d18565b5f6040518083038185875af1925050503d805f81146108d3576040519150601f19603f3d011682016040523d82523d5f602084013e6108d8565b606091505b50915091506108e88683836108f4565b925050505b9392505050565b6060826109095761090482610950565b6108ed565b815115801561092057506001600160a01b0384163b155b1561094957604051639996b31560e01b81526001600160a01b0385166004820152602401610867565b50806108ed565b8051156109605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5f5b8381101561099657818101518382015260200161097e565b50505f910152565b602081525f82518060208401526109bc81604085016020870161097c565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610979575f80fd5b5f602082840312156109f4575f80fd5b81356108ed816109d0565b5f60208284031215610a0f575f80fd5b5035919050565b8015158114610979575f80fd5b5f805f8060808587031215610a36575f80fd5b8435610a41816109d0565b93506020850135610a51816109d0565b9250604085013591506060850135610a6881610a16565b939692955090935050565b600181811c90821680610a8757607f821691505b602082108103610aa557634e487b7160e01b5f52602260045260245ffd5b50919050565b604051610200810167ffffffffffffffff81118282101715610adb57634e487b7160e01b5f52604160045260245ffd5b60405290565b8051610aec816109d0565b919050565b5f60808284031215610b01575f80fd5b6040516080810181811067ffffffffffffffff82111715610b3057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215610b72575f80fd5b610b7a610aab565b610b8383610ae1565b8152610b9160208401610ae1565b6020820152610ba260408401610ae1565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100808401518183015250610120808401518183015250610140808401518183015250610160610c0b818501610ae1565b90820152610180610c1d848201610ae1565b908201526101a0610c2f848201610ae1565b908201526101c0610c41848201610ae1565b908201526101e0610c5485858301610af1565b908201529392505050565b5f60408284031215610c6f575f80fd5b6040516040810181811067ffffffffffffffff82111715610c9e57634e487b7160e01b5f52604160045260245ffd5b604052825181526020830151610cb3816109d0565b60208201529392505050565b5f82610cd957634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156107a457634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610d0d575f80fd5b81516108ed81610a16565b5f8251610d2981846020870161097c565b919091019291505056fea2646970667358221220f4b1145022da47caf294d648d4347ec3f42c6c13cdaae0c32add7e23800bc40264736f6c63430008160033', - methodIdentifiers: { - "admin()": "f851a440", - "kind()": "04baa00b", - "minterRewardAmount()": "62498576", - "name()": "06fdde03", - "processReward(address,address,uint256,bool)": "e9f46041", - "registry()": "7b103999", - "rewardToken()": "f7c618c1", - "rewarder()": "dcc3e06e", - "source()": "67e828bf", - "traderRewardAmount()": "5b338e07", - "updateAdmin(address)": "e2f273bd", - "updateMinterRewardAmount(uint256)": "2057b1c7", - "updateRegistry(address)": "1a5da6c8", - "updateRewardToken(address)": "f8cf31cb", - "updateSource(address)": "f24bab65", - "updateTraderRewardAmount(uint256)": "9183219f", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 814be110d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,526 +0,0 @@ -export declare const HyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 2d305dd89..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/HyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyoBtB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;CAkBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.js deleted file mode 100644 index 84e1226aa..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,668 +0,0 @@ -export const HyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts deleted file mode 100644 index 3b7f155a9..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts +++ /dev/null @@ -1,1675 +0,0 @@ -export declare const HyperdriveFactory: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_factoryConfig"; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveFactory.FactoryConfig"; - readonly components: readonly [{ - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deployerCoordinatorManager"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "hyperdriveGovernance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "defaultPausers"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointDurationResolution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "maxFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - }, { - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "_instancesToDeployerCoordinators"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "deployCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpointDurationResolution"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "checkpointRewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "defaultPausers"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployAndInitialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployerCoordinatorManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorByInstances"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "coordinators"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorsInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "range"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstancesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "range"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfDeployerCoordinators"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfInstances"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "governance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "hyperdriveGovernance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isInstance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "linkerCodeHash"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "linkerFactory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxCheckpointDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxCircuitBreakerDelta"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxFixedAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxPositionDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxTimeStretchAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minCheckpointDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minCircuitBreakerDelta"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minFixedAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minPositionDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minTimeStretchAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "removeDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweepCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateCheckpointDurationResolution"; - readonly inputs: readonly [{ - readonly name: "_checkpointDurationResolution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateCheckpointRewarder"; - readonly inputs: readonly [{ - readonly name: "_checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateDefaultPausers"; - readonly inputs: readonly [{ - readonly name: "_defaultPausers_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateDeployerCoordinatorManager"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinatorManager"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFeeCollector"; - readonly inputs: readonly [{ - readonly name: "_feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateGovernance"; - readonly inputs: readonly [{ - readonly name: "_governance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateHyperdriveGovernance"; - readonly inputs: readonly [{ - readonly name: "_hyperdriveGovernance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLinkerCodeHash"; - readonly inputs: readonly [{ - readonly name: "_linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLinkerFactory"; - readonly inputs: readonly [{ - readonly name: "_linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxCheckpointDuration"; - readonly inputs: readonly [{ - readonly name: "_maxCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxCircuitBreakerDelta"; - readonly inputs: readonly [{ - readonly name: "_maxCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxFees"; - readonly inputs: readonly [{ - readonly name: "__maxFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxFixedAPR"; - readonly inputs: readonly [{ - readonly name: "_maxFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxPositionDuration"; - readonly inputs: readonly [{ - readonly name: "_maxPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxTimeStretchAPR"; - readonly inputs: readonly [{ - readonly name: "_maxTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinCheckpointDuration"; - readonly inputs: readonly [{ - readonly name: "_minCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinCircuitBreakerDelta"; - readonly inputs: readonly [{ - readonly name: "_minCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinFees"; - readonly inputs: readonly [{ - readonly name: "__minFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinFixedAPR"; - readonly inputs: readonly [{ - readonly name: "_minFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinPositionDuration"; - readonly inputs: readonly [{ - readonly name: "_minPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinTimeStretchAPR"; - readonly inputs: readonly [{ - readonly name: "_minTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSweepCollector"; - readonly inputs: readonly [{ - readonly name: "_sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "CheckpointDurationResolutionUpdated"; - readonly inputs: readonly [{ - readonly name: "newCheckpointDurationResolution"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CheckpointRewarderUpdated"; - readonly inputs: readonly [{ - readonly name: "newCheckpointRewarder"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DefaultPausersUpdated"; - readonly inputs: readonly [{ - readonly name: "newDefaultPausers"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deployed"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "config"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorAdded"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorManagerUpdated"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinatorManager"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorRemoved"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FeeCollectorUpdated"; - readonly inputs: readonly [{ - readonly name: "newFeeCollector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "GovernanceUpdated"; - readonly inputs: readonly [{ - readonly name: "governance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "HyperdriveGovernanceUpdated"; - readonly inputs: readonly [{ - readonly name: "hyperdriveGovernance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LinkerCodeHashUpdated"; - readonly inputs: readonly [{ - readonly name: "newLinkerCodeHash"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LinkerFactoryUpdated"; - readonly inputs: readonly [{ - readonly name: "newLinkerFactory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxCheckpointDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxCheckpointDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxCircuitBreakerDeltaUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxCircuitBreakerDelta"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxFeesUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxFees"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxFixedAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxFixedAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxPositionDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxPositionDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxTimeStretchAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxTimeStretchAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinCheckpointDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinCheckpointDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinCircuitBreakerDeltaUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinCircuitBreakerDelta"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinFeesUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinFees"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinFixedAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinFixedAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinPositionDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinPositionDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinTimeStretchAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinTimeStretchAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SweepCollectorUpdated"; - readonly inputs: readonly [{ - readonly name: "newSweepCollector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorAlreadyAdded"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorIndexMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorNotAdded"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "EndIndexTooLarge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDurationResolution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidDeployConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidDeployerCoordinator"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidIndexes"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReceiveLocked"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "_instancesToDeployerCoordinators(address)": "2b58f418"; - readonly "addDeployerCoordinator(address)": "421caba8"; - readonly "checkpointDurationResolution()": "d0f96b92"; - readonly "checkpointRewarder()": "f2596458"; - readonly "defaultPausers()": "a64c90bf"; - readonly "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971"; - readonly "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7"; - readonly "deployerCoordinatorManager()": "e4e7148f"; - readonly "feeCollector()": "c415b95c"; - readonly "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb"; - readonly "getDeployerCoordinatorByInstances(address[])": "1b59be0c"; - readonly "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11"; - readonly "getInstanceAtIndex(uint256)": "daac24da"; - readonly "getInstancesInRange(uint256,uint256)": "bc30e7a1"; - readonly "getNumberOfDeployerCoordinators()": "e1b39c80"; - readonly "getNumberOfInstances()": "6e95d67c"; - readonly "governance()": "5aa6e675"; - readonly "hyperdriveGovernance()": "e3331555"; - readonly "isDeployerCoordinator(address)": "f8c09e59"; - readonly "isInstance(address)": "6b44e6be"; - readonly "kind()": "04baa00b"; - readonly "linkerCodeHash()": "c905a4b5"; - readonly "linkerFactory()": "99623bb1"; - readonly "maxCheckpointDuration()": "e0e2daaa"; - readonly "maxCircuitBreakerDelta()": "4554f9a9"; - readonly "maxFees()": "e83e34b1"; - readonly "maxFixedAPR()": "bf9bd5cd"; - readonly "maxPositionDuration()": "8efc0986"; - readonly "maxTimeStretchAPR()": "48800760"; - readonly "minCheckpointDuration()": "5720c9d5"; - readonly "minCircuitBreakerDelta()": "1ecda0fe"; - readonly "minFees()": "c1722563"; - readonly "minFixedAPR()": "d23d7ea3"; - readonly "minPositionDuration()": "daf012e6"; - readonly "minTimeStretchAPR()": "d6f50169"; - readonly "name()": "06fdde03"; - readonly "removeDeployerCoordinator(address,uint256)": "411c3035"; - readonly "sweepCollector()": "10780f73"; - readonly "updateCheckpointDurationResolution(uint256)": "11e77bfe"; - readonly "updateCheckpointRewarder(address)": "3e2d2014"; - readonly "updateDefaultPausers(address[])": "9af25262"; - readonly "updateDeployerCoordinatorManager(address)": "a98a46db"; - readonly "updateFeeCollector(address)": "d2c35ce8"; - readonly "updateGovernance(address)": "b2561263"; - readonly "updateHyperdriveGovernance(address)": "dd2b8fbb"; - readonly "updateLinkerCodeHash(bytes32)": "4fbfee77"; - readonly "updateLinkerFactory(address)": "85229785"; - readonly "updateMaxCheckpointDuration(uint256)": "6f6d5c4a"; - readonly "updateMaxCircuitBreakerDelta(uint256)": "84c19aab"; - readonly "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac"; - readonly "updateMaxFixedAPR(uint256)": "97b0e8ce"; - readonly "updateMaxPositionDuration(uint256)": "eb71f66c"; - readonly "updateMaxTimeStretchAPR(uint256)": "628027a3"; - readonly "updateMinCheckpointDuration(uint256)": "8e127cf5"; - readonly "updateMinCircuitBreakerDelta(uint256)": "2907d3dd"; - readonly "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e"; - readonly "updateMinFixedAPR(uint256)": "1978ebcf"; - readonly "updateMinPositionDuration(uint256)": "e71f34b3"; - readonly "updateMinTimeStretchAPR(uint256)": "83b361e8"; - readonly "updateSweepCollector(address)": "8627a4f0"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveFactory.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts.map deleted file mode 100644 index 3d92f379b..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveFactory.d.ts","sourceRoot":"","sources":["../src/HyperdriveFactory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6hE0hgC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEpkgC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.js b/packages/hyperdrive-artifacts/dist/HyperdriveFactory.js deleted file mode 100644 index a317635aa..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveFactory.js +++ /dev/null @@ -1,2142 +0,0 @@ -export const HyperdriveFactory = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_factoryConfig", - "type": "tuple", - "internalType": "struct HyperdriveFactory.FactoryConfig", - "components": [ - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "deployerCoordinatorManager", - "type": "address", - "internalType": "address" - }, - { - "name": "hyperdriveGovernance", - "type": "address", - "internalType": "address" - }, - { - "name": "defaultPausers", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointDurationResolution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minPositionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPositionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minFixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxFixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "maxFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ] - }, - { - "name": "_name", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "_instancesToDeployerCoordinators", - "inputs": [ - { - "name": "instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "deployCoordinator", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addDeployerCoordinator", - "inputs": [ - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpointDurationResolution", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "checkpointRewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "defaultPausers", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployAndInitialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdrive" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployerCoordinatorManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorByInstances", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "coordinators", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorsInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "range", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstancesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "range", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfDeployerCoordinators", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfInstances", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "governance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "hyperdriveGovernance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDeployerCoordinator", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isInstance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "linkerCodeHash", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "linkerFactory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxCheckpointDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxCircuitBreakerDelta", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxFixedAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxPositionDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxTimeStretchAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minCheckpointDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minCircuitBreakerDelta", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minFixedAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minPositionDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minTimeStretchAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "removeDeployerCoordinator", - "inputs": [ - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweepCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateCheckpointDurationResolution", - "inputs": [ - { - "name": "_checkpointDurationResolution", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateCheckpointRewarder", - "inputs": [ - { - "name": "_checkpointRewarder", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateDefaultPausers", - "inputs": [ - { - "name": "_defaultPausers_", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateDeployerCoordinatorManager", - "inputs": [ - { - "name": "_deployerCoordinatorManager", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFeeCollector", - "inputs": [ - { - "name": "_feeCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateGovernance", - "inputs": [ - { - "name": "_governance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateHyperdriveGovernance", - "inputs": [ - { - "name": "_hyperdriveGovernance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLinkerCodeHash", - "inputs": [ - { - "name": "_linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLinkerFactory", - "inputs": [ - { - "name": "_linkerFactory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxCheckpointDuration", - "inputs": [ - { - "name": "_maxCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxCircuitBreakerDelta", - "inputs": [ - { - "name": "_maxCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxFees", - "inputs": [ - { - "name": "__maxFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxFixedAPR", - "inputs": [ - { - "name": "_maxFixedAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxPositionDuration", - "inputs": [ - { - "name": "_maxPositionDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxTimeStretchAPR", - "inputs": [ - { - "name": "_maxTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinCheckpointDuration", - "inputs": [ - { - "name": "_minCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinCircuitBreakerDelta", - "inputs": [ - { - "name": "_minCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinFees", - "inputs": [ - { - "name": "__minFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinFixedAPR", - "inputs": [ - { - "name": "_minFixedAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinPositionDuration", - "inputs": [ - { - "name": "_minPositionDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinTimeStretchAPR", - "inputs": [ - { - "name": "_minTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSweepCollector", - "inputs": [ - { - "name": "_sweepCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "CheckpointDurationResolutionUpdated", - "inputs": [ - { - "name": "newCheckpointDurationResolution", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CheckpointRewarderUpdated", - "inputs": [ - { - "name": "newCheckpointRewarder", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DefaultPausersUpdated", - "inputs": [ - { - "name": "newDefaultPausers", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deployed", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "hyperdrive", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "config", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorAdded", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorManagerUpdated", - "inputs": [ - { - "name": "deployerCoordinatorManager", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorRemoved", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FeeCollectorUpdated", - "inputs": [ - { - "name": "newFeeCollector", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "GovernanceUpdated", - "inputs": [ - { - "name": "governance", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "HyperdriveGovernanceUpdated", - "inputs": [ - { - "name": "hyperdriveGovernance", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LinkerCodeHashUpdated", - "inputs": [ - { - "name": "newLinkerCodeHash", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LinkerFactoryUpdated", - "inputs": [ - { - "name": "newLinkerFactory", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxCheckpointDurationUpdated", - "inputs": [ - { - "name": "newMaxCheckpointDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxCircuitBreakerDeltaUpdated", - "inputs": [ - { - "name": "newMaxCircuitBreakerDelta", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxFeesUpdated", - "inputs": [ - { - "name": "newMaxFees", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxFixedAPRUpdated", - "inputs": [ - { - "name": "newMaxFixedAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxPositionDurationUpdated", - "inputs": [ - { - "name": "newMaxPositionDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxTimeStretchAPRUpdated", - "inputs": [ - { - "name": "newMaxTimeStretchAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinCheckpointDurationUpdated", - "inputs": [ - { - "name": "newMinCheckpointDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinCircuitBreakerDeltaUpdated", - "inputs": [ - { - "name": "newMinCircuitBreakerDelta", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinFeesUpdated", - "inputs": [ - { - "name": "newMinFees", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinFixedAPRUpdated", - "inputs": [ - { - "name": "newMinFixedAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinPositionDurationUpdated", - "inputs": [ - { - "name": "newMinPositionDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinTimeStretchAPRUpdated", - "inputs": [ - { - "name": "newMinTimeStretchAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SweepCollectorUpdated", - "inputs": [ - { - "name": "newSweepCollector", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DeployerCoordinatorAlreadyAdded", - "inputs": [] - }, - { - "type": "error", - "name": "DeployerCoordinatorIndexMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "DeployerCoordinatorNotAdded", - "inputs": [] - }, - { - "type": "error", - "name": "EndIndexTooLarge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDurationResolution", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidDeployConfig", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidDeployerCoordinator", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidIndexes", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "ReceiveLocked", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x6080604052600260015534801562000015575f80fd5b5060405162004012380380620040128339810160408190526200003891620006f6565b5f6200004582826200094e565b508160e0015182610100015110806200007357508160e0015182610100015162000070919062000a1a565b15155b156200009257604051630219d66360e11b815260040160405180910390fd5b610100820151600b8190556101208301511080620000c557508160e00151826101200151620000c2919062000a1a565b15155b15620000e45760405163f9c0959d60e01b815260040160405180910390fd5b610120820151600c81905561014083015110806200011757508160e0015182610140015162000114919062000a1a565b15155b156200013657604051633007ad0160e11b815260040160405180910390fd5b610140820151600d81905561016083015110806200016957508160e0015182610160015162000166919062000a1a565b15155b15620001885760405163cfb699cb60e01b815260040160405180910390fd5b610160820151600e556101a08201516101808301511115620001bd5760405163ef9bc65f60e01b815260040160405180910390fd5b610180820151600f556101a08201516010556101e08201516101c08301511115620001fb576040516330554de160e01b815260040160405180910390fd5b6101c08201516011556101e0820151601255610220820151610200830151111562000239576040516383ebdfb760e01b815260040160405180910390fd5b61020082015160135561022082015160145561026082015151670de0b6b3a76400001080620002785750670de0b6b3a764000082610260015160200151115b80620002945750670de0b6b3a764000082610260015160400151115b80620002b05750670de0b6b3a764000082610260015160600151115b15620002cf5760405163161071fb60e11b815260040160405180910390fd5b610260820151805160198190556020820151601a556040820151601b55606090910151601c556102408301515111806200031a57508161026001516020015182610240015160200151115b806200033757508161026001516040015182610240015160400151115b806200035457508161026001516060015182610240015160600151115b1562000373576040516315b05a8f60e01b815260040160405180910390fd5b61024082015180516015556020808201516016556040808301516017556060928301516018558451600280546001600160a01b03199081166001600160a01b03938416179091558387015160038054831691841691909117905591860151600480548416918316919091179055608086015160078054841691831691909117905560a086015160088054841691831691909117905560c08601516009805490931691161790559083015180516200042f92601d9201906200046c565b5050610280810151600580546001600160a01b0319166001600160a01b039092169190911790556102a081015160065560e00151600a5562000a3a565b828054828255905f5260205f20908101928215620004c2579160200282015b82811115620004c257825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200048b565b50620004d0929150620004d4565b5090565b5b80821115620004d0575f8155600101620004d5565b634e487b7160e01b5f52604160045260245ffd5b6040516102c081016001600160401b0381118282101715620005245762000524620004ea565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005555762000555620004ea565b604052919050565b80516001600160a01b038116811462000574575f80fd5b919050565b5f82601f83011262000589575f80fd5b815160206001600160401b03821115620005a757620005a7620004ea565b8160051b620005b88282016200052a565b9283528481018201928281019087851115620005d2575f80fd5b83870192505b84831015620005fc57620005ec836200055d565b82529183019190830190620005d8565b979650505050505050565b5f6080828403121562000618575f80fd5b604051608081016001600160401b03811182821017156200063d576200063d620004ea565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f82601f8301126200067e575f80fd5b81516001600160401b038111156200069a576200069a620004ea565b6020620006b0601f8301601f191682016200052a565b8281528582848701011115620006c4575f80fd5b5f5b83811015620006e3578581018301518282018401528201620006c6565b505f928101909101919091529392505050565b5f806040838503121562000708575f80fd5b82516001600160401b03808211156200071f575f80fd5b90840190610380828703121562000734575f80fd5b6200073e620004fe565b62000749836200055d565b815262000759602084016200055d565b60208201526200076c604084016200055d565b604082015260608301518281111562000783575f80fd5b620007918882860162000579565b606083015250620007a5608084016200055d565b6080820152620007b860a084016200055d565b60a0820152620007cb60c084016200055d565b60c082015260e08381015190820152610100808401519082015261012080840151908201526101408084015190820152610160808401519082015261018080840151908201526101a080840151908201526101c080840151908201526101e0808401519082015261020080840151908201526102208084015190820152610240620008598882860162000607565b908201526200086d876102c0850162000607565b6102608201526200088261034084016200055d565b61028082015261036092909201516102a0830152602085015191935080821115620008ab575f80fd5b50620008ba858286016200066e565b9150509250929050565b600181811c90821680620008d957607f821691505b602082108103620008f857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200094957805f5260205f20601f840160051c81016020851015620009255750805b601f840160051c820191505b8181101562000946575f815560010162000931565b50505b505050565b81516001600160401b038111156200096a576200096a620004ea565b62000982816200097b8454620008c4565b84620008fe565b602080601f831160018114620009b8575f8415620009a05750858301515b5f19600386901b1c1916600185901b17855562000a12565b5f85815260208120601f198616915b82811015620009e857888601518255948401946001909101908401620009c7565b508582101562000a0657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8262000a3557634e487b7160e01b5f52601260045260245ffd5b500690565b6135ca8062000a485f395ff3fe608060405260043610610395575f3560e01c80638e127cf5116101de578063d2c35ce811610108578063e4e7148f1161009d578063ec895f111161006d578063ec895f1114610a9d578063f259645814610abc578063f8c09e5914610adb578063fe3d5aeb14610b09575f80fd5b8063e4e7148f14610a2c578063e71f34b314610a4b578063e83e34b114610a6a578063eb71f66c14610a7e575f80fd5b8063dd2b8fbb116100d8578063dd2b8fbb146109c5578063e0e2daaa146109e4578063e1b39c80146109f9578063e333155514610a0d575f80fd5b8063d2c35ce81461095d578063d6f501691461097c578063daac24da14610991578063daf012e6146109b0575f80fd5b8063b25612631161017e578063c415b95c1161014e578063c415b95c146108ff578063c905a4b51461091e578063d0f96b9214610933578063d23d7ea314610948575f80fd5b8063b25612631461088b578063bc30e7a1146108aa578063bf9bd5cd146108c9578063c1722563146108de575f80fd5b806399623bb1116101b957806399623bb11461081a5780639af2526214610839578063a64c90bf14610858578063a98a46db1461086c575f80fd5b80638e127cf5146107c75780638efc0986146107e657806397b0e8ce146107fb575f80fd5b80634554f9a9116102bf578063628027a31161025f57806383b361e81161022f57806383b361e81461074b57806384c19aab1461076a57806385229785146107895780638627a4f0146107a8575f80fd5b8063628027a3146106bb5780636b44e6be146106da5780636e95d67c146107185780636f6d5c4a1461072c575f80fd5b80634fbfee771161029a5780634fbfee771461063657806354fd4d50146106555780635720c9d5146106875780635aa6e6751461069c575f80fd5b80634554f9a9146105ed578063488007601461060257806349f13de714610617575f80fd5b80631ecda0fe116103355780632e7cd971116103055780632e7cd9711461057d5780633e2d201414610590578063411c3035146105af578063421caba8146105ce575f80fd5b80631ecda0fe146104e95780632885e3ac1461050c5780632907d3dd1461052b5780632b58f4181461054a575f80fd5b806310d1dc3e1161037057806310d1dc3e1461046057806311e77bfe1461047f5780631978ebcf1461049e5780631b59be0c146104bd575f80fd5b806304baa00b146103c357806306fdde031461041557806310780f7314610429575f80fd5b366103bf576002600154036103bd57604051630aac75b560e31b815260040160405180910390fd5b005b5f80fd5b3480156103ce575f80fd5b506103ff6040518060400160405280601181526020017048797065726472697665466163746f727960781b81525081565b60405161040c9190612c3a565b60405180910390f35b348015610420575f80fd5b506103ff610b28565b348015610434575f80fd5b50600854610448906001600160a01b031681565b6040516001600160a01b03909116815260200161040c565b34801561046b575f80fd5b506103bd61047a366004612c4c565b610bb3565b34801561048a575f80fd5b506103bd610499366004612c5c565b610ccc565b3480156104a9575f80fd5b506103bd6104b8366004612c5c565b610da5565b3480156104c8575f80fd5b506104dc6104d7366004612c73565b610e27565b60405161040c9190612ce2565b3480156104f4575f80fd5b506104fe600f5481565b60405190815260200161040c565b348015610517575f80fd5b506103bd610526366004612c4c565b610eff565b348015610536575f80fd5b506103bd610545366004612c5c565b611065565b348015610555575f80fd5b50610448610564366004612d55565b602080525f90815260409020546001600160a01b031681565b61044861058b36600461301f565b6110e7565b34801561059b575f80fd5b506103bd6105aa366004612d55565b61150e565b3480156105ba575f80fd5b506103bd6105c93660046130f7565b611581565b3480156105d9575f80fd5b506103bd6105e8366004612d55565b611749565b3480156105f8575f80fd5b506104fe60105481565b34801561060d575f80fd5b506104fe60145481565b348015610622575f80fd5b50610448610631366004613121565b611850565b348015610641575f80fd5b506103bd610650366004612c5c565b61193d565b348015610660575f80fd5b506103ff60405180604001604052806007815260200166076312e302e32360cc1b81525081565b348015610692575f80fd5b506104fe600b5481565b3480156106a7575f80fd5b50600254610448906001600160a01b031681565b3480156106c6575f80fd5b506103bd6106d5366004612c5c565b611999565b3480156106e5575f80fd5b506107086106f4366004612d55565b60226020525f908152604090205460ff1681565b604051901515815260200161040c565b348015610723575f80fd5b506021546104fe565b348015610737575f80fd5b506103bd610746366004612c5c565b611a1b565b348015610756575f80fd5b506103bd610765366004612c5c565b611abf565b348015610775575f80fd5b506103bd610784366004612c5c565b611b41565b348015610794575f80fd5b506103bd6107a3366004612d55565b611bc3565b3480156107b3575f80fd5b506103bd6107c2366004612d55565b611c36565b3480156107d2575f80fd5b506103bd6107e1366004612c5c565b611ca9565b3480156107f1575f80fd5b506104fe600e5481565b348015610806575f80fd5b506103bd610815366004612c5c565b611d4d565b348015610825575f80fd5b50600554610448906001600160a01b031681565b348015610844575f80fd5b506103bd610853366004612c73565b611dcf565b348015610863575f80fd5b506104dc611e37565b348015610877575f80fd5b506103bd610886366004612d55565b611e97565b348015610896575f80fd5b506103bd6108a5366004612d55565b611f0a565b3480156108b5575f80fd5b506104dc6108c43660046131af565b611f7d565b3480156108d4575f80fd5b506104fe60125481565b3480156108e9575f80fd5b506108f261207c565b60405161040c91906131cf565b34801561090a575f80fd5b50600754610448906001600160a01b031681565b348015610929575f80fd5b506104fe60065481565b34801561093e575f80fd5b506104fe600a5481565b348015610953575f80fd5b506104fe60115481565b348015610968575f80fd5b506103bd610977366004612d55565b6120d0565b348015610987575f80fd5b506104fe60135481565b34801561099c575f80fd5b506104486109ab366004612c5c565b612143565b3480156109bb575f80fd5b506104fe600d5481565b3480156109d0575f80fd5b506103bd6109df366004612d55565b612171565b3480156109ef575f80fd5b506104fe600c5481565b348015610a04575f80fd5b50601e546104fe565b348015610a18575f80fd5b50600454610448906001600160a01b031681565b348015610a37575f80fd5b50600354610448906001600160a01b031681565b348015610a56575f80fd5b506103bd610a65366004612c5c565b6121e4565b348015610a75575f80fd5b506108f2612288565b348015610a89575f80fd5b506103bd610a98366004612c5c565b6122dc565b348015610aa8575f80fd5b506104dc610ab73660046131af565b612374565b348015610ac7575f80fd5b50600954610448906001600160a01b031681565b348015610ae6575f80fd5b50610708610af5366004612d55565b601f6020525f908152604090205460ff1681565b348015610b14575f80fd5b50610448610b23366004612c5c565b612473565b5f8054610b34906131fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610b60906131fa565b8015610bab5780601f10610b8257610100808354040283529160200191610bab565b820191905f5260205f20905b815481529060010190602001808311610b8e57829003601f168201915b505050505081565b6002546001600160a01b03163314610bdd576040516282b42960e81b815260040160405180910390fd5b60408051608081018252601954808252601a546020830152601b5492820192909252601c5460608201529082351180610c1d575080602001518260200135115b80610c2f575080604001518260400135115b80610c41575080606001518260600135115b15610c5f576040516315b05a8f60e01b815260040160405180910390fd5b81356015819055602080840135601681905560408086013560178190556060808801356018819055835196875294860193909352908401528201527fe1c45f8aeb543f30b37cc2fccfbac0f32cc8f234284df921d71cff04e51ef421906080015b60405180910390a15050565b6002546001600160a01b03163314610cf6576040516282b42960e81b815260040160405180910390fd5b80600b54610d04919061322c565b151580610d1d575080600c54610d1a919061322c565b15155b80610d34575080600d54610d31919061322c565b15155b80610d4b575080600e54610d48919061322c565b15155b15610d69576040516311b75c1560e31b815260040160405180910390fd5b600a8190556040518181527f04ed835b488b4fcf0a212a46ed67cbbffc2fc81b5cb6a12c546572cbf7b7e06a906020015b60405180910390a150565b6002546001600160a01b03163314610dcf576040516282b42960e81b815260040160405180910390fd5b601254811115610df257604051631670f79760e01b815260040160405180910390fd5b60118190556040518181527faab0ee9100629c405a4d75336e1640cc81e0608fb0d7f17389c06ee8d4f0219190602001610d9a565b60215460609067ffffffffffffffff811115610e4557610e45612d70565b604051908082528060200260200182016040528015610e6e578160200160208202803683370190505b5090505f5b82811015610ef75760205f858584818110610e9057610e9061324b565b9050602002016020810190610ea59190612d55565b6001600160a01b03908116825260208201929092526040015f20548351911690839083908110610ed757610ed761324b565b6001600160a01b0390921660209283029190910190910152600101610e73565b505b92915050565b6002546001600160a01b03163314610f29576040516282b42960e81b815260040160405180910390fd5b6040805160808101825260155481526016546020820152601754918101919091526018546060820152670de0b6b3a764000082351180610f745750670de0b6b3a76400008260200135115b80610f8a5750670de0b6b3a76400008260400135115b80610fa05750670de0b6b3a76400008260600135115b80610fac575080518235105b80610fbe575080602001518260200135105b80610fd0575080604001518260400135105b80610fe2575080606001518260600135105b156110005760405163161071fb60e11b815260040160405180910390fd5b81356019819055602080840135601a819055604080860135601b819055606080880135601c819055835196875294860193909352908401528201527f8c6093c7e65dd862e88162770c4e156e8a0da57d25d961e0fb6f28cfb7ff89a790608001610cc0565b6002546001600160a01b0316331461108f576040516282b42960e81b815260040160405180910390fd5b6010548111156110b2576040516328a2d9a960e01b815260040160405180910390fd5b600f8190556040518181527f41f729b931ad8e33d697fff6bc6736a1ac6ee09e8265efae2794ac1635c217a690602001610d9a565b6001600160a01b0389165f908152601f602052604081205460ff1661111f57604051636e623f0f60e01b815260040160405180910390fd5b61112a888686612487565b60408051336020808301919091528183018e905282518083038401815260608301938490528051910120631d321d7560e31b9092525f916001600160a01b038d169163e990eba891611186918e908e908e908a90606401613370565b6020604051808303815f875af11580156111a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c691906133bf565b90508a60205f836001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060045f9054906101000a90046001600160a01b03168961014001906001600160a01b031690816001600160a01b0316815250508a6001600160a01b03167fb25b0f0f93209be08152122f1321f6b0ef559a93a67695fff5fea3e5ed234465828c8c8c60405161128194939291906133da565b60405180910390a26021805460018082019092557f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5700180546001600160a01b0319166001600160a01b038481169182179092555f90815260226020908152604091829020805460ff1916851790559280558051339381019390935282018e90528c16906316abfc7090349060600160405160208183030381529060405280519060200120338b8b8a6040518763ffffffff1660e01b815260040161134995949392919061342b565b60206040518083038185885af1158015611365573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061138a919061348d565b5060026001555f5b601d5481101561143057816001600160a01b0316637180c8ca601d83815481106113be576113be61324b565b5f9182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b039091166004820152600160248201526044015f604051808303815f87803b15801561140e575f80fd5b505af1158015611420573d5f803e3d5ffd5b5050600190920191506113929050565b506004805460405163ab033ea960e01b81526001600160a01b039182169281019290925282169063ab033ea9906024015f604051808303815f87803b158015611477575f80fd5b505af1158015611489573d5f803e3d5ffd5b5047925050811590506114fe576040515f90339083908381818185875af1925050503d805f81146114d5576040519150601f19603f3d011682016040523d82523d5f602084013e6114da565b606091505b50509050806114fc576040516312171d8360e31b815260040160405180910390fd5b505b509b9a5050505050505050505050565b6002546001600160a01b03163314611538576040516282b42960e81b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040517fae062fb82c932c653cd44617343ecda1d13e375e0d6f20d969c944fbda1963d3905f90a250565b6002546001600160a01b031633148015906115a757506003546001600160a01b03163314155b156115c4576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0382165f908152601f602052604090205460ff166115fc57604051634bf121ab60e01b815260040160405180910390fd5b816001600160a01b0316601e82815481106116195761161961324b565b5f918252602090912001546001600160a01b03161461164b57604051630f2700cb60e21b815260040160405180910390fd5b6001600160a01b0382165f908152601f60205260409020805460ff19169055601e805461167a906001906134b8565b8154811061168a5761168a61324b565b5f91825260209091200154601e80546001600160a01b0390921691839081106116b5576116b561324b565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550601e8054806116f1576116f16134cb565b5f8281526020812082015f1990810180546001600160a01b03191690559091019091556040516001600160a01b038416917f709b7450bfafda93efd91d29149870a794637ac9d696ca61625fd2f53548afe091a25050565b6002546001600160a01b0316331480159061176f57506003546001600160a01b03163314155b1561178c576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381165f908152601f602052604090205460ff16156117c55760405163bd34634f60e01b815260040160405180910390fd5b6001600160a01b0381165f818152601f6020526040808220805460ff19166001908117909155601e8054918201815583527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3500180546001600160a01b03191684179055517f16ce88285cfd59829a5aa04370a5ec8090a18c14e7e7fb9d4b12a42291c098e39190a250565b6001600160a01b0387165f908152601f602052604081205460ff1661188857604051636e623f0f60e01b815260040160405180910390fd5b611893878686612487565b60408051336020808301919091528183018c90528251808303840181526060830193849052805191012063182a20c360e31b9092525f916001600160a01b038b169163c1510618916118ef918c908c908a908a906064016134df565b6020604051808303815f875af115801561190b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192f91906133bf565b9a9950505050505050505050565b6002546001600160a01b03163314611967576040516282b42960e81b815260040160405180910390fd5b600681905560405181907f395a61259037298d1c4cd4bf177b64ad5995d38a9394573fcd9060d649314ad0905f90a250565b6002546001600160a01b031633146119c3576040516282b42960e81b815260040160405180910390fd5b6013548110156119e657604051630a35539d60e41b815260040160405180910390fd5b60148190556040518181527fa9e7961bb3342715dbecc208087a6a9df8986d524b3a0a829fd90f5a2f5ba53e90602001610d9a565b6002546001600160a01b03163314611a45576040516282b42960e81b815260040160405180910390fd5b600b54811080611a605750600a54611a5d908261322c565b15155b80611a6c5750600d5481115b15611a8a5760405163f9c0959d60e01b815260040160405180910390fd5b600c8190556040518181527f31407ddd1722f500b8aa2c18e112398626dd7c2869a5f80731ec30b244d9b5f290602001610d9a565b6002546001600160a01b03163314611ae9576040516282b42960e81b815260040160405180910390fd5b601454811115611b0c57604051635a8f655760e01b815260040160405180910390fd5b60138190556040518181527f490eb2a91746aa933c9ffe2f7939aa06498f3259139f8805f008b12c8c697a4690602001610d9a565b6002546001600160a01b03163314611b6b576040516282b42960e81b815260040160405180910390fd5b600f54811015611b8e57604051637edc061360e11b815260040160405180910390fd5b60108190556040518181527f0e56d83f54e6f5b08716a54b3abdb59b3025bf12c1875c87ab98ab081d6f838190602001610d9a565b6002546001600160a01b03163314611bed576040516282b42960e81b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517f03aa5b0fb65014eea89fda04a7bc11742014881f3c078f2c75b7226ce10d9418905f90a250565b6002546001600160a01b03163314611c60576040516282b42960e81b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040517fc049058b1df2dd8902739ceb78992df12fa8369c06c450b3c6787137b452fdd2905f90a250565b6002546001600160a01b03163314611cd3576040516282b42960e81b815260040160405180910390fd5b600a54811080611cee5750600a54611ceb908261322c565b15155b80611cfa5750600c5481115b15611d1857604051630219d66360e11b815260040160405180910390fd5b600b8190556040518181527f6f8175cdbac1b4d238abba24a17d2554d7b9750bbeda6414e191c478384b763190602001610d9a565b6002546001600160a01b03163314611d77576040516282b42960e81b815260040160405180910390fd5b601154811015611d9a5760405163019cfb7b60e61b815260040160405180910390fd5b60128190556040518181527f4fa35c11ce9a45ae882c154ecb53ab5cac52a74a5b9b0373be36deb30c78297890602001610d9a565b6002546001600160a01b03163314611df9576040516282b42960e81b815260040160405180910390fd5b611e05601d8383612b8b565b507f2a85276cf604a3822e19b29a3e97aebfbc47a19025c2e8f6e80b3af774dcbc388282604051610cc092919061351d565b6060601d805480602002602001604051908101604052809291908181526020018280548015611e8d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311611e6f575b5050505050905090565b6002546001600160a01b03163314611ec1576040516282b42960e81b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040517f6f717fb0ab51206dea4064a35c94c2784f8714b012fbde820e0ddee36265eb6a905f90a250565b6002546001600160a01b03163314611f34576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f9d3e522e1e47a2f6009739342b9cc7b252a1888154e843ab55ee1c81745795ab905f90a250565b6060818310611f9f57604051633b2735ab60e11b815260040160405180910390fd5b602154821115611fc25760405163e0f7becb60e01b815260040160405180910390fd5b611fcc83836134b8565b67ffffffffffffffff811115611fe457611fe4612d70565b60405190808252806020026020018201604052801561200d578160200160208202803683370190505b509050825b82811015610ef7576021818154811061202d5761202d61324b565b905f5260205f20015f9054906101000a90046001600160a01b0316828583038151811061205c5761205c61324b565b6001600160a01b0390921660209283029190910190910152600101612012565b6120a360405180608001604052805f81526020015f81526020015f81526020015f81525090565b50604080516080810182526015548152601654602082015260175491810191909152601854606082015290565b6002546001600160a01b031633146120fa576040516282b42960e81b815260040160405180910390fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040517fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f905f90a250565b5f602182815481106121575761215761324b565b5f918252602090912001546001600160a01b031692915050565b6002546001600160a01b0316331461219b576040516282b42960e81b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517ff3e07b4bb4394f2ff320bd1dd151551dff304d5e948b401d8558b228482c97d8905f90a250565b6002546001600160a01b0316331461220e576040516282b42960e81b815260040160405180910390fd5b600c548110806122295750600a54612226908261322c565b15155b806122355750600e5481115b1561225357604051633007ad0160e11b815260040160405180910390fd5b600d8190556040518181527fe9ef3e93dff799d4db8a12ff79e0918a5a78d75b10527864f4b1c920f6f4f17890602001610d9a565b6122af60405180608001604052805f81526020015f81526020015f81526020015f81525090565b50604080516080810182526019548152601a546020820152601b5491810191909152601c54606082015290565b6002546001600160a01b03163314612306576040516282b42960e81b815260040160405180910390fd5b600d548110806123215750600a5461231e908261322c565b15155b1561233f5760405163cfb699cb60e01b815260040160405180910390fd5b600e8190556040518181527f866fe9485f9983afceaa1385307b6eb0fd3df5a250ae2b0bf76dc9ddd316926b90602001610d9a565b606081831061239657604051633b2735ab60e11b815260040160405180910390fd5b601e548211156123b95760405163e0f7becb60e01b815260040160405180910390fd5b6123c383836134b8565b67ffffffffffffffff8111156123db576123db612d70565b604051908082528060200260200182016040528015612404578160200160208202803683370190505b509050825b82811015610ef757601e81815481106124245761242461324b565b905f5260205f20015f9054906101000a90046001600160a01b031682858303815181106124535761245361324b565b6001600160a01b0390921660209283029190910190910152600101612409565b5f601e82815481106121575761215761324b565b600b5483610100015110806124a25750600c54836101000151115b806124be5750600a548361010001516124bb919061322c565b15155b156124dc57604051635428734d60e01b815260040160405180910390fd5b600d548360e0015110806124f55750600e548360e00151115b8061251357508261010001518360e00151612510919061322c565b15155b156125315760405163253fffcf60e11b815260040160405180910390fd5b600f548360c00151108061254a57506010548360c00151115b156125685760405163ef9bc65f60e01b815260040160405180910390fd5b6019546101c084015151118061259c5750601a5460e08401516101c08501516020015161259a916301e13380906127f6565b115b806125b15750601b546101c084015160400151115b806125c65750601c546101c084015160600151115b806125d857506015546101c084015151105b80612601575060165460e08401516101c0850151602001516125ff916301e1338090612819565b105b8061261657506017546101c084015160400151105b8061262b57506018546101c084015160600151105b1561264957604051632d8768f960e01b815260040160405180910390fd5b60115482108061265a575060125482115b15612678576040516330554de160e01b815260040160405180910390fd5b5f61269c6611c37937e0800061269685671bc16d674ec80000612834565b9061284f565b6013549091506126ac908261284f565b8210806126df57506126dc6126d3671bc16d674ec800006126cd868561284f565b90612864565b60145490612878565b82115b156126fd576040516383ebdfb760e01b815260040160405180910390fd5b5f61270c838660e0015161288c565b60055460408701519192506001600160a01b0391821691161415806127375750600654856060015114155b8061275657506007546101608601516001600160a01b03908116911614155b8061277557506008546101808601516001600160a01b03908116911614155b8061279457506009546101a08601516001600160a01b03908116911614155b806127b357506004546101408601516001600160a01b03908116911614155b806127c2575061012085015115155b156127e05760405163e8c02dd760e01b815260040160405180910390fd5b3061014086015261012090940193909352505050565b5f825f19048411830215820261280a575f80fd5b50910281810615159190040190565b5f825f19048411830215820261282d575f80fd5b5091020490565b5f61284883670de0b6b3a764000084612819565b9392505050565b5f81831161285d5781612848565b5090919050565b5f6128488383670de0b6b3a7640000612819565b5f8183116128865782612848565b50919050565b5f806128bc6128ad61289f86606461356a565b66a5bbed86c5a00090612864565b6748cd4072281e000090612834565b90506128d0670de0b6b3a764000082612834565b9050612928816126cd6128fb6128f66128f189670de0b6b3a7640000613581565b612930565b61295d565b6129226128f66129108a8a6301e13380612819565b6128f190670de0b6b3a7640000613581565b90612834565b949350505050565b5f6001600160ff1b038211156129595760405163396ea70160e11b815260040160405180910390fd5b5090565b5f80821361297e5760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612a0a9084901c612930565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b828054828255905f5260205f20908101928215612bdc579160200282015b82811115612bdc5781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190612ba9565b506129599291505b80821115612959575f8155600101612be4565b5f81518084525f5b81811015612c1b57602081850181015186830182015201612bff565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6128486020830184612bf7565b5f60808284031215612886575f80fd5b5f60208284031215612c6c575f80fd5b5035919050565b5f8060208385031215612c84575f80fd5b823567ffffffffffffffff80821115612c9b575f80fd5b818501915085601f830112612cae575f80fd5b813581811115612cbc575f80fd5b8660208260051b8501011115612cd0575f80fd5b60209290920196919550909350505050565b602080825282518282018190525f9190848201906040850190845b81811015612d225783516001600160a01b031683529284019291840191600101612cfd565b50909695505050505050565b6001600160a01b0381168114612d42575f80fd5b50565b8035612d5081612d2e565b919050565b5f60208284031215612d65575f80fd5b813561284881612d2e565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715612da857612da8612d70565b60405290565b5f82601f830112612dbd575f80fd5b813567ffffffffffffffff80821115612dd857612dd8612d70565b604051601f8301601f19908116603f01168101908282118183101715612e0057612e00612d70565b81604052838152866020858801011115612e18575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f60808284031215612e47575f80fd5b6040516080810181811067ffffffffffffffff82111715612e6a57612e6a612d70565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215612eac575f80fd5b612eb4612d84565b9050612ebf82612d45565b8152612ecd60208301612d45565b6020820152612ede60408301612d45565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140612f3b818401612d45565b90820152610160612f4d838201612d45565b90820152610180612f5f838201612d45565b908201526101a0612f71838201612d45565b908201526101c0612f8484848301612e37565b9082015292915050565b5f60608284031215612f9e575f80fd5b6040516060810167ffffffffffffffff8282108183111715612fc257612fc2612d70565b8160405282935084359150612fd682612d2e565b9082526020840135908115158214612fec575f80fd5b8160208401526040850135915080821115613005575f80fd5b5061301285828601612dae565b6040830152505092915050565b5f805f805f805f805f806103608b8d031215613039575f80fd5b8a35995061304960208c01612d45565b985060408b013567ffffffffffffffff80821115613065575f80fd5b6130718e838f01612dae565b99506130808e60608f01612e9b565b98506102a08d0135915080821115613096575f80fd5b6130a28e838f01612dae565b97506102c08d013596506102e08d013595506103008d013594506103208d01359150808211156130d0575f80fd5b506130dd8d828e01612f8e565b9250506103408b013590509295989b9194979a5092959850565b5f8060408385031215613108575f80fd5b823561311381612d2e565b946020939093013593505050565b5f805f805f805f80610320898b031215613139575f80fd5b88359750602089013561314b81612d2e565b965061315a8a60408b01612e9b565b955061028089013567ffffffffffffffff811115613176575f80fd5b6131828b828c01612dae565b989b979a5095986102a0810135976102c082013597506102e0820135965061030090910135945092505050565b5f80604083850312156131c0575f80fd5b50508035926020909101359150565b8151815260208083015190820152604080830151908201526060808301519082015260808101610ef9565b600181811c9082168061320e57607f821691505b60208210810361288657634e487b7160e01b5f52602260045260245ffd5b5f8261324657634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52603260045260245ffd5b80516001600160a01b03168252602081015161328660208401826001600160a01b03169052565b5060408101516132a160408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151613307828501826001600160a01b03169052565b5050610160818101516001600160a01b0390811691840191909152610180808301518216908401526101a080830151909116908301526101c09081015180519183019190915260208101516101e083015260408101516102008301526060015161022090910152565b5f6102c087835280602084015261338981840188612bf7565b9050613398604084018761325f565b8281036102808401526133ab8186612bf7565b915050826102a08301529695505050505050565b5f602082840312156133cf575f80fd5b815161284881612d2e565b6001600160a01b03851681526102a0602082018190525f906133fe83820187612bf7565b905061340d604084018661325f565b8281036102808401526134208185612bf7565b979650505050505050565b8581525f60018060a01b03808716602084015285604084015284606084015260a060808401528084511660a0840152506020830151151560c08301526040830151606060e0840152613481610100840182612bf7565b98975050505050505050565b5f6020828403121561349d575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610ef957610ef96134a4565b634e487b7160e01b5f52603160045260245ffd5b5f6102c08783526134f3602084018861325f565b8061026084015261350681840187612bf7565b61028084019590955250506102a001529392505050565b60208082528181018390525f908460408401835b8681101561355f57823561354481612d2e565b6001600160a01b031682529183019190830190600101613531565b509695505050505050565b8082028115828204841417610ef957610ef96134a4565b80820180821115610ef957610ef96134a456fea2646970667358221220a1e514bf85e79a36a06a6b5cba470da19dd8126fb4e92a14dbe5b9d89c3e2ddf64736f6c63430008160033', - methodIdentifiers: { - "_instancesToDeployerCoordinators(address)": "2b58f418", - "addDeployerCoordinator(address)": "421caba8", - "checkpointDurationResolution()": "d0f96b92", - "checkpointRewarder()": "f2596458", - "defaultPausers()": "a64c90bf", - "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971", - "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7", - "deployerCoordinatorManager()": "e4e7148f", - "feeCollector()": "c415b95c", - "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb", - "getDeployerCoordinatorByInstances(address[])": "1b59be0c", - "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11", - "getInstanceAtIndex(uint256)": "daac24da", - "getInstancesInRange(uint256,uint256)": "bc30e7a1", - "getNumberOfDeployerCoordinators()": "e1b39c80", - "getNumberOfInstances()": "6e95d67c", - "governance()": "5aa6e675", - "hyperdriveGovernance()": "e3331555", - "isDeployerCoordinator(address)": "f8c09e59", - "isInstance(address)": "6b44e6be", - "kind()": "04baa00b", - "linkerCodeHash()": "c905a4b5", - "linkerFactory()": "99623bb1", - "maxCheckpointDuration()": "e0e2daaa", - "maxCircuitBreakerDelta()": "4554f9a9", - "maxFees()": "e83e34b1", - "maxFixedAPR()": "bf9bd5cd", - "maxPositionDuration()": "8efc0986", - "maxTimeStretchAPR()": "48800760", - "minCheckpointDuration()": "5720c9d5", - "minCircuitBreakerDelta()": "1ecda0fe", - "minFees()": "c1722563", - "minFixedAPR()": "d23d7ea3", - "minPositionDuration()": "daf012e6", - "minTimeStretchAPR()": "d6f50169", - "name()": "06fdde03", - "removeDeployerCoordinator(address,uint256)": "411c3035", - "sweepCollector()": "10780f73", - "updateCheckpointDurationResolution(uint256)": "11e77bfe", - "updateCheckpointRewarder(address)": "3e2d2014", - "updateDefaultPausers(address[])": "9af25262", - "updateDeployerCoordinatorManager(address)": "a98a46db", - "updateFeeCollector(address)": "d2c35ce8", - "updateGovernance(address)": "b2561263", - "updateHyperdriveGovernance(address)": "dd2b8fbb", - "updateLinkerCodeHash(bytes32)": "4fbfee77", - "updateLinkerFactory(address)": "85229785", - "updateMaxCheckpointDuration(uint256)": "6f6d5c4a", - "updateMaxCircuitBreakerDelta(uint256)": "84c19aab", - "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac", - "updateMaxFixedAPR(uint256)": "97b0e8ce", - "updateMaxPositionDuration(uint256)": "eb71f66c", - "updateMaxTimeStretchAPR(uint256)": "628027a3", - "updateMinCheckpointDuration(uint256)": "8e127cf5", - "updateMinCircuitBreakerDelta(uint256)": "2907d3dd", - "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e", - "updateMinFixedAPR(uint256)": "1978ebcf", - "updateMinPositionDuration(uint256)": "e71f34b3", - "updateMinTimeStretchAPR(uint256)": "83b361e8", - "updateSweepCollector(address)": "8627a4f0", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts deleted file mode 100644 index 3d89c5173..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveLP: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveLP.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts.map deleted file mode 100644 index cb1b25761..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLP.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveLP.d.ts","sourceRoot":"","sources":["../src/HyperdriveLP.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBL,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLP.js b/packages/hyperdrive-artifacts/dist/HyperdriveLP.js deleted file mode 100644 index 5aded063d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLP.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveLP = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts deleted file mode 100644 index 6c08f53c7..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveLong: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveLong.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts.map deleted file mode 100644 index 58c4dc82c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLong.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveLong.d.ts","sourceRoot":"","sources":["../src/HyperdriveLong.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveLong.js b/packages/hyperdrive-artifacts/dist/HyperdriveLong.js deleted file mode 100644 index daa3932de..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveLong.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveLong = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts deleted file mode 100644 index 85b5cc0ba..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const HyperdriveMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts.map deleted file mode 100644 index 8ee00ab7d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveMath.d.ts","sourceRoot":"","sources":["../src/HyperdriveMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;cAEuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMath.js b/packages/hyperdrive-artifacts/dist/HyperdriveMath.js deleted file mode 100644 index 8e9f9b16d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const HyperdriveMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f750f6fbf60495e97c0a539b86ad20c1304cba5840bc52023fe0f4c42006d81b64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts deleted file mode 100644 index ba49e5f6f..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveMultiToken: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveMultiToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts.map deleted file mode 100644 index 3caab0dd7..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveMultiToken.d.ts","sourceRoot":"","sources":["../src/HyperdriveMultiToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBb,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.js b/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.js deleted file mode 100644 index 8bdcd5524..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveMultiToken.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveMultiToken = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts deleted file mode 100644 index 0cffb8455..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts +++ /dev/null @@ -1,541 +0,0 @@ -export declare const HyperdriveRegistry: { - abi: readonly [{ - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoriesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfo"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfos"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfo"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfos"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "info"; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstancesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfFactories"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfInstances"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isInitialized"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setFactoryInfo"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "_data"; - readonly type: "uint128[]"; - readonly internalType: "uint128[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setInstanceInfo"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "_data"; - readonly type: "uint128[]"; - readonly internalType: "uint128[]"; - }, { - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateName"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FactoryInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }, { - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "InstanceInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "NameUpdated"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "EndIndexTooLarge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidIndexes"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RegistryAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "getFactoriesInRange(uint256,uint256)": "716ba5f6"; - readonly "getFactoryAtIndex(uint256)": "a587bbe1"; - readonly "getFactoryInfo(address)": "9b724ad4"; - readonly "getFactoryInfoWithMetadata(address)": "f32c9e34"; - readonly "getFactoryInfos(address[])": "ea350321"; - readonly "getFactoryInfosWithMetadata(address[])": "b73e3fab"; - readonly "getInstanceAtIndex(uint256)": "daac24da"; - readonly "getInstanceInfo(address)": "18bb3b54"; - readonly "getInstanceInfoWithMetadata(address)": "2ad19de8"; - readonly "getInstanceInfos(address[])": "4db6c0e0"; - readonly "getInstanceInfosWithMetadata(address[])": "d2f72d52"; - readonly "getInstancesInRange(uint256,uint256)": "bc30e7a1"; - readonly "getNumberOfFactories()": "f59d00b9"; - readonly "getNumberOfInstances()": "6e95d67c"; - readonly "initialize(string,address)": "7ab4339d"; - readonly "isInitialized()": "392e53cd"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "setFactoryInfo(address[],uint128[])": "e967e388"; - readonly "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateName(string)": "84da92a7"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveRegistry.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts.map deleted file mode 100644 index 470ecc9cf..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveRegistry.d.ts","sourceRoot":"","sources":["../src/HyperdriveRegistry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgqB6woB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BxzoB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.js b/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.js deleted file mode 100644 index a09bd114d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveRegistry.js +++ /dev/null @@ -1,700 +0,0 @@ -export const HyperdriveRegistry = { - abi: [ - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoriesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfo", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfoWithMetadata", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfos", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfosWithMetadata", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfo", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfoWithMetadata", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfos", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfosWithMetadata", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "info", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstancesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfFactories", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfInstances", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isInitialized", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setFactoryInfo", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "_data", - "type": "uint128[]", - "internalType": "uint128[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setInstanceInfo", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "_data", - "type": "uint128[]", - "internalType": "uint128[]" - }, - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateName", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FactoryInfoUpdated", - "inputs": [ - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - }, - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "InstanceInfoUpdated", - "inputs": [ - { - "name": "instance", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "NameUpdated", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "EndIndexTooLarge", - "inputs": [] - }, - { - "type": "error", - "name": "InputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFactory", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidIndexes", - "inputs": [] - }, - { - "type": "error", - "name": "RegistryAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061286f8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610153575f3560e01c80639b724ad4116100bf578063e2f273bd11610079578063e2f273bd146103ee578063e967e38814610401578063ea35032114610414578063f32c9e3414610434578063f59d00b914610454578063f851a4401461045c575f80fd5b80639b724ad414610307578063a587bbe11461035d578063b73e3fab14610388578063bc30e7a1146103a8578063d2f72d52146103bb578063daac24da146103db575f80fd5b80634db6c0e0116101105780634db6c0e01461026957806354fd4d50146102895780636e95d67c146102af578063716ba5f6146102c15780637ab4339d146102e157806384da92a7146102f4575f80fd5b806304baa00b1461015757806306fdde031461019e57806318bb3b54146101a65780631ff30ad2146102185780632ad19de81461022d578063392e53cd1461024d575b5f80fd5b6101886040518060400160405280601281526020017148797065726472697665526567697374727960701b81525081565b6040516101959190611f2a565b60405180910390f35b61018861046f565b61020b6101b4366004611f5e565b604080518082019091525f8082526020820152506040805180820182526001600160a01b039283165f8181526006602081815294822080546001600160801b03168552929091528352600101549092169082015290565b6040516101959190611f77565b61022b610226366004611fde565b6104fb565b005b61024061023b366004611f5e565b6108c1565b60405161019591906120dc565b5f546102599060ff1681565b6040519015158152602001610195565b61027c6102773660046120ee565b610a44565b604051610195919061212c565b61018860405180604001604052806007815260200166076312e302e32360cc1b81525081565b6005545b604051908152602001610195565b6102d46102cf36600461218b565b610b88565b60405161019591906121ab565b61022b6102ef3660046121f7565b610c86565b61022b6103023660046122da565b610d26565b61034e610315366004611f5e565b60408051602080820183525f91829052825180820184526001600160a01b039490941682526004905220546001600160801b0316815290565b60405190518152602001610195565b61037061036b366004612353565b610d9d565b6040516001600160a01b039091168152602001610195565b61039b6103963660046120ee565b610dcb565b60405161019591906123bb565b6102d46103b636600461218b565b611047565b6103ce6103c93660046120ee565b611145565b604051610195919061241d565b6103706103e9366004612353565b6113f4565b61022b6103fc366004611f5e565b611408565b61022b61040f366004612472565b61147b565b6104276104223660046120ee565b611821565b60405161019591906124d8565b610447610442366004611f5e565b611907565b6040516101959190612510565b6003546102b3565b600254610370906001600160a01b031681565b6001805461047c90612522565b80601f01602080910402602001604051908101604052809291908181526020018280546104a890612522565b80156104f35780601f106104ca576101008083540402835291602001916104f3565b820191905f5260205f20905b8154815290600101906020018083116104d657829003601f168201915b505050505081565b6002546001600160a01b03163314610525576040516282b42960e81b815260040160405180910390fd5b84831415806105345750848114155b156105525760405163aaad13f760e01b815260040160405180910390fd5b5f5b858110156108b8575f60065f8989858181106105725761057261255a565b90506020020160208101906105879190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b031690508585838181106105bd576105bd61255a565b90506020020160208101906105d2919061256e565b6001600160801b03161580156105e757508015155b1561066f575f8484848181106105ff576105ff61255a565b90506020020160208101906106149190611f5e565b6001600160a01b03161461063b57604051637a44db9560e01b815260040160405180910390fd5b61066a8888848181106106505761065061255a565b90506020020160208101906106659190611f5e565b611998565b6107f2565b8585838181106106815761068161255a565b9050602002016020810190610696919061256e565b6001600160801b0316158015906106ac57508015155b1561072e5761066a8888848181106106c6576106c661255a565b90506020020160208101906106db9190611f5e565b8787858181106106ed576106ed61255a565b9050602002016020810190610702919061256e565b8686868181106107145761071461255a565b90506020020160208101906107299190611f5e565b611ae6565b8585838181106107405761074061255a565b9050602002016020810190610755919061256e565b6001600160801b03161580159061076a575080155b156107ec5761066a8888848181106107845761078461255a565b90506020020160208101906107999190611f5e565b8787858181106107ab576107ab61255a565b90506020020160208101906107c0919061256e565b8686868181106107d2576107d261255a565b90506020020160208101906107e79190611f5e565b611c29565b506108b0565b8383838181106108045761080461255a565b90506020020160208101906108199190611f5e565b6001600160a01b03168686848181106108345761083461255a565b9050602002016020810190610849919061256e565b6001600160801b03168989858181106108645761086461255a565b90506020020160208101906108799190611f5e565b6001600160a01b03167fdcdda2b8267b8fe0ebfeb2cc8f266807b412bec096d16cbbe576d46d122553e060405160405180910390a4505b600101610554565b50505050505050565b6108c9611ea7565b6040805160a0810182526001600160a01b038085165f8181526006602081815286832080546001600160801b031687528484529181526001909101549093169284019290925283516306fdde0360e01b8152845187958501936306fdde0392600480820193918290030181865afa158015610946573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261096d9190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156109ad573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109d49190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a14573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a3b9190810190612594565b90529392505050565b6060816001600160401b03811115610a5e57610a5e612270565b604051908082528060200260200182016040528015610aa257816020015b604080518082019091525f8082526020820152815260200190600190039081610a7c5790505b5090505f5b82811015610b8057604051806040016040528060065f878786818110610acf57610acf61255a565b9050602002016020810190610ae49190611f5e565b6001600160a01b031681526020808201929092526040015f908120546001600160801b03168352910190600690878786818110610b2357610b2361255a565b9050602002016020810190610b389190611f5e565b6001600160a01b03908116825260208201929092526040015f20600101541690528251839083908110610b6d57610b6d61255a565b6020908102919091010152600101610aa7565b505b92915050565b6060818310610baa57604051633b2735ab60e11b815260040160405180910390fd5b600354821115610bcd5760405163e0f7becb60e01b815260040160405180910390fd5b610bd783836125fc565b6001600160401b03811115610bee57610bee612270565b604051908082528060200260200182016040528015610c17578160200160208202803683370190505b509050825b82811015610b805760038181548110610c3757610c3761255a565b5f918252602090912001546001600160a01b031682610c5686846125fc565b81518110610c6657610c6661255a565b6001600160a01b0390921660209283029190910190910152600101610c1c565b5f5460ff1615610ca95760405163722c395b60e11b815260040160405180910390fd5b5f805460ff19166001908117909155610cc3838583612664565b50600280546001600160a01b0319166001600160a01b038316908117909155604051610cf2908590859061271d565b604051908190038120907fe57439d837715589a751e391f73a95929ecc96ae6aa09a16be8ae312d6147157905f90a3505050565b6002546001600160a01b03163314610d50576040516282b42960e81b815260040160405180910390fd5b6001610d5c828261272c565b5080604051610d6b91906127eb565b604051908190038120907f9f7688a97f1ac51fe03bac18af18d6810f9f11f0db08c59b1938a9ac825ef744905f90a250565b5f60038281548110610db157610db161255a565b5f918252602090912001546001600160a01b031692915050565b6060816001600160401b03811115610de557610de5612270565b604051908082528060200260200182016040528015610e4057816020015b610e2d60405180608001604052805f81526020016060815260200160608152602001606081525090565b815260200190600190039081610e035790505b5090505f5b82811015610b80575f848483818110610e6057610e6061255a565b9050602002016020810190610e759190611f5e565b9050604051806080016040528060045f888887818110610e9757610e9761255a565b9050602002016020810190610eac9190611f5e565b6001600160a01b03166001600160a01b031681526020019081526020015f205f015f9054906101000a90046001600160801b03166001600160801b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa158015610f29573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f509190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610f90573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fb79190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa158015610ff7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261101e9190810190612594565b8152508383815181106110335761103361255a565b602090810291909101015250600101610e45565b606081831061106957604051633b2735ab60e11b815260040160405180910390fd5b60055482111561108c5760405163e0f7becb60e01b815260040160405180910390fd5b61109683836125fc565b6001600160401b038111156110ad576110ad612270565b6040519080825280602002602001820160405280156110d6578160200160208202803683370190505b509050825b82811015610b8057600581815481106110f6576110f661255a565b5f918252602090912001546001600160a01b03168261111586846125fc565b815181106111255761112561255a565b6001600160a01b03909216602092830291909101909101526001016110db565b6060816001600160401b0381111561115f5761115f612270565b60405190808252806020026020018201604052801561119857816020015b611185611ea7565b81526020019060019003908161117d5790505b5090505f5b82811015610b80575f8484838181106111b8576111b861255a565b90506020020160208101906111cd9190611f5e565b90506040518060a0016040528060065f8888878181106111ef576111ef61255a565b90506020020160208101906112049190611f5e565b6001600160a01b031681526020808201929092526040015f908120546001600160801b031683529101906006908888878181106112435761124361255a565b90506020020160208101906112589190611f5e565b6001600160a01b03166001600160a01b031681526020019081526020015f206001015f9054906101000a90046001600160a01b03166001600160a01b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156112d6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526112fd9190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561133d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113649190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa1580156113a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113cb9190810190612594565b8152508383815181106113e0576113e061255a565b60209081029190910101525060010161119d565b5f60058281548110610db157610db161255a565b6002546001600160a01b03163314611432576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b6002546001600160a01b031633146114a5576040516282b42960e81b815260040160405180910390fd5b8281146114c55760405163aaad13f760e01b815260040160405180910390fd5b5f5b8381101561181a575f60045f8787858181106114e5576114e561255a565b90506020020160208101906114fa9190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b031690508383838181106115305761153061255a565b9050602002016020810190611545919061256e565b6001600160801b031615801561155a57508015155b156115935761158e8686848181106115745761157461255a565b90506020020160208101906115899190611f5e565b611d6b565b611784565b8383838181106115a5576115a561255a565b90506020020160208101906115ba919061256e565b6001600160801b0316158015906115d057508015155b1561165e5761158e8686848181106115ea576115ea61255a565b90506020020160208101906115ff9190611f5e565b8585858181106116115761161161255a565b9050602002016020810190611626919061256e565b6001600160a01b03919091165f90815260046020526040902080546001600160801b0319166001600160801b03909216919091179055565b8383838181106116705761167061255a565b9050602002016020810190611685919061256e565b6001600160801b03161580159061169a575080155b1561177e5761158e8686848181106116b4576116b461255a565b90506020020160208101906116c99190611f5e565b8585858181106116db576116db61255a565b90506020020160208101906116f0919061256e565b60038054600181019091557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810180546001600160a01b039094166001600160a01b0319909416841790556040805180820182526001600160801b03938416815291831660208381019182525f958652600490529320905192518216600160801b0292909116919091179055565b50611812565b8383838181106117965761179661255a565b90506020020160208101906117ab919061256e565b6001600160801b03168686848181106117c6576117c661255a565b90506020020160208101906117db9190611f5e565b6001600160a01b03167fd840ea8cb042bc840d3e55a04618ab268434d3d0a218638360a30fdb80de63f660405160405180910390a3505b6001016114c7565b5050505050565b6060816001600160401b0381111561183b5761183b612270565b60405190808252806020026020018201604052801561187a57816020015b60408051602081019091525f81528152602001906001900390816118595790505b5090505f5b82811015610b8057604051806020016040528060045f8787868181106118a7576118a761255a565b90506020020160208101906118bc9190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b0316905282518390839081106118f4576118f461255a565b602090810291909101015260010161187f565b61193160405180608001604052805f81526020016060815260200160608152602001606081525090565b604080516080810182526001600160a01b0384165f81815260046020818152858320546001600160801b0316855285516306fdde0360e01b81529551889691860194936306fdde0393838101939192918290030181865afa158015610946573d5f803e3d5ffd5b6001600160a01b0381165f90815260066020526040902054600554600160801b9091046001600160801b0316906119d06001826125fc565b826001600160801b031614611a83575f60056119ed6001846125fc565b815481106119fd576119fd61255a565b5f9182526020808320909101546001600160a01b03168083526006909152604090912080546001600160801b03808716600160801b810291909216179091556005805492935083929091908110611a5657611a5661255a565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550505b6005805480611a9457611a94612806565b5f828152602080822083015f1990810180546001600160a01b031990811690915593019093556001600160a01b0395909516855260069091526040842093845560019390930180549093169092555050565b6001600160a01b038084165f90815260066020526040902060010154168015801590611b245750816001600160a01b0316816001600160a01b031614155b80611bba57506001600160a01b038116158015611b4957506001600160a01b03821615155b8015611bba57506040516335a2735f60e11b81526001600160a01b038581166004830152831690636b44e6be90602401602060405180830381865afa158015611b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb8919061281a565b155b15611bd857604051637a44db9560e01b815260040160405180910390fd5b506001600160a01b039283165f90815260066020526040902080546001600160801b0319166001600160801b0393909316929092178255600190910180546001600160a01b03191691909216179055565b6001600160a01b03811615801590611ca657506040516335a2735f60e11b81526001600160a01b038481166004830152821690636b44e6be90602401602060405180830381865afa158015611c80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca4919061281a565b155b15611cc457604051637a44db9560e01b815260040160405180910390fd5b6005805460018082019092557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0810180546001600160a01b039687166001600160a01b03199182168117909255604080516060810182526001600160801b03978816815293871660208581019182529689168583019081525f94855260069097529220925191518616600160801b0291909516178155915191018054919093169116179055565b6001600160a01b0381165f90815260046020526040902054600354600160801b9091046001600160801b031690611da36001826125fc565b826001600160801b031614611e56575f6003611dc06001846125fc565b81548110611dd057611dd061255a565b5f9182526020808320909101546001600160a01b03168083526004909152604090912080546001600160801b03808716600160801b810291909216179091556003805492935083929091908110611e2957611e2961255a565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550505b6003805480611e6757611e67612806565b5f828152602080822083015f1990810180546001600160a01b03191690559092019092556001600160a01b03949094168152600490935250506040812055565b6040518060a001604052805f81526020015f6001600160a01b031681526020016060815260200160608152602001606081525090565b5f5b83811015611ef7578181015183820152602001611edf565b50505f910152565b5f8151808452611f16816020860160208601611edd565b601f01601f19169290920160200192915050565b602081525f611f3c6020830184611eff565b9392505050565b80356001600160a01b0381168114611f59575f80fd5b919050565b5f60208284031215611f6e575f80fd5b611f3c82611f43565b815181526020808301516001600160a01b03169082015260408101610b82565b5f8083601f840112611fa7575f80fd5b5081356001600160401b03811115611fbd575f80fd5b6020830191508360208260051b8501011115611fd7575f80fd5b9250929050565b5f805f805f8060608789031215611ff3575f80fd5b86356001600160401b0380821115612009575f80fd5b6120158a838b01611f97565b9098509650602089013591508082111561202d575f80fd5b6120398a838b01611f97565b90965094506040890135915080821115612051575f80fd5b5061205e89828a01611f97565b979a9699509497509295939492505050565b8051825260018060a01b0360208201511660208301525f604082015160a060408501526120a060a0850182611eff565b9050606083015184820360608601526120b98282611eff565b915050608083015184820360808601526120d38282611eff565b95945050505050565b602081525f611f3c6020830184612070565b5f80602083850312156120ff575f80fd5b82356001600160401b03811115612114575f80fd5b61212085828601611f97565b90969095509350505050565b602080825282518282018190525f919060409081850190868401855b8281101561217e5761216e848351805182526020908101516001600160a01b0316910152565b9284019290850190600101612148565b5091979650505050505050565b5f806040838503121561219c575f80fd5b50508035926020909101359150565b602080825282518282018190525f9190848201906040850190845b818110156121eb5783516001600160a01b0316835292840192918401916001016121c6565b50909695505050505050565b5f805f60408486031215612209575f80fd5b83356001600160401b038082111561221f575f80fd5b818601915086601f830112612232575f80fd5b813581811115612240575f80fd5b876020828501011115612251575f80fd5b6020928301955093506122679186019050611f43565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156122ac576122ac612270565b604052919050565b5f6001600160401b038211156122cc576122cc612270565b50601f01601f191660200190565b5f602082840312156122ea575f80fd5b81356001600160401b038111156122ff575f80fd5b8201601f8101841361230f575f80fd5b803561232261231d826122b4565b612284565b818152856020838501011115612336575f80fd5b816020840160208301375f91810160200191909152949350505050565b5f60208284031215612363575f80fd5b5035919050565b805182525f6020820151608060208501526123886080850182611eff565b9050604083015184820360408601526123a18282611eff565b915050606083015184820360608601526120d38282611eff565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b8281101561241057603f198886030184526123fe85835161236a565b945092850192908501906001016123e2565b5092979650505050505050565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b8281101561241057603f19888603018452612460858351612070565b94509285019290850190600101612444565b5f805f8060408587031215612485575f80fd5b84356001600160401b038082111561249b575f80fd5b6124a788838901611f97565b909650945060208701359150808211156124bf575f80fd5b506124cc87828801611f97565b95989497509550505050565b602080825282518282018190525f9190848201906040850190845b818110156121eb57835151835292840192918401916001016124f3565b602081525f611f3c602083018461236a565b600181811c9082168061253657607f821691505b60208210810361255457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561257e575f80fd5b81356001600160801b0381168114611f3c575f80fd5b5f602082840312156125a4575f80fd5b81516001600160401b038111156125b9575f80fd5b8201601f810184136125c9575f80fd5b80516125d761231d826122b4565b8181528560208385010111156125eb575f80fd5b6120d3826020830160208601611edd565b81810381811115610b8257634e487b7160e01b5f52601160045260245ffd5b601f82111561265f57805f5260205f20601f840160051c810160208510156126405750805b601f840160051c820191505b8181101561181a575f815560010161264c565b505050565b6001600160401b0383111561267b5761267b612270565b61268f836126898354612522565b8361261b565b5f601f8411600181146126c0575f85156126a95750838201355b5f19600387901b1c1916600186901b17835561181a565b5f83815260208120601f198716915b828110156126ef57868501358255602094850194600190920191016126cf565b508682101561270b575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b818382375f9101908152919050565b81516001600160401b0381111561274557612745612270565b612759816127538454612522565b8461261b565b602080601f83116001811461278c575f84156127755750858301515b5f19600386901b1c1916600185901b1785556127e3565b5f85815260208120601f198616915b828110156127ba5788860151825594840194600190910190840161279b565b50858210156127d757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516127fc818460208701611edd565b9190910192915050565b634e487b7160e01b5f52603160045260245ffd5b5f6020828403121561282a575f80fd5b81518015158114611f3c575f80fdfea264697066735822122090609514c01730f9b6bb56485879b709dcc1984706fd1e114bcbdba52e3aa30a64736f6c63430008160033', - methodIdentifiers: { - "admin()": "f851a440", - "getFactoriesInRange(uint256,uint256)": "716ba5f6", - "getFactoryAtIndex(uint256)": "a587bbe1", - "getFactoryInfo(address)": "9b724ad4", - "getFactoryInfoWithMetadata(address)": "f32c9e34", - "getFactoryInfos(address[])": "ea350321", - "getFactoryInfosWithMetadata(address[])": "b73e3fab", - "getInstanceAtIndex(uint256)": "daac24da", - "getInstanceInfo(address)": "18bb3b54", - "getInstanceInfoWithMetadata(address)": "2ad19de8", - "getInstanceInfos(address[])": "4db6c0e0", - "getInstanceInfosWithMetadata(address[])": "d2f72d52", - "getInstancesInRange(uint256,uint256)": "bc30e7a1", - "getNumberOfFactories()": "f59d00b9", - "getNumberOfInstances()": "6e95d67c", - "initialize(string,address)": "7ab4339d", - "isInitialized()": "392e53cd", - "kind()": "04baa00b", - "name()": "06fdde03", - "setFactoryInfo(address[],uint128[])": "e967e388", - "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2", - "updateAdmin(address)": "e2f273bd", - "updateName(string)": "84da92a7", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts deleted file mode 100644 index 93745ffeb..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const HyperdriveShort: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveShort.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts.map deleted file mode 100644 index 3bab8ec5c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveShort.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveShort.d.ts","sourceRoot":"","sources":["../src/HyperdriveShort.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBR,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveShort.js b/packages/hyperdrive-artifacts/dist/HyperdriveShort.js deleted file mode 100644 index eddf897de..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveShort.js +++ /dev/null @@ -1,656 +0,0 @@ -export const HyperdriveShort = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts deleted file mode 100644 index da5525e57..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export declare const HyperdriveStorage: { - abi: readonly [{ - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveStorage.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts.map deleted file mode 100644 index 3901fd307..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveStorage.d.ts","sourceRoot":"","sources":["../src/HyperdriveStorage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;cAQV,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.js b/packages/hyperdrive-artifacts/dist/HyperdriveStorage.js deleted file mode 100644 index 185866a99..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveStorage.js +++ /dev/null @@ -1,11 +0,0 @@ -export const HyperdriveStorage = { - abi: [ - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts deleted file mode 100644 index 943edb64c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts +++ /dev/null @@ -1,1429 +0,0 @@ -export declare const HyperdriveTarget0: { - abi: readonly [{ - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=HyperdriveTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts.map deleted file mode 100644 index 25358b46c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveTarget0.d.ts","sourceRoot":"","sources":["../src/HyperdriveTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAouDV,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyChC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.js b/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.js deleted file mode 100644 index 2b0211297..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget0.js +++ /dev/null @@ -1,1806 +0,0 @@ -export const HyperdriveTarget0 = { - abi: [ - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts deleted file mode 100644 index 47df46fa3..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts +++ /dev/null @@ -1,668 +0,0 @@ -export declare const HyperdriveTarget1: { - abi: readonly [{ - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=HyperdriveTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts.map deleted file mode 100644 index 931addb93..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveTarget1.d.ts","sourceRoot":"","sources":["../src/HyperdriveTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAozBV,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.js b/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.js deleted file mode 100644 index 3fa9136c9..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget1.js +++ /dev/null @@ -1,826 +0,0 @@ -export const HyperdriveTarget1 = { - abi: [ - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts deleted file mode 100644 index b95a77e5f..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts +++ /dev/null @@ -1,684 +0,0 @@ -export declare const HyperdriveTarget2: { - abi: readonly [{ - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=HyperdriveTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts.map deleted file mode 100644 index 04a6e3a49..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveTarget2.d.ts","sourceRoot":"","sources":["../src/HyperdriveTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw0BV,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.js b/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.js deleted file mode 100644 index 0e645e5ff..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget2.js +++ /dev/null @@ -1,846 +0,0 @@ -export const HyperdriveTarget2 = { - abi: [ - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts deleted file mode 100644 index 3fcb89f1e..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts +++ /dev/null @@ -1,700 +0,0 @@ -export declare const HyperdriveTarget3: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=HyperdriveTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts.map deleted file mode 100644 index 6c935356a..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveTarget3.d.ts","sourceRoot":"","sources":["../src/HyperdriveTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA41BV,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.js b/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.js deleted file mode 100644 index 1229a6a43..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget3.js +++ /dev/null @@ -1,866 +0,0 @@ -export const HyperdriveTarget3 = { - abi: [ - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts deleted file mode 100644 index e510ce08c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts +++ /dev/null @@ -1,683 +0,0 @@ -export declare const HyperdriveTarget4: { - abi: readonly [{ - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=HyperdriveTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts.map deleted file mode 100644 index 2adc130e2..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveTarget4.d.ts","sourceRoot":"","sources":["../src/HyperdriveTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAs0BV,KAAK,MAAM,EAAE;;;;;;CAMhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.js b/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.js deleted file mode 100644 index 332f3294c..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveTarget4.js +++ /dev/null @@ -1,845 +0,0 @@ -export const HyperdriveTarget4 = { - abi: [ - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts b/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts deleted file mode 100644 index b9e4f9987..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const HyperdriveUtils: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=HyperdriveUtils.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts.map b/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts.map deleted file mode 100644 index caba62e5d..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"HyperdriveUtils.d.ts","sourceRoot":"","sources":["../src/HyperdriveUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.js b/packages/hyperdrive-artifacts/dist/HyperdriveUtils.js deleted file mode 100644 index 8d58d9417..000000000 --- a/packages/hyperdrive-artifacts/dist/HyperdriveUtils.js +++ /dev/null @@ -1,5 +0,0 @@ -export const HyperdriveUtils = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220317a95d9702a7c5baacdc9bd0720fc8fa59b2c3bd6ca2145a819cafee039a0a464736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IACLManager.d.ts b/packages/hyperdrive-artifacts/dist/IACLManager.d.ts deleted file mode 100644 index 9db629997..000000000 --- a/packages/hyperdrive-artifacts/dist/IACLManager.d.ts +++ /dev/null @@ -1,321 +0,0 @@ -export declare const IACLManager: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ASSET_LISTING_ADMIN_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "EMERGENCY_ADMIN_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASH_BORROWER_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "POOL_ADMIN_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RISK_ADMIN_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addAssetListingAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addBridge"; - readonly inputs: readonly [{ - readonly name: "bridge"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addEmergencyAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addFlashBorrower"; - readonly inputs: readonly [{ - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addPoolAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addRiskAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isAssetListingAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isBridge"; - readonly inputs: readonly [{ - readonly name: "bridge"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isEmergencyAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isFlashBorrower"; - readonly inputs: readonly [{ - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPoolAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isRiskAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "removeAssetListingAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeBridge"; - readonly inputs: readonly [{ - readonly name: "bridge"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeEmergencyAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeFlashBorrower"; - readonly inputs: readonly [{ - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removePoolAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeRiskAdmin"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleAdmin"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "adminRole"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "ASSET_LISTING_ADMIN_ROLE()": "78bb0a43"; - readonly "BRIDGE_ROLE()": "b5bfddea"; - readonly "EMERGENCY_ADMIN_ROLE()": "6e76fc8f"; - readonly "FLASH_BORROWER_ROLE()": "5577b7a9"; - readonly "POOL_ADMIN_ROLE()": "b8f6dba7"; - readonly "RISK_ADMIN_ROLE()": "4f16b425"; - readonly "addAssetListingAdmin(address)": "9a2b96f7"; - readonly "addBridge(address)": "9712fdf8"; - readonly "addEmergencyAdmin(address)": "179efb09"; - readonly "addFlashBorrower(address)": "9ac9d80b"; - readonly "addPoolAdmin(address)": "22650caf"; - readonly "addRiskAdmin(address)": "5b9a94e4"; - readonly "isAssetListingAdmin(address)": "13ee32e0"; - readonly "isBridge(address)": "726600ce"; - readonly "isEmergencyAdmin(address)": "2500f2b6"; - readonly "isFlashBorrower(address)": "fa50f297"; - readonly "isPoolAdmin(address)": "7be53ca1"; - readonly "isRiskAdmin(address)": "674b5e4d"; - readonly "removeAssetListingAdmin(address)": "a21bce15"; - readonly "removeBridge(address)": "04df017d"; - readonly "removeEmergencyAdmin(address)": "7a9a93f4"; - readonly "removeFlashBorrower(address)": "253cf980"; - readonly "removePoolAdmin(address)": "f83695cb"; - readonly "removeRiskAdmin(address)": "3c5a08e5"; - readonly "setRoleAdmin(bytes32,bytes32)": "1e4e0091"; - }; -}; -//# sourceMappingURL=IACLManager.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IACLManager.d.ts.map b/packages/hyperdrive-artifacts/dist/IACLManager.d.ts.map deleted file mode 100644 index d6ca261f7..000000000 --- a/packages/hyperdrive-artifacts/dist/IACLManager.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IACLManager.d.ts","sourceRoot":"","sources":["../src/IACLManager.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8XJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IACLManager.js b/packages/hyperdrive-artifacts/dist/IACLManager.js deleted file mode 100644 index 9e56ea4c4..000000000 --- a/packages/hyperdrive-artifacts/dist/IACLManager.js +++ /dev/null @@ -1,412 +0,0 @@ -export const IACLManager = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ASSET_LISTING_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "EMERGENCY_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_BORROWER_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "POOL_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RISK_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addAssetListingAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addBridge", - "inputs": [ - { - "name": "bridge", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addEmergencyAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addFlashBorrower", - "inputs": [ - { - "name": "borrower", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addPoolAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addRiskAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isAssetListingAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isBridge", - "inputs": [ - { - "name": "bridge", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isEmergencyAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isFlashBorrower", - "inputs": [ - { - "name": "borrower", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPoolAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isRiskAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "removeAssetListingAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeBridge", - "inputs": [ - { - "name": "bridge", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeEmergencyAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeFlashBorrower", - "inputs": [ - { - "name": "borrower", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removePoolAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeRiskAdmin", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleAdmin", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "adminRole", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "ASSET_LISTING_ADMIN_ROLE()": "78bb0a43", - "BRIDGE_ROLE()": "b5bfddea", - "EMERGENCY_ADMIN_ROLE()": "6e76fc8f", - "FLASH_BORROWER_ROLE()": "5577b7a9", - "POOL_ADMIN_ROLE()": "b8f6dba7", - "RISK_ADMIN_ROLE()": "4f16b425", - "addAssetListingAdmin(address)": "9a2b96f7", - "addBridge(address)": "9712fdf8", - "addEmergencyAdmin(address)": "179efb09", - "addFlashBorrower(address)": "9ac9d80b", - "addPoolAdmin(address)": "22650caf", - "addRiskAdmin(address)": "5b9a94e4", - "isAssetListingAdmin(address)": "13ee32e0", - "isBridge(address)": "726600ce", - "isEmergencyAdmin(address)": "2500f2b6", - "isFlashBorrower(address)": "fa50f297", - "isPoolAdmin(address)": "7be53ca1", - "isRiskAdmin(address)": "674b5e4d", - "removeAssetListingAdmin(address)": "a21bce15", - "removeBridge(address)": "04df017d", - "removeEmergencyAdmin(address)": "7a9a93f4", - "removeFlashBorrower(address)": "253cf980", - "removePoolAdmin(address)": "f83695cb", - "removeRiskAdmin(address)": "3c5a08e5", - "setRoleAdmin(bytes32,bytes32)": "1e4e0091" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts b/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts deleted file mode 100644 index 8325740c7..000000000 --- a/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts +++ /dev/null @@ -1,613 +0,0 @@ -export declare const IAL2Token: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "POOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_TREASURY_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNDERLYING_ASSET_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiverOfUnderlying"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getPreviousIndex"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getScaledUserBalanceAndSupply"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "handleRepayment"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "scaledBalanceOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "scaledTotalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOnLiquidation"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferUnderlyingTo"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "BalanceTransfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "POOL()": "7535d246"; - readonly "RESERVE_TREASURY_ADDRESS()": "ae167335"; - readonly "UNDERLYING_ASSET_ADDRESS()": "b16a19de"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,address,uint256,uint256)": "d7020d0a"; - readonly "getPreviousIndex(address)": "e0753986"; - readonly "getScaledUserBalanceAndSupply(address)": "0afbcdc9"; - readonly "handleRepayment(address,address,uint256)": "6fd97676"; - readonly "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413"; - readonly "mint(address,address,uint256,uint256)": "b3f1c93d"; - readonly "mintToTreasury(uint256,uint256)": "7df5bd3b"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "scaledBalanceOf(address)": "1da24f3e"; - readonly "scaledTotalSupply()": "b1bf962d"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOnLiquidation(address,address,uint256)": "f866c319"; - readonly "transferUnderlyingTo(address,uint256)": "4efecaa5"; - }; -}; -//# sourceMappingURL=IAL2Token.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts.map b/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts.map deleted file mode 100644 index 93cead405..000000000 --- a/packages/hyperdrive-artifacts/dist/IAL2Token.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAL2Token.d.ts","sourceRoot":"","sources":["../src/IAL2Token.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8uBF,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAL2Token.js b/packages/hyperdrive-artifacts/dist/IAL2Token.js deleted file mode 100644 index b11774ef7..000000000 --- a/packages/hyperdrive-artifacts/dist/IAL2Token.js +++ /dev/null @@ -1,778 +0,0 @@ -export const IAL2Token = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "POOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IL2Pool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_TREASURY_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNDERLYING_ASSET_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "receiverOfUnderlying", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getPreviousIndex", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getScaledUserBalanceAndSupply", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "handleRepayment", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "treasury", - "type": "address", - "internalType": "address" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "scaledBalanceOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "scaledTotalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOnLiquidation", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferUnderlyingTo", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "BalanceTransfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Burn", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "treasury", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "POOL()": "7535d246", - "RESERVE_TREASURY_ADDRESS()": "ae167335", - "UNDERLYING_ASSET_ADDRESS()": "b16a19de", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(address,address,uint256,uint256)": "d7020d0a", - "getPreviousIndex(address)": "e0753986", - "getScaledUserBalanceAndSupply(address)": "0afbcdc9", - "handleRepayment(address,address,uint256)": "6fd97676", - "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413", - "mint(address,address,uint256,uint256)": "b3f1c93d", - "mintToTreasury(uint256,uint256)": "7df5bd3b", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "rescueTokens(address,address,uint256)": "cea9d26f", - "scaledBalanceOf(address)": "1da24f3e", - "scaledTotalSupply()": "b1bf962d", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOnLiquidation(address,address,uint256)": "f866c319", - "transferUnderlyingTo(address,uint256)": "4efecaa5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAToken.d.ts b/packages/hyperdrive-artifacts/dist/IAToken.d.ts deleted file mode 100644 index 1c351e25e..000000000 --- a/packages/hyperdrive-artifacts/dist/IAToken.d.ts +++ /dev/null @@ -1,602 +0,0 @@ -export declare const IAToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "RESERVE_TREASURY_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "UNDERLYING_ASSET_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiverOfUnderlying"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getPreviousIndex"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getScaledUserBalanceAndSupply"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "handleRepayment"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "scaledBalanceOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "scaledTotalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOnLiquidation"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferUnderlyingTo"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "BalanceTransfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "RESERVE_TREASURY_ADDRESS()": "ae167335"; - readonly "UNDERLYING_ASSET_ADDRESS()": "b16a19de"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,address,uint256,uint256)": "d7020d0a"; - readonly "getPreviousIndex(address)": "e0753986"; - readonly "getScaledUserBalanceAndSupply(address)": "0afbcdc9"; - readonly "handleRepayment(address,address,uint256)": "6fd97676"; - readonly "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413"; - readonly "mint(address,address,uint256,uint256)": "b3f1c93d"; - readonly "mintToTreasury(uint256,uint256)": "7df5bd3b"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "scaledBalanceOf(address)": "1da24f3e"; - readonly "scaledTotalSupply()": "b1bf962d"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOnLiquidation(address,address,uint256)": "f866c319"; - readonly "transferUnderlyingTo(address,uint256)": "4efecaa5"; - }; -}; -//# sourceMappingURL=IAToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IAToken.d.ts.map deleted file mode 100644 index 2f2a4c17f..000000000 --- a/packages/hyperdrive-artifacts/dist/IAToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAToken.d.ts","sourceRoot":"","sources":["../src/IAToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiuBA,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAToken.js b/packages/hyperdrive-artifacts/dist/IAToken.js deleted file mode 100644 index e56aec2ae..000000000 --- a/packages/hyperdrive-artifacts/dist/IAToken.js +++ /dev/null @@ -1,764 +0,0 @@ -export const IAToken = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RESERVE_TREASURY_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "UNDERLYING_ASSET_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "receiverOfUnderlying", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getPreviousIndex", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getScaledUserBalanceAndSupply", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "handleRepayment", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "treasury", - "type": "address", - "internalType": "address" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "scaledBalanceOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "scaledTotalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOnLiquidation", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferUnderlyingTo", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "BalanceTransfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Burn", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "treasury", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "RESERVE_TREASURY_ADDRESS()": "ae167335", - "UNDERLYING_ASSET_ADDRESS()": "b16a19de", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(address,address,uint256,uint256)": "d7020d0a", - "getPreviousIndex(address)": "e0753986", - "getScaledUserBalanceAndSupply(address)": "0afbcdc9", - "handleRepayment(address,address,uint256)": "6fd97676", - "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413", - "mint(address,address,uint256,uint256)": "b3f1c93d", - "mintToTreasury(uint256,uint256)": "7df5bd3b", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "rescueTokens(address,address,uint256)": "cea9d26f", - "scaledBalanceOf(address)": "1da24f3e", - "scaledTotalSupply()": "b1bf962d", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOnLiquidation(address,address,uint256)": "f866c319", - "transferUnderlyingTo(address,uint256)": "4efecaa5" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts deleted file mode 100644 index b4fd2f8fd..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IAaveHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts.map deleted file mode 100644 index 2044b919f..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveHyperdrive.d.ts","sourceRoot":"","sources":["../src/IAaveHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1ER,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.js b/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.js deleted file mode 100644 index f09e68bfe..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IAaveHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index c3960abac..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,443 +0,0 @@ -export declare const IAaveHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,uint256)": "ce34a8c3"; - readonly "convertToShares(address,address,uint256)": "0550e6e4"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 76317dbf8..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IAaveHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsiB3B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.js deleted file mode 100644 index 65604a02a..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,563 +0,0 @@ -export const IAaveHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,address,uint256)": "ce34a8c3", - "convertToShares(address,address,uint256)": "0550e6e4", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts deleted file mode 100644 index 149317a59..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts +++ /dev/null @@ -1,586 +0,0 @@ -export declare const IAaveHyperdriveRead: { - abi: readonly [{ - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveHyperdriveRead.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts.map deleted file mode 100644 index a0cb1d3f3..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveHyperdriveRead.d.ts","sourceRoot":"","sources":["../src/IAaveHyperdriveRead.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAotBZ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.js b/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.js deleted file mode 100644 index 5ff6f83ba..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveHyperdriveRead.js +++ /dev/null @@ -1,755 +0,0 @@ -export const IAaveHyperdriveRead = { - abi: [ - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts b/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts deleted file mode 100644 index 5bbc362d1..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -export declare const IAaveIncentivesController: { - abi: readonly [{ - readonly type: "function"; - readonly name: "handleAction"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "totalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "userBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "handleAction(address,uint256,uint256)": "31873e2e"; - }; -}; -//# sourceMappingURL=IAaveIncentivesController.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts.map deleted file mode 100644 index c6c9e1d97..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveIncentivesController.d.ts","sourceRoot":"","sources":["../src/IAaveIncentivesController.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;cA0BlB,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.js b/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.js deleted file mode 100644 index cca977453..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveIncentivesController.js +++ /dev/null @@ -1,31 +0,0 @@ -export const IAaveIncentivesController = { - abi: [ - { - "type": "function", - "name": "handleAction", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "totalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "userBalance", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "handleAction(address,uint256,uint256)": "31873e2e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts deleted file mode 100644 index 305ddd673..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IAaveL2Hyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveL2Hyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts.map deleted file mode 100644 index a83bf28c9..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveL2Hyperdrive.d.ts","sourceRoot":"","sources":["../src/IAaveL2Hyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1EV,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.js b/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.js deleted file mode 100644 index a6193139e..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2Hyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IAaveL2Hyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IL2Pool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 083935b7c..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,443 +0,0 @@ -export declare const IAaveL2HyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,uint256)": "ce34a8c3"; - readonly "convertToShares(address,address,uint256)": "0550e6e4"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveL2HyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 5dba991b7..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveL2HyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IAaveL2HyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsiB7B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.js deleted file mode 100644 index 6c8f077b5..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,563 +0,0 @@ -export const IAaveL2HyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IL2Pool" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_vault", - "type": "address", - "internalType": "contract IL2Pool" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,address,uint256)": "ce34a8c3", - "convertToShares(address,address,uint256)": "0550e6e4", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts deleted file mode 100644 index b20fcf854..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts +++ /dev/null @@ -1,586 +0,0 @@ -export declare const IAaveL2HyperdriveRead: { - abi: readonly [{ - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IL2Pool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAaveL2HyperdriveRead.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts.map b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts.map deleted file mode 100644 index 1e0da7587..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAaveL2HyperdriveRead.d.ts","sourceRoot":"","sources":["../src/IAaveL2HyperdriveRead.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAotBd,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.js b/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.js deleted file mode 100644 index d54eee488..000000000 --- a/packages/hyperdrive-artifacts/dist/IAaveL2HyperdriveRead.js +++ /dev/null @@ -1,755 +0,0 @@ -export const IAaveL2HyperdriveRead = { - abi: [ - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IL2Pool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts b/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts deleted file mode 100644 index 8d414becc..000000000 --- a/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts +++ /dev/null @@ -1,146 +0,0 @@ -export declare const IAccessControl: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getRoleAdmin"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "grantRole"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "hasRole"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renounceRole"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "revokeRole"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "RoleAdminChanged"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "previousAdminRole"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "newAdminRole"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleGranted"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleRevoked"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getRoleAdmin(bytes32)": "248a9ca3"; - readonly "grantRole(bytes32,address)": "2f2ff15d"; - readonly "hasRole(bytes32,address)": "91d14854"; - readonly "renounceRole(bytes32,address)": "36568abe"; - readonly "revokeRole(bytes32,address)": "d547741f"; - }; -}; -//# sourceMappingURL=IAccessControl.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts.map b/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts.map deleted file mode 100644 index 349960a6c..000000000 --- a/packages/hyperdrive-artifacts/dist/IAccessControl.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAccessControl.d.ts","sourceRoot":"","sources":["../src/IAccessControl.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+KP,KAAK,MAAM,EAAE;;;;;;;;CAQhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAccessControl.js b/packages/hyperdrive-artifacts/dist/IAccessControl.js deleted file mode 100644 index db5a6f661..000000000 --- a/packages/hyperdrive-artifacts/dist/IAccessControl.js +++ /dev/null @@ -1,184 +0,0 @@ -export const IAccessControl = { - abi: [ - { - "type": "function", - "name": "getRoleAdmin", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "grantRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "hasRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renounceRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokeRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "RoleAdminChanged", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "newAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleGranted", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleRevoked", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts deleted file mode 100644 index 14f1572a1..000000000 --- a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts +++ /dev/null @@ -1,1943 +0,0 @@ -export declare const IAerodromeLpHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "gauge"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReward"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "gauge()": "a6f19c84"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getReward()": "3d18b912"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IAerodromeLpHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts.map deleted file mode 100644 index b8cc92b2a..000000000 --- a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IAerodromeLpHyperdrive.d.ts","sourceRoot":"","sources":["../src/IAerodromeLpHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo2Ef,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.js b/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.js deleted file mode 100644 index c7c377189..000000000 --- a/packages/hyperdrive-artifacts/dist/IAerodromeLpHyperdrive.js +++ /dev/null @@ -1,2464 +0,0 @@ -export const IAerodromeLpHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "gauge", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReward", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "gauge()": "a6f19c84", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getReward()": "3d18b912", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts b/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts deleted file mode 100644 index 64d325a28..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts +++ /dev/null @@ -1,109 +0,0 @@ -export declare const IChainlinkAggregatorV3: { - abi: readonly [{ - readonly type: "function"; - readonly name: "aggregator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "description"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRoundData"; - readonly inputs: readonly [{ - readonly name: "_roundId"; - readonly type: "uint80"; - readonly internalType: "uint80"; - }]; - readonly outputs: readonly [{ - readonly name: "roundId"; - readonly type: "uint80"; - readonly internalType: "uint80"; - }, { - readonly name: "answer"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "startedAt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "updatedAt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "answeredInRound"; - readonly type: "uint80"; - readonly internalType: "uint80"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "latestRoundData"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "roundId"; - readonly type: "uint80"; - readonly internalType: "uint80"; - }, { - readonly name: "answer"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "startedAt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "updatedAt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "answeredInRound"; - readonly type: "uint80"; - readonly internalType: "uint80"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "aggregator()": "245a7bfc"; - readonly "decimals()": "313ce567"; - readonly "description()": "7284e416"; - readonly "getRoundData(uint80)": "9a6fc8f5"; - readonly "latestRoundData()": "feaf968c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IChainlinkAggregatorV3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts.map b/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts.map deleted file mode 100644 index 4b369468a..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IChainlinkAggregatorV3.d.ts","sourceRoot":"","sources":["../src/IChainlinkAggregatorV3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+Hf,KAAK,MAAM,EAAE;;;;;;;;;CAShC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.js b/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.js deleted file mode 100644 index 006cdfe97..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkAggregatorV3.js +++ /dev/null @@ -1,137 +0,0 @@ -export const IChainlinkAggregatorV3 = { - abi: [ - { - "type": "function", - "name": "aggregator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "description", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoundData", - "inputs": [ - { - "name": "_roundId", - "type": "uint80", - "internalType": "uint80" - } - ], - "outputs": [ - { - "name": "roundId", - "type": "uint80", - "internalType": "uint80" - }, - { - "name": "answer", - "type": "int256", - "internalType": "int256" - }, - { - "name": "startedAt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "updatedAt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "answeredInRound", - "type": "uint80", - "internalType": "uint80" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "latestRoundData", - "inputs": [], - "outputs": [ - { - "name": "roundId", - "type": "uint80", - "internalType": "uint80" - }, - { - "name": "answer", - "type": "int256", - "internalType": "int256" - }, - { - "name": "startedAt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "updatedAt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "answeredInRound", - "type": "uint80", - "internalType": "uint80" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "aggregator()": "245a7bfc", - "decimals()": "313ce567", - "description()": "7284e416", - "getRoundData(uint80)": "9a6fc8f5", - "latestRoundData()": "feaf968c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts deleted file mode 100644 index 353d69771..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IChainlinkHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "aggregator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IChainlinkAggregatorV3"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "aggregator()": "245a7bfc"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IChainlinkHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts.map deleted file mode 100644 index 91d6712f6..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IChainlinkHyperdrive.d.ts","sourceRoot":"","sources":["../src/IChainlinkHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1Eb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.js b/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.js deleted file mode 100644 index 3760aa97a..000000000 --- a/packages/hyperdrive-artifacts/dist/IChainlinkHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IChainlinkHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "aggregator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IChainlinkAggregatorV3" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "aggregator()": "245a7bfc", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts deleted file mode 100644 index 9f46aa303..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const ICornHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "cornSilo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ICornSilo"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "cornSilo()": "7d1849ab"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ICornHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts.map deleted file mode 100644 index e8d417ddb..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ICornHyperdrive.d.ts","sourceRoot":"","sources":["../src/ICornHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1ER,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.js b/packages/hyperdrive-artifacts/dist/ICornHyperdrive.js deleted file mode 100644 index 3273eff45..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const ICornHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "cornSilo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ICornSilo" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "cornSilo()": "7d1849ab", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts b/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts deleted file mode 100644 index 0b700cc3c..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts +++ /dev/null @@ -1,565 +0,0 @@ -export declare const ICornSilo: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addApprovedToken"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "bridgeAllTokens"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "cost"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxGas"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "gasPriceBid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "bridgeToken"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "maxGas"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "gasPriceBid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "depositFor"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableBridge"; - readonly inputs: readonly [{ - readonly name: "gatewayRouter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "erc20Inbox"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "swapFacilityVault"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "from18DecimalsToAssetDecimals"; - readonly inputs: readonly [{ - readonly name: "amountIn18Decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "fromAssetDecimalsTo18Decimals"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getApprovedTokens"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getGatewayRouter"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "gatewayRouter"; - readonly type: "address"; - readonly internalType: "contract IGatewayRouter"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mintAndDepositBitcorn"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintAndDepositBitcornFor"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemAll"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "approvedTokens"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "depositedAssets"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "bitcornShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minterAssetReturned"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemBitcorn"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemToken"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sharesOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "unpause"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "BridgeEnabled"; - readonly inputs: readonly [{ - readonly name: "gatewayRouter"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "swapFacilityVault"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TokenBridged"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maxGas"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "gasPriceBid"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TokenDeposited"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "token"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TokenWithdrawn"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "token"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowOneSatoshiOfShares"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "oneSatoshiOfBitcornShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "BitcornMinterAssetMustNotBeApprovedToken"; - readonly inputs: readonly [{ - readonly name: "bitcornMinterAsset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BitcornMustNotBeApprovedToken"; - readonly inputs: readonly [{ - readonly name: "bitcorn"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BridgeIsEnabled"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BridgeIsNotSet"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BridgeNotEnabled"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBitcornSharesToBridge"; - readonly inputs: readonly [{ - readonly name: "cachedShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "requiredShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "InsufficientShares"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "cachedShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "SharesNotMultipleOfOneSatoshi"; - readonly inputs: readonly [{ - readonly name: "bitcornShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "oneSatoshiOfBitcornShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "TokenAlreadyApproved"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TokenNotApproved"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "WithdrawalFeeAboveMax"; - readonly inputs: readonly [{ - readonly name: "fee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ZeroDeposit"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ZeroShares"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ZeroSharesForAnyToken"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ZeroWithdraw"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addApprovedToken(address)": "cd10534b"; - readonly "bridgeAllTokens(address,uint256,uint256,uint256,bytes)": "3d169812"; - readonly "bridgeToken(address,address,uint256,uint256,bytes)": "b9d64e9f"; - readonly "deposit(address,uint256)": "47e7ef24"; - readonly "depositFor(address,address,uint256)": "b3db428b"; - readonly "enableBridge(address,address,address)": "15ec1f6f"; - readonly "from18DecimalsToAssetDecimals(uint256)": "789680f4"; - readonly "fromAssetDecimalsTo18Decimals(uint256)": "101ab12c"; - readonly "getApprovedTokens()": "6afc0c5f"; - readonly "getGatewayRouter()": "87f0cf2e"; - readonly "mintAndDepositBitcorn(uint256)": "ce75d53e"; - readonly "mintAndDepositBitcornFor(address,uint256)": "55ae9046"; - readonly "pause()": "8456cb59"; - readonly "redeemAll()": "2f4350c2"; - readonly "redeemBitcorn(uint256)": "bdafe351"; - readonly "redeemToken(address,uint256)": "830cbbbd"; - readonly "sharesOf(address,address)": "0a7292f5"; - readonly "totalShares(address)": "bf6b874e"; - readonly "unpause()": "3f4ba83a"; - }; -}; -//# sourceMappingURL=ICornSilo.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts.map b/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts.map deleted file mode 100644 index b61cbed0d..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornSilo.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ICornSilo.d.ts","sourceRoot":"","sources":["../src/ICornSilo.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAksBF,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICornSilo.js b/packages/hyperdrive-artifacts/dist/ICornSilo.js deleted file mode 100644 index 91e8dbf4d..000000000 --- a/packages/hyperdrive-artifacts/dist/ICornSilo.js +++ /dev/null @@ -1,729 +0,0 @@ -export const ICornSilo = { - abi: [ - { - "type": "function", - "name": "addApprovedToken", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "bridgeAllTokens", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "cost", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxGas", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "gasPriceBid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "bridgeToken", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "maxGas", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "gasPriceBid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "depositFor", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableBridge", - "inputs": [ - { - "name": "gatewayRouter", - "type": "address", - "internalType": "address" - }, - { - "name": "erc20Inbox", - "type": "address", - "internalType": "address" - }, - { - "name": "swapFacilityVault", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "from18DecimalsToAssetDecimals", - "inputs": [ - { - "name": "amountIn18Decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "fromAssetDecimalsTo18Decimals", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getApprovedTokens", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGatewayRouter", - "inputs": [], - "outputs": [ - { - "name": "gatewayRouter", - "type": "address", - "internalType": "contract IGatewayRouter" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mintAndDepositBitcorn", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintAndDepositBitcornFor", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "pause", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemAll", - "inputs": [], - "outputs": [ - { - "name": "approvedTokens", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "depositedAssets", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "bitcornShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minterAssetReturned", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemBitcorn", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemToken", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sharesOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "unpause", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "BridgeEnabled", - "inputs": [ - { - "name": "gatewayRouter", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "swapFacilityVault", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TokenBridged", - "inputs": [ - { - "name": "token", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maxGas", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "gasPriceBid", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TokenDeposited", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TokenWithdrawn", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "token", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowOneSatoshiOfShares", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "oneSatoshiOfBitcornShares", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "BitcornMinterAssetMustNotBeApprovedToken", - "inputs": [ - { - "name": "bitcornMinterAsset", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BitcornMustNotBeApprovedToken", - "inputs": [ - { - "name": "bitcorn", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BridgeIsEnabled", - "inputs": [] - }, - { - "type": "error", - "name": "BridgeIsNotSet", - "inputs": [] - }, - { - "type": "error", - "name": "BridgeNotEnabled", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBitcornSharesToBridge", - "inputs": [ - { - "name": "cachedShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "requiredShares", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "InsufficientShares", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "cachedShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "SharesNotMultipleOfOneSatoshi", - "inputs": [ - { - "name": "bitcornShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "oneSatoshiOfBitcornShares", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "TokenAlreadyApproved", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TokenNotApproved", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "WithdrawalFeeAboveMax", - "inputs": [ - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ZeroDeposit", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ZeroShares", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ZeroSharesForAnyToken", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ZeroWithdraw", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: { - "addApprovedToken(address)": "cd10534b", - "bridgeAllTokens(address,uint256,uint256,uint256,bytes)": "3d169812", - "bridgeToken(address,address,uint256,uint256,bytes)": "b9d64e9f", - "deposit(address,uint256)": "47e7ef24", - "depositFor(address,address,uint256)": "b3db428b", - "enableBridge(address,address,address)": "15ec1f6f", - "from18DecimalsToAssetDecimals(uint256)": "789680f4", - "fromAssetDecimalsTo18Decimals(uint256)": "101ab12c", - "getApprovedTokens()": "6afc0c5f", - "getGatewayRouter()": "87f0cf2e", - "mintAndDepositBitcorn(uint256)": "ce75d53e", - "mintAndDepositBitcornFor(address,uint256)": "55ae9046", - "pause()": "8456cb59", - "redeemAll()": "2f4350c2", - "redeemBitcorn(uint256)": "bdafe351", - "redeemToken(address,uint256)": "830cbbbd", - "sharesOf(address,address)": "0a7292f5", - "totalShares(address)": "bf6b874e", - "unpause()": "3f4ba83a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ICreateX.d.ts b/packages/hyperdrive-artifacts/dist/ICreateX.d.ts deleted file mode 100644 index 3174f0e98..000000000 --- a/packages/hyperdrive-artifacts/dist/ICreateX.d.ts +++ /dev/null @@ -1,705 +0,0 @@ -export declare const ICreateX: { - abi: readonly [{ - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate3Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate3Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployCreate"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2Clone"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2Clone"; - readonly inputs: readonly [{ - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateAndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateAndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateClone"; - readonly inputs: readonly [{ - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "ContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "salt"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Create3ProxyContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "salt"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "FailedContractCreation"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedContractInitialisation"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedEtherTransfer"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "InvalidNonceValue"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "InvalidSalt"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "computeCreate2Address(bytes32,bytes32)": "890c283b"; - readonly "computeCreate2Address(bytes32,bytes32,address)": "d323826a"; - readonly "computeCreate3Address(bytes32)": "6cec2536"; - readonly "computeCreate3Address(bytes32,address)": "42d654fc"; - readonly "computeCreateAddress(address,uint256)": "74637a7a"; - readonly "computeCreateAddress(uint256)": "28ddd046"; - readonly "deployCreate(bytes)": "27fe1822"; - readonly "deployCreate2(bytes)": "26a32fc7"; - readonly "deployCreate2(bytes32,bytes)": "26307668"; - readonly "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b"; - readonly "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a"; - readonly "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4"; - readonly "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2"; - readonly "deployCreate2Clone(address,bytes)": "81503da1"; - readonly "deployCreate2Clone(bytes32,address,bytes)": "2852527a"; - readonly "deployCreate3(bytes)": "7f565360"; - readonly "deployCreate3(bytes32,bytes)": "9c36a286"; - readonly "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f"; - readonly "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba"; - readonly "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb"; - readonly "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb"; - readonly "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8"; - readonly "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077"; - readonly "deployCreateClone(address,bytes)": "f9664498"; - }; -}; -//# sourceMappingURL=ICreateX.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICreateX.d.ts.map b/packages/hyperdrive-artifacts/dist/ICreateX.d.ts.map deleted file mode 100644 index cc3aa55d2..000000000 --- a/packages/hyperdrive-artifacts/dist/ICreateX.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ICreateX.d.ts","sourceRoot":"","sources":["../src/ICreateX.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+3BD,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ICreateX.js b/packages/hyperdrive-artifacts/dist/ICreateX.js deleted file mode 100644 index 15469fd97..000000000 --- a/packages/hyperdrive-artifacts/dist/ICreateX.js +++ /dev/null @@ -1,923 +0,0 @@ -export const ICreateX = { - abi: [ - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate3Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate3Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployCreate", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2Clone", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2Clone", - "inputs": [ - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateAndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateAndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateClone", - "inputs": [ - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "ContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "salt", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Create3ProxyContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "salt", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "FailedContractCreation", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedContractInitialisation", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "FailedEtherTransfer", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "InvalidNonceValue", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "InvalidSalt", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: { - "computeCreate2Address(bytes32,bytes32)": "890c283b", - "computeCreate2Address(bytes32,bytes32,address)": "d323826a", - "computeCreate3Address(bytes32)": "6cec2536", - "computeCreate3Address(bytes32,address)": "42d654fc", - "computeCreateAddress(address,uint256)": "74637a7a", - "computeCreateAddress(uint256)": "28ddd046", - "deployCreate(bytes)": "27fe1822", - "deployCreate2(bytes)": "26a32fc7", - "deployCreate2(bytes32,bytes)": "26307668", - "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b", - "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a", - "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4", - "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2", - "deployCreate2Clone(address,bytes)": "81503da1", - "deployCreate2Clone(bytes32,address,bytes)": "2852527a", - "deployCreate3(bytes)": "7f565360", - "deployCreate3(bytes32,bytes)": "9c36a286", - "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f", - "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba", - "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb", - "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb", - "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8", - "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077", - "deployCreateClone(address,bytes)": "f9664498" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts b/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts deleted file mode 100644 index 08645e6b2..000000000 --- a/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -export declare const IDepositQueue: { - abi: readonly [{ - readonly type: "function"; - readonly name: "depositETHFromProtocol"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "totalEarned"; - readonly inputs: readonly [{ - readonly name: "tokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "depositETHFromProtocol()": "d123ccd5"; - readonly "totalEarned(address)": "649aca4a"; - }; -}; -//# sourceMappingURL=IDepositQueue.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts.map b/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts.map deleted file mode 100644 index 5d4beba05..000000000 --- a/packages/hyperdrive-artifacts/dist/IDepositQueue.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IDepositQueue.d.ts","sourceRoot":"","sources":["../src/IDepositQueue.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;cA6BN,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IDepositQueue.js b/packages/hyperdrive-artifacts/dist/IDepositQueue.js deleted file mode 100644 index 7bcb80ae9..000000000 --- a/packages/hyperdrive-artifacts/dist/IDepositQueue.js +++ /dev/null @@ -1,35 +0,0 @@ -export const IDepositQueue = { - abi: [ - { - "type": "function", - "name": "depositETHFromProtocol", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "totalEarned", - "inputs": [ - { - "name": "tokenAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "depositETHFromProtocol()": "d123ccd5", - "totalEarned(address)": "649aca4a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts b/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts deleted file mode 100644 index 161ba3871..000000000 --- a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts +++ /dev/null @@ -1,705 +0,0 @@ -export declare const IDeterministicDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate3Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate3Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "computedAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployCreate"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2Clone"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate2Clone"; - readonly inputs: readonly [{ - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreate3AndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateAndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateAndInit"; - readonly inputs: readonly [{ - readonly name: "initCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "values"; - readonly type: "tuple"; - readonly internalType: "struct ICreateX.Values"; - readonly components: readonly [{ - readonly name: "constructorAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initCallAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "refundAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployCreateClone"; - readonly inputs: readonly [{ - readonly name: "implementation"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "proxy"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "ContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "salt"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Create3ProxyContractCreation"; - readonly inputs: readonly [{ - readonly name: "newContract"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "salt"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "FailedContractCreation"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedContractInitialisation"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedEtherTransfer"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "InvalidNonceValue"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "InvalidSalt"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "computeCreate2Address(bytes32,bytes32)": "890c283b"; - readonly "computeCreate2Address(bytes32,bytes32,address)": "d323826a"; - readonly "computeCreate3Address(bytes32)": "6cec2536"; - readonly "computeCreate3Address(bytes32,address)": "42d654fc"; - readonly "computeCreateAddress(address,uint256)": "74637a7a"; - readonly "computeCreateAddress(uint256)": "28ddd046"; - readonly "deployCreate(bytes)": "27fe1822"; - readonly "deployCreate2(bytes)": "26a32fc7"; - readonly "deployCreate2(bytes32,bytes)": "26307668"; - readonly "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b"; - readonly "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a"; - readonly "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4"; - readonly "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2"; - readonly "deployCreate2Clone(address,bytes)": "81503da1"; - readonly "deployCreate2Clone(bytes32,address,bytes)": "2852527a"; - readonly "deployCreate3(bytes)": "7f565360"; - readonly "deployCreate3(bytes32,bytes)": "9c36a286"; - readonly "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f"; - readonly "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba"; - readonly "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb"; - readonly "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb"; - readonly "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8"; - readonly "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077"; - readonly "deployCreateClone(address,bytes)": "f9664498"; - }; -}; -//# sourceMappingURL=IDeterministicDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts.map deleted file mode 100644 index 7886c1738..000000000 --- a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IDeterministicDeployer.d.ts","sourceRoot":"","sources":["../src/IDeterministicDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+3Bf,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.js b/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.js deleted file mode 100644 index fb65270a0..000000000 --- a/packages/hyperdrive-artifacts/dist/IDeterministicDeployer.js +++ /dev/null @@ -1,923 +0,0 @@ -export const IDeterministicDeployer = { - abi: [ - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate3Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate3Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "computedAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployCreate", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2Clone", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate2Clone", - "inputs": [ - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreate3AndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateAndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateAndInit", - "inputs": [ - { - "name": "initCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "values", - "type": "tuple", - "internalType": "struct ICreateX.Values", - "components": [ - { - "name": "constructorAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initCallAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "refundAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "newContract", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployCreateClone", - "inputs": [ - { - "name": "implementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "proxy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "ContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "salt", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Create3ProxyContractCreation", - "inputs": [ - { - "name": "newContract", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "salt", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "FailedContractCreation", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedContractInitialisation", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "FailedEtherTransfer", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "InvalidNonceValue", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "InvalidSalt", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: { - "computeCreate2Address(bytes32,bytes32)": "890c283b", - "computeCreate2Address(bytes32,bytes32,address)": "d323826a", - "computeCreate3Address(bytes32)": "6cec2536", - "computeCreate3Address(bytes32,address)": "42d654fc", - "computeCreateAddress(address,uint256)": "74637a7a", - "computeCreateAddress(uint256)": "28ddd046", - "deployCreate(bytes)": "27fe1822", - "deployCreate2(bytes)": "26a32fc7", - "deployCreate2(bytes32,bytes)": "26307668", - "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b", - "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a", - "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4", - "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2", - "deployCreate2Clone(address,bytes)": "81503da1", - "deployCreate2Clone(bytes32,address,bytes)": "2852527a", - "deployCreate3(bytes)": "7f565360", - "deployCreate3(bytes32,bytes)": "9c36a286", - "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f", - "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba", - "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb", - "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb", - "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8", - "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077", - "deployCreateClone(address,bytes)": "f9664498" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEETH.d.ts b/packages/hyperdrive-artifacts/dist/IEETH.d.ts deleted file mode 100644 index e7077b804..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETH.d.ts +++ /dev/null @@ -1,183 +0,0 @@ -export declare const IEETH: { - abi: readonly [{ - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burnShares"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_share"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_liquidityPool"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintShares"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_share"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "shares"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "burnShares(address,uint256)": "ee7a7c04"; - readonly "decimals()": "313ce567"; - readonly "initialize(address)": "c4d66de8"; - readonly "mintShares(address,uint256)": "528c198a"; - readonly "name()": "06fdde03"; - readonly "shares(address)": "ce7c2ac2"; - readonly "symbol()": "95d89b41"; - readonly "totalShares()": "3a98ef39"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IEETH.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEETH.d.ts.map b/packages/hyperdrive-artifacts/dist/IEETH.d.ts.map deleted file mode 100644 index 32dab5b9f..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETH.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEETH.d.ts","sourceRoot":"","sources":["../src/IEETH.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2NE,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;CAehC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEETH.js b/packages/hyperdrive-artifacts/dist/IEETH.js deleted file mode 100644 index 7f30226a9..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETH.js +++ /dev/null @@ -1,235 +0,0 @@ -export const IEETH = { - abi: [ - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burnShares", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - }, - { - "name": "_share", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_liquidityPool", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintShares", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - }, - { - "name": "_share", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "shares", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burnShares(address,uint256)": "ee7a7c04", - "decimals()": "313ce567", - "initialize(address)": "c4d66de8", - "mintShares(address,uint256)": "528c198a", - "name()": "06fdde03", - "shares(address)": "ce7c2ac2", - "symbol()": "95d89b41", - "totalShares()": "3a98ef39", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts deleted file mode 100644 index 6f2c41ae4..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IEETHHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "liquidityPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "liquidityPool()": "665a11ca"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IEETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts.map deleted file mode 100644 index a4756b13a..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/IEETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1ER,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.js deleted file mode 100644 index c4f7df574..000000000 --- a/packages/hyperdrive-artifacts/dist/IEETHHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IEETHHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "liquidityPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "liquidityPool()": "665a11ca", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts b/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts deleted file mode 100644 index 2d99f8193..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts +++ /dev/null @@ -1,82 +0,0 @@ -export declare const IERC1155Errors: { - abi: readonly [{ - readonly type: "error"; - readonly name: "ERC1155InsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "balance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "needed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155InvalidApprover"; - readonly inputs: readonly [{ - readonly name: "approver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155InvalidArrayLength"; - readonly inputs: readonly [{ - readonly name: "idsLength"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "valuesLength"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155InvalidOperator"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155InvalidReceiver"; - readonly inputs: readonly [{ - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155InvalidSender"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC1155MissingApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IERC1155Errors.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts.map deleted file mode 100644 index d0161cee1..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC1155Errors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC1155Errors.d.ts","sourceRoot":"","sources":["../src/IERC1155Errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyGP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC1155Errors.js b/packages/hyperdrive-artifacts/dist/IERC1155Errors.js deleted file mode 100644 index 4fde8d96a..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC1155Errors.js +++ /dev/null @@ -1,108 +0,0 @@ -export const IERC1155Errors = { - abi: [ - { - "type": "error", - "name": "ERC1155InsufficientBalance", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "balance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "needed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC1155InvalidApprover", - "inputs": [ - { - "name": "approver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC1155InvalidArrayLength", - "inputs": [ - { - "name": "idsLength", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "valuesLength", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC1155InvalidOperator", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC1155InvalidReceiver", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC1155InvalidSender", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC1155MissingApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC165.d.ts b/packages/hyperdrive-artifacts/dist/IERC165.d.ts deleted file mode 100644 index dff64a959..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC165.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -export declare const IERC165: { - abi: readonly [{ - readonly type: "function"; - readonly name: "supportsInterface"; - readonly inputs: readonly [{ - readonly name: "interfaceID"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "supportsInterface(bytes4)": "01ffc9a7"; - }; -}; -//# sourceMappingURL=IERC165.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC165.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC165.d.ts.map deleted file mode 100644 index 6e6c18a8b..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC165.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC165.d.ts","sourceRoot":"","sources":["../src/IERC165.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;cAsBA,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC165.js b/packages/hyperdrive-artifacts/dist/IERC165.js deleted file mode 100644 index 0b4d07e27..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC165.js +++ /dev/null @@ -1,27 +0,0 @@ -export const IERC165 = { - abi: [ - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceID", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "supportsInterface(bytes4)": "01ffc9a7" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20.d.ts b/packages/hyperdrive-artifacts/dist/IERC20.d.ts deleted file mode 100644 index 5f3bdeb2c..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20.d.ts +++ /dev/null @@ -1,186 +0,0 @@ -export declare const IERC20: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20.d.ts.map deleted file mode 100644 index 7689c281c..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20.d.ts","sourceRoot":"","sources":["../src/IERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiOC,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20.js b/packages/hyperdrive-artifacts/dist/IERC20.js deleted file mode 100644 index 648622844..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20.js +++ /dev/null @@ -1,238 +0,0 @@ -export const IERC20 = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts b/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts deleted file mode 100644 index c10e2304c..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts +++ /dev/null @@ -1,186 +0,0 @@ -export declare const IERC20Detailed: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC20Detailed.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts.map deleted file mode 100644 index 7f0594311..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Detailed.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20Detailed.d.ts","sourceRoot":"","sources":["../src/IERC20Detailed.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiOP,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Detailed.js b/packages/hyperdrive-artifacts/dist/IERC20Detailed.js deleted file mode 100644 index 355b4b494..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Detailed.js +++ /dev/null @@ -1,238 +0,0 @@ -export const IERC20Detailed = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts b/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts deleted file mode 100644 index fddc0cafc..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts +++ /dev/null @@ -1,70 +0,0 @@ -export declare const IERC20Errors: { - abi: readonly [{ - readonly type: "error"; - readonly name: "ERC20InsufficientAllowance"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "allowance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "needed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "balance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "needed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidApprover"; - readonly inputs: readonly [{ - readonly name: "approver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidReceiver"; - readonly inputs: readonly [{ - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidSender"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidSpender"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IERC20Errors.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts.map deleted file mode 100644 index 92d0f2f08..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Errors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20Errors.d.ts","sourceRoot":"","sources":["../src/IERC20Errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyFL,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Errors.js b/packages/hyperdrive-artifacts/dist/IERC20Errors.js deleted file mode 100644 index 7700b982f..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Errors.js +++ /dev/null @@ -1,92 +0,0 @@ -export const IERC20Errors = { - abi: [ - { - "type": "error", - "name": "ERC20InsufficientAllowance", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "allowance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "needed", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC20InsufficientBalance", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "balance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "needed", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidApprover", - "inputs": [ - { - "name": "approver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidReceiver", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSender", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSpender", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts b/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts deleted file mode 100644 index f5638822a..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts +++ /dev/null @@ -1,314 +0,0 @@ -export declare const IERC20Forwarder: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "token"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenId"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "symbol()": "95d89b41"; - readonly "token()": "fc0c546a"; - readonly "tokenId()": "17d70f7c"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IERC20Forwarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts.map deleted file mode 100644 index 65b290f80..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20Forwarder.d.ts","sourceRoot":"","sources":["../src/IERC20Forwarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4XR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.js b/packages/hyperdrive-artifacts/dist/IERC20Forwarder.js deleted file mode 100644 index f2f78d0b7..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Forwarder.js +++ /dev/null @@ -1,401 +0,0 @@ -export const IERC20Forwarder = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "token", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMultiToken" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenId", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "kind()": "04baa00b", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "token()": "fc0c546a", - "tokenId()": "17d70f7c", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts b/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts deleted file mode 100644 index 64bbc5d20..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts +++ /dev/null @@ -1,108 +0,0 @@ -export declare const IERC20ForwarderFactory: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ERC20LINK_HASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "create"; - readonly inputs: readonly [{ - readonly name: "_token"; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20Forwarder"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getDeployDetails"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getForwarder"; - readonly inputs: readonly [{ - readonly name: "_token"; - readonly type: "address"; - readonly internalType: "contract IMultiToken"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "InvalidForwarderAddress"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ERC20LINK_HASH()": "d13053bb"; - readonly "create(address,uint256)": "0ecaea73"; - readonly "getDeployDetails()": "600eb4ba"; - readonly "getForwarder(address,uint256)": "0710fd58"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IERC20ForwarderFactory.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts.map deleted file mode 100644 index 69d8f0c92..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20ForwarderFactory.d.ts","sourceRoot":"","sources":["../src/IERC20ForwarderFactory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8Hf,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.js b/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.js deleted file mode 100644 index ca10d3ca4..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20ForwarderFactory.js +++ /dev/null @@ -1,137 +0,0 @@ -export const IERC20ForwarderFactory = { - abi: [ - { - "type": "function", - "name": "ERC20LINK_HASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "create", - "inputs": [ - { - "name": "_token", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20Forwarder" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getDeployDetails", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getForwarder", - "inputs": [ - { - "name": "_token", - "type": "address", - "internalType": "contract IMultiToken" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "InvalidForwarderAddress", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "ERC20LINK_HASH()": "d13053bb", - "create(address,uint256)": "0ecaea73", - "getDeployDetails()": "600eb4ba", - "getForwarder(address,uint256)": "0710fd58", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts b/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts deleted file mode 100644 index 1e92f6381..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts +++ /dev/null @@ -1,186 +0,0 @@ -export declare const IERC20Metadata: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC20Metadata.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts.map deleted file mode 100644 index ca7dedd9d..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Metadata.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20Metadata.d.ts","sourceRoot":"","sources":["../src/IERC20Metadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiOP,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Metadata.js b/packages/hyperdrive-artifacts/dist/IERC20Metadata.js deleted file mode 100644 index 79e5ff3af..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Metadata.js +++ /dev/null @@ -1,238 +0,0 @@ -export const IERC20Metadata = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts b/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts deleted file mode 100644 index edfc56eaf..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts +++ /dev/null @@ -1,68 +0,0 @@ -export declare const IERC20Permit: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - }; -}; -//# sourceMappingURL=IERC20Permit.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts.map deleted file mode 100644 index a7f1685a5..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Permit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20Permit.d.ts","sourceRoot":"","sources":["../src/IERC20Permit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8EL,KAAK,MAAM,EAAE;;;;;;CAMhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20Permit.js b/packages/hyperdrive-artifacts/dist/IERC20Permit.js deleted file mode 100644 index 9c375c0f3..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20Permit.js +++ /dev/null @@ -1,85 +0,0 @@ -export const IERC20Permit = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts b/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts deleted file mode 100644 index 5a07730d3..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts +++ /dev/null @@ -1,188 +0,0 @@ -export declare const IERC20WithPermit: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC20WithPermit.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts.map deleted file mode 100644 index ab70dac50..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC20WithPermit.d.ts","sourceRoot":"","sources":["../src/IERC20WithPermit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqOT,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.js b/packages/hyperdrive-artifacts/dist/IERC20WithPermit.js deleted file mode 100644 index e1cfea35b..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC20WithPermit.js +++ /dev/null @@ -1,240 +0,0 @@ -export const IERC20WithPermit = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC4626.d.ts b/packages/hyperdrive-artifacts/dist/IERC4626.d.ts deleted file mode 100644 index 3c9dd4c85..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626.d.ts +++ /dev/null @@ -1,492 +0,0 @@ -export declare const IERC4626: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "asset"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToAssets"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "maxDeposit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMint"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxRedeem"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxWithdraw"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewDeposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewMint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewRedeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewWithdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "redeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalAssets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "totalAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deposit"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "asset()": "38d52e0f"; - readonly "balanceOf(address)": "70a08231"; - readonly "convertToAssets(uint256)": "07a2d13a"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "deposit(uint256,address)": "6e553f65"; - readonly "maxDeposit(address)": "402d267d"; - readonly "maxMint(address)": "c63d75b6"; - readonly "maxRedeem(address)": "d905777e"; - readonly "maxWithdraw(address)": "ce96cb77"; - readonly "mint(uint256,address)": "94bf804d"; - readonly "name()": "06fdde03"; - readonly "previewDeposit(uint256)": "ef8b30f7"; - readonly "previewMint(uint256)": "b3d7f6b9"; - readonly "previewRedeem(uint256)": "4cdad506"; - readonly "previewWithdraw(uint256)": "0a28a477"; - readonly "redeem(uint256,address,address)": "ba087652"; - readonly "symbol()": "95d89b41"; - readonly "totalAssets()": "01e1d114"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "withdraw(uint256,address,address)": "b460af94"; - }; -}; -//# sourceMappingURL=IERC4626.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC4626.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC4626.d.ts.map deleted file mode 100644 index 0a1db7e25..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC4626.d.ts","sourceRoot":"","sources":["../src/IERC4626.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAimBD,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC4626.js b/packages/hyperdrive-artifacts/dist/IERC4626.js deleted file mode 100644 index 65cfe5014..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626.js +++ /dev/null @@ -1,638 +0,0 @@ -export const IERC4626 = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "asset", - "inputs": [], - "outputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToAssets", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "maxDeposit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMint", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxRedeem", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxWithdraw", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewDeposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewMint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewRedeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewWithdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalAssets", - "inputs": [], - "outputs": [ - { - "name": "totalAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "balanceOf(address)": "70a08231", - "convertToAssets(uint256)": "07a2d13a", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "deposit(uint256,address)": "6e553f65", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(uint256,address)": "94bf804d", - "name()": "06fdde03", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "symbol()": "95d89b41", - "totalAssets()": "01e1d114", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address,address)": "b460af94" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 810a8e8e3..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,435 +0,0 @@ -export declare const IERC4626HyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IERC4626HyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 9285db7a7..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC4626HyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IERC4626HyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4hB9B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.js deleted file mode 100644 index 0c09aa06a..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC4626HyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,553 +0,0 @@ -export const IERC4626HyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC721.d.ts b/packages/hyperdrive-artifacts/dist/IERC721.d.ts deleted file mode 100644 index bec6e9a2e..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721.d.ts +++ /dev/null @@ -1,237 +0,0 @@ -export declare const IERC721: { - abi: readonly [{ - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_approved"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getApproved"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ownerOf"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supportsInterface"; - readonly inputs: readonly [{ - readonly name: "interfaceID"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "getApproved(uint256)": "081812fc"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "ownerOf(uint256)": "6352211e"; - readonly "safeTransferFrom(address,address,uint256)": "42842e0e"; - readonly "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "supportsInterface(bytes4)": "01ffc9a7"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC721.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC721.d.ts.map deleted file mode 100644 index 78ac04283..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC721.d.ts","sourceRoot":"","sources":["../src/IERC721.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgSA,KAAK,MAAM,EAAE;;;;;;;;;;;;;CAahC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721.js b/packages/hyperdrive-artifacts/dist/IERC721.js deleted file mode 100644 index 5655002d9..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721.js +++ /dev/null @@ -1,302 +0,0 @@ -export const IERC721 = { - abi: [ - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_approved", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getApproved", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ownerOf", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "_operator", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceID", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "_from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts b/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts deleted file mode 100644 index 8e4259ba6..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts +++ /dev/null @@ -1,282 +0,0 @@ -export declare const IERC721Enumerable: { - abi: readonly [{ - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_approved"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getApproved"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ownerOf"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supportsInterface"; - readonly inputs: readonly [{ - readonly name: "interfaceID"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenByIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenOfOwnerByIndex"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "getApproved(uint256)": "081812fc"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "ownerOf(uint256)": "6352211e"; - readonly "safeTransferFrom(address,address,uint256)": "42842e0e"; - readonly "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "supportsInterface(bytes4)": "01ffc9a7"; - readonly "tokenByIndex(uint256)": "4f6ccce7"; - readonly "tokenOfOwnerByIndex(address,uint256)": "2f745c59"; - readonly "totalSupply()": "18160ddd"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC721Enumerable.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts.map deleted file mode 100644 index 128ef4068..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC721Enumerable.d.ts","sourceRoot":"","sources":["../src/IERC721Enumerable.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwVV,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;CAgBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.js b/packages/hyperdrive-artifacts/dist/IERC721Enumerable.js deleted file mode 100644 index 15def6a55..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Enumerable.js +++ /dev/null @@ -1,361 +0,0 @@ -export const IERC721Enumerable = { - abi: [ - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_approved", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getApproved", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ownerOf", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "_operator", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceID", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenByIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenOfOwnerByIndex", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - }, - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "_from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "tokenByIndex(uint256)": "4f6ccce7", - "tokenOfOwnerByIndex(address,uint256)": "2f745c59", - "totalSupply()": "18160ddd", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts b/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts deleted file mode 100644 index fafb6d972..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts +++ /dev/null @@ -1,82 +0,0 @@ -export declare const IERC721Errors: { - abi: readonly [{ - readonly type: "error"; - readonly name: "ERC721IncorrectOwner"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InsufficientApproval"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InvalidApprover"; - readonly inputs: readonly [{ - readonly name: "approver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InvalidOperator"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InvalidOwner"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InvalidReceiver"; - readonly inputs: readonly [{ - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721InvalidSender"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC721NonexistentToken"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IERC721Errors.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts.map deleted file mode 100644 index 041ebacf8..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Errors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC721Errors.d.ts","sourceRoot":"","sources":["../src/IERC721Errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0GN,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Errors.js b/packages/hyperdrive-artifacts/dist/IERC721Errors.js deleted file mode 100644 index fe3e1d33b..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Errors.js +++ /dev/null @@ -1,109 +0,0 @@ -export const IERC721Errors = { - abi: [ - { - "type": "error", - "name": "ERC721IncorrectOwner", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721InsufficientApproval", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC721InvalidApprover", - "inputs": [ - { - "name": "approver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721InvalidOperator", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721InvalidOwner", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721InvalidReceiver", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721InvalidSender", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC721NonexistentToken", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts b/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts deleted file mode 100644 index 49e592218..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts +++ /dev/null @@ -1,274 +0,0 @@ -export declare const IERC721Metadata: { - abi: readonly [{ - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_approved"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getApproved"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ownerOf"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supportsInterface"; - readonly inputs: readonly [{ - readonly name: "interfaceID"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "_symbol"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenURI"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "getApproved(uint256)": "081812fc"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "name()": "06fdde03"; - readonly "ownerOf(uint256)": "6352211e"; - readonly "safeTransferFrom(address,address,uint256)": "42842e0e"; - readonly "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "supportsInterface(bytes4)": "01ffc9a7"; - readonly "symbol()": "95d89b41"; - readonly "tokenURI(uint256)": "c87b56dd"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IERC721Metadata.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts.map deleted file mode 100644 index e2fa3b87b..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Metadata.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC721Metadata.d.ts","sourceRoot":"","sources":["../src/IERC721Metadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6UR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;CAgBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721Metadata.js b/packages/hyperdrive-artifacts/dist/IERC721Metadata.js deleted file mode 100644 index 9bf250e48..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721Metadata.js +++ /dev/null @@ -1,350 +0,0 @@ -export const IERC721Metadata = { - abi: [ - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_approved", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getApproved", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ownerOf", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "_operator", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceID", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "_symbol", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenURI", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "_from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenURI(uint256)": "c87b56dd", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts b/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts deleted file mode 100644 index a3155a928..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -export declare const IERC721TokenReceiver: { - abi: readonly [{ - readonly type: "function"; - readonly name: "onERC721Received"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "onERC721Received(address,address,uint256,bytes)": "150b7a02"; - }; -}; -//# sourceMappingURL=IERC721TokenReceiver.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts.map b/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts.map deleted file mode 100644 index 0ec0379b7..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IERC721TokenReceiver.d.ts","sourceRoot":"","sources":["../src/IERC721TokenReceiver.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqCb,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.js b/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.js deleted file mode 100644 index 7b0ddcee7..000000000 --- a/packages/hyperdrive-artifacts/dist/IERC721TokenReceiver.js +++ /dev/null @@ -1,42 +0,0 @@ -export const IERC721TokenReceiver = { - abi: [ - { - "type": "function", - "name": "onERC721Received", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "onERC721Received(address,address,uint256,bytes)": "150b7a02" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts deleted file mode 100644 index 5482d0dc6..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts +++ /dev/null @@ -1,1943 +0,0 @@ -export declare const IEzETHHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "renzo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "renzo()": "6a1a3f3d"; - readonly "renzoOracle()": "892866a4"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IEzETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts.map deleted file mode 100644 index f8e841b70..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEzETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/IEzETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo2ET,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.js deleted file mode 100644 index 4f5b2207c..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdrive.js +++ /dev/null @@ -1,2464 +0,0 @@ -export const IEzETHHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renzo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRenzoOracle" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "renzo()": "6a1a3f3d", - "renzoOracle()": "892866a4", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 415afe765..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,451 +0,0 @@ -export declare const IEzETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_renzoOracle"; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }, { - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_renzoOracle"; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }, { - readonly name: "_restakeManager"; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }, { - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,address,uint256)": "5111bea2"; - readonly "convertToShares(address,address,address,uint256)": "079554e7"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IEzETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index a62c63ffa..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEzETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IEzETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgjB5B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index bbe0696f1..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,573 +0,0 @@ -export const IEzETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_renzoOracle", - "type": "address", - "internalType": "contract IRenzoOracle" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - }, - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_renzoOracle", - "type": "address", - "internalType": "contract IRenzoOracle" - }, - { - "name": "_restakeManager", - "type": "address", - "internalType": "contract IRestakeManager" - }, - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,address,address,uint256)": "5111bea2", - "convertToShares(address,address,address,uint256)": "079554e7", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts deleted file mode 100644 index 21f7d830a..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts +++ /dev/null @@ -1,597 +0,0 @@ -export declare const IEzETHHyperdriveRead: { - abi: readonly [{ - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRestakeManager"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRenzoOracle"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "renzo()": "6a1a3f3d"; - readonly "renzoOracle()": "892866a4"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IEzETHHyperdriveRead.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts.map b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts.map deleted file mode 100644 index 4b8cfa523..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEzETHHyperdriveRead.d.ts","sourceRoot":"","sources":["../src/IEzETHHyperdriveRead.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiuBb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.js b/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.js deleted file mode 100644 index 34db8a748..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHHyperdriveRead.js +++ /dev/null @@ -1,769 +0,0 @@ -export const IEzETHHyperdriveRead = { - abi: [ - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRestakeManager" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRenzoOracle" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "renzo()": "6a1a3f3d", - "renzoOracle()": "892866a4", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts deleted file mode 100644 index 2a23aae6c..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IEzETHLineaHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "xRenzoDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IXRenzoDeposit"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - readonly "xRenzoDeposit()": "12ae5e67"; - }; -}; -//# sourceMappingURL=IEzETHLineaHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts.map deleted file mode 100644 index b1ebff91c..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IEzETHLineaHyperdrive.d.ts","sourceRoot":"","sources":["../src/IEzETHLineaHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1Ed,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.js b/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.js deleted file mode 100644 index 038ad2723..000000000 --- a/packages/hyperdrive-artifacts/dist/IEzETHLineaHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IEzETHLineaHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "xRenzoDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IXRenzoDeposit" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50", - "xRenzoDeposit()": "12ae5e67" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts b/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts deleted file mode 100644 index 3d76a8563..000000000 --- a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -export declare const IFiatTokenProxy: { - abi: readonly [{ - readonly type: "function"; - readonly name: "implementation"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "implementation()": "5c60da1b"; - }; -}; -//# sourceMappingURL=IFiatTokenProxy.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts.map b/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts.map deleted file mode 100644 index 1e4c203af..000000000 --- a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IFiatTokenProxy.d.ts","sourceRoot":"","sources":["../src/IFiatTokenProxy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;cAgBR,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.js b/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.js deleted file mode 100644 index c4da2f6d8..000000000 --- a/packages/hyperdrive-artifacts/dist/IFiatTokenProxy.js +++ /dev/null @@ -1,21 +0,0 @@ -export const IFiatTokenProxy = { - abi: [ - { - "type": "function", - "name": "implementation", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "implementation()": "5c60da1b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts b/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts deleted file mode 100644 index 37c2363ac..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -export declare const IFlashLoanReceiver: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "POOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "executeOperation"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "amounts"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "premiums"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "POOL()": "7535d246"; - readonly "executeOperation(address[],uint256[],uint256[],address,bytes)": "920f5c84"; - }; -}; -//# sourceMappingURL=IFlashLoanReceiver.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts.map b/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts.map deleted file mode 100644 index ee470fbf2..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IFlashLoanReceiver.d.ts","sourceRoot":"","sources":["../src/IFlashLoanReceiver.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoEX,KAAK,MAAM,EAAE;;;;;;CAMhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.js b/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.js deleted file mode 100644 index 9474d9664..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanReceiver.js +++ /dev/null @@ -1,75 +0,0 @@ -export const IFlashLoanReceiver = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "POOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "executeOperation", - "inputs": [ - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "premiums", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "initiator", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "POOL()": "7535d246", - "executeOperation(address[],uint256[],uint256[],address,bytes)": "920f5c84" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts b/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts deleted file mode 100644 index 3d5923258..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -export declare const IFlashLoanSimpleReceiver: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "POOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "executeOperation"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "POOL()": "7535d246"; - readonly "executeOperation(address,uint256,uint256,address,bytes)": "1b11d0ff"; - }; -}; -//# sourceMappingURL=IFlashLoanSimpleReceiver.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts.map b/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts.map deleted file mode 100644 index 4e31a0a42..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IFlashLoanSimpleReceiver.d.ts","sourceRoot":"","sources":["../src/IFlashLoanSimpleReceiver.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoEjB,KAAK,MAAM,EAAE;;;;;;CAMhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.js b/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.js deleted file mode 100644 index 6e95e3da7..000000000 --- a/packages/hyperdrive-artifacts/dist/IFlashLoanSimpleReceiver.js +++ /dev/null @@ -1,75 +0,0 @@ -export const IFlashLoanSimpleReceiver = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "POOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "executeOperation", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "premium", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initiator", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "POOL()": "7535d246", - "executeOperation(address,uint256,uint256,address,bytes)": "1b11d0ff" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts b/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts deleted file mode 100644 index d38cd6daa..000000000 --- a/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -export declare const IGatewayRouter: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getGateway"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "outboundTransferCustomRefund"; - readonly inputs: readonly [{ - readonly name: "_l1Token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_refundTo"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxGas"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_gasPriceBid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "payable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getGateway(address)": "bda009fe"; - readonly "outboundTransferCustomRefund(address,address,address,uint256,uint256,uint256,bytes)": "4fb1a07b"; - }; -}; -//# sourceMappingURL=IGatewayRouter.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts.map b/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts.map deleted file mode 100644 index 2c364e156..000000000 --- a/packages/hyperdrive-artifacts/dist/IGatewayRouter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IGatewayRouter.d.ts","sourceRoot":"","sources":["../src/IGatewayRouter.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuEP,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IGatewayRouter.js b/packages/hyperdrive-artifacts/dist/IGatewayRouter.js deleted file mode 100644 index ffafc3599..000000000 --- a/packages/hyperdrive-artifacts/dist/IGatewayRouter.js +++ /dev/null @@ -1,77 +0,0 @@ -export const IGatewayRouter = { - abi: [ - { - "type": "function", - "name": "getGateway", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "outboundTransferCustomRefund", - "inputs": [ - { - "name": "_l1Token", - "type": "address", - "internalType": "address" - }, - { - "name": "_refundTo", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxGas", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_gasPriceBid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "payable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "getGateway(address)": "bda009fe", - "outboundTransferCustomRefund(address,address,address,uint256,uint256,uint256,bytes)": "4fb1a07b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IGauge.d.ts b/packages/hyperdrive-artifacts/dist/IGauge.d.ts deleted file mode 100644 index c66167d85..000000000 --- a/packages/hyperdrive-artifacts/dist/IGauge.d.ts +++ /dev/null @@ -1,441 +0,0 @@ -export declare const IGauge: { - abi: readonly [{ - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "earned"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "_earned"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "fees0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "fees1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feesVotingReward"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReward"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lastTimeRewardApplicable"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "_time"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lastUpdateTime"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "left"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "_left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "notifyRewardAmount"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "notifyRewardWithoutClaim"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "periodFinish"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardPerToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "_rewardPerToken"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardPerTokenStored"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardRateByEpoch"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewards"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "stakingToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "userRewardPerTokenPaid"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ve"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "voter"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "ClaimFees"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "claimed0"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "claimed1"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ClaimRewards"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deposit"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "NotifyReward"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "NotAlive"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotAuthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotTeam"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotVoter"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RewardRateTooHigh"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ZeroAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ZeroRewardRate"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "balanceOf(address)": "70a08231"; - readonly "deposit(uint256)": "b6b55f25"; - readonly "deposit(uint256,address)": "6e553f65"; - readonly "earned(address)": "008cc262"; - readonly "fees0()": "93f1c442"; - readonly "fees1()": "4c02a21c"; - readonly "feesVotingReward()": "0fe2f711"; - readonly "getReward(address)": "c00007b0"; - readonly "isPool()": "e2e1c6db"; - readonly "lastTimeRewardApplicable()": "80faa57d"; - readonly "lastUpdateTime()": "c8f33c91"; - readonly "left()": "16e64048"; - readonly "notifyRewardAmount(uint256)": "3c6b16ab"; - readonly "notifyRewardWithoutClaim(uint256)": "dcdc18dc"; - readonly "periodFinish()": "ebe2b12b"; - readonly "rewardPerToken()": "cd3daf9d"; - readonly "rewardPerTokenStored()": "df136d65"; - readonly "rewardRate()": "7b0a47ee"; - readonly "rewardRateByEpoch(uint256)": "94af5b63"; - readonly "rewardToken()": "f7c618c1"; - readonly "rewards(address)": "0700037d"; - readonly "stakingToken()": "72f702f3"; - readonly "totalSupply()": "18160ddd"; - readonly "userRewardPerTokenPaid(address)": "8b876347"; - readonly "ve()": "1f850716"; - readonly "voter()": "46c96aac"; - readonly "withdraw(uint256)": "2e1a7d4d"; - }; -}; -//# sourceMappingURL=IGauge.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IGauge.d.ts.map b/packages/hyperdrive-artifacts/dist/IGauge.d.ts.map deleted file mode 100644 index 54b6987d5..000000000 --- a/packages/hyperdrive-artifacts/dist/IGauge.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IGauge.d.ts","sourceRoot":"","sources":["../src/IGauge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmhBC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IGauge.js b/packages/hyperdrive-artifacts/dist/IGauge.js deleted file mode 100644 index 7f91d87bd..000000000 --- a/packages/hyperdrive-artifacts/dist/IGauge.js +++ /dev/null @@ -1,562 +0,0 @@ -export const IGauge = { - abi: [ - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "earned", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "_earned", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "fees0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "fees1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feesVotingReward", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReward", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lastTimeRewardApplicable", - "inputs": [], - "outputs": [ - { - "name": "_time", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lastUpdateTime", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "left", - "inputs": [], - "outputs": [ - { - "name": "_left", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "notifyRewardAmount", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "notifyRewardWithoutClaim", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "periodFinish", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardPerToken", - "inputs": [], - "outputs": [ - { - "name": "_rewardPerToken", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardPerTokenStored", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardRateByEpoch", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewards", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "stakingToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "userRewardPerTokenPaid", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ve", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "voter", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "ClaimFees", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "claimed0", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "claimed1", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ClaimRewards", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "NotifyReward", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "NotAlive", - "inputs": [] - }, - { - "type": "error", - "name": "NotAuthorized", - "inputs": [] - }, - { - "type": "error", - "name": "NotTeam", - "inputs": [] - }, - { - "type": "error", - "name": "NotVoter", - "inputs": [] - }, - { - "type": "error", - "name": "RewardRateTooHigh", - "inputs": [] - }, - { - "type": "error", - "name": "ZeroAmount", - "inputs": [] - }, - { - "type": "error", - "name": "ZeroRewardRate", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "balanceOf(address)": "70a08231", - "deposit(uint256)": "b6b55f25", - "deposit(uint256,address)": "6e553f65", - "earned(address)": "008cc262", - "fees0()": "93f1c442", - "fees1()": "4c02a21c", - "feesVotingReward()": "0fe2f711", - "getReward(address)": "c00007b0", - "isPool()": "e2e1c6db", - "lastTimeRewardApplicable()": "80faa57d", - "lastUpdateTime()": "c8f33c91", - "left()": "16e64048", - "notifyRewardAmount(uint256)": "3c6b16ab", - "notifyRewardWithoutClaim(uint256)": "dcdc18dc", - "periodFinish()": "ebe2b12b", - "rewardPerToken()": "cd3daf9d", - "rewardPerTokenStored()": "df136d65", - "rewardRate()": "7b0a47ee", - "rewardRateByEpoch(uint256)": "94af5b63", - "rewardToken()": "f7c618c1", - "rewards(address)": "0700037d", - "stakingToken()": "72f702f3", - "totalSupply()": "18160ddd", - "userRewardPerTokenPaid(address)": "8b876347", - "ve()": "1f850716", - "voter()": "46c96aac", - "withdraw(uint256)": "2e1a7d4d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts deleted file mode 100644 index f312a05d9..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts +++ /dev/null @@ -1,1921 +0,0 @@ -export declare const IHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts.map deleted file mode 100644 index 04b5956f4..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdrive.d.ts","sourceRoot":"","sources":["../src/IHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA00EJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdrive.js b/packages/hyperdrive-artifacts/dist/IHyperdrive.js deleted file mode 100644 index 757e0015b..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdrive.js +++ /dev/null @@ -1,2436 +0,0 @@ -export const IHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts deleted file mode 100644 index cad4b3902..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts +++ /dev/null @@ -1,62 +0,0 @@ -export declare const IHyperdriveAdminController: { - abi: readonly [{ - readonly type: "function"; - readonly name: "checkpointRewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "defaultPausers"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "hyperdriveGovernance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sweepCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpointRewarder()": "f2596458"; - readonly "defaultPausers()": "a64c90bf"; - readonly "feeCollector()": "c415b95c"; - readonly "hyperdriveGovernance()": "e3331555"; - readonly "sweepCollector()": "10780f73"; - }; -}; -//# sourceMappingURL=IHyperdriveAdminController.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts.map deleted file mode 100644 index 12c887989..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveAdminController.d.ts","sourceRoot":"","sources":["../src/IHyperdriveAdminController.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoEnB,KAAK,MAAM,EAAE;;;;;;;;CAQhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.js b/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.js deleted file mode 100644 index d834d421d..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveAdminController.js +++ /dev/null @@ -1,77 +0,0 @@ -export const IHyperdriveAdminController = { - abi: [ - { - "type": "function", - "name": "checkpointRewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "defaultPausers", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "hyperdriveGovernance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sweepCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "checkpointRewarder()": "f2596458", - "defaultPausers()": "a64c90bf", - "feeCollector()": "c415b95c", - "hyperdriveGovernance()": "e3331555", - "sweepCollector()": "10780f73" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts deleted file mode 100644 index a2a24cc58..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts +++ /dev/null @@ -1,162 +0,0 @@ -export declare const IHyperdriveCheckpointRewarder: { - abi: readonly [{ - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "claimCheckpointReward"; - readonly inputs: readonly [{ - readonly name: "_claimant"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isTrader"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "subrewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSubrewarder"; - readonly inputs: readonly [{ - readonly name: "_subrewarder"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CheckpointRewardClaimed"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "claimant"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "isTrader"; - readonly type: "bool"; - readonly indexed: true; - readonly internalType: "bool"; - }, { - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "rewardToken"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "contract IERC20"; - }, { - readonly name: "rewardAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SubrewarderUpdated"; - readonly inputs: readonly [{ - readonly name: "subrewarder"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IHyperdriveCheckpointSubrewarder"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "claimCheckpointReward(address,uint256,bool)": "69114d4e"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "subrewarder()": "3d7f7b24"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateSubrewarder(address)": "9b06ae49"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveCheckpointRewarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts.map deleted file mode 100644 index afa54f480..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveCheckpointRewarder.d.ts","sourceRoot":"","sources":["../src/IHyperdriveCheckpointRewarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+LtB,KAAK,MAAM,EAAE;;;;;;;;;;;CAWhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.js b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.js deleted file mode 100644 index 722db21c0..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointRewarder.js +++ /dev/null @@ -1,203 +0,0 @@ -export const IHyperdriveCheckpointRewarder = { - abi: [ - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "claimCheckpointReward", - "inputs": [ - { - "name": "_claimant", - "type": "address", - "internalType": "address" - }, - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isTrader", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "subrewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSubrewarder", - "inputs": [ - { - "name": "_subrewarder", - "type": "address", - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CheckpointRewardClaimed", - "inputs": [ - { - "name": "instance", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "claimant", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "isTrader", - "type": "bool", - "indexed": true, - "internalType": "bool" - }, - { - "name": "checkpointTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "rewardToken", - "type": "address", - "indexed": false, - "internalType": "contract IERC20" - }, - { - "name": "rewardAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SubrewarderUpdated", - "inputs": [ - { - "name": "subrewarder", - "type": "address", - "indexed": true, - "internalType": "contract IHyperdriveCheckpointSubrewarder" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "admin()": "f851a440", - "claimCheckpointReward(address,uint256,bool)": "69114d4e", - "kind()": "04baa00b", - "name()": "06fdde03", - "subrewarder()": "3d7f7b24", - "updateAdmin(address)": "e2f273bd", - "updateSubrewarder(address)": "9b06ae49", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts deleted file mode 100644 index b12f58d75..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts +++ /dev/null @@ -1,278 +0,0 @@ -export declare const IHyperdriveCheckpointSubrewarder: { - abi: readonly [{ - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "minterRewardAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "processReward"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_claimant"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isTrader"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "registry"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewardToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "source"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "traderRewardAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinterRewardAmount"; - readonly inputs: readonly [{ - readonly name: "_minterRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateRegistry"; - readonly inputs: readonly [{ - readonly name: "_registry"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateRewardToken"; - readonly inputs: readonly [{ - readonly name: "_rewardToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSource"; - readonly inputs: readonly [{ - readonly name: "_source"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateTraderRewardAmount"; - readonly inputs: readonly [{ - readonly name: "_traderRewardAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinterRewardAmountUpdated"; - readonly inputs: readonly [{ - readonly name: "minterRewardAmount"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RegistryUpdated"; - readonly inputs: readonly [{ - readonly name: "registry"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IHyperdriveRegistry"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RewardTokenUpdated"; - readonly inputs: readonly [{ - readonly name: "rewardToken"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract IERC20"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SourceUpdated"; - readonly inputs: readonly [{ - readonly name: "source"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TraderRewardAmountUpdated"; - readonly inputs: readonly [{ - readonly name: "traderRewardAmount"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "kind()": "04baa00b"; - readonly "minterRewardAmount()": "62498576"; - readonly "name()": "06fdde03"; - readonly "processReward(address,address,uint256,bool)": "e9f46041"; - readonly "registry()": "7b103999"; - readonly "rewardToken()": "f7c618c1"; - readonly "rewarder()": "dcc3e06e"; - readonly "source()": "67e828bf"; - readonly "traderRewardAmount()": "5b338e07"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateMinterRewardAmount(uint256)": "2057b1c7"; - readonly "updateRegistry(address)": "1a5da6c8"; - readonly "updateRewardToken(address)": "f8cf31cb"; - readonly "updateSource(address)": "f24bab65"; - readonly "updateTraderRewardAmount(uint256)": "9183219f"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveCheckpointSubrewarder.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts.map deleted file mode 100644 index cabe47123..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveCheckpointSubrewarder.d.ts","sourceRoot":"","sources":["../src/IHyperdriveCheckpointSubrewarder.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6UzB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.js b/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.js deleted file mode 100644 index 7ef9d8453..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCheckpointSubrewarder.js +++ /dev/null @@ -1,354 +0,0 @@ -export const IHyperdriveCheckpointSubrewarder = { - abi: [ - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "minterRewardAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "processReward", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - }, - { - "name": "_claimant", - "type": "address", - "internalType": "address" - }, - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isTrader", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "registry", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdriveRegistry" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewardToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "source", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "traderRewardAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinterRewardAmount", - "inputs": [ - { - "name": "_minterRewardAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateRegistry", - "inputs": [ - { - "name": "_registry", - "type": "address", - "internalType": "contract IHyperdriveRegistry" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateRewardToken", - "inputs": [ - { - "name": "_rewardToken", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSource", - "inputs": [ - { - "name": "_source", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateTraderRewardAmount", - "inputs": [ - { - "name": "_traderRewardAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinterRewardAmountUpdated", - "inputs": [ - { - "name": "minterRewardAmount", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RegistryUpdated", - "inputs": [ - { - "name": "registry", - "type": "address", - "indexed": true, - "internalType": "contract IHyperdriveRegistry" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RewardTokenUpdated", - "inputs": [ - { - "name": "rewardToken", - "type": "address", - "indexed": true, - "internalType": "contract IERC20" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SourceUpdated", - "inputs": [ - { - "name": "source", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TraderRewardAmountUpdated", - "inputs": [ - { - "name": "traderRewardAmount", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "admin()": "f851a440", - "kind()": "04baa00b", - "minterRewardAmount()": "62498576", - "name()": "06fdde03", - "processReward(address,address,uint256,bool)": "e9f46041", - "registry()": "7b103999", - "rewardToken()": "f7c618c1", - "rewarder()": "dcc3e06e", - "source()": "67e828bf", - "traderRewardAmount()": "5b338e07", - "updateAdmin(address)": "e2f273bd", - "updateMinterRewardAmount(uint256)": "2057b1c7", - "updateRegistry(address)": "1a5da6c8", - "updateRewardToken(address)": "f8cf31cb", - "updateSource(address)": "f24bab65", - "updateTraderRewardAmount(uint256)": "9183219f", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts deleted file mode 100644 index 0fa954d5e..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts +++ /dev/null @@ -1,591 +0,0 @@ -export declare const IHyperdriveCore: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=IHyperdriveCore.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts.map deleted file mode 100644 index c15a0a2ac..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveCore.d.ts","sourceRoot":"","sources":["../src/IHyperdriveCore.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6tBR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.js b/packages/hyperdrive-artifacts/dist/IHyperdriveCore.js deleted file mode 100644 index c50e50150..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCore.js +++ /dev/null @@ -1,758 +0,0 @@ -export const IHyperdriveCore = { - abi: [ - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts deleted file mode 100644 index efe60e51a..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const IHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=IHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 699458754..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/IHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2KhB,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.js deleted file mode 100644 index b5f51c808..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const IHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 0ed73b2d0..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,397 +0,0 @@ -export declare const IHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index ce1d340e4..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4evB,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.js deleted file mode 100644 index a91012ded..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,503 +0,0 @@ -export const IHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts deleted file mode 100644 index 8d7814bb1..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts +++ /dev/null @@ -1,531 +0,0 @@ -export declare const IHyperdriveEvents: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IHyperdriveEvents.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts.map deleted file mode 100644 index e6541554e..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveEvents.d.ts","sourceRoot":"","sources":["../src/IHyperdriveEvents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwoBV,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.js b/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.js deleted file mode 100644 index f6e6a6cf9..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveEvents.js +++ /dev/null @@ -1,651 +0,0 @@ -export const IHyperdriveEvents = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts deleted file mode 100644 index c2699d680..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts +++ /dev/null @@ -1,1514 +0,0 @@ -export declare const IHyperdriveFactory: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpointDurationResolution"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "checkpointRewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "defaultPausers"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployAndInitialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployerCoordinatorManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorByInstances"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "coordinators"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployerCoordinatorsInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "range"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstancesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "range"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfDeployerCoordinators"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfInstances"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "governance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "hyperdriveGovernance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isInstance"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "linkerCodeHash"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "linkerFactory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxCheckpointDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxCircuitBreakerDelta"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxFixedAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxPositionDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxTimeStretchAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minCheckpointDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minCircuitBreakerDelta"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minFixedAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minPositionDuration"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "minTimeStretchAPR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "removeDeployerCoordinator"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweepCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateCheckpointDurationResolution"; - readonly inputs: readonly [{ - readonly name: "_checkpointDurationResolution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateCheckpointRewarder"; - readonly inputs: readonly [{ - readonly name: "_checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateDefaultPausers"; - readonly inputs: readonly [{ - readonly name: "_defaultPausers_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateDeployerCoordinatorManager"; - readonly inputs: readonly [{ - readonly name: "_deployerCoordinatorManager"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFeeCollector"; - readonly inputs: readonly [{ - readonly name: "_feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateGovernance"; - readonly inputs: readonly [{ - readonly name: "_governance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateHyperdriveGovernance"; - readonly inputs: readonly [{ - readonly name: "_hyperdriveGovernance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLinkerCodeHash"; - readonly inputs: readonly [{ - readonly name: "_linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLinkerFactory"; - readonly inputs: readonly [{ - readonly name: "_linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxCheckpointDuration"; - readonly inputs: readonly [{ - readonly name: "_maxCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxCircuitBreakerDelta"; - readonly inputs: readonly [{ - readonly name: "_maxCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxFees"; - readonly inputs: readonly [{ - readonly name: "__maxFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxFixedAPR"; - readonly inputs: readonly [{ - readonly name: "_maxFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxPositionDuration"; - readonly inputs: readonly [{ - readonly name: "_maxPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMaxTimeStretchAPR"; - readonly inputs: readonly [{ - readonly name: "_maxTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinCheckpointDuration"; - readonly inputs: readonly [{ - readonly name: "_minCheckpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinCircuitBreakerDelta"; - readonly inputs: readonly [{ - readonly name: "_minCircuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinFees"; - readonly inputs: readonly [{ - readonly name: "__minFees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinFixedAPR"; - readonly inputs: readonly [{ - readonly name: "_minFixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinPositionDuration"; - readonly inputs: readonly [{ - readonly name: "_minPositionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateMinTimeStretchAPR"; - readonly inputs: readonly [{ - readonly name: "_minTimeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSweepCollector"; - readonly inputs: readonly [{ - readonly name: "_sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "CheckpointDurationResolutionUpdated"; - readonly inputs: readonly [{ - readonly name: "newCheckpointDurationResolution"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CheckpointRewarderUpdated"; - readonly inputs: readonly [{ - readonly name: "newCheckpointRewarder"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DefaultPausersUpdated"; - readonly inputs: readonly [{ - readonly name: "newDefaultPausers"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deployed"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "config"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorAdded"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorManagerUpdated"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinatorManager"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "DeployerCoordinatorRemoved"; - readonly inputs: readonly [{ - readonly name: "deployerCoordinator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FeeCollectorUpdated"; - readonly inputs: readonly [{ - readonly name: "newFeeCollector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "GovernanceUpdated"; - readonly inputs: readonly [{ - readonly name: "governance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "HyperdriveGovernanceUpdated"; - readonly inputs: readonly [{ - readonly name: "hyperdriveGovernance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LinkerCodeHashUpdated"; - readonly inputs: readonly [{ - readonly name: "newLinkerCodeHash"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LinkerFactoryUpdated"; - readonly inputs: readonly [{ - readonly name: "newLinkerFactory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxCheckpointDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxCheckpointDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxCircuitBreakerDeltaUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxCircuitBreakerDelta"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxFeesUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxFees"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxFixedAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxFixedAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxPositionDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxPositionDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MaxTimeStretchAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMaxTimeStretchAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinCheckpointDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinCheckpointDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinCircuitBreakerDeltaUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinCircuitBreakerDelta"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinFeesUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinFees"; - readonly type: "tuple"; - readonly indexed: false; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinFixedAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinFixedAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinPositionDurationUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinPositionDuration"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MinTimeStretchAPRUpdated"; - readonly inputs: readonly [{ - readonly name: "newMinTimeStretchAPR"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SweepCollectorUpdated"; - readonly inputs: readonly [{ - readonly name: "newSweepCollector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorAlreadyAdded"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorIndexMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeployerCoordinatorNotAdded"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "EndIndexTooLarge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDurationResolution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidDeployConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidDeployerCoordinator"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidIndexes"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMaxTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinCircuitBreakerDelta"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinFees"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinFixedAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimeStretchAPR"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReceiveLocked"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addDeployerCoordinator(address)": "421caba8"; - readonly "checkpointDurationResolution()": "d0f96b92"; - readonly "checkpointRewarder()": "f2596458"; - readonly "defaultPausers()": "a64c90bf"; - readonly "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971"; - readonly "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7"; - readonly "deployerCoordinatorManager()": "e4e7148f"; - readonly "feeCollector()": "c415b95c"; - readonly "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb"; - readonly "getDeployerCoordinatorByInstances(address[])": "1b59be0c"; - readonly "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11"; - readonly "getInstanceAtIndex(uint256)": "daac24da"; - readonly "getInstancesInRange(uint256,uint256)": "bc30e7a1"; - readonly "getNumberOfDeployerCoordinators()": "e1b39c80"; - readonly "getNumberOfInstances()": "6e95d67c"; - readonly "governance()": "5aa6e675"; - readonly "hyperdriveGovernance()": "e3331555"; - readonly "isDeployerCoordinator(address)": "f8c09e59"; - readonly "isInstance(address)": "6b44e6be"; - readonly "kind()": "04baa00b"; - readonly "linkerCodeHash()": "c905a4b5"; - readonly "linkerFactory()": "99623bb1"; - readonly "maxCheckpointDuration()": "e0e2daaa"; - readonly "maxCircuitBreakerDelta()": "4554f9a9"; - readonly "maxFees()": "e83e34b1"; - readonly "maxFixedAPR()": "bf9bd5cd"; - readonly "maxPositionDuration()": "8efc0986"; - readonly "maxTimeStretchAPR()": "48800760"; - readonly "minCheckpointDuration()": "5720c9d5"; - readonly "minCircuitBreakerDelta()": "1ecda0fe"; - readonly "minFees()": "c1722563"; - readonly "minFixedAPR()": "d23d7ea3"; - readonly "minPositionDuration()": "daf012e6"; - readonly "minTimeStretchAPR()": "d6f50169"; - readonly "name()": "06fdde03"; - readonly "removeDeployerCoordinator(address,uint256)": "411c3035"; - readonly "sweepCollector()": "10780f73"; - readonly "updateCheckpointDurationResolution(uint256)": "11e77bfe"; - readonly "updateCheckpointRewarder(address)": "3e2d2014"; - readonly "updateDefaultPausers(address[])": "9af25262"; - readonly "updateDeployerCoordinatorManager(address)": "a98a46db"; - readonly "updateFeeCollector(address)": "d2c35ce8"; - readonly "updateGovernance(address)": "b2561263"; - readonly "updateHyperdriveGovernance(address)": "dd2b8fbb"; - readonly "updateLinkerCodeHash(bytes32)": "4fbfee77"; - readonly "updateLinkerFactory(address)": "85229785"; - readonly "updateMaxCheckpointDuration(uint256)": "6f6d5c4a"; - readonly "updateMaxCircuitBreakerDelta(uint256)": "84c19aab"; - readonly "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac"; - readonly "updateMaxFixedAPR(uint256)": "97b0e8ce"; - readonly "updateMaxPositionDuration(uint256)": "eb71f66c"; - readonly "updateMaxTimeStretchAPR(uint256)": "628027a3"; - readonly "updateMinCheckpointDuration(uint256)": "8e127cf5"; - readonly "updateMinCircuitBreakerDelta(uint256)": "2907d3dd"; - readonly "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e"; - readonly "updateMinFixedAPR(uint256)": "1978ebcf"; - readonly "updateMinPositionDuration(uint256)": "e71f34b3"; - readonly "updateMinTimeStretchAPR(uint256)": "83b361e8"; - readonly "updateSweepCollector(address)": "8627a4f0"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveFactory.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts.map deleted file mode 100644 index 64d1494f6..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveFactory.d.ts","sourceRoot":"","sources":["../src/IHyperdriveFactory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAg1DX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.js b/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.js deleted file mode 100644 index d3a50b61c..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveFactory.js +++ /dev/null @@ -1,1936 +0,0 @@ -export const IHyperdriveFactory = { - abi: [ - { - "type": "function", - "name": "addDeployerCoordinator", - "inputs": [ - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpointDurationResolution", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "checkpointRewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "defaultPausers", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployAndInitialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IHyperdrive" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployerCoordinatorManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorByInstances", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "coordinators", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployerCoordinatorsInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "range", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstancesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "range", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfDeployerCoordinators", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfInstances", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "governance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "hyperdriveGovernance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDeployerCoordinator", - "inputs": [ - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isInstance", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "linkerCodeHash", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "linkerFactory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxCheckpointDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxCircuitBreakerDelta", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxFixedAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxPositionDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxTimeStretchAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minCheckpointDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minCircuitBreakerDelta", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minFixedAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minPositionDuration", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "minTimeStretchAPR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "removeDeployerCoordinator", - "inputs": [ - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweepCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateCheckpointDurationResolution", - "inputs": [ - { - "name": "_checkpointDurationResolution", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateCheckpointRewarder", - "inputs": [ - { - "name": "_checkpointRewarder", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateDefaultPausers", - "inputs": [ - { - "name": "_defaultPausers_", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateDeployerCoordinatorManager", - "inputs": [ - { - "name": "_deployerCoordinatorManager", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFeeCollector", - "inputs": [ - { - "name": "_feeCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateGovernance", - "inputs": [ - { - "name": "_governance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateHyperdriveGovernance", - "inputs": [ - { - "name": "_hyperdriveGovernance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLinkerCodeHash", - "inputs": [ - { - "name": "_linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLinkerFactory", - "inputs": [ - { - "name": "_linkerFactory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxCheckpointDuration", - "inputs": [ - { - "name": "_maxCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxCircuitBreakerDelta", - "inputs": [ - { - "name": "_maxCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxFees", - "inputs": [ - { - "name": "__maxFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxFixedAPR", - "inputs": [ - { - "name": "_maxFixedAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxPositionDuration", - "inputs": [ - { - "name": "_maxPositionDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMaxTimeStretchAPR", - "inputs": [ - { - "name": "_maxTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinCheckpointDuration", - "inputs": [ - { - "name": "_minCheckpointDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinCircuitBreakerDelta", - "inputs": [ - { - "name": "_minCircuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinFees", - "inputs": [ - { - "name": "__minFees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinFixedAPR", - "inputs": [ - { - "name": "_minFixedAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinPositionDuration", - "inputs": [ - { - "name": "_minPositionDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateMinTimeStretchAPR", - "inputs": [ - { - "name": "_minTimeStretchAPR", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSweepCollector", - "inputs": [ - { - "name": "_sweepCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "CheckpointDurationResolutionUpdated", - "inputs": [ - { - "name": "newCheckpointDurationResolution", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CheckpointRewarderUpdated", - "inputs": [ - { - "name": "newCheckpointRewarder", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DefaultPausersUpdated", - "inputs": [ - { - "name": "newDefaultPausers", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deployed", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "hyperdrive", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "config", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorAdded", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorManagerUpdated", - "inputs": [ - { - "name": "deployerCoordinatorManager", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DeployerCoordinatorRemoved", - "inputs": [ - { - "name": "deployerCoordinator", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FeeCollectorUpdated", - "inputs": [ - { - "name": "newFeeCollector", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "GovernanceUpdated", - "inputs": [ - { - "name": "governance", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "HyperdriveGovernanceUpdated", - "inputs": [ - { - "name": "hyperdriveGovernance", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LinkerCodeHashUpdated", - "inputs": [ - { - "name": "newLinkerCodeHash", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LinkerFactoryUpdated", - "inputs": [ - { - "name": "newLinkerFactory", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxCheckpointDurationUpdated", - "inputs": [ - { - "name": "newMaxCheckpointDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxCircuitBreakerDeltaUpdated", - "inputs": [ - { - "name": "newMaxCircuitBreakerDelta", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxFeesUpdated", - "inputs": [ - { - "name": "newMaxFees", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxFixedAPRUpdated", - "inputs": [ - { - "name": "newMaxFixedAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxPositionDurationUpdated", - "inputs": [ - { - "name": "newMaxPositionDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxTimeStretchAPRUpdated", - "inputs": [ - { - "name": "newMaxTimeStretchAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinCheckpointDurationUpdated", - "inputs": [ - { - "name": "newMinCheckpointDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinCircuitBreakerDeltaUpdated", - "inputs": [ - { - "name": "newMinCircuitBreakerDelta", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinFeesUpdated", - "inputs": [ - { - "name": "newMinFees", - "type": "tuple", - "indexed": false, - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinFixedAPRUpdated", - "inputs": [ - { - "name": "newMinFixedAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinPositionDurationUpdated", - "inputs": [ - { - "name": "newMinPositionDuration", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinTimeStretchAPRUpdated", - "inputs": [ - { - "name": "newMinTimeStretchAPR", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SweepCollectorUpdated", - "inputs": [ - { - "name": "newSweepCollector", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DeployerCoordinatorAlreadyAdded", - "inputs": [] - }, - { - "type": "error", - "name": "DeployerCoordinatorIndexMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "DeployerCoordinatorNotAdded", - "inputs": [] - }, - { - "type": "error", - "name": "EndIndexTooLarge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDurationResolution", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidDeployConfig", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidDeployerCoordinator", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidIndexes", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMaxTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinCircuitBreakerDelta", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinFees", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinFixedAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimeStretchAPR", - "inputs": [] - }, - { - "type": "error", - "name": "ReceiveLocked", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "addDeployerCoordinator(address)": "421caba8", - "checkpointDurationResolution()": "d0f96b92", - "checkpointRewarder()": "f2596458", - "defaultPausers()": "a64c90bf", - "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971", - "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7", - "deployerCoordinatorManager()": "e4e7148f", - "feeCollector()": "c415b95c", - "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb", - "getDeployerCoordinatorByInstances(address[])": "1b59be0c", - "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11", - "getInstanceAtIndex(uint256)": "daac24da", - "getInstancesInRange(uint256,uint256)": "bc30e7a1", - "getNumberOfDeployerCoordinators()": "e1b39c80", - "getNumberOfInstances()": "6e95d67c", - "governance()": "5aa6e675", - "hyperdriveGovernance()": "e3331555", - "isDeployerCoordinator(address)": "f8c09e59", - "isInstance(address)": "6b44e6be", - "kind()": "04baa00b", - "linkerCodeHash()": "c905a4b5", - "linkerFactory()": "99623bb1", - "maxCheckpointDuration()": "e0e2daaa", - "maxCircuitBreakerDelta()": "4554f9a9", - "maxFees()": "e83e34b1", - "maxFixedAPR()": "bf9bd5cd", - "maxPositionDuration()": "8efc0986", - "maxTimeStretchAPR()": "48800760", - "minCheckpointDuration()": "5720c9d5", - "minCircuitBreakerDelta()": "1ecda0fe", - "minFees()": "c1722563", - "minFixedAPR()": "d23d7ea3", - "minPositionDuration()": "daf012e6", - "minTimeStretchAPR()": "d6f50169", - "name()": "06fdde03", - "removeDeployerCoordinator(address,uint256)": "411c3035", - "sweepCollector()": "10780f73", - "updateCheckpointDurationResolution(uint256)": "11e77bfe", - "updateCheckpointRewarder(address)": "3e2d2014", - "updateDefaultPausers(address[])": "9af25262", - "updateDeployerCoordinatorManager(address)": "a98a46db", - "updateFeeCollector(address)": "d2c35ce8", - "updateGovernance(address)": "b2561263", - "updateHyperdriveGovernance(address)": "dd2b8fbb", - "updateLinkerCodeHash(bytes32)": "4fbfee77", - "updateLinkerFactory(address)": "85229785", - "updateMaxCheckpointDuration(uint256)": "6f6d5c4a", - "updateMaxCircuitBreakerDelta(uint256)": "84c19aab", - "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac", - "updateMaxFixedAPR(uint256)": "97b0e8ce", - "updateMaxPositionDuration(uint256)": "eb71f66c", - "updateMaxTimeStretchAPR(uint256)": "628027a3", - "updateMinCheckpointDuration(uint256)": "8e127cf5", - "updateMinCircuitBreakerDelta(uint256)": "2907d3dd", - "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e", - "updateMinFixedAPR(uint256)": "1978ebcf", - "updateMinPositionDuration(uint256)": "e71f34b3", - "updateMinTimeStretchAPR(uint256)": "83b361e8", - "updateSweepCollector(address)": "8627a4f0", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts deleted file mode 100644 index 508be3a3f..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts +++ /dev/null @@ -1,541 +0,0 @@ -export declare const IHyperdriveGovernedRegistry: { - abi: readonly [{ - readonly type: "function"; - readonly name: "admin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoriesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfo"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfos"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfo"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfos"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstancesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfFactories"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfInstances"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isInitialized"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setFactoryInfo"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "_data"; - readonly type: "uint128[]"; - readonly internalType: "uint128[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setInstanceInfo"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "_data"; - readonly type: "uint128[]"; - readonly internalType: "uint128[]"; - }, { - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateAdmin"; - readonly inputs: readonly [{ - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateName"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FactoryInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }, { - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "InstanceInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "NameUpdated"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "EndIndexTooLarge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidIndexes"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RegistryAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "admin()": "f851a440"; - readonly "getFactoriesInRange(uint256,uint256)": "716ba5f6"; - readonly "getFactoryAtIndex(uint256)": "a587bbe1"; - readonly "getFactoryInfo(address)": "9b724ad4"; - readonly "getFactoryInfoWithMetadata(address)": "f32c9e34"; - readonly "getFactoryInfos(address[])": "ea350321"; - readonly "getFactoryInfosWithMetadata(address[])": "b73e3fab"; - readonly "getInstanceAtIndex(uint256)": "daac24da"; - readonly "getInstanceInfo(address)": "18bb3b54"; - readonly "getInstanceInfoWithMetadata(address)": "2ad19de8"; - readonly "getInstanceInfos(address[])": "4db6c0e0"; - readonly "getInstanceInfosWithMetadata(address[])": "d2f72d52"; - readonly "getInstancesInRange(uint256,uint256)": "bc30e7a1"; - readonly "getNumberOfFactories()": "f59d00b9"; - readonly "getNumberOfInstances()": "6e95d67c"; - readonly "initialize(string,address)": "7ab4339d"; - readonly "isInitialized()": "392e53cd"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "setFactoryInfo(address[],uint128[])": "e967e388"; - readonly "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2"; - readonly "updateAdmin(address)": "e2f273bd"; - readonly "updateName(string)": "84da92a7"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveGovernedRegistry.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts.map deleted file mode 100644 index a1132dc4c..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveGovernedRegistry.d.ts","sourceRoot":"","sources":["../src/IHyperdriveGovernedRegistry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgqBpB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.js b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.js deleted file mode 100644 index eec46900e..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistry.js +++ /dev/null @@ -1,700 +0,0 @@ -export const IHyperdriveGovernedRegistry = { - abi: [ - { - "type": "function", - "name": "admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoriesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfo", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfoWithMetadata", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfos", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfosWithMetadata", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfo", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfoWithMetadata", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfos", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfosWithMetadata", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstancesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfFactories", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfInstances", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isInitialized", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setFactoryInfo", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "_data", - "type": "uint128[]", - "internalType": "uint128[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setInstanceInfo", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "_data", - "type": "uint128[]", - "internalType": "uint128[]" - }, - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateAdmin", - "inputs": [ - { - "name": "_admin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateName", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FactoryInfoUpdated", - "inputs": [ - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - }, - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "InstanceInfoUpdated", - "inputs": [ - { - "name": "instance", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "NameUpdated", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "EndIndexTooLarge", - "inputs": [] - }, - { - "type": "error", - "name": "InputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFactory", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidIndexes", - "inputs": [] - }, - { - "type": "error", - "name": "RegistryAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "admin()": "f851a440", - "getFactoriesInRange(uint256,uint256)": "716ba5f6", - "getFactoryAtIndex(uint256)": "a587bbe1", - "getFactoryInfo(address)": "9b724ad4", - "getFactoryInfoWithMetadata(address)": "f32c9e34", - "getFactoryInfos(address[])": "ea350321", - "getFactoryInfosWithMetadata(address[])": "b73e3fab", - "getInstanceAtIndex(uint256)": "daac24da", - "getInstanceInfo(address)": "18bb3b54", - "getInstanceInfoWithMetadata(address)": "2ad19de8", - "getInstanceInfos(address[])": "4db6c0e0", - "getInstanceInfosWithMetadata(address[])": "d2f72d52", - "getInstancesInRange(uint256,uint256)": "bc30e7a1", - "getNumberOfFactories()": "f59d00b9", - "getNumberOfInstances()": "6e95d67c", - "initialize(string,address)": "7ab4339d", - "isInitialized()": "392e53cd", - "kind()": "04baa00b", - "name()": "06fdde03", - "setFactoryInfo(address[],uint128[])": "e967e388", - "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2", - "updateAdmin(address)": "e2f273bd", - "updateName(string)": "84da92a7", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts deleted file mode 100644 index 4c0106b7c..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -export declare const IHyperdriveGovernedRegistryEvents: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AdminUpdated"; - readonly inputs: readonly [{ - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FactoryInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }, { - readonly name: "admin"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "InstanceInfoUpdated"; - readonly inputs: readonly [{ - readonly name: "instance"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "NameUpdated"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IHyperdriveGovernedRegistryEvents.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts.map deleted file mode 100644 index f4d5ee614..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveGovernedRegistryEvents.d.ts","sourceRoot":"","sources":["../src/IHyperdriveGovernedRegistryEvents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4F1B,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.js b/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.js deleted file mode 100644 index 19f221b74..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveGovernedRegistryEvents.js +++ /dev/null @@ -1,95 +0,0 @@ -export const IHyperdriveGovernedRegistryEvents = { - abi: [ - { - "type": "event", - "name": "AdminUpdated", - "inputs": [ - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FactoryInfoUpdated", - "inputs": [ - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - }, - { - "name": "admin", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "InstanceInfoUpdated", - "inputs": [ - { - "name": "instance", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "NameUpdated", - "inputs": [ - { - "name": "name", - "type": "string", - "indexed": true, - "internalType": "string" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts deleted file mode 100644 index fb56e9cad..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts +++ /dev/null @@ -1,575 +0,0 @@ -export declare const IHyperdriveRead: { - abi: readonly [{ - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveRead.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts.map deleted file mode 100644 index fde0fa74c..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveRead.d.ts","sourceRoot":"","sources":["../src/IHyperdriveRead.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAusBR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.js b/packages/hyperdrive-artifacts/dist/IHyperdriveRead.js deleted file mode 100644 index bc984a95d..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRead.js +++ /dev/null @@ -1,741 +0,0 @@ -export const IHyperdriveRead = { - abi: [ - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts deleted file mode 100644 index 07346c3c8..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts +++ /dev/null @@ -1,354 +0,0 @@ -export declare const IHyperdriveRegistry: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getFactoriesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfo"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfos"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getFactoryInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__factories"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceAtIndex"; - readonly inputs: readonly [{ - readonly name: "_index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfo"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfoWithMetadata"; - readonly inputs: readonly [{ - readonly name: "_instance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfos"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfo[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstanceInfosWithMetadata"; - readonly inputs: readonly [{ - readonly name: "__instances"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple[]"; - readonly internalType: "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "kind"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "version"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInstancesInRange"; - readonly inputs: readonly [{ - readonly name: "_startIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_endIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfFactories"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfInstances"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getFactoriesInRange(uint256,uint256)": "716ba5f6"; - readonly "getFactoryAtIndex(uint256)": "a587bbe1"; - readonly "getFactoryInfo(address)": "9b724ad4"; - readonly "getFactoryInfoWithMetadata(address)": "f32c9e34"; - readonly "getFactoryInfos(address[])": "ea350321"; - readonly "getFactoryInfosWithMetadata(address[])": "b73e3fab"; - readonly "getInstanceAtIndex(uint256)": "daac24da"; - readonly "getInstanceInfo(address)": "18bb3b54"; - readonly "getInstanceInfoWithMetadata(address)": "2ad19de8"; - readonly "getInstanceInfos(address[])": "4db6c0e0"; - readonly "getInstanceInfosWithMetadata(address[])": "d2f72d52"; - readonly "getInstancesInRange(uint256,uint256)": "bc30e7a1"; - readonly "getNumberOfFactories()": "f59d00b9"; - readonly "getNumberOfInstances()": "6e95d67c"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IHyperdriveRegistry.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts.map deleted file mode 100644 index df861d589..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveRegistry.d.ts","sourceRoot":"","sources":["../src/IHyperdriveRegistry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0bZ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.js b/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.js deleted file mode 100644 index afb7f3d90..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveRegistry.js +++ /dev/null @@ -1,463 +0,0 @@ -export const IHyperdriveRegistry = { - abi: [ - { - "type": "function", - "name": "getFactoriesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfo", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfoWithMetadata", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfos", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getFactoryInfosWithMetadata", - "inputs": [ - { - "name": "__factories", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceAtIndex", - "inputs": [ - { - "name": "_index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfo", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfo", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfoWithMetadata", - "inputs": [ - { - "name": "_instance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfos", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstanceInfosWithMetadata", - "inputs": [ - { - "name": "__instances", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "factory", - "type": "address", - "internalType": "address" - }, - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "kind", - "type": "string", - "internalType": "string" - }, - { - "name": "version", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInstancesInRange", - "inputs": [ - { - "name": "_startIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_endIndex", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfFactories", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfInstances", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x', - methodIdentifiers: { - "getFactoriesInRange(uint256,uint256)": "716ba5f6", - "getFactoryAtIndex(uint256)": "a587bbe1", - "getFactoryInfo(address)": "9b724ad4", - "getFactoryInfoWithMetadata(address)": "f32c9e34", - "getFactoryInfos(address[])": "ea350321", - "getFactoryInfosWithMetadata(address[])": "b73e3fab", - "getInstanceAtIndex(uint256)": "daac24da", - "getInstanceInfo(address)": "18bb3b54", - "getInstanceInfoWithMetadata(address)": "2ad19de8", - "getInstanceInfos(address[])": "4db6c0e0", - "getInstanceInfosWithMetadata(address[])": "d2f72d52", - "getInstancesInRange(uint256,uint256)": "bc30e7a1", - "getNumberOfFactories()": "f59d00b9", - "getNumberOfInstances()": "6e95d67c", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts b/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts deleted file mode 100644 index 117e5f378..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const IHyperdriveTargetDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=IHyperdriveTargetDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts.map deleted file mode 100644 index 30a23d14e..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IHyperdriveTargetDeployer.d.ts","sourceRoot":"","sources":["../src/IHyperdriveTargetDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IlB,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.js b/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.js deleted file mode 100644 index f4db40649..000000000 --- a/packages/hyperdrive-artifacts/dist/IHyperdriveTargetDeployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const IHyperdriveTargetDeployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts b/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts deleted file mode 100644 index 19863275f..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts +++ /dev/null @@ -1,91 +0,0 @@ -export declare const IInitializableAToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "treasury"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "aTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "aTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "aTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413"; - }; -}; -//# sourceMappingURL=IInitializableAToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts.map deleted file mode 100644 index 69827d18a..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableAToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IInitializableAToken.d.ts","sourceRoot":"","sources":["../src/IInitializableAToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0Gb,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IInitializableAToken.js b/packages/hyperdrive-artifacts/dist/IInitializableAToken.js deleted file mode 100644 index 71063bc5b..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableAToken.js +++ /dev/null @@ -1,111 +0,0 @@ -export const IInitializableAToken = { - abi: [ - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "treasury", - "type": "address", - "internalType": "address" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "treasury", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "aTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "aTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "aTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts b/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts deleted file mode 100644 index 94e78577a..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts +++ /dev/null @@ -1,82 +0,0 @@ -export declare const IInitializableDebtToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a"; - }; -}; -//# sourceMappingURL=IInitializableDebtToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts.map deleted file mode 100644 index 20bdcc865..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IInitializableDebtToken.d.ts","sourceRoot":"","sources":["../src/IInitializableDebtToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+FhB,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.js b/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.js deleted file mode 100644 index 39d2b5188..000000000 --- a/packages/hyperdrive-artifacts/dist/IInitializableDebtToken.js +++ /dev/null @@ -1,100 +0,0 @@ -export const IInitializableDebtToken = { - abi: [ - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IIrm.d.ts b/packages/hyperdrive-artifacts/dist/IIrm.d.ts deleted file mode 100644 index 858d2947b..000000000 --- a/packages/hyperdrive-artifacts/dist/IIrm.d.ts +++ /dev/null @@ -1,137 +0,0 @@ -export declare const IIrm: { - abi: readonly [{ - readonly type: "function"; - readonly name: "borrowRate"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "market"; - readonly type: "tuple"; - readonly internalType: "struct Market"; - readonly components: readonly [{ - readonly name: "totalSupplyAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalSupplyShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "fee"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrowRateView"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "market"; - readonly type: "tuple"; - readonly internalType: "struct Market"; - readonly components: readonly [{ - readonly name: "totalSupplyAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalSupplyShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "fee"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "borrowRate((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "9451fed4"; - readonly "borrowRateView((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "8c00bf6b"; - }; -}; -//# sourceMappingURL=IIrm.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IIrm.d.ts.map b/packages/hyperdrive-artifacts/dist/IIrm.d.ts.map deleted file mode 100644 index f74274cf1..000000000 --- a/packages/hyperdrive-artifacts/dist/IIrm.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IIrm.d.ts","sourceRoot":"","sources":["../src/IIrm.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyKG,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IIrm.js b/packages/hyperdrive-artifacts/dist/IIrm.js deleted file mode 100644 index cf0721704..000000000 --- a/packages/hyperdrive-artifacts/dist/IIrm.js +++ /dev/null @@ -1,175 +0,0 @@ -export const IIrm = { - abi: [ - { - "type": "function", - "name": "borrowRate", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "market", - "type": "tuple", - "internalType": "struct Market", - "components": [ - { - "name": "totalSupplyAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalSupplyShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "fee", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrowRateView", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "market", - "type": "tuple", - "internalType": "struct Market", - "components": [ - { - "name": "totalSupplyAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalSupplyShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "fee", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "borrowRate((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "9451fed4", - "borrowRateView((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "8c00bf6b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts b/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts deleted file mode 100644 index 08d31e35f..000000000 --- a/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts +++ /dev/null @@ -1,164 +0,0 @@ -export declare const IL2Pool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "args1"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "args2"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "borrow(bytes32)": "d5eed868"; - readonly "liquidationCall(bytes32,bytes32)": "fd21ecff"; - readonly "rebalanceStableBorrowRate(bytes32)": "427da177"; - readonly "repay(bytes32)": "563dd613"; - readonly "repayWithATokens(bytes32)": "dc7c0bff"; - readonly "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de"; - readonly "setUserUseReserveAsCollateral(bytes32)": "4d013f03"; - readonly "supply(bytes32)": "f7a73840"; - readonly "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c"; - readonly "swapBorrowRateMode(bytes32)": "1fe3c6f3"; - readonly "withdraw(bytes32)": "8e19899e"; - }; -}; -//# sourceMappingURL=IL2Pool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts.map b/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts.map deleted file mode 100644 index d895fe1f3..000000000 --- a/packages/hyperdrive-artifacts/dist/IL2Pool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IL2Pool.d.ts","sourceRoot":"","sources":["../src/IL2Pool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmMA,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAchC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IL2Pool.js b/packages/hyperdrive-artifacts/dist/IL2Pool.js deleted file mode 100644 index d9f1496e2..000000000 --- a/packages/hyperdrive-artifacts/dist/IL2Pool.js +++ /dev/null @@ -1,210 +0,0 @@ -export const IL2Pool = { - abi: [ - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "args1", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "args2", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "borrow(bytes32)": "d5eed868", - "liquidationCall(bytes32,bytes32)": "fd21ecff", - "rebalanceStableBorrowRate(bytes32)": "427da177", - "repay(bytes32)": "563dd613", - "repayWithATokens(bytes32)": "dc7c0bff", - "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", - "setUserUseReserveAsCollateral(bytes32)": "4d013f03", - "supply(bytes32)": "f7a73840", - "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", - "swapBorrowRateMode(bytes32)": "1fe3c6f3", - "withdraw(bytes32)": "8e19899e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ILido.d.ts b/packages/hyperdrive-artifacts/dist/ILido.d.ts deleted file mode 100644 index 1e58c8337..000000000 --- a/packages/hyperdrive-artifacts/dist/ILido.d.ts +++ /dev/null @@ -1,321 +0,0 @@ -export declare const ILido: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBufferedEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPooledEthByShares"; - readonly inputs: readonly [{ - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSharesByPooledEth"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sharesOf"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "submit"; - readonly inputs: readonly [{ - readonly name: "_referral"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferShares"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferSharesFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "getBufferedEther()": "47b714e0"; - readonly "getPooledEthByShares(uint256)": "7a28fb88"; - readonly "getSharesByPooledEth(uint256)": "19208451"; - readonly "getTotalPooledEther()": "37cfdaca"; - readonly "getTotalShares()": "d5002f2e"; - readonly "name()": "06fdde03"; - readonly "sharesOf(address)": "f5eb42dc"; - readonly "submit(address)": "a1903eab"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferShares(address,uint256)": "8fcb4e5b"; - readonly "transferSharesFrom(address,address,uint256)": "6d780459"; - }; -}; -//# sourceMappingURL=ILido.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILido.d.ts.map b/packages/hyperdrive-artifacts/dist/ILido.d.ts.map deleted file mode 100644 index 49775e535..000000000 --- a/packages/hyperdrive-artifacts/dist/ILido.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ILido.d.ts","sourceRoot":"","sources":["../src/ILido.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyYE,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILido.js b/packages/hyperdrive-artifacts/dist/ILido.js deleted file mode 100644 index c180f044c..000000000 --- a/packages/hyperdrive-artifacts/dist/ILido.js +++ /dev/null @@ -1,415 +0,0 @@ -export const ILido = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBufferedEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPooledEthByShares", - "inputs": [ - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSharesByPooledEth", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sharesOf", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "submit", - "inputs": [ - { - "name": "_referral", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferShares", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferSharesFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "getBufferedEther()": "47b714e0", - "getPooledEthByShares(uint256)": "7a28fb88", - "getSharesByPooledEth(uint256)": "19208451", - "getTotalPooledEther()": "37cfdaca", - "getTotalShares()": "d5002f2e", - "name()": "06fdde03", - "sharesOf(address)": "f5eb42dc", - "submit(address)": "a1903eab", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferShares(address,uint256)": "8fcb4e5b", - "transferSharesFrom(address,address,uint256)": "6d780459" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts b/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts deleted file mode 100644 index 30e0608ea..000000000 --- a/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts +++ /dev/null @@ -1,223 +0,0 @@ -export declare const ILiquidityPool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addEthAmountLockedForWithdrawal"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "amountForShare"; - readonly inputs: readonly [{ - readonly name: "_share"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_referral"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_referral"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "depositToRecipient"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_referral"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "eETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IEETH"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalEtherClaimOf"; - readonly inputs: readonly [{ - readonly name: "_user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "numPendingDeposits"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint32"; - readonly internalType: "uint32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rebase"; - readonly inputs: readonly [{ - readonly name: "_accruedRewards"; - readonly type: "int128"; - readonly internalType: "int128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "reduceEthAmountLockedForWithdrawal"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sharesForAmount"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sharesForWithdrawalAmount"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalValueInLp"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalValueOutOfLp"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addEthAmountLockedForWithdrawal(uint128)": "1665f66d"; - readonly "amountForShare(uint256)": "561bddf8"; - readonly "deposit()": "d0e30db0"; - readonly "deposit(address)": "f340fa01"; - readonly "deposit(address,address)": "f9609f08"; - readonly "depositToRecipient(address,uint256,address)": "b46a130e"; - readonly "eETH()": "0de371e2"; - readonly "getTotalEtherClaimOf(address)": "51199700"; - readonly "getTotalPooledEther()": "37cfdaca"; - readonly "numPendingDeposits()": "e4537934"; - readonly "rebase(int128)": "c00b2d61"; - readonly "reduceEthAmountLockedForWithdrawal(uint128)": "8a1b58b1"; - readonly "sharesForAmount(uint256)": "3a53acb0"; - readonly "sharesForWithdrawalAmount(uint256)": "917266fa"; - readonly "totalValueInLp()": "7c90fbf0"; - readonly "totalValueOutOfLp()": "456a23a6"; - }; -}; -//# sourceMappingURL=ILiquidityPool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts.map b/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts.map deleted file mode 100644 index 41004a2be..000000000 --- a/packages/hyperdrive-artifacts/dist/ILiquidityPool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ILiquidityPool.d.ts","sourceRoot":"","sources":["../src/ILiquidityPool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4QP,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;CAmBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILiquidityPool.js b/packages/hyperdrive-artifacts/dist/ILiquidityPool.js deleted file mode 100644 index ea031579b..000000000 --- a/packages/hyperdrive-artifacts/dist/ILiquidityPool.js +++ /dev/null @@ -1,288 +0,0 @@ -export const ILiquidityPool = { - abi: [ - { - "type": "function", - "name": "addEthAmountLockedForWithdrawal", - "inputs": [ - { - "name": "_amount", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "amountForShare", - "inputs": [ - { - "name": "_share", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_referral", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - }, - { - "name": "_referral", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "depositToRecipient", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_referral", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "eETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IEETH" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalEtherClaimOf", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "numPendingDeposits", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint32", - "internalType": "uint32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rebase", - "inputs": [ - { - "name": "_accruedRewards", - "type": "int128", - "internalType": "int128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "reduceEthAmountLockedForWithdrawal", - "inputs": [ - { - "name": "_amount", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sharesForAmount", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sharesForWithdrawalAmount", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalValueInLp", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalValueOutOfLp", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "addEthAmountLockedForWithdrawal(uint128)": "1665f66d", - "amountForShare(uint256)": "561bddf8", - "deposit()": "d0e30db0", - "deposit(address)": "f340fa01", - "deposit(address,address)": "f9609f08", - "depositToRecipient(address,uint256,address)": "b46a130e", - "eETH()": "0de371e2", - "getTotalEtherClaimOf(address)": "51199700", - "getTotalPooledEther()": "37cfdaca", - "numPendingDeposits()": "e4537934", - "rebase(int128)": "c00b2d61", - "reduceEthAmountLockedForWithdrawal(uint128)": "8a1b58b1", - "sharesForAmount(uint256)": "3a53acb0", - "sharesForWithdrawalAmount(uint256)": "917266fa", - "totalValueInLp()": "7c90fbf0", - "totalValueOutOfLp()": "456a23a6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 72cde61bc..000000000 --- a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,435 +0,0 @@ -export declare const ILsETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=ILsETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index a613cb31a..000000000 --- a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ILsETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/ILsETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4hB5B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index 6fb55e24c..000000000 --- a/packages/hyperdrive-artifacts/dist/ILsETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,553 +0,0 @@ -export const ILsETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts b/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts deleted file mode 100644 index 99d4edb02..000000000 --- a/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts +++ /dev/null @@ -1,562 +0,0 @@ -export declare const IMetaMorpho: { - abi: readonly [{ - readonly type: "function"; - readonly name: "MORPHO"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "asset"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToAssets"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "fee"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint96"; - readonly internalType: "uint96"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxDeposit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMint"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxRedeem"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxWithdraw"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "maxAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewDeposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewMint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewRedeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewWithdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "redeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalAssets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "totalAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdrawQueue"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "withdrawQueueLength"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deposit"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "MORPHO()": "3acb5624"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "asset()": "38d52e0f"; - readonly "balanceOf(address)": "70a08231"; - readonly "convertToAssets(uint256)": "07a2d13a"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "deposit(uint256,address)": "6e553f65"; - readonly "fee()": "ddca3f43"; - readonly "maxDeposit(address)": "402d267d"; - readonly "maxMint(address)": "c63d75b6"; - readonly "maxRedeem(address)": "d905777e"; - readonly "maxWithdraw(address)": "ce96cb77"; - readonly "mint(uint256,address)": "94bf804d"; - readonly "name()": "06fdde03"; - readonly "owner()": "8da5cb5b"; - readonly "previewDeposit(uint256)": "ef8b30f7"; - readonly "previewMint(uint256)": "b3d7f6b9"; - readonly "previewRedeem(uint256)": "4cdad506"; - readonly "previewWithdraw(uint256)": "0a28a477"; - readonly "redeem(uint256,address,address)": "ba087652"; - readonly "setFee(uint256)": "69fe0e2d"; - readonly "symbol()": "95d89b41"; - readonly "totalAssets()": "01e1d114"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "withdraw(uint256,address,address)": "b460af94"; - readonly "withdrawQueue(uint256)": "62518ddf"; - readonly "withdrawQueueLength()": "33f91ebb"; - }; -}; -//# sourceMappingURL=IMetaMorpho.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts.map b/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts.map deleted file mode 100644 index b7381c378..000000000 --- a/packages/hyperdrive-artifacts/dist/IMetaMorpho.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMetaMorpho.d.ts","sourceRoot":"","sources":["../src/IMetaMorpho.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqrBJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMetaMorpho.js b/packages/hyperdrive-artifacts/dist/IMetaMorpho.js deleted file mode 100644 index 6637f1f07..000000000 --- a/packages/hyperdrive-artifacts/dist/IMetaMorpho.js +++ /dev/null @@ -1,728 +0,0 @@ -export const IMetaMorpho = { - abi: [ - { - "type": "function", - "name": "MORPHO", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMorpho" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "asset", - "inputs": [], - "outputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToAssets", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "fee", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint96", - "internalType": "uint96" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxDeposit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMint", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxRedeem", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxWithdraw", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "maxAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewDeposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewMint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewRedeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewWithdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFee", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalAssets", - "inputs": [], - "outputs": [ - { - "name": "totalAssets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawQueue", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "Id" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawQueueLength", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "MORPHO()": "3acb5624", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "balanceOf(address)": "70a08231", - "convertToAssets(uint256)": "07a2d13a", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "deposit(uint256,address)": "6e553f65", - "fee()": "ddca3f43", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(uint256,address)": "94bf804d", - "name()": "06fdde03", - "owner()": "8da5cb5b", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "setFee(uint256)": "69fe0e2d", - "symbol()": "95d89b41", - "totalAssets()": "01e1d114", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address,address)": "b460af94", - "withdrawQueue(uint256)": "62518ddf", - "withdrawQueueLength()": "33f91ebb" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts deleted file mode 100644 index 8ce5c9161..000000000 --- a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts +++ /dev/null @@ -1,184 +0,0 @@ -export declare const IMockHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "__external_transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "__setBalanceOf"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "accrue"; - readonly inputs: readonly [{ - readonly name: "time"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "apr"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "calculateTimeRemaining"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateTimeRemainingScaled"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getGovernanceFeesAccrued"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "latestCheckpoint"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserves"; - readonly inputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLiquidity"; - readonly inputs: readonly [{ - readonly name: "shareReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a"; - readonly "__setBalanceOf(uint256,address,uint256)": "94a97cdb"; - readonly "accrue(uint256,int256)": "68096239"; - readonly "burn(uint256,address,uint256)": "9eea5f66"; - readonly "calculateTimeRemaining(uint256)": "68c2ecb8"; - readonly "calculateTimeRemainingScaled(uint256)": "ca6d38f7"; - readonly "getGovernanceFeesAccrued()": "8e67f87e"; - readonly "latestCheckpoint()": "907c0f92"; - readonly "mint(uint256,address,uint256)": "836a1040"; - readonly "setReserves(uint256,uint256)": "8392b8c0"; - readonly "updateLiquidity(uint256)": "ced09112"; - }; -}; -//# sourceMappingURL=IMockHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts.map deleted file mode 100644 index 63cef8a78..000000000 --- a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMockHyperdrive.d.ts","sourceRoot":"","sources":["../src/IMockHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0NR,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAchC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.js b/packages/hyperdrive-artifacts/dist/IMockHyperdrive.js deleted file mode 100644 index bada19cbe..000000000 --- a/packages/hyperdrive-artifacts/dist/IMockHyperdrive.js +++ /dev/null @@ -1,233 +0,0 @@ -export const IMockHyperdrive = { - abi: [ - { - "type": "function", - "name": "__external_transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "__setBalanceOf", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_who", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "accrue", - "inputs": [ - { - "name": "time", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "apr", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "calculateTimeRemaining", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateTimeRemainingScaled", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGovernanceFeesAccrued", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "latestCheckpoint", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserves", - "inputs": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLiquidity", - "inputs": [ - { - "name": "shareReservesDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a", - "__setBalanceOf(uint256,address,uint256)": "94a97cdb", - "accrue(uint256,int256)": "68096239", - "burn(uint256,address,uint256)": "9eea5f66", - "calculateTimeRemaining(uint256)": "68c2ecb8", - "calculateTimeRemainingScaled(uint256)": "ca6d38f7", - "getGovernanceFeesAccrued()": "8e67f87e", - "latestCheckpoint()": "907c0f92", - "mint(uint256,address,uint256)": "836a1040", - "setReserves(uint256,uint256)": "8392b8c0", - "updateLiquidity(uint256)": "ced09112" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMorpho.d.ts b/packages/hyperdrive-artifacts/dist/IMorpho.d.ts deleted file mode 100644 index a65ca3bc2..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorpho.d.ts +++ /dev/null @@ -1,822 +0,0 @@ -export declare const IMorpho: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "accrueInterest"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createMarket"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableIrm"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableLltv"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "extSloads"; - readonly inputs: readonly [{ - readonly name: "slots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeRecipient"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "idToMarketParams"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isAuthorized"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isIrmEnabled"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isLltvEnabled"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "liquidate"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "seizedAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "repaidShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "market"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly outputs: readonly [{ - readonly name: "m"; - readonly type: "tuple"; - readonly internalType: "struct Market"; - readonly components: readonly [{ - readonly name: "totalSupplyAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalSupplyShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "fee"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonce"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "position"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "p"; - readonly type: "tuple"; - readonly internalType: "struct Position"; - readonly components: readonly [{ - readonly name: "supplyShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "borrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "collateral"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorization"; - readonly inputs: readonly [{ - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newIsAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorizationWithSig"; - readonly inputs: readonly [{ - readonly name: "authorization"; - readonly type: "tuple"; - readonly internalType: "struct Authorization"; - readonly components: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "isAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "signature"; - readonly type: "tuple"; - readonly internalType: "struct Signature"; - readonly components: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFee"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "newFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFeeRecipient"; - readonly inputs: readonly [{ - readonly name: "newFeeRecipient"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setOwner"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdrawCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "accrueInterest((address,address,address,address,uint256))": "151c1ade"; - readonly "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b"; - readonly "createMarket((address,address,address,address,uint256))": "8c1358a2"; - readonly "enableIrm(address)": "5a64f51e"; - readonly "enableLltv(uint256)": "4d98a93b"; - readonly "extSloads(bytes32[])": "7784c685"; - readonly "feeRecipient()": "46904840"; - readonly "flashLoan(address,uint256,bytes)": "e0232b42"; - readonly "idToMarketParams(bytes32)": "2c3c9157"; - readonly "isAuthorized(address,address)": "65e4ad9e"; - readonly "isIrmEnabled(address)": "f2b863ce"; - readonly "isLltvEnabled(uint256)": "b485f3b8"; - readonly "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8"; - readonly "market(bytes32)": "5c60e39a"; - readonly "nonce(address)": "70ae92d2"; - readonly "owner()": "8da5cb5b"; - readonly "position(bytes32,address)": "93c52062"; - readonly "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81"; - readonly "setAuthorization(address,bool)": "eecea000"; - readonly "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f"; - readonly "setFee((address,address,address,address,uint256),uint256)": "2b4f013c"; - readonly "setFeeRecipient(address)": "e74b981b"; - readonly "setOwner(address)": "13af4035"; - readonly "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89"; - readonly "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579"; - readonly "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49"; - readonly "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d"; - }; -}; -//# sourceMappingURL=IMorpho.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorpho.d.ts.map b/packages/hyperdrive-artifacts/dist/IMorpho.d.ts.map deleted file mode 100644 index d64017d4f..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorpho.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMorpho.d.ts","sourceRoot":"","sources":["../src/IMorpho.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAigCA,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorpho.js b/packages/hyperdrive-artifacts/dist/IMorpho.js deleted file mode 100644 index 58dc3f4b5..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorpho.js +++ /dev/null @@ -1,1057 +0,0 @@ -export const IMorpho = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "accrueInterest", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsBorrowed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesBorrowed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createMarket", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableIrm", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableLltv", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "extSloads", - "inputs": [ - { - "name": "slots", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeRecipient", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "idToMarketParams", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isAuthorized", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isIrmEnabled", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isLltvEnabled", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "liquidate", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "borrower", - "type": "address", - "internalType": "address" - }, - { - "name": "seizedAssets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "repaidShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "market", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - } - ], - "outputs": [ - { - "name": "m", - "type": "tuple", - "internalType": "struct Market", - "components": [ - { - "name": "totalSupplyAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalSupplyShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "fee", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonce", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "position", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "p", - "type": "tuple", - "internalType": "struct Position", - "components": [ - { - "name": "supplyShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "borrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "collateral", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsRepaid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesRepaid", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorization", - "inputs": [ - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "newIsAuthorized", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorizationWithSig", - "inputs": [ - { - "name": "authorization", - "type": "tuple", - "internalType": "struct Authorization", - "components": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "isAuthorized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "signature", - "type": "tuple", - "internalType": "struct Signature", - "components": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFee", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "newFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFeeRecipient", - "inputs": [ - { - "name": "newFeeRecipient", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setOwner", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsSupplied", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesSupplied", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsWithdrawn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesWithdrawn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "accrueInterest((address,address,address,address,uint256))": "151c1ade", - "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", - "createMarket((address,address,address,address,uint256))": "8c1358a2", - "enableIrm(address)": "5a64f51e", - "enableLltv(uint256)": "4d98a93b", - "extSloads(bytes32[])": "7784c685", - "feeRecipient()": "46904840", - "flashLoan(address,uint256,bytes)": "e0232b42", - "idToMarketParams(bytes32)": "2c3c9157", - "isAuthorized(address,address)": "65e4ad9e", - "isIrmEnabled(address)": "f2b863ce", - "isLltvEnabled(uint256)": "b485f3b8", - "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", - "market(bytes32)": "5c60e39a", - "nonce(address)": "70ae92d2", - "owner()": "8da5cb5b", - "position(bytes32,address)": "93c52062", - "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", - "setAuthorization(address,bool)": "eecea000", - "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", - "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", - "setFeeRecipient(address)": "e74b981b", - "setOwner(address)": "13af4035", - "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", - "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", - "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", - "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts b/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts deleted file mode 100644 index 709c0e97f..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts +++ /dev/null @@ -1,714 +0,0 @@ -export declare const IMorphoBase: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "accrueInterest"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createMarket"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableIrm"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableLltv"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "extSloads"; - readonly inputs: readonly [{ - readonly name: "slots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeRecipient"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isAuthorized"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isIrmEnabled"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isLltvEnabled"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "liquidate"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "seizedAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "repaidShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "nonce"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorization"; - readonly inputs: readonly [{ - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newIsAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorizationWithSig"; - readonly inputs: readonly [{ - readonly name: "authorization"; - readonly type: "tuple"; - readonly internalType: "struct Authorization"; - readonly components: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "isAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "signature"; - readonly type: "tuple"; - readonly internalType: "struct Signature"; - readonly components: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFee"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "newFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFeeRecipient"; - readonly inputs: readonly [{ - readonly name: "newFeeRecipient"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setOwner"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdrawCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "accrueInterest((address,address,address,address,uint256))": "151c1ade"; - readonly "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b"; - readonly "createMarket((address,address,address,address,uint256))": "8c1358a2"; - readonly "enableIrm(address)": "5a64f51e"; - readonly "enableLltv(uint256)": "4d98a93b"; - readonly "extSloads(bytes32[])": "7784c685"; - readonly "feeRecipient()": "46904840"; - readonly "flashLoan(address,uint256,bytes)": "e0232b42"; - readonly "isAuthorized(address,address)": "65e4ad9e"; - readonly "isIrmEnabled(address)": "f2b863ce"; - readonly "isLltvEnabled(uint256)": "b485f3b8"; - readonly "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8"; - readonly "nonce(address)": "70ae92d2"; - readonly "owner()": "8da5cb5b"; - readonly "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81"; - readonly "setAuthorization(address,bool)": "eecea000"; - readonly "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f"; - readonly "setFee((address,address,address,address,uint256),uint256)": "2b4f013c"; - readonly "setFeeRecipient(address)": "e74b981b"; - readonly "setOwner(address)": "13af4035"; - readonly "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89"; - readonly "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579"; - readonly "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49"; - readonly "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d"; - }; -}; -//# sourceMappingURL=IMorphoBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts.map b/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts.map deleted file mode 100644 index 725613afa..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMorphoBase.d.ts","sourceRoot":"","sources":["../src/IMorphoBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu3BJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBase.js b/packages/hyperdrive-artifacts/dist/IMorphoBase.js deleted file mode 100644 index b9a7c0648..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBase.js +++ /dev/null @@ -1,916 +0,0 @@ -export const IMorphoBase = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "accrueInterest", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsBorrowed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesBorrowed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createMarket", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableIrm", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableLltv", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "extSloads", - "inputs": [ - { - "name": "slots", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeRecipient", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isAuthorized", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isIrmEnabled", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isLltvEnabled", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "liquidate", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "borrower", - "type": "address", - "internalType": "address" - }, - { - "name": "seizedAssets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "repaidShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nonce", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsRepaid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesRepaid", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorization", - "inputs": [ - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "newIsAuthorized", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorizationWithSig", - "inputs": [ - { - "name": "authorization", - "type": "tuple", - "internalType": "struct Authorization", - "components": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "isAuthorized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "signature", - "type": "tuple", - "internalType": "struct Signature", - "components": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFee", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "newFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFeeRecipient", - "inputs": [ - { - "name": "newFeeRecipient", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setOwner", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsSupplied", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesSupplied", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsWithdrawn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesWithdrawn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "accrueInterest((address,address,address,address,uint256))": "151c1ade", - "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", - "createMarket((address,address,address,address,uint256))": "8c1358a2", - "enableIrm(address)": "5a64f51e", - "enableLltv(uint256)": "4d98a93b", - "extSloads(bytes32[])": "7784c685", - "feeRecipient()": "46904840", - "flashLoan(address,uint256,bytes)": "e0232b42", - "isAuthorized(address,address)": "65e4ad9e", - "isIrmEnabled(address)": "f2b863ce", - "isLltvEnabled(uint256)": "b485f3b8", - "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", - "nonce(address)": "70ae92d2", - "owner()": "8da5cb5b", - "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", - "setAuthorization(address,bool)": "eecea000", - "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", - "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", - "setFeeRecipient(address)": "e74b981b", - "setOwner(address)": "13af4035", - "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", - "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", - "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", - "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts deleted file mode 100644 index f29246073..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts +++ /dev/null @@ -1,1987 +0,0 @@ -export declare const IMorphoBlueHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collateralToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "id"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "irm"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "lltv"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "oracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collateralToken()": "b2016bd4"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "id()": "af640d0f"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "irm()": "28e8fe7d"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "lltv()": "217b7ffe"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "oracle()": "7dc0d1d0"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IMorphoBlueHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts.map deleted file mode 100644 index b101d7daf..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMorphoBlueHyperdrive.d.ts","sourceRoot":"","sources":["../src/IMorphoBlueHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw5Ed,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.js b/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.js deleted file mode 100644 index fa80ccaeb..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoBlueHyperdrive.js +++ /dev/null @@ -1,2520 +0,0 @@ -export const IMorphoBlueHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collateralToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "id", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "Id" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "irm", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "lltv", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "oracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collateralToken()": "b2016bd4", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "id()": "af640d0f", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "irm()": "28e8fe7d", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "lltv()": "217b7ffe", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "oracle()": "7dc0d1d0", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts b/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts deleted file mode 100644 index 062384d44..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts +++ /dev/null @@ -1,807 +0,0 @@ -export declare const IMorphoStaticTyping: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "accrueInterest"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesBorrowed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createMarket"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableIrm"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "enableLltv"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "extSloads"; - readonly inputs: readonly [{ - readonly name: "slots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeRecipient"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "idToMarketParams"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly outputs: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isAuthorized"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isIrmEnabled"; - readonly inputs: readonly [{ - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isLltvEnabled"; - readonly inputs: readonly [{ - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "liquidate"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "borrower"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "seizedAssets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "repaidShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "market"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly outputs: readonly [{ - readonly name: "totalSupplyAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalSupplyShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowAssets"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "totalBorrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "fee"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonce"; - readonly inputs: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "position"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "Id"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "supplyShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "borrowShares"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "collateral"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesRepaid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorization"; - readonly inputs: readonly [{ - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newIsAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthorizationWithSig"; - readonly inputs: readonly [{ - readonly name: "authorization"; - readonly type: "tuple"; - readonly internalType: "struct Authorization"; - readonly components: readonly [{ - readonly name: "authorizer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "authorized"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "isAuthorized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "signature"; - readonly type: "tuple"; - readonly internalType: "struct Signature"; - readonly components: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFee"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "newFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setFeeRecipient"; - readonly inputs: readonly [{ - readonly name: "newFeeRecipient"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setOwner"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesSupplied"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "assetsWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sharesWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdrawCollateral"; - readonly inputs: readonly [{ - readonly name: "marketParams"; - readonly type: "tuple"; - readonly internalType: "struct MarketParams"; - readonly components: readonly [{ - readonly name: "loanToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "accrueInterest((address,address,address,address,uint256))": "151c1ade"; - readonly "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b"; - readonly "createMarket((address,address,address,address,uint256))": "8c1358a2"; - readonly "enableIrm(address)": "5a64f51e"; - readonly "enableLltv(uint256)": "4d98a93b"; - readonly "extSloads(bytes32[])": "7784c685"; - readonly "feeRecipient()": "46904840"; - readonly "flashLoan(address,uint256,bytes)": "e0232b42"; - readonly "idToMarketParams(bytes32)": "2c3c9157"; - readonly "isAuthorized(address,address)": "65e4ad9e"; - readonly "isIrmEnabled(address)": "f2b863ce"; - readonly "isLltvEnabled(uint256)": "b485f3b8"; - readonly "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8"; - readonly "market(bytes32)": "5c60e39a"; - readonly "nonce(address)": "70ae92d2"; - readonly "owner()": "8da5cb5b"; - readonly "position(bytes32,address)": "93c52062"; - readonly "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81"; - readonly "setAuthorization(address,bool)": "eecea000"; - readonly "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f"; - readonly "setFee((address,address,address,address,uint256),uint256)": "2b4f013c"; - readonly "setFeeRecipient(address)": "e74b981b"; - readonly "setOwner(address)": "13af4035"; - readonly "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89"; - readonly "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579"; - readonly "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49"; - readonly "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d"; - }; -}; -//# sourceMappingURL=IMorphoStaticTyping.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts.map b/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts.map deleted file mode 100644 index 3232a0407..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMorphoStaticTyping.d.ts","sourceRoot":"","sources":["../src/IMorphoStaticTyping.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4+BZ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.js b/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.js deleted file mode 100644 index 6dab09fd1..000000000 --- a/packages/hyperdrive-artifacts/dist/IMorphoStaticTyping.js +++ /dev/null @@ -1,1036 +0,0 @@ -export const IMorphoStaticTyping = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "accrueInterest", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsBorrowed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesBorrowed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createMarket", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableIrm", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enableLltv", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "extSloads", - "inputs": [ - { - "name": "slots", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeRecipient", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "idToMarketParams", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - } - ], - "outputs": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isAuthorized", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isIrmEnabled", - "inputs": [ - { - "name": "irm", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isLltvEnabled", - "inputs": [ - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "liquidate", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "borrower", - "type": "address", - "internalType": "address" - }, - { - "name": "seizedAssets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "repaidShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "market", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - } - ], - "outputs": [ - { - "name": "totalSupplyAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalSupplyShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowAssets", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "totalBorrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "fee", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonce", - "inputs": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "position", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "Id" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "supplyShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "borrowShares", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "collateral", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsRepaid", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesRepaid", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorization", - "inputs": [ - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "newIsAuthorized", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthorizationWithSig", - "inputs": [ - { - "name": "authorization", - "type": "tuple", - "internalType": "struct Authorization", - "components": [ - { - "name": "authorizer", - "type": "address", - "internalType": "address" - }, - { - "name": "authorized", - "type": "address", - "internalType": "address" - }, - { - "name": "isAuthorized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "signature", - "type": "tuple", - "internalType": "struct Signature", - "components": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFee", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "newFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFeeRecipient", - "inputs": [ - { - "name": "newFeeRecipient", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setOwner", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "assetsSupplied", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesSupplied", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "assetsWithdrawn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sharesWithdrawn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawCollateral", - "inputs": [ - { - "name": "marketParams", - "type": "tuple", - "internalType": "struct MarketParams", - "components": [ - { - "name": "loanToken", - "type": "address", - "internalType": "address" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalf", - "type": "address", - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "accrueInterest((address,address,address,address,uint256))": "151c1ade", - "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", - "createMarket((address,address,address,address,uint256))": "8c1358a2", - "enableIrm(address)": "5a64f51e", - "enableLltv(uint256)": "4d98a93b", - "extSloads(bytes32[])": "7784c685", - "feeRecipient()": "46904840", - "flashLoan(address,uint256,bytes)": "e0232b42", - "idToMarketParams(bytes32)": "2c3c9157", - "isAuthorized(address,address)": "65e4ad9e", - "isIrmEnabled(address)": "f2b863ce", - "isLltvEnabled(uint256)": "b485f3b8", - "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", - "market(bytes32)": "5c60e39a", - "nonce(address)": "70ae92d2", - "owner()": "8da5cb5b", - "position(bytes32,address)": "93c52062", - "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", - "setAuthorization(address,bool)": "eecea000", - "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", - "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", - "setFeeRecipient(address)": "e74b981b", - "setOwner(address)": "13af4035", - "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", - "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", - "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", - "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts b/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts deleted file mode 100644 index 587a6c596..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts +++ /dev/null @@ -1,396 +0,0 @@ -export declare const IMultiToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=IMultiToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts.map deleted file mode 100644 index 46865d828..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMultiToken.d.ts","sourceRoot":"","sources":["../src/IMultiToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmeJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiToken.js b/packages/hyperdrive-artifacts/dist/IMultiToken.js deleted file mode 100644 index e54352791..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiToken.js +++ /dev/null @@ -1,504 +0,0 @@ -export const IMultiToken = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "balanceOf(uint256,address)": "3656eec2", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "isApprovedForAll(address,address)": "e985e9c5", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "symbol(uint256)": "4e41a1fb", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts b/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts deleted file mode 100644 index 78a83d615..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts +++ /dev/null @@ -1,172 +0,0 @@ -export declare const IMultiTokenCore: { - abi: readonly [{ - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=IMultiTokenCore.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts.map b/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts.map deleted file mode 100644 index c29d1dda9..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMultiTokenCore.d.ts","sourceRoot":"","sources":["../src/IMultiTokenCore.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4MR,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.js b/packages/hyperdrive-artifacts/dist/IMultiTokenCore.js deleted file mode 100644 index 48e33c34d..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenCore.js +++ /dev/null @@ -1,215 +0,0 @@ -export const IMultiTokenCore = { - abi: [ - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts b/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts deleted file mode 100644 index e7ddd1a9d..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -export declare const IMultiTokenEvents: { - abi: readonly [{ - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IMultiTokenEvents.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts.map b/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts.map deleted file mode 100644 index 4827bdf07..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMultiTokenEvents.d.ts","sourceRoot":"","sources":["../src/IMultiTokenEvents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0FV,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.js b/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.js deleted file mode 100644 index b1f58f8e1..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenEvents.js +++ /dev/null @@ -1,93 +0,0 @@ -export const IMultiTokenEvents = { - abi: [ - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts b/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts deleted file mode 100644 index 71f69ff5a..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -export declare const IMultiTokenMetadata: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "domainSeparator()": "f698da25"; - }; -}; -//# sourceMappingURL=IMultiTokenMetadata.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts.map b/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts.map deleted file mode 100644 index 677fcaa3c..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMultiTokenMetadata.d.ts","sourceRoot":"","sources":["../src/IMultiTokenMetadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;cA6BZ,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.js b/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.js deleted file mode 100644 index 117c9e712..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenMetadata.js +++ /dev/null @@ -1,35 +0,0 @@ -export const IMultiTokenMetadata = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "domainSeparator()": "f698da25" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts b/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts deleted file mode 100644 index 34af0b545..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts +++ /dev/null @@ -1,139 +0,0 @@ -export declare const IMultiTokenRead: { - abi: readonly [{ - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "decimals()": "313ce567"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalSupply(uint256)": "bd85b039"; - }; -}; -//# sourceMappingURL=IMultiTokenRead.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts.map b/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts.map deleted file mode 100644 index 31d2adf77..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMultiTokenRead.d.ts","sourceRoot":"","sources":["../src/IMultiTokenRead.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyKR,KAAK,MAAM,EAAE;;;;;;;;;;;CAWhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.js b/packages/hyperdrive-artifacts/dist/IMultiTokenRead.js deleted file mode 100644 index 212fb9b4b..000000000 --- a/packages/hyperdrive-artifacts/dist/IMultiTokenRead.js +++ /dev/null @@ -1,181 +0,0 @@ -export const IMultiTokenRead = { - abi: [ - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "balanceOf(uint256,address)": "3656eec2", - "decimals()": "313ce567", - "isApprovedForAll(address,address)": "e985e9c5", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "symbol(uint256)": "4e41a1fb", - "totalSupply(uint256)": "bd85b039" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts b/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts deleted file mode 100644 index bd393e058..000000000 --- a/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts +++ /dev/null @@ -1,354 +0,0 @@ -export declare const IMulticall3: { - abi: readonly [{ - readonly type: "function"; - readonly name: "aggregate"; - readonly inputs: readonly [{ - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "returnData"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "aggregate3"; - readonly inputs: readonly [{ - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call3[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "allowFailure"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "returnData"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Result[]"; - readonly components: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "aggregate3Value"; - readonly inputs: readonly [{ - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call3Value[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "allowFailure"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "returnData"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Result[]"; - readonly components: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "blockAndAggregate"; - readonly inputs: readonly [{ - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "returnData"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Result[]"; - readonly components: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "getBasefee"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "basefee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockHash"; - readonly inputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockNumber"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getChainId"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "chainid"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCurrentBlockCoinbase"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "coinbase"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCurrentBlockDifficulty"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "difficulty"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCurrentBlockGasLimit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "gaslimit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCurrentBlockTimestamp"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "timestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEthBalance"; - readonly inputs: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "balance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getLastBlockHash"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tryAggregate"; - readonly inputs: readonly [{ - readonly name: "requireSuccess"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "returnData"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Result[]"; - readonly components: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "tryBlockAndAggregate"; - readonly inputs: readonly [{ - readonly name: "requireSuccess"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "calls"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Call[]"; - readonly components: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "callData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "returnData"; - readonly type: "tuple[]"; - readonly internalType: "struct IMulticall3.Result[]"; - readonly components: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "payable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "aggregate((address,bytes)[])": "252dba42"; - readonly "aggregate3((address,bool,bytes)[])": "82ad56cb"; - readonly "aggregate3Value((address,bool,uint256,bytes)[])": "174dea71"; - readonly "blockAndAggregate((address,bytes)[])": "c3077fa9"; - readonly "getBasefee()": "3e64a696"; - readonly "getBlockHash(uint256)": "ee82ac5e"; - readonly "getBlockNumber()": "42cbb15c"; - readonly "getChainId()": "3408e470"; - readonly "getCurrentBlockCoinbase()": "a8b0574e"; - readonly "getCurrentBlockDifficulty()": "72425d9d"; - readonly "getCurrentBlockGasLimit()": "86d516e8"; - readonly "getCurrentBlockTimestamp()": "0f28c97d"; - readonly "getEthBalance(address)": "4d2301cc"; - readonly "getLastBlockHash()": "27e86d6e"; - readonly "tryAggregate(bool,(address,bytes)[])": "bce38bd7"; - readonly "tryBlockAndAggregate(bool,(address,bytes)[])": "399542e9"; - }; -}; -//# sourceMappingURL=IMulticall3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts.map b/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts.map deleted file mode 100644 index c12825d07..000000000 --- a/packages/hyperdrive-artifacts/dist/IMulticall3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IMulticall3.d.ts","sourceRoot":"","sources":["../src/IMulticall3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAybJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;CAmBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IMulticall3.js b/packages/hyperdrive-artifacts/dist/IMulticall3.js deleted file mode 100644 index e5ebe4720..000000000 --- a/packages/hyperdrive-artifacts/dist/IMulticall3.js +++ /dev/null @@ -1,461 +0,0 @@ -export const IMulticall3 = { - abi: [ - { - "type": "function", - "name": "aggregate", - "inputs": [ - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "returnData", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "aggregate3", - "inputs": [ - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call3[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "allowFailure", - "type": "bool", - "internalType": "bool" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "returnData", - "type": "tuple[]", - "internalType": "struct IMulticall3.Result[]", - "components": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "aggregate3Value", - "inputs": [ - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call3Value[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "allowFailure", - "type": "bool", - "internalType": "bool" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "returnData", - "type": "tuple[]", - "internalType": "struct IMulticall3.Result[]", - "components": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "blockAndAggregate", - "inputs": [ - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "returnData", - "type": "tuple[]", - "internalType": "struct IMulticall3.Result[]", - "components": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "getBasefee", - "inputs": [], - "outputs": [ - { - "name": "basefee", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockHash", - "inputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockNumber", - "inputs": [], - "outputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getChainId", - "inputs": [], - "outputs": [ - { - "name": "chainid", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCurrentBlockCoinbase", - "inputs": [], - "outputs": [ - { - "name": "coinbase", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCurrentBlockDifficulty", - "inputs": [], - "outputs": [ - { - "name": "difficulty", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCurrentBlockGasLimit", - "inputs": [], - "outputs": [ - { - "name": "gaslimit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCurrentBlockTimestamp", - "inputs": [], - "outputs": [ - { - "name": "timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEthBalance", - "inputs": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "balance", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getLastBlockHash", - "inputs": [], - "outputs": [ - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tryAggregate", - "inputs": [ - { - "name": "requireSuccess", - "type": "bool", - "internalType": "bool" - }, - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "returnData", - "type": "tuple[]", - "internalType": "struct IMulticall3.Result[]", - "components": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "tryBlockAndAggregate", - "inputs": [ - { - "name": "requireSuccess", - "type": "bool", - "internalType": "bool" - }, - { - "name": "calls", - "type": "tuple[]", - "internalType": "struct IMulticall3.Call[]", - "components": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "callData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "returnData", - "type": "tuple[]", - "internalType": "struct IMulticall3.Result[]", - "components": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "payable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "aggregate((address,bytes)[])": "252dba42", - "aggregate3((address,bool,bytes)[])": "82ad56cb", - "aggregate3Value((address,bool,uint256,bytes)[])": "174dea71", - "blockAndAggregate((address,bytes)[])": "c3077fa9", - "getBasefee()": "3e64a696", - "getBlockHash(uint256)": "ee82ac5e", - "getBlockNumber()": "42cbb15c", - "getChainId()": "3408e470", - "getCurrentBlockCoinbase()": "a8b0574e", - "getCurrentBlockDifficulty()": "72425d9d", - "getCurrentBlockGasLimit()": "86d516e8", - "getCurrentBlockTimestamp()": "0f28c97d", - "getEthBalance(address)": "4d2301cc", - "getLastBlockHash()": "27e86d6e", - "tryAggregate(bool,(address,bytes)[])": "bce38bd7", - "tryBlockAndAggregate(bool,(address,bytes)[])": "399542e9" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IPool.d.ts b/packages/hyperdrive-artifacts/dist/IPool.d.ts deleted file mode 100644 index 5bd79dd82..000000000 --- a/packages/hyperdrive-artifacts/dist/IPool.d.ts +++ /dev/null @@ -1,1626 +0,0 @@ -export declare const IPool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_PROTOCOL_FEE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TOTAL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TO_PROTOCOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_NUMBER_RESERVES"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "backUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "configureEModeCategory"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "config"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "dropReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "finalizeTransfer"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceFromBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceToBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "amounts"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "interestRateModes"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoanSimple"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBorrowLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBridgeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeCategoryData"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getFlashLoanLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getLiquidationLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getPoolLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getReserveAddressById"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveData"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveDataLegacy"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveDataExtended"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveData"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationGracePeriodUntil"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "virtualUnderlyingBalance"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedIncome"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedVariableDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesCount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesList"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSupplyLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getUserAccountData"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "totalCollateralBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalDebtBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "availableBorrowsBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "currentLiquidationThreshold"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "ltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "healthFactor"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserConfiguration"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.UserConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserEMode"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getVirtualUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "resetIsolationModeTotalDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "until"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserveInterestRateStrategyAddress"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "rateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserEMode"; - readonly inputs: readonly [{ - readonly name: "categoryId"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "useAsCollateral"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapToVariable"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncIndexesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncRatesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateBridgeProtocolFee"; - readonly inputs: readonly [{ - readonly name: "bridgeProtocolFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFlashloanPremiums"; - readonly inputs: readonly [{ - readonly name: "flashLoanPremiumTotal"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "flashLoanPremiumToProtocol"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "BackUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "backer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Borrow"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "borrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FlashLoan"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LiquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidatedCollateralAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintedToTreasury"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amountMinted"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Repay"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "repayer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "useATokens"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Supply"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SwapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserEModeSet"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "categoryId"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "BRIDGE_PROTOCOL_FEE()": "272d9072"; - readonly "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43"; - readonly "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036"; - readonly "MAX_NUMBER_RESERVES()": "f8119d51"; - readonly "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f"; - readonly "backUnbacked(address,uint256,uint256)": "d65dc7a1"; - readonly "borrow(address,uint256,uint256,uint16,address)": "a415bcad"; - readonly "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d"; - readonly "deposit(address,uint256,address,uint16)": "e8eda9df"; - readonly "dropReserve(address)": "63c9b860"; - readonly "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933"; - readonly "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d"; - readonly "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c"; - readonly "getBorrowLogic()": "2be29fa7"; - readonly "getBridgeLogic()": "df374c36"; - readonly "getConfiguration(address)": "c44b11f7"; - readonly "getEModeCategoryData(uint8)": "6c6f6ae1"; - readonly "getEModeLogic()": "f32b9a73"; - readonly "getFlashLoanLogic()": "348fde0f"; - readonly "getLiquidationGracePeriod(address)": "5c9a8b18"; - readonly "getLiquidationLogic()": "911a3413"; - readonly "getPoolLogic()": "d3350155"; - readonly "getReserveAddressById(uint16)": "52751797"; - readonly "getReserveData(address)": "35ea6a75"; - readonly "getReserveDataExtended(address)": "8381995f"; - readonly "getReserveNormalizedIncome(address)": "d15e0053"; - readonly "getReserveNormalizedVariableDebt(address)": "386497fd"; - readonly "getReservesCount()": "72218d04"; - readonly "getReservesList()": "d1946dbc"; - readonly "getSupplyLogic()": "870e7744"; - readonly "getUserAccountData(address)": "bf92857c"; - readonly "getUserConfiguration(address)": "4417a583"; - readonly "getUserEMode(address)": "eddf1b79"; - readonly "getVirtualUnderlyingBalance(address)": "6fb07f96"; - readonly "initReserve(address,address,address,address,address)": "7a708e92"; - readonly "liquidationCall(address,address,address,uint256,bool)": "00a718a9"; - readonly "mintToTreasury(address[])": "9cd19996"; - readonly "mintUnbacked(address,uint256,address,uint16)": "69a933a5"; - readonly "rebalanceStableBorrowRate(address,address)": "cd112382"; - readonly "repay(address,uint256,uint256,address)": "573ade81"; - readonly "repayWithATokens(address,uint256,uint256)": "2dad97d4"; - readonly "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "resetIsolationModeTotalDebt(address)": "e43e88a1"; - readonly "setConfiguration(address,(uint256))": "f51e435b"; - readonly "setLiquidationGracePeriod(address,uint40)": "b1a99e26"; - readonly "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9"; - readonly "setUserEMode(uint8)": "28530a47"; - readonly "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9"; - readonly "supply(address,uint256,address,uint16)": "617ba037"; - readonly "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0"; - readonly "swapBorrowRateMode(address,uint256)": "94ba89a2"; - readonly "swapToVariable(address,address)": "2520d5ee"; - readonly "syncIndexesState(address)": "ab2b51f6"; - readonly "syncRatesState(address)": "98c7da4e"; - readonly "updateBridgeProtocolFee(uint256)": "3036b439"; - readonly "updateFlashloanPremiums(uint128,uint128)": "bcb6e522"; - readonly "withdraw(address,uint256,address)": "69328dec"; - }; -}; -//# sourceMappingURL=IPool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPool.d.ts.map b/packages/hyperdrive-artifacts/dist/IPool.d.ts.map deleted file mode 100644 index 817bad1cb..000000000 --- a/packages/hyperdrive-artifacts/dist/IPool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IPool.d.ts","sourceRoot":"","sources":["../src/IPool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAk9DE,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPool.js b/packages/hyperdrive-artifacts/dist/IPool.js deleted file mode 100644 index 6ccdb934b..000000000 --- a/packages/hyperdrive-artifacts/dist/IPool.js +++ /dev/null @@ -1,2065 +0,0 @@ -export const IPool = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_PROTOCOL_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TOTAL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_NUMBER_RESERVES", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint16", - "internalType": "uint16" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "backUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "configureEModeCategory", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "config", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "dropReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "finalizeTransfer", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceFromBefore", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceToBefore", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "interestRateModes", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoanSimple", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBorrowLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBridgeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeCategoryData", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getFlashLoanLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getLiquidationLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getPoolLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getReserveAddressById", - "inputs": [ - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveData", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveDataLegacy", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveDataExtended", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveData", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationGracePeriodUntil", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "virtualUnderlyingBalance", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedIncome", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedVariableDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesCount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesList", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSupplyLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getUserAccountData", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalCollateralBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalDebtBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "availableBorrowsBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "currentLiquidationThreshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "ltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "healthFactor", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserConfiguration", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.UserConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserEMode", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getVirtualUnderlyingBalance", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiveAToken", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "resetIsolationModeTotalDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "until", - "type": "uint40", - "internalType": "uint40" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserveInterestRateStrategyAddress", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "rateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserEMode", - "inputs": [ - { - "name": "categoryId", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "useAsCollateral", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapToVariable", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncIndexesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncRatesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateBridgeProtocolFee", - "inputs": [ - { - "name": "bridgeProtocolFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFlashloanPremiums", - "inputs": [ - { - "name": "flashLoanPremiumTotal", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "flashLoanPremiumToProtocol", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "BackUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "backer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Borrow", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "borrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FlashLoan", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "initiator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "premium", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LiquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidatedCollateralAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "receiveAToken", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintedToTreasury", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amountMinted", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RebalanceStableBorrowRate", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Repay", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "repayer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "useATokens", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Supply", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SwapBorrowRateMode", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserEModeSet", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "categoryId", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "BRIDGE_PROTOCOL_FEE()": "272d9072", - "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", - "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", - "MAX_NUMBER_RESERVES()": "f8119d51", - "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", - "backUnbacked(address,uint256,uint256)": "d65dc7a1", - "borrow(address,uint256,uint256,uint16,address)": "a415bcad", - "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", - "deposit(address,uint256,address,uint16)": "e8eda9df", - "dropReserve(address)": "63c9b860", - "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", - "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", - "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", - "getBorrowLogic()": "2be29fa7", - "getBridgeLogic()": "df374c36", - "getConfiguration(address)": "c44b11f7", - "getEModeCategoryData(uint8)": "6c6f6ae1", - "getEModeLogic()": "f32b9a73", - "getFlashLoanLogic()": "348fde0f", - "getLiquidationGracePeriod(address)": "5c9a8b18", - "getLiquidationLogic()": "911a3413", - "getPoolLogic()": "d3350155", - "getReserveAddressById(uint16)": "52751797", - "getReserveData(address)": "35ea6a75", - "getReserveDataExtended(address)": "8381995f", - "getReserveNormalizedIncome(address)": "d15e0053", - "getReserveNormalizedVariableDebt(address)": "386497fd", - "getReservesCount()": "72218d04", - "getReservesList()": "d1946dbc", - "getSupplyLogic()": "870e7744", - "getUserAccountData(address)": "bf92857c", - "getUserConfiguration(address)": "4417a583", - "getUserEMode(address)": "eddf1b79", - "getVirtualUnderlyingBalance(address)": "6fb07f96", - "initReserve(address,address,address,address,address)": "7a708e92", - "liquidationCall(address,address,address,uint256,bool)": "00a718a9", - "mintToTreasury(address[])": "9cd19996", - "mintUnbacked(address,uint256,address,uint16)": "69a933a5", - "rebalanceStableBorrowRate(address,address)": "cd112382", - "repay(address,uint256,uint256,address)": "573ade81", - "repayWithATokens(address,uint256,uint256)": "2dad97d4", - "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", - "rescueTokens(address,address,uint256)": "cea9d26f", - "resetIsolationModeTotalDebt(address)": "e43e88a1", - "setConfiguration(address,(uint256))": "f51e435b", - "setLiquidationGracePeriod(address,uint40)": "b1a99e26", - "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", - "setUserEMode(uint8)": "28530a47", - "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", - "supply(address,uint256,address,uint16)": "617ba037", - "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", - "swapBorrowRateMode(address,uint256)": "94ba89a2", - "swapToVariable(address,address)": "2520d5ee", - "syncIndexesState(address)": "ab2b51f6", - "syncRatesState(address)": "98c7da4e", - "updateBridgeProtocolFee(uint256)": "3036b439", - "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", - "withdraw(address,uint256,address)": "69328dec" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts b/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts deleted file mode 100644 index 9d54e6d12..000000000 --- a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts +++ /dev/null @@ -1,413 +0,0 @@ -export declare const IPoolAddressesProvider: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getACLAdmin"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getACLManager"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getAddress"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketId"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfigurator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolDataProvider"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPriceOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPriceOracleSentinel"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setACLAdmin"; - readonly inputs: readonly [{ - readonly name: "newAclAdmin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setACLManager"; - readonly inputs: readonly [{ - readonly name: "newAclManager"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAddress"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAddressAsProxy"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "newImplementationAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMarketId"; - readonly inputs: readonly [{ - readonly name: "newMarketId"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPoolConfiguratorImpl"; - readonly inputs: readonly [{ - readonly name: "newPoolConfiguratorImpl"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPoolDataProvider"; - readonly inputs: readonly [{ - readonly name: "newDataProvider"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPoolImpl"; - readonly inputs: readonly [{ - readonly name: "newPoolImpl"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPriceOracle"; - readonly inputs: readonly [{ - readonly name: "newPriceOracle"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPriceOracleSentinel"; - readonly inputs: readonly [{ - readonly name: "newPriceOracleSentinel"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "ACLAdminUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ACLManagerUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AddressSet"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AddressSetAsProxy"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "proxyAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "oldImplementationAddress"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "newImplementationAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MarketIdSet"; - readonly inputs: readonly [{ - readonly name: "oldMarketId"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }, { - readonly name: "newMarketId"; - readonly type: "string"; - readonly indexed: true; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PoolConfiguratorUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PoolDataProviderUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PoolUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PriceOracleSentinelUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PriceOracleUpdated"; - readonly inputs: readonly [{ - readonly name: "oldAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ProxyCreated"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "bytes32"; - readonly indexed: true; - readonly internalType: "bytes32"; - }, { - readonly name: "proxyAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "implementationAddress"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getACLAdmin()": "0e67178c"; - readonly "getACLManager()": "707cd716"; - readonly "getAddress(bytes32)": "21f8a721"; - readonly "getMarketId()": "568ef470"; - readonly "getPool()": "026b1d5f"; - readonly "getPoolConfigurator()": "631adfca"; - readonly "getPoolDataProvider()": "e860accb"; - readonly "getPriceOracle()": "fca513a8"; - readonly "getPriceOracleSentinel()": "5eb88d3d"; - readonly "setACLAdmin(address)": "76d84ffc"; - readonly "setACLManager(address)": "ed301ca9"; - readonly "setAddress(bytes32,address)": "ca446dd9"; - readonly "setAddressAsProxy(bytes32,address)": "5dcc528c"; - readonly "setMarketId(string)": "f67b1847"; - readonly "setPoolConfiguratorImpl(address)": "e4ca28b7"; - readonly "setPoolDataProvider(address)": "e44e9ed1"; - readonly "setPoolImpl(address)": "a1564406"; - readonly "setPriceOracle(address)": "530e784f"; - readonly "setPriceOracleSentinel(address)": "74944cec"; - }; -}; -//# sourceMappingURL=IPoolAddressesProvider.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts.map b/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts.map deleted file mode 100644 index f4a63c741..000000000 --- a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IPoolAddressesProvider.d.ts","sourceRoot":"","sources":["../src/IPoolAddressesProvider.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmff,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.js b/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.js deleted file mode 100644 index e7e17f9ef..000000000 --- a/packages/hyperdrive-artifacts/dist/IPoolAddressesProvider.js +++ /dev/null @@ -1,522 +0,0 @@ -export const IPoolAddressesProvider = { - abi: [ - { - "type": "function", - "name": "getACLAdmin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getACLManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getAddress", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketId", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfigurator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolDataProvider", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPriceOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPriceOracleSentinel", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setACLAdmin", - "inputs": [ - { - "name": "newAclAdmin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setACLManager", - "inputs": [ - { - "name": "newAclManager", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAddress", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "newAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAddressAsProxy", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "newImplementationAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMarketId", - "inputs": [ - { - "name": "newMarketId", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPoolConfiguratorImpl", - "inputs": [ - { - "name": "newPoolConfiguratorImpl", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPoolDataProvider", - "inputs": [ - { - "name": "newDataProvider", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPoolImpl", - "inputs": [ - { - "name": "newPoolImpl", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPriceOracle", - "inputs": [ - { - "name": "newPriceOracle", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPriceOracleSentinel", - "inputs": [ - { - "name": "newPriceOracleSentinel", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "ACLAdminUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ACLManagerUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AddressSet", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AddressSetAsProxy", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "proxyAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "oldImplementationAddress", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "newImplementationAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MarketIdSet", - "inputs": [ - { - "name": "oldMarketId", - "type": "string", - "indexed": true, - "internalType": "string" - }, - { - "name": "newMarketId", - "type": "string", - "indexed": true, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PoolConfiguratorUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PoolDataProviderUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PoolUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PriceOracleSentinelUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PriceOracleUpdated", - "inputs": [ - { - "name": "oldAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ProxyCreated", - "inputs": [ - { - "name": "id", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "proxyAddress", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "implementationAddress", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "getACLAdmin()": "0e67178c", - "getACLManager()": "707cd716", - "getAddress(bytes32)": "21f8a721", - "getMarketId()": "568ef470", - "getPool()": "026b1d5f", - "getPoolConfigurator()": "631adfca", - "getPoolDataProvider()": "e860accb", - "getPriceOracle()": "fca513a8", - "getPriceOracleSentinel()": "5eb88d3d", - "setACLAdmin(address)": "76d84ffc", - "setACLManager(address)": "ed301ca9", - "setAddress(bytes32,address)": "ca446dd9", - "setAddressAsProxy(bytes32,address)": "5dcc528c", - "setMarketId(string)": "f67b1847", - "setPoolConfiguratorImpl(address)": "e4ca28b7", - "setPoolDataProvider(address)": "e44e9ed1", - "setPoolImpl(address)": "a1564406", - "setPriceOracle(address)": "530e784f", - "setPriceOracleSentinel(address)": "74944cec" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts b/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts deleted file mode 100644 index 6e9eca144..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -export declare const IPriceOracleGetter: { - abi: readonly [{ - readonly type: "function"; - readonly name: "BASE_CURRENCY"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BASE_CURRENCY_UNIT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getAssetPrice"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "BASE_CURRENCY()": "e19f4700"; - readonly "BASE_CURRENCY_UNIT()": "8c89b64f"; - readonly "getAssetPrice(address)": "b3596f07"; - }; -}; -//# sourceMappingURL=IPriceOracleGetter.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts.map b/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts.map deleted file mode 100644 index f7eb999bf..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IPriceOracleGetter.d.ts","sourceRoot":"","sources":["../src/IPriceOracleGetter.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgDX,KAAK,MAAM,EAAE;;;;;;CAMhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.js b/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.js deleted file mode 100644 index 92591921b..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleGetter.js +++ /dev/null @@ -1,55 +0,0 @@ -export const IPriceOracleGetter = { - abi: [ - { - "type": "function", - "name": "BASE_CURRENCY", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BASE_CURRENCY_UNIT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getAssetPrice", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "BASE_CURRENCY()": "e19f4700", - "BASE_CURRENCY_UNIT()": "8c89b64f", - "getAssetPrice(address)": "b3596f07" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts b/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts deleted file mode 100644 index 0428561fd..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts +++ /dev/null @@ -1,104 +0,0 @@ -export declare const IPriceOracleSentinel: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getGracePeriod"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSequencerOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isBorrowAllowed"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isLiquidationAllowed"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setGracePeriod"; - readonly inputs: readonly [{ - readonly name: "newGracePeriod"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setSequencerOracle"; - readonly inputs: readonly [{ - readonly name: "newSequencerOracle"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "GracePeriodUpdated"; - readonly inputs: readonly [{ - readonly name: "newGracePeriod"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SequencerOracleUpdated"; - readonly inputs: readonly [{ - readonly name: "newSequencerOracle"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "getGracePeriod()": "dbd18388"; - readonly "getSequencerOracle()": "12168dc2"; - readonly "isBorrowAllowed()": "49aa2e81"; - readonly "isLiquidationAllowed()": "7a5d20ea"; - readonly "setGracePeriod(uint256)": "f2f65960"; - readonly "setSequencerOracle(address)": "f0aef31c"; - }; -}; -//# sourceMappingURL=IPriceOracleSentinel.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts.map b/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts.map deleted file mode 100644 index e86fbd2ba..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IPriceOracleSentinel.d.ts","sourceRoot":"","sources":["../src/IPriceOracleSentinel.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwHb,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.js b/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.js deleted file mode 100644 index b5b180c0b..000000000 --- a/packages/hyperdrive-artifacts/dist/IPriceOracleSentinel.js +++ /dev/null @@ -1,131 +0,0 @@ -export const IPriceOracleSentinel = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGracePeriod", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSequencerOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isBorrowAllowed", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isLiquidationAllowed", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setGracePeriod", - "inputs": [ - { - "name": "newGracePeriod", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setSequencerOracle", - "inputs": [ - { - "name": "newSequencerOracle", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "GracePeriodUpdated", - "inputs": [ - { - "name": "newGracePeriod", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SequencerOracleUpdated", - "inputs": [ - { - "name": "newSequencerOracle", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "getGracePeriod()": "dbd18388", - "getSequencerOracle()": "12168dc2", - "isBorrowAllowed()": "49aa2e81", - "isLiquidationAllowed()": "7a5d20ea", - "setGracePeriod(uint256)": "f2f65960", - "setSequencerOracle(address)": "f0aef31c" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index be5989091..000000000 --- a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,435 +0,0 @@ -export declare const IRETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IRETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index ef9f07664..000000000 --- a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IRETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4hB3B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index 555f30aa1..000000000 --- a/packages/hyperdrive-artifacts/dist/IRETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,553 +0,0 @@ -export const IRETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts b/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts deleted file mode 100644 index a85ab2579..000000000 --- a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts +++ /dev/null @@ -1,62 +0,0 @@ -export declare const IRSETHPoolV2: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "referralId"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "feeBps"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rsETHOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "wrsETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deposit(string)": "a26e1186"; - readonly "feeBps()": "24a9d853"; - readonly "getRate()": "679aefce"; - readonly "rsETHOracle()": "54d1d5e4"; - readonly "wrsETH()": "e129200f"; - }; -}; -//# sourceMappingURL=IRSETHPoolV2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts.map b/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts.map deleted file mode 100644 index 9dce14543..000000000 --- a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRSETHPoolV2.d.ts","sourceRoot":"","sources":["../src/IRSETHPoolV2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoEL,KAAK,MAAM,EAAE;;;;;;;;CAQhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.js b/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.js deleted file mode 100644 index 6718b3861..000000000 --- a/packages/hyperdrive-artifacts/dist/IRSETHPoolV2.js +++ /dev/null @@ -1,77 +0,0 @@ -export const IRSETHPoolV2 = { - abi: [ - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "referralId", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "feeBps", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rsETHOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "wrsETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "deposit(string)": "a26e1186", - "feeBps()": "24a9d853", - "getRate()": "679aefce", - "rsETHOracle()": "54d1d5e4", - "wrsETH()": "e129200f" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts b/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts deleted file mode 100644 index 5d609df83..000000000 --- a/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts +++ /dev/null @@ -1,110 +0,0 @@ -export declare const IRenzoOracle: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateMintAmount"; - readonly inputs: readonly [{ - readonly name: "_currentValueInProtocol"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_newValueAdded"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_existingEzETHSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateRedeemAmount"; - readonly inputs: readonly [{ - readonly name: "_ezETHBeingBurned"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_existingEzETHSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_currentValueInProtocol"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "lookupTokenAmountFromValue"; - readonly inputs: readonly [{ - readonly name: "_token"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lookupTokenValue"; - readonly inputs: readonly [{ - readonly name: "_token"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_balance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lookupTokenValues"; - readonly inputs: readonly [{ - readonly name: "_tokens"; - readonly type: "address[]"; - readonly internalType: "contract IERC20[]"; - }, { - readonly name: "_balances"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a"; - readonly "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0"; - readonly "lookupTokenAmountFromValue(address,uint256)": "37933625"; - readonly "lookupTokenValue(address,uint256)": "0052e3fd"; - readonly "lookupTokenValues(address[],uint256[])": "ba28a571"; - }; -}; -//# sourceMappingURL=IRenzoOracle.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts.map b/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts.map deleted file mode 100644 index a11deabb5..000000000 --- a/packages/hyperdrive-artifacts/dist/IRenzoOracle.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRenzoOracle.d.ts","sourceRoot":"","sources":["../src/IRenzoOracle.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqIL,KAAK,MAAM,EAAE;;;;;;;;CAQhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRenzoOracle.js b/packages/hyperdrive-artifacts/dist/IRenzoOracle.js deleted file mode 100644 index 45d850b59..000000000 --- a/packages/hyperdrive-artifacts/dist/IRenzoOracle.js +++ /dev/null @@ -1,142 +0,0 @@ -export const IRenzoOracle = { - abi: [ - { - "type": "function", - "name": "calculateMintAmount", - "inputs": [ - { - "name": "_currentValueInProtocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_newValueAdded", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_existingEzETHSupply", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateRedeemAmount", - "inputs": [ - { - "name": "_ezETHBeingBurned", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_existingEzETHSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_currentValueInProtocol", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "lookupTokenAmountFromValue", - "inputs": [ - { - "name": "_token", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lookupTokenValue", - "inputs": [ - { - "name": "_token", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_balance", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lookupTokenValues", - "inputs": [ - { - "name": "_tokens", - "type": "address[]", - "internalType": "contract IERC20[]" - }, - { - "name": "_balances", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a", - "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0", - "lookupTokenAmountFromValue(address,uint256)": "37933625", - "lookupTokenValue(address,uint256)": "0052e3fd", - "lookupTokenValues(address[],uint256[])": "ba28a571" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts b/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts deleted file mode 100644 index 612d93839..000000000 --- a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -export declare const IReserveInterestRateStrategy: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateInterestRates"; - readonly inputs: readonly [{ - readonly name: "params"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.CalculateInterestRatesParams"; - readonly components: readonly [{ - readonly name: "unbacked"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityAdded"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityTaken"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalStableDebt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalVariableDebt"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "averageStableBorrowRate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "reserveFactor"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "reserve"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "usingVirtualBalance"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "virtualUnderlyingBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setInterestRateParams"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "rateData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateInterestRates((uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,bool,uint256))": "f6849b9e"; - readonly "setInterestRateParams(address,bytes)": "a8d9e56f"; - }; -}; -//# sourceMappingURL=IReserveInterestRateStrategy.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts.map b/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts.map deleted file mode 100644 index 29a65c049..000000000 --- a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IReserveInterestRateStrategy.d.ts","sourceRoot":"","sources":["../src/IReserveInterestRateStrategy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsGrB,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.js b/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.js deleted file mode 100644 index 1f02cb194..000000000 --- a/packages/hyperdrive-artifacts/dist/IReserveInterestRateStrategy.js +++ /dev/null @@ -1,108 +0,0 @@ -export const IReserveInterestRateStrategy = { - abi: [ - { - "type": "function", - "name": "calculateInterestRates", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct DataTypes.CalculateInterestRatesParams", - "components": [ - { - "name": "unbacked", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "liquidityAdded", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "liquidityTaken", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalStableDebt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalVariableDebt", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "averageStableBorrowRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "reserveFactor", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "reserve", - "type": "address", - "internalType": "address" - }, - { - "name": "usingVirtualBalance", - "type": "bool", - "internalType": "bool" - }, - { - "name": "virtualUnderlyingBalance", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setInterestRateParams", - "inputs": [ - { - "name": "reserve", - "type": "address", - "internalType": "address" - }, - { - "name": "rateData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "calculateInterestRates((uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,bool,uint256))": "f6849b9e", - "setInterestRateParams(address,bytes)": "a8d9e56f" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts b/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts deleted file mode 100644 index 5a0bcab55..000000000 --- a/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts +++ /dev/null @@ -1,55 +0,0 @@ -export declare const IRestakeManager: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateTVLs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[][]"; - readonly internalType: "uint256[][]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "depositETH"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "ezETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateTVLs()": "ff9969cd"; - readonly "depositETH()": "f6326fb3"; - readonly "ezETH()": "13a73c78"; - readonly "renzoOracle()": "892866a4"; - }; -}; -//# sourceMappingURL=IRestakeManager.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts.map b/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts.map deleted file mode 100644 index 1301a8c77..000000000 --- a/packages/hyperdrive-artifacts/dist/IRestakeManager.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRestakeManager.d.ts","sourceRoot":"","sources":["../src/IRestakeManager.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2DR,KAAK,MAAM,EAAE;;;;;;;CAOhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRestakeManager.js b/packages/hyperdrive-artifacts/dist/IRestakeManager.js deleted file mode 100644 index 8611b37ab..000000000 --- a/packages/hyperdrive-artifacts/dist/IRestakeManager.js +++ /dev/null @@ -1,67 +0,0 @@ -export const IRestakeManager = { - abi: [ - { - "type": "function", - "name": "calculateTVLs", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256[][]", - "internalType": "uint256[][]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositETH", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "ezETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "calculateTVLs()": "ff9969cd", - "depositETH()": "f6326fb3", - "ezETH()": "13a73c78", - "renzoOracle()": "892866a4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts b/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts deleted file mode 100644 index 7f48b57f8..000000000 --- a/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts +++ /dev/null @@ -1,242 +0,0 @@ -export declare const IRiverV1: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOfUnderlying"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sharesFromUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "_underlyingAssetAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalUnderlyingSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "underlyingBalanceFromShares"; - readonly inputs: readonly [{ - readonly name: "_shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "balanceOfUnderlying(address)": "3af9e669"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "sharesFromUnderlyingBalance(uint256)": "799a1954"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "totalUnderlyingSupply()": "143a08d4"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "underlyingBalanceFromShares(uint256)": "f79c3f02"; - }; -}; -//# sourceMappingURL=IRiverV1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts.map b/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts.map deleted file mode 100644 index 02b9b9991..000000000 --- a/packages/hyperdrive-artifacts/dist/IRiverV1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRiverV1.d.ts","sourceRoot":"","sources":["../src/IRiverV1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuSD,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;CAgBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRiverV1.js b/packages/hyperdrive-artifacts/dist/IRiverV1.js deleted file mode 100644 index b5cab3a6e..000000000 --- a/packages/hyperdrive-artifacts/dist/IRiverV1.js +++ /dev/null @@ -1,312 +0,0 @@ -export const IRiverV1 = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOfUnderlying", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sharesFromUnderlyingBalance", - "inputs": [ - { - "name": "_underlyingAssetAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalUnderlyingSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "underlyingBalanceFromShares", - "inputs": [ - { - "name": "_shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "balanceOfUnderlying(address)": "3af9e669", - "decimals()": "313ce567", - "name()": "06fdde03", - "sharesFromUnderlyingBalance(uint256)": "799a1954", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "totalUnderlyingSupply()": "143a08d4", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "underlyingBalanceFromShares(uint256)": "f79c3f02" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts b/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts deleted file mode 100644 index 2045fda0e..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts +++ /dev/null @@ -1,141 +0,0 @@ -export declare const IRocketDepositPool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "assignDeposits"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "getBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getExcessBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMaximumDepositAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNodeBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maybeAssignDeposits"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "nodeCreditWithdrawal"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "nodeDeposit"; - readonly inputs: readonly [{ - readonly name: "_totalAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "recycleDissolvedDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "recycleExcessCollateral"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "recycleLiquidatedStake"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "withdrawExcessBalance"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "assignDeposits()": "27c8f193"; - readonly "deposit()": "d0e30db0"; - readonly "getBalance()": "12065fe0"; - readonly "getExcessBalance()": "888b042f"; - readonly "getMaximumDepositAmount()": "1eddb626"; - readonly "getNodeBalance()": "1e35fed8"; - readonly "getUserBalance()": "b7013dc1"; - readonly "maybeAssignDeposits()": "3b36f592"; - readonly "nodeCreditWithdrawal(uint256)": "606b6497"; - readonly "nodeDeposit(uint256)": "22b1751d"; - readonly "recycleDissolvedDeposit()": "72f5158d"; - readonly "recycleExcessCollateral()": "db82047b"; - readonly "recycleLiquidatedStake()": "1b7dd4c0"; - readonly "withdrawExcessBalance(uint256)": "63a5db9e"; - }; -}; -//# sourceMappingURL=IRocketDepositPool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts.map b/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts.map deleted file mode 100644 index 2e73805c1..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRocketDepositPool.d.ts","sourceRoot":"","sources":["../src/IRocketDepositPool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2JX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.js b/packages/hyperdrive-artifacts/dist/IRocketDepositPool.js deleted file mode 100644 index 81214a2fd..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketDepositPool.js +++ /dev/null @@ -1,173 +0,0 @@ -export const IRocketDepositPool = { - abi: [ - { - "type": "function", - "name": "assignDeposits", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "getBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getExcessBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMaximumDepositAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNodeBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maybeAssignDeposits", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nodeCreditWithdrawal", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nodeDeposit", - "inputs": [ - { - "name": "_totalAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "recycleDissolvedDeposit", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "recycleExcessCollateral", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "recycleLiquidatedStake", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "withdrawExcessBalance", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "assignDeposits()": "27c8f193", - "deposit()": "d0e30db0", - "getBalance()": "12065fe0", - "getExcessBalance()": "888b042f", - "getMaximumDepositAmount()": "1eddb626", - "getNodeBalance()": "1e35fed8", - "getUserBalance()": "b7013dc1", - "maybeAssignDeposits()": "3b36f592", - "nodeCreditWithdrawal(uint256)": "606b6497", - "nodeDeposit(uint256)": "22b1751d", - "recycleDissolvedDeposit()": "72f5158d", - "recycleExcessCollateral()": "db82047b", - "recycleLiquidatedStake()": "1b7dd4c0", - "withdrawExcessBalance(uint256)": "63a5db9e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts b/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts deleted file mode 100644 index 9ecaabcae..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts +++ /dev/null @@ -1,119 +0,0 @@ -export declare const IRocketNetworkBalances: { - abi: readonly [{ - readonly type: "function"; - readonly name: "executeUpdateBalances"; - readonly inputs: readonly [{ - readonly name: "_block"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_totalEth"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_stakingEth"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_rethSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBalancesBlock"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getETHUtilizationRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getLatestReportableBlock"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getStakingETHBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalETHBalance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalRETHSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "submitBalances"; - readonly inputs: readonly [{ - readonly name: "_block"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_total"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_staking"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_rethSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeUpdateBalances(uint256,uint256,uint256,uint256)": "56ff3625"; - readonly "getBalancesBlock()": "9100c13d"; - readonly "getETHUtilizationRate()": "9dba66af"; - readonly "getLatestReportableBlock()": "a9bb16ed"; - readonly "getStakingETHBalance()": "f1eda634"; - readonly "getTotalETHBalance()": "964d042c"; - readonly "getTotalRETHSupply()": "c4c8d0ad"; - readonly "submitBalances(uint256,uint256,uint256,uint256)": "32db5470"; - }; -}; -//# sourceMappingURL=IRocketNetworkBalances.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts.map b/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts.map deleted file mode 100644 index 2f49788d4..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRocketNetworkBalances.d.ts","sourceRoot":"","sources":["../src/IRocketNetworkBalances.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyIf,KAAK,MAAM,EAAE;;;;;;;;;;;CAWhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.js b/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.js deleted file mode 100644 index 52eec5abb..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketNetworkBalances.js +++ /dev/null @@ -1,149 +0,0 @@ -export const IRocketNetworkBalances = { - abi: [ - { - "type": "function", - "name": "executeUpdateBalances", - "inputs": [ - { - "name": "_block", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_totalEth", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_stakingEth", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_rethSupply", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBalancesBlock", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getETHUtilizationRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getLatestReportableBlock", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getStakingETHBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalETHBalance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalRETHSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "submitBalances", - "inputs": [ - { - "name": "_block", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_total", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_staking", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_rethSupply", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "executeUpdateBalances(uint256,uint256,uint256,uint256)": "56ff3625", - "getBalancesBlock()": "9100c13d", - "getETHUtilizationRate()": "9dba66af", - "getLatestReportableBlock()": "a9bb16ed", - "getStakingETHBalance()": "f1eda634", - "getTotalETHBalance()": "964d042c", - "getTotalRETHSupply()": "c4c8d0ad", - "submitBalances(uint256,uint256,uint256,uint256)": "32db5470" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts b/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts deleted file mode 100644 index 6617ad598..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts +++ /dev/null @@ -1,84 +0,0 @@ -export declare const IRocketPoolDAOProtocolSettingsDeposit: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getAssignDepositsEnabled"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDepositEnabled"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDepositFee"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMaximumDepositAssignments"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMaximumDepositPoolSize"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMaximumDepositSocialisedAssignments"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMinimumDeposit"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getAssignDepositsEnabled()": "47fa434a"; - readonly "getDepositEnabled()": "6ada7847"; - readonly "getDepositFee()": "0de705b5"; - readonly "getMaximumDepositAssignments()": "3b474a65"; - readonly "getMaximumDepositPoolSize()": "fd6ce89e"; - readonly "getMaximumDepositSocialisedAssignments()": "f19b4106"; - readonly "getMinimumDeposit()": "035cf142"; - }; -}; -//# sourceMappingURL=IRocketPoolDAOProtocolSettingsDeposit.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts.map b/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts.map deleted file mode 100644 index 35142dcc6..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRocketPoolDAOProtocolSettingsDeposit.d.ts","sourceRoot":"","sources":["../src/IRocketPoolDAOProtocolSettingsDeposit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8F9B,KAAK,MAAM,EAAE;;;;;;;;;;CAUhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.js b/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.js deleted file mode 100644 index 9e6209e5e..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketPoolDAOProtocolSettingsDeposit.js +++ /dev/null @@ -1,105 +0,0 @@ -export const IRocketPoolDAOProtocolSettingsDeposit = { - abi: [ - { - "type": "function", - "name": "getAssignDepositsEnabled", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDepositEnabled", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDepositFee", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMaximumDepositAssignments", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMaximumDepositPoolSize", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMaximumDepositSocialisedAssignments", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMinimumDeposit", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "getAssignDepositsEnabled()": "47fa434a", - "getDepositEnabled()": "6ada7847", - "getDepositFee()": "0de705b5", - "getMaximumDepositAssignments()": "3b474a65", - "getMaximumDepositPoolSize()": "fd6ce89e", - "getMaximumDepositSocialisedAssignments()": "f19b4106", - "getMinimumDeposit()": "035cf142" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts b/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts deleted file mode 100644 index 5f47ac7a2..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts +++ /dev/null @@ -1,424 +0,0 @@ -export declare const IRocketStorage: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addUint"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "confirmGuardian"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "confirmWithdrawalAddress"; - readonly inputs: readonly [{ - readonly name: "_nodeAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteAddress"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteBool"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteBytes"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteBytes32"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteInt"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteString"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteUint"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getAddress"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBool"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBytes"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBytes32"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployedStatus"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getGuardian"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getInt"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNodePendingWithdrawalAddress"; - readonly inputs: readonly [{ - readonly name: "_nodeAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNodeWithdrawalAddress"; - readonly inputs: readonly [{ - readonly name: "_nodeAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getString"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUint"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setAddress"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setBool"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setBytes"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setBytes32"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGuardian"; - readonly inputs: readonly [{ - readonly name: "_newAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setInt"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setString"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUint"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setWithdrawalAddress"; - readonly inputs: readonly [{ - readonly name: "_nodeAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_newWithdrawalAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_confirm"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "subUint"; - readonly inputs: readonly [{ - readonly name: "_key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addUint(bytes32,uint256)": "adb353dc"; - readonly "confirmGuardian()": "1e0ea61e"; - readonly "confirmWithdrawalAddress(address)": "bd439126"; - readonly "deleteAddress(bytes32)": "0e14a376"; - readonly "deleteBool(bytes32)": "2c62ff2d"; - readonly "deleteBytes(bytes32)": "616b59f6"; - readonly "deleteBytes32(bytes32)": "0b9adc57"; - readonly "deleteInt(bytes32)": "8c160095"; - readonly "deleteString(bytes32)": "f6bb3cc4"; - readonly "deleteUint(bytes32)": "e2b202bf"; - readonly "getAddress(bytes32)": "21f8a721"; - readonly "getBool(bytes32)": "7ae1cfca"; - readonly "getBytes(bytes32)": "c031a180"; - readonly "getBytes32(bytes32)": "a6ed563e"; - readonly "getDeployedStatus()": "1bed5241"; - readonly "getGuardian()": "a75b87d2"; - readonly "getInt(bytes32)": "dc97d962"; - readonly "getNodePendingWithdrawalAddress(address)": "fd412513"; - readonly "getNodeWithdrawalAddress(address)": "5b49ff62"; - readonly "getString(bytes32)": "986e791a"; - readonly "getUint(bytes32)": "bd02d0f5"; - readonly "setAddress(bytes32,address)": "ca446dd9"; - readonly "setBool(bytes32,bool)": "abfdcced"; - readonly "setBytes(bytes32,bytes)": "2e28d084"; - readonly "setBytes32(bytes32,bytes32)": "4e91db08"; - readonly "setGuardian(address)": "8a0dac4a"; - readonly "setInt(bytes32,int256)": "3e49bed0"; - readonly "setString(bytes32,string)": "6e899550"; - readonly "setUint(bytes32,uint256)": "e2a4853a"; - readonly "setWithdrawalAddress(address,address,bool)": "a543ccea"; - readonly "subUint(bytes32,uint256)": "ebb9d8c9"; - }; -}; -//# sourceMappingURL=IRocketStorage.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts.map b/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts.map deleted file mode 100644 index 3dfb0ec92..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketStorage.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRocketStorage.d.ts","sourceRoot":"","sources":["../src/IRocketStorage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6fP,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketStorage.js b/packages/hyperdrive-artifacts/dist/IRocketStorage.js deleted file mode 100644 index b8eb93b5b..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketStorage.js +++ /dev/null @@ -1,544 +0,0 @@ -export const IRocketStorage = { - abi: [ - { - "type": "function", - "name": "addUint", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "confirmGuardian", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "confirmWithdrawalAddress", - "inputs": [ - { - "name": "_nodeAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteAddress", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteBool", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteBytes", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteBytes32", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteInt", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteString", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteUint", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getAddress", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBool", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBytes", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBytes32", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployedStatus", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGuardian", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getInt", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNodePendingWithdrawalAddress", - "inputs": [ - { - "name": "_nodeAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNodeWithdrawalAddress", - "inputs": [ - { - "name": "_nodeAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getString", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUint", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setAddress", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setBool", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setBytes", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setBytes32", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGuardian", - "inputs": [ - { - "name": "_newAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setInt", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setString", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUint", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setWithdrawalAddress", - "inputs": [ - { - "name": "_nodeAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "_newWithdrawalAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "_confirm", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "subUint", - "inputs": [ - { - "name": "_key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "addUint(bytes32,uint256)": "adb353dc", - "confirmGuardian()": "1e0ea61e", - "confirmWithdrawalAddress(address)": "bd439126", - "deleteAddress(bytes32)": "0e14a376", - "deleteBool(bytes32)": "2c62ff2d", - "deleteBytes(bytes32)": "616b59f6", - "deleteBytes32(bytes32)": "0b9adc57", - "deleteInt(bytes32)": "8c160095", - "deleteString(bytes32)": "f6bb3cc4", - "deleteUint(bytes32)": "e2b202bf", - "getAddress(bytes32)": "21f8a721", - "getBool(bytes32)": "7ae1cfca", - "getBytes(bytes32)": "c031a180", - "getBytes32(bytes32)": "a6ed563e", - "getDeployedStatus()": "1bed5241", - "getGuardian()": "a75b87d2", - "getInt(bytes32)": "dc97d962", - "getNodePendingWithdrawalAddress(address)": "fd412513", - "getNodeWithdrawalAddress(address)": "5b49ff62", - "getString(bytes32)": "986e791a", - "getUint(bytes32)": "bd02d0f5", - "setAddress(bytes32,address)": "ca446dd9", - "setBool(bytes32,bool)": "abfdcced", - "setBytes(bytes32,bytes)": "2e28d084", - "setBytes32(bytes32,bytes32)": "4e91db08", - "setGuardian(address)": "8a0dac4a", - "setInt(bytes32,int256)": "3e49bed0", - "setString(bytes32,string)": "6e899550", - "setUint(bytes32,uint256)": "e2a4853a", - "setWithdrawalAddress(address,address,bool)": "a543ccea", - "subUint(bytes32,uint256)": "ebb9d8c9" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts b/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts deleted file mode 100644 index 708e26c34..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts +++ /dev/null @@ -1,289 +0,0 @@ -export declare const IRocketTokenRETH: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "_rethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "depositExcess"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "depositExcessCollateral"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getCollateralRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEthValue"; - readonly inputs: readonly [{ - readonly name: "_rethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getExchangeRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRethValue"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalCollateral"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(uint256)": "42966c68"; - readonly "decimals()": "313ce567"; - readonly "depositExcess()": "6c985a88"; - readonly "depositExcessCollateral()": "188e0dc6"; - readonly "getCollateralRate()": "852185fc"; - readonly "getEthValue(uint256)": "8b32fa23"; - readonly "getExchangeRate()": "e6aa216c"; - readonly "getRethValue(uint256)": "4346f03e"; - readonly "getTotalCollateral()": "d6eb5910"; - readonly "mint(uint256,address)": "94bf804d"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IRocketTokenRETH.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts.map b/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts.map deleted file mode 100644 index d0ae48610..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRocketTokenRETH.d.ts","sourceRoot":"","sources":["../src/IRocketTokenRETH.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2VT,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.js b/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.js deleted file mode 100644 index 3ddd4df68..000000000 --- a/packages/hyperdrive-artifacts/dist/IRocketTokenRETH.js +++ /dev/null @@ -1,369 +0,0 @@ -export const IRocketTokenRETH = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "_rethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositExcess", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "depositExcessCollateral", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getCollateralRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEthValue", - "inputs": [ - { - "name": "_rethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getExchangeRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRethValue", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalCollateral", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "decimals()": "313ce567", - "depositExcess()": "6c985a88", - "depositExcessCollateral()": "188e0dc6", - "getCollateralRate()": "852185fc", - "getEthValue(uint256)": "8b32fa23", - "getExchangeRate()": "e6aa216c", - "getRethValue(uint256)": "4346f03e", - "getTotalCollateral()": "d6eb5910", - "mint(uint256,address)": "94bf804d", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts deleted file mode 100644 index 1956892b7..000000000 --- a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts +++ /dev/null @@ -1,1932 +0,0 @@ -export declare const IRsETHLineaHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "rsETHPool()": "7df91ba8"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IRsETHLineaHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts.map deleted file mode 100644 index 885fef018..000000000 --- a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IRsETHLineaHyperdrive.d.ts","sourceRoot":"","sources":["../src/IRsETHLineaHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu1Ed,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.js b/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.js deleted file mode 100644 index 99cbb4c9a..000000000 --- a/packages/hyperdrive-artifacts/dist/IRsETHLineaHyperdrive.js +++ /dev/null @@ -1,2450 +0,0 @@ -export const IRsETHLineaHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "rsETHPool()": "7df91ba8", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts b/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts deleted file mode 100644 index 564eebd91..000000000 --- a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts +++ /dev/null @@ -1,127 +0,0 @@ -export declare const IScaledBalanceToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getPreviousIndex"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getScaledUserBalanceAndSupply"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "scaledBalanceOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "scaledTotalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getPreviousIndex(address)": "e0753986"; - readonly "getScaledUserBalanceAndSupply(address)": "0afbcdc9"; - readonly "scaledBalanceOf(address)": "1da24f3e"; - readonly "scaledTotalSupply()": "b1bf962d"; - }; -}; -//# sourceMappingURL=IScaledBalanceToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts.map deleted file mode 100644 index 9c069ad1b..000000000 --- a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IScaledBalanceToken.d.ts","sourceRoot":"","sources":["../src/IScaledBalanceToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJZ,KAAK,MAAM,EAAE;;;;;;;CAOhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.js b/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.js deleted file mode 100644 index 2bf769e0b..000000000 --- a/packages/hyperdrive-artifacts/dist/IScaledBalanceToken.js +++ /dev/null @@ -1,160 +0,0 @@ -export const IScaledBalanceToken = { - abi: [ - { - "type": "function", - "name": "getPreviousIndex", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getScaledUserBalanceAndSupply", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "scaledBalanceOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "scaledTotalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Burn", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "getPreviousIndex(address)": "e0753986", - "getScaledUserBalanceAndSupply(address)": "0afbcdc9", - "scaledBalanceOf(address)": "1da24f3e", - "scaledTotalSupply()": "b1bf962d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts b/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts deleted file mode 100644 index bd589b9f1..000000000 --- a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts +++ /dev/null @@ -1,242 +0,0 @@ -export declare const ISharesManagerV1: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "_spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOfUnderlying"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sharesFromUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "_underlyingAssetAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalUnderlyingSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "underlyingBalanceFromShares"; - readonly inputs: readonly [{ - readonly name: "_shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "balanceOfUnderlying(address)": "3af9e669"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "sharesFromUnderlyingBalance(uint256)": "799a1954"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "totalUnderlyingSupply()": "143a08d4"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "underlyingBalanceFromShares(uint256)": "f79c3f02"; - }; -}; -//# sourceMappingURL=ISharesManagerV1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts.map b/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts.map deleted file mode 100644 index 782458d30..000000000 --- a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ISharesManagerV1.d.ts","sourceRoot":"","sources":["../src/ISharesManagerV1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuST,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;CAgBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.js b/packages/hyperdrive-artifacts/dist/ISharesManagerV1.js deleted file mode 100644 index a4b9bfd7f..000000000 --- a/packages/hyperdrive-artifacts/dist/ISharesManagerV1.js +++ /dev/null @@ -1,312 +0,0 @@ -export const ISharesManagerV1 = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "_spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOfUnderlying", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sharesFromUnderlyingBalance", - "inputs": [ - { - "name": "_underlyingAssetAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalUnderlyingSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_from", - "type": "address", - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "internalType": "address" - }, - { - "name": "_value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "underlyingBalanceFromShares", - "inputs": [ - { - "name": "_shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "balanceOfUnderlying(address)": "3af9e669", - "decimals()": "313ce567", - "name()": "06fdde03", - "sharesFromUnderlyingBalance(uint256)": "799a1954", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "totalUnderlyingSupply()": "143a08d4", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "underlyingBalanceFromShares(uint256)": "f79c3f02" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index ee6d61594..000000000 --- a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,435 +0,0 @@ -export declare const IStETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "numTargets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IStETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 6216a7ebb..000000000 --- a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/IStETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4hB5B,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index b76e294ca..000000000 --- a/packages/hyperdrive-artifacts/dist/IStETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,553 +0,0 @@ -export const IStETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "numTargets", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts b/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts deleted file mode 100644 index b54eaf500..000000000 --- a/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts +++ /dev/null @@ -1,336 +0,0 @@ -export declare const IStableDebtToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "UNDERLYING_ASSET_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getAverageStableRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSupplyData"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalSupplyAndAvgRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalSupplyLastUpdated"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserLastUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserStableRate"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "rate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "principalBalanceOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "currentBalance"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "avgStableRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "newTotalSupply"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Mint"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "currentBalance"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "newRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "avgStableRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "newTotalSupply"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "UNDERLYING_ASSET_ADDRESS()": "b16a19de"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "getAverageStableRate()": "90f6fcf2"; - readonly "getSupplyData()": "79774338"; - readonly "getTotalSupplyAndAvgRate()": "f731e9be"; - readonly "getTotalSupplyLastUpdated()": "e7484890"; - readonly "getUserLastUpdated(address)": "79ce6b8c"; - readonly "getUserStableRate(address)": "e78c9b3b"; - readonly "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a"; - readonly "mint(address,address,uint256,uint256)": "b3f1c93d"; - readonly "principalBalanceOf(address)": "c634dfaa"; - }; -}; -//# sourceMappingURL=IStableDebtToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts.map deleted file mode 100644 index 229aef371..000000000 --- a/packages/hyperdrive-artifacts/dist/IStableDebtToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStableDebtToken.d.ts","sourceRoot":"","sources":["../src/IStableDebtToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwZT,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAchC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStableDebtToken.js b/packages/hyperdrive-artifacts/dist/IStableDebtToken.js deleted file mode 100644 index 2f512d66d..000000000 --- a/packages/hyperdrive-artifacts/dist/IStableDebtToken.js +++ /dev/null @@ -1,423 +0,0 @@ -export const IStableDebtToken = { - abi: [ - { - "type": "function", - "name": "UNDERLYING_ASSET_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getAverageStableRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSupplyData", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalSupplyAndAvgRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalSupplyLastUpdated", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserLastUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserStableRate", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "rate", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "principalBalanceOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Burn", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "currentBalance", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "avgStableRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "newTotalSupply", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Mint", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "currentBalance", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "newRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "avgStableRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "newTotalSupply", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "UNDERLYING_ASSET_ADDRESS()": "b16a19de", - "burn(address,uint256)": "9dc29fac", - "getAverageStableRate()": "90f6fcf2", - "getSupplyData()": "79774338", - "getTotalSupplyAndAvgRate()": "f731e9be", - "getTotalSupplyLastUpdated()": "e7484890", - "getUserLastUpdated(address)": "79ce6b8c", - "getUserStableRate(address)": "e78c9b3b", - "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a", - "mint(address,address,uint256,uint256)": "b3f1c93d", - "principalBalanceOf(address)": "c634dfaa" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts b/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts deleted file mode 100644 index 9ec73529d..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts +++ /dev/null @@ -1,253 +0,0 @@ -export declare const IStakedToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "REWARD_TOKEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "STAKED_TOKEN"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "claimRewards"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "stake"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stakerRewardsToClaim"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "REWARD_TOKEN()": "99248ea7"; - readonly "STAKED_TOKEN()": "312f6b83"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "claimRewards(address,uint256)": "9a99b4f0"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "stake(address,uint256)": "adc9772e"; - readonly "stakerRewardsToClaim(address)": "7e90d7ef"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IStakedToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts.map deleted file mode 100644 index 5d6c3456a..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakedToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStakedToken.d.ts","sourceRoot":"","sources":["../src/IStakedToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkTL,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakedToken.js b/packages/hyperdrive-artifacts/dist/IStakedToken.js deleted file mode 100644 index fd66743da..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakedToken.js +++ /dev/null @@ -1,324 +0,0 @@ -export const IStakedToken = { - abi: [ - { - "type": "function", - "name": "REWARD_TOKEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "STAKED_TOKEN", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "claimRewards", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "stake", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stakerRewardsToClaim", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "REWARD_TOKEN()": "99248ea7", - "STAKED_TOKEN()": "312f6b83", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "claimRewards(address,uint256)": "9a99b4f0", - "decimals()": "313ce567", - "name()": "06fdde03", - "stake(address,uint256)": "adc9772e", - "stakerRewardsToClaim(address)": "7e90d7ef", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts b/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts deleted file mode 100644 index 28fab88c8..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts +++ /dev/null @@ -1,121 +0,0 @@ -export declare const IStakingUSDS: { - abi: readonly [{ - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "earned"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "exit"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getReward"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rewardsToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "stake"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "referral"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stake"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stakingToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "balanceOf(address)": "70a08231"; - readonly "earned(address)": "008cc262"; - readonly "exit()": "e9fad8ee"; - readonly "getReward()": "3d18b912"; - readonly "rewardsToken()": "d1af0c7d"; - readonly "stake(uint256)": "a694fc3a"; - readonly "stake(uint256,uint16)": "42ea02c1"; - readonly "stakingToken()": "72f702f3"; - readonly "totalSupply()": "18160ddd"; - readonly "withdraw(uint256)": "2e1a7d4d"; - }; -}; -//# sourceMappingURL=IStakingUSDS.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts.map b/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts.map deleted file mode 100644 index e202d1a95..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDS.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStakingUSDS.d.ts","sourceRoot":"","sources":["../src/IStakingUSDS.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0IL,KAAK,MAAM,EAAE;;;;;;;;;;;;;CAahC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDS.js b/packages/hyperdrive-artifacts/dist/IStakingUSDS.js deleted file mode 100644 index 4c95e3e4f..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDS.js +++ /dev/null @@ -1,152 +0,0 @@ -export const IStakingUSDS = { - abi: [ - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "earned", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "exit", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getReward", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rewardsToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "stake", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "referral", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stake", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stakingToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "balanceOf(address)": "70a08231", - "earned(address)": "008cc262", - "exit()": "e9fad8ee", - "getReward()": "3d18b912", - "rewardsToken()": "d1af0c7d", - "stake(uint256)": "a694fc3a", - "stake(uint256,uint16)": "42ea02c1", - "stakingToken()": "72f702f3", - "totalSupply()": "18160ddd", - "withdraw(uint256)": "2e1a7d4d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts deleted file mode 100644 index 0354bbf0b..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts +++ /dev/null @@ -1,1939 +0,0 @@ -export declare const IStakingUSDSHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "claimRewards"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stakingUSDS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "claimRewards()": "372500ab"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "stakingUSDS()": "10cded21"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IStakingUSDSHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts.map deleted file mode 100644 index e868368e8..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStakingUSDSHyperdrive.d.ts","sourceRoot":"","sources":["../src/IStakingUSDSHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA81Ef,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.js b/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.js deleted file mode 100644 index 916fbbf8b..000000000 --- a/packages/hyperdrive-artifacts/dist/IStakingUSDSHyperdrive.js +++ /dev/null @@ -1,2458 +0,0 @@ -export const IStakingUSDSHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimRewards", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stakingUSDS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "claimRewards()": "372500ab", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "stakingUSDS()": "10cded21", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts deleted file mode 100644 index f85fc230e..000000000 --- a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts +++ /dev/null @@ -1,1928 +0,0 @@ -export declare const IStkWellHyperdrive: { - abi: readonly [{ - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "claimRewards"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInitialVaultSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidLPSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "claimRewards()": "372500ab"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "domainSeparator()": "f698da25"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IStkWellHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts.map deleted file mode 100644 index ba724d9c3..000000000 --- a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IStkWellHyperdrive.d.ts","sourceRoot":"","sources":["../src/IStkWellHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi1EX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.js b/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.js deleted file mode 100644 index 485a28b68..000000000 --- a/packages/hyperdrive-artifacts/dist/IStkWellHyperdrive.js +++ /dev/null @@ -1,2444 +0,0 @@ -export const IStkWellHyperdrive = { - abi: [ - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimRewards", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondProceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "_who", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInitialVaultSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidLPSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "claimRewards()": "372500ab", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "domainSeparator()": "f698da25", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts b/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts deleted file mode 100644 index 832fc211f..000000000 --- a/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts +++ /dev/null @@ -1,175 +0,0 @@ -export declare const ISwapRouter: { - abi: readonly [{ - readonly type: "function"; - readonly name: "exactInput"; - readonly inputs: readonly [{ - readonly name: "params"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "amountOut"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "exactInputSingle"; - readonly inputs: readonly [{ - readonly name: "params"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputSingleParams"; - readonly components: readonly [{ - readonly name: "tokenIn"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "tokenOut"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fee"; - readonly type: "uint24"; - readonly internalType: "uint24"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sqrtPriceLimitX96"; - readonly type: "uint160"; - readonly internalType: "uint160"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "amountOut"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "exactOutput"; - readonly inputs: readonly [{ - readonly name: "params"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactOutputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOut"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountInMaximum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "exactOutputSingle"; - readonly inputs: readonly [{ - readonly name: "params"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactOutputSingleParams"; - readonly components: readonly [{ - readonly name: "tokenIn"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "tokenOut"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fee"; - readonly type: "uint24"; - readonly internalType: "uint24"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOut"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountInMaximum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "sqrtPriceLimitX96"; - readonly type: "uint160"; - readonly internalType: "uint160"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "exactInput((bytes,address,uint256,uint256,uint256))": "c04b8d59"; - readonly "exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "414bf389"; - readonly "exactOutput((bytes,address,uint256,uint256,uint256))": "f28c0498"; - readonly "exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "db3e2198"; - }; -}; -//# sourceMappingURL=ISwapRouter.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts.map b/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts.map deleted file mode 100644 index dc5f34289..000000000 --- a/packages/hyperdrive-artifacts/dist/ISwapRouter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ISwapRouter.d.ts","sourceRoot":"","sources":["../src/ISwapRouter.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyNJ,KAAK,MAAM,EAAE;;;;;;;CAOhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ISwapRouter.js b/packages/hyperdrive-artifacts/dist/ISwapRouter.js deleted file mode 100644 index 0d420173e..000000000 --- a/packages/hyperdrive-artifacts/dist/ISwapRouter.js +++ /dev/null @@ -1,225 +0,0 @@ -export const ISwapRouter = { - abi: [ - { - "type": "function", - "name": "exactInput", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "amountOut", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "exactInputSingle", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputSingleParams", - "components": [ - { - "name": "tokenIn", - "type": "address", - "internalType": "address" - }, - { - "name": "tokenOut", - "type": "address", - "internalType": "address" - }, - { - "name": "fee", - "type": "uint24", - "internalType": "uint24" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sqrtPriceLimitX96", - "type": "uint160", - "internalType": "uint160" - } - ] - } - ], - "outputs": [ - { - "name": "amountOut", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "exactOutput", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactOutputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOut", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountInMaximum", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "exactOutputSingle", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactOutputSingleParams", - "components": [ - { - "name": "tokenIn", - "type": "address", - "internalType": "address" - }, - { - "name": "tokenOut", - "type": "address", - "internalType": "address" - }, - { - "name": "fee", - "type": "uint24", - "internalType": "uint24" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOut", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountInMaximum", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "sqrtPriceLimitX96", - "type": "uint160", - "internalType": "uint160" - } - ] - } - ], - "outputs": [ - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "exactInput((bytes,address,uint256,uint256,uint256))": "c04b8d59", - "exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "414bf389", - "exactOutput((bytes,address,uint256,uint256,uint256))": "f28c0498", - "exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "db3e2198" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts b/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts deleted file mode 100644 index 44eb3f875..000000000 --- a/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts +++ /dev/null @@ -1,657 +0,0 @@ -export declare const IUniV3Zap: { - abi: readonly [{ - readonly type: "function"; - readonly name: "addLiquidityZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "closeLongZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShortZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLongZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShortZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalSharesZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidityZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapRouter"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ISwapRouter"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "error"; - readonly name: "InvalidInputToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidOutputToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidRecipient"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSourceAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSourceAsset"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSwap"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTransfer"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ShouldWrapAssets"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6"; - readonly "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838"; - readonly "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586"; - readonly "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046"; - readonly "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d"; - readonly "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5"; - readonly "swapRouter()": "c31c9c07"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=IUniV3Zap.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts.map b/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts.map deleted file mode 100644 index 0596d8896..000000000 --- a/packages/hyperdrive-artifacts/dist/IUniV3Zap.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IUniV3Zap.d.ts","sourceRoot":"","sources":["../src/IUniV3Zap.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2zBF,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAchC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IUniV3Zap.js b/packages/hyperdrive-artifacts/dist/IUniV3Zap.js deleted file mode 100644 index 8d67b742b..000000000 --- a/packages/hyperdrive-artifacts/dist/IUniV3Zap.js +++ /dev/null @@ -1,842 +0,0 @@ -export const IUniV3Zap = { - abi: [ - { - "type": "function", - "name": "addLiquidityZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "closeLongZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShortZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLongZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShortZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "redeemWithdrawalSharesZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidityZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapRouter", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ISwapRouter" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "error", - "name": "InvalidInputToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidOutputToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidRecipient", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSourceAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSourceAsset", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSwap", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTransfer", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "ShouldWrapAssets", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: { - "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6", - "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838", - "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d", - "kind()": "04baa00b", - "name()": "06fdde03", - "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586", - "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046", - "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d", - "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5", - "swapRouter()": "c31c9c07", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts b/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts deleted file mode 100644 index fd3920aec..000000000 --- a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts +++ /dev/null @@ -1,267 +0,0 @@ -export declare const IVariableDebtToken: { - abi: readonly [{ - readonly type: "function"; - readonly name: "UNDERLYING_ASSET_ADDRESS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getPreviousIndex"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getScaledUserBalanceAndSupply"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "pool"; - readonly type: "address"; - readonly internalType: "contract IPool"; - }, { - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "scaledBalanceOf"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "scaledTotalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "Burn"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialized"; - readonly inputs: readonly [{ - readonly name: "underlyingAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "pool"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "incentivesController"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "debtTokenDecimals"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }, { - readonly name: "debtTokenName"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "debtTokenSymbol"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Mint"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "balanceIncrease"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "index"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "UNDERLYING_ASSET_ADDRESS()": "b16a19de"; - readonly "burn(address,uint256,uint256)": "f5298aca"; - readonly "getPreviousIndex(address)": "e0753986"; - readonly "getScaledUserBalanceAndSupply(address)": "0afbcdc9"; - readonly "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a"; - readonly "mint(address,address,uint256,uint256)": "b3f1c93d"; - readonly "scaledBalanceOf(address)": "1da24f3e"; - readonly "scaledTotalSupply()": "b1bf962d"; - }; -}; -//# sourceMappingURL=IVariableDebtToken.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts.map b/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts.map deleted file mode 100644 index b4ef9782a..000000000 --- a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IVariableDebtToken.d.ts","sourceRoot":"","sources":["../src/IVariableDebtToken.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqUX,KAAK,MAAM,EAAE;;;;;;;;;;;CAWhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.js b/packages/hyperdrive-artifacts/dist/IVariableDebtToken.js deleted file mode 100644 index b38485c97..000000000 --- a/packages/hyperdrive-artifacts/dist/IVariableDebtToken.js +++ /dev/null @@ -1,337 +0,0 @@ -export const IVariableDebtToken = { - abi: [ - { - "type": "function", - "name": "UNDERLYING_ASSET_ADDRESS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getPreviousIndex", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getScaledUserBalanceAndSupply", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "pool", - "type": "address", - "internalType": "contract IPool" - }, - { - "name": "underlyingAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "internalType": "contract IAaveIncentivesController" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "scaledBalanceOf", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "scaledTotalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Burn", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "underlyingAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "pool", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "incentivesController", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "debtTokenDecimals", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - }, - { - "name": "debtTokenName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "debtTokenSymbol", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "params", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Mint", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "balanceIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "UNDERLYING_ASSET_ADDRESS()": "b16a19de", - "burn(address,uint256,uint256)": "f5298aca", - "getPreviousIndex(address)": "e0753986", - "getScaledUserBalanceAndSupply(address)": "0afbcdc9", - "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a", - "mint(address,address,uint256,uint256)": "b3f1c93d", - "scaledBalanceOf(address)": "1da24f3e", - "scaledTotalSupply()": "b1bf962d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IWETH.d.ts b/packages/hyperdrive-artifacts/dist/IWETH.d.ts deleted file mode 100644 index f7a4ebcef..000000000 --- a/packages/hyperdrive-artifacts/dist/IWETH.d.ts +++ /dev/null @@ -1,204 +0,0 @@ -export declare const IWETH: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "wad"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "deposit()": "d0e30db0"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "withdraw(uint256)": "2e1a7d4d"; - }; -}; -//# sourceMappingURL=IWETH.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IWETH.d.ts.map b/packages/hyperdrive-artifacts/dist/IWETH.d.ts.map deleted file mode 100644 index 8a9db7320..000000000 --- a/packages/hyperdrive-artifacts/dist/IWETH.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IWETH.d.ts","sourceRoot":"","sources":["../src/IWETH.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqPE,KAAK,MAAM,EAAE;;;;;;;;;;;;;;CAchC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IWETH.js b/packages/hyperdrive-artifacts/dist/IWETH.js deleted file mode 100644 index b287f5df4..000000000 --- a/packages/hyperdrive-artifacts/dist/IWETH.js +++ /dev/null @@ -1,260 +0,0 @@ -export const IWETH = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "wad", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "deposit()": "d0e30db0", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256)": "2e1a7d4d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts b/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts deleted file mode 100644 index 021918ebe..000000000 --- a/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts +++ /dev/null @@ -1,201 +0,0 @@ -export declare const IWrappedERC20: { - abi: readonly [{ - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "wrap"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "name()": "06fdde03"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "wrap(uint256)": "ea598cb0"; - }; -}; -//# sourceMappingURL=IWrappedERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts.map deleted file mode 100644 index 4996a3a8e..000000000 --- a/packages/hyperdrive-artifacts/dist/IWrappedERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IWrappedERC20.d.ts","sourceRoot":"","sources":["../src/IWrappedERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoPN,KAAK,MAAM,EAAE;;;;;;;;;;;;;CAahC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IWrappedERC20.js b/packages/hyperdrive-artifacts/dist/IWrappedERC20.js deleted file mode 100644 index d776068d6..000000000 --- a/packages/hyperdrive-artifacts/dist/IWrappedERC20.js +++ /dev/null @@ -1,258 +0,0 @@ -export const IWrappedERC20 = { - abi: [ - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "wrap", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "wrap(uint256)": "ea598cb0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts b/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts deleted file mode 100644 index 7997074b0..000000000 --- a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -export declare const IXRenzoDeposit: { - abi: readonly [{ - readonly type: "function"; - readonly name: "getMintRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "lastPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lastPriceTimestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "xezETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "getMintRate()": "96f0bd61"; - readonly "xezETH()": "152b2c4f"; - }; -}; -//# sourceMappingURL=IXRenzoDeposit.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts.map b/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts.map deleted file mode 100644 index 4e02d1ae0..000000000 --- a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IXRenzoDeposit.d.ts","sourceRoot":"","sources":["../src/IXRenzoDeposit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;cAkCP,KAAK,MAAM,EAAE;;;;;CAKhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.js b/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.js deleted file mode 100644 index f109a0bf4..000000000 --- a/packages/hyperdrive-artifacts/dist/IXRenzoDeposit.js +++ /dev/null @@ -1,40 +0,0 @@ -export const IXRenzoDeposit = { - abi: [ - { - "type": "function", - "name": "getMintRate", - "inputs": [], - "outputs": [ - { - "name": "lastPrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lastPriceTimestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "xezETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "getMintRate()": "96f0bd61", - "xezETH()": "152b2c4f" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts b/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts deleted file mode 100644 index 34c2404e6..000000000 --- a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts +++ /dev/null @@ -1,257 +0,0 @@ -export declare const IncentivizedERC20: { - abi: readonly [{ - readonly type: "function"; - readonly name: "POOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decreaseAllowance"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "subtractedValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getIncentivesController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "increaseAllowance"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "addedValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setIncentivesController"; - readonly inputs: readonly [{ - readonly name: "controller"; - readonly type: "address"; - readonly internalType: "contract IAaveIncentivesController"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "POOL()": "7535d246"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "decreaseAllowance(address,uint256)": "a457c2d7"; - readonly "getIncentivesController()": "75d26413"; - readonly "increaseAllowance(address,uint256)": "39509351"; - readonly "name()": "06fdde03"; - readonly "setIncentivesController(address)": "e655dbd8"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=IncentivizedERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts.map deleted file mode 100644 index 2cd775fab..000000000 --- a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IncentivizedERC20.d.ts","sourceRoot":"","sources":["../src/IncentivizedERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwTV,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiBhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.js b/packages/hyperdrive-artifacts/dist/IncentivizedERC20.js deleted file mode 100644 index 4059a729e..000000000 --- a/packages/hyperdrive-artifacts/dist/IncentivizedERC20.js +++ /dev/null @@ -1,330 +0,0 @@ -export const IncentivizedERC20 = { - abi: [ - { - "type": "function", - "name": "POOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decreaseAllowance", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "subtractedValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getIncentivesController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IAaveIncentivesController" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "increaseAllowance", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "addedValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setIncentivesController", - "inputs": [ - { - "name": "controller", - "type": "address", - "internalType": "contract IAaveIncentivesController" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "POOL()": "7535d246", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "getIncentivesController()": "75d26413", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "setIncentivesController(address)": "e655dbd8", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts b/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts deleted file mode 100644 index efa07361e..000000000 --- a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -export declare const IsolationModeLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=IsolationModeLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts.map deleted file mode 100644 index 836b815d0..000000000 --- a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IsolationModeLogic.d.ts","sourceRoot":"","sources":["../src/IsolationModeLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;cAsBmQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.js b/packages/hyperdrive-artifacts/dist/IsolationModeLogic.js deleted file mode 100644 index a9acdd1db..000000000 --- a/packages/hyperdrive-artifacts/dist/IsolationModeLogic.js +++ /dev/null @@ -1,25 +0,0 @@ -export const IsolationModeLogic = { - abi: [ - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c170b3081f9db79231c9a778cf578b6f91949997cf2eb4b07eb95309c94484e964736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/L2Pool.d.ts b/packages/hyperdrive-artifacts/dist/L2Pool.d.ts deleted file mode 100644 index c7d66b532..000000000 --- a/packages/hyperdrive-artifacts/dist/L2Pool.d.ts +++ /dev/null @@ -1,1829 +0,0 @@ -export declare const L2Pool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_PROTOCOL_FEE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TOTAL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TO_PROTOCOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_NUMBER_RESERVES"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "backUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "configureEModeCategory"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "category"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "dropReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "finalizeTransfer"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceFromBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceToBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "amounts"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "interestRateModes"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoanSimple"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBorrowLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getBridgeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeCategoryData"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getFlashLoanLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getLiquidationLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getPoolLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getReserveAddressById"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveData"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveDataLegacy"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveDataExtended"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveData"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationGracePeriodUntil"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "virtualUnderlyingBalance"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedIncome"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedVariableDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesCount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesList"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSupplyLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getUserAccountData"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "totalCollateralBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalDebtBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "availableBorrowsBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "currentLiquidationThreshold"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "ltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "healthFactor"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserConfiguration"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.UserConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserEMode"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getVirtualUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "args1"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "args2"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "resetIsolationModeTotalDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "until"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserveInterestRateStrategyAddress"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "rateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserEMode"; - readonly inputs: readonly [{ - readonly name: "categoryId"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "useAsCollateral"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapToVariable"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncIndexesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncRatesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateBridgeProtocolFee"; - readonly inputs: readonly [{ - readonly name: "protocolFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFlashloanPremiums"; - readonly inputs: readonly [{ - readonly name: "flashLoanPremiumTotal"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "flashLoanPremiumToProtocol"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "BackUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "backer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Borrow"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "borrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FlashLoan"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LiquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidatedCollateralAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintedToTreasury"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amountMinted"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Repay"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "repayer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "useATokens"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Supply"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SwapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserEModeSet"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "categoryId"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "BRIDGE_PROTOCOL_FEE()": "272d9072"; - readonly "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43"; - readonly "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036"; - readonly "MAX_NUMBER_RESERVES()": "f8119d51"; - readonly "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f"; - readonly "backUnbacked(address,uint256,uint256)": "d65dc7a1"; - readonly "borrow(address,uint256,uint256,uint16,address)": "a415bcad"; - readonly "borrow(bytes32)": "d5eed868"; - readonly "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d"; - readonly "deposit(address,uint256,address,uint16)": "e8eda9df"; - readonly "dropReserve(address)": "63c9b860"; - readonly "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933"; - readonly "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d"; - readonly "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c"; - readonly "getBorrowLogic()": "2be29fa7"; - readonly "getBridgeLogic()": "df374c36"; - readonly "getConfiguration(address)": "c44b11f7"; - readonly "getEModeCategoryData(uint8)": "6c6f6ae1"; - readonly "getEModeLogic()": "f32b9a73"; - readonly "getFlashLoanLogic()": "348fde0f"; - readonly "getLiquidationGracePeriod(address)": "5c9a8b18"; - readonly "getLiquidationLogic()": "911a3413"; - readonly "getPoolLogic()": "d3350155"; - readonly "getReserveAddressById(uint16)": "52751797"; - readonly "getReserveData(address)": "35ea6a75"; - readonly "getReserveDataExtended(address)": "8381995f"; - readonly "getReserveNormalizedIncome(address)": "d15e0053"; - readonly "getReserveNormalizedVariableDebt(address)": "386497fd"; - readonly "getReservesCount()": "72218d04"; - readonly "getReservesList()": "d1946dbc"; - readonly "getSupplyLogic()": "870e7744"; - readonly "getUserAccountData(address)": "bf92857c"; - readonly "getUserConfiguration(address)": "4417a583"; - readonly "getUserEMode(address)": "eddf1b79"; - readonly "getVirtualUnderlyingBalance(address)": "6fb07f96"; - readonly "initReserve(address,address,address,address,address)": "7a708e92"; - readonly "initialize(address)": "c4d66de8"; - readonly "liquidationCall(address,address,address,uint256,bool)": "00a718a9"; - readonly "liquidationCall(bytes32,bytes32)": "fd21ecff"; - readonly "mintToTreasury(address[])": "9cd19996"; - readonly "mintUnbacked(address,uint256,address,uint16)": "69a933a5"; - readonly "rebalanceStableBorrowRate(address,address)": "cd112382"; - readonly "rebalanceStableBorrowRate(bytes32)": "427da177"; - readonly "repay(address,uint256,uint256,address)": "573ade81"; - readonly "repay(bytes32)": "563dd613"; - readonly "repayWithATokens(address,uint256,uint256)": "2dad97d4"; - readonly "repayWithATokens(bytes32)": "dc7c0bff"; - readonly "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b"; - readonly "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "resetIsolationModeTotalDebt(address)": "e43e88a1"; - readonly "setConfiguration(address,(uint256))": "f51e435b"; - readonly "setLiquidationGracePeriod(address,uint40)": "b1a99e26"; - readonly "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9"; - readonly "setUserEMode(uint8)": "28530a47"; - readonly "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9"; - readonly "setUserUseReserveAsCollateral(bytes32)": "4d013f03"; - readonly "supply(address,uint256,address,uint16)": "617ba037"; - readonly "supply(bytes32)": "f7a73840"; - readonly "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0"; - readonly "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c"; - readonly "swapBorrowRateMode(address,uint256)": "94ba89a2"; - readonly "swapBorrowRateMode(bytes32)": "1fe3c6f3"; - readonly "swapToVariable(address,address)": "2520d5ee"; - readonly "syncIndexesState(address)": "ab2b51f6"; - readonly "syncRatesState(address)": "98c7da4e"; - readonly "updateBridgeProtocolFee(uint256)": "3036b439"; - readonly "updateFlashloanPremiums(uint128,uint128)": "bcb6e522"; - readonly "withdraw(address,uint256,address)": "69328dec"; - readonly "withdraw(bytes32)": "8e19899e"; - }; -}; -//# sourceMappingURL=L2Pool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/L2Pool.d.ts.map b/packages/hyperdrive-artifacts/dist/L2Pool.d.ts.map deleted file mode 100644 index 023af49fa..000000000 --- a/packages/hyperdrive-artifacts/dist/L2Pool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"L2Pool.d.ts","sourceRoot":"","sources":["../src/L2Pool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0sEC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/L2Pool.js b/packages/hyperdrive-artifacts/dist/L2Pool.js deleted file mode 100644 index f14295f39..000000000 --- a/packages/hyperdrive-artifacts/dist/L2Pool.js +++ /dev/null @@ -1,2325 +0,0 @@ -export const L2Pool = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_PROTOCOL_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TOTAL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_NUMBER_RESERVES", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint16", - "internalType": "uint16" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "backUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "configureEModeCategory", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "category", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "dropReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "finalizeTransfer", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceFromBefore", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceToBefore", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "interestRateModes", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoanSimple", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBorrowLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getBridgeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeCategoryData", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getFlashLoanLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getLiquidationLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPoolLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getReserveAddressById", - "inputs": [ - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveData", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveDataLegacy", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveDataExtended", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveData", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationGracePeriodUntil", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "virtualUnderlyingBalance", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedIncome", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedVariableDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesCount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesList", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSupplyLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getUserAccountData", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalCollateralBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalDebtBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "availableBorrowsBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "currentLiquidationThreshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "ltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "healthFactor", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserConfiguration", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.UserConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserEMode", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getVirtualUnderlyingBalance", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiveAToken", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "args1", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "args2", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "resetIsolationModeTotalDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "until", - "type": "uint40", - "internalType": "uint40" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserveInterestRateStrategyAddress", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "rateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserEMode", - "inputs": [ - { - "name": "categoryId", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "useAsCollateral", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapToVariable", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncIndexesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncRatesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateBridgeProtocolFee", - "inputs": [ - { - "name": "protocolFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFlashloanPremiums", - "inputs": [ - { - "name": "flashLoanPremiumTotal", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "flashLoanPremiumToProtocol", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "BackUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "backer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Borrow", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "borrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FlashLoan", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "initiator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "premium", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LiquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidatedCollateralAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "receiveAToken", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintedToTreasury", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amountMinted", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RebalanceStableBorrowRate", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Repay", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "repayer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "useATokens", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Supply", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SwapBorrowRateMode", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserEModeSet", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "categoryId", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "BRIDGE_PROTOCOL_FEE()": "272d9072", - "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", - "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", - "MAX_NUMBER_RESERVES()": "f8119d51", - "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", - "backUnbacked(address,uint256,uint256)": "d65dc7a1", - "borrow(address,uint256,uint256,uint16,address)": "a415bcad", - "borrow(bytes32)": "d5eed868", - "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", - "deposit(address,uint256,address,uint16)": "e8eda9df", - "dropReserve(address)": "63c9b860", - "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", - "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", - "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", - "getBorrowLogic()": "2be29fa7", - "getBridgeLogic()": "df374c36", - "getConfiguration(address)": "c44b11f7", - "getEModeCategoryData(uint8)": "6c6f6ae1", - "getEModeLogic()": "f32b9a73", - "getFlashLoanLogic()": "348fde0f", - "getLiquidationGracePeriod(address)": "5c9a8b18", - "getLiquidationLogic()": "911a3413", - "getPoolLogic()": "d3350155", - "getReserveAddressById(uint16)": "52751797", - "getReserveData(address)": "35ea6a75", - "getReserveDataExtended(address)": "8381995f", - "getReserveNormalizedIncome(address)": "d15e0053", - "getReserveNormalizedVariableDebt(address)": "386497fd", - "getReservesCount()": "72218d04", - "getReservesList()": "d1946dbc", - "getSupplyLogic()": "870e7744", - "getUserAccountData(address)": "bf92857c", - "getUserConfiguration(address)": "4417a583", - "getUserEMode(address)": "eddf1b79", - "getVirtualUnderlyingBalance(address)": "6fb07f96", - "initReserve(address,address,address,address,address)": "7a708e92", - "initialize(address)": "c4d66de8", - "liquidationCall(address,address,address,uint256,bool)": "00a718a9", - "liquidationCall(bytes32,bytes32)": "fd21ecff", - "mintToTreasury(address[])": "9cd19996", - "mintUnbacked(address,uint256,address,uint16)": "69a933a5", - "rebalanceStableBorrowRate(address,address)": "cd112382", - "rebalanceStableBorrowRate(bytes32)": "427da177", - "repay(address,uint256,uint256,address)": "573ade81", - "repay(bytes32)": "563dd613", - "repayWithATokens(address,uint256,uint256)": "2dad97d4", - "repayWithATokens(bytes32)": "dc7c0bff", - "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", - "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", - "rescueTokens(address,address,uint256)": "cea9d26f", - "resetIsolationModeTotalDebt(address)": "e43e88a1", - "setConfiguration(address,(uint256))": "f51e435b", - "setLiquidationGracePeriod(address,uint40)": "b1a99e26", - "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", - "setUserEMode(uint8)": "28530a47", - "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", - "setUserUseReserveAsCollateral(bytes32)": "4d013f03", - "supply(address,uint256,address,uint16)": "617ba037", - "supply(bytes32)": "f7a73840", - "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", - "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", - "swapBorrowRateMode(address,uint256)": "94ba89a2", - "swapBorrowRateMode(bytes32)": "1fe3c6f3", - "swapToVariable(address,address)": "2520d5ee", - "syncIndexesState(address)": "ab2b51f6", - "syncRatesState(address)": "98c7da4e", - "updateBridgeProtocolFee(uint256)": "3036b439", - "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", - "withdraw(address,uint256,address)": "69328dec", - "withdraw(bytes32)": "8e19899e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LPMath.d.ts b/packages/hyperdrive-artifacts/dist/LPMath.d.ts deleted file mode 100644 index ef658d951..000000000 --- a/packages/hyperdrive-artifacts/dist/LPMath.d.ts +++ /dev/null @@ -1,350 +0,0 @@ -export declare const LPMath: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateDistributeExcessIdle"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateInitialReserves"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_targetApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculatePresentValue"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculatePresentValueSafe"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateUpdateLiquiditySafe"; - readonly inputs: readonly [{ - readonly name: "_shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareReservesDelta"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateDistributeExcessIdle(LPMath.DistributeExcessIdleParams,uint256)": "2c03ef68"; - readonly "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e"; - readonly "calculatePresentValue(LPMath.PresentValueParams)": "bf3aa156"; - readonly "calculatePresentValueSafe(LPMath.PresentValueParams)": "5a1b419e"; - readonly "calculateUpdateLiquiditySafe(uint256,int256,uint256,uint256,int256)": "d0b457ce"; - }; -}; -//# sourceMappingURL=LPMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LPMath.d.ts.map b/packages/hyperdrive-artifacts/dist/LPMath.d.ts.map deleted file mode 100644 index 9b03789f7..000000000 --- a/packages/hyperdrive-artifacts/dist/LPMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LPMath.d.ts","sourceRoot":"","sources":["../src/LPMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAobuvgB,KAAK,MAAM,EAAE;;;;;;;;CAQtxgB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LPMath.js b/packages/hyperdrive-artifacts/dist/LPMath.js deleted file mode 100644 index 45ad5cf12..000000000 --- a/packages/hyperdrive-artifacts/dist/LPMath.js +++ /dev/null @@ -1,445 +0,0 @@ -export const LPMath = { - abi: [ - { - "type": "function", - "name": "calculateDistributeExcessIdle", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateInitialReserves", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_targetApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculatePresentValue", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculatePresentValueSafe", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateUpdateLiquiditySafe", - "inputs": [ - { - "name": "_shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareReservesDelta", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x612046610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610060575f3560e01c80632c03ef68146100645780635a1b419e14610091578063b29e1d1e146100b9578063bf3aa156146100e7578063d0b457ce14610108575b5f80fd5b610077610072366004611e11565b61013d565b604080519283526020830191909152015b60405180910390f35b6100a461009f366004611ead565b610223565b60408051928352901515602083015201610088565b6100cc6100c7366004611ec8565b6102a9565b60408051938452602084019290925290820152606001610088565b6100fa6100f5366004611ead565b61035d565b604051908152602001610088565b61011b610116366004611f07565b610392565b6040805194855260208501939093529183015215156060820152608001610088565b5f805f806101538660c001518760e001516104a2565b9150915080610169575f8093509350505061021c565b5f61017487846104da565b92509050811580610183575080155b15610196575f809450945050505061021c565b5f6101a188836105e1565b9050805f036101b9575f80955095505050505061021c565b876060015181116101d0579450925061021c915050565b5060608701515f6101e38986858b6106b1565b9050805f036101fc575f8096509650505050505061021c565b828110610213575f8096509650505050505061021c565b90955093505050505b9250929050565b5f805f805f61023186610bac565b915091508061024757505f958695509350505050565b6102548660a00151610ec3565b61025d87610ef0565b8361026a895f0151610ec3565b6102749190611f52565b61027e9190611f52565b6102889190611f79565b925050505f81121561029f57505f93849350915050565b9360019350915050565b5f8080806102bb866301e13380610f5d565b90505f6102ec6102cb8984610f78565b6102dd90670de0b6b3a7640000611f98565b670de0b6b3a764000090610f8c565b8b955090506103406102fe8b87610f78565b6103088b84610fa0565b61032e610327610320670de0b6b3a76400008c610f5d565b8690610fb4565b8e90610fa0565b6103389190611f98565b8b9190611019565b925061034d83828c611019565b9350505096509650969350505050565b5f805f61036984610223565b915091508061038b57604051635516328b60e11b815260040160405180910390fd5b5092915050565b5f805f80845f036103ae57508792508691508590506001610496565b5f856103b98b610ec3565b6103c39190611f52565b90506103ce87610ec3565b8112156103e7575f805f80945094509450945050610496565b8094505f891261040b576104046103ff868b8d611019565b610ec3565b935061042e565b6104226103ff61041a8b611fab565b87908d611034565b61042b90611fab565b93505b5f8061043a8c8c6104a2565b9150915080610457575f805f809650965096509650505050610496565b5f61046288886104a2565b9250905081610480575f805f80975097509750975050505050610496565b61048b8b8285611019565b955060019450505050505b95509550955095915050565b5f805f836104af86610ec3565b6104b99190611f79565b90505f8112156104cf575f80925092505061021c565b946001945092505050565b5f805f8460a00151126104f55750506080820151600161021c565b5f8460a0015161050490611fab565b90505f61053e85876101000151885f015160e00151670de0b6b3a764000061052c9190611fc5565b89516060810151608090910151611057565b9350905082158061054d575080155b1561055f575f8093509350505061021c565b5f61056a8383610f8c565b9050670de0b6b3a764000081116105a65780670de0b6b3a764000003945061059f8760c0015186610f7890919063ffffffff16565b94506105b4565b5f809450945050505061021c565b86608001518511156105d357866080015160019450945050505061021c565b506001925050509250929050565b5f806106108460c001518560e00151866101000151875f015160a0015161060788610ec3565b61011690611fab565b87516040810192909252602082019290925291909152905080610636575f9150506106ab565b5f610643855f0151610223565b9250905081610656575f925050506106ab565b8460200151811061066b575f925050506106ab565b5f856060015186604001516106809190611f98565b905061069b828760200151836110199092919063ffffffff16565b6106a59082611fc5565b93505050505b92915050565b5f80856060015186604001516106c79190611f98565b602087015160608801519192505f916106e09184611019565b90508660a001515f036106f6579150610ba49050565b5f808089600488101561070857600497505b5f5b88811015610a535761071c868b611106565b95505f6107438360c001518460e00151856101000151865f015160a001516106078c610ec3565b86516040810192909252602082019290925291909152905080610770575f98505050505050505050610ba4565b5f61077d8e5f0151610223565b9250905081610797575f9950505050505050505050610ba4565b6107a284828b61111a565b156107b857879950505050505050505050610ba4565b5f8460a00151131561091a57835180516020820151604083015160a084015160e0909401515f9461080a949392916107f890670de0b6b3a7640000611fc5565b8a516060810151608090910151611185565b9350905082610825575f9a5050505050505050505050610ba4565b808560a00151106109185761083985611288565b909950925082610855575f9a5050505050505050505050610ba4565b6108798560c001518660e00151876101000151885f015160a001516106078e610ec3565b885160408101929092526020820192909252919091529250826108a8575f9a5050505050505050505050610ba4565b845180516020820151604083015160a084015160e0909401516108d894906107f890670de0b6b3a7640000611fc5565b93509050826108f3575f9a5050505050505050505050610ba4565b8e60a00151811161091057889a5050505050505050505050610ba4565b505050610a4b565b505b5f61092a858f8760a00151611355565b935090508215806109435750670de0b6b3a76400008110155b1561095a575f9a5050505050505050505050610ba4565b80670de0b6b3a76400000390505f6109866103ff87604001518860200151610fa090919063ffffffff16565b6109936103ff858e610f78565b61099d9190611f79565b90508815806109bb57506109b0896116a0565b6109b9826116a0565b105b156109ca578098508997508296505b5f8113156109f7576109e68b6109e08385610f5d565b90610f5d565b6109f0908b611f98565b9950610a46565b5f811215610a3d575f610a0f8c6109e0858186611fab565b90508a811015610a2357808b039a50610a37565b5f9c50505050505050505050505050610ba4565b50610a46565b50505050610a53565b505050505b60010161070a565b505f610a798260c001518360e00151846101000151855f015160a001516106078b610ec3565b85516040810192909252602082019290925291909152905080610aa5575f975050505050505050610ba4565b5f610ab2835f015161035d565b90505f610ad36103ff85604001518660200151610fa090919063ffffffff16565b610ae06103ff848c610f78565b610aea9190611f79565b9050610af5876116a0565b610afe826116a0565b1015610b0b578795508194505b610b32610b26655af3107a4000670de0b6b3a7640000611fc5565b6020860151908b611034565b6040850151610b42908790610f5d565b1080610b825750610b70610b64655af3107a4000670de0b6b3a7640000611f98565b6020860151908b611019565b6040850151610b80908790610f8c565b115b15610b98575f9950505050505050505050610ba4565b50939750505050505050505b949350505050565b5f805f610bcf6103ff856101600151866101400151610f7890919063ffffffff16565b610bef6103ff866101200151876101000151610fa090919063ffffffff16565b610bf99190611f79565b90505f80610c0e865f015187602001516104a2565b9150915080610c2457505f958695509350505050565b5f831315610d6b575f8390505f610c6e885f015189602001518a604001518b60a001518c60e00151670de0b6b3a7640000610c5f9190611fc5565b8d606001518e60800151611185565b9350905082610c8657505f9788975095505050505050565b818110610d21575f610cbf858a60400151858c60e00151670de0b6b3a7640000610cb09190611fc5565b8d606001518e608001516116b1565b9450905083158015610cd457508860c0015183105b15610cea57505f98600198509650505050505050565b83610cff57505f988998509650505050505050565b610d0881610ec3565b610d1190611fab565b9960019950975050505050505050565b5f886020015112610d5757610d3f8860a00151856103ff9190611fc5565b610d4890611fab565b98600198509650505050505050565b60a08801518851610d3f916103ff91611fc5565b5f831215610eb5575f610d7d84611fab565b90505f610db08489604001518a60e00151670de0b6b3a7640000610da19190611fc5565b8b606001518c60800151611057565b9350905082610dc857505f9788975095505050505050565b818110610e4a575f610e01858a60400151858c60e00151670de0b6b3a7640000610df29190611fc5565b8d606001518e60800151611770565b9450905083158015610e1657508860c0015183105b15610e2c57505f98600198509650505050505050565b83610e4157505f988998509650505050505050565b610d1181610ec3565b5f610e7b858a604001518b60e00151670de0b6b3a7640000610e6c9190611fc5565b8c606001518d60800151611842565b9450905083610e9457505f988998509650505050505050565b610d11610eab8a6060015184866109e09190611fc5565b6103ff9083611f98565b505f95600195509350505050565b5f6001600160ff1b03821115610eec5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f610f226103ff836101200151670de0b6b3a7640000610f109190611fc5565b60608501516101008601519190611034565b610f536103ff846101600151670de0b6b3a7640000610f419190611fc5565b60608601516101408701519190611019565b6106ab9190611f79565b5f610f7183670de0b6b3a764000084611019565b9392505050565b5f610f718383670de0b6b3a7640000611019565b5f610f7183670de0b6b3a764000084611034565b5f610f718383670de0b6b3a7640000611034565b5f815f03610fcb5750670de0b6b3a76400006106ab565b825f03610fd957505f6106ab565b5f610fe383610ec3565b90505f610ff7610ff286610ec3565b6118f4565b905081810261100e670de0b6b3a764000082611fd8565b90506106a581611b22565b5f825f19048411830215820261102d575f80fd5b5091020490565b5f825f190484118302158202611048575f80fd5b50910281810615159190040190565b5f805f6110678888888888611cbe565b90505f611091670de0b6b3a76400006110808888610f5d565b61108a9190611f98565b8390610f8c565b9050670de0b6b3a764000081106110c5576110be6110b7670de0b6b3a764000089610f8c565b8290610fb4565b90506110dd565b6110da6110b7670de0b6b3a764000089610f5d565b90505b808810156110f2575f809350935050506110fc565b8703925060019150505b9550959350505050565b5f8183116111145782610f71565b50919050565b60208301515f9061112b9084610f8c565b604085015161113b908490610f5d565b10158015610ba45750602084015161116b9084611164633b9aca00670de0b6b3a7640000611f98565b9190611019565b604085015161117b908490610f8c565b1115949350505050565b5f805f8812156111a55761119888611fab565b6111a29087611f98565b95505b5f806111b18b8b6104a2565b91509150806111c7575f8093509350505061127c565b5f6111d5838b8a8a8a611cec565b90505f6111f76111ef8a6111e98a8e610fa0565b90610fb4565b899089611034565b905080821015611210575f80955095505050505061127c565b808203670de0b6b3a7640000811061123e576112376110b7670de0b6b3a76400008c610f5d565b9050611256565b6112536110b7670de0b6b3a76400008c610f8c565b90505b8b81101561126e575f8096509650505050505061127c565b8b9003955060019450505050505b97509795505050505050565b5f805f8360e001511361129f57505f928392509050565b5f6112ac845f0151610ef0565b90505f6112d78560400151866060015187604001516112cb9190611f98565b60208801519190611034565b90505f82126112fc57808210156112f057819003611312565b505f9485945092505050565b61130582611fab565b61130f9082611f98565b90505b60e085015160c0860151611327918390611034565b9050808560c00151101561134157505f9485945092505050565b808560c00151036001935093505050915091565b5f805f80841261137757855160400151611370908590611f98565b90506113b0565b5f61138185611fab565b8751604001519091508110156113a15786516040015181900391506113ae565b5f80935093505050611698565b505b855180516020909101515f9182916113c891906104a2565b91509150806113df575f8094509450505050611698565b875160e08101516040909101515f9161141391611407916114009190610fb4565b8a90610f78565b6101008b015190610f8c565b895160e081015160809091015161143e91611432916111e99088610f78565b8b516060015190610f8c565b6114489190611f98565b90505f61147e61147261146b8c5f015160e0015188610fb490919063ffffffff16565b8b90610fa0565b6101008c015190610f5d565b905080821015611498575f80965096505050505050611698565b80820391505f6114d7858c5f0151604001518d5f015160e00151670de0b6b3a76400006114c59190611fc5565b8e516060810151608090910151611cbe565b90505f6114ff8c5f015160e00151670de0b6b3a76400006114f89190611fc5565b8890610fb4565b90508082101561151b575f809850985050505050505050611698565b8b51608081015160609091015191830391611537918391611034565b9050670de0b6b3a7640000811061157b578b5160e00151611574906110b79061156890670de0b6b3a7640000611fc5565b8e5160e0015190610f8c565b90506115aa565b8b5160e001516115a7906110b79061159b90670de0b6b3a7640000611fc5565b8e5160e0015190610f5d565b90505b8b51606001516115bd9085908390611034565b935083670de0b6b3a764000011156115e15783670de0b6b3a76400000393506115f4565b5f60019850985050505050505050611698565b5f8c60e00151126116555760c08c015160e08d015161161291610f8c565b9250670de0b6b3a7640000831115611636575f809850985050505050505050611698565b670de0b6b3a7640000929092039161164e8484610f78565b935061168a565b61168761166e8d60c001518e60e001516109e090611fab565b61168090670de0b6b3a7640000611f98565b8590610f78565b93505b509196506001955050505050505b935093915050565b5f80821215610eec57815f036106ab565b5f805f6116c18989888888611cbe565b90506116d1866111e9898b611f98565b9750878110156116e7575f809250925050611765565b8781036116f5818688611034565b9050670de0b6b3a764000081106117225761171b6110b7670de0b6b3a764000089610f8c565b905061173a565b6117376110b7670de0b6b3a764000089610f5d565b90505b6117448186610f8c565b9050808a101561175b575f80935093505050611765565b8903925060019150505b965096945050505050565b5f805f6117808989888888611cbe565b905086881015611796575f809250925050611765565b96869003966117a58887610fb4565b9750878110156117bb575f809250925050611765565b8781036117c9818688611034565b9050670de0b6b3a764000081106117f6576117ef6110b7670de0b6b3a764000089610f8c565b905061180e565b61180b6110b7670de0b6b3a764000089610f5d565b90505b6118188186610f8c565b90508981101561182f575f80935093505050611765565b9890980398600198509650505050505050565b5f805f6118528888888888611cec565b90505f61187c670de0b6b3a764000061186b8888610f8c565b6118759190611f98565b8390610f5d565b9050670de0b6b3a764000081106118a9576118a26110b7670de0b6b3a764000089610f5d565b90506118c1565b6118be6110b7670de0b6b3a764000089610f8c565b90505b6118cb8186610f5d565b9050888110156118e2575f809350935050506110fc565b97909703976001975095505050505050565b5f8082136119155760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906119a19084901c610ec3565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213611b3b57505f919050565b680755bf798b4a1bf1e58212611b64576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190611cb474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c610ec3565b9695505050505050565b5f611cc98585610fb4565b611ce2611cda866111e9868b610fa0565b859085611034565b611cb49190611f98565b5f611cf78585610fb4565b611ce2611d08866111e9868b610f78565b859085611019565b604051610180810167ffffffffffffffff81118282101715611d4057634e487b7160e01b5f52604160045260245ffd5b60405290565b604051610120810167ffffffffffffffff81118282101715611d4057634e487b7160e01b5f52604160045260245ffd5b5f6101808284031215611d87575f80fd5b611d8f611d10565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f808284036102a0811215611e24575f80fd5b61028080821215611e33575f80fd5b611e3b611d46565b9150611e478686611d76565b825261018085013560208301526101a085013560408301526101c085013560608301526101e0850135608083015261020085013560a083015261022085013560c083015261024085013560e0830152610260850135610100830152909593013593505050565b5f6101808284031215611ebe575f80fd5b610f718383611d76565b5f805f805f8060c08789031215611edd575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f60a08688031215611f1b575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715611f7157611f71611f3e565b505092915050565b8181035f83128015838313168383128216171561038b5761038b611f3e565b808201808211156106ab576106ab611f3e565b5f600160ff1b8201611fbf57611fbf611f3e565b505f0390565b818103818111156106ab576106ab611f3e565b5f82611ff257634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f198414161561200b5761200b611f3e565b50059056fea26469706673582212207d30891a36a0c36041d9662f91afa37ca8b7d83beba8fda2cbd821e451bebe4564736f6c63430008160033', - methodIdentifiers: { - "calculateDistributeExcessIdle(LPMath.DistributeExcessIdleParams,uint256)": "2c03ef68", - "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e", - "calculatePresentValue(LPMath.PresentValueParams)": "bf3aa156", - "calculatePresentValueSafe(LPMath.PresentValueParams)": "5a1b419e", - "calculateUpdateLiquiditySafe(uint256,int256,uint256,uint256,int256)": "d0b457ce" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/Lib.d.ts b/packages/hyperdrive-artifacts/dist/Lib.d.ts deleted file mode 100644 index ed14fbd52..000000000 --- a/packages/hyperdrive-artifacts/dist/Lib.d.ts +++ /dev/null @@ -1,83 +0,0 @@ -export declare const Lib: { - abi: readonly [{ - readonly type: "function"; - readonly name: "eq"; - readonly inputs: readonly [{ - readonly name: "b1"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "b2"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "eq"; - readonly inputs: readonly [{ - readonly name: "b1"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "b2"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "eq"; - readonly inputs: readonly [{ - readonly name: "b1"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "b2"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "neq"; - readonly inputs: readonly [{ - readonly name: "b1"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "b2"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "eq(address[],address[])": "a63c8478"; - readonly "eq(bytes,bytes)": "cdb16840"; - readonly "eq(string,string)": "21a49642"; - readonly "neq(bytes,bytes)": "d37a20ba"; - }; -}; -//# sourceMappingURL=Lib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Lib.d.ts.map b/packages/hyperdrive-artifacts/dist/Lib.d.ts.map deleted file mode 100644 index d08a13ebc..000000000 --- a/packages/hyperdrive-artifacts/dist/Lib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Lib.d.ts","sourceRoot":"","sources":["../src/Lib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmGwyE,KAAK,MAAM,EAAE;;;;;;;CAOp0E,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Lib.js b/packages/hyperdrive-artifacts/dist/Lib.js deleted file mode 100644 index 90126c266..000000000 --- a/packages/hyperdrive-artifacts/dist/Lib.js +++ /dev/null @@ -1,107 +0,0 @@ -export const Lib = { - abi: [ - { - "type": "function", - "name": "eq", - "inputs": [ - { - "name": "b1", - "type": "string", - "internalType": "string" - }, - { - "name": "b2", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "eq", - "inputs": [ - { - "name": "b1", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "b2", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "eq", - "inputs": [ - { - "name": "b1", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "b2", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "neq", - "inputs": [ - { - "name": "b1", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "b2", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x61045d610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c806321a4964214610059578063a63c847814610080578063cdb1684014610059578063d37a20ba14610093575b5f80fd5b61006c610067366004610265565b6100a6565b604051901515815260200160405180910390f35b61006c61008e366004610356565b61010a565b61006c6100a1366004610265565b61014f565b5f815183511480156101035750816040516020016100c491906103ce565b60405160208183030381529060405280519060200120836040516020016100eb91906103ce565b60405160208183030381529060405280519060200120145b9392505050565b5f8151835114801561010357508160405160200161012891906103e9565b60405160208183030381529060405280519060200120836040516020016100eb91906103e9565b5f8151835114158061010357508160405160200161016d91906103ce565b604051602081830303815290604052805190602001208360405160200161019491906103ce565b604051602081830303815290604052805190602001201415905092915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156101f1576101f16101b4565b604052919050565b5f82601f830112610208575f80fd5b813567ffffffffffffffff811115610222576102226101b4565b610235601f8201601f19166020016101c8565b818152846020838601011115610249575f80fd5b816020850160208301375f918101602001919091529392505050565b5f8060408385031215610276575f80fd5b823567ffffffffffffffff8082111561028d575f80fd5b610299868387016101f9565b935060208501359150808211156102ae575f80fd5b506102bb858286016101f9565b9150509250929050565b5f82601f8301126102d4575f80fd5b8135602067ffffffffffffffff8211156102f0576102f06101b4565b8160051b6102ff8282016101c8565b9283528481018201928281019087851115610318575f80fd5b83870192505b8483101561034b5782356001600160a01b038116811461033c575f80fd5b8252918301919083019061031e565b979650505050505050565b5f8060408385031215610367575f80fd5b823567ffffffffffffffff8082111561037e575f80fd5b61038a868387016102c5565b9350602085013591508082111561039f575f80fd5b506102bb858286016102c5565b5f5b838110156103c65781810151838201526020016103ae565b50505f910152565b5f82516103df8184602087016103ac565b9190910192915050565b81515f9082906020808601845b8381101561041b5781516001600160a01b0316855293820193908201906001016103f6565b5092969550505050505056fea264697066735822122069b657e25d7cae19247d26135a6929fd1f24a9f183919c107de600699be4d97864736f6c63430008160033', - methodIdentifiers: { - "eq(address[],address[])": "a63c8478", - "eq(bytes,bytes)": "cdb16840", - "eq(string,string)": "21a49642", - "neq(bytes,bytes)": "d37a20ba" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts b/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts deleted file mode 100644 index 62286841a..000000000 --- a/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts +++ /dev/null @@ -1,150 +0,0 @@ -export declare const LiquidationLogic: { - abi: readonly [{ - readonly type: "function"; - readonly name: "CLOSE_FACTOR_HF_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_LIQUIDATION_CLOSE_FACTOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LiquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidatedCollateralAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "CLOSE_FACTOR_HF_THRESHOLD()": "a18964a5"; - readonly "MAX_LIQUIDATION_CLOSE_FACTOR()": "d2467544"; - readonly "executeLiquidationCall(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(address => DataTypes.UserConfigurationMap) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.ExecuteLiquidationCallParams)": "83c1087d"; - }; -}; -//# sourceMappingURL=LiquidationLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts.map deleted file mode 100644 index 1fceb1495..000000000 --- a/packages/hyperdrive-artifacts/dist/LiquidationLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LiquidationLogic.d.ts","sourceRoot":"","sources":["../src/LiquidationLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkLm50B,KAAK,MAAM,EAAE;;;;;;CAM570B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LiquidationLogic.js b/packages/hyperdrive-artifacts/dist/LiquidationLogic.js deleted file mode 100644 index 7832e403f..000000000 --- a/packages/hyperdrive-artifacts/dist/LiquidationLogic.js +++ /dev/null @@ -1,185 +0,0 @@ -export const LiquidationLogic = { - abi: [ - { - "type": "function", - "name": "CLOSE_FACTOR_HF_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_LIQUIDATION_CLOSE_FACTOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LiquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidatedCollateralAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "receiveAToken", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - } - ], - bytecode: '0x613499610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004a575f3560e01c806383c1087d1461004e578063a18964a51461006f578063d246754414610090575b5f80fd5b818015610059575f80fd5b5061006d610068366004613018565b610099565b005b61007e670d2f13f7789f000081565b60405190815260200160405180910390f35b61007e61271081565b6100a1612e80565b6040808301516001600160a01b039081165f908152602089815283822060608701518416835284832060808801519094168352908890529290206100e4826106c9565b61016085018190526100f7908390610894565b6101618989886040518060a00160405280866040518060200160405290815f8201548152505081526020018a5f015181526020018a608001516001600160a01b031681526020018a60c001516001600160a01b031681526020018a60e0015160ff168152506108ec565b5060c08901819052610160890151610180955093508992509050610dae565b8660200187604001886060018381525083815250838152505050506101e281848460405180608001604052808961016001518152602001896040015181526020018960c0015181526020018a61010001516001600160a01b0316815250610e2d565b6101ed868487611195565b60a08801526001600160a01b03908116610120880152908116610100870152908116610140860181905260808701516040516370a0823160e01b815292166004830152906370a0823190602401602060405180830381865afa158015610255573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027991906130fe565b808552610160850151610100860151610120870151606088015160a089015160c08b01516102ae968a96959493929091611292565b60e08701526060860181905260808601919091526040850151036102e85760038201546102e8908290600160a81b900461ffff165f611592565b835160e085015160808601516102fe9190613129565b0361036857600383015461031f908290600160a81b900461ffff165f6115f2565b84608001516001600160a01b031685604001516001600160a01b03167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b6103728585611646565b6101608401516060808701519086015161039092859290915f611850565b6103a68989838761016001518860600151611b6b565b8460a00151156103c3576103be898989868989611cf3565b6103ce565b6103ce838686611e7b565b60e08401511561057f575f6103e284611f26565b90505f6103fc828760e00151611f8f90919063ffffffff16565b6101408701516080890151604051630ed1279f60e11b81526001600160a01b0391821660048201529293505f92911690631da24f3e90602401602060405180830381865afa158015610450573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047491906130fe565b90508082111561048e576104888184611fcc565b60e08801525b8661014001516001600160a01b031663f866c31989608001518961014001516001600160a01b031663ae1673356040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050c919061313c565b8a60e001516040518463ffffffff1660e01b815260040161054e939291906001600160a01b039384168152919092166020820152604081019190915260600190565b5f604051808303815f87803b158015610565575f80fd5b505af1158015610577573d5f803e3d5ffd5b505050505050505b6105b1338561016001516101e00151866060015188606001516001600160a01b031661200e909392919063ffffffff16565b6101608401516101e00151608086015160608601516040516337ecbb3b60e11b81523360048201526001600160a01b0392831660248201526044810191909152911690636fd97676906064015f604051808303815f87803b158015610614575f80fd5b505af1158015610626573d5f803e3d5ffd5b5050505084608001516001600160a01b031685606001516001600160a01b031686604001516001600160a01b03167fe413a321e8681d831f4dbccbca790d2952b56f977908e45be37335533e00528687606001518860800151338b60a001516040516106b6949392919093845260208401929092526001600160a01b031660408301521515606082015260800190565b60405180910390a4505050505050505050565b6106d1612ef6565b6106d9612ef6565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa1580156107c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ec91906130fe565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa15801561083d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108619190613157565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b90920416036108b4575050565b6108be82826120ad565b6108c8828261218b565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f805f805f806108fe875f0151511590565b1561091a57505f94508493508392508291505f19905081610da1565b6109a96040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff16156109ed57608088015160ff165f90815260208a90526040902060608901516109da91906122eb565b6101808401526101c08301526101a08201525b87602001518160c001511015610cc65760c08101518851610a0d91612394565b610a215760c08101805160010190526109ed565b60c08101515f90815260208b905260409020546001600160a01b03166102008201819052610a595760c08101805160010190526109ed565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a9083015261018082015115801590610ae15750816101e00151896080015160ff16145b610b5d57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015610b34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5891906130fe565b610b64565b8161018001515b825260a082015115801590610b84575060c08201518951610b84916123e6565b15610c7357610ba0896040015182845f01518560200151612434565b6040830181905261010083018051610bb9908390613129565b90525060808901516101e0830151610bd49160ff16906124e5565b1515610240830152608082015115610c2a57816102400151610bfa578160800151610c01565b816101a001515b8260400151610c10919061319e565b8261014001818151610c229190613129565b905250610c33565b60016102208301525b816102400151610c47578160a00151610c4e565b816101c001515b8260400151610c5d919061319e565b8261016001818151610c6f9190613129565b9052505b60c08201518951610c83916124f5565b15610cb557610c9f896040015182845f01518560200151612541565b8261012001818151610cb19190613129565b9052505b5060c08101805160010190526109ed565b8061010001515f03610cd8575f610cf3565b80610100015181610140015181610cf157610cf16131b5565b045b6101408201526101008101515f03610d0b575f610d26565b80610100015181610160015181610d2457610d246131b5565b045b61016082015261012081015115610d6857610d63816101200151610d5d83610160015184610100015161267090919063ffffffff16565b90612694565b610d6b565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b5f805f805f610dc18760800151896126c9565b90925090505f610dd18284613129565b90505f670d2f13f7789f00008811610deb57612710610def565b6113885b90505f610dfc8383612670565b90505f818b6020015111610e14578a60200151610e16565b815b949850929650929450505050505b93509350939050565b6040805160a0810182525f80825260208201819052918101829052606081018290526080810191909152604080516020810190915284548152610e6f906127b5565b151560208601525050501515815281516101c00151610e8d906127b5565b151560608601525050501515604082015280518015610ead575080604001515b60405180604001604052806002815260200161323760f01b81525090610eef5760405162461bcd60e51b8152600401610ee691906131c9565b60405180910390fd5b508060200151158015610f0457508060600151155b60405180604001604052806002815260200161323960f01b81525090610f3d5760405162461bcd60e51b8152600401610ee691906131c9565b5060608201516001600160a01b03161580610f635750670d2f13f7789f00008260400151105b80610fcd575081606001516001600160a01b0316637a5d20ea6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcd9190613215565b60405180604001604052806002815260200161353960f01b815250906110065760405162461bcd60e51b8152600401610ee691906131c9565b50600384015464ffffffffff428116600160b81b9092041610801561103f5750600383015464ffffffffff428116600160b81b90920416105b60405180604001604052806002815260200161393760f01b815250906110785760405162461bcd60e51b8152600401610ee691906131c9565b50670de0b6b3a764000082604001511060405180604001604052806002815260200161343560f01b815250906110c15760405162461bcd60e51b8152600401610ee691906131c9565b50604080516020810190915284549081905260101c61ffff161580159061110b5750600384015460408051602081019091528654815261110b91600160a81b900461ffff166123e6565b1515608082018190526040805180820190915260028152611a1b60f11b60208201529061114b5760405162461bcd60e51b8152600401610ee691906131c9565b5081602001515f141560405180604001604052806002815260200161343760f01b8152509061118d5760405162461bcd60e51b8152600401610ee691906131c9565b505050505050565b6004820154604080516020808201835285549182905291840151606085015160e08601515f958695869586956001600160a01b0390931694911c61ffff169260ff16156112815760e08901805160ff9081165f90815260208e815260409182902054935182519182019092528d549081905266010000000000009093046001600160a01b031692611230929182169160a89190911c166124e5565b1561126c5760e08a015160ff165f90815260208d90526040902054640100000000900461ffff1693506001600160a01b0381161561126c578092505b6001600160a01b0381161561127f578091505b505b929a90995091975095509350505050565b5f805f6112f3604051806101a001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405163b3596f0760e01b81526001600160a01b038b8116600483015286169063b3596f0790602401602060405180830381865afa158015611337573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135b91906130fe565b815260405163b3596f0760e01b81526001600160a01b038a8116600483015286169063b3596f0790602401602060405180830381865afa1580156113a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c591906130fe565b6020828101919091526040805191820190528c549081905260301c60ff1660c08201526101c08b01515160301c60ff1660a0820181905260c0820151600a90810a60e08401520a61010082015260408051602081019091528c549081905260981c61ffff166101608201526101008101518151611442919061319e565b8160e00151898360200151611457919061319e565b611461919061319e565b61146b9190613230565b6060820181905261147c9087612670565b604082018190528710156114e957610120810187905260e081015160208201516114de9188916114ac919061319e565b61010084015161012085015185516114c4919061319e565b6114ce919061319e565b6114d89190613230565b906127fd565b6101408201526114fd565b604081015161012082015261014081018890525b6101608101511561156f5761012081015161151890876127fd565b816101200151611528919061324f565b6080820181905261016082015161153f9190612670565b6101808201819052610120820151611557919061324f565b81610140015182610180015193509350935050611584565b8061012001518161014001515f935093509350505b985098509895505050505050565b6040805180820190915260028152610dcd60f21b6020820152608083106115cc5760405162461bcd60e51b8152600401610ee691906131c9565b50600182811b1b81156115e4578354811784556115ec565b835481191684555b50505050565b6040805180820190915260028152610dcd60f21b60208201526080831061162c5760405162461bcd60e51b8152600401610ee691906131c9565b50600182811b81011b81156115e4578354811784556115ec565b80606001518160200151106116f5576101608101516102208101516080840151606084015161014090930151604051637a94c56560e11b81526001600160a01b03928316600482015260248101949094526044840152169063f5298aca906064016020604051808303815f875af11580156116c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e791906130fe565b610160820151602001525050565b60208101511561179c576101608101516102208101516080840151602084015161014090930151604051637a94c56560e11b81526001600160a01b03928316600482015260248101949094526044840152169063f5298aca906064016020604051808303815f875af115801561176d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179191906130fe565b610160820151602001525b80610160015161020001516001600160a01b0316639dc29fac8360800151836020015184606001516117ce919061324f565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160408051808303815f875af1158015611815573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118399190613262565b61016083015160a081019190915260c001525b5050565b61187760405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161188b91611fcc565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e9161195291600401613284565b606060405180830381865afa15801561196d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119919190613306565b604084015260208301528082526119a790612826565b6001870180546001600160801b03928316600160801b02921691909117905560208101516119d490612826565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151611a0490612826565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152611a429051600160fc1b16151590565b15611af7578215611a9f57611a5683612826565b600987018054601090611a7a908490600160801b90046001600160801b0316613331565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115611af757611aae82612826565b600987018054601090611ad2908490600160801b90046001600160801b0316613358565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040805160208101909152835481525f908190611b89908888612892565b50915091508115611cea576001600160a01b0381165f908152602088905260408120600901546101c0860151516001600160801b039091169190611bf49060029060301c60ff16611bda919061324f565b611be590600a613458565b611bef9087613230565b612826565b9050806001600160801b0316826001600160801b031611611c6c576001600160a01b0383165f81815260208b8152604080832060090180546001600160801b0319169055519182527faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a2611ce7565b5f611c778284613358565b6001600160a01b0385165f81815260208d815260409182902060090180546001600160801b0319166001600160801b03959095169485179055905183815292935090917faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a2505b50505b50505050505050565b6101408101516040516370a0823160e01b81523360048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611d3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6091906130fe565b6101408301516080808601519085015160405163f866c31960e01b81526001600160a01b0392831660048201523360248201526044810191909152929350169063f866c319906064015f604051808303815f87803b158015611dc0575f80fd5b505af1158015611dd2573d5f803e3d5ffd5b50505050805f03611cea57335f90815260208681526040918290208251918201909252855481526004860154611e16918a918a9185916001600160a01b0316612935565b15611e71576003850154611e38908290600160a81b900461ffff1660016115f2565b604080850151905133916001600160a01b0316907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f2905f90a35b5050505050505050565b5f611e85846106c9565b9050611e918482610894565b60408301516080830151611eab9186918491905f90611850565b61014082015160808085015190840151610100840151604051636b81068560e11b81526001600160a01b0393841660048201523360248201526044810192909252606482015291169063d7020d0a906084015f604051808303815f87803b158015611f14575f80fd5b505af1158015611e71573d5f803e3d5ffd5b60038101545f90600160801b900464ffffffffff16428103611f54575050600101546001600160801b031690565b6001830154611f82906001600160801b0380821691611f7c91600160801b9091041684612b1f565b90611fcc565b9392505050565b50919050565b5f81156b033b2e3c9fd0803ce800000060028404190484111715611fb1575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b5f81156b019d971e4fe8401e740000001983900484111517611fec575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af1612050573d5f803e3d5ffd5b5061205a85612b5b565b6120a65760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610ee6565b5050505050565b6101608101511561211b575f6120cd826101600151836102400151612b1f565b90506120e68260e0015182611fcc90919063ffffffff16565b61010083018190526120f790612826565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b80511561184c575f612137826101800151836102400151612bfc565b905061215182610120015182611fcc90919063ffffffff16565b610140830181905261216290612826565b6002840180546001600160801b03929092166001600160801b0319909216919091179055505050565b6121be6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f036121cf57505050565b61012082015182516121e091611fcc565b602082015261014082015182516121f691611fcc565b6040820152606082015161026083015161024084015161221e92919064ffffffffff16612c04565b60608201819052604083015161223391611fcc565b80825260208201516080840151604084015161224f9190613129565b612259919061324f565b612263919061324f565b608082018190526101a083015161227a9190612670565b60a08201819052156122e6576122a5611bef8361010001518360a00151611f8f90919063ffffffff16565b6008840180545f906122c19084906001600160801b0316613331565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b81545f90819081908190660100000000000090046001600160a01b031680156123795760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa158015612352573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061237691906130fe565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106123d05760405162461bcd60e51b8152600401610ee691906131c9565b50508151600182901b1c60031615155b92915050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106124225760405162461bcd60e51b8152600401610ee691906131c9565b50509051600191821b82011c16151590565b5f8061243f85611f26565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f9287926124bc928692911690631da24f3e90602401602060405180830381865afa158015612498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906130fe565b6124c6919061319e565b90508381816124d7576124d76131b5565b04925050505b949350505050565b5f8215801590611f825750501490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106125315760405162461bcd60e51b8152600401610ee691906131c9565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa15801561258e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b291906130fe565b905080156125d0576125cd6125c686612d29565b8290611fcc565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa15801561261a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061263e91906130fe565b6126489082613129565b9050612654818561319e565b9050828181612665576126656131b5565b049695505050505050565b5f81156113881983900484111517612686575f80fd5b506127109102611388010490565b5f8115670de0b6b3a7640000600284041904841117156126b2575f80fd5b50670de0b6b3a76400009190910260028204010490565b6102008101516040516370a0823160e01b81526001600160a01b0384811660048301525f9283929116906370a0823190602401602060405180830381865afa158015612717573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273b91906130fe565b6102208401516040516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa158015612786573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127aa91906130fe565b915091509250929050565b51670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000821615159167100000000000000016151590565b5f811561271060028404190484111715612815575f80fd5b506127109190910260028204010490565b5f6001600160801b0382111561288e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610ee6565b5090565b5f805f61289e86612d7f565b15612926575f6128ce877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa612dc2565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff169050801561292257600195509093509150610e249050565b5050505b505f9586955085945092505050565b81515f9060d41c64ffffffffff1615612b07575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015612985573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a9919061313c565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a08919061313c565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a6a919061313c565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa158015612ad4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af89190613215565b612b05575f915050612b16565b505b612b1386868686612de6565b90505b95945050505050565b5f80612b3264ffffffffff84164261324f565b612b3c908561319e565b6301e13380900490506124dd816b033b2e3c9fd0803ce8000000613129565b5f612b7d565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015612bbc5760208114612bed57612bb77f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f612b61565b611f89565b823b612be457612be47311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014612b61565b60019150611f89565b3d5f803e50505f511515919050565b5f611f828383425b5f80612c1764ffffffffff85168461324f565b9050805f03612c35576b033b2e3c9fd0803ce8000000915050611f82565b5f1981015f808060028511612c4a575f612c4f565b600285035b925066038882915c4000612c638a80611fcc565b81612c7057612c706131b5565b0491506301e13380612c82838b611fcc565b81612c8f57612c8f6131b5565b0490505f82612c9e868861319e565b612ca8919061319e565b6002900490505f8285612cbb888a61319e565b612cc5919061319e565b612ccf919061319e565b60069004905080826301e13380612ce68a8f61319e565b612cf09190613230565b612d06906b033b2e3c9fd0803ce8000000613129565b612d109190613129565b612d1a9190613129565b9b9a5050505050505050505050565b60038101545f90600160801b900464ffffffffff16428103612d57575050600201546001600160801b031690565b6002830154611f82906001600160801b0380821691611f7c91600160801b9091041684612bfc565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa168015801590611f825750612dba60018261324f565b161592915050565b81515f9082165f198101198116825b60029190911c908115612b1657600101612dd1565b5f612df3825161ffff1690565b5f03612e0057505f6124dd565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16612e3f575060016124dd565b6040805160208101909152835481525f90612e5b908787612892565b5050905080158015612e765750825160d41c64ffffffffff16155b9695505050505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ef1612ef6565b905290565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001612f6b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b604051610120810167ffffffffffffffff81118282101715612fc357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114612fdd575f80fd5b50565b8035612feb81612fc9565b919050565b8015158114612fdd575f80fd5b8035612feb81612ff0565b803560ff81168114612feb575f80fd5b5f805f805f8587036101a081121561302e575f80fd5b8635955060208701359450604087013593506060870135925061012080607f198301121561305a575f80fd5b613062612f93565b91506080880135825260a0880135602083015261308160c08901612fe0565b604083015261309260e08901612fe0565b60608301526101006130a5818a01612fe0565b60808401526130b5828a01612ffd565b60a08401526130c76101408a01612fe0565b60c08401526130d96101608a01613008565b60e08401526130eb6101808a01612fe0565b9083015250949793965091945092919050565b5f6020828403121561310e575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156123e0576123e0613115565b5f6020828403121561314c575f80fd5b8151611f8281612fc9565b5f805f806080858703121561316a575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114613193575f80fd5b939692955090935050565b80820281158282048414176123e0576123e0613115565b634e487b7160e01b5f52601260045260245ffd5b5f602080835283518060208501525f5b818110156131f5578581018301518582016040015282016131d9565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215613225575f80fd5b8151611f8281612ff0565b5f8261324a57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156123e0576123e0613115565b5f8060408385031215613273575f80fd5b505080516020909101519092909150565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e08301516132e660e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215613318575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b0381811683821601908082111561335157613351613115565b5092915050565b6001600160801b0382811682821603908082111561335157613351613115565b600181815b808511156133b257815f190482111561339857613398613115565b808516156133a557918102915b93841c939080029061337d565b509250929050565b5f826133c8575060016123e0565b816133d457505f6123e0565b81600181146133ea57600281146133f457613410565b60019150506123e0565b60ff84111561340557613405613115565b50506001821b6123e0565b5060208310610133831016604e8410600b8410161715613433575081810a6123e0565b61343d8383613378565b805f190482111561345057613450613115565b029392505050565b5f611f8283836133ba56fea26469706673582212206146e953a98fe41ffefe6cf16f278f24ca100cff895ccf96c8a512a58bc5d87164736f6c63430008160033', - methodIdentifiers: { - "CLOSE_FACTOR_HF_THRESHOLD()": "a18964a5", - "MAX_LIQUIDATION_CLOSE_FACTOR()": "d2467544", - "executeLiquidationCall(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(address => DataTypes.UserConfigurationMap) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.ExecuteLiquidationCallParams)": "83c1087d" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts b/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts deleted file mode 100644 index 5a6139ccf..000000000 --- a/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const LogExpMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=LogExpMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts.map b/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts.map deleted file mode 100644 index 24a9b1e91..000000000 --- a/packages/hyperdrive-artifacts/dist/LogExpMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LogExpMath.d.ts","sourceRoot":"","sources":["../src/LogExpMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAE2Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LogExpMath.js b/packages/hyperdrive-artifacts/dist/LogExpMath.js deleted file mode 100644 index b2d873d63..000000000 --- a/packages/hyperdrive-artifacts/dist/LogExpMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const LogExpMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a7ae31eba8cbbe474fc4edb444ce6466d8851b8894c8fabbef6c85fec087fd8b64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts b/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts deleted file mode 100644 index 1484662d7..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const LsETHBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=LsETHBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts.map deleted file mode 100644 index e805e3598..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHBase.d.ts","sourceRoot":"","sources":["../src/LsETHBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBF,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHBase.js b/packages/hyperdrive-artifacts/dist/LsETHBase.js deleted file mode 100644 index cd33bf6fa..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const LsETHBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts b/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts deleted file mode 100644 index 9f46f0bda..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const LsETHConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=LsETHConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts.map deleted file mode 100644 index 332312333..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHConversions.d.ts","sourceRoot":"","sources":["../src/LsETHConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;cAEqQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHConversions.js b/packages/hyperdrive-artifacts/dist/LsETHConversions.js deleted file mode 100644 index b5a962f8b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const LsETHConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212209d5db7ec6980c2d229484aeb5fcc070c9ed0f9de164c153a6930cff2a67f266164736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts deleted file mode 100644 index 540583e0b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts +++ /dev/null @@ -1,1322 +0,0 @@ -export declare const LsETHHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=LsETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts.map deleted file mode 100644 index bebc93586..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/LsETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAimD0jX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BlmX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.js deleted file mode 100644 index 4893dc4b0..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdrive.js +++ /dev/null @@ -1,1665 +0,0 @@ -export const LsETHHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220bdc3db00713c713ce4ea89bab770a4edc844cfbf3724c1ecf764cdc5a63a043b64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 5597f1d6a..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const LsETHHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=LsETHHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 226cf1cbf..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/LsETHHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2Kgxd,KAAK,MAAM,EAAE;;;;CAIp0d,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.js deleted file mode 100644 index 3050f194b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const LsETHHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50611d758061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611721806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220bdc3db00713c713ce4ea89bab770a4edc844cfbf3724c1ecf764cdc5a63a043b64736f6c63430008160033a2646970667358221220f7be1875d7e656592ea6a3b3ace152d4e855469045823d2b4f1054c041326c4164736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index cdab1721d..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,640 +0,0 @@ -export declare const LsETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_river"; - readonly type: "address"; - readonly internalType: "contract IRiverV1"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=LsETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index d0aa01763..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/LsETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4xB6qoB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBxuoB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index 0bf99140b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,817 +0,0 @@ -export const LsETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_river", - "type": "address", - "internalType": "contract IRiverV1" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b5060405162002864380380620028648339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516124176200044d5f395f818161125001528181611285015261139901525f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526124175ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611a6c565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ba1565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611c5f565b6106d0565b348015610187575f80fd5b5061026b610196366004611c89565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611ca0565b348015610283575f80fd5b5061014f610292366004611c5f565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611e74565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004611edd565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602281526020016123c06022913981565b5f80546104bc90611f77565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890611f77565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190611faf565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190611ffe565b92505f6106538234612015565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db83836112b6565b90505b92915050565b5f6106db8383611320565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b610778868661134f565b5f6107838787611447565b90505f876040516020016107979190612034565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a61145e565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108739493929190612267565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b391906122ac565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109279190612034565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f878761134f565b5f6109998861145e565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a40939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a759493929190612267565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab591906122ac565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b73939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba89493929190612267565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be891906122ac565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca6939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb9493929190612267565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906122ac565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd9939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e9493929190612267565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e91906122ac565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611035908790602001612034565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e858561134f565b5f6110a88661145e565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a999897969594939291906122e8565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c591906122ac565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112435760405163350b944160e11b815260040160405180910390fd5b6112786001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685308661152c565b6112ac6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168685611599565b505f949350505050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa1580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190611ffe565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a1954906024016112e1565b6113598282611628565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461139757604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146113ed5760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611418576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611443576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b61146661194b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526115939186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061173c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115ea84826117a7565b611593576040516001600160a01b0384811660248301525f604483015261161e91869182169063095ea7b390606401611561565b611593848261173c565b6103e88260800151101561164f576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361167457604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061169e57508161010001518260e0015161169b919061236a565b15155b156116bc5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116e85750670de0b6b3a7640000826101c0015160200151115b806117035750670de0b6b3a7640000826101c0015160400151115b8061171e5750670de0b6b3a7640000826101c0015160600151115b15611443576040516322f72cc360e11b815260040160405180910390fd5b5f6117506001600160a01b03841683611844565b905080515f141580156117745750808060200190518101906117729190612389565b155b156117a257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516117c291906123a4565b5f604051808303815f865af19150503d805f81146117fb576040519150601f19603f3d011682016040523d82523d5f602084013e611800565b606091505b509150915081801561182a57508051158061182a57508080602001905181019061182a9190612389565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b0316848660405161186891906123a4565b5f6040518083038185875af1925050503d805f81146118a2576040519150601f19603f3d011682016040523d82523d5f602084013e6118a7565b606091505b50915091506118b78683836118c3565b925050505b9392505050565b6060826118d8576118d38261191f565b6118bc565b81511580156118ef57506001600160a01b0384163b155b1561191857604051639996b31560e01b81526001600160a01b0385166004820152602401611799565b50806118bc565b80511561192f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a1a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a39578181015183820152602001611a21565b50505f910152565b5f8151808452611a58816020860160208601611a1f565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611a41565b6001600160a01b0381168114611948575f80fd5b8035611a9d81611a7e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b8015158114611948575f80fd5b5f67ffffffffffffffff80841115611b2a57611b2a611aa2565b604051601f8501601f19908116603f01168101908282118183101715611b5257611b52611aa2565b81604052809350858152868686011115611b6a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b92575f80fd5b6106db83833560208501611b10565b5f805f805f60a08688031215611bb5575f80fd5b853594506020860135611bc781611a7e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bf1575f80fd5b908701906060828a031215611c04575f80fd5b611c0c611ab6565b8235611c1781611a7e565b81526020830135611c2781611b03565b6020820152604083013582811115611c3d575f80fd5b611c498b828601611b83565b6040830152508093505050509295509295909350565b5f8060408385031215611c70575f80fd5b8235611c7b81611a7e565b946020939093013593505050565b5f60208284031215611c99575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d2d575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5057611d50611aa2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d92575f80fd5b611d9a611adf565b9050611da582611a92565b8152611db360208301611a92565b6020820152611dc460408301611a92565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e21818401611a92565b90820152610160611e33838201611a92565b90820152610180611e45838201611a92565b908201526101a0611e57838201611a92565b908201526101c0611e6a84848301611d1d565b9082015292915050565b5f805f805f6102c08688031215611e89575f80fd5b85359450611e9a8760208801611d81565b935061026086013567ffffffffffffffff811115611eb6575f80fd5b611ec288828901611b83565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef2575f80fd5b85359450602086013567ffffffffffffffff80821115611f10575f80fd5b818801915088601f830112611f23575f80fd5b611f3289833560208501611b10565b9550611f418960408a01611d81565b9450610280880135915080821115611f57575f80fd5b50611f6488828901611b83565b959894975092956102a001359392505050565b600181811c90821680611f8b57607f821691505b602082108103611fa957634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611ff460c0840182611a41565b9695505050505050565b5f6020828403121561200e575f80fd5b5051919050565b818103818111156106de57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161206060208401826001600160a01b03169052565b50604083015161207b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e1828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d15565b80516001600160a01b03168252602081015161217160208401826001600160a01b03169052565b50604081015161218c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121fe828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611593565b5f6102c0612275838861214a565b6001600160a01b038616610260840152610280830181905261229981840186611a41565b915050826102a083015295945050505050565b5f602082840312156122bc575f80fd5b81516118bc81611a7e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122fb8184018e611a41565b905061230a602084018d61214a565b6001600160a01b038b81166102808501528382036102a085015261232e828c611a41565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f8261238457634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612399575f80fd5b81516118bc81611b03565b5f82516123b5818460208701611a1f565b919091019291505056fe4c73455448487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122029f18a60d511243849abcb02a0025cd8a3816cf62af1871c536db183bf219d1c64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts deleted file mode 100644 index 1e214440c..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts +++ /dev/null @@ -1,1527 +0,0 @@ -export declare const LsETHTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=LsETHTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts.map deleted file mode 100644 index 3cb05ce3a..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget0.d.ts","sourceRoot":"","sources":["../src/LsETHTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi2D6n8B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClq8B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0.js b/packages/hyperdrive-artifacts/dist/LsETHTarget0.js deleted file mode 100644 index 636597e9e..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0.js +++ /dev/null @@ -1,1931 +0,0 @@ -export const LsETHTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003c4138038062003c418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138076200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d950152818161124701526127e801525f8181610dbb01526129de01525f818161060701528181610c7901528181611d9f015281816125180152818161254301526129b001525f8181610c4a01526111e401526138075ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c16565b610559565b60405161024c9190612c7a565b60405180910390f35b610268610263366004612ca0565b610590565b005b610268610278366004612cc8565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612ce3565b610638565b6102686102ce366004612db9565b610654565b6102686102e1366004612e48565b61066a565b6102f96102f4366004612c16565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e8d565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612ecc565b610742565b61033e61077a565b61033e61038f366004612efa565b610798565b6103a76103a2366004612ca0565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c16565b6107c1565b6102686103d8366004612f31565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612f78565b610268610408366004613019565b5050565b61033e61041a366004612ca0565b610b4b565b610295610b76565b610268610435366004613045565b610bb5565b610268610448366004613019565b610bc6565b61026861045b366004612ca0565b50565b610466610c31565b60405161024c919061307a565b61033e610481366004612c16565b6110f1565b61033e610494366004612c16565b6110fe565b6104ac6104a73660046131a0565b61111f565b60405161024c91906131df565b6102956111d6565b61033e611215565b61033e6104d7366004612c16565b61122e565b61033e6104ea366004612c16565b61123b565b6104f7611271565b60405161024c9190613222565b610268610512366004613333565b61137c565b6103a761052536600461338e565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612c7a565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e4c734554484879706572647269766560881b8152506040516020016105779190612c7a565b90565b60606105df600160405160200161057791906133ba565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612c7a565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f919061348f565b61093991906134a2565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134b5565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612f78565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b42565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8591906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1391906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa191906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f91906134e3565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815250604051602001610577919061307a565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b6134fe565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613512565b9050602002013590505f81549050808484815181106111a5576111a5613512565b60209081029190910101525050600101611169565b506111cf8160405160200161057791906131df565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361253d565b5f61058b61078661126c7f00000000000000000000000000000000000000000000000000000000000000008561348f565b612568565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f611480826125a8565b90505f83600381111561149557611495613467565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db613467565b0361150757806040516020016114f19190613526565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b613467565b0361153157806040516020016114f1919061355e565b600383600381111561154557611545613467565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612c7a565b60405180910390fd5b6115b761265a565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163891906134e3565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce91906134e3565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117879190613597565b905061179d6001600160a01b0385168483612682565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189091906134e3565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613512565b905060200201358888868686818110611baf57611baf613512565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134a2565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134a2565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f90849061348f565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e109190613597565b905090565b5f611e1e61265a565b611e27826126d4565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea891906134e3565b90506001600160a01b038116611ec16020850185612ca0565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906134e3565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe0818387612709565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612cc8565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135ae565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613512565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f612144826125a8565b90505f83600381111561215957612159613467565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f613467565b036121b557806040516020016114f1919061366e565b60028360038111156121c9576121c9613467565b036121df57806040516020016114f191906136a5565b60038360038111156121f3576121f3613467565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b0911661279f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e29290041661279f565b905292915050565b5f6107248383670de0b6b3a7640000612813565b5f61072483670de0b6b3a764000084612813565b5f6107747f00000000000000000000000000000000000000000000000000000000000000008361282e565b5f6107747f000000000000000000000000000000000000000000000000000000000000000083612898565b5f61258d600b5f61257a6002866128c7565b81526020019081526020015f20546128fb565b61259e600b5f61257a6001876128c7565b61077491906136d0565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561264c576125e1600a86613703565b6125ec90603061348f565b60f81b8260016125fc84876134a2565b61260691906134a2565b8151811061261657612616613512565b60200101906001600160f81b03191690815f1a9053508061263681613716565b91506126459050600a8661372e565b94506125d0565b918290030190815292915050565b60025f540361267c57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612928565b5f6126e26020830183612ca0565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061271585856124ea565b90506127208161253d565b9450845f03612732575f915050610724565b8491506127456040840160208501612cc8565b156127745761276d8561275b6020860186612ca0565b6127686040870187613741565b612989565b9150612797565b612797856127856020860186612ca0565b6127926040870187613741565b6129a3565b509392505050565b5f80670de0b6b3a76400006127b26129d7565b6127bc9190613784565b90508083116127cb575f6127d5565b6127d581846134a2565b915061072461280c670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613784565b83906124fe565b5f825f190484118302158202612827575f80fd5b5091020490565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015612874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190613597565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612859565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a02565b905080515f1415801561296057508080602001905181019061295e919061379b565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b6106776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612682565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a0f565b606061072483835f612a24565b5f612a1a8284613703565b61072490846134a2565b606081471015612a495760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612a6491906137b6565b5f6040518083038185875af1925050503d805f8114612a9e576040519150601f19603f3d011682016040523d82523d5f602084013e612aa3565b606091505b5091509150612ab3868383612abd565b9695505050505050565b606082612ad257612acd82612b19565b610724565b8151158015612ae957506001600160a01b0384163b155b15612b1257604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b295780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c1160405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c26575f80fd5b5035919050565b5f5b83811015612c47578181015183820152602001612c2f565b50505f910152565b5f8151808452612c66816020860160208601612c2d565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c4f565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cb0575f80fd5b813561072481612c8c565b801515811461045b575f80fd5b5f60208284031215612cd8575f80fd5b813561072481612cbb565b5f805f805f805f805f6101208a8c031215612cfc575f80fd5b8935985060208a0135975060408a0135612d1581612c8c565b965060608a0135612d2581612c8c565b955060808a0135612d3581612cbb565b945060a08a0135935060c08a013560ff81168114612d51575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d81575f80fd5b50813567ffffffffffffffff811115612d98575f80fd5b6020830191508360208260051b8501011115612db2575f80fd5b9250929050565b5f805f805f8060808789031215612dce575f80fd5b8635612dd981612c8c565b95506020870135612de981612c8c565b9450604087013567ffffffffffffffff80821115612e05575f80fd5b612e118a838b01612d71565b90965094506060890135915080821115612e29575f80fd5b50612e3689828a01612d71565b979a9699509497509295939492505050565b5f805f8060808587031215612e5b575f80fd5b843593506020850135612e6d81612c8c565b92506040850135612e7d81612c8c565b9396929550929360600135925050565b5f805f60608486031215612e9f575f80fd5b833592506020840135612eb181612c8c565b91506040840135612ec181612c8c565b809150509250925092565b5f8060408385031215612edd575f80fd5b823591506020830135612eef81612c8c565b809150509250929050565b5f60208284031215612f0a575f80fd5b813567ffffffffffffffff811115612f20575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f44575f80fd5b843593506020850135612f5681612c8c565b9250604085013591506060850135612f6d81612c8c565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561302a575f80fd5b823561303581612c8c565b91506020830135612eef81612cbb565b5f805f60608486031215613057575f80fd5b83359250602084013561306981612c8c565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130a660208401826001600160a01b03169052565b5060408301516130c160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613133828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131b1575f80fd5b823567ffffffffffffffff8111156131c7575f80fd5b6131d385828601612d71565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b81811015613216578351835292840192918401916001016131fa565b50909695505050505050565b81516001600160801b031681526101808101602083015161324e60208401826001600160801b03169052565b50604083015161326960408401826001600160801b03169052565b50606083015161328460608401826001600160801b03169052565b5060808301516132996080840182600f0b9052565b5060a08301516132b460a08401826001600160801b03169052565b5060c08301516132cf60c08401826001600160801b03169052565b5060e08301516132ea60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613198565b5f805f805f60a08688031215613347575f80fd5b85359450602086013561335981612c8c565b9350604086013561336981612c8c565b925060608601359150608086013561338081612c8c565b809150509295509295909350565b5f806040838503121561339f575f80fd5b82356133aa81612c8c565b91506020830135612eef81612c8c565b5f60208083525f84545f60018260011c915060018316806133dc57607f831692505b6020831081036133fa57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613419576001811461342f57613458565b60ff198616825284151560051b82019650613458565b5f8b8152602090205f5b8681101561345257815484820152908501908901613439565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107745761077461347b565b818103818111156107745761077461347b565b5f80604083850312156134c6575f80fd5b825191506020830151612eef81612cbb565b805161058b81612c8c565b5f602082840312156134f3575f80fd5b815161072481612c8c565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613551816011850160208701612c2d565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161358a816012850160208701612c2d565b9190910160120192915050565b5f602082840312156135a7575f80fd5b5051919050565b5f60208083850312156135bf575f80fd5b825167ffffffffffffffff808211156135d6575f80fd5b818501915085601f8301126135e9575f80fd5b8151818111156135fb576135fb6134fe565b8060051b604051601f19603f83011681018181108582111715613620576136206134fe565b60405291825284820192508381018501918883111561363d575f80fd5b938501935b8285101561366257613653856134d8565b84529385019392850192613642565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613698816010850160208701612c2d565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613551816011850160208701612c2d565b8181035f8312801583831316838312821617156111cf576111cf61347b565b634e487b7160e01b5f52601260045260245ffd5b5f82613711576137116136ef565b500690565b5f600182016137275761372761347b565b5060010190565b5f8261373c5761373c6136ef565b500490565b5f808335601e19843603018112613756575f80fd5b83018035915067ffffffffffffffff821115613770575f80fd5b602001915036819003821315612db2575f80fd5b80820281158282048414176107745761077461347b565b5f602082840312156137ab575f80fd5b815161072481612cbb565b5f82516137c7818460208701612c2d565b919091019291505056fea264697066735822122071dc04792ad1864538c49a16e0ed257335e824ba5f88831fad415514b63abb0864736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts deleted file mode 100644 index dacf7dc7d..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const LsETHTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=LsETHTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts.map deleted file mode 100644 index 7eb13052e..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/LsETHTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+lhC,KAAK,MAAM,EAAE;;;;CAI5ohC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.js deleted file mode 100644 index cf3d867b5..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const LsETHTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506141198061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613c41806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003c4138038062003c418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138076200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d950152818161124701526127e801525f8181610dbb01526129de01525f818161060701528181610c7901528181611d9f015281816125180152818161254301526129b001525f8181610c4a01526111e401526138075ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c16565b610559565b60405161024c9190612c7a565b60405180910390f35b610268610263366004612ca0565b610590565b005b610268610278366004612cc8565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612ce3565b610638565b6102686102ce366004612db9565b610654565b6102686102e1366004612e48565b61066a565b6102f96102f4366004612c16565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e8d565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612ecc565b610742565b61033e61077a565b61033e61038f366004612efa565b610798565b6103a76103a2366004612ca0565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c16565b6107c1565b6102686103d8366004612f31565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612f78565b610268610408366004613019565b5050565b61033e61041a366004612ca0565b610b4b565b610295610b76565b610268610435366004613045565b610bb5565b610268610448366004613019565b610bc6565b61026861045b366004612ca0565b50565b610466610c31565b60405161024c919061307a565b61033e610481366004612c16565b6110f1565b61033e610494366004612c16565b6110fe565b6104ac6104a73660046131a0565b61111f565b60405161024c91906131df565b6102956111d6565b61033e611215565b61033e6104d7366004612c16565b61122e565b61033e6104ea366004612c16565b61123b565b6104f7611271565b60405161024c9190613222565b610268610512366004613333565b61137c565b6103a761052536600461338e565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612c7a565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e4c734554484879706572647269766560881b8152506040516020016105779190612c7a565b90565b60606105df600160405160200161057791906133ba565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612c7a565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f919061348f565b61093991906134a2565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134b5565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612f78565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b42565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8591906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1391906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa191906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f91906134e3565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815250604051602001610577919061307a565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b6134fe565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613512565b9050602002013590505f81549050808484815181106111a5576111a5613512565b60209081029190910101525050600101611169565b506111cf8160405160200161057791906131df565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361253d565b5f61058b61078661126c7f00000000000000000000000000000000000000000000000000000000000000008561348f565b612568565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f611480826125a8565b90505f83600381111561149557611495613467565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db613467565b0361150757806040516020016114f19190613526565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b613467565b0361153157806040516020016114f1919061355e565b600383600381111561154557611545613467565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612c7a565b60405180910390fd5b6115b761265a565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163891906134e3565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce91906134e3565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117879190613597565b905061179d6001600160a01b0385168483612682565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189091906134e3565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613512565b905060200201358888868686818110611baf57611baf613512565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134a2565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134a2565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f90849061348f565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e109190613597565b905090565b5f611e1e61265a565b611e27826126d4565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea891906134e3565b90506001600160a01b038116611ec16020850185612ca0565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906134e3565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe0818387612709565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612cc8565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135ae565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613512565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f612144826125a8565b90505f83600381111561215957612159613467565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f613467565b036121b557806040516020016114f1919061366e565b60028360038111156121c9576121c9613467565b036121df57806040516020016114f191906136a5565b60038360038111156121f3576121f3613467565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b0911661279f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e29290041661279f565b905292915050565b5f6107248383670de0b6b3a7640000612813565b5f61072483670de0b6b3a764000084612813565b5f6107747f00000000000000000000000000000000000000000000000000000000000000008361282e565b5f6107747f000000000000000000000000000000000000000000000000000000000000000083612898565b5f61258d600b5f61257a6002866128c7565b81526020019081526020015f20546128fb565b61259e600b5f61257a6001876128c7565b61077491906136d0565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561264c576125e1600a86613703565b6125ec90603061348f565b60f81b8260016125fc84876134a2565b61260691906134a2565b8151811061261657612616613512565b60200101906001600160f81b03191690815f1a9053508061263681613716565b91506126459050600a8661372e565b94506125d0565b918290030190815292915050565b60025f540361267c57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612928565b5f6126e26020830183612ca0565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061271585856124ea565b90506127208161253d565b9450845f03612732575f915050610724565b8491506127456040840160208501612cc8565b156127745761276d8561275b6020860186612ca0565b6127686040870187613741565b612989565b9150612797565b612797856127856020860186612ca0565b6127926040870187613741565b6129a3565b509392505050565b5f80670de0b6b3a76400006127b26129d7565b6127bc9190613784565b90508083116127cb575f6127d5565b6127d581846134a2565b915061072461280c670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613784565b83906124fe565b5f825f190484118302158202612827575f80fd5b5091020490565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015612874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190613597565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612859565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a02565b905080515f1415801561296057508080602001905181019061295e919061379b565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b6106776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612682565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a0f565b606061072483835f612a24565b5f612a1a8284613703565b61072490846134a2565b606081471015612a495760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612a6491906137b6565b5f6040518083038185875af1925050503d805f8114612a9e576040519150601f19603f3d011682016040523d82523d5f602084013e612aa3565b606091505b5091509150612ab3868383612abd565b9695505050505050565b606082612ad257612acd82612b19565b610724565b8151158015612ae957506001600160a01b0384163b155b15612b1257604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b295780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c1160405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c26575f80fd5b5035919050565b5f5b83811015612c47578181015183820152602001612c2f565b50505f910152565b5f8151808452612c66816020860160208601612c2d565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c4f565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cb0575f80fd5b813561072481612c8c565b801515811461045b575f80fd5b5f60208284031215612cd8575f80fd5b813561072481612cbb565b5f805f805f805f805f6101208a8c031215612cfc575f80fd5b8935985060208a0135975060408a0135612d1581612c8c565b965060608a0135612d2581612c8c565b955060808a0135612d3581612cbb565b945060a08a0135935060c08a013560ff81168114612d51575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d81575f80fd5b50813567ffffffffffffffff811115612d98575f80fd5b6020830191508360208260051b8501011115612db2575f80fd5b9250929050565b5f805f805f8060808789031215612dce575f80fd5b8635612dd981612c8c565b95506020870135612de981612c8c565b9450604087013567ffffffffffffffff80821115612e05575f80fd5b612e118a838b01612d71565b90965094506060890135915080821115612e29575f80fd5b50612e3689828a01612d71565b979a9699509497509295939492505050565b5f805f8060808587031215612e5b575f80fd5b843593506020850135612e6d81612c8c565b92506040850135612e7d81612c8c565b9396929550929360600135925050565b5f805f60608486031215612e9f575f80fd5b833592506020840135612eb181612c8c565b91506040840135612ec181612c8c565b809150509250925092565b5f8060408385031215612edd575f80fd5b823591506020830135612eef81612c8c565b809150509250929050565b5f60208284031215612f0a575f80fd5b813567ffffffffffffffff811115612f20575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f44575f80fd5b843593506020850135612f5681612c8c565b9250604085013591506060850135612f6d81612c8c565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561302a575f80fd5b823561303581612c8c565b91506020830135612eef81612cbb565b5f805f60608486031215613057575f80fd5b83359250602084013561306981612c8c565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130a660208401826001600160a01b03169052565b5060408301516130c160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613133828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131b1575f80fd5b823567ffffffffffffffff8111156131c7575f80fd5b6131d385828601612d71565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b81811015613216578351835292840192918401916001016131fa565b50909695505050505050565b81516001600160801b031681526101808101602083015161324e60208401826001600160801b03169052565b50604083015161326960408401826001600160801b03169052565b50606083015161328460608401826001600160801b03169052565b5060808301516132996080840182600f0b9052565b5060a08301516132b460a08401826001600160801b03169052565b5060c08301516132cf60c08401826001600160801b03169052565b5060e08301516132ea60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613198565b5f805f805f60a08688031215613347575f80fd5b85359450602086013561335981612c8c565b9350604086013561336981612c8c565b925060608601359150608086013561338081612c8c565b809150509295509295909350565b5f806040838503121561339f575f80fd5b82356133aa81612c8c565b91506020830135612eef81612c8c565b5f60208083525f84545f60018260011c915060018316806133dc57607f831692505b6020831081036133fa57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613419576001811461342f57613458565b60ff198616825284151560051b82019650613458565b5f8b8152602090205f5b8681101561345257815484820152908501908901613439565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107745761077461347b565b818103818111156107745761077461347b565b5f80604083850312156134c6575f80fd5b825191506020830151612eef81612cbb565b805161058b81612c8c565b5f602082840312156134f3575f80fd5b815161072481612c8c565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613551816011850160208701612c2d565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161358a816012850160208701612c2d565b9190910160120192915050565b5f602082840312156135a7575f80fd5b5051919050565b5f60208083850312156135bf575f80fd5b825167ffffffffffffffff808211156135d6575f80fd5b818501915085601f8301126135e9575f80fd5b8151818111156135fb576135fb6134fe565b8060051b604051601f19603f83011681018181108582111715613620576136206134fe565b60405291825284820192508381018501918883111561363d575f80fd5b938501935b8285101561366257613653856134d8565b84529385019392850192613642565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613698816010850160208701612c2d565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613551816011850160208701612c2d565b8181035f8312801583831316838312821617156111cf576111cf61347b565b634e487b7160e01b5f52601260045260245ffd5b5f82613711576137116136ef565b500690565b5f600182016137275761372761347b565b5060010190565b5f8261373c5761373c6136ef565b500490565b5f808335601e19843603018112613756575f80fd5b83018035915067ffffffffffffffff821115613770575f80fd5b602001915036819003821315612db2575f80fd5b80820281158282048414176107745761077461347b565b5f602082840312156137ab575f80fd5b815161072481612cbb565b5f82516137c7818460208701612c2d565b919091019291505056fea264697066735822122071dc04792ad1864538c49a16e0ed257335e824ba5f88831fad415514b63abb0864736f6c63430008160033a2646970667358221220f343c3e7e148a89c09d031cbd59095ac3b96e49cd08ff0ca686758db49ba03d164736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts deleted file mode 100644 index 336350f88..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts +++ /dev/null @@ -1,794 +0,0 @@ -export declare const LsETHTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=LsETHTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts.map deleted file mode 100644 index 8b93115e5..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget1.d.ts","sourceRoot":"","sources":["../src/LsETHTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu9Bug/B,KAAK,MAAM,EAAE;;;;;CAK5i/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1.js b/packages/hyperdrive-artifacts/dist/LsETHTarget1.js deleted file mode 100644 index 4145afd37..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1.js +++ /dev/null @@ -1,989 +0,0 @@ -export const LsETHTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f0638038062003f068339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8c6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612b5701525f818161139301528181611791015281816117f4015281816127400152818161277c015281816129740152612b3101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b0b01525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b7d01525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015261255001525f5050613a8c5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613510565b610070565b60405190815260200160405180910390f35b61004b61006b366004613510565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061357e565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613591565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135c4565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135ec565b6102bd8a6102b78d8f61357e565b90611584565b8d6102cb60408c018c613607565b6040516102df989796959493929190613672565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061357e565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136b9565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135c4565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135ec565b8a61050260408b018b613607565b60405161051597969594939291906136e0565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135c4565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61357e565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613720565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361357e565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613720565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f828254610878919061357e565b909155506108939050865f8461088d81611321565b88611164565b61089d818361357e565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c4919061357e565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613720565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613591565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613773565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613720565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e968184613720565b610ea0908961357e565b9750610eac828461357e565b610eb6908d61357e565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613720565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a613720565b9850670de0b6b3a7640000610ff0610f8b878761357e565b600254610fa9908f90600160801b90046001600160801b0316613720565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613720565b6110d1919061378e565b85670de0b6b3a76400006110e5878a613720565b6110ef919061378e565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661378e565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137a5565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613591565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b031661357e565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016135ec565b15611558576115518561153f60208601866135c4565b61154c6040870187613607565b612529565b915061157b565b61157b8561156960208601866135c4565b6115766040870187613607565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae8284613720565b6116b89089613720565b97506116c4818461357e565b6116ce908e613720565b9c506116da8a8e61357e565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613720565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613720565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613591565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861378e565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613720565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613806565b61157d9084613720565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b9061265f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a688383613720565b9050611a776110fa82866126ce565b60068054601090611a99908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836126e290919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b11919061357e565b90915550611b2190508183613720565b9150611b2c826119e0565b600280545f90611b469084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126f6565b600480545f90611b87908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856126e2565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c318282613720565b611c3b9084613720565b9250611c59565b611c4c8282613720565b611c56908461357e565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906126e2565b9050611cab8884866124e3565b611cb5908261357e565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b031690613720565b9050805f03611d5657600191505061131b565b5f611d608561271f565b9050805f03611d745760019250505061131b565b5f80611d818385896127ba565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613897565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f919061390c565b91509150611e2d611e1f82611321565b611e289061392e565b61292e565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612ac2565b6040518263ffffffff1660e01b8152600401611f2b9190613948565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613957565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe39161357e565b611fed9190613720565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613985565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d38184613720565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006126e2565b5f808061211f61211788670de0b6b3a7640000613720565b899087612bfc565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a7640000613720565b8989612c1f565b925061215e838261357e565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a7640000613720565b83906124cf565b61157d90670de0b6b3a7640000613720565b5f806121d3856121ab6119aa565b6121b5919061357e565b600254610fa9908790600160801b90046001600160801b0316613720565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a7640000613720565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612bfc565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a7640000613720565b8a9088612bfc565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e2908461357e565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613591565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613591565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae848761357e565b6123b88587611584565b6123c2888a611584565b611c98919061357e565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b6124266124088487613720565b61241285876124cf565b61241c888a611584565b611c989190613720565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c41565b612483845f612c41565b61248d9190613591565b90505f8113156124a8576124a1818661357e565b94506124c6565b5f8112156124c6576124b98161392e565b6124c39086613720565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612bfc565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c56565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c85565b50505050565b5f808061259d61259588670de0b6b3a7640000613720565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a7640000613720565b8989612cdc565b5f806125dc8484612cec565b9092509050806125ee576125ee6113ec565b5092915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa15801561263b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613999565b5f815f036126765750670de0b6b3a764000061131b565b825f0361268457505f61131b565b5f61268e83611321565b90505f6126a261269d86611321565b612d27565b90508181026126b9670de0b6b3a7640000826139b0565b90506126c481612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612bfc565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612739906001600160801b0316846126ce565b90506127657f00000000000000000000000000000000000000000000000000000000000000008261357e565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127b09083906001600160801b0316613720565b61157d9190613720565b6127c2613471565b5f806127cd84612ac2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128079190613948565b6040805180830381865af4158015612821573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128459190613957565b935090508261285957505f91506129269050565b5f61287f61287a84610160015185610140015161158490919063ffffffff16565b611321565b61289f61287a8561012001518661010001516124cf90919063ffffffff16565b6128a99190613591565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0891906139dc565b935093509350935080612a2357505f98975050505050505050565b868414612a5457612a33846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a8557612a6483612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ab357612a95826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612aca6134bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bc291166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612bf4929004166130de565b905292915050565b5f825f190484118302158202612c10575f80fd5b50910281810615159190040190565b5f80612c2f888888888888613152565b909250905080611cc557611cc56113ec565b5f818313612c4f578161157d565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612620565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612cd790849061322e565b505050565b5f80612c2f888888888888613294565b5f805f83612cf986611321565b612d039190613591565b90505f811215612d19575f809250925050612d20565b9150600190505b9250929050565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126c474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb919061378e565b905080831161310a575f613114565b6131148184613720565b915061157d61314b670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061378e565b83906126e2565b5f805f6131628989888888613350565b905086881015613178575f809250925050613223565b9686900396613187888761265f565b97508781101561319d575f809250925050613223565b8781036131ab818688612bfc565b9050670de0b6b3a764000081106131df576131d86131d1670de0b6b3a7640000896126ce565b829061265f565b90506131f7565b6131f46131d1670de0b6b3a7640000896126e2565b90505b61320181866126ce565b905089811015613218575f80935093505050613223565b899003925060019150505b965096945050505050565b5f6132426001600160a01b0384168361337e565b905080515f141580156132665750808060200190518101906132649190613a0f565b155b15612cd757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132a48989888888613350565b90506132b4866119da898b61357e565b9750878110156132ca575f809250925050613223565b8781036132d8818688612bfc565b9050670de0b6b3a76400008110613305576132fe6131d1670de0b6b3a7640000896126ce565b905061331d565b61331a6131d1670de0b6b3a7640000896126e2565b90505b61332781866126ce565b9050808a101561333e575f80935093505050613223565b90980398600198509650505050505050565b5f61335b858561265f565b61337461336c866119da868b6124cf565b859085612bfc565b612426919061357e565b606061157d83835f845f80856001600160a01b031684866040516133a29190613a2a565b5f6040518083038185875af1925050503d805f81146133dc576040519150601f19603f3d011682016040523d82523d5f602084013e6133e1565b606091505b50915091506126c4868383606082613401576133fc82613448565b61157d565b815115801561341857506001600160a01b0384163b155b1561344157604051639996b31560e01b81526001600160a01b038516600482015260240161328b565b508061157d565b8051156134585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134856134bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613523575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561354e575f80fd5b85016060818803121561355f575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61356a565b8181035f8312801583831316838312821617156125ee576125ee61356a565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135d4575f80fd5b813561157d816135b0565b8015158114610591575f80fd5b5f602082840312156135fc575f80fd5b813561157d816135df565b5f808335601e1984360301811261361c575f80fd5b83018035915067ffffffffffffffff821115613636575f80fd5b602001915036819003821315612d20575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136ab60e08301848661364a565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136d8576136d861356a565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61371360c08301848661364a565b9998505050505050505050565b8181038181111561131b5761131b61356a565b6001600160701b038181168382160190808211156125ee576125ee61356a565b6001600160801b038181168382160190808211156125ee576125ee61356a565b5f60208284031215613783575f80fd5b815161157d816135b0565b808202811582820484141761131b5761131b61356a565b6001600160801b038281168282160390808211156125ee576125ee61356a565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61356a565b634e487b7160e01b5f52601260045260245ffd5b5f82613814576138146137f2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138aa828551613819565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561391d575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139425761394261356a565b505f0390565b610180810161131b8284613819565b5f8060408385031215613968575f80fd5b82519150602083015161397a816135df565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156139a9575f80fd5b5051919050565b5f826139be576139be6137f2565b600160ff1b82145f19841416156139d7576139d761356a565b500590565b5f805f80608085870312156139ef575f80fd5b845193506020850151925060408501519150606085015161355f816135df565b5f60208284031215613a1f575f80fd5b815161157d816135df565b5f82515f5b81811015613a495760208186018101518583015201613a2f565b505f92019182525091905056fea26469706673582212208f9ac18ecb569fe46dde57f9aabc772fabab3246ec6588ea860bdcb3eefbd5c864736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts deleted file mode 100644 index 4ab3c4698..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const LsETHTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=LsETHTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts.map deleted file mode 100644 index 6f9df4a3b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/LsETHTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Iy+jC,KAAK,MAAM,EAAE;;;;CAIthkC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.js deleted file mode 100644 index 6a4d34ecb..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const LsETHTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506143de8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f06806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f0638038062003f068339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8c6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612b5701525f818161139301528181611791015281816117f4015281816127400152818161277c015281816129740152612b3101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b0b01525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b7d01525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015261255001525f5050613a8c5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613510565b610070565b60405190815260200160405180910390f35b61004b61006b366004613510565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061357e565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613591565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135c4565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135ec565b6102bd8a6102b78d8f61357e565b90611584565b8d6102cb60408c018c613607565b6040516102df989796959493929190613672565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061357e565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136b9565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135c4565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135ec565b8a61050260408b018b613607565b60405161051597969594939291906136e0565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135c4565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61357e565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613720565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361357e565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613720565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f828254610878919061357e565b909155506108939050865f8461088d81611321565b88611164565b61089d818361357e565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c4919061357e565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613720565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613591565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613773565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613720565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e968184613720565b610ea0908961357e565b9750610eac828461357e565b610eb6908d61357e565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613720565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a613720565b9850670de0b6b3a7640000610ff0610f8b878761357e565b600254610fa9908f90600160801b90046001600160801b0316613720565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613720565b6110d1919061378e565b85670de0b6b3a76400006110e5878a613720565b6110ef919061378e565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661378e565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137a5565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613591565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b031661357e565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016135ec565b15611558576115518561153f60208601866135c4565b61154c6040870187613607565b612529565b915061157b565b61157b8561156960208601866135c4565b6115766040870187613607565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae8284613720565b6116b89089613720565b97506116c4818461357e565b6116ce908e613720565b9c506116da8a8e61357e565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613720565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613720565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613591565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861378e565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613720565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613806565b61157d9084613720565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b9061265f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a688383613720565b9050611a776110fa82866126ce565b60068054601090611a99908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836126e290919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b11919061357e565b90915550611b2190508183613720565b9150611b2c826119e0565b600280545f90611b469084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126f6565b600480545f90611b87908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856126e2565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c318282613720565b611c3b9084613720565b9250611c59565b611c4c8282613720565b611c56908461357e565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906126e2565b9050611cab8884866124e3565b611cb5908261357e565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b031690613720565b9050805f03611d5657600191505061131b565b5f611d608561271f565b9050805f03611d745760019250505061131b565b5f80611d818385896127ba565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613897565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f919061390c565b91509150611e2d611e1f82611321565b611e289061392e565b61292e565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612ac2565b6040518263ffffffff1660e01b8152600401611f2b9190613948565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613957565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe39161357e565b611fed9190613720565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613985565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d38184613720565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006126e2565b5f808061211f61211788670de0b6b3a7640000613720565b899087612bfc565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a7640000613720565b8989612c1f565b925061215e838261357e565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a7640000613720565b83906124cf565b61157d90670de0b6b3a7640000613720565b5f806121d3856121ab6119aa565b6121b5919061357e565b600254610fa9908790600160801b90046001600160801b0316613720565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a7640000613720565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612bfc565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a7640000613720565b8a9088612bfc565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e2908461357e565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613591565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613591565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae848761357e565b6123b88587611584565b6123c2888a611584565b611c98919061357e565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b6124266124088487613720565b61241285876124cf565b61241c888a611584565b611c989190613720565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c41565b612483845f612c41565b61248d9190613591565b90505f8113156124a8576124a1818661357e565b94506124c6565b5f8112156124c6576124b98161392e565b6124c39086613720565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612bfc565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c56565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c85565b50505050565b5f808061259d61259588670de0b6b3a7640000613720565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a7640000613720565b8989612cdc565b5f806125dc8484612cec565b9092509050806125ee576125ee6113ec565b5092915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa15801561263b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613999565b5f815f036126765750670de0b6b3a764000061131b565b825f0361268457505f61131b565b5f61268e83611321565b90505f6126a261269d86611321565b612d27565b90508181026126b9670de0b6b3a7640000826139b0565b90506126c481612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612bfc565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612739906001600160801b0316846126ce565b90506127657f00000000000000000000000000000000000000000000000000000000000000008261357e565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127b09083906001600160801b0316613720565b61157d9190613720565b6127c2613471565b5f806127cd84612ac2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128079190613948565b6040805180830381865af4158015612821573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128459190613957565b935090508261285957505f91506129269050565b5f61287f61287a84610160015185610140015161158490919063ffffffff16565b611321565b61289f61287a8561012001518661010001516124cf90919063ffffffff16565b6128a99190613591565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0891906139dc565b935093509350935080612a2357505f98975050505050505050565b868414612a5457612a33846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a8557612a6483612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ab357612a95826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612aca6134bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bc291166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612bf4929004166130de565b905292915050565b5f825f190484118302158202612c10575f80fd5b50910281810615159190040190565b5f80612c2f888888888888613152565b909250905080611cc557611cc56113ec565b5f818313612c4f578161157d565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612620565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612cd790849061322e565b505050565b5f80612c2f888888888888613294565b5f805f83612cf986611321565b612d039190613591565b90505f811215612d19575f809250925050612d20565b9150600190505b9250929050565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126c474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb919061378e565b905080831161310a575f613114565b6131148184613720565b915061157d61314b670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061378e565b83906126e2565b5f805f6131628989888888613350565b905086881015613178575f809250925050613223565b9686900396613187888761265f565b97508781101561319d575f809250925050613223565b8781036131ab818688612bfc565b9050670de0b6b3a764000081106131df576131d86131d1670de0b6b3a7640000896126ce565b829061265f565b90506131f7565b6131f46131d1670de0b6b3a7640000896126e2565b90505b61320181866126ce565b905089811015613218575f80935093505050613223565b899003925060019150505b965096945050505050565b5f6132426001600160a01b0384168361337e565b905080515f141580156132665750808060200190518101906132649190613a0f565b155b15612cd757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132a48989888888613350565b90506132b4866119da898b61357e565b9750878110156132ca575f809250925050613223565b8781036132d8818688612bfc565b9050670de0b6b3a76400008110613305576132fe6131d1670de0b6b3a7640000896126ce565b905061331d565b61331a6131d1670de0b6b3a7640000896126e2565b90505b61332781866126ce565b9050808a101561333e575f80935093505050613223565b90980398600198509650505050505050565b5f61335b858561265f565b61337461336c866119da868b6124cf565b859085612bfc565b612426919061357e565b606061157d83835f845f80856001600160a01b031684866040516133a29190613a2a565b5f6040518083038185875af1925050503d805f81146133dc576040519150601f19603f3d011682016040523d82523d5f602084013e6133e1565b606091505b50915091506126c4868383606082613401576133fc82613448565b61157d565b815115801561341857506001600160a01b0384163b155b1561344157604051639996b31560e01b81526001600160a01b038516600482015260240161328b565b508061157d565b8051156134585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134856134bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613523575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561354e575f80fd5b85016060818803121561355f575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61356a565b8181035f8312801583831316838312821617156125ee576125ee61356a565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135d4575f80fd5b813561157d816135b0565b8015158114610591575f80fd5b5f602082840312156135fc575f80fd5b813561157d816135df565b5f808335601e1984360301811261361c575f80fd5b83018035915067ffffffffffffffff821115613636575f80fd5b602001915036819003821315612d20575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136ab60e08301848661364a565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136d8576136d861356a565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61371360c08301848661364a565b9998505050505050505050565b8181038181111561131b5761131b61356a565b6001600160701b038181168382160190808211156125ee576125ee61356a565b6001600160801b038181168382160190808211156125ee576125ee61356a565b5f60208284031215613783575f80fd5b815161157d816135b0565b808202811582820484141761131b5761131b61356a565b6001600160801b038281168282160390808211156125ee576125ee61356a565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61356a565b634e487b7160e01b5f52601260045260245ffd5b5f82613814576138146137f2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138aa828551613819565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561391d575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139425761394261356a565b505f0390565b610180810161131b8284613819565b5f8060408385031215613968575f80fd5b82519150602083015161397a816135df565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156139a9575f80fd5b5051919050565b5f826139be576139be6137f2565b600160ff1b82145f19841416156139d7576139d761356a565b500590565b5f805f80608085870312156139ef575f80fd5b845193506020850151925060408501519150606085015161355f816135df565b5f60208284031215613a1f575f80fd5b815161157d816135df565b5f82515f5b81811015613a495760208186018101518583015201613a2f565b505f92019182525091905056fea26469706673582212208f9ac18ecb569fe46dde57f9aabc772fabab3246ec6588ea860bdcb3eefbd5c864736f6c63430008160033a264697066735822122088b745565ab42bc82166e5baea8efdaa396b7dfcf028a7f8e9575a1b1ba3ade364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts deleted file mode 100644 index 91d50fc64..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts +++ /dev/null @@ -1,814 +0,0 @@ -export declare const LsETHTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=LsETHTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts.map deleted file mode 100644 index b28d3e979..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget2.d.ts","sourceRoot":"","sources":["../src/LsETHTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAg/B69/B,KAAK,MAAM,EAAE;;;;;CAKlggC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2.js b/packages/hyperdrive-artifacts/dist/LsETHTarget2.js deleted file mode 100644 index 056195e3c..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2.js +++ /dev/null @@ -1,1014 +0,0 @@ -export const LsETHTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003ff138038062003ff18339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b69620004885f395f50505f50505f610c2801525f50505f818160f9015281816103020152612c5701525f81816114e601528181611c0b01528181611c6e015281816123f5015281816128400152818161287c01528181612a740152612c3101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612c0b01525f61183501525f8181611956015281816124e60152818161255e0152612d6f01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612d2b01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c7d01525f81816101d301528181610396015281816108e1015261325901525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015261169b01525f5050613b695ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135ed565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135ed565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd919061365b565b909155506101ce9050844283610f13565b6101f87f00000000000000000000000000000000000000000000000000000000000000008561365b565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613682565b8b611217565b8d8a8a898e8561023e6020830183613682565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136aa565b8961028960408a018a6136c5565b60405161029c9796959493929190613730565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f00000000000000000000000000000000000000000000000000000000000000008461365b565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea90849061365b565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b61041890600161365b565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613682565b85611217565b858b868461049b6020860186613682565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136aa565b6104ec896104e68a8d613770565b90610683565b8d6104fa60408e018e6136c5565b60405161050e989796959493929190613783565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613682565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136aa565b156105ea576105e0856105db60408701876136c5565b611673565b9093509050610602565b5034610602856105fd60408701876136c5565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b61365b565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613770565b8a84610f13565b6108cc896108c66108bf7f00000000000000000000000000000000000000000000000000000000000000008361365b565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613770565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f828254610972919061365b565b9091555061098d9050865f84610987816119e2565b88611a0b565b610997818361365b565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe919061365b565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae38183613770565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae919061380a565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613829565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e96878461365b565b600254610eb4908890600160801b90046001600160801b0316613770565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613770565b610fb99190613844565b85670de0b6b3a7640000610fcd878a613770565b610fd79190613844565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613844565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b61115790826137ea565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b611196908461387b565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061124890849061365b565b90915550505f838152600b60205260408120805483929061126a90849061365b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e890508183613770565b6113f29087613770565b95508861143f816114398d611407868c613770565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136aa565b156114ac5750826114b9565b6114b6848461265b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61266f565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613844565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b611196908461380a565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612694565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138b6565b6106979084613770565b6002546004545f916106cb916001600160801b0390911690600f0b61266f565b5f61172e826117288588886116c8565b906126f4565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c38383613770565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361265b90919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c919061365b565b9091555061187c90508183613770565b915061188782611737565b600280545f906118a19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612759565b600480545f906118e2908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611921878561265b565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c8282613770565b6119969084613770565b92506119b4565b6119a78282613770565b6119b1908461365b565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613844565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a83908261385b565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af083612782565b600480545f90611b04908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b9061265b565b9050611ba68884866116c8565b611bb0908261365b565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c348583613770565b105b15611c4357611c436122aa565b6004549084900390600f0b611c58848261380a565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361266f565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613844565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d118882613770565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b82612782565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b031684846127bd565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b031690613770565b9050805f03611e8057600191505061069a565b5f611e8a8561281f565b9050805f03611e9e5760019250505061069a565b5f80611eab8385896128ba565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb929190613974565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3991906139e9565b91509150611f57611f49826119e2565b611f5290613a0b565b612a2e565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612bc2565b6040518263ffffffff1660e01b81526004016120559190613a25565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a34565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d9161365b565b6121179190613770565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613a62565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a7640000613770565b8787612cfc565b979650505050505050565b5f6114b661224561221e84670de0b6b3a7640000613770565b611439670de0b6b3a7640000612234818a611450565b61223e9190613770565b879061247a565b61225790670de0b6b3a764000061365b565b611b9384670de0b6b3a7640000613770565b5f8061229f856122776116f8565b612281919061365b565b600254610eb4908790600160801b90046001600160801b0316613770565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612d1e565b90925090506122e28289613770565b97505f6122f082888a6116c8565b90506122fc818b613770565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d848761365b565b6123378587610683565b612341888a610683565b611b93919061365b565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a56123878487613770565b612391858761247a565b61239b888a610683565b611b939190613770565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a919061380a565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b031661365b565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a7640000613770565b8787612d9d565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a7640000613770565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a7640000613770565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c908461365b565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015612637573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613a76565b5f61069783670de0b6b3a7640000846116c8565b5f8061267b8484612dad565b90925090508061268d5761268d6122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526126ee908590612de5565b50505050565b5f815f0361270b5750670de0b6b3a764000061069a565b825f0361271957505f61069a565b5f612723836119e2565b90505f612737612732866119e2565b612e4b565b905081810261274e670de0b6b3a764000082613a8d565b90506123a581613070565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061279f575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f806127c9845f613202565b6127d3845f613202565b6127dd919061380a565b90505f8113156127f8576127f1818661365b565b9450612816565b5f8112156128165761280981613a0b565b6128139086613770565b94505b50929392505050565b6003545f908190612839906001600160801b031684611450565b90506128657f00000000000000000000000000000000000000000000000000000000000000008261365b565b6002546001600160801b03161115611772576002547f0000000000000000000000000000000000000000000000000000000000000000906128b09083906001600160801b0316613770565b6114b99190613770565b6128c261354e565b5f806128cd84612bc2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129079190613a25565b6040805180830381865af4158015612921573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129459190613a34565b935090508261295957505f9150612a269050565b5f61297f61297a84610160015185610140015161068390919063ffffffff16565b6119e2565b61299f61297a85610120015186610100015161247a90919063ffffffff16565b6129a9919061380a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ae4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b089190613ab9565b935093509350935080612b2357505f98975050505050505050565b868414612b5457612b3384611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8557612b6483612782565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb357612b9582611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bca613598565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612cc29116613210565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cf492900416613210565b905292915050565b5f80612d0c888888888888613284565b909250905080611bc057611bc06122aa565b5f80612d678561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d5d818c611450565b6114399190613770565b9150612d93827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612d0c888888888888613348565b5f805f83612dba866119e2565b612dc4919061380a565b90505f811215612dda575f80925092505061067c565b946001945092505050565b5f612df96001600160a01b03841683613404565b905080515f14158015612e1d575080806020019051810190612e1b9190613aec565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e6c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eef9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308957505f919050565b680755bf798b4a1bf1e582126130b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a76400006132236106a0565b61322d9190613844565b905080831161323c575f613246565b6132468184613770565b91506114b961327d670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613844565b839061265b565b5f805f6132948989888888613411565b90506132ae866117286132a78a8d61365b565b8790610683565b98506132bb858a866116c8565b9850888110156132d1575f80925092505061333d565b888103670de0b6b3a76400008110613306576132ff6132f8670de0b6b3a764000089611450565b82906126f4565b905061331e565b61331b6132f8670de0b6b3a76400008961265b565b90505b80891015613333575f8093509350505061333d565b8803925060019150505b965096945050505050565b5f805f6133588989888888613411565b905061336886611728898b61365b565b97508781101561337e575f80925092505061333d565b87810361338c8186886125cf565b9050670de0b6b3a764000081106133b9576133b26132f8670de0b6b3a764000089611450565b90506133d1565b6133ce6132f8670de0b6b3a76400008961265b565b90505b6133db8186611450565b9050808a10156133f2575f8093509350505061333d565b90980398600198509650505050505050565b606061069783835f61343f565b5f61341c85856126f4565b61343561342d86611728868b61247a565b8590856125cf565b6123a5919061365b565b6060814710156134645760405163cd78605960e01b8152306004820152602401612e42565b5f80856001600160a01b0316848660405161347f9190613b07565b5f6040518083038185875af1925050503d805f81146134b9576040519150601f19603f3d011682016040523d82523d5f602084013e6134be565b606091505b50915091506123a58683836060826134de576134d982613525565b6114b9565b81511580156134f557506001600160a01b0384163b155b1561351e57604051639996b31560e01b81526001600160a01b0385166004820152602401612e42565b50806114b9565b8051156135355780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280613562613598565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613600575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561362b575f80fd5b85016060818803121561363c575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613647565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613692575f80fd5b81356114b98161366e565b80151581146105af575f80fd5b5f602082840312156136ba575f80fd5b81356114b98161369d565b5f808335601e198436030181126136da575f80fd5b83018035915067ffffffffffffffff8211156136f4575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61376360c083018486613708565b9998505050505050505050565b8181038181111561069a5761069a613647565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137bc60e083018486613708565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561268d5761268d613647565b6001600160801b0381811683821601908082111561268d5761268d613647565b8181035f83128015838313168383128216171561268d5761268d613647565b5f60208284031215613839575f80fd5b81516114b98161366e565b808202811582820484141761069a5761069a613647565b6001600160801b0382811682821603908082111561268d5761268d613647565b8082018281125f83128015821682158216171561389a5761389a613647565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138c4576138c46138a2565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613647565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139878285516138f6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139fa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a1f57613a1f613647565b505f0390565b610180810161069a82846138f6565b5f8060408385031215613a45575f80fd5b825191506020830151613a578161369d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a86575f80fd5b5051919050565b5f82613a9b57613a9b6138a2565b600160ff1b82145f1984141615613ab457613ab4613647565b500590565b5f805f8060808587031215613acc575f80fd5b845193506020850151925060408501519150606085015161363c8161369d565b5f60208284031215613afc575f80fd5b81516114b98161369d565b5f82515f5b81811015613b265760208186018101518583015201613b0c565b505f92019182525091905056fea2646970667358221220831e7e2afae506dda6f5846a7bae00b236b4aca6a7cc800f30a8a8b2c39e20c864736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts deleted file mode 100644 index 738768574..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const LsETHTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=LsETHTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts.map deleted file mode 100644 index 29b466f3b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/LsETHTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+7kC,KAAK,MAAM,EAAE;;;;CAI5+kC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.js deleted file mode 100644 index 08f48725a..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const LsETHTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506144c98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613ff1806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003ff138038062003ff18339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b69620004885f395f50505f50505f610c2801525f50505f818160f9015281816103020152612c5701525f81816114e601528181611c0b01528181611c6e015281816123f5015281816128400152818161287c01528181612a740152612c3101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612c0b01525f61183501525f8181611956015281816124e60152818161255e0152612d6f01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612d2b01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c7d01525f81816101d301528181610396015281816108e1015261325901525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015261169b01525f5050613b695ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135ed565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135ed565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd919061365b565b909155506101ce9050844283610f13565b6101f87f00000000000000000000000000000000000000000000000000000000000000008561365b565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613682565b8b611217565b8d8a8a898e8561023e6020830183613682565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136aa565b8961028960408a018a6136c5565b60405161029c9796959493929190613730565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f00000000000000000000000000000000000000000000000000000000000000008461365b565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea90849061365b565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b61041890600161365b565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613682565b85611217565b858b868461049b6020860186613682565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136aa565b6104ec896104e68a8d613770565b90610683565b8d6104fa60408e018e6136c5565b60405161050e989796959493929190613783565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613682565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136aa565b156105ea576105e0856105db60408701876136c5565b611673565b9093509050610602565b5034610602856105fd60408701876136c5565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b61365b565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613770565b8a84610f13565b6108cc896108c66108bf7f00000000000000000000000000000000000000000000000000000000000000008361365b565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613770565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f828254610972919061365b565b9091555061098d9050865f84610987816119e2565b88611a0b565b610997818361365b565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe919061365b565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae38183613770565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae919061380a565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613829565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e96878461365b565b600254610eb4908890600160801b90046001600160801b0316613770565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613770565b610fb99190613844565b85670de0b6b3a7640000610fcd878a613770565b610fd79190613844565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613844565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b61115790826137ea565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b611196908461387b565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061124890849061365b565b90915550505f838152600b60205260408120805483929061126a90849061365b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e890508183613770565b6113f29087613770565b95508861143f816114398d611407868c613770565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136aa565b156114ac5750826114b9565b6114b6848461265b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61266f565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613844565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b611196908461380a565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612694565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138b6565b6106979084613770565b6002546004545f916106cb916001600160801b0390911690600f0b61266f565b5f61172e826117288588886116c8565b906126f4565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c38383613770565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361265b90919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c919061365b565b9091555061187c90508183613770565b915061188782611737565b600280545f906118a19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612759565b600480545f906118e2908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611921878561265b565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c8282613770565b6119969084613770565b92506119b4565b6119a78282613770565b6119b1908461365b565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613844565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a83908261385b565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af083612782565b600480545f90611b04908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b9061265b565b9050611ba68884866116c8565b611bb0908261365b565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c348583613770565b105b15611c4357611c436122aa565b6004549084900390600f0b611c58848261380a565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361266f565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613844565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d118882613770565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b82612782565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b031684846127bd565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b031690613770565b9050805f03611e8057600191505061069a565b5f611e8a8561281f565b9050805f03611e9e5760019250505061069a565b5f80611eab8385896128ba565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb929190613974565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3991906139e9565b91509150611f57611f49826119e2565b611f5290613a0b565b612a2e565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612bc2565b6040518263ffffffff1660e01b81526004016120559190613a25565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a34565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d9161365b565b6121179190613770565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613a62565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a7640000613770565b8787612cfc565b979650505050505050565b5f6114b661224561221e84670de0b6b3a7640000613770565b611439670de0b6b3a7640000612234818a611450565b61223e9190613770565b879061247a565b61225790670de0b6b3a764000061365b565b611b9384670de0b6b3a7640000613770565b5f8061229f856122776116f8565b612281919061365b565b600254610eb4908790600160801b90046001600160801b0316613770565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612d1e565b90925090506122e28289613770565b97505f6122f082888a6116c8565b90506122fc818b613770565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d848761365b565b6123378587610683565b612341888a610683565b611b93919061365b565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a56123878487613770565b612391858761247a565b61239b888a610683565b611b939190613770565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a919061380a565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b031661365b565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a7640000613770565b8787612d9d565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a7640000613770565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a7640000613770565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c908461365b565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015612637573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613a76565b5f61069783670de0b6b3a7640000846116c8565b5f8061267b8484612dad565b90925090508061268d5761268d6122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526126ee908590612de5565b50505050565b5f815f0361270b5750670de0b6b3a764000061069a565b825f0361271957505f61069a565b5f612723836119e2565b90505f612737612732866119e2565b612e4b565b905081810261274e670de0b6b3a764000082613a8d565b90506123a581613070565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061279f575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f806127c9845f613202565b6127d3845f613202565b6127dd919061380a565b90505f8113156127f8576127f1818661365b565b9450612816565b5f8112156128165761280981613a0b565b6128139086613770565b94505b50929392505050565b6003545f908190612839906001600160801b031684611450565b90506128657f00000000000000000000000000000000000000000000000000000000000000008261365b565b6002546001600160801b03161115611772576002547f0000000000000000000000000000000000000000000000000000000000000000906128b09083906001600160801b0316613770565b6114b99190613770565b6128c261354e565b5f806128cd84612bc2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129079190613a25565b6040805180830381865af4158015612921573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129459190613a34565b935090508261295957505f9150612a269050565b5f61297f61297a84610160015185610140015161068390919063ffffffff16565b6119e2565b61299f61297a85610120015186610100015161247a90919063ffffffff16565b6129a9919061380a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ae4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b089190613ab9565b935093509350935080612b2357505f98975050505050505050565b868414612b5457612b3384611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8557612b6483612782565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb357612b9582611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bca613598565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612cc29116613210565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cf492900416613210565b905292915050565b5f80612d0c888888888888613284565b909250905080611bc057611bc06122aa565b5f80612d678561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d5d818c611450565b6114399190613770565b9150612d93827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612d0c888888888888613348565b5f805f83612dba866119e2565b612dc4919061380a565b90505f811215612dda575f80925092505061067c565b946001945092505050565b5f612df96001600160a01b03841683613404565b905080515f14158015612e1d575080806020019051810190612e1b9190613aec565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e6c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eef9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308957505f919050565b680755bf798b4a1bf1e582126130b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a76400006132236106a0565b61322d9190613844565b905080831161323c575f613246565b6132468184613770565b91506114b961327d670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613844565b839061265b565b5f805f6132948989888888613411565b90506132ae866117286132a78a8d61365b565b8790610683565b98506132bb858a866116c8565b9850888110156132d1575f80925092505061333d565b888103670de0b6b3a76400008110613306576132ff6132f8670de0b6b3a764000089611450565b82906126f4565b905061331e565b61331b6132f8670de0b6b3a76400008961265b565b90505b80891015613333575f8093509350505061333d565b8803925060019150505b965096945050505050565b5f805f6133588989888888613411565b905061336886611728898b61365b565b97508781101561337e575f80925092505061333d565b87810361338c8186886125cf565b9050670de0b6b3a764000081106133b9576133b26132f8670de0b6b3a764000089611450565b90506133d1565b6133ce6132f8670de0b6b3a76400008961265b565b90505b6133db8186611450565b9050808a10156133f2575f8093509350505061333d565b90980398600198509650505050505050565b606061069783835f61343f565b5f61341c85856126f4565b61343561342d86611728868b61247a565b8590856125cf565b6123a5919061365b565b6060814710156134645760405163cd78605960e01b8152306004820152602401612e42565b5f80856001600160a01b0316848660405161347f9190613b07565b5f6040518083038185875af1925050503d805f81146134b9576040519150601f19603f3d011682016040523d82523d5f602084013e6134be565b606091505b50915091506123a58683836060826134de576134d982613525565b6114b9565b81511580156134f557506001600160a01b0384163b155b1561351e57604051639996b31560e01b81526001600160a01b0385166004820152602401612e42565b50806114b9565b8051156135355780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280613562613598565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613600575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561362b575f80fd5b85016060818803121561363c575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613647565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613692575f80fd5b81356114b98161366e565b80151581146105af575f80fd5b5f602082840312156136ba575f80fd5b81356114b98161369d565b5f808335601e198436030181126136da575f80fd5b83018035915067ffffffffffffffff8211156136f4575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61376360c083018486613708565b9998505050505050505050565b8181038181111561069a5761069a613647565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137bc60e083018486613708565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561268d5761268d613647565b6001600160801b0381811683821601908082111561268d5761268d613647565b8181035f83128015838313168383128216171561268d5761268d613647565b5f60208284031215613839575f80fd5b81516114b98161366e565b808202811582820484141761069a5761069a613647565b6001600160801b0382811682821603908082111561268d5761268d613647565b8082018281125f83128015821682158216171561389a5761389a613647565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138c4576138c46138a2565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613647565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139878285516138f6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139fa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a1f57613a1f613647565b505f0390565b610180810161069a82846138f6565b5f8060408385031215613a45575f80fd5b825191506020830151613a578161369d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a86575f80fd5b5051919050565b5f82613a9b57613a9b6138a2565b600160ff1b82145f1984141615613ab457613ab4613647565b500590565b5f805f8060808587031215613acc575f80fd5b845193506020850151925060408501519150606085015161363c8161369d565b5f60208284031215613afc575f80fd5b81516114b98161369d565b5f82515f5b81811015613b265760208186018101518583015201613b0c565b505f92019182525091905056fea2646970667358221220831e7e2afae506dda6f5846a7bae00b236b4aca6a7cc800f30a8a8b2c39e20c864736f6c63430008160033a26469706673582212207d73663b82e38f835fb8794382fc090b25d044cc74c8fe28eed3f0b3ec8c31e564736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts deleted file mode 100644 index b40067061..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts +++ /dev/null @@ -1,830 +0,0 @@ -export declare const LsETHTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=LsETHTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts.map deleted file mode 100644 index 0e96c6308..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget3.d.ts","sourceRoot":"","sources":["../src/LsETHTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAogCqr/B,KAAK,MAAM,EAAE;;;;;CAK1t/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3.js b/packages/hyperdrive-artifacts/dist/LsETHTarget3.js deleted file mode 100644 index dbd10153b..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3.js +++ /dev/null @@ -1,1034 +0,0 @@ -export const LsETHTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f5d38038062003f5d8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ac4620004995f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119740152612b0301525f5050613ac45ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351d565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135ef565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826135dc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135ef565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135ef565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906135dc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613680565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061368f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613680565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061368f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135ef565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906136ba565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906135dc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856136ba565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136e2565b866107a960408c018c6136fd565b6040516107bc9796959493929190613740565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613793565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906137aa565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6136ba565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826136ba565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136e2565b87610b5e60408901896136fd565b604051610b719796959493929190613740565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836136ba565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136e2565b15610c8f57610c8585610c8060408701876136fd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136fd565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135ef565b8a846119c8565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836135dc565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135ef565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff591906135dc565b909155506110109050865f8461100a81611766565b88611dad565b61101a81836135dc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f82825461114191906135dc565b9091555061115c9050835f8461115681611766565b8a611fa4565b61116681836135ef565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613815565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613834565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613815565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f6135dc565b90505f6115888b8b61157987611766565b611583908e61384f565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613815565b6115e79190613815565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a76400006135ef565b906117d4565b61163461346e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906135dc565b90915550505f838152600b60205260408120805483929061183b9084906135dc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be828461388a565b61008d90846135ef565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a6488866135ef565b611a6e9190613793565b85670de0b6b3a7640000611a82878a6135ef565b611a8c9190613793565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a83836135ef565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c0391906135dc565b90915550611c13905081836135ef565b9150611c1e826118d2565b600280545f90611c389084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d5782826135ef565b611d6190846135ef565b9250611d7f565b611d7282826135ef565b611d7c90846135dc565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a764000086613793565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e25908261389d565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c90826135dc565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe485836135ef565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613815565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a764000088613793565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c188826135ef565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b0316906135ef565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab9291906138ea565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e9919061395f565b915091506123076122f982611766565b61230290613981565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b81526004016124059190613680565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612443919061399b565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd916135dc565b6124c791906135ef565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612527576125276139c9565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613815565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f791906135dc565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d6135dc565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b909250905061275682896135ef565b97505f61276482888a6117b9565b9050612770818b6135ef565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613815565b90505f8113156127ba576127b381866135dc565b94506127d8565b5f8112156127d8576127cb81613981565b6127d590866135ef565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b6128319190613793565b9050808311612840575f61284a565b61284a81846135ef565b915061008d6125f7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613793565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b91906139dd565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a1b565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a84876135dc565b612b548587611f67565b612b5e888a611f67565b61162691906135dc565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba484876135ef565b612bae85876127e1565b612bb8888a611f67565b61162691906135ef565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f0000000000000000000000000000000000000000000000000000000000000000826135dc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b03166135ef565b61008d91906135ef565b612ca26134c3565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce79190613680565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d25919061399b565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613815565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b61007291906135dc565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea491906135ef565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b0384168361337b565b905080515f141580156132e45750808060200190518101906132e29190613a47565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015613357573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d919061368f565b606061008d83835f845f80856001600160a01b0316848660405161339f9190613a62565b5f6040518083038185875af1925050503d805f81146133d9576040519150601f19603f3d011682016040523d82523d5f602084013e6133de565b606091505b5091509150612a938683836060826133fe576133f982613445565b61008d565b815115801561341557506001600160a01b0384163b155b1561343e57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134555780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d761346e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613531575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613563575f80fd5b61356f8882890161350d565b9150509295509295909350565b5f805f6060848603121561358e575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b2575f80fd5b6135be8682870161350d565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76135c8565b818103818111156113f7576113f76135c8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613602565b5f6020828403121561369f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156136ca575f80fd5b813561008d816136a6565b8015158114610c0a575f80fd5b5f602082840312156136f2575f80fd5b813561008d816136d5565b5f808335601e19843603018112613712575f80fd5b83018035915067ffffffffffffffff82111561372c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76135c8565b5f805f606084860312156137bc575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6135c8565b6001600160801b038181168382160190808211156118cb576118cb6135c8565b8181035f8312801583831316838312821617156118cb576118cb6135c8565b5f60208284031215613844575f80fd5b815161008d816136a6565b8082018281125f83128015821682158216171561386e5761386e6135c8565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389857613898613876565b500690565b6001600160801b038281168282160390808211156118cb576118cb6135c8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76135c8565b5f6102a0820190506138fd828551613602565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613970575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613995576139956135c8565b505f0390565b5f80604083850312156139ac575f80fd5b8251915060208301516139be816136d5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139f0575f80fd5b8451935060208501519250604085015191506060850151613a10816136d5565b939692955090935050565b5f82613a2957613a29613876565b600160ff1b82145f1984141615613a4257613a426135c8565b500590565b5f60208284031215613a57575f80fd5b815161008d816136d5565b5f82515f5b81811015613a815760208186018101518583015201613a67565b505f92019182525091905056fea264697066735822122078b22bad686be93d37a911b2490fb8476001f57dcf6e438c9d11b751a362711764736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts deleted file mode 100644 index 70ed120de..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const LsETHTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=LsETHTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts.map deleted file mode 100644 index 47290e9f3..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/LsETHTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IupkC,KAAK,MAAM,EAAE;;;;CAIpskC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.js deleted file mode 100644 index 7ed5daaef..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const LsETHTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506144358061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f5d806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f5d38038062003f5d8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ac4620004995f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119740152612b0301525f5050613ac45ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351d565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135ef565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826135dc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135ef565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135ef565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906135dc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613680565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061368f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613680565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061368f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135ef565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906136ba565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906135dc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856136ba565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136e2565b866107a960408c018c6136fd565b6040516107bc9796959493929190613740565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613793565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906137aa565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6136ba565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826136ba565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136e2565b87610b5e60408901896136fd565b604051610b719796959493929190613740565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836136ba565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136e2565b15610c8f57610c8585610c8060408701876136fd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136fd565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135ef565b8a846119c8565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836135dc565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135ef565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff591906135dc565b909155506110109050865f8461100a81611766565b88611dad565b61101a81836135dc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f82825461114191906135dc565b9091555061115c9050835f8461115681611766565b8a611fa4565b61116681836135ef565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613815565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613834565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613815565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f6135dc565b90505f6115888b8b61157987611766565b611583908e61384f565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613815565b6115e79190613815565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a76400006135ef565b906117d4565b61163461346e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906135dc565b90915550505f838152600b60205260408120805483929061183b9084906135dc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be828461388a565b61008d90846135ef565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a6488866135ef565b611a6e9190613793565b85670de0b6b3a7640000611a82878a6135ef565b611a8c9190613793565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a83836135ef565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c0391906135dc565b90915550611c13905081836135ef565b9150611c1e826118d2565b600280545f90611c389084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d5782826135ef565b611d6190846135ef565b9250611d7f565b611d7282826135ef565b611d7c90846135dc565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a764000086613793565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e25908261389d565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c90826135dc565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe485836135ef565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613815565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a764000088613793565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c188826135ef565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b0316906135ef565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab9291906138ea565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e9919061395f565b915091506123076122f982611766565b61230290613981565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b81526004016124059190613680565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612443919061399b565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd916135dc565b6124c791906135ef565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612527576125276139c9565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613815565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f791906135dc565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d6135dc565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b909250905061275682896135ef565b97505f61276482888a6117b9565b9050612770818b6135ef565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613815565b90505f8113156127ba576127b381866135dc565b94506127d8565b5f8112156127d8576127cb81613981565b6127d590866135ef565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b6128319190613793565b9050808311612840575f61284a565b61284a81846135ef565b915061008d6125f7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613793565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b91906139dd565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a1b565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a84876135dc565b612b548587611f67565b612b5e888a611f67565b61162691906135dc565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba484876135ef565b612bae85876127e1565b612bb8888a611f67565b61162691906135ef565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f0000000000000000000000000000000000000000000000000000000000000000826135dc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b03166135ef565b61008d91906135ef565b612ca26134c3565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce79190613680565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d25919061399b565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613815565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b61007291906135dc565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea491906135ef565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b0384168361337b565b905080515f141580156132e45750808060200190518101906132e29190613a47565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015613357573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d919061368f565b606061008d83835f845f80856001600160a01b0316848660405161339f9190613a62565b5f6040518083038185875af1925050503d805f81146133d9576040519150601f19603f3d011682016040523d82523d5f602084013e6133de565b606091505b5091509150612a938683836060826133fe576133f982613445565b61008d565b815115801561341557506001600160a01b0384163b155b1561343e57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134555780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d761346e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613531575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613563575f80fd5b61356f8882890161350d565b9150509295509295909350565b5f805f6060848603121561358e575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b2575f80fd5b6135be8682870161350d565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76135c8565b818103818111156113f7576113f76135c8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613602565b5f6020828403121561369f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156136ca575f80fd5b813561008d816136a6565b8015158114610c0a575f80fd5b5f602082840312156136f2575f80fd5b813561008d816136d5565b5f808335601e19843603018112613712575f80fd5b83018035915067ffffffffffffffff82111561372c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76135c8565b5f805f606084860312156137bc575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6135c8565b6001600160801b038181168382160190808211156118cb576118cb6135c8565b8181035f8312801583831316838312821617156118cb576118cb6135c8565b5f60208284031215613844575f80fd5b815161008d816136a6565b8082018281125f83128015821682158216171561386e5761386e6135c8565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389857613898613876565b500690565b6001600160801b038281168282160390808211156118cb576118cb6135c8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76135c8565b5f6102a0820190506138fd828551613602565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613970575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613995576139956135c8565b505f0390565b5f80604083850312156139ac575f80fd5b8251915060208301516139be816136d5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139f0575f80fd5b8451935060208501519250604085015191506060850151613a10816136d5565b939692955090935050565b5f82613a2957613a29613876565b600160ff1b82145f1984141615613a4257613a426135c8565b500590565b5f60208284031215613a57575f80fd5b815161008d816136d5565b5f82515f5b81811015613a815760208186018101518583015201613a67565b505f92019182525091905056fea264697066735822122078b22bad686be93d37a911b2490fb8476001f57dcf6e438c9d11b751a362711764736f6c63430008160033a264697066735822122006df82a14f352728812e93e6a8aeeea346a0378245d399a9901f3c0b3436fadd64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts deleted file mode 100644 index 669a3afdc..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts +++ /dev/null @@ -1,809 +0,0 @@ -export declare const LsETHTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=LsETHTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts.map deleted file mode 100644 index 3c3c58abb..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget4.d.ts","sourceRoot":"","sources":["../src/LsETHTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy+B6nzB,KAAK,MAAM,EAAE;;;;;;CAMlqzB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4.js b/packages/hyperdrive-artifacts/dist/LsETHTarget4.js deleted file mode 100644 index f6bbab5f6..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4.js +++ /dev/null @@ -1,1008 +0,0 @@ -export const LsETHTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003341380380620033418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612f4e620003f35f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261232d01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161108901528181612248015261229401525f5050612f4e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129dd565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a2f565b6100b1565b005b6100566100923660046129dd565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a63565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a8b565b61016a60408c018c612aa6565b60405161017c96959493929190612b11565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b5e565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a63565b88610ea4565b5f6102f56102ec6020870187612a63565b88848989610a9e565b90945090506103048188612b85565b92505f61031083610f41565b5090506103206020870187612a63565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a8b565b8a888e80604001906103709190612aa6565b604051610384989796959493929190612b98565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a63565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bdf565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b85565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bdf565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b85565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bdf565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bdf565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bdf565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612b85565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c32565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c51565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c6c565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b85565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d0a565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d7f565b91509150610d11610d0382611521565b610d0c90612da1565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b85565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bdf565b90915550505f838152600b602052604081208054839290610ef7908490612bdf565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dbb565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dca565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bdf565b6110469190612b85565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b5e565b6110c39084612b85565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612b85565b6111dc9190612df8565b85670de0b6b3a76400006111f0878a612b85565b6111fa9190612df8565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612b85565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bdf565b9091555061138790508183612b85565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612b85565b6114d59084612b85565b92506114f3565b6114e68282612b85565b6114f09084612bdf565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612df8565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c6c565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612bdf565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612b85565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612c32565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612df8565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612b85565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e3c565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612a8b565b15611a8e57611a8785611a756020860186612a63565b611a826040870187612aa6565b61226d565b9150611ab1565b611ab185611a9f6020860186612a63565b611aac6040870187612aa6565b612287565b509392505050565b5f6110c38383670de0b6b3a76400006122c1565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bdf565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612b85565b6110c39190612b85565b611b7061293e565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dbb565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612dca565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c32565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e50565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612988565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166122e4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166122e4565b905292915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190612e8e565b5f806120198484612358565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b612393565b905081810261208c670de0b6b3a764000082612ea5565b9050612097816125b8565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612bdf565b6120cd858761170a565b6120d7888a61170a565b6116d29190612bdf565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612b85565b6121278587611ab9565b612131888a61170a565b6116d29190612b85565b5f6110c383670de0b6b3a7640000846122c1565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f61274a565b6121f6845f61274a565b6122009190612c32565b90505f81131561221b576122148186612bdf565b9450612239565b5f8112156122395761222c81612da1565b6122369086612b85565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361275f565b5f60405163350b944160e11b815260040160405180910390fd5b6122bb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848661278e565b50505050565b5f825f1904841183021582026122d5575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122f761040f565b6123019190612df8565b9050808311612310575f61231a565b61231a8184612b85565b91506110c3612351670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612df8565b839061214f565b5f805f8361236586611521565b61236f9190612c32565b90505f811215612385575f80925092505061238c565b9150600190505b9250929050565b5f8082136123b45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124379084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125d157505f919050565b680755bf798b4a1bf1e582126125fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361275857816110c3565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127e09084906127e5565b505050565b5f6127f96001600160a01b0384168361284b565b905080515f1415801561281d57508080602001905181019061281b9190612ed1565b155b156127e057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161286f9190612eec565b5f6040518083038185875af1925050503d805f81146128a9576040519150601f19603f3d011682016040523d82523d5f602084013e6128ae565b606091505b50915091506120978683836060826128ce576128c982612915565b6110c3565b81511580156128e557506001600160a01b0384163b155b1561290e57604051639996b31560e01b81526001600160a01b0385166004820152602401612842565b50806110c3565b8051156129255780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612952612988565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129ef575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a13575f80fd5b840160608187031215612a24575f80fd5b809150509250925092565b5f8060408385031215612a40575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a73575f80fd5b81356110c381612a4f565b80151581146103f5575f80fd5b5f60208284031215612a9b575f80fd5b81356110c381612a7e565b5f808335601e19843603018112612abb575f80fd5b83018035915067ffffffffffffffff821115612ad5575f80fd5b60200191503681900382131561238c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b3e60a083018486612ae9565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b6c57612b6c612b4a565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b71565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bd160e083018486612ae9565b9a9950505050505050505050565b80820180821115610dc757610dc7612b71565b6001600160701b0381811683821601908082111561202b5761202b612b71565b6001600160801b0381811683821601908082111561202b5761202b612b71565b8181035f83128015838313168383128216171561202b5761202b612b71565b5f60208284031215612c61575f80fd5b81516110c381612a4f565b6001600160801b0382811682821603908082111561202b5761202b612b71565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d1d828551612c8c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d90575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612db557612db5612b71565b505f0390565b6101808101610dc78284612c8c565b5f8060408385031215612ddb575f80fd5b825191506020830151612ded81612a7e565b809150509250929050565b8082028115828204841417610dc757610dc7612b71565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b71565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e63575f80fd5b8451935060208501519250604085015191506060850151612e8381612a7e565b939692955090935050565b5f60208284031215612e9e575f80fd5b5051919050565b5f82612eb357612eb3612b4a565b600160ff1b82145f1984141615612ecc57612ecc612b71565b500590565b5f60208284031215612ee1575f80fd5b81516110c381612a7e565b5f82515f5b81811015612f0b5760208186018101518583015201612ef1565b505f92019182525091905056fea26469706673582212202238bac019e7ecfa8be015629f0e92c3c527589e4e1e2f5abc62b4f2a3a37f5064736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts deleted file mode 100644 index 890ec59d8..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const LsETHTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=LsETHTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts.map deleted file mode 100644 index ae720bf54..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LsETHTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/LsETHTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+l4B,KAAK,MAAM,EAAE;;;;CAI5o4B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.js deleted file mode 100644 index f32c24ba5..000000000 --- a/packages/hyperdrive-artifacts/dist/LsETHTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const LsETHTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506138198061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613341806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003341380380620033418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612f4e620003f35f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261232d01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161108901528181612248015261229401525f5050612f4e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129dd565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a2f565b6100b1565b005b6100566100923660046129dd565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a63565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a8b565b61016a60408c018c612aa6565b60405161017c96959493929190612b11565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b5e565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a63565b88610ea4565b5f6102f56102ec6020870187612a63565b88848989610a9e565b90945090506103048188612b85565b92505f61031083610f41565b5090506103206020870187612a63565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a8b565b8a888e80604001906103709190612aa6565b604051610384989796959493929190612b98565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a63565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bdf565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b85565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bdf565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b85565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bdf565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bdf565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bdf565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612b85565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c32565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c51565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c6c565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b85565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d0a565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d7f565b91509150610d11610d0382611521565b610d0c90612da1565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b85565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bdf565b90915550505f838152600b602052604081208054839290610ef7908490612bdf565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dbb565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dca565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bdf565b6110469190612b85565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b5e565b6110c39084612b85565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612b85565b6111dc9190612df8565b85670de0b6b3a76400006111f0878a612b85565b6111fa9190612df8565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612b85565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bdf565b9091555061138790508183612b85565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612b85565b6114d59084612b85565b92506114f3565b6114e68282612b85565b6114f09084612bdf565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612df8565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c6c565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612bdf565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612b85565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612c32565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612df8565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612b85565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e3c565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612a8b565b15611a8e57611a8785611a756020860186612a63565b611a826040870187612aa6565b61226d565b9150611ab1565b611ab185611a9f6020860186612a63565b611aac6040870187612aa6565b612287565b509392505050565b5f6110c38383670de0b6b3a76400006122c1565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bdf565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612b85565b6110c39190612b85565b611b7061293e565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dbb565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612dca565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c32565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e50565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612988565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166122e4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166122e4565b905292915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190612e8e565b5f806120198484612358565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b612393565b905081810261208c670de0b6b3a764000082612ea5565b9050612097816125b8565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612bdf565b6120cd858761170a565b6120d7888a61170a565b6116d29190612bdf565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612b85565b6121278587611ab9565b612131888a61170a565b6116d29190612b85565b5f6110c383670de0b6b3a7640000846122c1565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f61274a565b6121f6845f61274a565b6122009190612c32565b90505f81131561221b576122148186612bdf565b9450612239565b5f8112156122395761222c81612da1565b6122369086612b85565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361275f565b5f60405163350b944160e11b815260040160405180910390fd5b6122bb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848661278e565b50505050565b5f825f1904841183021582026122d5575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122f761040f565b6123019190612df8565b9050808311612310575f61231a565b61231a8184612b85565b91506110c3612351670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612df8565b839061214f565b5f805f8361236586611521565b61236f9190612c32565b90505f811215612385575f80925092505061238c565b9150600190505b9250929050565b5f8082136123b45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124379084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125d157505f919050565b680755bf798b4a1bf1e582126125fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361275857816110c3565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127e09084906127e5565b505050565b5f6127f96001600160a01b0384168361284b565b905080515f1415801561281d57508080602001905181019061281b9190612ed1565b155b156127e057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161286f9190612eec565b5f6040518083038185875af1925050503d805f81146128a9576040519150601f19603f3d011682016040523d82523d5f602084013e6128ae565b606091505b50915091506120978683836060826128ce576128c982612915565b6110c3565b81511580156128e557506001600160a01b0384163b155b1561290e57604051639996b31560e01b81526001600160a01b0385166004820152602401612842565b50806110c3565b8051156129255780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612952612988565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129ef575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a13575f80fd5b840160608187031215612a24575f80fd5b809150509250925092565b5f8060408385031215612a40575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a73575f80fd5b81356110c381612a4f565b80151581146103f5575f80fd5b5f60208284031215612a9b575f80fd5b81356110c381612a7e565b5f808335601e19843603018112612abb575f80fd5b83018035915067ffffffffffffffff821115612ad5575f80fd5b60200191503681900382131561238c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b3e60a083018486612ae9565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b6c57612b6c612b4a565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b71565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bd160e083018486612ae9565b9a9950505050505050505050565b80820180821115610dc757610dc7612b71565b6001600160701b0381811683821601908082111561202b5761202b612b71565b6001600160801b0381811683821601908082111561202b5761202b612b71565b8181035f83128015838313168383128216171561202b5761202b612b71565b5f60208284031215612c61575f80fd5b81516110c381612a4f565b6001600160801b0382811682821603908082111561202b5761202b612b71565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d1d828551612c8c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d90575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612db557612db5612b71565b505f0390565b6101808101610dc78284612c8c565b5f8060408385031215612ddb575f80fd5b825191506020830151612ded81612a7e565b809150509250929050565b8082028115828204841417610dc757610dc7612b71565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b71565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e63575f80fd5b8451935060208501519250604085015191506060850151612e8381612a7e565b939692955090935050565b5f60208284031215612e9e575f80fd5b5051919050565b5f82612eb357612eb3612b4a565b600160ff1b82145f1984141615612ecc57612ecc612b71565b500590565b5f60208284031215612ee1575f80fd5b81516110c381612a7e565b5f82515f5b81811015612f0b5760208186018101518583015201612ef1565b505f92019182525091905056fea26469706673582212202238bac019e7ecfa8be015629f0e92c3c527589e4e1e2f5abc62b4f2a3a37f5064736f6c63430008160033a264697066735822122032337d777fe41b5e1cc5afa2bd4c2f65dc91b81f04d5c9aa173e3c8000a2919664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts b/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts deleted file mode 100644 index bf9d3f11f..000000000 --- a/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MarketParamsLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MarketParamsLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts.map b/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts.map deleted file mode 100644 index c856fb498..000000000 --- a/packages/hyperdrive-artifacts/dist/MarketParamsLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MarketParamsLib.d.ts","sourceRoot":"","sources":["../src/MarketParamsLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MarketParamsLib.js b/packages/hyperdrive-artifacts/dist/MarketParamsLib.js deleted file mode 100644 index 0a832d3b7..000000000 --- a/packages/hyperdrive-artifacts/dist/MarketParamsLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MarketParamsLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122031444d7f5f1f63ef5c0308d0289cefdf8702fc71a78dac4dac0fda1a01a5652064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MathLib.d.ts b/packages/hyperdrive-artifacts/dist/MathLib.d.ts deleted file mode 100644 index cac0c2934..000000000 --- a/packages/hyperdrive-artifacts/dist/MathLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MathLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MathLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MathLib.d.ts.map b/packages/hyperdrive-artifacts/dist/MathLib.d.ts.map deleted file mode 100644 index 697362fac..000000000 --- a/packages/hyperdrive-artifacts/dist/MathLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MathLib.d.ts","sourceRoot":"","sources":["../src/MathLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MathLib.js b/packages/hyperdrive-artifacts/dist/MathLib.js deleted file mode 100644 index 9692d19a5..000000000 --- a/packages/hyperdrive-artifacts/dist/MathLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MathLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c912a4a5d188887fc5062ff216a835e09a18a3120d2553727a4195c13a6f99bd64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MathUtils.d.ts b/packages/hyperdrive-artifacts/dist/MathUtils.d.ts deleted file mode 100644 index dc244a4a2..000000000 --- a/packages/hyperdrive-artifacts/dist/MathUtils.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MathUtils: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MathUtils.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MathUtils.d.ts.map b/packages/hyperdrive-artifacts/dist/MathUtils.d.ts.map deleted file mode 100644 index 5662ebec7..000000000 --- a/packages/hyperdrive-artifacts/dist/MathUtils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MathUtils.d.ts","sourceRoot":"","sources":["../src/MathUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAE4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MathUtils.js b/packages/hyperdrive-artifacts/dist/MathUtils.js deleted file mode 100644 index e1a4d486d..000000000 --- a/packages/hyperdrive-artifacts/dist/MathUtils.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MathUtils = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ba89e29cd8b3564a1696094e98965aba260220cb5dd61b2540ce51ca1b55258264736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts b/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts deleted file mode 100644 index ecfa78208..000000000 --- a/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts +++ /dev/null @@ -1,79 +0,0 @@ -export declare const MockAssetId: { - abi: readonly [{ - readonly type: "function"; - readonly name: "assetIdToName"; - readonly inputs: readonly [{ - readonly name: "_id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assetIdToSymbol"; - readonly inputs: readonly [{ - readonly name: "_id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "decodeAssetId"; - readonly inputs: readonly [{ - readonly name: "_id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "enum AssetId.AssetIdPrefix"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "encodeAssetId"; - readonly inputs: readonly [{ - readonly name: "_prefix"; - readonly type: "uint8"; - readonly internalType: "enum AssetId.AssetIdPrefix"; - }, { - readonly name: "_timestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "assetIdToName(uint256)": "3c8c28ad"; - readonly "assetIdToSymbol(uint256)": "957462ac"; - readonly "decodeAssetId(uint256)": "6322c751"; - readonly "encodeAssetId(uint8,uint256)": "8a227c39"; - }; -}; -//# sourceMappingURL=MockAssetId.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts.map b/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts.map deleted file mode 100644 index 298cee8c9..000000000 --- a/packages/hyperdrive-artifacts/dist/MockAssetId.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockAssetId.d.ts","sourceRoot":"","sources":["../src/MockAssetId.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8Fo2G,KAAK,MAAM,EAAE;;;;;;;CAOx4G,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockAssetId.js b/packages/hyperdrive-artifacts/dist/MockAssetId.js deleted file mode 100644 index 0b2fd450c..000000000 --- a/packages/hyperdrive-artifacts/dist/MockAssetId.js +++ /dev/null @@ -1,102 +0,0 @@ -export const MockAssetId = { - abi: [ - { - "type": "function", - "name": "assetIdToName", - "inputs": [ - { - "name": "_id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assetIdToSymbol", - "inputs": [ - { - "name": "_id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "decodeAssetId", - "inputs": [ - { - "name": "_id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "enum AssetId.AssetIdPrefix" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "encodeAssetId", - "inputs": [ - { - "name": "_prefix", - "type": "uint8", - "internalType": "enum AssetId.AssetIdPrefix" - }, - { - "name": "_timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506106978061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633c8c28ad1461004e5780636322c751146100775780638a227c39146100a7578063957462ac146100c8575b5f80fd5b61006161005c366004610418565b6100db565b60405161006e9190610451565b60405180910390f35b610099610085366004610418565b60f881901c916001600160f81b0390911690565b60405161006e929190610497565b6100ba6100b53660046104c1565b6100ee565b60405190815260200161006e565b6100616100d6366004610418565b610104565b60605f6100e783610110565b9392505050565b5f806100fa8484610236565b9150505b92915050565b60605f6100e78361026a565b606060f882901c6001600160f81b0383165f61012b82610366565b90505f83600381111561014057610140610483565b03610172576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061022e565b600183600381111561018657610186610483565b036101b2578060405160200161019c91906104ee565b604051602081830303815290604052935061022e565b60028360038111156101c6576101c6610483565b036101dc578060405160200161019c9190610526565b60038360038111156101f0576101f0610483565b0361022e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b5f6001600160f81b0382111561025f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b606060f882901c6001600160f81b0383165f61028582610366565b90505f83600381111561029a5761029a610483565b036102cc576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061022e565b60018360038111156102e0576102e0610483565b036102f6578060405160200161019c919061055f565b600283600381111561030a5761030a610483565b03610320578060405160200161019c9190610596565b600383600381111561033457610334610483565b0361022e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561040a5761039f600a866105d5565b6103aa9060306105fc565b60f81b8260016103ba848761060f565b6103c4919061060f565b815181106103d4576103d4610622565b60200101906001600160f81b03191690815f1a905350806103f481610636565b91506104039050600a8661064e565b945061038e565b918290030190815292915050565b5f60208284031215610428575f80fd5b5035919050565b5f5b83811015610449578181015183820152602001610431565b50505f910152565b602081525f825180602084015261046f81604085016020870161042f565b601f01601f19169190910160400192915050565b634e487b7160e01b5f52602160045260245ffd5b60408101600484106104b757634e487b7160e01b5f52602160045260245ffd5b9281526020015290565b5f80604083850312156104d2575f80fd5b8235600481106104e0575f80fd5b946020939093013593505050565b700243cb832b9323934bb32902637b7339d1607d1b81525f825161051981601185016020870161042f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161055281601285016020870161042f565b9190910160120192915050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161058981601085016020870161042f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161051981601185016020870161042f565b634e487b7160e01b5f52601260045260245ffd5b5f826105e3576105e36105c1565b500690565b634e487b7160e01b5f52601160045260245ffd5b808201808211156100fe576100fe6105e8565b818103818111156100fe576100fe6105e8565b634e487b7160e01b5f52603260045260245ffd5b5f60018201610647576106476105e8565b5060010190565b5f8261065c5761065c6105c1565b50049056fea26469706673582212205327d1e54afe35ed1ee04f2e4a2093f1fd8b6ffa6ec72da32b2058d26cdba1e264736f6c63430008160033', - methodIdentifiers: { - "assetIdToName(uint256)": "3c8c28ad", - "assetIdToSymbol(uint256)": "957462ac", - "decodeAssetId(uint256)": "6322c751", - "encodeAssetId(uint8,uint256)": "8a227c39" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockERC20.d.ts b/packages/hyperdrive-artifacts/dist/MockERC20.d.ts deleted file mode 100644 index 8c3e542f7..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC20.d.ts +++ /dev/null @@ -1,266 +0,0 @@ -export declare const MockERC20: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "name_"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "symbol_"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "decimals_"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "decimals()": "313ce567"; - readonly "initialize(string,string,uint8)": "1624f6c6"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=MockERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/MockERC20.d.ts.map deleted file mode 100644 index e2cc3d4d9..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockERC20.d.ts","sourceRoot":"","sources":["../src/MockERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmU4oO,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;CAgB9qO,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC20.js b/packages/hyperdrive-artifacts/dist/MockERC20.js deleted file mode 100644 index 7fe893881..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC20.js +++ /dev/null @@ -1,340 +0,0 @@ -export const MockERC20 = { - abi: [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "name_", - "type": "string", - "internalType": "string" - }, - { - "name": "symbol_", - "type": "string", - "internalType": "string" - }, - { - "name": "decimals_", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50610e2a8061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100cb575f3560e01c80633644e5151161008857806395d89b411161006357806395d89b41146101ae578063a9059cbb146101b6578063d505accf146101c9578063dd62ed3e146101dc575f80fd5b80633644e5151461015f57806370a08231146101675780637ecebe001461018f575f80fd5b806306fdde03146100cf578063095ea7b3146100ed5780631624f6c61461011057806318160ddd1461012557806323b872dd14610137578063313ce5671461014a575b5f80fd5b6100d7610214565b6040516100e49190610959565b60405180910390f35b6101006100fb3660046109c0565b6102a3565b60405190151581526020016100e4565b61012361011e366004610a95565b61030f565b005b6003545b6040519081526020016100e4565b610100610145366004610b04565b6103ad565b60025460405160ff90911681526020016100e4565b6101296104bc565b610129610175366004610b3d565b6001600160a01b03165f9081526004602052604090205490565b61012961019d366004610b3d565b60086020525f908152604090205481565b6100d76104e1565b6101006101c43660046109c0565b6104f0565b6101236101d7366004610b56565b610584565b6101296101ea366004610bbb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b60605f805461022290610bec565b80601f016020809104026020016040519081016040528092919081815260200182805461024e90610bec565b80156102995780601f1061027057610100808354040283529160200191610299565b820191905f5260205f20905b81548152906001019060200180831161027c57829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102fd9086815260200190565b60405180910390a35060015b92915050565b60095460ff161561035d5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b5f6103688482610c70565b5060016103758382610c70565b506002805460ff191660ff831617905561038d6107dc565b6006556103986107f4565b60075550506009805460ff1916600117905550565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f198114610406576103e28184610895565b6001600160a01b0386165f9081526005602090815260408083203384529091529020555b6001600160a01b0385165f908152600460205260409020546104289084610895565b6001600160a01b038087165f90815260046020526040808220939093559086168152205461045690846108f7565b6001600160a01b038086165f8181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104a99087815260200190565b60405180910390a3506001949350505050565b5f6006546104c86107dc565b146104da576104d56107f4565b905090565b5060075490565b60606001805461022290610bec565b335f908152600460205260408120546105099083610895565b335f90815260046020526040808220929092556001600160a01b0385168152205461053490836108f7565b6001600160a01b0384165f818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102fd9086815260200190565b428410156105d45760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610354565b5f60016105df6104bc565b6001600160a01b038a165f90815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061062c83610d44565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106a592919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610700573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906107365750876001600160a01b0316816001600160a01b0316145b6107735760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610354565b6001600160a01b038181165f9081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b5f610955806107ed63ffffffff8216565b9250505090565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516108249190610d5c565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108556107dc565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f818310156108e65760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606401610354565b6108f08284610dce565b9392505050565b5f806109038385610de1565b9050838110156108f05760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606401610354565b4690565b5f602080835283518060208501525f5b8181101561098557858101830151858201604001528201610969565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109bb575f80fd5b919050565b5f80604083850312156109d1575f80fd5b6109da836109a5565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610a0b575f80fd5b813567ffffffffffffffff80821115610a2657610a266109e8565b604051601f8301601f19908116603f01168101908282118183101715610a4e57610a4e6109e8565b81604052838152866020858801011115610a66575f80fd5b836020870160208301375f602085830101528094505050505092915050565b803560ff811681146109bb575f80fd5b5f805f60608486031215610aa7575f80fd5b833567ffffffffffffffff80821115610abe575f80fd5b610aca878388016109fc565b94506020860135915080821115610adf575f80fd5b50610aec868287016109fc565b925050610afb60408501610a85565b90509250925092565b5f805f60608486031215610b16575f80fd5b610b1f846109a5565b9250610b2d602085016109a5565b9150604084013590509250925092565b5f60208284031215610b4d575f80fd5b6108f0826109a5565b5f805f805f805f60e0888a031215610b6c575f80fd5b610b75886109a5565b9650610b83602089016109a5565b95506040880135945060608801359350610b9f60808901610a85565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215610bcc575f80fd5b610bd5836109a5565b9150610be3602084016109a5565b90509250929050565b600181811c90821680610c0057607f821691505b602082108103610c1e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c6b57805f5260205f20601f840160051c81016020851015610c495750805b601f840160051c820191505b81811015610c68575f8155600101610c55565b50505b505050565b815167ffffffffffffffff811115610c8a57610c8a6109e8565b610c9e81610c988454610bec565b84610c24565b602080601f831160018114610cd1575f8415610cba5750858301515b5f19600386901b1c1916600185901b178555610d28565b5f85815260208120601f198616915b82811015610cff57888601518255948401946001909101908401610ce0565b5085821015610d1c57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b5f60018201610d5557610d55610d30565b5060010190565b5f808354610d6981610bec565b60018281168015610d815760018114610d9657610dc2565b60ff1984168752821515830287019450610dc2565b875f526020805f205f5b85811015610db95781548a820152908401908201610da0565b50505082870194505b50929695505050505050565b8181038181111561030957610309610d30565b8082018082111561030957610309610d3056fea2646970667358221220295056d0f2f98f7eb1cdc696155c64cd99bd469bddf81f68980e7d4003d74a1664736f6c63430008160033', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "initialize(string,string,uint8)": "1624f6c6", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts b/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts deleted file mode 100644 index a76518ea5..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts +++ /dev/null @@ -1,1075 +0,0 @@ -export declare const MockERC4626: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_asset"; - readonly type: "address"; - readonly internalType: "contract ERC20Mintable"; - }, { - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_symbol"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_initialRate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_isCompetitionMode"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "asset"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ERC20"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToAssets"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCompetitionMode"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isUnrestricted"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxDeposit"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMintAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxRedeem"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxWithdraw"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "_shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "previewDeposit"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewMint"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewRedeem"; - readonly inputs: readonly [{ - readonly name: "shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "previewWithdraw"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "redeem"; - readonly inputs: readonly [{ - readonly name: "_shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMaxMintAmount"; - readonly inputs: readonly [{ - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRate"; - readonly inputs: readonly [{ - readonly name: "_rate_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUnrestrictedMintStatus"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalAssets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalAssets"; - readonly inputs: readonly [{ - readonly name: "timestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "_assets"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_receiver"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Deposit"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "caller"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "receiver"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "shares"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "asset()": "38d52e0f"; - readonly "authority()": "bf7e214f"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "burn(uint256)": "42966c68"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "convertToAssets(uint256)": "07a2d13a"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "deposit(uint256,address)": "6e553f65"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "getRate()": "679aefce"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "isCompetitionMode()": "7a8c63b5"; - readonly "isUnrestricted(address)": "aed30777"; - readonly "maxDeposit(address)": "402d267d"; - readonly "maxMint(address)": "c63d75b6"; - readonly "maxMintAmount()": "239c70ae"; - readonly "maxRedeem(address)": "d905777e"; - readonly "maxWithdraw(address)": "ce96cb77"; - readonly "mint(address,uint256)": "40c10f19"; - readonly "mint(uint256)": "a0712d68"; - readonly "mint(uint256,address)": "94bf804d"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "owner()": "8da5cb5b"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "previewDeposit(uint256)": "ef8b30f7"; - readonly "previewMint(uint256)": "b3d7f6b9"; - readonly "previewRedeem(uint256)": "4cdad506"; - readonly "previewWithdraw(uint256)": "0a28a477"; - readonly "redeem(uint256,address,address)": "ba087652"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setMaxMintAmount(uint256)": "088a4ed0"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRate(uint256)": "34fcf437"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUnrestrictedMintStatus(address,bool)": "05f05a94"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "symbol()": "95d89b41"; - readonly "totalAssets()": "01e1d114"; - readonly "totalAssets(uint256)": "94605857"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOwnership(address)": "f2fde38b"; - readonly "withdraw(uint256,address,address)": "b460af94"; - }; -}; -//# sourceMappingURL=MockERC4626.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts.map b/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts.map deleted file mode 100644 index 474f5f5d5..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockERC4626.d.ts","sourceRoot":"","sources":["../src/MockERC4626.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+yC8hvB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DlkvB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626.js b/packages/hyperdrive-artifacts/dist/MockERC4626.js deleted file mode 100644 index 8150bc6d2..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626.js +++ /dev/null @@ -1,1386 +0,0 @@ -export const MockERC4626 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_asset", - "type": "address", - "internalType": "contract ERC20Mintable" - }, - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_symbol", - "type": "string", - "internalType": "string" - }, - { - "name": "_initialRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - }, - { - "name": "_isCompetitionMode", - "type": "bool", - "internalType": "bool" - }, - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "asset", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToAssets", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCompetitionMode", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isUnrestricted", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxDeposit", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMint", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMintAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxRedeem", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxWithdraw", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "_shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_receiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "previewDeposit", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewMint", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewRedeem", - "inputs": [ - { - "name": "shares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "previewWithdraw", - "inputs": [ - { - "name": "assets", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { - "name": "_shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxMintAmount", - "inputs": [ - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRate", - "inputs": [ - { - "name": "_rate_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUnrestrictedMintStatus", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalAssets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalAssets", - "inputs": [ - { - "name": "timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "_assets", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_receiver", - "type": "address", - "internalType": "address" - }, - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "caller", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "receiver", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assets", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x61012060405234801562000011575f80fd5b5060405162002f1138038062002f11833981016040819052620000349162000307565b823081818a8a8a8181846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000a09190620003c2565b5f620000ad848262000475565b506001620000bc838262000475565b5060ff81166080524660a052620000d262000194565b60c0525050506001600160a01b0392831660e0525050600680548483166001600160a01b0319918216811790925560078054938516939091169290921790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a3505050600c9490945542600d5590151561010052600e5550620005bb9350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001c6919062000541565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b038116811462000243575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126200026a575f80fd5b81516001600160401b038082111562000287576200028762000246565b604051601f8301601f19908116603f01168101908282118183101715620002b257620002b262000246565b8160405283815260209250866020858801011115620002cf575f80fd5b5f91505b83821015620002f25785820183015181830184015290820190620002d3565b5f602085830101528094505050505092915050565b5f805f805f805f60e0888a0312156200031e575f80fd5b87516200032b816200022e565b60208901519097506001600160401b038082111562000348575f80fd5b620003568b838c016200025a565b975060408a01519150808211156200036c575f80fd5b506200037b8a828b016200025a565b95505060608801519350608088015162000395816200022e565b60a08901519093508015158114620003ab575f80fd5b8092505060c0880151905092959891949750929550565b5f60208284031215620003d3575f80fd5b815160ff81168114620003e4575f80fd5b9392505050565b600181811c908216806200040057607f821691505b6020821081036200041f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200047057805f5260205f20601f840160051c810160208510156200044c5750805b601f840160051c820191505b818110156200046d575f815560010162000458565b50505b505050565b81516001600160401b0381111562000491576200049162000246565b620004a981620004a28454620003eb565b8462000425565b602080601f831160018114620004df575f8415620004c75750858301515b5f19600386901b1c1916600185901b17855562000539565b5f85815260208120601f198616915b828110156200050f57888601518255948401946001909101908401620004ee565b50858210156200052d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8083546200055081620003eb565b600182811680156200056b57600181146200058157620005af565b60ff1984168752821515830287019450620005af565b875f526020805f205f5b85811015620005a65781548a8201529084019082016200058b565b50505082870194505b50929695505050505050565b60805160a05160c05160e051610100516128936200067e5f395f81816105c30152818161091601528181610a5701528181610ced01528181610da601528181610ef601528181611375015261145901525f81816104c40152818161089401528181610e6501528181610f4d015281816112d8015281816113cc0152818161151801528181611ac001528181611c4301528181611e4e01528181611ee501528181612033015261217001525f610d8201525f610d5201525f61047001526128935ff3fe608060405234801561000f575f80fd5b506004361061034d575f3560e01c80637a8c63b5116101c9578063ba087652116100fe578063d905777e1161009e578063ea7ca27611610079578063ea7ca276146107fa578063ed0d0efb14610830578063ef8b30f71461084f578063f2fde38b14610862575f80fd5b8063d905777e14610773578063dd62ed3e1461079b578063e688747b146107c5575f80fd5b8063c63d75b6116100d9578063c63d75b6146104fe578063c6e6f5921461073a578063ce96cb771461074d578063d505accf14610760575f80fd5b8063ba087652146106ec578063bf7e214f146106ff578063c53a398514610712575f80fd5b80639dc29fac11610169578063aed3077711610144578063aed3077714610691578063b3d7f6b9146106b3578063b460af94146106c6578063b7009613146106d9575f80fd5b80639dc29fac14610658578063a0712d681461066b578063a9059cbb1461067e575f80fd5b80638da5cb5b116101a45780638da5cb5b14610617578063946058571461062a57806394bf804d1461063d57806395d89b4114610650575f80fd5b80637a8c63b5146105be5780637a9e5e4b146105e55780637ecebe00146105f8575f80fd5b8063313ce5671161029f5780634b5159da1161023f57806367aff4841161021a57806367aff484146105665780636e553f651461057957806370a082311461058c578063728b952b146105ab575f80fd5b80634b5159da146105385780634cdad5061461054b578063679aefce1461055e575f80fd5b806338d52e0f1161027a57806338d52e0f146104bf578063402d267d146104fe57806340c10f191461051257806342966c6814610525575f80fd5b8063313ce5671461046b57806334fcf437146104a45780633644e515146104b7575f80fd5b8063095ea7b31161030a5780630ea9b75b116102e55780630ea9b75b1461043357806318160ddd14610446578063239c70ae1461044f57806323b872dd14610458575f80fd5b8063095ea7b3146103db5780630a28a477146103fe5780630bade8a414610411575f80fd5b806301e1d1141461035157806305f05a941461036c57806306a36aee1461038157806306fdde03146103a057806307a2d13a146103b5578063088a4ed0146103c8575b5f80fd5b610359610875565b6040519081526020015b60405180910390f35b61037f61037a3660046122fb565b610914565b005b61035961038f366004612332565b60096020525f908152604090205481565b6103a861099e565b604051610363919061234d565b6103596103c3366004612399565b610a29565b61037f6103d6366004612399565b610a55565b6103ee6103e93660046123b0565b610ab1565b6040519015158152602001610363565b61035961040c366004612399565b610b1d565b6103ee61041f3660046123f6565b600a6020525f908152604090205460ff1681565b61037f61044136600461241f565b610b3c565b61035960025481565b610359600e5481565b6103ee610466366004612463565b610c11565b6104927f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610363565b61037f6104b2366004612399565b610ceb565b610359610d4f565b6104e67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610363565b61035961050c366004612332565b505f1990565b61037f6105203660046123b0565b610da4565b61037f610533366004612399565b610ef4565b61037f6105463660046124a1565b610fdb565b610359610559366004612399565b61106b565b600c54610359565b61037f6105743660046124bb565b611075565b6103596105873660046124e6565b61113a565b61035961059a366004612332565b60036020525f908152604090205481565b61037f6105b9366004612509565b61114d565b6103ee7f000000000000000000000000000000000000000000000000000000000000000081565b61037f6105f3366004612332565b6111d4565b610359610606366004612332565b60056020525f908152604090205481565b6006546104e6906001600160a01b031681565b610359610638366004612399565b6112b9565b61035961064b3660046124e6565b611353565b6103a8611366565b61037f6106663660046123b0565b611373565b61037f610679366004612399565b611457565b6103ee61068c3660046123b0565b6115a3565b6103ee61069f366004612332565b600f6020525f908152604090205460ff1681565b6103596106c1366004612399565b611606565b6103596106d4366004612535565b611624565b6103ee6106e7366004612569565b611640565b6103596106fa366004612535565b611739565b6007546104e6906001600160a01b031681565b6104e6610720366004612332565b60086020525f90815260409020546001600160a01b031681565b610359610748366004612399565b61174d565b61035961075b366004612332565b61176c565b61037f61076e3660046125ad565b61178d565b610359610781366004612332565b6001600160a01b03165f9081526003602052604090205490565b6103596107a9366004612509565b600460209081525f928352604080842090915290825290205481565b6103ee6107d3366004612616565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b6103ee610808366004612647565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b61035961083e3660046123f6565b600b6020525f908152604090205481565b61035961085d366004612399565b6119cb565b61037f610870366004612332565b6119d5565b5f61087f42611a51565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190612671565b61090f919061269c565b905090565b7f0000000000000000000000000000000000000000000000000000000000000000156109745761094f335f356001600160e01b031916611b37565b6109745760405162461bcd60e51b815260040161096b906126af565b60405180910390fd5b6001600160a01b03919091165f908152600f60205260409020805460ff1916911515919091179055565b5f80546109aa906126e6565b80601f01602080910402602001604051908101604052809291908181526020018280546109d6906126e6565b8015610a215780601f106109f857610100808354040283529160200191610a21565b820191905f5260205f20905b815481529060010190602001808311610a0457829003601f168201915b505050505081565b6002545f908015610a4c57610a47610a3f610875565b849083611bdd565b610a4e565b825b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610aac57610a90335f356001600160e01b031916611b37565b610aac5760405162461bcd60e51b815260040161096b906126af565b600e55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b0b9086815260200190565b60405180910390a35060015b92915050565b6002545f908015610a4c57610a4781610b34610875565b859190611bf8565b610b51335f356001600160e01b031916611b37565b610b6d5760405162461bcd60e51b815260040161096b9061271e565b8015610b9c576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610bc2565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610c04911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610c6a57610c468382612744565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610c91908490612744565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f8051602061283e83398151915290610cd89087815260200190565b60405180910390a3506001949350505050565b7f000000000000000000000000000000000000000000000000000000000000000015610d4257610d26335f356001600160e01b031916611b37565b610d425760405162461bcd60e51b815260040161096b906126af565b610d4a611c1b565b600c55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610d7f5761090f611caa565b507f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000015610dfb57610ddf335f356001600160e01b031916611b37565b610dfb5760405162461bcd60e51b815260040161096b906126af565b335f908152600f602052604090205460ff16610e6357600e54811115610e635760405162461bcd60e51b815260206004820181905260248201527f4d6f636b455243343632363a20496e76616c6964206d696e7420616d6f756e74604482015260640161096b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a0712d68610e9b83610a29565b6040518263ffffffff1660e01b8152600401610eb991815260200190565b5f604051808303815f87803b158015610ed0575f80fd5b505af1158015610ee2573d5f803e3d5ffd5b50505050610ef08282611d42565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610f4b57610f2f335f356001600160e01b031916611b37565b610f4b5760405162461bcd60e51b815260040161096b906126af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166342966c68610f8383610a29565b6040518263ffffffff1660e01b8152600401610fa191815260200190565b5f604051808303815f87803b158015610fb8575f80fd5b505af1158015610fca573d5f803e3d5ffd5b50505050610fd83382611d99565b50565b610ff0335f356001600160e01b031916611b37565b61100c5760405162461bcd60e51b815260040161096b9061271e565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b5f610b1782610a29565b61108a335f356001600160e01b031916611b37565b6110a65760405162461bcd60e51b815260040161096b9061271e565b80156110d4576001600160a01b0383165f9081526009602052604090208054600160ff85161b1790556110f9565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610c04911515815260200190565b5f611143611c1b565b610a4e8383611df8565b611162335f356001600160e01b031916611b37565b61117e5760405162461bcd60e51b815260040161096b9061271e565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b0316331480611266575060075460405163b700961360e01b81526001600160a01b039091169063b70096139061122790339030906001600160e01b03195f351690600401612757565b602060405180830381865afa158015611242573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112669190612784565b61126e575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f6112c382611a51565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611325573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113499190612671565b610b17919061269c565b5f61135c611c1b565b610a4e8383611ecc565b600180546109aa906126e6565b7f0000000000000000000000000000000000000000000000000000000000000000156113ca576113ae335f356001600160e01b031916611b37565b6113ca5760405162461bcd60e51b815260040161096b906126af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166342966c6861140283610a29565b6040518263ffffffff1660e01b815260040161142091815260200190565b5f604051808303815f87803b158015611437575f80fd5b505af1158015611449573d5f803e3d5ffd5b50505050610ef08282611d99565b7f0000000000000000000000000000000000000000000000000000000000000000156114ae57611492335f356001600160e01b031916611b37565b6114ae5760405162461bcd60e51b815260040161096b906126af565b335f908152600f602052604090205460ff1661151657600e548111156115165760405162461bcd60e51b815260206004820181905260248201527f4d6f636b455243343632363a20496e76616c6964206d696e7420616d6f756e74604482015260640161096b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a0712d6861154e83610a29565b6040518263ffffffff1660e01b815260040161156c91815260200190565b5f604051808303815f87803b158015611583575f80fd5b505af1158015611595573d5f803e3d5ffd5b50505050610fd83382611d42565b335f908152600360205260408120805483919083906115c3908490612744565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f8051602061283e83398151915290610b0b9086815260200190565b6002545f908015610a4c57610a4761161c610875565b849083611bf8565b5f61162d611c1b565b611638848484611f5a565b949350505050565b6001600160a01b038083165f9081526008602052604081205490911680156116d95760405163b700961360e01b81526001600160a01b0382169063b70096139061169290889088908890600401612757565b602060405180830381865afa1580156116ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116d19190612784565b915050610a4e565b6001600160e01b031983165f908152600a602052604090205460ff168061173057506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b5f611742611c1b565b61163884848461205a565b6002545f908015610a4c57610a4781611764610875565b859190611bdd565b6001600160a01b0381165f90815260036020526040812054610b1790610a29565b428410156117dd5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161096b565b5f60016117e8610d4f565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156118f0573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906119265750876001600160a01b0316816001600160a01b0316145b6119635760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161096b565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b5f610b178261174d565b6119ea335f356001600160e01b031916611b37565b611a065760405162461bcd60e51b815260040161096b9061271e565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b5f600c545f03611a6257505f919050565b600d54821015611a7357505f919050565b5f611a906301e13380600d5485611a8a9190612744565b90612197565b90505f611638611aab83600c546121ab90919063ffffffff16565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611b0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b319190612671565b906121ab565b6007545f906001600160a01b03168015801590611bbe575060405163b700961360e01b81526001600160a01b0382169063b700961390611b7f90879030908890600401612757565b602060405180830381865afa158015611b9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bbe9190612784565b8061163857506006546001600160a01b03858116911614949350505050565b5f825f190484118302158202611bf1575f80fd5b5091020490565b5f825f190484118302158202611c0c575f80fd5b50910281810615159190040190565b5f611c2542611a51565b90508015611ca35760405163140e25ad60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a0712d68906024015f604051808303815f87803b158015611c8c575f80fd5b505af1158015611c9e573d5f803e3d5ffd5b505050505b5042600d55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051611cda919061279f565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060025f828254611d53919061269c565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f8051602061283e83398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611dc0908490612744565b90915550506002805482900390556040518181525f906001600160a01b038416905f8051602061283e83398151915290602001611d8d565b5f611e02836119cb565b9050805f03611e415760405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f53484152455360a81b604482015260640161096b565b611e766001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866121bf565b611e808282611d42565b60408051848152602081018390526001600160a01b0384169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d791015b60405180910390a3610b17565b5f611ed683611606565b9050611f0d6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330846121bf565b611f178284611d42565b60408051828152602081018590526001600160a01b0384169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79101611ebf565b5f611f6484610b1d565b9050336001600160a01b03831614611fd1576001600160a01b0382165f9081526004602090815260408083203384529091529020545f198114611fcf57611fab8282612744565b6001600160a01b0384165f9081526004602090815260408083203384529091529020555b505b611fdb8282611d99565b60408051858152602081018390526001600160a01b03808516929086169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a4610a4e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612257565b5f336001600160a01b038316146120c6576001600160a01b0382165f9081526004602090815260408083203384529091529020545f1981146120c4576120a08582612744565b6001600160a01b0384165f9081526004602090815260408083203384529091529020555b505b6120cf8461106b565b9050805f0361210e5760405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f41535345545360a81b604482015260640161096b565b6121188285611d99565b60408051828152602081018690526001600160a01b03808516929086169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a4610a4e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483612257565b5f610a4e83670de0b6b3a764000084611bdd565b5f610a4e8383670de0b6b3a7640000611bdd565b5f6040516323b872dd60e01b81526001600160a01b03851660048201526001600160a01b038416602482015282604482015260205f6064835f8a5af13d15601f3d1160015f5114161716915050806122505760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b604482015260640161096b565b5050505050565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f5114161716915050806122d45760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b604482015260640161096b565b50505050565b6001600160a01b0381168114610fd8575f80fd5b8015158114610fd8575f80fd5b5f806040838503121561230c575f80fd5b8235612317816122da565b91506020830135612327816122ee565b809150509250929050565b5f60208284031215612342575f80fd5b8135610a4e816122da565b5f602080835283518060208501525f5b818110156123795785810183015185820160400152820161235d565b505f604082860101526040601f19601f8301168501019250505092915050565b5f602082840312156123a9575f80fd5b5035919050565b5f80604083850312156123c1575f80fd5b82356123cc816122da565b946020939093013593505050565b80356001600160e01b0319811681146123f1575f80fd5b919050565b5f60208284031215612406575f80fd5b610a4e826123da565b803560ff811681146123f1575f80fd5b5f805f60608486031215612431575f80fd5b61243a8461240f565b9250612448602085016123da565b91506040840135612458816122ee565b809150509250925092565b5f805f60608486031215612475575f80fd5b8335612480816122da565b92506020840135612490816122da565b929592945050506040919091013590565b5f80604083850312156124b2575f80fd5b612317836123da565b5f805f606084860312156124cd575f80fd5b83356124d8816122da565b92506124486020850161240f565b5f80604083850312156124f7575f80fd5b823591506020830135612327816122da565b5f806040838503121561251a575f80fd5b8235612525816122da565b91506020830135612327816122da565b5f805f60608486031215612547575f80fd5b833592506020840135612559816122da565b91506040840135612458816122da565b5f805f6060848603121561257b575f80fd5b8335612586816122da565b92506020840135612596816122da565b91506125a4604085016123da565b90509250925092565b5f805f805f805f60e0888a0312156125c3575f80fd5b87356125ce816122da565b965060208801356125de816122da565b955060408801359450606088013593506125fa6080890161240f565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215612627575f80fd5b6126308361240f565b915061263e602084016123da565b90509250929050565b5f8060408385031215612658575f80fd5b8235612663816122da565b915061263e6020840161240f565b5f60208284031215612681575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610b1757610b17612688565b6020808252601b908201527f4d6f636b455243343632363a206e6f7420617574686f72697a65640000000000604082015260600190565b600181811c908216806126fa57607f821691505b60208210810361271857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b81810381811115610b1757610b17612688565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215612794575f80fd5b8151610a4e816122ee565b5f8083545f60018260011c915060018316806127bc57607f831692505b602080841082036127db57634e487b7160e01b5f52602260045260245ffd5b8180156127ef57600181146128045761282f565b60ff198616895284151585028901965061282f565b5f8a8152602090205f5b868110156128275781548b82015290850190830161280e565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b220b2d5d9ce4fd8847df228ec894fd939f3199032d19ba586c75609726f1c8364736f6c63430008160033', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "authority()": "bf7e214f", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "burn(uint256)": "42966c68", - "canCall(address,address,bytes4)": "b7009613", - "convertToAssets(uint256)": "07a2d13a", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "deposit(uint256,address)": "6e553f65", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "getRate()": "679aefce", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getTargetCustomAuthority(address)": "c53a3985", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "isCompetitionMode()": "7a8c63b5", - "isUnrestricted(address)": "aed30777", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxMintAmount()": "239c70ae", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(address,uint256)": "40c10f19", - "mint(uint256)": "a0712d68", - "mint(uint256,address)": "94bf804d", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "setAuthority(address)": "7a9e5e4b", - "setMaxMintAmount(uint256)": "088a4ed0", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRate(uint256)": "34fcf437", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUnrestrictedMintStatus(address,bool)": "05f05a94", - "setUserRole(address,uint8,bool)": "67aff484", - "symbol()": "95d89b41", - "totalAssets()": "01e1d114", - "totalAssets(uint256)": "94605857", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b", - "withdraw(uint256,address,address)": "b460af94" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts deleted file mode 100644 index 79f13718c..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts +++ /dev/null @@ -1,1441 +0,0 @@ -export declare const MockERC4626Hyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "sharesMinted"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "pricePerVaultShare"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "_shares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_sharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "amountWithdrawn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "deposit(uint256,(address,bool,bytes))": "829555d4"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "pricePerVaultShare()": "daaa35fe"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "withdraw(uint256,uint256,(address,bool,bytes))": "a3144531"; - }; -}; -//# sourceMappingURL=MockERC4626Hyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts.map deleted file mode 100644 index 273d92e5e..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockERC4626Hyperdrive.d.ts","sourceRoot":"","sources":["../src/MockERC4626Hyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0vDo4lB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCl7lB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.js b/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.js deleted file mode 100644 index 97c4a8cdf..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC4626Hyperdrive.js +++ /dev/null @@ -1,1821 +0,0 @@ -export const MockERC4626Hyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "sharesMinted", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "pricePerVaultShare", - "inputs": [], - "outputs": [ - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "_shares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_sharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "amountWithdrawn", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620025c9380380620025c98339810160408190526200003491620006be565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890889088908890889088908890889088906200010a898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b5162000150955090911692509050600162000166565b5050505050505050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001c090859083906200023116565b6200022b57604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021f918691620002db16565b6200022b8482620002db565b50505050565b5f805f846001600160a01b0316846040516200024e919062000934565b5f604051808303815f865af19150503d805f811462000289576040519150601f19603f3d011682016040523d82523d5f602084013e6200028e565b606091505b5091509150818015620002bc575080511580620002bc575080806020019051810190620002bc919062000951565b8015620002d257505f856001600160a01b03163b115b95945050505050565b5f620002f16001600160a01b038416836200034c565b905080515f141580156200031857508080602001905181019062000316919062000951565b155b156200034757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035b83835f62000362565b9392505050565b606081471015620003895760405163cd78605960e01b81523060048201526024016200033e565b5f80856001600160a01b03168486604051620003a6919062000934565b5f6040518083038185875af1925050503d805f8114620003e2576040519150601f19603f3d011682016040523d82523d5f602084013e620003e7565b606091505b509092509050620003fa86838362000404565b9695505050505050565b6060826200041d57620004178262000468565b6200035b565b81511580156200043557506001600160a01b0384163b155b156200046057604051639996b31560e01b81526001600160a01b03851660048201526024016200033e565b50806200035b565b805115620004795780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004cc57620004cc62000492565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004fd57620004fd62000492565b604052919050565b5f5b838110156200052157818101518382015260200162000507565b50505f910152565b80516001600160a01b038116811462000540575f80fd5b919050565b5f6080828403121562000556575f80fd5b604051608081016001600160401b03811182821017156200057b576200057b62000492565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005be575f80fd5b620005c8620004a6565b9050620005d58262000529565b8152620005e56020830162000529565b6020820152620005f86040830162000529565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200066381840162000529565b908201526101806200067783820162000529565b908201526101a06200068b83820162000529565b908201526101c06200069f83820162000529565b908201526101e0620006b48484830162000545565b9082015292915050565b5f805f805f805f80610340898b031215620006d7575f80fd5b88516001600160401b0380821115620006ee575f80fd5b818b0191508b601f83011262000702575f80fd5b81518181111562000717576200071762000492565b6200072c601f8201601f1916602001620004d2565b91508082528c602082850101111562000743575f80fd5b6200075681602084016020860162000505565b5098506200076a90508a60208b01620005ac565b96506200077b6102808a0162000529565b95506200078c6102a08a0162000529565b94506200079d6102c08a0162000529565b9350620007ae6102e08a0162000529565b9250620007bf6103008a0162000529565b9150620007d06103208a0162000529565b90509295985092959890939650565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200034757805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000492565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200094781846020870162000505565b9190910192915050565b5f6020828403121562000962575f80fd5b815180151581146200035b575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611afb62000ace5f395f8181610646015281816106b001526107a701525f81816105ad015281816107d6015261083301525f818161056701526109f701525f8181610613015261074501525f81816101eb015281816103a301528181610681015281816106e20152818161071401528181610778015281816108090152818161087b015281816109b00152610a3801525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f8181610cbc01528181610d3501528181610dc001528181610e0b01528181610eeb01528181611016015261104301525f8181610c8f01528181610cf001528181610e530152610f820152611afb5ff3fe6080604052600436106101d7575f3560e01c80639032c72611610101578063d899e11211610094578063e44808bc11610063578063e44808bc146105e3578063eac3e79914610602578063f3f7070714610635578063f698da2514610668576101d7565b8063d899e1121461059c578063daaa35fe146105cf578063dbbe807014610589578063ded06231146103dd576101d7565b8063a6e8a859116100d0578063a6e8a85914610556578063ab033ea9146102e0578063cba2e58d14610589578063cbc134341461031b576101d7565b80639032c726146104f95780639cd241af14610518578063a22cb465146104a8578063a314453114610537576101d7565b806330adf81f116101795780634ed2d6ac116101485780634ed2d6ac1461048e5780637180c8ca146104a857806377d05ff4146104c7578063829555d4146104da576101d7565b806330adf81f1461040a5780633e691db91461043d578063414f826d1461045c5780634c2ac1d91461047b576101d7565b806317fad7fc116101b557806317fad7fc146103545780631c0f12b61461037357806321b57d531461039257806329b23fc1146103dd576101d7565b806301681a62146102e057806302329a2914610301578063074a6de91461031b575b3480156101e2575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161022392919061144f565b5f60405180830381855af49150503d805f811461025b576040519150601f19603f3d011682016040523d82523d5f602084013e610260565b606091505b5091509150811561028457604051638bb0a34b60e01b815260040160405180910390fd5b5f61028e8261145e565b90506001600160e01b03198116636e64089360e11b146102b057815160208301fd5b8151600319810160048401908152926102d1918101602001906024016114cb565b80519650602001945050505050f35b3480156102eb575f80fd5b506102ff6102fa366004611587565b61067c565b005b34801561030c575f80fd5b506102ff6102fa3660046115af565b348015610326575f80fd5b5061033a6103353660046115da565b6106a9565b604080519283526020830191909152015b60405180910390f35b34801561035f575f80fd5b506102ff61036e366004611667565b6106dd565b34801561037e575f80fd5b506102ff61038d3660046116f6565b61070f565b34801561039d575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161034b565b3480156103e8575f80fd5b506103fc6103f736600461173b565b61073f565b60405190815260200161034b565b348015610415575f80fd5b506103fc7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610448575f80fd5b506103fc610457366004611791565b610772565b348015610467575f80fd5b506102ff6104763660046117cb565b6107a2565b6103fc6104893660046117eb565b6107d0565b348015610499575f80fd5b506102ff61038d36600461184a565b3480156104b3575f80fd5b506102ff6104c2366004611891565b610804565b6103fc6104d53660046115da565b61082d565b3480156104e5575f80fd5b5061033a6104f43660046118c8565b61085f565b348015610504575f80fd5b506102ff61051336600461190c565b610877565b348015610523575f80fd5b506102ff610532366004611986565b6109ab565b348015610542575f80fd5b506103fc6105513660046115da565b6109da565b348015610561575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b61033a61059736600461173b565b6109f0565b3480156105a7575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156105da575f80fd5b506103fc610a25565b3480156105ee575f80fd5b506102ff6105fd3660046119bb565b610a33565b34801561060d575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b348015610640575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b348015610673575f80fd5b506103fc610a64565b6106a57f0000000000000000000000000000000000000000000000000000000000000000610af2565b5050565b5f806106d47f0000000000000000000000000000000000000000000000000000000000000000610af2565b50935093915050565b6107067f0000000000000000000000000000000000000000000000000000000000000000610af2565b50505050505050565b6107387f0000000000000000000000000000000000000000000000000000000000000000610af2565b5050505050565b5f6107697f0000000000000000000000000000000000000000000000000000000000000000610af2565b50949350505050565b5f61079c7f0000000000000000000000000000000000000000000000000000000000000000610af2565b50919050565b6107cb7f0000000000000000000000000000000000000000000000000000000000000000610af2565b505050565b5f6107fa7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5095945050505050565b6107cb7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5f6108577f0000000000000000000000000000000000000000000000000000000000000000610af2565b509392505050565b5f8061086b8484610b10565b915091505b9250929050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108ab610a64565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109549190611a16565b5f60405180830381855af49150503d805f811461098c576040519150601f19603f3d011682016040523d82523d5f602084013e610991565b606091505b5091509150816109a357805160208201fd5b805160208201f35b6109d47f0000000000000000000000000000000000000000000000000000000000000000610af2565b50505050565b5f6109e6848484610be0565b90505b9392505050565b5f80610a1b7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5094509492505050565b5f610a2e610c6e565b905090565b610a5c7f0000000000000000000000000000000000000000000000000000000000000000610af2565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161095492919061144f565b815f80610b2360408501602086016115af565b15610b4857610b3e85610b396040870187611a31565b610c80565b9093509050610b60565b5034610b6085610b5b6040870187611a31565b610db3565b610b68610c6e565b91508015610bd8576040515f90339083908381818185875af1925050503d805f8114610baf576040519150601f19603f3d011682016040523d82523d5f602084013e610bb4565b606091505b5050905080610bd6576040516312171d8360e31b815260040160405180910390fd5b505b509250929050565b5f80610bec8585610de8565b9050610bf781610e05565b9450845f03610c09575f9150506109e9565b849150610c1c60408401602085016115af565b15610c4b57610c4485610c326020860186611587565b610c3f6040870187611a31565b610e30565b9150610857565b61085785610c5c6020860186611587565b610c696040870187611a31565b611009565b5f610a2e670de0b6b3a764000061103d565b5f80610cb76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088611068565b610d177f0000000000000000000000000000000000000000000000000000000000000000610ce6876001611a74565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906110cf565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015610d83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da79190611a93565b965f9650945050505050565b6107cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086611068565b5f610dfc8383670de0b6b3a764000061115e565b90505b92915050565b5f610dff7f000000000000000000000000000000000000000000000000000000000000000083611179565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610e98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebc9190611a93565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190611a93565b9150610f638282611a74565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610fc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610feb9190611a93565b146107695760405163350b944160e11b815260040160405180910390fd5b6109d46001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866111e3565b5f610dff7f000000000000000000000000000000000000000000000000000000000000000083611214565b6040516001600160a01b0384811660248301528381166044830152606482018390526109d49186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611243565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261112084826112a9565b6109d4576040516001600160a01b0384811660248301525f604483015261115491869182169063095ea7b39060640161109d565b6109d48482611243565b5f825f190484118302158202611172575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024015b602060405180830381865afa1580156111bf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dfc9190611a93565b6040516001600160a01b038381166024830152604482018390526107cb91859182169063a9059cbb9060640161109d565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024016111a4565b5f6112576001600160a01b0384168361134a565b905080515f1415801561127b5750808060200190518101906112799190611aaa565b155b156107cb57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516112c49190611a16565b5f604051808303815f865af19150503d805f81146112fd576040519150601f19603f3d011682016040523d82523d5f602084013e611302565b606091505b509150915081801561132c57508051158061132c57508080602001905181019061132c9190611aaa565b801561134157505f856001600160a01b03163b115b95945050505050565b6060610dfc83835f845f80856001600160a01b0316848660405161136e9190611a16565b5f6040518083038185875af1925050503d805f81146113a8576040519150601f19603f3d011682016040523d82523d5f602084013e6113ad565b606091505b50915091506113bd8683836113c7565b9695505050505050565b6060826113dc576113d782611423565b6109e9565b81511580156113f357506001600160a01b0384163b155b1561141c57604051639996b31560e01b81526001600160a01b03851660048201526024016112a0565b50806109e9565b8051156114335780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b818382375f9101908152919050565b805160208201516001600160e01b0319808216929190600483101561148d5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156114c35781810151838201526020016114ab565b50505f910152565b5f602082840312156114db575f80fd5b815167ffffffffffffffff808211156114f2575f80fd5b818401915084601f830112611505575f80fd5b81518181111561151757611517611495565b604051601f8201601f19908116603f0116810190838211818310171561153f5761153f611495565b81604052828152876020848701011115611557575f80fd5b6115688360208301602088016114a9565b979650505050505050565b6001600160a01b038116811461144c575f80fd5b5f60208284031215611597575f80fd5b81356109e981611573565b801515811461144c575f80fd5b5f602082840312156115bf575f80fd5b81356109e9816115a2565b5f6060828403121561079c575f80fd5b5f805f606084860312156115ec575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115611610575f80fd5b61161c868287016115ca565b9150509250925092565b5f8083601f840112611636575f80fd5b50813567ffffffffffffffff81111561164d575f80fd5b6020830191508360208260051b8501011115610870575f80fd5b5f805f805f806080878903121561167c575f80fd5b863561168781611573565b9550602087013561169781611573565b9450604087013567ffffffffffffffff808211156116b3575f80fd5b6116bf8a838b01611626565b909650945060608901359150808211156116d7575f80fd5b506116e489828a01611626565b979a9699509497509295939492505050565b5f805f8060808587031215611709575f80fd5b84359350602085013561171b81611573565b9250604085013561172b81611573565b9396929550929360600135925050565b5f805f806080858703121561174e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115611779575f80fd5b611785878288016115ca565b91505092959194509250565b5f602082840312156117a1575f80fd5b813567ffffffffffffffff8111156117b7575f80fd5b6117c3848285016115ca565b949350505050565b5f80604083850312156117dc575f80fd5b50508035926020909101359150565b5f805f805f60a086880312156117ff575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115611831575f80fd5b61183d888289016115ca565b9150509295509295909350565b5f805f806080858703121561185d575f80fd5b84359350602085013561186f81611573565b925060408501359150606085013561188681611573565b939692955090935050565b5f80604083850312156118a2575f80fd5b82356118ad81611573565b915060208301356118bd816115a2565b809150509250929050565b5f80604083850312156118d9575f80fd5b82359150602083013567ffffffffffffffff8111156118f6575f80fd5b611902858286016115ca565b9150509250929050565b5f805f805f805f60e0888a031215611922575f80fd5b873561192d81611573565b9650602088013561193d81611573565b9550604088013561194d816115a2565b945060608801359350608088013560ff81168114611969575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611998575f80fd5b8335925060208401356119aa81611573565b929592945050506040919091013590565b5f805f805f60a086880312156119cf575f80fd5b8535945060208601356119e181611573565b935060408601356119f181611573565b9250606086013591506080860135611a0881611573565b809150509295509295909350565b5f8251611a278184602087016114a9565b9190910192915050565b5f808335601e19843603018112611a46575f80fd5b83018035915067ffffffffffffffff821115611a60575f80fd5b602001915036819003821315610870575f80fd5b80820180821115610dff57634e487b7160e01b5f52601160045260245ffd5b5f60208284031215611aa3575f80fd5b5051919050565b5f60208284031215611aba575f80fd5b81516109e9816115a256fea26469706673582212207c231f2cb3620baef7f333a17ff482b4f7b89048663d79acd00d77967563590964736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "deposit(uint256,(address,bool,bytes))": "829555d4", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "pricePerVaultShare()": "daaa35fe", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "withdraw(uint256,uint256,(address,bool,bytes))": "a3144531" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockERC721.d.ts b/packages/hyperdrive-artifacts/dist/MockERC721.d.ts deleted file mode 100644 index b0ab25249..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC721.d.ts +++ /dev/null @@ -1,289 +0,0 @@ -export declare const MockERC721: { - abi: readonly [{ - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getApproved"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "name_"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "symbol_"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ownerOf"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "safeTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supportsInterface"; - readonly inputs: readonly [{ - readonly name: "interfaceId"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "tokenURI"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "_from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "approve(address,uint256)": "095ea7b3"; - readonly "balanceOf(address)": "70a08231"; - readonly "getApproved(uint256)": "081812fc"; - readonly "initialize(string,string)": "4cd88b76"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "name()": "06fdde03"; - readonly "ownerOf(uint256)": "6352211e"; - readonly "safeTransferFrom(address,address,uint256)": "42842e0e"; - readonly "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "supportsInterface(bytes4)": "01ffc9a7"; - readonly "symbol()": "95d89b41"; - readonly "tokenURI(uint256)": "c87b56dd"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - }; -}; -//# sourceMappingURL=MockERC721.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC721.d.ts.map b/packages/hyperdrive-artifacts/dist/MockERC721.d.ts.map deleted file mode 100644 index 4c01c4657..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC721.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockERC721.d.ts","sourceRoot":"","sources":["../src/MockERC721.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+VinP,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiBppP,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockERC721.js b/packages/hyperdrive-artifacts/dist/MockERC721.js deleted file mode 100644 index 2f2b846fb..000000000 --- a/packages/hyperdrive-artifacts/dist/MockERC721.js +++ /dev/null @@ -1,369 +0,0 @@ -export const MockERC721 = { - abi: [ - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getApproved", - "inputs": [ - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "name_", - "type": "string", - "internalType": "string" - }, - { - "name": "symbol_", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ownerOf", - "inputs": [ - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "safeTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceId", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "tokenURI", - "inputs": [ - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "_owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "_from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "_tokenId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50610f1d8061001d5f395ff3fe6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610238578063b88d4fde14610257578063c87b56dd1461026a578063e985e9c51461028a575f80fd5b80636352211e146101d857806370a08231146101f757806395d89b4114610224575f80fd5b8063095ea7b3116100b7578063095ea7b31461017e57806323b872dd1461019357806342842e0e146101a65780634cd88b76146101b9575f80fd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610a08565b6102d1565b60405190151581526020015b60405180910390f35b34801561011c575f80fd5b50610125610322565b6040516101089190610a6d565b34801561013d575f80fd5b5061016661014c366004610a7f565b5f908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610108565b61019161018c366004610aac565b6103b1565b005b6101916101a1366004610ad4565b610495565b6101916101b4366004610ad4565b610688565b3480156101c4575f80fd5b506101916101d3366004610bb2565b610773565b3480156101e3575f80fd5b506101666101f2366004610a7f565b6107e6565b348015610202575f80fd5b50610216610211366004610c12565b61083c565b604051908152602001610108565b34801561022f575f80fd5b5061012561089d565b348015610243575f80fd5b50610191610252366004610c2b565b6108ac565b610191610265366004610c64565b610917565b348015610275575f80fd5b50610125610284366004610a7f565b50606090565b348015610295575f80fd5b506100fc6102a4366004610cdb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6301ffc9a760e01b6001600160e01b03198316148061030157506380ac58cd60e01b6001600160e01b03198316145b8061031c5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60605f805461033090610d0c565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90610d0c565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b5f818152600260205260409020546001600160a01b0316338114806103f857506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff165b61043a5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b5f8281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600260205260409020546001600160a01b038481169116146104ea5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610431565b6001600160a01b0382166105345760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610431565b336001600160a01b038416148061056d57506001600160a01b0383165f90815260056020908152604080832033845290915290205460ff165b8061058d57505f818152600460205260409020546001600160a01b031633145b6105ca5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610431565b6001600160a01b0383165f9081526003602052604081208054916105ed83610d58565b90915550506001600160a01b0382165f90815260036020526040812080549161061583610d6d565b90915550505f81815260026020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610693838383610495565b813b158061072f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af11580156106ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107239190610d85565b6001600160e01b031916145b61076e5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b505050565b60065460ff16156107bc5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610431565b5f6107c78382610deb565b5060016107d48282610deb565b50506006805460ff1916600117905550565b5f818152600260205260409020546001600160a01b0316806108375760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610431565b919050565b5f6001600160a01b0382166108825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610431565b506001600160a01b03165f9081526003602052604090205490565b60606001805461033090610d0c565b335f8181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610922848484610495565b823b15806109ab5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a029061095f903390899088908890600401610eab565b6020604051808303815f875af115801561097b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099f9190610d85565b6001600160e01b031916145b6109ea5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b50505050565b6001600160e01b031981168114610a05575f80fd5b50565b5f60208284031215610a18575f80fd5b8135610a23816109f0565b9392505050565b5f81518084525f5b81811015610a4e57602081850181015186830182015201610a32565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610a236020830184610a2a565b5f60208284031215610a8f575f80fd5b5035919050565b80356001600160a01b0381168114610837575f80fd5b5f8060408385031215610abd575f80fd5b610ac683610a96565b946020939093013593505050565b5f805f60608486031215610ae6575f80fd5b610aef84610a96565b9250610afd60208501610a96565b9150604084013590509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff80841115610b3b57610b3b610b0d565b604051601f8501601f19908116603f01168101908282118183101715610b6357610b63610b0d565b81604052809350858152868686011115610b7b575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112610ba3575f80fd5b610a2383833560208501610b21565b5f8060408385031215610bc3575f80fd5b823567ffffffffffffffff80821115610bda575f80fd5b610be686838701610b94565b93506020850135915080821115610bfb575f80fd5b50610c0885828601610b94565b9150509250929050565b5f60208284031215610c22575f80fd5b610a2382610a96565b5f8060408385031215610c3c575f80fd5b610c4583610a96565b915060208301358015158114610c59575f80fd5b809150509250929050565b5f805f8060808587031215610c77575f80fd5b610c8085610a96565b9350610c8e60208601610a96565b925060408501359150606085013567ffffffffffffffff811115610cb0575f80fd5b8501601f81018713610cc0575f80fd5b610ccf87823560208401610b21565b91505092959194509250565b5f8060408385031215610cec575f80fd5b610cf583610a96565b9150610d0360208401610a96565b90509250929050565b600181811c90821680610d2057607f821691505b602082108103610d3e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f81610d6657610d66610d44565b505f190190565b5f60018201610d7e57610d7e610d44565b5060010190565b5f60208284031215610d95575f80fd5b8151610a23816109f0565b601f82111561076e57805f5260205f20601f840160051c81016020851015610dc55750805b601f840160051c820191505b81811015610de4575f8155600101610dd1565b5050505050565b815167ffffffffffffffff811115610e0557610e05610b0d565b610e1981610e138454610d0c565b84610da0565b602080601f831160018114610e4c575f8415610e355750858301515b5f19600386901b1c1916600185901b178555610ea3565b5f85815260208120601f198616915b82811015610e7a57888601518255948401946001909101908401610e5b565b5085821015610e9757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610edd90830184610a2a565b969550505050505056fea264697066735822122015ab2d91ba179a98a4548c58a6a84336822568110fb4d83426b6684c7e80d96d64736f6c63430008160033', - methodIdentifiers: { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "initialize(string,string)": "4cd88b76", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenURI(uint256)": "c87b56dd", - "transferFrom(address,address,uint256)": "23b872dd" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts b/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts deleted file mode 100644 index 1ea52f443..000000000 --- a/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts +++ /dev/null @@ -1,1049 +0,0 @@ -export declare const MockEzEthPool: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_initialRate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_isCompetitionMode"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "calculateMintAmount"; - readonly inputs: readonly [{ - readonly name: "_currentValueInProtocol"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_newValueAdded"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_existingEzETHSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateRedeemAmount"; - readonly inputs: readonly [{ - readonly name: "_ezETHBeingBurned"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_existingEzETHSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_currentValueInProtocol"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateTVLs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[][]"; - readonly internalType: "uint256[][]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "depositETH"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ezETH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBufferedEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getPooledEthByShares"; - readonly inputs: readonly [{ - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSharesByPooledEth"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCompetitionMode"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isUnrestricted"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lookupTokenAmountFromValue"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "lookupTokenValue"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "lookupTokenValues"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "contract IERC20[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "maxMintAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "renzoOracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMaxMintAmount"; - readonly inputs: readonly [{ - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRate"; - readonly inputs: readonly [{ - readonly name: "_rate_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUnrestrictedMintStatus"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sharesOf"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "submit"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferShares"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferSharesFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "InvalidTokenAmount"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "authority()": "bf7e214f"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "burn(uint256)": "42966c68"; - readonly "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a"; - readonly "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0"; - readonly "calculateTVLs()": "ff9969cd"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "decimals()": "313ce567"; - readonly "depositETH()": "f6326fb3"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "ezETH()": "13a73c78"; - readonly "getBufferedEther()": "47b714e0"; - readonly "getPooledEthByShares(uint256)": "7a28fb88"; - readonly "getRate()": "679aefce"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getSharesByPooledEth(uint256)": "19208451"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getTotalPooledEther()": "37cfdaca"; - readonly "getTotalShares()": "d5002f2e"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "isCompetitionMode()": "7a8c63b5"; - readonly "isUnrestricted(address)": "aed30777"; - readonly "lookupTokenAmountFromValue(address,uint256)": "37933625"; - readonly "lookupTokenValue(address,uint256)": "0052e3fd"; - readonly "lookupTokenValues(address[],uint256[])": "ba28a571"; - readonly "maxMintAmount()": "239c70ae"; - readonly "mint(address,uint256)": "40c10f19"; - readonly "mint(uint256)": "a0712d68"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "owner()": "8da5cb5b"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "renzoOracle()": "892866a4"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setMaxMintAmount(uint256)": "088a4ed0"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRate(uint256)": "34fcf437"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUnrestrictedMintStatus(address,bool)": "05f05a94"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "sharesOf(address)": "f5eb42dc"; - readonly "submit(address)": "a1903eab"; - readonly "symbol()": "95d89b41"; - readonly "totalPooledEther()": "69415b86"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOwnership(address)": "f2fde38b"; - readonly "transferShares(address,uint256)": "8fcb4e5b"; - readonly "transferSharesFrom(address,address,uint256)": "6d780459"; - }; -}; -//# sourceMappingURL=MockEzEthPool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts.map b/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts.map deleted file mode 100644 index 76643f6d4..000000000 --- a/packages/hyperdrive-artifacts/dist/MockEzEthPool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockEzEthPool.d.ts","sourceRoot":"","sources":["../src/MockEzEthPool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwwCg2qB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Dt4qB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockEzEthPool.js b/packages/hyperdrive-artifacts/dist/MockEzEthPool.js deleted file mode 100644 index 65ec659dd..000000000 --- a/packages/hyperdrive-artifacts/dist/MockEzEthPool.js +++ /dev/null @@ -1,1350 +0,0 @@ -export const MockEzEthPool = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_initialRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - }, - { - "name": "_isCompetitionMode", - "type": "bool", - "internalType": "bool" - }, - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "calculateMintAmount", - "inputs": [ - { - "name": "_currentValueInProtocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_newValueAdded", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_existingEzETHSupply", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateRedeemAmount", - "inputs": [ - { - "name": "_ezETHBeingBurned", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_existingEzETHSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_currentValueInProtocol", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateTVLs", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256[][]", - "internalType": "uint256[][]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositETH", - "inputs": [], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ezETH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBufferedEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPooledEthByShares", - "inputs": [ - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSharesByPooledEth", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCompetitionMode", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isUnrestricted", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lookupTokenAmountFromValue", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "lookupTokenValue", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "lookupTokenValues", - "inputs": [ - { - "name": "", - "type": "address[]", - "internalType": "contract IERC20[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "maxMintAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renzoOracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxMintAmount", - "inputs": [ - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRate", - "inputs": [ - { - "name": "_rate_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUnrestrictedMintStatus", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sharesOf", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "submit", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferShares", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferSharesFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "InvalidTokenAmount", - "inputs": [] - } - ], - bytecode: '0x61010060405234801562000011575f80fd5b5060405162002ab338038062002ab383398101604081905262000034916200020b565b6040518060400160405280600b81526020016a0a4cadcf4de40caf48aa8960ab1b815250604051806040016040528060058152602001640caf48aa8960db1b815250601285858582308181898989825f908162000092919062000302565b506001620000a1838262000302565b5060ff81166080524660a052620000b762000171565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55505050600e94909455505042600f5550620004489050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001a39190620003ce565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f805f80608085870312156200021f575f80fd5b845160208601519094506001600160a01b03811681146200023e575f80fd5b6040860151909350801515811462000254575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200028d57607f821691505b602082108103620002ac57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002fd57805f5260205f20601f840160051c81016020851015620002d95750805b601f840160051c820191505b81811015620002fa575f8155600101620002e5565b50505b505050565b81516001600160401b038111156200031e576200031e62000264565b62000336816200032f845462000278565b84620002b2565b602080601f8311600181146200036c575f8415620003545750858301515b5f19600386901b1c1916600185901b178555620003c6565b5f85815260208120601f198616915b828110156200039c578886015182559484019460019091019084016200037b565b5085821015620003ba57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620003dd8162000278565b60018281168015620003f857600181146200040e576200043c565b60ff19841687528215158302870194506200043c565b875f526020805f205f5b85811015620004335781548a82015290840190820162000418565b50505082870194505b50929695505050505050565b60805160a05160c05160e051612606620004ad5f395f818161072d01528181610b2e01528181610c3a01528181610ed001528181610fa4015281816110410152818161148f01526114f001525f610f6a01525f610f3501525f61054d01526126065ff3fe608060405260043610610370575f3560e01c80637a28fb88116101c8578063b7009613116100fd578063dd62ed3e1161009d578063f2fde38b1161006d578063f2fde38b14610a6a578063f5eb42dc14610a89578063f6326fb314610aa8578063ff9969cd14610ab0575f80fd5b8063dd62ed3e14610986578063e688747b146109bc578063ea7ca276146109fd578063ed0d0efb14610a3f575f80fd5b8063c53a3985116100d8578063c53a398514610900578063c5c83cb014610934578063d5002f2e14610953578063d505accf14610967575f80fd5b8063b7009613146108a8578063ba28a571146108c7578063bf7e214f146108e1575f80fd5b80638fcb4e5b11610168578063a0712d6811610143578063a0712d6814610829578063a1903eab14610848578063a9059cbb1461085b578063aed307771461087a575f80fd5b80638fcb4e5b146107d757806395d89b41146107f65780639dc29fac1461080a575f80fd5b80637ecebe00116101a35780637ecebe001461076e578063892866a4146104ae5780638da5cb5b146107995780638f686e6a146107b8575f80fd5b80637a28fb88146106fd5780637a8c63b51461071c5780637a9e5e4b1461074f575f80fd5b806334fcf437116102a957806347b714e01161024957806369415b861161021957806369415b861461067f5780636d7804591461069457806370a08231146106b3578063728b952b146106de575f80fd5b806347b714e01461061b5780634b5159da1461062d578063679aefce1461064c57806367aff48414610660575f80fd5b806337cfdaca1161028457806337cfdaca146105b45780633a98ef39146105c857806340c10f19146105dd57806342966c68146105fc575f80fd5b806334fcf437146105815780633644e515146105a05780633793362514610374575f80fd5b80630ea9b75b1161031457806319208451116102ef57806319208451146104e9578063239c70ae1461050857806323b872dd1461051d578063313ce5671461053c575f80fd5b80630ea9b75b1461048f57806313a73c78146104ae57806318160ddd146104d4575f80fd5b806306fdde031161034f57806306fdde03146103f2578063088a4ed014610413578063095ea7b3146104325780630bade8a414610461575f80fd5b806252e3fd1461037457806305f05a94146103a657806306a36aee146103c7575b5f80fd5b34801561037f575f80fd5b5061039361038e366004611de7565b610ad3565b6040519081526020015b60405180910390f35b3480156103b1575f80fd5b506103c56103c0366004611e1e565b610b2c565b005b3480156103d2575f80fd5b506103936103e1366004611e55565b60096020525f908152604090205481565b3480156103fd575f80fd5b50610406610bad565b60405161039d9190611e70565b34801561041e575f80fd5b506103c561042d366004611ebc565b610c38565b34801561043d575f80fd5b5061045161044c366004611de7565b610c94565b604051901515815260200161039d565b34801561046c575f80fd5b5061045161047b366004611eef565b600a6020525f908152604090205460ff1681565b34801561049a575f80fd5b506103c56104a9366004611f18565b610d00565b3480156104b9575f80fd5b50305b6040516001600160a01b03909116815260200161039d565b3480156104df575f80fd5b5061039360025481565b3480156104f4575f80fd5b50610393610503366004611ebc565b610dd5565b348015610513575f80fd5b50610393600c5481565b348015610528575f80fd5b50610451610537366004611f5c565b610df2565b348015610547575f80fd5b5061056f7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161039d565b34801561058c575f80fd5b506103c561059b366004611ebc565b610ece565b3480156105ab575f80fd5b50610393610f32565b3480156105bf575f80fd5b50610393610f8c565b3480156105d3575f80fd5b5061039360115481565b3480156105e8575f80fd5b506103c56105f7366004611de7565b610fa2565b348015610607575f80fd5b506103c5610616366004611ebc565b61103f565b348015610626575f80fd5b505f610393565b348015610638575f80fd5b506103c5610647366004611f9a565b6110a3565b348015610657575f80fd5b50600e54610393565b34801561066b575f80fd5b506103c561067a366004611fb4565b611133565b34801561068a575f80fd5b5061039360105481565b34801561069f575f80fd5b506103936106ae366004611f5c565b6111f8565b3480156106be575f80fd5b506103936106cd366004611e55565b60036020525f908152604090205481565b3480156106e9575f80fd5b506103c56106f8366004611fdf565b61122e565b348015610708575f80fd5b50610393610717366004611ebc565b6112b5565b348015610727575f80fd5b506104517f000000000000000000000000000000000000000000000000000000000000000081565b34801561075a575f80fd5b506103c5610769366004611e55565b6112c9565b348015610779575f80fd5b50610393610788366004611e55565b60056020525f908152604090205481565b3480156107a4575f80fd5b506006546104bc906001600160a01b031681565b3480156107c3575f80fd5b506103936107d236600461200b565b6113ae565b3480156107e2575f80fd5b506103936107f1366004611de7565b611457565b348015610801575f80fd5b50610406611480565b348015610815575f80fd5b506103c5610824366004611de7565b61148d565b348015610834575f80fd5b506103c5610843366004611ebc565b6114ee565b610393610856366004611e55565b611587565b348015610866575f80fd5b50610451610875366004611de7565b61160e565b348015610885575f80fd5b50610451610894366004611e55565b600d6020525f908152604090205460ff1681565b3480156108b3575f80fd5b506104516108c2366004612034565b611671565b3480156108d2575f80fd5b5061039361038e36600461214c565b3480156108ec575f80fd5b506007546104bc906001600160a01b031681565b34801561090b575f80fd5b506104bc61091a366004611e55565b60086020525f90815260409020546001600160a01b031681565b34801561093f575f80fd5b5061039361094e36600461200b565b61176a565b34801561095e575f80fd5b50601154610393565b348015610972575f80fd5b506103c5610981366004612208565b6117ab565b348015610991575f80fd5b506103936109a0366004611fdf565b600460209081525f928352604080842090915290825290205481565b3480156109c7575f80fd5b506104516109d6366004612271565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b348015610a08575f80fd5b50610451610a173660046122a2565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b348015610a4a575f80fd5b50610393610a59366004611eef565b600b6020525f908152604090205481565b348015610a75575f80fd5b506103c5610a84366004611e55565b6119e9565b348015610a94575f80fd5b50610393610aa3366004611e55565b611a65565b6103c5611a99565b348015610abb575f80fd5b50610ac4611ae1565b60405161039d93929190612306565b60405162461bcd60e51b815260206004820152602160248201527f6c6f6f6b7570546f6b656e56616c75653a204e6f7420496d706c656d656e74656044820152601960fa1b60648201525f906084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610b8357610b67335f356001600160e01b031916611b0e565b610b835760405162461bcd60e51b8152600401610b2390612383565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f8054610bb9906123ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610be5906123ba565b8015610c305780601f10610c0757610100808354040283529160200191610c30565b820191905f5260205f20905b815481529060010190602001808311610c1357829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000015610c8f57610c73335f356001600160e01b031916611b0e565b610c8f5760405162461bcd60e51b8152600401610b2390612383565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610cee9086815260200190565b60405180910390a35060015b92915050565b610d15335f356001600160e01b031916611b0e565b610d315760405162461bcd60e51b8152600401610b23906123f2565b8015610d60576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610d86565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610dc8911515815260200190565b60405180910390a3505050565b5f610cfa610de260115490565b610dea610f8c565b849190611bb4565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610e4b57610e27838261242c565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610e7290849061242c565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f805160206125b183398151915290610eb99087815260200190565b60405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610f2557610f09335f356001600160e01b031916611b0e565b610f255760405162461bcd60e51b8152600401610b2390612383565b610f2d611bcf565b600e55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610f6757610f62611bfe565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f610f95611c96565b601054610f62919061243f565b7f000000000000000000000000000000000000000000000000000000000000000015610ff957610fdd335f356001600160e01b031916611b0e565b610ff95760405162461bcd60e51b8152600401610b2390612383565b335f908152600d602052604090205460ff1661103157600c548111156110315760405162461bcd60e51b8152600401610b2390612452565b61103b8282611cf5565b5050565b7f0000000000000000000000000000000000000000000000000000000000000000156110965761107a335f356001600160e01b031916611b0e565b6110965760405162461bcd60e51b8152600401610b2390612383565b6110a03382611d4c565b50565b6110b8335f356001600160e01b031916611b0e565b6110d45760405162461bcd60e51b8152600401610b23906123f2565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b611148335f356001600160e01b031916611b0e565b6111645760405162461bcd60e51b8152600401610b23906123f2565b8015611192576001600160a01b0383165f9081526009602052604090208054600160ff85161b1790556111b7565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610dc8911515815260200190565b5f611201611bcf565b5f61121861120d610f8c565b601154859190611bb4565b9050611225858583610df2565b50949350505050565b611243335f356001600160e01b031916611b0e565b61125f5760405162461bcd60e51b8152600401610b23906123f2565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f610cfa6112c1610f8c565b601154610dea565b6006546001600160a01b031633148061135b575060075460405163b700961360e01b81526001600160a01b039091169063b70096139061131c90339030906001600160e01b03195f351690600401612494565b602060405180830381865afa158015611337573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135b91906124c1565b611363575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f8315806113ba575081155b156113c6575081610ec7565b5f6113d1848661243f565b6113e385670de0b6b3a76400006124dc565b6113ed91906124f3565b90505f61140282670de0b6b3a764000061242c565b611414670de0b6b3a7640000866124dc565b61141e91906124f3565b90505f61142b858361242c565b9050805f0361144d57604051632160733960e01b815260040160405180910390fd5b9695505050505050565b5f611460611bcf565b5f61146c61120d610f8c565b9050611478848261160e565b509392505050565b60018054610bb9906123ba565b7f0000000000000000000000000000000000000000000000000000000000000000156114e4576114c8335f356001600160e01b031916611b0e565b6114e45760405162461bcd60e51b8152600401610b2390612383565b61103b8282611d4c565b7f00000000000000000000000000000000000000000000000000000000000000001561154557611529335f356001600160e01b031916611b0e565b6115455760405162461bcd60e51b8152600401610b2390612383565b335f908152600d602052604090205460ff1661157d57600c5481111561157d5760405162461bcd60e51b8152600401610b2390612452565b6110a03382611cf5565b5f611590611bcf565b6011545f036115b65734601181905560108190556115af903390611cf5565b5034919050565b5f6115d36115c360115490565b6115cb610f8c565b349190611bb4565b90503460105f8282546115e6919061243f565b925050819055508060115f8282546115fe919061243f565b90915550610cfa90503334611cf5565b335f9081526003602052604081208054839190839061162e90849061242c565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f805160206125b183398151915290610cee9086815260200190565b6001600160a01b038083165f90815260086020526040812054909116801561170a5760405163b700961360e01b81526001600160a01b0382169063b7009613906116c390889088908890600401612494565b602060405180830381865afa1580156116de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170291906124c1565b915050610ec7565b6001600160e01b031983165f908152600a602052604090205460ff168061176157506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b5f808361177786856124dc565b61178191906124f3565b9050805f036117a357604051632160733960e01b815260040160405180910390fd5b949350505050565b428410156117fb5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610b23565b5f6001611806610f32565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561190e573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906119445750876001600160a01b0316816001600160a01b0316145b6119815760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b23565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6119fe335f356001600160e01b031916611b0e565b611a1a5760405162461bcd60e51b8152600401610b23906123f2565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6001600160a01b0381165f90815260036020526040812054610ec7611a8960115490565b611a91610f8c565b839190611bb4565b60405162461bcd60e51b815260206004820152601b60248201527f6465706f7369744554483a204e6f7420496d706c656d656e74656400000000006044820152606401610b23565b6060805f6060805f611b01611af4610f8c565b6011546002549190611bb4565b9296919550919350915050565b6007545f906001600160a01b03168015801590611b95575060405163b700961360e01b81526001600160a01b0382169063b700961390611b5690879030908890600401612494565b602060405180830381865afa158015611b71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9591906124c1565b806117a357506006546001600160a01b03858116911614949350505050565b5f825f190484118302158202611bc8575f80fd5b5091020490565b5f611bd8611c96565b90508015611bf7578060105f828254611bf1919061243f565b90915550505b5042600f55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051611c2e9190612512565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f600e545f03611ca557505f90565b600f54421015611cb457505f90565b5f611cd16301e13380600f5442611ccb919061242c565b90611dab565b90505f610ec7611cec83600e54611dbf90919063ffffffff16565b60105490611dbf565b8060025f828254611d06919061243f565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f805160206125b183398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611d7390849061242c565b90915550506002805482900390556040518181525f906001600160a01b038416905f805160206125b183398151915290602001611d40565b5f610ec783670de0b6b3a764000084611bb4565b5f610ec78383670de0b6b3a7640000611bb4565b6001600160a01b03811681146110a0575f80fd5b5f8060408385031215611df8575f80fd5b8235611e0381611dd3565b946020939093013593505050565b80151581146110a0575f80fd5b5f8060408385031215611e2f575f80fd5b8235611e3a81611dd3565b91506020830135611e4a81611e11565b809150509250929050565b5f60208284031215611e65575f80fd5b8135610ec781611dd3565b5f602080835283518060208501525f5b81811015611e9c57858101830151858201604001528201611e80565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611ecc575f80fd5b5035919050565b80356001600160e01b031981168114611eea575f80fd5b919050565b5f60208284031215611eff575f80fd5b610ec782611ed3565b803560ff81168114611eea575f80fd5b5f805f60608486031215611f2a575f80fd5b611f3384611f08565b9250611f4160208501611ed3565b91506040840135611f5181611e11565b809150509250925092565b5f805f60608486031215611f6e575f80fd5b8335611f7981611dd3565b92506020840135611f8981611dd3565b929592945050506040919091013590565b5f8060408385031215611fab575f80fd5b611e3a83611ed3565b5f805f60608486031215611fc6575f80fd5b8335611fd181611dd3565b9250611f4160208501611f08565b5f8060408385031215611ff0575f80fd5b8235611ffb81611dd3565b91506020830135611e4a81611dd3565b5f805f6060848603121561201d575f80fd5b505081359360208301359350604090920135919050565b5f805f60608486031215612046575f80fd5b833561205181611dd3565b9250602084013561206181611dd3565b915061206f60408501611ed3565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156120b5576120b5612078565b604052919050565b5f67ffffffffffffffff8211156120d6576120d6612078565b5060051b60200190565b5f82601f8301126120ef575f80fd5b813560206121046120ff836120bd565b61208c565b8083825260208201915060208460051b870101935086841115612125575f80fd5b602086015b84811015612141578035835291830191830161212a565b509695505050505050565b5f806040838503121561215d575f80fd5b823567ffffffffffffffff80821115612174575f80fd5b818501915085601f830112612187575f80fd5b813560206121976120ff836120bd565b82815260059290921b840181019181810190898411156121b5575f80fd5b948201945b838610156121dc5785356121cd81611dd3565b825294820194908201906121ba565b965050860135925050808211156121f1575f80fd5b506121fe858286016120e0565b9150509250929050565b5f805f805f805f60e0888a03121561221e575f80fd5b873561222981611dd3565b9650602088013561223981611dd3565b9550604088013594506060880135935061225560808901611f08565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215612282575f80fd5b61228b83611f08565b915061229960208401611ed3565b90509250929050565b5f80604083850312156122b3575f80fd5b82356122be81611dd3565b915061229960208401611f08565b5f815180845260208085019450602084015f5b838110156122fb578151875295820195908201906001016122df565b509495945050505050565b5f606082016060835280865180835260808501915060808160051b860101925060208089015f5b8381101561235b57607f198887030185526123498683516122cc565b9550938201939082019060010161232d565b5050505050828103602084015261237281866122cc565b915050826040830152949350505050565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c908216806123ce57607f821691505b6020821081036123ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610cfa57610cfa612418565b80820180821115610cfa57610cfa612418565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f602082840312156124d1575f80fd5b8151610ec781611e11565b8082028115828204841417610cfa57610cfa612418565b5f8261250d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f8083545f60018260011c9150600183168061252f57607f831692505b6020808410820361254e57634e487b7160e01b5f52602260045260245ffd5b8180156125625760018114612577576125a2565b60ff19861689528415158502890196506125a2565b5f8a8152602090205f5b8681101561259a5781548b820152908501908301612581565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207154da725d6f461fbef0efcf8b3dc2c552d02fa4a8150398fbbd6cacba65289864736f6c63430008160033', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "authority()": "bf7e214f", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "burn(uint256)": "42966c68", - "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a", - "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0", - "calculateTVLs()": "ff9969cd", - "canCall(address,address,bytes4)": "b7009613", - "decimals()": "313ce567", - "depositETH()": "f6326fb3", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "ezETH()": "13a73c78", - "getBufferedEther()": "47b714e0", - "getPooledEthByShares(uint256)": "7a28fb88", - "getRate()": "679aefce", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getSharesByPooledEth(uint256)": "19208451", - "getTargetCustomAuthority(address)": "c53a3985", - "getTotalPooledEther()": "37cfdaca", - "getTotalShares()": "d5002f2e", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "isCompetitionMode()": "7a8c63b5", - "isUnrestricted(address)": "aed30777", - "lookupTokenAmountFromValue(address,uint256)": "37933625", - "lookupTokenValue(address,uint256)": "0052e3fd", - "lookupTokenValues(address[],uint256[])": "ba28a571", - "maxMintAmount()": "239c70ae", - "mint(address,uint256)": "40c10f19", - "mint(uint256)": "a0712d68", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "renzoOracle()": "892866a4", - "setAuthority(address)": "7a9e5e4b", - "setMaxMintAmount(uint256)": "088a4ed0", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRate(uint256)": "34fcf437", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUnrestrictedMintStatus(address,bool)": "05f05a94", - "setUserRole(address,uint8,bool)": "67aff484", - "sharesOf(address)": "f5eb42dc", - "submit(address)": "a1903eab", - "symbol()": "95d89b41", - "totalPooledEther()": "69415b86", - "totalShares()": "3a98ef39", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b", - "transferShares(address,uint256)": "8fcb4e5b", - "transferSharesFrom(address,address,uint256)": "6d780459" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts b/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts deleted file mode 100644 index ff964d433..000000000 --- a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts +++ /dev/null @@ -1,221 +0,0 @@ -export declare const MockFixedPointMath: { - abi: readonly [{ - readonly type: "function"; - readonly name: "divDown"; - readonly inputs: readonly [{ - readonly name: "a"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "b"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "divUp"; - readonly inputs: readonly [{ - readonly name: "a"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "b"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "exp"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "r"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "ln"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "mulDivDown"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "d"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "z"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "mulDivUp"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "d"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "z"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "mulDown"; - readonly inputs: readonly [{ - readonly name: "a"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "b"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "mulUp"; - readonly inputs: readonly [{ - readonly name: "a"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "b"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "pow"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "updateWeightedAverage"; - readonly inputs: readonly [{ - readonly name: "_average"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_totalWeight"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_delta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_deltaWeight"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isAdding"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "average"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "divDown(uint256,uint256)": "9ba5f52e"; - readonly "divUp(uint256,uint256)": "cbe8623f"; - readonly "exp(int256)": "e46751e3"; - readonly "ln(int256)": "8e6f2353"; - readonly "mulDivDown(uint256,uint256,uint256)": "b67bee04"; - readonly "mulDivUp(uint256,uint256,uint256)": "12bd6ac0"; - readonly "mulDown(uint256,uint256)": "0c9b9881"; - readonly "mulUp(uint256,uint256)": "f3e4f87c"; - readonly "pow(uint256,uint256)": "2e4c697f"; - readonly "updateWeightedAverage(uint256,uint256,uint256,uint256,bool)": "81e5f7c9"; - }; -}; -//# sourceMappingURL=MockFixedPointMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts.map b/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts.map deleted file mode 100644 index 19c4d2216..000000000 --- a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockFixedPointMath.d.ts","sourceRoot":"","sources":["../src/MockFixedPointMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiR2iJ,KAAK,MAAM,EAAE;;;;;;;;;;;;;CAatlJ,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.js b/packages/hyperdrive-artifacts/dist/MockFixedPointMath.js deleted file mode 100644 index d9055cd52..000000000 --- a/packages/hyperdrive-artifacts/dist/MockFixedPointMath.js +++ /dev/null @@ -1,287 +0,0 @@ -export const MockFixedPointMath = { - abi: [ - { - "type": "function", - "name": "divDown", - "inputs": [ - { - "name": "a", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "b", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "divUp", - "inputs": [ - { - "name": "a", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "b", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "exp", - "inputs": [ - { - "name": "x", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "r", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "ln", - "inputs": [ - { - "name": "x", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "mulDivDown", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "d", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "z", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "mulDivUp", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "d", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "z", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "mulDown", - "inputs": [ - { - "name": "a", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "b", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "mulUp", - "inputs": [ - { - "name": "a", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "b", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "pow", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "updateWeightedAverage", - "inputs": [ - { - "name": "_average", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_totalWeight", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_delta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_deltaWeight", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isAdding", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "average", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506108fe8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c80639ba5f52e116100635780639ba5f52e14610110578063b67bee0414610123578063cbe8623f14610136578063e46751e314610149578063f3e4f87c1461015c575f80fd5b80630c9b98811461009f57806312bd6ac0146100c45780632e4c697f146100d757806381e5f7c9146100ea5780638e6f2353146100fd575b5f80fd5b6100b26100ad3660046107a9565b61016f565b60405190815260200160405180910390f35b6100b26100d23660046107c9565b610185565b6100b26100e53660046107a9565b61019b565b6100b26100f83660046107f2565b6101a7565b6100b261010b36600461083f565b6101c1565b6100b261011e3660046107a9565b6101d3565b6100b26101313660046107c9565b6101df565b6100b26101443660046107a9565b6101ec565b6100b261015736600461083f565b6101f8565b6100b261016a3660046107a9565b610203565b5f8061017b848461020f565b9150505b92915050565b5f80610192858585610223565b95945050505050565b5f8061017b8484610246565b5f806101b687878787876102b5565b979650505050505050565b5f806101cc83610355565b9392505050565b5f8061017b8484610583565b5f80610192858585610593565b5f8061017b84846105ae565b5f806101cc836105c2565b5f8061017b8484610754565b5f6101cc8383670de0b6b3a7640000610593565b5f825f190484118302158202610237575f80fd5b50910281810615159190040190565b5f815f0361025d5750670de0b6b3a764000061017f565b825f0361026b57505f61017f565b5f61027583610768565b90505f61028961028486610768565b610355565b90508181026102a0670de0b6b3a76400008261086a565b90506102ab816105c2565b9695505050505050565b5f825f036102c4575084610192565b811561031c576102fb6102d784876108a2565b6102e1858761020f565b6102eb888a61020f565b6102f591906108a2565b90610583565b90505f6103088588610795565b905080821015610316578091505b50610192565b82850361032a57505f610192565b6102ab61033784876108b5565b6103418587610754565b61034b888a61020f565b6102f591906108b5565b5f8082136103765760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906104029084901c610768565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f6101cc83670de0b6b3a7640000845b5f825f1904841183021582026105a7575f80fd5b5091020490565b5f6101cc83670de0b6b3a764000084610223565b5f680248ce36a70cb26b3e1982136105db57505f919050565b680755bf798b4a1bf1e58212610604576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906102ab74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c610768565b5f6101cc8383670de0b6b3a7640000610223565b5f6001600160ff1b038211156107915760405163396ea70160e11b815260040160405180910390fd5b5090565b5f8183116107a357826101cc565b50919050565b5f80604083850312156107ba575f80fd5b50508035926020909101359150565b5f805f606084860312156107db575f80fd5b505081359360208301359350604090920135919050565b5f805f805f60a08688031215610806575f80fd5b8535945060208601359350604086013592506060860135915060808601358015158114610831575f80fd5b809150509295509295909350565b5f6020828403121561084f575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f8261088457634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f198414161561089d5761089d610856565b500590565b8082018082111561017f5761017f610856565b8181038181111561017f5761017f61085656fea2646970667358221220e9a9948213c0830a3cbced12e8a4599d9bf7589c0963e04bcdafe6babf23056064736f6c63430008160033', - methodIdentifiers: { - "divDown(uint256,uint256)": "9ba5f52e", - "divUp(uint256,uint256)": "cbe8623f", - "exp(int256)": "e46751e3", - "ln(int256)": "8e6f2353", - "mulDivDown(uint256,uint256,uint256)": "b67bee04", - "mulDivUp(uint256,uint256,uint256)": "12bd6ac0", - "mulDown(uint256,uint256)": "0c9b9881", - "mulUp(uint256,uint256)": "f3e4f87c", - "pow(uint256,uint256)": "2e4c697f", - "updateWeightedAverage(uint256,uint256,uint256,uint256,bool)": "81e5f7c9" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts deleted file mode 100644 index e29d8c749..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts +++ /dev/null @@ -1,1705 +0,0 @@ -export declare const MockHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "__external_transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "__setBalanceOf"; - readonly inputs: readonly [{ - readonly name: "_tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_who"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "accrue"; - readonly inputs: readonly [{ - readonly name: "time"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "apr"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "calculateFeesGivenBonds"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_normalizedTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_spotPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "totalCurveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalFlatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceCurveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalGovernanceFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateFeesGivenShares"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_spotPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "curveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceCurveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateIdleShareReserves"; - readonly inputs: readonly [{ - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateOpenLong"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shareReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalGovernanceFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "spotPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateTimeRemaining"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "timeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "calculateTimeRemainingScaled"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "timeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "latestCheckpoint"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setLongExposure"; - readonly inputs: readonly [{ - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMarketState"; - readonly inputs: readonly [{ - readonly name: "_marketState_"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserves"; - readonly inputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTotalShares"; - readonly inputs: readonly [{ - readonly name: "_totalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateLiquidity"; - readonly inputs: readonly [{ - readonly name: "_shareReservesDelta"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a"; - readonly "__setBalanceOf(uint256,address,uint256)": "94a97cdb"; - readonly "accrue(uint256,int256)": "68096239"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "burn(uint256,address,uint256)": "9eea5f66"; - readonly "calculateFeesGivenBonds(uint256,uint256,uint256,uint256)": "22d5506b"; - readonly "calculateFeesGivenShares(uint256,uint256,uint256)": "71f88b7c"; - readonly "calculateIdleShareReserves(uint256)": "b1b4b170"; - readonly "calculateOpenLong(uint256,uint256)": "9bd33498"; - readonly "calculateTimeRemaining(uint256)": "68c2ecb8"; - readonly "calculateTimeRemainingScaled(uint256)": "ca6d38f7"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "getTotalShares()": "d5002f2e"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "latestCheckpoint()": "907c0f92"; - readonly "mint(uint256,address,uint256)": "836a1040"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setLongExposure(uint128)": "b4f8da39"; - readonly "setMarketState((uint128,uint128,uint128,uint128,int128,uint128,uint128,uint128,bool,bool,uint112,uint128))": "f45cf2e0"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "setReserves(uint128,uint128)": "702db0eb"; - readonly "setTotalShares(uint256)": "a77384c1"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "updateLiquidity(int256)": "8120a3e2"; - }; -}; -//# sourceMappingURL=MockHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts.map deleted file mode 100644 index 9e85c3f23..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdrive.d.ts","sourceRoot":"","sources":["../src/MockHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyjEilzL,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDxnzL,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdrive.js b/packages/hyperdrive-artifacts/dist/MockHyperdrive.js deleted file mode 100644 index d0e55925f..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdrive.js +++ /dev/null @@ -1,2155 +0,0 @@ -export const MockHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "__external_transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "__setBalanceOf", - "inputs": [ - { - "name": "_tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_who", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "accrue", - "inputs": [ - { - "name": "time", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "apr", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "calculateFeesGivenBonds", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_normalizedTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_spotPrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "totalCurveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalFlatFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceCurveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalGovernanceFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateFeesGivenShares", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_spotPrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "curveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceCurveFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateIdleShareReserves", - "inputs": [ - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateOpenLong", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shareReservesDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReservesDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalGovernanceFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "spotPrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateTimeRemaining", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "timeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateTimeRemainingScaled", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "timeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "latestCheckpoint", - "inputs": [], - "outputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setLongExposure", - "inputs": [ - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMarketState", - "inputs": [ - { - "name": "_marketState_", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserves", - "inputs": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTotalShares", - "inputs": [ - { - "name": "_totalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateLiquidity", - "inputs": [ - { - "name": "_shareReservesDelta", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b506040516201732c3803806201732c833981016040819052620000349162000369565b6040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b815250828284846040516200006d9062000260565b6200007a929190620004a3565b604051809103905ff08015801562000094573d5f803e3d5ffd5b508585604051620000a5906200026e565b620000b2929190620004a3565b604051809103905ff080158015620000cc573d5f803e3d5ffd5b508686604051620000dd906200027c565b620000ea929190620004a3565b604051809103905ff08015801562000104573d5f803e3d5ffd5b50878760405162000115906200028a565b62000122929190620004a3565b604051809103905ff0801580156200013c573d5f803e3d5ffd5b5088886040516200014d9062000298565b6200015a929190620004a3565b604051809103905ff08015801562000174573d5f803e3d5ffd5b5060015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a0151821661024052890151610260528716610220526200022b898262000661565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0521661030052506200072d9350505050565b6140d7806200355c83390190565b614103806200763383390190565b614390806200b73683390190565b614328806200fac683390190565b61353e8062013dee83390190565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002e057620002e0620002a6565b60405290565b80516001600160a01b0381168114620002fd575f80fd5b919050565b5f6080828403121562000313575f80fd5b604051608081016001600160401b0381118282101715620003385762000338620002a6565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f808284036102808112156200037d575f80fd5b610260808212156200038d575f80fd5b62000397620002ba565b9150620003a485620002e6565b8252620003b460208601620002e6565b6020830152620003c760408601620002e6565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000432818701620002e6565b9083015261018062000446868201620002e6565b908301526101a06200045a868201620002e6565b908301526101c06200046e868201620002e6565b908301526101e0620004838787830162000302565b818401525081935062000498818601620002e6565b925050509250929050565b82516001600160a01b0316815261028081016020840151620004d060208401826001600160a01b03169052565b506040840151620004ec60408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e0830152610100808501518184015250610120808501518184015250610140808501518184015250610160808501516200055f828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e09485015180519584019590955260208501516102008401526040850151610220840152606090940151610240830152919092166102609092019190915290565b600181811c90821680620005ec57607f821691505b6020821081036200060b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200065c57805f5260205f20601f840160051c81016020851015620006385750805b601f840160051c820191505b8181101562000659575f815560010162000644565b50505b505050565b81516001600160401b038111156200067d576200067d620002a6565b62000695816200068e8454620005d7565b8462000611565b602080601f831160018114620006cb575f8415620006b35750858301515b5f19600386901b1c1916600185901b17855562000725565b5f85815260208120601f198616915b82811015620006fb57888601518255948401946001909101908401620006da565b50858210156200071957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051612c9b620008c15f395f818161090301528181610a490152610b6201525f818161087e01528181610b910152610dae01525f818161078b0152610fa601525f81816108d00152610b0001525f81816102900152818161044801528181610a1a01528181610a7b01528181610aad01528181610b3301528181610d6901528181610df501528181610f560152610fd901525f50505f50505f50505f50505f50505f81816118b2015281816118ee0152611bf101525f818161163201528181611674015261176601525f50505f818161110f0152818161118701526114bf01525f818161115b01526116e701525f81816110d50152818161147b01526116c601525f818161161001528181611695015261178701525f8181611443015261197501525f6115c001525f50505f8181610bef01528181610c860152610cf40152612c9b5ff3fe60806040526004361061027c575f3560e01c8063907c0f921161014e578063ca6d38f7116100c0578063ded0623111610079578063ded06231146104c1578063e44808bc146108a0578063eac3e799146108bf578063f3f70707146108f2578063f45cf2e014610925578063f698da2514610a015761027c565b8063ca6d38f714610827578063cba2e58d14610846578063cbc13434146103c0578063d5002f2e14610859578063d899e1121461086d578063dbbe8070146108465761027c565b8063a22cb46511610112578063a22cb4651461061c578063a6e8a8591461077a578063a77384c1146107ad578063ab033ea914610385578063b1b4b170146107cc578063b4f8da39146107eb5761027c565b8063907c0f92146106ca57806394a97cdb146106de5780639bd334981461071d5780639cd241af1461073c5780639eea5f661461075b5761027c565b80634c2ac1d9116101f25780637180c8ca116101ab5780637180c8ca1461061c57806371f88b7c1461063b57806377d05ff41461065a5780638120a3e21461066d578063836a10401461068c5780639032c726146106ab5761027c565b80634c2ac1d91461055f5780634ed2d6ac1461057257806358af4a0a1461058c57806368096239146105ab57806368c2ecb8146105ca578063702db0eb146105e95761027c565b806321b57d531161024457806321b57d531461043757806322d5506b1461048257806329b23fc1146104c157806330adf81f146104ee5780633e691db914610521578063414f826d146105405761027c565b806301681a621461038557806302329a29146103a6578063074a6de9146103c057806317fad7fc146103f95780631c0f12b614610418575b348015610287575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031685856040516102c8929190612399565b5f60405180830381855af49150503d805f8114610300576040519150601f19603f3d011682016040523d82523d5f602084013e610305565b606091505b5091509150811561032957604051638bb0a34b60e01b815260040160405180910390fd5b5f610333826123a8565b90506001600160e01b03198116636e64089360e11b1461035557815160208301fd5b8151600319810160048401908152926103769181016020019060240161243f565b80519650602001945050505050f35b348015610390575f80fd5b506103a461039f3660046124f0565b610a15565b005b3480156103b1575f80fd5b506103a461039f366004612528565b3480156103cb575f80fd5b506103df6103da366004612553565b610a42565b604080519283526020830191909152015b60405180910390f35b348015610404575f80fd5b506103a46104133660046125e0565b610a76565b348015610423575f80fd5b506103a461043236600461266f565b610aa8565b348015610442575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103f0565b34801561048d575f80fd5b506104a161049c3660046126b4565b610ad8565b6040805194855260208501939093529183015260608201526080016103f0565b3480156104cc575f80fd5b506104e06104db3660046126e3565b610afa565b6040519081526020016103f0565b3480156104f9575f80fd5b506104e07f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b34801561052c575f80fd5b506104e061053b366004612739565b610b2d565b34801561054b575f80fd5b506103a461055a36600461276b565b610b5d565b6104e061056d36600461278b565b610b8b565b34801561057d575f80fd5b506103a46104323660046127ea565b348015610597575f80fd5b506103a46105a6366004612831565b610bbf565b3480156105b6575f80fd5b506103a46105c536600461276b565b610bcc565b3480156105d5575f80fd5b506104e06105e436600461288c565b610d54565b3480156105f4575f80fd5b506103a46106033660046128b9565b6001600160801b03908116600160801b02911617600255565b348015610627575f80fd5b506103a46106363660046128ea565b610d64565b348015610646575f80fd5b506103df610655366004612921565b610d8d565b6104e0610668366004612553565b610da8565b348015610678575f80fd5b506103a461068736600461288c565b610dda565b348015610697575f80fd5b506103a46106a636600461294a565b610de6565b3480156106b6575f80fd5b506103a46106c536600461297f565b610df1565b3480156106d5575f80fd5b506104e0610f25565b3480156106e9575f80fd5b506103a46106f836600461294a565b5f928352600a602090815260408085206001600160a01b039094168552929052912055565b348015610728575f80fd5b506104a161073736600461276b565b610f33565b348015610747575f80fd5b506103a461075636600461294a565b610f51565b348015610766575f80fd5b506103a461077536600461294a565b610f80565b348015610785575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107b8575f80fd5b506103a46107c736600461288c565b600f55565b3480156107d7575f80fd5b506104e06107e636600461288c565b610f8b565b3480156107f6575f80fd5b506103a46108053660046129f9565b600380546001600160801b0319166001600160801b0392909216919091179055565b348015610832575f80fd5b506104e061084136600461288c565b610f95565b6103df6108543660046126e3565b610f9f565b348015610864575f80fd5b50600f546104e0565b348015610878575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108ab575f80fd5b506103a46108ba366004612831565b610fd4565b3480156108ca575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108fd575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610930575f80fd5b506103a461093f366004612a39565b805160208201516001600160801b03918216600160801b91831682021760025560408301516060840151908316908316820217600355608083015160a084015190831690831682021760045560c083015160e084015190831690831682021760055561010080840151600680546101208701516101408801516101609098015161ffff1990921693151561ff001916939093179215159093029190911761ffff16620100006001600160701b0390961695909502841694909417921602179055565b348015610a0c575f80fd5b506104e0611005565b610a3e7f0000000000000000000000000000000000000000000000000000000000000000611093565b5050565b5f80610a6d7f0000000000000000000000000000000000000000000000000000000000000000611093565b50935093915050565b610a9f7f0000000000000000000000000000000000000000000000000000000000000000611093565b50505050505050565b610ad17f0000000000000000000000000000000000000000000000000000000000000000611093565b5050505050565b5f805f80610ae8888888886110b1565b929b919a509850909650945050505050565b5f610b247f0000000000000000000000000000000000000000000000000000000000000000611093565b50949350505050565b5f610b577f0000000000000000000000000000000000000000000000000000000000000000611093565b50919050565b610b867f0000000000000000000000000000000000000000000000000000000000000000611093565b505050565b5f610bb57f0000000000000000000000000000000000000000000000000000000000000000611093565b5095945050505050565b610ad185858585856111c3565b6040516370a0823160e01b81523060048201525f90610c5f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610c34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c589190612b23565b838561137e565b9150505f811315610ce2576040516340c10f1960e01b8152306004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f19906044015b5f604051808303815f87803b158015610cd0575f80fd5b505af1158015610a9f573d5f803e3d5ffd5b5f811215610b86576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639dc29fac30610d2384612b4e565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401610cb9565b5f610d5e82611418565b92915050565b610b867f0000000000000000000000000000000000000000000000000000000000000000611093565b5f80610d9a85858561146e565b90925090505b935093915050565b5f610dd27f0000000000000000000000000000000000000000000000000000000000000000611093565b509392505050565b610de3816114ed565b50565b610b86838383611513565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e25611005565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610ece9190612b68565b5f60405180830381855af49150503d805f8114610f06576040519150601f19603f3d011682016040523d82523d5f602084013e610f0b565b606091505b509150915081610f1d57805160208201fd5b805160208201f35b5f610f2e6115b9565b905090565b5f805f80610f4186866115e4565b9299919850965090945092505050565b610f7a7f0000000000000000000000000000000000000000000000000000000000000000611093565b50505050565b610b868383836117c3565b5f610d5e82611891565b5f610d5e8261192c565b5f80610fca7f0000000000000000000000000000000000000000000000000000000000000000611093565b5094509492505050565b610ffd7f0000000000000000000000000000000000000000000000000000000000000000611093565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f36604051610ece929190612399565b5f80808061110787866111008b6110fa6110d38c670de0b6b3a7640000612b83565b7f0000000000000000000000000000000000000000000000000000000000000000906119a0565b906119a0565b91906119b0565b9350611133847f00000000000000000000000000000000000000000000000000000000000000006119d3565b91505f61115361114b89670de0b6b3a7640000612b83565b8a90886119b0565b905061117f817f00000000000000000000000000000000000000000000000000000000000000006119a0565b93506111ab847f00000000000000000000000000000000000000000000000000000000000000006119d3565b6111b59084612b96565b915050945094509450949050565b6001600160a01b03841615806111e057506001600160a01b038316155b156111fe5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b0316146112be576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff166112be575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f1981146112bc575f868152600d602090815260408083206001600160a01b03808a1685529083528184209086168452909152812080548592906112b6908490612b83565b90915550505b505b5f858152600a602090815260408083206001600160a01b0388168452909152812080548492906112ef908490612b83565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611325908490612b96565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f808061138f846301e133806119e7565b90505f6113b2825f88126113a357876113ac565b6113ac88612b4e565b906119d3565b90505f8613156113e4576113cf6113c8826119fb565b88906119d3565b93506113db8785612b83565b92505050610da0565b5f86121561140b576113ff6113f8826119fb565b88906119e7565b93506113db8785612ba9565b5094955f95509350505050565b5f806114226115b9565b9050808311611431575f61143b565b61143b8184612b83565b9150611467827f00000000000000000000000000000000000000000000000000000000000000006119e7565b9392505050565b5f806114b7856110fa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006114ad818c611b97565b6110fa9190612b83565b91506114e3827f00000000000000000000000000000000000000000000000000000000000000006119d3565b9050935093915050565b6114f681611bab565b610de357604051635044b7f560e01b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611544908490612b96565b90915550505f838152600b602052604081208054839290611566908490612b96565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f610f2e427f0000000000000000000000000000000000000000000000000000000000000000611d3f565b5f805f805f6115f1611d54565b600254909150611656908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000611d74565b6002549094506116b9908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611d9f565b9150611710878561170b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611dbe565b611e30565b1561171d5761171d611e71565b61172987858885611e8a565b91965094509250670de0b6b3a76400006117ab6117468784612b96565b600254611764908890600160801b90046001600160801b0316612b83565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611d9f565b11156117b9576117b9611e71565b5092959194509250565b5f838152600a602090815260408083206001600160a01b038616845290915290205481111561180557604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290611847908490612b83565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291016115ac565b6003545f9081906118ab906001600160801b031684611b97565b90506118d77f000000000000000000000000000000000000000000000000000000000000000082612b96565b6002546001600160801b03161115610b57576002547f0000000000000000000000000000000000000000000000000000000000000000906119229083906001600160801b0316612b83565b6114679190612b83565b5f80670de0b6b3a764000061193f6115b9565b6119499190612bc8565b9050808311611958575f611962565b6119628184612b83565b9150611467611999670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612bc8565b83906119e7565b5f6114678383670de0b6b3a76400005b5f825f1904841183021582026119c4575f80fd5b50910281810615159190040190565b5f6114678383670de0b6b3a7640000611ed2565b5f61146783670de0b6b3a764000084611ed2565b5f680248ce36a70cb26b3e198213611a1457505f919050565b680755bf798b4a1bf1e58212611a3d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190611b8d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611eed565b9695505050505050565b5f61146783670de0b6b3a7640000846119b0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611c61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c859190612bf3565b935093509350935080611ca057505f98975050505050505050565b868414611cd157611cb084611f1a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611d0257611ce183611f43565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611d3057611d1282611f1a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b5f611d4a8284612c26565b6114679084612b83565b6002546004545f91610f2e916001600160801b0390911690600f0b611f90565b5f611d94878787611d8d88670de0b6b3a7640000612b83565b8787611fb5565b979650505050505050565b5f611db582611daf858888611ed2565b90611fe2565b95945050505050565b5f611e28611dfe611dd784670de0b6b3a7640000612b83565b6110fa670de0b6b3a7640000611ded818a611b97565b611df79190612b83565b87906119a0565b611e1090670de0b6b3a7640000612b96565b611e2284670de0b6b3a7640000612b83565b906119e7565b949350505050565b5f80611e6685611e3e611d54565b611e489190612b96565b600254611764908790600160801b90046001600160801b0316612b83565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f611e9a89878961146e565b9092509050611ea98289612b83565b97505f611eb782888a611ed2565b9050611ec3818b612b83565b9a989950979650505050505050565b5f825f190484118302158202611ee6575f80fd5b5091020490565b5f6001600160ff1b03821115611f165760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6001600160801b03821115611f1657604051630f0af95160e11b815260040160405180910390fd5b5f6f7fffffffffffffffffffffffffffffff19821280611f7257506f7fffffffffffffffffffffffffffffff82135b15611f165760405163a5353be560e01b815260040160405180910390fd5b5f80611f9c8484612047565b909250905080611fae57611fae611e71565b5092915050565b5f80611fc5888888888888612082565b909250905080611fd757611fd7611e71565b509695505050505050565b5f815f03611ff95750670de0b6b3a7640000610d5e565b825f0361200757505f610d5e565b5f61201183611eed565b90505f61202561202086611eed565b612146565b905081810261203c670de0b6b3a764000082612c39565b9050611b8d816119fb565b5f805f8361205486611eed565b61205e9190612ba9565b90505f811215612074575f80925092505061207b565b9150600190505b9250929050565b5f805f612092898988888861236b565b90506120ac86611daf6120a58a8d612b96565b87906119d3565b98506120b9858a86611ed2565b9850888110156120cf575f80925092505061213b565b888103670de0b6b3a76400008110612104576120fd6120f6670de0b6b3a764000089611b97565b8290611fe2565b905061211c565b6121196120f6670de0b6b3a7640000896119e7565b90505b80891015612131575f8093509350505061213b565b8803925060019150505b965096945050505050565b5f8082136121675760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906121ea9084901c611eed565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f6123768585611fe2565b61238f61238786611daf868b6119a0565b8590856119b0565b611b8d9190612b96565b818382375f9101908152919050565b805160208201516001600160e01b031980821692919060048310156123d75780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b604051610180810167ffffffffffffffff81118282101715612417576124176123df565b60405290565b5f5b8381101561243757818101518382015260200161241f565b50505f910152565b5f6020828403121561244f575f80fd5b815167ffffffffffffffff80821115612466575f80fd5b818401915084601f830112612479575f80fd5b81518181111561248b5761248b6123df565b604051601f8201601f19908116603f011681019083821181831017156124b3576124b36123df565b816040528281528760208487010111156124cb575f80fd5b611d9483602083016020880161241d565b6001600160a01b0381168114610de3575f80fd5b5f60208284031215612500575f80fd5b8135611467816124dc565b8015158114610de3575f80fd5b80356125238161250b565b919050565b5f60208284031215612538575f80fd5b81356114678161250b565b5f60608284031215610b57575f80fd5b5f805f60608486031215612565575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612589575f80fd5b61259586828701612543565b9150509250925092565b5f8083601f8401126125af575f80fd5b50813567ffffffffffffffff8111156125c6575f80fd5b6020830191508360208260051b850101111561207b575f80fd5b5f805f805f80608087890312156125f5575f80fd5b8635612600816124dc565b95506020870135612610816124dc565b9450604087013567ffffffffffffffff8082111561262c575f80fd5b6126388a838b0161259f565b90965094506060890135915080821115612650575f80fd5b5061265d89828a0161259f565b979a9699509497509295939492505050565b5f805f8060808587031215612682575f80fd5b843593506020850135612694816124dc565b925060408501356126a4816124dc565b9396929550929360600135925050565b5f805f80608085870312156126c7575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f80608085870312156126f6575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115612721575f80fd5b61272d87828801612543565b91505092959194509250565b5f60208284031215612749575f80fd5b813567ffffffffffffffff81111561275f575f80fd5b611e2884828501612543565b5f806040838503121561277c575f80fd5b50508035926020909101359150565b5f805f805f60a0868803121561279f575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156127d1575f80fd5b6127dd88828901612543565b9150509295509295909350565b5f805f80608085870312156127fd575f80fd5b84359350602085013561280f816124dc565b9250604085013591506060850135612826816124dc565b939692955090935050565b5f805f805f60a08688031215612845575f80fd5b853594506020860135612857816124dc565b93506040860135612867816124dc565b925060608601359150608086013561287e816124dc565b809150509295509295909350565b5f6020828403121561289c575f80fd5b5035919050565b80356001600160801b0381168114612523575f80fd5b5f80604083850312156128ca575f80fd5b6128d3836128a3565b91506128e1602084016128a3565b90509250929050565b5f80604083850312156128fb575f80fd5b8235612906816124dc565b915060208301356129168161250b565b809150509250929050565b5f805f60608486031215612933575f80fd5b505081359360208301359350604090920135919050565b5f805f6060848603121561295c575f80fd5b83359250602084013561296e816124dc565b929592945050506040919091013590565b5f805f805f805f60e0888a031215612995575f80fd5b87356129a0816124dc565b965060208801356129b0816124dc565b955060408801356129c08161250b565b945060608801359350608088013560ff811681146129dc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f60208284031215612a09575f80fd5b611467826128a3565b8035600f81900b8114612523575f80fd5b80356001600160701b0381168114612523575f80fd5b5f6101808284031215612a4a575f80fd5b612a526123f3565b612a5b836128a3565b8152612a69602084016128a3565b6020820152612a7a604084016128a3565b6040820152612a8b606084016128a3565b6060820152612a9c60808401612a12565b6080820152612aad60a084016128a3565b60a0820152612abe60c084016128a3565b60c0820152612acf60e084016128a3565b60e0820152610100612ae2818501612518565b90820152610120612af4848201612518565b90820152610140612b06848201612a23565b90820152610160612b188482016128a3565b908201529392505050565b5f60208284031215612b33575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8201612b6257612b62612b3a565b505f0390565b5f8251612b7981846020870161241d565b9190910192915050565b81810381811115610d5e57610d5e612b3a565b80820180821115610d5e57610d5e612b3a565b8181035f831280158383131683831282161715611fae57611fae612b3a565b8082028115828204841417610d5e57610d5e612b3a565b634e487b7160e01b5f52601260045260245ffd5b5f805f8060808587031215612c06575f80fd5b84519350602085015192506040850151915060608501516128268161250b565b5f82612c3457612c34612bdf565b500690565b5f82612c4757612c47612bdf565b600160ff1b82145f1984141615612c6057612c60612b3a565b50059056fea26469706673582212200c2ceb5350630b57ee6744a11efdf3865d3d67a62c0e0390d4cd7f3e3594547264736f6c6343000816003361028060405234801562000011575f80fd5b50604051620040d7380380620040d78339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c73620004645f395f8181610d7b015261233401525f8181610d4c01526122f701525f8181610c2801528181610eab01528181610f3901528181610fc70152818161105501528181611645015281816116db0152818161189d01528181611ebe01528181611f9201526120e301525f610e1301525f8181610ded01526124d901525f8181610dc701526124b301525f8181610da1015261248d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e8501526124ff01525f8181610e39015281816112d20152612a0201525f8181610e5f0152612e2601525f81816106110152610d1d01525f818161073b01528181610cee0152818161128801528181611e36015281816125c001528181612609015281816126b6015281816126ff01528181612b5c01528181612c0501528181612ceb0152612d940152613c735ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104e7578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad1461042a578063c6e6f592146104d4575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe00146104175780638e67f87e1461042a578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a61024536600461305e565b610564565b60405161025791906130c2565b60405180910390f35b61027361026e3660046130e8565b61059b565b005b610273610283366004613110565b6105a4565b61024a6105ad565b61024a6105ec565b6102a0610603565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613139565b610642565b6102736102d936600461320a565b61065e565b6102736102ec366004613299565b610674565b6103046102ff36600461305e565b610687565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046132de565b6106f0565b604051908152602001610257565b61035f610735565b60405160ff9091168152602001610257565b61034961037f36600461331d565b6107cd565b610349610805565b61034961039a36600461334b565b610823565b6103b26103ad3660046130e8565b61082d565b6040519015158152602001610257565b61024a6103d036600461305e565b61084c565b6102736103e3366004613382565b61085a565b61024a6108a8565b6103f86108dd565b60405161025791906133c9565b61027361041336600461346a565b5050565b6103496104253660046130e8565b610bd6565b610349610c01565b6102a0610c1a565b610273610448366004613496565b610c59565b61027361045b36600461346a565b610c6a565b61027361046e3660046130e8565b50565b610479610cd5565b60405161025791906134cb565b61034961049436600461305e565b611195565b6103496104a736600461305e565b6111a2565b6104bf6104ba3660046135f1565b6111c3565b6040516102579190613630565b6102a061127a565b6103496104e236600461305e565b6112b9565b6103496104f536600461305e565b6112c6565b6105026112fc565b6040516102579190613673565b61027361051d366004613784565b611407565b6103b26105303660046137df565b61144f565b61053d611492565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6060610596610572836114f0565b60405160200161058291906130c2565b604051602081830303815290604052611616565b919050565b61046e8161163a565b61046e8161189b565b60606105e96040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b81525060405160200161058291906130c2565b90565b60606105e96001604051602001610582919061380b565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b6106538989898989898989896119b3565b505050505050505050565b61066c868686868686611ba5565b505050505050565b6106818484848433611c58565b50505050565b604080516060810182525f808252602082018190529181019190915261059660085f8481526020019081526020015f20604051602001610582919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261072e9101610582565b9392505050565b5f6105e97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610795573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b991906138b8565b6040805160ff909216602083015201610582565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ff9101610582565b92915050565b5f6105e9610811611e13565b60405160200161058291815260200190565b5f6107ff82611ea9565b5f61059661083a836120df565b60408051911515602083015201610582565b6060610596610572836121bd565b83610864816122b9565b6001600160a01b0316336001600160a01b03161461089557604051632aab8bd360e01b815260040160405180910390fd5b6108a185858585612376565b5050505050565b60606105e960405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058291906130c2565b610947604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109506123e2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109ba91906138fb565b6109c4919061390e565b90505f8215610ad35773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f0856123f4565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac39190613921565b509050610ad0818461257e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610ba357610b9e8486612592565b610ba5565b5f5b81526003546001600160801b0316602091820152604051919250610bcf91610582918491016133c9565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105969101610582565b5f6105e960095460405160200161058291815260200190565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b610c6583838333612376565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612f8a565b6105e96040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f29919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb7919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611045919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d3919061394f565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058291906134cb565b5f610596610811836125a6565b5f818152600b60209081526040808320548151928301526105969101610582565b60605f8267ffffffffffffffff8111156111df576111df61396a565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f8585838181106112285761122861397e565b9050602002013590505f81549050808484815181106112495761124961397e565b6020908102919091010152505060010161120d565b50611273816040516020016105829190613630565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b5f6105966108118361269c565b5f6105966108116112f77f0000000000000000000000000000000000000000000000000000000000000000856138fb565b612782565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e96002604051602001610582919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611411816122b9565b6001600160a01b0316336001600160a01b03161461144257604051632aab8bd360e01b815260040160405180910390fd5b61066c8686868686611c58565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ff9101610582565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e990606001610582565b606060f882901c6001600160f81b0383165f61150b826127c2565b90505f836003811115611520576115206138d3565b03611552576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061160e565b6001836003811115611566576115666138d3565b03611592578060405160200161157c9190613992565b604051602081830303815290604052935061160e565b60028360038111156115a6576115a66138d3565b036115bc578060405160200161157c91906139ca565b60038360038111156115d0576115d06138d3565b0361160e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161163191906130c2565b60405180910390fd5b611642612874565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c3919061394f565b9050336001600160a01b0382161480159061176f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611735573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611759919061394f565b6001600160a01b0316336001600160a01b031614155b8015611781575061177f336120df565b155b1561179e576040516282b42960e81b815260040160405180910390fd5b5f6117a7611e13565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613a03565b90506118286001600160a01b038516848361289c565b81611831611e13565b1461184f576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191b919061394f565b6001600160a01b0316336001600160a01b0316141580156119425750611940336120df565b155b1561195f576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a890831515815260200190565b60405180910390a150565b834211156119d45760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119fb5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ae5573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b2357604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bc257506001600160a01b038516155b15611be05760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c005760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4f57611c47858583818110611c1f57611c1f61397e565b905060200201358888868686818110611c3a57611c3a61397e565b9050602002013533611c58565b600101611c02565b50505050505050565b6001600160a01b0384161580611c7557506001600160a01b038316155b15611c935760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d53576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d53575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d51575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d4b90849061390e565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d8490849061390e565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dba9084906138fb565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ea4906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611e7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9f9190613a03565b61269c565b905090565b5f611eb2612874565b611ebb826128ee565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3c919061394f565b90506001600160a01b038116611f5560208501856130e8565b6001600160a01b031614611f7c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061202657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612010919061394f565b6001600160a01b0316336001600160a01b031614155b80156120385750612036336120df565b155b15612055576040516282b42960e81b815260040160405180910390fd5b5f61205e6123e2565b600980545f909155909150612074818387612923565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120b360408a0160208b01613110565b60408051938452602084019290925215159082015260600160405180910390a250505061059660015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561213c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121639190810190613a1a565b90505f5b81518110156121b457836001600160a01b031682828151811061218c5761218c61397e565b60200260200101516001600160a01b0316036121ac575060019392505050565b600101612167565b505f9392505050565b606060f882901c6001600160f81b0383165f6121d8826127c2565b90505f8360038111156121ed576121ed6138d3565b0361221f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061160e565b6001836003811115612233576122336138d3565b03612249578060405160200161157c9190613ada565b600283600381111561225d5761225d6138d3565b03612273578060405160200161157c9190613b11565b6003836003811115612287576122876138d3565b0361160e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ea4670de0b6b3a76400006125a6565b61244c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161254491166129b9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612576929004166129b9565b905292915050565b5f61072e8383670de0b6b3a7640000612a2d565b5f61072e83670de0b6b3a764000084612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125f457504761267d565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612656573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267a9190613a03565b90505b600f545f0361268c575f61072e565b600f5461072e9084908390612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126ea575047612773565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561274c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127709190613a03565b90505b600f5461072e90849083612a2d565b5f6127a7600b5f612794600286612a48565b81526020019081526020015f2054612a7c565b6127b8600b5f612794600187612a48565b6107ff9190613b3c565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612866576127fb600a86613b6f565b6128069060306138fb565b60f81b826001612816848761390e565b612820919061390e565b815181106128305761283061397e565b60200101906001600160f81b03191690815f1a9053508061285081613b82565b915061285f9050600a86613b9a565b94506127ea565b918290030190815292915050565b60025f540361289657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612aa9565b5f6128fc60208301836130e8565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061292f858561257e565b905061293a8161269c565b9450845f0361294c575f91505061072e565b84915061295f6040840160208501613110565b1561298e576129878561297560208601866130e8565b6129826040870187613bad565b612b0a565b91506129b1565b6129b18561299f60208601866130e8565b6129ac6040870187613bad565b612c9a565b509392505050565b5f80670de0b6b3a76400006129cc612e1f565b6129d69190613bf0565b90508083116129e5575f6129ef565b6129ef818461390e565b915061072e612a26670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bf0565b8390612592565b5f825f190484118302158202612a41575f80fd5b5091020490565b5f6001600160f81b03821115612a715760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aa55760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612abd6001600160a01b03841683612e4a565b905080515f14158015612ae1575080806020019051810190612adf9190613c07565b155b15610c6557604051635274afe760e01b81526001600160a01b0384166004820152602401611631565b5f600f548511612b1a5784612b1e565b600f545b94505f612b2a866125a6565b905085600f5f828254612b3d919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612bdf576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612bcf576040519150601f19603f3d011682016040523d82523d5f602084013e612bd4565b606091505b505080915050612c72565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6f9190613c07565b90505b80612c90576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612ca95783612cad565b600f545b93505f612cb9856125a6565b905084600f5f828254612ccc919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612d6e576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612d5e576040519150601f19603f3d011682016040523d82523d5f602084013e612d63565b606091505b505080915050612e01565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612dda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dfe9190613c07565b90505b8061066c576040516312171d8360e31b815260040160405180910390fd5b5f611ea4427f0000000000000000000000000000000000000000000000000000000000000000612e57565b606061072e83835f612e6c565b5f612e628284613b6f565b61072e908461390e565b606081471015612e915760405163cd78605960e01b8152306004820152602401611631565b5f80856001600160a01b03168486604051612eac9190613c22565b5f6040518083038185875af1925050503d805f8114612ee6576040519150601f19603f3d011682016040523d82523d5f602084013e612eeb565b606091505b5091509150612efb868383612f05565b9695505050505050565b606082612f1a57612f1582612f61565b61072e565b8151158015612f3157506001600160a01b0384163b155b15612f5a57604051639996b31560e01b81526001600160a01b0385166004820152602401611631565b508061072e565b805115612f715780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161305960405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561306e575f80fd5b5035919050565b5f5b8381101561308f578181015183820152602001613077565b50505f910152565b5f81518084526130ae816020860160208601613075565b601f01601f19169290920160200192915050565b602081525f61072e6020830184613097565b6001600160a01b038116811461046e575f80fd5b5f602082840312156130f8575f80fd5b813561072e816130d4565b801515811461046e575f80fd5b5f60208284031215613120575f80fd5b813561072e81613103565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215613152575f80fd5b8935985060208a0135975060408a013561316b816130d4565b965060608a013561317b816130d4565b955060808a013561318b81613103565b945060a08a0135935060c08a01356131a28161312b565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126131d2575f80fd5b50813567ffffffffffffffff8111156131e9575f80fd5b6020830191508360208260051b8501011115613203575f80fd5b9250929050565b5f805f805f806080878903121561321f575f80fd5b863561322a816130d4565b9550602087013561323a816130d4565b9450604087013567ffffffffffffffff80821115613256575f80fd5b6132628a838b016131c2565b9096509450606089013591508082111561327a575f80fd5b5061328789828a016131c2565b979a9699509497509295939492505050565b5f805f80608085870312156132ac575f80fd5b8435935060208501356132be816130d4565b925060408501356132ce816130d4565b9396929550929360600135925050565b5f805f606084860312156132f0575f80fd5b833592506020840135613302816130d4565b91506040840135613312816130d4565b809150509250925092565b5f806040838503121561332e575f80fd5b823591506020830135613340816130d4565b809150509250929050565b5f6020828403121561335b575f80fd5b813567ffffffffffffffff811115613371575f80fd5b82016060818503121561072e575f80fd5b5f805f8060808587031215613395575f80fd5b8435935060208501356133a7816130d4565b92506040850135915060608501356133be816130d4565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561347b575f80fd5b8235613486816130d4565b9150602083013561334081613103565b5f805f606084860312156134a8575f80fd5b8335925060208401356134ba816130d4565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516134f760208401826001600160a01b03169052565b50604083015161351260408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613584828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613602575f80fd5b823567ffffffffffffffff811115613618575f80fd5b613624858286016131c2565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156136675783518352928401929184019160010161364b565b50909695505050505050565b81516001600160801b031681526101808101602083015161369f60208401826001600160801b03169052565b5060408301516136ba60408401826001600160801b03169052565b5060608301516136d560608401826001600160801b03169052565b5060808301516136ea6080840182600f0b9052565b5060a083015161370560a08401826001600160801b03169052565b5060c083015161372060c08401826001600160801b03169052565b5060e083015161373b60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526135e9565b5f805f805f60a08688031215613798575f80fd5b8535945060208601356137aa816130d4565b935060408601356137ba816130d4565b92506060860135915060808601356137d1816130d4565b809150509295509295909350565b5f80604083850312156137f0575f80fd5b82356137fb816130d4565b91506020830135613340816130d4565b5f60208083525f84545f60018260011c9150600183168061382d57607f831692505b60208310810361384b57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561386a5760018114613880576138a9565b60ff198616825284151560051b820196506138a9565b5f8b8152602090205f5b868110156138a35781548482015290850190890161388a565b83019750505b50949998505050505050505050565b5f602082840312156138c8575f80fd5b815161072e8161312b565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ff576107ff6138e7565b818103818111156107ff576107ff6138e7565b5f8060408385031215613932575f80fd5b82519150602083015161334081613103565b8051610596816130d4565b5f6020828403121561395f575f80fd5b815161072e816130d4565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516139bd816011850160208701613075565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516139f6816012850160208701613075565b9190910160120192915050565b5f60208284031215613a13575f80fd5b5051919050565b5f6020808385031215613a2b575f80fd5b825167ffffffffffffffff80821115613a42575f80fd5b818501915085601f830112613a55575f80fd5b815181811115613a6757613a6761396a565b8060051b604051601f19603f83011681018181108582111715613a8c57613a8c61396a565b604052918252848201925083810185019188831115613aa9575f80fd5b938501935b82851015613ace57613abf85613944565b84529385019392850192613aae565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613b04816010850160208701613075565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516139bd816011850160208701613075565b8181035f831280158383131683831282161715611273576112736138e7565b634e487b7160e01b5f52601260045260245ffd5b5f82613b7d57613b7d613b5b565b500690565b5f60018201613b9357613b936138e7565b5060010190565b5f82613ba857613ba8613b5b565b500490565b5f808335601e19843603018112613bc2575f80fd5b83018035915067ffffffffffffffff821115613bdc575f80fd5b602001915036819003821315613203575f80fd5b80820281158282048414176107ff576107ff6138e7565b5f60208284031215613c17575f80fd5b815161072e81613103565b5f8251613c33818460208701613075565b919091019291505056fea264697066735822122021b09f56eae2e6401e682ea513847aab1fe9991d765a55efc881bef2565b0f3b64736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004103380380620041038339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c666200049d5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612f3c01525f818161139301528181611791015281816117f401528181612b2501528181612b6101528181612d590152612f1601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ef001525f611ba501525f8181611cc601528181612307015261237f01525f81816108a901528181610f4301528181611c9a015261235301525f8181610e3e01526122cd01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612f6201525f81816107e701528181610ec4015281816116ef015281816121a6015261348601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f8181611984015281816119cd015281816125e30152818161262c01528181612701015281816127aa0152818161289001526129390152613c665ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613716565b610070565b60405190815260200160405180910390f35b61004b61006b366004613716565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613784565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613797565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836137ca565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137f2565b6102bd8a6102b78d8f613784565b90611584565b8d6102cb60408c018c61380d565b6040516102df989796959493929190613878565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613784565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836138bf565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836137ca565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137f2565b8a61050260408b018b61380d565b60405161051597969594939291906138e6565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836137ca565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611a60565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613784565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a75565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b92505b5061073e83611aab565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613926565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613784565b4290611ad4565b8461102b565b6107db88611ae8565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613926565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c85565b915091508060095f8282546108789190613784565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613784565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d52565b91506108e16108dc8385611584565b611d9b565b600680546002906109029084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611aab565b60068054601090610951908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c85565b915091508060095f8282546109c49190613784565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613926565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611aab565b60068054601090610a68908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613797565b5f61134e565b8e610ac58482611dc4565b50505b5f610ad284611fb3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613979565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120f5565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613926565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a75565b90505f610d5f8a61217b565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121ca565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612239565b612268565b15610e7457610e746113ec565b5f805f610e8385878b876122a9565b9c5091945092509050610e968184613926565b610ea09089613784565b9750610eac8284613784565b610eb6908d613784565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613926565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d52565b9950610f73878a613926565b9850670de0b6b3a7640000610ff0610f8b8787613784565b600254610fa9908f90600160801b90046001600160801b0316613926565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6123bb565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613926565b6110d19190613994565b85670de0b6b3a76400006110e5878a613926565b6110ef9190613994565b859291906001612457565b611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611aab565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613994565b600554600160801b90046001600160801b031691908a5f612457565b600580546001600160801b03928316600160801b0292169190911790556111d286611aab565b6111dc90826139ab565b600480546001600160801b03928316600160801b02921691909117905561120284611aab565b600280545f9061121c9084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611249836124fd565b600480545f9061125d908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611aab565b600280546010906112af908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613797565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612538565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361259a565b6003546113ce91906001600160801b0316613784565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611dc4565b5f805f61141d84611ae8565b90925090505f61142d8686611584565b905081831115611445576114428683856125ae565b95505b8281101561145757808303925061145b565b5f92505b61146483611d9b565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611aab565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816125c9565b9450845f03611516575f91505061157d565b84915061152960408401602085016137f2565b15611558576115518561153f60208601866137ca565b61154c604087018761380d565b6126af565b915061157b565b61157b8561156960208601866137ca565b611576604087018761380d565b61283f565b505b9392505050565b5f61157d8383670de0b6b3a76400006125ae565b5f805f805f805f806115a8611a75565b90505f6115b48a61217b565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006129cc565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b985061169a84878b886122a9565b9c5091945090925090506116ae8284613926565b6116b89089613926565b97506116c48184613784565b6116ce908e613926565b9c506116da8a8e613784565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613926565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016123bb565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613926565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613797565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612a1f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613994565b6005546001600160801b031691908c5f612457565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613926565b90506118a281611aab565b600380546001600160801b03928316600160801b0292169190911790556118c883611aab565b600280546001600160801b0319166001600160801b03929092169190911790556118f1826124fd565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611aab565b6002805460109061193c908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119b8575047611a41565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a3e91906139f8565b90505b600f545f03611a50575f61157d565b600f5461157d90849083906125ae565b5f611a6b8284613a23565b61157d9084613926565b6002546004545f916105a6916001600160801b0390911690600f0b612a1f565b5f61007d82611aa58588886125ae565b90612a44565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611ae2578261157d565b50919050565b6006545f908190611b0a908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c80575f611b338383613926565b9050611b426110fa8286612ab3565b60068054601090611b64908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b9c8583612ac790919063ffffffff16565b90505f611bc9827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611bdc9190613784565b90915550611bec90508183613926565b9150611bf782611aab565b600280545f90611c119084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3e82612adb565b600480545f90611c52908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c918785612ac7565b91505f611cbe837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611cea817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d0d57611cfc8282613926565b611d069084613926565b9250611d24565b611d178282613926565b611d219084613784565b92505b86861015611d4757611d378387896125ae565b9250611d448287896125ae565b91505b509550959350505050565b5f80611d6984611d638a888a6125ae565b90612ac7565b9050611d768884866125ae565b611d809082613784565b905086811115611d905786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e0e916001600160801b031690613926565b9050805f03611e2157600191505061131b565b5f611e2b85612b04565b9050805f03611e3f5760019250505061131b565b5f80611e4c838589612b9f565b9150915080611e61575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e9c929190613ab4565b6040805180830381865af4158015611eb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eda9190613b29565b91509150611ef8611eea82611321565b611ef390613b4b565b612d13565b925082611f0d575f965050505050505061131b565b611f1682611aab565b600780545f90611f309084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5d81611aab565b60078054601090611f7f908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fda87612ea7565b6040518263ffffffff1660e01b8152600401611ff69190613b65565b6040805180830381865af4158015612010573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120349190613b74565b915091508061204957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120ae91613784565b6120b89190613926565b9050805f036120ce57505f958695509350505050565b5f8087116120dc575f6120e7565b6120e78488846125ae565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561211857612118613ba2565b6040519080825280601f01601f191660200182016040528015612142576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612162578692505b828152825f602083013e90999098509650505050505050565b5f806121856105ab565b9050808311612194575f61219e565b61219e8184613926565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612ac7565b5f80806121ea6121e288670de0b6b3a7640000613926565b899087612fe1565b9050861561222c576121fc888861259a565b915061221d8a8a846122168a670de0b6b3a7640000613926565b8989613004565b92506122298382613784565b90505b9750975097945050505050565b5f61225661224f84670de0b6b3a7640000613926565b839061259a565b61157d90670de0b6b3a7640000613926565b5f8061229e85612276611a75565b6122809190613784565b600254610fa9908790600160801b90046001600160801b0316613926565b909210949350505050565b5f8080806122ff87866122f88b6122f26122cb8c670de0b6b3a7640000613926565b7f00000000000000000000000000000000000000000000000000000000000000009061259a565b9061259a565b9190612fe1565b935061232b847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61234b61234389670de0b6b3a7640000613926565b8a9088612fe1565b9050612377817f000000000000000000000000000000000000000000000000000000000000000061259a565b93506123a3847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123ad9084613784565b915050945094509450949050565b5f805f805f80888810156124275786156123dd576123da8d898b6125ae565b9c505b6123e88c898b6125ae565b9b506123f38b611321565b6123fc8d611321565b6124069190613797565b90506124138b898b6125ae565b9a506124208a898b6125ae565b9950612446565b6124308b611321565b6124398d611321565b6124439190613797565b90505b9b9c9a9b999a975050505050505050565b5f825f036124665750846124f4565b81156124b8576124976124798487613784565b6124838587611584565b61248d888a611584565b611d639190613784565b90505f6124a48588611ad4565b9050808210156124b2578091505b506124f4565b8285036124c657505f6124f4565b6124f16124d38487613926565b6124dd858761259a565b6124e7888a611584565b611d639190613926565b90505b95945050505050565b5f60016001607f1b031982128061251a575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612544845f613026565b61254e845f613026565b6125589190613797565b90505f8113156125735761256c8186613784565b9450612591565b5f8112156125915761258481613b4b565b61258e9086613926565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612fe1565b5f825f1904841183021582026125c2575f80fd5b5091020490565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126175750476126a0565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612679573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269d91906139f8565b90505b600f5461157d908490836125ae565b5f600f5485116126bf57846126c3565b600f545b94505f6126cf8661196a565b905085600f5f8282546126e29190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612784576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612774576040519150601f19603f3d011682016040523d82523d5f602084013e612779565b606091505b505080915050612817565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156127f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128149190613bb6565b90505b80612835576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f54841161284e5783612852565b600f545b93505f61285e8561196a565b905084600f5f8282546128719190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612913576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612903576040519150601f19603f3d011682016040523d82523d5f602084013e612908565b606091505b5050809150506129a6565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561297f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a39190613bb6565b90505b806129c4576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806129ec6129e488670de0b6b3a7640000613926565b8990876125ae565b9050861561222c576129fe8888611584565b915061221d8a8a84612a188a670de0b6b3a7640000613926565b898961303b565b5f80612a2b848461304b565b909250905080612a3d57612a3d6113ec565b5092915050565b5f815f03612a5b5750670de0b6b3a764000061131b565b825f03612a6957505f61131b565b5f612a7383611321565b90505f612a87612a8286611321565b613086565b9050818102612a9e670de0b6b3a764000082613bd1565b9050612aa9816132ab565b9695505050505050565b5f61157d83670de0b6b3a764000084612fe1565b5f61157d83670de0b6b3a7640000846125ae565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612b1e906001600160801b031684612ab3565b9050612b4a7f000000000000000000000000000000000000000000000000000000000000000082613784565b6002546001600160801b03161115611ae2576002547f000000000000000000000000000000000000000000000000000000000000000090612b959083906001600160801b0316613926565b61157d9190613926565b612ba7613677565b5f80612bb284612ea7565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612bec9190613b65565b6040805180830381865af4158015612c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c2a9190613b74565b9350905082612c3e57505f9150612d0b9050565b5f612c64612c5f84610160015185610140015161158490919063ffffffff16565b611321565b612c84612c5f85610120015186610100015161259a90919063ffffffff16565b612c8e9190613797565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612dc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ded9190613bfd565b935093509350935080612e0857505f98975050505050505050565b868414612e3957612e1884611aab565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612e6a57612e49836124fd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e9857612e7a82611aab565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612eaf6136c1565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fa7911661343d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612fd99290041661343d565b905292915050565b5f825f190484118302158202612ff5575f80fd5b50910281810615159190040190565b5f806130148888888888886134b1565b909250905080611d9057611d906113ec565b5f818313613034578161157d565b5090919050565b5f8061301488888888888861358d565b5f805f8361305886611321565b6130629190613797565b90505f811215613078575f80925092505061307f565b9150600190505b9250929050565b5f8082136130a75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061312a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132c457505f919050565b680755bf798b4a1bf1e582126132ed576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612aa974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006134506105ab565b61345a9190613994565b9050808311613469575f613473565b6134738184613926565b915061157d6134aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613994565b8390612ac7565b5f805f6134c18989888888613649565b9050868810156134d7575f809250925050613582565b96869003966134e68887612a44565b9750878110156134fc575f809250925050613582565b87810361350a818688612fe1565b9050670de0b6b3a7640000811061353e57613537613530670de0b6b3a764000089612ab3565b8290612a44565b9050613556565b613553613530670de0b6b3a764000089612ac7565b90505b6135608186612ab3565b905089811015613577575f80935093505050613582565b899003925060019150505b965096945050505050565b5f805f61359d8989888888613649565b90506135ad86611aa5898b613784565b9750878110156135c3575f809250925050613582565b8781036135d1818688612fe1565b9050670de0b6b3a764000081106135fe576135f7613530670de0b6b3a764000089612ab3565b9050613616565b613613613530670de0b6b3a764000089612ac7565b90505b6136208186612ab3565b9050808a1015613637575f80935093505050613582565b90980398600198509650505050505050565b5f6136548585612a44565b61366d61366586611aa5868b61259a565b859085612fe1565b6124f19190613784565b60405180610120016040528061368b6136c1565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613729575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613754575f80fd5b850160608188031215613765575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613770565b8181035f831280158383131683831282161715612a3d57612a3d613770565b6001600160a01b0381168114610591575f80fd5b5f602082840312156137da575f80fd5b813561157d816137b6565b8015158114610591575f80fd5b5f60208284031215613802575f80fd5b813561157d816137e5565b5f808335601e19843603018112613822575f80fd5b83018035915067ffffffffffffffff82111561383c575f80fd5b60200191503681900382131561307f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6138b160e083018486613850565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138de576138de613770565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61391960c083018486613850565b9998505050505050505050565b8181038181111561131b5761131b613770565b6001600160701b03818116838216019080821115612a3d57612a3d613770565b6001600160801b03818116838216019080821115612a3d57612a3d613770565b5f60208284031215613989575f80fd5b815161157d816137b6565b808202811582820484141761131b5761131b613770565b6001600160801b03828116828216039080821115612a3d57612a3d613770565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613770565b5f60208284031215613a08575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a3157613a31613a0f565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ac7828551613a36565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b3a575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b5f57613b5f613770565b505f0390565b610180810161131b8284613a36565b5f8060408385031215613b85575f80fd5b825191506020830151613b97816137e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613bc6575f80fd5b815161157d816137e5565b5f82613bdf57613bdf613a0f565b600160ff1b82145f1984141615613bf857613bf8613770565b500590565b5f805f8060808587031215613c10575f80fd5b8451935060208501519250604085015191506060850151613765816137e556fea264697066735822122034da2b5732f62280d0c6e2269d467a1f7828d6d5aff85ef3b012edddfc43472564736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004390380380620043908339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ebb620004d55f395f50505f50505f610c7301525f50505f818160f901528181610302015261315701525f81816115f9015281816120f501528181612158015281816128df01528181612d4701528181612d8301528181612f74015261313101525f818161083101528181610dcd01528181610e0f01528181610f0101528181611367015281816113c50152818161199c01528181611a2b015261310b01525f611d1f01525f8181611e40015281816129d001528181612a48015261326f01525f81816109ee01528181610e820152818161146001528181611e140152612a1c01525f8181610e610152818161299c015261322b01525f818161085201528181610dab01528181610e3001528181610f2201528181611345015281816113e6015261317d01525f81816101d3015281816103960152818161092c01526136f301525f81816106f20152818161076e015281816107e2015281816108ad01526108e501525f50505f818161055b015281816114c901528181611512015281816117a1015281816117ea01528181611879015281816118fa01528181611a9601528181611b1701528181612b2f0152612b780152613ebb5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461396b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461396b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d9836105c5565b5f806100e588866105fd565b90925090505f6100f583836106ce565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106eb565b905061017281846004600161071b565b505f805f6101808787610d7f565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139d9565b909155506101ce9050844283610f5e565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139d9565b98506102068389888c611097565b5f61021260018b61122e565b905061022b8161022560208e018e613a00565b8b611262565b8d8a8a898e8561023e6020830183613a00565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a28565b8961028960408a018a613a43565b60405161029c9796959493929190613aae565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b610300836105c5565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a611307565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106eb565b90505f61038e6103846106eb565b846004600161071b565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139d9565b90505f805f806103cc8e8988611319565b60098054949850929650909450925083915f906103ea9084906139d9565b909155506103fb9050874283610f5e565b61040d610408858a61149b565b6114af565b6104189060016139d9565b9350505f61042784898d6115ac565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105fd565b508e905061046481858b896115d3565b5f61047060028861122e565b90508c61048a826104846020840184613a00565b85611262565b858b868461049b6020860186613a00565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a28565b6104ec896104e68a8d613aee565b906106ce565b8d6104fa60408e018e613a43565b60405161050e989796959493929190613b01565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906105a557503415155b156105c357604051631574f9f360e01b815260040160405180910390fd5b565b5f6105d36020830183613a00565b6001600160a01b0316036105fa5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806106106040850160208601613a28565b156106355761062b856106266040870187613a43565b611786565b909350905061064d565b503461064d856106486040870187613a43565b611a10565b610655611307565b915080156106c5576040515f90339083908381818185875af1925050503d805f811461069c576040519150601f19603f3d011682016040523d82523d5f602084013e6106a1565b606091505b50509050806106c3576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106e28383670de0b6b3a7640000611bb2565b90505b92915050565b5f610716427f0000000000000000000000000000000000000000000000000000000000000000611bcd565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074257504286115b1561075b57600101546001600160801b03169050610d77565b5f805f6107666106eb565b90505f6107937f00000000000000000000000000000000000000000000000000000000000000008b6139d9565b90505b81811015610807575f818152600860205260409020600101546001600160801b031680156107df575f828152600860205260409020549094506001600160801b03169250610807565b507f000000000000000000000000000000000000000000000000000000000000000001610796565b835f036108795788935061087661081c611be2565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b92505b5061088383611c21565b6001850180546001600160801b0319166001600160801b03929092169190911790556108d96108d27f00000000000000000000000000000000000000000000000000000000000000008b613aee565b8a84610f5e565b6109178961091161090a7f0000000000000000000000000000000000000000000000000000000000000000836139d9565b4290611c4e565b84610f5e565b61092088611c62565b505f90506008816109517f00000000000000000000000000000000000000000000000000000000000000008d613aee565b815260208101919091526040015f908120600101546001600160801b0316915061097c60028c61122e565b5f818152600b60205260408120549192508c8c8315610abd57600192505f806109a886898d865f611dff565b915091508060095f8282546109bd91906139d9565b909155506109d89050865f846109d281611ecc565b88611ef5565b6109e281836139d9565b9150610a1286838a8e877f000000000000000000000000000000000000000000000000000000000000000061206c565b9150610a26610a2183856106ce565b6120b5565b60068054600290610a479084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7482611c21565b60068054601090610a96908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ac960018461122e565b5f818152600b60205260409020549091508015610bd457600194505f80610af4838b8f886001611dff565b915091508060095f828254610b0991906139d9565b90915550610b249050835f84610b1e81611ecc565b8a6120de565b610b2e8183613aee565b9150610b3d610a2183876106ce565b60068054600290610b5e9084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b8b82611c21565b60068054601090610bad908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c0d57610bff610be687611ecc565b610bef83611ecc565b610bf99190613b88565b5f6122ce565b8e610c0a848261230d565b50505b5f610c17846124fc565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf19190613ba7565b90506001600160a01b03811615610d6557610d625a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061263e565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d8c611be2565b600254909150610df1908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006126c4565b600254909450610e54908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b9150610eab8785610ea6857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006126ef565b612753565b15610eb857610eb8612794565b610ec4878588856127ad565b91965094509250670de0b6b3a7640000610f46610ee187846139d9565b600254610eff908890600160801b90046001600160801b0316613aee565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b1115610f5457610f54612794565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f895750505050565b5f848152600860205260408120546001600160801b031690819003610fe157610fb183611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561105e565b61103261102d670de0b6b3a7640000610ffa8886613aee565b6110049190613bc2565b85670de0b6b3a7640000611018878a613aee565b6110229190613bc2565b8592919060016127f5565b611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106784611c21565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110d961102d826110c3670de0b6b3a764000086613bc2565b6005546001600160801b031691908860016127f5565b600580546001600160801b0319166001600160801b039290921691909117905561110285611c21565b600280545f9061111c9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114984611c21565b6002805460109061116b908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061119884611c21565b6111a29082613b68565b600380546001600160801b03808416600160801b02911617905590505f6111c883612899565b90506111e6816111d787611ecc565b6111e19084613bf9565b6122ce565b6111ef846128d9565b6111fb576111fb612794565b5f61120585612938565b90508061122557604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112939084906139d9565b90915550505f838152600b6020526040812080548392906112b59084906139d9565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f610716670de0b6b3a76400006114af565b5f805f805f611326611be2565b60025490915061138b908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612944565b9350876113988589612964565b11156113a6576113a6612794565b6002545f90819061140a908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b93506114208a670de0b6b3a7640000868c612978565b5091935090915061143390508183613aee565b61143d9087613aee565b95508861148a816114848d611452868c613aee565b8d61145d8782612a84565b877f0000000000000000000000000000000000000000000000000000000000000000612a99565b90612964565b975090945050505093509350935093565b5f6106e283670de0b6b3a764000084612ab9565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016114fd575047611586565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561155f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115839190613c20565b90505b600f545f03611595575f6115a5565b600f546115a59084908390611bb2565b9392505050565b5f6115bd6040830160208401613a28565b156115c95750826115a5565b610d778484612adc565b6002546001600160801b0316838110156115ef576115ef612794565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611627908390600f0b612af0565b101561163557611635612794565b60045461167f9061102d90600160801b90046001600160801b0316611662670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908960016127f5565b600580546001600160801b03928316600160801b0292169190911790556116a581611c21565b600280546001600160801b0319166001600160801b03929092169190911790556116ce85611c21565b600280546010906116f0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061171d85611c21565b6004805460109061173f908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61176d83612899565b90506111e68161177c88611ecc565b6111e19084613b88565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016117d557504761185e565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613c20565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016118d857873410156118c7576040516312171d8360e31b815260040160405180910390fd5b6118d18834613aee565b905061196f565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190613c37565b91505b8161198d576040516312171d8360e31b815260040160405180910390fd5b600f545f036119d1576119c0887f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f81905594509250611a08915050565b600f545f906119e2908a9086611bb2565b905080600f5f8282546119f591906139d9565b90915550909550909350611a0892505050565b935093915050565b5f611a1a846114af565b9050600f545f03611a5757611a4f817f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f55611a7b565b5f611a6182612b15565b905080600f5f828254611a7491906139d9565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611af55782341015611ae4576040516312171d8360e31b815260040160405180910390fd5b611aee8334613aee565b9050611b8c565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b899190613c37565b91505b81611baa576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202611bc6575f80fd5b5091020490565b5f611bd88284613c66565b6106e29084613aee565b6002546004545f91610716916001600160801b0390911690600f0b612af0565b5f611c1882611c12858888611bb2565b90612bfb565b95945050505050565b5f6001600160801b03821115611c4a57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611c5c57826106e2565b50919050565b6006545f908190611c84908490600160801b90046001600160801b03166106ce565b6006546201000090046001600160701b03169250905081811115611dfa575f611cad8383613aee565b9050611cbc61102d828661149b565b60068054601090611cde908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d168583612adc90919063ffffffff16565b90505f611d43827f00000000000000000000000000000000000000000000000000000000000000006106ce565b90508060095f828254611d5691906139d9565b90915550611d6690508183613aee565b9150611d7182611c21565b600280545f90611d8b9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611db882612c60565b600480545f90611dcc908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611e0b8785612adc565b91505f611e38837f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050611e64817f00000000000000000000000000000000000000000000000000000000000000006106ce565b91508315611e8757611e768282613aee565b611e809084613aee565b9250611e9e565b611e918282613aee565b611e9b90846139d9565b92505b86861015611ec157611eb1838789611bb2565b9250611ebe828789611bb2565b91505b509550959350505050565b5f6001600160ff1b03821115611c4a5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611f3d61102d82611f21670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908a5f6127f5565b600580546001600160801b03928316600160801b029216919091179055611f6386611c21565b611f6d9082613bd9565b600480546001600160801b03928316600160801b029216919091179055611f9384611c21565b600280545f90611fad9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fda83612c89565b600480545f90611fee908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061201e85611c21565b60028054601090612040908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120838461207d8a888a611bb2565b90612adc565b9050612090888486611bb2565b61209a90826139d9565b9050868111156120aa5786810391505b509695505050505050565b5f6001600160701b03821115611c4a5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061212057507f000000000000000000000000000000000000000000000000000000000000000061211e8583613aee565b105b1561212d5761212d612794565b6004549084900390600f0b6121428482613b88565b90508361214e86611ecc565b13801561218357507f00000000000000000000000000000000000000000000000000000000000000006121818383612af0565b105b1561219057612190612794565b600354600160801b90046001600160801b03166121d161102d826121bc670de0b6b3a764000088613bc2565b6005546001600160801b031691908c5f6127f5565b600580546001600160801b0319166001600160801b03929092169190911790556121fb8882613aee565b905061220681611c21565b600380546001600160801b03928316600160801b02921691909117905561222c83611c21565b600280546001600160801b0319166001600160801b039290921691909117905561225582612c89565b600480546001600160801b0319166001600160801b039290921691909117905561227e87611c21565b600280546010906122a0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122e99061102d906001600160801b03168484612cc4565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612357916001600160801b031690613aee565b9050805f0361236a5760019150506106e5565b5f61237485612d26565b9050805f03612388576001925050506106e5565b5f80612395838589612dc1565b91509150806123aa575f9450505050506106e5565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123e5929190613d24565b6040805180830381865af41580156123ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124239190613d99565b9150915061244161243382611ecc565b61243c90613dbb565b612f2e565b925082612456575f96505050505050506106e5565b61245f82611c21565b600780545f906124799084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124a681611c21565b600780546010906124c8908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612523876130c2565b6040518263ffffffff1660e01b815260040161253f9190613dd5565b6040805180830381865af4158015612559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061257d9190613de4565b915091508061259257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125f7916139d9565b6126019190613aee565b9050805f0361261757505f958695509350505050565b5f808711612625575f612630565b612630848884611bb2565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561266157612661613e12565b6040519080825280601f01601f19166020018201604052801561268b576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126ab578692505b828152825f602083013e90999098509650505050505050565b5f6126e48787876126dd88670de0b6b3a7640000613aee565b87876131fc565b979650505050505050565b5f610d7761272f61270884670de0b6b3a7640000613aee565b611484670de0b6b3a764000061271e818a61149b565b6127289190613aee565b8790612964565b61274190670de0b6b3a76400006139d9565b61207d84670de0b6b3a7640000613aee565b5f8061278985612761611be2565b61276b91906139d9565b600254610eff908790600160801b90046001600160801b0316613aee565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6127bd89878961321e565b90925090506127cc8289613aee565b97505f6127da82888a611bb2565b90506127e6818b613aee565b9a989950979650505050505050565b5f825f03612804575084611c18565b81156128565761283561281784876139d9565b61282185876106ce565b61282b888a6106ce565b61207d91906139d9565b90505f6128428588611c4e565b905080821015612850578091505b50611c18565b82850361286457505f611c18565b61288f6128718487613aee565b61287b8587612964565b612885888a6106ce565b61207d9190613aee565b9695505050505050565b5f6128be600b5f6128ab60028661122e565b81526020019081526020015f2054611ecc565b6128cf600b5f6128ab60018761122e565b6106e59190613b88565b5f6129047f000000000000000000000000000000000000000000000000000000000000000083612964565b60035461291a91906001600160801b03166139d9565b600254612930906001600160801b0316846106ce565b101592915050565b5f6106e582600461230d565b5f6126e487878761295d88670de0b6b3a7640000613aee565b878761329d565b5f6106e28383670de0b6b3a7640000612ab9565b5f8080806129c887866129c18b61148461299a8c670de0b6b3a7640000613aee565b7f000000000000000000000000000000000000000000000000000000000000000090612964565b9190612ab9565b93506129f4847f00000000000000000000000000000000000000000000000000000000000000006106ce565b91505f612a14612a0c89670de0b6b3a7640000613aee565b8a9088612ab9565b9050612a40817f0000000000000000000000000000000000000000000000000000000000000000612964565b9350612a6c847f00000000000000000000000000000000000000000000000000000000000000006106ce565b612a7690846139d9565b915050945094509450949050565b5f818311612a9257816106e2565b5090919050565b5f80612ab084612aaa8a888a612ab9565b9061149b565b90506120908884865b5f825f190484118302158202612acd575f80fd5b50910281810615159190040190565b5f6106e283670de0b6b3a764000084611bb2565b5f80612afc84846132ad565b909250905080612b0e57612b0e612794565b5092915050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612b63575047612bec565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612bc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be99190613c20565b90505b600f546115a590849083611bb2565b5f815f03612c125750670de0b6b3a76400006106e5565b825f03612c2057505f6106e5565b5f612c2a83611ecc565b90505f612c3e612c3986611ecc565b6132e5565b9050818102612c55670de0b6b3a764000082613e26565b905061288f8161350a565b5f60016001607f1b03821115611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ca6575060016001607f1b0382135b15611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f80612cd0845f61369c565b612cda845f61369c565b612ce49190613b88565b90505f811315612cff57612cf881866139d9565b9450612d1d565b5f811215612d1d57612d1081613dbb565b612d1a9086613aee565b94505b50929392505050565b6003545f908190612d40906001600160801b03168461149b565b9050612d6c7f0000000000000000000000000000000000000000000000000000000000000000826139d9565b6002546001600160801b03161115611c5c576002547f000000000000000000000000000000000000000000000000000000000000000090612db79083906001600160801b0316613aee565b6115a59190613aee565b612dc96138cc565b5f80612dd4846130c2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e0e9190613dd5565b6040805180830381865af4158015612e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4c9190613de4565b9350905082612e6057505f9150611a089050565b5f612e86612e818461016001518561014001516106ce90919063ffffffff16565b611ecc565b612ea6612e8185610120015186610100015161296490919063ffffffff16565b612eb09190613b88565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612fe4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130089190613e52565b93509350935093508061302357505f98975050505050505050565b8684146130545761303384611c21565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146130855761306483612c89565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146130b35761309582611c21565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b6130ca613916565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916131c291166136aa565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926131f4929004166136aa565b905292915050565b5f8061320c88888888888861371e565b9092509050806120aa576120aa612794565b5f806132678561148485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061325d818c61149b565b6114849190613aee565b9150613293827f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050935093915050565b5f8061320c8888888888886137e2565b5f805f836132ba86611ecc565b6132c49190613b88565b90505f8112156132da575f8092509250506106c7565b946001945092505050565b5f8082136133065760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133899084901c611ecc565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361352357505f919050565b680755bf798b4a1bf1e5821261354c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ecc565b5f818313612a9257816106e2565b5f80670de0b6b3a76400006136bd6106eb565b6136c79190613bc2565b90508083116136d6575f6136e0565b6136e08184613aee565b91506115a5613717670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc2565b8390612adc565b5f805f61372e898988888861389e565b905061374886611c126137418a8d6139d9565b87906106ce565b9850613755858a86611bb2565b98508881101561376b575f8092509250506137d7565b888103670de0b6b3a764000081106137a057613799613792670de0b6b3a76400008961149b565b8290612bfb565b90506137b8565b6137b5613792670de0b6b3a764000089612adc565b90505b808910156137cd575f809350935050506137d7565b8803925060019150505b965096945050505050565b5f805f6137f2898988888861389e565b905061380286611c12898b6139d9565b975087811015613818575f8092509250506137d7565b878103613826818688612ab9565b9050670de0b6b3a764000081106138535761384c613792670de0b6b3a76400008961149b565b905061386b565b613868613792670de0b6b3a764000089612adc565b90505b613875818661149b565b9050808a101561388c575f809350935050506137d7565b90980398600198509650505050505050565b5f6138a98585612bfb565b6138c26138ba86611c12868b612964565b859085612ab9565b61288f91906139d9565b6040518061012001604052806138e0613916565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561397e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139a9575f80fd5b8501606081880312156139ba575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106e5576106e56139c5565b6001600160a01b03811681146105fa575f80fd5b5f60208284031215613a10575f80fd5b81356115a5816139ec565b80151581146105fa575f80fd5b5f60208284031215613a38575f80fd5b81356115a581613a1b565b5f808335601e19843603018112613a58575f80fd5b83018035915067ffffffffffffffff821115613a72575f80fd5b6020019150368190038213156106c7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613ae160c083018486613a86565b9998505050505050505050565b818103818111156106e5576106e56139c5565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b3a60e083018486613a86565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612b0e57612b0e6139c5565b6001600160801b03818116838216019080821115612b0e57612b0e6139c5565b8181035f831280158383131683831282161715612b0e57612b0e6139c5565b5f60208284031215613bb7575f80fd5b81516115a5816139ec565b80820281158282048414176106e5576106e56139c5565b6001600160801b03828116828216039080821115612b0e57612b0e6139c5565b8082018281125f831280158216821582161715613c1857613c186139c5565b505092915050565b5f60208284031215613c30575f80fd5b5051919050565b5f60208284031215613c47575f80fd5b81516115a581613a1b565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7457613c74613c52565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106e5576106e56139c5565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d37828551613ca6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613daa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dcf57613dcf6139c5565b505f0390565b61018081016106e58284613ca6565b5f8060408385031215613df5575f80fd5b825191506020830151613e0781613a1b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3457613e34613c52565b600160ff1b82145f1984141615613e4d57613e4d6139c5565b500590565b5f805f8060808587031215613e65575f80fd5b84519350602085015192506040850151915060608501516139ba81613a1b56fea2646970667358221220866c28df534d8c8a6e0f290d5c82cfde44a3eecea72f04a3e4f9fe6dc2d78f5f64736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004328380380620043288339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613e42620004e65f395f50505f50505f6112f601525f81816102f801528181610327015261035401525f818160d901528181610596015261170c01525f81816108320152818161091d015281816109ad01528181610ab2015281816115de015281816116e6015281816123dd0152818161244001528181612ce90152818161319301526131cf01525f8181610139015281816108a201528181610eb4015281816114a70152818161150a0152818161154f015281816116c001528181611bad0152611c3c01525f611fee01525f8181612143015261341e01525f8181611071015261211701525f6133d401525f818161017b015281816108f501528181610ed501528181611477015281816114da01528181611570015261173201525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610faf0152612c7f01525f818161028d01528181610d7a01528181610df101528181610e6501528181610f300152610f6801525f50505f8181610bb6015281816119b2015281816119fb01528181611a8a01528181611b0b01528181611ca701528181611d2801528181612ed901528181612f2201528181612fcf01526130180152613e425ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138c7565b610064565b60405190815260200160405180910390f35b61003f61005f366004613926565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610c20565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c7d565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610ca2565b915091505f6101e5610d73565b90506101f5818360046001610d9e565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613986565b611402565b611448565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613999565b815260208101919091526040015f20546001600160801b03167f000000000000000000000000000000000000000000000000000000000000000061164c565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613986565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613999565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613999565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613986565b90505f805f61042d8a611677565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a2a565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a39565b91506104b96104b48c6117b1565b6117de565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a2a565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a39565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613999565b9190611804565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e61181f565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a64565b8e611833565b610625896118d8565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613986565b9b5090508a158061071857506107158c5f6118e4565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b611804565b61074f565b5f5b905061075e6020850185613a64565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613a8c565b866107a960408c018c613aa7565b6040516107bc9796959493929190613aea565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610c20565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610ca2565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b3d565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b54565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118f8565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f80611448565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c8561191d565b600280546001600160801b0319166001600160801b0392909216919091179055610a6584611946565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e8361191d565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f0000000000000000000000000000000000000000000000000000000000000000611833565b610aed5f610ae760208c018c613a64565b8a611833565b610b02610af8610d73565b8760046001610d9e565b508a8a8a610b136020820182613a64565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613a8c565b87610b5e6040890189613aa7565b604051610b719796959493929190613aea565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590610c0057503415155b15610c1e57604051631574f9f360e01b815260040160405180910390fd5b565b5f610c2e6020830183613a64565b6001600160a01b031603610c555760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c78916001600160801b0390911690600f0b6118f8565b905090565b5f80610c8b87878786611981565b9050610c97818561164c565b979650505050505050565b815f80610cb56040850160208601613a8c565b15610cda57610cd085610ccb6040870187613aa7565b611997565b9093509050610cf2565b5034610cf285610ced6040870187613aa7565b611c21565b610cfa611dc3565b91508015610d6a576040515f90339083908381818185875af1925050503d805f8114610d41576040519150601f19603f3d011682016040523d82523d5f602084013e610d46565b606091505b5050905080610d68576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c78427f0000000000000000000000000000000000000000000000000000000000000000611dd5565b5f84815260086020526040812060018101546001600160801b0316151580610dc557504286115b15610dde57600101546001600160801b031690506113fa565b5f805f610de9610d73565b90505f610e167f00000000000000000000000000000000000000000000000000000000000000008b613986565b90505b81811015610e8a575f818152600860205260409020600101546001600160801b03168015610e62575f828152600860205260409020549094506001600160801b03169250610e8a565b507f000000000000000000000000000000000000000000000000000000000000000001610e19565b835f03610efc57889350610ef9610e9f610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b92505b50610f068361191d565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f5c610f557f00000000000000000000000000000000000000000000000000000000000000008b613999565b8a84611dea565b610f9a89610f94610f8d7f000000000000000000000000000000000000000000000000000000000000000083613986565b4290611f23565b84611dea565b610fa388611f31565b505f9050600881610fd47f00000000000000000000000000000000000000000000000000000000000000008d613999565b815260208101919091526040015f908120600101546001600160801b03169150610fff60028c6120ce565b5f818152600b60205260408120549192508c8c831561114057600192505f8061102b86898d865f612102565b915091508060095f8282546110409190613986565b9091555061105b9050865f84611055816117b1565b886121cf565b6110658183613986565b915061109586838a8e877f0000000000000000000000000000000000000000000000000000000000000000612346565b91506110a96110a48385612389565b61239d565b600680546002906110ca9084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110f78261191d565b60068054601090611119908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61114c6001846120ce565b5f818152600b6020526040902054909150801561125757600194505f80611177838b8f886001612102565b915091508060095f82825461118c9190613986565b909155506111a79050835f846111a1816117b1565b8a6123c6565b6111b18183613999565b91506111c06110a48387612389565b600680546002906111e19084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061120e8261191d565b60068054601090611230908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561129057611282611269876117b1565b611272836117b1565b61127c9190613bbf565b5f6125b6565b8e61128d84826125f5565b50505b5f61129a846127e4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611350573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113749190613bde565b90506001600160a01b038116156113e8576113e55a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612926565b50505b509b9d50505050505050505050505050505b949350505050565b5f611427600b5f6114146002866120ce565b81526020019081526020015f20546117b1565b611438600b5f6114146001876120ce565b6114429190613bbf565b92915050565b5f805f806114568a8a6129ae565b915091508061146c575f80935093505050611641565b5f6114cb838a6114a47f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8b7f00000000000000000000000000000000000000000000000000000000000000006129e6565b5090505f61152e848b846115077f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8d7f0000000000000000000000000000000000000000000000000000000000000000612a9f565b50905081158061153c575080155b1561154757505f9050805b5f611594858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b90506115a283838c84612b59565b509093505f90506115b3848f613986565b90505f6115d38b8b6115c4876117b1565b6115ce908e613bf9565b612ba1565b90508b6116086116037f000000000000000000000000000000000000000000000000000000000000000083612c03565b6117b1565b611611836117b1565b61161e6116038685612389565b6116289190613bbf565b6116329190613bbf565b60019950995050505050505050505b965096945050505050565b5f61008d61165f84846301e13380612c13565b61167185670de0b6b3a7640000613999565b9061181f565b61167f613818565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916117779116612c36565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117a992900416612c36565b905292915050565b5f6001600160ff1b038211156117da5760405163396ea70160e11b815260040160405180910390fd5b5090565b6117e781612ca3565b610c5557604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611818575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611804565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611864908490613986565b90915550505f838152600b602052604081208054839290611886908490613986565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6114428260046125f5565b5f8183136118f2578261008d565b50919050565b5f8061190484846129ae565b90925090508061191657611916612e37565b5092915050565b5f6001600160801b038211156117da57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611963575060016001607f1b0382135b156117da5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611991858888611804565b90612e50565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119e6575047611a6f565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613a39565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611ae95787341015611ad8576040516312171d8360e31b815260040160405180910390fd5b611ae28834613999565b9050611b80565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b7d9190613c20565b91505b81611b9e576040516312171d8360e31b815260040160405180910390fd5b600f545f03611be257611bd1887f000000000000000000000000000000000000000000000000000000000000000061181f565b600f81905594509250611c19915050565b600f545f90611bf3908a9086611804565b905080600f5f828254611c069190613986565b90915550909550909350611c1992505050565b935093915050565b5f611c2b84612ebf565b9050600f545f03611c6857611c60817f000000000000000000000000000000000000000000000000000000000000000061181f565b600f55611c8c565b5f611c7282612fb5565b905080600f5f828254611c859190613986565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611d065782341015611cf5576040516312171d8360e31b815260040160405180910390fd5b611cff8334613999565b9050611d9d565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611d76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9a9190613c20565b91505b81611dbb576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f610c78670de0b6b3a7640000612ebf565b5f611de08284613c4f565b61008d9084613999565b5f83815260086020526040902054600160801b90046001600160801b0316808303611e155750505050565b5f848152600860205260408120546001600160801b031690819003611e6d57611e3d8361191d565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611eea565b611ebe611eb9670de0b6b3a7640000611e868886613999565b611e909190613b3d565b85670de0b6b3a7640000611ea4878a613999565b611eae9190613b3d565b85929190600161309b565b61191d565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ef38461191d565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118f2578261008d565b6006545f908190611f53908490600160801b90046001600160801b0316612389565b6006546201000090046001600160701b031692509050818111156120c9575f611f7c8383613999565b9050611f8b611eb98286613135565b60068054601090611fad908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611fe5858361181f90919063ffffffff16565b90505f612012827f0000000000000000000000000000000000000000000000000000000000000000612389565b90508060095f8282546120259190613986565b9091555061203590508183613999565b91506120408261191d565b600280545f9061205a9084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061208782613149565b600480545f9061209b908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156120f75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061210e878561181f565b91505f61213b837f0000000000000000000000000000000000000000000000000000000000000000612389565b9050612167817f0000000000000000000000000000000000000000000000000000000000000000612389565b9150831561218a576121798282613999565b6121839084613999565b92506121a1565b6121948282613999565b61219e9084613986565b92505b868610156121c4576121b4838789611804565b92506121c1828789611804565b91505b509550959350505050565b600454600160801b90046001600160801b0316612217611eb9826121fb670de0b6b3a764000086613b3d565b600554600160801b90046001600160801b031691908a5f61309b565b600580546001600160801b03928316600160801b02921691909117905561223d8661191d565b6122479082613c62565b600480546001600160801b03928316600160801b02921691909117905561226d8461191d565b600280545f906122879084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506122b483611946565b600480545f906122c8908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506122f88561191d565b6002805460109061231a908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612357846116718a888a611804565b9050612364888486611804565b61236e9082613986565b90508681111561237e5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611804565b5f6001600160701b038211156117da5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061240857507f00000000000000000000000000000000000000000000000000000000000000006124068583613999565b105b1561241557612415612e37565b6004549084900390600f0b61242a8482613bbf565b905083612436866117b1565b13801561246b57507f000000000000000000000000000000000000000000000000000000000000000061246983836118f8565b105b1561247857612478612e37565b600354600160801b90046001600160801b03166124b9611eb9826124a4670de0b6b3a764000088613b3d565b6005546001600160801b031691908c5f61309b565b600580546001600160801b0319166001600160801b03929092169190911790556124e38882613999565b90506124ee8161191d565b600380546001600160801b03928316600160801b0292169190911790556125148361191d565b600280546001600160801b0319166001600160801b039290921691909117905561253d82611946565b600480546001600160801b0319166001600160801b03929092169190911790556125668761191d565b60028054601090612588908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546125d190611eb9906001600160801b03168484612ba1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161263f916001600160801b031690613999565b9050805f03612652576001915050611442565b5f61265c85613172565b9050805f0361267057600192505050611442565b5f8061267d83858961320d565b9150915080612692575f945050505050611442565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016126cd929190613caf565b6040805180830381865af41580156126e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061270b9190613d24565b9150915061272961271b826117b1565b61272490613d46565b612ca3565b92508261273e575f9650505050505050611442565b6127478261191d565b600780545f906127619084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061278e8161191d565b600780546010906127b0908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61280b87611677565b6040518263ffffffff1660e01b81526004016128279190613a2a565b6040805180830381865af4158015612841573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128659190613d60565b915091508061287a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916128df91613986565b6128e99190613999565b9050805f036128ff57505f958695509350505050565b5f80871161290d575f612918565b612918848884611804565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561294957612949613d8e565b6040519080825280601f01601f191660200182016040528015612973576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612993578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836129bb866117b1565b6129c59190613bbf565b90505f8112156129db575f809250925050610d6c565b946001945092505050565b5f805f6129f68888888888613375565b90505f612a20670de0b6b3a7640000612a0f8888613135565b612a199190613986565b839061181f565b9050670de0b6b3a76400008110612a5457612a4d612a46670de0b6b3a76400008961181f565b8290612e50565b9050612a6c565b612a69612a46670de0b6b3a764000089613135565b90505b612a76818661181f565b905088811015612a8d575f809350935050506129a4565b97909703976001975095505050505050565b5f805f612aaf89898888886133a3565b9050612ac986611991612ac28a8d613986565b8790612389565b9850612ad6858a86611804565b985088811015612aec575f809250925050611641565b888103670de0b6b3a76400008110612b1a57612b13612a46670de0b6b3a764000089613135565b9050612b32565b612b2f612a46670de0b6b3a76400008961181f565b90505b80891015612b47575f80935093505050611641565b90970398600198509650505050505050565b5f805f805f612b698987896133c7565b9092509050612b788289613999565b97505f612b8682888a611804565b9050612b92818b613999565b9a989950979650505050505050565b5f80612bad845f61344c565b612bb7845f61344c565b612bc19190613bbf565b90505f811315612bdc57612bd58186613986565b9450612bfa565b5f811215612bfa57612bed81613d46565b612bf79086613999565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612c27575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612c49610d73565b612c539190613b3d565b9050808311612c62575f612c6c565b612c6c8184613999565b915061008d612a19670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b3d565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7d9190613da2565b935093509350935080612d9857505f98975050505050505050565b868414612dc957612da88461191d565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dfa57612dd983611946565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e2857612e0a8261191d565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612e675750670de0b6b3a7640000611442565b825f03612e7557505f611442565b5f612e7f836117b1565b90505f612e93612e8e866117b1565b613461565b9050818102612eaa670de0b6b3a764000082613de0565b9050612eb581613686565b9695505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612f0d575047612f96565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612f6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f939190613a39565b90505b600f545f03612fa5575f61008d565b600f5461008d9084908390611804565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161300357504761308c565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015613065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130899190613a39565b90505b600f5461008d90849083611804565b5f825f036130aa575084610075565b81156130fc576130db6130bd8487613986565b6130c78587612389565b6130d1888a612389565b6116719190613986565b90505f6130e88588611f23565b9050808210156130f6578091505b50610075565b82850361310a57505f610075565b6100726131178487613999565b6131218587612c03565b61312b888a612389565b6116719190613999565b5f61008d83670de0b6b3a764000084612c13565b5f60016001607f1b038211156117da5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061318c906001600160801b031684613135565b90506131b87f000000000000000000000000000000000000000000000000000000000000000082613986565b6002546001600160801b031611156118f2576002547f0000000000000000000000000000000000000000000000000000000000000000906132039083906001600160801b0316613999565b61008d9190613999565b61321561386d565b5f8061322084611677565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161325a9190613a2a565b6040805180830381865af4158015613274573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132989190613d60565b93509050826132ac57505f9150611c199050565b5f6132cd61160384610160015185610140015161238990919063ffffffff16565b6132ed611603856101200151866101000151612c0390919063ffffffff16565b6132f79190613bbf565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6133808585612e50565b61339961339186611991868b612389565b859085611804565b6100729190613986565b5f6133ae8585612e50565b6133996133bf86611991868b612c03565b859085612c13565b5f806134168561341085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613406818c613135565b6134109190613999565b90612c03565b9150613442827f0000000000000000000000000000000000000000000000000000000000000000612389565b9050935093915050565b5f81831361345a578161008d565b5090919050565b5f8082136134825760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906135059084901c6117b1565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361369f57505f919050565b680755bf798b4a1bf1e582126136c8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612eb574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b1565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613881613818565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118f2575f80fd5b5f805f805f60a086880312156138db575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561390d575f80fd5b613919888289016138b7565b9150509295509295909350565b5f805f60608486031215613938575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561395c575f80fd5b613968868287016138b7565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144257611442613972565b8181038181111561144257611442613972565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144282846139ac565b5f60208284031215613a49575f80fd5b5051919050565b6001600160a01b0381168114610c55575f80fd5b5f60208284031215613a74575f80fd5b813561008d81613a50565b8015158114610c55575f80fd5b5f60208284031215613a9c575f80fd5b813561008d81613a7f565b5f808335601e19843603018112613abc575f80fd5b83018035915067ffffffffffffffff821115613ad6575f80fd5b602001915036819003821315610d6c575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144257611442613972565b5f805f60608486031215613b66575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191657611916613972565b6001600160801b0381811683821601908082111561191657611916613972565b8181035f83128015838313168383128216171561191657611916613972565b5f60208284031215613bee575f80fd5b815161008d81613a50565b8082018281125f831280158216821582161715613c1857613c18613972565b505092915050565b5f60208284031215613c30575f80fd5b815161008d81613a7f565b634e487b7160e01b5f52601260045260245ffd5b5f82613c5d57613c5d613c3b565b500690565b6001600160801b0382811682821603908082111561191657611916613972565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144257611442613972565b5f6102a082019050613cc28285516139ac565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d35575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d5a57613d5a613972565b505f0390565b5f8060408385031215613d71575f80fd5b825191506020830151613d8381613a7f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613db5575f80fd5b8451935060208501519250604085015191506060850151613dd581613a7f565b939692955090935050565b5f82613dee57613dee613c3b565b600160ff1b82145f1984141615613e0757613e07613972565b50059056fea2646970667358221220d426ba5f7020e09bbfea80f6e77d21cc660f32b25d7e2adec3c6a8f1dc6df22d64736f6c6343000816003361028060405234801562000011575f80fd5b506040516200353e3803806200353e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613128620004165f395f50505f50505f61099201525f50505f818161025f0152611fc901525f81816118290152818161188c01528181611bb901528181611bf501528181611de60152611fa301525f81816105500152611f7d01525f61140b01525f61156001525f818161070d015261153401525f50505f81816105710152611fef01525f818161064b015261271201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f818161109d015281816110e6015281816122bd01528181612306015281816123db015281816124840152818161256a015261261301526131285ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612be3565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612c35565b6100b1565b005b610056610092366004612be3565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c69565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c91565b61016a60408c018c612cac565b60405161017c96959493929190612d17565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d64565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c69565b88610ea4565b5f6102f56102ec6020870187612c69565b88848989610a9e565b90945090506103048188612d8b565b92505f61031083610f41565b5090506103206020870187612c69565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c91565b8a888e80604001906103709190612cac565b604051610384989796959493929190612d9e565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c69565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f0000000000000000000000000000000000000000000000000000000000000000611180565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612de5565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611195565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b5565b92505b506105a2836111d4565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d8b565b8a84611201565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612de5565b429061133a565b84611201565b61063f8861134e565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d8b565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6114eb565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61151f565b915091508060095f8282546106dc9190612de5565b909155506106f79050865f846106f1816115ec565b88611615565b6107018183612de5565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061178c565b915061074561074083856117d5565b6117e9565b600680546002906107669084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826111d4565b600680546010906107b5908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846114eb565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161151f565b915091508060095f8282546108289190612de5565b909155506108439050835f8461083d816115ec565b8a611812565b61084d8183612d8b565b915061085c61074083876117d5565b6006805460029061087d9084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826111d4565b600680546010906108cc908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876115ec565b61090e836115ec565b6109189190612e38565b5f611a02565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e57565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a41565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611ac7565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611ad3565b9050610b20836111d4565b610b2a9083612e72565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816111d4565b60078054601090610b75908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611aee565b9350610bb08684611b84565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d8b565b9050805f03610c3a576001915050610dc7565b5f610c4485611b98565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c33565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612f10565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f85565b91509150610d11610d03826115ec565b610d0c90612fa7565b611da0565b925082610d26575f9650505050505050610dc7565b610d2f826111d4565b600780545f90610d499084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816111d4565b60078054601090610d98908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d8b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612de5565b90915550505f838152600b602052604081208054839290610ef7908490612de5565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f34565b6040518263ffffffff1660e01b8152600401610f849190612fc1565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612fd0565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612de5565b6110469190612d8b565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611ad3565b976001975095505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016110d157504761115a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612ffe565b90505b600f545f03611169575f611179565b600f546111799084908390611ad3565b9392505050565b5f61118b8284612d64565b6111799084612d8b565b6002546004545f9161040a916001600160801b0390911690600f0b61206e565b5f6111cb826111c5858888611ad3565b90612093565b95945050505050565b5f6001600160801b038211156111fd57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361122c5750505050565b5f848152600860205260408120546001600160801b03169081900361128457611254836111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611301565b6112d56112d0670de0b6b3a764000061129d8886612d8b565b6112a79190613015565b85670de0b6b3a76400006112bb878a612d8b565b6112c59190613015565b859291906001612102565b6111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61130a846111d4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116113485782611179565b50919050565b6006545f908190611370908490600160801b90046001600160801b03166117d5565b6006546201000090046001600160701b031692509050818111156114e6575f6113998383612d8b565b90506113a86112d0828661219c565b600680546010906113ca908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61140285836121b090919063ffffffff16565b90505f61142f827f00000000000000000000000000000000000000000000000000000000000000006117d5565b90508060095f8282546114429190612de5565b9091555061145290508183612d8b565b915061145d826111d4565b600280545f906114779084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a4826121c4565b600480545f906114b8908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115145760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152b87856121b0565b91505f611558837f00000000000000000000000000000000000000000000000000000000000000006117d5565b9050611584817f00000000000000000000000000000000000000000000000000000000000000006117d5565b915083156115a7576115968282612d8b565b6115a09084612d8b565b92506115be565b6115b18282612d8b565b6115bb9084612de5565b92505b868610156115e1576115d1838789611ad3565b92506115de828789611ad3565b91505b509550959350505050565b5f6001600160ff1b038211156111fd5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165d6112d082611641670de0b6b3a764000086613015565b600554600160801b90046001600160801b031691908a5f612102565b600580546001600160801b03928316600160801b029216919091179055611683866111d4565b61168d9082612e72565b600480546001600160801b03928316600160801b0292169190911790556116b3846111d4565b600280545f906116cd9084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116fa836121ed565b600480545f9061170e908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173e856111d4565b60028054601090611760908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a38461179d8a888a611ad3565b906121b0565b90506117b0888486611ad3565b6117ba9082612de5565b9050868111156117ca5786810391505b509695505050505050565b5f6111798383670de0b6b3a7640000611ad3565b5f6001600160701b038211156111fd5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185457507f00000000000000000000000000000000000000000000000000000000000000006118528583612d8b565b105b1561186157611861612228565b6004549084900390600f0b6118768482612e38565b905083611882866115ec565b1380156118b757507f00000000000000000000000000000000000000000000000000000000000000006118b5838361206e565b105b156118c4576118c4612228565b600354600160801b90046001600160801b03166119056112d0826118f0670de0b6b3a764000088613015565b6005546001600160801b031691908c5f612102565b600580546001600160801b0319166001600160801b039290921691909117905561192f8882612d8b565b905061193a816111d4565b600380546001600160801b03928316600160801b029216919091179055611960836111d4565b600280546001600160801b0319166001600160801b0392909216919091179055611989826121ed565b600480546001600160801b0319166001600160801b03929092169190911790556119b2876111d4565b600280546010906119d4908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1d906112d0906001600160801b03168484612241565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6457611a64613059565b6040519080825280601f01601f191660200182016040528015611a8e576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aae578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611ae7575f80fd5b5091020490565b5f80611afa85856117d5565b9050611b05816122a3565b9450845f03611b17575f915050611179565b849150611b2a6040840160208501612c91565b15611b5957611b5285611b406020860186612c69565b611b4d6040870187612cac565b612389565b9150611b7c565b611b7c85611b6a6020860186612c69565b611b776040870187612cac565b612519565b509392505050565b5f6111798383670de0b6b3a76400006126a6565b6003545f908190611bb2906001600160801b03168461219c565b9050611bde7f000000000000000000000000000000000000000000000000000000000000000082612de5565b6002546001600160801b03161115611348576002547f000000000000000000000000000000000000000000000000000000000000000090611c299083906001600160801b0316612d8b565b6111799190612d8b565b611c3b612b44565b5f80611c4684611f34565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c809190612fc1565b6040805180830381865af4158015611c9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbe9190612fd0565b9350905082611cd257505f91506100a99050565b5f611cf8611cf38461016001518561014001516117d590919063ffffffff16565b6115ec565b611d18611cf3856101200151866101000151611b8490919063ffffffff16565b611d229190612e38565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a919061306d565b935093509350935080611e9557505f98975050505050505050565b868414611ec657611ea5846111d4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef757611ed6836121ed565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2557611f07826111d4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f3c612b8e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161203491166126c9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612066929004166126c9565b905292915050565b5f8061207a848461273d565b90925090508061208c5761208c612228565b5092915050565b5f815f036120aa5750670de0b6b3a7640000610dc7565b825f036120b857505f610dc7565b5f6120c2836115ec565b90505f6120d66120d1866115ec565b612778565b90508181026120ed670de0b6b3a7640000826130ab565b90506120f88161299d565b9695505050505050565b5f825f036121115750846111cb565b8115612163576121426121248487612de5565b61212e85876117d5565b612138888a6117d5565b61179d9190612de5565b90505f61214f858861133a565b90508082101561215d578091505b506111cb565b82850361217157505f6111cb565b6120f861217e8487612d8b565b6121888587611b84565b612192888a6117d5565b61179d9190612d8b565b5f61117983670de0b6b3a7640000846126a6565b5f61117983670de0b6b3a764000084611ad3565b5f60016001607f1b038211156111fd5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061220a575060016001607f1b0382135b156111fd5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224d845f612b2f565b612257845f612b2f565b6122619190612e38565b90505f81131561227c576122758186612de5565b945061229a565b5f81121561229a5761228d81612fa7565b6122979086612d8b565b94505b50929392505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016122f157504761237a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123779190612ffe565b90505b600f5461117990849083611ad3565b5f600f548511612399578461239d565b600f545b94505f6123a986611083565b905085600f5f8282546123bc9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161245e576040516001600160a01b0387169083905f81818185875af1925050503d805f811461244e576040519150601f19603f3d011682016040523d82523d5f602084013e612453565b606091505b5050809150506124f1565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156124ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ee91906130d7565b90505b8061250f576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612528578361252c565b600f545b93505f61253885611083565b905084600f5f82825461254b9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125ed576040516001600160a01b0386169083905f81818185875af1925050503d805f81146125dd576040519150601f19603f3d011682016040523d82523d5f602084013e6125e2565b606091505b505080915050612680565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612659573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267d91906130d7565b90505b8061269e576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f1904841183021582026126ba575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006126dc61040f565b6126e69190613015565b90508083116126f5575f6126ff565b6126ff8184612d8b565b9150611179612736670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613015565b83906121b0565b5f805f8361274a866115ec565b6127549190612e38565b90505f81121561276a575f809250925050612771565b9150600190505b9250929050565b5f8082136127995760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061281c9084901c6115ec565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136129b657505f919050565b680755bf798b4a1bf1e582126129df576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115ec565b5f818313612b3d5781611179565b5090919050565b604051806101200160405280612b58612b8e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bf5575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612c19575f80fd5b840160608187031215612c2a575f80fd5b809150509250925092565b5f8060408385031215612c46575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c79575f80fd5b813561117981612c55565b80151581146103f5575f80fd5b5f60208284031215612ca1575f80fd5b813561117981612c84565b5f808335601e19843603018112612cc1575f80fd5b83018035915067ffffffffffffffff821115612cdb575f80fd5b602001915036819003821315612771575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d4460a083018486612cef565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d7257612d72612d50565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d77565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612dd760e083018486612cef565b9a9950505050505050505050565b80820180821115610dc757610dc7612d77565b6001600160701b0381811683821601908082111561208c5761208c612d77565b6001600160801b0381811683821601908082111561208c5761208c612d77565b8181035f83128015838313168383128216171561208c5761208c612d77565b5f60208284031215612e67575f80fd5b815161117981612c55565b6001600160801b0382811682821603908082111561208c5761208c612d77565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612f23828551612e92565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f96575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612fbb57612fbb612d77565b505f0390565b6101808101610dc78284612e92565b5f8060408385031215612fe1575f80fd5b825191506020830151612ff381612c84565b809150509250929050565b5f6020828403121561300e575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612d77565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d77565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613080575f80fd5b84519350602085015192506040850151915060608501516130a081612c84565b939692955090935050565b5f826130b9576130b9612d50565b600160ff1b82145f19841416156130d2576130d2612d77565b500590565b5f602082840312156130e7575f80fd5b815161117981612c8456fea2646970667358221220447241d7c17f715a7a63f28f726648ecebf427bf0f52c23015bdee4f602c749c64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a", - "__setBalanceOf(uint256,address,uint256)": "94a97cdb", - "accrue(uint256,int256)": "68096239", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "burn(uint256,address,uint256)": "9eea5f66", - "calculateFeesGivenBonds(uint256,uint256,uint256,uint256)": "22d5506b", - "calculateFeesGivenShares(uint256,uint256,uint256)": "71f88b7c", - "calculateIdleShareReserves(uint256)": "b1b4b170", - "calculateOpenLong(uint256,uint256)": "9bd33498", - "calculateTimeRemaining(uint256)": "68c2ecb8", - "calculateTimeRemainingScaled(uint256)": "ca6d38f7", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "getTotalShares()": "d5002f2e", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "latestCheckpoint()": "907c0f92", - "mint(uint256,address,uint256)": "836a1040", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setLongExposure(uint128)": "b4f8da39", - "setMarketState((uint128,uint128,uint128,uint128,int128,uint128,uint128,uint128,bool,bool,uint112,uint128))": "f45cf2e0", - "setPauser(address,bool)": "7180c8ca", - "setReserves(uint128,uint128)": "702db0eb", - "setTotalShares(uint256)": "a77384c1", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "updateLiquidity(int256)": "8120a3e2" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts deleted file mode 100644 index dbe268891..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts +++ /dev/null @@ -1,130 +0,0 @@ -export declare const MockHyperdriveAdminController: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_hyperdriveGovernance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__defaultPausers"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpointRewarder"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "defaultPausers"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "feeCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "hyperdriveGovernance"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sweepCollector"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "updateCheckpointRewarder"; - readonly inputs: readonly [{ - readonly name: "_checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFeeCollector"; - readonly inputs: readonly [{ - readonly name: "_feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateHyperdriveGovernance"; - readonly inputs: readonly [{ - readonly name: "_hyperdriveGovernance"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateSweepCollector"; - readonly inputs: readonly [{ - readonly name: "_sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpointRewarder()": "f2596458"; - readonly "defaultPausers()": "a64c90bf"; - readonly "feeCollector()": "c415b95c"; - readonly "hyperdriveGovernance()": "e3331555"; - readonly "sweepCollector()": "10780f73"; - readonly "updateCheckpointRewarder(address)": "3e2d2014"; - readonly "updateFeeCollector(address)": "d2c35ce8"; - readonly "updateHyperdriveGovernance(address)": "dd2b8fbb"; - readonly "updateSweepCollector(address)": "8627a4f0"; - }; -}; -//# sourceMappingURL=MockHyperdriveAdminController.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts.map deleted file mode 100644 index dedf2a2a4..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveAdminController.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveAdminController.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuJkkF,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYxnF,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.js deleted file mode 100644 index 8d901cfb5..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveAdminController.js +++ /dev/null @@ -1,164 +0,0 @@ -export const MockHyperdriveAdminController = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_hyperdriveGovernance", - "type": "address", - "internalType": "address" - }, - { - "name": "_feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "_sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "_checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "__defaultPausers", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpointRewarder", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "defaultPausers", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "hyperdriveGovernance", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sweepCollector", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateCheckpointRewarder", - "inputs": [ - { - "name": "_checkpointRewarder", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFeeCollector", - "inputs": [ - { - "name": "_feeCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateHyperdriveGovernance", - "inputs": [ - { - "name": "_hyperdriveGovernance", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateSweepCollector", - "inputs": [ - { - "name": "_sweepCollector", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5060405161052c38038061052c83398101604081905261002e9161013b565b5f80546001600160a01b038088166001600160a01b03199283161790925560018054878416908316179055600280548684169083161790556003805492851692909116919091179055805161008a906004906020840190610095565b50505050505061023e565b828054828255905f5260205f209081019282156100e8579160200282015b828111156100e857825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906100b3565b506100f49291506100f8565b5090565b5b808211156100f4575f81556001016100f9565b80516001600160a01b0381168114610122575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f805f805f60a0868803121561014f575f80fd5b6101588661010c565b9450602061016781880161010c565b94506101756040880161010c565b93506101836060880161010c565b60808801519093506001600160401b038082111561019f575f80fd5b818901915089601f8301126101b2575f80fd5b8151818111156101c4576101c4610127565b8060051b604051601f19603f830116810181811085821117156101e9576101e9610127565b60405291825284820192508381018501918c831115610206575f80fd5b938501935b8285101561022b5761021c8561010c565b8452938501939285019261020b565b8096505050505050509295509295909350565b6102e18061024b5f395ff3fe608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063c415b95c11610063578063c415b95c1461013b578063d2c35ce81461014e578063dd2b8fbb1461017e578063e3331555146101ad578063f2596458146101bf575f80fd5b806310780f73146100945780633e2d2014146100c45780638627a4f0146100f6578063a64c90bf14610126575b5f80fd5b6002546100a7906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f46100d2366004610232565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b005b6100f4610104366004610232565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61012e6101d2565b6040516100bb919061025f565b6001546100a7906001600160a01b031681565b6100f461015c366004610232565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6100f461018c366004610232565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546100a7906001600160a01b031681565b6003546100a7906001600160a01b031681565b6060600480548060200260200160405190810160405280929190818152602001828054801561022857602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161020a575b5050505050905090565b5f60208284031215610242575f80fd5b81356001600160a01b0381168114610258575f80fd5b9392505050565b602080825282518282018190525f9190848201906040850190845b8181101561029f5783516001600160a01b03168352928401929184019160010161027a565b5090969550505050505056fea2646970667358221220ecebc112f559d4259664259f658bf0e8ed76476292be39978b092c6551ce150a64736f6c63430008160033', - methodIdentifiers: { - "checkpointRewarder()": "f2596458", - "defaultPausers()": "a64c90bf", - "feeCollector()": "c415b95c", - "hyperdriveGovernance()": "e3331555", - "sweepCollector()": "10780f73", - "updateCheckpointRewarder(address)": "3e2d2014", - "updateFeeCollector(address)": "d2c35ce8", - "updateHyperdriveGovernance(address)": "dd2b8fbb", - "updateSweepCollector(address)": "8627a4f0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts deleted file mode 100644 index f09483b9e..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const MockHyperdriveBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MockHyperdriveBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts.map deleted file mode 100644 index 22219f819..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveBase.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBX,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.js deleted file mode 100644 index 963f70784..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const MockHyperdriveBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts deleted file mode 100644 index 4f15d90f2..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts +++ /dev/null @@ -1,632 +0,0 @@ -export declare const MockHyperdriveMath: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateAbsoluteMaxLong"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveUtils.MaxTradeParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "curveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLPFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_spotPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateCloseLong"; - readonly inputs: readonly [{ - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_normalizedTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateCloseShort"; - readonly inputs: readonly [{ - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_amountOut"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_normalizedTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateEffectiveShareReserves"; - readonly inputs: readonly [{ - readonly name: "_shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxLong"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveUtils.MaxTradeParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "curveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLPFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_checkpointExposure"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxShort"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveUtils.MaxTradeParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "curveFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLPFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_checkpointExposure"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateNegativeInterestOnClose"; - readonly inputs: readonly [{ - readonly name: "_shareProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareCurveDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_totalGovernanceFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_openVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_closeVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_isLong"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateOpenLong"; - readonly inputs: readonly [{ - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateOpenShort"; - readonly inputs: readonly [{ - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateShortProceedsDown"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_openVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_closeVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_flatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateShortProceedsUp"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_openVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_closeVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_flatFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSpotAPR"; - readonly inputs: readonly [{ - readonly name: "_effectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSpotPrice"; - readonly inputs: readonly [{ - readonly name: "_shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateTimeStretch"; - readonly inputs: readonly [{ - readonly name: "apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateAbsoluteMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256)": "a280a282"; - readonly "calculateCloseLong(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "94169d49"; - readonly "calculateCloseShort(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "f87845f2"; - readonly "calculateEffectiveShareReserves(uint256,int256)": "bc1e1065"; - readonly "calculateMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "3f77b617"; - readonly "calculateMaxShort((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "9e489b99"; - readonly "calculateNegativeInterestOnClose(uint256,uint256,uint256,uint256,uint256,uint256,bool)": "7ef99f87"; - readonly "calculateOpenLong(uint256,uint256,uint256,uint256,uint256,uint256)": "5e6d9d36"; - readonly "calculateOpenShort(uint256,uint256,uint256,uint256,uint256,uint256)": "6ceebe1d"; - readonly "calculateShortProceedsDown(uint256,uint256,uint256,uint256,uint256,uint256)": "e7acd3ad"; - readonly "calculateShortProceedsUp(uint256,uint256,uint256,uint256,uint256,uint256)": "902b1099"; - readonly "calculateSpotAPR(uint256,uint256,uint256,uint256,uint256)": "2810a036"; - readonly "calculateSpotPrice(uint256,uint256,uint256,uint256)": "2471caed"; - readonly "calculateTimeStretch(uint256,uint256)": "dbab8512"; - }; -}; -//# sourceMappingURL=MockHyperdriveMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts.map deleted file mode 100644 index 50c056307..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveMath.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsxB+5iB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiB18iB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.js deleted file mode 100644 index e03f42ced..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveMath.js +++ /dev/null @@ -1,808 +0,0 @@ -export const MockHyperdriveMath = { - abi: [ - { - "type": "function", - "name": "calculateAbsoluteMaxLong", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct HyperdriveUtils.MaxTradeParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "curveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flatFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLPFee", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_spotPrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateCloseLong", - "inputs": [ - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_normalizedTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateCloseShort", - "inputs": [ - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_amountOut", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_normalizedTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateEffectiveShareReserves", - "inputs": [ - { - "name": "_shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAdjustment", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxLong", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct HyperdriveUtils.MaxTradeParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "curveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flatFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLPFee", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_checkpointExposure", - "type": "int256", - "internalType": "int256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxShort", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct HyperdriveUtils.MaxTradeParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "curveFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flatFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLPFee", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_checkpointExposure", - "type": "int256", - "internalType": "int256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateNegativeInterestOnClose", - "inputs": [ - { - "name": "_shareProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareReservesDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareCurveDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_totalGovernanceFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_openVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_closeVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_isLong", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "int256", - "internalType": "int256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateOpenLong", - "inputs": [ - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateOpenShort", - "inputs": [ - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateShortProceedsDown", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_openVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_closeVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_flatFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateShortProceedsUp", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_openVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_closeVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_flatFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSpotAPR", - "inputs": [ - { - "name": "_effectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSpotPrice", - "inputs": [ - { - "name": "_shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateTimeStretch", - "inputs": [ - { - "name": "apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506122b88061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c806394169d4911610088578063bc1e106511610063578063bc1e106514610212578063dbab851214610225578063e7acd3ad14610238578063f87845f21461024b575f80fd5b806394169d49146101be5780639e489b99146101ec578063a280a282146101ff575f80fd5b80635e6d9d36116100c35780635e6d9d361461014a5780636ceebe1d1461015d5780637ef99f8714610170578063902b1099146101ab575f80fd5b80632471caed146100e95780632810a0361461010f5780633f77b61714610122575b5f80fd5b6100fc6100f7366004611f50565b61025e565b6040519081526020015b60405180910390f35b6100fc61011d366004611f7f565b610276565b610135610130366004612087565b610290565b60408051928352602083019190915201610106565b6100fc6101583660046120bb565b6102af565b6100fc61016b3660046120bb565b6102cb565b61018361017e3660046120fa565b6102db565b604080519586526020860194909452928401919091526060830152608082015260a001610106565b6100fc6101b93660046120bb565b610357565b6101d16101cc366004612159565b610367565b60408051938452602084019290925290820152606001610106565b6100fc6101fa366004612087565b610394565b61013561020d366004612087565b6103aa565b6100fc6102203660046121a0565b6103b9565b6100fc6102333660046121a0565b6103cf565b6100fc6102463660046120bb565b6103db565b6101d1610259366004612159565b6103eb565b5f8061026c86868686610400565b9695505050505050565b5f80610285878787878761041f565b979650505050505050565b5f805f8061029f878787610439565b909450925050505b935093915050565b5f806102bf88888888888861063c565b98975050505050505050565b5f806102bf88888888888861065c565b5f805f805f61030d6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b61031c8d8d8d8d8d8d8d61067c565b608086018190526060860182905260408601839052602086018490529484905292985090965094509250905097509750975097509792505050565b5f806102bf888888888888610718565b5f805f805f8061037c8d8d8d8d8d8d8d610761565b919750955093505050505b9750975097945050505050565b5f6103a08484846107cf565b90505b9392505050565b5f805f8061029f878787610971565b5f806103c58484610bc9565b9150505b92915050565b5f806103c58484610bee565b5f806102bf888888888888610c84565b5f805f805f8061037c8d8d8d8d8d8d8d610ca2565b5f61041682610410858888610cf5565b90610d10565b95945050505050565b5f8061042d87878786610400565b90506102858185610d70565b5f805f61044d865f01518760200151610bc9565b90505f6104688288604001518960e001518a60a00151610400565b90505f80610477898585610971565b90925090505f61048a8a8a858588610d95565b91505080156104a1575090945092506102a7915050565b506104ae89838a86610ec7565b95506104bc89878686610f64565b94505f806104cd8b8b8a8a89610d95565b915091508061053d5760405162461bcd60e51b815260206004820152603160248201527f496e697469616c20677565737320696e206063616c63756c6174654d61784c6f6044820152703733b01034b99034b739b7b63b32b73a1760791b60648201526084015b60405180910390fd5b5f5b8981101561062d578489106105b25760405162461bcd60e51b815260206004820152603360248201527f52656163686564206162736f6c757465206d617820626f6e6420616d6f756e746044820152721034b7103033b2ba2fb6b0bc2fb637b733b01760691b6064820152608401610534565b5f6105bf8d8b8a8a610fb6565b93509050826105ce575061062d565b5f6105d9858361104d565b6105e3908c6121d4565b90505f6105f28f838c8c610f64565b90506106018f8f84848d610d95565b9096509450841561061757819b50809a5061061f565b50505061062d565b50505080600101905061053f565b50505050505050935093915050565b5f61028587878761065588670de0b6b3a76400006121e7565b8787611061565b5f61028587878761067588670de0b6b3a76400006121e7565b8787611083565b5f805f805f80888810156106e857861561069e5761069b8d898b610cf5565b9c505b6106a98c898b610cf5565b9b506106b48b611093565b6106bd8d611093565b6106c791906121fa565b90506106d48b898b610cf5565b9a506106e18a898b610cf5565b9950610707565b6106f18b611093565b6106fa8d611093565b61070491906121fa565b90505b9b9c9a9b999a975050505050505050565b5f8061072f846107298a888a6110c0565b906110e3565b905061073c8884866110c0565b61074690826121d4565b9050868111156107565786810391505b509695505050505050565b5f808061078161077988670de0b6b3a76400006121e7565b899087610cf5565b905086156103875761079388886110f7565b91506107b48a8a846107ad8a670de0b6b3a76400006121e7565b8989611083565b92506107c083826121d4565b90509750975097945050505050565b604080516060810182525f808252602082018190529181018290525f6107fc865f01518760200151610bc9565b90505f6108178288604001518960e001518a60a00151610400565b90505f610824888461110b565b9050610833888285858b61122c565b158015604087015290855261084d5793506103a392505050565b5f61085989848a611380565b9050610868898286868c61122c565b1515604087018190529086526108da5760405162461bcd60e51b815260206004820152603160248201527f496e697469616c20677565737320696e206063616c63756c6174654d617853686044820152701bdc9d18081a5cc81a5b9cdbdb1d995b9d607a1b6064820152608401610534565b5f5b87811015610964576108f08a838688611453565b1580156040890152602088019190915261096457602086015186515f91610917919061104d565b61092190846121d4565b9050838111156109315750610964565b61093e8b8288888e61122c565b15801560408a01529088526109555780925061095b565b50610964565b506001016108dc565b5098975050505050505050565b5f805f806109a58688604001518960a00151670de0b6b3a764000061099691906121e7565b8a60c001518b60e001516114d6565b90506109f5876101400151670de0b6b3a76400006109c391906121e7565b6109ef670de0b6b3a76400006109d9818a6110e3565b6109e391906121e7565b6101208b015190611504565b90611504565b9150610a25876101400151670de0b6b3a7640000610a1391906121e7565b61072984670de0b6b3a76400006121d4565b60a0880151909250610a5490610a4d90610a4781670de0b6b3a76400006121e7565b9061104d565b8390610d10565b9150610a718760e001518860c001516110e390919063ffffffff16565b610a7b90836121d4565b9150610a87818361104d565b9150610ab6610a4d8860a00151670de0b6b3a7640000610aa791906121e7565b670de0b6b3a76400009061104d565b9150505f610ad18760e001518361104d90919063ffffffff16565b90505f80610b23896101400151670de0b6b3a7640000610af191906121e7565b610b1d670de0b6b3a7640000610b07818c61104d565b610b1191906121e7565b6101208d0151906110f7565b906110f7565b9050610b7984610b1d610b4b8c60a00151670de0b6b3a76400006110e390919063ffffffff16565b6104108d6101400151670de0b6b3a7640000610b6791906121e7565b610a4787670de0b6b3a76400006121d4565b915050610b908860c001518884610b1d91906121e7565b9450610ba285878a6101200151611518565b818960400151610bb291906121e7565b610bbc91906121e7565b9350505050935093915050565b5f80610bd58484611544565b909250905080610be757610be761157f565b5092915050565b5f80610c1e610c0f610c01866064612219565b66a5bbed86c5a000906110f7565b6748cd4072281e00009061104d565b9050610c32670de0b6b3a76400008261104d565b90506103c581610b1d610c5d610c58610c5389670de0b6b3a76400006121d4565b611093565b611598565b610a47610c58610c728a8a6301e13380610cf5565b610c5390670de0b6b3a76400006121d4565b5f80610c9584610a478a888a610cf5565b905061073c888486610cf5565b5f8080610cc2610cba88670de0b6b3a76400006121e7565b8990876110c0565b9050861561038757610cd48888611504565b91506107b48a8a84610cee8a670de0b6b3a76400006121e7565b89896117c6565b5f825f190484118302158202610d09575f80fd5b5091020490565b5f815f03610d275750670de0b6b3a76400006103c9565b825f03610d3557505f6103c9565b5f610d3f83611093565b90505f610d4e610c5886611093565b9050818102610d65670de0b6b3a764000082612230565b905061026c816117d6565b5f6103a3610d8384846301e133806110c0565b610a4785670de0b6b3a76400006121e7565b5f805f610dae86858a61012001518b6101600151611968565b90505f610dc88960c001518361104d90919063ffffffff16565b60c08a0151610dd890899061104d565b8a51610de491906121d4565b610dee91906121e7565b90505f868a60800151610e0191906121d4565b90505f610e0e8a8261197c565b610e1790612268565b90508a6101000151610e368c60c001518461104d90919063ffffffff16565b610e4091906121d4565b60c08c0151610e5090839061104d565b610e5a90856121d4565b10610eb2576101008b015160c08c0151610e7590849061104d565b60c08d0151610e8590849061104d565b610e8f90866121d4565b610e9991906121e7565b610ea391906121e7565b60019550955050505050610ebd565b5f8095509550505050505b9550959350505050565b5f80610ed586858586611990565b90505f610f1b670b1a2bc2ec500000610b1d610f118a60a00151670de0b6b3a7640000610f0291906121e7565b670de0b6b3a7640000906110e3565b610410868b61104d565b90505f610f30670de0b6b3a7640000836110f7565b610f4c610f4584670de0b6b3a76400006121e7565b87906110f7565b610f5691906121d4565b90506102bf88878784611990565b5f80610f9a848760400151610f868960c001518961104d90919063ffffffff16565b8960a001518a60c001518b60e0015161063c565b9050610fac8584886101200151611518565b61026c90826121e7565b5f80610fc486868686611a91565b909250905080610fd6575f9150611044565b611000610feb84670de0b6b3a76400006121e7565b610120880151610160890151610b1d916110f7565b61100a90836121d4565b915061101e670de0b6b3a7640000836121e7565b9150611041670de0b6b3a76400008760c0015184610cf59092919063ffffffff16565b91505b94509492505050565b5f6103a383670de0b6b3a764000084610cf5565b5f80611071888888888888611bdb565b9092509050806107565761075661157f565b5f80611071888888888888611c91565b5f6001600160ff1b038211156110bc5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f825f1904841183021582026110d4575f80fd5b50910281810615159190040190565b5f6103a383670de0b6b3a7640000846110c0565b5f6103a38383670de0b6b3a7640000610cf5565b5f806111245f8560200151611d4d90919063ffffffff16565b84610100015161113491906121d4565b90505f6111678486604001518760a00151670de0b6b3a764000061115891906121e7565b8860c001518960e001516114d6565b90505f6111b56111a48760a00151670de0b6b3a764000061118891906121e7565b610410611199878b60200151610bc9565b60e08b015190611504565b60e088015160c089015191906110c0565b6111bf90836121e7565b9050670de0b6b3a764000081106111fc576111f56111ee8760a00151670de0b6b3a7640000610aa791906121e7565b8290610d10565b905061121d565b61121a6111ee8760a00151670de0b6b3a7640000610f0291906121e7565b90505b604086015161026c90826121e7565b5f805f80611261878a604001518a8c60a00151670de0b6b3a764000061125291906121e7565b8d60c001518e60e00151611c91565b9150915080611277575f80935093505050610ebd565b5f6112b08a60c001516112968b8a8e61012001518f6101600151611d62565b6112a68c8b8f6101200151611d6e565b61072991906121e7565b9050808310156112c8575f8094509450505050610ebd565b5f6112d382856121e7565b9050808b5f015110156112ef575f809550955050505050610ebd565b8a515f906112fe9083906121e7565b90505f61132b8d60c0015161131c5f8c611d4d90919063ffffffff16565b8f60800151610a4791906121e7565b90508c61010001518161133e91906121d4565b821061136f576101008d015161135482846121e7565b61135e91906121e7565b600197509750505050505050610ebd565b5f8097509750505050505050610ebd565b5f808390505f6113e88661010001516113aa8860c00151896080015161104d90919063ffffffff16565b60c08901516113bd90610a47895f611d4d565b89516113c991906121d4565b6113d391906121e7565b6113dd91906121e7565b60c0880151906110f7565b905061026c61141761140287670de0b6b3a76400006121e7565b6101208901516101608a0151610b1d916110f7565b61143861142c88670de0b6b3a76400006121e7565b6101208a0151906110f7565b61144290856121e7565b61144c91906121d4565b829061104d565b5f805f611461878786611d88565b90505f6114a98860c00151610a478a6101600151670de0b6b3a764000061148891906121e7565b610b1d61149d8b670de0b6b3a76400006121e7565b6101208e0151906110f7565b90508082106114c9576114bc81836121e7565b6001935093505050611044565b5f80935093505050611044565b5f6114e18585610d10565b6114fa6114f286610410868b6110f7565b859085610cf5565b61026c91906121d4565b5f6103a38383670de0b6b3a76400006110c0565b5f6103a0846109ef670de0b6b3a764000061153381886110e3565b61153d91906121e7565b8590611504565b5f805f8361155186611093565b61155b91906121fa565b90505f811215611571575f809250925050611578565b9150600190505b9250929050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f8082136115b95760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906116459084901c611093565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f80611071888888888888611e5a565b5f680248ce36a70cb26b3e1982136117ef57505f919050565b680755bf798b4a1bf1e58212611818576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061026c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611093565b5f61041684610b1d84610b1d898989611518565b5f81831361198a57826103a3565b50919050565b5f8061199c858261197c565b6119a590612268565b90505f611a118760c00151671bc16d674ec800008961010001516119da8b60c001518c6080015161104d90919063ffffffff16565b60c08c01516119ea90889061104d565b8c516119f691906121d4565b611a0091906121e7565b611a0a91906121e7565b9190610cf5565b9050610285611a36670de0b6b3a7640000611a2c818961104d565b61142c91906121e7565b670de0b6b3a7640000611a61611a4c89836121e7565b6101208c01516101608d0151610b1d916110f7565b611a73670de0b6b3a76400008961104d565b611a7d91906121d4565b611a8791906121e7565b61144c91906121e7565b5f805f611aab8760c001518761104d90919063ffffffff16565b90505f611ac6611abb83886121d4565b60e08a0151906110f7565b90505f611af9878a604001518b60a00151670de0b6b3a7640000611aea91906121e7565b8c60c001518d60e001516114d6565b9050611b15610aa78a60a0015184610d1090919063ffffffff16565b94505f611b43611b328b60a0015185610d1090919063ffffffff16565b60e08c015160c08d01519190610cf5565b905080821015611b5c575f809550955050505050611044565b611b92610f45611b888c60a00151670de0b6b3a7640000611b7d91906121e7565b60a08e0151906110e3565b61041084866121e7565b9550611bc0670de0b6b3a7640000611baa818a61104d565b611bb491906121e7565b6101208c0151906110f7565b611bca90876121e7565b9a60019a5098505050505050505050565b5f805f611beb8989888888611f2c565b9050611bfe86610410610f458a8d6121d4565b9850611c0b858a86610cf5565b985088811015611c21575f809250925050611c86565b888103670de0b6b3a76400008110611c4f57611c486111ee670de0b6b3a7640000896110e3565b9050611c67565b611c646111ee670de0b6b3a76400008961104d565b90505b80891015611c7c575f80935093505050611c86565b8803925060019150505b965096945050505050565b5f805f611ca18989888888611f2c565b9050611cb186610410898b6121d4565b975087811015611cc7575f809250925050611c86565b878103611cd58186886110c0565b9050670de0b6b3a76400008110611d0257611cfb6111ee670de0b6b3a7640000896110e3565b9050611d1a565b611d176111ee670de0b6b3a76400008961104d565b90505b611d2481866110e3565b9050808a1015611d3b575f80935093505050611c86565b90980398600198509650505050505050565b5f818313611d5b57816103a3565b5090919050565b5f61041682610b1d8787875b5f6103a0846109ef61153d86670de0b6b3a76400006121e7565b5f80611dab8386604001518760a00151670de0b6b3a764000061115891906121e7565b90505f611dd7610aa7611dcc8860a00151888a6040015161041091906121d4565b60c089015190611504565b90505f611e4e611e038860a00151670de0b6b3a7640000611df891906121e7565b60a08a0151906110e3565b610410611e318a60a00151670de0b6b3a7640000611e2191906121e7565b8a8c6040015161041091906121d4565b611e3b90876121e7565b60c08b015160e08c0151610b1d9161104d565b905061028582826110f7565b5f805f611e6a8989888888611f2c565b905086881015611e80575f809250925050611c86565b9686900396611e8f8887610d10565b975087811015611ea5575f809250925050611c86565b878103611eb38186886110c0565b9050670de0b6b3a76400008110611ee057611ed96111ee670de0b6b3a7640000896110e3565b9050611ef8565b611ef56111ee670de0b6b3a76400008961104d565b90505b611f0281866110e3565b905089811015611f19575f80935093505050611c86565b9890980398600198509650505050505050565b5f611f378585610d10565b6114fa611f4886610410868b611504565b8590856110c0565b5f805f8060808587031215611f63575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f805f60a08688031215611f93575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b604051610180810167ffffffffffffffff81118282101715611fe657634e487b7160e01b5f52604160045260245ffd5b60405290565b5f6101808284031215611ffd575f80fd5b612005611fb6565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f805f6101c0848603121561209a575f80fd5b6120a48585611fec565b9561018085013595506101a0909401359392505050565b5f805f805f8060c087890312156120d0575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f805f60e0888a031215612110575f80fd5b873596506020880135955060408801359450606088013593506080880135925060a0880135915060c08801358015158114612149575f80fd5b8091505092959891949750929550565b5f805f805f805f60e0888a03121561216f575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f80604083850312156121b1575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103c9576103c96121c0565b818103818111156103c9576103c96121c0565b8181035f831280158383131683831282161715610be757610be76121c0565b80820281158282048414176103c9576103c96121c0565b5f8261224a57634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f1984141615612263576122636121c0565b500590565b5f600160ff1b820161227c5761227c6121c0565b505f039056fea26469706673582212208bfc08777a9a04f3b337ab46ccfb98f61996d6b8ac9d9faf7e0ce777cce7cc6364736f6c63430008160033', - methodIdentifiers: { - "calculateAbsoluteMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256)": "a280a282", - "calculateCloseLong(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "94169d49", - "calculateCloseShort(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "f87845f2", - "calculateEffectiveShareReserves(uint256,int256)": "bc1e1065", - "calculateMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "3f77b617", - "calculateMaxShort((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "9e489b99", - "calculateNegativeInterestOnClose(uint256,uint256,uint256,uint256,uint256,uint256,bool)": "7ef99f87", - "calculateOpenLong(uint256,uint256,uint256,uint256,uint256,uint256)": "5e6d9d36", - "calculateOpenShort(uint256,uint256,uint256,uint256,uint256,uint256)": "6ceebe1d", - "calculateShortProceedsDown(uint256,uint256,uint256,uint256,uint256,uint256)": "e7acd3ad", - "calculateShortProceedsUp(uint256,uint256,uint256,uint256,uint256,uint256)": "902b1099", - "calculateSpotAPR(uint256,uint256,uint256,uint256,uint256)": "2810a036", - "calculateSpotPrice(uint256,uint256,uint256,uint256)": "2471caed", - "calculateTimeStretch(uint256,uint256)": "dbab8512" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts deleted file mode 100644 index 51a7a62d3..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts +++ /dev/null @@ -1,1538 +0,0 @@ -export declare const MockHyperdriveTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getGovernanceFeesAccrued"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getGovernanceFeesAccrued()": "8e67f87e"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=MockHyperdriveTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts.map deleted file mode 100644 index 4ddcc68c5..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveTarget0.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA82Dg6gC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C98gC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.js deleted file mode 100644 index 34be0d102..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget0.js +++ /dev/null @@ -1,1945 +0,0 @@ -export const MockHyperdriveTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGovernanceFeesAccrued", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b50604051620040d7380380620040d78339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c73620004645f395f8181610d7b015261233401525f8181610d4c01526122f701525f8181610c2801528181610eab01528181610f3901528181610fc70152818161105501528181611645015281816116db0152818161189d01528181611ebe01528181611f9201526120e301525f610e1301525f8181610ded01526124d901525f8181610dc701526124b301525f8181610da1015261248d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e8501526124ff01525f8181610e39015281816112d20152612a0201525f8181610e5f0152612e2601525f81816106110152610d1d01525f818161073b01528181610cee0152818161128801528181611e36015281816125c001528181612609015281816126b6015281816126ff01528181612b5c01528181612c0501528181612ceb0152612d940152613c735ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104e7578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad1461042a578063c6e6f592146104d4575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe00146104175780638e67f87e1461042a578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a61024536600461305e565b610564565b60405161025791906130c2565b60405180910390f35b61027361026e3660046130e8565b61059b565b005b610273610283366004613110565b6105a4565b61024a6105ad565b61024a6105ec565b6102a0610603565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613139565b610642565b6102736102d936600461320a565b61065e565b6102736102ec366004613299565b610674565b6103046102ff36600461305e565b610687565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046132de565b6106f0565b604051908152602001610257565b61035f610735565b60405160ff9091168152602001610257565b61034961037f36600461331d565b6107cd565b610349610805565b61034961039a36600461334b565b610823565b6103b26103ad3660046130e8565b61082d565b6040519015158152602001610257565b61024a6103d036600461305e565b61084c565b6102736103e3366004613382565b61085a565b61024a6108a8565b6103f86108dd565b60405161025791906133c9565b61027361041336600461346a565b5050565b6103496104253660046130e8565b610bd6565b610349610c01565b6102a0610c1a565b610273610448366004613496565b610c59565b61027361045b36600461346a565b610c6a565b61027361046e3660046130e8565b50565b610479610cd5565b60405161025791906134cb565b61034961049436600461305e565b611195565b6103496104a736600461305e565b6111a2565b6104bf6104ba3660046135f1565b6111c3565b6040516102579190613630565b6102a061127a565b6103496104e236600461305e565b6112b9565b6103496104f536600461305e565b6112c6565b6105026112fc565b6040516102579190613673565b61027361051d366004613784565b611407565b6103b26105303660046137df565b61144f565b61053d611492565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6060610596610572836114f0565b60405160200161058291906130c2565b604051602081830303815290604052611616565b919050565b61046e8161163a565b61046e8161189b565b60606105e96040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b81525060405160200161058291906130c2565b90565b60606105e96001604051602001610582919061380b565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b6106538989898989898989896119b3565b505050505050505050565b61066c868686868686611ba5565b505050505050565b6106818484848433611c58565b50505050565b604080516060810182525f808252602082018190529181019190915261059660085f8481526020019081526020015f20604051602001610582919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261072e9101610582565b9392505050565b5f6105e97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610795573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b991906138b8565b6040805160ff909216602083015201610582565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ff9101610582565b92915050565b5f6105e9610811611e13565b60405160200161058291815260200190565b5f6107ff82611ea9565b5f61059661083a836120df565b60408051911515602083015201610582565b6060610596610572836121bd565b83610864816122b9565b6001600160a01b0316336001600160a01b03161461089557604051632aab8bd360e01b815260040160405180910390fd5b6108a185858585612376565b5050505050565b60606105e960405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058291906130c2565b610947604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109506123e2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109ba91906138fb565b6109c4919061390e565b90505f8215610ad35773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f0856123f4565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac39190613921565b509050610ad0818461257e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610ba357610b9e8486612592565b610ba5565b5f5b81526003546001600160801b0316602091820152604051919250610bcf91610582918491016133c9565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105969101610582565b5f6105e960095460405160200161058291815260200190565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b610c6583838333612376565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612f8a565b6105e96040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f29919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb7919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611045919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d3919061394f565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058291906134cb565b5f610596610811836125a6565b5f818152600b60209081526040808320548151928301526105969101610582565b60605f8267ffffffffffffffff8111156111df576111df61396a565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f8585838181106112285761122861397e565b9050602002013590505f81549050808484815181106112495761124961397e565b6020908102919091010152505060010161120d565b50611273816040516020016105829190613630565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b5f6105966108118361269c565b5f6105966108116112f77f0000000000000000000000000000000000000000000000000000000000000000856138fb565b612782565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e96002604051602001610582919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611411816122b9565b6001600160a01b0316336001600160a01b03161461144257604051632aab8bd360e01b815260040160405180910390fd5b61066c8686868686611c58565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ff9101610582565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e990606001610582565b606060f882901c6001600160f81b0383165f61150b826127c2565b90505f836003811115611520576115206138d3565b03611552576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061160e565b6001836003811115611566576115666138d3565b03611592578060405160200161157c9190613992565b604051602081830303815290604052935061160e565b60028360038111156115a6576115a66138d3565b036115bc578060405160200161157c91906139ca565b60038360038111156115d0576115d06138d3565b0361160e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161163191906130c2565b60405180910390fd5b611642612874565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c3919061394f565b9050336001600160a01b0382161480159061176f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611735573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611759919061394f565b6001600160a01b0316336001600160a01b031614155b8015611781575061177f336120df565b155b1561179e576040516282b42960e81b815260040160405180910390fd5b5f6117a7611e13565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613a03565b90506118286001600160a01b038516848361289c565b81611831611e13565b1461184f576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191b919061394f565b6001600160a01b0316336001600160a01b0316141580156119425750611940336120df565b155b1561195f576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a890831515815260200190565b60405180910390a150565b834211156119d45760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119fb5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ae5573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b2357604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bc257506001600160a01b038516155b15611be05760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c005760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4f57611c47858583818110611c1f57611c1f61397e565b905060200201358888868686818110611c3a57611c3a61397e565b9050602002013533611c58565b600101611c02565b50505050505050565b6001600160a01b0384161580611c7557506001600160a01b038316155b15611c935760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d53576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d53575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d51575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d4b90849061390e565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d8490849061390e565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dba9084906138fb565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ea4906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611e7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9f9190613a03565b61269c565b905090565b5f611eb2612874565b611ebb826128ee565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3c919061394f565b90506001600160a01b038116611f5560208501856130e8565b6001600160a01b031614611f7c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061202657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612010919061394f565b6001600160a01b0316336001600160a01b031614155b80156120385750612036336120df565b155b15612055576040516282b42960e81b815260040160405180910390fd5b5f61205e6123e2565b600980545f909155909150612074818387612923565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120b360408a0160208b01613110565b60408051938452602084019290925215159082015260600160405180910390a250505061059660015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561213c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121639190810190613a1a565b90505f5b81518110156121b457836001600160a01b031682828151811061218c5761218c61397e565b60200260200101516001600160a01b0316036121ac575060019392505050565b600101612167565b505f9392505050565b606060f882901c6001600160f81b0383165f6121d8826127c2565b90505f8360038111156121ed576121ed6138d3565b0361221f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061160e565b6001836003811115612233576122336138d3565b03612249578060405160200161157c9190613ada565b600283600381111561225d5761225d6138d3565b03612273578060405160200161157c9190613b11565b6003836003811115612287576122876138d3565b0361160e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ea4670de0b6b3a76400006125a6565b61244c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161254491166129b9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612576929004166129b9565b905292915050565b5f61072e8383670de0b6b3a7640000612a2d565b5f61072e83670de0b6b3a764000084612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125f457504761267d565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612656573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267a9190613a03565b90505b600f545f0361268c575f61072e565b600f5461072e9084908390612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126ea575047612773565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561274c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127709190613a03565b90505b600f5461072e90849083612a2d565b5f6127a7600b5f612794600286612a48565b81526020019081526020015f2054612a7c565b6127b8600b5f612794600187612a48565b6107ff9190613b3c565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612866576127fb600a86613b6f565b6128069060306138fb565b60f81b826001612816848761390e565b612820919061390e565b815181106128305761283061397e565b60200101906001600160f81b03191690815f1a9053508061285081613b82565b915061285f9050600a86613b9a565b94506127ea565b918290030190815292915050565b60025f540361289657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612aa9565b5f6128fc60208301836130e8565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061292f858561257e565b905061293a8161269c565b9450845f0361294c575f91505061072e565b84915061295f6040840160208501613110565b1561298e576129878561297560208601866130e8565b6129826040870187613bad565b612b0a565b91506129b1565b6129b18561299f60208601866130e8565b6129ac6040870187613bad565b612c9a565b509392505050565b5f80670de0b6b3a76400006129cc612e1f565b6129d69190613bf0565b90508083116129e5575f6129ef565b6129ef818461390e565b915061072e612a26670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bf0565b8390612592565b5f825f190484118302158202612a41575f80fd5b5091020490565b5f6001600160f81b03821115612a715760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aa55760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612abd6001600160a01b03841683612e4a565b905080515f14158015612ae1575080806020019051810190612adf9190613c07565b155b15610c6557604051635274afe760e01b81526001600160a01b0384166004820152602401611631565b5f600f548511612b1a5784612b1e565b600f545b94505f612b2a866125a6565b905085600f5f828254612b3d919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612bdf576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612bcf576040519150601f19603f3d011682016040523d82523d5f602084013e612bd4565b606091505b505080915050612c72565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6f9190613c07565b90505b80612c90576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612ca95783612cad565b600f545b93505f612cb9856125a6565b905084600f5f828254612ccc919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612d6e576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612d5e576040519150601f19603f3d011682016040523d82523d5f602084013e612d63565b606091505b505080915050612e01565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612dda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dfe9190613c07565b90505b8061066c576040516312171d8360e31b815260040160405180910390fd5b5f611ea4427f0000000000000000000000000000000000000000000000000000000000000000612e57565b606061072e83835f612e6c565b5f612e628284613b6f565b61072e908461390e565b606081471015612e915760405163cd78605960e01b8152306004820152602401611631565b5f80856001600160a01b03168486604051612eac9190613c22565b5f6040518083038185875af1925050503d805f8114612ee6576040519150601f19603f3d011682016040523d82523d5f602084013e612eeb565b606091505b5091509150612efb868383612f05565b9695505050505050565b606082612f1a57612f1582612f61565b61072e565b8151158015612f3157506001600160a01b0384163b155b15612f5a57604051639996b31560e01b81526001600160a01b0385166004820152602401611631565b508061072e565b805115612f715780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161305960405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561306e575f80fd5b5035919050565b5f5b8381101561308f578181015183820152602001613077565b50505f910152565b5f81518084526130ae816020860160208601613075565b601f01601f19169290920160200192915050565b602081525f61072e6020830184613097565b6001600160a01b038116811461046e575f80fd5b5f602082840312156130f8575f80fd5b813561072e816130d4565b801515811461046e575f80fd5b5f60208284031215613120575f80fd5b813561072e81613103565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215613152575f80fd5b8935985060208a0135975060408a013561316b816130d4565b965060608a013561317b816130d4565b955060808a013561318b81613103565b945060a08a0135935060c08a01356131a28161312b565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126131d2575f80fd5b50813567ffffffffffffffff8111156131e9575f80fd5b6020830191508360208260051b8501011115613203575f80fd5b9250929050565b5f805f805f806080878903121561321f575f80fd5b863561322a816130d4565b9550602087013561323a816130d4565b9450604087013567ffffffffffffffff80821115613256575f80fd5b6132628a838b016131c2565b9096509450606089013591508082111561327a575f80fd5b5061328789828a016131c2565b979a9699509497509295939492505050565b5f805f80608085870312156132ac575f80fd5b8435935060208501356132be816130d4565b925060408501356132ce816130d4565b9396929550929360600135925050565b5f805f606084860312156132f0575f80fd5b833592506020840135613302816130d4565b91506040840135613312816130d4565b809150509250925092565b5f806040838503121561332e575f80fd5b823591506020830135613340816130d4565b809150509250929050565b5f6020828403121561335b575f80fd5b813567ffffffffffffffff811115613371575f80fd5b82016060818503121561072e575f80fd5b5f805f8060808587031215613395575f80fd5b8435935060208501356133a7816130d4565b92506040850135915060608501356133be816130d4565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561347b575f80fd5b8235613486816130d4565b9150602083013561334081613103565b5f805f606084860312156134a8575f80fd5b8335925060208401356134ba816130d4565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516134f760208401826001600160a01b03169052565b50604083015161351260408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613584828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613602575f80fd5b823567ffffffffffffffff811115613618575f80fd5b613624858286016131c2565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156136675783518352928401929184019160010161364b565b50909695505050505050565b81516001600160801b031681526101808101602083015161369f60208401826001600160801b03169052565b5060408301516136ba60408401826001600160801b03169052565b5060608301516136d560608401826001600160801b03169052565b5060808301516136ea6080840182600f0b9052565b5060a083015161370560a08401826001600160801b03169052565b5060c083015161372060c08401826001600160801b03169052565b5060e083015161373b60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526135e9565b5f805f805f60a08688031215613798575f80fd5b8535945060208601356137aa816130d4565b935060408601356137ba816130d4565b92506060860135915060808601356137d1816130d4565b809150509295509295909350565b5f80604083850312156137f0575f80fd5b82356137fb816130d4565b91506020830135613340816130d4565b5f60208083525f84545f60018260011c9150600183168061382d57607f831692505b60208310810361384b57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561386a5760018114613880576138a9565b60ff198616825284151560051b820196506138a9565b5f8b8152602090205f5b868110156138a35781548482015290850190890161388a565b83019750505b50949998505050505050505050565b5f602082840312156138c8575f80fd5b815161072e8161312b565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ff576107ff6138e7565b818103818111156107ff576107ff6138e7565b5f8060408385031215613932575f80fd5b82519150602083015161334081613103565b8051610596816130d4565b5f6020828403121561395f575f80fd5b815161072e816130d4565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516139bd816011850160208701613075565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516139f6816012850160208701613075565b9190910160120192915050565b5f60208284031215613a13575f80fd5b5051919050565b5f6020808385031215613a2b575f80fd5b825167ffffffffffffffff80821115613a42575f80fd5b818501915085601f830112613a55575f80fd5b815181811115613a6757613a6761396a565b8060051b604051601f19603f83011681018181108582111715613a8c57613a8c61396a565b604052918252848201925083810185019188831115613aa9575f80fd5b938501935b82851015613ace57613abf85613944565b84529385019392850192613aae565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613b04816010850160208701613075565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516139bd816011850160208701613075565b8181035f831280158383131683831282161715611273576112736138e7565b634e487b7160e01b5f52601260045260245ffd5b5f82613b7d57613b7d613b5b565b500690565b5f60018201613b9357613b936138e7565b5060010190565b5f82613ba857613ba8613b5b565b500490565b5f808335601e19843603018112613bc2575f80fd5b83018035915067ffffffffffffffff821115613bdc575f80fd5b602001915036819003821315613203575f80fd5b80820281158282048414176107ff576107ff6138e7565b5f60208284031215613c17575f80fd5b815161072e81613103565b5f8251613c33818460208701613075565b919091019291505056fea264697066735822122021b09f56eae2e6401e682ea513847aab1fe9991d765a55efc881bef2565b0f3b64736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getGovernanceFeesAccrued()": "8e67f87e", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts deleted file mode 100644 index 124f3ddc3..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts +++ /dev/null @@ -1,766 +0,0 @@ -export declare const MockHyperdriveTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=MockHyperdriveTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts.map deleted file mode 100644 index 18c5623f1..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveTarget1.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi7Bw/gC,KAAK,MAAM,EAAE;;;;;CAKtihC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.js deleted file mode 100644 index 8f9274b0b..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget1.js +++ /dev/null @@ -1,951 +0,0 @@ -export const MockHyperdriveTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004103380380620041038339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c666200049d5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612f3c01525f818161139301528181611791015281816117f401528181612b2501528181612b6101528181612d590152612f1601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ef001525f611ba501525f8181611cc601528181612307015261237f01525f81816108a901528181610f4301528181611c9a015261235301525f8181610e3e01526122cd01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612f6201525f81816107e701528181610ec4015281816116ef015281816121a6015261348601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f8181611984015281816119cd015281816125e30152818161262c01528181612701015281816127aa0152818161289001526129390152613c665ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613716565b610070565b60405190815260200160405180910390f35b61004b61006b366004613716565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613784565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613797565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836137ca565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137f2565b6102bd8a6102b78d8f613784565b90611584565b8d6102cb60408c018c61380d565b6040516102df989796959493929190613878565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613784565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836138bf565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836137ca565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137f2565b8a61050260408b018b61380d565b60405161051597969594939291906138e6565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836137ca565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611a60565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613784565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a75565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b92505b5061073e83611aab565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613926565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613784565b4290611ad4565b8461102b565b6107db88611ae8565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613926565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c85565b915091508060095f8282546108789190613784565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613784565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d52565b91506108e16108dc8385611584565b611d9b565b600680546002906109029084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611aab565b60068054601090610951908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c85565b915091508060095f8282546109c49190613784565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613926565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611aab565b60068054601090610a68908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613797565b5f61134e565b8e610ac58482611dc4565b50505b5f610ad284611fb3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613979565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120f5565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613926565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a75565b90505f610d5f8a61217b565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121ca565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612239565b612268565b15610e7457610e746113ec565b5f805f610e8385878b876122a9565b9c5091945092509050610e968184613926565b610ea09089613784565b9750610eac8284613784565b610eb6908d613784565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613926565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d52565b9950610f73878a613926565b9850670de0b6b3a7640000610ff0610f8b8787613784565b600254610fa9908f90600160801b90046001600160801b0316613926565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6123bb565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613926565b6110d19190613994565b85670de0b6b3a76400006110e5878a613926565b6110ef9190613994565b859291906001612457565b611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611aab565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613994565b600554600160801b90046001600160801b031691908a5f612457565b600580546001600160801b03928316600160801b0292169190911790556111d286611aab565b6111dc90826139ab565b600480546001600160801b03928316600160801b02921691909117905561120284611aab565b600280545f9061121c9084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611249836124fd565b600480545f9061125d908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611aab565b600280546010906112af908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613797565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612538565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361259a565b6003546113ce91906001600160801b0316613784565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611dc4565b5f805f61141d84611ae8565b90925090505f61142d8686611584565b905081831115611445576114428683856125ae565b95505b8281101561145757808303925061145b565b5f92505b61146483611d9b565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611aab565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816125c9565b9450845f03611516575f91505061157d565b84915061152960408401602085016137f2565b15611558576115518561153f60208601866137ca565b61154c604087018761380d565b6126af565b915061157b565b61157b8561156960208601866137ca565b611576604087018761380d565b61283f565b505b9392505050565b5f61157d8383670de0b6b3a76400006125ae565b5f805f805f805f806115a8611a75565b90505f6115b48a61217b565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006129cc565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b985061169a84878b886122a9565b9c5091945090925090506116ae8284613926565b6116b89089613926565b97506116c48184613784565b6116ce908e613926565b9c506116da8a8e613784565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613926565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016123bb565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613926565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613797565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612a1f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613994565b6005546001600160801b031691908c5f612457565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613926565b90506118a281611aab565b600380546001600160801b03928316600160801b0292169190911790556118c883611aab565b600280546001600160801b0319166001600160801b03929092169190911790556118f1826124fd565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611aab565b6002805460109061193c908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119b8575047611a41565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a3e91906139f8565b90505b600f545f03611a50575f61157d565b600f5461157d90849083906125ae565b5f611a6b8284613a23565b61157d9084613926565b6002546004545f916105a6916001600160801b0390911690600f0b612a1f565b5f61007d82611aa58588886125ae565b90612a44565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611ae2578261157d565b50919050565b6006545f908190611b0a908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c80575f611b338383613926565b9050611b426110fa8286612ab3565b60068054601090611b64908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b9c8583612ac790919063ffffffff16565b90505f611bc9827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611bdc9190613784565b90915550611bec90508183613926565b9150611bf782611aab565b600280545f90611c119084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3e82612adb565b600480545f90611c52908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c918785612ac7565b91505f611cbe837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611cea817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d0d57611cfc8282613926565b611d069084613926565b9250611d24565b611d178282613926565b611d219084613784565b92505b86861015611d4757611d378387896125ae565b9250611d448287896125ae565b91505b509550959350505050565b5f80611d6984611d638a888a6125ae565b90612ac7565b9050611d768884866125ae565b611d809082613784565b905086811115611d905786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e0e916001600160801b031690613926565b9050805f03611e2157600191505061131b565b5f611e2b85612b04565b9050805f03611e3f5760019250505061131b565b5f80611e4c838589612b9f565b9150915080611e61575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e9c929190613ab4565b6040805180830381865af4158015611eb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eda9190613b29565b91509150611ef8611eea82611321565b611ef390613b4b565b612d13565b925082611f0d575f965050505050505061131b565b611f1682611aab565b600780545f90611f309084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5d81611aab565b60078054601090611f7f908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fda87612ea7565b6040518263ffffffff1660e01b8152600401611ff69190613b65565b6040805180830381865af4158015612010573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120349190613b74565b915091508061204957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120ae91613784565b6120b89190613926565b9050805f036120ce57505f958695509350505050565b5f8087116120dc575f6120e7565b6120e78488846125ae565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561211857612118613ba2565b6040519080825280601f01601f191660200182016040528015612142576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612162578692505b828152825f602083013e90999098509650505050505050565b5f806121856105ab565b9050808311612194575f61219e565b61219e8184613926565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612ac7565b5f80806121ea6121e288670de0b6b3a7640000613926565b899087612fe1565b9050861561222c576121fc888861259a565b915061221d8a8a846122168a670de0b6b3a7640000613926565b8989613004565b92506122298382613784565b90505b9750975097945050505050565b5f61225661224f84670de0b6b3a7640000613926565b839061259a565b61157d90670de0b6b3a7640000613926565b5f8061229e85612276611a75565b6122809190613784565b600254610fa9908790600160801b90046001600160801b0316613926565b909210949350505050565b5f8080806122ff87866122f88b6122f26122cb8c670de0b6b3a7640000613926565b7f00000000000000000000000000000000000000000000000000000000000000009061259a565b9061259a565b9190612fe1565b935061232b847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61234b61234389670de0b6b3a7640000613926565b8a9088612fe1565b9050612377817f000000000000000000000000000000000000000000000000000000000000000061259a565b93506123a3847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123ad9084613784565b915050945094509450949050565b5f805f805f80888810156124275786156123dd576123da8d898b6125ae565b9c505b6123e88c898b6125ae565b9b506123f38b611321565b6123fc8d611321565b6124069190613797565b90506124138b898b6125ae565b9a506124208a898b6125ae565b9950612446565b6124308b611321565b6124398d611321565b6124439190613797565b90505b9b9c9a9b999a975050505050505050565b5f825f036124665750846124f4565b81156124b8576124976124798487613784565b6124838587611584565b61248d888a611584565b611d639190613784565b90505f6124a48588611ad4565b9050808210156124b2578091505b506124f4565b8285036124c657505f6124f4565b6124f16124d38487613926565b6124dd858761259a565b6124e7888a611584565b611d639190613926565b90505b95945050505050565b5f60016001607f1b031982128061251a575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612544845f613026565b61254e845f613026565b6125589190613797565b90505f8113156125735761256c8186613784565b9450612591565b5f8112156125915761258481613b4b565b61258e9086613926565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612fe1565b5f825f1904841183021582026125c2575f80fd5b5091020490565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126175750476126a0565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612679573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269d91906139f8565b90505b600f5461157d908490836125ae565b5f600f5485116126bf57846126c3565b600f545b94505f6126cf8661196a565b905085600f5f8282546126e29190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612784576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612774576040519150601f19603f3d011682016040523d82523d5f602084013e612779565b606091505b505080915050612817565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156127f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128149190613bb6565b90505b80612835576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f54841161284e5783612852565b600f545b93505f61285e8561196a565b905084600f5f8282546128719190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612913576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612903576040519150601f19603f3d011682016040523d82523d5f602084013e612908565b606091505b5050809150506129a6565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561297f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a39190613bb6565b90505b806129c4576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806129ec6129e488670de0b6b3a7640000613926565b8990876125ae565b9050861561222c576129fe8888611584565b915061221d8a8a84612a188a670de0b6b3a7640000613926565b898961303b565b5f80612a2b848461304b565b909250905080612a3d57612a3d6113ec565b5092915050565b5f815f03612a5b5750670de0b6b3a764000061131b565b825f03612a6957505f61131b565b5f612a7383611321565b90505f612a87612a8286611321565b613086565b9050818102612a9e670de0b6b3a764000082613bd1565b9050612aa9816132ab565b9695505050505050565b5f61157d83670de0b6b3a764000084612fe1565b5f61157d83670de0b6b3a7640000846125ae565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612b1e906001600160801b031684612ab3565b9050612b4a7f000000000000000000000000000000000000000000000000000000000000000082613784565b6002546001600160801b03161115611ae2576002547f000000000000000000000000000000000000000000000000000000000000000090612b959083906001600160801b0316613926565b61157d9190613926565b612ba7613677565b5f80612bb284612ea7565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612bec9190613b65565b6040805180830381865af4158015612c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c2a9190613b74565b9350905082612c3e57505f9150612d0b9050565b5f612c64612c5f84610160015185610140015161158490919063ffffffff16565b611321565b612c84612c5f85610120015186610100015161259a90919063ffffffff16565b612c8e9190613797565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612dc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ded9190613bfd565b935093509350935080612e0857505f98975050505050505050565b868414612e3957612e1884611aab565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612e6a57612e49836124fd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e9857612e7a82611aab565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612eaf6136c1565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fa7911661343d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612fd99290041661343d565b905292915050565b5f825f190484118302158202612ff5575f80fd5b50910281810615159190040190565b5f806130148888888888886134b1565b909250905080611d9057611d906113ec565b5f818313613034578161157d565b5090919050565b5f8061301488888888888861358d565b5f805f8361305886611321565b6130629190613797565b90505f811215613078575f80925092505061307f565b9150600190505b9250929050565b5f8082136130a75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061312a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132c457505f919050565b680755bf798b4a1bf1e582126132ed576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612aa974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006134506105ab565b61345a9190613994565b9050808311613469575f613473565b6134738184613926565b915061157d6134aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613994565b8390612ac7565b5f805f6134c18989888888613649565b9050868810156134d7575f809250925050613582565b96869003966134e68887612a44565b9750878110156134fc575f809250925050613582565b87810361350a818688612fe1565b9050670de0b6b3a7640000811061353e57613537613530670de0b6b3a764000089612ab3565b8290612a44565b9050613556565b613553613530670de0b6b3a764000089612ac7565b90505b6135608186612ab3565b905089811015613577575f80935093505050613582565b899003925060019150505b965096945050505050565b5f805f61359d8989888888613649565b90506135ad86611aa5898b613784565b9750878110156135c3575f809250925050613582565b8781036135d1818688612fe1565b9050670de0b6b3a764000081106135fe576135f7613530670de0b6b3a764000089612ab3565b9050613616565b613613613530670de0b6b3a764000089612ac7565b90505b6136208186612ab3565b9050808a1015613637575f80935093505050613582565b90980398600198509650505050505050565b5f6136548585612a44565b61366d61366586611aa5868b61259a565b859085612fe1565b6124f19190613784565b60405180610120016040528061368b6136c1565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613729575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613754575f80fd5b850160608188031215613765575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613770565b8181035f831280158383131683831282161715612a3d57612a3d613770565b6001600160a01b0381168114610591575f80fd5b5f602082840312156137da575f80fd5b813561157d816137b6565b8015158114610591575f80fd5b5f60208284031215613802575f80fd5b813561157d816137e5565b5f808335601e19843603018112613822575f80fd5b83018035915067ffffffffffffffff82111561383c575f80fd5b60200191503681900382131561307f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6138b160e083018486613850565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138de576138de613770565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61391960c083018486613850565b9998505050505050505050565b8181038181111561131b5761131b613770565b6001600160701b03818116838216019080821115612a3d57612a3d613770565b6001600160801b03818116838216019080821115612a3d57612a3d613770565b5f60208284031215613989575f80fd5b815161157d816137b6565b808202811582820484141761131b5761131b613770565b6001600160801b03828116828216039080821115612a3d57612a3d613770565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613770565b5f60208284031215613a08575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a3157613a31613a0f565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ac7828551613a36565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b3a575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b5f57613b5f613770565b505f0390565b610180810161131b8284613a36565b5f8060408385031215613b85575f80fd5b825191506020830151613b97816137e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613bc6575f80fd5b815161157d816137e5565b5f82613bdf57613bdf613a0f565b600160ff1b82145f1984141615613bf857613bf8613770565b500590565b5f805f8060808587031215613c10575f80fd5b8451935060208501519250604085015191506060850151613765816137e556fea264697066735822122034da2b5732f62280d0c6e2269d467a1f7828d6d5aff85ef3b012edddfc43472564736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts deleted file mode 100644 index 16f4006b5..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts +++ /dev/null @@ -1,782 +0,0 @@ -export declare const MockHyperdriveTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=MockHyperdriveTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts.map deleted file mode 100644 index 1d6fc5351..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveTarget2.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq8BkxjC,KAAK,MAAM,EAAE;;;;;CAKh0jC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.js deleted file mode 100644 index 00ecace07..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget2.js +++ /dev/null @@ -1,971 +0,0 @@ -export const MockHyperdriveTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004390380380620043908339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ebb620004d55f395f50505f50505f610c7301525f50505f818160f901528181610302015261315701525f81816115f9015281816120f501528181612158015281816128df01528181612d4701528181612d8301528181612f74015261313101525f818161083101528181610dcd01528181610e0f01528181610f0101528181611367015281816113c50152818161199c01528181611a2b015261310b01525f611d1f01525f8181611e40015281816129d001528181612a48015261326f01525f81816109ee01528181610e820152818161146001528181611e140152612a1c01525f8181610e610152818161299c015261322b01525f818161085201528181610dab01528181610e3001528181610f2201528181611345015281816113e6015261317d01525f81816101d3015281816103960152818161092c01526136f301525f81816106f20152818161076e015281816107e2015281816108ad01526108e501525f50505f818161055b015281816114c901528181611512015281816117a1015281816117ea01528181611879015281816118fa01528181611a9601528181611b1701528181612b2f0152612b780152613ebb5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461396b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461396b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d9836105c5565b5f806100e588866105fd565b90925090505f6100f583836106ce565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106eb565b905061017281846004600161071b565b505f805f6101808787610d7f565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139d9565b909155506101ce9050844283610f5e565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139d9565b98506102068389888c611097565b5f61021260018b61122e565b905061022b8161022560208e018e613a00565b8b611262565b8d8a8a898e8561023e6020830183613a00565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a28565b8961028960408a018a613a43565b60405161029c9796959493929190613aae565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b610300836105c5565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a611307565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106eb565b90505f61038e6103846106eb565b846004600161071b565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139d9565b90505f805f806103cc8e8988611319565b60098054949850929650909450925083915f906103ea9084906139d9565b909155506103fb9050874283610f5e565b61040d610408858a61149b565b6114af565b6104189060016139d9565b9350505f61042784898d6115ac565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105fd565b508e905061046481858b896115d3565b5f61047060028861122e565b90508c61048a826104846020840184613a00565b85611262565b858b868461049b6020860186613a00565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a28565b6104ec896104e68a8d613aee565b906106ce565b8d6104fa60408e018e613a43565b60405161050e989796959493929190613b01565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906105a557503415155b156105c357604051631574f9f360e01b815260040160405180910390fd5b565b5f6105d36020830183613a00565b6001600160a01b0316036105fa5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806106106040850160208601613a28565b156106355761062b856106266040870187613a43565b611786565b909350905061064d565b503461064d856106486040870187613a43565b611a10565b610655611307565b915080156106c5576040515f90339083908381818185875af1925050503d805f811461069c576040519150601f19603f3d011682016040523d82523d5f602084013e6106a1565b606091505b50509050806106c3576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106e28383670de0b6b3a7640000611bb2565b90505b92915050565b5f610716427f0000000000000000000000000000000000000000000000000000000000000000611bcd565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074257504286115b1561075b57600101546001600160801b03169050610d77565b5f805f6107666106eb565b90505f6107937f00000000000000000000000000000000000000000000000000000000000000008b6139d9565b90505b81811015610807575f818152600860205260409020600101546001600160801b031680156107df575f828152600860205260409020549094506001600160801b03169250610807565b507f000000000000000000000000000000000000000000000000000000000000000001610796565b835f036108795788935061087661081c611be2565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b92505b5061088383611c21565b6001850180546001600160801b0319166001600160801b03929092169190911790556108d96108d27f00000000000000000000000000000000000000000000000000000000000000008b613aee565b8a84610f5e565b6109178961091161090a7f0000000000000000000000000000000000000000000000000000000000000000836139d9565b4290611c4e565b84610f5e565b61092088611c62565b505f90506008816109517f00000000000000000000000000000000000000000000000000000000000000008d613aee565b815260208101919091526040015f908120600101546001600160801b0316915061097c60028c61122e565b5f818152600b60205260408120549192508c8c8315610abd57600192505f806109a886898d865f611dff565b915091508060095f8282546109bd91906139d9565b909155506109d89050865f846109d281611ecc565b88611ef5565b6109e281836139d9565b9150610a1286838a8e877f000000000000000000000000000000000000000000000000000000000000000061206c565b9150610a26610a2183856106ce565b6120b5565b60068054600290610a479084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7482611c21565b60068054601090610a96908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ac960018461122e565b5f818152600b60205260409020549091508015610bd457600194505f80610af4838b8f886001611dff565b915091508060095f828254610b0991906139d9565b90915550610b249050835f84610b1e81611ecc565b8a6120de565b610b2e8183613aee565b9150610b3d610a2183876106ce565b60068054600290610b5e9084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b8b82611c21565b60068054601090610bad908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c0d57610bff610be687611ecc565b610bef83611ecc565b610bf99190613b88565b5f6122ce565b8e610c0a848261230d565b50505b5f610c17846124fc565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf19190613ba7565b90506001600160a01b03811615610d6557610d625a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061263e565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d8c611be2565b600254909150610df1908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006126c4565b600254909450610e54908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b9150610eab8785610ea6857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006126ef565b612753565b15610eb857610eb8612794565b610ec4878588856127ad565b91965094509250670de0b6b3a7640000610f46610ee187846139d9565b600254610eff908890600160801b90046001600160801b0316613aee565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b1115610f5457610f54612794565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f895750505050565b5f848152600860205260408120546001600160801b031690819003610fe157610fb183611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561105e565b61103261102d670de0b6b3a7640000610ffa8886613aee565b6110049190613bc2565b85670de0b6b3a7640000611018878a613aee565b6110229190613bc2565b8592919060016127f5565b611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106784611c21565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110d961102d826110c3670de0b6b3a764000086613bc2565b6005546001600160801b031691908860016127f5565b600580546001600160801b0319166001600160801b039290921691909117905561110285611c21565b600280545f9061111c9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114984611c21565b6002805460109061116b908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061119884611c21565b6111a29082613b68565b600380546001600160801b03808416600160801b02911617905590505f6111c883612899565b90506111e6816111d787611ecc565b6111e19084613bf9565b6122ce565b6111ef846128d9565b6111fb576111fb612794565b5f61120585612938565b90508061122557604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112939084906139d9565b90915550505f838152600b6020526040812080548392906112b59084906139d9565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f610716670de0b6b3a76400006114af565b5f805f805f611326611be2565b60025490915061138b908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612944565b9350876113988589612964565b11156113a6576113a6612794565b6002545f90819061140a908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b93506114208a670de0b6b3a7640000868c612978565b5091935090915061143390508183613aee565b61143d9087613aee565b95508861148a816114848d611452868c613aee565b8d61145d8782612a84565b877f0000000000000000000000000000000000000000000000000000000000000000612a99565b90612964565b975090945050505093509350935093565b5f6106e283670de0b6b3a764000084612ab9565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016114fd575047611586565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561155f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115839190613c20565b90505b600f545f03611595575f6115a5565b600f546115a59084908390611bb2565b9392505050565b5f6115bd6040830160208401613a28565b156115c95750826115a5565b610d778484612adc565b6002546001600160801b0316838110156115ef576115ef612794565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611627908390600f0b612af0565b101561163557611635612794565b60045461167f9061102d90600160801b90046001600160801b0316611662670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908960016127f5565b600580546001600160801b03928316600160801b0292169190911790556116a581611c21565b600280546001600160801b0319166001600160801b03929092169190911790556116ce85611c21565b600280546010906116f0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061171d85611c21565b6004805460109061173f908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61176d83612899565b90506111e68161177c88611ecc565b6111e19084613b88565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016117d557504761185e565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613c20565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016118d857873410156118c7576040516312171d8360e31b815260040160405180910390fd5b6118d18834613aee565b905061196f565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190613c37565b91505b8161198d576040516312171d8360e31b815260040160405180910390fd5b600f545f036119d1576119c0887f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f81905594509250611a08915050565b600f545f906119e2908a9086611bb2565b905080600f5f8282546119f591906139d9565b90915550909550909350611a0892505050565b935093915050565b5f611a1a846114af565b9050600f545f03611a5757611a4f817f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f55611a7b565b5f611a6182612b15565b905080600f5f828254611a7491906139d9565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611af55782341015611ae4576040516312171d8360e31b815260040160405180910390fd5b611aee8334613aee565b9050611b8c565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b899190613c37565b91505b81611baa576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202611bc6575f80fd5b5091020490565b5f611bd88284613c66565b6106e29084613aee565b6002546004545f91610716916001600160801b0390911690600f0b612af0565b5f611c1882611c12858888611bb2565b90612bfb565b95945050505050565b5f6001600160801b03821115611c4a57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611c5c57826106e2565b50919050565b6006545f908190611c84908490600160801b90046001600160801b03166106ce565b6006546201000090046001600160701b03169250905081811115611dfa575f611cad8383613aee565b9050611cbc61102d828661149b565b60068054601090611cde908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d168583612adc90919063ffffffff16565b90505f611d43827f00000000000000000000000000000000000000000000000000000000000000006106ce565b90508060095f828254611d5691906139d9565b90915550611d6690508183613aee565b9150611d7182611c21565b600280545f90611d8b9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611db882612c60565b600480545f90611dcc908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611e0b8785612adc565b91505f611e38837f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050611e64817f00000000000000000000000000000000000000000000000000000000000000006106ce565b91508315611e8757611e768282613aee565b611e809084613aee565b9250611e9e565b611e918282613aee565b611e9b90846139d9565b92505b86861015611ec157611eb1838789611bb2565b9250611ebe828789611bb2565b91505b509550959350505050565b5f6001600160ff1b03821115611c4a5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611f3d61102d82611f21670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908a5f6127f5565b600580546001600160801b03928316600160801b029216919091179055611f6386611c21565b611f6d9082613bd9565b600480546001600160801b03928316600160801b029216919091179055611f9384611c21565b600280545f90611fad9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fda83612c89565b600480545f90611fee908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061201e85611c21565b60028054601090612040908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120838461207d8a888a611bb2565b90612adc565b9050612090888486611bb2565b61209a90826139d9565b9050868111156120aa5786810391505b509695505050505050565b5f6001600160701b03821115611c4a5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061212057507f000000000000000000000000000000000000000000000000000000000000000061211e8583613aee565b105b1561212d5761212d612794565b6004549084900390600f0b6121428482613b88565b90508361214e86611ecc565b13801561218357507f00000000000000000000000000000000000000000000000000000000000000006121818383612af0565b105b1561219057612190612794565b600354600160801b90046001600160801b03166121d161102d826121bc670de0b6b3a764000088613bc2565b6005546001600160801b031691908c5f6127f5565b600580546001600160801b0319166001600160801b03929092169190911790556121fb8882613aee565b905061220681611c21565b600380546001600160801b03928316600160801b02921691909117905561222c83611c21565b600280546001600160801b0319166001600160801b039290921691909117905561225582612c89565b600480546001600160801b0319166001600160801b039290921691909117905561227e87611c21565b600280546010906122a0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122e99061102d906001600160801b03168484612cc4565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612357916001600160801b031690613aee565b9050805f0361236a5760019150506106e5565b5f61237485612d26565b9050805f03612388576001925050506106e5565b5f80612395838589612dc1565b91509150806123aa575f9450505050506106e5565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123e5929190613d24565b6040805180830381865af41580156123ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124239190613d99565b9150915061244161243382611ecc565b61243c90613dbb565b612f2e565b925082612456575f96505050505050506106e5565b61245f82611c21565b600780545f906124799084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124a681611c21565b600780546010906124c8908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612523876130c2565b6040518263ffffffff1660e01b815260040161253f9190613dd5565b6040805180830381865af4158015612559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061257d9190613de4565b915091508061259257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125f7916139d9565b6126019190613aee565b9050805f0361261757505f958695509350505050565b5f808711612625575f612630565b612630848884611bb2565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561266157612661613e12565b6040519080825280601f01601f19166020018201604052801561268b576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126ab578692505b828152825f602083013e90999098509650505050505050565b5f6126e48787876126dd88670de0b6b3a7640000613aee565b87876131fc565b979650505050505050565b5f610d7761272f61270884670de0b6b3a7640000613aee565b611484670de0b6b3a764000061271e818a61149b565b6127289190613aee565b8790612964565b61274190670de0b6b3a76400006139d9565b61207d84670de0b6b3a7640000613aee565b5f8061278985612761611be2565b61276b91906139d9565b600254610eff908790600160801b90046001600160801b0316613aee565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6127bd89878961321e565b90925090506127cc8289613aee565b97505f6127da82888a611bb2565b90506127e6818b613aee565b9a989950979650505050505050565b5f825f03612804575084611c18565b81156128565761283561281784876139d9565b61282185876106ce565b61282b888a6106ce565b61207d91906139d9565b90505f6128428588611c4e565b905080821015612850578091505b50611c18565b82850361286457505f611c18565b61288f6128718487613aee565b61287b8587612964565b612885888a6106ce565b61207d9190613aee565b9695505050505050565b5f6128be600b5f6128ab60028661122e565b81526020019081526020015f2054611ecc565b6128cf600b5f6128ab60018761122e565b6106e59190613b88565b5f6129047f000000000000000000000000000000000000000000000000000000000000000083612964565b60035461291a91906001600160801b03166139d9565b600254612930906001600160801b0316846106ce565b101592915050565b5f6106e582600461230d565b5f6126e487878761295d88670de0b6b3a7640000613aee565b878761329d565b5f6106e28383670de0b6b3a7640000612ab9565b5f8080806129c887866129c18b61148461299a8c670de0b6b3a7640000613aee565b7f000000000000000000000000000000000000000000000000000000000000000090612964565b9190612ab9565b93506129f4847f00000000000000000000000000000000000000000000000000000000000000006106ce565b91505f612a14612a0c89670de0b6b3a7640000613aee565b8a9088612ab9565b9050612a40817f0000000000000000000000000000000000000000000000000000000000000000612964565b9350612a6c847f00000000000000000000000000000000000000000000000000000000000000006106ce565b612a7690846139d9565b915050945094509450949050565b5f818311612a9257816106e2565b5090919050565b5f80612ab084612aaa8a888a612ab9565b9061149b565b90506120908884865b5f825f190484118302158202612acd575f80fd5b50910281810615159190040190565b5f6106e283670de0b6b3a764000084611bb2565b5f80612afc84846132ad565b909250905080612b0e57612b0e612794565b5092915050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612b63575047612bec565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612bc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be99190613c20565b90505b600f546115a590849083611bb2565b5f815f03612c125750670de0b6b3a76400006106e5565b825f03612c2057505f6106e5565b5f612c2a83611ecc565b90505f612c3e612c3986611ecc565b6132e5565b9050818102612c55670de0b6b3a764000082613e26565b905061288f8161350a565b5f60016001607f1b03821115611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ca6575060016001607f1b0382135b15611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f80612cd0845f61369c565b612cda845f61369c565b612ce49190613b88565b90505f811315612cff57612cf881866139d9565b9450612d1d565b5f811215612d1d57612d1081613dbb565b612d1a9086613aee565b94505b50929392505050565b6003545f908190612d40906001600160801b03168461149b565b9050612d6c7f0000000000000000000000000000000000000000000000000000000000000000826139d9565b6002546001600160801b03161115611c5c576002547f000000000000000000000000000000000000000000000000000000000000000090612db79083906001600160801b0316613aee565b6115a59190613aee565b612dc96138cc565b5f80612dd4846130c2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e0e9190613dd5565b6040805180830381865af4158015612e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4c9190613de4565b9350905082612e6057505f9150611a089050565b5f612e86612e818461016001518561014001516106ce90919063ffffffff16565b611ecc565b612ea6612e8185610120015186610100015161296490919063ffffffff16565b612eb09190613b88565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612fe4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130089190613e52565b93509350935093508061302357505f98975050505050505050565b8684146130545761303384611c21565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146130855761306483612c89565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146130b35761309582611c21565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b6130ca613916565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916131c291166136aa565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926131f4929004166136aa565b905292915050565b5f8061320c88888888888861371e565b9092509050806120aa576120aa612794565b5f806132678561148485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061325d818c61149b565b6114849190613aee565b9150613293827f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050935093915050565b5f8061320c8888888888886137e2565b5f805f836132ba86611ecc565b6132c49190613b88565b90505f8112156132da575f8092509250506106c7565b946001945092505050565b5f8082136133065760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133899084901c611ecc565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361352357505f919050565b680755bf798b4a1bf1e5821261354c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ecc565b5f818313612a9257816106e2565b5f80670de0b6b3a76400006136bd6106eb565b6136c79190613bc2565b90508083116136d6575f6136e0565b6136e08184613aee565b91506115a5613717670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc2565b8390612adc565b5f805f61372e898988888861389e565b905061374886611c126137418a8d6139d9565b87906106ce565b9850613755858a86611bb2565b98508881101561376b575f8092509250506137d7565b888103670de0b6b3a764000081106137a057613799613792670de0b6b3a76400008961149b565b8290612bfb565b90506137b8565b6137b5613792670de0b6b3a764000089612adc565b90505b808910156137cd575f809350935050506137d7565b8803925060019150505b965096945050505050565b5f805f6137f2898988888861389e565b905061380286611c12898b6139d9565b975087811015613818575f8092509250506137d7565b878103613826818688612ab9565b9050670de0b6b3a764000081106138535761384c613792670de0b6b3a76400008961149b565b905061386b565b613868613792670de0b6b3a764000089612adc565b90505b613875818661149b565b9050808a101561388c575f809350935050506137d7565b90980398600198509650505050505050565b5f6138a98585612bfb565b6138c26138ba86611c12868b612964565b859085612ab9565b61288f91906139d9565b6040518061012001604052806138e0613916565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561397e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139a9575f80fd5b8501606081880312156139ba575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106e5576106e56139c5565b6001600160a01b03811681146105fa575f80fd5b5f60208284031215613a10575f80fd5b81356115a5816139ec565b80151581146105fa575f80fd5b5f60208284031215613a38575f80fd5b81356115a581613a1b565b5f808335601e19843603018112613a58575f80fd5b83018035915067ffffffffffffffff821115613a72575f80fd5b6020019150368190038213156106c7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613ae160c083018486613a86565b9998505050505050505050565b818103818111156106e5576106e56139c5565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b3a60e083018486613a86565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612b0e57612b0e6139c5565b6001600160801b03818116838216019080821115612b0e57612b0e6139c5565b8181035f831280158383131683831282161715612b0e57612b0e6139c5565b5f60208284031215613bb7575f80fd5b81516115a5816139ec565b80820281158282048414176106e5576106e56139c5565b6001600160801b03828116828216039080821115612b0e57612b0e6139c5565b8082018281125f831280158216821582161715613c1857613c186139c5565b505092915050565b5f60208284031215613c30575f80fd5b5051919050565b5f60208284031215613c47575f80fd5b81516115a581613a1b565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7457613c74613c52565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106e5576106e56139c5565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d37828551613ca6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613daa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dcf57613dcf6139c5565b505f0390565b61018081016106e58284613ca6565b5f8060408385031215613df5575f80fd5b825191506020830151613e0781613a1b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3457613e34613c52565b600160ff1b82145f1984141615613e4d57613e4d6139c5565b500590565b5f805f8060808587031215613e65575f80fd5b84519350602085015192506040850151915060608501516139ba81613a1b56fea2646970667358221220866c28df534d8c8a6e0f290d5c82cfde44a3eecea72f04a3e4f9fe6dc2d78f5f64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts deleted file mode 100644 index 6b79daf0f..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts +++ /dev/null @@ -1,798 +0,0 @@ -export declare const MockHyperdriveTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=MockHyperdriveTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts.map deleted file mode 100644 index e507118a3..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveTarget3.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy9BkkjC,KAAK,MAAM,EAAE;;;;;CAKhnjC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.js deleted file mode 100644 index 4d2673593..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget3.js +++ /dev/null @@ -1,991 +0,0 @@ -export const MockHyperdriveTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004328380380620043288339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613e42620004e65f395f50505f50505f6112f601525f81816102f801528181610327015261035401525f818160d901528181610596015261170c01525f81816108320152818161091d015281816109ad01528181610ab2015281816115de015281816116e6015281816123dd0152818161244001528181612ce90152818161319301526131cf01525f8181610139015281816108a201528181610eb4015281816114a70152818161150a0152818161154f015281816116c001528181611bad0152611c3c01525f611fee01525f8181612143015261341e01525f8181611071015261211701525f6133d401525f818161017b015281816108f501528181610ed501528181611477015281816114da01528181611570015261173201525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610faf0152612c7f01525f818161028d01528181610d7a01528181610df101528181610e6501528181610f300152610f6801525f50505f8181610bb6015281816119b2015281816119fb01528181611a8a01528181611b0b01528181611ca701528181611d2801528181612ed901528181612f2201528181612fcf01526130180152613e425ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138c7565b610064565b60405190815260200160405180910390f35b61003f61005f366004613926565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610c20565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c7d565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610ca2565b915091505f6101e5610d73565b90506101f5818360046001610d9e565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613986565b611402565b611448565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613999565b815260208101919091526040015f20546001600160801b03167f000000000000000000000000000000000000000000000000000000000000000061164c565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613986565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613999565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613999565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613986565b90505f805f61042d8a611677565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a2a565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a39565b91506104b96104b48c6117b1565b6117de565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a2a565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a39565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613999565b9190611804565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e61181f565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a64565b8e611833565b610625896118d8565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613986565b9b5090508a158061071857506107158c5f6118e4565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b611804565b61074f565b5f5b905061075e6020850185613a64565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613a8c565b866107a960408c018c613aa7565b6040516107bc9796959493929190613aea565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610c20565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610ca2565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b3d565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b54565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118f8565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f80611448565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c8561191d565b600280546001600160801b0319166001600160801b0392909216919091179055610a6584611946565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e8361191d565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f0000000000000000000000000000000000000000000000000000000000000000611833565b610aed5f610ae760208c018c613a64565b8a611833565b610b02610af8610d73565b8760046001610d9e565b508a8a8a610b136020820182613a64565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613a8c565b87610b5e6040890189613aa7565b604051610b719796959493929190613aea565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590610c0057503415155b15610c1e57604051631574f9f360e01b815260040160405180910390fd5b565b5f610c2e6020830183613a64565b6001600160a01b031603610c555760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c78916001600160801b0390911690600f0b6118f8565b905090565b5f80610c8b87878786611981565b9050610c97818561164c565b979650505050505050565b815f80610cb56040850160208601613a8c565b15610cda57610cd085610ccb6040870187613aa7565b611997565b9093509050610cf2565b5034610cf285610ced6040870187613aa7565b611c21565b610cfa611dc3565b91508015610d6a576040515f90339083908381818185875af1925050503d805f8114610d41576040519150601f19603f3d011682016040523d82523d5f602084013e610d46565b606091505b5050905080610d68576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c78427f0000000000000000000000000000000000000000000000000000000000000000611dd5565b5f84815260086020526040812060018101546001600160801b0316151580610dc557504286115b15610dde57600101546001600160801b031690506113fa565b5f805f610de9610d73565b90505f610e167f00000000000000000000000000000000000000000000000000000000000000008b613986565b90505b81811015610e8a575f818152600860205260409020600101546001600160801b03168015610e62575f828152600860205260409020549094506001600160801b03169250610e8a565b507f000000000000000000000000000000000000000000000000000000000000000001610e19565b835f03610efc57889350610ef9610e9f610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b92505b50610f068361191d565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f5c610f557f00000000000000000000000000000000000000000000000000000000000000008b613999565b8a84611dea565b610f9a89610f94610f8d7f000000000000000000000000000000000000000000000000000000000000000083613986565b4290611f23565b84611dea565b610fa388611f31565b505f9050600881610fd47f00000000000000000000000000000000000000000000000000000000000000008d613999565b815260208101919091526040015f908120600101546001600160801b03169150610fff60028c6120ce565b5f818152600b60205260408120549192508c8c831561114057600192505f8061102b86898d865f612102565b915091508060095f8282546110409190613986565b9091555061105b9050865f84611055816117b1565b886121cf565b6110658183613986565b915061109586838a8e877f0000000000000000000000000000000000000000000000000000000000000000612346565b91506110a96110a48385612389565b61239d565b600680546002906110ca9084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110f78261191d565b60068054601090611119908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61114c6001846120ce565b5f818152600b6020526040902054909150801561125757600194505f80611177838b8f886001612102565b915091508060095f82825461118c9190613986565b909155506111a79050835f846111a1816117b1565b8a6123c6565b6111b18183613999565b91506111c06110a48387612389565b600680546002906111e19084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061120e8261191d565b60068054601090611230908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561129057611282611269876117b1565b611272836117b1565b61127c9190613bbf565b5f6125b6565b8e61128d84826125f5565b50505b5f61129a846127e4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611350573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113749190613bde565b90506001600160a01b038116156113e8576113e55a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612926565b50505b509b9d50505050505050505050505050505b949350505050565b5f611427600b5f6114146002866120ce565b81526020019081526020015f20546117b1565b611438600b5f6114146001876120ce565b6114429190613bbf565b92915050565b5f805f806114568a8a6129ae565b915091508061146c575f80935093505050611641565b5f6114cb838a6114a47f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8b7f00000000000000000000000000000000000000000000000000000000000000006129e6565b5090505f61152e848b846115077f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8d7f0000000000000000000000000000000000000000000000000000000000000000612a9f565b50905081158061153c575080155b1561154757505f9050805b5f611594858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b90506115a283838c84612b59565b509093505f90506115b3848f613986565b90505f6115d38b8b6115c4876117b1565b6115ce908e613bf9565b612ba1565b90508b6116086116037f000000000000000000000000000000000000000000000000000000000000000083612c03565b6117b1565b611611836117b1565b61161e6116038685612389565b6116289190613bbf565b6116329190613bbf565b60019950995050505050505050505b965096945050505050565b5f61008d61165f84846301e13380612c13565b61167185670de0b6b3a7640000613999565b9061181f565b61167f613818565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916117779116612c36565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117a992900416612c36565b905292915050565b5f6001600160ff1b038211156117da5760405163396ea70160e11b815260040160405180910390fd5b5090565b6117e781612ca3565b610c5557604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611818575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611804565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611864908490613986565b90915550505f838152600b602052604081208054839290611886908490613986565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6114428260046125f5565b5f8183136118f2578261008d565b50919050565b5f8061190484846129ae565b90925090508061191657611916612e37565b5092915050565b5f6001600160801b038211156117da57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611963575060016001607f1b0382135b156117da5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611991858888611804565b90612e50565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119e6575047611a6f565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613a39565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611ae95787341015611ad8576040516312171d8360e31b815260040160405180910390fd5b611ae28834613999565b9050611b80565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b7d9190613c20565b91505b81611b9e576040516312171d8360e31b815260040160405180910390fd5b600f545f03611be257611bd1887f000000000000000000000000000000000000000000000000000000000000000061181f565b600f81905594509250611c19915050565b600f545f90611bf3908a9086611804565b905080600f5f828254611c069190613986565b90915550909550909350611c1992505050565b935093915050565b5f611c2b84612ebf565b9050600f545f03611c6857611c60817f000000000000000000000000000000000000000000000000000000000000000061181f565b600f55611c8c565b5f611c7282612fb5565b905080600f5f828254611c859190613986565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611d065782341015611cf5576040516312171d8360e31b815260040160405180910390fd5b611cff8334613999565b9050611d9d565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611d76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9a9190613c20565b91505b81611dbb576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f610c78670de0b6b3a7640000612ebf565b5f611de08284613c4f565b61008d9084613999565b5f83815260086020526040902054600160801b90046001600160801b0316808303611e155750505050565b5f848152600860205260408120546001600160801b031690819003611e6d57611e3d8361191d565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611eea565b611ebe611eb9670de0b6b3a7640000611e868886613999565b611e909190613b3d565b85670de0b6b3a7640000611ea4878a613999565b611eae9190613b3d565b85929190600161309b565b61191d565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ef38461191d565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118f2578261008d565b6006545f908190611f53908490600160801b90046001600160801b0316612389565b6006546201000090046001600160701b031692509050818111156120c9575f611f7c8383613999565b9050611f8b611eb98286613135565b60068054601090611fad908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611fe5858361181f90919063ffffffff16565b90505f612012827f0000000000000000000000000000000000000000000000000000000000000000612389565b90508060095f8282546120259190613986565b9091555061203590508183613999565b91506120408261191d565b600280545f9061205a9084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061208782613149565b600480545f9061209b908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156120f75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061210e878561181f565b91505f61213b837f0000000000000000000000000000000000000000000000000000000000000000612389565b9050612167817f0000000000000000000000000000000000000000000000000000000000000000612389565b9150831561218a576121798282613999565b6121839084613999565b92506121a1565b6121948282613999565b61219e9084613986565b92505b868610156121c4576121b4838789611804565b92506121c1828789611804565b91505b509550959350505050565b600454600160801b90046001600160801b0316612217611eb9826121fb670de0b6b3a764000086613b3d565b600554600160801b90046001600160801b031691908a5f61309b565b600580546001600160801b03928316600160801b02921691909117905561223d8661191d565b6122479082613c62565b600480546001600160801b03928316600160801b02921691909117905561226d8461191d565b600280545f906122879084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506122b483611946565b600480545f906122c8908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506122f88561191d565b6002805460109061231a908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612357846116718a888a611804565b9050612364888486611804565b61236e9082613986565b90508681111561237e5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611804565b5f6001600160701b038211156117da5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061240857507f00000000000000000000000000000000000000000000000000000000000000006124068583613999565b105b1561241557612415612e37565b6004549084900390600f0b61242a8482613bbf565b905083612436866117b1565b13801561246b57507f000000000000000000000000000000000000000000000000000000000000000061246983836118f8565b105b1561247857612478612e37565b600354600160801b90046001600160801b03166124b9611eb9826124a4670de0b6b3a764000088613b3d565b6005546001600160801b031691908c5f61309b565b600580546001600160801b0319166001600160801b03929092169190911790556124e38882613999565b90506124ee8161191d565b600380546001600160801b03928316600160801b0292169190911790556125148361191d565b600280546001600160801b0319166001600160801b039290921691909117905561253d82611946565b600480546001600160801b0319166001600160801b03929092169190911790556125668761191d565b60028054601090612588908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546125d190611eb9906001600160801b03168484612ba1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161263f916001600160801b031690613999565b9050805f03612652576001915050611442565b5f61265c85613172565b9050805f0361267057600192505050611442565b5f8061267d83858961320d565b9150915080612692575f945050505050611442565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016126cd929190613caf565b6040805180830381865af41580156126e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061270b9190613d24565b9150915061272961271b826117b1565b61272490613d46565b612ca3565b92508261273e575f9650505050505050611442565b6127478261191d565b600780545f906127619084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061278e8161191d565b600780546010906127b0908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61280b87611677565b6040518263ffffffff1660e01b81526004016128279190613a2a565b6040805180830381865af4158015612841573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128659190613d60565b915091508061287a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916128df91613986565b6128e99190613999565b9050805f036128ff57505f958695509350505050565b5f80871161290d575f612918565b612918848884611804565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561294957612949613d8e565b6040519080825280601f01601f191660200182016040528015612973576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612993578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836129bb866117b1565b6129c59190613bbf565b90505f8112156129db575f809250925050610d6c565b946001945092505050565b5f805f6129f68888888888613375565b90505f612a20670de0b6b3a7640000612a0f8888613135565b612a199190613986565b839061181f565b9050670de0b6b3a76400008110612a5457612a4d612a46670de0b6b3a76400008961181f565b8290612e50565b9050612a6c565b612a69612a46670de0b6b3a764000089613135565b90505b612a76818661181f565b905088811015612a8d575f809350935050506129a4565b97909703976001975095505050505050565b5f805f612aaf89898888886133a3565b9050612ac986611991612ac28a8d613986565b8790612389565b9850612ad6858a86611804565b985088811015612aec575f809250925050611641565b888103670de0b6b3a76400008110612b1a57612b13612a46670de0b6b3a764000089613135565b9050612b32565b612b2f612a46670de0b6b3a76400008961181f565b90505b80891015612b47575f80935093505050611641565b90970398600198509650505050505050565b5f805f805f612b698987896133c7565b9092509050612b788289613999565b97505f612b8682888a611804565b9050612b92818b613999565b9a989950979650505050505050565b5f80612bad845f61344c565b612bb7845f61344c565b612bc19190613bbf565b90505f811315612bdc57612bd58186613986565b9450612bfa565b5f811215612bfa57612bed81613d46565b612bf79086613999565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612c27575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612c49610d73565b612c539190613b3d565b9050808311612c62575f612c6c565b612c6c8184613999565b915061008d612a19670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b3d565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7d9190613da2565b935093509350935080612d9857505f98975050505050505050565b868414612dc957612da88461191d565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dfa57612dd983611946565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e2857612e0a8261191d565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612e675750670de0b6b3a7640000611442565b825f03612e7557505f611442565b5f612e7f836117b1565b90505f612e93612e8e866117b1565b613461565b9050818102612eaa670de0b6b3a764000082613de0565b9050612eb581613686565b9695505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612f0d575047612f96565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612f6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f939190613a39565b90505b600f545f03612fa5575f61008d565b600f5461008d9084908390611804565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161300357504761308c565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015613065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130899190613a39565b90505b600f5461008d90849083611804565b5f825f036130aa575084610075565b81156130fc576130db6130bd8487613986565b6130c78587612389565b6130d1888a612389565b6116719190613986565b90505f6130e88588611f23565b9050808210156130f6578091505b50610075565b82850361310a57505f610075565b6100726131178487613999565b6131218587612c03565b61312b888a612389565b6116719190613999565b5f61008d83670de0b6b3a764000084612c13565b5f60016001607f1b038211156117da5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061318c906001600160801b031684613135565b90506131b87f000000000000000000000000000000000000000000000000000000000000000082613986565b6002546001600160801b031611156118f2576002547f0000000000000000000000000000000000000000000000000000000000000000906132039083906001600160801b0316613999565b61008d9190613999565b61321561386d565b5f8061322084611677565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161325a9190613a2a565b6040805180830381865af4158015613274573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132989190613d60565b93509050826132ac57505f9150611c199050565b5f6132cd61160384610160015185610140015161238990919063ffffffff16565b6132ed611603856101200151866101000151612c0390919063ffffffff16565b6132f79190613bbf565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6133808585612e50565b61339961339186611991868b612389565b859085611804565b6100729190613986565b5f6133ae8585612e50565b6133996133bf86611991868b612c03565b859085612c13565b5f806134168561341085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613406818c613135565b6134109190613999565b90612c03565b9150613442827f0000000000000000000000000000000000000000000000000000000000000000612389565b9050935093915050565b5f81831361345a578161008d565b5090919050565b5f8082136134825760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906135059084901c6117b1565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361369f57505f919050565b680755bf798b4a1bf1e582126136c8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612eb574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b1565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613881613818565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118f2575f80fd5b5f805f805f60a086880312156138db575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561390d575f80fd5b613919888289016138b7565b9150509295509295909350565b5f805f60608486031215613938575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561395c575f80fd5b613968868287016138b7565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144257611442613972565b8181038181111561144257611442613972565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144282846139ac565b5f60208284031215613a49575f80fd5b5051919050565b6001600160a01b0381168114610c55575f80fd5b5f60208284031215613a74575f80fd5b813561008d81613a50565b8015158114610c55575f80fd5b5f60208284031215613a9c575f80fd5b813561008d81613a7f565b5f808335601e19843603018112613abc575f80fd5b83018035915067ffffffffffffffff821115613ad6575f80fd5b602001915036819003821315610d6c575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144257611442613972565b5f805f60608486031215613b66575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191657611916613972565b6001600160801b0381811683821601908082111561191657611916613972565b8181035f83128015838313168383128216171561191657611916613972565b5f60208284031215613bee575f80fd5b815161008d81613a50565b8082018281125f831280158216821582161715613c1857613c18613972565b505092915050565b5f60208284031215613c30575f80fd5b815161008d81613a7f565b634e487b7160e01b5f52601260045260245ffd5b5f82613c5d57613c5d613c3b565b500690565b6001600160801b0382811682821603908082111561191657611916613972565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144257611442613972565b5f6102a082019050613cc28285516139ac565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d35575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d5a57613d5a613972565b505f0390565b5f8060408385031215613d71575f80fd5b825191506020830151613d8381613a7f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613db5575f80fd5b8451935060208501519250604085015191506060850151613dd581613a7f565b939692955090935050565b5f82613dee57613dee613c3b565b600160ff1b82145f1984141615613e0757613e07613972565b50059056fea2646970667358221220d426ba5f7020e09bbfea80f6e77d21cc660f32b25d7e2adec3c6a8f1dc6df22d64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts deleted file mode 100644 index 846f24317..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts +++ /dev/null @@ -1,781 +0,0 @@ -export declare const MockHyperdriveTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=MockHyperdriveTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts.map deleted file mode 100644 index fec749904..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockHyperdriveTarget4.d.ts","sourceRoot":"","sources":["../src/MockHyperdriveTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm8B8m1B,KAAK,MAAM,EAAE;;;;;;CAM5p1B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.js b/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.js deleted file mode 100644 index 0a50fd7a6..000000000 --- a/packages/hyperdrive-artifacts/dist/MockHyperdriveTarget4.js +++ /dev/null @@ -1,970 +0,0 @@ -export const MockHyperdriveTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b506040516200353e3803806200353e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613128620004165f395f50505f50505f61099201525f50505f818161025f0152611fc901525f81816118290152818161188c01528181611bb901528181611bf501528181611de60152611fa301525f81816105500152611f7d01525f61140b01525f61156001525f818161070d015261153401525f50505f81816105710152611fef01525f818161064b015261271201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f818161109d015281816110e6015281816122bd01528181612306015281816123db015281816124840152818161256a015261261301526131285ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612be3565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612c35565b6100b1565b005b610056610092366004612be3565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c69565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c91565b61016a60408c018c612cac565b60405161017c96959493929190612d17565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d64565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c69565b88610ea4565b5f6102f56102ec6020870187612c69565b88848989610a9e565b90945090506103048188612d8b565b92505f61031083610f41565b5090506103206020870187612c69565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c91565b8a888e80604001906103709190612cac565b604051610384989796959493929190612d9e565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c69565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f0000000000000000000000000000000000000000000000000000000000000000611180565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612de5565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611195565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b5565b92505b506105a2836111d4565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d8b565b8a84611201565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612de5565b429061133a565b84611201565b61063f8861134e565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d8b565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6114eb565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61151f565b915091508060095f8282546106dc9190612de5565b909155506106f79050865f846106f1816115ec565b88611615565b6107018183612de5565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061178c565b915061074561074083856117d5565b6117e9565b600680546002906107669084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826111d4565b600680546010906107b5908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846114eb565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161151f565b915091508060095f8282546108289190612de5565b909155506108439050835f8461083d816115ec565b8a611812565b61084d8183612d8b565b915061085c61074083876117d5565b6006805460029061087d9084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826111d4565b600680546010906108cc908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876115ec565b61090e836115ec565b6109189190612e38565b5f611a02565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e57565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a41565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611ac7565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611ad3565b9050610b20836111d4565b610b2a9083612e72565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816111d4565b60078054601090610b75908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611aee565b9350610bb08684611b84565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d8b565b9050805f03610c3a576001915050610dc7565b5f610c4485611b98565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c33565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612f10565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f85565b91509150610d11610d03826115ec565b610d0c90612fa7565b611da0565b925082610d26575f9650505050505050610dc7565b610d2f826111d4565b600780545f90610d499084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816111d4565b60078054601090610d98908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d8b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612de5565b90915550505f838152600b602052604081208054839290610ef7908490612de5565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f34565b6040518263ffffffff1660e01b8152600401610f849190612fc1565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612fd0565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612de5565b6110469190612d8b565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611ad3565b976001975095505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016110d157504761115a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612ffe565b90505b600f545f03611169575f611179565b600f546111799084908390611ad3565b9392505050565b5f61118b8284612d64565b6111799084612d8b565b6002546004545f9161040a916001600160801b0390911690600f0b61206e565b5f6111cb826111c5858888611ad3565b90612093565b95945050505050565b5f6001600160801b038211156111fd57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361122c5750505050565b5f848152600860205260408120546001600160801b03169081900361128457611254836111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611301565b6112d56112d0670de0b6b3a764000061129d8886612d8b565b6112a79190613015565b85670de0b6b3a76400006112bb878a612d8b565b6112c59190613015565b859291906001612102565b6111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61130a846111d4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116113485782611179565b50919050565b6006545f908190611370908490600160801b90046001600160801b03166117d5565b6006546201000090046001600160701b031692509050818111156114e6575f6113998383612d8b565b90506113a86112d0828661219c565b600680546010906113ca908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61140285836121b090919063ffffffff16565b90505f61142f827f00000000000000000000000000000000000000000000000000000000000000006117d5565b90508060095f8282546114429190612de5565b9091555061145290508183612d8b565b915061145d826111d4565b600280545f906114779084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a4826121c4565b600480545f906114b8908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115145760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152b87856121b0565b91505f611558837f00000000000000000000000000000000000000000000000000000000000000006117d5565b9050611584817f00000000000000000000000000000000000000000000000000000000000000006117d5565b915083156115a7576115968282612d8b565b6115a09084612d8b565b92506115be565b6115b18282612d8b565b6115bb9084612de5565b92505b868610156115e1576115d1838789611ad3565b92506115de828789611ad3565b91505b509550959350505050565b5f6001600160ff1b038211156111fd5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165d6112d082611641670de0b6b3a764000086613015565b600554600160801b90046001600160801b031691908a5f612102565b600580546001600160801b03928316600160801b029216919091179055611683866111d4565b61168d9082612e72565b600480546001600160801b03928316600160801b0292169190911790556116b3846111d4565b600280545f906116cd9084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116fa836121ed565b600480545f9061170e908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173e856111d4565b60028054601090611760908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a38461179d8a888a611ad3565b906121b0565b90506117b0888486611ad3565b6117ba9082612de5565b9050868111156117ca5786810391505b509695505050505050565b5f6111798383670de0b6b3a7640000611ad3565b5f6001600160701b038211156111fd5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185457507f00000000000000000000000000000000000000000000000000000000000000006118528583612d8b565b105b1561186157611861612228565b6004549084900390600f0b6118768482612e38565b905083611882866115ec565b1380156118b757507f00000000000000000000000000000000000000000000000000000000000000006118b5838361206e565b105b156118c4576118c4612228565b600354600160801b90046001600160801b03166119056112d0826118f0670de0b6b3a764000088613015565b6005546001600160801b031691908c5f612102565b600580546001600160801b0319166001600160801b039290921691909117905561192f8882612d8b565b905061193a816111d4565b600380546001600160801b03928316600160801b029216919091179055611960836111d4565b600280546001600160801b0319166001600160801b0392909216919091179055611989826121ed565b600480546001600160801b0319166001600160801b03929092169190911790556119b2876111d4565b600280546010906119d4908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1d906112d0906001600160801b03168484612241565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6457611a64613059565b6040519080825280601f01601f191660200182016040528015611a8e576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aae578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611ae7575f80fd5b5091020490565b5f80611afa85856117d5565b9050611b05816122a3565b9450845f03611b17575f915050611179565b849150611b2a6040840160208501612c91565b15611b5957611b5285611b406020860186612c69565b611b4d6040870187612cac565b612389565b9150611b7c565b611b7c85611b6a6020860186612c69565b611b776040870187612cac565b612519565b509392505050565b5f6111798383670de0b6b3a76400006126a6565b6003545f908190611bb2906001600160801b03168461219c565b9050611bde7f000000000000000000000000000000000000000000000000000000000000000082612de5565b6002546001600160801b03161115611348576002547f000000000000000000000000000000000000000000000000000000000000000090611c299083906001600160801b0316612d8b565b6111799190612d8b565b611c3b612b44565b5f80611c4684611f34565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c809190612fc1565b6040805180830381865af4158015611c9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbe9190612fd0565b9350905082611cd257505f91506100a99050565b5f611cf8611cf38461016001518561014001516117d590919063ffffffff16565b6115ec565b611d18611cf3856101200151866101000151611b8490919063ffffffff16565b611d229190612e38565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a919061306d565b935093509350935080611e9557505f98975050505050505050565b868414611ec657611ea5846111d4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef757611ed6836121ed565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2557611f07826111d4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f3c612b8e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161203491166126c9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612066929004166126c9565b905292915050565b5f8061207a848461273d565b90925090508061208c5761208c612228565b5092915050565b5f815f036120aa5750670de0b6b3a7640000610dc7565b825f036120b857505f610dc7565b5f6120c2836115ec565b90505f6120d66120d1866115ec565b612778565b90508181026120ed670de0b6b3a7640000826130ab565b90506120f88161299d565b9695505050505050565b5f825f036121115750846111cb565b8115612163576121426121248487612de5565b61212e85876117d5565b612138888a6117d5565b61179d9190612de5565b90505f61214f858861133a565b90508082101561215d578091505b506111cb565b82850361217157505f6111cb565b6120f861217e8487612d8b565b6121888587611b84565b612192888a6117d5565b61179d9190612d8b565b5f61117983670de0b6b3a7640000846126a6565b5f61117983670de0b6b3a764000084611ad3565b5f60016001607f1b038211156111fd5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061220a575060016001607f1b0382135b156111fd5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224d845f612b2f565b612257845f612b2f565b6122619190612e38565b90505f81131561227c576122758186612de5565b945061229a565b5f81121561229a5761228d81612fa7565b6122979086612d8b565b94505b50929392505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016122f157504761237a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123779190612ffe565b90505b600f5461117990849083611ad3565b5f600f548511612399578461239d565b600f545b94505f6123a986611083565b905085600f5f8282546123bc9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161245e576040516001600160a01b0387169083905f81818185875af1925050503d805f811461244e576040519150601f19603f3d011682016040523d82523d5f602084013e612453565b606091505b5050809150506124f1565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156124ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ee91906130d7565b90505b8061250f576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612528578361252c565b600f545b93505f61253885611083565b905084600f5f82825461254b9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125ed576040516001600160a01b0386169083905f81818185875af1925050503d805f81146125dd576040519150601f19603f3d011682016040523d82523d5f602084013e6125e2565b606091505b505080915050612680565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612659573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267d91906130d7565b90505b8061269e576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f1904841183021582026126ba575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006126dc61040f565b6126e69190613015565b90508083116126f5575f6126ff565b6126ff8184612d8b565b9150611179612736670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613015565b83906121b0565b5f805f8361274a866115ec565b6127549190612e38565b90505f81121561276a575f809250925050612771565b9150600190505b9250929050565b5f8082136127995760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061281c9084901c6115ec565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136129b657505f919050565b680755bf798b4a1bf1e582126129df576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115ec565b5f818313612b3d5781611179565b5090919050565b604051806101200160405280612b58612b8e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bf5575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612c19575f80fd5b840160608187031215612c2a575f80fd5b809150509250925092565b5f8060408385031215612c46575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c79575f80fd5b813561117981612c55565b80151581146103f5575f80fd5b5f60208284031215612ca1575f80fd5b813561117981612c84565b5f808335601e19843603018112612cc1575f80fd5b83018035915067ffffffffffffffff821115612cdb575f80fd5b602001915036819003821315612771575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d4460a083018486612cef565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d7257612d72612d50565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d77565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612dd760e083018486612cef565b9a9950505050505050505050565b80820180821115610dc757610dc7612d77565b6001600160701b0381811683821601908082111561208c5761208c612d77565b6001600160801b0381811683821601908082111561208c5761208c612d77565b8181035f83128015838313168383128216171561208c5761208c612d77565b5f60208284031215612e67575f80fd5b815161117981612c55565b6001600160801b0382811682821603908082111561208c5761208c612d77565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612f23828551612e92565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f96575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612fbb57612fbb612d77565b505f0390565b6101808101610dc78284612e92565b5f8060408385031215612fe1575f80fd5b825191506020830151612ff381612c84565b809150509250929050565b5f6020828403121561300e575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612d77565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d77565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613080575f80fd5b84519350602085015192506040850151915060608501516130a081612c84565b939692955090935050565b5f826130b9576130b9612d50565b600160ff1b82145f19841416156130d2576130d2612d77565b500590565b5f602082840312156130e7575f80fd5b815161117981612c8456fea2646970667358221220447241d7c17f715a7a63f28f726648ecebf427bf0f52c23015bdee4f602c749c64736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts b/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts deleted file mode 100644 index a8d8dd929..000000000 --- a/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts +++ /dev/null @@ -1,1837 +0,0 @@ -export declare const MockL2Pool: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "addressesProvider"; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_PROTOCOL_FEE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TOTAL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TO_PROTOCOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_NUMBER_RESERVES"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "backUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "configureEModeCategory"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "category"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "dropReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "finalizeTransfer"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceFromBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceToBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "amounts"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "interestRateModes"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoanSimple"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBorrowLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getBridgeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeCategoryData"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getFlashLoanLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getLiquidationLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getPoolLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getReserveAddressById"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveData"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveDataLegacy"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveDataExtended"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveData"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationGracePeriodUntil"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "virtualUnderlyingBalance"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedIncome"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedVariableDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesCount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesList"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSupplyLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getUserAccountData"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "totalCollateralBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalDebtBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "availableBorrowsBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "currentLiquidationThreshold"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "ltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "healthFactor"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserConfiguration"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.UserConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserEMode"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getVirtualUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "args1"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "args2"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "resetIsolationModeTotalDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "until"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserveInterestRateStrategyAddress"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "rateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserEMode"; - readonly inputs: readonly [{ - readonly name: "categoryId"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "useAsCollateral"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapToVariable"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncIndexesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncRatesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateBridgeProtocolFee"; - readonly inputs: readonly [{ - readonly name: "protocolFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFlashloanPremiums"; - readonly inputs: readonly [{ - readonly name: "flashLoanPremiumTotal"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "flashLoanPremiumToProtocol"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "args"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "BackUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "backer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Borrow"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "borrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FlashLoan"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LiquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidatedCollateralAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintedToTreasury"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amountMinted"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Repay"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "repayer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "useATokens"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Supply"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SwapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserEModeSet"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "categoryId"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "BRIDGE_PROTOCOL_FEE()": "272d9072"; - readonly "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43"; - readonly "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036"; - readonly "MAX_NUMBER_RESERVES()": "f8119d51"; - readonly "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f"; - readonly "backUnbacked(address,uint256,uint256)": "d65dc7a1"; - readonly "borrow(address,uint256,uint256,uint16,address)": "a415bcad"; - readonly "borrow(bytes32)": "d5eed868"; - readonly "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d"; - readonly "deposit(address,uint256,address,uint16)": "e8eda9df"; - readonly "dropReserve(address)": "63c9b860"; - readonly "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933"; - readonly "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d"; - readonly "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c"; - readonly "getBorrowLogic()": "2be29fa7"; - readonly "getBridgeLogic()": "df374c36"; - readonly "getConfiguration(address)": "c44b11f7"; - readonly "getEModeCategoryData(uint8)": "6c6f6ae1"; - readonly "getEModeLogic()": "f32b9a73"; - readonly "getFlashLoanLogic()": "348fde0f"; - readonly "getLiquidationGracePeriod(address)": "5c9a8b18"; - readonly "getLiquidationLogic()": "911a3413"; - readonly "getPoolLogic()": "d3350155"; - readonly "getReserveAddressById(uint16)": "52751797"; - readonly "getReserveData(address)": "35ea6a75"; - readonly "getReserveDataExtended(address)": "8381995f"; - readonly "getReserveNormalizedIncome(address)": "d15e0053"; - readonly "getReserveNormalizedVariableDebt(address)": "386497fd"; - readonly "getReservesCount()": "72218d04"; - readonly "getReservesList()": "d1946dbc"; - readonly "getSupplyLogic()": "870e7744"; - readonly "getUserAccountData(address)": "bf92857c"; - readonly "getUserConfiguration(address)": "4417a583"; - readonly "getUserEMode(address)": "eddf1b79"; - readonly "getVirtualUnderlyingBalance(address)": "6fb07f96"; - readonly "initReserve(address,address,address,address,address)": "7a708e92"; - readonly "initialize(address)": "c4d66de8"; - readonly "liquidationCall(address,address,address,uint256,bool)": "00a718a9"; - readonly "liquidationCall(bytes32,bytes32)": "fd21ecff"; - readonly "mintToTreasury(address[])": "9cd19996"; - readonly "mintUnbacked(address,uint256,address,uint16)": "69a933a5"; - readonly "rebalanceStableBorrowRate(address,address)": "cd112382"; - readonly "rebalanceStableBorrowRate(bytes32)": "427da177"; - readonly "repay(address,uint256,uint256,address)": "573ade81"; - readonly "repay(bytes32)": "563dd613"; - readonly "repayWithATokens(address,uint256,uint256)": "2dad97d4"; - readonly "repayWithATokens(bytes32)": "dc7c0bff"; - readonly "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b"; - readonly "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "resetIsolationModeTotalDebt(address)": "e43e88a1"; - readonly "setConfiguration(address,(uint256))": "f51e435b"; - readonly "setLiquidationGracePeriod(address,uint40)": "b1a99e26"; - readonly "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9"; - readonly "setUserEMode(uint8)": "28530a47"; - readonly "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9"; - readonly "setUserUseReserveAsCollateral(bytes32)": "4d013f03"; - readonly "supply(address,uint256,address,uint16)": "617ba037"; - readonly "supply(bytes32)": "f7a73840"; - readonly "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0"; - readonly "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c"; - readonly "swapBorrowRateMode(address,uint256)": "94ba89a2"; - readonly "swapBorrowRateMode(bytes32)": "1fe3c6f3"; - readonly "swapToVariable(address,address)": "2520d5ee"; - readonly "syncIndexesState(address)": "ab2b51f6"; - readonly "syncRatesState(address)": "98c7da4e"; - readonly "updateBridgeProtocolFee(uint256)": "3036b439"; - readonly "updateFlashloanPremiums(uint128,uint128)": "bcb6e522"; - readonly "withdraw(address,uint256,address)": "69328dec"; - readonly "withdraw(bytes32)": "8e19899e"; - }; -}; -//# sourceMappingURL=MockL2Pool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts.map b/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts.map deleted file mode 100644 index a89e94e31..000000000 --- a/packages/hyperdrive-artifacts/dist/MockL2Pool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockL2Pool.d.ts","sourceRoot":"","sources":["../src/MockL2Pool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqtEyp8C,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0E5r8C,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockL2Pool.js b/packages/hyperdrive-artifacts/dist/MockL2Pool.js deleted file mode 100644 index 02ce031e4..000000000 --- a/packages/hyperdrive-artifacts/dist/MockL2Pool.js +++ /dev/null @@ -1,2336 +0,0 @@ -export const MockL2Pool = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "addressesProvider", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_PROTOCOL_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TOTAL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_NUMBER_RESERVES", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint16", - "internalType": "uint16" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "backUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "configureEModeCategory", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "category", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "dropReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "finalizeTransfer", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceFromBefore", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceToBefore", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "interestRateModes", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoanSimple", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBorrowLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getBridgeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeCategoryData", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getFlashLoanLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getLiquidationLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPoolLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getReserveAddressById", - "inputs": [ - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveData", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveDataLegacy", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveDataExtended", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveData", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationGracePeriodUntil", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "virtualUnderlyingBalance", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedIncome", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedVariableDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesCount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesList", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSupplyLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getUserAccountData", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalCollateralBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalDebtBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "availableBorrowsBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "currentLiquidationThreshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "ltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "healthFactor", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserConfiguration", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.UserConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserEMode", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getVirtualUnderlyingBalance", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiveAToken", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "args1", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "args2", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "resetIsolationModeTotalDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "until", - "type": "uint40", - "internalType": "uint40" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserveInterestRateStrategyAddress", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "rateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserEMode", - "inputs": [ - { - "name": "categoryId", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "useAsCollateral", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapToVariable", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncIndexesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncRatesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateBridgeProtocolFee", - "inputs": [ - { - "name": "protocolFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFlashloanPremiums", - "inputs": [ - { - "name": "flashLoanPremiumTotal", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "flashLoanPremiumToProtocol", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "args", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "BackUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "backer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Borrow", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "borrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FlashLoan", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "initiator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "premium", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LiquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidatedCollateralAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "receiveAToken", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintedToTreasury", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amountMinted", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RebalanceStableBorrowRate", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Repay", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "repayer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "useATokens", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Supply", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SwapBorrowRateMode", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserEModeSet", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "categoryId", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x60a06040525f805534801562000013575f80fd5b5060405162005c4e38038062005c4e833981016040819052620000369162000048565b6001600160a01b031660805262000077565b5f6020828403121562000059575f80fd5b81516001600160a01b038116811462000070575f80fd5b9392505050565b608051615b63620000eb5f395f818161043c01528181610d2f01528181610deb015281816112090152818161196d01528181611c24015281816122840152818161232c0152818161255d015281816128ac01528181612dbb015281816132bb015281816134a50152613b8d0152615b635ff3fe608060405234801561000f575f80fd5b506004361061040b575f3560e01c8063870e774411610221578063d1946dbc1161012a578063e82fec2f116100b4578063f32b9a7311610084578063f32b9a7314610c48578063f51e435b14610c62578063f7a7384014610c75578063f8119d5114610c88578063fd21ecff14610c97575f80fd5b8063e82fec2f14610bf9578063e8eda9df146106c8578063eddf1b7914610c0a578063ee3e210b14610c35575f80fd5b8063d5eed868116100fa578063d5eed86814610b93578063d65dc7a114610ba6578063dc7c0bff14610bb9578063df374c3614610bcc578063e43e88a114610be6575f80fd5b8063d1946dbc14610b3e578063d335015514610b53578063d579ea7d14610b6d578063d5ed393314610b80575f80fd5b8063ab9c4b5d116101ab578063c44b11f71161017b578063c44b11f714610ab3578063c4d66de814610af4578063cd11238214610b05578063cea9d26f14610b18578063d15e005314610b2b575f80fd5b8063ab9c4b5d14610a3a578063b1a99e2614610a4d578063bcb6e52214610a60578063bf92857c14610a73575f80fd5b806394ba89a2116101f157806394ba89a2146109db57806398c7da4e146109ee5780639cd1999614610a01578063a415bcad14610a14578063ab2b51f614610a27575f80fd5b8063870e7744146109815780638e19899e1461099b578063911a3413146109ae57806394b576de146109c8575f80fd5b80634417a58311610323578063680dd47c116102ad5780636c6f6ae11161027d5780636c6f6ae11461073f5780636fb07f961461075f57806372218d041461079a5780637a708e92146107ad5780638381995f146107c0575f80fd5b8063680dd47c146106ee57806369328dec1461070157806369a933a5146107145780636a99c03614610727575f80fd5b8063573ade81116102f3578063573ade81146106535780635a3b74b9146106665780635c9a8b1814610679578063617ba037146106c857806363c9b860146106db575f80fd5b80634417a583146105b15780634d013f03146106015780635275179714610614578063563dd61314610640575f80fd5b806328530a47116103a4578063348fde0f11610374578063348fde0f1461053e57806335ea6a7514610558578063386497fd14610578578063427da1771461058b57806342b0b77c1461059e575f80fd5b806328530a47146104eb5780632be29fa7146104fe5780632dad97d4146105185780633036b4391461052b575f80fd5b80631d2118f9116103df5780631d2118f9146104a05780631fe3c6f3146104b35780632520d5ee146104c6578063272d9072146104d9575f80fd5b8062a718a91461040f57806302c205f0146104245780630542975c14610437578063074b2e431461047b575b5f80fd5b61042261041d3660046143cd565b610caa565b005b610422610432366004614452565b610eb5565b61045e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b603a546001600160801b03165b6040516001600160801b039091168152602001610472565b6104226104ae3660046144cc565b610fc6565b6104226104c1366004614503565b6110e9565b6104226104d43660046144cc565b611109565b6039545b604051908152602001610472565b6104226104f936600461451a565b61119d565b73__$5f76d850ac254f0697945c46b13dedf9fb$__61045e565b6104dd610526366004614533565b611333565b610422610539366004614503565b611433565b73__$8adee7547342d537bcdcaeb7c748cfa5c0$__61045e565b61056b610566366004614565565b611440565b6040516104729190614580565b6104dd610586366004614565565b61164c565b610422610599366004614503565b611672565b6104226105ac3660046146fc565b6116a1565b6105f26105bf366004614565565b60408051602080820183525f918290526001600160a01b0393909316815260358352819020815192830190915254815290565b60405190518152602001610472565b61042261060f366004614503565b6117bf565b61045e610622366004614778565b61ffff165f908152603660205260409020546001600160a01b031690565b6104dd61064e366004614503565b6117ed565b6104dd610661366004614791565b611817565b6104226106743660046147d8565b611915565b6106b2610687366004614565565b6001600160a01b03165f90815260346020526040902060030154600160b81b900464ffffffffff1690565b60405164ffffffffff9091168152602001610472565b6104226106d6366004614804565b611a69565b6104226106e9366004614565565b611b15565b6104226106fc366004614852565b611b6b565b6104dd61070f36600461487b565b611b95565b610422610722366004614804565b611d48565b603a54600160801b90046001600160801b0316610488565b61075261074d36600461451a565b611dce565b60405161047291906148fd565b61048861076d366004614565565b6001600160a01b03165f90815260346020526040902060090154600160801b90046001600160801b031690565b603b54600160401b900461ffff166104dd565b6104226107bb366004614951565b611ef7565b6109746107ce366004614565565b60408051610240810182525f6102208201818152825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810191909152506001600160a01b039081165f9081526034602090815260409182902082516102408101845281546102208201908152815260018201546001600160801b0380821694830194909452600160801b908190048416948201949094526002820154808416606083015284900483166080820152600382015480841660a083015264ffffffffff858204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015485166101208201526005820154851661014082015260068201548516610160820152600782015490941661018085015260088101548083166101a086015283900482166101c0850152600901548082166101e0850152919091041661020082015290565b60405161047291906149b0565b73__$283efb0a967bb30ce182c750a4aff98297$__61045e565b6104dd6109a9366004614503565b61203b565b73__$589bdd19231b917beb0692fb1391cc382d$__61045e565b6104dd6109d6366004614852565b612060565b6104226109e9366004614b0a565b612098565b6104226109fc366004614565565b612110565b610422610a0f366004614b74565b612148565b610422610a22366004614bb2565b612184565b610422610a35366004614565565b6123c3565b610422610a48366004614bed565b6123f8565b610422610a5b366004614ced565b612702565b610422610a6e366004614d2f565b6127ff565b610a86610a81366004614565565b612820565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610472565b6105f2610ac1366004614565565b60408051602080820183525f918290526001600160a01b0393909316815260348352819020815192830190915254815290565b610422610b02366004614565565b50565b610422610b133660046144cc565b6129f9565b610422610b26366004614d60565b612a5b565b6104dd610b39366004614565565b612ade565b610b46612afe565b6040516104729190614d9e565b73__$eb5517a650f544fa14961d696410147857$__61045e565b610422610b7b366004614e56565b612bf2565b610422610b8e366004614f67565b612cd6565b610422610ba1366004614503565b612eba565b6104dd610bb4366004614533565b612f18565b6104dd610bc7366004614503565b612f90565b73__$3176f8b4007c03a59557e1c69343378539$__61045e565b610422610bf4366004614565565b612fb0565b603b546001600160401b03166104dd565b6104dd610c18366004614565565b6001600160a01b03165f9081526038602052604090205460ff1690565b6104dd610c43366004614fc8565b612fff565b73__$65f2e84d14e08abb971fea4350599006ac$__61045e565b610422610c70366004615009565b613159565b610422610c83366004614503565b613267565b60405160808152602001610472565b610422610ca5366004615047565b613287565b73__$589bdd19231b917beb0692fb1391cc382d$__6383c1087d6034603660356037604051806101200160405280603b60089054906101000a900461ffff1661ffff1681526020018981526020018c6001600160a01b031681526020018b6001600160a01b031681526020018a6001600160a01b0316815260200188151581526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dad9190615067565b6001600160a01b0390811682528b81165f908152603860209081526040918290205460ff16818501528151635eb88d3d60e01b8152825192909401937f000000000000000000000000000000000000000000000000000000000000000090931692635eb88d3d92600480830193928290030181865afa158015610e32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e569190615067565b6001600160a01b03168152506040518663ffffffff1660e01b8152600401610e82959493929190615082565b5f6040518083038186803b158015610e98575f80fd5b505af4158015610eaa573d5f803e3d5ffd5b505050505050505050565b60405163d505accf60e01b81526001600160a01b0389169063d505accf90610eed90339030908c908a908a908a908a9060040161513a565b5f604051808303815f87803b158015610f04575f80fd5b505af1925050508015610f15575060015b506001600160a01b038087165f818152603560209081526040918290208251608081018452948d1685529084018b90528382019290925261ffff8816606084015251631913f16160e01b815273__$283efb0a967bb30ce182c750a4aff98297$__92631913f16192610f90926034926036929160040161517b565b5f6040518083038186803b158015610fa6575f80fd5b505af4158015610fb8573d5f803e3d5ffd5b505050505050505050505050565b610fce6132af565b604080518082019091526002815261373760f01b60208201526001600160a01b0383166110175760405162461bcd60e51b815260040161100e91906151cc565b60405180910390fd5b506001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061107f57505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906110b85760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b039182165f90815260346020526040902060070180546001600160a01b03191691909216179055565b5f806110f660368461337c565b915091506111048282612098565b505050565b6001600160a01b038083165f90815260346020908152604080832093851683526035909152908190209051631210e32760e11b815273__$5f76d850ac254f0697945c46b13dedf9fb$__92632421c64e9261116d9287908790600190600401615212565b5f6040518083038186803b158015611183575f80fd5b505af4158015611195573d5f803e3d5ffd5b505050505050565b73__$65f2e84d14e08abb971fea4350599006ac$__635d5dc313603460366037603860355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060600160405280603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611263573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112879190615067565b6001600160a01b031681526020018960ff168152506040518763ffffffff1660e01b81526004016113049695949392919095865260208087019590955260408087019490945260608601929092526080850152805160a0850152918201516001600160a01b031660c0840152015160ff1660e08201526101000190565b5f6040518083038186803b15801561131a575f80fd5b505af415801561132c573d5f803e3d5ffd5b5050505050565b5f73__$5f76d850ac254f0697945c46b13dedf9fb$__6340e95de66034603660355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060a001604052808a6001600160a01b031681526020018981526020018860028111156113a7576113a76151de565b60028111156113b8576113b86151de565b81523360208201526001604091820152516001600160e01b031960e087901b1681526113ea949392919060040161524e565b602060405180830381865af4158015611405573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142991906152b4565b90505b9392505050565b61143b6132af565b603955565b61144861427d565b6001600160a01b038083165f9081526034602090815260409182902082516102408101845281546102208201908152815260018201546001600160801b0380821694830194909452600160801b908190048416948201949094526002820154808416606083015284900483166080820152600382015480841660a083015264ffffffffff858204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015485166101208201526005820154851661014082015260068201548516610160820152600782015490941661018085015260088101548083166101a086015283900482166101c0850152600901548082166101e0850152919091041661020082015261156361427d565b815181526020808301516001600160801b039081169183019190915260408084015182169083015260608084015182169083015260808084015182169083015260a08084015182169083015260c08084015164ffffffffff169083015260e08084015161ffff1690830152610120808401516001600160a01b03908116610100850152610140808601518216928501929092526101608086015182169285019290925261018080860151909116918401919091526101a0808501518316918401919091526101c0808501518316918401919091526101e090930151169181019190915292915050565b6001600160a01b0381165f90815260346020526040812061166c906133a8565b92915050565b61ffff81165f908152603660205260409020546001600160a01b0390811690601083901c1661110482826129f9565b5f6040518060e00160405280886001600160a01b03168152602001876001600160a01b0316815260200186815260200185858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093855250505061ffff8516602080840191909152603a546001600160801b03600160801b8204811660408087019190915291166060909401939093526001600160a01b038a16825260349052819020905163a1fe0e8d60e01b815291925073__$8adee7547342d537bcdcaeb7c748cfa5c0$__9163a1fe0e8d9161178a9185906004016152cb565b5f6040518083038186803b1580156117a0575f80fd5b505af41580156117b2573d5f803e3d5ffd5b5050505050505050505050565b61ffff81165f908152603660205260409020546001600160a01b0316601082901c6001166111048282611915565b5f805f806117fc60368661340a565b92509250925061180e83838333611817565b95945050505050565b5f73__$5f76d850ac254f0697945c46b13dedf9fb$__6340e95de66034603660355f876001600160a01b03166001600160a01b031681526020019081526020015f206040518060a001604052808b6001600160a01b031681526020018a815260200189600281111561188b5761188b6151de565b600281111561189c5761189c6151de565b81526001600160a01b03891660208201525f604091820152516001600160e01b031960e087901b1681526118d6949392919060040161524e565b602060405180830381865af41580156118f1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180e91906152b4565b73__$283efb0a967bb30ce182c750a4aff98297$__63bf697a2660346036603760355f336001600160a01b03166001600160a01b031681526020019081526020015f208787603b60089054906101000a900461ffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119eb9190615067565b335f908152603860205260409081902054905160e08b901b6001600160e01b031916815260048101999099526024890197909752604488019590955260648701939093526001600160a01b039182166084870152151560a486015261ffff90911660c48501521660e483015260ff166101048201526101240161116d565b6001600160a01b038083165f81815260356020908152604091829020825160808101845294891685529084018790528382019290925261ffff8416606084015251631913f16160e01b815273__$283efb0a967bb30ce182c750a4aff98297$__92631913f16192611ae3926034926036929160040161517b565b5f6040518083038186803b158015611af9575f80fd5b505af4158015611b0b573d5f803e3d5ffd5b5050505050505050565b611b1d6132af565b604051639cf5702360e01b815260346004820152603660248201526001600160a01b038216604482015273__$eb5517a650f544fa14961d696410147857$__90639cf5702390606401611304565b5f805f805f611b7b603689613466565b94509450945094509450611b0b8585338686868d8d610eb5565b5f73__$283efb0a967bb30ce182c750a4aff98297$__63186dea4460346036603760355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060c001604052808b6001600160a01b031681526020018a8152602001896001600160a01b03168152602001603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca29190615067565b6001600160a01b039081168252335f908152603860209081526040918290205460ff90811694820194909452815160e08b901b6001600160e01b031916815260048101999099526024890197909752604488019590955260648701939093528151831660848701529381015160a486015291820151811660c4850152606082015160e485015260808201511661010484015260a0015116610124820152610144016113ea565b611d506134a3565b6001600160a01b038281165f81815260356020526040908190209051630413c86f60e01b81526034600482015260366024820152604481019190915291861660648301526084820185905260a482015261ffff821660c482015273__$3176f8b4007c03a59557e1c69343378539$__90630413c86f9060e401611ae3565b6040805160a0810182525f80825260208201819052918101829052606080820192909252608081019190915260ff82165f90815260376020908152604091829020825160a081018452815461ffff808216835262010000820481169483019490945264010000000081049093169381019390935266010000000000009091046001600160a01b03166060830152600181018054608084019190611e7090615347565b80601f0160208091040260200160405190810160405280929190818152602001828054611e9c90615347565b8015611ee75780601f10611ebe57610100808354040283529160200191611ee7565b820191905f5260205f20905b815481529060010190602001808311611eca57829003601f168201915b5050505050815250509050919050565b611eff6132af565b73__$eb5517a650f544fa14961d696410147857$__6369fc1bdf603460366040518060e001604052808a6001600160a01b03168152602001896001600160a01b03168152602001886001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b03168152602001603b60089054906101000a900461ffff1661ffff168152602001611f95608090565b61ffff168152506040518463ffffffff1660e01b8152600401611fba93929190615379565b602060405180830381865af4158015611fd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff991906153fa565b1561132c57603b8054600160401b900461ffff1690600861201983615429565b91906101000a81548161ffff021916908361ffff160217905550505050505050565b5f805f6120496036856135c3565b91509150612058828233611b95565b949350505050565b5f805f805f8061207160368a613612565b9450945094509450945061208b8585853386868e8e612fff565b9998505050505050505050565b6001600160a01b0382165f908152603460209081526040808320338085526035909352922073__$5f76d850ac254f0697945c46b13dedf9fb$__92632421c64e9290919086908660028111156120f0576120f06151de565b6040518663ffffffff1660e01b815260040161116d959493929190615212565b6121186132af565b6001600160a01b0381165f908152603460205260408120906121398261364d565b90506111048282855f80613818565b604051631230b2a360e21b815273__$eb5517a650f544fa14961d696410147857$__906348c2ca8c9061116d9060349086908690600401615449565b73__$5f76d850ac254f0697945c46b13dedf9fb$__631e6473f960346036603760355f876001600160a01b03166001600160a01b031681526020019081526020015f206040518061018001604052808c6001600160a01b03168152602001336001600160a01b03168152602001886001600160a01b031681526020018b81526020018a6002811115612218576122186151de565b6002811115612229576122296151de565b815261ffff808b166020808401919091526001604080850191909152603b546001600160401b0381166060860152600160401b900490921660808401528151631f94a27560e31b8152915160a0909301926001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263fca513a89260048083019391928290030181865afa1580156122ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ee9190615067565b6001600160a01b0390811682528981165f908152603860209081526040918290205460ff16818501528151635eb88d3d60e01b8152825192909401937f000000000000000000000000000000000000000000000000000000000000000090931692635eb88d3d92600480830193928290030181865afa158015612373573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123979190615067565b6001600160a01b03168152506040518663ffffffff1660e01b8152600401610e829594939291906154a0565b6123cb6132af565b6001600160a01b0381165f908152603460205260408120906123ec8261364d565b90506111048282613b33565b5f604051806101e001604052808d6001600160a01b031681526020018c8c808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506040805160208c810282810182019093528c82529283019290918d918d9182918501908490808284375f920191909152505050908252506040805160208a810282810182019093528a82529283019290918b918b9182918501908490808284375f920191909152505050908252506001600160a01b03871660208083019190915260408051601f880183900483028101830182528781529201919087908790819084018382808284375f92018290525093855250505061ffff808616602080850191909152603a546001600160801b03600160801b8204811660408088019190915291166060860152603b546001600160401b0381166080870152600160401b900490921660a08501526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660c086018190523060e0870152908b16845260388252928290205460ff16610100850152815163383e6b8b60e11b815291516101209094019363707cd7169260048082019392918290030181865afa1580156125dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126009190615067565b60405163fa50f29760e01b81523360048201526001600160a01b03919091169063fa50f29790602401602060405180830381865afa158015612644573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266891906153fa565b151590526001600160a01b0386165f9081526035602052604090819020905163173931f560e11b815291925073__$8adee7547342d537bcdcaeb7c748cfa5c0$__91632e7263ea916126c891603491603691603791908890600401615606565b5f6040518083038186803b1580156126de575f80fd5b505af41580156126f0573d5f803e3d5ffd5b50505050505050505050505050505050565b61270a6132af565b6001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061277157505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906127aa5760405162461bcd60e51b815260040161100e91906151cc565b50604051636ae4381360e01b8152603460048201526001600160a01b038316602482015264ffffffffff8216604482015273__$eb5517a650f544fa14961d696410147857$__90636ae438139060640161116d565b6128076132af565b6001600160801b03908116600160801b02911617603a55565b604080516001600160a01b038381165f8181526035602090815285822060c0860187525460a086019081528552603b54600160401b900461ffff1681860152848601929092528451631f94a27560e31b8152945190948594859485948594859473__$eb5517a650f544fa14961d696410147857$__946326ec273f9460349460369460379460608501937f0000000000000000000000000000000000000000000000000000000000000000169263fca513a8926004808401938290030181865afa1580156128f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129149190615067565b6001600160a01b0390811682528e81165f908152603860209081526040918290205460ff90811694820194909452815160e08a901b6001600160e01b0319168152600481019890985260248801969096526044870194909452825151606487015293820151608486015291810151831660a4850152606081015190921660c48401526080909101511660e48201526101040160c060405180830381865af41580156129c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129e5919061577e565b949c939b5091995097509550909350915050565b6001600160a01b038281165f81815260346020526040908190209051631a5cfdd160e21b815260048101919091526024810191909152908216604482015273__$5f76d850ac254f0697945c46b13dedf9fb$__90636973f7449060640161116d565b612a63613b8b565b6040516343d9915960e11b81526001600160a01b038085166004830152831660248201526044810182905273__$eb5517a650f544fa14961d696410147857$__906387b322b2906064015f6040518083038186803b158015612ac3575f80fd5b505af4158015612ad5573d5f803e3d5ffd5b50505050505050565b6001600160a01b0381165f90815260346020526040812061166c90613cab565b603b54606090600160401b900461ffff165f80826001600160401b03811115612b2957612b29614dea565b604051908082528060200260200182016040528015612b52578160200160208202803683370190505b5090505f5b83811015612be8575f818152603660205260409020546001600160a01b031615612bd2575f818152603660205260409020546001600160a01b031682612b9d85846157c4565b81518110612bad57612bad6157d7565b60200260200101906001600160a01b031690816001600160a01b031681525050612be0565b82612bdc816157eb565b9350505b600101612b57565b5091038152919050565b612bfa6132af565b604080518082019091526002815261189b60f11b602082015260ff8316612c345760405162461bcd60e51b815260040161100e91906151cc565b5060ff82165f9081526037602090815260409182902083518154928501519385015160608601516001600160a01b03166601000000000000026601000000000000600160d01b031961ffff9283166401000000000216640100000000600160d01b0319968316620100000263ffffffff1990961692909316919091179390931793909316929092171781556080820151829190600182019061132c9082615847565b6001600160a01b038681165f908152603460209081526040918290206004015482518084019093526002835261313160f01b918301919091529091163314612d315760405162461bcd60e51b815260040161100e91906151cc565b5073__$283efb0a967bb30ce182c750a4aff98297$__638a5dadd160346036603760356040518061012001604052808d6001600160a01b031681526020018c6001600160a01b031681526020018b6001600160a01b031681526020018a8152602001898152602001888152602001603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e399190615067565b6001600160a01b0390811682528d165f908152603860209081526040918290205460ff16920191909152516001600160e01b031960e088901b168152612e86959493929190600401615902565b5f6040518083038186803b158015612e9c575f80fd5b505af4158015612eae573d5f803e3d5ffd5b50505050505050505050565b5f805f80612f0360368661ffff8181165f9081526020939093526040909220546001600160a01b0316926001600160801b03601083901c169260ff609084901c169260981c1690565b935093509350935061132c8484848433612184565b5f612f216134a3565b6001600160a01b0384165f818152603460205260409081902060395491516311ce864960e31b8152600481019190915260248101929092526044820185905260648201849052608482015273__$3176f8b4007c03a59557e1c69343378539$__90638e7432489060a4016113ea565b5f805f80612f9f60368661340a565b92509250925061180e838383611333565b612fb86132af565b604051631e3b414560e01b8152603460048201526001600160a01b038216602482015273__$eb5517a650f544fa14961d696410147857$__90631e3b414590604401611304565b60405163d505accf60e01b81525f906001600160a01b038a169063d505accf9061303990339030908d908b908b908b908b9060040161513a565b5f604051808303815f87803b158015613050575f80fd5b505af1925050508015613061575060015b505f6040518060a001604052808b6001600160a01b031681526020018a8152602001896002811115613095576130956151de565b60028111156130a6576130a66151de565b81526001600160a01b03891660208083018290525f6040938401819052918252603590528190209051632074aef360e11b815291925073__$5f76d850ac254f0697945c46b13dedf9fb$__916340e95de69161310c91603491603691879060040161524e565b602060405180830381865af4158015613127573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061314b91906152b4565b9a9950505050505050505050565b6131616132af565b604080518082019091526002815261373760f01b60208201526001600160a01b0383166131a15760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061320957505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906132425760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b0382165f9081526034602052604090208135815581905b50505050565b5f805f613275603685613d01565b92509250925061326183833384611a69565b5f805f805f61329860368888613d3b565b94509450945094509450612ad58585858585610caa565b336001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663631adfca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133399190615067565b6001600160a01b03161460405180604001604052806002815260200161031360f41b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b61ffff81165f908152602083905260409020546001600160a01b0316601082901c60ff165b9250929050565b60038101545f90600160801b900464ffffffffff164281036133d6575050600201546001600160801b031690565b600283015461142c906001600160801b03808216916133fe91600160801b9091041684613dc0565b90613dcc565b50919050565b5f808061ffff8416601085901c6001600160801b0316609086901c60ff166002600160801b0319820161343c575f1991505b61ffff9092165f908152602088905260409020546001600160a01b03169450925090509250925092565b5f8080808060a086901c63ffffffff1660c087901c60ff1682808061348b8c8c613d01565b919e909d50909b509499509297509295505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135239190615067565b604051633933006760e11b81523360048201526001600160a01b03919091169063726600ce90602401602060405180830381865afa158015613567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061358b91906153fa565b604051806040016040528060018152602001601b60f91b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b5f8061ffff8316601084901c6001600160801b03166002600160801b031981016135eb57505f195b61ffff919091165f9081526020959095526040909420546001600160a01b03169492505050565b5f805f805f805f805f806136268c8c61340a565b919e909d50909b609881901c63ffffffff169b5060b81c60ff169950975050505050505050565b6136556142ff565b61365d6142ff565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa15801561374c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061377091906152b4565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa1580156137c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137e591906159a9565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b61383f60405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161385391613dcc565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e9161391a916004016159dc565b606060405180830381865afa158015613935573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139599190615a5e565b6040840152602083015280825261396f90613e0e565b6001870180546001600160801b03928316600160801b029216919091179055602081015161399c90613e0e565b6003870180546001600160801b0319166001600160801b039290921691909117905560408101516139cc90613e0e565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152613a0a9051600160fc1b16151590565b15613abf578215613a6757613a1e83613e0e565b600987018054601090613a42908490600160801b90046001600160801b0316615a89565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115613abf57613a7682613e0e565b600987018054601090613a9a908490600160801b90046001600160801b0316615ab0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b600382015464ffffffffff428116600160801b9092041603613b53575050565b613b5d8282613e7a565b613b678282613f57565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015613be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c0b9190615067565b604051637be53ca160e01b81523360048201526001600160a01b039190911690637be53ca190602401602060405180830381865afa158015613c4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c7391906153fa565b604051806040016040528060018152602001603160f81b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b60038101545f90600160801b900464ffffffffff16428103613cd9575050600101546001600160801b031690565b600183015461142c906001600160801b03808216916133fe91600160801b90910416846140bb565b61ffff8181165f908152602084905260409020546001600160a01b031690601083901c6001600160801b031690609084901c169250925092565b5f8080808061ffff87811690601089901c16602089901c6001600160a01b03166001600160801b03891660808a901c6001166002600160801b03198201613d81575f1991505b61ffff9485165f90815260209d909d526040808e2054949095168d5293909b20546001600160a01b039283169c92169a90995097509095509350505050565b5f61142c8383426140f7565b5f81156b019d971e4fe8401e740000001983900484111517613dec575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b5f6001600160801b03821115613e765760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161100e565b5090565b61016081015115613ee8575f613e9a8261016001518361024001516140bb565b9050613eb38260e0015182613dcc90919063ffffffff16565b6101008301819052613ec490613e0e565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115613f53575f613f04826101800151836102400151613dc0565b9050613f1e82610120015182613dcc90919063ffffffff16565b6101408301819052613f2f90613e0e565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b613f8a6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03613f9b57505050565b6101208201518251613fac91613dcc565b60208201526101408201518251613fc291613dcc565b60408201526060820151610260830151610240840151613fea92919064ffffffffff166140f7565b606082018190526040830151613fff91613dcc565b80825260208201516080840151604084015161401b9190615ad0565b61402591906157c4565b61402f91906157c4565b608082018190526101a0830151614046919061421c565b60a0820181905215611104576140766140718361010001518360a0015161424090919063ffffffff16565b613e0e565b6008840180545f906140929084906001600160801b0316615a89565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050565b5f806140ce64ffffffffff8416426157c4565b6140d89085615ae3565b6301e1338090049050612058816b033b2e3c9fd0803ce8000000615ad0565b5f8061410a64ffffffffff8516846157c4565b9050805f03614128576b033b2e3c9fd0803ce800000091505061142c565b5f1981015f80806002851161413d575f614142565b600285035b925066038882915c40006141568a80613dcc565b8161416357614163615afa565b0491506301e13380614175838b613dcc565b8161418257614182615afa565b0490505f826141918688615ae3565b61419b9190615ae3565b6002900490505f82856141ae888a615ae3565b6141b89190615ae3565b6141c29190615ae3565b60069004905080826301e133806141d98a8f615ae3565b6141e39190615b0e565b6141f9906b033b2e3c9fd0803ce8000000615ad0565b6142039190615ad0565b61420d9190615ad0565b9b9a5050505050505050505050565b5f81156113881983900484111517614232575f80fd5b506127109102611388010490565b5f81156b033b2e3c9fd0803ce800000060028404190484111715614262575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b60408051610200810182525f6101e08201818152825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081019190915290565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161437460405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6001600160a01b0381168114610b02575f80fd5b80356143bb8161439c565b919050565b8015158114610b02575f80fd5b5f805f805f60a086880312156143e1575f80fd5b85356143ec8161439c565b945060208601356143fc8161439c565b9350604086013561440c8161439c565b9250606086013591506080860135614423816143c0565b809150509295509295909350565b803561ffff811681146143bb575f80fd5b803560ff811681146143bb575f80fd5b5f805f805f805f80610100898b03121561446a575f80fd5b88356144758161439c565b975060208901359650604089013561448c8161439c565b955061449a60608a01614431565b9450608089013593506144af60a08a01614442565b925060c0890135915060e089013590509295985092959890939650565b5f80604083850312156144dd575f80fd5b82356144e88161439c565b915060208301356144f88161439c565b809150509250929050565b5f60208284031215614513575f80fd5b5035919050565b5f6020828403121561452a575f80fd5b61142c82614442565b5f805f60608486031215614545575f80fd5b83356145508161439c565b95602085013595506040909401359392505050565b5f60208284031215614575575f80fd5b813561142c8161439c565b81515181526101e0810160208301516145a460208401826001600160801b03169052565b5060408301516145bf60408401826001600160801b03169052565b5060608301516145da60608401826001600160801b03169052565b5060808301516145f560808401826001600160801b03169052565b5060a083015161461060a08401826001600160801b03169052565b5060c083015161462960c084018264ffffffffff169052565b5060e083015161463f60e084018261ffff169052565b50610100838101516001600160a01b039081169184019190915261012080850151821690840152610140808501518216908401526101608085015190911690830152610180808401516001600160801b03908116918401919091526101a0808501518216908401526101c08085015191821681850152905b505092915050565b5f8083601f8401126146cf575f80fd5b5081356001600160401b038111156146e5575f80fd5b6020830191508360208285010111156133a1575f80fd5b5f805f805f8060a08789031215614711575f80fd5b863561471c8161439c565b9550602087013561472c8161439c565b94506040870135935060608701356001600160401b0381111561474d575f80fd5b61475989828a016146bf565b909450925061476c905060808801614431565b90509295509295509295565b5f60208284031215614788575f80fd5b61142c82614431565b5f805f80608085870312156147a4575f80fd5b84356147af8161439c565b9350602085013592506040850135915060608501356147cd8161439c565b939692955090935050565b5f80604083850312156147e9575f80fd5b82356147f48161439c565b915060208301356144f8816143c0565b5f805f8060808587031215614817575f80fd5b84356148228161439c565b93506020850135925060408501356148398161439c565b915061484760608601614431565b905092959194509250565b5f805f60608486031215614864575f80fd5b505081359360208301359350604090920135919050565b5f805f6060848603121561488d575f80fd5b83356148988161439c565b92506020840135915060408401356148af8161439c565b809150509250925092565b5f81518084525f5b818110156148de576020818501810151868301820152016148c2565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61ffff8084511660208401528060208501511660408401528060408501511660608401525060018060a01b036060840151166080830152608083015160a08084015261205860c08401826148ba565b5f805f805f60a08688031215614965575f80fd5b85356149708161439c565b945060208601356149808161439c565b935060408601356149908161439c565b925060608601356149a08161439c565b915060808601356144238161439c565b8151518152610220810160208301516149d460208401826001600160801b03169052565b5060408301516149ef60408401826001600160801b03169052565b506060830151614a0a60608401826001600160801b03169052565b506080830151614a2560808401826001600160801b03169052565b5060a0830151614a4060a08401826001600160801b03169052565b5060c0830151614a5960c084018264ffffffffff169052565b5060e0830151614a6f60e084018261ffff169052565b506101008381015164ffffffffff1690830152610120808401516001600160a01b0390811691840191909152610140808501518216908401526101608085015182169084015261018080850151909116908301526101a0808401516001600160801b03908116918401919091526101c0808501518216908401526101e0808501518216908401526102008085015191821681850152906146b7565b5f8060408385031215614b1b575f80fd5b8235614b268161439c565b946020939093013593505050565b5f8083601f840112614b44575f80fd5b5081356001600160401b03811115614b5a575f80fd5b6020830191508360208260051b85010111156133a1575f80fd5b5f8060208385031215614b85575f80fd5b82356001600160401b03811115614b9a575f80fd5b614ba685828601614b34565b90969095509350505050565b5f805f805f60a08688031215614bc6575f80fd5b8535614bd18161439c565b945060208601359350604086013592506149a060608701614431565b5f805f805f805f805f805f60e08c8e031215614c07575f80fd5b614c108c6143b0565b9a506001600160401b038060208e01351115614c2a575f80fd5b614c3a8e60208f01358f01614b34565b909b50995060408d0135811015614c4f575f80fd5b614c5f8e60408f01358f01614b34565b909950975060608d0135811015614c74575f80fd5b614c848e60608f01358f01614b34565b9097509550614c9560808e016143b0565b94508060a08e01351115614ca7575f80fd5b50614cb88d60a08e01358e016146bf565b9093509150614cc960c08d01614431565b90509295989b509295989b9093969950565b64ffffffffff81168114610b02575f80fd5b5f8060408385031215614cfe575f80fd5b8235614d098161439c565b915060208301356144f881614cdb565b80356001600160801b03811681146143bb575f80fd5b5f8060408385031215614d40575f80fd5b614d4983614d19565b9150614d5760208401614d19565b90509250929050565b5f805f60608486031215614d72575f80fd5b8335614d7d8161439c565b92506020840135614d8d8161439c565b929592945050506040919091013590565b602080825282518282018190525f9190848201906040850190845b81811015614dde5783516001600160a01b031683529284019291840191600101614db9565b50909695505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715614e2057614e20614dea565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614e4e57614e4e614dea565b604052919050565b5f8060408385031215614e67575f80fd5b614e7083614442565b91506020808401356001600160401b0380821115614e8c575f80fd5b9085019060a08288031215614e9f575f80fd5b614ea7614dfe565b614eb083614431565b8152614ebd848401614431565b84820152614ecd60408401614431565b60408201526060830135614ee08161439c565b6060820152608083013582811115614ef6575f80fd5b80840193505087601f840112614f0a575f80fd5b823582811115614f1c57614f1c614dea565b614f2e601f8201601f19168601614e26565b92508083528885828601011115614f43575f80fd5b80858501868501375f85828501015250816080820152809450505050509250929050565b5f805f805f8060c08789031215614f7c575f80fd5b8635614f878161439c565b95506020870135614f978161439c565b94506040870135614fa78161439c565b959894975094956060810135955060808101359460a0909101359350915050565b5f805f805f805f80610100898b031215614fe0575f80fd5b8835614feb8161439c565b97506020890135965060408901359550606089013561449a8161439c565b5f80828403604081121561501b575f80fd5b83356150268161439c565b92506020601f1982011215615039575f80fd5b506020830190509250929050565b5f8060408385031215615058575f80fd5b50508035926020909101359150565b5f60208284031215615077575f80fd5b815161142c8161439c565b5f6101a08201905086825285602083015284604083015283606083015282516080830152602083015160a0830152604083015160018060a01b0380821660c08501528060608601511660e0850152505060808301516101006150ee818501836001600160a01b03169052565b60a0850151151561012085015260c08501516001600160a01b0390811661014086015260e086015160ff166101608601529085015190811661018085015290505b509695505050505050565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b93845260208085019390935260408085019290925280516001600160a01b039081166060808701919091529382015160808601529181015190911660a0840152015161ffff1660c082015260e00190565b602081525f61142c60208301846148ba565b634e487b7160e01b5f52602160045260245ffd5b6003811061520e57634e487b7160e01b5f52602160045260245ffd5b9052565b858152602081018590526001600160a01b0384811660408301528316606082015260a0810161524460808301846151f2565b9695505050505050565b8481526020808201859052604080830185905283516001600160a01b0390811660608501529184015160808401528301516101008301919061529360a08501826151f2565b5060608401511660c0830152608090920151151560e0909101529392505050565b5f602082840312156152c4575f80fd5b5051919050565b828152604060208201525f60018060a01b038084511660408401528060208501511660608401525060408301516080830152606083015160e060a08401526153176101208401826148ba565b905061ffff60808501511660c084015260a084015160e084015260c0840151610100840152809150509392505050565b600181811c9082168061535b57607f821691505b60208210810361340457634e487b7160e01b5f52602260045260245ffd5b5f6101208201905084825283602083015260018060a01b038084511660408401528060208501511660608401528060408501511660808401528060608501511660a08401528060808501511660c08401525060a08301516153e060e084018261ffff169052565b5060c083015161ffff811661010084015250949350505050565b5f6020828403121561540a575f80fd5b815161142c816143c0565b634e487b7160e01b5f52601160045260245ffd5b5f61ffff80831681810361543f5761543f615415565b6001019392505050565b838152604060208083018290529082018390525f90849060608401835b868110156154945783356154798161439c565b6001600160a01b031682529282019290820190600101615466565b50979650505050505050565b85815260208101859052604081018490526060810183905281516001600160a01b03166080820152610200810160208301516001600160a01b03811660a08401525060408301516001600160a01b03811660c084015250606083015160e08301526080830151610100615515818501836151f2565b60a0850151915061012061552e8186018461ffff169052565b60c086015192506101406155458187018515159052565b60e08701516101608781019190915292870151610180870152908601516001600160a01b039081166101a08701529086015160ff166101c0860152908501519081166101e0850152905061512f565b5f815180845260208085019450602084015f5b838110156155cc5781516001600160a01b0316875295820195908201906001016155a7565b509495945050505050565b5f815180845260208085019450602084015f5b838110156155cc578151875295820195908201906001016155ea565b85815284602082015283604082015282606082015260a0608082015261563860a0820183516001600160a01b03169052565b5f60208301516101e08060c0850152615655610280850183615594565b91506040850151609f19808685030160e087015261567384836155d7565b93506060870151915061010081878603018188015261569285846155d7565b9450608088015192506101206156b2818901856001600160a01b03169052565b60a089015193506101408389880301818a01526156cf87866148ba565b965060c08a0151945061016093506156ec848a018661ffff169052565b60e08a0151945061018085818b0152838b015195506101a0935085848b0152828b015195506101c0925085838b0152818b0151878b0152848b0151965061573f6102008b01886001600160a01b03169052565b8a01516001600160a01b0381166102208b0152955061575b9050565b9088015160ff166102408801528701518015156102608801529250615494915050565b5f805f805f8060c08789031215615793575f80fd5b865195506020870151945060408701519350606087015192506080870151915060a087015190509295509295509295565b8181038181111561166c5761166c615415565b634e487b7160e01b5f52603260045260245ffd5b5f600182016157fc576157fc615415565b5060010190565b601f82111561110457805f5260205f20601f840160051c810160208510156158285750805b601f840160051c820191505b8181101561132c575f8155600101615834565b81516001600160401b0381111561586057615860614dea565b6158748161586e8454615347565b84615803565b602080601f8311600181146158a7575f84156158905750858301515b5f19600386901b1c1916600185901b178555611195565b5f85815260208120601f198616915b828110156158d5578886015182559484019460019091019084016158b6565b50858210156158f257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b858152602080820186905260408083018690526060830185905283516001600160a01b03908116608085015291840151821660a084015283015190811660c08301526101a082019050606083015160e08301526080830151610100818185015260a085015161012085015260c085015161014085015260e085015191506159956101608501836001600160a01b03169052565b84015160ff8116610180850152905061512f565b5f805f80608085870312156159bc575f80fd5b84519350602085015192506040850151915060608501516147cd81614cdb565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151615a3e60e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215615a70575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b03818116838216019080821115615aa957615aa9615415565b5092915050565b6001600160801b03828116828216039080821115615aa957615aa9615415565b8082018082111561166c5761166c615415565b808202811582820484141761166c5761166c615415565b634e487b7160e01b5f52601260045260245ffd5b5f82615b2857634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212204793bf1919cd1991d18e25326db47014c7d5e4809660a16fa3e2bc0504f0939f64736f6c63430008160033', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "BRIDGE_PROTOCOL_FEE()": "272d9072", - "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", - "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", - "MAX_NUMBER_RESERVES()": "f8119d51", - "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", - "backUnbacked(address,uint256,uint256)": "d65dc7a1", - "borrow(address,uint256,uint256,uint16,address)": "a415bcad", - "borrow(bytes32)": "d5eed868", - "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", - "deposit(address,uint256,address,uint16)": "e8eda9df", - "dropReserve(address)": "63c9b860", - "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", - "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", - "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", - "getBorrowLogic()": "2be29fa7", - "getBridgeLogic()": "df374c36", - "getConfiguration(address)": "c44b11f7", - "getEModeCategoryData(uint8)": "6c6f6ae1", - "getEModeLogic()": "f32b9a73", - "getFlashLoanLogic()": "348fde0f", - "getLiquidationGracePeriod(address)": "5c9a8b18", - "getLiquidationLogic()": "911a3413", - "getPoolLogic()": "d3350155", - "getReserveAddressById(uint16)": "52751797", - "getReserveData(address)": "35ea6a75", - "getReserveDataExtended(address)": "8381995f", - "getReserveNormalizedIncome(address)": "d15e0053", - "getReserveNormalizedVariableDebt(address)": "386497fd", - "getReservesCount()": "72218d04", - "getReservesList()": "d1946dbc", - "getSupplyLogic()": "870e7744", - "getUserAccountData(address)": "bf92857c", - "getUserConfiguration(address)": "4417a583", - "getUserEMode(address)": "eddf1b79", - "getVirtualUnderlyingBalance(address)": "6fb07f96", - "initReserve(address,address,address,address,address)": "7a708e92", - "initialize(address)": "c4d66de8", - "liquidationCall(address,address,address,uint256,bool)": "00a718a9", - "liquidationCall(bytes32,bytes32)": "fd21ecff", - "mintToTreasury(address[])": "9cd19996", - "mintUnbacked(address,uint256,address,uint16)": "69a933a5", - "rebalanceStableBorrowRate(address,address)": "cd112382", - "rebalanceStableBorrowRate(bytes32)": "427da177", - "repay(address,uint256,uint256,address)": "573ade81", - "repay(bytes32)": "563dd613", - "repayWithATokens(address,uint256,uint256)": "2dad97d4", - "repayWithATokens(bytes32)": "dc7c0bff", - "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", - "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", - "rescueTokens(address,address,uint256)": "cea9d26f", - "resetIsolationModeTotalDebt(address)": "e43e88a1", - "setConfiguration(address,(uint256))": "f51e435b", - "setLiquidationGracePeriod(address,uint40)": "b1a99e26", - "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", - "setUserEMode(uint8)": "28530a47", - "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", - "setUserUseReserveAsCollateral(bytes32)": "4d013f03", - "supply(address,uint256,address,uint16)": "617ba037", - "supply(bytes32)": "f7a73840", - "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", - "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", - "swapBorrowRateMode(address,uint256)": "94ba89a2", - "swapBorrowRateMode(bytes32)": "1fe3c6f3", - "swapToVariable(address,address)": "2520d5ee", - "syncIndexesState(address)": "ab2b51f6", - "syncRatesState(address)": "98c7da4e", - "updateBridgeProtocolFee(uint256)": "3036b439", - "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", - "withdraw(address,uint256,address)": "69328dec", - "withdraw(bytes32)": "8e19899e" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts b/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts deleted file mode 100644 index 6cecd6af3..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts +++ /dev/null @@ -1,1056 +0,0 @@ -export declare const MockLPMath: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateDistributeExcessIdle"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateDistributeExcessIdleShareProceeds"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_originalEffectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxShareReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateDistributeExcessIdleWithdrawalSharesRedeemed"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shareReservesDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateInitialReserves"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_targetApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxShareReservesDeltaSafe"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_originalEffectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateNetCurveTrade"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateNetFlatTrade"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculatePresentValue"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSharesDeltaGivenBondsDeltaDerivativeSafe"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_originalEffectiveShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateUpdateLiquidity"; - readonly inputs: readonly [{ - readonly name: "_shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "_bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareReservesDelta"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "shouldShortCircuitDistributeExcessIdleShareProceeds"; - readonly inputs: readonly [{ - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.DistributeExcessIdleParams"; - readonly components: readonly [{ - readonly name: "presentValueParams"; - readonly type: "tuple"; - readonly internalType: "struct LPMath.PresentValueParams"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageTimeRemaining"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "startingPresentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "activeLpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "idle"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "netCurveTrade"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "originalShareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "originalBondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_presentValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPresentValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateDistributeExcessIdle(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "865d65a2"; - readonly "calculateDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "3f9ccc01"; - readonly "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256))": "cefef8b7"; - readonly "calculateDistributeExcessIdleWithdrawalSharesRedeemed(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "a0d1643c"; - readonly "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e"; - readonly "calculateMaxShareReservesDeltaSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "9e5fc16b"; - readonly "calculateNetCurveTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "a4fc6f81"; - readonly "calculateNetFlatTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "32c5dec4"; - readonly "calculatePresentValue((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "c00b11d3"; - readonly "calculateSharesDeltaGivenBondsDeltaDerivativeSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,int256)": "c615b2d9"; - readonly "calculateUpdateLiquidity(uint256,int256,uint256,uint256,int256)": "b500f3cb"; - readonly "shouldShortCircuitDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "8f1505fa"; - }; -}; -//# sourceMappingURL=MockLPMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts.map b/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts.map deleted file mode 100644 index a6cb5020e..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLPMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockLPMath.d.ts","sourceRoot":"","sources":["../src/MockLPMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkzC2mlB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;CAe9olB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockLPMath.js b/packages/hyperdrive-artifacts/dist/MockLPMath.js deleted file mode 100644 index 24a154e62..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLPMath.js +++ /dev/null @@ -1,1346 +0,0 @@ -export const MockLPMath = { - abi: [ - { - "type": "function", - "name": "calculateDistributeExcessIdle", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateDistributeExcessIdleShareProceeds", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_originalEffectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxShareReservesDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateDistributeExcessIdleWithdrawalSharesRedeemed", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shareReservesDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateInitialReserves", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_targetApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretch", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxShareReservesDeltaSafe", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_originalEffectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateNetCurveTrade", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateNetFlatTrade", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculatePresentValue", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSharesDeltaGivenBondsDeltaDerivativeSafe", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_originalEffectiveShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateUpdateLiquidity", - "inputs": [ - { - "name": "_shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "_bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareReservesDelta", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "shouldShortCircuitDistributeExcessIdleShareProceeds", - "inputs": [ - { - "name": "_params", - "type": "tuple", - "internalType": "struct LPMath.DistributeExcessIdleParams", - "components": [ - { - "name": "presentValueParams", - "type": "tuple", - "internalType": "struct LPMath.PresentValueParams", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageTimeRemaining", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "startingPresentValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "activeLpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "idle", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "netCurveTrade", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "originalShareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "originalBondReserves", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_presentValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPresentValue", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061251a8061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100b1575f3560e01c8063a4fc6f811161006e578063a4fc6f8114610174578063b29e1d1e14610187578063b500f3cb146101b5578063c00b11d3146101c8578063c615b2d9146101db578063cefef8b7146101ee575f80fd5b806332c5dec4146100b55780633f9ccc01146100db578063865d65a2146100ee5780638f1505fa146101165780639e5fc16b14610139578063a0d1643c14610161575b5f80fd5b6100c86100c33660046120d9565b610201565b6040519081526020015b60405180910390f35b6100c86100e936600461217a565b610211565b6101016100fc3660046121ae565b610227565b604080519283526020830191909152016100d2565b61012961012436600461217a565b6102ac565b60405190151581526020016100d2565b61014c6101473660046121ae565b6102b8565b604080519283529015156020830152016100d2565b6100c861016f3660046121ae565b6102c4565b6100c86101823660046120d9565b6102d6565b61019a6101953660046121d9565b610355565b604080519384526020840192909252908201526060016100d2565b61019a6101c3366004612218565b610402565b6100c86101d63660046120d9565b610513565b61014c6101e936600461217a565b61058b565b61014c6101fc36600461224f565b6105a5565b5f61020b826105b9565b92915050565b5f61021f848484600461062b565b949350505050565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef6885856040518363ffffffff1660e01b81526004016102629291906122e8565b6040805180830381865af415801561027c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a0919061235d565b915091505b9250929050565b5f61021f848484610b32565b5f806102a08484610b9d565b5f6102cf8383610ca4565b9392505050565b5f805f6102e284610d69565b915091508061034e5760405162461bcd60e51b815260206004820152602d60248201527f4d6f636b4c504d6174683a2063616c63756c6174654e6574437572766554726160448201526c191954d859994819985a5b1959609a1b60648201526084015b60405180910390fd5b5092915050565b60405163594f0e8f60e11b8152600481018790526024810186905260448101859052606481018490526084810183905260a481018290525f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156103cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f0919061237f565b919b909a509098509650505050505050565b60405163685a2be760e11b815260048101869052602481018590526044810184905260648101839052608481018290525f9081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015610474573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049891906123aa565b92965090945092509050806105075760405162461bcd60e51b815260206004820152602f60248201527f4d6f636b4c504d6174683a2063616c63756c6174655570646174654c6971756960448201526e191a5d1e54d859994819985a5b1959608a1b6064820152608401610345565b50955095509592505050565b604051635f9d50ab60e11b81525f9073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061054c9085906004016123ec565b602060405180830381865af4158015610567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b91906123fb565b5f80610598858585611080565b915091505b935093915050565b5f806105b0836113d5565b91509150915091565b5f6105f06105eb836101200151670de0b6b3a76400006105d99190612426565b606085015161010086015191906114a2565b6114c5565b6106216105eb846101600151670de0b6b3a764000061060f9190612426565b606086015161014087015191906114f2565b61020b9190612439565b5f80856060015186604001516106419190612458565b602087015160608801519192505f9161065a91846114f2565b90508660a001515f0361067057915061021f9050565b5f808089600488101561068257600497505b5f5b888110156109db57610696868b61150d565b95505f6106cb8360c001518460e00151856101000151865f015160a001516106bd8c6114c5565b6106c69061246b565b611521565b865160408101929092526020820192909252919091529050806106f8575f9850505050505050505061021f565b5f6107058e5f015161162c565b925090508161071f575f995050505050505050505061021f565b61072a84828b610b32565b156107405787995050505050505050505061021f565b5f8460a0015113156108a257835180516020820151604083015160a084015160e0909401515f946107929493929161078090670de0b6b3a7640000612426565b8a5160608101516080909101516116b2565b93509050826107ad575f9a505050505050505050505061021f565b808560a00151106108a0576107c1856113d5565b9099509250826107dd575f9a505050505050505050505061021f565b6108018560c001518660e00151876101000151885f015160a001516106bd8e6114c5565b88516040810192909252602082019290925291909152925082610830575f9a505050505050505050505061021f565b845180516020820151604083015160a084015160e090940151610860949061078090670de0b6b3a7640000612426565b935090508261087b575f9a505050505050505050505061021f565b8e60a00151811161089857889a505050505050505050505061021f565b5050506109d3565b505b5f6108b2858f8760a00151611080565b935090508215806108cb5750670de0b6b3a76400008110155b156108e2575f9a505050505050505050505061021f565b80670de0b6b3a76400000390505f61090e6105eb876040015188602001516117af90919063ffffffff16565b61091b6105eb858e6117c3565b6109259190612439565b90508815806109435750610938896117d7565b610941826117d7565b105b15610952578098508997508296505b5f81131561097f5761096e8b61096883856117e8565b906117e8565b610978908b612458565b99506109ce565b5f8112156109c5575f6109978c61096885818661246b565b90508a8110156109ab57808b039a506109bf565b5f9c5050505050505050505050505061021f565b506109ce565b505050506109db565b505050505b600101610684565b505f610a018260c001518360e00151846101000151855f015160a001516106bd8b6114c5565b85516040810192909252602082019290925291909152905080610a2d575f97505050505050505061021f565b5f610a3a835f01516117fc565b90505f610a5b6105eb856040015186602001516117af90919063ffffffff16565b610a686105eb848c6117c3565b610a729190612439565b9050610a7d876117d7565b610a86826117d7565b1015610a93578795508194505b610aba610aae655af3107a4000670de0b6b3a7640000612426565b6020860151908b6114a2565b6040850151610aca9087906117e8565b1080610b0a5750610af8610aec655af3107a4000670de0b6b3a7640000612458565b6020860151908b6114f2565b6040850151610b0890879061182a565b115b15610b20575f995050505050505050505061021f565b50939c9b505050505050505050505050565b60208301515f90610b43908461182a565b6040850151610b539084906117e8565b1015801561021f57506020840151610b839084610b7c633b9aca00670de0b6b3a7640000612458565b91906114f2565b6040850151610b9390849061182a565b1115949350505050565b5f805f8460a0015112610bb8575050608082015160016102a5565b5f8460a00151610bc79061246b565b90505f610c0185876101000151885f015160e00151670de0b6b3a7640000610bef9190612426565b8951606081015160809091015161183e565b93509050821580610c10575080155b15610c22575f809350935050506102a5565b5f610c2d838361182a565b9050670de0b6b3a76400008111610c695780670de0b6b3a7640000039450610c628760c00151866117c390919063ffffffff16565b9450610c77565b5f80945094505050506102a5565b8660800151851115610c965786608001516001945094505050506102a5565b506001925050509250929050565b5f80610cca8460c001518560e00151866101000151875f015160a001516106bd886114c5565b87516040810192909252602082019290925291909152905080610cf0575f91505061020b565b5f610cfd855f015161162c565b9250905081610d10575f9250505061020b565b84602001518110610d25575f9250505061020b565b5f85606001518660400151610d3a9190612458565b9050610d55828760200151836114f29092919063ffffffff16565b610d5f9082612426565b9695505050505050565b5f805f610d8c6105eb8561016001518661014001516117c390919063ffffffff16565b610dac6105eb8661012001518761010001516117af90919063ffffffff16565b610db69190612439565b90505f80610dcb865f015187602001516118e6565b9150915080610de157505f958695509350505050565b5f831315610f28575f8390505f610e2b885f015189602001518a604001518b60a001518c60e00151670de0b6b3a7640000610e1c9190612426565b8d606001518e608001516116b2565b9350905082610e4357505f9788975095505050505050565b818110610ede575f610e7c858a60400151858c60e00151670de0b6b3a7640000610e6d9190612426565b8d606001518e6080015161191e565b9450905083158015610e9157508860c0015183105b15610ea757505f98600198509650505050505050565b83610ebc57505f988998509650505050505050565b610ec5816114c5565b610ece9061246b565b9960019950975050505050505050565b5f886020015112610f1457610efc8860a00151856105eb9190612426565b610f059061246b565b98600198509650505050505050565b60a08801518851610efc916105eb91612426565b5f831215611072575f610f3a8461246b565b90505f610f6d8489604001518a60e00151670de0b6b3a7640000610f5e9190612426565b8b606001518c6080015161183e565b9350905082610f8557505f9788975095505050505050565b818110611007575f610fbe858a60400151858c60e00151670de0b6b3a7640000610faf9190612426565b8d606001518e608001516119dd565b9450905083158015610fd357508860c0015183105b15610fe957505f98600198509650505050505050565b83610ffe57505f988998509650505050505050565b610ece816114c5565b5f611038858a604001518b60e00151670de0b6b3a76400006110299190612426565b8c606001518d60800151611aaf565b945090508361105157505f988998509650505050505050565b610ece6110688a6060015184866109689190612426565b6105eb9083612458565b505f95600195509350505050565b5f805f8084126110a25785516040015161109b908590612458565b90506110db565b5f6110ac8561246b565b8751604001519091508110156110cc5786516040015181900391506110d9565b5f8093509350505061059d565b505b855180516020909101515f9182916110f391906118e6565b915091508061110a575f809450945050505061059d565b875160e08101516040909101515f9161113e916111329161112b9190611b61565b8a906117c3565b6101008b01519061182a565b895160e081015160809091015161116f916111639161115d90886117c3565b90611b61565b8b51606001519061182a565b6111799190612458565b90505f6111af6111a361119c8c5f015160e0015188611b6190919063ffffffff16565b8b906117af565b6101008c0151906117e8565b9050808210156111c9575f8096509650505050505061059d565b80820391505f611208858c5f0151604001518d5f015160e00151670de0b6b3a76400006111f69190612426565b8e516060810151608090910151611bc6565b90505f6112308c5f015160e00151670de0b6b3a76400006112299190612426565b8890611b61565b90508082101561124c575f80985098505050505050505061059d565b8b516080810151606090910151918303916112689183916114a2565b9050670de0b6b3a764000081106112b3578b5160e001516112ac906112a59061129990670de0b6b3a7640000612426565b8e5160e001519061182a565b8290611b61565b90506112e2565b8b5160e001516112df906112a5906112d390670de0b6b3a7640000612426565b8e5160e00151906117e8565b90505b8b51606001516112f590859083906114a2565b935083670de0b6b3a764000011156113195783670de0b6b3a764000003935061132c565b5f6001985098505050505050505061059d565b5f8c60e001511261138d5760c08c015160e08d015161134a9161182a565b9250670de0b6b3a764000083111561136e575f80985098505050505050505061059d565b670de0b6b3a7640000929092039161138684846117c3565b93506113c2565b6113bf6113a68d60c001518e60e001516109689061246b565b6113b890670de0b6b3a7640000612458565b85906117c3565b93505b50919a60019a5098505050505050505050565b5f805f8360e00151136113ec57505f928392509050565b5f6113f9845f01516105b9565b90505f6114248560400151866060015187604001516114189190612458565b602088015191906114a2565b90505f8212611449578082101561143d5781900361145f565b505f9485945092505050565b6114528261246b565b61145c9082612458565b90505b60e085015160c08601516114749183906114a2565b9050808560c00151101561148e57505f9485945092505050565b808560c00151036001935093505050915091565b5f825f1904841183021582026114b6575f80fd5b50910281810615159190040190565b5f6001600160ff1b038211156114ee5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f825f190484118302158202611506575f80fd5b5091020490565b5f81831161151b57826102cf565b50919050565b5f805f80845f0361153d57508792508691508590506001611620565b5f856115488b6114c5565b6115529190612485565b905061155d876114c5565b811215611576575f805f80945094509450945050611620565b8094505f89126115955761158e6105eb868b8d6114f2565b93506115b8565b6115ac6105eb6115a48b61246b565b87908d6114a2565b6115b59061246b565b93505b5f806115c48c8c6118e6565b91509150806115e1575f805f809650965096509650505050611620565b5f6115ec88886118e6565b925090508161160a575f805f80975097509750975050505050611620565b6116158b82856114f2565b955060019450505050505b95509550955095915050565b5f805f805f61163a86610d69565b915091508061165057505f958695509350505050565b61165d8660a001516114c5565b611666876105b9565b83611673895f01516114c5565b61167d9190612485565b6116879190612485565b6116919190612439565b925050505f8112156116a857505f93849350915050565b9360019350915050565b5f805f8812156116d2576116c58861246b565b6116cf9087612458565b95505b5f806116de8b8b6118e6565b91509150806116f4575f809350935050506117a3565b5f611702838b8a8a8a611bf4565b90505f61171e6117168a61115d8a8e6117af565b8990896114a2565b905080821015611737575f8095509550505050506117a3565b808203670de0b6b3a764000081106117655761175e6112a5670de0b6b3a76400008c6117e8565b905061177d565b61177a6112a5670de0b6b3a76400008c61182a565b90505b8b811015611795575f809650965050505050506117a3565b8b9003955060019450505050505b97509795505050505050565b5f6102cf8383670de0b6b3a76400006114a2565b5f6102cf8383670de0b6b3a76400006114f2565b5f808212156114ee57815f0361020b565b5f6102cf83670de0b6b3a7640000846114f2565b5f805f6118088461162c565b915091508061034e57604051635516328b60e11b815260040160405180910390fd5b5f6102cf83670de0b6b3a7640000846114a2565b5f805f61184e8888888888611bc6565b90505f611878670de0b6b3a764000061186788886117e8565b6118719190612458565b839061182a565b9050670de0b6b3a764000081106118a55761189e6112a5670de0b6b3a76400008961182a565b90506118bd565b6118ba6112a5670de0b6b3a7640000896117e8565b90505b808810156118d2575f809350935050506118dc565b8703925060019150505b9550959350505050565b5f805f836118f3866114c5565b6118fd9190612439565b90505f811215611913575f8092509250506102a5565b946001945092505050565b5f805f61192e8989888888611bc6565b905061193e8661115d898b612458565b975087811015611954575f8092509250506119d2565b8781036119628186886114a2565b9050670de0b6b3a7640000811061198f576119886112a5670de0b6b3a76400008961182a565b90506119a7565b6119a46112a5670de0b6b3a7640000896117e8565b90505b6119b1818661182a565b9050808a10156119c8575f809350935050506119d2565b8903925060019150505b965096945050505050565b5f805f6119ed8989888888611bc6565b905086881015611a03575f8092509250506119d2565b9686900396611a128887611b61565b975087811015611a28575f8092509250506119d2565b878103611a368186886114a2565b9050670de0b6b3a76400008110611a6357611a5c6112a5670de0b6b3a76400008961182a565b9050611a7b565b611a786112a5670de0b6b3a7640000896117e8565b90505b611a85818661182a565b905089811015611a9c575f809350935050506119d2565b9890980398600198509650505050505050565b5f805f611abf8888888888611bf4565b90505f611ae9670de0b6b3a7640000611ad8888861182a565b611ae29190612458565b83906117e8565b9050670de0b6b3a76400008110611b1657611b0f6112a5670de0b6b3a7640000896117e8565b9050611b2e565b611b2b6112a5670de0b6b3a76400008961182a565b90505b611b3881866117e8565b905088811015611b4f575f809350935050506118dc565b97909703976001975095505050505050565b5f815f03611b785750670de0b6b3a764000061020b565b825f03611b8657505f61020b565b5f611b90836114c5565b90505f611ba4611b9f866114c5565b611c18565b9050818102611bbb670de0b6b3a7640000826124ac565b9050610d5f81611e46565b5f611bd18585611b61565b611bea611be28661115d868b6117af565b8590856114a2565b610d5f9190612458565b5f611bff8585611b61565b611bea611c108661115d868b6117c3565b8590856114f2565b5f808213611c395760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190611cc59084901c6114c5565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213611e5f57505f919050565b680755bf798b4a1bf1e58212611e88576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190610d5f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114c5565b604051610180810167ffffffffffffffff8111828210171561200857634e487b7160e01b5f52604160045260245ffd5b60405290565b604051610120810167ffffffffffffffff8111828210171561200857634e487b7160e01b5f52604160045260245ffd5b5f610180828403121561204f575f80fd5b612057611fd8565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f61018082840312156120ea575f80fd5b6102cf838361203e565b5f6102808284031215612105575f80fd5b61210d61200e565b9050612119838361203e565b815261018082013560208201526101a082013560408201526101c082013560608201526101e0820135608082015261020082013560a082015261022082013560c082015261024082013560e082015261026082013561010082015292915050565b5f805f6102c0848603121561218d575f80fd5b61219785856120f4565b9561028085013595506102a0909401359392505050565b5f806102a083850312156121c0575f80fd5b6121ca84846120f4565b94610280939093013593505050565b5f805f805f8060c087890312156121ee575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f60a0868803121561222c575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f6102808284031215612260575f80fd5b6102cf83836120f4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506122fb82855161226a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561236e575f80fd5b505080516020909101519092909150565b5f805f60608486031215612391575f80fd5b8351925060208401519150604084015190509250925092565b5f805f80608085870312156123bd575f80fd5b845193506020850151925060408501519150606085015180151581146123e1575f80fd5b939692955090935050565b610180810161020b828461226a565b5f6020828403121561240b575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561020b5761020b612412565b8181035f83128015838313168383128216171561034e5761034e612412565b8082018082111561020b5761020b612412565b5f600160ff1b820161247f5761247f612412565b505f0390565b8082018281125f8312801582168215821617156124a4576124a4612412565b505092915050565b5f826124c657634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156124df576124df612412565b50059056fea2646970667358221220c1489ea17c5fc61a3b455bb2f0d398358386a0beec6f70da990abbdd8dc3c07e64736f6c63430008160033', - methodIdentifiers: { - "calculateDistributeExcessIdle(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "865d65a2", - "calculateDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "3f9ccc01", - "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256))": "cefef8b7", - "calculateDistributeExcessIdleWithdrawalSharesRedeemed(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "a0d1643c", - "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e", - "calculateMaxShareReservesDeltaSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "9e5fc16b", - "calculateNetCurveTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "a4fc6f81", - "calculateNetFlatTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "32c5dec4", - "calculatePresentValue((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "c00b11d3", - "calculateSharesDeltaGivenBondsDeltaDerivativeSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,int256)": "c615b2d9", - "calculateUpdateLiquidity(uint256,int256,uint256,uint256,int256)": "b500f3cb", - "shouldShortCircuitDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "8f1505fa" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockLido.d.ts b/packages/hyperdrive-artifacts/dist/MockLido.d.ts deleted file mode 100644 index e22e445b2..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLido.d.ts +++ /dev/null @@ -1,895 +0,0 @@ -export declare const MockLido: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_initialRate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_isCompetitionMode"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBufferedEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getPooledEthByShares"; - readonly inputs: readonly [{ - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSharesByPooledEth"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCompetitionMode"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isUnrestricted"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMintAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMaxMintAmount"; - readonly inputs: readonly [{ - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRate"; - readonly inputs: readonly [{ - readonly name: "_rate_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUnrestrictedMintStatus"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sharesOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "submit"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferShares"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferSharesFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferShares"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "sharesValue"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ERC20InsufficientAllowance"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "allowance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "needed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "balance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "needed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidApprover"; - readonly inputs: readonly [{ - readonly name: "approver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidReceiver"; - readonly inputs: readonly [{ - readonly name: "receiver"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidSender"; - readonly inputs: readonly [{ - readonly name: "sender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ERC20InvalidSpender"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "authority()": "bf7e214f"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "burn(uint256)": "42966c68"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "decimals()": "313ce567"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "getBufferedEther()": "47b714e0"; - readonly "getPooledEthByShares(uint256)": "7a28fb88"; - readonly "getRate()": "679aefce"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getSharesByPooledEth(uint256)": "19208451"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getTotalPooledEther()": "37cfdaca"; - readonly "getTotalShares()": "d5002f2e"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "isCompetitionMode()": "7a8c63b5"; - readonly "isUnrestricted(address)": "aed30777"; - readonly "maxMintAmount()": "239c70ae"; - readonly "mint(address,uint256)": "40c10f19"; - readonly "mint(uint256)": "a0712d68"; - readonly "name()": "06fdde03"; - readonly "owner()": "8da5cb5b"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setMaxMintAmount(uint256)": "088a4ed0"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRate(uint256)": "34fcf437"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUnrestrictedMintStatus(address,bool)": "05f05a94"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "sharesOf(address)": "f5eb42dc"; - readonly "submit(address)": "a1903eab"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOwnership(address)": "f2fde38b"; - readonly "transferShares(address,uint256)": "8fcb4e5b"; - readonly "transferSharesFrom(address,address,uint256)": "6d780459"; - }; -}; -//# sourceMappingURL=MockLido.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockLido.d.ts.map b/packages/hyperdrive-artifacts/dist/MockLido.d.ts.map deleted file mode 100644 index f2bab5b4b..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLido.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockLido.d.ts","sourceRoot":"","sources":["../src/MockLido.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmlCqjhB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CtlhB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockLido.js b/packages/hyperdrive-artifacts/dist/MockLido.js deleted file mode 100644 index a89b18cd1..000000000 --- a/packages/hyperdrive-artifacts/dist/MockLido.js +++ /dev/null @@ -1,1155 +0,0 @@ -export const MockLido = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_initialRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - }, - { - "name": "_isCompetitionMode", - "type": "bool", - "internalType": "bool" - }, - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBufferedEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPooledEthByShares", - "inputs": [ - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSharesByPooledEth", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCompetitionMode", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isUnrestricted", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMintAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxMintAmount", - "inputs": [ - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRate", - "inputs": [ - { - "name": "_rate_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUnrestrictedMintStatus", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sharesOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "submit", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferShares", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferSharesFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferShares", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sharesValue", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ERC20InsufficientAllowance", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "allowance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "needed", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC20InsufficientBalance", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - }, - { - "name": "balance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "needed", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidApprover", - "inputs": [ - { - "name": "approver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidReceiver", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSender", - "inputs": [ - { - "name": "sender", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSpender", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x60a060405234801562000010575f80fd5b506040516200211b3803806200211b833981016040819052620000339162000159565b604080518082018252601781527f4c6971756964207374616b656420457468657220322e300000000000000000006020808301919091528251808401845260058152640e6e88aa8960db1b918101919091525f80546001600160a01b03199081166001600160a01b038916908117835560018054309316831790559451939492938893919284928492909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505081600990816200012e919062000250565b50600a6200013d828262000250565b505050600d9390935542600e55151560805250600b556200031c565b5f805f80608085870312156200016d575f80fd5b845160208601519094506001600160a01b03811681146200018c575f80fd5b60408601519093508015158114620001a2575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001db57607f821691505b602082108103620001fa57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200024b57805f5260205f20601f840160051c81016020851015620002275750805b601f840160051c820191505b8181101562000248575f815560010162000233565b50505b505050565b81516001600160401b038111156200026c576200026c620001b2565b62000284816200027d8454620001c6565b8462000200565b602080601f831160018114620002ba575f8415620002a25750858301515b5f19600386901b1c1916600185901b17855562000314565b5f85815260208120601f198616915b82811015620002ea57888601518255948401946001909101908401620002c9565b50858210156200030857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b608051611db5620003665f395f81816105620152818161086e0152818161098801528181610b7701528181610bf601528181610c5b015281816110e401526111450152611db55ff3fe60806040526004361061025f575f3560e01c8063728b952b1161013f578063aed30777116100b3578063dd62ed3e11610078578063dd62ed3e14610730578063e688747b14610774578063ea7ca276146107b5578063ed0d0efb146107f7578063f2fde38b14610822578063f5eb42dc14610841575f80fd5b8063aed307771461067c578063b7009613146106aa578063bf7e214f146106c9578063c53a3985146106e8578063d5002f2e1461071c575f80fd5b80638fcb4e5b116101045780638fcb4e5b146105d957806395d89b41146105f85780639dc29fac1461060c578063a0712d681461062b578063a1903eab1461064a578063a9059cbb1461065d575f80fd5b8063728b952b146105135780637a28fb88146105325780637a8c63b5146105515780637a9e5e4b146105845780638da5cb5b146105a3575f80fd5b8063313ce567116101d657806347b714e01161019b57806347b714e0146104715780634b5159da14610483578063679aefce146104a257806367aff484146104b65780636d780459146104d557806370a08231146104f4575f80fd5b8063313ce567146103e557806334fcf4371461040057806337cfdaca1461041f57806340c10f191461043357806342966c6814610452575f80fd5b80630bade8a4116102275780630bade8a4146103315780630ea9b75b1461035f57806318160ddd1461037e5780631920845114610392578063239c70ae146103b157806323b872dd146103c6575f80fd5b806305f05a941461026357806306a36aee1461028457806306fdde03146102c2578063088a4ed0146102e3578063095ea7b314610302575b5f80fd5b34801561026e575f80fd5b5061028261027d366004611972565b61086c565b005b34801561028f575f80fd5b506102af61029e3660046119a9565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b3480156102cd575f80fd5b506102d66108f6565b6040516102b991906119c4565b3480156102ee575f80fd5b506102826102fd366004611a10565b610986565b34801561030d575f80fd5b5061032161031c366004611a27565b6109e2565b60405190151581526020016102b9565b34801561033c575f80fd5b5061032161034b366004611a6d565b60046020525f908152604090205460ff1681565b34801561036a575f80fd5b50610282610379366004611a96565b6109fb565b348015610389575f80fd5b506008546102af565b34801561039d575f80fd5b506102af6103ac366004611a10565b610ad0565b3480156103bc575f80fd5b506102af600b5481565b3480156103d1575f80fd5b506103216103e0366004611ada565b610aed565b3480156103f0575f80fd5b50604051601281526020016102b9565b34801561040b575f80fd5b5061028261041a366004611a10565b610b75565b34801561042a575f80fd5b506102af610bd9565b34801561043e575f80fd5b5061028261044d366004611a27565b610bf4565b34801561045d575f80fd5b5061028261046c366004611a10565b610c59565b34801561047c575f80fd5b505f6102af565b34801561048e575f80fd5b5061028261049d366004611b18565b610cbd565b3480156104ad575f80fd5b50600d546102af565b3480156104c1575f80fd5b506102826104d0366004611b32565b610d4d565b3480156104e0575f80fd5b506102af6104ef366004611ada565b610e12565b3480156104ff575f80fd5b506102af61050e3660046119a9565b610ea5565b34801561051e575f80fd5b5061028261052d366004611b5d565b610ec6565b34801561053d575f80fd5b506102af61054c366004611a10565b610f4d565b34801561055c575f80fd5b506103217f000000000000000000000000000000000000000000000000000000000000000081565b34801561058f575f80fd5b5061028261059e3660046119a9565b610f61565b3480156105ae575f80fd5b505f546105c1906001600160a01b031681565b6040516001600160a01b0390911681526020016102b9565b3480156105e4575f80fd5b506102af6105f3366004611a27565b611045565b348015610603575f80fd5b506102d66110d3565b348015610617575f80fd5b50610282610626366004611a27565b6110e2565b348015610636575f80fd5b50610282610645366004611a10565b611143565b6102af6106583660046119a9565b6111a4565b348015610668575f80fd5b50610321610677366004611a27565b611262565b348015610687575f80fd5b506103216106963660046119a9565b600c6020525f908152604090205460ff1681565b3480156106b5575f80fd5b506103216106c4366004611b89565b6112e6565b3480156106d4575f80fd5b506001546105c1906001600160a01b031681565b3480156106f3575f80fd5b506105c16107023660046119a9565b60026020525f90815260409020546001600160a01b031681565b348015610727575f80fd5b506010546102af565b34801561073b575f80fd5b506102af61074a366004611b5d565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b34801561077f575f80fd5b5061032161078e366004611bcd565b6001600160e01b0319165f9081526005602052604090205460ff919091161c600116151590565b3480156107c0575f80fd5b506103216107cf366004611bfe565b6001600160a01b03919091165f90815260036020526040902054600160ff9092161c16151590565b348015610802575f80fd5b506102af610811366004611a6d565b60056020525f908152604090205481565b34801561082d575f80fd5b5061028261083c3660046119a9565b6113df565b34801561084c575f80fd5b506102af61085b3660046119a9565b60116020525f908152604090205481565b7f0000000000000000000000000000000000000000000000000000000000000000156108cc576108a7335f356001600160e01b03191661145a565b6108cc5760405162461bcd60e51b81526004016108c390611c28565b60405180910390fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b60606009805461090590611c5f565b80601f016020809104026020016040519081016040528092919081815260200182805461093190611c5f565b801561097c5780601f106109535761010080835404028352916020019161097c565b820191905f5260205f20905b81548152906001019060200180831161095f57829003601f168201915b5050505050905090565b7f0000000000000000000000000000000000000000000000000000000000000000156109dd576109c1335f356001600160e01b03191661145a565b6109dd5760405162461bcd60e51b81526004016108c390611c28565b600b55565b5f336109ef818585611500565b60019150505b92915050565b610a10335f356001600160e01b03191661145a565b610a2c5760405162461bcd60e51b81526004016108c390611c97565b8015610a5b576001600160e01b031982165f9081526005602052604090208054600160ff86161b179055610a81565b6001600160e01b031982165f9081526005602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610ac3911515815260200190565b60405180910390a3505050565b5f6109f5610add60105490565b610ae5610bd9565b849190611512565b5f610af661152d565b5f610b0083610ad0565b9050610b0d85858361155c565b506040518381526001600160a01b0385169033905f80516020611d608339815191529060200160405180910390a36040518181526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610bcc57610bb0335f356001600160e01b03191661145a565b610bcc5760405162461bcd60e51b81526004016108c390611c28565b610bd461152d565b600d55565b5f610be26115d5565b600f54610bef9190611cd1565b905090565b7f000000000000000000000000000000000000000000000000000000000000000015610c4b57610c2f335f356001600160e01b03191661145a565b610c4b5760405162461bcd60e51b81526004016108c390611c28565b610c558282611634565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610cb057610c94335f356001600160e01b03191661145a565b610cb05760405162461bcd60e51b81526004016108c390611c28565b610cba3382611720565b50565b610cd2335f356001600160e01b03191661145a565b610cee5760405162461bcd60e51b81526004016108c390611c97565b6001600160e01b031982165f81815260046020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610d62335f356001600160e01b03191661145a565b610d7e5760405162461bcd60e51b81526004016108c390611c97565b8015610dac576001600160a01b0383165f9081526003602052604090208054600160ff85161b179055610dd1565b6001600160a01b0383165f9081526003602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610ac3911515815260200190565b5f610e1b61152d565b5f610e2785858561155c565b9050836001600160a01b0316856001600160a01b03165f80516020611d6083398151915283604051610e5b91815260200190565b60405180910390a3836001600160a01b0316856001600160a01b03165f80516020611d4083398151915285604051610e9591815260200190565b60405180910390a3949350505050565b6001600160a01b0381165f908152601160205260408120546109f590610f4d565b610edb335f356001600160e01b03191661145a565b610ef75760405162461bcd60e51b81526004016108c390611c97565b6001600160a01b038281165f8181526002602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f6109f5610f59610bd9565b601054610ae5565b5f546001600160a01b0316331480610ff2575060015460405163b700961360e01b81526001600160a01b039091169063b700961390610fb390339030906001600160e01b03195f351690600401611ce4565b602060405180830381865afa158015610fce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff29190611d11565b610ffa575f80fd5b600180546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f61104e61152d565b5f6110598484611786565b9050836001600160a01b0316336001600160a01b03165f80516020611d608339815191528360405161108d91815260200190565b60405180910390a36040518381526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a36110cb83610f4d565b949350505050565b6060600a805461090590611c5f565b7f0000000000000000000000000000000000000000000000000000000000000000156111395761111d335f356001600160e01b03191661145a565b6111395760405162461bcd60e51b81526004016108c390611c28565b610c558282611720565b7f00000000000000000000000000000000000000000000000000000000000000001561119a5761117e335f356001600160e01b03191661145a565b61119a5760405162461bcd60e51b81526004016108c390611c28565b610cba3382611634565b5f6111ad61152d565b6010545f036111eb57346010819055600f819055335f90815260116020526040812080549091906111df908490611cd1565b90915550349392505050565b5f6112086111f860105490565b611200610bd9565b349190611512565b905034600f5f82825461121b9190611cd1565b925050819055508060105f8282546112339190611cd1565b9091555050335f9081526011602052604081208054839290611256908490611cd1565b90915550909392505050565b5f61126b61152d565b5f61127583610ad0565b90506112818482611786565b506040518381526001600160a01b0385169033905f80516020611d608339815191529060200160405180910390a36040518181526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a35060019392505050565b6001600160a01b038083165f90815260026020526040812054909116801561137f5760405163b700961360e01b81526001600160a01b0382169063b70096139061133890889088908890600401611ce4565b602060405180830381865afa158015611353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113779190611d11565b915050610b6e565b6001600160e01b031983165f9081526004602052604090205460ff16806113d657506001600160e01b031983165f908152600560209081526040808320546001600160a01b03891684526003909252909120541615155b95945050505050565b6113f4335f356001600160e01b03191661145a565b6114105760405162461bcd60e51b81526004016108c390611c97565b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001545f906001600160a01b031680158015906114e1575060405163b700961360e01b81526001600160a01b0382169063b7009613906114a290879030908890600401611ce4565b602060405180830381865afa1580156114bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e19190611d11565b806110cb57505f546001600160a01b0385811691161491505092915050565b61150d83838360016117e1565b505050565b5f825f190484118302158202611526575f80fd5b5091020490565b5f6115366115d5565b905080156115555780600f5f82825461154f9190611cd1565b90915550505b5042600e55565b5f8061156783610f4d565b90506115748533836118b4565b6001600160a01b0385165f908152601160205260408120805485929061159b908490611d2c565b90915550506001600160a01b0384165f90815260116020526040812080548592906115c7908490611cd1565b909155509095945050505050565b5f600d545f036115e457505f90565b600e544210156115f357505f90565b5f6116106301e13380600e544261160a9190611d2c565b90611929565b90505f610b6e61162b83600d5461193d90919063ffffffff16565b600f549061193d565b335f908152600c602052604090205460ff1661169c57600b5481111561169c5760405162461bcd60e51b815260206004820152601d60248201527f4d6f636b4c69646f3a20496e76616c6964206d696e7420616d6f756e7400000060448201526064016108c3565b5f6116a660105490565b5f036116b35750806116bf565b6116bc82610ad0565b90505b6001600160a01b0383165f90815260116020526040812080548392906116e6908490611cd1565b9250508190555081600f5f8282546116fe9190611cd1565b925050819055508060105f8282546117169190611cd1565b9091555050505050565b5f61172a82610ad0565b6001600160a01b0384165f90815260116020526040812080549293508392909190611756908490611d2c565b9250508190555081600f5f82825461176e9190611d2c565b925050819055508060105f8282546117169190611d2c565b335f908152601160205260408120805483919083906117a6908490611d2c565b90915550506001600160a01b0383165f90815260116020526040812080548492906117d2908490611cd1565b90915550610b6e905082610f4d565b6001600160a01b03841661180a5760405163e602df0560e01b81525f60048201526024016108c3565b6001600160a01b03831661183357604051634a1406b160e11b81525f60048201526024016108c3565b6001600160a01b038085165f90815260076020908152604080832093871683529290522082905580156118ae57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516118a591815260200190565b60405180910390a35b50505050565b6001600160a01b038381165f908152600760209081526040808320938616835292905220545f1981146118ae578181101561191b57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016108c3565b6118ae84848484035f6117e1565b5f610b6e83670de0b6b3a764000084611512565b5f610b6e8383670de0b6b3a7640000611512565b6001600160a01b0381168114610cba575f80fd5b8015158114610cba575f80fd5b5f8060408385031215611983575f80fd5b823561198e81611951565b9150602083013561199e81611965565b809150509250929050565b5f602082840312156119b9575f80fd5b8135610b6e81611951565b5f602080835283518060208501525f5b818110156119f0578581018301518582016040015282016119d4565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611a20575f80fd5b5035919050565b5f8060408385031215611a38575f80fd5b8235611a4381611951565b946020939093013593505050565b80356001600160e01b031981168114611a68575f80fd5b919050565b5f60208284031215611a7d575f80fd5b610b6e82611a51565b803560ff81168114611a68575f80fd5b5f805f60608486031215611aa8575f80fd5b611ab184611a86565b9250611abf60208501611a51565b91506040840135611acf81611965565b809150509250925092565b5f805f60608486031215611aec575f80fd5b8335611af781611951565b92506020840135611b0781611951565b929592945050506040919091013590565b5f8060408385031215611b29575f80fd5b61198e83611a51565b5f805f60608486031215611b44575f80fd5b8335611b4f81611951565b9250611abf60208501611a86565b5f8060408385031215611b6e575f80fd5b8235611b7981611951565b9150602083013561199e81611951565b5f805f60608486031215611b9b575f80fd5b8335611ba681611951565b92506020840135611bb681611951565b9150611bc460408501611a51565b90509250925092565b5f8060408385031215611bde575f80fd5b611be783611a86565b9150611bf560208401611a51565b90509250929050565b5f8060408385031215611c0f575f80fd5b8235611c1a81611951565b9150611bf560208401611a86565b60208082526018908201527f4d6f636b4c69646f3a206e6f7420617574686f72697a65640000000000000000604082015260600190565b600181811c90821680611c7357607f821691505b602082108103611c9157634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156109f5576109f5611cbd565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611d21575f80fd5b8151610b6e81611965565b818103818111156109f5576109f5611cbd56fe9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcbddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c64c96e3308b8e17d92ad04d2f2a29ffc25a8efc4027bf469d829c7c609dd6d364736f6c63430008160033', - methodIdentifiers: { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "authority()": "bf7e214f", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "burn(uint256)": "42966c68", - "canCall(address,address,bytes4)": "b7009613", - "decimals()": "313ce567", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "getBufferedEther()": "47b714e0", - "getPooledEthByShares(uint256)": "7a28fb88", - "getRate()": "679aefce", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getSharesByPooledEth(uint256)": "19208451", - "getTargetCustomAuthority(address)": "c53a3985", - "getTotalPooledEther()": "37cfdaca", - "getTotalShares()": "d5002f2e", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "isCompetitionMode()": "7a8c63b5", - "isUnrestricted(address)": "aed30777", - "maxMintAmount()": "239c70ae", - "mint(address,uint256)": "40c10f19", - "mint(uint256)": "a0712d68", - "name()": "06fdde03", - "owner()": "8da5cb5b", - "setAuthority(address)": "7a9e5e4b", - "setMaxMintAmount(uint256)": "088a4ed0", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRate(uint256)": "34fcf437", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUnrestrictedMintStatus(address,bool)": "05f05a94", - "setUserRole(address,uint8,bool)": "67aff484", - "sharesOf(address)": "f5eb42dc", - "submit(address)": "a1903eab", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b", - "transferShares(address,uint256)": "8fcb4e5b", - "transferSharesFrom(address,address,uint256)": "6d780459" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts b/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts deleted file mode 100644 index 43acd6972..000000000 --- a/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts +++ /dev/null @@ -1,846 +0,0 @@ -export declare const MockRocketPool: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_initialRate"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_admin"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_isCompetitionMode"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "DOMAIN_SEPARATOR"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "allowance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "approve"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "burn"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEthValue"; - readonly inputs: readonly [{ - readonly name: "_rethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRate"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRethValue"; - readonly inputs: readonly [{ - readonly name: "_ethAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalPooledEther"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTotalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCompetitionMode"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isUnrestricted"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "maxMintAmount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mint"; - readonly inputs: readonly [{ - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permit"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setMaxMintAmount"; - readonly inputs: readonly [{ - readonly name: "_maxMintAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRate"; - readonly inputs: readonly [{ - readonly name: "_rate_"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUnrestrictedMintStatus"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "submit"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transfer"; - readonly inputs: readonly [{ - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferShares"; - readonly inputs: readonly [{ - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferSharesFrom"; - readonly inputs: readonly [{ - readonly name: "_sender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_sharesAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Transfer"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DOMAIN_SEPARATOR()": "3644e515"; - readonly "allowance(address,address)": "dd62ed3e"; - readonly "approve(address,uint256)": "095ea7b3"; - readonly "authority()": "bf7e214f"; - readonly "balanceOf(address)": "70a08231"; - readonly "burn(address,uint256)": "9dc29fac"; - readonly "burn(uint256)": "42966c68"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "decimals()": "313ce567"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "getEthValue(uint256)": "8b32fa23"; - readonly "getRate()": "679aefce"; - readonly "getRethValue(uint256)": "4346f03e"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getTotalPooledEther()": "37cfdaca"; - readonly "getTotalShares()": "d5002f2e"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "isCompetitionMode()": "7a8c63b5"; - readonly "isUnrestricted(address)": "aed30777"; - readonly "maxMintAmount()": "239c70ae"; - readonly "mint(address,uint256)": "40c10f19"; - readonly "mint(uint256)": "a0712d68"; - readonly "name()": "06fdde03"; - readonly "nonces(address)": "7ecebe00"; - readonly "owner()": "8da5cb5b"; - readonly "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setMaxMintAmount(uint256)": "088a4ed0"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRate(uint256)": "34fcf437"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUnrestrictedMintStatus(address,bool)": "05f05a94"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "submit(address)": "a1903eab"; - readonly "symbol()": "95d89b41"; - readonly "totalSupply()": "18160ddd"; - readonly "transfer(address,uint256)": "a9059cbb"; - readonly "transferFrom(address,address,uint256)": "23b872dd"; - readonly "transferOwnership(address)": "f2fde38b"; - readonly "transferShares(address,uint256)": "8fcb4e5b"; - readonly "transferSharesFrom(address,address,uint256)": "6d780459"; - }; -}; -//# sourceMappingURL=MockRocketPool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts.map b/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts.map deleted file mode 100644 index 209172056..000000000 --- a/packages/hyperdrive-artifacts/dist/MockRocketPool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockRocketPool.d.ts","sourceRoot":"","sources":["../src/MockRocketPool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+gCijkB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDxlkB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockRocketPool.js b/packages/hyperdrive-artifacts/dist/MockRocketPool.js deleted file mode 100644 index 8ac91990c..000000000 --- a/packages/hyperdrive-artifacts/dist/MockRocketPool.js +++ /dev/null @@ -1,1088 +0,0 @@ -export const MockRocketPool = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_initialRate", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_admin", - "type": "address", - "internalType": "address" - }, - { - "name": "_isCompetitionMode", - "type": "bool", - "internalType": "bool" - }, - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "burn", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEthValue", - "inputs": [ - { - "name": "_rethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRethValue", - "inputs": [ - { - "name": "_ethAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalPooledEther", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCompetitionMode", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isUnrestricted", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxMintAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mint", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permit", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxMintAmount", - "inputs": [ - { - "name": "_maxMintAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRate", - "inputs": [ - { - "name": "_rate_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUnrestrictedMintStatus", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "address" - }, - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "submit", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferShares", - "inputs": [ - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferSharesFrom", - "inputs": [ - { - "name": "_sender", - "type": "address", - "internalType": "address" - }, - { - "name": "_recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "_sharesAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - } - ], - bytecode: '0x61010060405234801562000011575f80fd5b506040516200241c3803806200241c83398101604081905262000034916200020d565b6040518060400160405280600e81526020016d0a4dec6d6cae8a0deded8408aa8960931b815250604051806040016040528060048152602001630a48aa8960e31b815250601285858582308181898989825f908162000094919062000304565b506001620000a3838262000304565b5060ff81166080524660a052620000b962000173565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55505050600e94909455505042600f55506200044a9050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001a59190620003d0565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f805f806080858703121562000221575f80fd5b845160208601519094506001600160a01b038116811462000240575f80fd5b6040860151909350801515811462000256575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200028f57607f821691505b602082108103620002ae57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002ff57805f5260205f20601f840160051c81016020851015620002db5750805b601f840160051c820191505b81811015620002fc575f8155600101620002e7565b50505b505050565b81516001600160401b0381111562000320576200032062000266565b62000338816200033184546200027a565b84620002b4565b602080601f8311600181146200036e575f8415620003565750858301515b5f19600386901b1c1916600185901b178555620003c8565b5f85815260208120601f198616915b828110156200039e578886015182559484019460019091019084016200037d565b5085821015620003bc57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620003df816200027a565b60018281168015620003fa576001811462000410576200043e565b60ff19841687528215158302870194506200043e565b875f526020805f205f5b85811015620004355781548a8201529084019082016200041a565b50505082870194505b50929695505050505050565b60805160a05160c05160e051611f6d620004af5f395f8181610587015281816108c4015281816109d901528181610c5201528181610d2601528181610dc30152818161118501526111e601525f610cec01525f610cb701525f6103e30152611f6d5ff3fe60806040526004361061026a575f3560e01c8063728b952b1161014a578063a9059cbb116100be578063d505accf11610078578063d505accf146107a0578063dd62ed3e146107bf578063e688747b146107f5578063ea7ca27614610836578063ed0d0efb14610878578063f2fde38b146108a3575f80fd5b8063a9059cbb146106cd578063aed30777146106ec578063b70096131461071a578063bf7e214f14610739578063c53a398514610758578063d5002f2e1461078c575f80fd5b80638da5cb5b1161010f5780638da5cb5b146106125780638fcb4e5b1461064957806395d89b41146106685780639dc29fac1461067c578063a0712d681461069b578063a1903eab146106ba575f80fd5b8063728b952b146105575780637a8c63b5146105765780637a9e5e4b146105a95780637ecebe00146105c85780638b32fa23146105f3575f80fd5b806334fcf437116101e15780634346f03e116101a65780634346f03e1461049c5780634b5159da146104bb578063679aefce146104da57806367aff484146104ee5780636d7804591461050d57806370a082311461052c575f80fd5b806334fcf437146104175780633644e5151461043657806337cfdaca1461044a57806340c10f191461045e57806342966c681461047d575f80fd5b80630bade8a4116102325780630bade8a41461033c5780630ea9b75b1461036a57806318160ddd14610389578063239c70ae1461039e57806323b872dd146103b3578063313ce567146103d2575f80fd5b806305f05a941461026e57806306a36aee1461028f57806306fdde03146102cd578063088a4ed0146102ee578063095ea7b31461030d575b5f80fd5b348015610279575f80fd5b5061028d610288366004611a01565b6108c2565b005b34801561029a575f80fd5b506102ba6102a9366004611a38565b60096020525f908152604090205481565b6040519081526020015b60405180910390f35b3480156102d8575f80fd5b506102e161094c565b6040516102c49190611a53565b3480156102f9575f80fd5b5061028d610308366004611a9f565b6109d7565b348015610318575f80fd5b5061032c610327366004611ab6565b610a33565b60405190151581526020016102c4565b348015610347575f80fd5b5061032c610356366004611afc565b600a6020525f908152604090205460ff1681565b348015610375575f80fd5b5061028d610384366004611b25565b610a9f565b348015610394575f80fd5b506102ba60025481565b3480156103a9575f80fd5b506102ba600c5481565b3480156103be575f80fd5b5061032c6103cd366004611b69565b610b74565b3480156103dd575f80fd5b506104057f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102c4565b348015610422575f80fd5b5061028d610431366004611a9f565b610c50565b348015610441575f80fd5b506102ba610cb4565b348015610455575f80fd5b506102ba610d0e565b348015610469575f80fd5b5061028d610478366004611ab6565b610d24565b348015610488575f80fd5b5061028d610497366004611a9f565b610dc1565b3480156104a7575f80fd5b506102ba6104b6366004611a9f565b610e25565b3480156104c6575f80fd5b5061028d6104d5366004611ba7565b610e42565b3480156104e5575f80fd5b50600e546102ba565b3480156104f9575f80fd5b5061028d610508366004611bc1565b610ed2565b348015610518575f80fd5b506102ba610527366004611b69565b610f97565b348015610537575f80fd5b506102ba610546366004611a38565b60036020525f908152604090205481565b348015610562575f80fd5b5061028d610571366004611bec565b610fcd565b348015610581575f80fd5b5061032c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b4575f80fd5b5061028d6105c3366004611a38565b611054565b3480156105d3575f80fd5b506102ba6105e2366004611a38565b60056020525f908152604090205481565b3480156105fe575f80fd5b506102ba61060d366004611a9f565b611139565b34801561061d575f80fd5b50600654610631906001600160a01b031681565b6040516001600160a01b0390911681526020016102c4565b348015610654575f80fd5b506102ba610663366004611ab6565b61114d565b348015610673575f80fd5b506102e1611176565b348015610687575f80fd5b5061028d610696366004611ab6565b611183565b3480156106a6575f80fd5b5061028d6106b5366004611a9f565b6111e4565b6102ba6106c8366004611a38565b61127d565b3480156106d8575f80fd5b5061032c6106e7366004611ab6565b611304565b3480156106f7575f80fd5b5061032c610706366004611a38565b600d6020525f908152604090205460ff1681565b348015610725575f80fd5b5061032c610734366004611c18565b611367565b348015610744575f80fd5b50600754610631906001600160a01b031681565b348015610763575f80fd5b50610631610772366004611a38565b60086020525f90815260409020546001600160a01b031681565b348015610797575f80fd5b506011546102ba565b3480156107ab575f80fd5b5061028d6107ba366004611c5c565b611460565b3480156107ca575f80fd5b506102ba6107d9366004611bec565b600460209081525f928352604080842090915290825290205481565b348015610800575f80fd5b5061032c61080f366004611cc5565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b348015610841575f80fd5b5061032c610850366004611cf6565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b348015610883575f80fd5b506102ba610892366004611afc565b600b6020525f908152604090205481565b3480156108ae575f80fd5b5061028d6108bd366004611a38565b61169e565b7f000000000000000000000000000000000000000000000000000000000000000015610922576108fd335f356001600160e01b03191661171a565b6109225760405162461bcd60e51b815260040161091990611d20565b60405180910390fd5b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f805461095890611d57565b80601f016020809104026020016040519081016040528092919081815260200182805461098490611d57565b80156109cf5780601f106109a6576101008083540402835291602001916109cf565b820191905f5260205f20905b8154815290600101906020018083116109b257829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000015610a2e57610a12335f356001600160e01b03191661171a565b610a2e5760405162461bcd60e51b815260040161091990611d20565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a8d9086815260200190565b60405180910390a35060015b92915050565b610ab4335f356001600160e01b03191661171a565b610ad05760405162461bcd60e51b815260040161091990611d8f565b8015610aff576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610b25565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610b67911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610bcd57610ba98382611dc9565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610bf4908490611dc9565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f80516020611f1883398151915290610c3b9087815260200190565b60405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610ca757610c8b335f356001600160e01b03191661171a565b610ca75760405162461bcd60e51b815260040161091990611d20565b610caf6117c1565b600e55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610ce957610ce46117f0565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f610d17611888565b601054610ce49190611ddc565b7f000000000000000000000000000000000000000000000000000000000000000015610d7b57610d5f335f356001600160e01b03191661171a565b610d7b5760405162461bcd60e51b815260040161091990611d20565b335f908152600d602052604090205460ff16610db357600c54811115610db35760405162461bcd60e51b815260040161091990611def565b610dbd82826118e7565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610e1857610dfc335f356001600160e01b03191661171a565b610e185760405162461bcd60e51b815260040161091990611d20565b610e22338261193e565b50565b5f610a99610e3260115490565b610e3a610d0e565b84919061199d565b610e57335f356001600160e01b03191661171a565b610e735760405162461bcd60e51b815260040161091990611d8f565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610ee7335f356001600160e01b03191661171a565b610f035760405162461bcd60e51b815260040161091990611d8f565b8015610f31576001600160a01b0383165f9081526009602052604090208054600160ff85161b179055610f56565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610b67911515815260200190565b5f610fa06117c1565b5f610fb7610fac610d0e565b60115485919061199d565b9050610fc4858583610b74565b50949350505050565b610fe2335f356001600160e01b03191661171a565b610ffe5760405162461bcd60e51b815260040161091990611d8f565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b03163314806110e6575060075460405163b700961360e01b81526001600160a01b039091169063b7009613906110a790339030906001600160e01b03195f351690600401611e31565b602060405180830381865afa1580156110c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e69190611e5e565b6110ee575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f610a99611145610d0e565b601154610e3a565b5f6111566117c1565b5f611162610fac610d0e565b905061116e8482611304565b509392505050565b6001805461095890611d57565b7f0000000000000000000000000000000000000000000000000000000000000000156111da576111be335f356001600160e01b03191661171a565b6111da5760405162461bcd60e51b815260040161091990611d20565b610dbd828261193e565b7f00000000000000000000000000000000000000000000000000000000000000001561123b5761121f335f356001600160e01b03191661171a565b61123b5760405162461bcd60e51b815260040161091990611d20565b335f908152600d602052604090205460ff1661127357600c548111156112735760405162461bcd60e51b815260040161091990611def565b610e2233826118e7565b5f6112866117c1565b6011545f036112ac5734601181905560108190556112a59033906118e7565b5034919050565b5f6112c96112b960115490565b6112c1610d0e565b34919061199d565b90503460105f8282546112dc9190611ddc565b925050819055508060115f8282546112f49190611ddc565b90915550610a99905033346118e7565b335f90815260036020526040812080548391908390611324908490611dc9565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f80516020611f1883398151915290610a8d9086815260200190565b6001600160a01b038083165f9081526008602052604081205490911680156114005760405163b700961360e01b81526001600160a01b0382169063b7009613906113b990889088908890600401611e31565b602060405180830381865afa1580156113d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f89190611e5e565b915050610c49565b6001600160e01b031983165f908152600a602052604090205460ff168061145757506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b428410156114b05760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610919565b5f60016114bb610cb4565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156115c3573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906115f95750876001600160a01b0316816001600160a01b0316145b6116365760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610919565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6116b3335f356001600160e01b03191661171a565b6116cf5760405162461bcd60e51b815260040161091990611d8f565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6007545f906001600160a01b031680158015906117a1575060405163b700961360e01b81526001600160a01b0382169063b70096139061176290879030908890600401611e31565b602060405180830381865afa15801561177d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a19190611e5e565b806117b957506006546001600160a01b038581169116145b949350505050565b5f6117ca611888565b905080156117e9578060105f8282546117e39190611ddc565b90915550505b5042600f55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516118209190611e79565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f600e545f0361189757505f90565b600f544210156118a657505f90565b5f6118c36301e13380600f54426118bd9190611dc9565b906119b8565b90505f610c496118de83600e546119cc90919063ffffffff16565b601054906119cc565b8060025f8282546118f89190611ddc565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f80516020611f1883398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611965908490611dc9565b90915550506002805482900390556040518181525f906001600160a01b038416905f80516020611f1883398151915290602001611932565b5f825f1904841183021582026119b1575f80fd5b5091020490565b5f610c4983670de0b6b3a76400008461199d565b5f610c498383670de0b6b3a764000061199d565b6001600160a01b0381168114610e22575f80fd5b8015158114610e22575f80fd5b5f8060408385031215611a12575f80fd5b8235611a1d816119e0565b91506020830135611a2d816119f4565b809150509250929050565b5f60208284031215611a48575f80fd5b8135610c49816119e0565b5f602080835283518060208501525f5b81811015611a7f57858101830151858201604001528201611a63565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611aaf575f80fd5b5035919050565b5f8060408385031215611ac7575f80fd5b8235611ad2816119e0565b946020939093013593505050565b80356001600160e01b031981168114611af7575f80fd5b919050565b5f60208284031215611b0c575f80fd5b610c4982611ae0565b803560ff81168114611af7575f80fd5b5f805f60608486031215611b37575f80fd5b611b4084611b15565b9250611b4e60208501611ae0565b91506040840135611b5e816119f4565b809150509250925092565b5f805f60608486031215611b7b575f80fd5b8335611b86816119e0565b92506020840135611b96816119e0565b929592945050506040919091013590565b5f8060408385031215611bb8575f80fd5b611a1d83611ae0565b5f805f60608486031215611bd3575f80fd5b8335611bde816119e0565b9250611b4e60208501611b15565b5f8060408385031215611bfd575f80fd5b8235611c08816119e0565b91506020830135611a2d816119e0565b5f805f60608486031215611c2a575f80fd5b8335611c35816119e0565b92506020840135611c45816119e0565b9150611c5360408501611ae0565b90509250925092565b5f805f805f805f60e0888a031215611c72575f80fd5b8735611c7d816119e0565b96506020880135611c8d816119e0565b95506040880135945060608801359350611ca960808901611b15565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215611cd6575f80fd5b611cdf83611b15565b9150611ced60208401611ae0565b90509250929050565b5f8060408385031215611d07575f80fd5b8235611d12816119e0565b9150611ced60208401611b15565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c90821680611d6b57607f821691505b602082108103611d8957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610a9957610a99611db5565b80820180821115610a9957610a99611db5565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611e6e575f80fd5b8151610c49816119f4565b5f8083545f60018260011c91506001831680611e9657607f831692505b60208084108203611eb557634e487b7160e01b5f52602260045260245ffd5b818015611ec95760018114611ede57611f09565b60ff1986168952841515850289019650611f09565b5f8a8152602090205f5b86811015611f015781548b820152908501908301611ee8565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e8e9ccbe437120ca4c0e1197fab17ff508ebe5606158c7b314115a9315adb80764736f6c63430008160033', - methodIdentifiers: { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "authority()": "bf7e214f", - "balanceOf(address)": "70a08231", - "burn(address,uint256)": "9dc29fac", - "burn(uint256)": "42966c68", - "canCall(address,address,bytes4)": "b7009613", - "decimals()": "313ce567", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "getEthValue(uint256)": "8b32fa23", - "getRate()": "679aefce", - "getRethValue(uint256)": "4346f03e", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getTargetCustomAuthority(address)": "c53a3985", - "getTotalPooledEther()": "37cfdaca", - "getTotalShares()": "d5002f2e", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "isCompetitionMode()": "7a8c63b5", - "isUnrestricted(address)": "aed30777", - "maxMintAmount()": "239c70ae", - "mint(address,uint256)": "40c10f19", - "mint(uint256)": "a0712d68", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "setAuthority(address)": "7a9e5e4b", - "setMaxMintAmount(uint256)": "088a4ed0", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRate(uint256)": "34fcf437", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUnrestrictedMintStatus(address,bool)": "05f05a94", - "setUserRole(address,uint8,bool)": "67aff484", - "submit(address)": "a1903eab", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b", - "transferShares(address,uint256)": "8fcb4e5b", - "transferSharesFrom(address,address,uint256)": "6d780459" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts b/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts deleted file mode 100644 index 075372b00..000000000 --- a/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts +++ /dev/null @@ -1,117 +0,0 @@ -export declare const MockSafeCast: { - abi: readonly [{ - readonly type: "function"; - readonly name: "toInt128"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "int128"; - readonly internalType: "int128"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toInt128"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "int128"; - readonly internalType: "int128"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toInt256"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toUint112"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toUint128"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toUint256"; - readonly inputs: readonly [{ - readonly name: "x"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "toInt128(int256)": "dd2a0316"; - readonly "toInt128(uint256)": "0f2422d1"; - readonly "toInt256(uint256)": "dfbe873b"; - readonly "toUint112(uint256)": "41d2aa64"; - readonly "toUint128(uint256)": "809fdd33"; - readonly "toUint256(int256)": "fdcf791b"; - }; -}; -//# sourceMappingURL=MockSafeCast.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts.map b/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts.map deleted file mode 100644 index 10ca498cd..000000000 --- a/packages/hyperdrive-artifacts/dist/MockSafeCast.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockSafeCast.d.ts","sourceRoot":"","sources":["../src/MockSafeCast.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8Iu8C,KAAK,MAAM,EAAE;;;;;;;;;CAS5+C,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockSafeCast.js b/packages/hyperdrive-artifacts/dist/MockSafeCast.js deleted file mode 100644 index 2d493cadd..000000000 --- a/packages/hyperdrive-artifacts/dist/MockSafeCast.js +++ /dev/null @@ -1,152 +0,0 @@ -export const MockSafeCast = { - abi: [ - { - "type": "function", - "name": "toInt128", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "y", - "type": "int128", - "internalType": "int128" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toInt128", - "inputs": [ - { - "name": "x", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "y", - "type": "int128", - "internalType": "int128" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toInt256", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "y", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toUint112", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "y", - "type": "uint112", - "internalType": "uint112" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toUint128", - "inputs": [ - { - "name": "x", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "y", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toUint256", - "inputs": [ - { - "name": "x", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint256", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506102c98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c80630f2422d11461006457806341d2aa641461008f578063809fdd33146100ba578063dd2a0316146100e5578063dfbe873b146100f8578063fdcf791b14610119575b5f80fd5b61007761007236600461027c565b61012c565b604051600f9190910b81526020015b60405180910390f35b6100a261009d36600461027c565b61013c565b6040516001600160701b039091168152602001610086565b6100cd6100c836600461027c565b610146565b6040516001600160801b039091168152602001610086565b6100776100f336600461027c565b610150565b61010b61010636600461027c565b61015a565b604051908152602001610086565b61010b61012736600461027c565b610164565b5f6101368261016e565b92915050565b5f6101368261019b565b5f610136826101c4565b5f610136826101ed565b5f61013682610231565b5f6101368261025a565b5f60016001607f1b038211156101975760405163a5353be560e01b815260040160405180910390fd5b5090565b5f6001600160701b038211156101975760405163086b151760e11b815260040160405180910390fd5b5f6001600160801b0382111561019757604051630f0af95160e11b815260040160405180910390fd5b5f6f7fffffffffffffffffffffffffffffff19821280610213575060016001607f1b0382135b156101975760405163a5353be560e01b815260040160405180910390fd5b5f6001600160ff1b038211156101975760405163396ea70160e11b815260040160405180910390fd5b5f808212156101975760405163071d137160e51b815260040160405180910390fd5b5f6020828403121561028c575f80fd5b503591905056fea2646970667358221220ee597d4098da170f7e901684c207eab3859a0e6ecf567171473642fc1601f40f64736f6c63430008160033', - methodIdentifiers: { - "toInt128(int256)": "dd2a0316", - "toInt128(uint256)": "0f2422d1", - "toInt256(uint256)": "dfbe873b", - "toUint112(uint256)": "41d2aa64", - "toUint128(uint256)": "809fdd33", - "toUint256(int256)": "fdcf791b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts b/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts deleted file mode 100644 index 52fc18c2f..000000000 --- a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts +++ /dev/null @@ -1,377 +0,0 @@ -export declare const MockYieldSpaceMath: { - abi: readonly [{ - readonly type: "function"; - readonly name: "calculateBondsOutGivenSharesInDown"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "dz"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxBuyBondsOutSafe"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxBuySharesInSafe"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateMaxSellBondsInSafe"; - readonly inputs: readonly [{ - readonly name: "z"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zeta"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zMin"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSharesInGivenBondsOutDown"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "dy"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSharesInGivenBondsOutUp"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "dy"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSharesOutGivenBondsInDown"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "dy"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "calculateSharesOutGivenBondsInDownSafe"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "dy"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "kDown"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "kUp"; - readonly inputs: readonly [{ - readonly name: "ze"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "y"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "t"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "c"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "mu"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "calculateBondsOutGivenSharesInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "86c85e10"; - readonly "calculateMaxBuyBondsOutSafe(uint256,uint256,uint256,uint256,uint256)": "a9afa373"; - readonly "calculateMaxBuySharesInSafe(uint256,uint256,uint256,uint256,uint256)": "5880b9fd"; - readonly "calculateMaxSellBondsInSafe(uint256,int256,uint256,uint256,uint256,uint256,uint256)": "bc50ebe6"; - readonly "calculateSharesInGivenBondsOutDown(uint256,uint256,uint256,uint256,uint256,uint256)": "a4a6f9d9"; - readonly "calculateSharesInGivenBondsOutUp(uint256,uint256,uint256,uint256,uint256,uint256)": "2e74108c"; - readonly "calculateSharesOutGivenBondsInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "27d0e265"; - readonly "calculateSharesOutGivenBondsInDownSafe(uint256,uint256,uint256,uint256,uint256,uint256)": "3ee4114a"; - readonly "kDown(uint256,uint256,uint256,uint256,uint256)": "d79d0835"; - readonly "kUp(uint256,uint256,uint256,uint256,uint256)": "0aea7563"; - }; -}; -//# sourceMappingURL=MockYieldSpaceMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts.map b/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts.map deleted file mode 100644 index 68e75853a..000000000 --- a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MockYieldSpaceMath.d.ts","sourceRoot":"","sources":["../src/MockYieldSpaceMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAodmvP,KAAK,MAAM,EAAE;;;;;;;;;;;;;CAa9xP,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.js b/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.js deleted file mode 100644 index 09cc22221..000000000 --- a/packages/hyperdrive-artifacts/dist/MockYieldSpaceMath.js +++ /dev/null @@ -1,482 +0,0 @@ -export const MockYieldSpaceMath = { - abi: [ - { - "type": "function", - "name": "calculateBondsOutGivenSharesInDown", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "dz", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxBuyBondsOutSafe", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxBuySharesInSafe", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateMaxSellBondsInSafe", - "inputs": [ - { - "name": "z", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zeta", - "type": "int256", - "internalType": "int256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zMin", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSharesInGivenBondsOutDown", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "dy", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSharesInGivenBondsOutUp", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "dy", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSharesOutGivenBondsInDown", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "dy", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "calculateSharesOutGivenBondsInDownSafe", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "dy", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "kDown", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "kUp", - "inputs": [ - { - "name": "ze", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "y", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "t", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "c", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "mu", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50610f628061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c806386c85e101161006357806386c85e1014610126578063a4a6f9d914610139578063a9afa3731461014c578063bc50ebe61461015f578063d79d083514610172575f80fd5b80630aea75631461009f57806327d0e265146100c55780632e74108c146100d85780633ee4114a146100eb5780635880b9fd14610113575b5f80fd5b6100b26100ad366004610dd0565b610185565b6040519081526020015b60405180910390f35b6100b26100d3366004610e07565b61019f565b6100b26100e6366004610e07565b6101bb565b6100fe6100f9366004610e07565b6101cb565b604080519283529015156020830152016100bc565b6100fe610121366004610dd0565b6101f0565b6100b2610134366004610e07565b610213565b6100b2610147366004610e07565b610223565b6100fe61015a366004610dd0565b610233565b6100fe61016d366004610e46565b610244565b6100b2610180366004610dd0565b61026b565b5f80610194878787878761027a565b979650505050505050565b5f806101af8888888888886102b8565b98975050505050505050565b5f806101af8888888888886102e5565b5f805f806101dd8a8a8a8a8a8a6102f5565b909450925050505b965096945050505050565b5f805f8061020189898989896103b8565b909450925050505b9550959350505050565b5f806101af88888888888861046a565b5f806101af88888888888861047a565b5f805f80610201898989898961053a565b5f805f806102578b8b8b8b8b8b8b6105df565b909450925050505b97509795505050505050565b5f8061019487878787876106d9565b5f61028585856106fd565b6102a461029c86610296868b61076e565b906106fd565b859085610789565b6102ae9190610ea1565b9695505050505050565b5f806102c88888888888886102f5565b9092509050806102da576102da6107ac565b509695505050505050565b5f806102c88888888888886107c5565b5f805f610305898988888861027a565b905061031586610296898b610ea1565b97508781101561032b575f8092509250506101e5565b878103610339818688610789565b9050670de0b6b3a7640000811061036d5761036661035f670de0b6b3a764000089610897565b82906106fd565b9050610385565b61038261035f670de0b6b3a7640000896108ab565b90505b61038f8186610897565b9050808a10156103a6575f809350935050506101e5565b90980398600198509650505050505050565b5f805f6103c888888888886106d9565b90505f6103f2670de0b6b3a76400006103e18888610897565b6103eb9190610ea1565b83906108ab565b9050670de0b6b3a7640000811061041f5761041861035f670de0b6b3a7640000896108ab565b9050610437565b61043461035f670de0b6b3a764000089610897565b90505b61044181866108ab565b905088811015610458575f80935093505050610209565b97909703976001975095505050505050565b5f806102c88888888888886108bf565b5f8061048988888787876106d9565b90508587101561049b5761049b6107ac565b95859003956104aa87866106fd565b9650868110156104bc576104bc6107ac565b8681036104ca818587610979565b9050670de0b6b3a764000081106104f7576104f061035f670de0b6b3a7640000886108ab565b905061050f565b61050c61035f670de0b6b3a764000088610897565b90505b61051981856108ab565b90508881101561052b5761052b6107ac565b97909703979650505050505050565b5f805f61054a888888888861027a565b90505f610574670de0b6b3a764000061056388886108ab565b61056d9190610ea1565b8390610897565b9050670de0b6b3a764000081106105a15761059a61035f670de0b6b3a764000089610897565b90506105b9565b6105b661035f670de0b6b3a7640000896108ab565b90505b808810156105ce575f80935093505050610209565b909603976001975095505050505050565b5f805f8812156105ff576105f288610eb4565b6105fc9087610ea1565b95505b5f8061060b8b8b610994565b9150915080610621575f8093509350505061025f565b5f61062f838b8a8a8a6106d9565b90505f61064b6106438a6102968a8e61076e565b899089610789565b905080821015610664575f80955095505050505061025f565b808203670de0b6b3a764000081106106925761068b61035f670de0b6b3a76400008c6108ab565b90506106aa565b6106a761035f670de0b6b3a76400008c610897565b90505b8b8110156106c2575f8096509650505050505061025f565b9a909a039c60019c509a5050505050505050505050565b5f6106e485856106fd565b6102a46106f586610296868b6109cf565b859085610979565b5f815f036107145750670de0b6b3a7640000610768565b825f0361072257505f610768565b5f61072c836109e3565b90505f61074061073b866109e3565b610a10565b9050818102610757670de0b6b3a764000082610ece565b905061076281610c3e565b93505050505b92915050565b5f6107828383670de0b6b3a7640000610789565b9392505050565b5f825f19048411830215820261079d575f80fd5b50910281810615159190040190565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f6107d5898988888861027a565b9050868810156107eb575f8092509250506101e5565b96869003966107fa88876106fd565b975087811015610810575f8092509250506101e5565b87810361081e818688610789565b9050670de0b6b3a7640000811061084b5761084461035f670de0b6b3a764000089610897565b9050610863565b61086061035f670de0b6b3a7640000896108ab565b90505b61086d8186610897565b905089811015610884575f809350935050506101e5565b9890980398600198509650505050505050565b5f61078283670de0b6b3a764000084610789565b5f61078283670de0b6b3a764000084610979565b5f805f6108cf898988888861027a565b90506108e9866102966108e28a8d610ea1565b87906109cf565b98506108f6858a86610979565b98508881101561090c575f8092509250506101e5565b888103670de0b6b3a7640000811061093a5761093361035f670de0b6b3a764000089610897565b9050610952565b61094f61035f670de0b6b3a7640000896108ab565b90505b80891015610967575f809350935050506101e5565b90970398600198509650505050505050565b5f825f19048411830215820261098d575f80fd5b5091020490565b5f805f836109a1866109e3565b6109ab9190610f06565b90505f8112156109c1575f8092509250506109c8565b9150600190505b9250929050565b5f6107828383670de0b6b3a7640000610979565b5f6001600160ff1b03821115610a0c5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f808213610a315760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190610abd9084901c6109e3565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213610c5757505f919050565b680755bf798b4a1bf1e58212610c80576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906102ae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6109e3565b5f805f805f60a08688031215610de4575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f805f805f8060c08789031215610e1c575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f805f60e0888a031215610e5c575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561076857610768610e8d565b5f600160ff1b8201610ec857610ec8610e8d565b505f0390565b5f82610ee857634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f1984141615610f0157610f01610e8d565b500590565b8181035f831280158383131683831282161715610f2557610f25610e8d565b509291505056fea26469706673582212201b6ebf319b478060656bdde40834bcafbec7f2ca884537c9804844fd7d27f4a564736f6c63430008160033', - methodIdentifiers: { - "calculateBondsOutGivenSharesInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "86c85e10", - "calculateMaxBuyBondsOutSafe(uint256,uint256,uint256,uint256,uint256)": "a9afa373", - "calculateMaxBuySharesInSafe(uint256,uint256,uint256,uint256,uint256)": "5880b9fd", - "calculateMaxSellBondsInSafe(uint256,int256,uint256,uint256,uint256,uint256,uint256)": "bc50ebe6", - "calculateSharesInGivenBondsOutDown(uint256,uint256,uint256,uint256,uint256,uint256)": "a4a6f9d9", - "calculateSharesInGivenBondsOutUp(uint256,uint256,uint256,uint256,uint256,uint256)": "2e74108c", - "calculateSharesOutGivenBondsInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "27d0e265", - "calculateSharesOutGivenBondsInDownSafe(uint256,uint256,uint256,uint256,uint256,uint256)": "3ee4114a", - "kDown(uint256,uint256,uint256,uint256,uint256)": "d79d0835", - "kUp(uint256,uint256,uint256,uint256,uint256)": "0aea7563" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts deleted file mode 100644 index 7a5376b77..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MorphoBalancesLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MorphoBalancesLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts.map deleted file mode 100644 index efe63d48f..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBalancesLib.d.ts","sourceRoot":"","sources":["../src/MorphoBalancesLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;cAEoQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.js b/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.js deleted file mode 100644 index db2ac3485..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBalancesLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MorphoBalancesLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220fb45a935ff9586055cfa2ec28d13f1a0b562ff62c9fbb03cbfd08d84a248bac764736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts deleted file mode 100644 index 09cbfa22b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts +++ /dev/null @@ -1,563 +0,0 @@ -export declare const MorphoBlueBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MorphoBlueBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts.map deleted file mode 100644 index 3613d3b1b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueBase.d.ts","sourceRoot":"","sources":["../src/MorphoBlueBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmrBP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.js b/packages/hyperdrive-artifacts/dist/MorphoBlueBase.js deleted file mode 100644 index 3a29d94eb..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueBase.js +++ /dev/null @@ -1,694 +0,0 @@ -export const MorphoBlueBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts deleted file mode 100644 index 6378b67dd..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts +++ /dev/null @@ -1,85 +0,0 @@ -export declare const MorphoBlueConversions: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vault"; - readonly type: "IMorpho"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "_baseToken"; - readonly type: "IERC20"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vault"; - readonly type: "IMorpho"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "_baseToken"; - readonly type: "IERC20"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(IMorpho,IERC20,address,address,address,uint256,uint256)": "3c2063f0"; - readonly "convertToShares(IMorpho,IERC20,address,address,address,uint256,uint256)": "49124ca3"; - }; -}; -//# sourceMappingURL=MorphoBlueConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts.map deleted file mode 100644 index 4d13fbf06..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueConversions.d.ts","sourceRoot":"","sources":["../src/MorphoBlueConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqGknI,KAAK,MAAM,EAAE;;;;;CAKhqI,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.js b/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.js deleted file mode 100644 index 314f0e741..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueConversions.js +++ /dev/null @@ -1,107 +0,0 @@ -export const MorphoBlueConversions = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vault", - "type": "IMorpho", - "internalType": "contract IMorpho" - }, - { - "name": "_baseToken", - "type": "IERC20", - "internalType": "contract IERC20" - }, - { - "name": "_collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "_oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "_irm", - "type": "address", - "internalType": "address" - }, - { - "name": "_lltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vault", - "type": "IMorpho", - "internalType": "contract IMorpho" - }, - { - "name": "_baseToken", - "type": "IERC20", - "internalType": "contract IERC20" - }, - { - "name": "_collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "_oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "_irm", - "type": "address", - "internalType": "address" - }, - { - "name": "_lltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x61080b610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80633c2063f01461004357806349124ca314610068575b5f80fd5b610056610051366004610599565b61007b565b60405190815260200160405180910390f35b610056610076366004610599565b6100aa565b5f805f61008c8a8a8a8a8a8a6100cb565b909250905061009c848383610144565b9a9950505050505050505050565b5f805f6100bb8a8a8a8a8a8a6100cb565b909250905061009c848383610170565b5f806101336040518060a00160405280896001600160a01b03168152602001886001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b0316815260200185815250896001600160a01b031661018c90919063ffffffff16565b50919a909950975050505050505050565b5f61016861015360018561062b565b610160620f42408561062b565b869190610482565b949350505050565b5f610168610181620f42408461062b565b61016060018661062b565b5f805f805f61019c8660a0902090565b604051632e3071cd60e11b8152600481018290529091505f906001600160a01b03891690635c60e39a9060240160c060405180830381865afa1580156101e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102089190610659565b90505f81608001516001600160801b0316426102249190610702565b90508015801590610241575060408201516001600160801b031615155b8015610259575060608801516001600160a01b031615155b1561044e576060888101805160408051638c00bf6b60e01b81528c516001600160a01b0390811660048301526020808f015182166024840152838f0151821660448401529451811660648301526080808f0151608484015288516001600160801b0390811660a485015295890151861660c484015292880151851660e483015294870151841661010482015290860151831661012482015260a08601519092166101448301525f921690638c00bf6b9061016401602060405180830381865afa158015610328573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034c9190610715565b90505f61037061035c8385610498565b60408601516001600160801b031690610502565b905061037b8161051d565b8460400181815161038c919061072c565b6001600160801b03169052506103a18161051d565b845185906103b090839061072c565b6001600160801b0390811690915260a08601511615905061044b575f6103ec8560a001516001600160801b03168361050290919063ffffffff16565b90505f61042082875f01516001600160801b031661040a9190610702565b60208801518491906001600160801b0316610170565b905061042b8161051d565b8660200181815161043c919061072c565b6001600160801b031690525050505b50505b508051602082015160408301516060909301516001600160801b039283169b9183169a509282169850911695509350505050565b5f8161048e8486610753565b610168919061076a565b5f806104a48385610753565b90505f6104c482806104bf670de0b6b3a76400006002610753565b610482565b90505f6104df82846104bf670de0b6b3a76400006003610753565b9050806104ec838561062b565b6104f6919061062b565b93505050505b92915050565b5f6105168383670de0b6b3a7640000610482565b9392505050565b6040805180820190915260148152731b585e081d5a5b9d0c4c8e08195e18d95959195960621b60208201525f906001600160801b0383111561057b5760405162461bcd60e51b81526004016105729190610789565b60405180910390fd5b5090919050565b6001600160a01b0381168114610596575f80fd5b50565b5f805f805f805f60e0888a0312156105af575f80fd5b87356105ba81610582565b965060208801356105ca81610582565b955060408801356105da81610582565b945060608801356105ea81610582565b935060808801356105fa81610582565b9699959850939692959460a0840135945060c09093013592915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104fc576104fc610617565b80516001600160801b0381168114610654575f80fd5b919050565b5f60c08284031215610669575f80fd5b60405160c0810181811067ffffffffffffffff8211171561069857634e487b7160e01b5f52604160045260245ffd5b6040526106a48361063e565b81526106b26020840161063e565b60208201526106c36040840161063e565b60408201526106d46060840161063e565b60608201526106e56080840161063e565b60808201526106f660a0840161063e565b60a08201529392505050565b818103818111156104fc576104fc610617565b5f60208284031215610725575f80fd5b5051919050565b6001600160801b0381811683821601908082111561074c5761074c610617565b5092915050565b80820281158282048414176104fc576104fc610617565b5f8261078457634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b818110156107b557858101830151858201604001528201610799565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220e95ecd2e1b666fcfc5a7211be25dfe2c423aa4a4882aa1f05e47576792bf6e3164736f6c63430008160033', - methodIdentifiers: { - "convertToBase(IMorpho,IERC20,address,address,address,uint256,uint256)": "3c2063f0", - "convertToShares(IMorpho,IERC20,address,address,address,uint256,uint256)": "49124ca3" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts deleted file mode 100644 index af3ffb866..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts +++ /dev/null @@ -1,1375 +0,0 @@ -export declare const MorphoBlueHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=MorphoBlueHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts.map deleted file mode 100644 index 39e677894..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueHyperdrive.d.ts","sourceRoot":"","sources":["../src/MorphoBlueHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuqD+3b,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B56b,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.js b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.js deleted file mode 100644 index 785571930..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdrive.js +++ /dev/null @@ -1,1735 +0,0 @@ -export const MorphoBlueHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x6103c060405234801562000011575f80fd5b5060405162001bc638038062001bc6833981016040819052620000349162000784565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000941565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052845181166103208190526020860151821661034052604086015182166103605260608601518216610380526080808701516103a0525162000171955090911692509050600162000181565b5050505050505050505062000a4b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001db90859083906200024c16565b6200024657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200023a918691620002f616565b620002468482620002f6565b50505050565b5f805f846001600160a01b03168460405162000269919062000a0d565b5f604051808303815f865af19150503d805f8114620002a4576040519150601f19603f3d011682016040523d82523d5f602084013e620002a9565b606091505b5091509150818015620002d7575080511580620002d7575080806020019051810190620002d7919062000a2a565b8015620002ed57505f856001600160a01b03163b115b95945050505050565b5f6200030c6001600160a01b0384168362000367565b905080515f141580156200033357508080602001905181019062000331919062000a2a565b155b156200036257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200037683835f6200037d565b9392505050565b606081471015620003a45760405163cd78605960e01b815230600482015260240162000359565b5f80856001600160a01b03168486604051620003c1919062000a0d565b5f6040518083038185875af1925050503d805f8114620003fd576040519150601f19603f3d011682016040523d82523d5f602084013e62000402565b606091505b509092509050620004158683836200041f565b9695505050505050565b6060826200043857620004328262000483565b62000376565b81511580156200045057506001600160a01b0384163b155b156200047b57604051639996b31560e01b81526001600160a01b038516600482015260240162000359565b508062000376565b805115620004945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ea57620004ea620004b0565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200051b576200051b620004b0565b604052919050565b5f5b838110156200053f57818101518382015260200162000525565b50505f910152565b6001600160a01b0381168114620004ad575f80fd5b8051620005698162000547565b919050565b5f608082840312156200057f575f80fd5b604051608081016001600160401b0381118282101715620005a457620005a4620004b0565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005e7575f80fd5b620005f1620004c4565b9050620005fe826200055c565b81526200060e602083016200055c565b602082015262000621604083016200055c565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200068c8184016200055c565b90820152610180620006a08382016200055c565b908201526101a0620006b48382016200055c565b908201526101c0620006c88382016200055c565b908201526101e0620006dd848483016200056e565b9082015292915050565b5f60a08284031215620006f8575f80fd5b60405160a081016001600160401b03811182821017156200071d576200071d620004b0565b80604052508091508251620007328162000547565b81526020830151620007448162000547565b60208201526040830151620007598162000547565b604082015260608301516200076e8162000547565b6060820152608092830151920191909152919050565b5f805f805f805f805f6103e08a8c0312156200079e575f80fd5b89516001600160401b0380821115620007b5575f80fd5b818c0191508c601f830112620007c9575f80fd5b815181811115620007de57620007de620004b0565b620007f3601f8201601f1916602001620004f0565b91508082528d60208285010111156200080a575f80fd5b6200081d81602084016020860162000523565b5099506200083190508b60208c01620005d5565b9750620008426102808b016200055c565b9650620008536102a08b016200055c565b9550620008646102c08b016200055c565b9450620008756102e08b016200055c565b9350620008866103008b016200055c565b9250620008976103208b016200055c565b9150620008a98b6103408c01620006e7565b90509295985092959850929598565b600181811c90821680620008cd57607f821691505b602082108103620008ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200036257805f5260205f20601f840160051c81016020851015620009195750805b601f840160051c820191505b818110156200093a575f815560010162000925565b5050505050565b81516001600160401b038111156200095d576200095d620004b0565b62000975816200096e8454620008b8565b84620008f2565b602080601f831160018114620009ab575f8415620009935750858301515b5f19600386901b1c1916600185901b17855562000a05565b5f85815260208120601f198616915b82811015620009db57888601518255948401946001909101908401620009ba565b5085821015620009f957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000a2081846020870162000523565b9190910192915050565b5f6020828403121562000a3b575f80fd5b8151801515811462000376575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a05161104162000b855f395f50505f50505f50505f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212200d8196f95a1a51f359d1eddbb91236c7cd2eb0ff49311c64d4bcb61e046c2a3064736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 4e699361f..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const MorphoBlueHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=MorphoBlueHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 7805bae77..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K6kjB,KAAK,MAAM,EAAE;;;;CAItojB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.js deleted file mode 100644 index f9292587b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const MorphoBlueHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506123168061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b620000476200004136600462000387565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80888060200190518101906200007b91906200047f565b60408051336020820152908101859052909150606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b89604051620000be9062000103565b620000d2999897969594939291906200063a565b8190604051809103905ff5905080158015620000f0573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b611bc6806200071b83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200014c576200014c62000111565b60405290565b5f82601f83011262000162575f80fd5b813567ffffffffffffffff8082111562000180576200018062000111565b604051601f8301601f19908116603f01168101908282118183101715620001ab57620001ab62000111565b81604052838152866020858801011115620001c4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001f8575f80fd5b50565b80356200020881620001e3565b919050565b5f608082840312156200021e575f80fd5b6040516080810181811067ffffffffffffffff8211171562000244576200024462000111565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610260828403121562000287575f80fd5b6200029162000125565b90506200029e82620001fb565b8152620002ae60208301620001fb565b6020820152620002c160408301620001fb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200032c818401620001fb565b9082015261018062000340838201620001fb565b908201526101a062000354838201620001fb565b908201526101c062000368838201620001fb565b908201526101e06200037d848483016200020d565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a2575f80fd5b8a3567ffffffffffffffff80821115620003ba575f80fd5b620003c88e838f0162000152565b9b50620003d98e60208f0162000275565b9a50620003ea6102808e01620001fb565b99506102a08d013591508082111562000401575f80fd5b50620004108d828e0162000152565b975050620004226102c08c01620001fb565b9550620004336102e08c01620001fb565b9450620004446103008c01620001fb565b9350620004556103208c01620001fb565b9250620004666103408c01620001fb565b91506103608b013590509295989b9194979a5092959850565b5f60a0828403121562000490575f80fd5b60405160a0810181811067ffffffffffffffff82111715620004b657620004b662000111565b6040528251620004c681620001e3565b81526020830151620004d881620001e3565b60208201526040830151620004ed81620001e3565b604082015260608301516200050281620001e3565b60608201526080928301519281019290925250919050565b80516001600160a01b0316825260208101516200054260208401826001600160a01b03169052565b5060408101516200055e60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151620005d1828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103e08083528b5180828501525f91505b8082101562000670576020828e01015161040083860101526020820191506200064c565b61040091505f82828601015281601f19601f830116850101925050506200069b602083018b6200051a565b6001600160a01b038981166102808401528881166102a08401528781166102c08401528681166102e08401528581166103008401528481166103208401528351811661034084015260208401518116610360840152604084015181166103808401526060840151166103a083015260808301516103c0830152620000f556fe6103c060405234801562000011575f80fd5b5060405162001bc638038062001bc6833981016040819052620000349162000784565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000941565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052845181166103208190526020860151821661034052604086015182166103605260608601518216610380526080808701516103a0525162000171955090911692509050600162000181565b5050505050505050505062000a4b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001db90859083906200024c16565b6200024657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200023a918691620002f616565b620002468482620002f6565b50505050565b5f805f846001600160a01b03168460405162000269919062000a0d565b5f604051808303815f865af19150503d805f8114620002a4576040519150601f19603f3d011682016040523d82523d5f602084013e620002a9565b606091505b5091509150818015620002d7575080511580620002d7575080806020019051810190620002d7919062000a2a565b8015620002ed57505f856001600160a01b03163b115b95945050505050565b5f6200030c6001600160a01b0384168362000367565b905080515f141580156200033357508080602001905181019062000331919062000a2a565b155b156200036257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200037683835f6200037d565b9392505050565b606081471015620003a45760405163cd78605960e01b815230600482015260240162000359565b5f80856001600160a01b03168486604051620003c1919062000a0d565b5f6040518083038185875af1925050503d805f8114620003fd576040519150601f19603f3d011682016040523d82523d5f602084013e62000402565b606091505b509092509050620004158683836200041f565b9695505050505050565b6060826200043857620004328262000483565b62000376565b81511580156200045057506001600160a01b0384163b155b156200047b57604051639996b31560e01b81526001600160a01b038516600482015260240162000359565b508062000376565b805115620004945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ea57620004ea620004b0565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200051b576200051b620004b0565b604052919050565b5f5b838110156200053f57818101518382015260200162000525565b50505f910152565b6001600160a01b0381168114620004ad575f80fd5b8051620005698162000547565b919050565b5f608082840312156200057f575f80fd5b604051608081016001600160401b0381118282101715620005a457620005a4620004b0565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005e7575f80fd5b620005f1620004c4565b9050620005fe826200055c565b81526200060e602083016200055c565b602082015262000621604083016200055c565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200068c8184016200055c565b90820152610180620006a08382016200055c565b908201526101a0620006b48382016200055c565b908201526101c0620006c88382016200055c565b908201526101e0620006dd848483016200056e565b9082015292915050565b5f60a08284031215620006f8575f80fd5b60405160a081016001600160401b03811182821017156200071d576200071d620004b0565b80604052508091508251620007328162000547565b81526020830151620007448162000547565b60208201526040830151620007598162000547565b604082015260608301516200076e8162000547565b6060820152608092830151920191909152919050565b5f805f805f805f805f6103e08a8c0312156200079e575f80fd5b89516001600160401b0380821115620007b5575f80fd5b818c0191508c601f830112620007c9575f80fd5b815181811115620007de57620007de620004b0565b620007f3601f8201601f1916602001620004f0565b91508082528d60208285010111156200080a575f80fd5b6200081d81602084016020860162000523565b5099506200083190508b60208c01620005d5565b9750620008426102808b016200055c565b9650620008536102a08b016200055c565b9550620008646102c08b016200055c565b9450620008756102e08b016200055c565b9350620008866103008b016200055c565b9250620008976103208b016200055c565b9150620008a98b6103408c01620006e7565b90509295985092959850929598565b600181811c90821680620008cd57607f821691505b602082108103620008ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200036257805f5260205f20601f840160051c81016020851015620009195750805b601f840160051c820191505b818110156200093a575f815560010162000925565b5050505050565b81516001600160401b038111156200095d576200095d620004b0565b62000975816200096e8454620008b8565b84620008f2565b602080601f831160018114620009ab575f8415620009935750858301515b5f19600386901b1c1916600185901b17855562000a05565b5f85815260208120601f198616915b82811015620009db57888601518255948401946001909101908401620009ba565b5085821015620009f957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000a2081846020870162000523565b9190910192915050565b5f6020828403121562000a3b575f80fd5b8151801515811462000376575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a05161104162000b855f395f50505f50505f50505f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212200d8196f95a1a51f359d1eddbb91236c7cd2eb0ff49311c64d4bcb61e046c2a3064736f6c63430008160033a2646970667358221220e94d0d23ef5df14ab957a6f4886cb39cdf32f3dd583faa7e593f8b381a1b83b264736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index b819585bb..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,672 +0,0 @@ -export declare const MorphoBlueHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vault"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "_baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,address,address,address,address,uint256,uint256)": "43dd8fef"; - readonly "convertToShares(address,address,address,address,address,uint256,uint256)": "e71c2aa1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=MorphoBlueHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index c3f6b84b8..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/MorphoBlueHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo0Bs3rB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBt7rB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.js deleted file mode 100644 index c24f969c7..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,857 +0,0 @@ -export const MorphoBlueHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vault", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "_oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "_irm", - "type": "address", - "internalType": "address" - }, - { - "name": "_lltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vault", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "_baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "_oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "_irm", - "type": "address", - "internalType": "address" - }, - { - "name": "_lltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b5060405162002bcb38038062002bcb8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516127b16200041a5f395f81816102b80152610de501525f81816103360152610cb201525f818161039c0152610b7f01525f81816103030152610a4c01525f8181610369015261084301525f8181610421015261117901525f81816103ee015281816105470152818161076c0152818161087301528181610a7c01528181610baf01528181610ce201528181610e1501528181610f4d01526111aa01526127b15ff3fe6080604052600436106100fa575f3560e01c8063aa8cd6c411610092578063c45a015511610062578063c45a0155146103dd578063c83e1f5114610410578063e71c2aa114610443578063e990eba814610462578063e99be39614610481575f80fd5b8063aa8cd6c414610325578063ab71905f14610358578063b6cb11181461038b578063c1510618146103be575f80fd5b806343dd8fef116100cd57806343dd8fef1461025957806354fd4d5014610278578063966ecd1c146102a7578063a085fa30146102f2575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bb6565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ceb565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611da9565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611dc0565b348015610264575f80fd5b5061014f610273366004611e3d565b6106d0565b348015610283575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102b2575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102fd575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610330575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610363575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610396575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c9575f80fd5b506102da6103d8366004612012565b610760565b3480156103e8575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b5061014f61045d366004611e3d565b610efc565b34801561046d575f80fd5b506102da61047c36600461207b565b610f41565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602781526020016127556027913981565b5f80546104bc90612115565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612115565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6112b4565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112d5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106059392919061214d565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612192565b92505f61065382346121bd565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090610715908b908b908b908b908b908b908b906004016121d0565b602060405180830381865af4158015610730573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107549190612192565b98975050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107aa57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361095a578054156107df57604051633be1b34d60e11b815260040160405180910390fd5b6107e9868661138f565b5f6107f4878761152d565b90505f876040516020016108089190612213565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108358a61157a565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108af929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108e49493929190612446565b6020604051808303815f875af1158015610900573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610924919061248b565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109865760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109989190612213565b60405160208183030381529060405280519060200120146109cc5760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109f657604051631a3272d160e31b815260040160405180910390fd5b610a00878761138f565b5f610a0a8861157a565b6002840154608082015290506001869003610b4a5760058301546001600160a01b031615610a4a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ab1939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ae69493929190612446565b6020604051808303815f875af1158015610b02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b26919061248b565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c7d5760068301546001600160a01b031615610b7d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610be4939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c199493929190612446565b6020604051808303815f875af1158015610c35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c59919061248b565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610db05760078301546001600160a01b031615610cb05760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d17939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d4c9493929190612446565b6020604051808303815f875af1158015610d68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8c919061248b565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ee35760088301546001600160a01b031615610de35760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e4a939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e7f9493929190612446565b6020604051808303815f875af1158015610e9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebf919061248b565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390610715908b908b908b908b908b908b908b906004016121d0565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561103357604051632c95caeb60e01b815260040160405180910390fd5b80516110525760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611077575060a08101516001600160a01b0316155b8061108d575060c08101516001600160a01b0316155b806110a3575060e08101516001600160a01b0316155b806110ba57506101008101516001600160a01b0316155b156110d85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110eb908790602001612213565b604051602081830303815290604052805190602001201461111f5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461114a57604051631a3272d160e31b815260040160405180910390fd5b611154858561138f565b5f61115e8661157a565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611200929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161123b9a999897969594939291906124c7565b6020604051808303815f875af1158015611257573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127b919061248b565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112d357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112f85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611335573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611359919061248b565b90506113706001600160a01b038216863087611648565b6113846001600160a01b03821687866116b5565b505f95945050505050565b6113998282611744565b60208201516001600160a01b0316156113c55760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b03166113ed57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114529190612549565b61145c9190612569565b61146790600a612662565b8260800151101561148b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f09190612549565b6114fa9190612569565b61150590600a612662565b8260a001511015611529576040516318c9522360e11b815260040160405180910390fd5b5050565b5f80828060200190518101906115439190612670565b80518551602083015160408401516060850151608086015195965061157095670de0b6b3a76400006106d0565b9150505b92915050565b611582611a95565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526116af9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611858565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261170684826118c3565b6116af576040516001600160a01b0384811660248301525f604483015261173a91869182169063095ea7b39060640161167d565b6116af8482611858565b6103e88260800151101561176b576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361179057604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806117ba57508161010001518260e001516117b791906126ff565b15155b156117d85760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118045750670de0b6b3a7640000826101c0015160200151115b8061181f5750670de0b6b3a7640000826101c0015160400151115b8061183a5750670de0b6b3a7640000826101c0015160600151115b15611529576040516322f72cc360e11b815260040160405180910390fd5b5f61186c6001600160a01b03841683611960565b905080515f1415801561189057508080602001905181019061188e919061271e565b155b156118be57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516118de9190612739565b5f604051808303815f865af19150503d805f8114611917576040519150601f19603f3d011682016040523d82523d5f602084013e61191c565b606091505b5091509150818015611946575080511580611946575080806020019051810190611946919061271e565b80156106c75750505050506001600160a01b03163b151590565b606061196d83835f611974565b9392505050565b6060814710156119995760405163cd78605960e01b81523060048201526024016118b5565b5f80856001600160a01b031684866040516119b49190612739565b5f6040518083038185875af1925050503d805f81146119ee576040519150601f19603f3d011682016040523d82523d5f602084013e6119f3565b606091505b5091509150611a03868383611a0d565b9695505050505050565b606082611a2257611a1d82611a69565b61196d565b8151158015611a3957506001600160a01b0384163b155b15611a6257604051639996b31560e01b81526001600160a01b03851660048201526024016118b5565b508061196d565b805115611a795780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611b6460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611b83578181015183820152602001611b6b565b50505f910152565b5f8151808452611ba2816020860160208601611b69565b601f01601f19169290920160200192915050565b602081525f61196d6020830184611b8b565b6001600160a01b0381168114611a92575f80fd5b8035611be781611bc8565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c2357611c23611bec565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c2357611c23611bec565b8015158114611a92575f80fd5b5f67ffffffffffffffff80841115611c7457611c74611bec565b604051601f8501601f19908116603f01168101908282118183101715611c9c57611c9c611bec565b81604052809350858152868686011115611cb4575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611cdc575f80fd5b61196d83833560208501611c5a565b5f805f805f60a08688031215611cff575f80fd5b853594506020860135611d1181611bc8565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d3b575f80fd5b908701906060828a031215611d4e575f80fd5b611d56611c00565b8235611d6181611bc8565b81526020830135611d7181611c4d565b6020820152604083013582811115611d87575f80fd5b611d938b828601611ccd565b6040830152508093505050509295509295909350565b5f60208284031215611db9575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f805f805f805f60e0888a031215611e53575f80fd5b8735611e5e81611bc8565b96506020880135611e6e81611bc8565b95506040880135611e7e81611bc8565b94506060880135611e8e81611bc8565b93506080880135611e9e81611bc8565b9699959850939692959460a0840135945060c09093013592915050565b5f60808284031215611ecb575f80fd5b6040516080810181811067ffffffffffffffff82111715611eee57611eee611bec565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611f30575f80fd5b611f38611c29565b9050611f4382611bdc565b8152611f5160208301611bdc565b6020820152611f6260408301611bdc565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611fbf818401611bdc565b90820152610160611fd1838201611bdc565b90820152610180611fe3838201611bdc565b908201526101a0611ff5838201611bdc565b908201526101c061200884848301611ebb565b9082015292915050565b5f805f805f6102c08688031215612027575f80fd5b853594506120388760208801611f1f565b935061026086013567ffffffffffffffff811115612054575f80fd5b61206088828901611ccd565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215612090575f80fd5b85359450602086013567ffffffffffffffff808211156120ae575f80fd5b818801915088601f8301126120c1575f80fd5b6120d089833560208501611c5a565b95506120df8960408a01611f1f565b94506102808801359150808211156120f5575f80fd5b5061210288828901611ccd565b959894975092956102a001359392505050565b600181811c9082168061212957607f821691505b60208210810361214757634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611a0360c0840182611b8b565b5f602082840312156121a2575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611574576115746121a9565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b81516001600160a01b031681526102408101602083015161223f60208401826001600160a01b03169052565b50604083015161225a60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516122c0828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e35565b80516001600160a01b03168252602081015161235060208401826001600160a01b03169052565b50604081015161236b60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516123dd828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526116af565b5f6102c06124548388612329565b6001600160a01b038616610260840152610280830181905261247881840186611b8b565b915050826102a083015295945050505050565b5f6020828403121561249b575f80fd5b815161196d81611bc8565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526124da8184018e611b8b565b90506124e9602084018d612329565b6001600160a01b038b81166102808501528382036102a085015261250d828c611b8b565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612559575f80fd5b815160ff8116811461196d575f80fd5b60ff8281168282160390811115611574576115746121a9565b600181815b808511156125bc57815f19048211156125a2576125a26121a9565b808516156125af57918102915b93841c9390800290612587565b509250929050565b5f826125d257506001611574565b816125de57505f611574565b81600181146125f457600281146125fe5761261a565b6001915050611574565b60ff84111561260f5761260f6121a9565b50506001821b611574565b5060208310610133831016604e8410600b841016171561263d575081810a611574565b6126478383612582565b805f190482111561265a5761265a6121a9565b029392505050565b5f61196d60ff8416836125c4565b5f60a08284031215612680575f80fd5b60405160a0810181811067ffffffffffffffff821117156126a3576126a3611bec565b60405282516126b181611bc8565b815260208301516126c181611bc8565b602082015260408301516126d481611bc8565b604082015260608301516126e781611bc8565b60608201526080928301519281019290925250919050565b5f8261271957634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561272e575f80fd5b815161196d81611c4d565b5f825161274a818460208701611b69565b919091019291505056fe4d6f7270686f426c7565487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122088f5dc35393f002df524f63936fa93aa619fb65868e078cd28d496dc269cebe764736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,address,address,address,address,uint256,uint256)": "43dd8fef", - "convertToShares(address,address,address,address,address,uint256,uint256)": "e71c2aa1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts deleted file mode 100644 index 994aa8357..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts +++ /dev/null @@ -1,1618 +0,0 @@ -export declare const MorphoBlueTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collateralToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "id"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "Id"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "irm"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "lltv"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "oracle"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vault"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collateralToken()": "b2016bd4"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "id()": "af640d0f"; - readonly "irm()": "28e8fe7d"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "lltv()": "217b7ffe"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "oracle()": "7dc0d1d0"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vault()": "fbfa77cf"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts.map deleted file mode 100644 index a6fa64264..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget0.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+8D0gqC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CpjqC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.js deleted file mode 100644 index 11e84b7db..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0.js +++ /dev/null @@ -1,2047 +0,0 @@ -export const MorphoBlueTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collateralToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "id", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "Id" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "irm", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "lltv", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "oracle", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vault", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IMorpho" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b5060405162004a0a38038062004a0a8339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051614063620009a75f395f818161076301528181610eae015281816121a801528181612a1801528181612b5c015261301901525f81816107e701528181610e7f01528181612179015281816129f601528181612b3a0152612fea01525f8181610cc701528181610e500152818161214a015281816129d401528181612b180152612fbb01525f8181610e21015281816113a50152818161211b015281816129b201528181612af60152612f8c01525f8181611758015281816120af0152818161296e01528181612ab20152612f2301525f8181610f7d01526126c601525f8181610f4e015261268901525f8181610d31015281816110ad0152818161113b015281816111c901528181611257015281816118de0152818161197401528181611b360152818161225001528181612324015261247501525f61101501525f8181610fef015261287001525f8181610fc9015261284a01525f8181610fa3015261282401525f61136201525f61133c01525f61131601525f6112f001525f8181611087015261289601525f818161103b0152818161152c0152612e0601525f8181611061015261312501525f818161067e0152610f1f01525f818161081e01528181610df201528181610ef0015281816114c9015281816120ec0152818161299001528181612ad40152612f5d01526140635ff3fe608060405234801561000f575f80fd5b506004361061026a575f3560e01c80637180c8ca1161014b578063bd85b039116100bf578063cf210e6511610084578063cf210e6514610546578063d816574314610559578063e44808bc1461056e578063e985e9c514610581578063fba5600814610594578063fbfa77cf146105c3575f80fd5b8063bd85b039146104f0578063becee9c314610503578063c55dae6314610523578063c69e16ad1461052b578063c6e6f59214610533575f80fd5b8063a22cb46511610110578063a22cb46514610494578063ab033ea9146104a7578063af640d0f146104b8578063b0d96580146104c0578063b2016bd4146104d5578063b88fed9f146104dd575f80fd5b80637180c8ca1461044c5780637dc0d1d01461045e5780637ecebe0014610466578063950c5d03146104795780639cd241af14610481575f80fd5b806321ff32a9116101e25780633e691db9116101a75780633e691db9146103d357806346fbf68e146103e65780634e41a1fb146104095780634ed2d6ac1461041c57806354fd4d501461042f57806360246c8814610437575f80fd5b806321ff32a91461038357806328e8fe7d14610396578063313ce5671461039e5780633656eec2146103b85780633a98ef39146103cb575f80fd5b80630a4e1493116102335780630a4e1493146102cf57806314e5f07b146102ef57806317fad7fc146103025780631c0f12b61461031557806320fc488114610328578063217b7ffe1461036d575f80fd5b8062ad800c1461026e57806301681a621461029757806302329a29146102ac57806304baa00b146102bf57806306fdde03146102c7575b5f80fd5b61028161027c36600461335d565b6105cb565b60405161028e91906133c1565b60405180910390f35b6102aa6102a53660046133e7565b610602565b005b6102aa6102ba36600461340f565b61060b565b610281610614565b610281610659565b6102d7610670565b6040516001600160a01b03909116815260200161028e565b6102aa6102fd366004613438565b6106af565b6102aa610310366004613509565b6106cb565b6102aa610323366004613598565b6106e1565b61033b61033636600461335d565b6106f4565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161028e565b61037561075d565b60405190815260200161028e565b6103756103913660046135dd565b610794565b6102d76107d9565b6103a6610818565b60405160ff909116815260200161028e565b6103756103c636600461361c565b6108b0565b6103756108e8565b6103756103e136600461364a565b610906565b6103f96103f43660046133e7565b610910565b604051901515815260200161028e565b61028161041736600461335d565b61092f565b6102aa61042a366004613681565b61093d565b61028161098b565b61043f6109c0565b60405161028e91906136c8565b6102aa61045a366004613769565b5050565b6102d7610cb9565b6103756104743660046133e7565b610cf8565b6102d7610d23565b6102aa61048f366004613795565b610d62565b6102aa6104a2366004613769565b610d73565b6102aa6104b53660046133e7565b50565b610375610dde565b6104c8610ed7565b60405161028e91906137ca565b6102d7611397565b6103756104eb36600461335d565b6113d6565b6103756104fe36600461335d565b6113e3565b6105166105113660046138f0565b611404565b60405161028e919061392f565b6102d76114bb565b6103756114fa565b61037561054136600461335d565b611513565b61037561055436600461335d565b611520565b610561611556565b60405161028e9190613972565b6102aa61057c366004613a83565b611661565b6103f961058f366004613ade565b6116a9565b61059c6116ec565b6040805182516001600160801b03908116825260209384015116928101929092520161028e565b6102d761174a565b60606105fd6105d983611789565b6040516020016105e991906133c1565b6040516020818303038152906040526118af565b919050565b6104b5816118d3565b6104b581611b34565b6060610656604051806040016040528060148152602001734d6f7270686f426c75654879706572647269766560601b8152506040516020016105e991906133c1565b90565b606061065660016040516020016105e99190613b0a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6106c0898989898989898989611c4c565b505050505050505050565b6106d9868686868686611e3e565b505050505050565b6106ee8484848433611ef1565b50505050565b604080516060810182525f80825260208201819052918101919091526105fd60085f8481526020019081526020015f206040516020016105e9919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006040516020016105e991815260200190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107d291016105e9565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190613bb7565b6040805160ff9092166020830152016105e9565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526108e291016105e9565b92915050565b5f6106566108f46120ac565b6040516020016105e991815260200190565b5f6108e28261223b565b5f6105fd61091d83612471565b604080519115156020830152016105e9565b60606105fd6105d98361254f565b836109478161264b565b6001600160a01b0316336001600160a01b03161461097857604051632aab8bd360e01b815260040160405180910390fd5b61098485858585612708565b5050505050565b606061065660405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105e991906133c1565b610a2a604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610a33612774565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a9d9190613bfa565b610aa79190613c0d565b90505f8215610bb65773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610ad38561278b565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610b82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190613c20565b509050610bb38184612915565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610c8657610c818486612929565b610c88565b5f5b81526003546001600160801b0316602091820152604051919250610cb2916105e9918491016136c8565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105fd91016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b610d6e83838333612708565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f6106566108f46040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b610edf613289565b6106566040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611195573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b99190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112479190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190613c43565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105e991906137ca565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6105fd6108f48361293d565b5f818152600b60209081526040808320548151928301526105fd91016105e9565b60605f8267ffffffffffffffff81111561142057611420613c5e565b604051908082528060200260200182016040528015611449578160200160208202803683370190505b5090505f5b8381101561149f575f85858381811061146957611469613c72565b9050602002013590505f815490508084848151811061148a5761148a613c72565b6020908102919091010152505060010161144e565b506114b4816040516020016105e9919061392f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106566009546040516020016105e991815260200190565b5f6105fd6108f483612a81565b5f6105fd6108f46115517f000000000000000000000000000000000000000000000000000000000000000085613bfa565b612b86565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261065660026040516020016105e9919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461166b8161264b565b6001600160a01b0316336001600160a01b03161461169c57604051632aab8bd360e01b815260040160405180910390fd5b6106d98686868686611ef1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916108e291016105e9565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610656906060016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b606060f882901c6001600160f81b0383165f6117a482612bc6565b90505f8360038111156117b9576117b9613bd2565b036117eb576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506118a7565b60018360038111156117ff576117ff613bd2565b0361182b57806040516020016118159190613c86565b60405160208183030381529060405293506118a7565b600283600381111561183f5761183f613bd2565b0361185557806040516020016118159190613cbe565b600383600381111561186957611869613bd2565b036118a7576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016118ca91906133c1565b60405180910390fd5b6118db612c78565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611938573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195c9190613c43565b9050336001600160a01b03821614801590611a0857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f29190613c43565b6001600160a01b0316336001600160a01b031614155b8015611a1a5750611a1833612471565b155b15611a37576040516282b42960e81b815260040160405180910390fd5b5f611a406120ac565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aab9190613cf7565b9050611ac16001600160a01b0385168483612ca0565b81611aca6120ac565b14611ae8576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104b560015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb49190613c43565b6001600160a01b0316336001600160a01b031614158015611bdb5750611bd933612471565b155b15611bf8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611c4190831515815260200190565b60405180910390a150565b83421115611c6d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611c945760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611d7e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611dbc57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611e5b57506001600160a01b038516155b15611e795760405163f0dd15fd60e01b815260040160405180910390fd5b828114611e995760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611ee857611ee0858583818110611eb857611eb8613c72565b905060200201358888868686818110611ed357611ed3613c72565b9050602002013533611ef1565b600101611e9b565b50505050505050565b6001600160a01b0384161580611f0e57506001600160a01b038316155b15611f2c5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611fec576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611fec575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611fea575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611fe4908490613c0d565b90915550505b505b5f858152600a602090815260408083206001600160a01b03881684529091528120805484929061201d908490613c0d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290612053908490613bfa565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166393c520626121d16040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b6040516001600160e01b031960e084901b1681526004810191909152306024820152604401606060405180830381865afa158015612211573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122359190613d55565b51919050565b5f612244612c78565b61224d82612cf2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ce9190613c43565b90506001600160a01b0381166122e760208501856133e7565b6001600160a01b03161461230e57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b038216148015906123b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561237e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a29190613c43565b6001600160a01b0316336001600160a01b031614155b80156123ca57506123c833612471565b155b156123e7576040516282b42960e81b815260040160405180910390fd5b5f6123f0612774565b600980545f909155909150612406818387612d27565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461244560408a0160208b0161340f565b60408051938452602084019290925215159082015260600160405180910390a25050506105fd60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156124ce573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124f59190810190613db8565b90505f5b815181101561254657836001600160a01b031682828151811061251e5761251e613c72565b60200260200101516001600160a01b03160361253e575060019392505050565b6001016124f9565b505f9392505050565b606060f882901c6001600160f81b0383165f61256a82612bc6565b90505f83600381111561257f5761257f613bd2565b036125b1576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506118a7565b60018360038111156125c5576125c5613bd2565b036125db57806040516020016118159190613e65565b60028360038111156125ef576125ef613bd2565b0361260557806040516020016118159190613e9c565b600383600381111561261957612619613bd2565b036118a757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f612786670de0b6b3a764000061293d565b905090565b6127e36040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916128db9116612dbd565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261290d92900416612dbd565b905292915050565b5f6107d28383670de0b6b3a7640000612e31565b5f6107d283670de0b6b3a764000084612e31565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b602060405180830381865af4158015612a5d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190613cf7565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b5f612bab600b5f612b98600286612e4c565b81526020019081526020015f2054612e80565b612bbc600b5f612b98600187612e4c565b6108e29190613f0a565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612c6a57612bff600a86613f3d565b612c0a906030613bfa565b60f81b826001612c1a8487613c0d565b612c249190613c0d565b81518110612c3457612c34613c72565b60200101906001600160f81b03191690815f1a90535080612c5481613f50565b9150612c639050600a86613f68565b9450612bee565b918290030190815292915050565b60025f5403612c9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d6e908490612ead565b5f612d0060208301836133e7565b6001600160a01b0316036104b55760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612d338585612915565b9050612d3e81612a81565b9450845f03612d50575f9150506107d2565b849150612d63604084016020850161340f565b15612d9257612d8b85612d7960208601866133e7565b612d866040870187613f7b565b612f0e565b9150612db5565b612db585612da360208601866133e7565b612db06040870187613f7b565b613105565b509392505050565b5f80670de0b6b3a7640000612dd061311e565b612dda9190613fbe565b9050808311612de9575f612df3565b612df38184613c0d565b91506107d2612e2a670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613fbe565b8390612929565b5f825f190484118302158202612e45575f80fd5b5091020490565b5f6001600160f81b03821115612e755760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612ea95760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612ec16001600160a01b03841683613149565b905080515f14158015612ee5575080806020019051810190612ee39190613fd5565b155b15610d6e57604051635274afe760e01b81526001600160a01b03841660048201526024016118ca565b5f80612f198661293d565b905080156130fc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506130448961293d565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156130d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f89190613ff0565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f612786427f0000000000000000000000000000000000000000000000000000000000000000613156565b60606107d283835f61316b565b5f6131618284613f3d565b6107d29084613c0d565b6060814710156131905760405163cd78605960e01b81523060048201526024016118ca565b5f80856001600160a01b031684866040516131ab9190614012565b5f6040518083038185875af1925050503d805f81146131e5576040519150601f19603f3d011682016040523d82523d5f602084013e6131ea565b606091505b50915091506131fa868383613204565b9695505050505050565b6060826132195761321482613260565b6107d2565b815115801561323057506001600160a01b0384163b155b1561325957604051639996b31560e01b81526001600160a01b03851660048201526024016118ca565b50806107d2565b8051156132705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161335860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561336d575f80fd5b5035919050565b5f5b8381101561338e578181015183820152602001613376565b50505f910152565b5f81518084526133ad816020860160208601613374565b601f01601f19169290920160200192915050565b602081525f6107d26020830184613396565b6001600160a01b03811681146104b5575f80fd5b5f602082840312156133f7575f80fd5b81356107d2816133d3565b80151581146104b5575f80fd5b5f6020828403121561341f575f80fd5b81356107d281613402565b60ff811681146104b5575f80fd5b5f805f805f805f805f6101208a8c031215613451575f80fd5b8935985060208a0135975060408a013561346a816133d3565b965060608a013561347a816133d3565b955060808a013561348a81613402565b945060a08a0135935060c08a01356134a18161342a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126134d1575f80fd5b50813567ffffffffffffffff8111156134e8575f80fd5b6020830191508360208260051b8501011115613502575f80fd5b9250929050565b5f805f805f806080878903121561351e575f80fd5b8635613529816133d3565b95506020870135613539816133d3565b9450604087013567ffffffffffffffff80821115613555575f80fd5b6135618a838b016134c1565b90965094506060890135915080821115613579575f80fd5b5061358689828a016134c1565b979a9699509497509295939492505050565b5f805f80608085870312156135ab575f80fd5b8435935060208501356135bd816133d3565b925060408501356135cd816133d3565b9396929550929360600135925050565b5f805f606084860312156135ef575f80fd5b833592506020840135613601816133d3565b91506040840135613611816133d3565b809150509250925092565b5f806040838503121561362d575f80fd5b82359150602083013561363f816133d3565b809150509250929050565b5f6020828403121561365a575f80fd5b813567ffffffffffffffff811115613670575f80fd5b8201606081850312156107d2575f80fd5b5f805f8060808587031215613694575f80fd5b8435935060208501356136a6816133d3565b92506040850135915060608501356136bd816133d3565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561377a575f80fd5b8235613785816133d3565b9150602083013561363f81613402565b5f805f606084860312156137a7575f80fd5b8335925060208401356137b9816133d3565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516137f660208401826001600160a01b03169052565b50604083015161381160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613883828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613901575f80fd5b823567ffffffffffffffff811115613917575f80fd5b613923858286016134c1565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156139665783518352928401929184019160010161394a565b50909695505050505050565b81516001600160801b031681526101808101602083015161399e60208401826001600160801b03169052565b5060408301516139b960408401826001600160801b03169052565b5060608301516139d460608401826001600160801b03169052565b5060808301516139e96080840182600f0b9052565b5060a0830151613a0460a08401826001600160801b03169052565b5060c0830151613a1f60c08401826001600160801b03169052565b5060e0830151613a3a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526138e8565b5f805f805f60a08688031215613a97575f80fd5b853594506020860135613aa9816133d3565b93506040860135613ab9816133d3565b9250606086013591506080860135613ad0816133d3565b809150509295509295909350565b5f8060408385031215613aef575f80fd5b8235613afa816133d3565b9150602083013561363f816133d3565b5f60208083525f84545f60018260011c91506001831680613b2c57607f831692505b602083108103613b4a57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613b695760018114613b7f57613ba8565b60ff198616825284151560051b82019650613ba8565b5f8b8152602090205f5b86811015613ba257815484820152908501908901613b89565b83019750505b50949998505050505050505050565b5f60208284031215613bc7575f80fd5b81516107d28161342a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156108e2576108e2613be6565b818103818111156108e2576108e2613be6565b5f8060408385031215613c31575f80fd5b82519150602083015161363f81613402565b5f60208284031215613c53575f80fd5b81516107d2816133d3565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613cb1816011850160208701613374565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613cea816012850160208701613374565b9190910160120192915050565b5f60208284031215613d07575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d3757613d37613c5e565b604052919050565b80516001600160801b03811681146105fd575f80fd5b5f60608284031215613d65575f80fd5b6040516060810181811067ffffffffffffffff82111715613d8857613d88613c5e565b60405282518152613d9b60208401613d3f565b6020820152613dac60408401613d3f565b60408201529392505050565b5f6020808385031215613dc9575f80fd5b825167ffffffffffffffff80821115613de0575f80fd5b818501915085601f830112613df3575f80fd5b815181811115613e0557613e05613c5e565b8060051b9150613e16848301613d0e565b8181529183018401918481019088841115613e2f575f80fd5b938501935b83851015613e595784519250613e49836133d3565b8282529385019390850190613e34565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613e8f816010850160208701613374565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613cb1816011850160208701613374565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b8181035f8312801583831316838312821617156114b4576114b4613be6565b634e487b7160e01b5f52601260045260245ffd5b5f82613f4b57613f4b613f29565b500690565b5f60018201613f6157613f61613be6565b5060010190565b5f82613f7657613f76613f29565b500490565b5f808335601e19843603018112613f90575f80fd5b83018035915067ffffffffffffffff821115613faa575f80fd5b602001915036819003821315613502575f80fd5b80820281158282048414176108e2576108e2613be6565b5f60208284031215613fe5575f80fd5b81516107d281613402565b5f8060408385031215614001575f80fd5b505080516020909101519092909150565b5f8251614023818460208701613374565b919091019291505056fea26469706673582212204cc79012074297f68544d022452c11f2196c5affb9c9eb9e24d2474f9fa30fb464736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collateralToken()": "b2016bd4", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "id()": "af640d0f", - "irm()": "28e8fe7d", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "lltv()": "217b7ffe", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "oracle()": "7dc0d1d0", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vault()": "fbfa77cf", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts deleted file mode 100644 index 88816866d..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const MorphoBlueTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts.map deleted file mode 100644 index bace8ac25..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IwlwC,KAAK,MAAM,EAAE;;;;CAI1owC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.js deleted file mode 100644 index ec28bd71b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const MorphoBlueTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506150188061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614a0a80620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004a0a38038062004a0a8339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051614063620009a75f395f818161076301528181610eae015281816121a801528181612a1801528181612b5c015261301901525f81816107e701528181610e7f01528181612179015281816129f601528181612b3a0152612fea01525f8181610cc701528181610e500152818161214a015281816129d401528181612b180152612fbb01525f8181610e21015281816113a50152818161211b015281816129b201528181612af60152612f8c01525f8181611758015281816120af0152818161296e01528181612ab20152612f2301525f8181610f7d01526126c601525f8181610f4e015261268901525f8181610d31015281816110ad0152818161113b015281816111c901528181611257015281816118de0152818161197401528181611b360152818161225001528181612324015261247501525f61101501525f8181610fef015261287001525f8181610fc9015261284a01525f8181610fa3015261282401525f61136201525f61133c01525f61131601525f6112f001525f8181611087015261289601525f818161103b0152818161152c0152612e0601525f8181611061015261312501525f818161067e0152610f1f01525f818161081e01528181610df201528181610ef0015281816114c9015281816120ec0152818161299001528181612ad40152612f5d01526140635ff3fe608060405234801561000f575f80fd5b506004361061026a575f3560e01c80637180c8ca1161014b578063bd85b039116100bf578063cf210e6511610084578063cf210e6514610546578063d816574314610559578063e44808bc1461056e578063e985e9c514610581578063fba5600814610594578063fbfa77cf146105c3575f80fd5b8063bd85b039146104f0578063becee9c314610503578063c55dae6314610523578063c69e16ad1461052b578063c6e6f59214610533575f80fd5b8063a22cb46511610110578063a22cb46514610494578063ab033ea9146104a7578063af640d0f146104b8578063b0d96580146104c0578063b2016bd4146104d5578063b88fed9f146104dd575f80fd5b80637180c8ca1461044c5780637dc0d1d01461045e5780637ecebe0014610466578063950c5d03146104795780639cd241af14610481575f80fd5b806321ff32a9116101e25780633e691db9116101a75780633e691db9146103d357806346fbf68e146103e65780634e41a1fb146104095780634ed2d6ac1461041c57806354fd4d501461042f57806360246c8814610437575f80fd5b806321ff32a91461038357806328e8fe7d14610396578063313ce5671461039e5780633656eec2146103b85780633a98ef39146103cb575f80fd5b80630a4e1493116102335780630a4e1493146102cf57806314e5f07b146102ef57806317fad7fc146103025780631c0f12b61461031557806320fc488114610328578063217b7ffe1461036d575f80fd5b8062ad800c1461026e57806301681a621461029757806302329a29146102ac57806304baa00b146102bf57806306fdde03146102c7575b5f80fd5b61028161027c36600461335d565b6105cb565b60405161028e91906133c1565b60405180910390f35b6102aa6102a53660046133e7565b610602565b005b6102aa6102ba36600461340f565b61060b565b610281610614565b610281610659565b6102d7610670565b6040516001600160a01b03909116815260200161028e565b6102aa6102fd366004613438565b6106af565b6102aa610310366004613509565b6106cb565b6102aa610323366004613598565b6106e1565b61033b61033636600461335d565b6106f4565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161028e565b61037561075d565b60405190815260200161028e565b6103756103913660046135dd565b610794565b6102d76107d9565b6103a6610818565b60405160ff909116815260200161028e565b6103756103c636600461361c565b6108b0565b6103756108e8565b6103756103e136600461364a565b610906565b6103f96103f43660046133e7565b610910565b604051901515815260200161028e565b61028161041736600461335d565b61092f565b6102aa61042a366004613681565b61093d565b61028161098b565b61043f6109c0565b60405161028e91906136c8565b6102aa61045a366004613769565b5050565b6102d7610cb9565b6103756104743660046133e7565b610cf8565b6102d7610d23565b6102aa61048f366004613795565b610d62565b6102aa6104a2366004613769565b610d73565b6102aa6104b53660046133e7565b50565b610375610dde565b6104c8610ed7565b60405161028e91906137ca565b6102d7611397565b6103756104eb36600461335d565b6113d6565b6103756104fe36600461335d565b6113e3565b6105166105113660046138f0565b611404565b60405161028e919061392f565b6102d76114bb565b6103756114fa565b61037561054136600461335d565b611513565b61037561055436600461335d565b611520565b610561611556565b60405161028e9190613972565b6102aa61057c366004613a83565b611661565b6103f961058f366004613ade565b6116a9565b61059c6116ec565b6040805182516001600160801b03908116825260209384015116928101929092520161028e565b6102d761174a565b60606105fd6105d983611789565b6040516020016105e991906133c1565b6040516020818303038152906040526118af565b919050565b6104b5816118d3565b6104b581611b34565b6060610656604051806040016040528060148152602001734d6f7270686f426c75654879706572647269766560601b8152506040516020016105e991906133c1565b90565b606061065660016040516020016105e99190613b0a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6106c0898989898989898989611c4c565b505050505050505050565b6106d9868686868686611e3e565b505050505050565b6106ee8484848433611ef1565b50505050565b604080516060810182525f80825260208201819052918101919091526105fd60085f8481526020019081526020015f206040516020016105e9919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006040516020016105e991815260200190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107d291016105e9565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190613bb7565b6040805160ff9092166020830152016105e9565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526108e291016105e9565b92915050565b5f6106566108f46120ac565b6040516020016105e991815260200190565b5f6108e28261223b565b5f6105fd61091d83612471565b604080519115156020830152016105e9565b60606105fd6105d98361254f565b836109478161264b565b6001600160a01b0316336001600160a01b03161461097857604051632aab8bd360e01b815260040160405180910390fd5b61098485858585612708565b5050505050565b606061065660405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105e991906133c1565b610a2a604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610a33612774565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a9d9190613bfa565b610aa79190613c0d565b90505f8215610bb65773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610ad38561278b565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610b82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190613c20565b509050610bb38184612915565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610c8657610c818486612929565b610c88565b5f5b81526003546001600160801b0316602091820152604051919250610cb2916105e9918491016136c8565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105fd91016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b610d6e83838333612708565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f6106566108f46040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b610edf613289565b6106566040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611195573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b99190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112479190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190613c43565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105e991906137ca565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6105fd6108f48361293d565b5f818152600b60209081526040808320548151928301526105fd91016105e9565b60605f8267ffffffffffffffff81111561142057611420613c5e565b604051908082528060200260200182016040528015611449578160200160208202803683370190505b5090505f5b8381101561149f575f85858381811061146957611469613c72565b9050602002013590505f815490508084848151811061148a5761148a613c72565b6020908102919091010152505060010161144e565b506114b4816040516020016105e9919061392f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106566009546040516020016105e991815260200190565b5f6105fd6108f483612a81565b5f6105fd6108f46115517f000000000000000000000000000000000000000000000000000000000000000085613bfa565b612b86565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261065660026040516020016105e9919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461166b8161264b565b6001600160a01b0316336001600160a01b03161461169c57604051632aab8bd360e01b815260040160405180910390fd5b6106d98686868686611ef1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916108e291016105e9565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610656906060016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b606060f882901c6001600160f81b0383165f6117a482612bc6565b90505f8360038111156117b9576117b9613bd2565b036117eb576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506118a7565b60018360038111156117ff576117ff613bd2565b0361182b57806040516020016118159190613c86565b60405160208183030381529060405293506118a7565b600283600381111561183f5761183f613bd2565b0361185557806040516020016118159190613cbe565b600383600381111561186957611869613bd2565b036118a7576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016118ca91906133c1565b60405180910390fd5b6118db612c78565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611938573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195c9190613c43565b9050336001600160a01b03821614801590611a0857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f29190613c43565b6001600160a01b0316336001600160a01b031614155b8015611a1a5750611a1833612471565b155b15611a37576040516282b42960e81b815260040160405180910390fd5b5f611a406120ac565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aab9190613cf7565b9050611ac16001600160a01b0385168483612ca0565b81611aca6120ac565b14611ae8576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104b560015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb49190613c43565b6001600160a01b0316336001600160a01b031614158015611bdb5750611bd933612471565b155b15611bf8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611c4190831515815260200190565b60405180910390a150565b83421115611c6d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611c945760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611d7e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611dbc57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611e5b57506001600160a01b038516155b15611e795760405163f0dd15fd60e01b815260040160405180910390fd5b828114611e995760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611ee857611ee0858583818110611eb857611eb8613c72565b905060200201358888868686818110611ed357611ed3613c72565b9050602002013533611ef1565b600101611e9b565b50505050505050565b6001600160a01b0384161580611f0e57506001600160a01b038316155b15611f2c5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611fec576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611fec575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611fea575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611fe4908490613c0d565b90915550505b505b5f858152600a602090815260408083206001600160a01b03881684529091528120805484929061201d908490613c0d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290612053908490613bfa565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166393c520626121d16040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b6040516001600160e01b031960e084901b1681526004810191909152306024820152604401606060405180830381865afa158015612211573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122359190613d55565b51919050565b5f612244612c78565b61224d82612cf2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ce9190613c43565b90506001600160a01b0381166122e760208501856133e7565b6001600160a01b03161461230e57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b038216148015906123b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561237e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a29190613c43565b6001600160a01b0316336001600160a01b031614155b80156123ca57506123c833612471565b155b156123e7576040516282b42960e81b815260040160405180910390fd5b5f6123f0612774565b600980545f909155909150612406818387612d27565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461244560408a0160208b0161340f565b60408051938452602084019290925215159082015260600160405180910390a25050506105fd60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156124ce573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124f59190810190613db8565b90505f5b815181101561254657836001600160a01b031682828151811061251e5761251e613c72565b60200260200101516001600160a01b03160361253e575060019392505050565b6001016124f9565b505f9392505050565b606060f882901c6001600160f81b0383165f61256a82612bc6565b90505f83600381111561257f5761257f613bd2565b036125b1576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506118a7565b60018360038111156125c5576125c5613bd2565b036125db57806040516020016118159190613e65565b60028360038111156125ef576125ef613bd2565b0361260557806040516020016118159190613e9c565b600383600381111561261957612619613bd2565b036118a757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f612786670de0b6b3a764000061293d565b905090565b6127e36040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916128db9116612dbd565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261290d92900416612dbd565b905292915050565b5f6107d28383670de0b6b3a7640000612e31565b5f6107d283670de0b6b3a764000084612e31565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b602060405180830381865af4158015612a5d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190613cf7565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b5f612bab600b5f612b98600286612e4c565b81526020019081526020015f2054612e80565b612bbc600b5f612b98600187612e4c565b6108e29190613f0a565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612c6a57612bff600a86613f3d565b612c0a906030613bfa565b60f81b826001612c1a8487613c0d565b612c249190613c0d565b81518110612c3457612c34613c72565b60200101906001600160f81b03191690815f1a90535080612c5481613f50565b9150612c639050600a86613f68565b9450612bee565b918290030190815292915050565b60025f5403612c9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d6e908490612ead565b5f612d0060208301836133e7565b6001600160a01b0316036104b55760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612d338585612915565b9050612d3e81612a81565b9450845f03612d50575f9150506107d2565b849150612d63604084016020850161340f565b15612d9257612d8b85612d7960208601866133e7565b612d866040870187613f7b565b612f0e565b9150612db5565b612db585612da360208601866133e7565b612db06040870187613f7b565b613105565b509392505050565b5f80670de0b6b3a7640000612dd061311e565b612dda9190613fbe565b9050808311612de9575f612df3565b612df38184613c0d565b91506107d2612e2a670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613fbe565b8390612929565b5f825f190484118302158202612e45575f80fd5b5091020490565b5f6001600160f81b03821115612e755760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612ea95760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612ec16001600160a01b03841683613149565b905080515f14158015612ee5575080806020019051810190612ee39190613fd5565b155b15610d6e57604051635274afe760e01b81526001600160a01b03841660048201526024016118ca565b5f80612f198661293d565b905080156130fc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506130448961293d565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156130d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f89190613ff0565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f612786427f0000000000000000000000000000000000000000000000000000000000000000613156565b60606107d283835f61316b565b5f6131618284613f3d565b6107d29084613c0d565b6060814710156131905760405163cd78605960e01b81523060048201526024016118ca565b5f80856001600160a01b031684866040516131ab9190614012565b5f6040518083038185875af1925050503d805f81146131e5576040519150601f19603f3d011682016040523d82523d5f602084013e6131ea565b606091505b50915091506131fa868383613204565b9695505050505050565b6060826132195761321482613260565b6107d2565b815115801561323057506001600160a01b0384163b155b1561325957604051639996b31560e01b81526001600160a01b03851660048201526024016118ca565b50806107d2565b8051156132705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161335860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561336d575f80fd5b5035919050565b5f5b8381101561338e578181015183820152602001613376565b50505f910152565b5f81518084526133ad816020860160208601613374565b601f01601f19169290920160200192915050565b602081525f6107d26020830184613396565b6001600160a01b03811681146104b5575f80fd5b5f602082840312156133f7575f80fd5b81356107d2816133d3565b80151581146104b5575f80fd5b5f6020828403121561341f575f80fd5b81356107d281613402565b60ff811681146104b5575f80fd5b5f805f805f805f805f6101208a8c031215613451575f80fd5b8935985060208a0135975060408a013561346a816133d3565b965060608a013561347a816133d3565b955060808a013561348a81613402565b945060a08a0135935060c08a01356134a18161342a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126134d1575f80fd5b50813567ffffffffffffffff8111156134e8575f80fd5b6020830191508360208260051b8501011115613502575f80fd5b9250929050565b5f805f805f806080878903121561351e575f80fd5b8635613529816133d3565b95506020870135613539816133d3565b9450604087013567ffffffffffffffff80821115613555575f80fd5b6135618a838b016134c1565b90965094506060890135915080821115613579575f80fd5b5061358689828a016134c1565b979a9699509497509295939492505050565b5f805f80608085870312156135ab575f80fd5b8435935060208501356135bd816133d3565b925060408501356135cd816133d3565b9396929550929360600135925050565b5f805f606084860312156135ef575f80fd5b833592506020840135613601816133d3565b91506040840135613611816133d3565b809150509250925092565b5f806040838503121561362d575f80fd5b82359150602083013561363f816133d3565b809150509250929050565b5f6020828403121561365a575f80fd5b813567ffffffffffffffff811115613670575f80fd5b8201606081850312156107d2575f80fd5b5f805f8060808587031215613694575f80fd5b8435935060208501356136a6816133d3565b92506040850135915060608501356136bd816133d3565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561377a575f80fd5b8235613785816133d3565b9150602083013561363f81613402565b5f805f606084860312156137a7575f80fd5b8335925060208401356137b9816133d3565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516137f660208401826001600160a01b03169052565b50604083015161381160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613883828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613901575f80fd5b823567ffffffffffffffff811115613917575f80fd5b613923858286016134c1565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156139665783518352928401929184019160010161394a565b50909695505050505050565b81516001600160801b031681526101808101602083015161399e60208401826001600160801b03169052565b5060408301516139b960408401826001600160801b03169052565b5060608301516139d460608401826001600160801b03169052565b5060808301516139e96080840182600f0b9052565b5060a0830151613a0460a08401826001600160801b03169052565b5060c0830151613a1f60c08401826001600160801b03169052565b5060e0830151613a3a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526138e8565b5f805f805f60a08688031215613a97575f80fd5b853594506020860135613aa9816133d3565b93506040860135613ab9816133d3565b9250606086013591506080860135613ad0816133d3565b809150509295509295909350565b5f8060408385031215613aef575f80fd5b8235613afa816133d3565b9150602083013561363f816133d3565b5f60208083525f84545f60018260011c91506001831680613b2c57607f831692505b602083108103613b4a57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613b695760018114613b7f57613ba8565b60ff198616825284151560051b82019650613ba8565b5f8b8152602090205f5b86811015613ba257815484820152908501908901613b89565b83019750505b50949998505050505050505050565b5f60208284031215613bc7575f80fd5b81516107d28161342a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156108e2576108e2613be6565b818103818111156108e2576108e2613be6565b5f8060408385031215613c31575f80fd5b82519150602083015161363f81613402565b5f60208284031215613c53575f80fd5b81516107d2816133d3565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613cb1816011850160208701613374565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613cea816012850160208701613374565b9190910160120192915050565b5f60208284031215613d07575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d3757613d37613c5e565b604052919050565b80516001600160801b03811681146105fd575f80fd5b5f60608284031215613d65575f80fd5b6040516060810181811067ffffffffffffffff82111715613d8857613d88613c5e565b60405282518152613d9b60208401613d3f565b6020820152613dac60408401613d3f565b60408201529392505050565b5f6020808385031215613dc9575f80fd5b825167ffffffffffffffff80821115613de0575f80fd5b818501915085601f830112613df3575f80fd5b815181811115613e0557613e05613c5e565b8060051b9150613e16848301613d0e565b8181529183018401918481019088841115613e2f575f80fd5b938501935b83851015613e595784519250613e49836133d3565b8282529385019390850190613e34565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613e8f816010850160208701613374565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613cb1816011850160208701613374565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b8181035f8312801583831316838312821617156114b4576114b4613be6565b634e487b7160e01b5f52601260045260245ffd5b5f82613f4b57613f4b613f29565b500690565b5f60018201613f6157613f61613be6565b5060010190565b5f82613f7657613f76613f29565b500490565b5f808335601e19843603018112613f90575f80fd5b83018035915067ffffffffffffffff821115613faa575f80fd5b602001915036819003821315613502575f80fd5b80820281158282048414176108e2576108e2613be6565b5f60208284031215613fe5575f80fd5b81516107d281613402565b5f8060408385031215614001575f80fd5b505080516020909101519092909150565b5f8251614023818460208701613374565b919091019291505056fea26469706673582212204cc79012074297f68544d022452c11f2196c5affb9c9eb9e24d2474f9fa30fb464736f6c63430008160033a264697066735822122089a1d95b8b8eddb97725d4560a4d5ebc605708075377d3efc93f5ba8c9b9250964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts deleted file mode 100644 index 331d76972..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts +++ /dev/null @@ -1,819 +0,0 @@ -export declare const MorphoBlueTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts.map deleted file mode 100644 index 7fe3ae38d..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget1.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu/BgslC,KAAK,MAAM,EAAE;;;;;CAK1ulC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.js deleted file mode 100644 index 5248ee908..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1.js +++ /dev/null @@ -1,1021 +0,0 @@ -export const MorphoBlueTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b5060405162004565380380620045658339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613bee620009775f395f8181611a45015281816126f2015261282701525f8181611a23015281816126d001526127f801525f8181611a01015281816126ae01526127c901525f81816119df0152818161268c015261279a01525f818161199b01528181612648015261273101525f50505f50505f610b2e01525f50505f818160a9015281816103140152612e9c01525f818161139301528181611791015281816117f401528181612a8501528181612ac101528181612cb90152612e7601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612e5001525f611bf301525f8181611d140152818161235501526123cd01525f81816108a901528181610f4301528181611ce801526123a101525f8181610e3e015261231b01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ec201525f81816107e701528181610ec4015281816116ef015281816121f401526133e601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f81816119bd0152818161266a015261276b0152613bee5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613676565b610070565b60405190815260200160405180910390f35b61004b61006b366004613676565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906136e4565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136f7565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361372a565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613752565b6102bd8a6102b78d8f6136e4565b90611584565b8d6102cb60408c018c61376d565b6040516102df9897969594939291906137d8565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906136e4565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361381f565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361372a565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613752565b8a61050260408b018b61376d565b6040516105159796959493929190613846565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361372a565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611aae565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6136e4565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611ac3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b92505b5061073e83611af9565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613886565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836136e4565b4290611b22565b8461102b565b6107db88611b36565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613886565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611cd3565b915091508060095f82825461087891906136e4565b909155506108939050865f8461088d81611321565b88611164565b61089d81836136e4565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611da0565b91506108e16108dc8385611584565b611de9565b600680546002906109029084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611af9565b60068054601090610951908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611cd3565b915091508060095f8282546109c491906136e4565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613886565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611af9565b60068054601090610a68908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136f7565b5f61134e565b8e610ac58482611e12565b50505b5f610ad284612001565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906138d9565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612143565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613886565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611ac3565b90505f610d5f8a6121c9565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612218565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612287565b6122b6565b15610e7457610e746113ec565b5f805f610e8385878b876122f7565b9c5091945092509050610e968184613886565b610ea090896136e4565b9750610eac82846136e4565b610eb6908d6136e4565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613886565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611da0565b9950610f73878a613886565b9850670de0b6b3a7640000610ff0610f8b87876136e4565b600254610fa9908f90600160801b90046001600160801b0316613886565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612409565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613886565b6110d191906138f4565b85670de0b6b3a76400006110e5878a613886565b6110ef91906138f4565b8592919060016124a5565b611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611af9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138f4565b600554600160801b90046001600160801b031691908a5f6124a5565b600580546001600160801b03928316600160801b0292169190911790556111d286611af9565b6111dc908261390b565b600480546001600160801b03928316600160801b02921691909117905561120284611af9565b600280545f9061121c9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361254b565b600480545f9061125d908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611af9565b600280546010906112af908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136f7565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612586565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836125e8565b6003546113ce91906001600160801b03166136e4565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611e12565b5f805f61141d84611b36565b90925090505f61142d8686611584565b905081831115611445576114428683856125fc565b95505b8281101561145757808303925061145b565b5f92505b61146483611de9565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611af9565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612617565b9450845f03611516575f91505061157d565b8491506115296040840160208501613752565b15611558576115518561153f602086018661372a565b61154c604087018761376d565b61271c565b915061157b565b61157b85611569602086018661372a565b611576604087018761376d565b612913565b505b9392505050565b5f61157d8383670de0b6b3a76400006125fc565b5f805f805f805f806115a8611ac3565b90505f6115b48a6121c9565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061292c565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b985061169a84878b886122f7565b9c5091945090925090506116ae8284613886565b6116b89089613886565b97506116c481846136e4565b6116ce908e613886565b9c506116da8a8e6136e4565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613886565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612409565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613886565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136f7565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361297f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138f4565b6005546001600160801b031691908c5f6124a5565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613886565b90506118a281611af9565b600380546001600160801b03928316600160801b0292169190911790556118c883611af9565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261254b565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611af9565b6002805460109061193c908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b602060405180830381865af4158015611a8a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061399b565b5f611ab982846139c6565b61157d9084613886565b6002546004545f916105a6916001600160801b0390911690600f0b61297f565b5f61007d82611af38588886125fc565b906129a4565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611b30578261157d565b50919050565b6006545f908190611b58908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611cce575f611b818383613886565b9050611b906110fa8286612a13565b60068054601090611bb2908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bea8583612a2790919063ffffffff16565b90505f611c17827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611c2a91906136e4565b90915550611c3a90508183613886565b9150611c4582611af9565b600280545f90611c5f9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c8c82612a3b565b600480545f90611ca0908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611cdf8785612a27565b91505f611d0c837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611d38817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d5b57611d4a8282613886565b611d549084613886565b9250611d72565b611d658282613886565b611d6f90846136e4565b92505b86861015611d9557611d858387896125fc565b9250611d928287896125fc565b91505b509550959350505050565b5f80611db784611db18a888a6125fc565b90612a27565b9050611dc48884866125fc565b611dce90826136e4565b905086811115611dde5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e5c916001600160801b031690613886565b9050805f03611e6f57600191505061131b565b5f611e7985612a64565b9050805f03611e8d5760019250505061131b565b5f80611e9a838589612aff565b9150915080611eaf575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611eea929190613a57565b6040805180830381865af4158015611f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f289190613acc565b91509150611f46611f3882611321565b611f4190613aee565b612c73565b925082611f5b575f965050505050505061131b565b611f6482611af9565b600780545f90611f7e9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fab81611af9565b60078054601090611fcd908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61202887612e07565b6040518263ffffffff1660e01b81526004016120449190613b08565b6040805180830381865af415801561205e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120829190613b17565b915091508061209757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120fc916136e4565b6121069190613886565b9050805f0361211c57505f958695509350505050565b5f80871161212a575f612135565b6121358488846125fc565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561216657612166613b45565b6040519080825280601f01601f191660200182016040528015612190576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121b0578692505b828152825f602083013e90999098509650505050505050565b5f806121d36105ab565b90508083116121e2575f6121ec565b6121ec8184613886565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612a27565b5f808061223861223088670de0b6b3a7640000613886565b899087612f41565b9050861561227a5761224a88886125e8565b915061226b8a8a846122648a670de0b6b3a7640000613886565b8989612f64565b925061227783826136e4565b90505b9750975097945050505050565b5f6122a461229d84670de0b6b3a7640000613886565b83906125e8565b61157d90670de0b6b3a7640000613886565b5f806122ec856122c4611ac3565b6122ce91906136e4565b600254610fa9908790600160801b90046001600160801b0316613886565b909210949350505050565b5f80808061234d87866123468b6123406123198c670de0b6b3a7640000613886565b7f0000000000000000000000000000000000000000000000000000000000000000906125e8565b906125e8565b9190612f41565b9350612379847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61239961239189670de0b6b3a7640000613886565b8a9088612f41565b90506123c5817f00000000000000000000000000000000000000000000000000000000000000006125e8565b93506123f1847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123fb90846136e4565b915050945094509450949050565b5f805f805f808888101561247557861561242b576124288d898b6125fc565b9c505b6124368c898b6125fc565b9b506124418b611321565b61244a8d611321565b61245491906136f7565b90506124618b898b6125fc565b9a5061246e8a898b6125fc565b9950612494565b61247e8b611321565b6124878d611321565b61249191906136f7565b90505b9b9c9a9b999a975050505050505050565b5f825f036124b4575084612542565b8115612506576124e56124c784876136e4565b6124d18587611584565b6124db888a611584565b611db191906136e4565b90505f6124f28588611b22565b905080821015612500578091505b50612542565b82850361251457505f612542565b61253f6125218487613886565b61252b85876125e8565b612535888a611584565b611db19190613886565b90505b95945050505050565b5f60016001607f1b0319821280612568575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612592845f612f86565b61259c845f612f86565b6125a691906136f7565b90505f8113156125c1576125ba81866136e4565b94506125df565b5f8112156125df576125d281613aee565b6125dc9086613886565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612f41565b5f825f190484118302158202612610575f80fd5b5091020490565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b5f806127278661196a565b9050801561290a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506128528961196a565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156128e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129069190613acc565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f808061294c61294488670de0b6b3a7640000613886565b8990876125fc565b9050861561227a5761295e8888611584565b915061226b8a8a846129788a670de0b6b3a7640000613886565b8989612f9b565b5f8061298b8484612fab565b90925090508061299d5761299d6113ec565b5092915050565b5f815f036129bb5750670de0b6b3a764000061131b565b825f036129c957505f61131b565b5f6129d383611321565b90505f6129e76129e286611321565b612fe6565b90508181026129fe670de0b6b3a764000082613b59565b9050612a098161320b565b9695505050505050565b5f61157d83670de0b6b3a764000084612f41565b5f61157d83670de0b6b3a7640000846125fc565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612a7e906001600160801b031684612a13565b9050612aaa7f0000000000000000000000000000000000000000000000000000000000000000826136e4565b6002546001600160801b03161115611b30576002547f000000000000000000000000000000000000000000000000000000000000000090612af59083906001600160801b0316613886565b61157d9190613886565b612b076135d7565b5f80612b1284612e07565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b4c9190613b08565b6040805180830381865af4158015612b66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8a9190613b17565b9350905082612b9e57505f9150612c6b9050565b5f612bc4612bbf84610160015185610140015161158490919063ffffffff16565b611321565b612be4612bbf8561012001518661010001516125e890919063ffffffff16565b612bee91906136f7565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d4d9190613b85565b935093509350935080612d6857505f98975050505050505050565b868414612d9957612d7884611af9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dca57612da98361254b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612df857612dda82611af9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e0f613621565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f07911661339d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f399290041661339d565b905292915050565b5f825f190484118302158202612f55575f80fd5b50910281810615159190040190565b5f80612f74888888888888613411565b909250905080611dde57611dde6113ec565b5f818313612f94578161157d565b5090919050565b5f80612f748888888888886134ed565b5f805f83612fb886611321565b612fc291906136f7565b90505f811215612fd8575f809250925050612fdf565b9150600190505b9250929050565b5f8082136130075760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061308a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361322457505f919050565b680755bf798b4a1bf1e5821261324d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a0974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133b06105ab565b6133ba91906138f4565b90508083116133c9575f6133d3565b6133d38184613886565b915061157d61340a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138f4565b8390612a27565b5f805f61342189898888886135a9565b905086881015613437575f8092509250506134e2565b968690039661344688876129a4565b97508781101561345c575f8092509250506134e2565b87810361346a818688612f41565b9050670de0b6b3a7640000811061349e57613497613490670de0b6b3a764000089612a13565b82906129a4565b90506134b6565b6134b3613490670de0b6b3a764000089612a27565b90505b6134c08186612a13565b9050898110156134d7575f809350935050506134e2565b899003925060019150505b965096945050505050565b5f805f6134fd89898888886135a9565b905061350d86611af3898b6136e4565b975087811015613523575f8092509250506134e2565b878103613531818688612f41565b9050670de0b6b3a7640000811061355e57613557613490670de0b6b3a764000089612a13565b9050613576565b613573613490670de0b6b3a764000089612a27565b90505b6135808186612a13565b9050808a1015613597575f809350935050506134e2565b90980398600198509650505050505050565b5f6135b485856129a4565b6135cd6135c586611af3868b6125e8565b859085612f41565b61253f91906136e4565b6040518061012001604052806135eb613621565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613689575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136b4575f80fd5b8501606081880312156136c5575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6136d0565b8181035f83128015838313168383128216171561299d5761299d6136d0565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561373a575f80fd5b813561157d81613716565b8015158114610591575f80fd5b5f60208284031215613762575f80fd5b813561157d81613745565b5f808335601e19843603018112613782575f80fd5b83018035915067ffffffffffffffff82111561379c575f80fd5b602001915036819003821315612fdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61381160e0830184866137b0565b9a9950505050505050505050565b8082018281125f83128015821682158216171561383e5761383e6136d0565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61387960c0830184866137b0565b9998505050505050505050565b8181038181111561131b5761131b6136d0565b6001600160701b0381811683821601908082111561299d5761299d6136d0565b6001600160801b0381811683821601908082111561299d5761299d6136d0565b5f602082840312156138e9575f80fd5b815161157d81613716565b808202811582820484141761131b5761131b6136d0565b6001600160801b0382811682821603908082111561299d5761299d6136d0565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6136d0565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f602082840312156139ab575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826139d4576139d46139b2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a6a8285516139d9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613add575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0257613b026136d0565b505f0390565b610180810161131b82846139d9565b5f8060408385031215613b28575f80fd5b825191506020830151613b3a81613745565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b6757613b676139b2565b600160ff1b82145f1984141615613b8057613b806136d0565b500590565b5f805f8060808587031215613b98575f80fd5b84519350602085015192506040850151915060608501516136c58161374556fea264697066735822122001c4ba6afe118458024ff398fcad07cc71cdc619ef6d859bbcc2953d78563d6864736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts deleted file mode 100644 index 8e229967f..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const MorphoBlueTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts.map deleted file mode 100644 index 3bddc775b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I8wrC,KAAK,MAAM,EAAE;;;;CAIh0rC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.js deleted file mode 100644 index 5106dc4be..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const MorphoBlueTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614b738061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b61456580620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004565380380620045658339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613bee620009775f395f8181611a45015281816126f2015261282701525f8181611a23015281816126d001526127f801525f8181611a01015281816126ae01526127c901525f81816119df0152818161268c015261279a01525f818161199b01528181612648015261273101525f50505f50505f610b2e01525f50505f818160a9015281816103140152612e9c01525f818161139301528181611791015281816117f401528181612a8501528181612ac101528181612cb90152612e7601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612e5001525f611bf301525f8181611d140152818161235501526123cd01525f81816108a901528181610f4301528181611ce801526123a101525f8181610e3e015261231b01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ec201525f81816107e701528181610ec4015281816116ef015281816121f401526133e601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f81816119bd0152818161266a015261276b0152613bee5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613676565b610070565b60405190815260200160405180910390f35b61004b61006b366004613676565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906136e4565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136f7565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361372a565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613752565b6102bd8a6102b78d8f6136e4565b90611584565b8d6102cb60408c018c61376d565b6040516102df9897969594939291906137d8565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906136e4565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361381f565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361372a565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613752565b8a61050260408b018b61376d565b6040516105159796959493929190613846565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361372a565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611aae565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6136e4565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611ac3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b92505b5061073e83611af9565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613886565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836136e4565b4290611b22565b8461102b565b6107db88611b36565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613886565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611cd3565b915091508060095f82825461087891906136e4565b909155506108939050865f8461088d81611321565b88611164565b61089d81836136e4565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611da0565b91506108e16108dc8385611584565b611de9565b600680546002906109029084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611af9565b60068054601090610951908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611cd3565b915091508060095f8282546109c491906136e4565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613886565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611af9565b60068054601090610a68908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136f7565b5f61134e565b8e610ac58482611e12565b50505b5f610ad284612001565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906138d9565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612143565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613886565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611ac3565b90505f610d5f8a6121c9565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612218565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612287565b6122b6565b15610e7457610e746113ec565b5f805f610e8385878b876122f7565b9c5091945092509050610e968184613886565b610ea090896136e4565b9750610eac82846136e4565b610eb6908d6136e4565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613886565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611da0565b9950610f73878a613886565b9850670de0b6b3a7640000610ff0610f8b87876136e4565b600254610fa9908f90600160801b90046001600160801b0316613886565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612409565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613886565b6110d191906138f4565b85670de0b6b3a76400006110e5878a613886565b6110ef91906138f4565b8592919060016124a5565b611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611af9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138f4565b600554600160801b90046001600160801b031691908a5f6124a5565b600580546001600160801b03928316600160801b0292169190911790556111d286611af9565b6111dc908261390b565b600480546001600160801b03928316600160801b02921691909117905561120284611af9565b600280545f9061121c9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361254b565b600480545f9061125d908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611af9565b600280546010906112af908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136f7565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612586565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836125e8565b6003546113ce91906001600160801b03166136e4565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611e12565b5f805f61141d84611b36565b90925090505f61142d8686611584565b905081831115611445576114428683856125fc565b95505b8281101561145757808303925061145b565b5f92505b61146483611de9565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611af9565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612617565b9450845f03611516575f91505061157d565b8491506115296040840160208501613752565b15611558576115518561153f602086018661372a565b61154c604087018761376d565b61271c565b915061157b565b61157b85611569602086018661372a565b611576604087018761376d565b612913565b505b9392505050565b5f61157d8383670de0b6b3a76400006125fc565b5f805f805f805f806115a8611ac3565b90505f6115b48a6121c9565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061292c565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b985061169a84878b886122f7565b9c5091945090925090506116ae8284613886565b6116b89089613886565b97506116c481846136e4565b6116ce908e613886565b9c506116da8a8e6136e4565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613886565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612409565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613886565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136f7565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361297f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138f4565b6005546001600160801b031691908c5f6124a5565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613886565b90506118a281611af9565b600380546001600160801b03928316600160801b0292169190911790556118c883611af9565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261254b565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611af9565b6002805460109061193c908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b602060405180830381865af4158015611a8a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061399b565b5f611ab982846139c6565b61157d9084613886565b6002546004545f916105a6916001600160801b0390911690600f0b61297f565b5f61007d82611af38588886125fc565b906129a4565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611b30578261157d565b50919050565b6006545f908190611b58908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611cce575f611b818383613886565b9050611b906110fa8286612a13565b60068054601090611bb2908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bea8583612a2790919063ffffffff16565b90505f611c17827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611c2a91906136e4565b90915550611c3a90508183613886565b9150611c4582611af9565b600280545f90611c5f9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c8c82612a3b565b600480545f90611ca0908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611cdf8785612a27565b91505f611d0c837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611d38817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d5b57611d4a8282613886565b611d549084613886565b9250611d72565b611d658282613886565b611d6f90846136e4565b92505b86861015611d9557611d858387896125fc565b9250611d928287896125fc565b91505b509550959350505050565b5f80611db784611db18a888a6125fc565b90612a27565b9050611dc48884866125fc565b611dce90826136e4565b905086811115611dde5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e5c916001600160801b031690613886565b9050805f03611e6f57600191505061131b565b5f611e7985612a64565b9050805f03611e8d5760019250505061131b565b5f80611e9a838589612aff565b9150915080611eaf575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611eea929190613a57565b6040805180830381865af4158015611f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f289190613acc565b91509150611f46611f3882611321565b611f4190613aee565b612c73565b925082611f5b575f965050505050505061131b565b611f6482611af9565b600780545f90611f7e9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fab81611af9565b60078054601090611fcd908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61202887612e07565b6040518263ffffffff1660e01b81526004016120449190613b08565b6040805180830381865af415801561205e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120829190613b17565b915091508061209757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120fc916136e4565b6121069190613886565b9050805f0361211c57505f958695509350505050565b5f80871161212a575f612135565b6121358488846125fc565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561216657612166613b45565b6040519080825280601f01601f191660200182016040528015612190576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121b0578692505b828152825f602083013e90999098509650505050505050565b5f806121d36105ab565b90508083116121e2575f6121ec565b6121ec8184613886565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612a27565b5f808061223861223088670de0b6b3a7640000613886565b899087612f41565b9050861561227a5761224a88886125e8565b915061226b8a8a846122648a670de0b6b3a7640000613886565b8989612f64565b925061227783826136e4565b90505b9750975097945050505050565b5f6122a461229d84670de0b6b3a7640000613886565b83906125e8565b61157d90670de0b6b3a7640000613886565b5f806122ec856122c4611ac3565b6122ce91906136e4565b600254610fa9908790600160801b90046001600160801b0316613886565b909210949350505050565b5f80808061234d87866123468b6123406123198c670de0b6b3a7640000613886565b7f0000000000000000000000000000000000000000000000000000000000000000906125e8565b906125e8565b9190612f41565b9350612379847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61239961239189670de0b6b3a7640000613886565b8a9088612f41565b90506123c5817f00000000000000000000000000000000000000000000000000000000000000006125e8565b93506123f1847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123fb90846136e4565b915050945094509450949050565b5f805f805f808888101561247557861561242b576124288d898b6125fc565b9c505b6124368c898b6125fc565b9b506124418b611321565b61244a8d611321565b61245491906136f7565b90506124618b898b6125fc565b9a5061246e8a898b6125fc565b9950612494565b61247e8b611321565b6124878d611321565b61249191906136f7565b90505b9b9c9a9b999a975050505050505050565b5f825f036124b4575084612542565b8115612506576124e56124c784876136e4565b6124d18587611584565b6124db888a611584565b611db191906136e4565b90505f6124f28588611b22565b905080821015612500578091505b50612542565b82850361251457505f612542565b61253f6125218487613886565b61252b85876125e8565b612535888a611584565b611db19190613886565b90505b95945050505050565b5f60016001607f1b0319821280612568575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612592845f612f86565b61259c845f612f86565b6125a691906136f7565b90505f8113156125c1576125ba81866136e4565b94506125df565b5f8112156125df576125d281613aee565b6125dc9086613886565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612f41565b5f825f190484118302158202612610575f80fd5b5091020490565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b5f806127278661196a565b9050801561290a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506128528961196a565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156128e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129069190613acc565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f808061294c61294488670de0b6b3a7640000613886565b8990876125fc565b9050861561227a5761295e8888611584565b915061226b8a8a846129788a670de0b6b3a7640000613886565b8989612f9b565b5f8061298b8484612fab565b90925090508061299d5761299d6113ec565b5092915050565b5f815f036129bb5750670de0b6b3a764000061131b565b825f036129c957505f61131b565b5f6129d383611321565b90505f6129e76129e286611321565b612fe6565b90508181026129fe670de0b6b3a764000082613b59565b9050612a098161320b565b9695505050505050565b5f61157d83670de0b6b3a764000084612f41565b5f61157d83670de0b6b3a7640000846125fc565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612a7e906001600160801b031684612a13565b9050612aaa7f0000000000000000000000000000000000000000000000000000000000000000826136e4565b6002546001600160801b03161115611b30576002547f000000000000000000000000000000000000000000000000000000000000000090612af59083906001600160801b0316613886565b61157d9190613886565b612b076135d7565b5f80612b1284612e07565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b4c9190613b08565b6040805180830381865af4158015612b66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8a9190613b17565b9350905082612b9e57505f9150612c6b9050565b5f612bc4612bbf84610160015185610140015161158490919063ffffffff16565b611321565b612be4612bbf8561012001518661010001516125e890919063ffffffff16565b612bee91906136f7565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d4d9190613b85565b935093509350935080612d6857505f98975050505050505050565b868414612d9957612d7884611af9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dca57612da98361254b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612df857612dda82611af9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e0f613621565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f07911661339d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f399290041661339d565b905292915050565b5f825f190484118302158202612f55575f80fd5b50910281810615159190040190565b5f80612f74888888888888613411565b909250905080611dde57611dde6113ec565b5f818313612f94578161157d565b5090919050565b5f80612f748888888888886134ed565b5f805f83612fb886611321565b612fc291906136f7565b90505f811215612fd8575f809250925050612fdf565b9150600190505b9250929050565b5f8082136130075760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061308a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361322457505f919050565b680755bf798b4a1bf1e5821261324d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a0974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133b06105ab565b6133ba91906138f4565b90508083116133c9575f6133d3565b6133d38184613886565b915061157d61340a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138f4565b8390612a27565b5f805f61342189898888886135a9565b905086881015613437575f8092509250506134e2565b968690039661344688876129a4565b97508781101561345c575f8092509250506134e2565b87810361346a818688612f41565b9050670de0b6b3a7640000811061349e57613497613490670de0b6b3a764000089612a13565b82906129a4565b90506134b6565b6134b3613490670de0b6b3a764000089612a27565b90505b6134c08186612a13565b9050898110156134d7575f809350935050506134e2565b899003925060019150505b965096945050505050565b5f805f6134fd89898888886135a9565b905061350d86611af3898b6136e4565b975087811015613523575f8092509250506134e2565b878103613531818688612f41565b9050670de0b6b3a7640000811061355e57613557613490670de0b6b3a764000089612a13565b9050613576565b613573613490670de0b6b3a764000089612a27565b90505b6135808186612a13565b9050808a1015613597575f809350935050506134e2565b90980398600198509650505050505050565b5f6135b485856129a4565b6135cd6135c586611af3868b6125e8565b859085612f41565b61253f91906136e4565b6040518061012001604052806135eb613621565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613689575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136b4575f80fd5b8501606081880312156136c5575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6136d0565b8181035f83128015838313168383128216171561299d5761299d6136d0565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561373a575f80fd5b813561157d81613716565b8015158114610591575f80fd5b5f60208284031215613762575f80fd5b813561157d81613745565b5f808335601e19843603018112613782575f80fd5b83018035915067ffffffffffffffff82111561379c575f80fd5b602001915036819003821315612fdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61381160e0830184866137b0565b9a9950505050505050505050565b8082018281125f83128015821682158216171561383e5761383e6136d0565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61387960c0830184866137b0565b9998505050505050505050565b8181038181111561131b5761131b6136d0565b6001600160701b0381811683821601908082111561299d5761299d6136d0565b6001600160801b0381811683821601908082111561299d5761299d6136d0565b5f602082840312156138e9575f80fd5b815161157d81613716565b808202811582820484141761131b5761131b6136d0565b6001600160801b0382811682821603908082111561299d5761299d6136d0565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6136d0565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f602082840312156139ab575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826139d4576139d46139b2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a6a8285516139d9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613add575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0257613b026136d0565b505f0390565b610180810161131b82846139d9565b5f8060408385031215613b28575f80fd5b825191506020830151613b3a81613745565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b6757613b676139b2565b600160ff1b82145f1984141615613b8057613b806136d0565b500590565b5f805f8060808587031215613b98575f80fd5b84519350602085015192506040850151915060608501516136c58161374556fea264697066735822122001c4ba6afe118458024ff398fcad07cc71cdc619ef6d859bbcc2953d78563d6864736f6c63430008160033a2646970667358221220860f45da025c3855311a86276e544d2660a31e40c82c1160de973e42324f98aa64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts deleted file mode 100644 index c794d18a1..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts +++ /dev/null @@ -1,839 +0,0 @@ -export declare const MorphoBlueTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts.map deleted file mode 100644 index c25cb9ee2..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget2.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAghCk2pC,KAAK,MAAM,EAAE;;;;;CAK54pC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.js deleted file mode 100644 index 5e3b1999a..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2.js +++ /dev/null @@ -1,1046 +0,0 @@ -export const MorphoBlueTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620049b6380380620049b68339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161403f620009775f395f8181611542015261194001525f818161151b015261191101525f81816114f301526118e201525f81816114cb01526118b301525f818161147b015281816117ed015261184a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612feb01525f818161162401528181611f7301528181611fd60152818161275d01528181612bdb01528181612c1701528181612e080152612fc501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f9f01525f611b9d01525f8181611cbe0152818161284e015281816128c6015261310301525f81816109a301528181610e370152818161141501528181611c92015261289a01525f8181610e160152818161281a01526130bf01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b015261301101525f81816101d301528181610396015281816108e1015261368f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816114a3015281816117c0015281816118210152611884015261403f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a23565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a23565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613a91565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613a91565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ab8565b8b611217565b8d8a8a898e8561023e6020830183613ab8565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613ae0565b8961028960408a018a613afb565b60405161029c9796959493929190613b66565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613a91565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613a91565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613a91565b9350505f61042784898d6115cd565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896115fe565b5f6104706002886111e3565b90508c61048a826104846020840184613ab8565b85611217565b858b868461049b6020860186613ab8565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613ae0565b6104ec896104e68a8d613ba6565b90610683565b8d6104fa60408e018e613afb565b60405161050e989796959493929190613bb9565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ab8565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613ae0565b156105ea576105e0856105db6040870187613afb565b6117b1565b9093509050610602565b5034610602856105fd6040870187613afb565b611a17565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a7640000611a30565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611a4b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613a91565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611a60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b92505b5061083883611a9f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613ba6565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613a91565b4290611acc565b84610f13565b6108d588611ae0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613ba6565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611c7d565b915091508060095f8282546109729190613a91565b9091555061098d9050865f8461098781611d4a565b88611d73565b6109978183613a91565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611eea565b91506109db6109d68385610683565b611f33565b600680546002906109fc9084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611a9f565b60068054601090610a4b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611c7d565b915091508060095f828254610abe9190613a91565b90915550610ad99050835f84610ad381611d4a565b8a611f5c565b610ae38183613ba6565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611a9f565b60068054601090610b62908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611d4a565b610ba483611d4a565b610bae9190613c40565b5f61214c565b8e610bbf848261218b565b50505b5f610bcc8461237a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c5f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906124bc565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611a60565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612542565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061256d565b6125d1565b15610e6d57610e6d612612565b610e798785888561262b565b91965094509250670de0b6b3a7640000610efb610e968784613a91565b600254610eb4908890600160801b90046001600160801b0316613ba6565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b1115610f0957610f09612612565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613ba6565b610fb99190613c7a565b85670de0b6b3a7640000610fcd878a613ba6565b610fd79190613c7a565b859291906001612673565b611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611a9f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613c7a565b6005546001600160801b03169190886001612673565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611a9f565b600280545f906110d19084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611a9f565b60028054601090611120908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611a9f565b6111579082613c20565b600380546001600160801b03808416600160801b02911617905590505f61117d83612717565b905061119b8161118c87611d4a565b6111969084613cb1565b61214c565b6111a484612757565b6111b0576111b0612612565b5f6111ba856127b6565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613a91565b90915550505f838152600b60205260408120805483929061126a908490613a91565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611a60565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006127c2565b93508761134d85896127e2565b111561135b5761135b612612565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b93506113d58a670de0b6b3a7640000868c6127f6565b509193509091506113e890508183613ba6565b6113f29087613ba6565b95508861143f816114398d611407868c613ba6565b8d6114128782612902565b877f0000000000000000000000000000000000000000000000000000000000000000612917565b906127e2565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612937565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af41580156115a9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613cd8565b5f6115de6040830160208401613ae0565b156115ea5750826115f7565b6115f4848461295a565b90505b9392505050565b6002546001600160801b03168381101561161a5761161a612612565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611652908390600f0b61296e565b101561166057611660612612565b6004546116aa90610fe290600160801b90046001600160801b031661168d670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b03169190896001612673565b600580546001600160801b03928316600160801b0292169190911790556116d081611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556116f985611a9f565b6002805460109061171b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061174885611a9f565b6004805460109061176a908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61179883612717565b905061119b816117a788611d4a565b6111969084613c40565b5f806117e86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612993565b6118487f0000000000000000000000000000000000000000000000000000000000000000611817876001613a91565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612a00565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff81111561197e5761197e613cef565b6040519080825280601f01601f1916602001820160405280156119a8576020820181803683370190505b506040518663ffffffff1660e01b81526004016119c9959493929190613d25565b60408051808303815f875af11580156119e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a089190613db4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611a44575f80fd5b5091020490565b5f611a568284613dea565b6106979084613ba6565b6002546004545f916106cb916001600160801b0390911690600f0b61296e565b5f611a9682611a90858888611a30565b90612a8f565b95945050505050565b5f6001600160801b03821115611ac857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611ada5782610697565b50919050565b6006545f908190611b02908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611c78575f611b2b8383613ba6565b9050611b3a610fe28286611450565b60068054601090611b5c908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b94858361295a90919063ffffffff16565b90505f611bc1827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611bd49190613a91565b90915550611be490508183613ba6565b9150611bef82611a9f565b600280545f90611c099084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3682612af4565b600480545f90611c4a908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c89878561295a565b91505f611cb6837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ce2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611d0557611cf48282613ba6565b611cfe9084613ba6565b9250611d1c565b611d0f8282613ba6565b611d199084613a91565b92505b86861015611d3f57611d2f838789611a30565b9250611d3c828789611a30565b91505b509550959350505050565b5f6001600160ff1b03821115611ac85760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611dbb610fe282611d9f670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b031691908a5f612673565b600580546001600160801b03928316600160801b029216919091179055611de186611a9f565b611deb9082613c91565b600480546001600160801b03928316600160801b029216919091179055611e1184611a9f565b600280545f90611e2b9084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e5883612b1d565b600480545f90611e6c908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611e9c85611a9f565b60028054601090611ebe908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f0184611efb8a888a611a30565b9061295a565b9050611f0e888486611a30565b611f189082613a91565b905086811115611f285786810391505b509695505050505050565b5f6001600160701b03821115611ac85760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611f9e57507f0000000000000000000000000000000000000000000000000000000000000000611f9c8583613ba6565b105b15611fab57611fab612612565b6004549084900390600f0b611fc08482613c40565b905083611fcc86611d4a565b13801561200157507f0000000000000000000000000000000000000000000000000000000000000000611fff838361296e565b105b1561200e5761200e612612565b600354600160801b90046001600160801b031661204f610fe28261203a670de0b6b3a764000088613c7a565b6005546001600160801b031691908c5f612673565b600580546001600160801b0319166001600160801b03929092169190911790556120798882613ba6565b905061208481611a9f565b600380546001600160801b03928316600160801b0292169190911790556120aa83611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556120d382612b1d565b600480546001600160801b0319166001600160801b03929092169190911790556120fc87611a9f565b6002805460109061211e908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461216790610fe2906001600160801b03168484612b58565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916121d5916001600160801b031690613ba6565b9050805f036121e857600191505061069a565b5f6121f285612bba565b9050805f036122065760019250505061069a565b5f80612213838589612c55565b9150915080612228575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612263929190613ea8565b6040805180830381865af415801561227d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a19190613db4565b915091506122bf6122b182611d4a565b6122ba90613f1d565b612dc2565b9250826122d4575f965050505050505061069a565b6122dd82611a9f565b600780545f906122f79084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061232481611a9f565b60078054601090612346908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123a187612f56565b6040518263ffffffff1660e01b81526004016123bd9190613f37565b6040805180830381865af41580156123d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123fb9190613f46565b915091508061241057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161247591613a91565b61247f9190613ba6565b9050805f0361249557505f958695509350505050565b5f8087116124a3575f6124ae565b6124ae848884611a30565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156124df576124df613cef565b6040519080825280601f01601f191660200182016040528015612509576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612529578692505b828152825f602083013e90999098509650505050505050565b5f61256287878761255b88670de0b6b3a7640000613ba6565b8787613090565b979650505050505050565b5f6115f46125ad61258684670de0b6b3a7640000613ba6565b611439670de0b6b3a764000061259c818a611450565b6125a69190613ba6565b87906127e2565b6125bf90670de0b6b3a7640000613a91565b611efb84670de0b6b3a7640000613ba6565b5f80612607856125df611a60565b6125e99190613a91565b600254610eb4908790600160801b90046001600160801b0316613ba6565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61263b8987896130b2565b909250905061264a8289613ba6565b97505f61265882888a611a30565b9050612664818b613ba6565b9a989950979650505050505050565b5f825f03612682575084611a96565b81156126d4576126b36126958487613a91565b61269f8587610683565b6126a9888a610683565b611efb9190613a91565b90505f6126c08588611acc565b9050808210156126ce578091505b50611a96565b8285036126e257505f611a96565b61270d6126ef8487613ba6565b6126f985876127e2565b612703888a610683565b611efb9190613ba6565b9695505050505050565b5f61273c600b5f6127296002866111e3565b81526020019081526020015f2054611d4a565b61274d600b5f6127296001876111e3565b61069a9190613c40565b5f6127827f0000000000000000000000000000000000000000000000000000000000000000836127e2565b60035461279891906001600160801b0316613a91565b6002546127ae906001600160801b031684610683565b101592915050565b5f61069a82600461218b565b5f6125628787876127db88670de0b6b3a7640000613ba6565b8787613131565b5f6106978383670de0b6b3a7640000612937565b5f808080612846878661283f8b6114396128188c670de0b6b3a7640000613ba6565b7f0000000000000000000000000000000000000000000000000000000000000000906127e2565b9190612937565b9350612872847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61289261288a89670de0b6b3a7640000613ba6565b8a9088612937565b90506128be817f00000000000000000000000000000000000000000000000000000000000000006127e2565b93506128ea847f0000000000000000000000000000000000000000000000000000000000000000610683565b6128f49084613a91565b915050945094509450949050565b5f8183116129105781610697565b5090919050565b5f8061292e846129288a888a612937565b90611450565b9050611f0e8884865b5f825f19048411830215820261294b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a764000084611a30565b5f8061297a8484613141565b90925090508061298c5761298c612612565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526129fa9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613179565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612a5184826131e4565b6129fa576040516001600160a01b0384811660248301525f6044830152612a8591869182169063095ea7b3906064016129c8565b6129fa8482613179565b5f815f03612aa65750670de0b6b3a764000061069a565b825f03612ab457505f61069a565b5f612abe83611d4a565b90505f612ad2612acd86611d4a565b613281565b9050818102612ae9670de0b6b3a764000082613f74565b905061270d816134a6565b5f60016001607f1b03821115611ac85760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612b3a575060016001607f1b0382135b15611ac85760405163a5353be560e01b815260040160405180910390fd5b5f80612b64845f613638565b612b6e845f613638565b612b789190613c40565b90505f811315612b9357612b8c8186613a91565b9450612bb1565b5f811215612bb157612ba481613f1d565b612bae9086613ba6565b94505b50929392505050565b6003545f908190612bd4906001600160801b031684611450565b9050612c007f000000000000000000000000000000000000000000000000000000000000000082613a91565b6002546001600160801b03161115611ada576002547f000000000000000000000000000000000000000000000000000000000000000090612c4b9083906001600160801b0316613ba6565b6115f79190613ba6565b612c5d613984565b5f80612c6884612f56565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ca29190613f37565b6040805180830381865af4158015612cbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce09190613f46565b9350905082612cf457505f9150611a0f9050565b5f612d1a612d1584610160015185610140015161068390919063ffffffff16565b611d4a565b612d3a612d158561012001518661010001516127e290919063ffffffff16565b612d449190613c40565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9c9190613fa0565b935093509350935080612eb757505f98975050505050505050565b868414612ee857612ec784611a9f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612f1957612ef883612b1d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612f4757612f2982611a9f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612f5e6139ce565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916130569116613646565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261308892900416613646565b905292915050565b5f806130a08888888888886136ba565b909250905080611f2857611f28612612565b5f806130fb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006130f1818c611450565b6114399190613ba6565b9150613127827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f806130a088888888888861377e565b5f805f8361314e86611d4a565b6131589190613c40565b90505f81121561316e575f80925092505061067c565b946001945092505050565b5f61318d6001600160a01b0384168361383a565b905080515f141580156131b15750808060200190518101906131af9190613fd3565b155b156131df57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131ff9190613fee565b5f604051808303815f865af19150503d805f8114613238576040519150601f19603f3d011682016040523d82523d5f602084013e61323d565b606091505b50915091508180156132675750805115806132675750808060200190518101906132679190613fd3565b8015611a965750505050506001600160a01b03163b151590565b5f8082136132a25760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133259084901c611d4a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134bf57505f919050565b680755bf798b4a1bf1e582126134e8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061270d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611d4a565b5f8183136129105781610697565b5f80670de0b6b3a76400006136596106a0565b6136639190613c7a565b9050808311613672575f61367c565b61367c8184613ba6565b91506115f76136b3670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c7a565b839061295a565b5f805f6136ca8989888888613847565b90506136e486611a906136dd8a8d613a91565b8790610683565b98506136f1858a86611a30565b985088811015613707575f809250925050613773565b888103670de0b6b3a7640000811061373c5761373561372e670de0b6b3a764000089611450565b8290612a8f565b9050613754565b61375161372e670de0b6b3a76400008961295a565b90505b80891015613769575f80935093505050613773565b8803925060019150505b965096945050505050565b5f805f61378e8989888888613847565b905061379e86611a90898b613a91565b9750878110156137b4575f809250925050613773565b8781036137c2818688612937565b9050670de0b6b3a764000081106137ef576137e861372e670de0b6b3a764000089611450565b9050613807565b61380461372e670de0b6b3a76400008961295a565b90505b6138118186611450565b9050808a1015613828575f80935093505050613773565b90980398600198509650505050505050565b606061069783835f613875565b5f6138528585612a8f565b61386b61386386611a90868b6127e2565b859085612937565b61270d9190613a91565b60608147101561389a5760405163cd78605960e01b81523060048201526024016131d6565b5f80856001600160a01b031684866040516138b59190613fee565b5f6040518083038185875af1925050503d805f81146138ef576040519150601f19603f3d011682016040523d82523d5f602084013e6138f4565b606091505b509150915061270d8683836060826139145761390f8261395b565b6115f7565b815115801561392b57506001600160a01b0384163b155b1561395457604051639996b31560e01b81526001600160a01b03851660048201526024016131d6565b50806115f7565b80511561396b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139986139ce565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a36575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a61575f80fd5b850160608188031215613a72575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a7d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ac8575f80fd5b81356115f781613aa4565b80151581146105af575f80fd5b5f60208284031215613af0575f80fd5b81356115f781613ad3565b5f808335601e19843603018112613b10575f80fd5b83018035915067ffffffffffffffff821115613b2a575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613b9960c083018486613b3e565b9998505050505050505050565b8181038181111561069a5761069a613a7d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613bf260e083018486613b3e565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561298c5761298c613a7d565b6001600160801b0381811683821601908082111561298c5761298c613a7d565b8181035f83128015838313168383128216171561298c5761298c613a7d565b5f60208284031215613c6f575f80fd5b81516115f781613aa4565b808202811582820484141761069a5761069a613a7d565b6001600160801b0382811682821603908082111561298c5761298c613a7d565b8082018281125f831280158216821582161715613cd057613cd0613a7d565b505092915050565b5f60208284031215613ce8575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613d1d578181015183820152602001613d05565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d9c8183860160208801613d03565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613dc5575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613df857613df8613dd6565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a7d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ebb828551613e2a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613f3157613f31613a7d565b505f0390565b610180810161069a8284613e2a565b5f8060408385031215613f57575f80fd5b825191506020830151613f6981613ad3565b809150509250929050565b5f82613f8257613f82613dd6565b600160ff1b82145f1984141615613f9b57613f9b613a7d565b500590565b5f805f8060808587031215613fb3575f80fd5b8451935060208501519250604085015191506060850151613a7281613ad3565b5f60208284031215613fe3575f80fd5b81516115f781613ad3565b5f8251613fff818460208701613d03565b919091019291505056fea2646970667358221220b68378afd3ccf010f62bd895c4f729a302b35ca37011dcaafe55e441a7cd844664736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts deleted file mode 100644 index 99ac3501f..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const MorphoBlueTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts.map deleted file mode 100644 index c7d4aeed9..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Ig7vC,KAAK,MAAM,EAAE;;;;CAIl+vC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.js deleted file mode 100644 index f3eaf6601..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const MorphoBlueTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614fc48061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6149b680620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b50604051620049b6380380620049b68339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161403f620009775f395f8181611542015261194001525f818161151b015261191101525f81816114f301526118e201525f81816114cb01526118b301525f818161147b015281816117ed015261184a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612feb01525f818161162401528181611f7301528181611fd60152818161275d01528181612bdb01528181612c1701528181612e080152612fc501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f9f01525f611b9d01525f8181611cbe0152818161284e015281816128c6015261310301525f81816109a301528181610e370152818161141501528181611c92015261289a01525f8181610e160152818161281a01526130bf01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b015261301101525f81816101d301528181610396015281816108e1015261368f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816114a3015281816117c0015281816118210152611884015261403f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a23565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a23565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613a91565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613a91565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ab8565b8b611217565b8d8a8a898e8561023e6020830183613ab8565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613ae0565b8961028960408a018a613afb565b60405161029c9796959493929190613b66565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613a91565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613a91565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613a91565b9350505f61042784898d6115cd565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896115fe565b5f6104706002886111e3565b90508c61048a826104846020840184613ab8565b85611217565b858b868461049b6020860186613ab8565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613ae0565b6104ec896104e68a8d613ba6565b90610683565b8d6104fa60408e018e613afb565b60405161050e989796959493929190613bb9565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ab8565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613ae0565b156105ea576105e0856105db6040870187613afb565b6117b1565b9093509050610602565b5034610602856105fd6040870187613afb565b611a17565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a7640000611a30565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611a4b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613a91565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611a60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b92505b5061083883611a9f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613ba6565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613a91565b4290611acc565b84610f13565b6108d588611ae0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613ba6565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611c7d565b915091508060095f8282546109729190613a91565b9091555061098d9050865f8461098781611d4a565b88611d73565b6109978183613a91565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611eea565b91506109db6109d68385610683565b611f33565b600680546002906109fc9084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611a9f565b60068054601090610a4b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611c7d565b915091508060095f828254610abe9190613a91565b90915550610ad99050835f84610ad381611d4a565b8a611f5c565b610ae38183613ba6565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611a9f565b60068054601090610b62908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611d4a565b610ba483611d4a565b610bae9190613c40565b5f61214c565b8e610bbf848261218b565b50505b5f610bcc8461237a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c5f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906124bc565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611a60565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612542565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061256d565b6125d1565b15610e6d57610e6d612612565b610e798785888561262b565b91965094509250670de0b6b3a7640000610efb610e968784613a91565b600254610eb4908890600160801b90046001600160801b0316613ba6565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b1115610f0957610f09612612565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613ba6565b610fb99190613c7a565b85670de0b6b3a7640000610fcd878a613ba6565b610fd79190613c7a565b859291906001612673565b611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611a9f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613c7a565b6005546001600160801b03169190886001612673565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611a9f565b600280545f906110d19084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611a9f565b60028054601090611120908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611a9f565b6111579082613c20565b600380546001600160801b03808416600160801b02911617905590505f61117d83612717565b905061119b8161118c87611d4a565b6111969084613cb1565b61214c565b6111a484612757565b6111b0576111b0612612565b5f6111ba856127b6565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613a91565b90915550505f838152600b60205260408120805483929061126a908490613a91565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611a60565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006127c2565b93508761134d85896127e2565b111561135b5761135b612612565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b93506113d58a670de0b6b3a7640000868c6127f6565b509193509091506113e890508183613ba6565b6113f29087613ba6565b95508861143f816114398d611407868c613ba6565b8d6114128782612902565b877f0000000000000000000000000000000000000000000000000000000000000000612917565b906127e2565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612937565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af41580156115a9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613cd8565b5f6115de6040830160208401613ae0565b156115ea5750826115f7565b6115f4848461295a565b90505b9392505050565b6002546001600160801b03168381101561161a5761161a612612565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611652908390600f0b61296e565b101561166057611660612612565b6004546116aa90610fe290600160801b90046001600160801b031661168d670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b03169190896001612673565b600580546001600160801b03928316600160801b0292169190911790556116d081611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556116f985611a9f565b6002805460109061171b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061174885611a9f565b6004805460109061176a908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61179883612717565b905061119b816117a788611d4a565b6111969084613c40565b5f806117e86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612993565b6118487f0000000000000000000000000000000000000000000000000000000000000000611817876001613a91565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612a00565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff81111561197e5761197e613cef565b6040519080825280601f01601f1916602001820160405280156119a8576020820181803683370190505b506040518663ffffffff1660e01b81526004016119c9959493929190613d25565b60408051808303815f875af11580156119e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a089190613db4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611a44575f80fd5b5091020490565b5f611a568284613dea565b6106979084613ba6565b6002546004545f916106cb916001600160801b0390911690600f0b61296e565b5f611a9682611a90858888611a30565b90612a8f565b95945050505050565b5f6001600160801b03821115611ac857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611ada5782610697565b50919050565b6006545f908190611b02908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611c78575f611b2b8383613ba6565b9050611b3a610fe28286611450565b60068054601090611b5c908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b94858361295a90919063ffffffff16565b90505f611bc1827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611bd49190613a91565b90915550611be490508183613ba6565b9150611bef82611a9f565b600280545f90611c099084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3682612af4565b600480545f90611c4a908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c89878561295a565b91505f611cb6837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ce2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611d0557611cf48282613ba6565b611cfe9084613ba6565b9250611d1c565b611d0f8282613ba6565b611d199084613a91565b92505b86861015611d3f57611d2f838789611a30565b9250611d3c828789611a30565b91505b509550959350505050565b5f6001600160ff1b03821115611ac85760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611dbb610fe282611d9f670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b031691908a5f612673565b600580546001600160801b03928316600160801b029216919091179055611de186611a9f565b611deb9082613c91565b600480546001600160801b03928316600160801b029216919091179055611e1184611a9f565b600280545f90611e2b9084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e5883612b1d565b600480545f90611e6c908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611e9c85611a9f565b60028054601090611ebe908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f0184611efb8a888a611a30565b9061295a565b9050611f0e888486611a30565b611f189082613a91565b905086811115611f285786810391505b509695505050505050565b5f6001600160701b03821115611ac85760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611f9e57507f0000000000000000000000000000000000000000000000000000000000000000611f9c8583613ba6565b105b15611fab57611fab612612565b6004549084900390600f0b611fc08482613c40565b905083611fcc86611d4a565b13801561200157507f0000000000000000000000000000000000000000000000000000000000000000611fff838361296e565b105b1561200e5761200e612612565b600354600160801b90046001600160801b031661204f610fe28261203a670de0b6b3a764000088613c7a565b6005546001600160801b031691908c5f612673565b600580546001600160801b0319166001600160801b03929092169190911790556120798882613ba6565b905061208481611a9f565b600380546001600160801b03928316600160801b0292169190911790556120aa83611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556120d382612b1d565b600480546001600160801b0319166001600160801b03929092169190911790556120fc87611a9f565b6002805460109061211e908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461216790610fe2906001600160801b03168484612b58565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916121d5916001600160801b031690613ba6565b9050805f036121e857600191505061069a565b5f6121f285612bba565b9050805f036122065760019250505061069a565b5f80612213838589612c55565b9150915080612228575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612263929190613ea8565b6040805180830381865af415801561227d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a19190613db4565b915091506122bf6122b182611d4a565b6122ba90613f1d565b612dc2565b9250826122d4575f965050505050505061069a565b6122dd82611a9f565b600780545f906122f79084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061232481611a9f565b60078054601090612346908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123a187612f56565b6040518263ffffffff1660e01b81526004016123bd9190613f37565b6040805180830381865af41580156123d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123fb9190613f46565b915091508061241057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161247591613a91565b61247f9190613ba6565b9050805f0361249557505f958695509350505050565b5f8087116124a3575f6124ae565b6124ae848884611a30565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156124df576124df613cef565b6040519080825280601f01601f191660200182016040528015612509576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612529578692505b828152825f602083013e90999098509650505050505050565b5f61256287878761255b88670de0b6b3a7640000613ba6565b8787613090565b979650505050505050565b5f6115f46125ad61258684670de0b6b3a7640000613ba6565b611439670de0b6b3a764000061259c818a611450565b6125a69190613ba6565b87906127e2565b6125bf90670de0b6b3a7640000613a91565b611efb84670de0b6b3a7640000613ba6565b5f80612607856125df611a60565b6125e99190613a91565b600254610eb4908790600160801b90046001600160801b0316613ba6565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61263b8987896130b2565b909250905061264a8289613ba6565b97505f61265882888a611a30565b9050612664818b613ba6565b9a989950979650505050505050565b5f825f03612682575084611a96565b81156126d4576126b36126958487613a91565b61269f8587610683565b6126a9888a610683565b611efb9190613a91565b90505f6126c08588611acc565b9050808210156126ce578091505b50611a96565b8285036126e257505f611a96565b61270d6126ef8487613ba6565b6126f985876127e2565b612703888a610683565b611efb9190613ba6565b9695505050505050565b5f61273c600b5f6127296002866111e3565b81526020019081526020015f2054611d4a565b61274d600b5f6127296001876111e3565b61069a9190613c40565b5f6127827f0000000000000000000000000000000000000000000000000000000000000000836127e2565b60035461279891906001600160801b0316613a91565b6002546127ae906001600160801b031684610683565b101592915050565b5f61069a82600461218b565b5f6125628787876127db88670de0b6b3a7640000613ba6565b8787613131565b5f6106978383670de0b6b3a7640000612937565b5f808080612846878661283f8b6114396128188c670de0b6b3a7640000613ba6565b7f0000000000000000000000000000000000000000000000000000000000000000906127e2565b9190612937565b9350612872847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61289261288a89670de0b6b3a7640000613ba6565b8a9088612937565b90506128be817f00000000000000000000000000000000000000000000000000000000000000006127e2565b93506128ea847f0000000000000000000000000000000000000000000000000000000000000000610683565b6128f49084613a91565b915050945094509450949050565b5f8183116129105781610697565b5090919050565b5f8061292e846129288a888a612937565b90611450565b9050611f0e8884865b5f825f19048411830215820261294b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a764000084611a30565b5f8061297a8484613141565b90925090508061298c5761298c612612565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526129fa9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613179565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612a5184826131e4565b6129fa576040516001600160a01b0384811660248301525f6044830152612a8591869182169063095ea7b3906064016129c8565b6129fa8482613179565b5f815f03612aa65750670de0b6b3a764000061069a565b825f03612ab457505f61069a565b5f612abe83611d4a565b90505f612ad2612acd86611d4a565b613281565b9050818102612ae9670de0b6b3a764000082613f74565b905061270d816134a6565b5f60016001607f1b03821115611ac85760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612b3a575060016001607f1b0382135b15611ac85760405163a5353be560e01b815260040160405180910390fd5b5f80612b64845f613638565b612b6e845f613638565b612b789190613c40565b90505f811315612b9357612b8c8186613a91565b9450612bb1565b5f811215612bb157612ba481613f1d565b612bae9086613ba6565b94505b50929392505050565b6003545f908190612bd4906001600160801b031684611450565b9050612c007f000000000000000000000000000000000000000000000000000000000000000082613a91565b6002546001600160801b03161115611ada576002547f000000000000000000000000000000000000000000000000000000000000000090612c4b9083906001600160801b0316613ba6565b6115f79190613ba6565b612c5d613984565b5f80612c6884612f56565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ca29190613f37565b6040805180830381865af4158015612cbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce09190613f46565b9350905082612cf457505f9150611a0f9050565b5f612d1a612d1584610160015185610140015161068390919063ffffffff16565b611d4a565b612d3a612d158561012001518661010001516127e290919063ffffffff16565b612d449190613c40565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9c9190613fa0565b935093509350935080612eb757505f98975050505050505050565b868414612ee857612ec784611a9f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612f1957612ef883612b1d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612f4757612f2982611a9f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612f5e6139ce565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916130569116613646565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261308892900416613646565b905292915050565b5f806130a08888888888886136ba565b909250905080611f2857611f28612612565b5f806130fb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006130f1818c611450565b6114399190613ba6565b9150613127827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f806130a088888888888861377e565b5f805f8361314e86611d4a565b6131589190613c40565b90505f81121561316e575f80925092505061067c565b946001945092505050565b5f61318d6001600160a01b0384168361383a565b905080515f141580156131b15750808060200190518101906131af9190613fd3565b155b156131df57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131ff9190613fee565b5f604051808303815f865af19150503d805f8114613238576040519150601f19603f3d011682016040523d82523d5f602084013e61323d565b606091505b50915091508180156132675750805115806132675750808060200190518101906132679190613fd3565b8015611a965750505050506001600160a01b03163b151590565b5f8082136132a25760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133259084901c611d4a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134bf57505f919050565b680755bf798b4a1bf1e582126134e8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061270d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611d4a565b5f8183136129105781610697565b5f80670de0b6b3a76400006136596106a0565b6136639190613c7a565b9050808311613672575f61367c565b61367c8184613ba6565b91506115f76136b3670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c7a565b839061295a565b5f805f6136ca8989888888613847565b90506136e486611a906136dd8a8d613a91565b8790610683565b98506136f1858a86611a30565b985088811015613707575f809250925050613773565b888103670de0b6b3a7640000811061373c5761373561372e670de0b6b3a764000089611450565b8290612a8f565b9050613754565b61375161372e670de0b6b3a76400008961295a565b90505b80891015613769575f80935093505050613773565b8803925060019150505b965096945050505050565b5f805f61378e8989888888613847565b905061379e86611a90898b613a91565b9750878110156137b4575f809250925050613773565b8781036137c2818688612937565b9050670de0b6b3a764000081106137ef576137e861372e670de0b6b3a764000089611450565b9050613807565b61380461372e670de0b6b3a76400008961295a565b90505b6138118186611450565b9050808a1015613828575f80935093505050613773565b90980398600198509650505050505050565b606061069783835f613875565b5f6138528585612a8f565b61386b61386386611a90868b6127e2565b859085612937565b61270d9190613a91565b60608147101561389a5760405163cd78605960e01b81523060048201526024016131d6565b5f80856001600160a01b031684866040516138b59190613fee565b5f6040518083038185875af1925050503d805f81146138ef576040519150601f19603f3d011682016040523d82523d5f602084013e6138f4565b606091505b509150915061270d8683836060826139145761390f8261395b565b6115f7565b815115801561392b57506001600160a01b0384163b155b1561395457604051639996b31560e01b81526001600160a01b03851660048201526024016131d6565b50806115f7565b80511561396b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139986139ce565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a36575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a61575f80fd5b850160608188031215613a72575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a7d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ac8575f80fd5b81356115f781613aa4565b80151581146105af575f80fd5b5f60208284031215613af0575f80fd5b81356115f781613ad3565b5f808335601e19843603018112613b10575f80fd5b83018035915067ffffffffffffffff821115613b2a575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613b9960c083018486613b3e565b9998505050505050505050565b8181038181111561069a5761069a613a7d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613bf260e083018486613b3e565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561298c5761298c613a7d565b6001600160801b0381811683821601908082111561298c5761298c613a7d565b8181035f83128015838313168383128216171561298c5761298c613a7d565b5f60208284031215613c6f575f80fd5b81516115f781613aa4565b808202811582820484141761069a5761069a613a7d565b6001600160801b0382811682821603908082111561298c5761298c613a7d565b8082018281125f831280158216821582161715613cd057613cd0613a7d565b505092915050565b5f60208284031215613ce8575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613d1d578181015183820152602001613d05565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d9c8183860160208801613d03565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613dc5575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613df857613df8613dd6565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a7d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ebb828551613e2a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613f3157613f31613a7d565b505f0390565b610180810161069a8284613e2a565b5f8060408385031215613f57575f80fd5b825191506020830151613f6981613ad3565b809150509250929050565b5f82613f8257613f82613dd6565b600160ff1b82145f1984141615613f9b57613f9b613a7d565b500590565b5f805f8060808587031215613fb3575f80fd5b8451935060208501519250604085015191506060850151613a7281613ad3565b5f60208284031215613fe3575f80fd5b81516115f781613ad3565b5f8251613fff818460208701613d03565b919091019291505056fea2646970667358221220b68378afd3ccf010f62bd895c4f729a302b35ca37011dcaafe55e441a7cd844664736f6c63430008160033a264697066735822122049e2b51e85330f3bc49ae1094bf8909df564ea9d14d61794c69b795c578fd7b864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts deleted file mode 100644 index e47e4ffd9..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts +++ /dev/null @@ -1,855 +0,0 @@ -export declare const MorphoBlueTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts.map deleted file mode 100644 index 3b1c2197c..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget3.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoiC0jpC,KAAK,MAAM,EAAE;;;;;CAKpmpC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.js deleted file mode 100644 index f993e1ae4..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3.js +++ /dev/null @@ -1,1066 +0,0 @@ -export const MorphoBlueTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b5060405162004922380380620049228339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613f9a620009885f395f8181611adb0152612ea101525f8181611aac0152612e7a01525f8181611a7d0152612e5201525f8181611a4e0152612e2a01525f8181611988015281816119e50152612dda01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816121e50152818161224801528181612af101528181613024015261306001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611df601525f8181611f4b01526132af01525f81816110260152611f1f01525f61326501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a8701525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01528181611a1f0152612e020152613f9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613953565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139b2565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a12565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a25565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a12565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a25565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a25565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a12565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613ab6565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613ac5565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613ab6565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613ac5565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a25565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613af0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a12565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613af0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b18565b866107a960408c018c613b33565b6040516107bc9796959493929190613b76565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613bc9565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613be0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613af0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613af0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b18565b87610b5e6040890189613b33565b604051610b719796959493929190613b76565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613af0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b18565b15610c8f57610c8585610c806040870187613b33565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b33565b611bb2565b610caf611bcb565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611bdd565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a12565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a25565b8a84611bf2565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a12565b4290611d2b565b84611bf2565b610f5888611d39565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a25565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611ed6565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611f0a565b915091508060095f828254610ff59190613a12565b909155506110109050865f8461100a81611766565b88611fd7565b61101a8183613a12565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061214e565b915061105e6110598385612191565b6121a5565b6006805460029061107f9084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611ed6565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611f0a565b915091508060095f8282546111419190613a12565b9091555061115c9050835f8461115681611766565b8a6121ce565b6111668183613a25565b91506111756110598387612191565b600680546002906111969084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c4b565b5f6123be565b8e61124284826123fd565b50505b5f61124f846125ec565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613c6a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061272e565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611ed6565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611ed6565b6113f79190613c4b565b92915050565b5f805f8061140b8a8a6127b6565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8b7f00000000000000000000000000000000000000000000000000000000000000006127ee565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8d7f00000000000000000000000000000000000000000000000000000000000000006128a7565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612961565b509093505f9050611568848f613a12565b90505f6115888b8b61157987611766565b611583908e613c85565b6129a9565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612a0b565b611766565b6115c683611766565b6115d36115b88685612191565b6115dd9190613c4b565b6115e79190613c4b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612a1b565b61162685670de0b6b3a7640000613a25565b906117d4565b6116346138a4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612a3e565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612a3e565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612aab565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a12565b90915550505f838152600b60205260408120805483929061183b908490613a12565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046123fd565b5f8183136118a7578261008d565b50919050565b5f806118b984846127b6565b9092509050806118cb576118cb612c3f565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612c58565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612cc7565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a12565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612d34565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff811115611b1957611b19613cac565b6040519080825280601f01601f191660200182016040528015611b43576020820181803683370190505b506040518663ffffffff1660e01b8152600401611b64959493929190613ce2565b60408051808303815f875af1158015611b7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba39190613d71565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612dc3565b5f611be88284613da7565b61008d9084613a25565b5f83815260086020526040902054600160801b90046001600160801b0316808303611c1d5750505050565b5f848152600860205260408120546001600160801b031690819003611c7557611c45836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cf2565b611cc6611cc1670de0b6b3a7640000611c8e8886613a25565b611c989190613bc9565b85670de0b6b3a7640000611cac878a613a25565b611cb69190613bc9565b859291906001612f2c565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cfb846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611d5b908490600160801b90046001600160801b0316612191565b6006546201000090046001600160701b03169250905081811115611ed1575f611d848383613a25565b9050611d93611cc18286612fc6565b60068054601090611db5908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ded85836117d490919063ffffffff16565b90505f611e1a827f0000000000000000000000000000000000000000000000000000000000000000612191565b90508060095f828254611e2d9190613a12565b90915550611e3d90508183613a25565b9150611e48826118d2565b600280545f90611e629084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e8f82612fda565b600480545f90611ea3908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611eff5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611f1687856117d4565b91505f611f43837f0000000000000000000000000000000000000000000000000000000000000000612191565b9050611f6f817f0000000000000000000000000000000000000000000000000000000000000000612191565b91508315611f9257611f818282613a25565b611f8b9084613a25565b9250611fa9565b611f9c8282613a25565b611fa69084613a12565b92505b86861015611fcc57611fbc8387896117b9565b9250611fc98287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b031661201f611cc182612003670de0b6b3a764000086613bc9565b600554600160801b90046001600160801b031691908a5f612f2c565b600580546001600160801b03928316600160801b029216919091179055612045866118d2565b61204f9082613dba565b600480546001600160801b03928316600160801b029216919091179055612075846118d2565b600280545f9061208f9084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120bc836118fb565b600480545f906120d0908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612100856118d2565b60028054601090612122908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061215f846116268a888a6117b9565b905061216c8884866117b9565b6121769082613a12565b9050868111156121865786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061221057507f000000000000000000000000000000000000000000000000000000000000000061220e8583613a25565b105b1561221d5761221d612c3f565b6004549084900390600f0b6122328482613c4b565b90508361223e86611766565b13801561227357507f000000000000000000000000000000000000000000000000000000000000000061227183836118ad565b105b1561228057612280612c3f565b600354600160801b90046001600160801b03166122c1611cc1826122ac670de0b6b3a764000088613bc9565b6005546001600160801b031691908c5f612f2c565b600580546001600160801b0319166001600160801b03929092169190911790556122eb8882613a25565b90506122f6816118d2565b600380546001600160801b03928316600160801b02921691909117905561231c836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612345826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561236e876118d2565b60028054601090612390908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546123d990611cc1906001600160801b031684846129a9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612447916001600160801b031690613a25565b9050805f0361245a5760019150506113f7565b5f61246485613003565b9050805f03612478576001925050506113f7565b5f8061248583858961309e565b915091508061249a575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124d5929190613e07565b6040805180830381865af41580156124ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125139190613d71565b9150915061253161252382611766565b61252c90613e7c565b612aab565b925082612546575f96505050505050506113f7565b61254f826118d2565b600780545f906125699084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612596816118d2565b600780546010906125b8908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6126138761162c565b6040518263ffffffff1660e01b815260040161262f9190613ab6565b6040805180830381865af4158015612649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266d9190613e96565b915091508061268257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126e791613a12565b6126f19190613a25565b9050805f0361270757505f958695509350505050565b5f808711612715575f612720565b6127208488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561275157612751613cac565b6040519080825280601f01601f19166020018201604052801561277b576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561279b578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836127c386611766565b6127cd9190613c4b565b90505f8112156127e3575f809250925050610d21565b946001945092505050565b5f805f6127fe8888888888613206565b90505f612828670de0b6b3a76400006128178888612fc6565b6128219190613a12565b83906117d4565b9050670de0b6b3a7640000811061285c5761285561284e670de0b6b3a7640000896117d4565b8290612c58565b9050612874565b61287161284e670de0b6b3a764000089612fc6565b90505b61287e81866117d4565b905088811015612895575f809350935050506127ac565b97909703976001975095505050505050565b5f805f6128b78989888888613234565b90506128d1866119466128ca8a8d613a12565b8790612191565b98506128de858a866117b9565b9850888110156128f4575f8092509250506115f6565b888103670de0b6b3a764000081106129225761291b61284e670de0b6b3a764000089612fc6565b905061293a565b61293761284e670de0b6b3a7640000896117d4565b90505b8089101561294f575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612971898789613258565b90925090506129808289613a25565b97505f61298e82888a6117b9565b905061299a818b613a25565b9a989950979650505050505050565b5f806129b5845f6132dd565b6129bf845f6132dd565b6129c99190613c4b565b90505f8113156129e4576129dd8186613a12565b9450612a02565b5f811215612a02576129f581613e7c565b6129ff9086613a25565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612a2f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a51610d28565b612a5b9190613bc9565b9050808311612a6a575f612a74565b612a748184613a25565b915061008d612821670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc9565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b859190613ec4565b935093509350935080612ba057505f98975050505050505050565b868414612bd157612bb0846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c0257612be1836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c3057612c12826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c6f5750670de0b6b3a76400006113f7565b825f03612c7d57505f6113f7565b5f612c8783611766565b90505f612c9b612c9686611766565b6132f2565b9050818102612cb2670de0b6b3a764000082613f02565b9050612cbd81613517565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612d2e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506136a9565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d858482613714565b612d2e576040516001600160a01b0384811660248301525f6044830152612db991869182169063095ea7b390606401612cfc565b612d2e84826136a9565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af4158015612f08573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613ac5565b5f825f03612f3b575084610075565b8115612f8d57612f6c612f4e8487613a12565b612f588587612191565b612f62888a612191565b6116269190613a12565b90505f612f798588611d2b565b905080821015612f87578091505b50610075565b828503612f9b57505f610075565b610072612fa88487613a25565b612fb28587612a0b565b612fbc888a612191565b6116269190613a25565b5f61008d83670de0b6b3a764000084612a1b565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061301d906001600160801b031684612fc6565b90506130497f000000000000000000000000000000000000000000000000000000000000000082613a12565b6002546001600160801b031611156118a7576002547f0000000000000000000000000000000000000000000000000000000000000000906130949083906001600160801b0316613a25565b61008d9190613a25565b6130a66138f9565b5f806130b18461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130eb9190613ab6565b6040805180830381865af4158015613105573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131299190613e96565b935090508261313d57505f9150611baa9050565b5f61315e6115b884610160015185610140015161219190919063ffffffff16565b61317e6115b8856101200151866101000151612a0b90919063ffffffff16565b6131889190613c4b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6132118585612c58565b61322a61322286611946868b612191565b8590856117b9565b6100729190613a12565b5f61323f8585612c58565b61322a61325086611946868b612a0b565b859085612a1b565b5f806132a7856132a185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613297818c612fc6565b6132a19190613a25565b90612a0b565b91506132d3827f0000000000000000000000000000000000000000000000000000000000000000612191565b9050935093915050565b5f8183136132eb578161008d565b5090919050565b5f8082136133135760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133969084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361353057505f919050565b680755bf798b4a1bf1e58212613559576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612cbd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136bd6001600160a01b038416836137b1565b905080515f141580156136e15750808060200190518101906136df9190613f2e565b155b1561370f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161372f9190613f49565b5f604051808303815f865af19150503d805f8114613768576040519150601f19603f3d011682016040523d82523d5f602084013e61376d565b606091505b50915091508180156137975750805115806137975750808060200190518101906137979190613f2e565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516137d59190613f49565b5f6040518083038185875af1925050503d805f811461380f576040519150601f19603f3d011682016040523d82523d5f602084013e613814565b606091505b5091509150612cbd8683836060826138345761382f8261387b565b61008d565b815115801561384b57506001600160a01b0384163b155b1561387457604051639996b31560e01b81526001600160a01b0385166004820152602401613706565b508061008d565b80511561388b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061390d6138a4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613967575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613999575f80fd5b6139a588828901613943565b9150509295509295909350565b5f805f606084860312156139c4575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156139e8575f80fd5b6139f486828701613943565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76139fe565b818103818111156113f7576113f76139fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a38565b5f60208284031215613ad5575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b00575f80fd5b813561008d81613adc565b8015158114610c0a575f80fd5b5f60208284031215613b28575f80fd5b813561008d81613b0b565b5f808335601e19843603018112613b48575f80fd5b83018035915067ffffffffffffffff821115613b62575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76139fe565b5f805f60608486031215613bf2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6139fe565b6001600160801b038181168382160190808211156118cb576118cb6139fe565b8181035f8312801583831316838312821617156118cb576118cb6139fe565b5f60208284031215613c7a575f80fd5b815161008d81613adc565b8082018281125f831280158216821582161715613ca457613ca46139fe565b505092915050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613cda578181015183820152602001613cc2565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d598183860160208801613cc0565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613d82575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613db557613db5613d93565b500690565b6001600160801b038281168282160390808211156118cb576118cb6139fe565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76139fe565b5f6102a082019050613e1a828551613a38565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613e9057613e906139fe565b505f0390565b5f8060408385031215613ea7575f80fd5b825191506020830151613eb981613b0b565b809150509250929050565b5f805f8060808587031215613ed7575f80fd5b8451935060208501519250604085015191506060850151613ef781613b0b565b939692955090935050565b5f82613f1057613f10613d93565b600160ff1b82145f1984141615613f2957613f296139fe565b500590565b5f60208284031215613f3e575f80fd5b815161008d81613b0b565b5f8251613f5a818460208701613cc0565b919091019291505056fea2646970667358221220ec306bb8f4343276c8def9dcf6f7c4a9933054a7f4b0480cee211ce23a8b741764736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts deleted file mode 100644 index 7bf4d8561..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const MorphoBlueTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts.map deleted file mode 100644 index 3e20d5a3a..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IwovC,KAAK,MAAM,EAAE;;;;CAI1rvC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.js deleted file mode 100644 index 3fc332d84..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const MorphoBlueTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614f308061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b61492280620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004922380380620049228339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613f9a620009885f395f8181611adb0152612ea101525f8181611aac0152612e7a01525f8181611a7d0152612e5201525f8181611a4e0152612e2a01525f8181611988015281816119e50152612dda01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816121e50152818161224801528181612af101528181613024015261306001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611df601525f8181611f4b01526132af01525f81816110260152611f1f01525f61326501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a8701525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01528181611a1f0152612e020152613f9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613953565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139b2565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a12565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a25565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a12565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a25565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a25565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a12565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613ab6565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613ac5565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613ab6565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613ac5565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a25565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613af0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a12565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613af0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b18565b866107a960408c018c613b33565b6040516107bc9796959493929190613b76565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613bc9565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613be0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613af0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613af0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b18565b87610b5e6040890189613b33565b604051610b719796959493929190613b76565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613af0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b18565b15610c8f57610c8585610c806040870187613b33565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b33565b611bb2565b610caf611bcb565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611bdd565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a12565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a25565b8a84611bf2565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a12565b4290611d2b565b84611bf2565b610f5888611d39565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a25565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611ed6565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611f0a565b915091508060095f828254610ff59190613a12565b909155506110109050865f8461100a81611766565b88611fd7565b61101a8183613a12565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061214e565b915061105e6110598385612191565b6121a5565b6006805460029061107f9084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611ed6565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611f0a565b915091508060095f8282546111419190613a12565b9091555061115c9050835f8461115681611766565b8a6121ce565b6111668183613a25565b91506111756110598387612191565b600680546002906111969084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c4b565b5f6123be565b8e61124284826123fd565b50505b5f61124f846125ec565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613c6a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061272e565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611ed6565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611ed6565b6113f79190613c4b565b92915050565b5f805f8061140b8a8a6127b6565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8b7f00000000000000000000000000000000000000000000000000000000000000006127ee565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8d7f00000000000000000000000000000000000000000000000000000000000000006128a7565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612961565b509093505f9050611568848f613a12565b90505f6115888b8b61157987611766565b611583908e613c85565b6129a9565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612a0b565b611766565b6115c683611766565b6115d36115b88685612191565b6115dd9190613c4b565b6115e79190613c4b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612a1b565b61162685670de0b6b3a7640000613a25565b906117d4565b6116346138a4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612a3e565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612a3e565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612aab565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a12565b90915550505f838152600b60205260408120805483929061183b908490613a12565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046123fd565b5f8183136118a7578261008d565b50919050565b5f806118b984846127b6565b9092509050806118cb576118cb612c3f565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612c58565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612cc7565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a12565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612d34565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff811115611b1957611b19613cac565b6040519080825280601f01601f191660200182016040528015611b43576020820181803683370190505b506040518663ffffffff1660e01b8152600401611b64959493929190613ce2565b60408051808303815f875af1158015611b7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba39190613d71565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612dc3565b5f611be88284613da7565b61008d9084613a25565b5f83815260086020526040902054600160801b90046001600160801b0316808303611c1d5750505050565b5f848152600860205260408120546001600160801b031690819003611c7557611c45836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cf2565b611cc6611cc1670de0b6b3a7640000611c8e8886613a25565b611c989190613bc9565b85670de0b6b3a7640000611cac878a613a25565b611cb69190613bc9565b859291906001612f2c565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cfb846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611d5b908490600160801b90046001600160801b0316612191565b6006546201000090046001600160701b03169250905081811115611ed1575f611d848383613a25565b9050611d93611cc18286612fc6565b60068054601090611db5908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ded85836117d490919063ffffffff16565b90505f611e1a827f0000000000000000000000000000000000000000000000000000000000000000612191565b90508060095f828254611e2d9190613a12565b90915550611e3d90508183613a25565b9150611e48826118d2565b600280545f90611e629084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e8f82612fda565b600480545f90611ea3908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611eff5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611f1687856117d4565b91505f611f43837f0000000000000000000000000000000000000000000000000000000000000000612191565b9050611f6f817f0000000000000000000000000000000000000000000000000000000000000000612191565b91508315611f9257611f818282613a25565b611f8b9084613a25565b9250611fa9565b611f9c8282613a25565b611fa69084613a12565b92505b86861015611fcc57611fbc8387896117b9565b9250611fc98287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b031661201f611cc182612003670de0b6b3a764000086613bc9565b600554600160801b90046001600160801b031691908a5f612f2c565b600580546001600160801b03928316600160801b029216919091179055612045866118d2565b61204f9082613dba565b600480546001600160801b03928316600160801b029216919091179055612075846118d2565b600280545f9061208f9084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120bc836118fb565b600480545f906120d0908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612100856118d2565b60028054601090612122908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061215f846116268a888a6117b9565b905061216c8884866117b9565b6121769082613a12565b9050868111156121865786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061221057507f000000000000000000000000000000000000000000000000000000000000000061220e8583613a25565b105b1561221d5761221d612c3f565b6004549084900390600f0b6122328482613c4b565b90508361223e86611766565b13801561227357507f000000000000000000000000000000000000000000000000000000000000000061227183836118ad565b105b1561228057612280612c3f565b600354600160801b90046001600160801b03166122c1611cc1826122ac670de0b6b3a764000088613bc9565b6005546001600160801b031691908c5f612f2c565b600580546001600160801b0319166001600160801b03929092169190911790556122eb8882613a25565b90506122f6816118d2565b600380546001600160801b03928316600160801b02921691909117905561231c836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612345826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561236e876118d2565b60028054601090612390908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546123d990611cc1906001600160801b031684846129a9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612447916001600160801b031690613a25565b9050805f0361245a5760019150506113f7565b5f61246485613003565b9050805f03612478576001925050506113f7565b5f8061248583858961309e565b915091508061249a575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124d5929190613e07565b6040805180830381865af41580156124ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125139190613d71565b9150915061253161252382611766565b61252c90613e7c565b612aab565b925082612546575f96505050505050506113f7565b61254f826118d2565b600780545f906125699084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612596816118d2565b600780546010906125b8908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6126138761162c565b6040518263ffffffff1660e01b815260040161262f9190613ab6565b6040805180830381865af4158015612649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266d9190613e96565b915091508061268257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126e791613a12565b6126f19190613a25565b9050805f0361270757505f958695509350505050565b5f808711612715575f612720565b6127208488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561275157612751613cac565b6040519080825280601f01601f19166020018201604052801561277b576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561279b578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836127c386611766565b6127cd9190613c4b565b90505f8112156127e3575f809250925050610d21565b946001945092505050565b5f805f6127fe8888888888613206565b90505f612828670de0b6b3a76400006128178888612fc6565b6128219190613a12565b83906117d4565b9050670de0b6b3a7640000811061285c5761285561284e670de0b6b3a7640000896117d4565b8290612c58565b9050612874565b61287161284e670de0b6b3a764000089612fc6565b90505b61287e81866117d4565b905088811015612895575f809350935050506127ac565b97909703976001975095505050505050565b5f805f6128b78989888888613234565b90506128d1866119466128ca8a8d613a12565b8790612191565b98506128de858a866117b9565b9850888110156128f4575f8092509250506115f6565b888103670de0b6b3a764000081106129225761291b61284e670de0b6b3a764000089612fc6565b905061293a565b61293761284e670de0b6b3a7640000896117d4565b90505b8089101561294f575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612971898789613258565b90925090506129808289613a25565b97505f61298e82888a6117b9565b905061299a818b613a25565b9a989950979650505050505050565b5f806129b5845f6132dd565b6129bf845f6132dd565b6129c99190613c4b565b90505f8113156129e4576129dd8186613a12565b9450612a02565b5f811215612a02576129f581613e7c565b6129ff9086613a25565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612a2f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a51610d28565b612a5b9190613bc9565b9050808311612a6a575f612a74565b612a748184613a25565b915061008d612821670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc9565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b859190613ec4565b935093509350935080612ba057505f98975050505050505050565b868414612bd157612bb0846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c0257612be1836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c3057612c12826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c6f5750670de0b6b3a76400006113f7565b825f03612c7d57505f6113f7565b5f612c8783611766565b90505f612c9b612c9686611766565b6132f2565b9050818102612cb2670de0b6b3a764000082613f02565b9050612cbd81613517565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612d2e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506136a9565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d858482613714565b612d2e576040516001600160a01b0384811660248301525f6044830152612db991869182169063095ea7b390606401612cfc565b612d2e84826136a9565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af4158015612f08573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613ac5565b5f825f03612f3b575084610075565b8115612f8d57612f6c612f4e8487613a12565b612f588587612191565b612f62888a612191565b6116269190613a12565b90505f612f798588611d2b565b905080821015612f87578091505b50610075565b828503612f9b57505f610075565b610072612fa88487613a25565b612fb28587612a0b565b612fbc888a612191565b6116269190613a25565b5f61008d83670de0b6b3a764000084612a1b565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061301d906001600160801b031684612fc6565b90506130497f000000000000000000000000000000000000000000000000000000000000000082613a12565b6002546001600160801b031611156118a7576002547f0000000000000000000000000000000000000000000000000000000000000000906130949083906001600160801b0316613a25565b61008d9190613a25565b6130a66138f9565b5f806130b18461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130eb9190613ab6565b6040805180830381865af4158015613105573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131299190613e96565b935090508261313d57505f9150611baa9050565b5f61315e6115b884610160015185610140015161219190919063ffffffff16565b61317e6115b8856101200151866101000151612a0b90919063ffffffff16565b6131889190613c4b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6132118585612c58565b61322a61322286611946868b612191565b8590856117b9565b6100729190613a12565b5f61323f8585612c58565b61322a61325086611946868b612a0b565b859085612a1b565b5f806132a7856132a185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613297818c612fc6565b6132a19190613a25565b90612a0b565b91506132d3827f0000000000000000000000000000000000000000000000000000000000000000612191565b9050935093915050565b5f8183136132eb578161008d565b5090919050565b5f8082136133135760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133969084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361353057505f919050565b680755bf798b4a1bf1e58212613559576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612cbd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136bd6001600160a01b038416836137b1565b905080515f141580156136e15750808060200190518101906136df9190613f2e565b155b1561370f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161372f9190613f49565b5f604051808303815f865af19150503d805f8114613768576040519150601f19603f3d011682016040523d82523d5f602084013e61376d565b606091505b50915091508180156137975750805115806137975750808060200190518101906137979190613f2e565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516137d59190613f49565b5f6040518083038185875af1925050503d805f811461380f576040519150601f19603f3d011682016040523d82523d5f602084013e613814565b606091505b5091509150612cbd8683836060826138345761382f8261387b565b61008d565b815115801561384b57506001600160a01b0384163b155b1561387457604051639996b31560e01b81526001600160a01b0385166004820152602401613706565b508061008d565b80511561388b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061390d6138a4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613967575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613999575f80fd5b6139a588828901613943565b9150509295509295909350565b5f805f606084860312156139c4575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156139e8575f80fd5b6139f486828701613943565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76139fe565b818103818111156113f7576113f76139fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a38565b5f60208284031215613ad5575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b00575f80fd5b813561008d81613adc565b8015158114610c0a575f80fd5b5f60208284031215613b28575f80fd5b813561008d81613b0b565b5f808335601e19843603018112613b48575f80fd5b83018035915067ffffffffffffffff821115613b62575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76139fe565b5f805f60608486031215613bf2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6139fe565b6001600160801b038181168382160190808211156118cb576118cb6139fe565b8181035f8312801583831316838312821617156118cb576118cb6139fe565b5f60208284031215613c7a575f80fd5b815161008d81613adc565b8082018281125f831280158216821582161715613ca457613ca46139fe565b505092915050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613cda578181015183820152602001613cc2565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d598183860160208801613cc0565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613d82575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613db557613db5613d93565b500690565b6001600160801b038281168282160390808211156118cb576118cb6139fe565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76139fe565b5f6102a082019050613e1a828551613a38565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613e9057613e906139fe565b505f0390565b5f8060408385031215613ea7575f80fd5b825191506020830151613eb981613b0b565b809150509250929050565b5f805f8060808587031215613ed7575f80fd5b8451935060208501519250604085015191506060850151613ef781613b0b565b939692955090935050565b5f82613f1057613f10613d93565b600160ff1b82145f1984141615613f2957613f296139fe565b500590565b5f60208284031215613f3e575f80fd5b815161008d81613b0b565b5f8251613f5a818460208701613cc0565b919091019291505056fea2646970667358221220ec306bb8f4343276c8def9dcf6f7c4a9933054a7f4b0480cee211ce23a8b741764736f6c63430008160033a26469706673582212208bd6f632107a959b0326a7792c5ef24e521727ad77537fdc6ce2d7480445bb5064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts deleted file mode 100644 index 37b613eb5..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts +++ /dev/null @@ -1,834 +0,0 @@ -export declare const MorphoBlueTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_params"; - readonly type: "tuple"; - readonly internalType: "struct IMorphoBlueHyperdrive.MorphoBlueParams"; - readonly components: readonly [{ - readonly name: "morpho"; - readonly type: "address"; - readonly internalType: "contract IMorpho"; - }, { - readonly name: "collateralToken"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "oracle"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "irm"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "lltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts.map deleted file mode 100644 index 0232c34d0..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget4.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAygCsz5B,KAAK,MAAM,EAAE;;;;;;CAMh25B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.js deleted file mode 100644 index b43b3b806..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4.js +++ /dev/null @@ -1,1040 +0,0 @@ -export const MorphoBlueTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", - "components": [ - { - "name": "morpho", - "type": "address", - "internalType": "contract IMorpho" - }, - { - "name": "collateralToken", - "type": "address", - "internalType": "address" - }, - { - "name": "oracle", - "type": "address", - "internalType": "address" - }, - { - "name": "irm", - "type": "address", - "internalType": "address" - }, - { - "name": "lltv", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620039a0380380620039a08339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516130b0620008f05f395f818161115e015281816123cc015261250101525f818161113c015281816123aa01526124d201525f818161111a0152818161238801526124a301525f81816110f801528181612366015261247401525f81816110b401528181612322015261240b01525f50505f50505f61099201525f50505f818161025f015261201701525f8181611877015281816118da01528181611c0701528181611c4301528181611e340152611ff101525f81816105500152611fcb01525f61145901525f6115ae01525f818161070d015261158201525f50505f8181610571015261203d01525f818161064b015261267201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f81816110d601528181612344015261244501526130b05ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612b43565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b95565b6100b1565b005b610056610092366004612b43565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612bc9565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612bf1565b61016a60408c018c612c0c565b60405161017c96959493929190612c77565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612cc4565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612bc9565b88610ea4565b5f6102f56102ec6020870187612bc9565b88848989610a9e565b90945090506103048188612ceb565b92505f61031083610f41565b5090506103206020870187612bc9565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612bf1565b8a888e80604001906103709190612c0c565b604051610384989796959493929190612cfe565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612bc9565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006111c7565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612d45565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6111e3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611203565b92505b506105a283611222565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ceb565b8a8461124f565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612d45565b4290611388565b8461124f565b61063f8861139c565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ceb565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611539565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61156d565b915091508060095f8282546106dc9190612d45565b909155506106f79050865f846106f18161163a565b88611663565b6107018183612d45565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006117da565b91506107456107408385611823565b611837565b600680546002906107669084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611222565b600680546010906107b5908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611539565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161156d565b915091508060095f8282546108289190612d45565b909155506108439050835f8461083d8161163a565b8a611860565b61084d8183612ceb565b915061085c6107408387611823565b6006805460029061087d9084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611222565b600680546010906108cc908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761163a565b61090e8361163a565b6109189190612d98565b5f611a50565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612db7565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a8f565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611b15565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611b21565b9050610b2083611222565b610b2a9083612dd2565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611222565b60078054601090610b75908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611b3c565b9350610bb08684611bd2565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ceb565b9050805f03610c3a576001915050610dc7565b5f610c4485611be6565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c81565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e70565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612ee5565b91509150610d11610d038261163a565b610d0c90612f07565b611dee565b925082610d26575f9650505050505050610dc7565b610d2f82611222565b600780545f90610d499084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611222565b60078054601090610d98908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ceb565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612d45565b90915550505f838152600b602052604081208054839290610ef7908490612d45565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f82565b6040518263ffffffff1660e01b8152600401610f849190612f21565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f30565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612d45565b6110469190612ceb565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611b21565b976001975095505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b602060405180830381865af41580156111a3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612fa1565b5f6111d28284612cc4565b6111dc9084612ceb565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b6120bc565b5f61121982611213858888611b21565b906120e1565b95945050505050565b5f6001600160801b0382111561124b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361127a5750505050565b5f848152600860205260408120546001600160801b0316908190036112d2576112a283611222565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561134f565b61132361131e670de0b6b3a76400006112eb8886612ceb565b6112f59190612fb8565b85670de0b6b3a7640000611309878a612ceb565b6113139190612fb8565b859291906001612150565b611222565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61135884611222565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161139657826111dc565b50919050565b6006545f9081906113be908490600160801b90046001600160801b0316611823565b6006546201000090046001600160701b03169250905081811115611534575f6113e78383612ceb565b90506113f661131e82866121ea565b60068054601090611418908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61145085836121fe90919063ffffffff16565b90505f61147d827f0000000000000000000000000000000000000000000000000000000000000000611823565b90508060095f8282546114909190612d45565b909155506114a090508183612ceb565b91506114ab82611222565b600280545f906114c59084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114f282612212565b600480545f90611506908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061157987856121fe565b91505f6115a6837f0000000000000000000000000000000000000000000000000000000000000000611823565b90506115d2817f0000000000000000000000000000000000000000000000000000000000000000611823565b915083156115f5576115e48282612ceb565b6115ee9084612ceb565b925061160c565b6115ff8282612ceb565b6116099084612d45565b92505b8686101561162f5761161f838789611b21565b925061162c828789611b21565b91505b509550959350505050565b5f6001600160ff1b0382111561124b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166116ab61131e8261168f670de0b6b3a764000086612fb8565b600554600160801b90046001600160801b031691908a5f612150565b600580546001600160801b03928316600160801b0292169190911790556116d186611222565b6116db9082612dd2565b600480546001600160801b03928316600160801b02921691909117905561170184611222565b600280545f9061171b9084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506117488361223b565b600480545f9061175c908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061178c85611222565b600280546010906117ae908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117f1846117eb8a888a611b21565b906121fe565b90506117fe888486611b21565b6118089082612d45565b9050868111156118185786810391505b509695505050505050565b5f6111dc8383670de0b6b3a7640000611b21565b5f6001600160701b0382111561124b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806118a257507f00000000000000000000000000000000000000000000000000000000000000006118a08583612ceb565b105b156118af576118af612276565b6004549084900390600f0b6118c48482612d98565b9050836118d08661163a565b13801561190557507f000000000000000000000000000000000000000000000000000000000000000061190383836120bc565b105b1561191257611912612276565b600354600160801b90046001600160801b031661195361131e8261193e670de0b6b3a764000088612fb8565b6005546001600160801b031691908c5f612150565b600580546001600160801b0319166001600160801b039290921691909117905561197d8882612ceb565b905061198881611222565b600380546001600160801b03928316600160801b0292169190911790556119ae83611222565b600280546001600160801b0319166001600160801b03929092169190911790556119d78261223b565b600480546001600160801b0319166001600160801b0392909216919091179055611a0087611222565b60028054601090611a22908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a6b9061131e906001600160801b0316848461228f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611ab257611ab2612ffc565b6040519080825280601f01601f191660200182016040528015611adc576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611afc578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611b35575f80fd5b5091020490565b5f80611b488585611823565b9050611b53816122f1565b9450845f03611b65575f9150506111dc565b849150611b786040840160208501612bf1565b15611ba757611ba085611b8e6020860186612bc9565b611b9b6040870187612c0c565b6123f6565b9150611bca565b611bca85611bb86020860186612bc9565b611bc56040870187612c0c565b6125ed565b509392505050565b5f6111dc8383670de0b6b3a7640000612606565b6003545f908190611c00906001600160801b0316846121ea565b9050611c2c7f000000000000000000000000000000000000000000000000000000000000000082612d45565b6002546001600160801b03161115611396576002547f000000000000000000000000000000000000000000000000000000000000000090611c779083906001600160801b0316612ceb565b6111dc9190612ceb565b611c89612aa4565b5f80611c9484611f82565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611cce9190612f21565b6040805180830381865af4158015611ce8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0c9190612f30565b9350905082611d2057505f91506100a99050565b5f611d46611d4184610160015185610140015161182390919063ffffffff16565b61163a565b611d66611d41856101200151866101000151611bd290919063ffffffff16565b611d709190612d98565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611ea4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ec89190613010565b935093509350935080611ee357505f98975050505050505050565b868414611f1457611ef384611222565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611f4557611f248361223b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f7357611f5582611222565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f8a612aee565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916120829116612629565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120b492900416612629565b905292915050565b5f806120c8848461269d565b9092509050806120da576120da612276565b5092915050565b5f815f036120f85750670de0b6b3a7640000610dc7565b825f0361210657505f610dc7565b5f6121108361163a565b90505f61212461211f8661163a565b6126d8565b905081810261213b670de0b6b3a76400008261304e565b9050612146816128fd565b9695505050505050565b5f825f0361215f575084611219565b81156121b1576121906121728487612d45565b61217c8587611823565b612186888a611823565b6117eb9190612d45565b90505f61219d8588611388565b9050808210156121ab578091505b50611219565b8285036121bf57505f611219565b6121466121cc8487612ceb565b6121d68587611bd2565b6121e0888a611823565b6117eb9190612ceb565b5f6111dc83670de0b6b3a764000084612606565b5f6111dc83670de0b6b3a764000084611b21565b5f60016001607f1b0382111561124b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612258575060016001607f1b0382135b1561124b5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061229b845f612a8f565b6122a5845f612a8f565b6122af9190612d98565b90505f8113156122ca576122c38186612d45565b94506122e8565b5f8112156122e8576122db81612f07565b6122e59086612ceb565b94505b50929392505050565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b5f8061240186611083565b905080156125e4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525061252c89611083565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156125bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e09190612ee5565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261261a575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061263c61040f565b6126469190612fb8565b9050808311612655575f61265f565b61265f8184612ceb565b91506111dc612696670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fb8565b83906121fe565b5f805f836126aa8661163a565b6126b49190612d98565b90505f8112156126ca575f8092509250506126d1565b9150600190505b9250929050565b5f8082136126f95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061277c9084901c61163a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361291657505f919050565b680755bf798b4a1bf1e5821261293f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061214674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61163a565b5f818313612a9d57816111dc565b5090919050565b604051806101200160405280612ab8612aee565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b55575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b79575f80fd5b840160608187031215612b8a575f80fd5b809150509250925092565b5f8060408385031215612ba6575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612bd9575f80fd5b81356111dc81612bb5565b80151581146103f5575f80fd5b5f60208284031215612c01575f80fd5b81356111dc81612be4565b5f808335601e19843603018112612c21575f80fd5b83018035915067ffffffffffffffff821115612c3b575f80fd5b6020019150368190038213156126d1575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ca460a083018486612c4f565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612cd257612cd2612cb0565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612cd7565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d3760e083018486612c4f565b9a9950505050505050505050565b80820180821115610dc757610dc7612cd7565b6001600160701b038181168382160190808211156120da576120da612cd7565b6001600160801b038181168382160190808211156120da576120da612cd7565b8181035f8312801583831316838312821617156120da576120da612cd7565b5f60208284031215612dc7575f80fd5b81516111dc81612bb5565b6001600160801b038281168282160390808211156120da576120da612cd7565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e83828551612df2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ef6575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f1b57612f1b612cd7565b505f0390565b6101808101610dc78284612df2565b5f8060408385031215612f41575f80fd5b825191506020830151612f5381612be4565b809150509250929050565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f60208284031215612fb1575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612cd7565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612cd7565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613023575f80fd5b845193506020850151925060408501519150606085015161304381612be4565b939692955090935050565b5f8261305c5761305c612cb0565b600160ff1b82145f198414161561307557613075612cd7565b50059056fea2646970667358221220c40995ac1c605ad12ca7f12a2a65167a8ac489f50c9b2b93ecb6c361547e7d3164736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts deleted file mode 100644 index 6879e3b7b..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const MorphoBlueTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=MorphoBlueTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts.map deleted file mode 100644 index ae76b0581..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoBlueTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/MorphoBlueTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Io4/B,KAAK,MAAM,EAAE;;;;CAIt7/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.js deleted file mode 100644 index c3c21f3fe..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoBlueTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const MorphoBlueTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50613fae8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6139a080620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b50604051620039a0380380620039a08339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516130b0620008f05f395f818161115e015281816123cc015261250101525f818161113c015281816123aa01526124d201525f818161111a0152818161238801526124a301525f81816110f801528181612366015261247401525f81816110b401528181612322015261240b01525f50505f50505f61099201525f50505f818161025f015261201701525f8181611877015281816118da01528181611c0701528181611c4301528181611e340152611ff101525f81816105500152611fcb01525f61145901525f6115ae01525f818161070d015261158201525f50505f8181610571015261203d01525f818161064b015261267201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f81816110d601528181612344015261244501526130b05ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612b43565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b95565b6100b1565b005b610056610092366004612b43565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612bc9565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612bf1565b61016a60408c018c612c0c565b60405161017c96959493929190612c77565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612cc4565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612bc9565b88610ea4565b5f6102f56102ec6020870187612bc9565b88848989610a9e565b90945090506103048188612ceb565b92505f61031083610f41565b5090506103206020870187612bc9565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612bf1565b8a888e80604001906103709190612c0c565b604051610384989796959493929190612cfe565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612bc9565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006111c7565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612d45565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6111e3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611203565b92505b506105a283611222565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ceb565b8a8461124f565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612d45565b4290611388565b8461124f565b61063f8861139c565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ceb565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611539565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61156d565b915091508060095f8282546106dc9190612d45565b909155506106f79050865f846106f18161163a565b88611663565b6107018183612d45565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006117da565b91506107456107408385611823565b611837565b600680546002906107669084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611222565b600680546010906107b5908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611539565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161156d565b915091508060095f8282546108289190612d45565b909155506108439050835f8461083d8161163a565b8a611860565b61084d8183612ceb565b915061085c6107408387611823565b6006805460029061087d9084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611222565b600680546010906108cc908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761163a565b61090e8361163a565b6109189190612d98565b5f611a50565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612db7565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a8f565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611b15565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611b21565b9050610b2083611222565b610b2a9083612dd2565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611222565b60078054601090610b75908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611b3c565b9350610bb08684611bd2565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ceb565b9050805f03610c3a576001915050610dc7565b5f610c4485611be6565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c81565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e70565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612ee5565b91509150610d11610d038261163a565b610d0c90612f07565b611dee565b925082610d26575f9650505050505050610dc7565b610d2f82611222565b600780545f90610d499084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611222565b60078054601090610d98908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ceb565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612d45565b90915550505f838152600b602052604081208054839290610ef7908490612d45565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f82565b6040518263ffffffff1660e01b8152600401610f849190612f21565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f30565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612d45565b6110469190612ceb565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611b21565b976001975095505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b602060405180830381865af41580156111a3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612fa1565b5f6111d28284612cc4565b6111dc9084612ceb565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b6120bc565b5f61121982611213858888611b21565b906120e1565b95945050505050565b5f6001600160801b0382111561124b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361127a5750505050565b5f848152600860205260408120546001600160801b0316908190036112d2576112a283611222565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561134f565b61132361131e670de0b6b3a76400006112eb8886612ceb565b6112f59190612fb8565b85670de0b6b3a7640000611309878a612ceb565b6113139190612fb8565b859291906001612150565b611222565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61135884611222565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161139657826111dc565b50919050565b6006545f9081906113be908490600160801b90046001600160801b0316611823565b6006546201000090046001600160701b03169250905081811115611534575f6113e78383612ceb565b90506113f661131e82866121ea565b60068054601090611418908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61145085836121fe90919063ffffffff16565b90505f61147d827f0000000000000000000000000000000000000000000000000000000000000000611823565b90508060095f8282546114909190612d45565b909155506114a090508183612ceb565b91506114ab82611222565b600280545f906114c59084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114f282612212565b600480545f90611506908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061157987856121fe565b91505f6115a6837f0000000000000000000000000000000000000000000000000000000000000000611823565b90506115d2817f0000000000000000000000000000000000000000000000000000000000000000611823565b915083156115f5576115e48282612ceb565b6115ee9084612ceb565b925061160c565b6115ff8282612ceb565b6116099084612d45565b92505b8686101561162f5761161f838789611b21565b925061162c828789611b21565b91505b509550959350505050565b5f6001600160ff1b0382111561124b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166116ab61131e8261168f670de0b6b3a764000086612fb8565b600554600160801b90046001600160801b031691908a5f612150565b600580546001600160801b03928316600160801b0292169190911790556116d186611222565b6116db9082612dd2565b600480546001600160801b03928316600160801b02921691909117905561170184611222565b600280545f9061171b9084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506117488361223b565b600480545f9061175c908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061178c85611222565b600280546010906117ae908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117f1846117eb8a888a611b21565b906121fe565b90506117fe888486611b21565b6118089082612d45565b9050868111156118185786810391505b509695505050505050565b5f6111dc8383670de0b6b3a7640000611b21565b5f6001600160701b0382111561124b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806118a257507f00000000000000000000000000000000000000000000000000000000000000006118a08583612ceb565b105b156118af576118af612276565b6004549084900390600f0b6118c48482612d98565b9050836118d08661163a565b13801561190557507f000000000000000000000000000000000000000000000000000000000000000061190383836120bc565b105b1561191257611912612276565b600354600160801b90046001600160801b031661195361131e8261193e670de0b6b3a764000088612fb8565b6005546001600160801b031691908c5f612150565b600580546001600160801b0319166001600160801b039290921691909117905561197d8882612ceb565b905061198881611222565b600380546001600160801b03928316600160801b0292169190911790556119ae83611222565b600280546001600160801b0319166001600160801b03929092169190911790556119d78261223b565b600480546001600160801b0319166001600160801b0392909216919091179055611a0087611222565b60028054601090611a22908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a6b9061131e906001600160801b0316848461228f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611ab257611ab2612ffc565b6040519080825280601f01601f191660200182016040528015611adc576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611afc578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611b35575f80fd5b5091020490565b5f80611b488585611823565b9050611b53816122f1565b9450845f03611b65575f9150506111dc565b849150611b786040840160208501612bf1565b15611ba757611ba085611b8e6020860186612bc9565b611b9b6040870187612c0c565b6123f6565b9150611bca565b611bca85611bb86020860186612bc9565b611bc56040870187612c0c565b6125ed565b509392505050565b5f6111dc8383670de0b6b3a7640000612606565b6003545f908190611c00906001600160801b0316846121ea565b9050611c2c7f000000000000000000000000000000000000000000000000000000000000000082612d45565b6002546001600160801b03161115611396576002547f000000000000000000000000000000000000000000000000000000000000000090611c779083906001600160801b0316612ceb565b6111dc9190612ceb565b611c89612aa4565b5f80611c9484611f82565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611cce9190612f21565b6040805180830381865af4158015611ce8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0c9190612f30565b9350905082611d2057505f91506100a99050565b5f611d46611d4184610160015185610140015161182390919063ffffffff16565b61163a565b611d66611d41856101200151866101000151611bd290919063ffffffff16565b611d709190612d98565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611ea4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ec89190613010565b935093509350935080611ee357505f98975050505050505050565b868414611f1457611ef384611222565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611f4557611f248361223b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f7357611f5582611222565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f8a612aee565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916120829116612629565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120b492900416612629565b905292915050565b5f806120c8848461269d565b9092509050806120da576120da612276565b5092915050565b5f815f036120f85750670de0b6b3a7640000610dc7565b825f0361210657505f610dc7565b5f6121108361163a565b90505f61212461211f8661163a565b6126d8565b905081810261213b670de0b6b3a76400008261304e565b9050612146816128fd565b9695505050505050565b5f825f0361215f575084611219565b81156121b1576121906121728487612d45565b61217c8587611823565b612186888a611823565b6117eb9190612d45565b90505f61219d8588611388565b9050808210156121ab578091505b50611219565b8285036121bf57505f611219565b6121466121cc8487612ceb565b6121d68587611bd2565b6121e0888a611823565b6117eb9190612ceb565b5f6111dc83670de0b6b3a764000084612606565b5f6111dc83670de0b6b3a764000084611b21565b5f60016001607f1b0382111561124b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612258575060016001607f1b0382135b1561124b5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061229b845f612a8f565b6122a5845f612a8f565b6122af9190612d98565b90505f8113156122ca576122c38186612d45565b94506122e8565b5f8112156122e8576122db81612f07565b6122e59086612ceb565b94505b50929392505050565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b5f8061240186611083565b905080156125e4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525061252c89611083565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156125bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e09190612ee5565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261261a575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061263c61040f565b6126469190612fb8565b9050808311612655575f61265f565b61265f8184612ceb565b91506111dc612696670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fb8565b83906121fe565b5f805f836126aa8661163a565b6126b49190612d98565b90505f8112156126ca575f8092509250506126d1565b9150600190505b9250929050565b5f8082136126f95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061277c9084901c61163a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361291657505f919050565b680755bf798b4a1bf1e5821261293f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061214674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61163a565b5f818313612a9d57816111dc565b5090919050565b604051806101200160405280612ab8612aee565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b55575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b79575f80fd5b840160608187031215612b8a575f80fd5b809150509250925092565b5f8060408385031215612ba6575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612bd9575f80fd5b81356111dc81612bb5565b80151581146103f5575f80fd5b5f60208284031215612c01575f80fd5b81356111dc81612be4565b5f808335601e19843603018112612c21575f80fd5b83018035915067ffffffffffffffff821115612c3b575f80fd5b6020019150368190038213156126d1575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ca460a083018486612c4f565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612cd257612cd2612cb0565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612cd7565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d3760e083018486612c4f565b9a9950505050505050505050565b80820180821115610dc757610dc7612cd7565b6001600160701b038181168382160190808211156120da576120da612cd7565b6001600160801b038181168382160190808211156120da576120da612cd7565b8181035f8312801583831316838312821617156120da576120da612cd7565b5f60208284031215612dc7575f80fd5b81516111dc81612bb5565b6001600160801b038281168282160390808211156120da576120da612cd7565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e83828551612df2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ef6575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f1b57612f1b612cd7565b505f0390565b6101808101610dc78284612df2565b5f8060408385031215612f41575f80fd5b825191506020830151612f5381612be4565b809150509250929050565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f60208284031215612fb1575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612cd7565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612cd7565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613023575f80fd5b845193506020850151925060408501519150606085015161304381612be4565b939692955090935050565b5f8261305c5761305c612cb0565b600160ff1b82145f198414161561307557613075612cd7565b50059056fea2646970667358221220c40995ac1c605ad12ca7f12a2a65167a8ac489f50c9b2b93ecb6c361547e7d3164736f6c63430008160033a264697066735822122055787ed88c507cf6faab755aa505beccda2f8998ae45813edea01fb0c82d187c64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts b/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts deleted file mode 100644 index 9012b57b4..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MorphoLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MorphoLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts.map deleted file mode 100644 index 634a14b0e..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoLib.d.ts","sourceRoot":"","sources":["../src/MorphoLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAE4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoLib.js b/packages/hyperdrive-artifacts/dist/MorphoLib.js deleted file mode 100644 index 514a9f93e..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MorphoLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220562a6fdcba722903f2f8921f1035f2cc0dd9260daedb7db2a81db2ccc29f7fac64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts b/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts deleted file mode 100644 index 3a0d262be..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const MorphoStorageLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=MorphoStorageLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts.map b/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts.map deleted file mode 100644 index 34b87e98a..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MorphoStorageLib.d.ts","sourceRoot":"","sources":["../src/MorphoStorageLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;cAEqQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.js b/packages/hyperdrive-artifacts/dist/MorphoStorageLib.js deleted file mode 100644 index 2ad928115..000000000 --- a/packages/hyperdrive-artifacts/dist/MorphoStorageLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MorphoStorageLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220dc75cf1a04a2fd61a5937941943ce9f7382240e1179a6ba1fa4a5ad43b39b07d64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts b/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts deleted file mode 100644 index e60f4fd7d..000000000 --- a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts +++ /dev/null @@ -1,352 +0,0 @@ -export declare const MultiRolesAuthority: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_authority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "authority"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "canCall"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesRoleHaveCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "doesUserHaveRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getRolesWithCapability"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserRoles"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isCapabilityPublic"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "owner"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setAuthority"; - readonly inputs: readonly [{ - readonly name: "newAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPublicCapability"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setRoleCapability"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setTargetCustomAuthority"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "customAuthority"; - readonly type: "address"; - readonly internalType: "contract Authority"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserRole"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferOwnership"; - readonly inputs: readonly [{ - readonly name: "newOwner"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newAuthority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OwnershipTransferred"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "newOwner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PublicCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RoleCapabilityUpdated"; - readonly inputs: readonly [{ - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "functionSig"; - readonly type: "bytes4"; - readonly indexed: true; - readonly internalType: "bytes4"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TargetCustomAuthorityUpdated"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "authority"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "contract Authority"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserRoleUpdated"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "role"; - readonly type: "uint8"; - readonly indexed: true; - readonly internalType: "uint8"; - }, { - readonly name: "enabled"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "authority()": "bf7e214f"; - readonly "canCall(address,address,bytes4)": "b7009613"; - readonly "doesRoleHaveCapability(uint8,bytes4)": "e688747b"; - readonly "doesUserHaveRole(address,uint8)": "ea7ca276"; - readonly "getRolesWithCapability(bytes4)": "ed0d0efb"; - readonly "getTargetCustomAuthority(address)": "c53a3985"; - readonly "getUserRoles(address)": "06a36aee"; - readonly "isCapabilityPublic(bytes4)": "0bade8a4"; - readonly "owner()": "8da5cb5b"; - readonly "setAuthority(address)": "7a9e5e4b"; - readonly "setPublicCapability(bytes4,bool)": "4b5159da"; - readonly "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b"; - readonly "setTargetCustomAuthority(address,address)": "728b952b"; - readonly "setUserRole(address,uint8,bool)": "67aff484"; - readonly "transferOwnership(address)": "f2fde38b"; - }; -}; -//# sourceMappingURL=MultiRolesAuthority.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts.map b/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts.map deleted file mode 100644 index 7e9496929..000000000 --- a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MultiRolesAuthority.d.ts","sourceRoot":"","sources":["../src/MultiRolesAuthority.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgbsnM,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;CAkBlqM,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.js b/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.js deleted file mode 100644 index 188296c44..000000000 --- a/packages/hyperdrive-artifacts/dist/MultiRolesAuthority.js +++ /dev/null @@ -1,451 +0,0 @@ -export const MultiRolesAuthority = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_owner", - "type": "address", - "internalType": "address" - }, - { - "name": "_authority", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "authority", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "canCall", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesRoleHaveCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "doesUserHaveRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRolesWithCapability", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTargetCustomAuthority", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract Authority" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserRoles", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isCapabilityPublic", - "inputs": [ - { - "name": "", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setAuthority", - "inputs": [ - { - "name": "newAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPublicCapability", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRoleCapability", - "inputs": [ - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setTargetCustomAuthority", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "customAuthority", - "type": "address", - "internalType": "contract Authority" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserRole", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AuthorityUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newAuthority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PublicCapabilityUpdated", - "inputs": [ - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleCapabilityUpdated", - "inputs": [ - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "functionSig", - "type": "bytes4", - "indexed": true, - "internalType": "bytes4" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TargetCustomAuthorityUpdated", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "authority", - "type": "address", - "indexed": true, - "internalType": "contract Authority" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRoleUpdated", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "role", - "type": "uint8", - "indexed": true, - "internalType": "uint8" - }, - { - "name": "enabled", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50604051610c41380380610c4183398101604081905261002e916100dd565b5f80546001600160a01b03199081166001600160a01b0385811691821784556001805490931690851617909155604051849284929133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350505050610115565b6001600160a01b03811681146100da575f80fd5b50565b5f80604083850312156100ee575f80fd5b82516100f9816100c6565b602084015190925061010a816100c6565b809150509250929050565b610b1f806101225f395ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c80638da5cb5b11610093578063e688747b11610063578063e688747b14610231578063ea7ca27614610266578063ed0d0efb1461029c578063f2fde38b146102bb575f80fd5b80638da5cb5b146101b9578063b7009613146101e3578063bf7e214f146101f6578063c53a398514610209575f80fd5b80634b5159da116100ce5780634b5159da1461016d57806367aff48414610180578063728b952b146101935780637a9e5e4b146101a6575f80fd5b806306a36aee146100f45780630bade8a4146101265780630ea9b75b14610158575b5f80fd5b61011361010236600461089f565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b6101486101343660046108d6565b60046020525f908152604090205460ff1681565b604051901515815260200161011d565b61016b61016636600461090c565b6102ce565b005b61016b61017b366004610950565b6103ac565b61016b61018e366004610985565b61043c565b61016b6101a13660046109b0565b610501565b61016b6101b436600461089f565b610588565b5f546101cb906001600160a01b031681565b6040516001600160a01b03909116815260200161011d565b6101486101f13660046109dc565b61066c565b6001546101cb906001600160a01b031681565b6101cb61021736600461089f565b60026020525f90815260409020546001600160a01b031681565b61014861023f366004610a20565b6001600160e01b0319165f9081526005602052604090205460ff919091161c600116151590565b610148610274366004610a51565b6001600160a01b03919091165f90815260036020526040902054600160ff9092161c16151590565b6101136102aa3660046108d6565b60056020525f908152604090205481565b61016b6102c936600461089f565b610767565b6102e3335f356001600160e01b0319166107e2565b6103085760405162461bcd60e51b81526004016102ff90610a7b565b60405180910390fd5b8015610337576001600160e01b031982165f9081526005602052604090208054600160ff86161b17905561035d565b6001600160e01b031982165f9081526005602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b1518360405161039f911515815260200190565b60405180910390a3505050565b6103c1335f356001600160e01b0319166107e2565b6103dd5760405162461bcd60e51b81526004016102ff90610a7b565b6001600160e01b031982165f81815260046020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610451335f356001600160e01b0319166107e2565b61046d5760405162461bcd60e51b81526004016102ff90610a7b565b801561049b576001600160a01b0383165f9081526003602052604090208054600160ff85161b1790556104c0565b6001600160a01b0383165f9081526003602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf28360405161039f911515815260200190565b610516335f356001600160e01b0319166107e2565b6105325760405162461bcd60e51b81526004016102ff90610a7b565b6001600160a01b038281165f8181526002602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f546001600160a01b0316331480610619575060015460405163b700961360e01b81526001600160a01b039091169063b7009613906105da90339030906001600160e01b03195f351690600401610aa1565b602060405180830381865afa1580156105f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106199190610ace565b610621575f80fd5b600180546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b6001600160a01b038083165f9081526002602052604081205490911680156107055760405163b700961360e01b81526001600160a01b0382169063b7009613906106be90889088908890600401610aa1565b602060405180830381865afa1580156106d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fd9190610ace565b915050610760565b6001600160e01b031983165f9081526004602052604090205460ff168061075c57506001600160e01b031983165f908152600560209081526040808320546001600160a01b03891684526003909252909120541615155b9150505b9392505050565b61077c335f356001600160e01b0319166107e2565b6107985760405162461bcd60e51b81526004016102ff90610a7b565b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001545f906001600160a01b03168015801590610869575060405163b700961360e01b81526001600160a01b0382169063b70096139061082a90879030908890600401610aa1565b602060405180830381865afa158015610845573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108699190610ace565b8061088057505f546001600160a01b038581169116145b949350505050565b6001600160a01b038116811461089c575f80fd5b50565b5f602082840312156108af575f80fd5b813561076081610888565b80356001600160e01b0319811681146108d1575f80fd5b919050565b5f602082840312156108e6575f80fd5b610760826108ba565b803560ff811681146108d1575f80fd5b801515811461089c575f80fd5b5f805f6060848603121561091e575f80fd5b610927846108ef565b9250610935602085016108ba565b91506040840135610945816108ff565b809150509250925092565b5f8060408385031215610961575f80fd5b61096a836108ba565b9150602083013561097a816108ff565b809150509250929050565b5f805f60608486031215610997575f80fd5b83356109a281610888565b9250610935602085016108ef565b5f80604083850312156109c1575f80fd5b82356109cc81610888565b9150602083013561097a81610888565b5f805f606084860312156109ee575f80fd5b83356109f981610888565b92506020840135610a0981610888565b9150610a17604085016108ba565b90509250925092565b5f8060408385031215610a31575f80fd5b610a3a836108ef565b9150610a48602084016108ba565b90509250929050565b5f8060408385031215610a62575f80fd5b8235610a6d81610888565b9150610a48602084016108ef565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215610ade575f80fd5b8151610760816108ff56fea26469706673582212201f9fcb2e91ae2b59a6844cb685bf251770d615c60cfc9612aa76d28eafda347464736f6c63430008160033', - methodIdentifiers: { - "authority()": "bf7e214f", - "canCall(address,address,bytes4)": "b7009613", - "doesRoleHaveCapability(uint8,bytes4)": "e688747b", - "doesUserHaveRole(address,uint8)": "ea7ca276", - "getRolesWithCapability(bytes4)": "ed0d0efb", - "getTargetCustomAuthority(address)": "c53a3985", - "getUserRoles(address)": "06a36aee", - "isCapabilityPublic(bytes4)": "0bade8a4", - "owner()": "8da5cb5b", - "setAuthority(address)": "7a9e5e4b", - "setPublicCapability(bytes4,bool)": "4b5159da", - "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", - "setTargetCustomAuthority(address,address)": "728b952b", - "setUserRole(address,uint8,bool)": "67aff484", - "transferOwnership(address)": "f2fde38b" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts b/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts deleted file mode 100644 index 13c8c66be..000000000 --- a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts +++ /dev/null @@ -1,270 +0,0 @@ -export declare const NonPayableDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployAndInitialize"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "contract HyperdriveFactory"; - }, { - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "contract HyperdriveFactory"; - }, { - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployerCoordinator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_fixedAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_timeStretchAPR"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployAndInitialize(address,bytes32,string,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "606b5563"; - readonly "deployTarget(address,bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "73c871b3"; - }; -}; -//# sourceMappingURL=NonPayableDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts.map deleted file mode 100644 index cb855b70e..000000000 --- a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"NonPayableDeployer.d.ts","sourceRoot":"","sources":["../src/NonPayableDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8Um2I,KAAK,MAAM,EAAE;;;;;CAK94I,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.js b/packages/hyperdrive-artifacts/dist/NonPayableDeployer.js deleted file mode 100644 index f36ab8bb8..000000000 --- a/packages/hyperdrive-artifacts/dist/NonPayableDeployer.js +++ /dev/null @@ -1,340 +0,0 @@ -export const NonPayableDeployer = { - abi: [ - { - "type": "function", - "name": "deployAndInitialize", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "contract HyperdriveFactory" - }, - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_factory", - "type": "address", - "internalType": "contract HyperdriveFactory" - }, - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployerCoordinator", - "type": "address", - "internalType": "address" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_fixedAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_timeStretchAPR", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061089a8061001d5f395ff3fe608060405260043610610028575f3560e01c8063606b55631461002c57806373c871b314610041575b5f80fd5b61003f61003a36600461044b565b610060565b005b34801561004c575f80fd5b5061003f61005b366004610539565b6100ef565b604051632e7cd97160e01b81526001600160a01b038c1690632e7cd9719034906100a0908e908d908f908e908e908e908e908e908e908e9060040161072d565b60206040518083038185885af11580156100bc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906100e191906107e0565b505050505050505050505050565b6040516349f13de760e01b81526001600160a01b038a16906349f13de790610129908b908b908b908b908b908b908b908b90600401610802565b6020604051808303815f875af1158015610145573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061016991906107e0565b50505050505050505050565b6001600160a01b0381168114610189575f80fd5b50565b803561019781610175565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff811182821017156101d4576101d461019c565b60405290565b5f82601f8301126101e9575f80fd5b813567ffffffffffffffff808211156102045761020461019c565b604051601f8301601f19908116603f0116810190828211818310171561022c5761022c61019c565b81604052838152866020858801011115610244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f60808284031215610273575f80fd5b6040516080810181811067ffffffffffffffff821117156102965761029661019c565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61024082840312156102d8575f80fd5b6102e06101b0565b90506102eb8261018c565b81526102f96020830161018c565b602082015261030a6040830161018c565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014061036781840161018c565b9082015261016061037983820161018c565b9082015261018061038b83820161018c565b908201526101a061039d83820161018c565b908201526101c06103b084848301610263565b9082015292915050565b5f606082840312156103ca575f80fd5b6040516060810167ffffffffffffffff82821081831117156103ee576103ee61019c565b816040528293508435915061040282610175565b9082526020840135908115158214610418575f80fd5b8160208401526040850135915080821115610431575f80fd5b5061043e858286016101da565b6040830152505092915050565b5f805f805f805f805f805f6103808c8e031215610466575f80fd5b61046f8c61018c565b9a5060208c0135995067ffffffffffffffff8060408e01351115610491575f80fd5b6104a18e60408f01358f016101da565b99506104af60608e0161018c565b98506104be8e60808f016102c7565b9750806102c08e013511156104d1575f80fd5b6104e28e6102c08f01358f016101da565b96506102e08d013595506103008d013594506103208d01359350806103408e0135111561050d575f80fd5b5061051f8d6103408e01358e016103ba565b91506103608c013590509295989b509295989b9093969950565b5f805f805f805f805f6103408a8c031215610552575f80fd5b893561055d81610175565b985060208a0135975060408a013561057481610175565b96506105838b60608c016102c7565b95506102a08a013567ffffffffffffffff81111561059f575f80fd5b6105ab8c828d016101da565b999c989b5096999598976102c087013597506102e08701359661030081013596506103200135945092505050565b5f81518084525f5b818110156105fd576020818501810151868301820152016105e1565b505f602082860101526020601f19601f83011685010191505092915050565b80516001600160a01b03168252602081015161064360208401826001600160a01b03169052565b50604081015161065e60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201516106c4828501826001600160a01b03169052565b5050610160818101516001600160a01b0390811691840191909152610180808301518216908401526101a080830151909116908301526101c09081015180519183019190915260208101516101e083015260408101516102008301526060015161022090910152565b8a81526001600160a01b038a81166020830152610360604083018190525f916107588483018d6105d9565b9150610767606085018c61061c565b8382036102a085015261077a828b6105d9565b9150886102c0850152876102e085015286610300850152838203610320850152808651168252506020850151151560208201526040850151606060408301526107c660608301826105d9565b92505050826103408301529b9a5050505050505050505050565b5f602082840312156107f0575f80fd5b81516107fb81610175565b9392505050565b8881526001600160a01b03881660208201525f610320610825604084018a61061c565b80610280840152610838818401896105d9565b915050856102a0830152846102c0830152836102e083015282610300830152999850505050505050505056fea2646970667358221220ca9a91b70e77f5739668d14b7df089956c09daaee911ca1196963d5e9a4afa0e64736f6c63430008160033', - methodIdentifiers: { - "deployAndInitialize(address,bytes32,string,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "606b5563", - "deployTarget(address,bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "73c871b3" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts b/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts deleted file mode 100644 index 828e76244..000000000 --- a/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const PercentageMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=PercentageMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts.map b/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts.map deleted file mode 100644 index 927336b89..000000000 --- a/packages/hyperdrive-artifacts/dist/PercentageMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PercentageMath.d.ts","sourceRoot":"","sources":["../src/PercentageMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;cAEuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PercentageMath.js b/packages/hyperdrive-artifacts/dist/PercentageMath.js deleted file mode 100644 index 7df1fd6da..000000000 --- a/packages/hyperdrive-artifacts/dist/PercentageMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const PercentageMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e884d10a40db003cd248bac8dede05200cc4e7da0d339456a392543bea54e2b564736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Pool.d.ts b/packages/hyperdrive-artifacts/dist/Pool.d.ts deleted file mode 100644 index 98f47658b..000000000 --- a/packages/hyperdrive-artifacts/dist/Pool.d.ts +++ /dev/null @@ -1,1672 +0,0 @@ -export declare const Pool: { - abi: readonly [{ - readonly type: "function"; - readonly name: "ADDRESSES_PROVIDER"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "BRIDGE_PROTOCOL_FEE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TOTAL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "FLASHLOAN_PREMIUM_TO_PROTOCOL"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_NUMBER_RESERVES"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "backUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "borrow"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "configureEModeCategory"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "category"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deposit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "dropReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "finalizeTransfer"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceFromBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "balanceToBefore"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoan"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "amounts"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "interestRateModes"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "flashLoanSimple"; - readonly inputs: readonly [{ - readonly name: "receiverAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "params"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getBorrowLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getBridgeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeCategoryData"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.EModeCategory"; - readonly components: readonly [{ - readonly name: "ltv"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationThreshold"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationBonus"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "priceSource"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "label"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getEModeLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getFlashLoanLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getLiquidationLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getPoolLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getReserveAddressById"; - readonly inputs: readonly [{ - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveData"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveDataLegacy"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveDataExtended"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveData"; - readonly components: readonly [{ - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentLiquidityRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentVariableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "currentStableBorrowRate"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastUpdateTimestamp"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "id"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "liquidationGracePeriodUntil"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accruedToTreasury"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "unbacked"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isolationModeTotalDebt"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "virtualUnderlyingBalance"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedIncome"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReserveNormalizedVariableDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesCount"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getReservesList"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getSupplyLogic"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getUserAccountData"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "totalCollateralBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "totalDebtBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "availableBorrowsBase"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "currentLiquidationThreshold"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "ltv"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "healthFactor"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserConfiguration"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.UserConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUserEMode"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getVirtualUnderlyingBalance"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initReserve"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "aTokenAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "stableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "variableDebtAddress"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly internalType: "contract IPoolAddressesProvider"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "liquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintToTreasury"; - readonly inputs: readonly [{ - readonly name: "assets"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mintUnbacked"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repay"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithATokens"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "repayWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rescueTokens"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "resetIsolationModeTotalDebt"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setConfiguration"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "configuration"; - readonly type: "tuple"; - readonly internalType: "struct DataTypes.ReserveConfigurationMap"; - readonly components: readonly [{ - readonly name: "data"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setLiquidationGracePeriod"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "until"; - readonly type: "uint40"; - readonly internalType: "uint40"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setReserveInterestRateStrategyAddress"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "rateStrategyAddress"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserEMode"; - readonly inputs: readonly [{ - readonly name: "categoryId"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setUserUseReserveAsCollateral"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "useAsCollateral"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supply"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "supplyWithPermit"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly internalType: "uint16"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "permitV"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "permitR"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitS"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapToVariable"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncIndexesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "syncRatesState"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateBridgeProtocolFee"; - readonly inputs: readonly [{ - readonly name: "protocolFee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "updateFlashloanPremiums"; - readonly inputs: readonly [{ - readonly name: "flashLoanPremiumTotal"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "flashLoanPremiumToProtocol"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "withdraw"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "BackUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "backer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "fee"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Borrow"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "borrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "FlashLoan"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "initiator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }, { - readonly name: "premium"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "LiquidationCall"; - readonly inputs: readonly [{ - readonly name: "collateralAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtAsset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "debtToCover"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidatedCollateralAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidator"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "receiveAToken"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintUnbacked"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintedToTreasury"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amountMinted"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RebalanceStableBorrowRate"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Repay"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "repayer"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "useATokens"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Supply"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "SwapBorrowRateMode"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "interestRateMode"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "enum DataTypes.InterestRateMode"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "UserEModeSet"; - readonly inputs: readonly [{ - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "categoryId"; - readonly type: "uint8"; - readonly indexed: false; - readonly internalType: "uint8"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "ADDRESSES_PROVIDER()": "0542975c"; - readonly "BRIDGE_PROTOCOL_FEE()": "272d9072"; - readonly "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43"; - readonly "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036"; - readonly "MAX_NUMBER_RESERVES()": "f8119d51"; - readonly "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f"; - readonly "backUnbacked(address,uint256,uint256)": "d65dc7a1"; - readonly "borrow(address,uint256,uint256,uint16,address)": "a415bcad"; - readonly "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d"; - readonly "deposit(address,uint256,address,uint16)": "e8eda9df"; - readonly "dropReserve(address)": "63c9b860"; - readonly "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933"; - readonly "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d"; - readonly "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c"; - readonly "getBorrowLogic()": "2be29fa7"; - readonly "getBridgeLogic()": "df374c36"; - readonly "getConfiguration(address)": "c44b11f7"; - readonly "getEModeCategoryData(uint8)": "6c6f6ae1"; - readonly "getEModeLogic()": "f32b9a73"; - readonly "getFlashLoanLogic()": "348fde0f"; - readonly "getLiquidationGracePeriod(address)": "5c9a8b18"; - readonly "getLiquidationLogic()": "911a3413"; - readonly "getPoolLogic()": "d3350155"; - readonly "getReserveAddressById(uint16)": "52751797"; - readonly "getReserveData(address)": "35ea6a75"; - readonly "getReserveDataExtended(address)": "8381995f"; - readonly "getReserveNormalizedIncome(address)": "d15e0053"; - readonly "getReserveNormalizedVariableDebt(address)": "386497fd"; - readonly "getReservesCount()": "72218d04"; - readonly "getReservesList()": "d1946dbc"; - readonly "getSupplyLogic()": "870e7744"; - readonly "getUserAccountData(address)": "bf92857c"; - readonly "getUserConfiguration(address)": "4417a583"; - readonly "getUserEMode(address)": "eddf1b79"; - readonly "getVirtualUnderlyingBalance(address)": "6fb07f96"; - readonly "initReserve(address,address,address,address,address)": "7a708e92"; - readonly "initialize(address)": "c4d66de8"; - readonly "liquidationCall(address,address,address,uint256,bool)": "00a718a9"; - readonly "mintToTreasury(address[])": "9cd19996"; - readonly "mintUnbacked(address,uint256,address,uint16)": "69a933a5"; - readonly "rebalanceStableBorrowRate(address,address)": "cd112382"; - readonly "repay(address,uint256,uint256,address)": "573ade81"; - readonly "repayWithATokens(address,uint256,uint256)": "2dad97d4"; - readonly "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b"; - readonly "rescueTokens(address,address,uint256)": "cea9d26f"; - readonly "resetIsolationModeTotalDebt(address)": "e43e88a1"; - readonly "setConfiguration(address,(uint256))": "f51e435b"; - readonly "setLiquidationGracePeriod(address,uint40)": "b1a99e26"; - readonly "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9"; - readonly "setUserEMode(uint8)": "28530a47"; - readonly "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9"; - readonly "supply(address,uint256,address,uint16)": "617ba037"; - readonly "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0"; - readonly "swapBorrowRateMode(address,uint256)": "94ba89a2"; - readonly "swapToVariable(address,address)": "2520d5ee"; - readonly "syncIndexesState(address)": "ab2b51f6"; - readonly "syncRatesState(address)": "98c7da4e"; - readonly "updateBridgeProtocolFee(uint256)": "3036b439"; - readonly "updateFlashloanPremiums(uint128,uint128)": "bcb6e522"; - readonly "withdraw(address,uint256,address)": "69328dec"; - }; -}; -//# sourceMappingURL=Pool.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Pool.d.ts.map b/packages/hyperdrive-artifacts/dist/Pool.d.ts.map deleted file mode 100644 index c816a1615..000000000 --- a/packages/hyperdrive-artifacts/dist/Pool.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Pool.d.ts","sourceRoot":"","sources":["../src/Pool.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0gEG,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Pool.js b/packages/hyperdrive-artifacts/dist/Pool.js deleted file mode 100644 index 5fcbf9d72..000000000 --- a/packages/hyperdrive-artifacts/dist/Pool.js +++ /dev/null @@ -1,2122 +0,0 @@ -export const Pool = { - abi: [ - { - "type": "function", - "name": "ADDRESSES_PROVIDER", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "BRIDGE_PROTOCOL_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TOTAL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_NUMBER_RESERVES", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint16", - "internalType": "uint16" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "backUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "borrow", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "configureEModeCategory", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "category", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "dropReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "finalizeTransfer", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceFromBefore", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "balanceToBefore", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "amounts", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "interestRateModes", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoanSimple", - "inputs": [ - { - "name": "receiverAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "params", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getBorrowLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getBridgeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeCategoryData", - "inputs": [ - { - "name": "id", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.EModeCategory", - "components": [ - { - "name": "ltv", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationThreshold", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationBonus", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "priceSource", - "type": "address", - "internalType": "address" - }, - { - "name": "label", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getEModeLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getFlashLoanLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint40", - "internalType": "uint40" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getLiquidationLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPoolLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getReserveAddressById", - "inputs": [ - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveData", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveDataLegacy", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveDataExtended", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.ReserveData", - "components": [ - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "liquidityIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentLiquidityRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "variableBorrowIndex", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentVariableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "currentStableBorrowRate", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastUpdateTimestamp", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "id", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "liquidationGracePeriodUntil", - "type": "uint40", - "internalType": "uint40" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "accruedToTreasury", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "unbacked", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isolationModeTotalDebt", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "virtualUnderlyingBalance", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedIncome", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReserveNormalizedVariableDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesCount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getReservesList", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getSupplyLogic", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getUserAccountData", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalCollateralBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "totalDebtBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "availableBorrowsBase", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "currentLiquidationThreshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "ltv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "healthFactor", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserConfiguration", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct DataTypes.UserConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserEMode", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getVirtualUnderlyingBalance", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint128", - "internalType": "uint128" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initReserve", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "aTokenAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "stableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "variableDebtAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "internalType": "contract IPoolAddressesProvider" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "liquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "receiveAToken", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintToTreasury", - "inputs": [ - { - "name": "assets", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mintUnbacked", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rebalanceStableBorrowRate", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repay", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithATokens", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "repayWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rescueTokens", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "resetIsolationModeTotalDebt", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setConfiguration", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "configuration", - "type": "tuple", - "internalType": "struct DataTypes.ReserveConfigurationMap", - "components": [ - { - "name": "data", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setLiquidationGracePeriod", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "until", - "type": "uint40", - "internalType": "uint40" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReserveInterestRateStrategyAddress", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "rateStrategyAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserEMode", - "inputs": [ - { - "name": "categoryId", - "type": "uint8", - "internalType": "uint8" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setUserUseReserveAsCollateral", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "useAsCollateral", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supply", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supplyWithPermit", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "onBehalfOf", - "type": "address", - "internalType": "address" - }, - { - "name": "referralCode", - "type": "uint16", - "internalType": "uint16" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "permitV", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "permitR", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitS", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapBorrowRateMode", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapToVariable", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncIndexesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "syncRatesState", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateBridgeProtocolFee", - "inputs": [ - { - "name": "protocolFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "updateFlashloanPremiums", - "inputs": [ - { - "name": "flashLoanPremiumTotal", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "flashLoanPremiumToProtocol", - "type": "uint128", - "internalType": "uint128" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { - "name": "asset", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "BackUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "backer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "fee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Borrow", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "borrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FlashLoan", - "inputs": [ - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "initiator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - }, - { - "name": "premium", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LiquidationCall", - "inputs": [ - { - "name": "collateralAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtAsset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "debtToCover", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidatedCollateralAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidator", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "receiveAToken", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintUnbacked", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintedToTreasury", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amountMinted", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RebalanceStableBorrowRate", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Repay", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "repayer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "useATokens", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Supply", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SwapBorrowRateMode", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "interestRateMode", - "type": "uint8", - "indexed": false, - "internalType": "enum DataTypes.InterestRateMode" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserEModeSet", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "categoryId", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "ADDRESSES_PROVIDER()": "0542975c", - "BRIDGE_PROTOCOL_FEE()": "272d9072", - "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", - "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", - "MAX_NUMBER_RESERVES()": "f8119d51", - "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", - "backUnbacked(address,uint256,uint256)": "d65dc7a1", - "borrow(address,uint256,uint256,uint16,address)": "a415bcad", - "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", - "deposit(address,uint256,address,uint16)": "e8eda9df", - "dropReserve(address)": "63c9b860", - "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", - "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", - "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", - "getBorrowLogic()": "2be29fa7", - "getBridgeLogic()": "df374c36", - "getConfiguration(address)": "c44b11f7", - "getEModeCategoryData(uint8)": "6c6f6ae1", - "getEModeLogic()": "f32b9a73", - "getFlashLoanLogic()": "348fde0f", - "getLiquidationGracePeriod(address)": "5c9a8b18", - "getLiquidationLogic()": "911a3413", - "getPoolLogic()": "d3350155", - "getReserveAddressById(uint16)": "52751797", - "getReserveData(address)": "35ea6a75", - "getReserveDataExtended(address)": "8381995f", - "getReserveNormalizedIncome(address)": "d15e0053", - "getReserveNormalizedVariableDebt(address)": "386497fd", - "getReservesCount()": "72218d04", - "getReservesList()": "d1946dbc", - "getSupplyLogic()": "870e7744", - "getUserAccountData(address)": "bf92857c", - "getUserConfiguration(address)": "4417a583", - "getUserEMode(address)": "eddf1b79", - "getVirtualUnderlyingBalance(address)": "6fb07f96", - "initReserve(address,address,address,address,address)": "7a708e92", - "initialize(address)": "c4d66de8", - "liquidationCall(address,address,address,uint256,bool)": "00a718a9", - "mintToTreasury(address[])": "9cd19996", - "mintUnbacked(address,uint256,address,uint16)": "69a933a5", - "rebalanceStableBorrowRate(address,address)": "cd112382", - "repay(address,uint256,uint256,address)": "573ade81", - "repayWithATokens(address,uint256,uint256)": "2dad97d4", - "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", - "rescueTokens(address,address,uint256)": "cea9d26f", - "resetIsolationModeTotalDebt(address)": "e43e88a1", - "setConfiguration(address,(uint256))": "f51e435b", - "setLiquidationGracePeriod(address,uint40)": "b1a99e26", - "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", - "setUserEMode(uint8)": "28530a47", - "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", - "supply(address,uint256,address,uint16)": "617ba037", - "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", - "swapBorrowRateMode(address,uint256)": "94ba89a2", - "swapToVariable(address,address)": "2520d5ee", - "syncIndexesState(address)": "ab2b51f6", - "syncRatesState(address)": "98c7da4e", - "updateBridgeProtocolFee(uint256)": "3036b439", - "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", - "withdraw(address,uint256,address)": "69328dec" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts b/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts deleted file mode 100644 index 7ba5a8fc6..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -export declare const PoolLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "IsolationModeTotalDebtUpdated"; - readonly inputs: readonly [{ - readonly name: "asset"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "totalDebt"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "MintedToTreasury"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amountMinted"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeDropReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,address)": "9cf57023"; - readonly "executeGetUserAccountData(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.CalculateUserAccountDataParams)": "26ec273f"; - readonly "executeInitReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.InitReserveParams)": "69fc1bdf"; - readonly "executeMintToTreasury(mapping(address => DataTypes.ReserveData) storage,address[])": "48c2ca8c"; - readonly "executeRescueTokens(address,address,uint256)": "87b322b2"; - readonly "executeResetIsolationModeTotalDebt(mapping(address => DataTypes.ReserveData) storage,address)": "1e3b4145"; - readonly "executeSetLiquidationGracePeriod(mapping(address => DataTypes.ReserveData) storage,address,uint40)": "6ae43813"; - }; -}; -//# sourceMappingURL=PoolLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts.map deleted file mode 100644 index 7ed5c3375..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PoolLogic.d.ts","sourceRoot":"","sources":["../src/PoolLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyC4wc,KAAK,MAAM,EAAE;;;;;;;;;;CAU9yc,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PoolLogic.js b/packages/hyperdrive-artifacts/dist/PoolLogic.js deleted file mode 100644 index 59c1784e2..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolLogic.js +++ /dev/null @@ -1,52 +0,0 @@ -export const PoolLogic = { - abi: [ - { - "type": "event", - "name": "IsolationModeTotalDebtUpdated", - "inputs": [ - { - "name": "asset", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "totalDebt", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MintedToTreasury", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amountMinted", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x611c52610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c806369fc1bdf1161006357806369fc1bdf1461010e5780636ae438131461013d57806387b322b21461019a5780639cf57023146101b9575f80fd5b80631e3b41451461008957806326ec273f146100aa57806348c2ca8c146100ef575b5f80fd5b818015610094575f80fd5b506100a86100a33660046117a3565b6101d8565b005b6100bd6100b8366004611860565b6102a7565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0015b60405180910390f35b8180156100fa575f80fd5b506100a8610109366004611915565b6102e1565b818015610119575f80fd5b5061012d61012836600461199e565b610452565b60405190151581526020016100e6565b818015610148575f80fd5b506100a8610157366004611a57565b6001600160a01b039091165f9081526020929092526040909120600301805464ffffffffff909216600160b81b0264ffffffffff60b81b19909216919091179055565b8180156101a5575f80fd5b506100a86101b4366004611a9d565b6106b1565b8180156101c4575f80fd5b506100a86101d3366004611ad6565b6106ca565b6001600160a01b0381165f9081526020838152604091829020825191820190925290549081905260d41c64ffffffffff16604080518082019091526002815261383160f01b6020820152901561024a5760405162461bcd60e51b81526004016102419190611b08565b60405180910390fd5b506001600160a01b0381165f8181526020848152604080832060090180546001600160801b0319169055519182527faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a25050565b5f805f805f806102b98a8a8a8a61078c565b50939950919750909450925090506102d2868684610c4e565b93509499939850945094509450565b5f5b8181101561044c575f8383838181106102fe576102fe611b54565b90506020020160208101906103139190611b68565b6001600160a01b0381165f908152602087815260409182902082519182019092528154908190529192509067010000000000000016610353575050610444565b60088101546001600160801b03168015610440576008820180546001600160801b03191690555f61038383610c80565b90505f6103908383610ce2565b600480860154604051637df5bd3b60e01b81529293506001600160a01b031691637df5bd3b916103cd918591879101918252602082015260400190565b5f604051808303815f87803b1580156103e4575f80fd5b505af11580156103f6573d5f803e3d5ffd5b50505050846001600160a01b03167fbfa21aa5d5f9a1f0120a95e7c0749f389863cbdbfff531aa7339077a5bc919de8260405161043591815260200190565b60405180910390a250505b5050505b6001016102e3565b50505050565b80516040805180820190915260018152603960f81b60208201525f913b61048c5760405162461bcd60e51b81526004016102419190611b08565b506020808301516040808501516060860151608087015187516001600160a01b03165f908152958a9052929094206104c694909392610d24565b81516001600160a01b03165f90815260208590526040812060030154600160a81b900461ffff16151580610514575082515f808052602086905260409020546001600160a01b039081169116145b90508015604051806040016040528060028152602001610c4d60f21b815250906105515760405162461bcd60e51b81526004016102419190611b08565b505f5b8360a0015161ffff168161ffff1610156105f45761ffff81165f908152602086905260409020546001600160a01b03166105ec5783516001600160a01b039081165f90815260208881526040808320600301805461ffff60a81b1916600160a81b61ffff97909716968702179055875194835290889052812080546001600160a01b0319169390921692909217905591506106aa9050565b600101610554565b508260c0015161ffff168360a0015161ffff161060405180604001604052806002815260200161313560f01b815250906106415760405162461bcd60e51b81526004016102419190611b08565b50505060a08101805182516001600160a01b039081165f90815260208781526040808320600301805461ffff60a81b1916600160a81b61ffff978816021790558651955190941682528690529190912080546001600160a01b0319169290911691909117905560015b9392505050565b6106c56001600160a01b0384168383610df8565b505050565b6001600160a01b0381165f9081526020849052604090206106ec838284610e80565b506001600160a01b03165f81815260208481526040808320600381018054600160a81b900461ffff16855295835290832080546001600160a01b0319908116909155938352949052808455600184018190556002840181905582546001600160e01b031916909255600483018054821690556005830180548216905560068301805482169055600783018054909116905560088201819055600990910155565b5f805f805f8061079e875f0151511590565b156107ba57505f94508493508392508291505f19905081610c41565b6108496040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff161561088d57608088015160ff165f90815260208a905260409020606089015161087a919061114a565b6101808401526101c08301526101a08201525b87602001518160c001511015610b665760c081015188516108ad916111f3565b6108c15760c081018051600101905261088d565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526108f95760c081018051600101905261088d565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906109815750816101e00151896080015160ff16145b6109fd57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa1580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f89190611b81565b610a04565b8161018001515b825260a082015115801590610a24575060c08201518951610a2491611245565b15610b1357610a40896040015182845f01518560200151611293565b6040830181905261010083018051610a59908390611bac565b90525060808901516101e0830151610a749160ff1690611342565b1515610240830152608082015115610aca57816102400151610a9a578160800151610aa1565b816101a001515b8260400151610ab09190611bbf565b8261014001818151610ac29190611bac565b905250610ad3565b60016102208301525b816102400151610ae7578160a00151610aee565b816101c001515b8260400151610afd9190611bbf565b8261016001818151610b0f9190611bac565b9052505b60c08201518951610b2391611352565b15610b5557610b3f896040015182845f0151856020015161139e565b8261012001818151610b519190611bac565b9052505b5060c081018051600101905261088d565b8061010001515f03610b78575f610b93565b80610100015181610140015181610b9157610b91611bd6565b045b6101408201526101008101515f03610bab575f610bc6565b80610100015181610160015181610bc457610bc4611bd6565b045b61016082015261012081015115610c0857610c03816101200151610bfd8361016001518461010001516114cd90919063ffffffff16565b906114f1565b610c0b565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b5f80610c5a85846114cd565b905083811015610c6d575f9150506106aa565b610c778482611bea565b95945050505050565b60038101545f90600160801b900464ffffffffff16428103610cae575050600101546001600160801b031690565b60018301546106aa906001600160801b0380821691610cd691600160801b9091041684611526565b90610ce2565b50919050565b5f81156b019d971e4fe8401e740000001983900484111517610d02575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b6004850154604080518082019091526002815261363160f01b6020820152906001600160a01b031615610d6a5760405162461bcd60e51b81526004016102419190611b08565b506001850180546b033b2e3c9fd0803ce80000006001600160801b0319918216811790925560028701805490911690911790556004850180546001600160a01b03199081166001600160a01b03968716179091556005860180548216948616949094179093556006850180548416928516929092179091556007909301805490911692909116919091179055565b60405163a9059cbb60e01b8082526001600160a01b038416600483015260248201839052905f8060448382895af1610e32573d5f803e3d5ffd5b50610e3c8461156a565b61044c5760405162461bcd60e51b815260206004820152601560248201527423a83b191d103330b4b632b2103a3930b739b332b960591b6044820152606401610241565b604080518082019091526002815261373760f01b60208201526001600160a01b038216610ec05760405162461bcd60e51b81526004016102419190611b08565b506003820154600160a81b900461ffff16151580610ef657505f808052602084905260409020546001600160a01b038281169116145b604051806040016040528060028152602001611c1960f11b81525090610f2f5760405162461bcd60e51b81526004016102419190611b08565b50816005015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa69190611b81565b604080518082019091526002815261353560f01b60208201529015610fde5760405162461bcd60e51b81526004016102419190611b08565b50816006015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611031573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110559190611b81565b6040805180820190915260028152611a9b60f11b6020820152901561108d5760405162461bcd60e51b81526004016102419190611b08565b50600480830154604080516318160ddd60e01b815290516001600160a01b03909216926318160ddd9282820192602092908290030181865afa1580156110d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f99190611b81565b158015611111575060088201546001600160801b0316155b604051806040016040528060028152602001610d4d60f21b8152509061044c5760405162461bcd60e51b81526004016102419190611b08565b81545f90819081908190660100000000000090046001600160a01b031680156111d85760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa1580156111b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d59190611b81565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f906080831061122f5760405162461bcd60e51b81526004016102419190611b08565b50508151600182901b1c60031615155b92915050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106112815760405162461bcd60e51b81526004016102419190611b08565b50509051600191821b82011c16151590565b5f8061129e85610c80565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f92879261131b928692911690631da24f3e90602401602060405180830381865afa1580156112f7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd69190611b81565b6113259190611bbf565b905083818161133657611336611bd6565b04979650505050505050565b5f82158015906106aa5750501490565b6040805180820190915260028152610dcd60f21b60208201525f906080831061138e5760405162461bcd60e51b81526004016102419190611b08565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa1580156113eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140f9190611b81565b9050801561142d5761142a6114238661160b565b8290610ce2565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa158015611477573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149b9190611b81565b6114a59082611bac565b90506114b18185611bbf565b90508281816114c2576114c2611bd6565b049695505050505050565b5f811561138819839004841115176114e3575f80fd5b506127109102611388010490565b5f8115670de0b6b3a76400006002840419048411171561150f575f80fd5b50670de0b6b3a76400009190910260028204010490565b5f8061153964ffffffffff841642611bea565b6115439085611bbf565b6301e1338090049050611562816b033b2e3c9fd0803ce8000000611bac565b949350505050565b5f61158c565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d80156115cb57602081146115fc576115c67f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611570565b610cdc565b823b6115f3576115f37311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611570565b60019150610cdc565b3d5f803e50505f511515919050565b60038101545f90600160801b900464ffffffffff16428103611639575050600201546001600160801b031690565b60028301546106aa906001600160801b0380821691610cd691600160801b90910416845f6106aa8383425f8061167664ffffffffff851684611bea565b9050805f03611694576b033b2e3c9fd0803ce80000009150506106aa565b5f1981015f8080600285116116a9575f6116ae565b600285035b925066038882915c40006116c28a80610ce2565b816116cf576116cf611bd6565b0491506301e133806116e1838b610ce2565b816116ee576116ee611bd6565b0490505f826116fd8688611bbf565b6117079190611bbf565b6002900490505f828561171a888a611bbf565b6117249190611bbf565b61172e9190611bbf565b60069004905080826301e133806117458a8f611bbf565b61174f9190611bfd565b611765906b033b2e3c9fd0803ce8000000611bac565b61176f9190611bac565b6117799190611bac565b9b9a5050505050505050505050565b80356001600160a01b038116811461179e575f80fd5b919050565b5f80604083850312156117b4575f80fd5b823591506117c460208401611788565b90509250929050565b60405160a0810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b60405290565b6040516020810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b5f805f80848603610100811215611875575f80fd5b853594506020860135935060408601359250605f190160a0811215611898575f80fd5b6118a06117cd565b60208212156118ad575f80fd5b6118b5611802565b915060608701358252818152608087013560208201526118d760a08801611788565b60408201526118e860c08801611788565b606082015260e0870135915060ff82168214611902575f80fd5b6080810191909152939692955090935050565b5f805f60408486031215611927575f80fd5b83359250602084013567ffffffffffffffff80821115611945575f80fd5b818601915086601f830112611958575f80fd5b813581811115611966575f80fd5b8760208260051b850101111561197a575f80fd5b6020830194508093505050509250925092565b803561ffff8116811461179e575f80fd5b5f805f8385036101208112156119b2575f80fd5b843593506020850135925060e0603f19820112156119ce575f80fd5b506119d7611831565b6119e360408601611788565b81526119f160608601611788565b6020820152611a0260808601611788565b6040820152611a1360a08601611788565b6060820152611a2460c08601611788565b6080820152611a3560e0860161198d565b60a0820152611a47610100860161198d565b60c0820152809150509250925092565b5f805f60608486031215611a69575f80fd5b83359250611a7960208501611788565b9150604084013564ffffffffff81168114611a92575f80fd5b809150509250925092565b5f805f60608486031215611aaf575f80fd5b611ab884611788565b9250611ac660208501611788565b9150604084013590509250925092565b5f805f60608486031215611ae8575f80fd5b8335925060208401359150611aff60408501611788565b90509250925092565b5f602080835283518060208501525f5b81811015611b3457858101830151858201604001528201611b18565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b78575f80fd5b6106aa82611788565b5f60208284031215611b91575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561123f5761123f611b98565b808202811582820484141761123f5761123f611b98565b634e487b7160e01b5f52601260045260245ffd5b8181038181111561123f5761123f611b98565b5f82611c1757634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220da97a534552f600eb99730163caf62c84abbc8f1a6ade8dbfd20361e6a88732064736f6c63430008160033', - methodIdentifiers: { - "executeDropReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,address)": "9cf57023", - "executeGetUserAccountData(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.CalculateUserAccountDataParams)": "26ec273f", - "executeInitReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.InitReserveParams)": "69fc1bdf", - "executeMintToTreasury(mapping(address => DataTypes.ReserveData) storage,address[])": "48c2ca8c", - "executeRescueTokens(address,address,uint256)": "87b322b2", - "executeResetIsolationModeTotalDebt(mapping(address => DataTypes.ReserveData) storage,address)": "1e3b4145", - "executeSetLiquidationGracePeriod(mapping(address => DataTypes.ReserveData) storage,address,uint40)": "6ae43813" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts b/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts deleted file mode 100644 index 53e57bf94..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const PoolStorage: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=PoolStorage.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts.map b/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts.map deleted file mode 100644 index 80edbb649..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolStorage.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PoolStorage.d.ts","sourceRoot":"","sources":["../src/PoolStorage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;cAE4K,KAAK,MAAM,EAAE;;CAEhN,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/PoolStorage.js b/packages/hyperdrive-artifacts/dist/PoolStorage.js deleted file mode 100644 index 6065d9f96..000000000 --- a/packages/hyperdrive-artifacts/dist/PoolStorage.js +++ /dev/null @@ -1,5 +0,0 @@ -export const PoolStorage = { - abi: [], - bytecode: '0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea26469706673582212205d2cec9f978061dc89a9af418a81db81441933b7ce0f6d7491f8c6227ff9fd4764736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHBase.d.ts b/packages/hyperdrive-artifacts/dist/RETHBase.d.ts deleted file mode 100644 index d9f7d1566..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHBase.d.ts +++ /dev/null @@ -1,542 +0,0 @@ -export declare const RETHBase: { - abi: readonly [{ - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=RETHBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHBase.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHBase.d.ts.map deleted file mode 100644 index 0424d990a..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHBase.d.ts","sourceRoot":"","sources":["../src/RETHBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAspBD,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHBase.js b/packages/hyperdrive-artifacts/dist/RETHBase.js deleted file mode 100644 index d67e4b3be..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHBase.js +++ /dev/null @@ -1,665 +0,0 @@ -export const RETHBase = { - abi: [ - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts b/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts deleted file mode 100644 index 7aaa7fb4f..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const RETHConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=RETHConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts.map deleted file mode 100644 index c66ad35b4..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHConversions.d.ts","sourceRoot":"","sources":["../src/RETHConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHConversions.js b/packages/hyperdrive-artifacts/dist/RETHConversions.js deleted file mode 100644 index a9219f735..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const RETHConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f82ad7598291ee5d6c427f37de0529ffa10740d981dda43515b9c45d6afadb6a64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts deleted file mode 100644 index 3bdc8c4ef..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts +++ /dev/null @@ -1,1329 +0,0 @@ -export declare const RETHHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=RETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts.map deleted file mode 100644 index 654b5ec5c..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/RETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0mDquX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5wX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/RETHHyperdrive.js deleted file mode 100644 index 24bfdb568..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdrive.js +++ /dev/null @@ -1,1674 +0,0 @@ -export const RETHHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620017763803806200177683398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611093620006e35f395f81816106250152818161068f015261078601525f81816105a0015281816107b5015261081201525f818161055a01526109a801525f81816105f2015261072401525f818161021e015281816103d401528181610660015281816106c1015281816106f301528181610757015281816107e8015281816108420152818161097701526109db01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f6101ca01525f50506110935ff3fe6080604052600436106101ba575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc146105c2578063eac3e799146105e1578063f3f7070714610614578063f698da25146106475761020a565b8063d899e1121461058f578063dbbe80701461057c578063ded062311461040e5761020a565b8063a6e8a859116100c5578063a6e8a85914610549578063ab033ea914610313578063cba2e58d1461057c578063cbc134341461034c5761020a565b80639032c7261461050b5780639cd241af1461052a578063a22cb465146104d95761020a565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d9146104ac5780634ed2d6ac146104bf5780637180c8ca146104d957806377d05ff4146104f85761020a565b806330adf81f1461043b5780633e691db91461046e578063414f826d1461048d5761020a565b806317fad7fc1161019457806317fad7fc146103855780631c0f12b6146103a457806321b57d53146103c357806329b23fc11461040e5761020a565b806301681a621461031357806302329a2914610332578063074a6de91461034c5761020a565b3661020a57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610208576040516312171d8360e31b815260040160405180910390fd5b005b348015610215575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610256929190610aaf565b5f60405180830381855af49150503d805f811461028e576040519150601f19603f3d011682016040523d82523d5f602084013e610293565b606091505b509150915081156102b757604051638bb0a34b60e01b815260040160405180910390fd5b5f6102c182610abe565b90506001600160e01b03198116636e64089360e11b146102e357815160208301fd5b81516003198101600484019081529261030491810160200190602401610b2b565b80519650602001945050505050f35b34801561031e575f80fd5b5061020861032d366004610bea565b61065b565b34801561033d575f80fd5b5061020861032d366004610c20565b348015610357575f80fd5b5061036b610366366004610c49565b610688565b604080519283526020830191909152015b60405180910390f35b348015610390575f80fd5b5061020861039f366004610cdd565b6106bc565b3480156103af575f80fd5b506102086103be366004610d6c565b6106ee565b3480156103ce575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161037c565b348015610419575f80fd5b5061042d610428366004610db1565b61071e565b60405190815260200161037c565b348015610446575f80fd5b5061042d7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610479575f80fd5b5061042d610488366004610e07565b610751565b348015610498575f80fd5b506102086104a7366004610e41565b610781565b61042d6104ba366004610e61565b6107af565b3480156104ca575f80fd5b506102086103be366004610ec0565b3480156104e4575f80fd5b506102086104f3366004610f07565b6107e3565b61042d610506366004610c49565b61080c565b348015610516575f80fd5b50610208610525366004610f3a565b61083e565b348015610535575f80fd5b50610208610544366004610fb2565b610972565b348015610554575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b61036b61058a366004610db1565b6109a1565b34801561059a575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506102086105dc366004610fe7565b6109d6565b3480156105ec575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b348015610652575f80fd5b5061042d610a07565b6106847f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050565b5f806106b37f0000000000000000000000000000000000000000000000000000000000000000610a95565b50935093915050565b6106e57f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050505050565b6107177f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050505050565b5f6107487f0000000000000000000000000000000000000000000000000000000000000000610a95565b50949350505050565b5f61077b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50919050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050565b5f6107d97f0000000000000000000000000000000000000000000000000000000000000000610a95565b5095945050505050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5f6108367f0000000000000000000000000000000000000000000000000000000000000000610a95565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610872610a07565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161091b9190611042565b5f60405180830381855af49150503d805f8114610953576040519150601f19603f3d011682016040523d82523d5f602084013e610958565b606091505b50915091508161096a57805160208201fd5b805160208201f35b61099b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050565b5f806109cc7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5094509492505050565b6109ff7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161091b9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610aed5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b23578181015183820152602001610b0b565b50505f910152565b5f60208284031215610b3b575f80fd5b815167ffffffffffffffff80821115610b52575f80fd5b818401915084601f830112610b65575f80fd5b815181811115610b7757610b77610af5565b604051601f8201601f19908116603f01168101908382118183101715610b9f57610b9f610af5565b81604052828152876020848701011115610bb7575f80fd5b610bc8836020830160208801610b09565b979650505050505050565b6001600160a01b0381168114610be7575f80fd5b50565b5f60208284031215610bfa575f80fd5b8135610c0581610bd3565b9392505050565b80358015158114610c1b575f80fd5b919050565b5f60208284031215610c30575f80fd5b610c0582610c0c565b5f6060828403121561077b575f80fd5b5f805f60608486031215610c5b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c7f575f80fd5b610c8b86828701610c39565b9150509250925092565b5f8083601f840112610ca5575f80fd5b50813567ffffffffffffffff811115610cbc575f80fd5b6020830191508360208260051b8501011115610cd6575f80fd5b9250929050565b5f805f805f8060808789031215610cf2575f80fd5b8635610cfd81610bd3565b95506020870135610d0d81610bd3565b9450604087013567ffffffffffffffff80821115610d29575f80fd5b610d358a838b01610c95565b90965094506060890135915080821115610d4d575f80fd5b50610d5a89828a01610c95565b979a9699509497509295939492505050565b5f805f8060808587031215610d7f575f80fd5b843593506020850135610d9181610bd3565b92506040850135610da181610bd3565b9396929550929360600135925050565b5f805f8060808587031215610dc4575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610def575f80fd5b610dfb87828801610c39565b91505092959194509250565b5f60208284031215610e17575f80fd5b813567ffffffffffffffff811115610e2d575f80fd5b610e3984828501610c39565b949350505050565b5f8060408385031215610e52575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e75575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ea7575f80fd5b610eb388828901610c39565b9150509295509295909350565b5f805f8060808587031215610ed3575f80fd5b843593506020850135610ee581610bd3565b9250604085013591506060850135610efc81610bd3565b939692955090935050565b5f8060408385031215610f18575f80fd5b8235610f2381610bd3565b9150610f3160208401610c0c565b90509250929050565b5f805f805f805f60e0888a031215610f50575f80fd5b8735610f5b81610bd3565b96506020880135610f6b81610bd3565b9550610f7960408901610c0c565b945060608801359350608088013560ff81168114610f95575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fc4575f80fd5b833592506020840135610fd681610bd3565b929592945050506040919091013590565b5f805f805f60a08688031215610ffb575f80fd5b85359450602086013561100d81610bd3565b9350604086013561101d81610bd3565b925060608601359150608086013561103481610bd3565b809150509295509295909350565b5f8251611053818460208701610b09565b919091019291505056fea2646970667358221220a5dab6235340bb3a7807a8f7bea5be6cd7c396c95685fe5b43fef9d6a0c09fdd64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 2d4779f22..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const RETHHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=RETHHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 876bd7260..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/RETHHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K27d,KAAK,MAAM,EAAE;;;;CAI9+d,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.js deleted file mode 100644 index 8f0367f37..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const RETHHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50611dca8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611776806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017763803806200177683398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611093620006e35f395f81816106250152818161068f015261078601525f81816105a0015281816107b5015261081201525f818161055a01526109a801525f81816105f2015261072401525f818161021e015281816103d401528181610660015281816106c1015281816106f301528181610757015281816107e8015281816108420152818161097701526109db01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f6101ca01525f50506110935ff3fe6080604052600436106101ba575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc146105c2578063eac3e799146105e1578063f3f7070714610614578063f698da25146106475761020a565b8063d899e1121461058f578063dbbe80701461057c578063ded062311461040e5761020a565b8063a6e8a859116100c5578063a6e8a85914610549578063ab033ea914610313578063cba2e58d1461057c578063cbc134341461034c5761020a565b80639032c7261461050b5780639cd241af1461052a578063a22cb465146104d95761020a565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d9146104ac5780634ed2d6ac146104bf5780637180c8ca146104d957806377d05ff4146104f85761020a565b806330adf81f1461043b5780633e691db91461046e578063414f826d1461048d5761020a565b806317fad7fc1161019457806317fad7fc146103855780631c0f12b6146103a457806321b57d53146103c357806329b23fc11461040e5761020a565b806301681a621461031357806302329a2914610332578063074a6de91461034c5761020a565b3661020a57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610208576040516312171d8360e31b815260040160405180910390fd5b005b348015610215575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610256929190610aaf565b5f60405180830381855af49150503d805f811461028e576040519150601f19603f3d011682016040523d82523d5f602084013e610293565b606091505b509150915081156102b757604051638bb0a34b60e01b815260040160405180910390fd5b5f6102c182610abe565b90506001600160e01b03198116636e64089360e11b146102e357815160208301fd5b81516003198101600484019081529261030491810160200190602401610b2b565b80519650602001945050505050f35b34801561031e575f80fd5b5061020861032d366004610bea565b61065b565b34801561033d575f80fd5b5061020861032d366004610c20565b348015610357575f80fd5b5061036b610366366004610c49565b610688565b604080519283526020830191909152015b60405180910390f35b348015610390575f80fd5b5061020861039f366004610cdd565b6106bc565b3480156103af575f80fd5b506102086103be366004610d6c565b6106ee565b3480156103ce575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161037c565b348015610419575f80fd5b5061042d610428366004610db1565b61071e565b60405190815260200161037c565b348015610446575f80fd5b5061042d7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610479575f80fd5b5061042d610488366004610e07565b610751565b348015610498575f80fd5b506102086104a7366004610e41565b610781565b61042d6104ba366004610e61565b6107af565b3480156104ca575f80fd5b506102086103be366004610ec0565b3480156104e4575f80fd5b506102086104f3366004610f07565b6107e3565b61042d610506366004610c49565b61080c565b348015610516575f80fd5b50610208610525366004610f3a565b61083e565b348015610535575f80fd5b50610208610544366004610fb2565b610972565b348015610554575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b61036b61058a366004610db1565b6109a1565b34801561059a575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506102086105dc366004610fe7565b6109d6565b3480156105ec575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b348015610652575f80fd5b5061042d610a07565b6106847f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050565b5f806106b37f0000000000000000000000000000000000000000000000000000000000000000610a95565b50935093915050565b6106e57f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050505050565b6107177f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050505050565b5f6107487f0000000000000000000000000000000000000000000000000000000000000000610a95565b50949350505050565b5f61077b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50919050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050565b5f6107d97f0000000000000000000000000000000000000000000000000000000000000000610a95565b5095945050505050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5f6108367f0000000000000000000000000000000000000000000000000000000000000000610a95565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610872610a07565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161091b9190611042565b5f60405180830381855af49150503d805f8114610953576040519150601f19603f3d011682016040523d82523d5f602084013e610958565b606091505b50915091508161096a57805160208201fd5b805160208201f35b61099b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050565b5f806109cc7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5094509492505050565b6109ff7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161091b9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610aed5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b23578181015183820152602001610b0b565b50505f910152565b5f60208284031215610b3b575f80fd5b815167ffffffffffffffff80821115610b52575f80fd5b818401915084601f830112610b65575f80fd5b815181811115610b7757610b77610af5565b604051601f8201601f19908116603f01168101908382118183101715610b9f57610b9f610af5565b81604052828152876020848701011115610bb7575f80fd5b610bc8836020830160208801610b09565b979650505050505050565b6001600160a01b0381168114610be7575f80fd5b50565b5f60208284031215610bfa575f80fd5b8135610c0581610bd3565b9392505050565b80358015158114610c1b575f80fd5b919050565b5f60208284031215610c30575f80fd5b610c0582610c0c565b5f6060828403121561077b575f80fd5b5f805f60608486031215610c5b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c7f575f80fd5b610c8b86828701610c39565b9150509250925092565b5f8083601f840112610ca5575f80fd5b50813567ffffffffffffffff811115610cbc575f80fd5b6020830191508360208260051b8501011115610cd6575f80fd5b9250929050565b5f805f805f8060808789031215610cf2575f80fd5b8635610cfd81610bd3565b95506020870135610d0d81610bd3565b9450604087013567ffffffffffffffff80821115610d29575f80fd5b610d358a838b01610c95565b90965094506060890135915080821115610d4d575f80fd5b50610d5a89828a01610c95565b979a9699509497509295939492505050565b5f805f8060808587031215610d7f575f80fd5b843593506020850135610d9181610bd3565b92506040850135610da181610bd3565b9396929550929360600135925050565b5f805f8060808587031215610dc4575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610def575f80fd5b610dfb87828801610c39565b91505092959194509250565b5f60208284031215610e17575f80fd5b813567ffffffffffffffff811115610e2d575f80fd5b610e3984828501610c39565b949350505050565b5f8060408385031215610e52575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e75575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ea7575f80fd5b610eb388828901610c39565b9150509295509295909350565b5f805f8060808587031215610ed3575f80fd5b843593506020850135610ee581610bd3565b9250604085013591506060850135610efc81610bd3565b939692955090935050565b5f8060408385031215610f18575f80fd5b8235610f2381610bd3565b9150610f3160208401610c0c565b90509250929050565b5f805f805f805f60e0888a031215610f50575f80fd5b8735610f5b81610bd3565b96506020880135610f6b81610bd3565b9550610f7960408901610c0c565b945060608801359350608088013560ff81168114610f95575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fc4575f80fd5b833592506020840135610fd681610bd3565b929592945050506040919091013590565b5f805f805f60a08688031215610ffb575f80fd5b85359450602086013561100d81610bd3565b9350604086013561101d81610bd3565b925060608601359150608086013561103481610bd3565b809150509295509295909350565b5f8251611053818460208701610b09565b919091019291505056fea2646970667358221220a5dab6235340bb3a7807a8f7bea5be6cd7c396c95685fe5b43fef9d6a0c09fdd64736f6c63430008160033a264697066735822122096884f212e90667c88bf5b0579182f56913f972a5baf71c76ca3fcbde68773b964736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 65b9bad5d..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,640 +0,0 @@ -export declare const RETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_rocketTokenReth"; - readonly type: "address"; - readonly internalType: "contract IRocketTokenRETH"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=RETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 018bdf49b..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/RETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4xB4qoB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBtuoB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index 3f4fa2ea1..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,817 +0,0 @@ -export const RETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_rocketTokenReth", - "type": "address", - "internalType": "contract IRocketTokenRETH" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b5060405162002863380380620028638339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516124166200044d5f395f818161125001528181611285015261139901525f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526124165ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611a6c565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ba1565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611c5f565b6106d0565b348015610187575f80fd5b5061026b610196366004611c89565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611ca0565b348015610283575f80fd5b5061014f610292366004611c5f565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611e74565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004611edd565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602181526020016123c06021913981565b5f80546104bc90611f77565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890611f77565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190611faf565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190611ffe565b92505f6106538234612015565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db83836112b6565b90505b92915050565b5f6106db8383611320565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b610778868661134f565b5f6107838787611447565b90505f876040516020016107979190612034565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a61145e565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108739493929190612267565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b391906122ac565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109279190612034565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f878761134f565b5f6109998861145e565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a40939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a759493929190612267565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab591906122ac565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b73939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba89493929190612267565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be891906122ac565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca6939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb9493929190612267565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906122ac565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd9939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e9493929190612267565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e91906122ac565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611035908790602001612034565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e858561134f565b5f6110a88661145e565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a999897969594939291906122e8565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c591906122ac565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112435760405163350b944160e11b815260040160405180910390fd5b6112786001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685308661152c565b6112ac6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168685611599565b505f949350505050565b604051638b32fa2360e01b8152600481018290525f906001600160a01b03841690638b32fa23906024015b602060405180830381865afa1580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190611ffe565b6040516321a3781f60e11b8152600481018290525f906001600160a01b03841690634346f03e906024016112e1565b6113598282611628565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461139757604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146113ed5760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611418576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611443576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b61146661194b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526115939186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061173c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115ea84826117a7565b611593576040516001600160a01b0384811660248301525f604483015261161e91869182169063095ea7b390606401611561565b611593848261173c565b6103e88260800151101561164f576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361167457604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061169e57508161010001518260e0015161169b919061236a565b15155b156116bc5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116e85750670de0b6b3a7640000826101c0015160200151115b806117035750670de0b6b3a7640000826101c0015160400151115b8061171e5750670de0b6b3a7640000826101c0015160600151115b15611443576040516322f72cc360e11b815260040160405180910390fd5b5f6117506001600160a01b03841683611844565b905080515f141580156117745750808060200190518101906117729190612389565b155b156117a257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516117c291906123a4565b5f604051808303815f865af19150503d805f81146117fb576040519150601f19603f3d011682016040523d82523d5f602084013e611800565b606091505b509150915081801561182a57508051158061182a57508080602001905181019061182a9190612389565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b0316848660405161186891906123a4565b5f6040518083038185875af1925050503d805f81146118a2576040519150601f19603f3d011682016040523d82523d5f602084013e6118a7565b606091505b50915091506118b78683836118c3565b925050505b9392505050565b6060826118d8576118d38261191f565b6118bc565b81511580156118ef57506001600160a01b0384163b155b1561191857604051639996b31560e01b81526001600160a01b0385166004820152602401611799565b50806118bc565b80511561192f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a1a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a39578181015183820152602001611a21565b50505f910152565b5f8151808452611a58816020860160208601611a1f565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611a41565b6001600160a01b0381168114611948575f80fd5b8035611a9d81611a7e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b8015158114611948575f80fd5b5f67ffffffffffffffff80841115611b2a57611b2a611aa2565b604051601f8501601f19908116603f01168101908282118183101715611b5257611b52611aa2565b81604052809350858152868686011115611b6a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b92575f80fd5b6106db83833560208501611b10565b5f805f805f60a08688031215611bb5575f80fd5b853594506020860135611bc781611a7e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bf1575f80fd5b908701906060828a031215611c04575f80fd5b611c0c611ab6565b8235611c1781611a7e565b81526020830135611c2781611b03565b6020820152604083013582811115611c3d575f80fd5b611c498b828601611b83565b6040830152508093505050509295509295909350565b5f8060408385031215611c70575f80fd5b8235611c7b81611a7e565b946020939093013593505050565b5f60208284031215611c99575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d2d575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5057611d50611aa2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d92575f80fd5b611d9a611adf565b9050611da582611a92565b8152611db360208301611a92565b6020820152611dc460408301611a92565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e21818401611a92565b90820152610160611e33838201611a92565b90820152610180611e45838201611a92565b908201526101a0611e57838201611a92565b908201526101c0611e6a84848301611d1d565b9082015292915050565b5f805f805f6102c08688031215611e89575f80fd5b85359450611e9a8760208801611d81565b935061026086013567ffffffffffffffff811115611eb6575f80fd5b611ec288828901611b83565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef2575f80fd5b85359450602086013567ffffffffffffffff80821115611f10575f80fd5b818801915088601f830112611f23575f80fd5b611f3289833560208501611b10565b9550611f418960408a01611d81565b9450610280880135915080821115611f57575f80fd5b50611f6488828901611b83565b959894975092956102a001359392505050565b600181811c90821680611f8b57607f821691505b602082108103611fa957634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611ff460c0840182611a41565b9695505050505050565b5f6020828403121561200e575f80fd5b5051919050565b818103818111156106de57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161206060208401826001600160a01b03169052565b50604083015161207b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e1828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d15565b80516001600160a01b03168252602081015161217160208401826001600160a01b03169052565b50604081015161218c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121fe828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611593565b5f6102c0612275838861214a565b6001600160a01b038616610260840152610280830181905261229981840186611a41565b915050826102a083015295945050505050565b5f602082840312156122bc575f80fd5b81516118bc81611a7e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122fb8184018e611a41565b905061230a602084018d61214a565b6001600160a01b038b81166102808501528382036102a085015261232e828c611a41565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f8261238457634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612399575f80fd5b81516118bc81611b03565b5f82516123b5818460208701611a1f565b919091019291505056fe52455448487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122095bb8599516e66fe1b62af33bc72e0ed79e4dc2071f847162b6cda8c3e99826164736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts deleted file mode 100644 index aaa4cd667..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts +++ /dev/null @@ -1,1530 +0,0 @@ -export declare const RETHTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=RETHTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts.map deleted file mode 100644 index 8fb61295f..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget0.d.ts","sourceRoot":"","sources":["../src/RETHTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq2Dwj/B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC5l/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0.js b/packages/hyperdrive-artifacts/dist/RETHTarget0.js deleted file mode 100644 index ab52ce75e..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0.js +++ /dev/null @@ -1,1935 +0,0 @@ -export const RETHTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f1e38038062003f1e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ad6620004485f395f8181610ee301526124ac01525f8181610eb4015261246f01525f8181610d9001528181611013015281816110a10152818161112f015281816111bd015281816117c60152818161185c01528181611a1e015281816120360152818161210a015261225b01525f610f7b01525f8181610f55015261265101525f8181610f2f015261262b01525f8181610f09015261260501525f6112c801525f6112a201525f61127c01525f61125601525f8181610fed015261267701525f8181610fa1015281816114530152612a7701525f8181610fc70152612cad01525f818161022f0152818161081301528181610e8501528181611fab01528181612736015281816127c001528181612b970152612c7f01525f8181610e5601526113f00152613ad65ff3fe60806040526004361061021f575f3560e01c806360246c881161011e578063bd85b039116100a8578063cf210e651161006d578063cf210e65146106ad578063d8165743146106cc578063e44808bc146106ed578063e985e9c51461070c578063fba560081461072b575f80fd5b8063bd85b0391461061b578063becee9c31461063a578063c55dae6314610666578063c69e16ad1461067a578063c6e6f5921461068e575f80fd5b80639cd241af116100ee5780639cd241af14610580578063a22cb4651461059f578063ab033ea9146105be578063b0d96580146105db578063b88fed9f146105fc575f80fd5b806360246c881461050e5780637180c8ca1461052f5780637ecebe001461054d578063950c5d031461056c575f80fd5b806320fc4881116101aa5780633e691db91161016f5780633e691db91461046e57806346fbf68e1461048d5780634e41a1fb146104bc5780634ed2d6ac146104db57806354fd4d50146104fa575f80fd5b806320fc48811461039757806321ff32a9146103e8578063313ce567146104155780633656eec21461043b5780633a98ef391461045a575f80fd5b806306fdde03116101f057806306fdde03146102fa5780630a4e14931461030e57806314e5f07b1461033a57806317fad7fc146103595780631c0f12b614610378575f80fd5b8062ad800c1461027357806301681a62146102a857806302329a29146102c757806304baa00b146102e6575f80fd5b3661026f57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026d576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561027e575f80fd5b5061029261028d366004612ee5565b610766565b60405161029f9190612f49565b60405180910390f35b3480156102b3575f80fd5b5061026d6102c2366004612f6f565b61079d565b3480156102d2575f80fd5b5061026d6102e1366004612f97565b6107a6565b3480156102f1575f80fd5b506102926107af565b348015610305575f80fd5b506102926107ee565b348015610319575f80fd5b50610322610805565b6040516001600160a01b03909116815260200161029f565b348015610345575f80fd5b5061026d610354366004612fb2565b610844565b348015610364575f80fd5b5061026d610373366004613088565b610860565b348015610383575f80fd5b5061026d610392366004613117565b610876565b3480156103a2575f80fd5b506103b66103b1366004612ee5565b610889565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161029f565b3480156103f3575f80fd5b5061040761040236600461315c565b6108f2565b60405190815260200161029f565b348015610420575f80fd5b50610429610937565b60405160ff909116815260200161029f565b348015610446575f80fd5b5061040761045536600461319b565b61094e565b348015610465575f80fd5b50610407610986565b348015610479575f80fd5b506104076104883660046131c9565b6109a4565b348015610498575f80fd5b506104ac6104a7366004612f6f565b6109ae565b604051901515815260200161029f565b3480156104c7575f80fd5b506102926104d6366004612ee5565b6109cd565b3480156104e6575f80fd5b5061026d6104f5366004613200565b6109db565b348015610505575f80fd5b50610292610a29565b348015610519575f80fd5b50610522610a5e565b60405161029f9190613247565b34801561053a575f80fd5b5061026d6105493660046132e8565b5050565b348015610558575f80fd5b50610407610567366004612f6f565b610d57565b348015610577575f80fd5b50610322610d82565b34801561058b575f80fd5b5061026d61059a366004613314565b610dc1565b3480156105aa575f80fd5b5061026d6105b93660046132e8565b610dd2565b3480156105c9575f80fd5b5061026d6105d8366004612f6f565b50565b3480156105e6575f80fd5b506105ef610e3d565b60405161029f9190613349565b348015610607575f80fd5b50610407610616366004612ee5565b6112fd565b348015610626575f80fd5b50610407610635366004612ee5565b61130a565b348015610645575f80fd5b5061065961065436600461346f565b61132b565b60405161029f91906134ae565b348015610671575f80fd5b506103226113e2565b348015610685575f80fd5b50610407611421565b348015610699575f80fd5b506104076106a8366004612ee5565b61143a565b3480156106b8575f80fd5b506104076106c7366004612ee5565b611447565b3480156106d7575f80fd5b506106e061147d565b60405161029f91906134f1565b3480156106f8575f80fd5b5061026d610707366004613602565b611588565b348015610717575f80fd5b506104ac61072636600461365d565b6115d0565b348015610736575f80fd5b5061073f611613565b6040805182516001600160801b03908116825260209384015116928101929092520161029f565b606061079861077483611671565b6040516020016107849190612f49565b604051602081830303815290604052611797565b919050565b6105d8816117bb565b6105d881611a1c565b60606107eb6040518060400160405280600e81526020016d524554484879706572647269766560901b8152506040516020016107849190612f49565b90565b60606107eb60016040516020016107849190613689565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610855898989898989898989611b34565b505050505050505050565b61086e868686868686611d26565b505050505050565b6108838484848433611dd9565b50505050565b604080516060810182525f808252602082018190529181019190915261079860085f8481526020019081526020015f20604051602001610784919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526109309101610784565b9392505050565b60408051601260208201525f916107eb9101610784565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526109809101610784565b92915050565b5f6107eb610992611f94565b60405160200161078491815260200190565b5f61098082612021565b5f6107986109bb83612257565b60408051911515602083015201610784565b606061079861077483612335565b836109e581612431565b6001600160a01b0316336001600160a01b031614610a1657604051632aab8bd360e01b815260040160405180910390fd5b610a22858585856124ee565b5050505050565b60606107eb60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016107849190612f49565b610ac8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610ad161255a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610b3b919061375e565b610b459190613771565b90505f8215610c545773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610b718561256c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190613784565b509050610c5181846126f6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610d2457610d1f848661270a565b610d26565b5f5b81526003546001600160801b0316602091820152604051919250610d509161078491849101613247565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526107989101610784565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610dcd838383336124ee565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610e45612e11565b6107eb6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109191906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111f91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611189573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ad91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906137b2565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016107849190613349565b5f6107986109928361271e565b5f818152600b60209081526040808320548151928301526107989101610784565b60605f8267ffffffffffffffff811115611347576113476137cd565b604051908082528060200260200182016040528015611370578160200160208202803683370190505b5090505f5b838110156113c6575f858583818110611390576113906137e1565b9050602002013590505f81549050808484815181106113b1576113b16137e1565b60209081029190910101525050600101611375565b506113db8160405160200161078491906134ae565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b5f6107eb60095460405160200161078491815260200190565b5f610798610992836127a8565b5f6107986109926114787f00000000000000000000000000000000000000000000000000000000000000008561375e565b6127f7565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526107eb6002604051602001610784919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461159281612431565b6001600160a01b0316336001600160a01b0316146115c357604051632aab8bd360e01b815260040160405180910390fd5b61086e8686868686611dd9565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916109809101610784565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526107eb90606001610784565b606060f882901c6001600160f81b0383165f61168c82612837565b90505f8360038111156116a1576116a1613736565b036116d3576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061178f565b60018360038111156116e7576116e7613736565b0361171357806040516020016116fd91906137f5565b604051602081830303815290604052935061178f565b600283600381111561172757611727613736565b0361173d57806040516020016116fd919061382d565b600383600381111561175157611751613736565b0361178f576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016117b29190612f49565b60405180910390fd5b6117c36128e9565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611820573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184491906137b2565b9050336001600160a01b038216148015906118f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118da91906137b2565b6001600160a01b0316336001600160a01b031614155b8015611902575061190033612257565b155b1561191f576040516282b42960e81b815260040160405180910390fd5b5f611928611f94565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561196f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119939190613866565b90506119a96001600160a01b0385168483612911565b816119b2611f94565b146119d0576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506105d860015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9c91906137b2565b6001600160a01b0316336001600160a01b031614158015611ac35750611ac133612257565b155b15611ae0576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611b2990831515815260200190565b60405180910390a150565b83421115611b555760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611b7c5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611c66573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611ca457604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611d4357506001600160a01b038516155b15611d615760405163f0dd15fd60e01b815260040160405180910390fd5b828114611d815760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611dd057611dc8858583818110611da057611da06137e1565b905060200201358888868686818110611dbb57611dbb6137e1565b9050602002013533611dd9565b600101611d83565b50505050505050565b6001600160a01b0384161580611df657506001600160a01b038316155b15611e145760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611ed4576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611ed4575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611ed2575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611ecc908490613771565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611f05908490613771565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611f3b90849061375e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201c9190613866565b905090565b5f61202a6128e9565b61203382612963565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612090573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b491906137b2565b90506001600160a01b0381166120cd6020850185612f6f565b6001600160a01b0316146120f457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061219e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612164573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061218891906137b2565b6001600160a01b0316336001600160a01b031614155b80156121b057506121ae33612257565b155b156121cd576040516282b42960e81b815260040160405180910390fd5b5f6121d661255a565b600980545f9091559091506121ec818387612998565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461222b60408a0160208b01612f97565b60408051938452602084019290925215159082015260600160405180910390a250505061079860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156122b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122db919081019061387d565b90505f5b815181101561232c57836001600160a01b0316828281518110612304576123046137e1565b60200260200101516001600160a01b031603612324575060019392505050565b6001016122df565b505f9392505050565b606060f882901c6001600160f81b0383165f61235082612837565b90505f83600381111561236557612365613736565b03612397576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061178f565b60018360038111156123ab576123ab613736565b036123c157806040516020016116fd919061393d565b60028360038111156123d5576123d5613736565b036123eb57806040516020016116fd9190613974565b60038360038111156123ff576123ff613736565b0361178f57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f61201c670de0b6b3a764000061271e565b6125c46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916126bc9116612a2e565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926126ee92900416612a2e565b905292915050565b5f6109308383670de0b6b3a7640000612aa2565b5f61093083670de0b6b3a764000084612aa2565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015612784573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109809190613866565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401612769565b5f61281c600b5f612809600286612abd565b81526020019081526020015f2054612af1565b61282d600b5f612809600187612abd565b610980919061399f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156128db57612870600a866139d2565b61287b90603061375e565b60f81b82600161288b8487613771565b6128959190613771565b815181106128a5576128a56137e1565b60200101906001600160f81b03191690815f1a905350806128c5816139e5565b91506128d49050600a866139fd565b945061285f565b918290030190815292915050565b60025f540361290b57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610dcd908490612b1e565b5f6129716020830183612f6f565b6001600160a01b0316036105d85760405163f0dd15fd60e01b815260040160405180910390fd5b5f806129a485856126f6565b90506129af816127a8565b9450845f036129c1575f915050610930565b8491506129d46040840160208501612f97565b15612a03576129fc856129ea6020860186612f6f565b6129f76040870187613a10565b612b7f565b9150612a26565b612a2685612a146020860186612f6f565b612a216040870187613a10565b612c72565b509392505050565b5f80670de0b6b3a7640000612a41612ca6565b612a4b9190613a53565b9050808311612a5a575f612a64565b612a648184613771565b9150610930612a9b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a53565b839061270a565b5f825f190484118302158202612ab6575f80fd5b5091020490565b5f6001600160f81b03821115612ae65760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612b1a5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b326001600160a01b03841683612cd1565b905080515f14158015612b56575080806020019051810190612b549190613a6a565b155b15610dcd57604051635274afe760e01b81526001600160a01b03841660048201526024016117b2565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612be0575f80fd5b505af1158015612bf2573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612c42576040519150601f19603f3d011682016040523d82523d5f602084013e612c47565b606091505b5050905080612c69576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6108836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612911565b5f61201c427f0000000000000000000000000000000000000000000000000000000000000000612cde565b606061093083835f612cf3565b5f612ce982846139d2565b6109309084613771565b606081471015612d185760405163cd78605960e01b81523060048201526024016117b2565b5f80856001600160a01b03168486604051612d339190613a85565b5f6040518083038185875af1925050503d805f8114612d6d576040519150601f19603f3d011682016040523d82523d5f602084013e612d72565b606091505b5091509150612d82868383612d8c565b9695505050505050565b606082612da157612d9c82612de8565b610930565b8151158015612db857506001600160a01b0384163b155b15612de157604051639996b31560e01b81526001600160a01b03851660048201526024016117b2565b5080610930565b805115612df85780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ee060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ef5575f80fd5b5035919050565b5f5b83811015612f16578181015183820152602001612efe565b50505f910152565b5f8151808452612f35816020860160208601612efc565b601f01601f19169290920160200192915050565b602081525f6109306020830184612f1e565b6001600160a01b03811681146105d8575f80fd5b5f60208284031215612f7f575f80fd5b813561093081612f5b565b80151581146105d8575f80fd5b5f60208284031215612fa7575f80fd5b813561093081612f8a565b5f805f805f805f805f6101208a8c031215612fcb575f80fd5b8935985060208a0135975060408a0135612fe481612f5b565b965060608a0135612ff481612f5b565b955060808a013561300481612f8a565b945060a08a0135935060c08a013560ff81168114613020575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613050575f80fd5b50813567ffffffffffffffff811115613067575f80fd5b6020830191508360208260051b8501011115613081575f80fd5b9250929050565b5f805f805f806080878903121561309d575f80fd5b86356130a881612f5b565b955060208701356130b881612f5b565b9450604087013567ffffffffffffffff808211156130d4575f80fd5b6130e08a838b01613040565b909650945060608901359150808211156130f8575f80fd5b5061310589828a01613040565b979a9699509497509295939492505050565b5f805f806080858703121561312a575f80fd5b84359350602085013561313c81612f5b565b9250604085013561314c81612f5b565b9396929550929360600135925050565b5f805f6060848603121561316e575f80fd5b83359250602084013561318081612f5b565b9150604084013561319081612f5b565b809150509250925092565b5f80604083850312156131ac575f80fd5b8235915060208301356131be81612f5b565b809150509250929050565b5f602082840312156131d9575f80fd5b813567ffffffffffffffff8111156131ef575f80fd5b820160608185031215610930575f80fd5b5f805f8060808587031215613213575f80fd5b84359350602085013561322581612f5b565b925060408501359150606085013561323c81612f5b565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156132f9575f80fd5b823561330481612f5b565b915060208301356131be81612f8a565b5f805f60608486031215613326575f80fd5b83359250602084013561333881612f5b565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161337560208401826001600160a01b03169052565b50604083015161339060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613402828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613480575f80fd5b823567ffffffffffffffff811115613496575f80fd5b6134a285828601613040565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134e5578351835292840192918401916001016134c9565b50909695505050505050565b81516001600160801b031681526101808101602083015161351d60208401826001600160801b03169052565b50604083015161353860408401826001600160801b03169052565b50606083015161355360608401826001600160801b03169052565b5060808301516135686080840182600f0b9052565b5060a083015161358360a08401826001600160801b03169052565b5060c083015161359e60c08401826001600160801b03169052565b5060e08301516135b960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613467565b5f805f805f60a08688031215613616575f80fd5b85359450602086013561362881612f5b565b9350604086013561363881612f5b565b925060608601359150608086013561364f81612f5b565b809150509295509295909350565b5f806040838503121561366e575f80fd5b823561367981612f5b565b915060208301356131be81612f5b565b5f60208083525f84545f60018260011c915060018316806136ab57607f831692505b6020831081036136c957634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156136e857600181146136fe57613727565b60ff198616825284151560051b82019650613727565b5f8b8152602090205f5b8681101561372157815484820152908501908901613708565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156109805761098061374a565b818103818111156109805761098061374a565b5f8060408385031215613795575f80fd5b8251915060208301516131be81612f8a565b805161079881612f5b565b5f602082840312156137c2575f80fd5b815161093081612f5b565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613820816011850160208701612efc565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613859816012850160208701612efc565b9190910160120192915050565b5f60208284031215613876575f80fd5b5051919050565b5f602080838503121561388e575f80fd5b825167ffffffffffffffff808211156138a5575f80fd5b818501915085601f8301126138b8575f80fd5b8151818111156138ca576138ca6137cd565b8060051b604051601f19603f830116810181811085821117156138ef576138ef6137cd565b60405291825284820192508381018501918883111561390c575f80fd5b938501935b8285101561393157613922856137a7565b84529385019392850192613911565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613967816010850160208701612efc565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613820816011850160208701612efc565b8181035f8312801583831316838312821617156113db576113db61374a565b634e487b7160e01b5f52601260045260245ffd5b5f826139e0576139e06139be565b500690565b5f600182016139f6576139f661374a565b5060010190565b5f82613a0b57613a0b6139be565b500490565b5f808335601e19843603018112613a25575f80fd5b83018035915067ffffffffffffffff821115613a3f575f80fd5b602001915036819003821315613081575f80fd5b80820281158282048414176109805761098061374a565b5f60208284031215613a7a575f80fd5b815161093081612f8a565b5f8251613a96818460208701612efc565b919091019291505056fea26469706673582212205635ffdb595f622a4a876e1c3bdc25b3ffcc8f074660c4b424e7c06eaee9d35064736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts deleted file mode 100644 index 728c62a19..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const RETHTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=RETHTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts.map deleted file mode 100644 index a2801adcd..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/RETHTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I0hkC,KAAK,MAAM,EAAE;;;;CAItkkC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.js deleted file mode 100644 index 333890282..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const RETHTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506143f68061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f1e806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f1e38038062003f1e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ad6620004485f395f8181610ee301526124ac01525f8181610eb4015261246f01525f8181610d9001528181611013015281816110a10152818161112f015281816111bd015281816117c60152818161185c01528181611a1e015281816120360152818161210a015261225b01525f610f7b01525f8181610f55015261265101525f8181610f2f015261262b01525f8181610f09015261260501525f6112c801525f6112a201525f61127c01525f61125601525f8181610fed015261267701525f8181610fa1015281816114530152612a7701525f8181610fc70152612cad01525f818161022f0152818161081301528181610e8501528181611fab01528181612736015281816127c001528181612b970152612c7f01525f8181610e5601526113f00152613ad65ff3fe60806040526004361061021f575f3560e01c806360246c881161011e578063bd85b039116100a8578063cf210e651161006d578063cf210e65146106ad578063d8165743146106cc578063e44808bc146106ed578063e985e9c51461070c578063fba560081461072b575f80fd5b8063bd85b0391461061b578063becee9c31461063a578063c55dae6314610666578063c69e16ad1461067a578063c6e6f5921461068e575f80fd5b80639cd241af116100ee5780639cd241af14610580578063a22cb4651461059f578063ab033ea9146105be578063b0d96580146105db578063b88fed9f146105fc575f80fd5b806360246c881461050e5780637180c8ca1461052f5780637ecebe001461054d578063950c5d031461056c575f80fd5b806320fc4881116101aa5780633e691db91161016f5780633e691db91461046e57806346fbf68e1461048d5780634e41a1fb146104bc5780634ed2d6ac146104db57806354fd4d50146104fa575f80fd5b806320fc48811461039757806321ff32a9146103e8578063313ce567146104155780633656eec21461043b5780633a98ef391461045a575f80fd5b806306fdde03116101f057806306fdde03146102fa5780630a4e14931461030e57806314e5f07b1461033a57806317fad7fc146103595780631c0f12b614610378575f80fd5b8062ad800c1461027357806301681a62146102a857806302329a29146102c757806304baa00b146102e6575f80fd5b3661026f57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026d576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561027e575f80fd5b5061029261028d366004612ee5565b610766565b60405161029f9190612f49565b60405180910390f35b3480156102b3575f80fd5b5061026d6102c2366004612f6f565b61079d565b3480156102d2575f80fd5b5061026d6102e1366004612f97565b6107a6565b3480156102f1575f80fd5b506102926107af565b348015610305575f80fd5b506102926107ee565b348015610319575f80fd5b50610322610805565b6040516001600160a01b03909116815260200161029f565b348015610345575f80fd5b5061026d610354366004612fb2565b610844565b348015610364575f80fd5b5061026d610373366004613088565b610860565b348015610383575f80fd5b5061026d610392366004613117565b610876565b3480156103a2575f80fd5b506103b66103b1366004612ee5565b610889565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161029f565b3480156103f3575f80fd5b5061040761040236600461315c565b6108f2565b60405190815260200161029f565b348015610420575f80fd5b50610429610937565b60405160ff909116815260200161029f565b348015610446575f80fd5b5061040761045536600461319b565b61094e565b348015610465575f80fd5b50610407610986565b348015610479575f80fd5b506104076104883660046131c9565b6109a4565b348015610498575f80fd5b506104ac6104a7366004612f6f565b6109ae565b604051901515815260200161029f565b3480156104c7575f80fd5b506102926104d6366004612ee5565b6109cd565b3480156104e6575f80fd5b5061026d6104f5366004613200565b6109db565b348015610505575f80fd5b50610292610a29565b348015610519575f80fd5b50610522610a5e565b60405161029f9190613247565b34801561053a575f80fd5b5061026d6105493660046132e8565b5050565b348015610558575f80fd5b50610407610567366004612f6f565b610d57565b348015610577575f80fd5b50610322610d82565b34801561058b575f80fd5b5061026d61059a366004613314565b610dc1565b3480156105aa575f80fd5b5061026d6105b93660046132e8565b610dd2565b3480156105c9575f80fd5b5061026d6105d8366004612f6f565b50565b3480156105e6575f80fd5b506105ef610e3d565b60405161029f9190613349565b348015610607575f80fd5b50610407610616366004612ee5565b6112fd565b348015610626575f80fd5b50610407610635366004612ee5565b61130a565b348015610645575f80fd5b5061065961065436600461346f565b61132b565b60405161029f91906134ae565b348015610671575f80fd5b506103226113e2565b348015610685575f80fd5b50610407611421565b348015610699575f80fd5b506104076106a8366004612ee5565b61143a565b3480156106b8575f80fd5b506104076106c7366004612ee5565b611447565b3480156106d7575f80fd5b506106e061147d565b60405161029f91906134f1565b3480156106f8575f80fd5b5061026d610707366004613602565b611588565b348015610717575f80fd5b506104ac61072636600461365d565b6115d0565b348015610736575f80fd5b5061073f611613565b6040805182516001600160801b03908116825260209384015116928101929092520161029f565b606061079861077483611671565b6040516020016107849190612f49565b604051602081830303815290604052611797565b919050565b6105d8816117bb565b6105d881611a1c565b60606107eb6040518060400160405280600e81526020016d524554484879706572647269766560901b8152506040516020016107849190612f49565b90565b60606107eb60016040516020016107849190613689565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610855898989898989898989611b34565b505050505050505050565b61086e868686868686611d26565b505050505050565b6108838484848433611dd9565b50505050565b604080516060810182525f808252602082018190529181019190915261079860085f8481526020019081526020015f20604051602001610784919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526109309101610784565b9392505050565b60408051601260208201525f916107eb9101610784565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526109809101610784565b92915050565b5f6107eb610992611f94565b60405160200161078491815260200190565b5f61098082612021565b5f6107986109bb83612257565b60408051911515602083015201610784565b606061079861077483612335565b836109e581612431565b6001600160a01b0316336001600160a01b031614610a1657604051632aab8bd360e01b815260040160405180910390fd5b610a22858585856124ee565b5050505050565b60606107eb60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016107849190612f49565b610ac8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610ad161255a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610b3b919061375e565b610b459190613771565b90505f8215610c545773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610b718561256c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190613784565b509050610c5181846126f6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610d2457610d1f848661270a565b610d26565b5f5b81526003546001600160801b0316602091820152604051919250610d509161078491849101613247565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526107989101610784565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610dcd838383336124ee565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610e45612e11565b6107eb6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109191906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111f91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611189573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ad91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906137b2565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016107849190613349565b5f6107986109928361271e565b5f818152600b60209081526040808320548151928301526107989101610784565b60605f8267ffffffffffffffff811115611347576113476137cd565b604051908082528060200260200182016040528015611370578160200160208202803683370190505b5090505f5b838110156113c6575f858583818110611390576113906137e1565b9050602002013590505f81549050808484815181106113b1576113b16137e1565b60209081029190910101525050600101611375565b506113db8160405160200161078491906134ae565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b5f6107eb60095460405160200161078491815260200190565b5f610798610992836127a8565b5f6107986109926114787f00000000000000000000000000000000000000000000000000000000000000008561375e565b6127f7565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526107eb6002604051602001610784919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461159281612431565b6001600160a01b0316336001600160a01b0316146115c357604051632aab8bd360e01b815260040160405180910390fd5b61086e8686868686611dd9565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916109809101610784565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526107eb90606001610784565b606060f882901c6001600160f81b0383165f61168c82612837565b90505f8360038111156116a1576116a1613736565b036116d3576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061178f565b60018360038111156116e7576116e7613736565b0361171357806040516020016116fd91906137f5565b604051602081830303815290604052935061178f565b600283600381111561172757611727613736565b0361173d57806040516020016116fd919061382d565b600383600381111561175157611751613736565b0361178f576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016117b29190612f49565b60405180910390fd5b6117c36128e9565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611820573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184491906137b2565b9050336001600160a01b038216148015906118f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118da91906137b2565b6001600160a01b0316336001600160a01b031614155b8015611902575061190033612257565b155b1561191f576040516282b42960e81b815260040160405180910390fd5b5f611928611f94565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561196f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119939190613866565b90506119a96001600160a01b0385168483612911565b816119b2611f94565b146119d0576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506105d860015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9c91906137b2565b6001600160a01b0316336001600160a01b031614158015611ac35750611ac133612257565b155b15611ae0576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611b2990831515815260200190565b60405180910390a150565b83421115611b555760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611b7c5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611c66573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611ca457604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611d4357506001600160a01b038516155b15611d615760405163f0dd15fd60e01b815260040160405180910390fd5b828114611d815760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611dd057611dc8858583818110611da057611da06137e1565b905060200201358888868686818110611dbb57611dbb6137e1565b9050602002013533611dd9565b600101611d83565b50505050505050565b6001600160a01b0384161580611df657506001600160a01b038316155b15611e145760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611ed4576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611ed4575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611ed2575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611ecc908490613771565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611f05908490613771565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611f3b90849061375e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201c9190613866565b905090565b5f61202a6128e9565b61203382612963565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612090573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b491906137b2565b90506001600160a01b0381166120cd6020850185612f6f565b6001600160a01b0316146120f457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061219e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612164573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061218891906137b2565b6001600160a01b0316336001600160a01b031614155b80156121b057506121ae33612257565b155b156121cd576040516282b42960e81b815260040160405180910390fd5b5f6121d661255a565b600980545f9091559091506121ec818387612998565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461222b60408a0160208b01612f97565b60408051938452602084019290925215159082015260600160405180910390a250505061079860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156122b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122db919081019061387d565b90505f5b815181101561232c57836001600160a01b0316828281518110612304576123046137e1565b60200260200101516001600160a01b031603612324575060019392505050565b6001016122df565b505f9392505050565b606060f882901c6001600160f81b0383165f61235082612837565b90505f83600381111561236557612365613736565b03612397576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061178f565b60018360038111156123ab576123ab613736565b036123c157806040516020016116fd919061393d565b60028360038111156123d5576123d5613736565b036123eb57806040516020016116fd9190613974565b60038360038111156123ff576123ff613736565b0361178f57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f61201c670de0b6b3a764000061271e565b6125c46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916126bc9116612a2e565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926126ee92900416612a2e565b905292915050565b5f6109308383670de0b6b3a7640000612aa2565b5f61093083670de0b6b3a764000084612aa2565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015612784573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109809190613866565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401612769565b5f61281c600b5f612809600286612abd565b81526020019081526020015f2054612af1565b61282d600b5f612809600187612abd565b610980919061399f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156128db57612870600a866139d2565b61287b90603061375e565b60f81b82600161288b8487613771565b6128959190613771565b815181106128a5576128a56137e1565b60200101906001600160f81b03191690815f1a905350806128c5816139e5565b91506128d49050600a866139fd565b945061285f565b918290030190815292915050565b60025f540361290b57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610dcd908490612b1e565b5f6129716020830183612f6f565b6001600160a01b0316036105d85760405163f0dd15fd60e01b815260040160405180910390fd5b5f806129a485856126f6565b90506129af816127a8565b9450845f036129c1575f915050610930565b8491506129d46040840160208501612f97565b15612a03576129fc856129ea6020860186612f6f565b6129f76040870187613a10565b612b7f565b9150612a26565b612a2685612a146020860186612f6f565b612a216040870187613a10565b612c72565b509392505050565b5f80670de0b6b3a7640000612a41612ca6565b612a4b9190613a53565b9050808311612a5a575f612a64565b612a648184613771565b9150610930612a9b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a53565b839061270a565b5f825f190484118302158202612ab6575f80fd5b5091020490565b5f6001600160f81b03821115612ae65760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612b1a5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b326001600160a01b03841683612cd1565b905080515f14158015612b56575080806020019051810190612b549190613a6a565b155b15610dcd57604051635274afe760e01b81526001600160a01b03841660048201526024016117b2565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612be0575f80fd5b505af1158015612bf2573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612c42576040519150601f19603f3d011682016040523d82523d5f602084013e612c47565b606091505b5050905080612c69576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6108836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612911565b5f61201c427f0000000000000000000000000000000000000000000000000000000000000000612cde565b606061093083835f612cf3565b5f612ce982846139d2565b6109309084613771565b606081471015612d185760405163cd78605960e01b81523060048201526024016117b2565b5f80856001600160a01b03168486604051612d339190613a85565b5f6040518083038185875af1925050503d805f8114612d6d576040519150601f19603f3d011682016040523d82523d5f602084013e612d72565b606091505b5091509150612d82868383612d8c565b9695505050505050565b606082612da157612d9c82612de8565b610930565b8151158015612db857506001600160a01b0384163b155b15612de157604051639996b31560e01b81526001600160a01b03851660048201526024016117b2565b5080610930565b805115612df85780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ee060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ef5575f80fd5b5035919050565b5f5b83811015612f16578181015183820152602001612efe565b50505f910152565b5f8151808452612f35816020860160208601612efc565b601f01601f19169290920160200192915050565b602081525f6109306020830184612f1e565b6001600160a01b03811681146105d8575f80fd5b5f60208284031215612f7f575f80fd5b813561093081612f5b565b80151581146105d8575f80fd5b5f60208284031215612fa7575f80fd5b813561093081612f8a565b5f805f805f805f805f6101208a8c031215612fcb575f80fd5b8935985060208a0135975060408a0135612fe481612f5b565b965060608a0135612ff481612f5b565b955060808a013561300481612f8a565b945060a08a0135935060c08a013560ff81168114613020575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613050575f80fd5b50813567ffffffffffffffff811115613067575f80fd5b6020830191508360208260051b8501011115613081575f80fd5b9250929050565b5f805f805f806080878903121561309d575f80fd5b86356130a881612f5b565b955060208701356130b881612f5b565b9450604087013567ffffffffffffffff808211156130d4575f80fd5b6130e08a838b01613040565b909650945060608901359150808211156130f8575f80fd5b5061310589828a01613040565b979a9699509497509295939492505050565b5f805f806080858703121561312a575f80fd5b84359350602085013561313c81612f5b565b9250604085013561314c81612f5b565b9396929550929360600135925050565b5f805f6060848603121561316e575f80fd5b83359250602084013561318081612f5b565b9150604084013561319081612f5b565b809150509250925092565b5f80604083850312156131ac575f80fd5b8235915060208301356131be81612f5b565b809150509250929050565b5f602082840312156131d9575f80fd5b813567ffffffffffffffff8111156131ef575f80fd5b820160608185031215610930575f80fd5b5f805f8060808587031215613213575f80fd5b84359350602085013561322581612f5b565b925060408501359150606085013561323c81612f5b565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156132f9575f80fd5b823561330481612f5b565b915060208301356131be81612f8a565b5f805f60608486031215613326575f80fd5b83359250602084013561333881612f5b565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161337560208401826001600160a01b03169052565b50604083015161339060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613402828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613480575f80fd5b823567ffffffffffffffff811115613496575f80fd5b6134a285828601613040565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134e5578351835292840192918401916001016134c9565b50909695505050505050565b81516001600160801b031681526101808101602083015161351d60208401826001600160801b03169052565b50604083015161353860408401826001600160801b03169052565b50606083015161355360608401826001600160801b03169052565b5060808301516135686080840182600f0b9052565b5060a083015161358360a08401826001600160801b03169052565b5060c083015161359e60c08401826001600160801b03169052565b5060e08301516135b960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613467565b5f805f805f60a08688031215613616575f80fd5b85359450602086013561362881612f5b565b9350604086013561363881612f5b565b925060608601359150608086013561364f81612f5b565b809150509295509295909350565b5f806040838503121561366e575f80fd5b823561367981612f5b565b915060208301356131be81612f5b565b5f60208083525f84545f60018260011c915060018316806136ab57607f831692505b6020831081036136c957634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156136e857600181146136fe57613727565b60ff198616825284151560051b82019650613727565b5f8b8152602090205f5b8681101561372157815484820152908501908901613708565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156109805761098061374a565b818103818111156109805761098061374a565b5f8060408385031215613795575f80fd5b8251915060208301516131be81612f8a565b805161079881612f5b565b5f602082840312156137c2575f80fd5b815161093081612f5b565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613820816011850160208701612efc565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613859816012850160208701612efc565b9190910160120192915050565b5f60208284031215613876575f80fd5b5051919050565b5f602080838503121561388e575f80fd5b825167ffffffffffffffff808211156138a5575f80fd5b818501915085601f8301126138b8575f80fd5b8151818111156138ca576138ca6137cd565b8060051b604051601f19603f830116810181811085821117156138ef576138ef6137cd565b60405291825284820192508381018501918883111561390c575f80fd5b938501935b8285101561393157613922856137a7565b84529385019392850192613911565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613967816010850160208701612efc565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613820816011850160208701612efc565b8181035f8312801583831316838312821617156113db576113db61374a565b634e487b7160e01b5f52601260045260245ffd5b5f826139e0576139e06139be565b500690565b5f600182016139f6576139f661374a565b5060010190565b5f82613a0b57613a0b6139be565b500490565b5f808335601e19843603018112613a25575f80fd5b83018035915067ffffffffffffffff821115613a3f575f80fd5b602001915036819003821315613081575f80fd5b80820281158282048414176109805761098061374a565b5f60208284031215613a7a575f80fd5b815161093081612f8a565b5f8251613a96818460208701612efc565b919091019291505056fea26469706673582212205635ffdb595f622a4a876e1c3bdc25b3ffcc8f074660c4b424e7c06eaee9d35064736f6c63430008160033a2646970667358221220322c16593b2a67a08b1495a21a41d4248bd6fc4576f81961101081e35c67304564736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts deleted file mode 100644 index 17dfe742a..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts +++ /dev/null @@ -1,797 +0,0 @@ -export declare const RETHTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=RETHTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts.map deleted file mode 100644 index e82e36bee..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget1.d.ts","sourceRoot":"","sources":["../src/RETHTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA29BwmgC,KAAK,MAAM,EAAE;;;;;CAK5ogC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1.js b/packages/hyperdrive-artifacts/dist/RETHTarget1.js deleted file mode 100644 index 8e67df3ae..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1.js +++ /dev/null @@ -1,993 +0,0 @@ -export const RETHTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004036380380620040368339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bae620004885f395f50505f50505f610b8d01525f50505f8181610108015281816103730152612ca801525f81816113f2015281816117f00152818161185301528181612891015281816128cd01528181612ac50152612c8201525f818161074b01528181610e0401528181610e4b0152818161100a01528181611659015281816116a60152612c5c01525f611b9801525f8181611cb9015281816122fa015261237201525f818161090801528181610fa201528181611c8d015261234601525f8181610e9d01526122c001525f818161076c01528181610de201528181610e6c0152818161102b01528181611637015281816116c70152612cce01525f818161084601528181610f230152818161174e01528181612199015261324901525f818161061101528181610688015281816106fc015281816107c701526107ff01525f8181603b015281816119e1015281816125d401528181612623015261270b01525f5050613bae5ff3fe60806040526004361061002b575f3560e01c806329b23fc11461007f578063ded06231146100b0575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561008a575f80fd5b5061009e610099366004613632565b6100cf565b60405190815260200160405180910390f35b3480156100bb575f80fd5b5061009e6100ca366004613632565b6100e7565b5f6100dc858585856100f4565b90505b949350505050565b5f6100dc8585858561035f565b5f6100fd610593565b610106826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156101475760405163211ddda360e11b815260040160405180910390fd5b5f6101506105f3565b9050854210156101755761016f61016561060a565b8260046001610635565b50610185565b610183868260046001610635565b505b61019a610193600288610c98565b3387610ccc565b5f805f805f806101ab8b888e610da2565b9550955095509550955095505f8c90508c421015610267578260095f8282546101d491906136a0565b909155506101ec90506101e561060a565b428461108a565b6101f98c888787856111c3565b5f6102038e61133a565b90506102216102118e611380565b61021b90836136b3565b826113ad565b61022a896113ec565b6102365761023661144b565b5f6102408a611464565b90508061026057604051638bdf918d60e01b815260040160405180910390fd5b505061027e565b6102718689611470565b955061027c88611464565b505b5f61028a878a8d61154c565b90508b8110156102ad5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102bd600288610c98565b6102ca60208301836136e6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876103086040890160208a0161370e565b61031c8a6103168d8f6136a0565b906115e3565b8d61032a60408c018c613729565b60405161033e989796959493929190613794565b60405180910390a450939c505050505050505050505050506100df60015f55565b5f610368610593565b610371826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156103b25760405163211ddda360e11b815260040160405180910390fd5b5f6103bb6105f3565b9050854210156103d6576103d061016561060a565b506103e6565b6103e4868260046001610635565b505b6103f4610193600188610c98565b5f805f805f806104058b888e6115f7565b9550955095509550955095505f8c90508c4210156104b4578260095f82825461042e91906136a0565b9091555061043f90506101e561060a565b61044c8c888787856117d9565b5f6104568261133a565b905061046e6104648e611380565b61021b90836137db565b610477896113ec565b6104835761048361144b565b5f61048d8a611464565b9050806104ad57604051638bdf918d60e01b815260040160405180910390fd5b50506104cb565b6104be8689611470565b95506104c988611464565b505b5f6104d7878a8d61154c565b90508b8110156104fa5760405163c972651760e01b815260040160405180910390fd5b8c898c610508600186610c98565b61051560208301836136e6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876105536040890160208a0161370e565b8a61056160408b018b613729565b6040516105749796959493929190613802565b60405180910390a450919a50505050505050505050506100df60015f55565b60025f54036105b557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105c960208301836136e6565b6001600160a01b0316036105f05760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610605670de0b6b3a76400006119c9565b905090565b5f610605427f0000000000000000000000000000000000000000000000000000000000000000611a53565b5f84815260086020526040812060018101546001600160801b031615158061065c57504286115b1561067557600101546001600160801b031690506100df565b5f805f61068061060a565b90505f6106ad7f00000000000000000000000000000000000000000000000000000000000000008b6136a0565b90505b81811015610721575f818152600860205260409020600101546001600160801b031680156106f9575f828152600860205260409020549094506001600160801b03169250610721565b507f0000000000000000000000000000000000000000000000000000000000000000016106b0565b835f0361079357889350610790610736611a68565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b92505b5061079d83611a9e565b6001850180546001600160801b0319166001600160801b03929092169190911790556107f36107ec7f00000000000000000000000000000000000000000000000000000000000000008b613842565b8a8461108a565b6108318961082b6108247f0000000000000000000000000000000000000000000000000000000000000000836136a0565b4290611ac7565b8461108a565b61083a88611adb565b505f905060088161086b7f00000000000000000000000000000000000000000000000000000000000000008d613842565b815260208101919091526040015f908120600101546001600160801b0316915061089660028c610c98565b5f818152600b60205260408120549192508c8c83156109d757600192505f806108c286898d865f611c78565b915091508060095f8282546108d791906136a0565b909155506108f29050865f846108ec81611380565b886111c3565b6108fc81836136a0565b915061092c86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d45565b915061094061093b83856115e3565b611d8e565b600680546002906109619084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061098e82611a9e565b600680546010906109b0908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109e3600184610c98565b5f818152600b60205260409020549091508015610aee57600194505f80610a0e838b8f886001611c78565b915091508060095f828254610a2391906136a0565b90915550610a3e9050835f84610a3881611380565b8a6117d9565b610a488183613842565b9150610a5761093b83876115e3565b60068054600290610a789084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610aa582611a9e565b60068054601090610ac7908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b2757610b19610b0087611380565b610b0983611380565b610b1391906136b3565b5f6113ad565b8e610b248482611db7565b50505b5f610b3184611fa6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b9190613895565b90506001600160a01b03811615610c7f57610c7c5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120e8565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cc15760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610d0e57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d50908490613842565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610db2611a68565b90505f610dbe8a61216e565b6002549091508c908c90610e28908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121bd565b600254919d509a50909550610e90908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b9550610ec6858c610ec1897f000000000000000000000000000000000000000000000000000000000000000061222c565b61225b565b15610ed357610ed361144b565b5f805f610ee285878b8761229c565b9c5091945092509050610ef58184613842565b610eff90896136a0565b9750610f0b82846136a0565b610f15908d6136a0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f4d9190613842565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f93575f8b8152600860205260409020600101546001600160801b0316610f95565b8b5b90508b610fc68e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d45565b9950610fd2878a613842565b9850670de0b6b3a764000061104f610fea87876136a0565b600254611008908f90600160801b90046001600160801b0316613842565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b111561105d5761105d61144b565b61106c8a8a878a87875f6123ae565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110b55750505050565b5f848152600860205260408120546001600160801b03169081900361110d576110dd83611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561118a565b61115e611159670de0b6b3a76400006111268886613842565b61113091906138b0565b85670de0b6b3a7640000611144878a613842565b61114e91906138b0565b85929190600161244a565b611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61119384611a9e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b031661120b611159826111ef670de0b6b3a7640000866138b0565b600554600160801b90046001600160801b031691908a5f61244a565b600580546001600160801b03928316600160801b02921691909117905561123186611a9e565b61123b90826138c7565b600480546001600160801b03928316600160801b02921691909117905561126184611a9e565b600280545f9061127b9084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112a8836124f0565b600480545f906112bc908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112ec85611a9e565b6002805460109061130e908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61135f600b5f61134c600286610c98565b81526020019081526020015f2054611380565b611370600b5f61134c600187610c98565b61137a91906136b3565b92915050565b5f6001600160ff1b038211156113a95760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113c890611159906001600160801b0316848461252b565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114177f00000000000000000000000000000000000000000000000000000000000000008361258d565b60035461142d91906001600160801b03166136a0565b600254611443906001600160801b0316846115e3565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61137a826004611db7565b5f805f61147c84611adb565b90925090505f61148c86866115e3565b9050818311156114a4576114a18683856125a1565b95505b828110156114b65780830392506114ba565b5f92505b6114c383611d8e565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561151657869003611519565b505f5b61152281611a9e565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061155885856115e3565b9050611563816125bc565b9450845f03611575575f9150506115dc565b849150611588604084016020850161370e565b156115b7576115b08561159e60208601866136e6565b6115ab6040870187613729565b61260b565b91506115da565b6115da856115c860208601866136e6565b6115d56040870187613729565b6126fe565b505b9392505050565b5f6115dc8383670de0b6b3a76400006125a1565b5f805f805f805f80611607611a68565b90505f6116138a61216e565b6002549091508b908d9061167d908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612738565b600254919d509b509095505f90819081906116eb908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b98506116f984878b8861229c565b9c50919450909250905061170d8284613842565b6117179089613842565b975061172381846136a0565b61172d908e613842565b9c506117398a8e6136a0565b9b50505050505050506117c38686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117789190613842565b815260208101919091526040015f20600101546001600160801b0316428e116117ba575f8e8152600860205260409020600101546001600160801b03166117bc565b8e5b60016123ae565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061181b57507f00000000000000000000000000000000000000000000000000000000000000006118198583613842565b105b156118285761182861144b565b6004549084900390600f0b61183d84826136b3565b90508361184986611380565b13801561187e57507f000000000000000000000000000000000000000000000000000000000000000061187c838361278b565b105b1561188b5761188b61144b565b600354600160801b90046001600160801b03166118cc611159826118b7670de0b6b3a7640000886138b0565b6005546001600160801b031691908c5f61244a565b600580546001600160801b0319166001600160801b03929092169190911790556118f68882613842565b905061190181611a9e565b600380546001600160801b03928316600160801b02921691909117905561192783611a9e565b600280546001600160801b0319166001600160801b0392909216919091179055611950826124f0565b600480546001600160801b0319166001600160801b039290921691909117905561197987611a9e565b6002805460109061199b908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611a2f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137a9190613914565b5f611a5e828461393f565b6115dc9084613842565b6002546004545f91610605916001600160801b0390911690600f0b61278b565b5f6100dc82611a988588886125a1565b906127b0565b5f6001600160801b038211156113a957604051630f0af95160e11b815260040160405180910390fd5b5f818311611ad557826115dc565b50919050565b6006545f908190611afd908490600160801b90046001600160801b03166115e3565b6006546201000090046001600160701b03169250905081811115611c73575f611b268383613842565b9050611b35611159828661281f565b60068054601090611b57908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b8f858361283390919063ffffffff16565b90505f611bbc827f00000000000000000000000000000000000000000000000000000000000000006115e3565b90508060095f828254611bcf91906136a0565b90915550611bdf90508183613842565b9150611bea82611a9e565b600280545f90611c049084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3182612847565b600480545f90611c45908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c848785612833565b91505f611cb1837f00000000000000000000000000000000000000000000000000000000000000006115e3565b9050611cdd817f00000000000000000000000000000000000000000000000000000000000000006115e3565b91508315611d0057611cef8282613842565b611cf99084613842565b9250611d17565b611d0a8282613842565b611d1490846136a0565b92505b86861015611d3a57611d2a8387896125a1565b9250611d378287896125a1565b91505b509550959350505050565b5f80611d5c84611d568a888a6125a1565b90612833565b9050611d698884866125a1565b611d7390826136a0565b905086811115611d835786810391505b509695505050505050565b5f6001600160701b038211156113a95760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e01916001600160801b031690613842565b9050805f03611e1457600191505061137a565b5f611e1e85612870565b9050805f03611e325760019250505061137a565b5f80611e3f83858961290b565b9150915080611e54575f94505050505061137a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e8f9291906139d0565b6040805180830381865af4158015611ea9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ecd9190613a45565b91509150611eeb611edd82611380565b611ee690613a67565b612a7f565b925082611f00575f965050505050505061137a565b611f0982611a9e565b600780545f90611f239084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5081611a9e565b60078054601090611f72908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fcd87612c13565b6040518263ffffffff1660e01b8152600401611fe99190613a81565b6040805180830381865af4158015612003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120279190613a90565b915091508061203c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120a1916136a0565b6120ab9190613842565b9050805f036120c157505f958695509350505050565b5f8087116120cf575f6120da565b6120da8488846125a1565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561210b5761210b613abe565b6040519080825280601f01601f191660200182016040528015612135576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612155578692505b828152825f602083013e90999098509650505050505050565b5f8061217861060a565b9050808311612187575f612191565b6121918184613842565b91506115dc827f0000000000000000000000000000000000000000000000000000000000000000612833565b5f80806121dd6121d588670de0b6b3a7640000613842565b899087612d4d565b9050861561221f576121ef888861258d565b91506122108a8a846122098a670de0b6b3a7640000613842565b8989612d70565b925061221c83826136a0565b90505b9750975097945050505050565b5f61224961224284670de0b6b3a7640000613842565b839061258d565b6115dc90670de0b6b3a7640000613842565b5f8061229185612269611a68565b61227391906136a0565b600254611008908790600160801b90046001600160801b0316613842565b909210949350505050565b5f8080806122f287866122eb8b6122e56122be8c670de0b6b3a7640000613842565b7f00000000000000000000000000000000000000000000000000000000000000009061258d565b9061258d565b9190612d4d565b935061231e847f00000000000000000000000000000000000000000000000000000000000000006115e3565b91505f61233e61233689670de0b6b3a7640000613842565b8a9088612d4d565b905061236a817f000000000000000000000000000000000000000000000000000000000000000061258d565b9350612396847f00000000000000000000000000000000000000000000000000000000000000006115e3565b6123a090846136a0565b915050945094509450949050565b5f805f805f808888101561241a5786156123d0576123cd8d898b6125a1565b9c505b6123db8c898b6125a1565b9b506123e68b611380565b6123ef8d611380565b6123f991906136b3565b90506124068b898b6125a1565b9a506124138a898b6125a1565b9950612439565b6124238b611380565b61242c8d611380565b61243691906136b3565b90505b9b9c9a9b999a975050505050505050565b5f825f036124595750846124e7565b81156124ab5761248a61246c84876136a0565b61247685876115e3565b612480888a6115e3565b611d5691906136a0565b90505f6124978588611ac7565b9050808210156124a5578091505b506124e7565b8285036124b957505f6124e7565b6124e46124c68487613842565b6124d0858761258d565b6124da888a6115e3565b611d569190613842565b90505b95945050505050565b5f60016001607f1b031982128061250d575060016001607f1b0382135b156113a95760405163a5353be560e01b815260040160405180910390fd5b5f80612537845f612d92565b612541845f612d92565b61254b91906136b3565b90505f8113156125665761255f81866136a0565b9450612584565b5f8112156125845761257781613a67565b6125819086613842565b94505b50929392505050565b5f6115dc8383670de0b6b3a7640000612d4d565b5f825f1904841183021582026125b5575f80fd5b5091020490565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611a14565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b15801561266c575f80fd5b505af115801561267e573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146126ce576040519150601f19603f3d011682016040523d82523d5f602084013e6126d3565b606091505b50509050806126f5576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6127326001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612da7565b50505050565b5f808061275861275088670de0b6b3a7640000613842565b8990876125a1565b9050861561221f5761276a88886115e3565b91506122108a8a846127848a670de0b6b3a7640000613842565b8989612dfe565b5f806127978484612e0e565b9092509050806127a9576127a961144b565b5092915050565b5f815f036127c75750670de0b6b3a764000061137a565b825f036127d557505f61137a565b5f6127df83611380565b90505f6127f36127ee86611380565b612e49565b905081810261280a670de0b6b3a764000082613ad2565b90506128158161306e565b9695505050505050565b5f6115dc83670de0b6b3a764000084612d4d565b5f6115dc83670de0b6b3a7640000846125a1565b5f60016001607f1b038211156113a95760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061288a906001600160801b03168461281f565b90506128b67f0000000000000000000000000000000000000000000000000000000000000000826136a0565b6002546001600160801b03161115611ad5576002547f0000000000000000000000000000000000000000000000000000000000000000906129019083906001600160801b0316613842565b6115dc9190613842565b612913613593565b5f8061291e84612c13565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129589190613a81565b6040805180830381865af4158015612972573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129969190613a90565b93509050826129aa57505f9150612a779050565b5f6129d06129cb8461016001518561014001516115e390919063ffffffff16565b611380565b6129f06129cb85610120015186610100015161258d90919063ffffffff16565b6129fa91906136b3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b599190613afe565b935093509350935080612b7457505f98975050505050505050565b868414612ba557612b8484611a9e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bd657612bb5836124f0565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c0457612be682611a9e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c1b6135dd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d139116613200565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d4592900416613200565b905292915050565b5f825f190484118302158202612d61575f80fd5b50910281810615159190040190565b5f80612d80888888888888613274565b909250905080611d8357611d8361144b565b5f818313612da057816115dc565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612df9908490613350565b505050565b5f80612d808888888888886133b6565b5f805f83612e1b86611380565b612e2591906136b3565b90505f811215612e3b575f809250925050612e42565b9150600190505b9250929050565b5f808213612e6a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eed9084901c611380565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308757505f919050565b680755bf798b4a1bf1e582126130b0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061281574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611380565b5f80670de0b6b3a764000061321361060a565b61321d91906138b0565b905080831161322c575f613236565b6132368184613842565b91506115dc61326d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138b0565b8390612833565b5f805f6132848989888888613472565b90508688101561329a575f809250925050613345565b96869003966132a988876127b0565b9750878110156132bf575f809250925050613345565b8781036132cd818688612d4d565b9050670de0b6b3a76400008110613301576132fa6132f3670de0b6b3a76400008961281f565b82906127b0565b9050613319565b6133166132f3670de0b6b3a764000089612833565b90505b613323818661281f565b90508981101561333a575f80935093505050613345565b899003925060019150505b965096945050505050565b5f6133646001600160a01b038416836134a0565b905080515f141580156133885750808060200190518101906133869190613b31565b155b15612df957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6133c68989888888613472565b90506133d686611a98898b6136a0565b9750878110156133ec575f809250925050613345565b8781036133fa818688612d4d565b9050670de0b6b3a76400008110613427576134206132f3670de0b6b3a76400008961281f565b905061343f565b61343c6132f3670de0b6b3a764000089612833565b90505b613449818661281f565b9050808a1015613460575f80935093505050613345565b90980398600198509650505050505050565b5f61347d85856127b0565b61349661348e86611a98868b61258d565b859085612d4d565b6124e491906136a0565b60606115dc83835f845f80856001600160a01b031684866040516134c49190613b4c565b5f6040518083038185875af1925050503d805f81146134fe576040519150601f19603f3d011682016040523d82523d5f602084013e613503565b606091505b50915091506128158683836060826135235761351e8261356a565b6115dc565b815115801561353a57506001600160a01b0384163b155b1561356357604051639996b31560e01b81526001600160a01b03851660048201526024016133ad565b50806115dc565b80511561357a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a76135dd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613645575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613670575f80fd5b850160608188031215613681575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561137a5761137a61368c565b8181035f8312801583831316838312821617156127a9576127a961368c565b6001600160a01b03811681146105f0575f80fd5b5f602082840312156136f6575f80fd5b81356115dc816136d2565b80151581146105f0575f80fd5b5f6020828403121561371e575f80fd5b81356115dc81613701565b5f808335601e1984360301811261373e575f80fd5b83018035915067ffffffffffffffff821115613758575f80fd5b602001915036819003821315612e42575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137cd60e08301848661376c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137fa576137fa61368c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61383560c08301848661376c565b9998505050505050505050565b8181038181111561137a5761137a61368c565b6001600160701b038181168382160190808211156127a9576127a961368c565b6001600160801b038181168382160190808211156127a9576127a961368c565b5f602082840312156138a5575f80fd5b81516115dc816136d2565b808202811582820484141761137a5761137a61368c565b6001600160801b038281168282160390808211156127a9576127a961368c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561137a5761137a61368c565b5f60208284031215613924575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261394d5761394d61392b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e3828551613952565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a56575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7b57613a7b61368c565b505f0390565b610180810161137a8284613952565b5f8060408385031215613aa1575f80fd5b825191506020830151613ab381613701565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae057613ae061392b565b600160ff1b82145f1984141615613af957613af961368c565b500590565b5f805f8060808587031215613b11575f80fd5b845193506020850151925060408501519150606085015161368181613701565b5f60208284031215613b41575f80fd5b81516115dc81613701565b5f82515f5b81811015613b6b5760208186018101518583015201613b51565b505f92019182525091905056fea264697066735822122053c59466b50b176de5e5f7cb37544af90bf60514632bb631cdff5f5ece78c39464736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts deleted file mode 100644 index 65e0eea65..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const RETHTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=RETHTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts.map deleted file mode 100644 index 38b80df6c..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/RETHTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I0klC,KAAK,MAAM,EAAE;;;;CAItnlC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.js deleted file mode 100644 index c0a4c0c08..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const RETHTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061450e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614036806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004036380380620040368339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bae620004885f395f50505f50505f610b8d01525f50505f8181610108015281816103730152612ca801525f81816113f2015281816117f00152818161185301528181612891015281816128cd01528181612ac50152612c8201525f818161074b01528181610e0401528181610e4b0152818161100a01528181611659015281816116a60152612c5c01525f611b9801525f8181611cb9015281816122fa015261237201525f818161090801528181610fa201528181611c8d015261234601525f8181610e9d01526122c001525f818161076c01528181610de201528181610e6c0152818161102b01528181611637015281816116c70152612cce01525f818161084601528181610f230152818161174e01528181612199015261324901525f818161061101528181610688015281816106fc015281816107c701526107ff01525f8181603b015281816119e1015281816125d401528181612623015261270b01525f5050613bae5ff3fe60806040526004361061002b575f3560e01c806329b23fc11461007f578063ded06231146100b0575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561008a575f80fd5b5061009e610099366004613632565b6100cf565b60405190815260200160405180910390f35b3480156100bb575f80fd5b5061009e6100ca366004613632565b6100e7565b5f6100dc858585856100f4565b90505b949350505050565b5f6100dc8585858561035f565b5f6100fd610593565b610106826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156101475760405163211ddda360e11b815260040160405180910390fd5b5f6101506105f3565b9050854210156101755761016f61016561060a565b8260046001610635565b50610185565b610183868260046001610635565b505b61019a610193600288610c98565b3387610ccc565b5f805f805f806101ab8b888e610da2565b9550955095509550955095505f8c90508c421015610267578260095f8282546101d491906136a0565b909155506101ec90506101e561060a565b428461108a565b6101f98c888787856111c3565b5f6102038e61133a565b90506102216102118e611380565b61021b90836136b3565b826113ad565b61022a896113ec565b6102365761023661144b565b5f6102408a611464565b90508061026057604051638bdf918d60e01b815260040160405180910390fd5b505061027e565b6102718689611470565b955061027c88611464565b505b5f61028a878a8d61154c565b90508b8110156102ad5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102bd600288610c98565b6102ca60208301836136e6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876103086040890160208a0161370e565b61031c8a6103168d8f6136a0565b906115e3565b8d61032a60408c018c613729565b60405161033e989796959493929190613794565b60405180910390a450939c505050505050505050505050506100df60015f55565b5f610368610593565b610371826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156103b25760405163211ddda360e11b815260040160405180910390fd5b5f6103bb6105f3565b9050854210156103d6576103d061016561060a565b506103e6565b6103e4868260046001610635565b505b6103f4610193600188610c98565b5f805f805f806104058b888e6115f7565b9550955095509550955095505f8c90508c4210156104b4578260095f82825461042e91906136a0565b9091555061043f90506101e561060a565b61044c8c888787856117d9565b5f6104568261133a565b905061046e6104648e611380565b61021b90836137db565b610477896113ec565b6104835761048361144b565b5f61048d8a611464565b9050806104ad57604051638bdf918d60e01b815260040160405180910390fd5b50506104cb565b6104be8689611470565b95506104c988611464565b505b5f6104d7878a8d61154c565b90508b8110156104fa5760405163c972651760e01b815260040160405180910390fd5b8c898c610508600186610c98565b61051560208301836136e6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876105536040890160208a0161370e565b8a61056160408b018b613729565b6040516105749796959493929190613802565b60405180910390a450919a50505050505050505050506100df60015f55565b60025f54036105b557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105c960208301836136e6565b6001600160a01b0316036105f05760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610605670de0b6b3a76400006119c9565b905090565b5f610605427f0000000000000000000000000000000000000000000000000000000000000000611a53565b5f84815260086020526040812060018101546001600160801b031615158061065c57504286115b1561067557600101546001600160801b031690506100df565b5f805f61068061060a565b90505f6106ad7f00000000000000000000000000000000000000000000000000000000000000008b6136a0565b90505b81811015610721575f818152600860205260409020600101546001600160801b031680156106f9575f828152600860205260409020549094506001600160801b03169250610721565b507f0000000000000000000000000000000000000000000000000000000000000000016106b0565b835f0361079357889350610790610736611a68565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b92505b5061079d83611a9e565b6001850180546001600160801b0319166001600160801b03929092169190911790556107f36107ec7f00000000000000000000000000000000000000000000000000000000000000008b613842565b8a8461108a565b6108318961082b6108247f0000000000000000000000000000000000000000000000000000000000000000836136a0565b4290611ac7565b8461108a565b61083a88611adb565b505f905060088161086b7f00000000000000000000000000000000000000000000000000000000000000008d613842565b815260208101919091526040015f908120600101546001600160801b0316915061089660028c610c98565b5f818152600b60205260408120549192508c8c83156109d757600192505f806108c286898d865f611c78565b915091508060095f8282546108d791906136a0565b909155506108f29050865f846108ec81611380565b886111c3565b6108fc81836136a0565b915061092c86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d45565b915061094061093b83856115e3565b611d8e565b600680546002906109619084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061098e82611a9e565b600680546010906109b0908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109e3600184610c98565b5f818152600b60205260409020549091508015610aee57600194505f80610a0e838b8f886001611c78565b915091508060095f828254610a2391906136a0565b90915550610a3e9050835f84610a3881611380565b8a6117d9565b610a488183613842565b9150610a5761093b83876115e3565b60068054600290610a789084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610aa582611a9e565b60068054601090610ac7908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b2757610b19610b0087611380565b610b0983611380565b610b1391906136b3565b5f6113ad565b8e610b248482611db7565b50505b5f610b3184611fa6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b9190613895565b90506001600160a01b03811615610c7f57610c7c5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120e8565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cc15760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610d0e57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d50908490613842565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610db2611a68565b90505f610dbe8a61216e565b6002549091508c908c90610e28908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121bd565b600254919d509a50909550610e90908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b9550610ec6858c610ec1897f000000000000000000000000000000000000000000000000000000000000000061222c565b61225b565b15610ed357610ed361144b565b5f805f610ee285878b8761229c565b9c5091945092509050610ef58184613842565b610eff90896136a0565b9750610f0b82846136a0565b610f15908d6136a0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f4d9190613842565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f93575f8b8152600860205260409020600101546001600160801b0316610f95565b8b5b90508b610fc68e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d45565b9950610fd2878a613842565b9850670de0b6b3a764000061104f610fea87876136a0565b600254611008908f90600160801b90046001600160801b0316613842565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b111561105d5761105d61144b565b61106c8a8a878a87875f6123ae565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110b55750505050565b5f848152600860205260408120546001600160801b03169081900361110d576110dd83611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561118a565b61115e611159670de0b6b3a76400006111268886613842565b61113091906138b0565b85670de0b6b3a7640000611144878a613842565b61114e91906138b0565b85929190600161244a565b611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61119384611a9e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b031661120b611159826111ef670de0b6b3a7640000866138b0565b600554600160801b90046001600160801b031691908a5f61244a565b600580546001600160801b03928316600160801b02921691909117905561123186611a9e565b61123b90826138c7565b600480546001600160801b03928316600160801b02921691909117905561126184611a9e565b600280545f9061127b9084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112a8836124f0565b600480545f906112bc908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112ec85611a9e565b6002805460109061130e908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61135f600b5f61134c600286610c98565b81526020019081526020015f2054611380565b611370600b5f61134c600187610c98565b61137a91906136b3565b92915050565b5f6001600160ff1b038211156113a95760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113c890611159906001600160801b0316848461252b565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114177f00000000000000000000000000000000000000000000000000000000000000008361258d565b60035461142d91906001600160801b03166136a0565b600254611443906001600160801b0316846115e3565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61137a826004611db7565b5f805f61147c84611adb565b90925090505f61148c86866115e3565b9050818311156114a4576114a18683856125a1565b95505b828110156114b65780830392506114ba565b5f92505b6114c383611d8e565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561151657869003611519565b505f5b61152281611a9e565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061155885856115e3565b9050611563816125bc565b9450845f03611575575f9150506115dc565b849150611588604084016020850161370e565b156115b7576115b08561159e60208601866136e6565b6115ab6040870187613729565b61260b565b91506115da565b6115da856115c860208601866136e6565b6115d56040870187613729565b6126fe565b505b9392505050565b5f6115dc8383670de0b6b3a76400006125a1565b5f805f805f805f80611607611a68565b90505f6116138a61216e565b6002549091508b908d9061167d908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612738565b600254919d509b509095505f90819081906116eb908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b98506116f984878b8861229c565b9c50919450909250905061170d8284613842565b6117179089613842565b975061172381846136a0565b61172d908e613842565b9c506117398a8e6136a0565b9b50505050505050506117c38686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117789190613842565b815260208101919091526040015f20600101546001600160801b0316428e116117ba575f8e8152600860205260409020600101546001600160801b03166117bc565b8e5b60016123ae565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061181b57507f00000000000000000000000000000000000000000000000000000000000000006118198583613842565b105b156118285761182861144b565b6004549084900390600f0b61183d84826136b3565b90508361184986611380565b13801561187e57507f000000000000000000000000000000000000000000000000000000000000000061187c838361278b565b105b1561188b5761188b61144b565b600354600160801b90046001600160801b03166118cc611159826118b7670de0b6b3a7640000886138b0565b6005546001600160801b031691908c5f61244a565b600580546001600160801b0319166001600160801b03929092169190911790556118f68882613842565b905061190181611a9e565b600380546001600160801b03928316600160801b02921691909117905561192783611a9e565b600280546001600160801b0319166001600160801b0392909216919091179055611950826124f0565b600480546001600160801b0319166001600160801b039290921691909117905561197987611a9e565b6002805460109061199b908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611a2f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137a9190613914565b5f611a5e828461393f565b6115dc9084613842565b6002546004545f91610605916001600160801b0390911690600f0b61278b565b5f6100dc82611a988588886125a1565b906127b0565b5f6001600160801b038211156113a957604051630f0af95160e11b815260040160405180910390fd5b5f818311611ad557826115dc565b50919050565b6006545f908190611afd908490600160801b90046001600160801b03166115e3565b6006546201000090046001600160701b03169250905081811115611c73575f611b268383613842565b9050611b35611159828661281f565b60068054601090611b57908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b8f858361283390919063ffffffff16565b90505f611bbc827f00000000000000000000000000000000000000000000000000000000000000006115e3565b90508060095f828254611bcf91906136a0565b90915550611bdf90508183613842565b9150611bea82611a9e565b600280545f90611c049084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3182612847565b600480545f90611c45908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c848785612833565b91505f611cb1837f00000000000000000000000000000000000000000000000000000000000000006115e3565b9050611cdd817f00000000000000000000000000000000000000000000000000000000000000006115e3565b91508315611d0057611cef8282613842565b611cf99084613842565b9250611d17565b611d0a8282613842565b611d1490846136a0565b92505b86861015611d3a57611d2a8387896125a1565b9250611d378287896125a1565b91505b509550959350505050565b5f80611d5c84611d568a888a6125a1565b90612833565b9050611d698884866125a1565b611d7390826136a0565b905086811115611d835786810391505b509695505050505050565b5f6001600160701b038211156113a95760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e01916001600160801b031690613842565b9050805f03611e1457600191505061137a565b5f611e1e85612870565b9050805f03611e325760019250505061137a565b5f80611e3f83858961290b565b9150915080611e54575f94505050505061137a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e8f9291906139d0565b6040805180830381865af4158015611ea9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ecd9190613a45565b91509150611eeb611edd82611380565b611ee690613a67565b612a7f565b925082611f00575f965050505050505061137a565b611f0982611a9e565b600780545f90611f239084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5081611a9e565b60078054601090611f72908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fcd87612c13565b6040518263ffffffff1660e01b8152600401611fe99190613a81565b6040805180830381865af4158015612003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120279190613a90565b915091508061203c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120a1916136a0565b6120ab9190613842565b9050805f036120c157505f958695509350505050565b5f8087116120cf575f6120da565b6120da8488846125a1565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561210b5761210b613abe565b6040519080825280601f01601f191660200182016040528015612135576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612155578692505b828152825f602083013e90999098509650505050505050565b5f8061217861060a565b9050808311612187575f612191565b6121918184613842565b91506115dc827f0000000000000000000000000000000000000000000000000000000000000000612833565b5f80806121dd6121d588670de0b6b3a7640000613842565b899087612d4d565b9050861561221f576121ef888861258d565b91506122108a8a846122098a670de0b6b3a7640000613842565b8989612d70565b925061221c83826136a0565b90505b9750975097945050505050565b5f61224961224284670de0b6b3a7640000613842565b839061258d565b6115dc90670de0b6b3a7640000613842565b5f8061229185612269611a68565b61227391906136a0565b600254611008908790600160801b90046001600160801b0316613842565b909210949350505050565b5f8080806122f287866122eb8b6122e56122be8c670de0b6b3a7640000613842565b7f00000000000000000000000000000000000000000000000000000000000000009061258d565b9061258d565b9190612d4d565b935061231e847f00000000000000000000000000000000000000000000000000000000000000006115e3565b91505f61233e61233689670de0b6b3a7640000613842565b8a9088612d4d565b905061236a817f000000000000000000000000000000000000000000000000000000000000000061258d565b9350612396847f00000000000000000000000000000000000000000000000000000000000000006115e3565b6123a090846136a0565b915050945094509450949050565b5f805f805f808888101561241a5786156123d0576123cd8d898b6125a1565b9c505b6123db8c898b6125a1565b9b506123e68b611380565b6123ef8d611380565b6123f991906136b3565b90506124068b898b6125a1565b9a506124138a898b6125a1565b9950612439565b6124238b611380565b61242c8d611380565b61243691906136b3565b90505b9b9c9a9b999a975050505050505050565b5f825f036124595750846124e7565b81156124ab5761248a61246c84876136a0565b61247685876115e3565b612480888a6115e3565b611d5691906136a0565b90505f6124978588611ac7565b9050808210156124a5578091505b506124e7565b8285036124b957505f6124e7565b6124e46124c68487613842565b6124d0858761258d565b6124da888a6115e3565b611d569190613842565b90505b95945050505050565b5f60016001607f1b031982128061250d575060016001607f1b0382135b156113a95760405163a5353be560e01b815260040160405180910390fd5b5f80612537845f612d92565b612541845f612d92565b61254b91906136b3565b90505f8113156125665761255f81866136a0565b9450612584565b5f8112156125845761257781613a67565b6125819086613842565b94505b50929392505050565b5f6115dc8383670de0b6b3a7640000612d4d565b5f825f1904841183021582026125b5575f80fd5b5091020490565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611a14565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b15801561266c575f80fd5b505af115801561267e573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146126ce576040519150601f19603f3d011682016040523d82523d5f602084013e6126d3565b606091505b50509050806126f5576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6127326001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612da7565b50505050565b5f808061275861275088670de0b6b3a7640000613842565b8990876125a1565b9050861561221f5761276a88886115e3565b91506122108a8a846127848a670de0b6b3a7640000613842565b8989612dfe565b5f806127978484612e0e565b9092509050806127a9576127a961144b565b5092915050565b5f815f036127c75750670de0b6b3a764000061137a565b825f036127d557505f61137a565b5f6127df83611380565b90505f6127f36127ee86611380565b612e49565b905081810261280a670de0b6b3a764000082613ad2565b90506128158161306e565b9695505050505050565b5f6115dc83670de0b6b3a764000084612d4d565b5f6115dc83670de0b6b3a7640000846125a1565b5f60016001607f1b038211156113a95760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061288a906001600160801b03168461281f565b90506128b67f0000000000000000000000000000000000000000000000000000000000000000826136a0565b6002546001600160801b03161115611ad5576002547f0000000000000000000000000000000000000000000000000000000000000000906129019083906001600160801b0316613842565b6115dc9190613842565b612913613593565b5f8061291e84612c13565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129589190613a81565b6040805180830381865af4158015612972573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129969190613a90565b93509050826129aa57505f9150612a779050565b5f6129d06129cb8461016001518561014001516115e390919063ffffffff16565b611380565b6129f06129cb85610120015186610100015161258d90919063ffffffff16565b6129fa91906136b3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b599190613afe565b935093509350935080612b7457505f98975050505050505050565b868414612ba557612b8484611a9e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bd657612bb5836124f0565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c0457612be682611a9e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c1b6135dd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d139116613200565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d4592900416613200565b905292915050565b5f825f190484118302158202612d61575f80fd5b50910281810615159190040190565b5f80612d80888888888888613274565b909250905080611d8357611d8361144b565b5f818313612da057816115dc565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612df9908490613350565b505050565b5f80612d808888888888886133b6565b5f805f83612e1b86611380565b612e2591906136b3565b90505f811215612e3b575f809250925050612e42565b9150600190505b9250929050565b5f808213612e6a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eed9084901c611380565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308757505f919050565b680755bf798b4a1bf1e582126130b0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061281574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611380565b5f80670de0b6b3a764000061321361060a565b61321d91906138b0565b905080831161322c575f613236565b6132368184613842565b91506115dc61326d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138b0565b8390612833565b5f805f6132848989888888613472565b90508688101561329a575f809250925050613345565b96869003966132a988876127b0565b9750878110156132bf575f809250925050613345565b8781036132cd818688612d4d565b9050670de0b6b3a76400008110613301576132fa6132f3670de0b6b3a76400008961281f565b82906127b0565b9050613319565b6133166132f3670de0b6b3a764000089612833565b90505b613323818661281f565b90508981101561333a575f80935093505050613345565b899003925060019150505b965096945050505050565b5f6133646001600160a01b038416836134a0565b905080515f141580156133885750808060200190518101906133869190613b31565b155b15612df957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6133c68989888888613472565b90506133d686611a98898b6136a0565b9750878110156133ec575f809250925050613345565b8781036133fa818688612d4d565b9050670de0b6b3a76400008110613427576134206132f3670de0b6b3a76400008961281f565b905061343f565b61343c6132f3670de0b6b3a764000089612833565b90505b613449818661281f565b9050808a1015613460575f80935093505050613345565b90980398600198509650505050505050565b5f61347d85856127b0565b61349661348e86611a98868b61258d565b859085612d4d565b6124e491906136a0565b60606115dc83835f845f80856001600160a01b031684866040516134c49190613b4c565b5f6040518083038185875af1925050503d805f81146134fe576040519150601f19603f3d011682016040523d82523d5f602084013e613503565b606091505b50915091506128158683836060826135235761351e8261356a565b6115dc565b815115801561353a57506001600160a01b0384163b155b1561356357604051639996b31560e01b81526001600160a01b03851660048201526024016133ad565b50806115dc565b80511561357a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a76135dd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613645575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613670575f80fd5b850160608188031215613681575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561137a5761137a61368c565b8181035f8312801583831316838312821617156127a9576127a961368c565b6001600160a01b03811681146105f0575f80fd5b5f602082840312156136f6575f80fd5b81356115dc816136d2565b80151581146105f0575f80fd5b5f6020828403121561371e575f80fd5b81356115dc81613701565b5f808335601e1984360301811261373e575f80fd5b83018035915067ffffffffffffffff821115613758575f80fd5b602001915036819003821315612e42575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137cd60e08301848661376c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137fa576137fa61368c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61383560c08301848661376c565b9998505050505050505050565b8181038181111561137a5761137a61368c565b6001600160701b038181168382160190808211156127a9576127a961368c565b6001600160801b038181168382160190808211156127a9576127a961368c565b5f602082840312156138a5575f80fd5b81516115dc816136d2565b808202811582820484141761137a5761137a61368c565b6001600160801b038281168282160390808211156127a9576127a961368c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561137a5761137a61368c565b5f60208284031215613924575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261394d5761394d61392b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e3828551613952565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a56575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7b57613a7b61368c565b505f0390565b610180810161137a8284613952565b5f8060408385031215613aa1575f80fd5b825191506020830151613ab381613701565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae057613ae061392b565b600160ff1b82145f1984141615613af957613af961368c565b500590565b5f805f8060808587031215613b11575f80fd5b845193506020850151925060408501519150606085015161368181613701565b5f60208284031215613b41575f80fd5b81516115dc81613701565b5f82515f5b81811015613b6b5760208186018101518583015201613b51565b505f92019182525091905056fea264697066735822122053c59466b50b176de5e5f7cb37544af90bf60514632bb631cdff5f5ece78c39464736f6c63430008160033a2646970667358221220afcf4be5087f0dc30e7cdea3e31310f8f73d592af2547546b9da163c9528143764736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts deleted file mode 100644 index 45f94f961..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts +++ /dev/null @@ -1,817 +0,0 @@ -export declare const RETHTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=RETHTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts.map deleted file mode 100644 index 12332472c..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget2.d.ts","sourceRoot":"","sources":["../src/RETHTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo/B4ngC,KAAK,MAAM,EAAE;;;;;CAKhqgC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2.js b/packages/hyperdrive-artifacts/dist/RETHTarget2.js deleted file mode 100644 index 85ddf1da9..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2.js +++ /dev/null @@ -1,1018 +0,0 @@ -export const RETHTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004040380380620040408339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bb16200048f5f395f50505f50505f610c7b01525f50505f818161014c015281816103550152612c9f01525f818161159701528181611cbc01528181611d1f015281816124a601528181612888015281816128c401528181612abc0152612c7901525f818161083901528181610dd501528181610e1701528181610f090152818161136f015281816113cd0152612c5301525f6118e601525f8181611a07015281816125970152818161260f0152612db701525f81816109f601528181610e8a01528181611468015281816119db01526125e301525f8181610e69015281816125630152612d7301525f818161085a01528181610db301528181610e3801528181610f2a0152818161134d015281816113ee0152612cc501525f8181610226015281816103e90152818161093401526132a101525f81816106fa01528181610776015281816107ea015281816108b501526108ed01525f8181603b015281816114cf015261174c01525f5050613bb15ff3fe60806040526004361061002b575f3560e01c8063cba2e58d1461007f578063dbbe8070146100ab575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613635565b6100be565b6040805192835260208301919091520160405180910390f35b6100926100b9366004613635565b6100da565b5f806100cc868686866100e8565b915091505b94509492505050565b5f806100cc8686868661030f565b5f806100f2610584565b600654610100900460ff161561011b576040516321081abf60e01b815260040160405180910390fd5b6101236105ac565b61012c836105cd565b5f806101388886610605565b90925090505f61014883836106d6565b90507f000000000000000000000000000000000000000000000000000000000000000081101561018b5760405163211ddda360e11b815260040160405180910390fd5b868210156101ac576040516342af972b60e01b815260040160405180910390fd5b5f6101b56106f3565b90506101c5818460046001610723565b505f805f6101d38787610d87565b919a5091945090925090508b8810156101ff5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461021091906136a3565b909155506102219050844283610f66565b61024b7f0000000000000000000000000000000000000000000000000000000000000000856136a3565b98506102598389888c61109f565b5f61026560018b611236565b905061027e8161027860208e018e6136ca565b8b61126a565b8d8a8a898e8561029160208301836136ca565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ce60408801602089016136f2565b896102dc60408a018a61370d565b6040516102ef9796959493929190613778565b60405180910390a350909b5050505050505050505050506100d160015f55565b5f80610319610584565b600654610100900460ff1615610342576040516321081abf60e01b815260040160405180910390fd5b61034a6105ac565b610353836105cd565b7f00000000000000000000000000000000000000000000000000000000000000008610156103945760405163211ddda360e11b815260040160405180910390fd5b5f61039d61130f565b9050848110156103c0576040516342af972b60e01b815260040160405180910390fd5b5f6103c96106f3565b90505f6103e16103d76106f3565b8460046001610723565b90505f61040e7f0000000000000000000000000000000000000000000000000000000000000000846136a3565b90505f805f8061041f8e8988611321565b60098054949850929650909450925083915f9061043d9084906136a3565b9091555061044e9050874283610f66565b61046061045b858a6114a3565b6114b7565b61046b9060016136a3565b9350505f61047a84898d611540565b9050808d101561049d5760405163c972651760e01b815260040160405180910390fd5b6104a7818c610605565b508e90506104b781858b89611571565b5f6104c3600288611236565b90508c6104dd826104d760208401846136ca565b8561126a565b858b86846104ee60208601866136ca565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661052b60408b0160208c016136f2565b61053f896105398a8d6137b8565b906106d6565b8d61054d60408e018e61370d565b6040516105619897969594939291906137cb565b60405180910390a350989d50939b5050505050505050505050506100d160015f55565b60025f54036105a657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b34156105cb57604051631574f9f360e01b815260040160405180910390fd5b565b5f6105db60208301836136ca565b6001600160a01b0316036106025760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f8061061860408501602086016136f2565b1561063d576106338561062e604087018761370d565b611724565b9093509050610655565b503461065585610650604087018761370d565b61173f565b61065d61130f565b915080156106cd576040515f90339083908381818185875af1925050503d805f81146106a4576040519150601f19603f3d011682016040523d82523d5f602084013e6106a9565b606091505b50509050806106cb576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106ea8383670de0b6b3a7640000611779565b90505b92915050565b5f61071e427f0000000000000000000000000000000000000000000000000000000000000000611794565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074a57504286115b1561076357600101546001600160801b03169050610d7f565b5f805f61076e6106f3565b90505f61079b7f00000000000000000000000000000000000000000000000000000000000000008b6136a3565b90505b8181101561080f575f818152600860205260409020600101546001600160801b031680156107e7575f828152600860205260409020549094506001600160801b0316925061080f565b507f00000000000000000000000000000000000000000000000000000000000000000161079e565b835f036108815788935061087e6108246117a9565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b92505b5061088b836117e8565b6001850180546001600160801b0319166001600160801b03929092169190911790556108e16108da7f00000000000000000000000000000000000000000000000000000000000000008b6137b8565b8a84610f66565b61091f896109196109127f0000000000000000000000000000000000000000000000000000000000000000836136a3565b4290611815565b84610f66565b61092888611829565b505f90506008816109597f00000000000000000000000000000000000000000000000000000000000000008d6137b8565b815260208101919091526040015f908120600101546001600160801b0316915061098460028c611236565b5f818152600b60205260408120549192508c8c8315610ac557600192505f806109b086898d865f6119c6565b915091508060095f8282546109c591906136a3565b909155506109e09050865f846109da81611a93565b88611abc565b6109ea81836136a3565b9150610a1a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c33565b9150610a2e610a2983856106d6565b611c7c565b60068054600290610a4f9084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7c826117e8565b60068054601090610a9e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ad1600184611236565b5f818152600b60205260409020549091508015610bdc57600194505f80610afc838b8f8860016119c6565b915091508060095f828254610b1191906136a3565b90915550610b2c9050835f84610b2681611a93565b8a611ca5565b610b3681836137b8565b9150610b45610a2983876106d6565b60068054600290610b669084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b93826117e8565b60068054601090610bb5908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c1557610c07610bee87611a93565b610bf783611a93565b610c019190613852565b5f611e95565b8e610c128482611ed4565b50505b5f610c1f846120c3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf99190613871565b90506001600160a01b03811615610d6d57610d6a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612205565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d946117a9565b600254909150610df9908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061228b565b600254909450610e5c908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b9150610eb38785610eae857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122b6565b61231a565b15610ec057610ec061235b565b610ecc87858885612374565b91965094509250670de0b6b3a7640000610f4e610ee987846136a3565b600254610f07908890600160801b90046001600160801b03166137b8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b1115610f5c57610f5c61235b565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f915750505050565b5f848152600860205260408120546001600160801b031690819003610fe957610fb9836117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611066565b61103a611035670de0b6b3a764000061100288866137b8565b61100c919061388c565b85670de0b6b3a7640000611020878a6137b8565b61102a919061388c565b8592919060016123bc565b6117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106f846117e8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110e1611035826110cb670de0b6b3a76400008661388c565b6005546001600160801b031691908860016123bc565b600580546001600160801b0319166001600160801b039290921691909117905561110a856117e8565b600280545f906111249084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611151846117e8565b60028054601090611173908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111a0846117e8565b6111aa9082613832565b600380546001600160801b03808416600160801b02911617905590505f6111d083612460565b90506111ee816111df87611a93565b6111e990846138c3565b611e95565b6111f7846124a0565b6112035761120361235b565b5f61120d856124ff565b90508061122d57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561125f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061129b9084906136a3565b90915550505f838152600b6020526040812080548392906112bd9084906136a3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61071e670de0b6b3a76400006114b7565b5f805f805f61132e6117a9565b600254909150611393908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061250b565b9350876113a0858961252b565b11156113ae576113ae61235b565b6002545f908190611412908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b93506114288a670de0b6b3a7640000868c61253f565b5091935090915061143b905081836137b8565b61144590876137b8565b9550886114928161148c8d61145a868c6137b8565b8d611465878261264b565b877f0000000000000000000000000000000000000000000000000000000000000000612660565b9061252b565b975090945050505093509350935093565b5f6106ea83670de0b6b3a764000084612680565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa15801561151c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ed91906138ea565b5f61155160408301602084016136f2565b1561155d57508261156a565b61156784846126a3565b90505b9392505050565b6002546001600160801b03168381101561158d5761158d61235b565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906115c5908390600f0b6126b7565b10156115d3576115d361235b565b60045461161d9061103590600160801b90046001600160801b0316611600670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908960016123bc565b600580546001600160801b03928316600160801b029216919091179055611643816117e8565b600280546001600160801b0319166001600160801b039290921691909117905561166c856117e8565b6002805460109061168e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116bb856117e8565b600480546010906116dd908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61170b83612460565b90506111ee8161171a88611a93565b6111e99084613852565b5f8060405163350b944160e11b815260040160405180910390fd5b6117746001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866126dc565b505050565b5f825f19048411830215820261178d575f80fd5b5091020490565b5f61179f8284613915565b6106ea90846137b8565b6002546004545f9161071e916001600160801b0390911690600f0b6126b7565b5f6117df826117d9858888611779565b9061273c565b95945050505050565b5f6001600160801b0382111561181157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161182357826106ea565b50919050565b6006545f90819061184b908490600160801b90046001600160801b03166106d6565b6006546201000090046001600160701b031692509050818111156119c1575f61187483836137b8565b905061188361103582866114a3565b600680546010906118a5908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118dd85836126a390919063ffffffff16565b90505f61190a827f00000000000000000000000000000000000000000000000000000000000000006106d6565b90508060095f82825461191d91906136a3565b9091555061192d905081836137b8565b9150611938826117e8565b600280545f906119529084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197f826127a1565b600480545f90611993908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119d287856126a3565b91505f6119ff837f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050611a2b817f00000000000000000000000000000000000000000000000000000000000000006106d6565b91508315611a4e57611a3d82826137b8565b611a4790846137b8565b9250611a65565b611a5882826137b8565b611a6290846136a3565b92505b86861015611a8857611a78838789611779565b9250611a85828789611779565b91505b509550959350505050565b5f6001600160ff1b038211156118115760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b0461103582611ae8670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908a5f6123bc565b600580546001600160801b03928316600160801b029216919091179055611b2a866117e8565b611b3490826138a3565b600480546001600160801b03928316600160801b029216919091179055611b5a846117e8565b600280545f90611b749084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ba1836127ca565b600480545f90611bb5908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611be5856117e8565b60028054601090611c07908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c4a84611c448a888a611779565b906126a3565b9050611c57888486611779565b611c6190826136a3565b905086811115611c715786810391505b509695505050505050565b5f6001600160701b038211156118115760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611ce757507f0000000000000000000000000000000000000000000000000000000000000000611ce585836137b8565b105b15611cf457611cf461235b565b6004549084900390600f0b611d098482613852565b905083611d1586611a93565b138015611d4a57507f0000000000000000000000000000000000000000000000000000000000000000611d4883836126b7565b105b15611d5757611d5761235b565b600354600160801b90046001600160801b0316611d9861103582611d83670de0b6b3a76400008861388c565b6005546001600160801b031691908c5f6123bc565b600580546001600160801b0319166001600160801b0392909216919091179055611dc288826137b8565b9050611dcd816117e8565b600380546001600160801b03928316600160801b029216919091179055611df3836117e8565b600280546001600160801b0319166001600160801b0392909216919091179055611e1c826127ca565b600480546001600160801b0319166001600160801b0392909216919091179055611e45876117e8565b60028054601090611e67908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611eb090611035906001600160801b03168484612805565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f1e916001600160801b0316906137b8565b9050805f03611f315760019150506106ed565b5f611f3b85612867565b9050805f03611f4f576001925050506106ed565b5f80611f5c838589612902565b9150915080611f71575f9450505050506106ed565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fac9291906139d3565b6040805180830381865af4158015611fc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fea9190613a48565b91509150612008611ffa82611a93565b61200390613a6a565b612a76565b92508261201d575f96505050505050506106ed565b612026826117e8565b600780545f906120409084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061206d816117e8565b6007805460109061208f908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120ea87612c0a565b6040518263ffffffff1660e01b81526004016121069190613a84565b6040805180830381865af4158015612120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121449190613a93565b915091508061215957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121be916136a3565b6121c891906137b8565b9050805f036121de57505f958695509350505050565b5f8087116121ec575f6121f7565b6121f7848884611779565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561222857612228613ac1565b6040519080825280601f01601f191660200182016040528015612252576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612272578692505b828152825f602083013e90999098509650505050505050565b5f6122ab8787876122a488670de0b6b3a76400006137b8565b8787612d44565b979650505050505050565b5f6115676122f66122cf84670de0b6b3a76400006137b8565b61148c670de0b6b3a76400006122e5818a6114a3565b6122ef91906137b8565b879061252b565b61230890670de0b6b3a76400006136a3565b611c4484670de0b6b3a76400006137b8565b5f80612350856123286117a9565b61233291906136a3565b600254610f07908790600160801b90046001600160801b03166137b8565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612384898789612d66565b909250905061239382896137b8565b97505f6123a182888a611779565b90506123ad818b6137b8565b9a989950979650505050505050565b5f825f036123cb5750846117df565b811561241d576123fc6123de84876136a3565b6123e885876106d6565b6123f2888a6106d6565b611c4491906136a3565b90505f6124098588611815565b905080821015612417578091505b506117df565b82850361242b57505f6117df565b61245661243884876137b8565b612442858761252b565b61244c888a6106d6565b611c4491906137b8565b9695505050505050565b5f612485600b5f612472600286611236565b81526020019081526020015f2054611a93565b612496600b5f612472600187611236565b6106ed9190613852565b5f6124cb7f00000000000000000000000000000000000000000000000000000000000000008361252b565b6003546124e191906001600160801b03166136a3565b6002546124f7906001600160801b0316846106d6565b101592915050565b5f6106ed826004611ed4565b5f6122ab87878761252488670de0b6b3a76400006137b8565b8787612de5565b5f6106ea8383670de0b6b3a7640000612680565b5f80808061258f87866125888b61148c6125618c670de0b6b3a76400006137b8565b7f00000000000000000000000000000000000000000000000000000000000000009061252b565b9190612680565b93506125bb847f00000000000000000000000000000000000000000000000000000000000000006106d6565b91505f6125db6125d389670de0b6b3a76400006137b8565b8a9088612680565b9050612607817f000000000000000000000000000000000000000000000000000000000000000061252b565b9350612633847f00000000000000000000000000000000000000000000000000000000000000006106d6565b61263d90846136a3565b915050945094509450949050565b5f81831161265957816106ea565b5090919050565b5f80612677846126718a888a612680565b906114a3565b9050611c578884865b5f825f190484118302158202612694575f80fd5b50910281810615159190040190565b5f6106ea83670de0b6b3a764000084611779565b5f806126c38484612df5565b9092509050806126d5576126d561235b565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612736908590612e2d565b50505050565b5f815f036127535750670de0b6b3a76400006106ed565b825f0361276157505f6106ed565b5f61276b83611a93565b90505f61277f61277a86611a93565b612e93565b9050818102612796670de0b6b3a764000082613ad5565b9050612456816130b8565b5f60016001607f1b038211156118115760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806127e7575060016001607f1b0382135b156118115760405163a5353be560e01b815260040160405180910390fd5b5f80612811845f61324a565b61281b845f61324a565b6128259190613852565b90505f8113156128405761283981866136a3565b945061285e565b5f81121561285e5761285181613a6a565b61285b90866137b8565b94505b50929392505050565b6003545f908190612881906001600160801b0316846114a3565b90506128ad7f0000000000000000000000000000000000000000000000000000000000000000826136a3565b6002546001600160801b03161115611823576002547f0000000000000000000000000000000000000000000000000000000000000000906128f89083906001600160801b03166137b8565b61156a91906137b8565b61290a613596565b5f8061291584612c0a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161294f9190613a84565b6040805180830381865af4158015612969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061298d9190613a93565b93509050826129a157505f9150612a6e9050565b5f6129c76129c28461016001518561014001516106d690919063ffffffff16565b611a93565b6129e76129c285610120015186610100015161252b90919063ffffffff16565b6129f19190613852565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b509190613b01565b935093509350935080612b6b57505f98975050505050505050565b868414612b9c57612b7b846117e8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bcd57612bac836127ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bfb57612bdd826117e8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c126135e0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d0a9116613258565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d3c92900416613258565b905292915050565b5f80612d548888888888886132cc565b909250905080611c7157611c7161235b565b5f80612daf8561148c85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612da5818c6114a3565b61148c91906137b8565b9150612ddb827f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050935093915050565b5f80612d54888888888888613390565b5f805f83612e0286611a93565b612e0c9190613852565b90505f811215612e22575f8092509250506106cf565b946001945092505050565b5f612e416001600160a01b0384168361344c565b905080515f14158015612e65575080806020019051810190612e639190613b34565b155b1561177457604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612eb45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f379084901c611a93565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130d157505f919050565b680755bf798b4a1bf1e582126130fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061245674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a93565b5f81831361265957816106ea565b5f80670de0b6b3a764000061326b6106f3565b613275919061388c565b9050808311613284575f61328e565b61328e81846137b8565b915061156a6132c5670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061388c565b83906126a3565b5f805f6132dc8989888888613459565b90506132f6866117d96132ef8a8d6136a3565b87906106d6565b9850613303858a86611779565b985088811015613319575f809250925050613385565b888103670de0b6b3a7640000811061334e57613347613340670de0b6b3a7640000896114a3565b829061273c565b9050613366565b613363613340670de0b6b3a7640000896126a3565b90505b8089101561337b575f80935093505050613385565b8803925060019150505b965096945050505050565b5f805f6133a08989888888613459565b90506133b0866117d9898b6136a3565b9750878110156133c6575f809250925050613385565b8781036133d4818688612680565b9050670de0b6b3a76400008110613401576133fa613340670de0b6b3a7640000896114a3565b9050613419565b613416613340670de0b6b3a7640000896126a3565b90505b61342381866114a3565b9050808a101561343a575f80935093505050613385565b90980398600198509650505050505050565b60606106ea83835f613487565b5f613464858561273c565b61347d613475866117d9868b61252b565b859085612680565b61245691906136a3565b6060814710156134ac5760405163cd78605960e01b8152306004820152602401612e8a565b5f80856001600160a01b031684866040516134c79190613b4f565b5f6040518083038185875af1925050503d805f8114613501576040519150601f19603f3d011682016040523d82523d5f602084013e613506565b606091505b5091509150612456868383606082613526576135218261356d565b61156a565b815115801561353d57506001600160a01b0384163b155b1561356657604051639996b31560e01b81526001600160a01b0385166004820152602401612e8a565b508061156a565b80511561357d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135aa6135e0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613648575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613673575f80fd5b850160608188031215613684575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106ed576106ed61368f565b6001600160a01b0381168114610602575f80fd5b5f602082840312156136da575f80fd5b813561156a816136b6565b8015158114610602575f80fd5b5f60208284031215613702575f80fd5b813561156a816136e5565b5f808335601e19843603018112613722575f80fd5b83018035915067ffffffffffffffff82111561373c575f80fd5b6020019150368190038213156106cf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ab60c083018486613750565b9998505050505050505050565b818103818111156106ed576106ed61368f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61380460e083018486613750565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126d5576126d561368f565b6001600160801b038181168382160190808211156126d5576126d561368f565b8181035f8312801583831316838312821617156126d5576126d561368f565b5f60208284031215613881575f80fd5b815161156a816136b6565b80820281158282048414176106ed576106ed61368f565b6001600160801b038281168282160390808211156126d5576126d561368f565b8082018281125f8312801582168215821617156138e2576138e261368f565b505092915050565b5f602082840312156138fa575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261392357613923613901565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106ed576106ed61368f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e6828551613955565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a59575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7e57613a7e61368f565b505f0390565b61018081016106ed8284613955565b5f8060408385031215613aa4575f80fd5b825191506020830151613ab6816136e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae357613ae3613901565b600160ff1b82145f1984141615613afc57613afc61368f565b500590565b5f805f8060808587031215613b14575f80fd5b8451935060208501519250604085015191506060850151613684816136e5565b5f60208284031215613b44575f80fd5b815161156a816136e5565b5f82515f5b81811015613b6e5760208186018101518583015201613b54565b505f92019182525091905056fea264697066735822122047b238710ac289c637a699cb1c245d96419af6fc92d3a63ea6dfddea4568736864736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts deleted file mode 100644 index 828ebaced..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const RETHTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=RETHTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts.map deleted file mode 100644 index bb9865e95..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/RETHTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I8llC,KAAK,MAAM,EAAE;;;;CAI1olC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.js deleted file mode 100644 index 816a12692..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const RETHTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506145188061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614040806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004040380380620040408339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bb16200048f5f395f50505f50505f610c7b01525f50505f818161014c015281816103550152612c9f01525f818161159701528181611cbc01528181611d1f015281816124a601528181612888015281816128c401528181612abc0152612c7901525f818161083901528181610dd501528181610e1701528181610f090152818161136f015281816113cd0152612c5301525f6118e601525f8181611a07015281816125970152818161260f0152612db701525f81816109f601528181610e8a01528181611468015281816119db01526125e301525f8181610e69015281816125630152612d7301525f818161085a01528181610db301528181610e3801528181610f2a0152818161134d015281816113ee0152612cc501525f8181610226015281816103e90152818161093401526132a101525f81816106fa01528181610776015281816107ea015281816108b501526108ed01525f8181603b015281816114cf015261174c01525f5050613bb15ff3fe60806040526004361061002b575f3560e01c8063cba2e58d1461007f578063dbbe8070146100ab575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613635565b6100be565b6040805192835260208301919091520160405180910390f35b6100926100b9366004613635565b6100da565b5f806100cc868686866100e8565b915091505b94509492505050565b5f806100cc8686868661030f565b5f806100f2610584565b600654610100900460ff161561011b576040516321081abf60e01b815260040160405180910390fd5b6101236105ac565b61012c836105cd565b5f806101388886610605565b90925090505f61014883836106d6565b90507f000000000000000000000000000000000000000000000000000000000000000081101561018b5760405163211ddda360e11b815260040160405180910390fd5b868210156101ac576040516342af972b60e01b815260040160405180910390fd5b5f6101b56106f3565b90506101c5818460046001610723565b505f805f6101d38787610d87565b919a5091945090925090508b8810156101ff5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461021091906136a3565b909155506102219050844283610f66565b61024b7f0000000000000000000000000000000000000000000000000000000000000000856136a3565b98506102598389888c61109f565b5f61026560018b611236565b905061027e8161027860208e018e6136ca565b8b61126a565b8d8a8a898e8561029160208301836136ca565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ce60408801602089016136f2565b896102dc60408a018a61370d565b6040516102ef9796959493929190613778565b60405180910390a350909b5050505050505050505050506100d160015f55565b5f80610319610584565b600654610100900460ff1615610342576040516321081abf60e01b815260040160405180910390fd5b61034a6105ac565b610353836105cd565b7f00000000000000000000000000000000000000000000000000000000000000008610156103945760405163211ddda360e11b815260040160405180910390fd5b5f61039d61130f565b9050848110156103c0576040516342af972b60e01b815260040160405180910390fd5b5f6103c96106f3565b90505f6103e16103d76106f3565b8460046001610723565b90505f61040e7f0000000000000000000000000000000000000000000000000000000000000000846136a3565b90505f805f8061041f8e8988611321565b60098054949850929650909450925083915f9061043d9084906136a3565b9091555061044e9050874283610f66565b61046061045b858a6114a3565b6114b7565b61046b9060016136a3565b9350505f61047a84898d611540565b9050808d101561049d5760405163c972651760e01b815260040160405180910390fd5b6104a7818c610605565b508e90506104b781858b89611571565b5f6104c3600288611236565b90508c6104dd826104d760208401846136ca565b8561126a565b858b86846104ee60208601866136ca565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661052b60408b0160208c016136f2565b61053f896105398a8d6137b8565b906106d6565b8d61054d60408e018e61370d565b6040516105619897969594939291906137cb565b60405180910390a350989d50939b5050505050505050505050506100d160015f55565b60025f54036105a657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b34156105cb57604051631574f9f360e01b815260040160405180910390fd5b565b5f6105db60208301836136ca565b6001600160a01b0316036106025760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f8061061860408501602086016136f2565b1561063d576106338561062e604087018761370d565b611724565b9093509050610655565b503461065585610650604087018761370d565b61173f565b61065d61130f565b915080156106cd576040515f90339083908381818185875af1925050503d805f81146106a4576040519150601f19603f3d011682016040523d82523d5f602084013e6106a9565b606091505b50509050806106cb576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106ea8383670de0b6b3a7640000611779565b90505b92915050565b5f61071e427f0000000000000000000000000000000000000000000000000000000000000000611794565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074a57504286115b1561076357600101546001600160801b03169050610d7f565b5f805f61076e6106f3565b90505f61079b7f00000000000000000000000000000000000000000000000000000000000000008b6136a3565b90505b8181101561080f575f818152600860205260409020600101546001600160801b031680156107e7575f828152600860205260409020549094506001600160801b0316925061080f565b507f00000000000000000000000000000000000000000000000000000000000000000161079e565b835f036108815788935061087e6108246117a9565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b92505b5061088b836117e8565b6001850180546001600160801b0319166001600160801b03929092169190911790556108e16108da7f00000000000000000000000000000000000000000000000000000000000000008b6137b8565b8a84610f66565b61091f896109196109127f0000000000000000000000000000000000000000000000000000000000000000836136a3565b4290611815565b84610f66565b61092888611829565b505f90506008816109597f00000000000000000000000000000000000000000000000000000000000000008d6137b8565b815260208101919091526040015f908120600101546001600160801b0316915061098460028c611236565b5f818152600b60205260408120549192508c8c8315610ac557600192505f806109b086898d865f6119c6565b915091508060095f8282546109c591906136a3565b909155506109e09050865f846109da81611a93565b88611abc565b6109ea81836136a3565b9150610a1a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c33565b9150610a2e610a2983856106d6565b611c7c565b60068054600290610a4f9084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7c826117e8565b60068054601090610a9e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ad1600184611236565b5f818152600b60205260409020549091508015610bdc57600194505f80610afc838b8f8860016119c6565b915091508060095f828254610b1191906136a3565b90915550610b2c9050835f84610b2681611a93565b8a611ca5565b610b3681836137b8565b9150610b45610a2983876106d6565b60068054600290610b669084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b93826117e8565b60068054601090610bb5908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c1557610c07610bee87611a93565b610bf783611a93565b610c019190613852565b5f611e95565b8e610c128482611ed4565b50505b5f610c1f846120c3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf99190613871565b90506001600160a01b03811615610d6d57610d6a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612205565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d946117a9565b600254909150610df9908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061228b565b600254909450610e5c908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b9150610eb38785610eae857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122b6565b61231a565b15610ec057610ec061235b565b610ecc87858885612374565b91965094509250670de0b6b3a7640000610f4e610ee987846136a3565b600254610f07908890600160801b90046001600160801b03166137b8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b1115610f5c57610f5c61235b565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f915750505050565b5f848152600860205260408120546001600160801b031690819003610fe957610fb9836117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611066565b61103a611035670de0b6b3a764000061100288866137b8565b61100c919061388c565b85670de0b6b3a7640000611020878a6137b8565b61102a919061388c565b8592919060016123bc565b6117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106f846117e8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110e1611035826110cb670de0b6b3a76400008661388c565b6005546001600160801b031691908860016123bc565b600580546001600160801b0319166001600160801b039290921691909117905561110a856117e8565b600280545f906111249084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611151846117e8565b60028054601090611173908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111a0846117e8565b6111aa9082613832565b600380546001600160801b03808416600160801b02911617905590505f6111d083612460565b90506111ee816111df87611a93565b6111e990846138c3565b611e95565b6111f7846124a0565b6112035761120361235b565b5f61120d856124ff565b90508061122d57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561125f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061129b9084906136a3565b90915550505f838152600b6020526040812080548392906112bd9084906136a3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61071e670de0b6b3a76400006114b7565b5f805f805f61132e6117a9565b600254909150611393908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061250b565b9350876113a0858961252b565b11156113ae576113ae61235b565b6002545f908190611412908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b93506114288a670de0b6b3a7640000868c61253f565b5091935090915061143b905081836137b8565b61144590876137b8565b9550886114928161148c8d61145a868c6137b8565b8d611465878261264b565b877f0000000000000000000000000000000000000000000000000000000000000000612660565b9061252b565b975090945050505093509350935093565b5f6106ea83670de0b6b3a764000084612680565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa15801561151c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ed91906138ea565b5f61155160408301602084016136f2565b1561155d57508261156a565b61156784846126a3565b90505b9392505050565b6002546001600160801b03168381101561158d5761158d61235b565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906115c5908390600f0b6126b7565b10156115d3576115d361235b565b60045461161d9061103590600160801b90046001600160801b0316611600670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908960016123bc565b600580546001600160801b03928316600160801b029216919091179055611643816117e8565b600280546001600160801b0319166001600160801b039290921691909117905561166c856117e8565b6002805460109061168e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116bb856117e8565b600480546010906116dd908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61170b83612460565b90506111ee8161171a88611a93565b6111e99084613852565b5f8060405163350b944160e11b815260040160405180910390fd5b6117746001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866126dc565b505050565b5f825f19048411830215820261178d575f80fd5b5091020490565b5f61179f8284613915565b6106ea90846137b8565b6002546004545f9161071e916001600160801b0390911690600f0b6126b7565b5f6117df826117d9858888611779565b9061273c565b95945050505050565b5f6001600160801b0382111561181157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161182357826106ea565b50919050565b6006545f90819061184b908490600160801b90046001600160801b03166106d6565b6006546201000090046001600160701b031692509050818111156119c1575f61187483836137b8565b905061188361103582866114a3565b600680546010906118a5908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118dd85836126a390919063ffffffff16565b90505f61190a827f00000000000000000000000000000000000000000000000000000000000000006106d6565b90508060095f82825461191d91906136a3565b9091555061192d905081836137b8565b9150611938826117e8565b600280545f906119529084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197f826127a1565b600480545f90611993908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119d287856126a3565b91505f6119ff837f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050611a2b817f00000000000000000000000000000000000000000000000000000000000000006106d6565b91508315611a4e57611a3d82826137b8565b611a4790846137b8565b9250611a65565b611a5882826137b8565b611a6290846136a3565b92505b86861015611a8857611a78838789611779565b9250611a85828789611779565b91505b509550959350505050565b5f6001600160ff1b038211156118115760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b0461103582611ae8670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908a5f6123bc565b600580546001600160801b03928316600160801b029216919091179055611b2a866117e8565b611b3490826138a3565b600480546001600160801b03928316600160801b029216919091179055611b5a846117e8565b600280545f90611b749084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ba1836127ca565b600480545f90611bb5908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611be5856117e8565b60028054601090611c07908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c4a84611c448a888a611779565b906126a3565b9050611c57888486611779565b611c6190826136a3565b905086811115611c715786810391505b509695505050505050565b5f6001600160701b038211156118115760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611ce757507f0000000000000000000000000000000000000000000000000000000000000000611ce585836137b8565b105b15611cf457611cf461235b565b6004549084900390600f0b611d098482613852565b905083611d1586611a93565b138015611d4a57507f0000000000000000000000000000000000000000000000000000000000000000611d4883836126b7565b105b15611d5757611d5761235b565b600354600160801b90046001600160801b0316611d9861103582611d83670de0b6b3a76400008861388c565b6005546001600160801b031691908c5f6123bc565b600580546001600160801b0319166001600160801b0392909216919091179055611dc288826137b8565b9050611dcd816117e8565b600380546001600160801b03928316600160801b029216919091179055611df3836117e8565b600280546001600160801b0319166001600160801b0392909216919091179055611e1c826127ca565b600480546001600160801b0319166001600160801b0392909216919091179055611e45876117e8565b60028054601090611e67908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611eb090611035906001600160801b03168484612805565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f1e916001600160801b0316906137b8565b9050805f03611f315760019150506106ed565b5f611f3b85612867565b9050805f03611f4f576001925050506106ed565b5f80611f5c838589612902565b9150915080611f71575f9450505050506106ed565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fac9291906139d3565b6040805180830381865af4158015611fc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fea9190613a48565b91509150612008611ffa82611a93565b61200390613a6a565b612a76565b92508261201d575f96505050505050506106ed565b612026826117e8565b600780545f906120409084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061206d816117e8565b6007805460109061208f908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120ea87612c0a565b6040518263ffffffff1660e01b81526004016121069190613a84565b6040805180830381865af4158015612120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121449190613a93565b915091508061215957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121be916136a3565b6121c891906137b8565b9050805f036121de57505f958695509350505050565b5f8087116121ec575f6121f7565b6121f7848884611779565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561222857612228613ac1565b6040519080825280601f01601f191660200182016040528015612252576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612272578692505b828152825f602083013e90999098509650505050505050565b5f6122ab8787876122a488670de0b6b3a76400006137b8565b8787612d44565b979650505050505050565b5f6115676122f66122cf84670de0b6b3a76400006137b8565b61148c670de0b6b3a76400006122e5818a6114a3565b6122ef91906137b8565b879061252b565b61230890670de0b6b3a76400006136a3565b611c4484670de0b6b3a76400006137b8565b5f80612350856123286117a9565b61233291906136a3565b600254610f07908790600160801b90046001600160801b03166137b8565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612384898789612d66565b909250905061239382896137b8565b97505f6123a182888a611779565b90506123ad818b6137b8565b9a989950979650505050505050565b5f825f036123cb5750846117df565b811561241d576123fc6123de84876136a3565b6123e885876106d6565b6123f2888a6106d6565b611c4491906136a3565b90505f6124098588611815565b905080821015612417578091505b506117df565b82850361242b57505f6117df565b61245661243884876137b8565b612442858761252b565b61244c888a6106d6565b611c4491906137b8565b9695505050505050565b5f612485600b5f612472600286611236565b81526020019081526020015f2054611a93565b612496600b5f612472600187611236565b6106ed9190613852565b5f6124cb7f00000000000000000000000000000000000000000000000000000000000000008361252b565b6003546124e191906001600160801b03166136a3565b6002546124f7906001600160801b0316846106d6565b101592915050565b5f6106ed826004611ed4565b5f6122ab87878761252488670de0b6b3a76400006137b8565b8787612de5565b5f6106ea8383670de0b6b3a7640000612680565b5f80808061258f87866125888b61148c6125618c670de0b6b3a76400006137b8565b7f00000000000000000000000000000000000000000000000000000000000000009061252b565b9190612680565b93506125bb847f00000000000000000000000000000000000000000000000000000000000000006106d6565b91505f6125db6125d389670de0b6b3a76400006137b8565b8a9088612680565b9050612607817f000000000000000000000000000000000000000000000000000000000000000061252b565b9350612633847f00000000000000000000000000000000000000000000000000000000000000006106d6565b61263d90846136a3565b915050945094509450949050565b5f81831161265957816106ea565b5090919050565b5f80612677846126718a888a612680565b906114a3565b9050611c578884865b5f825f190484118302158202612694575f80fd5b50910281810615159190040190565b5f6106ea83670de0b6b3a764000084611779565b5f806126c38484612df5565b9092509050806126d5576126d561235b565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612736908590612e2d565b50505050565b5f815f036127535750670de0b6b3a76400006106ed565b825f0361276157505f6106ed565b5f61276b83611a93565b90505f61277f61277a86611a93565b612e93565b9050818102612796670de0b6b3a764000082613ad5565b9050612456816130b8565b5f60016001607f1b038211156118115760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806127e7575060016001607f1b0382135b156118115760405163a5353be560e01b815260040160405180910390fd5b5f80612811845f61324a565b61281b845f61324a565b6128259190613852565b90505f8113156128405761283981866136a3565b945061285e565b5f81121561285e5761285181613a6a565b61285b90866137b8565b94505b50929392505050565b6003545f908190612881906001600160801b0316846114a3565b90506128ad7f0000000000000000000000000000000000000000000000000000000000000000826136a3565b6002546001600160801b03161115611823576002547f0000000000000000000000000000000000000000000000000000000000000000906128f89083906001600160801b03166137b8565b61156a91906137b8565b61290a613596565b5f8061291584612c0a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161294f9190613a84565b6040805180830381865af4158015612969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061298d9190613a93565b93509050826129a157505f9150612a6e9050565b5f6129c76129c28461016001518561014001516106d690919063ffffffff16565b611a93565b6129e76129c285610120015186610100015161252b90919063ffffffff16565b6129f19190613852565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b509190613b01565b935093509350935080612b6b57505f98975050505050505050565b868414612b9c57612b7b846117e8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bcd57612bac836127ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bfb57612bdd826117e8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c126135e0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d0a9116613258565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d3c92900416613258565b905292915050565b5f80612d548888888888886132cc565b909250905080611c7157611c7161235b565b5f80612daf8561148c85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612da5818c6114a3565b61148c91906137b8565b9150612ddb827f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050935093915050565b5f80612d54888888888888613390565b5f805f83612e0286611a93565b612e0c9190613852565b90505f811215612e22575f8092509250506106cf565b946001945092505050565b5f612e416001600160a01b0384168361344c565b905080515f14158015612e65575080806020019051810190612e639190613b34565b155b1561177457604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612eb45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f379084901c611a93565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130d157505f919050565b680755bf798b4a1bf1e582126130fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061245674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a93565b5f81831361265957816106ea565b5f80670de0b6b3a764000061326b6106f3565b613275919061388c565b9050808311613284575f61328e565b61328e81846137b8565b915061156a6132c5670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061388c565b83906126a3565b5f805f6132dc8989888888613459565b90506132f6866117d96132ef8a8d6136a3565b87906106d6565b9850613303858a86611779565b985088811015613319575f809250925050613385565b888103670de0b6b3a7640000811061334e57613347613340670de0b6b3a7640000896114a3565b829061273c565b9050613366565b613363613340670de0b6b3a7640000896126a3565b90505b8089101561337b575f80935093505050613385565b8803925060019150505b965096945050505050565b5f805f6133a08989888888613459565b90506133b0866117d9898b6136a3565b9750878110156133c6575f809250925050613385565b8781036133d4818688612680565b9050670de0b6b3a76400008110613401576133fa613340670de0b6b3a7640000896114a3565b9050613419565b613416613340670de0b6b3a7640000896126a3565b90505b61342381866114a3565b9050808a101561343a575f80935093505050613385565b90980398600198509650505050505050565b60606106ea83835f613487565b5f613464858561273c565b61347d613475866117d9868b61252b565b859085612680565b61245691906136a3565b6060814710156134ac5760405163cd78605960e01b8152306004820152602401612e8a565b5f80856001600160a01b031684866040516134c79190613b4f565b5f6040518083038185875af1925050503d805f8114613501576040519150601f19603f3d011682016040523d82523d5f602084013e613506565b606091505b5091509150612456868383606082613526576135218261356d565b61156a565b815115801561353d57506001600160a01b0384163b155b1561356657604051639996b31560e01b81526001600160a01b0385166004820152602401612e8a565b508061156a565b80511561357d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135aa6135e0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613648575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613673575f80fd5b850160608188031215613684575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106ed576106ed61368f565b6001600160a01b0381168114610602575f80fd5b5f602082840312156136da575f80fd5b813561156a816136b6565b8015158114610602575f80fd5b5f60208284031215613702575f80fd5b813561156a816136e5565b5f808335601e19843603018112613722575f80fd5b83018035915067ffffffffffffffff82111561373c575f80fd5b6020019150368190038213156106cf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ab60c083018486613750565b9998505050505050505050565b818103818111156106ed576106ed61368f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61380460e083018486613750565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126d5576126d561368f565b6001600160801b038181168382160190808211156126d5576126d561368f565b8181035f8312801583831316838312821617156126d5576126d561368f565b5f60208284031215613881575f80fd5b815161156a816136b6565b80820281158282048414176106ed576106ed61368f565b6001600160801b038281168282160390808211156126d5576126d561368f565b8082018281125f8312801582168215821617156138e2576138e261368f565b505092915050565b5f602082840312156138fa575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261392357613923613901565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106ed576106ed61368f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e6828551613955565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a59575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7e57613a7e61368f565b505f0390565b61018081016106ed8284613955565b5f8060408385031215613aa4575f80fd5b825191506020830151613ab6816136e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae357613ae3613901565b600160ff1b82145f1984141615613afc57613afc61368f565b500590565b5f805f8060808587031215613b14575f80fd5b8451935060208501519250604085015191506060850151613684816136e5565b5f60208284031215613b44575f80fd5b815161156a816136e5565b5f82515f5b81811015613b6e5760208186018101518583015201613b54565b505f92019182525091905056fea264697066735822122047b238710ac289c637a699cb1c245d96419af6fc92d3a63ea6dfddea4568736864736f6c63430008160033a26469706673582212205e38f4bb581b2f4dd8a1c3f7bd7a99e8db14d2ff74e8f26ef1ebd846b904948664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts deleted file mode 100644 index 1d00b9f2f..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts +++ /dev/null @@ -1,833 +0,0 @@ -export declare const RETHTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=RETHTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts.map deleted file mode 100644 index be2f3f6fa..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget3.d.ts","sourceRoot":"","sources":["../src/RETHTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwgCo1/B,KAAK,MAAM,EAAE;;;;;CAKx3/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3.js b/packages/hyperdrive-artifacts/dist/RETHTarget3.js deleted file mode 100644 index 5e6857ca2..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3.js +++ /dev/null @@ -1,1038 +0,0 @@ -export const RETHTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003fac38038062003fac8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b0c620004a05f395f50505f50505f6112fe01525f818161034b0152818161037a01526103a701525f818161012c015281816105e9015261171401525f81816108850152818161097001528181610a0001528181610b05015281816115e6015281816116ee0152818161200e015281816120710152818161291a01528181612cd10152612d0d01525f818161018c015281816108f501528181610ebc015281816114af015281816115120152818161155701526116c801525f611c1f01525f8181611d740152612f6301525f81816110790152611d4801525f612f1901525f81816101ce0152818161094801528181610edd0152818161147f015281816114e201528181611578015261173a01525f81816101ad0152818161028201528181610320015281816107280152818161092201528181610fb701526128b001525f81816102e001528181610d8201528181610df901528181610e6d01528181610f380152610f7001525f8181603b015281816119c70152612b6801525f5050613b0c5ff3fe60806040526004361061002b575f3560e01c80634c2ac1d91461007f57806377d05ff4146100a4575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613565565b6100b7565b60405190815260200160405180910390f35b6100926100b23660046135c4565b6100d1565b5f6100c586868686866100e7565b90505b95945050505050565b5f6100dd848484610831565b90505b9392505050565b5f6100f0610bdf565b600654610100900460ff1615610119576040516321081abf60e01b815260040160405180910390fd5b610121610c07565b61012a82610c28565b7f000000000000000000000000000000000000000000000000000000000000000086101561016b5760405163211ddda360e11b815260040160405180910390fd5b5f6101f2610177610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c85565b90508481108061020157508381115b1561021f57604051633b61151160e11b815260040160405180910390fd5b5f8061022b8986610caa565b915091505f610238610d7b565b9050610248818360046001610da6565b506002546004546003545f9283926102b1926001600160801b0380841693600f9390930b92600160801b90048116918991166102ac6102a77f00000000000000000000000000000000000000000000000000000000000000008b613624565b61140a565b611450565b91509150806102d357604051630552b01360e31b815260040160405180910390fd5b8b5f6103446008826103057f000000000000000000000000000000000000000000000000000000000000000089613637565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611654565b90506103707f000000000000000000000000000000000000000000000000000000000000000082613624565b8811806103cf57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cf57506103cc7f000000000000000000000000000000000000000000000000000000000000000082613637565b88105b156103ed57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610438916001600160801b0390911690613637565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610472908390613624565b90505f805f6104808a61167f565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104ba9084906004016136c8565b602060405180830381865af41580156104d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f991906136d7565b915061050c6105078c6117b9565b6117e6565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161056d918591016136c8565b602060405180830381865af4158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906136d7565b9250818310156105cf5760405163184d952160e11b815260040160405180910390fd5b6105e584836105de8187613637565b919061180c565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106285760405163211ddda360e11b815260040160405180910390fd5b508f610634868e611827565b10156106535760405163c972651760e01b815260040160405180910390fd5b61066f5f8e5f0160208101906106699190613702565b8e61183b565b610678896118e0565b95508561069857604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61075260025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102ac7f00000000000000000000000000000000000000000000000000000000000000008c6102a79190613624565b9b5090508a158061076b57506107688c5f6118ec565b81125b1561078957604051630552b01360e31b815260040160405180910390fd5b5f88156107a05761079b87848b61180c565b6107a2565b5f5b90506107b16020850185613702565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ee60408a0160208b0161372a565b866107fc60408c018c613745565b60405161080f9796959493929190613788565b60405180910390a250505050505050505050505050505050506100c860015f55565b5f61083a610bdf565b610842610c07565b61084b82610c28565b60065460ff161561086f57604051637983c05160e01b815260040160405180910390fd5b5f8061087b8685610caa565b90925090506108ab7f000000000000000000000000000000000000000000000000000000000000000060026137db565b8210156108cb57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f891906137f2565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a298484611900565b1015610a485760405163216f4ab160e21b815260040160405180910390fd5b5f80610a58858585895f80611450565b91509150801580610a6857505f82125b15610a8657604051630552b01360e31b815260040160405180910390fd5b610a8f85611925565b600280546001600160801b0319166001600160801b0392909216919091179055610ab88461194e565b600480546001600160801b0319166001600160801b0392909216919091179055610ae183611925565b600280546001600160801b03928316600160801b029216919091179055610b295f807f000000000000000000000000000000000000000000000000000000000000000061183b565b610b405f610b3a60208c018c613702565b8a61183b565b610b55610b4b610d7b565b8760046001610da6565b508a8a8a610b666020820182613702565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610ba3604087016020880161372a565b87610bb16040890189613745565b604051610bc49796959493929190613788565b60405180910390a2505050505050505050506100e060015f55565b60025f5403610c0157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610c2657604051631574f9f360e01b815260040160405180910390fd5b565b5f610c366020830183613702565b6001600160a01b031603610c5d5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c80916001600160801b0390911690600f0b611900565b905090565b5f80610c9387878786611989565b9050610c9f8185611654565b979650505050505050565b815f80610cbd604085016020860161372a565b15610ce257610cd885610cd36040870187613745565b61199f565b9093509050610cfa565b5034610cfa85610cf56040870187613745565b6119ba565b610d026119f4565b91508015610d72576040515f90339083908381818185875af1925050503d805f8114610d49576040519150601f19603f3d011682016040523d82523d5f602084013e610d4e565b606091505b5050905080610d70576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c80427f0000000000000000000000000000000000000000000000000000000000000000611a06565b5f84815260086020526040812060018101546001600160801b0316151580610dcd57504286115b15610de657600101546001600160801b03169050611402565b5f805f610df1610d7b565b90505f610e1e7f00000000000000000000000000000000000000000000000000000000000000008b613624565b90505b81811015610e92575f818152600860205260409020600101546001600160801b03168015610e6a575f828152600860205260409020549094506001600160801b03169250610e92565b507f000000000000000000000000000000000000000000000000000000000000000001610e21565b835f03610f0457889350610f01610ea7610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b92505b50610f0e83611925565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f64610f5d7f00000000000000000000000000000000000000000000000000000000000000008b613637565b8a84611a1b565b610fa289610f9c610f957f000000000000000000000000000000000000000000000000000000000000000083613624565b4290611b54565b84611a1b565b610fab88611b62565b505f9050600881610fdc7f00000000000000000000000000000000000000000000000000000000000000008d613637565b815260208101919091526040015f908120600101546001600160801b0316915061100760028c611cff565b5f818152600b60205260408120549192508c8c831561114857600192505f8061103386898d865f611d33565b915091508060095f8282546110489190613624565b909155506110639050865f8461105d816117b9565b88611e00565b61106d8183613624565b915061109d86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f77565b91506110b16110ac8385611fba565b611fce565b600680546002906110d29084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ff82611925565b60068054601090611121908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611154600184611cff565b5f818152600b6020526040902054909150801561125f57600194505f8061117f838b8f886001611d33565b915091508060095f8282546111949190613624565b909155506111af9050835f846111a9816117b9565b8a611ff7565b6111b98183613637565b91506111c86110ac8387611fba565b600680546002906111e99084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061121682611925565b60068054601090611238908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112985761128a611271876117b9565b61127a836117b9565b611284919061385d565b5f6121e7565b8e6112958482612226565b50505b5f6112a284612415565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611358573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137c919061387c565b90506001600160a01b038116156113f0576113ed5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612557565b50505b509b9d50505050505050505050505050505b949350505050565b5f61142f600b5f61141c600286611cff565b81526020019081526020015f20546117b9565b611440600b5f61141c600187611cff565b61144a919061385d565b92915050565b5f805f8061145e8a8a6125df565b9150915080611474575f80935093505050611649565b5f6114d3838a6114ac7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8b7f0000000000000000000000000000000000000000000000000000000000000000612617565b5090505f611536848b8461150f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8d7f00000000000000000000000000000000000000000000000000000000000000006126d0565b509050811580611544575080155b1561154f57505f9050805b5f61159c858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b90506115aa83838c8461278a565b509093505f90506115bb848f613624565b90505f6115db8b8b6115cc876117b9565b6115d6908e613897565b6127d2565b90508b61161061160b7f000000000000000000000000000000000000000000000000000000000000000083612834565b6117b9565b611619836117b9565b61162661160b8685611fba565b611630919061385d565b61163a919061385d565b60019950995050505050505050505b965096945050505050565b5f6100e061166784846301e13380612844565b61167985670de0b6b3a7640000613637565b90611827565b6116876134b6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161177f9116612867565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117b192900416612867565b905292915050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b5090565b6117ef816128d4565b610c5d57604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611820575f80fd5b5091020490565b5f6100e083670de0b6b3a76400008461180c565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061186c908490613624565b90915550505f838152600b60205260408120805483929061188e908490613624565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61144a826004612226565b5f8183136118fa57826100e0565b50919050565b5f8061190c84846125df565b90925090508061191e5761191e612a68565b5092915050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061196b575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f6100c88261199985888861180c565b90612a81565b5f8060405163350b944160e11b815260040160405180910390fd5b6119ef6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612af0565b505050565b5f610c80670de0b6b3a7640000612b50565b5f611a1182846138d2565b6100e09084613637565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a465750505050565b5f848152600860205260408120546001600160801b031690819003611a9e57611a6e83611925565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b1b565b611aef611aea670de0b6b3a7640000611ab78886613637565b611ac191906137db565b85670de0b6b3a7640000611ad5878a613637565b611adf91906137db565b859291906001612bd9565b611925565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b2484611925565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118fa57826100e0565b6006545f908190611b84908490600160801b90046001600160801b0316611fba565b6006546201000090046001600160701b03169250905081811115611cfa575f611bad8383613637565b9050611bbc611aea8286612c73565b60068054601090611bde908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c16858361182790919063ffffffff16565b90505f611c43827f0000000000000000000000000000000000000000000000000000000000000000611fba565b90508060095f828254611c569190613624565b90915550611c6690508183613637565b9150611c7182611925565b600280545f90611c8b9084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cb882612c87565b600480545f90611ccc908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d285760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d3f8785611827565b91505f611d6c837f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050611d98817f0000000000000000000000000000000000000000000000000000000000000000611fba565b91508315611dbb57611daa8282613637565b611db49084613637565b9250611dd2565b611dc58282613637565b611dcf9084613624565b92505b86861015611df557611de583878961180c565b9250611df282878961180c565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e48611aea82611e2c670de0b6b3a7640000866137db565b600554600160801b90046001600160801b031691908a5f612bd9565b600580546001600160801b03928316600160801b029216919091179055611e6e86611925565b611e7890826138e5565b600480546001600160801b03928316600160801b029216919091179055611e9e84611925565b600280545f90611eb89084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ee58361194e565b600480545f90611ef9908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f2985611925565b60028054601090611f4b908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f88846116798a888a61180c565b9050611f9588848661180c565b611f9f9082613624565b905086811115611faf5786810391505b509695505050505050565b5f6100e08383670de0b6b3a764000061180c565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061203957507f00000000000000000000000000000000000000000000000000000000000000006120378583613637565b105b1561204657612046612a68565b6004549084900390600f0b61205b848261385d565b905083612067866117b9565b13801561209c57507f000000000000000000000000000000000000000000000000000000000000000061209a8383611900565b105b156120a9576120a9612a68565b600354600160801b90046001600160801b03166120ea611aea826120d5670de0b6b3a7640000886137db565b6005546001600160801b031691908c5f612bd9565b600580546001600160801b0319166001600160801b03929092169190911790556121148882613637565b905061211f81611925565b600380546001600160801b03928316600160801b02921691909117905561214583611925565b600280546001600160801b0319166001600160801b039290921691909117905561216e8261194e565b600480546001600160801b0319166001600160801b039290921691909117905561219787611925565b600280546010906121b9908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220290611aea906001600160801b031684846127d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612270916001600160801b031690613637565b9050805f0361228357600191505061144a565b5f61228d85612cb0565b9050805f036122a15760019250505061144a565b5f806122ae838589612d4b565b91509150806122c3575f94505050505061144a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122fe929190613932565b6040805180830381865af4158015612318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061233c91906139a7565b9150915061235a61234c826117b9565b612355906139c9565b6128d4565b92508261236f575f965050505050505061144a565b61237882611925565b600780545f906123929084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123bf81611925565b600780546010906123e1908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61243c8761167f565b6040518263ffffffff1660e01b815260040161245891906136c8565b6040805180830381865af4158015612472573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249691906139e3565b91509150806124ab57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251091613624565b61251a9190613637565b9050805f0361253057505f958695509350505050565b5f80871161253e575f612549565b61254984888461180c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561257a5761257a613a11565b6040519080825280601f01601f1916602001820160405280156125a4576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125c4578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125ec866117b9565b6125f6919061385d565b90505f81121561260c575f809250925050610d74565b946001945092505050565b5f805f6126278888888888612eba565b90505f612651670de0b6b3a76400006126408888612c73565b61264a9190613624565b8390611827565b9050670de0b6b3a764000081106126855761267e612677670de0b6b3a764000089611827565b8290612a81565b905061269d565b61269a612677670de0b6b3a764000089612c73565b90505b6126a78186611827565b9050888110156126be575f809350935050506125d5565b97909703976001975095505050505050565b5f805f6126e08989888888612ee8565b90506126fa866119996126f38a8d613624565b8790611fba565b9850612707858a8661180c565b98508881101561271d575f809250925050611649565b888103670de0b6b3a7640000811061274b57612744612677670de0b6b3a764000089612c73565b9050612763565b612760612677670de0b6b3a764000089611827565b90505b80891015612778575f80935093505050611649565b90970398600198509650505050505050565b5f805f805f61279a898789612f0c565b90925090506127a98289613637565b97505f6127b782888a61180c565b90506127c3818b613637565b9a989950979650505050505050565b5f806127de845f612f91565b6127e8845f612f91565b6127f2919061385d565b90505f81131561280d576128068186613624565b945061282b565b5f81121561282b5761281e816139c9565b6128289086613637565b94505b50929392505050565b5f6100e08383670de0b6b3a76400005b5f825f190484118302158202612858575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061287a610d7b565b61288491906137db565b9050808311612893575f61289d565b61289d8184613637565b91506100e061264a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137db565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ae9190613a25565b9350935093509350806129c957505f98975050505050505050565b8684146129fa576129d984611925565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2b57612a0a8361194e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5957612a3b82611925565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a985750670de0b6b3a764000061144a565b825f03612aa657505f61144a565b5f612ab0836117b9565b90505f612ac4612abf866117b9565b612fa6565b9050818102612adb670de0b6b3a764000082613a63565b9050612ae6816131cb565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612b4a90859061335d565b50505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa158015612bb5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144a91906136d7565b5f825f03612be85750846100c8565b8115612c3a57612c19612bfb8487613624565b612c058587611fba565b612c0f888a611fba565b6116799190613624565b90505f612c268588611b54565b905080821015612c34578091505b506100c8565b828503612c4857505f6100c8565b6100c5612c558487613637565b612c5f8587612834565b612c69888a611fba565b6116799190613637565b5f6100e083670de0b6b3a764000084612844565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612cca906001600160801b031684612c73565b9050612cf67f000000000000000000000000000000000000000000000000000000000000000082613624565b6002546001600160801b031611156118fa576002547f000000000000000000000000000000000000000000000000000000000000000090612d419083906001600160801b0316613637565b6100e09190613637565b612d5361350b565b5f80612d5e8461167f565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d9891906136c8565b6040805180830381865af4158015612db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd691906139e3565b9350905082612dea57505f9150612eb29050565b5f612e0b61160b846101600151856101400151611fba90919063ffffffff16565b612e2b61160b85610120015186610100015161283490919063ffffffff16565b612e35919061385d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612ec58585612a81565b612ede612ed686611999868b611fba565b85908561180c565b6100c59190613624565b5f612ef38585612a81565b612ede612f0486611999868b612834565b859085612844565b5f80612f5b85612f5585817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f4b818c612c73565b612f559190613637565b90612834565b9150612f87827f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050935093915050565b5f818313612f9f57816100e0565b5090919050565b5f808213612fc75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061304a9084901c6117b9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131e457505f919050565b680755bf798b4a1bf1e5821261320d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612ae674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b9565b5f6133716001600160a01b038416836133c3565b905080515f141580156133955750808060200190518101906133939190613a8f565b155b156119ef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606100e083835f845f80856001600160a01b031684866040516133e79190613aaa565b5f6040518083038185875af1925050503d805f8114613421576040519150601f19603f3d011682016040523d82523d5f602084013e613426565b606091505b5091509150612ae6868383606082613446576134418261348d565b6100e0565b815115801561345d57506001600160a01b0384163b155b1561348657604051639996b31560e01b81526001600160a01b03851660048201526024016133ba565b50806100e0565b80511561349d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061351f6134b6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118fa575f80fd5b5f805f805f60a08688031215613579575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135ab575f80fd5b6135b788828901613555565b9150509295509295909350565b5f805f606084860312156135d6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135fa575f80fd5b61360686828701613555565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144a5761144a613610565b8181038181111561144a5761144a613610565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144a828461364a565b5f602082840312156136e7575f80fd5b5051919050565b6001600160a01b0381168114610c5d575f80fd5b5f60208284031215613712575f80fd5b81356100e0816136ee565b8015158114610c5d575f80fd5b5f6020828403121561373a575f80fd5b81356100e08161371d565b5f808335601e1984360301811261375a575f80fd5b83018035915067ffffffffffffffff821115613774575f80fd5b602001915036819003821315610d74575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144a5761144a613610565b5f805f60608486031215613804575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191e5761191e613610565b6001600160801b0381811683821601908082111561191e5761191e613610565b8181035f83128015838313168383128216171561191e5761191e613610565b5f6020828403121561388c575f80fd5b81516100e0816136ee565b8082018281125f8312801582168215821617156138b6576138b6613610565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138e0576138e06138be565b500690565b6001600160801b0382811682821603908082111561191e5761191e613610565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144a5761144a613610565b5f6102a08201905061394582855161364a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139b8575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139dd576139dd613610565b505f0390565b5f80604083850312156139f4575f80fd5b825191506020830151613a068161371d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a38575f80fd5b8451935060208501519250604085015191506060850151613a588161371d565b939692955090935050565b5f82613a7157613a716138be565b600160ff1b82145f1984141615613a8a57613a8a613610565b500590565b5f60208284031215613a9f575f80fd5b81516100e08161371d565b5f82515f5b81811015613ac95760208186018101518583015201613aaf565b505f92019182525091905056fea264697066735822122016bc1dd98e1cdb81a8b81346581ae20cf8640245ca4af02c7ccba487fe5c401864736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts deleted file mode 100644 index 07d345f04..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const RETHTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=RETHTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts.map deleted file mode 100644 index c4f0cfa42..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/RETHTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IszkC,KAAK,MAAM,EAAE;;;;CAIl2kC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.js deleted file mode 100644 index 62143ee28..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const RETHTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506144848061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613fac806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003fac38038062003fac8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b0c620004a05f395f50505f50505f6112fe01525f818161034b0152818161037a01526103a701525f818161012c015281816105e9015261171401525f81816108850152818161097001528181610a0001528181610b05015281816115e6015281816116ee0152818161200e015281816120710152818161291a01528181612cd10152612d0d01525f818161018c015281816108f501528181610ebc015281816114af015281816115120152818161155701526116c801525f611c1f01525f8181611d740152612f6301525f81816110790152611d4801525f612f1901525f81816101ce0152818161094801528181610edd0152818161147f015281816114e201528181611578015261173a01525f81816101ad0152818161028201528181610320015281816107280152818161092201528181610fb701526128b001525f81816102e001528181610d8201528181610df901528181610e6d01528181610f380152610f7001525f8181603b015281816119c70152612b6801525f5050613b0c5ff3fe60806040526004361061002b575f3560e01c80634c2ac1d91461007f57806377d05ff4146100a4575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613565565b6100b7565b60405190815260200160405180910390f35b6100926100b23660046135c4565b6100d1565b5f6100c586868686866100e7565b90505b95945050505050565b5f6100dd848484610831565b90505b9392505050565b5f6100f0610bdf565b600654610100900460ff1615610119576040516321081abf60e01b815260040160405180910390fd5b610121610c07565b61012a82610c28565b7f000000000000000000000000000000000000000000000000000000000000000086101561016b5760405163211ddda360e11b815260040160405180910390fd5b5f6101f2610177610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c85565b90508481108061020157508381115b1561021f57604051633b61151160e11b815260040160405180910390fd5b5f8061022b8986610caa565b915091505f610238610d7b565b9050610248818360046001610da6565b506002546004546003545f9283926102b1926001600160801b0380841693600f9390930b92600160801b90048116918991166102ac6102a77f00000000000000000000000000000000000000000000000000000000000000008b613624565b61140a565b611450565b91509150806102d357604051630552b01360e31b815260040160405180910390fd5b8b5f6103446008826103057f000000000000000000000000000000000000000000000000000000000000000089613637565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611654565b90506103707f000000000000000000000000000000000000000000000000000000000000000082613624565b8811806103cf57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cf57506103cc7f000000000000000000000000000000000000000000000000000000000000000082613637565b88105b156103ed57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610438916001600160801b0390911690613637565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610472908390613624565b90505f805f6104808a61167f565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104ba9084906004016136c8565b602060405180830381865af41580156104d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f991906136d7565b915061050c6105078c6117b9565b6117e6565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161056d918591016136c8565b602060405180830381865af4158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906136d7565b9250818310156105cf5760405163184d952160e11b815260040160405180910390fd5b6105e584836105de8187613637565b919061180c565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106285760405163211ddda360e11b815260040160405180910390fd5b508f610634868e611827565b10156106535760405163c972651760e01b815260040160405180910390fd5b61066f5f8e5f0160208101906106699190613702565b8e61183b565b610678896118e0565b95508561069857604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61075260025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102ac7f00000000000000000000000000000000000000000000000000000000000000008c6102a79190613624565b9b5090508a158061076b57506107688c5f6118ec565b81125b1561078957604051630552b01360e31b815260040160405180910390fd5b5f88156107a05761079b87848b61180c565b6107a2565b5f5b90506107b16020850185613702565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ee60408a0160208b0161372a565b866107fc60408c018c613745565b60405161080f9796959493929190613788565b60405180910390a250505050505050505050505050505050506100c860015f55565b5f61083a610bdf565b610842610c07565b61084b82610c28565b60065460ff161561086f57604051637983c05160e01b815260040160405180910390fd5b5f8061087b8685610caa565b90925090506108ab7f000000000000000000000000000000000000000000000000000000000000000060026137db565b8210156108cb57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f891906137f2565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a298484611900565b1015610a485760405163216f4ab160e21b815260040160405180910390fd5b5f80610a58858585895f80611450565b91509150801580610a6857505f82125b15610a8657604051630552b01360e31b815260040160405180910390fd5b610a8f85611925565b600280546001600160801b0319166001600160801b0392909216919091179055610ab88461194e565b600480546001600160801b0319166001600160801b0392909216919091179055610ae183611925565b600280546001600160801b03928316600160801b029216919091179055610b295f807f000000000000000000000000000000000000000000000000000000000000000061183b565b610b405f610b3a60208c018c613702565b8a61183b565b610b55610b4b610d7b565b8760046001610da6565b508a8a8a610b666020820182613702565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610ba3604087016020880161372a565b87610bb16040890189613745565b604051610bc49796959493929190613788565b60405180910390a2505050505050505050506100e060015f55565b60025f5403610c0157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610c2657604051631574f9f360e01b815260040160405180910390fd5b565b5f610c366020830183613702565b6001600160a01b031603610c5d5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c80916001600160801b0390911690600f0b611900565b905090565b5f80610c9387878786611989565b9050610c9f8185611654565b979650505050505050565b815f80610cbd604085016020860161372a565b15610ce257610cd885610cd36040870187613745565b61199f565b9093509050610cfa565b5034610cfa85610cf56040870187613745565b6119ba565b610d026119f4565b91508015610d72576040515f90339083908381818185875af1925050503d805f8114610d49576040519150601f19603f3d011682016040523d82523d5f602084013e610d4e565b606091505b5050905080610d70576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c80427f0000000000000000000000000000000000000000000000000000000000000000611a06565b5f84815260086020526040812060018101546001600160801b0316151580610dcd57504286115b15610de657600101546001600160801b03169050611402565b5f805f610df1610d7b565b90505f610e1e7f00000000000000000000000000000000000000000000000000000000000000008b613624565b90505b81811015610e92575f818152600860205260409020600101546001600160801b03168015610e6a575f828152600860205260409020549094506001600160801b03169250610e92565b507f000000000000000000000000000000000000000000000000000000000000000001610e21565b835f03610f0457889350610f01610ea7610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b92505b50610f0e83611925565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f64610f5d7f00000000000000000000000000000000000000000000000000000000000000008b613637565b8a84611a1b565b610fa289610f9c610f957f000000000000000000000000000000000000000000000000000000000000000083613624565b4290611b54565b84611a1b565b610fab88611b62565b505f9050600881610fdc7f00000000000000000000000000000000000000000000000000000000000000008d613637565b815260208101919091526040015f908120600101546001600160801b0316915061100760028c611cff565b5f818152600b60205260408120549192508c8c831561114857600192505f8061103386898d865f611d33565b915091508060095f8282546110489190613624565b909155506110639050865f8461105d816117b9565b88611e00565b61106d8183613624565b915061109d86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f77565b91506110b16110ac8385611fba565b611fce565b600680546002906110d29084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ff82611925565b60068054601090611121908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611154600184611cff565b5f818152600b6020526040902054909150801561125f57600194505f8061117f838b8f886001611d33565b915091508060095f8282546111949190613624565b909155506111af9050835f846111a9816117b9565b8a611ff7565b6111b98183613637565b91506111c86110ac8387611fba565b600680546002906111e99084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061121682611925565b60068054601090611238908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112985761128a611271876117b9565b61127a836117b9565b611284919061385d565b5f6121e7565b8e6112958482612226565b50505b5f6112a284612415565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611358573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137c919061387c565b90506001600160a01b038116156113f0576113ed5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612557565b50505b509b9d50505050505050505050505050505b949350505050565b5f61142f600b5f61141c600286611cff565b81526020019081526020015f20546117b9565b611440600b5f61141c600187611cff565b61144a919061385d565b92915050565b5f805f8061145e8a8a6125df565b9150915080611474575f80935093505050611649565b5f6114d3838a6114ac7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8b7f0000000000000000000000000000000000000000000000000000000000000000612617565b5090505f611536848b8461150f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8d7f00000000000000000000000000000000000000000000000000000000000000006126d0565b509050811580611544575080155b1561154f57505f9050805b5f61159c858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b90506115aa83838c8461278a565b509093505f90506115bb848f613624565b90505f6115db8b8b6115cc876117b9565b6115d6908e613897565b6127d2565b90508b61161061160b7f000000000000000000000000000000000000000000000000000000000000000083612834565b6117b9565b611619836117b9565b61162661160b8685611fba565b611630919061385d565b61163a919061385d565b60019950995050505050505050505b965096945050505050565b5f6100e061166784846301e13380612844565b61167985670de0b6b3a7640000613637565b90611827565b6116876134b6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161177f9116612867565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117b192900416612867565b905292915050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b5090565b6117ef816128d4565b610c5d57604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611820575f80fd5b5091020490565b5f6100e083670de0b6b3a76400008461180c565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061186c908490613624565b90915550505f838152600b60205260408120805483929061188e908490613624565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61144a826004612226565b5f8183136118fa57826100e0565b50919050565b5f8061190c84846125df565b90925090508061191e5761191e612a68565b5092915050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061196b575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f6100c88261199985888861180c565b90612a81565b5f8060405163350b944160e11b815260040160405180910390fd5b6119ef6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612af0565b505050565b5f610c80670de0b6b3a7640000612b50565b5f611a1182846138d2565b6100e09084613637565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a465750505050565b5f848152600860205260408120546001600160801b031690819003611a9e57611a6e83611925565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b1b565b611aef611aea670de0b6b3a7640000611ab78886613637565b611ac191906137db565b85670de0b6b3a7640000611ad5878a613637565b611adf91906137db565b859291906001612bd9565b611925565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b2484611925565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118fa57826100e0565b6006545f908190611b84908490600160801b90046001600160801b0316611fba565b6006546201000090046001600160701b03169250905081811115611cfa575f611bad8383613637565b9050611bbc611aea8286612c73565b60068054601090611bde908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c16858361182790919063ffffffff16565b90505f611c43827f0000000000000000000000000000000000000000000000000000000000000000611fba565b90508060095f828254611c569190613624565b90915550611c6690508183613637565b9150611c7182611925565b600280545f90611c8b9084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cb882612c87565b600480545f90611ccc908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d285760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d3f8785611827565b91505f611d6c837f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050611d98817f0000000000000000000000000000000000000000000000000000000000000000611fba565b91508315611dbb57611daa8282613637565b611db49084613637565b9250611dd2565b611dc58282613637565b611dcf9084613624565b92505b86861015611df557611de583878961180c565b9250611df282878961180c565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e48611aea82611e2c670de0b6b3a7640000866137db565b600554600160801b90046001600160801b031691908a5f612bd9565b600580546001600160801b03928316600160801b029216919091179055611e6e86611925565b611e7890826138e5565b600480546001600160801b03928316600160801b029216919091179055611e9e84611925565b600280545f90611eb89084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ee58361194e565b600480545f90611ef9908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f2985611925565b60028054601090611f4b908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f88846116798a888a61180c565b9050611f9588848661180c565b611f9f9082613624565b905086811115611faf5786810391505b509695505050505050565b5f6100e08383670de0b6b3a764000061180c565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061203957507f00000000000000000000000000000000000000000000000000000000000000006120378583613637565b105b1561204657612046612a68565b6004549084900390600f0b61205b848261385d565b905083612067866117b9565b13801561209c57507f000000000000000000000000000000000000000000000000000000000000000061209a8383611900565b105b156120a9576120a9612a68565b600354600160801b90046001600160801b03166120ea611aea826120d5670de0b6b3a7640000886137db565b6005546001600160801b031691908c5f612bd9565b600580546001600160801b0319166001600160801b03929092169190911790556121148882613637565b905061211f81611925565b600380546001600160801b03928316600160801b02921691909117905561214583611925565b600280546001600160801b0319166001600160801b039290921691909117905561216e8261194e565b600480546001600160801b0319166001600160801b039290921691909117905561219787611925565b600280546010906121b9908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220290611aea906001600160801b031684846127d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612270916001600160801b031690613637565b9050805f0361228357600191505061144a565b5f61228d85612cb0565b9050805f036122a15760019250505061144a565b5f806122ae838589612d4b565b91509150806122c3575f94505050505061144a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122fe929190613932565b6040805180830381865af4158015612318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061233c91906139a7565b9150915061235a61234c826117b9565b612355906139c9565b6128d4565b92508261236f575f965050505050505061144a565b61237882611925565b600780545f906123929084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123bf81611925565b600780546010906123e1908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61243c8761167f565b6040518263ffffffff1660e01b815260040161245891906136c8565b6040805180830381865af4158015612472573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249691906139e3565b91509150806124ab57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251091613624565b61251a9190613637565b9050805f0361253057505f958695509350505050565b5f80871161253e575f612549565b61254984888461180c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561257a5761257a613a11565b6040519080825280601f01601f1916602001820160405280156125a4576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125c4578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125ec866117b9565b6125f6919061385d565b90505f81121561260c575f809250925050610d74565b946001945092505050565b5f805f6126278888888888612eba565b90505f612651670de0b6b3a76400006126408888612c73565b61264a9190613624565b8390611827565b9050670de0b6b3a764000081106126855761267e612677670de0b6b3a764000089611827565b8290612a81565b905061269d565b61269a612677670de0b6b3a764000089612c73565b90505b6126a78186611827565b9050888110156126be575f809350935050506125d5565b97909703976001975095505050505050565b5f805f6126e08989888888612ee8565b90506126fa866119996126f38a8d613624565b8790611fba565b9850612707858a8661180c565b98508881101561271d575f809250925050611649565b888103670de0b6b3a7640000811061274b57612744612677670de0b6b3a764000089612c73565b9050612763565b612760612677670de0b6b3a764000089611827565b90505b80891015612778575f80935093505050611649565b90970398600198509650505050505050565b5f805f805f61279a898789612f0c565b90925090506127a98289613637565b97505f6127b782888a61180c565b90506127c3818b613637565b9a989950979650505050505050565b5f806127de845f612f91565b6127e8845f612f91565b6127f2919061385d565b90505f81131561280d576128068186613624565b945061282b565b5f81121561282b5761281e816139c9565b6128289086613637565b94505b50929392505050565b5f6100e08383670de0b6b3a76400005b5f825f190484118302158202612858575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061287a610d7b565b61288491906137db565b9050808311612893575f61289d565b61289d8184613637565b91506100e061264a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137db565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ae9190613a25565b9350935093509350806129c957505f98975050505050505050565b8684146129fa576129d984611925565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2b57612a0a8361194e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5957612a3b82611925565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a985750670de0b6b3a764000061144a565b825f03612aa657505f61144a565b5f612ab0836117b9565b90505f612ac4612abf866117b9565b612fa6565b9050818102612adb670de0b6b3a764000082613a63565b9050612ae6816131cb565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612b4a90859061335d565b50505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa158015612bb5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144a91906136d7565b5f825f03612be85750846100c8565b8115612c3a57612c19612bfb8487613624565b612c058587611fba565b612c0f888a611fba565b6116799190613624565b90505f612c268588611b54565b905080821015612c34578091505b506100c8565b828503612c4857505f6100c8565b6100c5612c558487613637565b612c5f8587612834565b612c69888a611fba565b6116799190613637565b5f6100e083670de0b6b3a764000084612844565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612cca906001600160801b031684612c73565b9050612cf67f000000000000000000000000000000000000000000000000000000000000000082613624565b6002546001600160801b031611156118fa576002547f000000000000000000000000000000000000000000000000000000000000000090612d419083906001600160801b0316613637565b6100e09190613637565b612d5361350b565b5f80612d5e8461167f565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d9891906136c8565b6040805180830381865af4158015612db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd691906139e3565b9350905082612dea57505f9150612eb29050565b5f612e0b61160b846101600151856101400151611fba90919063ffffffff16565b612e2b61160b85610120015186610100015161283490919063ffffffff16565b612e35919061385d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612ec58585612a81565b612ede612ed686611999868b611fba565b85908561180c565b6100c59190613624565b5f612ef38585612a81565b612ede612f0486611999868b612834565b859085612844565b5f80612f5b85612f5585817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f4b818c612c73565b612f559190613637565b90612834565b9150612f87827f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050935093915050565b5f818313612f9f57816100e0565b5090919050565b5f808213612fc75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061304a9084901c6117b9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131e457505f919050565b680755bf798b4a1bf1e5821261320d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612ae674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b9565b5f6133716001600160a01b038416836133c3565b905080515f141580156133955750808060200190518101906133939190613a8f565b155b156119ef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606100e083835f845f80856001600160a01b031684866040516133e79190613aaa565b5f6040518083038185875af1925050503d805f8114613421576040519150601f19603f3d011682016040523d82523d5f602084013e613426565b606091505b5091509150612ae6868383606082613446576134418261348d565b6100e0565b815115801561345d57506001600160a01b0384163b155b1561348657604051639996b31560e01b81526001600160a01b03851660048201526024016133ba565b50806100e0565b80511561349d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061351f6134b6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118fa575f80fd5b5f805f805f60a08688031215613579575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135ab575f80fd5b6135b788828901613555565b9150509295509295909350565b5f805f606084860312156135d6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135fa575f80fd5b61360686828701613555565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144a5761144a613610565b8181038181111561144a5761144a613610565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144a828461364a565b5f602082840312156136e7575f80fd5b5051919050565b6001600160a01b0381168114610c5d575f80fd5b5f60208284031215613712575f80fd5b81356100e0816136ee565b8015158114610c5d575f80fd5b5f6020828403121561373a575f80fd5b81356100e08161371d565b5f808335601e1984360301811261375a575f80fd5b83018035915067ffffffffffffffff821115613774575f80fd5b602001915036819003821315610d74575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144a5761144a613610565b5f805f60608486031215613804575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191e5761191e613610565b6001600160801b0381811683821601908082111561191e5761191e613610565b8181035f83128015838313168383128216171561191e5761191e613610565b5f6020828403121561388c575f80fd5b81516100e0816136ee565b8082018281125f8312801582168215821617156138b6576138b6613610565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138e0576138e06138be565b500690565b6001600160801b0382811682821603908082111561191e5761191e613610565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144a5761144a613610565b5f6102a08201905061394582855161364a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139b8575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139dd576139dd613610565b505f0390565b5f80604083850312156139f4575f80fd5b825191506020830151613a068161371d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a38575f80fd5b8451935060208501519250604085015191506060850151613a588161371d565b939692955090935050565b5f82613a7157613a716138be565b600160ff1b82145f1984141615613a8a57613a8a613610565b500590565b5f60208284031215613a9f575f80fd5b81516100e08161371d565b5f82515f5b81811015613ac95760208186018101518583015201613aaf565b505f92019182525091905056fea264697066735822122016bc1dd98e1cdb81a8b81346581ae20cf8640245ca4af02c7ccba487fe5c401864736f6c63430008160033a26469706673582212204c906024ac6278d68c5e0a8ef16424c366c4456589047ab87e3068df604f922464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts deleted file mode 100644 index ebd87282f..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts +++ /dev/null @@ -1,812 +0,0 @@ -export declare const RETHTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=RETHTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts.map deleted file mode 100644 index de1c25c08..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget4.d.ts","sourceRoot":"","sources":["../src/RETHTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6+Bgv0B,KAAK,MAAM,EAAE;;;;;;CAMpx0B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4.js b/packages/hyperdrive-artifacts/dist/RETHTarget4.js deleted file mode 100644 index 263dfaffa..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4.js +++ /dev/null @@ -1,1012 +0,0 @@ -export const RETHTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b506040516200347a3803806200347a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161307a620004005f395f50505f50505f6109fb01525f50505f81816102c80152611fc601525f81816118260152818161188901528181611bb601528181611bf201528181611de30152611fa001525f81816105b90152611f7a01525f61140801525f61155d01525f8181610776015261153101525f50505f81816105da0152611fec01525f81816106b4015261248801525f818161024b0152818161047f015281816104f60152818161056a01528181610635015261066d01525f8181604601528181611104015281816122b80152818161230701526123ef01525f505061307a5ff3fe608060405260043610610036575f3560e01c8063074a6de91461008a578063414f826d146100c2578063cbc13434146100e1575f80fd5b3661008657336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610084576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b348015610095575f80fd5b506100a96100a4366004612b09565b610100565b6040805192835260208301919091520160405180910390f35b3480156100cd575f80fd5b506100846100dc366004612b5b565b61011a565b3480156100ec575f80fd5b506100a96100fb366004612b09565b610128565b5f8061010d858585610135565b915091505b935093915050565b61012482826101f7565b5050565b5f8061010d8585856102b3565b5f8061013f610401565b61014883610429565b5f610151610461565b905061016861015e610478565b82600460016104a3565b506101763387838888610b07565b90935091506101886020850185612b8f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101c660408b0160208c01612bb7565b6101d360408c018c612bd2565b6040516101e596959493929190612c3d565b60405180910390a35061011260015f55565b6101ff610401565b5f610208610461565b5f848152600860205260409020600101549091506001600160801b03161561023b576102348183610c46565b50506102aa565b5f610244610478565b90506102707f000000000000000000000000000000000000000000000000000000000000000085612c8a565b15158061027c57508381105b1561029a5760405163ecd29e8160e01b815260040160405180910390fd5b6102a68483855f6104a3565b5050505b61012460015f55565b5f806102bd610401565b6102c683610429565b7f00000000000000000000000000000000000000000000000000000000000000008510156103075760405163211ddda360e11b815260040160405180910390fd5b5f610310610461565b905061031d61015e610478565b506103295f3388610e36565b610344600360f81b61033e6020870187612b8f565b88610f0d565b5f61035e6103556020870187612b8f565b88848989610b07565b909450905061036d8188612cb1565b92505f61037983610faa565b5090506103896020870187612b8f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103c760408d0160208e01612bb7565b8a888e80604001906103d99190612bd2565b6040516103ed989796959493929190612cc4565b60405180910390a350505061011260015f55565b60025f540361042357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104376020830183612b8f565b6001600160a01b03160361045e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610473670de0b6b3a76400006110ec565b905090565b5f610473427f0000000000000000000000000000000000000000000000000000000000000000611176565b5f84815260086020526040812060018101546001600160801b03161515806104ca57504286115b156104e357600101546001600160801b03169050610aff565b5f805f6104ee610478565b90505f61051b7f00000000000000000000000000000000000000000000000000000000000000008b612d0b565b90505b8181101561058f575f818152600860205260409020600101546001600160801b03168015610567575f828152600860205260409020549094506001600160801b0316925061058f565b507f00000000000000000000000000000000000000000000000000000000000000000161051e565b835f03610601578893506105fe6105a4611192565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b2565b92505b5061060b836111d1565b6001850180546001600160801b0319166001600160801b039290921691909117905561066161065a7f00000000000000000000000000000000000000000000000000000000000000008b612cb1565b8a846111fe565b61069f896106996106927f000000000000000000000000000000000000000000000000000000000000000083612d0b565b4290611337565b846111fe565b6106a88861134b565b505f90506008816106d97f00000000000000000000000000000000000000000000000000000000000000008d612cb1565b815260208101919091526040015f908120600101546001600160801b0316915061070460028c6114e8565b5f818152600b60205260408120549192508c8c831561084557600192505f8061073086898d865f61151c565b915091508060095f8282546107459190612d0b565b909155506107609050865f8461075a816115e9565b88611612565b61076a8183612d0b565b915061079a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611789565b91506107ae6107a983856117d2565b6117e6565b600680546002906107cf9084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107fc826111d1565b6006805460109061081e908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6108516001846114e8565b5f818152600b6020526040902054909150801561095c57600194505f8061087c838b8f88600161151c565b915091508060095f8282546108919190612d0b565b909155506108ac9050835f846108a6816115e9565b8a61180f565b6108b68183612cb1565b91506108c56107a983876117d2565b600680546002906108e69084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610913826111d1565b60068054601090610935908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156109955761098761096e876115e9565b610977836115e9565b6109819190612d5e565b5f6119ff565b8e6109928482610c46565b50505b5f61099f84610faa565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a799190612d7d565b90506001600160a01b03811615610aed57610aea5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a3e565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610b1285611ac4565b505060075485906001600160801b031680821115610b3757806001600160801b031691505b815f03610b4a575f809250925050610c3c565b610b59600360f81b8984610e36565b6007545f90610b7e9084906001600160801b03600160801b9091048116908516611ad0565b9050610b89836111d1565b610b939083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610bbc816111d1565b60078054601090610bde908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610c0d818887611aeb565b9350610c198684611b81565b841015610c395760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c90916001600160801b031690612cb1565b9050805f03610ca3576001915050610e30565b5f610cad85611b95565b9050805f03610cc157600192505050610e30565b5f80610cce838589611c30565b9150915080610ce3575f945050505050610e30565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d1e929190612e36565b6040805180830381865af4158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c9190612eab565b91509150610d7a610d6c826115e9565b610d7590612ecd565b611d9d565b925082610d8f575f9650505050505050610e30565b610d98826111d1565b600780545f90610db29084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ddf816111d1565b60078054601090610e01908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e7857604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610eba908490612cb1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f3e908490612d0b565b90915550505f838152600b602052604081208054839290610f60908490612d0b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610f00565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fd187611f31565b6040518263ffffffff1660e01b8152600401610fed9190612ee7565b6040805180830381865af4158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190612ef6565b915091508061104057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916110a591612d0b565b6110af9190612cb1565b9050805f036110c557505f958695509350505050565b5f8087116110d3575f6110de565b6110de848884611ad0565b976001975095505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611152573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190612f24565b5f6111818284612c8a565b61118b9084612cb1565b9392505050565b6002546004545f91610473916001600160801b0390911690600f0b61206b565b5f6111c8826111c2858888611ad0565b90612090565b95945050505050565b5f6001600160801b038211156111fa57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036112295750505050565b5f848152600860205260408120546001600160801b03169081900361128157611251836111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112fe565b6112d26112cd670de0b6b3a764000061129a8886612cb1565b6112a49190612f3b565b85670de0b6b3a76400006112b8878a612cb1565b6112c29190612f3b565b8592919060016120ff565b6111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611307846111d1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611345578261118b565b50919050565b6006545f90819061136d908490600160801b90046001600160801b03166117d2565b6006546201000090046001600160701b031692509050818111156114e3575f6113968383612cb1565b90506113a56112cd8286612199565b600680546010906113c7908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113ff85836121ad90919063ffffffff16565b90505f61142c827f00000000000000000000000000000000000000000000000000000000000000006117d2565b90508060095f82825461143f9190612d0b565b9091555061144f90508183612cb1565b915061145a826111d1565b600280545f906114749084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a1826121c1565b600480545f906114b5908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115115760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152887856121ad565b91505f611555837f00000000000000000000000000000000000000000000000000000000000000006117d2565b9050611581817f00000000000000000000000000000000000000000000000000000000000000006117d2565b915083156115a4576115938282612cb1565b61159d9084612cb1565b92506115bb565b6115ae8282612cb1565b6115b89084612d0b565b92505b868610156115de576115ce838789611ad0565b92506115db828789611ad0565b91505b509550959350505050565b5f6001600160ff1b038211156111fa5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165a6112cd8261163e670de0b6b3a764000086612f3b565b600554600160801b90046001600160801b031691908a5f6120ff565b600580546001600160801b03928316600160801b029216919091179055611680866111d1565b61168a9082612d98565b600480546001600160801b03928316600160801b0292169190911790556116b0846111d1565b600280545f906116ca9084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116f7836121ea565b600480545f9061170b908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173b856111d1565b6002805460109061175d908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a08461179a8a888a611ad0565b906121ad565b90506117ad888486611ad0565b6117b79082612d0b565b9050868111156117c75786810391505b509695505050505050565b5f61118b8383670de0b6b3a7640000611ad0565b5f6001600160701b038211156111fa5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185157507f000000000000000000000000000000000000000000000000000000000000000061184f8583612cb1565b105b1561185e5761185e612225565b6004549084900390600f0b6118738482612d5e565b90508361187f866115e9565b1380156118b457507f00000000000000000000000000000000000000000000000000000000000000006118b2838361206b565b105b156118c1576118c1612225565b600354600160801b90046001600160801b03166119026112cd826118ed670de0b6b3a764000088612f3b565b6005546001600160801b031691908c5f6120ff565b600580546001600160801b0319166001600160801b039290921691909117905561192c8882612cb1565b9050611937816111d1565b600380546001600160801b03928316600160801b02921691909117905561195d836111d1565b600280546001600160801b0319166001600160801b0392909216919091179055611986826121ea565b600480546001600160801b0319166001600160801b03929092169190911790556119af876111d1565b600280546010906119d1908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1a906112cd906001600160801b0316848461223e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6157611a61612f7f565b6040519080825280601f01601f191660200182016040528015611a8b576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aab578692505b828152825f602083013e90999098509650505050505050565b5f610e30826004610c46565b5f825f190484118302158202611ae4575f80fd5b5091020490565b5f80611af785856117d2565b9050611b02816122a0565b9450845f03611b14575f91505061118b565b849150611b276040840160208501612bb7565b15611b5657611b4f85611b3d6020860186612b8f565b611b4a6040870187612bd2565b6122ef565b9150611b79565b611b7985611b676020860186612b8f565b611b746040870187612bd2565b6123e2565b509392505050565b5f61118b8383670de0b6b3a764000061241c565b6003545f908190611baf906001600160801b031684612199565b9050611bdb7f000000000000000000000000000000000000000000000000000000000000000082612d0b565b6002546001600160801b03161115611345576002547f000000000000000000000000000000000000000000000000000000000000000090611c269083906001600160801b0316612cb1565b61118b9190612cb1565b611c38612a6a565b5f80611c4384611f31565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c7d9190612ee7565b6040805180830381865af4158015611c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbb9190612ef6565b9350905082611ccf57505f91506101129050565b5f611cf5611cf08461016001518561014001516117d290919063ffffffff16565b6115e9565b611d15611cf0856101200151866101000151611b8190919063ffffffff16565b611d1f9190612d5e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e779190612f93565b935093509350935080611e9257505f98975050505050505050565b868414611ec357611ea2846111d1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef457611ed3836121ea565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2257611f04826111d1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f39612ab4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612031911661243f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120639290041661243f565b905292915050565b5f8061207784846124b3565b90925090508061208957612089612225565b5092915050565b5f815f036120a75750670de0b6b3a7640000610e30565b825f036120b557505f610e30565b5f6120bf836115e9565b90505f6120d36120ce866115e9565b6124ee565b90508181026120ea670de0b6b3a764000082612fd1565b90506120f581612713565b9695505050505050565b5f825f0361210e5750846111c8565b81156121605761213f6121218487612d0b565b61212b85876117d2565b612135888a6117d2565b61179a9190612d0b565b90505f61214c8588611337565b90508082101561215a578091505b506111c8565b82850361216e57505f6111c8565b6120f561217b8487612cb1565b6121858587611b81565b61218f888a6117d2565b61179a9190612cb1565b5f61118b83670de0b6b3a76400008461241c565b5f61118b83670de0b6b3a764000084611ad0565b5f60016001607f1b038211156111fa5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612207575060016001607f1b0382135b156111fa5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224a845f6128a5565b612254845f6128a5565b61225e9190612d5e565b90505f811315612279576122728186612d0b565b9450612297565b5f8112156122975761228a81612ecd565b6122949086612cb1565b94505b50929392505050565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611137565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612350575f80fd5b505af1158015612362573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146123b2576040519150601f19603f3d011682016040523d82523d5f602084013e6123b7565b606091505b50509050806123d9576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6124166001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866128ba565b50505050565b5f825f190484118302158202612430575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612452610478565b61245c9190612f3b565b905080831161246b575f612475565b6124758184612cb1565b915061118b6124ac670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f3b565b83906121ad565b5f805f836124c0866115e9565b6124ca9190612d5e565b90505f8112156124e0575f8092509250506124e7565b9150600190505b9250929050565b5f80821361250f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125929084901c6115e9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361272c57505f919050565b680755bf798b4a1bf1e58212612755576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115e9565b5f8183136128b3578161118b565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261290c908490612911565b505050565b5f6129256001600160a01b03841683612977565b905080515f141580156129495750808060200190518101906129479190612ffd565b155b1561290c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061118b83835f845f80856001600160a01b0316848660405161299b9190613018565b5f6040518083038185875af1925050503d805f81146129d5576040519150601f19603f3d011682016040523d82523d5f602084013e6129da565b606091505b50915091506120f58683836060826129fa576129f582612a41565b61118b565b8151158015612a1157506001600160a01b0384163b155b15612a3a57604051639996b31560e01b81526001600160a01b038516600482015260240161296e565b508061118b565b805115612a515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612a7e612ab4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b1b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b3f575f80fd5b840160608187031215612b50575f80fd5b809150509250925092565b5f8060408385031215612b6c575f80fd5b50508035926020909101359150565b6001600160a01b038116811461045e575f80fd5b5f60208284031215612b9f575f80fd5b813561118b81612b7b565b801515811461045e575f80fd5b5f60208284031215612bc7575f80fd5b813561118b81612baa565b5f808335601e19843603018112612be7575f80fd5b83018035915067ffffffffffffffff821115612c01575f80fd5b6020019150368190038213156124e7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c6a60a083018486612c15565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c9857612c98612c76565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e3057610e30612c9d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cfd60e083018486612c15565b9a9950505050505050505050565b80820180821115610e3057610e30612c9d565b6001600160701b0381811683821601908082111561208957612089612c9d565b6001600160801b0381811683821601908082111561208957612089612c9d565b8181035f83128015838313168383128216171561208957612089612c9d565b5f60208284031215612d8d575f80fd5b815161118b81612b7b565b6001600160801b0382811682821603908082111561208957612089612c9d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c9d565b505f0390565b6101808101610e308284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612baa565b809150509250929050565b5f60208284031215612f34575f80fd5b5051919050565b8082028115828204841417610e3057610e30612c9d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e3057610e30612c9d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612fa6575f80fd5b8451935060208501519250604085015191506060850151612fc681612baa565b939692955090935050565b5f82612fdf57612fdf612c76565b600160ff1b82145f1984141615612ff857612ff8612c9d565b500590565b5f6020828403121561300d575f80fd5b815161118b81612baa565b5f82515f5b81811015613037576020818601810151858301520161301d565b505f92019182525091905056fea2646970667358221220c16c759df72c05ed1ec85de39eaa73d89abddbbf590a5fbbced3e5b55130147864736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts deleted file mode 100644 index 411837533..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const RETHTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=RETHTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts.map deleted file mode 100644 index 2fc5a61ac..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RETHTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/RETHTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Ikt5B,KAAK,MAAM,EAAE;;;;CAI9v5B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.js deleted file mode 100644 index 6e79480ed..000000000 --- a/packages/hyperdrive-artifacts/dist/RETHTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const RETHTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506139528061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b61347a806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b506040516200347a3803806200347a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161307a620004005f395f50505f50505f6109fb01525f50505f81816102c80152611fc601525f81816118260152818161188901528181611bb601528181611bf201528181611de30152611fa001525f81816105b90152611f7a01525f61140801525f61155d01525f8181610776015261153101525f50505f81816105da0152611fec01525f81816106b4015261248801525f818161024b0152818161047f015281816104f60152818161056a01528181610635015261066d01525f8181604601528181611104015281816122b80152818161230701526123ef01525f505061307a5ff3fe608060405260043610610036575f3560e01c8063074a6de91461008a578063414f826d146100c2578063cbc13434146100e1575f80fd5b3661008657336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610084576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b348015610095575f80fd5b506100a96100a4366004612b09565b610100565b6040805192835260208301919091520160405180910390f35b3480156100cd575f80fd5b506100846100dc366004612b5b565b61011a565b3480156100ec575f80fd5b506100a96100fb366004612b09565b610128565b5f8061010d858585610135565b915091505b935093915050565b61012482826101f7565b5050565b5f8061010d8585856102b3565b5f8061013f610401565b61014883610429565b5f610151610461565b905061016861015e610478565b82600460016104a3565b506101763387838888610b07565b90935091506101886020850185612b8f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101c660408b0160208c01612bb7565b6101d360408c018c612bd2565b6040516101e596959493929190612c3d565b60405180910390a35061011260015f55565b6101ff610401565b5f610208610461565b5f848152600860205260409020600101549091506001600160801b03161561023b576102348183610c46565b50506102aa565b5f610244610478565b90506102707f000000000000000000000000000000000000000000000000000000000000000085612c8a565b15158061027c57508381105b1561029a5760405163ecd29e8160e01b815260040160405180910390fd5b6102a68483855f6104a3565b5050505b61012460015f55565b5f806102bd610401565b6102c683610429565b7f00000000000000000000000000000000000000000000000000000000000000008510156103075760405163211ddda360e11b815260040160405180910390fd5b5f610310610461565b905061031d61015e610478565b506103295f3388610e36565b610344600360f81b61033e6020870187612b8f565b88610f0d565b5f61035e6103556020870187612b8f565b88848989610b07565b909450905061036d8188612cb1565b92505f61037983610faa565b5090506103896020870187612b8f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103c760408d0160208e01612bb7565b8a888e80604001906103d99190612bd2565b6040516103ed989796959493929190612cc4565b60405180910390a350505061011260015f55565b60025f540361042357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104376020830183612b8f565b6001600160a01b03160361045e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610473670de0b6b3a76400006110ec565b905090565b5f610473427f0000000000000000000000000000000000000000000000000000000000000000611176565b5f84815260086020526040812060018101546001600160801b03161515806104ca57504286115b156104e357600101546001600160801b03169050610aff565b5f805f6104ee610478565b90505f61051b7f00000000000000000000000000000000000000000000000000000000000000008b612d0b565b90505b8181101561058f575f818152600860205260409020600101546001600160801b03168015610567575f828152600860205260409020549094506001600160801b0316925061058f565b507f00000000000000000000000000000000000000000000000000000000000000000161051e565b835f03610601578893506105fe6105a4611192565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b2565b92505b5061060b836111d1565b6001850180546001600160801b0319166001600160801b039290921691909117905561066161065a7f00000000000000000000000000000000000000000000000000000000000000008b612cb1565b8a846111fe565b61069f896106996106927f000000000000000000000000000000000000000000000000000000000000000083612d0b565b4290611337565b846111fe565b6106a88861134b565b505f90506008816106d97f00000000000000000000000000000000000000000000000000000000000000008d612cb1565b815260208101919091526040015f908120600101546001600160801b0316915061070460028c6114e8565b5f818152600b60205260408120549192508c8c831561084557600192505f8061073086898d865f61151c565b915091508060095f8282546107459190612d0b565b909155506107609050865f8461075a816115e9565b88611612565b61076a8183612d0b565b915061079a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611789565b91506107ae6107a983856117d2565b6117e6565b600680546002906107cf9084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107fc826111d1565b6006805460109061081e908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6108516001846114e8565b5f818152600b6020526040902054909150801561095c57600194505f8061087c838b8f88600161151c565b915091508060095f8282546108919190612d0b565b909155506108ac9050835f846108a6816115e9565b8a61180f565b6108b68183612cb1565b91506108c56107a983876117d2565b600680546002906108e69084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610913826111d1565b60068054601090610935908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156109955761098761096e876115e9565b610977836115e9565b6109819190612d5e565b5f6119ff565b8e6109928482610c46565b50505b5f61099f84610faa565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a799190612d7d565b90506001600160a01b03811615610aed57610aea5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a3e565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610b1285611ac4565b505060075485906001600160801b031680821115610b3757806001600160801b031691505b815f03610b4a575f809250925050610c3c565b610b59600360f81b8984610e36565b6007545f90610b7e9084906001600160801b03600160801b9091048116908516611ad0565b9050610b89836111d1565b610b939083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610bbc816111d1565b60078054601090610bde908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610c0d818887611aeb565b9350610c198684611b81565b841015610c395760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c90916001600160801b031690612cb1565b9050805f03610ca3576001915050610e30565b5f610cad85611b95565b9050805f03610cc157600192505050610e30565b5f80610cce838589611c30565b9150915080610ce3575f945050505050610e30565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d1e929190612e36565b6040805180830381865af4158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c9190612eab565b91509150610d7a610d6c826115e9565b610d7590612ecd565b611d9d565b925082610d8f575f9650505050505050610e30565b610d98826111d1565b600780545f90610db29084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ddf816111d1565b60078054601090610e01908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e7857604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610eba908490612cb1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f3e908490612d0b565b90915550505f838152600b602052604081208054839290610f60908490612d0b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610f00565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fd187611f31565b6040518263ffffffff1660e01b8152600401610fed9190612ee7565b6040805180830381865af4158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190612ef6565b915091508061104057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916110a591612d0b565b6110af9190612cb1565b9050805f036110c557505f958695509350505050565b5f8087116110d3575f6110de565b6110de848884611ad0565b976001975095505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611152573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190612f24565b5f6111818284612c8a565b61118b9084612cb1565b9392505050565b6002546004545f91610473916001600160801b0390911690600f0b61206b565b5f6111c8826111c2858888611ad0565b90612090565b95945050505050565b5f6001600160801b038211156111fa57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036112295750505050565b5f848152600860205260408120546001600160801b03169081900361128157611251836111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112fe565b6112d26112cd670de0b6b3a764000061129a8886612cb1565b6112a49190612f3b565b85670de0b6b3a76400006112b8878a612cb1565b6112c29190612f3b565b8592919060016120ff565b6111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611307846111d1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611345578261118b565b50919050565b6006545f90819061136d908490600160801b90046001600160801b03166117d2565b6006546201000090046001600160701b031692509050818111156114e3575f6113968383612cb1565b90506113a56112cd8286612199565b600680546010906113c7908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113ff85836121ad90919063ffffffff16565b90505f61142c827f00000000000000000000000000000000000000000000000000000000000000006117d2565b90508060095f82825461143f9190612d0b565b9091555061144f90508183612cb1565b915061145a826111d1565b600280545f906114749084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a1826121c1565b600480545f906114b5908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115115760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152887856121ad565b91505f611555837f00000000000000000000000000000000000000000000000000000000000000006117d2565b9050611581817f00000000000000000000000000000000000000000000000000000000000000006117d2565b915083156115a4576115938282612cb1565b61159d9084612cb1565b92506115bb565b6115ae8282612cb1565b6115b89084612d0b565b92505b868610156115de576115ce838789611ad0565b92506115db828789611ad0565b91505b509550959350505050565b5f6001600160ff1b038211156111fa5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165a6112cd8261163e670de0b6b3a764000086612f3b565b600554600160801b90046001600160801b031691908a5f6120ff565b600580546001600160801b03928316600160801b029216919091179055611680866111d1565b61168a9082612d98565b600480546001600160801b03928316600160801b0292169190911790556116b0846111d1565b600280545f906116ca9084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116f7836121ea565b600480545f9061170b908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173b856111d1565b6002805460109061175d908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a08461179a8a888a611ad0565b906121ad565b90506117ad888486611ad0565b6117b79082612d0b565b9050868111156117c75786810391505b509695505050505050565b5f61118b8383670de0b6b3a7640000611ad0565b5f6001600160701b038211156111fa5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185157507f000000000000000000000000000000000000000000000000000000000000000061184f8583612cb1565b105b1561185e5761185e612225565b6004549084900390600f0b6118738482612d5e565b90508361187f866115e9565b1380156118b457507f00000000000000000000000000000000000000000000000000000000000000006118b2838361206b565b105b156118c1576118c1612225565b600354600160801b90046001600160801b03166119026112cd826118ed670de0b6b3a764000088612f3b565b6005546001600160801b031691908c5f6120ff565b600580546001600160801b0319166001600160801b039290921691909117905561192c8882612cb1565b9050611937816111d1565b600380546001600160801b03928316600160801b02921691909117905561195d836111d1565b600280546001600160801b0319166001600160801b0392909216919091179055611986826121ea565b600480546001600160801b0319166001600160801b03929092169190911790556119af876111d1565b600280546010906119d1908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1a906112cd906001600160801b0316848461223e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6157611a61612f7f565b6040519080825280601f01601f191660200182016040528015611a8b576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aab578692505b828152825f602083013e90999098509650505050505050565b5f610e30826004610c46565b5f825f190484118302158202611ae4575f80fd5b5091020490565b5f80611af785856117d2565b9050611b02816122a0565b9450845f03611b14575f91505061118b565b849150611b276040840160208501612bb7565b15611b5657611b4f85611b3d6020860186612b8f565b611b4a6040870187612bd2565b6122ef565b9150611b79565b611b7985611b676020860186612b8f565b611b746040870187612bd2565b6123e2565b509392505050565b5f61118b8383670de0b6b3a764000061241c565b6003545f908190611baf906001600160801b031684612199565b9050611bdb7f000000000000000000000000000000000000000000000000000000000000000082612d0b565b6002546001600160801b03161115611345576002547f000000000000000000000000000000000000000000000000000000000000000090611c269083906001600160801b0316612cb1565b61118b9190612cb1565b611c38612a6a565b5f80611c4384611f31565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c7d9190612ee7565b6040805180830381865af4158015611c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbb9190612ef6565b9350905082611ccf57505f91506101129050565b5f611cf5611cf08461016001518561014001516117d290919063ffffffff16565b6115e9565b611d15611cf0856101200151866101000151611b8190919063ffffffff16565b611d1f9190612d5e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e779190612f93565b935093509350935080611e9257505f98975050505050505050565b868414611ec357611ea2846111d1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef457611ed3836121ea565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2257611f04826111d1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f39612ab4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612031911661243f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120639290041661243f565b905292915050565b5f8061207784846124b3565b90925090508061208957612089612225565b5092915050565b5f815f036120a75750670de0b6b3a7640000610e30565b825f036120b557505f610e30565b5f6120bf836115e9565b90505f6120d36120ce866115e9565b6124ee565b90508181026120ea670de0b6b3a764000082612fd1565b90506120f581612713565b9695505050505050565b5f825f0361210e5750846111c8565b81156121605761213f6121218487612d0b565b61212b85876117d2565b612135888a6117d2565b61179a9190612d0b565b90505f61214c8588611337565b90508082101561215a578091505b506111c8565b82850361216e57505f6111c8565b6120f561217b8487612cb1565b6121858587611b81565b61218f888a6117d2565b61179a9190612cb1565b5f61118b83670de0b6b3a76400008461241c565b5f61118b83670de0b6b3a764000084611ad0565b5f60016001607f1b038211156111fa5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612207575060016001607f1b0382135b156111fa5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224a845f6128a5565b612254845f6128a5565b61225e9190612d5e565b90505f811315612279576122728186612d0b565b9450612297565b5f8112156122975761228a81612ecd565b6122949086612cb1565b94505b50929392505050565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611137565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612350575f80fd5b505af1158015612362573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146123b2576040519150601f19603f3d011682016040523d82523d5f602084013e6123b7565b606091505b50509050806123d9576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6124166001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866128ba565b50505050565b5f825f190484118302158202612430575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612452610478565b61245c9190612f3b565b905080831161246b575f612475565b6124758184612cb1565b915061118b6124ac670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f3b565b83906121ad565b5f805f836124c0866115e9565b6124ca9190612d5e565b90505f8112156124e0575f8092509250506124e7565b9150600190505b9250929050565b5f80821361250f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125929084901c6115e9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361272c57505f919050565b680755bf798b4a1bf1e58212612755576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115e9565b5f8183136128b3578161118b565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261290c908490612911565b505050565b5f6129256001600160a01b03841683612977565b905080515f141580156129495750808060200190518101906129479190612ffd565b155b1561290c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061118b83835f845f80856001600160a01b0316848660405161299b9190613018565b5f6040518083038185875af1925050503d805f81146129d5576040519150601f19603f3d011682016040523d82523d5f602084013e6129da565b606091505b50915091506120f58683836060826129fa576129f582612a41565b61118b565b8151158015612a1157506001600160a01b0384163b155b15612a3a57604051639996b31560e01b81526001600160a01b038516600482015260240161296e565b508061118b565b805115612a515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612a7e612ab4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b1b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b3f575f80fd5b840160608187031215612b50575f80fd5b809150509250925092565b5f8060408385031215612b6c575f80fd5b50508035926020909101359150565b6001600160a01b038116811461045e575f80fd5b5f60208284031215612b9f575f80fd5b813561118b81612b7b565b801515811461045e575f80fd5b5f60208284031215612bc7575f80fd5b813561118b81612baa565b5f808335601e19843603018112612be7575f80fd5b83018035915067ffffffffffffffff821115612c01575f80fd5b6020019150368190038213156124e7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c6a60a083018486612c15565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c9857612c98612c76565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e3057610e30612c9d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cfd60e083018486612c15565b9a9950505050505050505050565b80820180821115610e3057610e30612c9d565b6001600160701b0381811683821601908082111561208957612089612c9d565b6001600160801b0381811683821601908082111561208957612089612c9d565b8181035f83128015838313168383128216171561208957612089612c9d565b5f60208284031215612d8d575f80fd5b815161118b81612b7b565b6001600160801b0382811682821603908082111561208957612089612c9d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c9d565b505f0390565b6101808101610e308284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612baa565b809150509250929050565b5f60208284031215612f34575f80fd5b5051919050565b8082028115828204841417610e3057610e30612c9d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e3057610e30612c9d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612fa6575f80fd5b8451935060208501519250604085015191506060850151612fc681612baa565b939692955090935050565b5f82612fdf57612fdf612c76565b600160ff1b82145f1984141615612ff857612ff8612c9d565b500590565b5f6020828403121561300d575f80fd5b815161118b81612baa565b5f82515f5b81811015613037576020818601810151858301520161301d565b505f92019182525091905056fea2646970667358221220c16c759df72c05ed1ec85de39eaa73d89abddbbf590a5fbbced3e5b55130147864736f6c63430008160033a2646970667358221220ca1a74f1f7335b326c92123b52b9d97cd6eb018d015fbaedf6a7a9c1ebac5f3b64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts b/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts deleted file mode 100644 index 8ceab2951..000000000 --- a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export declare const ReentrancyGuard: { - abi: readonly [{ - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ReentrancyGuard.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts.map b/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts.map deleted file mode 100644 index 4cca8d2e4..000000000 --- a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ReentrancyGuard.d.ts","sourceRoot":"","sources":["../src/ReentrancyGuard.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;cAQR,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.js b/packages/hyperdrive-artifacts/dist/ReentrancyGuard.js deleted file mode 100644 index 54127fdc2..000000000 --- a/packages/hyperdrive-artifacts/dist/ReentrancyGuard.js +++ /dev/null @@ -1,11 +0,0 @@ -export const ReentrancyGuard = { - abi: [ - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts b/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts deleted file mode 100644 index 3c7b6bd9b..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -export declare const ReserveConfiguration: { - abi: readonly [{ - readonly type: "function"; - readonly name: "DEBT_CEILING_DECIMALS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MAX_RESERVES_COUNT"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint16"; - readonly internalType: "uint16"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "DEBT_CEILING_DECIMALS()": "280d5de9"; - readonly "MAX_RESERVES_COUNT()": "31b561ba"; - }; -}; -//# sourceMappingURL=ReserveConfiguration.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts.map b/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts.map deleted file mode 100644 index 477890f95..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ReserveConfiguration.d.ts","sourceRoot":"","sources":["../src/ReserveConfiguration.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;cA6B2a,KAAK,MAAM,EAAE;;;;;CAKxd,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.js b/packages/hyperdrive-artifacts/dist/ReserveConfiguration.js deleted file mode 100644 index a6eaef9d2..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveConfiguration.js +++ /dev/null @@ -1,35 +0,0 @@ -export const ReserveConfiguration = { - abi: [ - { - "type": "function", - "name": "DEBT_CEILING_DECIMALS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_RESERVES_COUNT", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint16", - "internalType": "uint16" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a9610033600b8282823980515f1a607314602757634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063280d5de914604057806331b561ba14605a575b5f80fd5b6047600281565b6040519081526020015b60405180910390f35b6061608081565b60405161ffff9091168152602001605156fea2646970667358221220185f218523f10c6fc06eb406e7f6b85117d140bb33652bc3edf7f783969ccb1b64736f6c63430008160033', - methodIdentifiers: { - "DEBT_CEILING_DECIMALS()": "280d5de9", - "MAX_RESERVES_COUNT()": "31b561ba" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts b/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts deleted file mode 100644 index f82f15adb..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -export declare const ReserveLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ReserveLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts.map deleted file mode 100644 index a76e44264..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ReserveLogic.d.ts","sourceRoot":"","sources":["../src/ReserveLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8CyQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ReserveLogic.js b/packages/hyperdrive-artifacts/dist/ReserveLogic.js deleted file mode 100644 index 7fde53a7b..000000000 --- a/packages/hyperdrive-artifacts/dist/ReserveLogic.js +++ /dev/null @@ -1,49 +0,0 @@ -export const ReserveLogic = { - abi: [ - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220649567c74e7f8112bbcfcd979bfe83753bd705e5a883f230badb8f081c5b6a9064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts deleted file mode 100644 index a6eee0e13..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const RsETHLineaBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=RsETHLineaBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts.map deleted file mode 100644 index 4b0da9476..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaBase.d.ts","sourceRoot":"","sources":["../src/RsETHLineaBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBP,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.js b/packages/hyperdrive-artifacts/dist/RsETHLineaBase.js deleted file mode 100644 index 4abc998b4..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const RsETHLineaBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts deleted file mode 100644 index 54a0b02d3..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const RsETHLineaConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=RsETHLineaConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts.map deleted file mode 100644 index ee604ff86..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaConversions.d.ts","sourceRoot":"","sources":["../src/RsETHLineaConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;cAEgQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.js b/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.js deleted file mode 100644 index 87cf3d558..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const RsETHLineaConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220d29e0c3ca18233368d5ffd8ab77f47ad4a5dc623e1e210a7ebe1b9088fe58bcf64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts deleted file mode 100644 index f5efc8999..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts +++ /dev/null @@ -1,1326 +0,0 @@ -export declare const RsETHLineaHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=RsETHLineaHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts.map deleted file mode 100644 index 221f7652f..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaHyperdrive.d.ts","sourceRoot":"","sources":["../src/RsETHLineaHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsmD+nX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5qX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.js b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.js deleted file mode 100644 index 0e34d80d2..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdrive.js +++ /dev/null @@ -1,1670 +0,0 @@ -export const RsETHLineaHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212205abe366cc56bebffd4c522dc46f2a5b27893d7f96167978fca65751069a84ccb64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 0499df95b..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,159 +0,0 @@ -export declare const RsETHLineaHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index c40708b53..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmMyye,KAAK,MAAM,EAAE;;;;;CAKl2e,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.js deleted file mode 100644 index e566e5752..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveCoreDeployer.js +++ /dev/null @@ -1,201 +0,0 @@ -export const RsETHLineaHyperdriveCoreDeployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b50604051611ea1380380611ea183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e186100895f395f81816042015260c60152611e185ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c80637df91ba8146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003ad565b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000f39062000137565b6200010799989796959493929190620005c5565b8190604051809103905ff590508015801562000125573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611746806200069d83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000180576200018062000145565b60405290565b5f82601f83011262000196575f80fd5b813567ffffffffffffffff80821115620001b457620001b462000145565b604051601f8301601f19908116603f01168101908282118183101715620001df57620001df62000145565b81604052838152866020858801011115620001f8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b03811681146200022e575f80fd5b919050565b5f6080828403121562000244575f80fd5b6040516080810181811067ffffffffffffffff821117156200026a576200026a62000145565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002ad575f80fd5b620002b762000159565b9050620002c48262000217565b8152620002d46020830162000217565b6020820152620002e76040830162000217565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035281840162000217565b908201526101806200036683820162000217565b908201526101a06200037a83820162000217565b908201526101c06200038e83820162000217565b908201526101e0620003a38484830162000233565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003c8575f80fd5b8a3567ffffffffffffffff80821115620003e0575f80fd5b620003ee8e838f0162000186565b9b50620003ff8e60208f016200029b565b9a50620004106102808e0162000217565b99506102a08d013591508082111562000427575f80fd5b50620004368d828e0162000186565b975050620004486102c08c0162000217565b9550620004596102e08c0162000217565b94506200046a6103008c0162000217565b93506200047b6103208c0162000217565b92506200048c6103408c0162000217565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004cd60208401826001600160a01b03169052565b506040810151620004e960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055c828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fb576020828e0101516103808386010152602082019150620005d7565b61038091505f82828601015281601f19601f8301168501019250505062000626602083018b620004a5565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012956fe61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212205abe366cc56bebffd4c522dc46f2a5b27893d7f96167978fca65751069a84ccb64736f6c63430008160033a2646970667358221220931d98306704a1e83b3426a1adb697012979d85037caeef55f9f9302ec10258d64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 0c1c0b5a0..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,611 +0,0 @@ -export declare const RsETHLineaHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "rsETHPool()": "7df91ba8"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=RsETHLineaHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 0626f76f8..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/RsETHLineaHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAovBg7nB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBh/nB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.js deleted file mode 100644 index 521bfc7d0..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,778 +0,0 @@ -export const RsETHLineaHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b50604051620027e8380380620027e88339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516101605161238d6200045b5f395f81816102a40152818161070c01528181610ed901528181611281015261150b01525f81816102ef0152610dbc01525f81816103550152610c8901525f81816103bb0152610b5601525f81816103220152610a2301525f8181610388015261081a01525f818161047e015261113601525f818161042c01528181610585015281816107430152818161084a01528181610a5301528181610b8601528181610cb901528181610dec01528181610f0a0152611167015261238d5ff3fe608060405260043610610105575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a01551461041b578063c6e6f5921461044e578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063ab71905f14610377578063b6cb1118146103aa578063b88fed9f146103dd578063c1510618146103fc575f80fd5b806354fd4d50116100d857806354fd4d50146102645780637df91ba814610293578063966ecd1c146102de578063a085fa3014610311578063aa8cd6c414610344575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc70146101475780633740401714610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611a1f565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a610155366004611b57565b610579565b60405190815260200161012a565b348015610173575f80fd5b50610257610182366004611c15565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611c2c565b34801561026f575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b34801561029e575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b3480156102e9575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b34801561031c575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b5061015a6103f7366004611c15565b610706565b348015610407575f80fd5b506102c6610416366004611e00565b610737565b348015610426575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b348015610459575f80fd5b5061015a610468366004611c15565b610ed3565b348015610478575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b506102c66104ba366004611e69565b610efe565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602781526020016123316027913981565b5f80546104fa90611f03565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611f03565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611271565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611f3b565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611f8a565b92505f6106898234611fa1565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6107317f0000000000000000000000000000000000000000000000000000000000000000836114e8565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461078157604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610931578054156107b657604051633be1b34d60e11b815260040160405180910390fd5b6107c086866114ff565b5f6107cb8787611656565b90505f876040516020016107df9190611fc0565b6040516020818303038152906040528051906020012090505f878051906020012090505f61080c8a61166f565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610886929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108bb94939291906121f3565b6020604051808303815f875af11580156108d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb9190612238565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061095d5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161096f9190611fc0565b60405160208183030381529060405280519060200120146109a35760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109cd57604051631a3272d160e31b815260040160405180910390fd5b6109d787876114ff565b5f6109e18861166f565b6002840154608082015290506001869003610b215760058301546001600160a01b031615610a215760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a8893929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610abd94939291906121f3565b6020604051808303815f875af1158015610ad9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afd9190612238565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c545760068301546001600160a01b031615610b545760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bbb93929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bf094939291906121f3565b6020604051808303815f875af1158015610c0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c309190612238565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610d875760078301546001600160a01b031615610c875760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cee93929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d2394939291906121f3565b6020604051808303815f875af1158015610d3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d639190612238565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610eba5760088301546001600160a01b031615610dba5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e2193929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e5694939291906121f3565b6020604051808303815f875af1158015610e72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e969190612238565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f6107317f00000000000000000000000000000000000000000000000000000000000000008361173d565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f4857604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610ff057604051632c95caeb60e01b815260040160405180910390fd5b805161100f5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611034575060a08101516001600160a01b0316155b8061104a575060c08101516001600160a01b0316155b80611060575060e08101516001600160a01b0316155b8061107757506101008101516001600160a01b0316155b156110955760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110a8908790602001611fc0565b60405160208183030381529060405280519060200120146110dc5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461110757604051631a3272d160e31b815260040160405180910390fd5b61111185856114ff565b5f61111b8661166f565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111bd929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111f89a99989796959493929190612274565b6020604051808303815f875af1158015611214573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112389190612238565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f8160200151801561130157505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ff9190611f8a565b115b1561131f5760405163350b944160e11b815260040160405180910390fd5b816020015115611351578234101561134a5760405163044044a560e21b815260040160405180910390fd5b50816114e0565b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561138e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b29190612238565b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018790529192505f918316906323b872dd906064016020604051808303815f875af1158015611409573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142d91906122f6565b90508061144d576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0388811660048301526024820187905283169063095ea7b3906044016020604051808303815f875af1158015611499573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114bd91906122f6565b9050806114dd576040516340b27c2160e11b815260040160405180910390fd5b50505b949350505050565b5f806114f384611754565b90506114e083826117b5565b61150982826117c9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e129200f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611565573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115899190612238565b6001600160a01b031682602001516001600160a01b0316146115be5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146115fc57604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c6800014611627576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611652576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611668670de0b6b3a7640000610706565b9392505050565b611677611908565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f8061174884611754565b90506114e083826118dd565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611791573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107319190611f8a565b5f6116688383670de0b6b3a76400006118ed565b6103e8826080015110156117f0576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361181557604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061183f57508161010001518260e0015161183c9190612311565b15155b1561185d5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118895750670de0b6b3a7640000826101c0015160200151115b806118a45750670de0b6b3a7640000826101c0015160400151115b806118bf5750670de0b6b3a7640000826101c0015160600151115b15611652576040516322f72cc360e11b815260040160405180910390fd5b5f61166883670de0b6b3a7640000845b5f825f190484118302158202611901575f80fd5b5091020490565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016119d760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b81811015611a00576020818501810151868301820152016119e4565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61166860208301846119dc565b6001600160a01b0381168114611a45575f80fd5b50565b8035611a5381611a31565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611a8f57611a8f611a58565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611a8f57611a8f611a58565b8015158114611a45575f80fd5b5f67ffffffffffffffff80841115611ae057611ae0611a58565b604051601f8501601f19908116603f01168101908282118183101715611b0857611b08611a58565b81604052809350858152868686011115611b20575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b48575f80fd5b61166883833560208501611ac6565b5f805f805f60a08688031215611b6b575f80fd5b853594506020860135611b7d81611a31565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ba7575f80fd5b908701906060828a031215611bba575f80fd5b611bc2611a6c565b8235611bcd81611a31565b81526020830135611bdd81611ab9565b6020820152604083013582811115611bf3575f80fd5b611bff8b828601611b39565b6040830152508093505050509295509295909350565b5f60208284031215611c25575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611cb9575f80fd5b6040516080810181811067ffffffffffffffff82111715611cdc57611cdc611a58565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d1e575f80fd5b611d26611a95565b9050611d3182611a48565b8152611d3f60208301611a48565b6020820152611d5060408301611a48565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611dad818401611a48565b90820152610160611dbf838201611a48565b90820152610180611dd1838201611a48565b908201526101a0611de3838201611a48565b908201526101c0611df684848301611ca9565b9082015292915050565b5f805f805f6102c08688031215611e15575f80fd5b85359450611e268760208801611d0d565b935061026086013567ffffffffffffffff811115611e42575f80fd5b611e4e88828901611b39565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611e7e575f80fd5b85359450602086013567ffffffffffffffff80821115611e9c575f80fd5b818801915088601f830112611eaf575f80fd5b611ebe89833560208501611ac6565b9550611ecd8960408a01611d0d565b9450610280880135915080821115611ee3575f80fd5b50611ef088828901611b39565b959894975092956102a001359392505050565b600181811c90821680611f1757607f821691505b602082108103611f3557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611f8060c08401826119dc565b9695505050505050565b5f60208284031215611f9a575f80fd5b5051919050565b8181038181111561073157634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611fec60208401826001600160a01b03169052565b50604083015161200760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161206d828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611ca1565b80516001600160a01b0316825260208101516120fd60208401826001600160a01b03169052565b50604081015161211860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161218a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061220183886120d6565b6001600160a01b0386166102608401526102808301819052612225818401866119dc565b915050826102a083015295945050505050565b5f60208284031215612248575f80fd5b815161166881611a31565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122878184018e6119dc565b9050612296602084018d6120d6565b6001600160a01b038b81166102808501528382036102a08501526122ba828c6119dc565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612306575f80fd5b815161166881611ab9565b5f8261232b57634e487b7160e01b5f52601260045260245ffd5b50069056fe52734554484c696e6561487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212208629029789b2afd2eb796238d831aed8a8a0062a8a2ad26cb5e401bdb323118a64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "rsETHPool()": "7df91ba8", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts deleted file mode 100644 index baeb097bf..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts +++ /dev/null @@ -1,1546 +0,0 @@ -export declare const RsETHLineaTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "rsETHPool()": "7df91ba8"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts.map deleted file mode 100644 index f3ac7ed65..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget0.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAw3Dwm9B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Clp9B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.js deleted file mode 100644 index 7e9a93ab9..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0.js +++ /dev/null @@ -1,1955 +0,0 @@ -export const RsETHLineaTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003d3938038062003d398339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138dc6200045d5f395f8181610b710152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138dc5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637df91ba8146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612db8565b610650565b6102736102d9366004612e8e565b61066c565b6102736102ec366004612f1d565b610682565b6103046102ff366004612ceb565b610695565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f62565b6106fe565b604051908152602001610257565b61035f610743565b60405160ff9091168152602001610257565b61034961037f366004612fa1565b61075a565b610349610792565b61034961039a366004612fcf565b6107b0565b6103b26103ad366004612d75565b6107ba565b6040519015158152602001610257565b61024a6103d0366004612ceb565b6107d9565b6102736103e3366004613006565b6107e7565b61024a610835565b6103f861086a565b604051610257919061304d565b6102736104133660046130ee565b5050565b6102a0610b63565b61034961042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610349610494366004612ceb565b611148565b6103496104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61034961126c565b6103496104ea366004612ceb565b611285565b6103496104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103b2610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f76040518060400160405280601481526020017352734554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b61066189898989898989898961197f565b505050505050505050565b61067a868686868686611b71565b505050505050565b61068f8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073c910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261078c910161058a565b92915050565b5f6105f761079e611ddf565b60405160200161058a91815260200190565b5f61078c82611e6c565b5f61059e6107c7836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836107f18161227c565b6001600160a01b0316336001600160a01b03161461082257604051632aab8bd360e01b815260040160405180910390fd5b61082e85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b6108d4604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108dd6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109479190613564565b6109519190613577565b90505f8215610a605773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61097d856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a50919061358a565b509050610a5d8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3057610b2b8486612555565b610b32565b5f5b81526003546001600160801b0316602091820152604051919250610b5c9161058a9184910161304d565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e61079e83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e61079e83612594565b5f61059e61079e6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b61067a8686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161078c910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61073c8383670de0b6b3a764000061286a565b5f61073c83670de0b6b3a76400008461286a565b5f61078c7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f61078c7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b61078c91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061073c565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061073c612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061082e576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c919061366c565b606061073c83835f612af9565b5f612aef82846137d8565b61073c9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b39919061388b565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61073c565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061073c565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61073c6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561073c81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561073c81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561073c575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561078c5761078c613550565b8181038181111561078c5761078c613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161073c81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b808202811582820484141761078c5761078c613550565b5f60208284031215613880575f80fd5b815161073c81612d90565b5f825161389c818460208701612d02565b919091019291505056fea26469706673582212203f26185ce2a2ae99886b30a4afa47c44b1713944633f8767753e1366e383b5f764736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "rsETHPool()": "7df91ba8", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts deleted file mode 100644 index 90b77aba2..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const RsETHLineaTarget0Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts.map deleted file mode 100644 index ad54567e2..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK08iC,KAAK,MAAM,EAAE;;;;;CAK5/iC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.js deleted file mode 100644 index 79ee5d0db..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget0Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const RsETHLineaTarget0Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516142ee3803806142ee83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142656100895f395f8181603d015260b801526142655ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613d39806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003d3938038062003d398339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138dc6200045d5f395f8181610b710152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138dc5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637df91ba8146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612db8565b610650565b6102736102d9366004612e8e565b61066c565b6102736102ec366004612f1d565b610682565b6103046102ff366004612ceb565b610695565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f62565b6106fe565b604051908152602001610257565b61035f610743565b60405160ff9091168152602001610257565b61034961037f366004612fa1565b61075a565b610349610792565b61034961039a366004612fcf565b6107b0565b6103b26103ad366004612d75565b6107ba565b6040519015158152602001610257565b61024a6103d0366004612ceb565b6107d9565b6102736103e3366004613006565b6107e7565b61024a610835565b6103f861086a565b604051610257919061304d565b6102736104133660046130ee565b5050565b6102a0610b63565b61034961042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610349610494366004612ceb565b611148565b6103496104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61034961126c565b6103496104ea366004612ceb565b611285565b6103496104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103b2610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f76040518060400160405280601481526020017352734554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b61066189898989898989898961197f565b505050505050505050565b61067a868686868686611b71565b505050505050565b61068f8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073c910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261078c910161058a565b92915050565b5f6105f761079e611ddf565b60405160200161058a91815260200190565b5f61078c82611e6c565b5f61059e6107c7836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836107f18161227c565b6001600160a01b0316336001600160a01b03161461082257604051632aab8bd360e01b815260040160405180910390fd5b61082e85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b6108d4604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108dd6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109479190613564565b6109519190613577565b90505f8215610a605773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61097d856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a50919061358a565b509050610a5d8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3057610b2b8486612555565b610b32565b5f5b81526003546001600160801b0316602091820152604051919250610b5c9161058a9184910161304d565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e61079e83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e61079e83612594565b5f61059e61079e6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b61067a8686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161078c910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61073c8383670de0b6b3a764000061286a565b5f61073c83670de0b6b3a76400008461286a565b5f61078c7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f61078c7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b61078c91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061073c565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061073c612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061082e576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c919061366c565b606061073c83835f612af9565b5f612aef82846137d8565b61073c9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b39919061388b565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61073c565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061073c565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61073c6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561073c81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561073c81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561073c575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561078c5761078c613550565b8181038181111561078c5761078c613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161073c81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b808202811582820484141761078c5761078c613550565b5f60208284031215613880575f80fd5b815161073c81612d90565b5f825161389c818460208701612d02565b919091019291505056fea26469706673582212203f26185ce2a2ae99886b30a4afa47c44b1713944633f8767753e1366e383b5f764736f6c63430008160033a264697066735822122026f6f158d8dbfde5ab58a801ce75222d3db81c3e319750b0f595fd532070f97e64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts deleted file mode 100644 index 16188bd74..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts +++ /dev/null @@ -1,774 +0,0 @@ -export declare const RsETHLineaTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts.map deleted file mode 100644 index d9edf02a5..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget1.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA27Bg39B,KAAK,MAAM,EAAE;;;;;CAK159B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.js deleted file mode 100644 index a4b27f8eb..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1.js +++ /dev/null @@ -1,961 +0,0 @@ -export const RsETHLineaTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003dbd38038062003dbd8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613927620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139275ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b91906138da565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a6565b5f602082840312156138ea575f80fd5b505191905056fea264697066735822122045c9d0d47d6d3a6b92855918e8981bd5fa184aa3e5754a9291119c4d9122026564736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts deleted file mode 100644 index cf209fac0..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const RsETHLineaTarget1Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts.map deleted file mode 100644 index a5c7d85c3..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKktjC,KAAK,MAAM,EAAE;;;;;CAKpwjC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.js deleted file mode 100644 index 081e3201d..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget1Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const RsETHLineaTarget1Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161437238038061437283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142e96100895f395f8181603d015260b801526142e95ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613dbd806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003dbd38038062003dbd8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613927620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139275ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b91906138da565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a6565b5f602082840312156138ea575f80fd5b505191905056fea264697066735822122045c9d0d47d6d3a6b92855918e8981bd5fa184aa3e5754a9291119c4d9122026564736f6c63430008160033a2646970667358221220bc37488b4cb8f211ba36f1f207b451553bd5f3dec3824cd377ec21a24d29efe464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts deleted file mode 100644 index a350c7560..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts +++ /dev/null @@ -1,786 +0,0 @@ -export declare const RsETHLineaTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts.map deleted file mode 100644 index 4a6d9d796..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget2.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA08Bk5/B,KAAK,MAAM,EAAE;;;;;CAK57/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.js deleted file mode 100644 index 9123d7bd3..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2.js +++ /dev/null @@ -1,976 +0,0 @@ -export const RsETHLineaTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003fce38038062003fce8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b15620004b95f395f8181611439015281816116470152818161170e01526127b801525f50505f50505f610bf701525f50505f818160f1015281816102f20152612d3901525f81816114b501528181611d7b01528181611dde01528181612565015281816129290152818161296501528181612b560152612d1301525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612ced01525f6119a501525f8181611ac601528181612656015281816126ce0152612e5101525f818161097201528181610e06015281816113e401528181611a9a01526126a201525f8181610de5015281816126220152612e0d01525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d5f01525f81816101cb01528181610386015281816108b0015261334d01525f8181610676015281816106f20152818161076601528181610831015261086901525f6117a001525f5050613b155ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135c5565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135c5565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b59190613633565b909155506101c69050844283610ee2565b6101f07f000000000000000000000000000000000000000000000000000000000000000085613633565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e61365a565b8b6111e6565b8d8a8a898e85610236602083018361365a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613682565b8961028160408a018a61369d565b6040516102949796959493929190613708565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f000000000000000000000000000000000000000000000000000000000000000084613633565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da908490613633565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b610408906001613633565b9350505f61041784898d61145e565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b8961148f565b5f6104606002886111b2565b90508c61047a82610474602084018461365a565b856111e6565b858b868461048b602086018661365a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613682565b6104dc896104d68a8d613748565b90610652565b8d6104ea60408e018e61369d565b6040516104fe98979695949392919061375b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610557602083018361365a565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613682565b156105b9576105af856105aa604087018761369d565b611642565b90935090506105d1565b50346105d1856105cc604087018761369d565b61177c565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611838565b90505b92915050565b5f61069a427f0000000000000000000000000000000000000000000000000000000000000000611853565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b613633565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a0611868565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b92505b50610807836118a7565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b613748565b8a84610ee2565b61089b8961089561088e7f000000000000000000000000000000000000000000000000000000000000000083613633565b42906118d4565b84610ee2565b6108a4886118e8565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d613748565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611a85565b915091508060095f8282546109419190613633565b9091555061095c9050865f8461095681611b52565b88611b7b565b6109668183613633565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf2565b91506109aa6109a58385610652565b611d3b565b600680546002906109cb9084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118a7565b60068054601090610a1a908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611a85565b915091508060095f828254610a8d9190613633565b90915550610aa89050835f84610aa281611b52565b8a611d64565b610ab28183613748565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118a7565b60068054601090610b31908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b52565b610b7383611b52565b610b7d91906137e2565b5f611f54565b8e610b8e8482611f93565b50505b5f610b9b84612182565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613801565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122c4565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d10611868565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061234a565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612375565b6123d9565b15610e3c57610e3c61241a565b610e4887858885612433565b91965094509250670de0b6b3a7640000610eca610e658784613633565b600254610e83908890600160801b90046001600160801b0316613748565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b1115610ed857610ed861241a565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e8886613748565b610f88919061381c565b85670de0b6b3a7640000610f9c878a613748565b610fa6919061381c565b85929190600161247b565b6118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118a7565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a76400008661381c565b6005546001600160801b0316919088600161247b565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118a7565b600280545f906110a09084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118a7565b600280546010906110ef908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118a7565b61112690826137c2565b600380546001600160801b03808416600160801b02911617905590505f61114c8361251f565b905061116a8161115b87611b52565b6111659084613853565b611f54565b6111738461255f565b61117f5761117f61241a565b5f611189856125be565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611217908490613633565b90915550505f838152600b602052604081208054839290611239908490613633565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa611868565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125ca565b93508761131c85896125ea565b111561132a5761132a61241a565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b93506113a48a670de0b6b3a7640000868c6125fe565b509193509091506113b790508183613748565b6113c19087613748565b95508861140e816114088d6113d6868c613748565b8d6113e1878261270a565b877f000000000000000000000000000000000000000000000000000000000000000061271f565b906125ea565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461273f565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612762565b5f61146f6040830160208401613682565b1561147b575082611488565b6114858484612779565b90505b9392505050565b6002546001600160801b0316838110156114ab576114ab61241a565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114e3908390600f0b61278d565b10156114f1576114f161241a565b60045461153b90610fb190600160801b90046001600160801b031661151e670de0b6b3a76400008661381c565b600554600160801b90046001600160801b0316919089600161247b565b600580546001600160801b03928316600160801b029216919091179055611561816118a7565b600280546001600160801b0319166001600160801b039290921691909117905561158a856118a7565b600280546010906115ac908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115d9856118a7565b600480546010906115fb908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116298361251f565b905061116a8161163888611b52565b61116590846137e2565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c5919061387a565b11156116e45760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611751575f80fd5b505af1158015611763573d5f803e3d5ffd5b5050505050611771856127b2565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613891565b905080611832576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261184c575f80fd5b5091020490565b5f61185e82846138c0565b6106669084613748565b6002546004545f9161069a916001600160801b0390911690600f0b61278d565b5f61189e82611898858888611838565b906127dd565b95945050505050565b5f6001600160801b038211156118d057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118e25782610666565b50919050565b6006545f90819061190a908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611a80575f6119338383613748565b9050611942610fb1828661141f565b60068054601090611964908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61199c858361277990919063ffffffff16565b90505f6119c9827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f8282546119dc9190613633565b909155506119ec90508183613748565b91506119f7826118a7565b600280545f90611a119084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a3e82612842565b600480545f90611a52908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a918785612779565b91505f611abe837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611aea817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b0d57611afc8282613748565b611b069084613748565b9250611b24565b611b178282613748565b611b219084613633565b92505b86861015611b4757611b37838789611838565b9250611b44828789611838565b91505b509550959350505050565b5f6001600160ff1b038211156118d05760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bc3610fb182611ba7670de0b6b3a76400008661381c565b600554600160801b90046001600160801b031691908a5f61247b565b600580546001600160801b03928316600160801b029216919091179055611be9866118a7565b611bf39082613833565b600480546001600160801b03928316600160801b029216919091179055611c19846118a7565b600280545f90611c339084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c608361286b565b600480545f90611c74908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ca4856118a7565b60028054601090611cc6908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0984611d038a888a611838565b90612779565b9050611d16888486611838565b611d209082613633565b905086811115611d305786810391505b509695505050505050565b5f6001600160701b038211156118d05760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611da657507f0000000000000000000000000000000000000000000000000000000000000000611da48583613748565b105b15611db357611db361241a565b6004549084900390600f0b611dc884826137e2565b905083611dd486611b52565b138015611e0957507f0000000000000000000000000000000000000000000000000000000000000000611e07838361278d565b105b15611e1657611e1661241a565b600354600160801b90046001600160801b0316611e57610fb182611e42670de0b6b3a76400008861381c565b6005546001600160801b031691908c5f61247b565b600580546001600160801b0319166001600160801b0392909216919091179055611e818882613748565b9050611e8c816118a7565b600380546001600160801b03928316600160801b029216919091179055611eb2836118a7565b600280546001600160801b0319166001600160801b0392909216919091179055611edb8261286b565b600480546001600160801b0319166001600160801b0392909216919091179055611f04876118a7565b60028054601090611f26908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6f90610fb1906001600160801b031684846128a6565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fdd916001600160801b031690613748565b9050805f03611ff0576001915050610669565b5f611ffa85612908565b9050805f0361200e57600192505050610669565b5f8061201b8385896129a3565b9150915080612030575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161206b92919061397e565b6040805180830381865af4158015612085573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a991906139f3565b915091506120c76120b982611b52565b6120c290613a15565b612b10565b9250826120dc575f9650505050505050610669565b6120e5826118a7565b600780545f906120ff9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061212c816118a7565b6007805460109061214e908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a987612ca4565b6040518263ffffffff1660e01b81526004016121c59190613a2f565b6040805180830381865af41580156121df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122039190613a3e565b915091508061221857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227d91613633565b6122879190613748565b9050805f0361229d57505f958695509350505050565b5f8087116122ab575f6122b6565b6122b6848884611838565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122e7576122e7613a6c565b6040519080825280601f01601f191660200182016040528015612311576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612331578692505b828152825f602083013e90999098509650505050505050565b5f61236a87878761236388670de0b6b3a7640000613748565b8787612dde565b979650505050505050565b5f6114856123b561238e84670de0b6b3a7640000613748565b611408670de0b6b3a76400006123a4818a61141f565b6123ae9190613748565b87906125ea565b6123c790670de0b6b3a7640000613633565b611d0384670de0b6b3a7640000613748565b5f8061240f856123e7611868565b6123f19190613633565b600254610e83908790600160801b90046001600160801b0316613748565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612443898789612e00565b90925090506124528289613748565b97505f61246082888a611838565b905061246c818b613748565b9a989950979650505050505050565b5f825f0361248a57508461189e565b81156124dc576124bb61249d8487613633565b6124a78587610652565b6124b1888a610652565b611d039190613633565b90505f6124c885886118d4565b9050808210156124d6578091505b5061189e565b8285036124ea57505f61189e565b6125156124f78487613748565b61250185876125ea565b61250b888a610652565b611d039190613748565b9695505050505050565b5f612544600b5f6125316002866111b2565b81526020019081526020015f2054611b52565b612555600b5f6125316001876111b2565b61066991906137e2565b5f61258a7f0000000000000000000000000000000000000000000000000000000000000000836125ea565b6003546125a091906001600160801b0316613633565b6002546125b6906001600160801b031684610652565b101592915050565b5f610669826004611f93565b5f61236a8787876125e388670de0b6b3a7640000613748565b8787612e7f565b5f6106668383670de0b6b3a764000061273f565b5f80808061264e87866126478b6114086126208c670de0b6b3a7640000613748565b7f0000000000000000000000000000000000000000000000000000000000000000906125ea565b919061273f565b935061267a847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f61269a61269289670de0b6b3a7640000613748565b8a908861273f565b90506126c6817f00000000000000000000000000000000000000000000000000000000000000006125ea565b93506126f2847f0000000000000000000000000000000000000000000000000000000000000000610652565b6126fc9084613633565b915050945094509450949050565b5f8183116127185781610666565b5090919050565b5f80612736846127308a888a61273f565b9061141f565b9050611d168884865b5f825f190484118302158202612753575f80fd5b50910281810615159190040190565b5f8061276d84612e8f565b9050610cfb8382610652565b5f61066683670de0b6b3a764000084611838565b5f806127998484612ef0565b9092509050806127ab576127ab61241a565b5092915050565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612f28565b5f815f036127f45750670de0b6b3a7640000610669565b825f0361280257505f610669565b5f61280c83611b52565b90505f61282061281b86611b52565b612f3f565b9050818102612837670de0b6b3a764000082613a80565b905061251581613164565b5f60016001607f1b038211156118d05760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612888575060016001607f1b0382135b156118d05760405163a5353be560e01b815260040160405180910390fd5b5f806128b2845f6132f6565b6128bc845f6132f6565b6128c691906137e2565b90505f8113156128e1576128da8186613633565b94506128ff565b5f8112156128ff576128f281613a15565b6128fc9086613748565b94505b50929392505050565b6003545f908190612922906001600160801b03168461141f565b905061294e7f000000000000000000000000000000000000000000000000000000000000000082613633565b6002546001600160801b031611156118e2576002547f0000000000000000000000000000000000000000000000000000000000000000906129999083906001600160801b0316613748565b6114889190613748565b6129ab613526565b5f806129b684612ca4565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129f09190613a2f565b6040805180830381865af4158015612a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2e9190613a3e565b9350905082612a4257505f91506117749050565b5f612a68612a6384610160015185610140015161065290919063ffffffff16565b611b52565b612a88612a638561012001518661010001516125ea90919063ffffffff16565b612a9291906137e2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bea9190613aac565b935093509350935080612c0557505f98975050505050505050565b868414612c3657612c15846118a7565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c6757612c468361286b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c9557612c77826118a7565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cac613570565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612da49116613304565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dd692900416613304565b905292915050565b5f80612dee888888888888613378565b909250905080611d3057611d3061241a565b5f80612e498561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e3f818c61141f565b6114089190613748565b9150612e75827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612dee88888888888861343c565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ecc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061387a565b5f805f83612efd86611b52565b612f0791906137e2565b90505f811215612f1d575f80925092505061064b565b946001945092505050565b5f80612f3384612e8f565b9050610cfb8382612779565b5f808213612f605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fe39084901c611b52565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317d57505f919050565b680755bf798b4a1bf1e582126131a6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061251574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b52565b5f8183136127185781610666565b5f80670de0b6b3a764000061331761066f565b613321919061381c565b9050808311613330575f61333a565b61333a8184613748565b9150611488613371670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061381c565b8390612779565b5f805f61338889898888886134f8565b90506133a28661189861339b8a8d613633565b8790610652565b98506133af858a86611838565b9850888110156133c5575f809250925050613431565b888103670de0b6b3a764000081106133fa576133f36133ec670de0b6b3a76400008961141f565b82906127dd565b9050613412565b61340f6133ec670de0b6b3a764000089612779565b90505b80891015613427575f80935093505050613431565b8803925060019150505b965096945050505050565b5f805f61344c89898888886134f8565b905061345c86611898898b613633565b975087811015613472575f809250925050613431565b87810361348081868861273f565b9050670de0b6b3a764000081106134ad576134a66133ec670de0b6b3a76400008961141f565b90506134c5565b6134c26133ec670de0b6b3a764000089612779565b90505b6134cf818661141f565b9050808a10156134e6575f80935093505050613431565b90980398600198509650505050505050565b5f61350385856127dd565b61351c61351486611898868b6125ea565b85908561273f565b6125159190613633565b60405180610120016040528061353a613570565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156135d8575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613603575f80fd5b850160608188031215613614575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106695761066961361f565b6001600160a01b038116811461057e575f80fd5b5f6020828403121561366a575f80fd5b813561148881613646565b801515811461057e575f80fd5b5f60208284031215613692575f80fd5b813561148881613675565b5f808335601e198436030181126136b2575f80fd5b83018035915067ffffffffffffffff8211156136cc575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61373b60c0830184866136e0565b9998505050505050505050565b818103818111156106695761066961361f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379460e0830184866136e0565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127ab576127ab61361f565b6001600160801b038181168382160190808211156127ab576127ab61361f565b8181035f8312801583831316838312821617156127ab576127ab61361f565b5f60208284031215613811575f80fd5b815161148881613646565b80820281158282048414176106695761066961361f565b6001600160801b038281168282160390808211156127ab576127ab61361f565b8082018281125f8312801582168215821617156138725761387261361f565b505092915050565b5f6020828403121561388a575f80fd5b5051919050565b5f602082840312156138a1575f80fd5b815161148881613675565b634e487b7160e01b5f52601260045260245ffd5b5f826138ce576138ce6138ac565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106695761066961361f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613991828551613900565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a04575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2957613a2961361f565b505f0390565b61018081016106698284613900565b5f8060408385031215613a4f575f80fd5b825191506020830151613a6181613675565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a8e57613a8e6138ac565b600160ff1b82145f1984141615613aa757613aa761361f565b500590565b5f805f8060808587031215613abf575f80fd5b84519350602085015192506040850151915060608501516136148161367556fea264697066735822122074fe8f43e81dfbc897490f4ff8ade25a151ae10fac46dde0dc5d1542d22aa4c564736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts deleted file mode 100644 index 3c6bf044c..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const RsETHLineaTarget2Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts.map deleted file mode 100644 index b1a83363f..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKovlC,KAAK,MAAM,EAAE;;;;;CAKtylC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.js deleted file mode 100644 index d9174a496..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget2Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const RsETHLineaTarget2Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161458338038061458383398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144fa6100895f395f8181603d015260b801526144fa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613fce806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003fce38038062003fce8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b15620004b95f395f8181611439015281816116470152818161170e01526127b801525f50505f50505f610bf701525f50505f818160f1015281816102f20152612d3901525f81816114b501528181611d7b01528181611dde01528181612565015281816129290152818161296501528181612b560152612d1301525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612ced01525f6119a501525f8181611ac601528181612656015281816126ce0152612e5101525f818161097201528181610e06015281816113e401528181611a9a01526126a201525f8181610de5015281816126220152612e0d01525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d5f01525f81816101cb01528181610386015281816108b0015261334d01525f8181610676015281816106f20152818161076601528181610831015261086901525f6117a001525f5050613b155ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135c5565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135c5565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b59190613633565b909155506101c69050844283610ee2565b6101f07f000000000000000000000000000000000000000000000000000000000000000085613633565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e61365a565b8b6111e6565b8d8a8a898e85610236602083018361365a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613682565b8961028160408a018a61369d565b6040516102949796959493929190613708565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f000000000000000000000000000000000000000000000000000000000000000084613633565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da908490613633565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b610408906001613633565b9350505f61041784898d61145e565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b8961148f565b5f6104606002886111b2565b90508c61047a82610474602084018461365a565b856111e6565b858b868461048b602086018661365a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613682565b6104dc896104d68a8d613748565b90610652565b8d6104ea60408e018e61369d565b6040516104fe98979695949392919061375b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610557602083018361365a565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613682565b156105b9576105af856105aa604087018761369d565b611642565b90935090506105d1565b50346105d1856105cc604087018761369d565b61177c565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611838565b90505b92915050565b5f61069a427f0000000000000000000000000000000000000000000000000000000000000000611853565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b613633565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a0611868565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b92505b50610807836118a7565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b613748565b8a84610ee2565b61089b8961089561088e7f000000000000000000000000000000000000000000000000000000000000000083613633565b42906118d4565b84610ee2565b6108a4886118e8565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d613748565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611a85565b915091508060095f8282546109419190613633565b9091555061095c9050865f8461095681611b52565b88611b7b565b6109668183613633565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf2565b91506109aa6109a58385610652565b611d3b565b600680546002906109cb9084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118a7565b60068054601090610a1a908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611a85565b915091508060095f828254610a8d9190613633565b90915550610aa89050835f84610aa281611b52565b8a611d64565b610ab28183613748565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118a7565b60068054601090610b31908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b52565b610b7383611b52565b610b7d91906137e2565b5f611f54565b8e610b8e8482611f93565b50505b5f610b9b84612182565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613801565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122c4565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d10611868565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061234a565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612375565b6123d9565b15610e3c57610e3c61241a565b610e4887858885612433565b91965094509250670de0b6b3a7640000610eca610e658784613633565b600254610e83908890600160801b90046001600160801b0316613748565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b1115610ed857610ed861241a565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e8886613748565b610f88919061381c565b85670de0b6b3a7640000610f9c878a613748565b610fa6919061381c565b85929190600161247b565b6118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118a7565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a76400008661381c565b6005546001600160801b0316919088600161247b565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118a7565b600280545f906110a09084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118a7565b600280546010906110ef908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118a7565b61112690826137c2565b600380546001600160801b03808416600160801b02911617905590505f61114c8361251f565b905061116a8161115b87611b52565b6111659084613853565b611f54565b6111738461255f565b61117f5761117f61241a565b5f611189856125be565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611217908490613633565b90915550505f838152600b602052604081208054839290611239908490613633565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa611868565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125ca565b93508761131c85896125ea565b111561132a5761132a61241a565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b93506113a48a670de0b6b3a7640000868c6125fe565b509193509091506113b790508183613748565b6113c19087613748565b95508861140e816114088d6113d6868c613748565b8d6113e1878261270a565b877f000000000000000000000000000000000000000000000000000000000000000061271f565b906125ea565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461273f565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612762565b5f61146f6040830160208401613682565b1561147b575082611488565b6114858484612779565b90505b9392505050565b6002546001600160801b0316838110156114ab576114ab61241a565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114e3908390600f0b61278d565b10156114f1576114f161241a565b60045461153b90610fb190600160801b90046001600160801b031661151e670de0b6b3a76400008661381c565b600554600160801b90046001600160801b0316919089600161247b565b600580546001600160801b03928316600160801b029216919091179055611561816118a7565b600280546001600160801b0319166001600160801b039290921691909117905561158a856118a7565b600280546010906115ac908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115d9856118a7565b600480546010906115fb908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116298361251f565b905061116a8161163888611b52565b61116590846137e2565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c5919061387a565b11156116e45760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611751575f80fd5b505af1158015611763573d5f803e3d5ffd5b5050505050611771856127b2565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613891565b905080611832576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261184c575f80fd5b5091020490565b5f61185e82846138c0565b6106669084613748565b6002546004545f9161069a916001600160801b0390911690600f0b61278d565b5f61189e82611898858888611838565b906127dd565b95945050505050565b5f6001600160801b038211156118d057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118e25782610666565b50919050565b6006545f90819061190a908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611a80575f6119338383613748565b9050611942610fb1828661141f565b60068054601090611964908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61199c858361277990919063ffffffff16565b90505f6119c9827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f8282546119dc9190613633565b909155506119ec90508183613748565b91506119f7826118a7565b600280545f90611a119084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a3e82612842565b600480545f90611a52908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a918785612779565b91505f611abe837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611aea817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b0d57611afc8282613748565b611b069084613748565b9250611b24565b611b178282613748565b611b219084613633565b92505b86861015611b4757611b37838789611838565b9250611b44828789611838565b91505b509550959350505050565b5f6001600160ff1b038211156118d05760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bc3610fb182611ba7670de0b6b3a76400008661381c565b600554600160801b90046001600160801b031691908a5f61247b565b600580546001600160801b03928316600160801b029216919091179055611be9866118a7565b611bf39082613833565b600480546001600160801b03928316600160801b029216919091179055611c19846118a7565b600280545f90611c339084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c608361286b565b600480545f90611c74908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ca4856118a7565b60028054601090611cc6908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0984611d038a888a611838565b90612779565b9050611d16888486611838565b611d209082613633565b905086811115611d305786810391505b509695505050505050565b5f6001600160701b038211156118d05760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611da657507f0000000000000000000000000000000000000000000000000000000000000000611da48583613748565b105b15611db357611db361241a565b6004549084900390600f0b611dc884826137e2565b905083611dd486611b52565b138015611e0957507f0000000000000000000000000000000000000000000000000000000000000000611e07838361278d565b105b15611e1657611e1661241a565b600354600160801b90046001600160801b0316611e57610fb182611e42670de0b6b3a76400008861381c565b6005546001600160801b031691908c5f61247b565b600580546001600160801b0319166001600160801b0392909216919091179055611e818882613748565b9050611e8c816118a7565b600380546001600160801b03928316600160801b029216919091179055611eb2836118a7565b600280546001600160801b0319166001600160801b0392909216919091179055611edb8261286b565b600480546001600160801b0319166001600160801b0392909216919091179055611f04876118a7565b60028054601090611f26908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6f90610fb1906001600160801b031684846128a6565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fdd916001600160801b031690613748565b9050805f03611ff0576001915050610669565b5f611ffa85612908565b9050805f0361200e57600192505050610669565b5f8061201b8385896129a3565b9150915080612030575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161206b92919061397e565b6040805180830381865af4158015612085573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a991906139f3565b915091506120c76120b982611b52565b6120c290613a15565b612b10565b9250826120dc575f9650505050505050610669565b6120e5826118a7565b600780545f906120ff9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061212c816118a7565b6007805460109061214e908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a987612ca4565b6040518263ffffffff1660e01b81526004016121c59190613a2f565b6040805180830381865af41580156121df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122039190613a3e565b915091508061221857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227d91613633565b6122879190613748565b9050805f0361229d57505f958695509350505050565b5f8087116122ab575f6122b6565b6122b6848884611838565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122e7576122e7613a6c565b6040519080825280601f01601f191660200182016040528015612311576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612331578692505b828152825f602083013e90999098509650505050505050565b5f61236a87878761236388670de0b6b3a7640000613748565b8787612dde565b979650505050505050565b5f6114856123b561238e84670de0b6b3a7640000613748565b611408670de0b6b3a76400006123a4818a61141f565b6123ae9190613748565b87906125ea565b6123c790670de0b6b3a7640000613633565b611d0384670de0b6b3a7640000613748565b5f8061240f856123e7611868565b6123f19190613633565b600254610e83908790600160801b90046001600160801b0316613748565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612443898789612e00565b90925090506124528289613748565b97505f61246082888a611838565b905061246c818b613748565b9a989950979650505050505050565b5f825f0361248a57508461189e565b81156124dc576124bb61249d8487613633565b6124a78587610652565b6124b1888a610652565b611d039190613633565b90505f6124c885886118d4565b9050808210156124d6578091505b5061189e565b8285036124ea57505f61189e565b6125156124f78487613748565b61250185876125ea565b61250b888a610652565b611d039190613748565b9695505050505050565b5f612544600b5f6125316002866111b2565b81526020019081526020015f2054611b52565b612555600b5f6125316001876111b2565b61066991906137e2565b5f61258a7f0000000000000000000000000000000000000000000000000000000000000000836125ea565b6003546125a091906001600160801b0316613633565b6002546125b6906001600160801b031684610652565b101592915050565b5f610669826004611f93565b5f61236a8787876125e388670de0b6b3a7640000613748565b8787612e7f565b5f6106668383670de0b6b3a764000061273f565b5f80808061264e87866126478b6114086126208c670de0b6b3a7640000613748565b7f0000000000000000000000000000000000000000000000000000000000000000906125ea565b919061273f565b935061267a847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f61269a61269289670de0b6b3a7640000613748565b8a908861273f565b90506126c6817f00000000000000000000000000000000000000000000000000000000000000006125ea565b93506126f2847f0000000000000000000000000000000000000000000000000000000000000000610652565b6126fc9084613633565b915050945094509450949050565b5f8183116127185781610666565b5090919050565b5f80612736846127308a888a61273f565b9061141f565b9050611d168884865b5f825f190484118302158202612753575f80fd5b50910281810615159190040190565b5f8061276d84612e8f565b9050610cfb8382610652565b5f61066683670de0b6b3a764000084611838565b5f806127998484612ef0565b9092509050806127ab576127ab61241a565b5092915050565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612f28565b5f815f036127f45750670de0b6b3a7640000610669565b825f0361280257505f610669565b5f61280c83611b52565b90505f61282061281b86611b52565b612f3f565b9050818102612837670de0b6b3a764000082613a80565b905061251581613164565b5f60016001607f1b038211156118d05760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612888575060016001607f1b0382135b156118d05760405163a5353be560e01b815260040160405180910390fd5b5f806128b2845f6132f6565b6128bc845f6132f6565b6128c691906137e2565b90505f8113156128e1576128da8186613633565b94506128ff565b5f8112156128ff576128f281613a15565b6128fc9086613748565b94505b50929392505050565b6003545f908190612922906001600160801b03168461141f565b905061294e7f000000000000000000000000000000000000000000000000000000000000000082613633565b6002546001600160801b031611156118e2576002547f0000000000000000000000000000000000000000000000000000000000000000906129999083906001600160801b0316613748565b6114889190613748565b6129ab613526565b5f806129b684612ca4565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129f09190613a2f565b6040805180830381865af4158015612a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2e9190613a3e565b9350905082612a4257505f91506117749050565b5f612a68612a6384610160015185610140015161065290919063ffffffff16565b611b52565b612a88612a638561012001518661010001516125ea90919063ffffffff16565b612a9291906137e2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bea9190613aac565b935093509350935080612c0557505f98975050505050505050565b868414612c3657612c15846118a7565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c6757612c468361286b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c9557612c77826118a7565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cac613570565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612da49116613304565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dd692900416613304565b905292915050565b5f80612dee888888888888613378565b909250905080611d3057611d3061241a565b5f80612e498561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e3f818c61141f565b6114089190613748565b9150612e75827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612dee88888888888861343c565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ecc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061387a565b5f805f83612efd86611b52565b612f0791906137e2565b90505f811215612f1d575f80925092505061064b565b946001945092505050565b5f80612f3384612e8f565b9050610cfb8382612779565b5f808213612f605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fe39084901c611b52565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317d57505f919050565b680755bf798b4a1bf1e582126131a6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061251574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b52565b5f8183136127185781610666565b5f80670de0b6b3a764000061331761066f565b613321919061381c565b9050808311613330575f61333a565b61333a8184613748565b9150611488613371670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061381c565b8390612779565b5f805f61338889898888886134f8565b90506133a28661189861339b8a8d613633565b8790610652565b98506133af858a86611838565b9850888110156133c5575f809250925050613431565b888103670de0b6b3a764000081106133fa576133f36133ec670de0b6b3a76400008961141f565b82906127dd565b9050613412565b61340f6133ec670de0b6b3a764000089612779565b90505b80891015613427575f80935093505050613431565b8803925060019150505b965096945050505050565b5f805f61344c89898888886134f8565b905061345c86611898898b613633565b975087811015613472575f809250925050613431565b87810361348081868861273f565b9050670de0b6b3a764000081106134ad576134a66133ec670de0b6b3a76400008961141f565b90506134c5565b6134c26133ec670de0b6b3a764000089612779565b90505b6134cf818661141f565b9050808a10156134e6575f80935093505050613431565b90980398600198509650505050505050565b5f61350385856127dd565b61351c61351486611898868b6125ea565b85908561273f565b6125159190613633565b60405180610120016040528061353a613570565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156135d8575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613603575f80fd5b850160608188031215613614575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106695761066961361f565b6001600160a01b038116811461057e575f80fd5b5f6020828403121561366a575f80fd5b813561148881613646565b801515811461057e575f80fd5b5f60208284031215613692575f80fd5b813561148881613675565b5f808335601e198436030181126136b2575f80fd5b83018035915067ffffffffffffffff8211156136cc575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61373b60c0830184866136e0565b9998505050505050505050565b818103818111156106695761066961361f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379460e0830184866136e0565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127ab576127ab61361f565b6001600160801b038181168382160190808211156127ab576127ab61361f565b8181035f8312801583831316838312821617156127ab576127ab61361f565b5f60208284031215613811575f80fd5b815161148881613646565b80820281158282048414176106695761066961361f565b6001600160801b038281168282160390808211156127ab576127ab61361f565b8082018281125f8312801582168215821617156138725761387261361f565b505092915050565b5f6020828403121561388a575f80fd5b5051919050565b5f602082840312156138a1575f80fd5b815161148881613675565b634e487b7160e01b5f52601260045260245ffd5b5f826138ce576138ce6138ac565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106695761066961361f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613991828551613900565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a04575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2957613a2961361f565b505f0390565b61018081016106698284613900565b5f8060408385031215613a4f575f80fd5b825191506020830151613a6181613675565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a8e57613a8e6138ac565b600160ff1b82145f1984141615613aa757613aa761361f565b500590565b5f805f8060808587031215613abf575f80fd5b84519350602085015192506040850151915060608501516136148161367556fea264697066735822122074fe8f43e81dfbc897490f4ff8ade25a151ae10fac46dde0dc5d1542d22aa4c564736f6c63430008160033a2646970667358221220b2b712c46de27929bf637823d3ce2a032de94c1d971a6c04c911427e6809a06964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts deleted file mode 100644 index 8385bce9c..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts +++ /dev/null @@ -1,802 +0,0 @@ -export declare const RsETHLineaTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts.map deleted file mode 100644 index 5ba48eac7..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget3.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA89B4r/B,KAAK,MAAM,EAAE;;;;;CAKtu/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.js deleted file mode 100644 index ad8c64125..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3.js +++ /dev/null @@ -1,996 +0,0 @@ -export const RsETHLineaTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f6338038062003f638339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a99620004ca5f395f8181611920015281816119e701528181612c130152612c3e01525f50505f50505f61127a01525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161212b0152818161218e01528181612a3701528181612d5b0152612d9701525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d3c01525f8181611e910152612fe601525f8181610ff50152611e6501525f612f9c01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129cd01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f611a7901525f5050613a995ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351e565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f0000000000000000000000000000000000000000000000000000000000000000896135f0565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f0000000000000000000000000000000000000000000000000000000000000000826135dd565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f0000000000000000000000000000000000000000000000000000000000000000826135f0565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b03909116906135f0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654919250906104179083906135dd565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613681565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613690565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613681565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613690565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a848361058381876135f0565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e91906136bb565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c91906135dd565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b905061075660208501856136bb565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b016136e3565b866107a160408c018c6136fe565b6040516107b49796959493929190613741565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613794565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099591906137ab565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c6136bb565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b0360208201826136bb565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b4060408701602088016136e3565b87610b4e60408901896136fe565b604051610b619796959493929190613741565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb260208301836136bb565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c3960408501602086016136e3565b15610c5e57610c5485610c4f60408701876136fe565b61191b565b9093509050610c76565b5034610c7685610c7160408701876136fe565b611a55565b610c7e611b11565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b23565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b6135f0565b8a84611b38565b610f1e89610f18610f117f0000000000000000000000000000000000000000000000000000000000000000836135dd565b4290611c71565b84611b38565b610f2788611c7f565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d6135f0565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e1c565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e50565b915091508060095f828254610fc491906135dd565b90915550610fdf9050865f84610fd981611735565b88611f1d565b610fe981836135dd565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612094565b915061102d61102883856120d7565b6120eb565b6006805460029061104e9084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e1c565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e50565b915091508060095f82825461111091906135dd565b9091555061112b9050835f8461112581611735565b8a612114565b61113581836135f0565b915061114461102883876120d7565b600680546002906111659084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b6112009190613816565b5f612304565b8e6112118482612343565b50505b5f61121e84612532565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f89190613835565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612674565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e1c565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e1c565b6113c69190613816565b92915050565b5f805f806113da8a8a6126fc565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612734565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8d7f00000000000000000000000000000000000000000000000000000000000000006127ed565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c846128a7565b509093505f9050611537848f6135dd565b90505f6115578b8b61154887611735565b611552908e613850565b6128ef565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612951565b611735565b61159583611735565b6115a261158786856120d7565b6115ac9190613816565b6115b69190613816565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612961565b6115f585670de0b6b3a76400006135f0565b906117a3565b61160361346f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612984565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612984565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129f1565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e89084906135dd565b90915550505f838152600b60205260408120805483929061180a9084906135dd565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612343565b5f818313611876578261008d565b50919050565b5f8061188884846126fc565b90925090508061189a5761189a612b85565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b9e565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561197a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061199e9190613690565b11156119bd5760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611a2a575f80fd5b505af1158015611a3c573d5f803e3d5ffd5b5050505050611a4a85612c0d565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aeb9190613877565b905080611b0b576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610bfc670de0b6b3a7640000612c38565b5f611b2e82846138a6565b61008d90846135f0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b635750505050565b5f848152600860205260408120546001600160801b031690819003611bbb57611b8b836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c38565b611c0c611c07670de0b6b3a7640000611bd488866135f0565b611bde9190613794565b85670de0b6b3a7640000611bf2878a6135f0565b611bfc9190613794565b859291906001612c63565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c41846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611ca1908490600160801b90046001600160801b03166120d7565b6006546201000090046001600160701b03169250905081811115611e17575f611cca83836135f0565b9050611cd9611c078286612cfd565b60068054601090611cfb908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d3385836117a390919063ffffffff16565b90505f611d60827f00000000000000000000000000000000000000000000000000000000000000006120d7565b90508060095f828254611d7391906135dd565b90915550611d83905081836135f0565b9150611d8e826118a1565b600280545f90611da89084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dd582612d11565b600480545f90611de9908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e455760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e5c87856117a3565b91505f611e89837f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050611eb5817f00000000000000000000000000000000000000000000000000000000000000006120d7565b91508315611ed857611ec782826135f0565b611ed190846135f0565b9250611eef565b611ee282826135f0565b611eec90846135dd565b92505b86861015611f1257611f02838789611788565b9250611f0f828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f65611c0782611f49670de0b6b3a764000086613794565b600554600160801b90046001600160801b031691908a5f612c63565b600580546001600160801b03928316600160801b029216919091179055611f8b866118a1565b611f9590826138b9565b600480546001600160801b03928316600160801b029216919091179055611fbb846118a1565b600280545f90611fd59084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612002836118ca565b600480545f90612016908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612046856118a1565b60028054601090612068908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120a5846115f58a888a611788565b90506120b2888486611788565b6120bc90826135dd565b9050868111156120cc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061215657507f000000000000000000000000000000000000000000000000000000000000000061215485836135f0565b105b1561216357612163612b85565b6004549084900390600f0b6121788482613816565b90508361218486611735565b1380156121b957507f00000000000000000000000000000000000000000000000000000000000000006121b7838361187c565b105b156121c6576121c6612b85565b600354600160801b90046001600160801b0316612207611c07826121f2670de0b6b3a764000088613794565b6005546001600160801b031691908c5f612c63565b600580546001600160801b0319166001600160801b039290921691909117905561223188826135f0565b905061223c816118a1565b600380546001600160801b03928316600160801b029216919091179055612262836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561228b826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122b4876118a1565b600280546010906122d6908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461231f90611c07906001600160801b031684846128ef565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161238d916001600160801b0316906135f0565b9050805f036123a05760019150506113c6565b5f6123aa85612d3a565b9050805f036123be576001925050506113c6565b5f806123cb838589612dd5565b91509150806123e0575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161241b929190613906565b6040805180830381865af4158015612435573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612459919061397b565b9150915061247761246982611735565b6124729061399d565b6129f1565b92508261248c575f96505050505050506113c6565b612495826118a1565b600780545f906124af9084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124dc816118a1565b600780546010906124fe908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612559876115fb565b6040518263ffffffff1660e01b81526004016125759190613681565b6040805180830381865af415801561258f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b391906139b7565b91509150806125c857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161262d916135dd565b61263791906135f0565b9050805f0361264d57505f958695509350505050565b5f80871161265b575f612666565b612666848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612697576126976139e5565b6040519080825280601f01601f1916602001820160405280156126c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126e1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361270986611735565b6127139190613816565b90505f811215612729575f809250925050610cf0565b946001945092505050565b5f805f6127448888888888612f3d565b90505f61276e670de0b6b3a764000061275d8888612cfd565b61276791906135dd565b83906117a3565b9050670de0b6b3a764000081106127a25761279b612794670de0b6b3a7640000896117a3565b8290612b9e565b90506127ba565b6127b7612794670de0b6b3a764000089612cfd565b90505b6127c481866117a3565b9050888110156127db575f809350935050506126f2565b97909703976001975095505050505050565b5f805f6127fd8989888888612f6b565b9050612817866119156128108a8d6135dd565b87906120d7565b9850612824858a86611788565b98508881101561283a575f8092509250506115c5565b888103670de0b6b3a7640000811061286857612861612794670de0b6b3a764000089612cfd565b9050612880565b61287d612794670de0b6b3a7640000896117a3565b90505b80891015612895575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128b7898789612f8f565b90925090506128c682896135f0565b97505f6128d482888a611788565b90506128e0818b6135f0565b9a989950979650505050505050565b5f806128fb845f613014565b612905845f613014565b61290f9190613816565b90505f81131561292a5761292381866135dd565b9450612948565b5f8112156129485761293b8161399d565b61294590866135f0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612975575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612997610cf7565b6129a19190613794565b90508083116129b0575f6129ba565b6129ba81846135f0565b915061008d612767670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613794565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612acb91906139f9565b935093509350935080612ae657505f98975050505050505050565b868414612b1757612af6846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b4857612b27836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b7657612b58826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bb55750670de0b6b3a76400006113c6565b825f03612bc357505f6113c6565b5f612bcd83611735565b90505f612be1612bdc86611735565b613029565b9050818102612bf8670de0b6b3a764000082613a37565b9050612c038161324e565b9695505050505050565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133e0565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133f7565b5f825f03612c72575084610075565b8115612cc457612ca3612c8584876135dd565b612c8f85876120d7565b612c99888a6120d7565b6115f591906135dd565b90505f612cb08588611c71565b905080821015612cbe578091505b50610075565b828503612cd257505f610075565b610072612cdf84876135f0565b612ce98587612951565b612cf3888a6120d7565b6115f591906135f0565b5f61008d83670de0b6b3a764000084612961565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d54906001600160801b031684612cfd565b9050612d807f0000000000000000000000000000000000000000000000000000000000000000826135dd565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612dcb9083906001600160801b03166135f0565b61008d91906135f0565b612ddd6134c4565b5f80612de8846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e229190613681565b6040805180830381865af4158015612e3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6091906139b7565b9350905082612e7457505f9150611a4d9050565b5f612e956115878461016001518561014001516120d790919063ffffffff16565b612eb561158785610120015186610100015161295190919063ffffffff16565b612ebf9190613816565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f488585612b9e565b612f61612f5986611915868b6120d7565b859085611788565b61007291906135dd565b5f612f768585612b9e565b612f61612f8786611915868b612951565b859085612961565b5f80612fde85612fd885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fce818c612cfd565b612fd891906135f0565b90612951565b915061300a827f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050935093915050565b5f818313613022578161008d565b5090919050565b5f80821361304a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130cd9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361326757505f919050565b680755bf798b4a1bf1e58212613290576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c0374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b5f806133eb8461340e565b905061137e83826117a3565b5f806134028461340e565b905061137e83826120d7565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561344b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613690565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d861346f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a08688031215613532575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613564575f80fd5b6135708882890161350e565b9150509295509295909350565b5f805f6060848603121561358f575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b3575f80fd5b6135bf8682870161350e565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c66135c9565b818103818111156113c6576113c66135c9565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613603565b5f602082840312156136a0575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f602082840312156136cb575f80fd5b813561008d816136a7565b8015158114610bd9575f80fd5b5f602082840312156136f3575f80fd5b813561008d816136d6565b5f808335601e19843603018112613713575f80fd5b83018035915067ffffffffffffffff82111561372d575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c66135c9565b5f805f606084860312156137bd575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a6135c9565b6001600160801b0381811683821601908082111561189a5761189a6135c9565b8181035f83128015838313168383128216171561189a5761189a6135c9565b5f60208284031215613845575f80fd5b815161008d816136a7565b8082018281125f83128015821682158216171561386f5761386f6135c9565b505092915050565b5f60208284031215613887575f80fd5b815161008d816136d6565b634e487b7160e01b5f52601260045260245ffd5b5f826138b4576138b4613892565b500690565b6001600160801b0382811682821603908082111561189a5761189a6135c9565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c66135c9565b5f6102a082019050613919828551613603565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561398c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139b1576139b16135c9565b505f0390565b5f80604083850312156139c8575f80fd5b8251915060208301516139da816136d6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a0c575f80fd5b8451935060208501519250604085015191506060850151613a2c816136d6565b939692955090935050565b5f82613a4557613a45613892565b600160ff1b82145f1984141615613a5e57613a5e6135c9565b50059056fea2646970667358221220f6492646ef2414bf5d4886d958f9bb3abbc92236f439b1f85f26aba9e2526dd564736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts deleted file mode 100644 index 8edbb4ef9..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const RsETHLineaTarget3Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts.map deleted file mode 100644 index 251c2135a..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqK8hlC,KAAK,MAAM,EAAE;;;;;CAKhllC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.js deleted file mode 100644 index 8c3eb0c38..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget3Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const RsETHLineaTarget3Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b5060405161451838038061451883398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161448f6100895f395f8181603d015260b8015261448f5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613f63806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003f6338038062003f638339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a99620004ca5f395f8181611920015281816119e701528181612c130152612c3e01525f50505f50505f61127a01525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161212b0152818161218e01528181612a3701528181612d5b0152612d9701525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d3c01525f8181611e910152612fe601525f8181610ff50152611e6501525f612f9c01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129cd01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f611a7901525f5050613a995ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351e565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f0000000000000000000000000000000000000000000000000000000000000000896135f0565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f0000000000000000000000000000000000000000000000000000000000000000826135dd565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f0000000000000000000000000000000000000000000000000000000000000000826135f0565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b03909116906135f0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654919250906104179083906135dd565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613681565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613690565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613681565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613690565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a848361058381876135f0565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e91906136bb565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c91906135dd565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b905061075660208501856136bb565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b016136e3565b866107a160408c018c6136fe565b6040516107b49796959493929190613741565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613794565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099591906137ab565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c6136bb565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b0360208201826136bb565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b4060408701602088016136e3565b87610b4e60408901896136fe565b604051610b619796959493929190613741565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb260208301836136bb565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c3960408501602086016136e3565b15610c5e57610c5485610c4f60408701876136fe565b61191b565b9093509050610c76565b5034610c7685610c7160408701876136fe565b611a55565b610c7e611b11565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b23565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b6135f0565b8a84611b38565b610f1e89610f18610f117f0000000000000000000000000000000000000000000000000000000000000000836135dd565b4290611c71565b84611b38565b610f2788611c7f565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d6135f0565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e1c565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e50565b915091508060095f828254610fc491906135dd565b90915550610fdf9050865f84610fd981611735565b88611f1d565b610fe981836135dd565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612094565b915061102d61102883856120d7565b6120eb565b6006805460029061104e9084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e1c565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e50565b915091508060095f82825461111091906135dd565b9091555061112b9050835f8461112581611735565b8a612114565b61113581836135f0565b915061114461102883876120d7565b600680546002906111659084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b6112009190613816565b5f612304565b8e6112118482612343565b50505b5f61121e84612532565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f89190613835565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612674565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e1c565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e1c565b6113c69190613816565b92915050565b5f805f806113da8a8a6126fc565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612734565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8d7f00000000000000000000000000000000000000000000000000000000000000006127ed565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c846128a7565b509093505f9050611537848f6135dd565b90505f6115578b8b61154887611735565b611552908e613850565b6128ef565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612951565b611735565b61159583611735565b6115a261158786856120d7565b6115ac9190613816565b6115b69190613816565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612961565b6115f585670de0b6b3a76400006135f0565b906117a3565b61160361346f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612984565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612984565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129f1565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e89084906135dd565b90915550505f838152600b60205260408120805483929061180a9084906135dd565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612343565b5f818313611876578261008d565b50919050565b5f8061188884846126fc565b90925090508061189a5761189a612b85565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b9e565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561197a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061199e9190613690565b11156119bd5760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611a2a575f80fd5b505af1158015611a3c573d5f803e3d5ffd5b5050505050611a4a85612c0d565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aeb9190613877565b905080611b0b576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610bfc670de0b6b3a7640000612c38565b5f611b2e82846138a6565b61008d90846135f0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b635750505050565b5f848152600860205260408120546001600160801b031690819003611bbb57611b8b836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c38565b611c0c611c07670de0b6b3a7640000611bd488866135f0565b611bde9190613794565b85670de0b6b3a7640000611bf2878a6135f0565b611bfc9190613794565b859291906001612c63565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c41846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611ca1908490600160801b90046001600160801b03166120d7565b6006546201000090046001600160701b03169250905081811115611e17575f611cca83836135f0565b9050611cd9611c078286612cfd565b60068054601090611cfb908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d3385836117a390919063ffffffff16565b90505f611d60827f00000000000000000000000000000000000000000000000000000000000000006120d7565b90508060095f828254611d7391906135dd565b90915550611d83905081836135f0565b9150611d8e826118a1565b600280545f90611da89084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dd582612d11565b600480545f90611de9908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e455760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e5c87856117a3565b91505f611e89837f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050611eb5817f00000000000000000000000000000000000000000000000000000000000000006120d7565b91508315611ed857611ec782826135f0565b611ed190846135f0565b9250611eef565b611ee282826135f0565b611eec90846135dd565b92505b86861015611f1257611f02838789611788565b9250611f0f828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f65611c0782611f49670de0b6b3a764000086613794565b600554600160801b90046001600160801b031691908a5f612c63565b600580546001600160801b03928316600160801b029216919091179055611f8b866118a1565b611f9590826138b9565b600480546001600160801b03928316600160801b029216919091179055611fbb846118a1565b600280545f90611fd59084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612002836118ca565b600480545f90612016908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612046856118a1565b60028054601090612068908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120a5846115f58a888a611788565b90506120b2888486611788565b6120bc90826135dd565b9050868111156120cc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061215657507f000000000000000000000000000000000000000000000000000000000000000061215485836135f0565b105b1561216357612163612b85565b6004549084900390600f0b6121788482613816565b90508361218486611735565b1380156121b957507f00000000000000000000000000000000000000000000000000000000000000006121b7838361187c565b105b156121c6576121c6612b85565b600354600160801b90046001600160801b0316612207611c07826121f2670de0b6b3a764000088613794565b6005546001600160801b031691908c5f612c63565b600580546001600160801b0319166001600160801b039290921691909117905561223188826135f0565b905061223c816118a1565b600380546001600160801b03928316600160801b029216919091179055612262836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561228b826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122b4876118a1565b600280546010906122d6908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461231f90611c07906001600160801b031684846128ef565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161238d916001600160801b0316906135f0565b9050805f036123a05760019150506113c6565b5f6123aa85612d3a565b9050805f036123be576001925050506113c6565b5f806123cb838589612dd5565b91509150806123e0575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161241b929190613906565b6040805180830381865af4158015612435573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612459919061397b565b9150915061247761246982611735565b6124729061399d565b6129f1565b92508261248c575f96505050505050506113c6565b612495826118a1565b600780545f906124af9084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124dc816118a1565b600780546010906124fe908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612559876115fb565b6040518263ffffffff1660e01b81526004016125759190613681565b6040805180830381865af415801561258f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b391906139b7565b91509150806125c857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161262d916135dd565b61263791906135f0565b9050805f0361264d57505f958695509350505050565b5f80871161265b575f612666565b612666848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612697576126976139e5565b6040519080825280601f01601f1916602001820160405280156126c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126e1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361270986611735565b6127139190613816565b90505f811215612729575f809250925050610cf0565b946001945092505050565b5f805f6127448888888888612f3d565b90505f61276e670de0b6b3a764000061275d8888612cfd565b61276791906135dd565b83906117a3565b9050670de0b6b3a764000081106127a25761279b612794670de0b6b3a7640000896117a3565b8290612b9e565b90506127ba565b6127b7612794670de0b6b3a764000089612cfd565b90505b6127c481866117a3565b9050888110156127db575f809350935050506126f2565b97909703976001975095505050505050565b5f805f6127fd8989888888612f6b565b9050612817866119156128108a8d6135dd565b87906120d7565b9850612824858a86611788565b98508881101561283a575f8092509250506115c5565b888103670de0b6b3a7640000811061286857612861612794670de0b6b3a764000089612cfd565b9050612880565b61287d612794670de0b6b3a7640000896117a3565b90505b80891015612895575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128b7898789612f8f565b90925090506128c682896135f0565b97505f6128d482888a611788565b90506128e0818b6135f0565b9a989950979650505050505050565b5f806128fb845f613014565b612905845f613014565b61290f9190613816565b90505f81131561292a5761292381866135dd565b9450612948565b5f8112156129485761293b8161399d565b61294590866135f0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612975575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612997610cf7565b6129a19190613794565b90508083116129b0575f6129ba565b6129ba81846135f0565b915061008d612767670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613794565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612acb91906139f9565b935093509350935080612ae657505f98975050505050505050565b868414612b1757612af6846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b4857612b27836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b7657612b58826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bb55750670de0b6b3a76400006113c6565b825f03612bc357505f6113c6565b5f612bcd83611735565b90505f612be1612bdc86611735565b613029565b9050818102612bf8670de0b6b3a764000082613a37565b9050612c038161324e565b9695505050505050565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133e0565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133f7565b5f825f03612c72575084610075565b8115612cc457612ca3612c8584876135dd565b612c8f85876120d7565b612c99888a6120d7565b6115f591906135dd565b90505f612cb08588611c71565b905080821015612cbe578091505b50610075565b828503612cd257505f610075565b610072612cdf84876135f0565b612ce98587612951565b612cf3888a6120d7565b6115f591906135f0565b5f61008d83670de0b6b3a764000084612961565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d54906001600160801b031684612cfd565b9050612d807f0000000000000000000000000000000000000000000000000000000000000000826135dd565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612dcb9083906001600160801b03166135f0565b61008d91906135f0565b612ddd6134c4565b5f80612de8846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e229190613681565b6040805180830381865af4158015612e3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6091906139b7565b9350905082612e7457505f9150611a4d9050565b5f612e956115878461016001518561014001516120d790919063ffffffff16565b612eb561158785610120015186610100015161295190919063ffffffff16565b612ebf9190613816565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f488585612b9e565b612f61612f5986611915868b6120d7565b859085611788565b61007291906135dd565b5f612f768585612b9e565b612f61612f8786611915868b612951565b859085612961565b5f80612fde85612fd885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fce818c612cfd565b612fd891906135f0565b90612951565b915061300a827f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050935093915050565b5f818313613022578161008d565b5090919050565b5f80821361304a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130cd9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361326757505f919050565b680755bf798b4a1bf1e58212613290576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c0374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b5f806133eb8461340e565b905061137e83826117a3565b5f806134028461340e565b905061137e83826120d7565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561344b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613690565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d861346f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a08688031215613532575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613564575f80fd5b6135708882890161350e565b9150509295509295909350565b5f805f6060848603121561358f575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b3575f80fd5b6135bf8682870161350e565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c66135c9565b818103818111156113c6576113c66135c9565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613603565b5f602082840312156136a0575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f602082840312156136cb575f80fd5b813561008d816136a7565b8015158114610bd9575f80fd5b5f602082840312156136f3575f80fd5b813561008d816136d6565b5f808335601e19843603018112613713575f80fd5b83018035915067ffffffffffffffff82111561372d575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c66135c9565b5f805f606084860312156137bd575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a6135c9565b6001600160801b0381811683821601908082111561189a5761189a6135c9565b8181035f83128015838313168383128216171561189a5761189a6135c9565b5f60208284031215613845575f80fd5b815161008d816136a7565b8082018281125f83128015821682158216171561386f5761386f6135c9565b505092915050565b5f60208284031215613887575f80fd5b815161008d816136d6565b634e487b7160e01b5f52601260045260245ffd5b5f826138b4576138b4613892565b500690565b6001600160801b0382811682821603908082111561189a5761189a6135c9565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c66135c9565b5f6102a082019050613919828551613603565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561398c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139b1576139b16135c9565b505f0390565b5f80604083850312156139c8575f80fd5b8251915060208301516139da816136d6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a0c575f80fd5b8451935060208501519250604085015191506060850151613a2c816136d6565b939692955090935050565b5f82613a4557613a45613892565b600160ff1b82145f1984141615613a5e57613a5e6135c9565b50059056fea2646970667358221220f6492646ef2414bf5d4886d958f9bb3abbc92236f439b1f85f26aba9e2526dd564736f6c63430008160033a2646970667358221220d15c9a46bb2b04686ad9ee313b1d6a9289a9684468a1286fd8da57c79066d1b064736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts deleted file mode 100644 index e5b839325..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts +++ /dev/null @@ -1,789 +0,0 @@ -export declare const RsETHLineaTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts.map deleted file mode 100644 index e06adf7b5..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget4.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA68Bs+xB,KAAK,MAAM,EAAE;;;;;;CAMhhyB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.js deleted file mode 100644 index 08fdcb6f3..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4.js +++ /dev/null @@ -1,980 +0,0 @@ -export const RsETHLineaTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620031f8380380620031f88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612de96200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612de95ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612d9c565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c381612945565b5f60208284031215612dac575f80fd5b505191905056fea2646970667358221220929fe2a5c8256aceea52af7669ccc0a89ada88f9cb3384ed4afb03ef095c282a64736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts deleted file mode 100644 index e74540772..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export declare const RsETHLineaTarget4Deployer: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_rsETHPool"; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rsETHPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IRSETHPoolV2"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - readonly "rsETHPool()": "7df91ba8"; - }; -}; -//# sourceMappingURL=RsETHLineaTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts.map deleted file mode 100644 index 17f215321..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RsETHLineaTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/RsETHLineaTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqKw03B,KAAK,MAAM,EAAE;;;;;CAK133B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.js deleted file mode 100644 index d1ba464fc..000000000 --- a/packages/hyperdrive-artifacts/dist/RsETHLineaTarget4Deployer.js +++ /dev/null @@ -1,171 +0,0 @@ -export const RsETHLineaTarget4Deployer = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_rsETHPool", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rsETHPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRSETHPoolV2" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60a060405234801561000f575f80fd5b506040516137ad3803806137ad83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516137246100895f395f8181603d015260b801526137245ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6131f8806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620031f8380380620031f88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612de96200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612de95ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612d9c565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c381612945565b5f60208284031215612dac575f80fd5b505191905056fea2646970667358221220929fe2a5c8256aceea52af7669ccc0a89ada88f9cb3384ed4afb03ef095c282a64736f6c63430008160033a26469706673582212202c295e4ec03343b5fef28aa752233531fb8a580a9281927af47b6163c4a51f3a64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", - "rsETHPool()": "7df91ba8" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/SafeCast.d.ts b/packages/hyperdrive-artifacts/dist/SafeCast.d.ts deleted file mode 100644 index 5966f7fb6..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeCast.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const SafeCast: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=SafeCast.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeCast.d.ts.map b/packages/hyperdrive-artifacts/dist/SafeCast.d.ts.map deleted file mode 100644 index 8129316af..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeCast.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SafeCast.d.ts","sourceRoot":"","sources":["../src/SafeCast.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;cAE6Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeCast.js b/packages/hyperdrive-artifacts/dist/SafeCast.js deleted file mode 100644 index 72b8a6596..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeCast.js +++ /dev/null @@ -1,5 +0,0 @@ -export const SafeCast = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212208b1a4da8253d1da0f79a8e8d8b495d2387444e5a403d56506c2d118e92a66f0c64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts b/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts deleted file mode 100644 index 077ac686a..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -export declare const SafeERC20: { - abi: readonly [{ - readonly type: "error"; - readonly name: "SafeERC20FailedDecreaseAllowance"; - readonly inputs: readonly [{ - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "currentAllowance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "requestedDecrease"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=SafeERC20.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts.map b/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts.map deleted file mode 100644 index 17c972b81..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeERC20.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SafeERC20.d.ts","sourceRoot":"","sources":["../src/SafeERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;cAmC4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeERC20.js b/packages/hyperdrive-artifacts/dist/SafeERC20.js deleted file mode 100644 index 7c145cb4b..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeERC20.js +++ /dev/null @@ -1,38 +0,0 @@ -export const SafeERC20 = { - abi: [ - { - "type": "error", - "name": "SafeERC20FailedDecreaseAllowance", - "inputs": [ - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "currentAllowance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "requestedDecrease", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ddf22d7484dfd3b9c779783c9251d0f68696014afb1a6f60115ccfa8fa3e16e764736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts b/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts deleted file mode 100644 index f4b76bd21..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const SafeTransferLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=SafeTransferLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts.map b/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts.map deleted file mode 100644 index b397ceb9f..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeTransferLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SafeTransferLib.d.ts","sourceRoot":"","sources":["../src/SafeTransferLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;cAEsQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SafeTransferLib.js b/packages/hyperdrive-artifacts/dist/SafeTransferLib.js deleted file mode 100644 index d0b9df4e7..000000000 --- a/packages/hyperdrive-artifacts/dist/SafeTransferLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const SafeTransferLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220cef0b0aa5ac5b4fc46c9cf3c1c4596251f9a8cc20915d95de1c155fd1731b5a964736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts b/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts deleted file mode 100644 index 3205e7a77..000000000 --- a/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const ScriptBase: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=ScriptBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts.map b/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts.map deleted file mode 100644 index efa7ab806..000000000 --- a/packages/hyperdrive-artifacts/dist/ScriptBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ScriptBase.d.ts","sourceRoot":"","sources":["../src/ScriptBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAEH,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ScriptBase.js b/packages/hyperdrive-artifacts/dist/ScriptBase.js deleted file mode 100644 index 85519accd..000000000 --- a/packages/hyperdrive-artifacts/dist/ScriptBase.js +++ /dev/null @@ -1,5 +0,0 @@ -export const ScriptBase = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts b/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts deleted file mode 100644 index 96d12791b..000000000 --- a/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const SharesMathLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=SharesMathLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts.map b/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts.map deleted file mode 100644 index 5d8ae69e0..000000000 --- a/packages/hyperdrive-artifacts/dist/SharesMathLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SharesMathLib.d.ts","sourceRoot":"","sources":["../src/SharesMathLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;cAEwQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SharesMathLib.js b/packages/hyperdrive-artifacts/dist/SharesMathLib.js deleted file mode 100644 index d13db87a3..000000000 --- a/packages/hyperdrive-artifacts/dist/SharesMathLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const SharesMathLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212209e65d3014dc34feda303c17d668e3f5f418c0ed1b894d727d1935370575d045864736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/SignedMath.d.ts b/packages/hyperdrive-artifacts/dist/SignedMath.d.ts deleted file mode 100644 index f85387e53..000000000 --- a/packages/hyperdrive-artifacts/dist/SignedMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const SignedMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=SignedMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SignedMath.d.ts.map b/packages/hyperdrive-artifacts/dist/SignedMath.d.ts.map deleted file mode 100644 index b30dc37ea..000000000 --- a/packages/hyperdrive-artifacts/dist/SignedMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SignedMath.d.ts","sourceRoot":"","sources":["../src/SignedMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAE2Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SignedMath.js b/packages/hyperdrive-artifacts/dist/SignedMath.js deleted file mode 100644 index 862918c68..000000000 --- a/packages/hyperdrive-artifacts/dist/SignedMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const SignedMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f3c22f65c1712287d5379b4f1b3395d8263aa4f201dcde2ccd0710b78ec4539564736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHBase.d.ts b/packages/hyperdrive-artifacts/dist/StETHBase.d.ts deleted file mode 100644 index e495182c8..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const StETHBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StETHBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHBase.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHBase.d.ts.map deleted file mode 100644 index 4950e61e5..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHBase.d.ts","sourceRoot":"","sources":["../src/StETHBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBF,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHBase.js b/packages/hyperdrive-artifacts/dist/StETHBase.js deleted file mode 100644 index 8b0ed3d8d..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const StETHBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts b/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts deleted file mode 100644 index 9a2d2e1e6..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StETHConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StETHConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts.map deleted file mode 100644 index 8d2b18918..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHConversions.d.ts","sourceRoot":"","sources":["../src/StETHConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;cAEqQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHConversions.js b/packages/hyperdrive-artifacts/dist/StETHConversions.js deleted file mode 100644 index 0f1464295..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StETHConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122049fe8f84dbd19a4135244c899716a64cb4c7ff1f05e032078ce1bcc9e4759e5f64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts deleted file mode 100644 index afb70a0a2..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts +++ /dev/null @@ -1,1322 +0,0 @@ -export declare const StETHHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=StETHHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts.map deleted file mode 100644 index 1111c7244..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHHyperdrive.d.ts","sourceRoot":"","sources":["../src/StETHHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAimD0jX,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BlmX,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.js b/packages/hyperdrive-artifacts/dist/StETHHyperdrive.js deleted file mode 100644 index 8cc25da0e..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdrive.js +++ /dev/null @@ -1,1665 +0,0 @@ -export const StETHHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122042e7f224b1c249ccfecf4f8cf6253bce8670e6c3ac8c5e95bdb1e14d5de87d4a64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 24c4f62ce..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const StETHHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=StETHHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index c52f08456..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/StETHHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K0wd,KAAK,MAAM,EAAE;;;;CAI9zd,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.js deleted file mode 100644 index 5cbc6901d..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const StETHHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50611d728061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611721806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122042e7f224b1c249ccfecf4f8cf6253bce8670e6c3ac8c5e95bdb1e14d5de87d4a64736f6c63430008160033a2646970667358221220ce500abdb26fd09504c7516bbbc5b524289c74c871bd57a6f434efa0595297be64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index c07c74f53..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,615 +0,0 @@ -export declare const StETHHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_lido"; - readonly type: "address"; - readonly internalType: "contract ILido"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "lido"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ILido"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(address,uint256)": "251f6c42"; - readonly "convertToShares(address,uint256)": "3e5541f1"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "lido()": "23509a2d"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StETHHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index a1bcd76f3..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/StETHHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyvBqkmB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBhomB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.js deleted file mode 100644 index ac39e35ed..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,783 +0,0 @@ -export const StETHHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_lido", - "type": "address", - "internalType": "contract ILido" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "lido", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ILido" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61018060405234801562000011575f80fd5b5060405162002630380380620026308339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516121dc620004545f395f8181610179015281816112950152818161132a015261148401525f818161032d0152610daa01525f81816103930152610c7701525f81816103f90152610b4401525f81816103600152610a1101525f81816103c6015261080801525f818161047e01526110f901525f818161044b01528181610585015281816107310152818161083801528181610a4101528181610b7401528181610ca701528181610dda01528181610ecd015261112a01526121dc5ff3fe608060405260043610610105575f3560e01c8063a085fa3011610092578063c151061811610062578063c15106181461041b578063c45a01551461043a578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063a085fa301461034f578063aa8cd6c414610382578063ab71905f146103b5578063b6cb1118146103e8575f80fd5b8063251f6c42116100d8578063251f6c42146101b357806337404017146101d25780633e5541f1146102ce57806354fd4d50146102ed578063966ecd1c1461031c575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc701461014757806323509a2d14610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611842565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a61015536600461197a565b610579565b60405190815260200161012a565b348015610173575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b3480156101be575f80fd5b5061015a6101cd366004611a38565b610706565b3480156101dd575f80fd5b506102c16101ec366004611a62565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611a79565b3480156102d9575f80fd5b5061015a6102e8366004611a38565b61071a565b3480156102f8575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b348015610327575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561035a575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561038d575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c0575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f3575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610426575f80fd5b5061019b610435366004611c4d565b610725565b348015610445575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610478575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b5061019b6104ba366004611cb6565b610ec1565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602281526020016121856022913981565b5f80546104fa90611d50565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611d50565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611234565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611d88565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611dd7565b92505f6106898234611dee565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f61071183836113a1565b90505b92915050565b5f610711838361140b565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076f57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361091f578054156107a457604051633be1b34d60e11b815260040160405180910390fd5b6107ae868661143a565b5f6107b98787611532565b90505f876040516020016107cd9190611e0d565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107fa8a611549565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610874929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108a99493929190612040565b6020604051808303815f875af11580156108c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e99190612085565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061094b5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161095d9190611e0d565b60405160208183030381529060405280519060200120146109915760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109bb57604051631a3272d160e31b815260040160405180910390fd5b6109c5878761143a565b5f6109cf88611549565b6002840154608082015290506001869003610b0f5760058301546001600160a01b031615610a0f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a76939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aab9493929190612040565b6020604051808303815f875af1158015610ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aeb9190612085565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c425760068301546001600160a01b031615610b425760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ba9939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bde9493929190612040565b6020604051808303815f875af1158015610bfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1e9190612085565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610d755760078301546001600160a01b031615610c755760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cdc939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d119493929190612040565b6020604051808303815f875af1158015610d2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d519190612085565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610ea85760088301546001600160a01b031615610da85760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e0f939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e449493929190612040565b6020604051808303815f875af1158015610e60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e849190612085565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f0b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610fb357604051632c95caeb60e01b815260040160405180910390fd5b8051610fd25760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610ff7575060a08101516001600160a01b0316155b8061100d575060c08101516001600160a01b0316155b80611023575060e08101516001600160a01b0316155b8061103a57506101008101516001600160a01b0316155b156110585760405163e97cc2bf60e01b815260040160405180910390fd5b805160405161106b908790602001611e0d565b604051602081830303815290604052805190602001201461109f5760405163332ee11f60e01b815260040160405180910390fd5b80602001518480519060200120146110ca57604051631a3272d160e31b815260040160405180910390fd5b6110d4858561143a565b5f6110de86611549565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611180929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111bb9a999897969594939291906120c8565b6020604051808303815f875af11580156111d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111fb9190612085565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f81602001511561126757823410156112605760405163044044a560e21b815260040160405180910390fd5b5081611399565b604051636d78045960e01b81526001600160a01b038581166004830152306024830152604482018590525f917f000000000000000000000000000000000000000000000000000000000000000090911690636d780459906064016020604051808303815f875af11580156112dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113019190611dd7565b60405163095ea7b360e01b81526001600160a01b038881166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af1158015611372573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611396919061214a565b50505b949350505050565b604051630f451f7160e31b8152600481018290525f906001600160a01b03841690637a28fb88906024015b602060405180830381865afa1580156113e7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107119190611dd7565b604051631920845160e01b8152600481018290525f906001600160a01b038416906319208451906024016113cc565b6114448282611617565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461148257604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146114d85760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611503576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c680001461152e576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6107118360200151670de0b6b3a7640000610706565b61155161172b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6103e88260800151101561163e576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361166357604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061168d57508161010001518260e0015161168a9190612165565b15155b156116ab5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116d75750670de0b6b3a7640000826101c0015160200151115b806116f25750670de0b6b3a7640000826101c0015160400151115b8061170d5750670de0b6b3a7640000826101c0015160600151115b1561152e576040516322f72cc360e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016117fa60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b8181101561182357602081850181015186830182015201611807565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61071160208301846117ff565b6001600160a01b0381168114611868575f80fd5b50565b803561187681611854565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156118b2576118b261187b565b60405290565b6040516101e0810167ffffffffffffffff811182821017156118b2576118b261187b565b8015158114611868575f80fd5b5f67ffffffffffffffff808411156119035761190361187b565b604051601f8501601f19908116603f0116810190828211818310171561192b5761192b61187b565b81604052809350858152868686011115611943575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f83011261196b575f80fd5b610711838335602085016118e9565b5f805f805f60a0868803121561198e575f80fd5b8535945060208601356119a081611854565b93506040860135925060608601359150608086013567ffffffffffffffff808211156119ca575f80fd5b908701906060828a0312156119dd575f80fd5b6119e561188f565b82356119f081611854565b81526020830135611a00816118dc565b6020820152604083013582811115611a16575f80fd5b611a228b82860161195c565b6040830152508093505050509295509295909350565b5f8060408385031215611a49575f80fd5b8235611a5481611854565b946020939093013593505050565b5f60208284031215611a72575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611b06575f80fd5b6040516080810181811067ffffffffffffffff82111715611b2957611b2961187b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611b6b575f80fd5b611b736118b8565b9050611b7e8261186b565b8152611b8c6020830161186b565b6020820152611b9d6040830161186b565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611bfa81840161186b565b90820152610160611c0c83820161186b565b90820152610180611c1e83820161186b565b908201526101a0611c3083820161186b565b908201526101c0611c4384848301611af6565b9082015292915050565b5f805f805f6102c08688031215611c62575f80fd5b85359450611c738760208801611b5a565b935061026086013567ffffffffffffffff811115611c8f575f80fd5b611c9b8882890161195c565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ccb575f80fd5b85359450602086013567ffffffffffffffff80821115611ce9575f80fd5b818801915088601f830112611cfc575f80fd5b611d0b898335602085016118e9565b9550611d1a8960408a01611b5a565b9450610280880135915080821115611d30575f80fd5b50611d3d8882890161195c565b959894975092956102a001359392505050565b600181811c90821680611d6457607f821691505b602082108103611d8257634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611dcd60c08401826117ff565b9695505050505050565b5f60208284031215611de7575f80fd5b5051919050565b8181038181111561071457634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611e3960208401826001600160a01b03169052565b506040830151611e5460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151611eba828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611aee565b80516001600160a01b031682526020810151611f4a60208401826001600160a01b03169052565b506040810151611f6560408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151611fd7828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061204e8388611f23565b6001600160a01b0386166102608401526102808301819052612072818401866117ff565b915050826102a083015295945050505050565b5f60208284031215612095575f80fd5b81516120a081611854565b9392505050565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526120db8184018e6117ff565b90506120ea602084018d611f23565b6001600160a01b038b81166102808501528382036102a085015261210e828c6117ff565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f6020828403121561215a575f80fd5b81516120a0816118dc565b5f8261217f57634e487b7160e01b5f52601260045260245ffd5b50069056fe5374455448487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212206424e2c6a2d37f7dbd5215cc1b2da7bda2910f0a609e426fae656d20b8f0930d64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(address,uint256)": "251f6c42", - "convertToShares(address,uint256)": "3e5541f1", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "lido()": "23509a2d", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts deleted file mode 100644 index 3424b1f8a..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts +++ /dev/null @@ -1,1527 +0,0 @@ -export declare const StETHTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StETHTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts.map deleted file mode 100644 index d7fa760e0..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget0.d.ts","sourceRoot":"","sources":["../src/StETHTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi2Dyw8B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC9y8B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0.js b/packages/hyperdrive-artifacts/dist/StETHTarget0.js deleted file mode 100644 index c80327644..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0.js +++ /dev/null @@ -1,1931 +0,0 @@ -export const StETHTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003c8738038062003c878339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161384d6200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d9501528181611247015261286b01525f8181610dbb0152612a2401525f818161060701528181610c7901528181611d9f0152818161252a015281816125b401526129b301525f8181610c4a01526111e4015261384d5ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c5c565b610559565b60405161024c9190612cc0565b60405180910390f35b610268610263366004612ce6565b610590565b005b610268610278366004612d0e565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612d29565b610638565b6102686102ce366004612dff565b610654565b6102686102e1366004612e8e565b61066a565b6102f96102f4366004612c5c565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612ed3565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612f12565b610742565b61033e61077a565b61033e61038f366004612f40565b610798565b6103a76103a2366004612ce6565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c5c565b6107c1565b6102686103d8366004612f77565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612fbe565b61026861040836600461305f565b5050565b61033e61041a366004612ce6565b610b4b565b610295610b76565b61026861043536600461308b565b610bb5565b61026861044836600461305f565b610bc6565b61026861045b366004612ce6565b50565b610466610c31565b60405161024c91906130c0565b61033e610481366004612c5c565b6110f1565b61033e610494366004612c5c565b6110fe565b6104ac6104a73660046131e6565b61111f565b60405161024c9190613225565b6102956111d6565b61033e611215565b61033e6104d7366004612c5c565b61122e565b61033e6104ea366004612c5c565b61123b565b6104f7611271565b60405161024c9190613268565b610268610512366004613379565b61137c565b6103a76105253660046133d4565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612cc0565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e53744554484879706572647269766560881b8152506040516020016105779190612cc0565b90565b60606105df60016040516020016105779190613400565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612cc0565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f91906134d5565b61093991906134e8565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134fb565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612fbe565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b88565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa19190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f9190613529565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906130c0565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b613544565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613558565b9050602002013590505f81549050808484815181106111a5576111a5613558565b60209081029190910101525050600101611169565b506111cf816040516020016105779190613225565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361259c565b5f61058b61078661126c7f0000000000000000000000000000000000000000000000000000000000000000856134d5565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f6114808261262b565b90505f836003811115611495576114956134ad565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db6134ad565b0361150757806040516020016114f1919061356c565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b6134ad565b0361153157806040516020016114f191906135a4565b6003836003811115611545576115456134ad565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612cc0565b60405180910390fd5b6115b76126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116389190613529565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce9190613529565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178791906135dd565b905061179d6001600160a01b0385168483612705565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118909190613529565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613558565b905060200201358888868686818110611baf57611baf613558565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134e8565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134e8565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f9084906134d5565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051633d7ad0b760e21b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f5eb42dc90602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1091906135dd565b905090565b5f611e1e6126dd565b611e2782612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea89190613529565b90506001600160a01b038116611ec16020850185612ce6565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c9190613529565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe081838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612d0e565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135f4565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613558565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f6121448261262b565b90505f836003811115612159576121596134ad565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f6134ad565b036121b557806040516020016114f191906136b4565b60028360038111156121c9576121c96134ad565b036121df57806040516020016114f191906136eb565b60038360038111156121f3576121f36134ad565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b09116612822565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e292900416612822565b905292915050565b5f6107248383670de0b6b3a7640000612896565b5f61072483670de0b6b3a764000084612896565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa158015612578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077491906135dd565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063192084519060240161255d565b5f612610600b5f6125fd6002866128b1565b81526020019081526020015f20546128e5565b612621600b5f6125fd6001876128b1565b6107749190613716565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613749565b61266f9060306134d5565b60f81b82600161267f84876134e8565b61268991906134e8565b8151811061269957612699613558565b60200101906001600160f81b03191690815f1a905350806126b98161375c565b91506126c89050600a86613774565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612912565b5f6127656020830183612ce6565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061279885856124ea565b90506127a38161259c565b9450845f036127b5575f915050610724565b8491506127c86040840160208501612d0e565b156127f7576127f0856127de6020860186612ce6565b6127eb6040870187613787565b612973565b915061281a565b61281a856128086020860186612ce6565b6128156040870187613787565b61298d565b509392505050565b5f80670de0b6b3a7640000612835612a1d565b61283f91906137ca565b905080831161284e575f612858565b61285881846134e8565b915061072461288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ca565b83906124fe565b5f825f1904841183021582026128aa575f80fd5b5091020490565b5f6001600160f81b038211156128da5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561290e5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129266001600160a01b03841683612a48565b905080515f1415801561294a57508080602001905181019061294891906137e1565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af11580156129f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081691906135dd565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a55565b606061072483835f612a6a565b5f612a608284613749565b61072490846134e8565b606081471015612a8f5760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612aaa91906137fc565b5f6040518083038185875af1925050503d805f8114612ae4576040519150601f19603f3d011682016040523d82523d5f602084013e612ae9565b606091505b5091509150612af9868383612b03565b9695505050505050565b606082612b1857612b1382612b5f565b610724565b8151158015612b2f57506001600160a01b0384163b155b15612b5857604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b6f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c5760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c6c575f80fd5b5035919050565b5f5b83811015612c8d578181015183820152602001612c75565b50505f910152565b5f8151808452612cac816020860160208601612c73565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c95565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cf6575f80fd5b813561072481612cd2565b801515811461045b575f80fd5b5f60208284031215612d1e575f80fd5b813561072481612d01565b5f805f805f805f805f6101208a8c031215612d42575f80fd5b8935985060208a0135975060408a0135612d5b81612cd2565b965060608a0135612d6b81612cd2565b955060808a0135612d7b81612d01565b945060a08a0135935060c08a013560ff81168114612d97575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612dc7575f80fd5b50813567ffffffffffffffff811115612dde575f80fd5b6020830191508360208260051b8501011115612df8575f80fd5b9250929050565b5f805f805f8060808789031215612e14575f80fd5b8635612e1f81612cd2565b95506020870135612e2f81612cd2565b9450604087013567ffffffffffffffff80821115612e4b575f80fd5b612e578a838b01612db7565b90965094506060890135915080821115612e6f575f80fd5b50612e7c89828a01612db7565b979a9699509497509295939492505050565b5f805f8060808587031215612ea1575f80fd5b843593506020850135612eb381612cd2565b92506040850135612ec381612cd2565b9396929550929360600135925050565b5f805f60608486031215612ee5575f80fd5b833592506020840135612ef781612cd2565b91506040840135612f0781612cd2565b809150509250925092565b5f8060408385031215612f23575f80fd5b823591506020830135612f3581612cd2565b809150509250929050565b5f60208284031215612f50575f80fd5b813567ffffffffffffffff811115612f66575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f8a575f80fd5b843593506020850135612f9c81612cd2565b9250604085013591506060850135612fb381612cd2565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613070575f80fd5b823561307b81612cd2565b91506020830135612f3581612d01565b5f805f6060848603121561309d575f80fd5b8335925060208401356130af81612cd2565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130ec60208401826001600160a01b03169052565b50604083015161310760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613179828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131f7575f80fd5b823567ffffffffffffffff81111561320d575f80fd5b61321985828601612db7565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561325c57835183529284019291840191600101613240565b50909695505050505050565b81516001600160801b031681526101808101602083015161329460208401826001600160801b03169052565b5060408301516132af60408401826001600160801b03169052565b5060608301516132ca60608401826001600160801b03169052565b5060808301516132df6080840182600f0b9052565b5060a08301516132fa60a08401826001600160801b03169052565b5060c083015161331560c08401826001600160801b03169052565b5060e083015161333060e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526131de565b5f805f805f60a0868803121561338d575f80fd5b85359450602086013561339f81612cd2565b935060408601356133af81612cd2565b92506060860135915060808601356133c681612cd2565b809150509295509295909350565b5f80604083850312156133e5575f80fd5b82356133f081612cd2565b91506020830135612f3581612cd2565b5f60208083525f84545f60018260011c9150600183168061342257607f831692505b60208310810361344057634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561345f57600181146134755761349e565b60ff198616825284151560051b8201965061349e565b5f8b8152602090205f5b868110156134985781548482015290850190890161347f565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610774576107746134c1565b81810381811115610774576107746134c1565b5f806040838503121561350c575f80fd5b825191506020830151612f3581612d01565b805161058b81612cd2565b5f60208284031215613539575f80fd5b815161072481612cd2565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613597816011850160208701612c73565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516135d0816012850160208701612c73565b9190910160120192915050565b5f602082840312156135ed575f80fd5b5051919050565b5f6020808385031215613605575f80fd5b825167ffffffffffffffff8082111561361c575f80fd5b818501915085601f83011261362f575f80fd5b81518181111561364157613641613544565b8060051b604051601f19603f8301168101818110858211171561366657613666613544565b604052918252848201925083810185019188831115613683575f80fd5b938501935b828510156136a8576136998561351e565b84529385019392850192613688565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516136de816010850160208701612c73565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613597816011850160208701612c73565b8181035f8312801583831316838312821617156111cf576111cf6134c1565b634e487b7160e01b5f52601260045260245ffd5b5f8261375757613757613735565b500690565b5f6001820161376d5761376d6134c1565b5060010190565b5f8261378257613782613735565b500490565b5f808335601e1984360301811261379c575f80fd5b83018035915067ffffffffffffffff8211156137b6575f80fd5b602001915036819003821315612df8575f80fd5b8082028115828204841417610774576107746134c1565b5f602082840312156137f1575f80fd5b815161072481612d01565b5f825161380d818460208701612c73565b919091019291505056fea2646970667358221220edb70dd688afd606fe9a73570608b61d7fb2ae71929661f7c63db0a13d98b33364736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts deleted file mode 100644 index 935294e09..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StETHTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StETHTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts.map deleted file mode 100644 index 0375a8d86..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/StETHTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I2uhC,KAAK,MAAM,EAAE;;;;CAIxxhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.js deleted file mode 100644 index 63dd1781b..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StETHTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061415f8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613c87806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003c8738038062003c878339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161384d6200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d9501528181611247015261286b01525f8181610dbb0152612a2401525f818161060701528181610c7901528181611d9f0152818161252a015281816125b401526129b301525f8181610c4a01526111e4015261384d5ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c5c565b610559565b60405161024c9190612cc0565b60405180910390f35b610268610263366004612ce6565b610590565b005b610268610278366004612d0e565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612d29565b610638565b6102686102ce366004612dff565b610654565b6102686102e1366004612e8e565b61066a565b6102f96102f4366004612c5c565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612ed3565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612f12565b610742565b61033e61077a565b61033e61038f366004612f40565b610798565b6103a76103a2366004612ce6565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c5c565b6107c1565b6102686103d8366004612f77565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612fbe565b61026861040836600461305f565b5050565b61033e61041a366004612ce6565b610b4b565b610295610b76565b61026861043536600461308b565b610bb5565b61026861044836600461305f565b610bc6565b61026861045b366004612ce6565b50565b610466610c31565b60405161024c91906130c0565b61033e610481366004612c5c565b6110f1565b61033e610494366004612c5c565b6110fe565b6104ac6104a73660046131e6565b61111f565b60405161024c9190613225565b6102956111d6565b61033e611215565b61033e6104d7366004612c5c565b61122e565b61033e6104ea366004612c5c565b61123b565b6104f7611271565b60405161024c9190613268565b610268610512366004613379565b61137c565b6103a76105253660046133d4565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612cc0565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e53744554484879706572647269766560881b8152506040516020016105779190612cc0565b90565b60606105df60016040516020016105779190613400565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612cc0565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f91906134d5565b61093991906134e8565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134fb565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612fbe565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b88565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa19190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f9190613529565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906130c0565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b613544565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613558565b9050602002013590505f81549050808484815181106111a5576111a5613558565b60209081029190910101525050600101611169565b506111cf816040516020016105779190613225565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361259c565b5f61058b61078661126c7f0000000000000000000000000000000000000000000000000000000000000000856134d5565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f6114808261262b565b90505f836003811115611495576114956134ad565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db6134ad565b0361150757806040516020016114f1919061356c565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b6134ad565b0361153157806040516020016114f191906135a4565b6003836003811115611545576115456134ad565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612cc0565b60405180910390fd5b6115b76126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116389190613529565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce9190613529565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178791906135dd565b905061179d6001600160a01b0385168483612705565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118909190613529565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613558565b905060200201358888868686818110611baf57611baf613558565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134e8565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134e8565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f9084906134d5565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051633d7ad0b760e21b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f5eb42dc90602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1091906135dd565b905090565b5f611e1e6126dd565b611e2782612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea89190613529565b90506001600160a01b038116611ec16020850185612ce6565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c9190613529565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe081838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612d0e565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135f4565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613558565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f6121448261262b565b90505f836003811115612159576121596134ad565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f6134ad565b036121b557806040516020016114f191906136b4565b60028360038111156121c9576121c96134ad565b036121df57806040516020016114f191906136eb565b60038360038111156121f3576121f36134ad565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b09116612822565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e292900416612822565b905292915050565b5f6107248383670de0b6b3a7640000612896565b5f61072483670de0b6b3a764000084612896565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa158015612578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077491906135dd565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063192084519060240161255d565b5f612610600b5f6125fd6002866128b1565b81526020019081526020015f20546128e5565b612621600b5f6125fd6001876128b1565b6107749190613716565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613749565b61266f9060306134d5565b60f81b82600161267f84876134e8565b61268991906134e8565b8151811061269957612699613558565b60200101906001600160f81b03191690815f1a905350806126b98161375c565b91506126c89050600a86613774565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612912565b5f6127656020830183612ce6565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061279885856124ea565b90506127a38161259c565b9450845f036127b5575f915050610724565b8491506127c86040840160208501612d0e565b156127f7576127f0856127de6020860186612ce6565b6127eb6040870187613787565b612973565b915061281a565b61281a856128086020860186612ce6565b6128156040870187613787565b61298d565b509392505050565b5f80670de0b6b3a7640000612835612a1d565b61283f91906137ca565b905080831161284e575f612858565b61285881846134e8565b915061072461288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ca565b83906124fe565b5f825f1904841183021582026128aa575f80fd5b5091020490565b5f6001600160f81b038211156128da5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561290e5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129266001600160a01b03841683612a48565b905080515f1415801561294a57508080602001905181019061294891906137e1565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af11580156129f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081691906135dd565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a55565b606061072483835f612a6a565b5f612a608284613749565b61072490846134e8565b606081471015612a8f5760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612aaa91906137fc565b5f6040518083038185875af1925050503d805f8114612ae4576040519150601f19603f3d011682016040523d82523d5f602084013e612ae9565b606091505b5091509150612af9868383612b03565b9695505050505050565b606082612b1857612b1382612b5f565b610724565b8151158015612b2f57506001600160a01b0384163b155b15612b5857604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b6f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c5760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c6c575f80fd5b5035919050565b5f5b83811015612c8d578181015183820152602001612c75565b50505f910152565b5f8151808452612cac816020860160208601612c73565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c95565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cf6575f80fd5b813561072481612cd2565b801515811461045b575f80fd5b5f60208284031215612d1e575f80fd5b813561072481612d01565b5f805f805f805f805f6101208a8c031215612d42575f80fd5b8935985060208a0135975060408a0135612d5b81612cd2565b965060608a0135612d6b81612cd2565b955060808a0135612d7b81612d01565b945060a08a0135935060c08a013560ff81168114612d97575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612dc7575f80fd5b50813567ffffffffffffffff811115612dde575f80fd5b6020830191508360208260051b8501011115612df8575f80fd5b9250929050565b5f805f805f8060808789031215612e14575f80fd5b8635612e1f81612cd2565b95506020870135612e2f81612cd2565b9450604087013567ffffffffffffffff80821115612e4b575f80fd5b612e578a838b01612db7565b90965094506060890135915080821115612e6f575f80fd5b50612e7c89828a01612db7565b979a9699509497509295939492505050565b5f805f8060808587031215612ea1575f80fd5b843593506020850135612eb381612cd2565b92506040850135612ec381612cd2565b9396929550929360600135925050565b5f805f60608486031215612ee5575f80fd5b833592506020840135612ef781612cd2565b91506040840135612f0781612cd2565b809150509250925092565b5f8060408385031215612f23575f80fd5b823591506020830135612f3581612cd2565b809150509250929050565b5f60208284031215612f50575f80fd5b813567ffffffffffffffff811115612f66575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f8a575f80fd5b843593506020850135612f9c81612cd2565b9250604085013591506060850135612fb381612cd2565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613070575f80fd5b823561307b81612cd2565b91506020830135612f3581612d01565b5f805f6060848603121561309d575f80fd5b8335925060208401356130af81612cd2565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130ec60208401826001600160a01b03169052565b50604083015161310760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613179828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131f7575f80fd5b823567ffffffffffffffff81111561320d575f80fd5b61321985828601612db7565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561325c57835183529284019291840191600101613240565b50909695505050505050565b81516001600160801b031681526101808101602083015161329460208401826001600160801b03169052565b5060408301516132af60408401826001600160801b03169052565b5060608301516132ca60608401826001600160801b03169052565b5060808301516132df6080840182600f0b9052565b5060a08301516132fa60a08401826001600160801b03169052565b5060c083015161331560c08401826001600160801b03169052565b5060e083015161333060e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526131de565b5f805f805f60a0868803121561338d575f80fd5b85359450602086013561339f81612cd2565b935060408601356133af81612cd2565b92506060860135915060808601356133c681612cd2565b809150509295509295909350565b5f80604083850312156133e5575f80fd5b82356133f081612cd2565b91506020830135612f3581612cd2565b5f60208083525f84545f60018260011c9150600183168061342257607f831692505b60208310810361344057634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561345f57600181146134755761349e565b60ff198616825284151560051b8201965061349e565b5f8b8152602090205f5b868110156134985781548482015290850190890161347f565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610774576107746134c1565b81810381811115610774576107746134c1565b5f806040838503121561350c575f80fd5b825191506020830151612f3581612d01565b805161058b81612cd2565b5f60208284031215613539575f80fd5b815161072481612cd2565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613597816011850160208701612c73565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516135d0816012850160208701612c73565b9190910160120192915050565b5f602082840312156135ed575f80fd5b5051919050565b5f6020808385031215613605575f80fd5b825167ffffffffffffffff8082111561361c575f80fd5b818501915085601f83011261362f575f80fd5b81518181111561364157613641613544565b8060051b604051601f19603f8301168101818110858211171561366657613666613544565b604052918252848201925083810185019188831115613683575f80fd5b938501935b828510156136a8576136998561351e565b84529385019392850192613688565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516136de816010850160208701612c73565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613597816011850160208701612c73565b8181035f8312801583831316838312821617156111cf576111cf6134c1565b634e487b7160e01b5f52601260045260245ffd5b5f8261375757613757613735565b500690565b5f6001820161376d5761376d6134c1565b5060010190565b5f8261378257613782613735565b500490565b5f808335601e1984360301811261379c575f80fd5b83018035915067ffffffffffffffff8211156137b6575f80fd5b602001915036819003821315612df8575f80fd5b8082028115828204841417610774576107746134c1565b5f602082840312156137f1575f80fd5b815161072481612d01565b5f825161380d818460208701612c73565b919091019291505056fea2646970667358221220edb70dd688afd606fe9a73570608b61d7fb2ae71929661f7c63db0a13d98b33364736f6c63430008160033a2646970667358221220a28ce4f5c23a29185a86ba379c4d4e916556fcaae8a5823fd42bdadcc9e1359a64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts deleted file mode 100644 index 551543850..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts +++ /dev/null @@ -1,766 +0,0 @@ -export declare const StETHTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=StETHTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts.map deleted file mode 100644 index b15d08757..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget1.d.ts","sourceRoot":"","sources":["../src/StETHTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi7Buq9B,KAAK,MAAM,EAAE;;;;;CAK5s9B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1.js b/packages/hyperdrive-artifacts/dist/StETHTarget1.js deleted file mode 100644 index 933907bd5..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1.js +++ /dev/null @@ -1,951 +0,0 @@ -export const StETHTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003d5638038062003d568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138dc6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612bcd01525f818161139301528181611791015281816117f4015281816127b6015281816127f2015281816129ea0152612ba701525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b8101525f611b3901525f8181611c5a0152818161229b015261231301525f81816108a901528181610f4301528181611c2e01526122e701525f8181610e3e015261226101525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bf301525f81816107e701528181610ec4015281816116ef0152818161213a015261311701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119820152818161257501526125ec01525f50506138dc5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133a7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133a7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613415565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613428565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361345b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613483565b6102bd8a6102b78d8f613415565b90611584565b8d6102cb60408c018c61349e565b6040516102df989796959493929190613509565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613415565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613550565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361345b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613483565b8a61050260408b018b61349e565b6040516105159796959493929190613577565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361345b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119f4565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613415565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a09565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b92505b5061073e83611a3f565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135b7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613415565b4290611a68565b8461102b565b6107db88611a7c565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135b7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c19565b915091508060095f8282546108789190613415565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613415565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce6565b91506108e16108dc8385611584565b611d2f565b600680546002906109029084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a3f565b60068054601090610951908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c19565b915091508060095f8282546109c49190613415565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135b7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a3f565b60068054601090610a68908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613428565b5f61134e565b8e610ac58482611d58565b50505b5f610ad284611f47565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061360a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612089565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135b7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a09565b90505f610d5f8a61210f565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061215e565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121cd565b6121fc565b15610e7457610e746113ec565b5f805f610e8385878b8761223d565b9c5091945092509050610e9681846135b7565b610ea09089613415565b9750610eac8284613415565b610eb6908d613415565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135b7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ce6565b9950610f73878a6135b7565b9850670de0b6b3a7640000610ff0610f8b8787613415565b600254610fa9908f90600160801b90046001600160801b03166135b7565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61234f565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135b7565b6110d19190613625565b85670de0b6b3a76400006110e5878a6135b7565b6110ef9190613625565b8592919060016123eb565b611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a3f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613625565b600554600160801b90046001600160801b031691908a5f6123eb565b600580546001600160801b03928316600160801b0292169190911790556111d286611a3f565b6111dc908261363c565b600480546001600160801b03928316600160801b02921691909117905561120284611a3f565b600280545f9061121c9084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612491565b600480545f9061125d908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a3f565b600280546010906112af908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613428565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124cc565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361252e565b6003546113ce91906001600160801b0316613415565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d58565b5f805f61141d84611a7c565b90925090505f61142d8686611584565b90508183111561144557611442868385612542565b95505b8281101561145757808303925061145b565b5f92505b61146483611d2f565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a3f565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161255d565b9450845f03611516575f91505061157d565b8491506115296040840160208501613483565b15611558576115518561153f602086018661345b565b61154c604087018761349e565b6125ac565b915061157b565b61157b85611569602086018661345b565b611576604087018761349e565b6125c6565b505b9392505050565b5f61157d8383670de0b6b3a7640000612542565b5f805f805f805f806115a8611a09565b90505f6115b48a61210f565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b985061169a84878b8861223d565b9c5091945090925090506116ae82846135b7565b6116b890896135b7565b97506116c48184613415565b6116ce908e6135b7565b9c506116da8a8e613415565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135b7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161234f565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135b7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613428565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613625565b6005546001600160801b031691908c5f6123eb565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135b7565b90506118a281611a3f565b600380546001600160801b03928316600160801b0292169190911790556118c883611a3f565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612491565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a3f565b6002805460109061193c908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156119d0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613689565b5f6119ff82846136b4565b61157d90846135b7565b6002546004545f916105a6916001600160801b0390911690600f0b6126b0565b5f61007d82611a39858888612542565b906126d5565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a76578261157d565b50919050565b6006545f908190611a9e908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c14575f611ac783836135b7565b9050611ad66110fa8286612744565b60068054601090611af8908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b30858361275890919063ffffffff16565b90505f611b5d827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b709190613415565b90915550611b80905081836135b7565b9150611b8b82611a3f565b600280545f90611ba59084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd28261276c565b600480545f90611be6908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c258785612758565b91505f611c52837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c7e817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611ca157611c9082826135b7565b611c9a90846135b7565b9250611cb8565b611cab82826135b7565b611cb59084613415565b92505b86861015611cdb57611ccb838789612542565b9250611cd8828789612542565b91505b509550959350505050565b5f80611cfd84611cf78a888a612542565b90612758565b9050611d0a888486612542565b611d149082613415565b905086811115611d245786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611da2916001600160801b0316906135b7565b9050805f03611db557600191505061131b565b5f611dbf85612795565b9050805f03611dd35760019250505061131b565b5f80611de0838589612830565b9150915080611df5575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e30929190613745565b6040805180830381865af4158015611e4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6e91906137ba565b91509150611e8c611e7e82611321565b611e87906137dc565b6129a4565b925082611ea1575f965050505050505061131b565b611eaa82611a3f565b600780545f90611ec49084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef181611a3f565b60078054601090611f13908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f6e87612b38565b6040518263ffffffff1660e01b8152600401611f8a91906137f6565b6040805180830381865af4158015611fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc89190613805565b9150915080611fdd57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204291613415565b61204c91906135b7565b9050805f0361206257505f958695509350505050565b5f808711612070575f61207b565b61207b848884612542565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120ac576120ac613833565b6040519080825280601f01601f1916602001820160405280156120d6576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120f6578692505b828152825f602083013e90999098509650505050505050565b5f806121196105ab565b9050808311612128575f612132565b61213281846135b7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612758565b5f808061217e61217688670de0b6b3a76400006135b7565b899087612c72565b905086156121c057612190888861252e565b91506121b18a8a846121aa8a670de0b6b3a76400006135b7565b8989612c95565b92506121bd8382613415565b90505b9750975097945050505050565b5f6121ea6121e384670de0b6b3a76400006135b7565b839061252e565b61157d90670de0b6b3a76400006135b7565b5f806122328561220a611a09565b6122149190613415565b600254610fa9908790600160801b90046001600160801b03166135b7565b909210949350505050565b5f808080612293878661228c8b61228661225f8c670de0b6b3a76400006135b7565b7f00000000000000000000000000000000000000000000000000000000000000009061252e565b9061252e565b9190612c72565b93506122bf847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122df6122d789670de0b6b3a76400006135b7565b8a9088612c72565b905061230b817f000000000000000000000000000000000000000000000000000000000000000061252e565b9350612337847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123419084613415565b915050945094509450949050565b5f805f805f80888810156123bb5786156123715761236e8d898b612542565b9c505b61237c8c898b612542565b9b506123878b611321565b6123908d611321565b61239a9190613428565b90506123a78b898b612542565b9a506123b48a898b612542565b99506123da565b6123c48b611321565b6123cd8d611321565b6123d79190613428565b90505b9b9c9a9b999a975050505050505050565b5f825f036123fa575084612488565b811561244c5761242b61240d8487613415565b6124178587611584565b612421888a611584565b611cf79190613415565b90505f6124388588611a68565b905080821015612446578091505b50612488565b82850361245a57505f612488565b61248561246784876135b7565b612471858761252e565b61247b888a611584565b611cf791906135b7565b90505b95945050505050565b5f60016001607f1b03198212806124ae575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124d8845f612cb7565b6124e2845f612cb7565b6124ec9190613428565b90505f811315612507576125008186613415565b9450612525565b5f81121561252557612518816137dc565b61252290866135b7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c72565b5f825f190484118302158202612556575f80fd5b5091020490565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016119b5565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af1158015612632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126569190613689565b5050505050565b5f808061267d61267588670de0b6b3a76400006135b7565b899087612542565b905086156121c05761268f8888611584565b91506121b18a8a846126a98a670de0b6b3a76400006135b7565b8989612ccc565b5f806126bc8484612cdc565b9092509050806126ce576126ce6113ec565b5092915050565b5f815f036126ec5750670de0b6b3a764000061131b565b825f036126fa57505f61131b565b5f61270483611321565b90505f61271861271386611321565b612d17565b905081810261272f670de0b6b3a764000082613847565b905061273a81612f3c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c72565b5f61157d83670de0b6b3a764000084612542565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127af906001600160801b031684612744565b90506127db7f000000000000000000000000000000000000000000000000000000000000000082613415565b6002546001600160801b03161115611a76576002547f0000000000000000000000000000000000000000000000000000000000000000906128269083906001600160801b03166135b7565b61157d91906135b7565b612838613308565b5f8061284384612b38565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161287d91906137f6565b6040805180830381865af4158015612897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bb9190613805565b93509050826128cf57505f915061299c9050565b5f6128f56128f084610160015185610140015161158490919063ffffffff16565b611321565b6129156128f085610120015186610100015161252e90919063ffffffff16565b61291f9190613428565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a7e9190613873565b935093509350935080612a9957505f98975050505050505050565b868414612aca57612aa984611a3f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612afb57612ada83612491565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2957612b0b82611a3f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b40613352565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c3891166130ce565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c6a929004166130ce565b905292915050565b5f825f190484118302158202612c86575f80fd5b50910281810615159190040190565b5f80612ca5888888888888613142565b909250905080611d2457611d246113ec565b5f818313612cc5578161157d565b5090919050565b5f80612ca588888888888861321e565b5f805f83612ce986611321565b612cf39190613428565b90505f811215612d09575f809250925050612d10565b9150600190505b9250929050565b5f808213612d385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dbb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f5557505f919050565b680755bf798b4a1bf1e58212612f7e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061273a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130e16105ab565b6130eb9190613625565b90508083116130fa575f613104565b61310481846135b7565b915061157d61313b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613625565b8390612758565b5f805f61315289898888886132da565b905086881015613168575f809250925050613213565b968690039661317788876126d5565b97508781101561318d575f809250925050613213565b87810361319b818688612c72565b9050670de0b6b3a764000081106131cf576131c86131c1670de0b6b3a764000089612744565b82906126d5565b90506131e7565b6131e46131c1670de0b6b3a764000089612758565b90505b6131f18186612744565b905089811015613208575f80935093505050613213565b899003925060019150505b965096945050505050565b5f805f61322e89898888886132da565b905061323e86611a39898b613415565b975087811015613254575f809250925050613213565b878103613262818688612c72565b9050670de0b6b3a7640000811061328f576132886131c1670de0b6b3a764000089612744565b90506132a7565b6132a46131c1670de0b6b3a764000089612758565b90505b6132b18186612744565b9050808a10156132c8575f80935093505050613213565b90980398600198509650505050505050565b5f6132e585856126d5565b6132fe6132f686611a39868b61252e565b859085612c72565b6124859190613415565b60405180610120016040528061331c613352565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ba575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156133e5575f80fd5b8501606081880312156133f6575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613401565b8181035f8312801583831316838312821617156126ce576126ce613401565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561346b575f80fd5b813561157d81613447565b8015158114610591575f80fd5b5f60208284031215613493575f80fd5b813561157d81613476565b5f808335601e198436030181126134b3575f80fd5b83018035915067ffffffffffffffff8211156134cd575f80fd5b602001915036819003821315612d10575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61354260e0830184866134e1565b9a9950505050505050505050565b8082018281125f83128015821682158216171561356f5761356f613401565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135aa60c0830184866134e1565b9998505050505050505050565b8181038181111561131b5761131b613401565b6001600160701b038181168382160190808211156126ce576126ce613401565b6001600160801b038181168382160190808211156126ce576126ce613401565b5f6020828403121561361a575f80fd5b815161157d81613447565b808202811582820484141761131b5761131b613401565b6001600160801b038281168282160390808211156126ce576126ce613401565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613401565b5f60208284031215613699575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826136c2576136c26136a0565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137588285516136c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137cb575f80fd5b505080516020909101519092909150565b5f600160ff1b82016137f0576137f0613401565b505f0390565b610180810161131b82846136c7565b5f8060408385031215613816575f80fd5b82519150602083015161382881613476565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613855576138556136a0565b600160ff1b82145f198414161561386e5761386e613401565b500590565b5f805f8060808587031215613886575f80fd5b84519350602085015192506040850151915060608501516133f68161347656fea264697066735822122028bac119ff6a81c135cd345078ef9cf512a9be0e5a530a95d9745ae8b9952f1864736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts deleted file mode 100644 index 82a40243c..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StETHTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StETHTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts.map deleted file mode 100644 index 111e7fbce..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/StETHTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IyoiC,KAAK,MAAM,EAAE;;;;CAItriC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.js deleted file mode 100644 index e234b05e8..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StETHTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061422e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613d56806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003d5638038062003d568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138dc6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612bcd01525f818161139301528181611791015281816117f4015281816127b6015281816127f2015281816129ea0152612ba701525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b8101525f611b3901525f8181611c5a0152818161229b015261231301525f81816108a901528181610f4301528181611c2e01526122e701525f8181610e3e015261226101525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bf301525f81816107e701528181610ec4015281816116ef0152818161213a015261311701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119820152818161257501526125ec01525f50506138dc5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133a7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133a7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613415565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613428565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361345b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613483565b6102bd8a6102b78d8f613415565b90611584565b8d6102cb60408c018c61349e565b6040516102df989796959493929190613509565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613415565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613550565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361345b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613483565b8a61050260408b018b61349e565b6040516105159796959493929190613577565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361345b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119f4565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613415565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a09565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b92505b5061073e83611a3f565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135b7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613415565b4290611a68565b8461102b565b6107db88611a7c565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135b7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c19565b915091508060095f8282546108789190613415565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613415565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce6565b91506108e16108dc8385611584565b611d2f565b600680546002906109029084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a3f565b60068054601090610951908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c19565b915091508060095f8282546109c49190613415565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135b7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a3f565b60068054601090610a68908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613428565b5f61134e565b8e610ac58482611d58565b50505b5f610ad284611f47565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061360a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612089565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135b7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a09565b90505f610d5f8a61210f565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061215e565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121cd565b6121fc565b15610e7457610e746113ec565b5f805f610e8385878b8761223d565b9c5091945092509050610e9681846135b7565b610ea09089613415565b9750610eac8284613415565b610eb6908d613415565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135b7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ce6565b9950610f73878a6135b7565b9850670de0b6b3a7640000610ff0610f8b8787613415565b600254610fa9908f90600160801b90046001600160801b03166135b7565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61234f565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135b7565b6110d19190613625565b85670de0b6b3a76400006110e5878a6135b7565b6110ef9190613625565b8592919060016123eb565b611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a3f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613625565b600554600160801b90046001600160801b031691908a5f6123eb565b600580546001600160801b03928316600160801b0292169190911790556111d286611a3f565b6111dc908261363c565b600480546001600160801b03928316600160801b02921691909117905561120284611a3f565b600280545f9061121c9084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612491565b600480545f9061125d908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a3f565b600280546010906112af908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613428565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124cc565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361252e565b6003546113ce91906001600160801b0316613415565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d58565b5f805f61141d84611a7c565b90925090505f61142d8686611584565b90508183111561144557611442868385612542565b95505b8281101561145757808303925061145b565b5f92505b61146483611d2f565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a3f565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161255d565b9450845f03611516575f91505061157d565b8491506115296040840160208501613483565b15611558576115518561153f602086018661345b565b61154c604087018761349e565b6125ac565b915061157b565b61157b85611569602086018661345b565b611576604087018761349e565b6125c6565b505b9392505050565b5f61157d8383670de0b6b3a7640000612542565b5f805f805f805f806115a8611a09565b90505f6115b48a61210f565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b985061169a84878b8861223d565b9c5091945090925090506116ae82846135b7565b6116b890896135b7565b97506116c48184613415565b6116ce908e6135b7565b9c506116da8a8e613415565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135b7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161234f565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135b7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613428565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613625565b6005546001600160801b031691908c5f6123eb565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135b7565b90506118a281611a3f565b600380546001600160801b03928316600160801b0292169190911790556118c883611a3f565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612491565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a3f565b6002805460109061193c908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156119d0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613689565b5f6119ff82846136b4565b61157d90846135b7565b6002546004545f916105a6916001600160801b0390911690600f0b6126b0565b5f61007d82611a39858888612542565b906126d5565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a76578261157d565b50919050565b6006545f908190611a9e908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c14575f611ac783836135b7565b9050611ad66110fa8286612744565b60068054601090611af8908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b30858361275890919063ffffffff16565b90505f611b5d827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b709190613415565b90915550611b80905081836135b7565b9150611b8b82611a3f565b600280545f90611ba59084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd28261276c565b600480545f90611be6908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c258785612758565b91505f611c52837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c7e817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611ca157611c9082826135b7565b611c9a90846135b7565b9250611cb8565b611cab82826135b7565b611cb59084613415565b92505b86861015611cdb57611ccb838789612542565b9250611cd8828789612542565b91505b509550959350505050565b5f80611cfd84611cf78a888a612542565b90612758565b9050611d0a888486612542565b611d149082613415565b905086811115611d245786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611da2916001600160801b0316906135b7565b9050805f03611db557600191505061131b565b5f611dbf85612795565b9050805f03611dd35760019250505061131b565b5f80611de0838589612830565b9150915080611df5575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e30929190613745565b6040805180830381865af4158015611e4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6e91906137ba565b91509150611e8c611e7e82611321565b611e87906137dc565b6129a4565b925082611ea1575f965050505050505061131b565b611eaa82611a3f565b600780545f90611ec49084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef181611a3f565b60078054601090611f13908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f6e87612b38565b6040518263ffffffff1660e01b8152600401611f8a91906137f6565b6040805180830381865af4158015611fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc89190613805565b9150915080611fdd57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204291613415565b61204c91906135b7565b9050805f0361206257505f958695509350505050565b5f808711612070575f61207b565b61207b848884612542565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120ac576120ac613833565b6040519080825280601f01601f1916602001820160405280156120d6576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120f6578692505b828152825f602083013e90999098509650505050505050565b5f806121196105ab565b9050808311612128575f612132565b61213281846135b7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612758565b5f808061217e61217688670de0b6b3a76400006135b7565b899087612c72565b905086156121c057612190888861252e565b91506121b18a8a846121aa8a670de0b6b3a76400006135b7565b8989612c95565b92506121bd8382613415565b90505b9750975097945050505050565b5f6121ea6121e384670de0b6b3a76400006135b7565b839061252e565b61157d90670de0b6b3a76400006135b7565b5f806122328561220a611a09565b6122149190613415565b600254610fa9908790600160801b90046001600160801b03166135b7565b909210949350505050565b5f808080612293878661228c8b61228661225f8c670de0b6b3a76400006135b7565b7f00000000000000000000000000000000000000000000000000000000000000009061252e565b9061252e565b9190612c72565b93506122bf847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122df6122d789670de0b6b3a76400006135b7565b8a9088612c72565b905061230b817f000000000000000000000000000000000000000000000000000000000000000061252e565b9350612337847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123419084613415565b915050945094509450949050565b5f805f805f80888810156123bb5786156123715761236e8d898b612542565b9c505b61237c8c898b612542565b9b506123878b611321565b6123908d611321565b61239a9190613428565b90506123a78b898b612542565b9a506123b48a898b612542565b99506123da565b6123c48b611321565b6123cd8d611321565b6123d79190613428565b90505b9b9c9a9b999a975050505050505050565b5f825f036123fa575084612488565b811561244c5761242b61240d8487613415565b6124178587611584565b612421888a611584565b611cf79190613415565b90505f6124388588611a68565b905080821015612446578091505b50612488565b82850361245a57505f612488565b61248561246784876135b7565b612471858761252e565b61247b888a611584565b611cf791906135b7565b90505b95945050505050565b5f60016001607f1b03198212806124ae575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124d8845f612cb7565b6124e2845f612cb7565b6124ec9190613428565b90505f811315612507576125008186613415565b9450612525565b5f81121561252557612518816137dc565b61252290866135b7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c72565b5f825f190484118302158202612556575f80fd5b5091020490565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016119b5565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af1158015612632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126569190613689565b5050505050565b5f808061267d61267588670de0b6b3a76400006135b7565b899087612542565b905086156121c05761268f8888611584565b91506121b18a8a846126a98a670de0b6b3a76400006135b7565b8989612ccc565b5f806126bc8484612cdc565b9092509050806126ce576126ce6113ec565b5092915050565b5f815f036126ec5750670de0b6b3a764000061131b565b825f036126fa57505f61131b565b5f61270483611321565b90505f61271861271386611321565b612d17565b905081810261272f670de0b6b3a764000082613847565b905061273a81612f3c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c72565b5f61157d83670de0b6b3a764000084612542565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127af906001600160801b031684612744565b90506127db7f000000000000000000000000000000000000000000000000000000000000000082613415565b6002546001600160801b03161115611a76576002547f0000000000000000000000000000000000000000000000000000000000000000906128269083906001600160801b03166135b7565b61157d91906135b7565b612838613308565b5f8061284384612b38565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161287d91906137f6565b6040805180830381865af4158015612897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bb9190613805565b93509050826128cf57505f915061299c9050565b5f6128f56128f084610160015185610140015161158490919063ffffffff16565b611321565b6129156128f085610120015186610100015161252e90919063ffffffff16565b61291f9190613428565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a7e9190613873565b935093509350935080612a9957505f98975050505050505050565b868414612aca57612aa984611a3f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612afb57612ada83612491565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2957612b0b82611a3f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b40613352565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c3891166130ce565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c6a929004166130ce565b905292915050565b5f825f190484118302158202612c86575f80fd5b50910281810615159190040190565b5f80612ca5888888888888613142565b909250905080611d2457611d246113ec565b5f818313612cc5578161157d565b5090919050565b5f80612ca588888888888861321e565b5f805f83612ce986611321565b612cf39190613428565b90505f811215612d09575f809250925050612d10565b9150600190505b9250929050565b5f808213612d385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dbb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f5557505f919050565b680755bf798b4a1bf1e58212612f7e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061273a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130e16105ab565b6130eb9190613625565b90508083116130fa575f613104565b61310481846135b7565b915061157d61313b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613625565b8390612758565b5f805f61315289898888886132da565b905086881015613168575f809250925050613213565b968690039661317788876126d5565b97508781101561318d575f809250925050613213565b87810361319b818688612c72565b9050670de0b6b3a764000081106131cf576131c86131c1670de0b6b3a764000089612744565b82906126d5565b90506131e7565b6131e46131c1670de0b6b3a764000089612758565b90505b6131f18186612744565b905089811015613208575f80935093505050613213565b899003925060019150505b965096945050505050565b5f805f61322e89898888886132da565b905061323e86611a39898b613415565b975087811015613254575f809250925050613213565b878103613262818688612c72565b9050670de0b6b3a7640000811061328f576132886131c1670de0b6b3a764000089612744565b90506132a7565b6132a46131c1670de0b6b3a764000089612758565b90505b6132b18186612744565b9050808a10156132c8575f80935093505050613213565b90980398600198509650505050505050565b5f6132e585856126d5565b6132fe6132f686611a39868b61252e565b859085612c72565b6124859190613415565b60405180610120016040528061331c613352565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ba575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156133e5575f80fd5b8501606081880312156133f6575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613401565b8181035f8312801583831316838312821617156126ce576126ce613401565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561346b575f80fd5b813561157d81613447565b8015158114610591575f80fd5b5f60208284031215613493575f80fd5b813561157d81613476565b5f808335601e198436030181126134b3575f80fd5b83018035915067ffffffffffffffff8211156134cd575f80fd5b602001915036819003821315612d10575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61354260e0830184866134e1565b9a9950505050505050505050565b8082018281125f83128015821682158216171561356f5761356f613401565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135aa60c0830184866134e1565b9998505050505050505050565b8181038181111561131b5761131b613401565b6001600160701b038181168382160190808211156126ce576126ce613401565b6001600160801b038181168382160190808211156126ce576126ce613401565b5f6020828403121561361a575f80fd5b815161157d81613447565b808202811582820484141761131b5761131b613401565b6001600160801b038281168282160390808211156126ce576126ce613401565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613401565b5f60208284031215613699575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826136c2576136c26136a0565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137588285516136c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137cb575f80fd5b505080516020909101519092909150565b5f600160ff1b82016137f0576137f0613401565b505f0390565b610180810161131b82846136c7565b5f8060408385031215613816575f80fd5b82519150602083015161382881613476565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613855576138556136a0565b600160ff1b82145f198414161561386e5761386e613401565b500590565b5f805f8060808587031215613886575f80fd5b84519350602085015192506040850151915060608501516133f68161347656fea264697066735822122028bac119ff6a81c135cd345078ef9cf512a9be0e5a530a95d9745ae8b9952f1864736f6c63430008160033a2646970667358221220047dbbfc243edeaf30514802f02b8d578cfae0a57b88026da62816695123b12464736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts deleted file mode 100644 index 1ebe05ce9..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts +++ /dev/null @@ -1,778 +0,0 @@ -export declare const StETHTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=StETHTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts.map deleted file mode 100644 index 1f9c0f1c5..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget2.d.ts","sourceRoot":"","sources":["../src/StETHTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAg8Bik/B,KAAK,MAAM,EAAE;;;;;CAKtm/B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2.js b/packages/hyperdrive-artifacts/dist/StETHTarget2.js deleted file mode 100644 index f470de3e8..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2.js +++ /dev/null @@ -1,966 +0,0 @@ -export const StETHTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f2338038062003f238339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8d620004965f395f50505f50505f8181610bf701526116fa01525f50505f818160f1015281816102f20152612d4401525f818161151301528181611dc801528181611e2b015281816125b2015281816129340152818161297001528181612b610152612d1e01525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612cf801525f6119f201525f8181611b13015281816126a30152818161271b0152612e5c01525f818161097201528181610e06015281816113e401528181611ae701526126ef01525f8181610de50152818161266f0152612e1801525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d6a01525f81816101cb01528181610386015281816108b001526132e001525f8181610676015281816106f20152818161076601528181610831015261086901525f818161144b015281816116ca015261180d01525f5050613a8d5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613558565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613558565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b591906135c6565b909155506101c69050844283610ee2565b6101f07f0000000000000000000000000000000000000000000000000000000000000000856135c6565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e6135ed565b8b6111e6565b8d8a8a898e8561023660208301836135ed565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613615565b8961028160408a018a613630565b604051610294979695949392919061369b565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f0000000000000000000000000000000000000000000000000000000000000000846135c6565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da9084906135c6565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b6104089060016135c6565b9350505f61041784898d6114bc565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b896114ed565b5f6104606002886111b2565b90508c61047a8261047460208401846135ed565b856111e6565b858b868461048b60208601866135ed565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613615565b6104dc896104d68a8d6136db565b90610652565b8d6104ea60408e018e613630565b6040516104fe9897969594939291906136ee565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61055760208301836135ed565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613615565b156105b9576105af856105aa6040870187613630565b6116a0565b90935090506105d1565b50346105d1856105cc6040870187613630565b6117eb565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611885565b90505b92915050565b5f61069a427f00000000000000000000000000000000000000000000000000000000000000006118a0565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b6135c6565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a06118b5565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b92505b50610807836118f4565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b6136db565b8a84610ee2565b61089b8961089561088e7f0000000000000000000000000000000000000000000000000000000000000000836135c6565b4290611921565b84610ee2565b6108a488611935565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d6136db565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611ad2565b915091508060095f82825461094191906135c6565b9091555061095c9050865f8461095681611b9f565b88611bc8565b61096681836135c6565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d3f565b91506109aa6109a58385610652565b611d88565b600680546002906109cb9084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118f4565b60068054601090610a1a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611ad2565b915091508060095f828254610a8d91906135c6565b90915550610aa89050835f84610aa281611b9f565b8a611db1565b610ab281836136db565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118f4565b60068054601090610b31908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b9f565b610b7383611b9f565b610b7d9190613775565b5f611fa1565b8e610b8e8482611fe0565b50505b5f610b9b846121cf565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613794565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612311565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d106118b5565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612397565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123c2565b612426565b15610e3c57610e3c612467565b610e4887858885612480565b91965094509250670de0b6b3a7640000610eca610e6587846135c6565b600254610e83908890600160801b90046001600160801b03166136db565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b1115610ed857610ed8612467565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e88866136db565b610f8891906137af565b85670de0b6b3a7640000610f9c878a6136db565b610fa691906137af565b8592919060016124c8565b6118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118f4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a7640000866137af565b6005546001600160801b031691908860016124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118f4565b600280545f906110a09084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118f4565b600280546010906110ef908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118f4565b6111269082613755565b600380546001600160801b03808416600160801b02911617905590505f61114c8361256c565b905061116a8161115b87611b9f565b61116590846137e6565b611fa1565b611173846125ac565b61117f5761117f612467565b5f6111898561260b565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112179084906135c6565b90915550505f838152600b6020526040812080548392906112399084906135c6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa6118b5565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612617565b93508761131c8589612637565b111561132a5761132a612467565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b93506113a48a670de0b6b3a7640000868c61264b565b509193509091506113b7905081836136db565b6113c190876136db565b95508861140e816114088d6113d6868c6136db565b8d6113e18782612757565b877f000000000000000000000000000000000000000000000000000000000000000061276c565b90612637565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461278c565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015611498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061380d565b5f6114cd6040830160208401613615565b156114d95750826114e6565b6114e384846127af565b90505b9392505050565b6002546001600160801b03168381101561150957611509612467565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611541908390600f0b6127c3565b101561154f5761154f612467565b60045461159990610fb190600160801b90046001600160801b031661157c670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908960016124c8565b600580546001600160801b03928316600160801b0292169190911790556115bf816118f4565b600280546001600160801b0319166001600160801b03929092169190911790556115e8856118f4565b6002805460109061160a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611637856118f4565b60048054601090611659908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116878361256c565b905061116a8161169688611b9f565b6111659084613775565b5f80843410156116c3576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611754573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117789190613794565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117bb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117e0919061380d565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af115801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f919061380d565b50505050565b5f825f190484118302158202611899575f80fd5b5091020490565b5f6118ab8284613838565b61066690846136db565b6002546004545f9161069a916001600160801b0390911690600f0b6127c3565b5f6118eb826118e5858888611885565b906127e8565b95945050505050565b5f6001600160801b0382111561191d57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161192f5782610666565b50919050565b6006545f908190611957908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611acd575f61198083836136db565b905061198f610fb1828661141f565b600680546010906119b1908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6119e985836127af90919063ffffffff16565b90505f611a16827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f828254611a2991906135c6565b90915550611a39905081836136db565b9150611a44826118f4565b600280545f90611a5e9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a8b8261284d565b600480545f90611a9f908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ade87856127af565b91505f611b0b837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611b37817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b5a57611b4982826136db565b611b5390846136db565b9250611b71565b611b6482826136db565b611b6e90846135c6565b92505b86861015611b9457611b84838789611885565b9250611b91828789611885565b91505b509550959350505050565b5f6001600160ff1b0382111561191d5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c10610fb182611bf4670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908a5f6124c8565b600580546001600160801b03928316600160801b029216919091179055611c36866118f4565b611c4090826137c6565b600480546001600160801b03928316600160801b029216919091179055611c66846118f4565b600280545f90611c809084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cad83612876565b600480545f90611cc1908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611cf1856118f4565b60028054601090611d13908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d5684611d508a888a611885565b906127af565b9050611d63888486611885565b611d6d90826135c6565b905086811115611d7d5786810391505b509695505050505050565b5f6001600160701b0382111561191d5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611df357507f0000000000000000000000000000000000000000000000000000000000000000611df185836136db565b105b15611e0057611e00612467565b6004549084900390600f0b611e158482613775565b905083611e2186611b9f565b138015611e5657507f0000000000000000000000000000000000000000000000000000000000000000611e5483836127c3565b105b15611e6357611e63612467565b600354600160801b90046001600160801b0316611ea4610fb182611e8f670de0b6b3a7640000886137af565b6005546001600160801b031691908c5f6124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611ece88826136db565b9050611ed9816118f4565b600380546001600160801b03928316600160801b029216919091179055611eff836118f4565b600280546001600160801b0319166001600160801b0392909216919091179055611f2882612876565b600480546001600160801b0319166001600160801b0392909216919091179055611f51876118f4565b60028054601090611f73908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fbc90610fb1906001600160801b031684846128b1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161202a916001600160801b0316906136db565b9050805f0361203d576001915050610669565b5f61204785612913565b9050805f0361205b57600192505050610669565b5f806120688385896129ae565b915091508061207d575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120b89291906138f6565b6040805180830381865af41580156120d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f6919061396b565b9150915061211461210682611b9f565b61210f9061398d565b612b1b565b925082612129575f9650505050505050610669565b612132826118f4565b600780545f9061214c9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612179816118f4565b6007805460109061219b908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121f687612caf565b6040518263ffffffff1660e01b815260040161221291906139a7565b6040805180830381865af415801561222c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225091906139b6565b915091508061226557505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122ca916135c6565b6122d491906136db565b9050805f036122ea57505f958695509350505050565b5f8087116122f8575f612303565b612303848884611885565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612334576123346139e4565b6040519080825280601f01601f19166020018201604052801561235e576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561237e578692505b828152825f602083013e90999098509650505050505050565b5f6123b78787876123b088670de0b6b3a76400006136db565b8787612de9565b979650505050505050565b5f6114e36124026123db84670de0b6b3a76400006136db565b611408670de0b6b3a76400006123f1818a61141f565b6123fb91906136db565b8790612637565b61241490670de0b6b3a76400006135c6565b611d5084670de0b6b3a76400006136db565b5f8061245c856124346118b5565b61243e91906135c6565b600254610e83908790600160801b90046001600160801b03166136db565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612490898789612e0b565b909250905061249f82896136db565b97505f6124ad82888a611885565b90506124b9818b6136db565b9a989950979650505050505050565b5f825f036124d75750846118eb565b8115612529576125086124ea84876135c6565b6124f48587610652565b6124fe888a610652565b611d5091906135c6565b90505f6125158588611921565b905080821015612523578091505b506118eb565b82850361253757505f6118eb565b61256261254484876136db565b61254e8587612637565b612558888a610652565b611d5091906136db565b9695505050505050565b5f612591600b5f61257e6002866111b2565b81526020019081526020015f2054611b9f565b6125a2600b5f61257e6001876111b2565b6106699190613775565b5f6125d77f000000000000000000000000000000000000000000000000000000000000000083612637565b6003546125ed91906001600160801b03166135c6565b600254612603906001600160801b031684610652565b101592915050565b5f610669826004611fe0565b5f6123b787878761263088670de0b6b3a76400006136db565b8787612e8a565b5f6106668383670de0b6b3a764000061278c565b5f80808061269b87866126948b61140861266d8c670de0b6b3a76400006136db565b7f000000000000000000000000000000000000000000000000000000000000000090612637565b919061278c565b93506126c7847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f6126e76126df89670de0b6b3a76400006136db565b8a908861278c565b9050612713817f0000000000000000000000000000000000000000000000000000000000000000612637565b935061273f847f0000000000000000000000000000000000000000000000000000000000000000610652565b61274990846135c6565b915050945094509450949050565b5f8183116127655781610666565b5090919050565b5f806127838461277d8a888a61278c565b9061141f565b9050611d638884865b5f825f1904841183021582026127a0575f80fd5b50910281810615159190040190565b5f61066683670de0b6b3a764000084611885565b5f806127cf8484612e9a565b9092509050806127e1576127e1612467565b5092915050565b5f815f036127ff5750670de0b6b3a7640000610669565b825f0361280d57505f610669565b5f61281783611b9f565b90505f61282b61282686611b9f565b612ed2565b9050818102612842670de0b6b3a7640000826139f8565b9050612562816130f7565b5f60016001607f1b0382111561191d5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612893575060016001607f1b0382135b1561191d5760405163a5353be560e01b815260040160405180910390fd5b5f806128bd845f613289565b6128c7845f613289565b6128d19190613775565b90505f8113156128ec576128e581866135c6565b945061290a565b5f81121561290a576128fd8161398d565b61290790866136db565b94505b50929392505050565b6003545f90819061292d906001600160801b03168461141f565b90506129597f0000000000000000000000000000000000000000000000000000000000000000826135c6565b6002546001600160801b0316111561192f576002547f0000000000000000000000000000000000000000000000000000000000000000906129a49083906001600160801b03166136db565b6114e691906136db565b6129b66134b9565b5f806129c184612caf565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129fb91906139a7565b6040805180830381865af4158015612a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3991906139b6565b9350905082612a4d57505f91506117e39050565b5f612a73612a6e84610160015185610140015161065290919063ffffffff16565b611b9f565b612a93612a6e85610120015186610100015161263790919063ffffffff16565b612a9d9190613775565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bd1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf59190613a24565b935093509350935080612c1057505f98975050505050505050565b868414612c4157612c20846118f4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c7257612c5183612876565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ca057612c82826118f4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cb7613503565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612daf9116613297565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612de192900416613297565b905292915050565b5f80612df988888888888861330b565b909250905080611d7d57611d7d612467565b5f80612e548561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e4a818c61141f565b61140891906136db565b9150612e80827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612df98888888888886133cf565b5f805f83612ea786611b9f565b612eb19190613775565b90505f811215612ec7575f80925092505061064b565b946001945092505050565b5f808213612ef35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f769084901c611b9f565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361311057505f919050565b680755bf798b4a1bf1e58212613139576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061256274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b9f565b5f8183136127655781610666565b5f80670de0b6b3a76400006132aa61066f565b6132b491906137af565b90508083116132c3575f6132cd565b6132cd81846136db565b91506114e6613304670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137af565b83906127af565b5f805f61331b898988888861348b565b9050613335866118e561332e8a8d6135c6565b8790610652565b9850613342858a86611885565b985088811015613358575f8092509250506133c4565b888103670de0b6b3a7640000811061338d5761338661337f670de0b6b3a76400008961141f565b82906127e8565b90506133a5565b6133a261337f670de0b6b3a7640000896127af565b90505b808910156133ba575f809350935050506133c4565b8803925060019150505b965096945050505050565b5f805f6133df898988888861348b565b90506133ef866118e5898b6135c6565b975087811015613405575f8092509250506133c4565b87810361341381868861278c565b9050670de0b6b3a764000081106134405761343961337f670de0b6b3a76400008961141f565b9050613458565b61345561337f670de0b6b3a7640000896127af565b90505b613462818661141f565b9050808a1015613479575f809350935050506133c4565b90980398600198509650505050505050565b5f61349685856127e8565b6134af6134a7866118e5868b612637565b85908561278c565b61256291906135c6565b6040518061012001604052806134cd613503565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561356b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613596575f80fd5b8501606081880312156135a7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610669576106696135b2565b6001600160a01b038116811461057e575f80fd5b5f602082840312156135fd575f80fd5b81356114e6816135d9565b801515811461057e575f80fd5b5f60208284031215613625575f80fd5b81356114e681613608565b5f808335601e19843603018112613645575f80fd5b83018035915067ffffffffffffffff82111561365f575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136ce60c083018486613673565b9998505050505050505050565b81810381811115610669576106696135b2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61372760e083018486613673565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127e1576127e16135b2565b6001600160801b038181168382160190808211156127e1576127e16135b2565b8181035f8312801583831316838312821617156127e1576127e16135b2565b5f602082840312156137a4575f80fd5b81516114e6816135d9565b8082028115828204841417610669576106696135b2565b6001600160801b038281168282160390808211156127e1576127e16135b2565b8082018281125f831280158216821582161715613805576138056135b2565b505092915050565b5f6020828403121561381d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261384657613846613824565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610669576106696135b2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613909828551613878565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561397c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a1576139a16135b2565b505f0390565b61018081016106698284613878565b5f80604083850312156139c7575f80fd5b8251915060208301516139d981613608565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a0657613a06613824565b600160ff1b82145f1984141615613a1f57613a1f6135b2565b500590565b5f805f8060808587031215613a37575f80fd5b84519350602085015192506040850151915060608501516135a78161360856fea26469706673582212204b0f5c410487b49731b8a68b5623f369dfbe74c911b1098ff8614c700245147e64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts deleted file mode 100644 index 7feb6e532..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StETHTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StETHTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts.map deleted file mode 100644 index 04c5a6b78..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/StETHTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6ImikC,KAAK,MAAM,EAAE;;;;CAIhlkC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.js deleted file mode 100644 index 8f47e9b03..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StETHTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506143fb8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f23806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f2338038062003f238339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8d620004965f395f50505f50505f8181610bf701526116fa01525f50505f818160f1015281816102f20152612d4401525f818161151301528181611dc801528181611e2b015281816125b2015281816129340152818161297001528181612b610152612d1e01525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612cf801525f6119f201525f8181611b13015281816126a30152818161271b0152612e5c01525f818161097201528181610e06015281816113e401528181611ae701526126ef01525f8181610de50152818161266f0152612e1801525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d6a01525f81816101cb01528181610386015281816108b001526132e001525f8181610676015281816106f20152818161076601528181610831015261086901525f818161144b015281816116ca015261180d01525f5050613a8d5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613558565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613558565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b591906135c6565b909155506101c69050844283610ee2565b6101f07f0000000000000000000000000000000000000000000000000000000000000000856135c6565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e6135ed565b8b6111e6565b8d8a8a898e8561023660208301836135ed565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613615565b8961028160408a018a613630565b604051610294979695949392919061369b565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f0000000000000000000000000000000000000000000000000000000000000000846135c6565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da9084906135c6565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b6104089060016135c6565b9350505f61041784898d6114bc565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b896114ed565b5f6104606002886111b2565b90508c61047a8261047460208401846135ed565b856111e6565b858b868461048b60208601866135ed565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613615565b6104dc896104d68a8d6136db565b90610652565b8d6104ea60408e018e613630565b6040516104fe9897969594939291906136ee565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61055760208301836135ed565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613615565b156105b9576105af856105aa6040870187613630565b6116a0565b90935090506105d1565b50346105d1856105cc6040870187613630565b6117eb565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611885565b90505b92915050565b5f61069a427f00000000000000000000000000000000000000000000000000000000000000006118a0565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b6135c6565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a06118b5565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b92505b50610807836118f4565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b6136db565b8a84610ee2565b61089b8961089561088e7f0000000000000000000000000000000000000000000000000000000000000000836135c6565b4290611921565b84610ee2565b6108a488611935565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d6136db565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611ad2565b915091508060095f82825461094191906135c6565b9091555061095c9050865f8461095681611b9f565b88611bc8565b61096681836135c6565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d3f565b91506109aa6109a58385610652565b611d88565b600680546002906109cb9084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118f4565b60068054601090610a1a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611ad2565b915091508060095f828254610a8d91906135c6565b90915550610aa89050835f84610aa281611b9f565b8a611db1565b610ab281836136db565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118f4565b60068054601090610b31908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b9f565b610b7383611b9f565b610b7d9190613775565b5f611fa1565b8e610b8e8482611fe0565b50505b5f610b9b846121cf565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613794565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612311565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d106118b5565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612397565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123c2565b612426565b15610e3c57610e3c612467565b610e4887858885612480565b91965094509250670de0b6b3a7640000610eca610e6587846135c6565b600254610e83908890600160801b90046001600160801b03166136db565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b1115610ed857610ed8612467565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e88866136db565b610f8891906137af565b85670de0b6b3a7640000610f9c878a6136db565b610fa691906137af565b8592919060016124c8565b6118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118f4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a7640000866137af565b6005546001600160801b031691908860016124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118f4565b600280545f906110a09084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118f4565b600280546010906110ef908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118f4565b6111269082613755565b600380546001600160801b03808416600160801b02911617905590505f61114c8361256c565b905061116a8161115b87611b9f565b61116590846137e6565b611fa1565b611173846125ac565b61117f5761117f612467565b5f6111898561260b565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112179084906135c6565b90915550505f838152600b6020526040812080548392906112399084906135c6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa6118b5565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612617565b93508761131c8589612637565b111561132a5761132a612467565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b93506113a48a670de0b6b3a7640000868c61264b565b509193509091506113b7905081836136db565b6113c190876136db565b95508861140e816114088d6113d6868c6136db565b8d6113e18782612757565b877f000000000000000000000000000000000000000000000000000000000000000061276c565b90612637565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461278c565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015611498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061380d565b5f6114cd6040830160208401613615565b156114d95750826114e6565b6114e384846127af565b90505b9392505050565b6002546001600160801b03168381101561150957611509612467565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611541908390600f0b6127c3565b101561154f5761154f612467565b60045461159990610fb190600160801b90046001600160801b031661157c670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908960016124c8565b600580546001600160801b03928316600160801b0292169190911790556115bf816118f4565b600280546001600160801b0319166001600160801b03929092169190911790556115e8856118f4565b6002805460109061160a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611637856118f4565b60048054601090611659908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116878361256c565b905061116a8161169688611b9f565b6111659084613775565b5f80843410156116c3576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611754573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117789190613794565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117bb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117e0919061380d565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af115801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f919061380d565b50505050565b5f825f190484118302158202611899575f80fd5b5091020490565b5f6118ab8284613838565b61066690846136db565b6002546004545f9161069a916001600160801b0390911690600f0b6127c3565b5f6118eb826118e5858888611885565b906127e8565b95945050505050565b5f6001600160801b0382111561191d57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161192f5782610666565b50919050565b6006545f908190611957908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611acd575f61198083836136db565b905061198f610fb1828661141f565b600680546010906119b1908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6119e985836127af90919063ffffffff16565b90505f611a16827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f828254611a2991906135c6565b90915550611a39905081836136db565b9150611a44826118f4565b600280545f90611a5e9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a8b8261284d565b600480545f90611a9f908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ade87856127af565b91505f611b0b837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611b37817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b5a57611b4982826136db565b611b5390846136db565b9250611b71565b611b6482826136db565b611b6e90846135c6565b92505b86861015611b9457611b84838789611885565b9250611b91828789611885565b91505b509550959350505050565b5f6001600160ff1b0382111561191d5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c10610fb182611bf4670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908a5f6124c8565b600580546001600160801b03928316600160801b029216919091179055611c36866118f4565b611c4090826137c6565b600480546001600160801b03928316600160801b029216919091179055611c66846118f4565b600280545f90611c809084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cad83612876565b600480545f90611cc1908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611cf1856118f4565b60028054601090611d13908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d5684611d508a888a611885565b906127af565b9050611d63888486611885565b611d6d90826135c6565b905086811115611d7d5786810391505b509695505050505050565b5f6001600160701b0382111561191d5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611df357507f0000000000000000000000000000000000000000000000000000000000000000611df185836136db565b105b15611e0057611e00612467565b6004549084900390600f0b611e158482613775565b905083611e2186611b9f565b138015611e5657507f0000000000000000000000000000000000000000000000000000000000000000611e5483836127c3565b105b15611e6357611e63612467565b600354600160801b90046001600160801b0316611ea4610fb182611e8f670de0b6b3a7640000886137af565b6005546001600160801b031691908c5f6124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611ece88826136db565b9050611ed9816118f4565b600380546001600160801b03928316600160801b029216919091179055611eff836118f4565b600280546001600160801b0319166001600160801b0392909216919091179055611f2882612876565b600480546001600160801b0319166001600160801b0392909216919091179055611f51876118f4565b60028054601090611f73908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fbc90610fb1906001600160801b031684846128b1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161202a916001600160801b0316906136db565b9050805f0361203d576001915050610669565b5f61204785612913565b9050805f0361205b57600192505050610669565b5f806120688385896129ae565b915091508061207d575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120b89291906138f6565b6040805180830381865af41580156120d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f6919061396b565b9150915061211461210682611b9f565b61210f9061398d565b612b1b565b925082612129575f9650505050505050610669565b612132826118f4565b600780545f9061214c9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612179816118f4565b6007805460109061219b908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121f687612caf565b6040518263ffffffff1660e01b815260040161221291906139a7565b6040805180830381865af415801561222c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225091906139b6565b915091508061226557505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122ca916135c6565b6122d491906136db565b9050805f036122ea57505f958695509350505050565b5f8087116122f8575f612303565b612303848884611885565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612334576123346139e4565b6040519080825280601f01601f19166020018201604052801561235e576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561237e578692505b828152825f602083013e90999098509650505050505050565b5f6123b78787876123b088670de0b6b3a76400006136db565b8787612de9565b979650505050505050565b5f6114e36124026123db84670de0b6b3a76400006136db565b611408670de0b6b3a76400006123f1818a61141f565b6123fb91906136db565b8790612637565b61241490670de0b6b3a76400006135c6565b611d5084670de0b6b3a76400006136db565b5f8061245c856124346118b5565b61243e91906135c6565b600254610e83908790600160801b90046001600160801b03166136db565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612490898789612e0b565b909250905061249f82896136db565b97505f6124ad82888a611885565b90506124b9818b6136db565b9a989950979650505050505050565b5f825f036124d75750846118eb565b8115612529576125086124ea84876135c6565b6124f48587610652565b6124fe888a610652565b611d5091906135c6565b90505f6125158588611921565b905080821015612523578091505b506118eb565b82850361253757505f6118eb565b61256261254484876136db565b61254e8587612637565b612558888a610652565b611d5091906136db565b9695505050505050565b5f612591600b5f61257e6002866111b2565b81526020019081526020015f2054611b9f565b6125a2600b5f61257e6001876111b2565b6106699190613775565b5f6125d77f000000000000000000000000000000000000000000000000000000000000000083612637565b6003546125ed91906001600160801b03166135c6565b600254612603906001600160801b031684610652565b101592915050565b5f610669826004611fe0565b5f6123b787878761263088670de0b6b3a76400006136db565b8787612e8a565b5f6106668383670de0b6b3a764000061278c565b5f80808061269b87866126948b61140861266d8c670de0b6b3a76400006136db565b7f000000000000000000000000000000000000000000000000000000000000000090612637565b919061278c565b93506126c7847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f6126e76126df89670de0b6b3a76400006136db565b8a908861278c565b9050612713817f0000000000000000000000000000000000000000000000000000000000000000612637565b935061273f847f0000000000000000000000000000000000000000000000000000000000000000610652565b61274990846135c6565b915050945094509450949050565b5f8183116127655781610666565b5090919050565b5f806127838461277d8a888a61278c565b9061141f565b9050611d638884865b5f825f1904841183021582026127a0575f80fd5b50910281810615159190040190565b5f61066683670de0b6b3a764000084611885565b5f806127cf8484612e9a565b9092509050806127e1576127e1612467565b5092915050565b5f815f036127ff5750670de0b6b3a7640000610669565b825f0361280d57505f610669565b5f61281783611b9f565b90505f61282b61282686611b9f565b612ed2565b9050818102612842670de0b6b3a7640000826139f8565b9050612562816130f7565b5f60016001607f1b0382111561191d5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612893575060016001607f1b0382135b1561191d5760405163a5353be560e01b815260040160405180910390fd5b5f806128bd845f613289565b6128c7845f613289565b6128d19190613775565b90505f8113156128ec576128e581866135c6565b945061290a565b5f81121561290a576128fd8161398d565b61290790866136db565b94505b50929392505050565b6003545f90819061292d906001600160801b03168461141f565b90506129597f0000000000000000000000000000000000000000000000000000000000000000826135c6565b6002546001600160801b0316111561192f576002547f0000000000000000000000000000000000000000000000000000000000000000906129a49083906001600160801b03166136db565b6114e691906136db565b6129b66134b9565b5f806129c184612caf565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129fb91906139a7565b6040805180830381865af4158015612a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3991906139b6565b9350905082612a4d57505f91506117e39050565b5f612a73612a6e84610160015185610140015161065290919063ffffffff16565b611b9f565b612a93612a6e85610120015186610100015161263790919063ffffffff16565b612a9d9190613775565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bd1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf59190613a24565b935093509350935080612c1057505f98975050505050505050565b868414612c4157612c20846118f4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c7257612c5183612876565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ca057612c82826118f4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cb7613503565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612daf9116613297565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612de192900416613297565b905292915050565b5f80612df988888888888861330b565b909250905080611d7d57611d7d612467565b5f80612e548561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e4a818c61141f565b61140891906136db565b9150612e80827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612df98888888888886133cf565b5f805f83612ea786611b9f565b612eb19190613775565b90505f811215612ec7575f80925092505061064b565b946001945092505050565b5f808213612ef35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f769084901c611b9f565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361311057505f919050565b680755bf798b4a1bf1e58212613139576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061256274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b9f565b5f8183136127655781610666565b5f80670de0b6b3a76400006132aa61066f565b6132b491906137af565b90508083116132c3575f6132cd565b6132cd81846136db565b91506114e6613304670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137af565b83906127af565b5f805f61331b898988888861348b565b9050613335866118e561332e8a8d6135c6565b8790610652565b9850613342858a86611885565b985088811015613358575f8092509250506133c4565b888103670de0b6b3a7640000811061338d5761338661337f670de0b6b3a76400008961141f565b82906127e8565b90506133a5565b6133a261337f670de0b6b3a7640000896127af565b90505b808910156133ba575f809350935050506133c4565b8803925060019150505b965096945050505050565b5f805f6133df898988888861348b565b90506133ef866118e5898b6135c6565b975087811015613405575f8092509250506133c4565b87810361341381868861278c565b9050670de0b6b3a764000081106134405761343961337f670de0b6b3a76400008961141f565b9050613458565b61345561337f670de0b6b3a7640000896127af565b90505b613462818661141f565b9050808a1015613479575f809350935050506133c4565b90980398600198509650505050505050565b5f61349685856127e8565b6134af6134a7866118e5868b612637565b85908561278c565b61256291906135c6565b6040518061012001604052806134cd613503565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561356b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613596575f80fd5b8501606081880312156135a7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610669576106696135b2565b6001600160a01b038116811461057e575f80fd5b5f602082840312156135fd575f80fd5b81356114e6816135d9565b801515811461057e575f80fd5b5f60208284031215613625575f80fd5b81356114e681613608565b5f808335601e19843603018112613645575f80fd5b83018035915067ffffffffffffffff82111561365f575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136ce60c083018486613673565b9998505050505050505050565b81810381811115610669576106696135b2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61372760e083018486613673565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127e1576127e16135b2565b6001600160801b038181168382160190808211156127e1576127e16135b2565b8181035f8312801583831316838312821617156127e1576127e16135b2565b5f602082840312156137a4575f80fd5b81516114e6816135d9565b8082028115828204841417610669576106696135b2565b6001600160801b038281168282160390808211156127e1576127e16135b2565b8082018281125f831280158216821582161715613805576138056135b2565b505092915050565b5f6020828403121561381d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261384657613846613824565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610669576106696135b2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613909828551613878565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561397c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a1576139a16135b2565b505f0390565b61018081016106698284613878565b5f80604083850312156139c7575f80fd5b8251915060208301516139d981613608565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a0657613a06613824565b600160ff1b82145f1984141615613a1f57613a1f6135b2565b500590565b5f805f8060808587031215613a37575f80fd5b84519350602085015192506040850151915060608501516135a78161360856fea26469706673582212204b0f5c410487b49731b8a68b5623f369dfbe74c911b1098ff8614c700245147e64736f6c63430008160033a26469706673582212208f9663bcdb18f79e2a6bdcfc71bc2be7938aeeae1f292f0056aa41a60f2b68cb64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts deleted file mode 100644 index e18b9ad5d..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts +++ /dev/null @@ -1,794 +0,0 @@ -export declare const StETHTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=StETHTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts.map deleted file mode 100644 index 3576b8d69..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget3.d.ts","sourceRoot":"","sources":["../src/StETHTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAo9B22+B,KAAK,MAAM,EAAE;;;;;CAKh5+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3.js b/packages/hyperdrive-artifacts/dist/StETHTarget3.js deleted file mode 100644 index 2e04d7704..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3.js +++ /dev/null @@ -1,986 +0,0 @@ -export const StETHTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003eb838038062003eb88339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a11620004a75f395f50505f50505f818161127a015261197501525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161211a0152818161217d01528181612a2601528181612d7d0152612db901525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d2b01525f8181611e80015261300801525f8181610ff50152611e5401525f612fbe01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129bc01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f818161194501528181611a880152612c1401525f5050613a115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134b1565b610064565b60405190815260200160405180910390f35b61003f61005f366004613510565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b613570565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f000000000000000000000000000000000000000000000000000000000000000089613583565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f000000000000000000000000000000000000000000000000000000000000000082613570565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f000000000000000000000000000000000000000000000000000000000000000082613583565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b0390911690613583565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610417908390613570565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613614565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613623565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613614565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613623565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a84836105838187613583565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e919061364e565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c9190613570565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b9050610756602085018561364e565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b01613676565b866107a160408c018c613691565b6040516107b497969594939291906136d4565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613727565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610995919061373e565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c61364e565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b03602082018261364e565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b406040870160208801613676565b87610b4e6040890189613691565b604051610b6197969594939291906136d4565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb2602083018361364e565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c396040850160208601613676565b15610c5e57610c5485610c4f6040870187613691565b61191b565b9093509050610c76565b5034610c7685610c716040870187613691565b611a66565b610c7e611b00565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b12565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b613570565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b613583565b8a84611b27565b610f1e89610f18610f117f000000000000000000000000000000000000000000000000000000000000000083613570565b4290611c60565b84611b27565b610f2788611c6e565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d613583565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e0b565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e3f565b915091508060095f828254610fc49190613570565b90915550610fdf9050865f84610fd981611735565b88611f0c565b610fe98183613570565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612083565b915061102d61102883856120c6565b6120da565b6006805460029061104e9084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e0b565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e3f565b915091508060095f8282546111109190613570565b9091555061112b9050835f8461112581611735565b8a612103565b6111358183613583565b915061114461102883876120c6565b600680546002906111659084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b61120091906137a9565b5f6122f3565b8e6112118482612332565b50505b5f61121e84612521565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f891906137c8565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612663565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e0b565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e0b565b6113c691906137a9565b92915050565b5f805f806113da8a8a6126eb565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8b7f0000000000000000000000000000000000000000000000000000000000000000612723565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8d7f00000000000000000000000000000000000000000000000000000000000000006127dc565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c84612896565b509093505f9050611537848f613570565b90505f6115578b8b61154887611735565b611552908e6137e3565b6128de565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612940565b611735565b61159583611735565b6115a261158786856120c6565b6115ac91906137a9565b6115b691906137a9565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612950565b6115f585670de0b6b3a7640000613583565b906117a3565b611603613402565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612973565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612973565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129e0565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e8908490613570565b90915550505f838152600b60205260408120805483929061180a908490613570565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612332565b5f818313611876578261008d565b50919050565b5f8061188884846126eb565b90925090508061189a5761189a612b74565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b8d565b5f808434101561193e576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f391906137c8565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a5b9190613623565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af1158015611ad6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611afa9190613623565b50505050565b5f610bfc670de0b6b3a7640000612bfc565b5f611b1d828461381e565b61008d9084613583565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b525750505050565b5f848152600860205260408120546001600160801b031690819003611baa57611b7a836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c27565b611bfb611bf6670de0b6b3a7640000611bc38886613583565b611bcd9190613727565b85670de0b6b3a7640000611be1878a613583565b611beb9190613727565b859291906001612c85565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c30846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611c90908490600160801b90046001600160801b03166120c6565b6006546201000090046001600160701b03169250905081811115611e06575f611cb98383613583565b9050611cc8611bf68286612d1f565b60068054601090611cea908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d2285836117a390919063ffffffff16565b90505f611d4f827f00000000000000000000000000000000000000000000000000000000000000006120c6565b90508060095f828254611d629190613570565b90915550611d7290508183613583565b9150611d7d826118a1565b600280545f90611d979084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dc482612d33565b600480545f90611dd8908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e345760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e4b87856117a3565b91505f611e78837f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050611ea4817f00000000000000000000000000000000000000000000000000000000000000006120c6565b91508315611ec757611eb68282613583565b611ec09084613583565b9250611ede565b611ed18282613583565b611edb9084613570565b92505b86861015611f0157611ef1838789611788565b9250611efe828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f54611bf682611f38670de0b6b3a764000086613727565b600554600160801b90046001600160801b031691908a5f612c85565b600580546001600160801b03928316600160801b029216919091179055611f7a866118a1565b611f849082613831565b600480546001600160801b03928316600160801b029216919091179055611faa846118a1565b600280545f90611fc49084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ff1836118ca565b600480545f90612005908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612035856118a1565b60028054601090612057908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612094846115f58a888a611788565b90506120a1888486611788565b6120ab9082613570565b9050868111156120bb5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061214557507f00000000000000000000000000000000000000000000000000000000000000006121438583613583565b105b1561215257612152612b74565b6004549084900390600f0b61216784826137a9565b90508361217386611735565b1380156121a857507f00000000000000000000000000000000000000000000000000000000000000006121a6838361187c565b105b156121b5576121b5612b74565b600354600160801b90046001600160801b03166121f6611bf6826121e1670de0b6b3a764000088613727565b6005546001600160801b031691908c5f612c85565b600580546001600160801b0319166001600160801b03929092169190911790556122208882613583565b905061222b816118a1565b600380546001600160801b03928316600160801b029216919091179055612251836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561227a826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122a3876118a1565b600280546010906122c5908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461230e90611bf6906001600160801b031684846128de565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161237c916001600160801b031690613583565b9050805f0361238f5760019150506113c6565b5f61239985612d5c565b9050805f036123ad576001925050506113c6565b5f806123ba838589612df7565b91509150806123cf575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161240a92919061387e565b6040805180830381865af4158015612424573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061244891906138f3565b9150915061246661245882611735565b61246190613915565b6129e0565b92508261247b575f96505050505050506113c6565b612484826118a1565b600780545f9061249e9084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124cb816118a1565b600780546010906124ed908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612548876115fb565b6040518263ffffffff1660e01b81526004016125649190613614565b6040805180830381865af415801561257e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a2919061392f565b91509150806125b757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161261c91613570565b6126269190613583565b9050805f0361263c57505f958695509350505050565b5f80871161264a575f612655565b612655848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126865761268661395d565b6040519080825280601f01601f1916602001820160405280156126b0576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126d0578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126f886611735565b61270291906137a9565b90505f811215612718575f809250925050610cf0565b946001945092505050565b5f805f6127338888888888612f5f565b90505f61275d670de0b6b3a764000061274c8888612d1f565b6127569190613570565b83906117a3565b9050670de0b6b3a764000081106127915761278a612783670de0b6b3a7640000896117a3565b8290612b8d565b90506127a9565b6127a6612783670de0b6b3a764000089612d1f565b90505b6127b381866117a3565b9050888110156127ca575f809350935050506126e1565b97909703976001975095505050505050565b5f805f6127ec8989888888612f8d565b9050612806866119156127ff8a8d613570565b87906120c6565b9850612813858a86611788565b985088811015612829575f8092509250506115c5565b888103670de0b6b3a7640000811061285757612850612783670de0b6b3a764000089612d1f565b905061286f565b61286c612783670de0b6b3a7640000896117a3565b90505b80891015612884575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128a6898789612fb1565b90925090506128b58289613583565b97505f6128c382888a611788565b90506128cf818b613583565b9a989950979650505050505050565b5f806128ea845f613036565b6128f4845f613036565b6128fe91906137a9565b90505f811315612919576129128186613570565b9450612937565b5f8112156129375761292a81613915565b6129349086613583565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612964575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612986610cf7565b6129909190613727565b905080831161299f575f6129a9565b6129a98184613583565b915061008d612756670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613727565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aba9190613971565b935093509350935080612ad557505f98975050505050505050565b868414612b0657612ae5846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3757612b16836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b6557612b47826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ba45750670de0b6b3a76400006113c6565b825f03612bb257505f6113c6565b5f612bbc83611735565b90505f612bd0612bcb86611735565b61304b565b9050818102612be7670de0b6b3a7640000826139af565b9050612bf281613270565b9695505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015612c61573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613623565b5f825f03612c94575084610075565b8115612ce657612cc5612ca78487613570565b612cb185876120c6565b612cbb888a6120c6565b6115f59190613570565b90505f612cd28588611c60565b905080821015612ce0578091505b50610075565b828503612cf457505f610075565b610072612d018487613583565b612d0b8587612940565b612d15888a6120c6565b6115f59190613583565b5f61008d83670de0b6b3a764000084612950565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d76906001600160801b031684612d1f565b9050612da27f000000000000000000000000000000000000000000000000000000000000000082613570565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612ded9083906001600160801b0316613583565b61008d9190613583565b612dff613457565b5f80612e0a846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e449190613614565b6040805180830381865af4158015612e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e82919061392f565b9350905082612e9657505f9150611a5e9050565b5f612eb76115878461016001518561014001516120c690919063ffffffff16565b612ed761158785610120015186610100015161294090919063ffffffff16565b612ee191906137a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f6a8585612b8d565b612f83612f7b86611915868b6120c6565b859085611788565b6100729190613570565b5f612f988585612b8d565b612f83612fa986611915868b612940565b859085612950565b5f8061300085612ffa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ff0818c612d1f565b612ffa9190613583565b90612940565b915061302c827f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050935093915050565b5f818313613044578161008d565b5090919050565b5f80821361306c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130ef9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328957505f919050565b680755bf798b4a1bf1e582126132b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bf274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061346b613402565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a086880312156134c5575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156134f7575f80fd5b613503888289016134a1565b9150509295509295909350565b5f805f60608486031215613522575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613546575f80fd5b613552868287016134a1565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c661355c565b818103818111156113c6576113c661355c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613596565b5f60208284031215613633575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f6020828403121561365e575f80fd5b813561008d8161363a565b8015158114610bd9575f80fd5b5f60208284031215613686575f80fd5b813561008d81613669565b5f808335601e198436030181126136a6575f80fd5b83018035915067ffffffffffffffff8211156136c0575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c661355c565b5f805f60608486031215613750575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a61355c565b6001600160801b0381811683821601908082111561189a5761189a61355c565b8181035f83128015838313168383128216171561189a5761189a61355c565b5f602082840312156137d8575f80fd5b815161008d8161363a565b8082018281125f8312801582168215821617156138025761380261355c565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261382c5761382c61380a565b500690565b6001600160801b0382811682821603908082111561189a5761189a61355c565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c661355c565b5f6102a082019050613891828551613596565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613904575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139295761392961355c565b505f0390565b5f8060408385031215613940575f80fd5b82519150602083015161395281613669565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613984575f80fd5b84519350602085015192506040850151915060608501516139a481613669565b939692955090935050565b5f826139bd576139bd61380a565b600160ff1b82145f19841416156139d6576139d661355c565b50059056fea26469706673582212208458dfed66f8b87f8b7842cb4fd793a0429b184dce770725fe150df075b96c2a64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts deleted file mode 100644 index 48a852eec..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StETHTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StETHTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts.map deleted file mode 100644 index 0e305196e..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/StETHTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I60jC,KAAK,MAAM,EAAE;;;;CAI13jC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.js deleted file mode 100644 index 3da9c5c80..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StETHTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506143908061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613eb8806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003eb838038062003eb88339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a11620004a75f395f50505f50505f818161127a015261197501525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161211a0152818161217d01528181612a2601528181612d7d0152612db901525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d2b01525f8181611e80015261300801525f8181610ff50152611e5401525f612fbe01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129bc01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f818161194501528181611a880152612c1401525f5050613a115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134b1565b610064565b60405190815260200160405180910390f35b61003f61005f366004613510565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b613570565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f000000000000000000000000000000000000000000000000000000000000000089613583565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f000000000000000000000000000000000000000000000000000000000000000082613570565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f000000000000000000000000000000000000000000000000000000000000000082613583565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b0390911690613583565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610417908390613570565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613614565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613623565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613614565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613623565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a84836105838187613583565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e919061364e565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c9190613570565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b9050610756602085018561364e565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b01613676565b866107a160408c018c613691565b6040516107b497969594939291906136d4565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613727565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610995919061373e565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c61364e565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b03602082018261364e565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b406040870160208801613676565b87610b4e6040890189613691565b604051610b6197969594939291906136d4565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb2602083018361364e565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c396040850160208601613676565b15610c5e57610c5485610c4f6040870187613691565b61191b565b9093509050610c76565b5034610c7685610c716040870187613691565b611a66565b610c7e611b00565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b12565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b613570565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b613583565b8a84611b27565b610f1e89610f18610f117f000000000000000000000000000000000000000000000000000000000000000083613570565b4290611c60565b84611b27565b610f2788611c6e565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d613583565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e0b565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e3f565b915091508060095f828254610fc49190613570565b90915550610fdf9050865f84610fd981611735565b88611f0c565b610fe98183613570565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612083565b915061102d61102883856120c6565b6120da565b6006805460029061104e9084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e0b565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e3f565b915091508060095f8282546111109190613570565b9091555061112b9050835f8461112581611735565b8a612103565b6111358183613583565b915061114461102883876120c6565b600680546002906111659084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b61120091906137a9565b5f6122f3565b8e6112118482612332565b50505b5f61121e84612521565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f891906137c8565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612663565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e0b565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e0b565b6113c691906137a9565b92915050565b5f805f806113da8a8a6126eb565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8b7f0000000000000000000000000000000000000000000000000000000000000000612723565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8d7f00000000000000000000000000000000000000000000000000000000000000006127dc565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c84612896565b509093505f9050611537848f613570565b90505f6115578b8b61154887611735565b611552908e6137e3565b6128de565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612940565b611735565b61159583611735565b6115a261158786856120c6565b6115ac91906137a9565b6115b691906137a9565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612950565b6115f585670de0b6b3a7640000613583565b906117a3565b611603613402565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612973565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612973565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129e0565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e8908490613570565b90915550505f838152600b60205260408120805483929061180a908490613570565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612332565b5f818313611876578261008d565b50919050565b5f8061188884846126eb565b90925090508061189a5761189a612b74565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b8d565b5f808434101561193e576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f391906137c8565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a5b9190613623565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af1158015611ad6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611afa9190613623565b50505050565b5f610bfc670de0b6b3a7640000612bfc565b5f611b1d828461381e565b61008d9084613583565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b525750505050565b5f848152600860205260408120546001600160801b031690819003611baa57611b7a836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c27565b611bfb611bf6670de0b6b3a7640000611bc38886613583565b611bcd9190613727565b85670de0b6b3a7640000611be1878a613583565b611beb9190613727565b859291906001612c85565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c30846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611c90908490600160801b90046001600160801b03166120c6565b6006546201000090046001600160701b03169250905081811115611e06575f611cb98383613583565b9050611cc8611bf68286612d1f565b60068054601090611cea908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d2285836117a390919063ffffffff16565b90505f611d4f827f00000000000000000000000000000000000000000000000000000000000000006120c6565b90508060095f828254611d629190613570565b90915550611d7290508183613583565b9150611d7d826118a1565b600280545f90611d979084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dc482612d33565b600480545f90611dd8908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e345760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e4b87856117a3565b91505f611e78837f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050611ea4817f00000000000000000000000000000000000000000000000000000000000000006120c6565b91508315611ec757611eb68282613583565b611ec09084613583565b9250611ede565b611ed18282613583565b611edb9084613570565b92505b86861015611f0157611ef1838789611788565b9250611efe828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f54611bf682611f38670de0b6b3a764000086613727565b600554600160801b90046001600160801b031691908a5f612c85565b600580546001600160801b03928316600160801b029216919091179055611f7a866118a1565b611f849082613831565b600480546001600160801b03928316600160801b029216919091179055611faa846118a1565b600280545f90611fc49084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ff1836118ca565b600480545f90612005908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612035856118a1565b60028054601090612057908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612094846115f58a888a611788565b90506120a1888486611788565b6120ab9082613570565b9050868111156120bb5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061214557507f00000000000000000000000000000000000000000000000000000000000000006121438583613583565b105b1561215257612152612b74565b6004549084900390600f0b61216784826137a9565b90508361217386611735565b1380156121a857507f00000000000000000000000000000000000000000000000000000000000000006121a6838361187c565b105b156121b5576121b5612b74565b600354600160801b90046001600160801b03166121f6611bf6826121e1670de0b6b3a764000088613727565b6005546001600160801b031691908c5f612c85565b600580546001600160801b0319166001600160801b03929092169190911790556122208882613583565b905061222b816118a1565b600380546001600160801b03928316600160801b029216919091179055612251836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561227a826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122a3876118a1565b600280546010906122c5908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461230e90611bf6906001600160801b031684846128de565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161237c916001600160801b031690613583565b9050805f0361238f5760019150506113c6565b5f61239985612d5c565b9050805f036123ad576001925050506113c6565b5f806123ba838589612df7565b91509150806123cf575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161240a92919061387e565b6040805180830381865af4158015612424573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061244891906138f3565b9150915061246661245882611735565b61246190613915565b6129e0565b92508261247b575f96505050505050506113c6565b612484826118a1565b600780545f9061249e9084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124cb816118a1565b600780546010906124ed908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612548876115fb565b6040518263ffffffff1660e01b81526004016125649190613614565b6040805180830381865af415801561257e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a2919061392f565b91509150806125b757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161261c91613570565b6126269190613583565b9050805f0361263c57505f958695509350505050565b5f80871161264a575f612655565b612655848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126865761268661395d565b6040519080825280601f01601f1916602001820160405280156126b0576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126d0578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126f886611735565b61270291906137a9565b90505f811215612718575f809250925050610cf0565b946001945092505050565b5f805f6127338888888888612f5f565b90505f61275d670de0b6b3a764000061274c8888612d1f565b6127569190613570565b83906117a3565b9050670de0b6b3a764000081106127915761278a612783670de0b6b3a7640000896117a3565b8290612b8d565b90506127a9565b6127a6612783670de0b6b3a764000089612d1f565b90505b6127b381866117a3565b9050888110156127ca575f809350935050506126e1565b97909703976001975095505050505050565b5f805f6127ec8989888888612f8d565b9050612806866119156127ff8a8d613570565b87906120c6565b9850612813858a86611788565b985088811015612829575f8092509250506115c5565b888103670de0b6b3a7640000811061285757612850612783670de0b6b3a764000089612d1f565b905061286f565b61286c612783670de0b6b3a7640000896117a3565b90505b80891015612884575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128a6898789612fb1565b90925090506128b58289613583565b97505f6128c382888a611788565b90506128cf818b613583565b9a989950979650505050505050565b5f806128ea845f613036565b6128f4845f613036565b6128fe91906137a9565b90505f811315612919576129128186613570565b9450612937565b5f8112156129375761292a81613915565b6129349086613583565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612964575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612986610cf7565b6129909190613727565b905080831161299f575f6129a9565b6129a98184613583565b915061008d612756670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613727565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aba9190613971565b935093509350935080612ad557505f98975050505050505050565b868414612b0657612ae5846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3757612b16836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b6557612b47826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ba45750670de0b6b3a76400006113c6565b825f03612bb257505f6113c6565b5f612bbc83611735565b90505f612bd0612bcb86611735565b61304b565b9050818102612be7670de0b6b3a7640000826139af565b9050612bf281613270565b9695505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015612c61573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613623565b5f825f03612c94575084610075565b8115612ce657612cc5612ca78487613570565b612cb185876120c6565b612cbb888a6120c6565b6115f59190613570565b90505f612cd28588611c60565b905080821015612ce0578091505b50610075565b828503612cf457505f610075565b610072612d018487613583565b612d0b8587612940565b612d15888a6120c6565b6115f59190613583565b5f61008d83670de0b6b3a764000084612950565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d76906001600160801b031684612d1f565b9050612da27f000000000000000000000000000000000000000000000000000000000000000082613570565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612ded9083906001600160801b0316613583565b61008d9190613583565b612dff613457565b5f80612e0a846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e449190613614565b6040805180830381865af4158015612e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e82919061392f565b9350905082612e9657505f9150611a5e9050565b5f612eb76115878461016001518561014001516120c690919063ffffffff16565b612ed761158785610120015186610100015161294090919063ffffffff16565b612ee191906137a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f6a8585612b8d565b612f83612f7b86611915868b6120c6565b859085611788565b6100729190613570565b5f612f988585612b8d565b612f83612fa986611915868b612940565b859085612950565b5f8061300085612ffa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ff0818c612d1f565b612ffa9190613583565b90612940565b915061302c827f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050935093915050565b5f818313613044578161008d565b5090919050565b5f80821361306c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130ef9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328957505f919050565b680755bf798b4a1bf1e582126132b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bf274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061346b613402565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a086880312156134c5575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156134f7575f80fd5b613503888289016134a1565b9150509295509295909350565b5f805f60608486031215613522575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613546575f80fd5b613552868287016134a1565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c661355c565b818103818111156113c6576113c661355c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613596565b5f60208284031215613633575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f6020828403121561365e575f80fd5b813561008d8161363a565b8015158114610bd9575f80fd5b5f60208284031215613686575f80fd5b813561008d81613669565b5f808335601e198436030181126136a6575f80fd5b83018035915067ffffffffffffffff8211156136c0575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c661355c565b5f805f60608486031215613750575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a61355c565b6001600160801b0381811683821601908082111561189a5761189a61355c565b8181035f83128015838313168383128216171561189a5761189a61355c565b5f602082840312156137d8575f80fd5b815161008d8161363a565b8082018281125f8312801582168215821617156138025761380261355c565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261382c5761382c61380a565b500690565b6001600160801b0382811682821603908082111561189a5761189a61355c565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c661355c565b5f6102a082019050613891828551613596565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613904575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139295761392961355c565b505f0390565b5f8060408385031215613940575f80fd5b82519150602083015161395281613669565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613984575f80fd5b84519350602085015192506040850151915060608501516139a481613669565b939692955090935050565b5f826139bd576139bd61380a565b600160ff1b82145f19841416156139d6576139d661355c565b50059056fea26469706673582212208458dfed66f8b87f8b7842cb4fd793a0429b184dce770725fe150df075b96c2a64736f6c63430008160033a264697066735822122037be4f2b1027034bc94dd996b1fa853dc58d1758fe04ca6e95fc2a2025d01fd664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts deleted file mode 100644 index 8b3fee025..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts +++ /dev/null @@ -1,781 +0,0 @@ -export declare const StETHTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=StETHTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts.map deleted file mode 100644 index 48a206c4e..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget4.d.ts","sourceRoot":"","sources":["../src/StETHTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm8B6xxB,KAAK,MAAM,EAAE;;;;;;CAMl0xB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4.js b/packages/hyperdrive-artifacts/dist/StETHTarget4.js deleted file mode 100644 index dcb831a5d..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4.js +++ /dev/null @@ -1,970 +0,0 @@ -export const StETHTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003191380380620031918339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612d9e620003f35f395f50505f50505f61099201525f50505f818161025f0152611f5d01525f81816117bd0152818161182001528181611b4d01528181611b8901528181611d7a0152611f3701525f81816105500152611f1101525f61139f01525f6114f401525f818161070d01526114c801525f50505f81816105710152611f8301525f818161064b01526123a301525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161109b0152818161224f01526122c601525f5050612d9e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612874565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128c6565b6100b1565b005b610056610092366004612874565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f60208501856128fa565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612922565b61016a60408c018c61293d565b60405161017c969594939291906129a8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f0000000000000000000000000000000000000000000000000000000000000000856129f5565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d560208701876128fa565b88610ea4565b5f6102f56102ec60208701876128fa565b88848989610a9e565b90945090506103048188612a1c565b92505f61031083610f41565b50905061032060208701876128fa565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612922565b8a888e8060400190610370919061293d565b604051610384989796959493929190612a2f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce60208301836128fa565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061110d565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612a76565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611129565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611149565b92505b506105a283611168565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a1c565b8a84611195565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612a76565b42906112ce565b84611195565b61063f886112e2565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a1c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61147f565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f6114b3565b915091508060095f8282546106dc9190612a76565b909155506106f79050865f846106f181611580565b886115a9565b6107018183612a76565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611720565b91506107456107408385611769565b61177d565b600680546002906107669084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611168565b600680546010906107b5908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461147f565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f8860016114b3565b915091508060095f8282546108289190612a76565b909155506108439050835f8461083d81611580565b8a6117a6565b61084d8183612a1c565b915061085c6107408387611769565b6006805460029061087d9084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611168565b600680546010906108cc908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611580565b61090e83611580565b6109189190612ac9565b5f611996565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612ae8565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119d5565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a5b565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a67565b9050610b2083611168565b610b2a9083612b03565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611168565b60078054601090610b75908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a82565b9350610bb08684611b18565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a1c565b9050805f03610c3a576001915050610dc7565b5f610c4485611b2c565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bc7565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ba1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c16565b91509150610d11610d0382611580565b610d0c90612c38565b611d34565b925082610d26575f9650505050505050610dc7565b610d2f82611168565b600780545f90610d499084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611168565b60078054601090610d98908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a1c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612a76565b90915550505f838152600b602052604081208054839290610ef7908490612a76565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611ec8565b6040518263ffffffff1660e01b8152600401610f849190612c52565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c61565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612a76565b6110469190612a1c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a67565b976001975095505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156110e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612c8f565b5f61111882846129f5565b6111229084612a1c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612002565b5f61115f82611159858888611a67565b90612027565b95945050505050565b5f6001600160801b0382111561119157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111c05750505050565b5f848152600860205260408120546001600160801b031690819003611218576111e883611168565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611295565b611269611264670de0b6b3a76400006112318886612a1c565b61123b9190612ca6565b85670de0b6b3a764000061124f878a612a1c565b6112599190612ca6565b859291906001612096565b611168565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61129e84611168565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112dc5782611122565b50919050565b6006545f908190611304908490600160801b90046001600160801b0316611769565b6006546201000090046001600160701b0316925090508181111561147a575f61132d8383612a1c565b905061133c6112648286612130565b6006805460109061135e908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611396858361214490919063ffffffff16565b90505f6113c3827f0000000000000000000000000000000000000000000000000000000000000000611769565b90508060095f8282546113d69190612a76565b909155506113e690508183612a1c565b91506113f182611168565b600280545f9061140b9084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061143882612158565b600480545f9061144c908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114a85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114bf8785612144565b91505f6114ec837f0000000000000000000000000000000000000000000000000000000000000000611769565b9050611518817f0000000000000000000000000000000000000000000000000000000000000000611769565b9150831561153b5761152a8282612a1c565b6115349084612a1c565b9250611552565b6115458282612a1c565b61154f9084612a76565b92505b8686101561157557611565838789611a67565b9250611572828789611a67565b91505b509550959350505050565b5f6001600160ff1b038211156111915760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115f1611264826115d5670de0b6b3a764000086612ca6565b600554600160801b90046001600160801b031691908a5f612096565b600580546001600160801b03928316600160801b02921691909117905561161786611168565b6116219082612b03565b600480546001600160801b03928316600160801b02921691909117905561164784611168565b600280545f906116619084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061168e83612181565b600480545f906116a2908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116d285611168565b600280546010906116f4908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611737846117318a888a611a67565b90612144565b9050611744888486611a67565b61174e9082612a76565b90508681111561175e5786810391505b509695505050505050565b5f6111228383670de0b6b3a7640000611a67565b5f6001600160701b038211156111915760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117e857507f00000000000000000000000000000000000000000000000000000000000000006117e68583612a1c565b105b156117f5576117f56121bc565b6004549084900390600f0b61180a8482612ac9565b90508361181686611580565b13801561184b57507f00000000000000000000000000000000000000000000000000000000000000006118498383612002565b105b15611858576118586121bc565b600354600160801b90046001600160801b031661189961126482611884670de0b6b3a764000088612ca6565b6005546001600160801b031691908c5f612096565b600580546001600160801b0319166001600160801b03929092169190911790556118c38882612a1c565b90506118ce81611168565b600380546001600160801b03928316600160801b0292169190911790556118f483611168565b600280546001600160801b0319166001600160801b039290921691909117905561191d82612181565b600480546001600160801b0319166001600160801b039290921691909117905561194687611168565b60028054601090611968908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119b190611264906001600160801b031684846121d5565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119f8576119f8612cea565b6040519080825280601f01601f191660200182016040528015611a22576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a42578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a7b575f80fd5b5091020490565b5f80611a8e8585611769565b9050611a9981612237565b9450845f03611aab575f915050611122565b849150611abe6040840160208501612922565b15611aed57611ae685611ad460208601866128fa565b611ae1604087018761293d565b612286565b9150611b10565b611b1085611afe60208601866128fa565b611b0b604087018761293d565b6122a0565b509392505050565b5f6111228383670de0b6b3a7640000612337565b6003545f908190611b46906001600160801b031684612130565b9050611b727f000000000000000000000000000000000000000000000000000000000000000082612a76565b6002546001600160801b031611156112dc576002547f000000000000000000000000000000000000000000000000000000000000000090611bbd9083906001600160801b0316612a1c565b6111229190612a1c565b611bcf6127d5565b5f80611bda84611ec8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c149190612c52565b6040805180830381865af4158015611c2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c529190612c61565b9350905082611c6657505f91506100a99050565b5f611c8c611c8784610160015185610140015161176990919063ffffffff16565b611580565b611cac611c87856101200151866101000151611b1890919063ffffffff16565b611cb69190612ac9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0e9190612cfe565b935093509350935080611e2957505f98975050505050505050565b868414611e5a57611e3984611168565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e8b57611e6a83612181565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611eb957611e9b82611168565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ed061281f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fc8911661235a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611ffa9290041661235a565b905292915050565b5f8061200e84846123ce565b909250905080612020576120206121bc565b5092915050565b5f815f0361203e5750670de0b6b3a7640000610dc7565b825f0361204c57505f610dc7565b5f61205683611580565b90505f61206a61206586611580565b612409565b9050818102612081670de0b6b3a764000082612d3c565b905061208c8161262e565b9695505050505050565b5f825f036120a557508461115f565b81156120f7576120d66120b88487612a76565b6120c28587611769565b6120cc888a611769565b6117319190612a76565b90505f6120e385886112ce565b9050808210156120f1578091505b5061115f565b82850361210557505f61115f565b61208c6121128487612a1c565b61211c8587611b18565b612126888a611769565b6117319190612a1c565b5f61112283670de0b6b3a764000084612337565b5f61112283670de0b6b3a764000084611a67565b5f60016001607f1b038211156111915760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061219e575060016001607f1b0382135b156111915760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121e1845f6127c0565b6121eb845f6127c0565b6121f59190612ac9565b90505f811315612210576122098186612a76565b945061222e565b5f81121561222e5761222181612c38565b61222b9086612a1c565b94505b50929392505050565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016110ce565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af115801561230c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123309190612c8f565b5050505050565b5f825f19048411830215820261234b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236d61040f565b6123779190612ca6565b9050808311612386575f612390565b6123908184612a1c565b91506111226123c7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ca6565b8390612144565b5f805f836123db86611580565b6123e59190612ac9565b90505f8112156123fb575f809250925050612402565b9150600190505b9250929050565b5f80821361242a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124ad9084901c611580565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361264757505f919050565b680755bf798b4a1bf1e58212612670576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061208c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611580565b5f8183136127ce5781611122565b5090919050565b6040518061012001604052806127e961281f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612886575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128aa575f80fd5b8401606081870312156128bb575f80fd5b809150509250925092565b5f80604083850312156128d7575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561290a575f80fd5b8135611122816128e6565b80151581146103f5575f80fd5b5f60208284031215612932575f80fd5b813561112281612915565b5f808335601e19843603018112612952575f80fd5b83018035915067ffffffffffffffff82111561296c575f80fd5b602001915036819003821315612402575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f6129d560a083018486612980565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a0357612a036129e1565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a08565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a6860e083018486612980565b9a9950505050505050505050565b80820180821115610dc757610dc7612a08565b6001600160701b0381811683821601908082111561202057612020612a08565b6001600160801b0381811683821601908082111561202057612020612a08565b8181035f83128015838313168383128216171561202057612020612a08565b5f60208284031215612af8575f80fd5b8151611122816128e6565b6001600160801b0382811682821603908082111561202057612020612a08565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612bb4828551612b23565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c27575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c4c57612c4c612a08565b505f0390565b6101808101610dc78284612b23565b5f8060408385031215612c72575f80fd5b825191506020830151612c8481612915565b809150509250929050565b5f60208284031215612c9f575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612a08565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a08565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d11575f80fd5b8451935060208501519250604085015191506060850151612d3181612915565b939692955090935050565b5f82612d4a57612d4a6129e1565b600160ff1b82145f1984141615612d6357612d63612a08565b50059056fea2646970667358221220be7a22da37318f020356b9ab49167cd7b14be322f414bf80b573bd522816defc64736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts deleted file mode 100644 index 26be3fd88..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StETHTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StETHTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts.map deleted file mode 100644 index 8ed410258..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StETHTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/StETHTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I+v2B,KAAK,MAAM,EAAE;;;;CAI5y2B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.js deleted file mode 100644 index c6935d88e..000000000 --- a/packages/hyperdrive-artifacts/dist/StETHTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StETHTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506136698061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613191806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003191380380620031918339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612d9e620003f35f395f50505f50505f61099201525f50505f818161025f0152611f5d01525f81816117bd0152818161182001528181611b4d01528181611b8901528181611d7a0152611f3701525f81816105500152611f1101525f61139f01525f6114f401525f818161070d01526114c801525f50505f81816105710152611f8301525f818161064b01526123a301525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161109b0152818161224f01526122c601525f5050612d9e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612874565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128c6565b6100b1565b005b610056610092366004612874565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f60208501856128fa565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612922565b61016a60408c018c61293d565b60405161017c969594939291906129a8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f0000000000000000000000000000000000000000000000000000000000000000856129f5565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d560208701876128fa565b88610ea4565b5f6102f56102ec60208701876128fa565b88848989610a9e565b90945090506103048188612a1c565b92505f61031083610f41565b50905061032060208701876128fa565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612922565b8a888e8060400190610370919061293d565b604051610384989796959493929190612a2f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce60208301836128fa565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061110d565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612a76565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611129565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611149565b92505b506105a283611168565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a1c565b8a84611195565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612a76565b42906112ce565b84611195565b61063f886112e2565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a1c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61147f565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f6114b3565b915091508060095f8282546106dc9190612a76565b909155506106f79050865f846106f181611580565b886115a9565b6107018183612a76565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611720565b91506107456107408385611769565b61177d565b600680546002906107669084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611168565b600680546010906107b5908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461147f565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f8860016114b3565b915091508060095f8282546108289190612a76565b909155506108439050835f8461083d81611580565b8a6117a6565b61084d8183612a1c565b915061085c6107408387611769565b6006805460029061087d9084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611168565b600680546010906108cc908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611580565b61090e83611580565b6109189190612ac9565b5f611996565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612ae8565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119d5565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a5b565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a67565b9050610b2083611168565b610b2a9083612b03565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611168565b60078054601090610b75908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a82565b9350610bb08684611b18565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a1c565b9050805f03610c3a576001915050610dc7565b5f610c4485611b2c565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bc7565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ba1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c16565b91509150610d11610d0382611580565b610d0c90612c38565b611d34565b925082610d26575f9650505050505050610dc7565b610d2f82611168565b600780545f90610d499084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611168565b60078054601090610d98908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a1c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612a76565b90915550505f838152600b602052604081208054839290610ef7908490612a76565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611ec8565b6040518263ffffffff1660e01b8152600401610f849190612c52565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c61565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612a76565b6110469190612a1c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a67565b976001975095505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156110e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612c8f565b5f61111882846129f5565b6111229084612a1c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612002565b5f61115f82611159858888611a67565b90612027565b95945050505050565b5f6001600160801b0382111561119157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111c05750505050565b5f848152600860205260408120546001600160801b031690819003611218576111e883611168565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611295565b611269611264670de0b6b3a76400006112318886612a1c565b61123b9190612ca6565b85670de0b6b3a764000061124f878a612a1c565b6112599190612ca6565b859291906001612096565b611168565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61129e84611168565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112dc5782611122565b50919050565b6006545f908190611304908490600160801b90046001600160801b0316611769565b6006546201000090046001600160701b0316925090508181111561147a575f61132d8383612a1c565b905061133c6112648286612130565b6006805460109061135e908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611396858361214490919063ffffffff16565b90505f6113c3827f0000000000000000000000000000000000000000000000000000000000000000611769565b90508060095f8282546113d69190612a76565b909155506113e690508183612a1c565b91506113f182611168565b600280545f9061140b9084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061143882612158565b600480545f9061144c908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114a85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114bf8785612144565b91505f6114ec837f0000000000000000000000000000000000000000000000000000000000000000611769565b9050611518817f0000000000000000000000000000000000000000000000000000000000000000611769565b9150831561153b5761152a8282612a1c565b6115349084612a1c565b9250611552565b6115458282612a1c565b61154f9084612a76565b92505b8686101561157557611565838789611a67565b9250611572828789611a67565b91505b509550959350505050565b5f6001600160ff1b038211156111915760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115f1611264826115d5670de0b6b3a764000086612ca6565b600554600160801b90046001600160801b031691908a5f612096565b600580546001600160801b03928316600160801b02921691909117905561161786611168565b6116219082612b03565b600480546001600160801b03928316600160801b02921691909117905561164784611168565b600280545f906116619084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061168e83612181565b600480545f906116a2908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116d285611168565b600280546010906116f4908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611737846117318a888a611a67565b90612144565b9050611744888486611a67565b61174e9082612a76565b90508681111561175e5786810391505b509695505050505050565b5f6111228383670de0b6b3a7640000611a67565b5f6001600160701b038211156111915760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117e857507f00000000000000000000000000000000000000000000000000000000000000006117e68583612a1c565b105b156117f5576117f56121bc565b6004549084900390600f0b61180a8482612ac9565b90508361181686611580565b13801561184b57507f00000000000000000000000000000000000000000000000000000000000000006118498383612002565b105b15611858576118586121bc565b600354600160801b90046001600160801b031661189961126482611884670de0b6b3a764000088612ca6565b6005546001600160801b031691908c5f612096565b600580546001600160801b0319166001600160801b03929092169190911790556118c38882612a1c565b90506118ce81611168565b600380546001600160801b03928316600160801b0292169190911790556118f483611168565b600280546001600160801b0319166001600160801b039290921691909117905561191d82612181565b600480546001600160801b0319166001600160801b039290921691909117905561194687611168565b60028054601090611968908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119b190611264906001600160801b031684846121d5565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119f8576119f8612cea565b6040519080825280601f01601f191660200182016040528015611a22576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a42578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a7b575f80fd5b5091020490565b5f80611a8e8585611769565b9050611a9981612237565b9450845f03611aab575f915050611122565b849150611abe6040840160208501612922565b15611aed57611ae685611ad460208601866128fa565b611ae1604087018761293d565b612286565b9150611b10565b611b1085611afe60208601866128fa565b611b0b604087018761293d565b6122a0565b509392505050565b5f6111228383670de0b6b3a7640000612337565b6003545f908190611b46906001600160801b031684612130565b9050611b727f000000000000000000000000000000000000000000000000000000000000000082612a76565b6002546001600160801b031611156112dc576002547f000000000000000000000000000000000000000000000000000000000000000090611bbd9083906001600160801b0316612a1c565b6111229190612a1c565b611bcf6127d5565b5f80611bda84611ec8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c149190612c52565b6040805180830381865af4158015611c2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c529190612c61565b9350905082611c6657505f91506100a99050565b5f611c8c611c8784610160015185610140015161176990919063ffffffff16565b611580565b611cac611c87856101200151866101000151611b1890919063ffffffff16565b611cb69190612ac9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0e9190612cfe565b935093509350935080611e2957505f98975050505050505050565b868414611e5a57611e3984611168565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e8b57611e6a83612181565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611eb957611e9b82611168565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ed061281f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fc8911661235a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611ffa9290041661235a565b905292915050565b5f8061200e84846123ce565b909250905080612020576120206121bc565b5092915050565b5f815f0361203e5750670de0b6b3a7640000610dc7565b825f0361204c57505f610dc7565b5f61205683611580565b90505f61206a61206586611580565b612409565b9050818102612081670de0b6b3a764000082612d3c565b905061208c8161262e565b9695505050505050565b5f825f036120a557508461115f565b81156120f7576120d66120b88487612a76565b6120c28587611769565b6120cc888a611769565b6117319190612a76565b90505f6120e385886112ce565b9050808210156120f1578091505b5061115f565b82850361210557505f61115f565b61208c6121128487612a1c565b61211c8587611b18565b612126888a611769565b6117319190612a1c565b5f61112283670de0b6b3a764000084612337565b5f61112283670de0b6b3a764000084611a67565b5f60016001607f1b038211156111915760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061219e575060016001607f1b0382135b156111915760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121e1845f6127c0565b6121eb845f6127c0565b6121f59190612ac9565b90505f811315612210576122098186612a76565b945061222e565b5f81121561222e5761222181612c38565b61222b9086612a1c565b94505b50929392505050565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016110ce565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af115801561230c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123309190612c8f565b5050505050565b5f825f19048411830215820261234b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236d61040f565b6123779190612ca6565b9050808311612386575f612390565b6123908184612a1c565b91506111226123c7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ca6565b8390612144565b5f805f836123db86611580565b6123e59190612ac9565b90505f8112156123fb575f809250925050612402565b9150600190505b9250929050565b5f80821361242a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124ad9084901c611580565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361264757505f919050565b680755bf798b4a1bf1e58212612670576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061208c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611580565b5f8183136127ce5781611122565b5090919050565b6040518061012001604052806127e961281f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612886575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128aa575f80fd5b8401606081870312156128bb575f80fd5b809150509250925092565b5f80604083850312156128d7575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561290a575f80fd5b8135611122816128e6565b80151581146103f5575f80fd5b5f60208284031215612932575f80fd5b813561112281612915565b5f808335601e19843603018112612952575f80fd5b83018035915067ffffffffffffffff82111561296c575f80fd5b602001915036819003821315612402575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f6129d560a083018486612980565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a0357612a036129e1565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a08565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a6860e083018486612980565b9a9950505050505050505050565b80820180821115610dc757610dc7612a08565b6001600160701b0381811683821601908082111561202057612020612a08565b6001600160801b0381811683821601908082111561202057612020612a08565b8181035f83128015838313168383128216171561202057612020612a08565b5f60208284031215612af8575f80fd5b8151611122816128e6565b6001600160801b0382811682821603908082111561202057612020612a08565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612bb4828551612b23565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c27575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c4c57612c4c612a08565b505f0390565b6101808101610dc78284612b23565b5f8060408385031215612c72575f80fd5b825191506020830151612c8481612915565b809150509250929050565b5f60208284031215612c9f575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612a08565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a08565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d11575f80fd5b8451935060208501519250604085015191506060850151612d3181612915565b939692955090935050565b5f82612d4a57612d4a6129e1565b600160ff1b82145f1984141615612d6357612d63612a08565b50059056fea2646970667358221220be7a22da37318f020356b9ab49167cd7b14be322f414bf80b573bd522816defc64736f6c63430008160033a2646970667358221220d99eb9c620eae3748d77048cce1406f8ea25e96f5517ac30ce6e697b952e285c64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts deleted file mode 100644 index 7f46f1cee..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts +++ /dev/null @@ -1,563 +0,0 @@ -export declare const StakingUSDSBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StakingUSDSBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts.map deleted file mode 100644 index 86c60055b..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSBase.d.ts","sourceRoot":"","sources":["../src/StakingUSDSBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmrBR,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.js b/packages/hyperdrive-artifacts/dist/StakingUSDSBase.js deleted file mode 100644 index 49de64dc8..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSBase.js +++ /dev/null @@ -1,694 +0,0 @@ -export const StakingUSDSBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts deleted file mode 100644 index 847a84dfb..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -export declare const StakingUSDSConversions: { - abi: readonly [{ - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - }; -}; -//# sourceMappingURL=StakingUSDSConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts.map deleted file mode 100644 index 550c9d1e5..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSConversions.d.ts","sourceRoot":"","sources":["../src/StakingUSDSConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCib,KAAK,MAAM,EAAE;;;;;CAKhe,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.js b/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.js deleted file mode 100644 index 703d12516..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSConversions.js +++ /dev/null @@ -1,47 +0,0 @@ -export const StakingUSDSConversions = { - abi: [ - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - } - ], - bytecode: '0x60ac610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063b88fed9f146040578063c6e6f592146040575b5f80fd5b604e604b3660046060565b90565b60405190815260200160405180910390f35b5f60208284031215606f575f80fd5b503591905056fea26469706673582212200ae303be395ad152744557ee203fbfe5feb59aac112c9eac3c648b7fb6e1234a64736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts deleted file mode 100644 index ea4bf9dd3..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts +++ /dev/null @@ -1,1361 +0,0 @@ -export declare const StakingUSDSHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "claimRewards"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "claimRewards()": "372500ab"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=StakingUSDSHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts.map deleted file mode 100644 index a93a5dd7b..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSHyperdrive.d.ts","sourceRoot":"","sources":["../src/StakingUSDSHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmpD4qb,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC1tb,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.js b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.js deleted file mode 100644 index 83fad2991..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdrive.js +++ /dev/null @@ -1,1716 +0,0 @@ -export const StakingUSDSHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimRewards", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61034060405234801562000011575f80fd5b5060405162001b5d38038062001b5d8339810160408190526200003491620006ac565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284811661032052608051620001449450169150839050600162000154565b5050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ae90859083906200021f16565b6200021957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020d918691620002c916565b620002198482620002c9565b50505050565b5f805f846001600160a01b0316846040516200023c919062000934565b5f604051808303815f865af19150503d805f811462000277576040519150601f19603f3d011682016040523d82523d5f602084013e6200027c565b606091505b5091509150818015620002aa575080511580620002aa575080806020019051810190620002aa919062000951565b8015620002c057505f856001600160a01b03163b115b95945050505050565b5f620002df6001600160a01b038416836200033a565b905080515f141580156200030657508080602001905181019062000304919062000951565b155b156200033557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034983835f62000350565b9392505050565b606081471015620003775760405163cd78605960e01b81523060048201526024016200032c565b5f80856001600160a01b0316848660405162000394919062000934565b5f6040518083038185875af1925050503d805f8114620003d0576040519150601f19603f3d011682016040523d82523d5f602084013e620003d5565b606091505b509092509050620003e8868383620003f2565b9695505050505050565b6060826200040b57620004058262000456565b62000349565b81511580156200042357506001600160a01b0384163b155b156200044e57604051639996b31560e01b81526001600160a01b03851660048201526024016200032c565b508062000349565b805115620004675780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ba57620004ba62000480565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004eb57620004eb62000480565b604052919050565b5f5b838110156200050f578181015183820152602001620004f5565b50505f910152565b80516001600160a01b03811681146200052e575f80fd5b919050565b5f6080828403121562000544575f80fd5b604051608081016001600160401b038111828210171562000569576200056962000480565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005ac575f80fd5b620005b662000494565b9050620005c38262000517565b8152620005d36020830162000517565b6020820152620005e66040830162000517565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200065181840162000517565b908201526101806200066583820162000517565b908201526101a06200067983820162000517565b908201526101c06200068d83820162000517565b908201526101e0620006a28484830162000533565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c6575f80fd5b89516001600160401b0380821115620006dd575f80fd5b818c0191508c601f830112620006f1575f80fd5b81518181111562000706576200070662000480565b6200071b601f8201601f1916602001620004c0565b91508082528d602082850101111562000732575f80fd5b62000745816020840160208601620004f3565b5099506200075990508b60208c016200059a565b97506200076a6102808b0162000517565b96506200077b6102a08b0162000517565b95506200078c6102c08b0162000517565b94506200079d6102e08b0162000517565b9350620007ae6103008b0162000517565b9250620007bf6103208b0162000517565b9150620007d06103408b0162000517565b90509295985092959850929598565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033557805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000480565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000947818460208701620004f3565b9190910192915050565b5f6020828403121562000962575f80fd5b8151801515811462000349575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110ca62000a935f395f61072001525f81816105f20152818161065c01526107c301525f818161056d015281816107f2015261084f01525f818161052701526109df01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c001528181610794015281816108250152818161087f015281816109b40152610a1201525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110ca5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610ae6565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610af5565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b62565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c21565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c57565b348015610310575f80fd5b5061032461031f366004610c80565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d14565b610689565b348015610368575f80fd5b506102e9610377366004610da3565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610de8565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e3e565b61078e565b348015610465575f80fd5b506102e9610474366004610e78565b6107be565b6103e6610487366004610e98565b6107ec565b348015610497575f80fd5b506102e9610377366004610ef7565b3480156104b1575f80fd5b506102e96104c0366004610f3e565b610820565b6103e66104d3366004610c80565b610849565b3480156104e3575f80fd5b506102e96104f2366004610f71565b61087b565b348015610502575f80fd5b506102e9610511366004610fe9565b6109af565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610de8565b6109d8565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461101e565b610a0d565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a3e565b6106517f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610acc565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610acc565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610acc565b50949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610776575f80fd5b505af1158015610788573d5f803e3d5ffd5b50505050565b5f6107b87f0000000000000000000000000000000000000000000000000000000000000000610acc565b50919050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050565b5f6108167f0000000000000000000000000000000000000000000000000000000000000000610acc565b5095945050505050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f6108737f0000000000000000000000000000000000000000000000000000000000000000610acc565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108af610a3e565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109589190611079565b5f60405180830381855af49150503d805f8114610990576040519150601f19603f3d011682016040523d82523d5f602084013e610995565b606091505b5091509150816109a757805160208201fd5b805160208201f35b6107887f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f80610a037f0000000000000000000000000000000000000000000000000000000000000000610acc565b5094509492505050565b610a367f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109589291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b245780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b5a578181015183820152602001610b42565b50505f910152565b5f60208284031215610b72575f80fd5b815167ffffffffffffffff80821115610b89575f80fd5b818401915084601f830112610b9c575f80fd5b815181811115610bae57610bae610b2c565b604051601f8201601f19908116603f01168101908382118183101715610bd657610bd6610b2c565b81604052828152876020848701011115610bee575f80fd5b610bff836020830160208801610b40565b979650505050505050565b6001600160a01b0381168114610c1e575f80fd5b50565b5f60208284031215610c31575f80fd5b8135610c3c81610c0a565b9392505050565b80358015158114610c52575f80fd5b919050565b5f60208284031215610c67575f80fd5b610c3c82610c43565b5f606082840312156107b8575f80fd5b5f805f60608486031215610c92575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cb6575f80fd5b610cc286828701610c70565b9150509250925092565b5f8083601f840112610cdc575f80fd5b50813567ffffffffffffffff811115610cf3575f80fd5b6020830191508360208260051b8501011115610d0d575f80fd5b9250929050565b5f805f805f8060808789031215610d29575f80fd5b8635610d3481610c0a565b95506020870135610d4481610c0a565b9450604087013567ffffffffffffffff80821115610d60575f80fd5b610d6c8a838b01610ccc565b90965094506060890135915080821115610d84575f80fd5b50610d9189828a01610ccc565b979a9699509497509295939492505050565b5f805f8060808587031215610db6575f80fd5b843593506020850135610dc881610c0a565b92506040850135610dd881610c0a565b9396929550929360600135925050565b5f805f8060808587031215610dfb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e26575f80fd5b610e3287828801610c70565b91505092959194509250565b5f60208284031215610e4e575f80fd5b813567ffffffffffffffff811115610e64575f80fd5b610e7084828501610c70565b949350505050565b5f8060408385031215610e89575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eac575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ede575f80fd5b610eea88828901610c70565b9150509295509295909350565b5f805f8060808587031215610f0a575f80fd5b843593506020850135610f1c81610c0a565b9250604085013591506060850135610f3381610c0a565b939692955090935050565b5f8060408385031215610f4f575f80fd5b8235610f5a81610c0a565b9150610f6860208401610c43565b90509250929050565b5f805f805f805f60e0888a031215610f87575f80fd5b8735610f9281610c0a565b96506020880135610fa281610c0a565b9550610fb060408901610c43565b945060608801359350608088013560ff81168114610fcc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610ffb575f80fd5b83359250602084013561100d81610c0a565b929592945050506040919091013590565b5f805f805f60a08688031215611032575f80fd5b85359450602086013561104481610c0a565b9350604086013561105481610c0a565b925060608601359150608086013561106b81610c0a565b809150509295509295909350565b5f825161108a818460208701610b40565b919091019291505056fea2646970667358221220148f01b3d5d9281e495e93c29dd46580ed72cd70f06b04f46203bd26f3718aad64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "claimRewards()": "372500ab", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts deleted file mode 100644 index d9ef7f5c2..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const StakingUSDSHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=StakingUSDSHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index 24cd6ef3c..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K4niB,KAAK,MAAM,EAAE;;;;CAItriB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.js deleted file mode 100644 index 72fc8cb37..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const StakingUSDSHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061222e8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b620000476200004136600462000387565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80888060200190518101906200007b91906200047f565b60408051336020820152908101859052909150606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b89604051620000be9062000103565b620000d299989796959493929190620005c4565b8190604051809103905ff5905080158015620000f0573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b611b5d806200069c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200014c576200014c62000111565b60405290565b5f82601f83011262000162575f80fd5b813567ffffffffffffffff8082111562000180576200018062000111565b604051601f8301601f19908116603f01168101908282118183101715620001ab57620001ab62000111565b81604052838152866020858801011115620001c4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001f8575f80fd5b50565b80356200020881620001e3565b919050565b5f608082840312156200021e575f80fd5b6040516080810181811067ffffffffffffffff8211171562000244576200024462000111565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610260828403121562000287575f80fd5b6200029162000125565b90506200029e82620001fb565b8152620002ae60208301620001fb565b6020820152620002c160408301620001fb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200032c818401620001fb565b9082015261018062000340838201620001fb565b908201526101a062000354838201620001fb565b908201526101c062000368838201620001fb565b908201526101e06200037d848483016200020d565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a2575f80fd5b8a3567ffffffffffffffff80821115620003ba575f80fd5b620003c88e838f0162000152565b9b50620003d98e60208f0162000275565b9a50620003ea6102808e01620001fb565b99506102a08d013591508082111562000401575f80fd5b50620004108d828e0162000152565b975050620004226102c08c01620001fb565b9550620004336102e08c01620001fb565b9450620004446103008c01620001fb565b9350620004556103208c01620001fb565b9250620004666103408c01620001fb565b91506103608b013590509295989b9194979a5092959850565b5f6020828403121562000490575f80fd5b81516200049d81620001e3565b9392505050565b80516001600160a01b031682526020810151620004cc60208401826001600160a01b03169052565b506040810151620004e860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fa576020828e0101516103808386010152602082019150620005d6565b61038091505f82828601015281601f19601f8301168501019250505062000625602083018b620004a4565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b038316610340830152620000f556fe61034060405234801562000011575f80fd5b5060405162001b5d38038062001b5d8339810160408190526200003491620006ac565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284811661032052608051620001449450169150839050600162000154565b5050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ae90859083906200021f16565b6200021957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020d918691620002c916565b620002198482620002c9565b50505050565b5f805f846001600160a01b0316846040516200023c919062000934565b5f604051808303815f865af19150503d805f811462000277576040519150601f19603f3d011682016040523d82523d5f602084013e6200027c565b606091505b5091509150818015620002aa575080511580620002aa575080806020019051810190620002aa919062000951565b8015620002c057505f856001600160a01b03163b115b95945050505050565b5f620002df6001600160a01b038416836200033a565b905080515f141580156200030657508080602001905181019062000304919062000951565b155b156200033557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034983835f62000350565b9392505050565b606081471015620003775760405163cd78605960e01b81523060048201526024016200032c565b5f80856001600160a01b0316848660405162000394919062000934565b5f6040518083038185875af1925050503d805f8114620003d0576040519150601f19603f3d011682016040523d82523d5f602084013e620003d5565b606091505b509092509050620003e8868383620003f2565b9695505050505050565b6060826200040b57620004058262000456565b62000349565b81511580156200042357506001600160a01b0384163b155b156200044e57604051639996b31560e01b81526001600160a01b03851660048201526024016200032c565b508062000349565b805115620004675780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ba57620004ba62000480565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004eb57620004eb62000480565b604052919050565b5f5b838110156200050f578181015183820152602001620004f5565b50505f910152565b80516001600160a01b03811681146200052e575f80fd5b919050565b5f6080828403121562000544575f80fd5b604051608081016001600160401b038111828210171562000569576200056962000480565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005ac575f80fd5b620005b662000494565b9050620005c38262000517565b8152620005d36020830162000517565b6020820152620005e66040830162000517565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200065181840162000517565b908201526101806200066583820162000517565b908201526101a06200067983820162000517565b908201526101c06200068d83820162000517565b908201526101e0620006a28484830162000533565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c6575f80fd5b89516001600160401b0380821115620006dd575f80fd5b818c0191508c601f830112620006f1575f80fd5b81518181111562000706576200070662000480565b6200071b601f8201601f1916602001620004c0565b91508082528d602082850101111562000732575f80fd5b62000745816020840160208601620004f3565b5099506200075990508b60208c016200059a565b97506200076a6102808b0162000517565b96506200077b6102a08b0162000517565b95506200078c6102c08b0162000517565b94506200079d6102e08b0162000517565b9350620007ae6103008b0162000517565b9250620007bf6103208b0162000517565b9150620007d06103408b0162000517565b90509295985092959850929598565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033557805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000480565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000947818460208701620004f3565b9190910192915050565b5f6020828403121562000962575f80fd5b8151801515811462000349575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110ca62000a935f395f61072001525f81816105f20152818161065c01526107c301525f818161056d015281816107f2015261084f01525f818161052701526109df01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c001528181610794015281816108250152818161087f015281816109b40152610a1201525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110ca5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610ae6565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610af5565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b62565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c21565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c57565b348015610310575f80fd5b5061032461031f366004610c80565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d14565b610689565b348015610368575f80fd5b506102e9610377366004610da3565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610de8565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e3e565b61078e565b348015610465575f80fd5b506102e9610474366004610e78565b6107be565b6103e6610487366004610e98565b6107ec565b348015610497575f80fd5b506102e9610377366004610ef7565b3480156104b1575f80fd5b506102e96104c0366004610f3e565b610820565b6103e66104d3366004610c80565b610849565b3480156104e3575f80fd5b506102e96104f2366004610f71565b61087b565b348015610502575f80fd5b506102e9610511366004610fe9565b6109af565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610de8565b6109d8565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461101e565b610a0d565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a3e565b6106517f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610acc565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610acc565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610acc565b50949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610776575f80fd5b505af1158015610788573d5f803e3d5ffd5b50505050565b5f6107b87f0000000000000000000000000000000000000000000000000000000000000000610acc565b50919050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050565b5f6108167f0000000000000000000000000000000000000000000000000000000000000000610acc565b5095945050505050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f6108737f0000000000000000000000000000000000000000000000000000000000000000610acc565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108af610a3e565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109589190611079565b5f60405180830381855af49150503d805f8114610990576040519150601f19603f3d011682016040523d82523d5f602084013e610995565b606091505b5091509150816109a757805160208201fd5b805160208201f35b6107887f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f80610a037f0000000000000000000000000000000000000000000000000000000000000000610acc565b5094509492505050565b610a367f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109589291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b245780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b5a578181015183820152602001610b42565b50505f910152565b5f60208284031215610b72575f80fd5b815167ffffffffffffffff80821115610b89575f80fd5b818401915084601f830112610b9c575f80fd5b815181811115610bae57610bae610b2c565b604051601f8201601f19908116603f01168101908382118183101715610bd657610bd6610b2c565b81604052828152876020848701011115610bee575f80fd5b610bff836020830160208801610b40565b979650505050505050565b6001600160a01b0381168114610c1e575f80fd5b50565b5f60208284031215610c31575f80fd5b8135610c3c81610c0a565b9392505050565b80358015158114610c52575f80fd5b919050565b5f60208284031215610c67575f80fd5b610c3c82610c43565b5f606082840312156107b8575f80fd5b5f805f60608486031215610c92575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cb6575f80fd5b610cc286828701610c70565b9150509250925092565b5f8083601f840112610cdc575f80fd5b50813567ffffffffffffffff811115610cf3575f80fd5b6020830191508360208260051b8501011115610d0d575f80fd5b9250929050565b5f805f805f8060808789031215610d29575f80fd5b8635610d3481610c0a565b95506020870135610d4481610c0a565b9450604087013567ffffffffffffffff80821115610d60575f80fd5b610d6c8a838b01610ccc565b90965094506060890135915080821115610d84575f80fd5b50610d9189828a01610ccc565b979a9699509497509295939492505050565b5f805f8060808587031215610db6575f80fd5b843593506020850135610dc881610c0a565b92506040850135610dd881610c0a565b9396929550929360600135925050565b5f805f8060808587031215610dfb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e26575f80fd5b610e3287828801610c70565b91505092959194509250565b5f60208284031215610e4e575f80fd5b813567ffffffffffffffff811115610e64575f80fd5b610e7084828501610c70565b949350505050565b5f8060408385031215610e89575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eac575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ede575f80fd5b610eea88828901610c70565b9150509295509295909350565b5f805f8060808587031215610f0a575f80fd5b843593506020850135610f1c81610c0a565b9250604085013591506060850135610f3381610c0a565b939692955090935050565b5f8060408385031215610f4f575f80fd5b8235610f5a81610c0a565b9150610f6860208401610c43565b90509250929050565b5f805f805f805f60e0888a031215610f87575f80fd5b8735610f9281610c0a565b96506020880135610fa281610c0a565b9550610fb060408901610c43565b945060608801359350608088013560ff81168114610fcc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610ffb575f80fd5b83359250602084013561100d81610c0a565b929592945050506040919091013590565b5f805f805f60a08688031215611032575f80fd5b85359450602086013561104481610c0a565b9350604086013561105481610c0a565b925060608601359150608086013561106b81610c0a565b809150509295509295909350565b5f825161108a818460208701610b40565b919091019291505056fea2646970667358221220148f01b3d5d9281e495e93c29dd46580ed72cd70f06b04f46203bd26f3718aad64736f6c63430008160033a2646970667358221220e94fed4f90e55acdf8f46e257e6323197e5bc0fbc32985963628b6613ae1d22164736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index 68ab25151..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,624 +0,0 @@ -export declare const StakingUSDSHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StakingUSDSHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index fcdcc4823..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/StakingUSDSHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwwBqtqB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoBtxqB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.js deleted file mode 100644 index c6ce01c12..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,797 +0,0 @@ -export const StakingUSDSHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b5060405162002a7b38038062002a7b8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516126616200041a5f395f81816102990152610dd001525f81816103170152610c9d01525f818161037d0152610b6a01525f81816102e40152610a3701525f818161034a015261082e01525f8181610440015261115901525f81816103ee01528181610547015281816107570152818161085e01528181610a6701528181610b9a01528181610ccd01528181610e0001528181610f2d015261118a01526126615ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f59214610410578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bb5565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611cea565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611da8565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611dbf565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611da8565b6106d0565b3480156103c9575f80fd5b506102bb6103d8366004611f93565b61074b565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b5061014f61042a366004611da8565b610ee7565b34801561043a575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102bb61047c366004611ffc565b610f21565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602881526020016126046028913981565b5f80546104bc90612096565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612096565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d611294565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112b5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b8152600401610605939291906120ce565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612113565b92505f610653823461213e565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015610721573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107459190612113565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079557604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610945578054156107ca57604051633be1b34d60e11b815260040160405180910390fd5b6107d4868661136f565b5f6107df8787611591565b90505f876040516020016107f39190612151565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108208a6115aa565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161089a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108cf9493929190612384565b6020604051808303815f875af11580156108eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090f91906123c9565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109715760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109839190612151565b60405160208183030381529060405280519060200120146109b75760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109e157604051631a3272d160e31b815260040160405180910390fd5b6109eb878761136f565b5f6109f5886115aa565b6002840154608082015290506001869003610b355760058301546001600160a01b031615610a355760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a9c939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ad19493929190612384565b6020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1191906123c9565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c685760068301546001600160a01b031615610b685760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bcf939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c049493929190612384565b6020604051808303815f875af1158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4491906123c9565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d9b5760078301546001600160a01b031615610c9b5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d02939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d379493929190612384565b6020604051808303815f875af1158015610d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7791906123c9565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ece5760088301546001600160a01b031615610dce5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e35939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e6a9493929190612384565b6020604051808303815f875af1158015610e86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaa91906123c9565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f59290602401610706565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561101357604051632c95caeb60e01b815260040160405180910390fd5b80516110325760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611057575060a08101516001600160a01b0316155b8061106d575060c08101516001600160a01b0316155b80611083575060e08101516001600160a01b0316155b8061109a57506101008101516001600160a01b0316155b156110b85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110cb908790602001612151565b60405160208183030381529060405280519060200120146110ff5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461112a57604051631a3272d160e31b815260040160405180910390fd5b611134858561136f565b5f61113e866115aa565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111e0929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161121b9a99989796959493929190612405565b6020604051808303815f875af1158015611237573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125b91906123c9565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112b357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112d85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611315573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133991906123c9565b90506113506001600160a01b038216863087611678565b6113646001600160a01b03821687866116e5565b505f95945050505050565b6113798282611774565b5f8180602001905181019061138e91906123c9565b9050806001600160a01b03166372f702f36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f091906123c9565b6001600160a01b0316835f01516001600160a01b03161461142457604051630722152560e11b815260040160405180910390fd5b60208301516001600160a01b0316156114505760405163073f739d60e51b815260040160405180910390fd5b6003835f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b59190612487565b6114bf91906124a7565b6114ca90600a6125a0565b836080015110156114ee576040516349db44f560e01b815260040160405180910390fd5b6003835f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115539190612487565b61155d91906124a7565b61156890600a6125a0565b8360a00151101561158c576040516318c9522360e11b815260040160405180910390fd5b505050565b5f6115a3670de0b6b3a76400006106d0565b9392505050565b6115b2611a94565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526116df9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061188c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261173684826118f2565b6116df576040516001600160a01b0384811660248301525f604483015261176a91869182169063095ea7b3906064016116ad565b6116df848261188c565b6103e88260800151101561179b576040516349db44f560e01b815260040160405180910390fd5b8161010001515f036117c057604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806117ea57508161010001518260e001516117e791906125ae565b15155b156118085760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118345750670de0b6b3a7640000826101c0015160200151115b8061184f5750670de0b6b3a7640000826101c0015160400151115b8061186a5750670de0b6b3a7640000826101c0015160600151115b15611888576040516322f72cc360e11b815260040160405180910390fd5b5050565b5f6118a06001600160a01b0384168361198f565b905080515f141580156118c45750808060200190518101906118c291906125cd565b155b1561158c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b03168460405161190d91906125e8565b5f604051808303815f865af19150503d805f8114611946576040519150601f19603f3d011682016040523d82523d5f602084013e61194b565b606091505b509150915081801561197557508051158061197557508080602001905181019061197591906125cd565b80156106c75750505050506001600160a01b03163b151590565b60606115a383835f845f80856001600160a01b031684866040516119b391906125e8565b5f6040518083038185875af1925050503d805f81146119ed576040519150601f19603f3d011682016040523d82523d5f602084013e6119f2565b606091505b5091509150611a02868383611a0c565b9695505050505050565b606082611a2157611a1c82611a68565b6115a3565b8151158015611a3857506001600160a01b0384163b155b15611a6157604051639996b31560e01b81526001600160a01b03851660048201526024016118e9565b50806115a3565b805115611a785780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611b6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611b82578181015183820152602001611b6a565b50505f910152565b5f8151808452611ba1816020860160208601611b68565b601f01601f19169290920160200192915050565b602081525f6115a36020830184611b8a565b6001600160a01b0381168114611a91575f80fd5b8035611be681611bc7565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c2257611c22611beb565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c2257611c22611beb565b8015158114611a91575f80fd5b5f67ffffffffffffffff80841115611c7357611c73611beb565b604051601f8501601f19908116603f01168101908282118183101715611c9b57611c9b611beb565b81604052809350858152868686011115611cb3575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611cdb575f80fd5b6115a383833560208501611c59565b5f805f805f60a08688031215611cfe575f80fd5b853594506020860135611d1081611bc7565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d3a575f80fd5b908701906060828a031215611d4d575f80fd5b611d55611bff565b8235611d6081611bc7565b81526020830135611d7081611c4c565b6020820152604083013582811115611d86575f80fd5b611d928b828601611ccc565b6040830152508093505050509295509295909350565b5f60208284031215611db8575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611e4c575f80fd5b6040516080810181811067ffffffffffffffff82111715611e6f57611e6f611beb565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611eb1575f80fd5b611eb9611c28565b9050611ec482611bdb565b8152611ed260208301611bdb565b6020820152611ee360408301611bdb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611f40818401611bdb565b90820152610160611f52838201611bdb565b90820152610180611f64838201611bdb565b908201526101a0611f76838201611bdb565b908201526101c0611f8984848301611e3c565b9082015292915050565b5f805f805f6102c08688031215611fa8575f80fd5b85359450611fb98760208801611ea0565b935061026086013567ffffffffffffffff811115611fd5575f80fd5b611fe188828901611ccc565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215612011575f80fd5b85359450602086013567ffffffffffffffff8082111561202f575f80fd5b818801915088601f830112612042575f80fd5b61205189833560208501611c59565b95506120608960408a01611ea0565b9450610280880135915080821115612076575f80fd5b5061208388828901611ccc565b959894975092956102a001359392505050565b600181811c908216806120aa57607f821691505b6020821081036120c857634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611a0260c0840182611b8a565b5f60208284031215612123575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107455761074561212a565b81516001600160a01b031681526102408101602083015161217d60208401826001600160a01b03169052565b50604083015161219860408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516121fe828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e34565b80516001600160a01b03168252602081015161228e60208401826001600160a01b03169052565b5060408101516122a960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161231b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526116df565b5f6102c06123928388612267565b6001600160a01b03861661026084015261028083018190526123b681840186611b8a565b915050826102a083015295945050505050565b5f602082840312156123d9575f80fd5b81516115a381611bc7565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526124188184018e611b8a565b9050612427602084018d612267565b6001600160a01b038b81166102808501528382036102a085015261244b828c611b8a565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612497575f80fd5b815160ff811681146115a3575f80fd5b60ff82811682821603908111156107455761074561212a565b600181815b808511156124fa57815f19048211156124e0576124e061212a565b808516156124ed57918102915b93841c93908002906124c5565b509250929050565b5f8261251057506001610745565b8161251c57505f610745565b8160018114612532576002811461253c57612558565b6001915050610745565b60ff84111561254d5761254d61212a565b50506001821b610745565b5060208310610133831016604e8410600b841016171561257b575081810a610745565b61258583836124c0565b805f19048211156125985761259861212a565b029392505050565b5f6115a360ff841683612502565b5f826125c857634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156125dd575f80fd5b81516115a381611c4c565b5f82516125f9818460208701611b68565b919091019291505056fe5374616b696e6755534453487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220f8e3dbc71fbcda0461ac63ee6546e0baea3a203ed5f053b8d066f366bb4d4f2464736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts deleted file mode 100644 index c58fb2a2b..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts +++ /dev/null @@ -1,1542 +0,0 @@ -export declare const StakingUSDSTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stakingUSDS"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "stakingUSDS()": "10cded21"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts.map deleted file mode 100644 index 6f0da8128..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget0.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAm3D+nhC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C1qhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.js deleted file mode 100644 index 9c1fafc67..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0.js +++ /dev/null @@ -1,1950 +0,0 @@ -export const StakingUSDSTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stakingUSDS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004145380380620041458339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613956620007ef5f395f818161065f01528181611e840152612a4301525f8181610db0015261238201525f8181610d81015261234501525f8181610c5d01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0c01528181611fe0015261213101525f610e4801525f8181610e22015261252701525f8181610dfc015261250101525f8181610dd601526124db01525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254d01525f8181610e6e01528181611320015261292301525f8181610e940152612b0901525f81816106200152610d5201525f818161078901528181610d23015281816112bd0152612aba01526139565ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806310cded21146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d41565b61056c565b6040516102579190612da5565b60405180910390f35b61027361026e366004612dcb565b6105a3565b005b610273610283366004612df3565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102a0610651565b6102736102ce366004612e1c565b610690565b6102736102e1366004612eed565b6106ac565b6102736102f4366004612f7c565b6106c2565b61030c610307366004612d41565b6106d5565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612fc1565b61073e565b604051908152602001610257565b610367610783565b60405160ff9091168152602001610257565b610351610387366004613000565b61081b565b610351610853565b6103516103a236600461302e565b610871565b6103ba6103b5366004612dcb565b61087b565b6040519015158152602001610257565b61024a6103d8366004612d41565b61089a565b6102736103eb366004613065565b6108a8565b61024a6108f6565b61040061092b565b60405161025791906130ac565b61027361041b36600461314d565b5050565b61035161042d366004612dcb565b610c24565b6102a0610c4f565b610273610448366004613179565b610c8e565b61027361045b36600461314d565b610c9f565b61027361046e366004612dcb565b50565b610479610d0a565b60405161025791906131ae565b610351610494366004612d41565b6111ca565b6103516104a7366004612d41565b6111d7565b6104bf6104ba3660046132d4565b6111f8565b6040516102579190613313565b6102a06112af565b6103516112ee565b6103516104ea366004612d41565b611307565b6103516104fd366004612d41565b611314565b61050a61134a565b6040516102579190613356565b610273610525366004613467565b611455565b6103ba6105383660046134c2565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612da5565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001745374616b696e67555344534879706572647269766560581b81525060405160200161058a9190612da5565b90565b60606105f8600160405160200161058a91906134ee565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b6106a1898989898989898989611a01565b505050505050505050565b6106ba868686868686611bf3565b505050505050565b6106cf8484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077c910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610807919061359b565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261084d910161058a565b92915050565b5f6105f861085f611e61565b60405160200161058a91815260200190565b5f61084d82611ef7565b5f61059e6108888361212d565b6040805191151560208301520161058a565b606061059e61057a8361220b565b836108b281612307565b6001600160a01b0316336001600160a01b0316146108e357604051632aab8bd360e01b815260040160405180910390fd5b6108ef858585856123c4565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612da5565b610995604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61099e612430565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a0891906135de565b610a1291906135f1565b90505f8215610b215773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610a3e85612442565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190613604565b509050610b1e81846125cc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bf157610bec84866125e0565b610bf3565b5f5b81526003546001600160801b0316602091820152604051919250610c1d9161058a918491016130ac565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c9a838383336123c4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d12612c6d565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613632565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131ae565b5f61059e61085f836125f4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461364d565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613661565b9050602002013590505f815490508084848151811061127e5761127e613661565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613313565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61085f83612669565b5f61059e61085f6113457f0000000000000000000000000000000000000000000000000000000000000000856135de565b6126a3565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f81612307565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b6106ba8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161084d910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126e3565b90505f83600381111561156e5761156e6135b6565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135b6565b036115e057806040516020016115ca9190613675565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135b6565b0361160a57806040516020016115ca91906136ad565b600383600381111561161e5761161e6135b6565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612da5565b60405180910390fd5b611690612795565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613632565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613632565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd3361212d565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136e6565b90506118766001600160a01b03851684836127bd565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613632565b6001600160a01b0316336001600160a01b031614158015611990575061198e3361212d565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613661565b905060200201358888868686818110611c8857611c88613661565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135f1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135f1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135de565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ef2906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611ec9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eed91906136e6565b612669565b905090565b5f611f00612795565b611f098261280f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613632565b90506001600160a01b038116611fa36020850185612dcb565b6001600160a01b031614611fca57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061207457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561203a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205e9190613632565b6001600160a01b0316336001600160a01b031614155b801561208657506120843361212d565b155b156120a3576040516282b42960e81b815260040160405180910390fd5b5f6120ac612430565b600980545f9091559091506120c2818387612844565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461210160408a0160208b01612df3565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561218a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121b191908101906136fd565b90505f5b815181101561220257836001600160a01b03168282815181106121da576121da613661565b60200260200101516001600160a01b0316036121fa575060019392505050565b6001016121b5565b505f9392505050565b606060f882901c6001600160f81b0383165f612226826126e3565b90505f83600381111561223b5761223b6135b6565b0361226d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612281576122816135b6565b0361229757806040516020016115ca91906137bd565b60028360038111156122ab576122ab6135b6565b036122c157806040516020016115ca91906137f4565b60038360038111156122d5576122d56135b6565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ef2670de0b6b3a76400006125f4565b61249a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161259291166128da565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125c4929004166128da565b905292915050565b5f61077c8383670de0b6b3a764000061294e565b5f61077c83670de0b6b3a76400008461294e565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015612645573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084d91906136e6565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f5929060240161262a565b5f6126c8600b5f6126b5600286612969565b81526020019081526020015f205461299d565b6126d9600b5f6126b5600187612969565b61084d919061381f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127875761271c600a86613852565b6127279060306135de565b60f81b82600161273784876135f1565b61274191906135f1565b8151811061275157612751613661565b60200101906001600160f81b03191690815f1a9053508061277181613865565b91506127809050600a8661387d565b945061270b565b918290030190815292915050565b60025f54036127b757604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c9a9084906129ca565b5f61281d6020830183612dcb565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061285085856125cc565b905061285b81612669565b9450845f0361286d575f91505061077c565b8491506128806040840160208501612df3565b156128af576128a8856128966020860186612dcb565b6128a36040870187613890565b612a2b565b91506128d2565b6128d2856128c06020860186612dcb565b6128cd6040870187613890565b612ae9565b509392505050565b5f80670de0b6b3a76400006128ed612b02565b6128f791906138d3565b9050808311612906575f612910565b61291081846135f1565b915061077c612947670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d3565b83906125e0565b5f825f190484118302158202612962575f80fd5b5091020490565b5f6001600160f81b038211156129925760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129c65760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129de6001600160a01b03841683612b2d565b905080515f14158015612a02575080806020019051810190612a0091906138ea565b155b15610c9a57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a8c575f80fd5b505af1158015612a9e573d5f803e3d5ffd5b50505050612aab856125f4565b9050612ae16001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127bd565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ef2427f0000000000000000000000000000000000000000000000000000000000000000612b3a565b606061077c83835f612b4f565b5f612b458284613852565b61077c90846135f1565b606081471015612b745760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b8f9190613905565b5f6040518083038185875af1925050503d805f8114612bc9576040519150601f19603f3d011682016040523d82523d5f602084013e612bce565b606091505b5091509150612bde868383612be8565b9695505050505050565b606082612bfd57612bf882612c44565b61077c565b8151158015612c1457506001600160a01b0384163b155b15612c3d57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061077c565b805115612c545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d3c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d51575f80fd5b5035919050565b5f5b83811015612d72578181015183820152602001612d5a565b50505f910152565b5f8151808452612d91816020860160208601612d58565b601f01601f19169290920160200192915050565b602081525f61077c6020830184612d7a565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612ddb575f80fd5b813561077c81612db7565b801515811461046e575f80fd5b5f60208284031215612e03575f80fd5b813561077c81612de6565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e35575f80fd5b8935985060208a0135975060408a0135612e4e81612db7565b965060608a0135612e5e81612db7565b955060808a0135612e6e81612de6565b945060a08a0135935060c08a0135612e8581612e0e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612eb5575f80fd5b50813567ffffffffffffffff811115612ecc575f80fd5b6020830191508360208260051b8501011115612ee6575f80fd5b9250929050565b5f805f805f8060808789031215612f02575f80fd5b8635612f0d81612db7565b95506020870135612f1d81612db7565b9450604087013567ffffffffffffffff80821115612f39575f80fd5b612f458a838b01612ea5565b90965094506060890135915080821115612f5d575f80fd5b50612f6a89828a01612ea5565b979a9699509497509295939492505050565b5f805f8060808587031215612f8f575f80fd5b843593506020850135612fa181612db7565b92506040850135612fb181612db7565b9396929550929360600135925050565b5f805f60608486031215612fd3575f80fd5b833592506020840135612fe581612db7565b91506040840135612ff581612db7565b809150509250925092565b5f8060408385031215613011575f80fd5b82359150602083013561302381612db7565b809150509250929050565b5f6020828403121561303e575f80fd5b813567ffffffffffffffff811115613054575f80fd5b82016060818503121561077c575f80fd5b5f805f8060808587031215613078575f80fd5b84359350602085013561308a81612db7565b92506040850135915060608501356130a181612db7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561315e575f80fd5b823561316981612db7565b9150602083013561302381612de6565b5f805f6060848603121561318b575f80fd5b83359250602084013561319d81612db7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131da60208401826001600160a01b03169052565b5060408301516131f560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613267828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132e5575f80fd5b823567ffffffffffffffff8111156132fb575f80fd5b61330785828601612ea5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561334a5783518352928401929184019160010161332e565b50909695505050505050565b81516001600160801b031681526101808101602083015161338260208401826001600160801b03169052565b50604083015161339d60408401826001600160801b03169052565b5060608301516133b860608401826001600160801b03169052565b5060808301516133cd6080840182600f0b9052565b5060a08301516133e860a08401826001600160801b03169052565b5060c083015161340360c08401826001600160801b03169052565b5060e083015161341e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132cc565b5f805f805f60a0868803121561347b575f80fd5b85359450602086013561348d81612db7565b9350604086013561349d81612db7565b92506060860135915060808601356134b481612db7565b809150509295509295909350565b5f80604083850312156134d3575f80fd5b82356134de81612db7565b9150602083013561302381612db7565b5f60208083525f84545f60018260011c9150600183168061351057607f831692505b60208310810361352e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561354d57600181146135635761358c565b60ff198616825284151560051b8201965061358c565b5f8b8152602090205f5b868110156135865781548482015290850190890161356d565b83019750505b50949998505050505050505050565b5f602082840312156135ab575f80fd5b815161077c81612e0e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561084d5761084d6135ca565b8181038181111561084d5761084d6135ca565b5f8060408385031215613615575f80fd5b82519150602083015161302381612de6565b805161059e81612db7565b5f60208284031215613642575f80fd5b815161077c81612db7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136a0816011850160208701612d58565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136d9816012850160208701612d58565b9190910160120192915050565b5f602082840312156136f6575f80fd5b5051919050565b5f602080838503121561370e575f80fd5b825167ffffffffffffffff80821115613725575f80fd5b818501915085601f830112613738575f80fd5b81518181111561374a5761374a61364d565b8060051b604051601f19603f8301168101818110858211171561376f5761376f61364d565b60405291825284820192508381018501918883111561378c575f80fd5b938501935b828510156137b1576137a285613627565b84529385019392850192613791565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137e7816010850160208701612d58565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136a0816011850160208701612d58565b8181035f8312801583831316838312821617156112a8576112a86135ca565b634e487b7160e01b5f52601260045260245ffd5b5f826138605761386061383e565b500690565b5f60018201613876576138766135ca565b5060010190565b5f8261388b5761388b61383e565b500490565b5f808335601e198436030181126138a5575f80fd5b83018035915067ffffffffffffffff8211156138bf575f80fd5b602001915036819003821315612ee6575f80fd5b808202811582820484141761084d5761084d6135ca565b5f602082840312156138fa575f80fd5b815161077c81612de6565b5f8251613916818460208701612d58565b919091019291505056fea26469706673582212200089b3b744b4839e293dee142b1ff3995f5352bc527e32755694c11b7bdcf83164736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "stakingUSDS()": "10cded21", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts deleted file mode 100644 index 7233127e4..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StakingUSDSTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts.map deleted file mode 100644 index bae387f55..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I63mC,KAAK,MAAM,EAAE;;;;CAIh7mC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.js deleted file mode 100644 index 4999229f6..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StakingUSDSTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506146ab8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614145806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162004145380380620041458339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613956620007ef5f395f818161065f01528181611e840152612a4301525f8181610db0015261238201525f8181610d81015261234501525f8181610c5d01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0c01528181611fe0015261213101525f610e4801525f8181610e22015261252701525f8181610dfc015261250101525f8181610dd601526124db01525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254d01525f8181610e6e01528181611320015261292301525f8181610e940152612b0901525f81816106200152610d5201525f818161078901528181610d23015281816112bd0152612aba01526139565ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806310cded21146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d41565b61056c565b6040516102579190612da5565b60405180910390f35b61027361026e366004612dcb565b6105a3565b005b610273610283366004612df3565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102a0610651565b6102736102ce366004612e1c565b610690565b6102736102e1366004612eed565b6106ac565b6102736102f4366004612f7c565b6106c2565b61030c610307366004612d41565b6106d5565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612fc1565b61073e565b604051908152602001610257565b610367610783565b60405160ff9091168152602001610257565b610351610387366004613000565b61081b565b610351610853565b6103516103a236600461302e565b610871565b6103ba6103b5366004612dcb565b61087b565b6040519015158152602001610257565b61024a6103d8366004612d41565b61089a565b6102736103eb366004613065565b6108a8565b61024a6108f6565b61040061092b565b60405161025791906130ac565b61027361041b36600461314d565b5050565b61035161042d366004612dcb565b610c24565b6102a0610c4f565b610273610448366004613179565b610c8e565b61027361045b36600461314d565b610c9f565b61027361046e366004612dcb565b50565b610479610d0a565b60405161025791906131ae565b610351610494366004612d41565b6111ca565b6103516104a7366004612d41565b6111d7565b6104bf6104ba3660046132d4565b6111f8565b6040516102579190613313565b6102a06112af565b6103516112ee565b6103516104ea366004612d41565b611307565b6103516104fd366004612d41565b611314565b61050a61134a565b6040516102579190613356565b610273610525366004613467565b611455565b6103ba6105383660046134c2565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612da5565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001745374616b696e67555344534879706572647269766560581b81525060405160200161058a9190612da5565b90565b60606105f8600160405160200161058a91906134ee565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b6106a1898989898989898989611a01565b505050505050505050565b6106ba868686868686611bf3565b505050505050565b6106cf8484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077c910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610807919061359b565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261084d910161058a565b92915050565b5f6105f861085f611e61565b60405160200161058a91815260200190565b5f61084d82611ef7565b5f61059e6108888361212d565b6040805191151560208301520161058a565b606061059e61057a8361220b565b836108b281612307565b6001600160a01b0316336001600160a01b0316146108e357604051632aab8bd360e01b815260040160405180910390fd5b6108ef858585856123c4565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612da5565b610995604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61099e612430565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a0891906135de565b610a1291906135f1565b90505f8215610b215773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610a3e85612442565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190613604565b509050610b1e81846125cc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bf157610bec84866125e0565b610bf3565b5f5b81526003546001600160801b0316602091820152604051919250610c1d9161058a918491016130ac565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c9a838383336123c4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d12612c6d565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613632565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131ae565b5f61059e61085f836125f4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461364d565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613661565b9050602002013590505f815490508084848151811061127e5761127e613661565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613313565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61085f83612669565b5f61059e61085f6113457f0000000000000000000000000000000000000000000000000000000000000000856135de565b6126a3565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f81612307565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b6106ba8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161084d910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126e3565b90505f83600381111561156e5761156e6135b6565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135b6565b036115e057806040516020016115ca9190613675565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135b6565b0361160a57806040516020016115ca91906136ad565b600383600381111561161e5761161e6135b6565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612da5565b60405180910390fd5b611690612795565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613632565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613632565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd3361212d565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136e6565b90506118766001600160a01b03851684836127bd565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613632565b6001600160a01b0316336001600160a01b031614158015611990575061198e3361212d565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613661565b905060200201358888868686818110611c8857611c88613661565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135f1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135f1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135de565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ef2906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611ec9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eed91906136e6565b612669565b905090565b5f611f00612795565b611f098261280f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613632565b90506001600160a01b038116611fa36020850185612dcb565b6001600160a01b031614611fca57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061207457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561203a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205e9190613632565b6001600160a01b0316336001600160a01b031614155b801561208657506120843361212d565b155b156120a3576040516282b42960e81b815260040160405180910390fd5b5f6120ac612430565b600980545f9091559091506120c2818387612844565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461210160408a0160208b01612df3565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561218a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121b191908101906136fd565b90505f5b815181101561220257836001600160a01b03168282815181106121da576121da613661565b60200260200101516001600160a01b0316036121fa575060019392505050565b6001016121b5565b505f9392505050565b606060f882901c6001600160f81b0383165f612226826126e3565b90505f83600381111561223b5761223b6135b6565b0361226d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612281576122816135b6565b0361229757806040516020016115ca91906137bd565b60028360038111156122ab576122ab6135b6565b036122c157806040516020016115ca91906137f4565b60038360038111156122d5576122d56135b6565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ef2670de0b6b3a76400006125f4565b61249a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161259291166128da565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125c4929004166128da565b905292915050565b5f61077c8383670de0b6b3a764000061294e565b5f61077c83670de0b6b3a76400008461294e565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015612645573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084d91906136e6565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f5929060240161262a565b5f6126c8600b5f6126b5600286612969565b81526020019081526020015f205461299d565b6126d9600b5f6126b5600187612969565b61084d919061381f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127875761271c600a86613852565b6127279060306135de565b60f81b82600161273784876135f1565b61274191906135f1565b8151811061275157612751613661565b60200101906001600160f81b03191690815f1a9053508061277181613865565b91506127809050600a8661387d565b945061270b565b918290030190815292915050565b60025f54036127b757604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c9a9084906129ca565b5f61281d6020830183612dcb565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061285085856125cc565b905061285b81612669565b9450845f0361286d575f91505061077c565b8491506128806040840160208501612df3565b156128af576128a8856128966020860186612dcb565b6128a36040870187613890565b612a2b565b91506128d2565b6128d2856128c06020860186612dcb565b6128cd6040870187613890565b612ae9565b509392505050565b5f80670de0b6b3a76400006128ed612b02565b6128f791906138d3565b9050808311612906575f612910565b61291081846135f1565b915061077c612947670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d3565b83906125e0565b5f825f190484118302158202612962575f80fd5b5091020490565b5f6001600160f81b038211156129925760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129c65760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129de6001600160a01b03841683612b2d565b905080515f14158015612a02575080806020019051810190612a0091906138ea565b155b15610c9a57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a8c575f80fd5b505af1158015612a9e573d5f803e3d5ffd5b50505050612aab856125f4565b9050612ae16001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127bd565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ef2427f0000000000000000000000000000000000000000000000000000000000000000612b3a565b606061077c83835f612b4f565b5f612b458284613852565b61077c90846135f1565b606081471015612b745760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b8f9190613905565b5f6040518083038185875af1925050503d805f8114612bc9576040519150601f19603f3d011682016040523d82523d5f602084013e612bce565b606091505b5091509150612bde868383612be8565b9695505050505050565b606082612bfd57612bf882612c44565b61077c565b8151158015612c1457506001600160a01b0384163b155b15612c3d57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061077c565b805115612c545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d3c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d51575f80fd5b5035919050565b5f5b83811015612d72578181015183820152602001612d5a565b50505f910152565b5f8151808452612d91816020860160208601612d58565b601f01601f19169290920160200192915050565b602081525f61077c6020830184612d7a565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612ddb575f80fd5b813561077c81612db7565b801515811461046e575f80fd5b5f60208284031215612e03575f80fd5b813561077c81612de6565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e35575f80fd5b8935985060208a0135975060408a0135612e4e81612db7565b965060608a0135612e5e81612db7565b955060808a0135612e6e81612de6565b945060a08a0135935060c08a0135612e8581612e0e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612eb5575f80fd5b50813567ffffffffffffffff811115612ecc575f80fd5b6020830191508360208260051b8501011115612ee6575f80fd5b9250929050565b5f805f805f8060808789031215612f02575f80fd5b8635612f0d81612db7565b95506020870135612f1d81612db7565b9450604087013567ffffffffffffffff80821115612f39575f80fd5b612f458a838b01612ea5565b90965094506060890135915080821115612f5d575f80fd5b50612f6a89828a01612ea5565b979a9699509497509295939492505050565b5f805f8060808587031215612f8f575f80fd5b843593506020850135612fa181612db7565b92506040850135612fb181612db7565b9396929550929360600135925050565b5f805f60608486031215612fd3575f80fd5b833592506020840135612fe581612db7565b91506040840135612ff581612db7565b809150509250925092565b5f8060408385031215613011575f80fd5b82359150602083013561302381612db7565b809150509250929050565b5f6020828403121561303e575f80fd5b813567ffffffffffffffff811115613054575f80fd5b82016060818503121561077c575f80fd5b5f805f8060808587031215613078575f80fd5b84359350602085013561308a81612db7565b92506040850135915060608501356130a181612db7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561315e575f80fd5b823561316981612db7565b9150602083013561302381612de6565b5f805f6060848603121561318b575f80fd5b83359250602084013561319d81612db7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131da60208401826001600160a01b03169052565b5060408301516131f560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613267828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132e5575f80fd5b823567ffffffffffffffff8111156132fb575f80fd5b61330785828601612ea5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561334a5783518352928401929184019160010161332e565b50909695505050505050565b81516001600160801b031681526101808101602083015161338260208401826001600160801b03169052565b50604083015161339d60408401826001600160801b03169052565b5060608301516133b860608401826001600160801b03169052565b5060808301516133cd6080840182600f0b9052565b5060a08301516133e860a08401826001600160801b03169052565b5060c083015161340360c08401826001600160801b03169052565b5060e083015161341e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132cc565b5f805f805f60a0868803121561347b575f80fd5b85359450602086013561348d81612db7565b9350604086013561349d81612db7565b92506060860135915060808601356134b481612db7565b809150509295509295909350565b5f80604083850312156134d3575f80fd5b82356134de81612db7565b9150602083013561302381612db7565b5f60208083525f84545f60018260011c9150600183168061351057607f831692505b60208310810361352e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561354d57600181146135635761358c565b60ff198616825284151560051b8201965061358c565b5f8b8152602090205f5b868110156135865781548482015290850190890161356d565b83019750505b50949998505050505050505050565b5f602082840312156135ab575f80fd5b815161077c81612e0e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561084d5761084d6135ca565b8181038181111561084d5761084d6135ca565b5f8060408385031215613615575f80fd5b82519150602083015161302381612de6565b805161059e81612db7565b5f60208284031215613642575f80fd5b815161077c81612db7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136a0816011850160208701612d58565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136d9816012850160208701612d58565b9190910160120192915050565b5f602082840312156136f6575f80fd5b5051919050565b5f602080838503121561370e575f80fd5b825167ffffffffffffffff80821115613725575f80fd5b818501915085601f830112613738575f80fd5b81518181111561374a5761374a61364d565b8060051b604051601f19603f8301168101818110858211171561376f5761376f61364d565b60405291825284820192508381018501918883111561378c575f80fd5b938501935b828510156137b1576137a285613627565b84529385019392850192613791565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137e7816010850160208701612d58565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136a0816011850160208701612d58565b8181035f8312801583831316838312821617156112a8576112a86135ca565b634e487b7160e01b5f52601260045260245ffd5b5f826138605761386061383e565b500690565b5f60018201613876576138766135ca565b5060010190565b5f8261388b5761388b61383e565b500490565b5f808335601e198436030181126138a5575f80fd5b83018035915067ffffffffffffffff8211156138bf575f80fd5b602001915036819003821315612ee6575f80fd5b808202811582820484141761084d5761084d6135ca565b5f602082840312156138fa575f80fd5b815161077c81612de6565b5f8251613916818460208701612d58565b919091019291505056fea26469706673582212200089b3b744b4839e293dee142b1ff3995f5352bc527e32755694c11b7bdcf83164736f6c63430008160033a26469706673582212201db6b5a4b66bfbba56b9adb73484978d4701ecb6e360c559ef30ac82a4f81d6d64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts deleted file mode 100644 index d583dd9d9..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts +++ /dev/null @@ -1,798 +0,0 @@ -export declare const StakingUSDSTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts.map deleted file mode 100644 index f587f7f18..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget1.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA49Bq8iC,KAAK,MAAM,EAAE;;;;;CAKh/iC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.js deleted file mode 100644 index 6b0ecb6d5..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1.js +++ /dev/null @@ -1,994 +0,0 @@ -export const StakingUSDSTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620042e8380380620042e88339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac7620008215f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bc101525f818161139301528181611791015281816117f4015281816127aa015281816127e6015281816129de0152612b9b01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b7501525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612be701525f81816107e701528181610ec4015281816116ef01528181612125015261316201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126110152613ac75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461354b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461354b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b9565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135cc565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135ff565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613627565b6102bd8a6102b78d8f6135b9565b90611584565b8d6102cb60408c018c613642565b6040516102df9897969594939291906136ad565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b9565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136f4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135ff565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613627565b8a61050260408b018b613642565b604051610515979695949392919061371b565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135ff565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b9565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61375b565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b9565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61375b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b9565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b9565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b9565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361375b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135cc565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137ae565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061375b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461375b565b610ea090896135b9565b9750610eac82846135b9565b610eb6908d6135b9565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061375b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61375b565b9850670de0b6b3a7640000610ff0610f8b87876135b9565b600254610fa9908f90600160801b90046001600160801b031661375b565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661375b565b6110d191906137c9565b85670de0b6b3a76400006110e5878a61375b565b6110ef91906137c9565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c9565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137e0565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135cc565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b9565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b8491506115296040840160208501613627565b15611558576115518561153f60208601866135ff565b61154c6040870187613642565b612582565b915061157b565b61157b8561156960208601866135ff565b6115766040870187613642565b612638565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612651565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461375b565b6116b8908961375b565b97506116c481846135b9565b6116ce908e61375b565b9c506116da8a8e6135b9565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061375b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361375b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135cc565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126a4565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c9565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261375b565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061382d565b5f6119ea8284613858565b61157d908461375b565b6002546004545f916105a6916001600160801b0390911690600f0b6126a4565b5f61007d82611a2485888861252d565b906126c9565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361375b565b9050611ac16110fa8286612738565b60068054601090611ae3908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274c90919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b9565b90915550611b6b9050818361375b565b9150611b7682611a2a565b600280545f90611b909084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612760565b600480545f90611bd1908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c10878561274c565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261375b565b611c85908461375b565b9250611ca3565b611c96828261375b565b611ca090846135b9565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b9061274c565b9050611cf588848661252d565b611cff90826135b9565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061375b565b9050805f03611da057600191505061131b565b5f611daa85612789565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612824565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e9565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e59919061395e565b91509150611e77611e6982611321565b611e7290613980565b612998565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b2c565b6040518263ffffffff1660e01b8152600401611f75919061399a565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a9565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b9565b612037919061375b565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139d7565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461375b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061274c565b5f808061216961216188670de0b6b3a764000061375b565b899087612c66565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061375b565b8989612c89565b92506121a883826135b9565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061375b565b8390612519565b61157d90670de0b6b3a764000061375b565b5f8061221d856121f56119f4565b6121ff91906135b9565b600254610fa9908790600160801b90046001600160801b031661375b565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061375b565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c66565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061375b565b8a9088612c66565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b9565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135cc565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135cc565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b9565b6124028587611584565b61240c888a611584565b611ce291906135b9565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761375b565b61245c8587612519565b612466888a611584565b611ce2919061375b565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cab565b6124cd845f612cab565b6124d791906135cc565b90505f8113156124f2576124eb81866135b9565b9450612510565b5f8112156125105761250381613980565b61250d908661375b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c66565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b505050506126028561196a565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cc0565b60405163350b944160e11b815260040160405180910390fd5b5f808061267161266988670de0b6b3a764000061375b565b89908761252d565b905086156121ab576126838888611584565b915061219c8a8a8461269d8a670de0b6b3a764000061375b565b8989612d17565b5f806126b08484612d27565b9092509050806126c2576126c26113ec565b5092915050565b5f815f036126e05750670de0b6b3a764000061131b565b825f036126ee57505f61131b565b5f6126f883611321565b90505f61270c61270786611321565b612d62565b9050818102612723670de0b6b3a7640000826139eb565b905061272e81612f87565b9695505050505050565b5f61157d83670de0b6b3a764000084612c66565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127a3906001600160801b031684612738565b90506127cf7f0000000000000000000000000000000000000000000000000000000000000000826135b9565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061281a9083906001600160801b031661375b565b61157d919061375b565b61282c6134ac565b5f8061283784612b2c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612871919061399a565b6040805180830381865af415801561288b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128af91906139a9565b93509050826128c357505f91506129909050565b5f6128e96128e484610160015185610140015161158490919063ffffffff16565b611321565b6129096128e485610120015186610100015161251990919063ffffffff16565b61291391906135cc565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a729190613a17565b935093509350935080612a8d57505f98975050505050505050565b868414612abe57612a9d84611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612aef57612ace8361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1d57612aff82611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b346134f6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c2c9116613119565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5e92900416613119565b905292915050565b5f825f190484118302158202612c7a575f80fd5b50910281810615159190040190565b5f80612c9988888888888861318d565b909250905080611d0f57611d0f6113ec565b5f818313612cb9578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d12908490613269565b505050565b5f80612c998888888888886132cf565b5f805f83612d3486611321565b612d3e91906135cc565b90505f811215612d54575f809250925050612d5b565b9150600190505b9250929050565b5f808213612d835760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e069084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fa057505f919050565b680755bf798b4a1bf1e58212612fc9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061312c6105ab565b61313691906137c9565b9050808311613145575f61314f565b61314f818461375b565b915061157d613186670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c9565b839061274c565b5f805f61319d898988888861338b565b9050868810156131b3575f80925092505061325e565b96869003966131c288876126c9565b9750878110156131d8575f80925092505061325e565b8781036131e6818688612c66565b9050670de0b6b3a7640000811061321a5761321361320c670de0b6b3a764000089612738565b82906126c9565b9050613232565b61322f61320c670de0b6b3a76400008961274c565b90505b61323c8186612738565b905089811015613253575f8093509350505061325e565b899003925060019150505b965096945050505050565b5f61327d6001600160a01b038416836133b9565b905080515f141580156132a157508080602001905181019061329f9190613a4a565b155b15612d1257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132df898988888861338b565b90506132ef86611a24898b6135b9565b975087811015613305575f80925092505061325e565b878103613313818688612c66565b9050670de0b6b3a764000081106133405761333961320c670de0b6b3a764000089612738565b9050613358565b61335561320c670de0b6b3a76400008961274c565b90505b6133628186612738565b9050808a1015613379575f8093509350505061325e565b90980398600198509650505050505050565b5f61339685856126c9565b6133af6133a786611a24868b612519565b859085612c66565b61247091906135b9565b606061157d83835f845f80856001600160a01b031684866040516133dd9190613a65565b5f6040518083038185875af1925050503d805f8114613417576040519150601f19603f3d011682016040523d82523d5f602084013e61341c565b606091505b509150915061272e86838360608261343c5761343782613483565b61157d565b815115801561345357506001600160a01b0384163b155b1561347c57604051639996b31560e01b81526001600160a01b03851660048201526024016132c6565b508061157d565b8051156134935780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134c06134f6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561355e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613589575f80fd5b85016060818803121561359a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135a5565b8181035f8312801583831316838312821617156126c2576126c26135a5565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561360f575f80fd5b813561157d816135eb565b8015158114610591575f80fd5b5f60208284031215613637575f80fd5b813561157d8161361a565b5f808335601e19843603018112613657575f80fd5b83018035915067ffffffffffffffff821115613671575f80fd5b602001915036819003821315612d5b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136e660e083018486613685565b9a9950505050505050505050565b8082018281125f831280158216821582161715613713576137136135a5565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374e60c083018486613685565b9998505050505050505050565b8181038181111561131b5761131b6135a5565b6001600160701b038181168382160190808211156126c2576126c26135a5565b6001600160801b038181168382160190808211156126c2576126c26135a5565b5f602082840312156137be575f80fd5b815161157d816135eb565b808202811582820484141761131b5761131b6135a5565b6001600160801b038281168282160390808211156126c2576126c26135a5565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135a5565b5f6020828403121561383d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261386657613866613844565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138fc82855161386b565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561396f575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613994576139946135a5565b505f0390565b610180810161131b828461386b565b5f80604083850312156139ba575f80fd5b8251915060208301516139cc8161361a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f9576139f9613844565b600160ff1b82145f1984141615613a1257613a126135a5565b500590565b5f805f8060808587031215613a2a575f80fd5b845193506020850151925060408501519150606085015161359a8161361a565b5f60208284031215613a5a575f80fd5b815161157d8161361a565b5f82515f5b81811015613a845760208186018101518583015201613a6a565b505f92019182525091905056fea26469706673582212200173bd7545cd27b4a9728b29985fadba0f54ed9a0ebc434d05160ad1c694059464736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts deleted file mode 100644 index 16fea5733..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StakingUSDSTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts.map deleted file mode 100644 index 44d485607..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6ImsoC,KAAK,MAAM,EAAE;;;;CAItvoC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.js deleted file mode 100644 index f24c749af..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StakingUSDSTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061484e8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6142e8806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b50604051620042e8380380620042e88339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac7620008215f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bc101525f818161139301528181611791015281816117f4015281816127aa015281816127e6015281816129de0152612b9b01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b7501525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612be701525f81816107e701528181610ec4015281816116ef01528181612125015261316201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126110152613ac75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461354b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461354b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b9565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135cc565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135ff565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613627565b6102bd8a6102b78d8f6135b9565b90611584565b8d6102cb60408c018c613642565b6040516102df9897969594939291906136ad565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b9565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136f4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135ff565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613627565b8a61050260408b018b613642565b604051610515979695949392919061371b565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135ff565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b9565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61375b565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b9565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61375b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b9565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b9565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b9565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361375b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135cc565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137ae565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061375b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461375b565b610ea090896135b9565b9750610eac82846135b9565b610eb6908d6135b9565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061375b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61375b565b9850670de0b6b3a7640000610ff0610f8b87876135b9565b600254610fa9908f90600160801b90046001600160801b031661375b565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661375b565b6110d191906137c9565b85670de0b6b3a76400006110e5878a61375b565b6110ef91906137c9565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c9565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137e0565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135cc565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b9565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b8491506115296040840160208501613627565b15611558576115518561153f60208601866135ff565b61154c6040870187613642565b612582565b915061157b565b61157b8561156960208601866135ff565b6115766040870187613642565b612638565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612651565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461375b565b6116b8908961375b565b97506116c481846135b9565b6116ce908e61375b565b9c506116da8a8e6135b9565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061375b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361375b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135cc565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126a4565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c9565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261375b565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061382d565b5f6119ea8284613858565b61157d908461375b565b6002546004545f916105a6916001600160801b0390911690600f0b6126a4565b5f61007d82611a2485888861252d565b906126c9565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361375b565b9050611ac16110fa8286612738565b60068054601090611ae3908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274c90919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b9565b90915550611b6b9050818361375b565b9150611b7682611a2a565b600280545f90611b909084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612760565b600480545f90611bd1908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c10878561274c565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261375b565b611c85908461375b565b9250611ca3565b611c96828261375b565b611ca090846135b9565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b9061274c565b9050611cf588848661252d565b611cff90826135b9565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061375b565b9050805f03611da057600191505061131b565b5f611daa85612789565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612824565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e9565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e59919061395e565b91509150611e77611e6982611321565b611e7290613980565b612998565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b2c565b6040518263ffffffff1660e01b8152600401611f75919061399a565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a9565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b9565b612037919061375b565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139d7565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461375b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061274c565b5f808061216961216188670de0b6b3a764000061375b565b899087612c66565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061375b565b8989612c89565b92506121a883826135b9565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061375b565b8390612519565b61157d90670de0b6b3a764000061375b565b5f8061221d856121f56119f4565b6121ff91906135b9565b600254610fa9908790600160801b90046001600160801b031661375b565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061375b565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c66565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061375b565b8a9088612c66565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b9565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135cc565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135cc565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b9565b6124028587611584565b61240c888a611584565b611ce291906135b9565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761375b565b61245c8587612519565b612466888a611584565b611ce2919061375b565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cab565b6124cd845f612cab565b6124d791906135cc565b90505f8113156124f2576124eb81866135b9565b9450612510565b5f8112156125105761250381613980565b61250d908661375b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c66565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b505050506126028561196a565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cc0565b60405163350b944160e11b815260040160405180910390fd5b5f808061267161266988670de0b6b3a764000061375b565b89908761252d565b905086156121ab576126838888611584565b915061219c8a8a8461269d8a670de0b6b3a764000061375b565b8989612d17565b5f806126b08484612d27565b9092509050806126c2576126c26113ec565b5092915050565b5f815f036126e05750670de0b6b3a764000061131b565b825f036126ee57505f61131b565b5f6126f883611321565b90505f61270c61270786611321565b612d62565b9050818102612723670de0b6b3a7640000826139eb565b905061272e81612f87565b9695505050505050565b5f61157d83670de0b6b3a764000084612c66565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127a3906001600160801b031684612738565b90506127cf7f0000000000000000000000000000000000000000000000000000000000000000826135b9565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061281a9083906001600160801b031661375b565b61157d919061375b565b61282c6134ac565b5f8061283784612b2c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612871919061399a565b6040805180830381865af415801561288b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128af91906139a9565b93509050826128c357505f91506129909050565b5f6128e96128e484610160015185610140015161158490919063ffffffff16565b611321565b6129096128e485610120015186610100015161251990919063ffffffff16565b61291391906135cc565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a729190613a17565b935093509350935080612a8d57505f98975050505050505050565b868414612abe57612a9d84611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612aef57612ace8361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1d57612aff82611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b346134f6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c2c9116613119565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5e92900416613119565b905292915050565b5f825f190484118302158202612c7a575f80fd5b50910281810615159190040190565b5f80612c9988888888888861318d565b909250905080611d0f57611d0f6113ec565b5f818313612cb9578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d12908490613269565b505050565b5f80612c998888888888886132cf565b5f805f83612d3486611321565b612d3e91906135cc565b90505f811215612d54575f809250925050612d5b565b9150600190505b9250929050565b5f808213612d835760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e069084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fa057505f919050565b680755bf798b4a1bf1e58212612fc9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061312c6105ab565b61313691906137c9565b9050808311613145575f61314f565b61314f818461375b565b915061157d613186670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c9565b839061274c565b5f805f61319d898988888861338b565b9050868810156131b3575f80925092505061325e565b96869003966131c288876126c9565b9750878110156131d8575f80925092505061325e565b8781036131e6818688612c66565b9050670de0b6b3a7640000811061321a5761321361320c670de0b6b3a764000089612738565b82906126c9565b9050613232565b61322f61320c670de0b6b3a76400008961274c565b90505b61323c8186612738565b905089811015613253575f8093509350505061325e565b899003925060019150505b965096945050505050565b5f61327d6001600160a01b038416836133b9565b905080515f141580156132a157508080602001905181019061329f9190613a4a565b155b15612d1257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132df898988888861338b565b90506132ef86611a24898b6135b9565b975087811015613305575f80925092505061325e565b878103613313818688612c66565b9050670de0b6b3a764000081106133405761333961320c670de0b6b3a764000089612738565b9050613358565b61335561320c670de0b6b3a76400008961274c565b90505b6133628186612738565b9050808a1015613379575f8093509350505061325e565b90980398600198509650505050505050565b5f61339685856126c9565b6133af6133a786611a24868b612519565b859085612c66565b61247091906135b9565b606061157d83835f845f80856001600160a01b031684866040516133dd9190613a65565b5f6040518083038185875af1925050503d805f8114613417576040519150601f19603f3d011682016040523d82523d5f602084013e61341c565b606091505b509150915061272e86838360608261343c5761343782613483565b61157d565b815115801561345357506001600160a01b0384163b155b1561347c57604051639996b31560e01b81526001600160a01b03851660048201526024016132c6565b508061157d565b8051156134935780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134c06134f6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561355e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613589575f80fd5b85016060818803121561359a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135a5565b8181035f8312801583831316838312821617156126c2576126c26135a5565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561360f575f80fd5b813561157d816135eb565b8015158114610591575f80fd5b5f60208284031215613637575f80fd5b813561157d8161361a565b5f808335601e19843603018112613657575f80fd5b83018035915067ffffffffffffffff821115613671575f80fd5b602001915036819003821315612d5b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136e660e083018486613685565b9a9950505050505050505050565b8082018281125f831280158216821582161715613713576137136135a5565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374e60c083018486613685565b9998505050505050505050565b8181038181111561131b5761131b6135a5565b6001600160701b038181168382160190808211156126c2576126c26135a5565b6001600160801b038181168382160190808211156126c2576126c26135a5565b5f602082840312156137be575f80fd5b815161157d816135eb565b808202811582820484141761131b5761131b6135a5565b6001600160801b038281168282160390808211156126c2576126c26135a5565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135a5565b5f6020828403121561383d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261386657613866613844565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138fc82855161386b565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561396f575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613994576139946135a5565b505f0390565b610180810161131b828461386b565b5f80604083850312156139ba575f80fd5b8251915060208301516139cc8161361a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f9576139f9613844565b600160ff1b82145f1984141615613a1257613a126135a5565b500590565b5f805f8060808587031215613a2a575f80fd5b845193506020850151925060408501519150606085015161359a8161361a565b5f60208284031215613a5a575f80fd5b815161157d8161361a565b5f82515f5b81811015613a845760208186018101518583015201613a6a565b505f92019182525091905056fea26469706673582212200173bd7545cd27b4a9728b29985fadba0f54ed9a0ebc434d05160ad1c694059464736f6c63430008160033a2646970667358221220b2b0668b3baf7b2c103a8853f069a393531ec4433737cc7f89c57fc5ac4dab5764736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts deleted file mode 100644 index 08999e115..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts +++ /dev/null @@ -1,818 +0,0 @@ -export declare const StakingUSDSTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts.map deleted file mode 100644 index 3e87cb622..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget2.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAq/Bu0lC,KAAK,MAAM,EAAE;;;;;CAKl3lC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.js deleted file mode 100644 index fe8395411..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2.js +++ /dev/null @@ -1,1019 +0,0 @@ -export const StakingUSDSTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b50604051620045a9380380620045a98339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d65620008445f395f81816116f8015261176f01525f50505f50505f610c2801525f50505f818160f9015281816103020152612db101525f818161152f01528181611d3901528181611d9c01528181612523015281816129a1015281816129dd01528181612bce0152612d8b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d6501525f61196301525f8181611a84015281816126140152818161268c0152612ec901525f81816109a301528181610e370152818161141501528181611a58015261266001525f8181610e16015281816125e00152612e8501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd701525f81816101d301528181610396015281816108e1015261345501525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d655ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e9565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e9565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613857565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613857565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61387e565b8b611217565b8d8a8a898e8561023e602083018361387e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a6565b8961028960408a018a6138c1565b60405161029c979695949392919061392c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613857565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613857565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613857565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a82610484602084018461387e565b85611217565b858b868461049b602086018661387e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a6565b6104ec896104e68a8d61396c565b90610683565b8d6104fa60408e018e6138c1565b60405161050e98979695949392919061397f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361387e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a6565b156105ea576105e0856105db60408701876138c1565b6116bc565b9093509050610602565b5034610602856105fd60408701876138c1565b6117dd565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f6565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611811565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613857565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611826565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b92505b5061083883611865565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61396c565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613857565b4290611892565b84610f13565b6108d5886118a6565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61396c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a43565b915091508060095f8282546109729190613857565b9091555061098d9050865f8461098781611b10565b88611b39565b6109978183613857565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cb0565b91506109db6109d68385610683565b611cf9565b600680546002906109fc9084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611865565b60068054601090610a4b908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a43565b915091508060095f828254610abe9190613857565b90915550610ad99050835f84610ad381611b10565b8a611d22565b610ae3818361396c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611865565b60068054601090610b62908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b10565b610ba483611b10565b610bae9190613a06565b5f611f12565b8e610bbf8482611f51565b50505b5f610bcc84612140565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a25565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612282565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611826565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612308565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612333565b612397565b15610e6d57610e6d6123d8565b610e79878588856123f1565b91965094509250670de0b6b3a7640000610efb610e968784613857565b600254610eb4908890600160801b90046001600160801b031661396c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b1115610f0957610f096123d8565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611865565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661396c565b610fb99190613a40565b85670de0b6b3a7640000610fcd878a61396c565b610fd79190613a40565b859291906001612439565b611865565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611865565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a40565b6005546001600160801b03169190886001612439565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611865565b600280545f906110d19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611865565b60028054601090611120908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611865565b61115790826139e6565b600380546001600160801b03808416600160801b02911617905590505f61117d836124dd565b905061119b8161118c87611b10565b6111969084613a77565b611f12565b6111a48461251d565b6111b0576111b06123d8565b5f6111ba8561257c565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613857565b90915550505f838152600b60205260408120805483929061126a908490613857565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611826565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612588565b93508761134d85896125a8565b111561135b5761135b6123d8565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b93506113d58a670de0b6b3a7640000868c6125bc565b509193509091506113e89050818361396c565b6113f2908761396c565b95508861143f816114398d611407868c61396c565b8d61141287826126c8565b877f00000000000000000000000000000000000000000000000000000000000000006126dd565b906125a8565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126fd565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a9e565b5f6114e960408301602084016138a6565b156114f5575082611502565b6114ff8484612720565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d8565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b612734565b101561156b5761156b6123d8565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a40565b600554600160801b90046001600160801b03169190896001612439565b600580546001600160801b03928316600160801b0292169190911790556115db81611865565b600280546001600160801b0319166001600160801b039290921691909117905561160485611865565b60028054601090611626908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165385611865565b60048054601090611675908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124dd565b905061119b816116b288611b10565b6111969084613a06565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612759565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613857565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c6565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b1580156117b8575f80fd5b505af11580156117ca573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261180a575f80fd5b5091020490565b5f61181c8284613ac9565b610697908461396c565b6002546004545f916106cb916001600160801b0390911690600f0b612734565b5f61185c826118568588886117f6565b90612855565b95945050505050565b5f6001600160801b0382111561188e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118a05782610697565b50919050565b6006545f9081906118c8908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a3e575f6118f1838361396c565b9050611900610fe28286611450565b60068054601090611922908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61195a858361272090919063ffffffff16565b90505f611987827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461199a9190613857565b909155506119aa9050818361396c565b91506119b582611865565b600280545f906119cf9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119fc826128ba565b600480545f90611a10908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a4f8785612720565b91505f611a7c837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa8817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611acb57611aba828261396c565b611ac4908461396c565b9250611ae2565b611ad5828261396c565b611adf9084613857565b92505b86861015611b0557611af58387896117f6565b9250611b028287896117f6565b91505b509550959350505050565b5f6001600160ff1b0382111561188e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b81610fe282611b65670de0b6b3a764000086613a40565b600554600160801b90046001600160801b031691908a5f612439565b600580546001600160801b03928316600160801b029216919091179055611ba786611865565b611bb19082613a57565b600480546001600160801b03928316600160801b029216919091179055611bd784611865565b600280545f90611bf19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c1e836128e3565b600480545f90611c32908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c6285611865565b60028054601090611c84908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc784611cc18a888a6117f6565b90612720565b9050611cd48884866117f6565b611cde9082613857565b905086811115611cee5786810391505b509695505050505050565b5f6001600160701b0382111561188e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d6457507f0000000000000000000000000000000000000000000000000000000000000000611d62858361396c565b105b15611d7157611d716123d8565b6004549084900390600f0b611d868482613a06565b905083611d9286611b10565b138015611dc757507f0000000000000000000000000000000000000000000000000000000000000000611dc58383612734565b105b15611dd457611dd46123d8565b600354600160801b90046001600160801b0316611e15610fe282611e00670de0b6b3a764000088613a40565b6005546001600160801b031691908c5f612439565b600580546001600160801b0319166001600160801b0392909216919091179055611e3f888261396c565b9050611e4a81611865565b600380546001600160801b03928316600160801b029216919091179055611e7083611865565b600280546001600160801b0319166001600160801b0392909216919091179055611e99826128e3565b600480546001600160801b0319166001600160801b0392909216919091179055611ec287611865565b60028054601090611ee4908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2d90610fe2906001600160801b0316848461291e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f9b916001600160801b03169061396c565b9050805f03611fae57600191505061069a565b5f611fb885612980565b9050805f03611fcc5760019250505061069a565b5f80611fd9838589612a1b565b9150915080611fee575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612029929190613b87565b6040805180830381865af4158015612043573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120679190613bfc565b9150915061208561207782611b10565b61208090613c1e565b612b88565b92508261209a575f965050505050505061069a565b6120a382611865565b600780545f906120bd9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120ea81611865565b6007805460109061210c908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216787612d1c565b6040518263ffffffff1660e01b81526004016121839190613c38565b6040805180830381865af415801561219d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121c19190613c47565b91509150806121d657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223b91613857565b612245919061396c565b9050805f0361225b57505f958695509350505050565b5f808711612269575f612274565b6122748488846117f6565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122a5576122a5613c75565b6040519080825280601f01601f1916602001820160405280156122cf576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122ef578692505b828152825f602083013e90999098509650505050505050565b5f61232887878761232188670de0b6b3a764000061396c565b8787612e56565b979650505050505050565b5f6114ff61237361234c84670de0b6b3a764000061396c565b611439670de0b6b3a7640000612362818a611450565b61236c919061396c565b87906125a8565b61238590670de0b6b3a7640000613857565b611cc184670de0b6b3a764000061396c565b5f806123cd856123a5611826565b6123af9190613857565b600254610eb4908790600160801b90046001600160801b031661396c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612401898789612e78565b9092509050612410828961396c565b97505f61241e82888a6117f6565b905061242a818b61396c565b9a989950979650505050505050565b5f825f0361244857508461185c565b811561249a5761247961245b8487613857565b6124658587610683565b61246f888a610683565b611cc19190613857565b90505f6124868588611892565b905080821015612494578091505b5061185c565b8285036124a857505f61185c565b6124d36124b5848761396c565b6124bf85876125a8565b6124c9888a610683565b611cc1919061396c565b9695505050505050565b5f612502600b5f6124ef6002866111e3565b81526020019081526020015f2054611b10565b612513600b5f6124ef6001876111e3565b61069a9190613a06565b5f6125487f0000000000000000000000000000000000000000000000000000000000000000836125a8565b60035461255e91906001600160801b0316613857565b600254612574906001600160801b031684610683565b101592915050565b5f61069a826004611f51565b5f6123288787876125a188670de0b6b3a764000061396c565b8787612ef7565b5f6106978383670de0b6b3a76400006126fd565b5f80808061260c87866126058b6114396125de8c670de0b6b3a764000061396c565b7f0000000000000000000000000000000000000000000000000000000000000000906125a8565b91906126fd565b9350612638847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265861265089670de0b6b3a764000061396c565b8a90886126fd565b9050612684817f00000000000000000000000000000000000000000000000000000000000000006125a8565b93506126b0847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126ba9084613857565b915050945094509450949050565b5f8183116126d65781610697565b5090919050565b5f806126f4846126ee8a888a6126fd565b90611450565b9050611cd48884865b5f825f190484118302158202612711575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f6565b5f806127408484612f07565b909250905080612752576127526123d8565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127c09186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f3f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128178482612faa565b6127c0576040516001600160a01b0384811660248301525f604483015261284b91869182169063095ea7b39060640161278e565b6127c08482612f3f565b5f815f0361286c5750670de0b6b3a764000061069a565b825f0361287a57505f61069a565b5f61288483611b10565b90505f61289861289386611b10565b613047565b90508181026128af670de0b6b3a764000082613c89565b90506124d38161326c565b5f60016001607f1b0382111561188e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612900575060016001607f1b0382135b1561188e5760405163a5353be560e01b815260040160405180910390fd5b5f8061292a845f6133fe565b612934845f6133fe565b61293e9190613a06565b90505f811315612959576129528186613857565b9450612977565b5f8112156129775761296a81613c1e565b612974908661396c565b94505b50929392505050565b6003545f90819061299a906001600160801b031684611450565b90506129c67f000000000000000000000000000000000000000000000000000000000000000082613857565b6002546001600160801b031611156118a0576002547f000000000000000000000000000000000000000000000000000000000000000090612a119083906001600160801b031661396c565b611502919061396c565b612a2361374a565b5f80612a2e84612d1c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a689190613c38565b6040805180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613c47565b9350905082612aba57505f91506117d59050565b5f612ae0612adb84610160015185610140015161068390919063ffffffff16565b611b10565b612b00612adb8561012001518661010001516125a890919063ffffffff16565b612b0a9190613a06565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c629190613cb5565b935093509350935080612c7d57505f98975050505050505050565b868414612cae57612c8d84611865565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cdf57612cbe836128e3565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0d57612cef82611865565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d24613794565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e1c911661340c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4e9290041661340c565b905292915050565b5f80612e66888888888888613480565b909250905080611cee57611cee6123d8565b5f80612ec18561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb7818c611450565b611439919061396c565b9150612eed827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e66888888888888613544565b5f805f83612f1486611b10565b612f1e9190613a06565b90505f811215612f34575f80925092505061067c565b946001945092505050565b5f612f536001600160a01b03841683613600565b905080515f14158015612f77575080806020019051810190612f759190613ce8565b155b15612fa557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fc59190613d03565b5f604051808303815f865af19150503d805f8114612ffe576040519150601f19603f3d011682016040523d82523d5f602084013e613003565b606091505b509150915081801561302d57508051158061302d57508080602001905181019061302d9190613ce8565b801561185c5750505050506001600160a01b03163b151590565b5f8082136130685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130eb9084901c611b10565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328557505f919050565b680755bf798b4a1bf1e582126132ae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124d374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b10565b5f8183136126d65781610697565b5f80670de0b6b3a764000061341f6106a0565b6134299190613a40565b9050808311613438575f613442565b613442818461396c565b9150611502613479670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a40565b8390612720565b5f805f613490898988888861360d565b90506134aa866118566134a38a8d613857565b8790610683565b98506134b7858a866117f6565b9850888110156134cd575f809250925050613539565b888103670de0b6b3a76400008110613502576134fb6134f4670de0b6b3a764000089611450565b8290612855565b905061351a565b6135176134f4670de0b6b3a764000089612720565b90505b8089101561352f575f80935093505050613539565b8803925060019150505b965096945050505050565b5f805f613554898988888861360d565b905061356486611856898b613857565b97508781101561357a575f809250925050613539565b8781036135888186886126fd565b9050670de0b6b3a764000081106135b5576135ae6134f4670de0b6b3a764000089611450565b90506135cd565b6135ca6134f4670de0b6b3a764000089612720565b90505b6135d78186611450565b9050808a10156135ee575f80935093505050613539565b90980398600198509650505050505050565b606061069783835f61363b565b5f6136188585612855565b61363161362986611856868b6125a8565b8590856126fd565b6124d39190613857565b6060814710156136605760405163cd78605960e01b8152306004820152602401612f9c565b5f80856001600160a01b0316848660405161367b9190613d03565b5f6040518083038185875af1925050503d805f81146136b5576040519150601f19603f3d011682016040523d82523d5f602084013e6136ba565b606091505b50915091506124d38683836060826136da576136d582613721565b611502565b81511580156136f157506001600160a01b0384163b155b1561371a57604051639996b31560e01b81526001600160a01b0385166004820152602401612f9c565b5080611502565b8051156137315780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375e613794565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137fc575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613827575f80fd5b850160608188031215613838575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613843565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561388e575f80fd5b81356115028161386a565b80151581146105af575f80fd5b5f602082840312156138b6575f80fd5b813561150281613899565b5f808335601e198436030181126138d6575f80fd5b83018035915067ffffffffffffffff8211156138f0575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395f60c083018486613904565b9998505050505050505050565b8181038181111561069a5761069a613843565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b860e083018486613904565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561275257612752613843565b6001600160801b0381811683821601908082111561275257612752613843565b8181035f83128015838313168383128216171561275257612752613843565b5f60208284031215613a35575f80fd5b81516115028161386a565b808202811582820484141761069a5761069a613843565b6001600160801b0382811682821603908082111561275257612752613843565b8082018281125f831280158216821582161715613a9657613a96613843565b505092915050565b5f60208284031215613aae575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad757613ad7613ab5565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613843565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b9a828551613b09565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c0d575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c3257613c32613843565b505f0390565b610180810161069a8284613b09565b5f8060408385031215613c58575f80fd5b825191506020830151613c6a81613899565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9757613c97613ab5565b600160ff1b82145f1984141615613cb057613cb0613843565b500590565b5f805f8060808587031215613cc8575f80fd5b845193506020850151925060408501519150606085015161383881613899565b5f60208284031215613cf8575f80fd5b815161150281613899565b5f82515f5b81811015613d225760208186018101518583015201613d08565b505f92019182525091905056fea2646970667358221220c7e2feba07542200016a39155ae6061f21c5e701d8284d1b5bc5b64dd882b4ed64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts deleted file mode 100644 index 3dbec2c78..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StakingUSDSTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts.map deleted file mode 100644 index 21af1a3b3..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IqkrC,KAAK,MAAM,EAAE;;;;CAIxnrC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.js deleted file mode 100644 index de7045b63..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StakingUSDSTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614b0f8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6145a9806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b50604051620045a9380380620045a98339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d65620008445f395f81816116f8015261176f01525f50505f50505f610c2801525f50505f818160f9015281816103020152612db101525f818161152f01528181611d3901528181611d9c01528181612523015281816129a1015281816129dd01528181612bce0152612d8b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d6501525f61196301525f8181611a84015281816126140152818161268c0152612ec901525f81816109a301528181610e370152818161141501528181611a58015261266001525f8181610e16015281816125e00152612e8501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd701525f81816101d301528181610396015281816108e1015261345501525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d655ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e9565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e9565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613857565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613857565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61387e565b8b611217565b8d8a8a898e8561023e602083018361387e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a6565b8961028960408a018a6138c1565b60405161029c979695949392919061392c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613857565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613857565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613857565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a82610484602084018461387e565b85611217565b858b868461049b602086018661387e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a6565b6104ec896104e68a8d61396c565b90610683565b8d6104fa60408e018e6138c1565b60405161050e98979695949392919061397f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361387e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a6565b156105ea576105e0856105db60408701876138c1565b6116bc565b9093509050610602565b5034610602856105fd60408701876138c1565b6117dd565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f6565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611811565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613857565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611826565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b92505b5061083883611865565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61396c565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613857565b4290611892565b84610f13565b6108d5886118a6565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61396c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a43565b915091508060095f8282546109729190613857565b9091555061098d9050865f8461098781611b10565b88611b39565b6109978183613857565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cb0565b91506109db6109d68385610683565b611cf9565b600680546002906109fc9084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611865565b60068054601090610a4b908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a43565b915091508060095f828254610abe9190613857565b90915550610ad99050835f84610ad381611b10565b8a611d22565b610ae3818361396c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611865565b60068054601090610b62908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b10565b610ba483611b10565b610bae9190613a06565b5f611f12565b8e610bbf8482611f51565b50505b5f610bcc84612140565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a25565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612282565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611826565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612308565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612333565b612397565b15610e6d57610e6d6123d8565b610e79878588856123f1565b91965094509250670de0b6b3a7640000610efb610e968784613857565b600254610eb4908890600160801b90046001600160801b031661396c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b1115610f0957610f096123d8565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611865565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661396c565b610fb99190613a40565b85670de0b6b3a7640000610fcd878a61396c565b610fd79190613a40565b859291906001612439565b611865565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611865565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a40565b6005546001600160801b03169190886001612439565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611865565b600280545f906110d19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611865565b60028054601090611120908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611865565b61115790826139e6565b600380546001600160801b03808416600160801b02911617905590505f61117d836124dd565b905061119b8161118c87611b10565b6111969084613a77565b611f12565b6111a48461251d565b6111b0576111b06123d8565b5f6111ba8561257c565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613857565b90915550505f838152600b60205260408120805483929061126a908490613857565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611826565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612588565b93508761134d85896125a8565b111561135b5761135b6123d8565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b93506113d58a670de0b6b3a7640000868c6125bc565b509193509091506113e89050818361396c565b6113f2908761396c565b95508861143f816114398d611407868c61396c565b8d61141287826126c8565b877f00000000000000000000000000000000000000000000000000000000000000006126dd565b906125a8565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126fd565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a9e565b5f6114e960408301602084016138a6565b156114f5575082611502565b6114ff8484612720565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d8565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b612734565b101561156b5761156b6123d8565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a40565b600554600160801b90046001600160801b03169190896001612439565b600580546001600160801b03928316600160801b0292169190911790556115db81611865565b600280546001600160801b0319166001600160801b039290921691909117905561160485611865565b60028054601090611626908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165385611865565b60048054601090611675908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124dd565b905061119b816116b288611b10565b6111969084613a06565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612759565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613857565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c6565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b1580156117b8575f80fd5b505af11580156117ca573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261180a575f80fd5b5091020490565b5f61181c8284613ac9565b610697908461396c565b6002546004545f916106cb916001600160801b0390911690600f0b612734565b5f61185c826118568588886117f6565b90612855565b95945050505050565b5f6001600160801b0382111561188e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118a05782610697565b50919050565b6006545f9081906118c8908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a3e575f6118f1838361396c565b9050611900610fe28286611450565b60068054601090611922908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61195a858361272090919063ffffffff16565b90505f611987827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461199a9190613857565b909155506119aa9050818361396c565b91506119b582611865565b600280545f906119cf9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119fc826128ba565b600480545f90611a10908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a4f8785612720565b91505f611a7c837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa8817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611acb57611aba828261396c565b611ac4908461396c565b9250611ae2565b611ad5828261396c565b611adf9084613857565b92505b86861015611b0557611af58387896117f6565b9250611b028287896117f6565b91505b509550959350505050565b5f6001600160ff1b0382111561188e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b81610fe282611b65670de0b6b3a764000086613a40565b600554600160801b90046001600160801b031691908a5f612439565b600580546001600160801b03928316600160801b029216919091179055611ba786611865565b611bb19082613a57565b600480546001600160801b03928316600160801b029216919091179055611bd784611865565b600280545f90611bf19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c1e836128e3565b600480545f90611c32908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c6285611865565b60028054601090611c84908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc784611cc18a888a6117f6565b90612720565b9050611cd48884866117f6565b611cde9082613857565b905086811115611cee5786810391505b509695505050505050565b5f6001600160701b0382111561188e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d6457507f0000000000000000000000000000000000000000000000000000000000000000611d62858361396c565b105b15611d7157611d716123d8565b6004549084900390600f0b611d868482613a06565b905083611d9286611b10565b138015611dc757507f0000000000000000000000000000000000000000000000000000000000000000611dc58383612734565b105b15611dd457611dd46123d8565b600354600160801b90046001600160801b0316611e15610fe282611e00670de0b6b3a764000088613a40565b6005546001600160801b031691908c5f612439565b600580546001600160801b0319166001600160801b0392909216919091179055611e3f888261396c565b9050611e4a81611865565b600380546001600160801b03928316600160801b029216919091179055611e7083611865565b600280546001600160801b0319166001600160801b0392909216919091179055611e99826128e3565b600480546001600160801b0319166001600160801b0392909216919091179055611ec287611865565b60028054601090611ee4908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2d90610fe2906001600160801b0316848461291e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f9b916001600160801b03169061396c565b9050805f03611fae57600191505061069a565b5f611fb885612980565b9050805f03611fcc5760019250505061069a565b5f80611fd9838589612a1b565b9150915080611fee575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612029929190613b87565b6040805180830381865af4158015612043573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120679190613bfc565b9150915061208561207782611b10565b61208090613c1e565b612b88565b92508261209a575f965050505050505061069a565b6120a382611865565b600780545f906120bd9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120ea81611865565b6007805460109061210c908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216787612d1c565b6040518263ffffffff1660e01b81526004016121839190613c38565b6040805180830381865af415801561219d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121c19190613c47565b91509150806121d657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223b91613857565b612245919061396c565b9050805f0361225b57505f958695509350505050565b5f808711612269575f612274565b6122748488846117f6565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122a5576122a5613c75565b6040519080825280601f01601f1916602001820160405280156122cf576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122ef578692505b828152825f602083013e90999098509650505050505050565b5f61232887878761232188670de0b6b3a764000061396c565b8787612e56565b979650505050505050565b5f6114ff61237361234c84670de0b6b3a764000061396c565b611439670de0b6b3a7640000612362818a611450565b61236c919061396c565b87906125a8565b61238590670de0b6b3a7640000613857565b611cc184670de0b6b3a764000061396c565b5f806123cd856123a5611826565b6123af9190613857565b600254610eb4908790600160801b90046001600160801b031661396c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612401898789612e78565b9092509050612410828961396c565b97505f61241e82888a6117f6565b905061242a818b61396c565b9a989950979650505050505050565b5f825f0361244857508461185c565b811561249a5761247961245b8487613857565b6124658587610683565b61246f888a610683565b611cc19190613857565b90505f6124868588611892565b905080821015612494578091505b5061185c565b8285036124a857505f61185c565b6124d36124b5848761396c565b6124bf85876125a8565b6124c9888a610683565b611cc1919061396c565b9695505050505050565b5f612502600b5f6124ef6002866111e3565b81526020019081526020015f2054611b10565b612513600b5f6124ef6001876111e3565b61069a9190613a06565b5f6125487f0000000000000000000000000000000000000000000000000000000000000000836125a8565b60035461255e91906001600160801b0316613857565b600254612574906001600160801b031684610683565b101592915050565b5f61069a826004611f51565b5f6123288787876125a188670de0b6b3a764000061396c565b8787612ef7565b5f6106978383670de0b6b3a76400006126fd565b5f80808061260c87866126058b6114396125de8c670de0b6b3a764000061396c565b7f0000000000000000000000000000000000000000000000000000000000000000906125a8565b91906126fd565b9350612638847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265861265089670de0b6b3a764000061396c565b8a90886126fd565b9050612684817f00000000000000000000000000000000000000000000000000000000000000006125a8565b93506126b0847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126ba9084613857565b915050945094509450949050565b5f8183116126d65781610697565b5090919050565b5f806126f4846126ee8a888a6126fd565b90611450565b9050611cd48884865b5f825f190484118302158202612711575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f6565b5f806127408484612f07565b909250905080612752576127526123d8565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127c09186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f3f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128178482612faa565b6127c0576040516001600160a01b0384811660248301525f604483015261284b91869182169063095ea7b39060640161278e565b6127c08482612f3f565b5f815f0361286c5750670de0b6b3a764000061069a565b825f0361287a57505f61069a565b5f61288483611b10565b90505f61289861289386611b10565b613047565b90508181026128af670de0b6b3a764000082613c89565b90506124d38161326c565b5f60016001607f1b0382111561188e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612900575060016001607f1b0382135b1561188e5760405163a5353be560e01b815260040160405180910390fd5b5f8061292a845f6133fe565b612934845f6133fe565b61293e9190613a06565b90505f811315612959576129528186613857565b9450612977565b5f8112156129775761296a81613c1e565b612974908661396c565b94505b50929392505050565b6003545f90819061299a906001600160801b031684611450565b90506129c67f000000000000000000000000000000000000000000000000000000000000000082613857565b6002546001600160801b031611156118a0576002547f000000000000000000000000000000000000000000000000000000000000000090612a119083906001600160801b031661396c565b611502919061396c565b612a2361374a565b5f80612a2e84612d1c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a689190613c38565b6040805180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613c47565b9350905082612aba57505f91506117d59050565b5f612ae0612adb84610160015185610140015161068390919063ffffffff16565b611b10565b612b00612adb8561012001518661010001516125a890919063ffffffff16565b612b0a9190613a06565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c629190613cb5565b935093509350935080612c7d57505f98975050505050505050565b868414612cae57612c8d84611865565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cdf57612cbe836128e3565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0d57612cef82611865565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d24613794565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e1c911661340c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4e9290041661340c565b905292915050565b5f80612e66888888888888613480565b909250905080611cee57611cee6123d8565b5f80612ec18561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb7818c611450565b611439919061396c565b9150612eed827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e66888888888888613544565b5f805f83612f1486611b10565b612f1e9190613a06565b90505f811215612f34575f80925092505061067c565b946001945092505050565b5f612f536001600160a01b03841683613600565b905080515f14158015612f77575080806020019051810190612f759190613ce8565b155b15612fa557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fc59190613d03565b5f604051808303815f865af19150503d805f8114612ffe576040519150601f19603f3d011682016040523d82523d5f602084013e613003565b606091505b509150915081801561302d57508051158061302d57508080602001905181019061302d9190613ce8565b801561185c5750505050506001600160a01b03163b151590565b5f8082136130685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130eb9084901c611b10565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328557505f919050565b680755bf798b4a1bf1e582126132ae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124d374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b10565b5f8183136126d65781610697565b5f80670de0b6b3a764000061341f6106a0565b6134299190613a40565b9050808311613438575f613442565b613442818461396c565b9150611502613479670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a40565b8390612720565b5f805f613490898988888861360d565b90506134aa866118566134a38a8d613857565b8790610683565b98506134b7858a866117f6565b9850888110156134cd575f809250925050613539565b888103670de0b6b3a76400008110613502576134fb6134f4670de0b6b3a764000089611450565b8290612855565b905061351a565b6135176134f4670de0b6b3a764000089612720565b90505b8089101561352f575f80935093505050613539565b8803925060019150505b965096945050505050565b5f805f613554898988888861360d565b905061356486611856898b613857565b97508781101561357a575f809250925050613539565b8781036135888186886126fd565b9050670de0b6b3a764000081106135b5576135ae6134f4670de0b6b3a764000089611450565b90506135cd565b6135ca6134f4670de0b6b3a764000089612720565b90505b6135d78186611450565b9050808a10156135ee575f80935093505050613539565b90980398600198509650505050505050565b606061069783835f61363b565b5f6136188585612855565b61363161362986611856868b6125a8565b8590856126fd565b6124d39190613857565b6060814710156136605760405163cd78605960e01b8152306004820152602401612f9c565b5f80856001600160a01b0316848660405161367b9190613d03565b5f6040518083038185875af1925050503d805f81146136b5576040519150601f19603f3d011682016040523d82523d5f602084013e6136ba565b606091505b50915091506124d38683836060826136da576136d582613721565b611502565b81511580156136f157506001600160a01b0384163b155b1561371a57604051639996b31560e01b81526001600160a01b0385166004820152602401612f9c565b5080611502565b8051156137315780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375e613794565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137fc575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613827575f80fd5b850160608188031215613838575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613843565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561388e575f80fd5b81356115028161386a565b80151581146105af575f80fd5b5f602082840312156138b6575f80fd5b813561150281613899565b5f808335601e198436030181126138d6575f80fd5b83018035915067ffffffffffffffff8211156138f0575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395f60c083018486613904565b9998505050505050505050565b8181038181111561069a5761069a613843565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b860e083018486613904565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561275257612752613843565b6001600160801b0381811683821601908082111561275257612752613843565b8181035f83128015838313168383128216171561275257612752613843565b5f60208284031215613a35575f80fd5b81516115028161386a565b808202811582820484141761069a5761069a613843565b6001600160801b0382811682821603908082111561275257612752613843565b8082018281125f831280158216821582161715613a9657613a96613843565b505092915050565b5f60208284031215613aae575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad757613ad7613ab5565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613843565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b9a828551613b09565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c0d575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c3257613c32613843565b505f0390565b610180810161069a8284613b09565b5f8060408385031215613c58575f80fd5b825191506020830151613c6a81613899565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9757613c97613ab5565b600160ff1b82145f1984141615613cb057613cb0613843565b500590565b5f805f8060808587031215613cc8575f80fd5b845193506020850151925060408501519150606085015161383881613899565b5f60208284031215613cf8575f80fd5b815161150281613899565b5f82515f5b81811015613d225760208186018101518583015201613d08565b505f92019182525091905056fea2646970667358221220c7e2feba07542200016a39155ae6061f21c5e701d8284d1b5bc5b64dd882b4ed64736f6c63430008160033a2646970667358221220fb7eb2ae17180ffa2855cf88f6bf75f74eff2398ed1e301ddcc2d3cc0e8ce3ff64736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts deleted file mode 100644 index 3aa00e194..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts +++ /dev/null @@ -1,834 +0,0 @@ -export declare const StakingUSDSTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts.map deleted file mode 100644 index a49e34ca4..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget3.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAygC+hlC,KAAK,MAAM,EAAE;;;;;CAK1klC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.js deleted file mode 100644 index 94626468b..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3.js +++ /dev/null @@ -1,1039 +0,0 @@ -export const StakingUSDSTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004515380380620045158339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cc0620008555f395f818161198801526119ff01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120a001528181612103015281816129ac01528181612dea0152612e2601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cb101525f8181611e06015261307501525f81816110260152611dda01525f61302b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261294201525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cc05ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613719565b610064565b60405190815260200160405180910390f35b61003f61005f366004613778565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137eb565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137eb565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137eb565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d8565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161387c565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061388b565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161387c565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061388b565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137eb565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b6565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d8565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b6565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138de565b866107a960408c018c6138f9565b6040516107bc979695949392919061393c565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261398f565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a6565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b6565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b6565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138de565b87610b5e60408901896138f9565b604051610b71979695949392919061393c565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b6565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138de565b15610c8f57610c8585610c8060408701876138f9565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f9565b611a6d565b610caf611a86565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a98565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137eb565b8a84611aad565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d8565b4290611be6565b84611aad565b610f5888611bf4565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137eb565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d91565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dc5565b915091508060095f828254610ff591906137d8565b909155506110109050865f8461100a81611766565b88611e92565b61101a81836137d8565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612009565b915061105e611059838561204c565b612060565b6006805460029061107f9084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d91565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dc5565b915091508060095f82825461114191906137d8565b9091555061115c9050835f8461115681611766565b8a612089565b61116681836137eb565b9150611175611059838761204c565b600680546002906111969084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a11565b5f612279565b8e61124284826122b8565b50505b5f61124f846124a7565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a30565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e9565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d91565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d91565b6113f79190613a11565b92915050565b5f805f8061140b8a8a612671565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a9565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8d7f0000000000000000000000000000000000000000000000000000000000000000612762565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461281c565b509093505f9050611568848f6137d8565b90505f6115888b8b61157987611766565b611583908e613a4b565b612864565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c6565b611766565b6115c683611766565b6115d36115b8868561204c565b6115dd9190613a11565b6115e79190613a11565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d6565b61162685670de0b6b3a76400006137eb565b906117d4565b61163461366a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f9565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f9565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612966565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d8565b90915550505f838152600b60205260408120805483929061183b9084906137d8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b8565b5f8183136118a7578261008d565b50919050565b5f806118b98484612671565b9092509050806118cb576118cb612afa565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b13565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b82565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612bef565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c7e565b5f611aa38284613a86565b61008d90846137eb565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad85750505050565b5f848152600860205260408120546001600160801b031690819003611b3057611b00836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bad565b611b81611b7c670de0b6b3a7640000611b4988866137eb565b611b53919061398f565b85670de0b6b3a7640000611b67878a6137eb565b611b71919061398f565b859291906001612cf2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb6846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c16908490600160801b90046001600160801b031661204c565b6006546201000090046001600160701b03169250905081811115611d8c575f611c3f83836137eb565b9050611c4e611b7c8286612d8c565b60068054601090611c70908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca885836117d490919063ffffffff16565b90505f611cd5827f000000000000000000000000000000000000000000000000000000000000000061204c565b90508060095f828254611ce891906137d8565b90915550611cf8905081836137eb565b9150611d03826118d2565b600280545f90611d1d9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4a82612da0565b600480545f90611d5e908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611dba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dd187856117d4565b91505f611dfe837f000000000000000000000000000000000000000000000000000000000000000061204c565b9050611e2a817f000000000000000000000000000000000000000000000000000000000000000061204c565b91508315611e4d57611e3c82826137eb565b611e4690846137eb565b9250611e64565b611e5782826137eb565b611e6190846137d8565b92505b86861015611e8757611e778387896117b9565b9250611e848287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611eda611b7c82611ebe670de0b6b3a76400008661398f565b600554600160801b90046001600160801b031691908a5f612cf2565b600580546001600160801b03928316600160801b029216919091179055611f00866118d2565b611f0a9082613a99565b600480546001600160801b03928316600160801b029216919091179055611f30846118d2565b600280545f90611f4a9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f77836118fb565b600480545f90611f8b908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fbb856118d2565b60028054601090611fdd908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061201a846116268a888a6117b9565b90506120278884866117b9565b61203190826137d8565b9050868111156120415786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c985836137eb565b105b156120d8576120d8612afa565b6004549084900390600f0b6120ed8482613a11565b9050836120f986611766565b13801561212e57507f000000000000000000000000000000000000000000000000000000000000000061212c83836118ad565b105b1561213b5761213b612afa565b600354600160801b90046001600160801b031661217c611b7c82612167670de0b6b3a76400008861398f565b6005546001600160801b031691908c5f612cf2565b600580546001600160801b0319166001600160801b03929092169190911790556121a688826137eb565b90506121b1816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d7836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612200826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612229876118d2565b6002805460109061224b908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461229490611b7c906001600160801b03168484612864565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612302916001600160801b0316906137eb565b9050805f036123155760019150506113f7565b5f61231f85612dc9565b9050805f03612333576001925050506113f7565b5f80612340838589612e64565b9150915080612355575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612390929190613ae6565b6040805180830381865af41580156123aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ce9190613b5b565b915091506123ec6123de82611766565b6123e790613b7d565b612966565b925082612401575f96505050505050506113f7565b61240a826118d2565b600780545f906124249084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612451816118d2565b60078054601090612473908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ce8761162c565b6040518263ffffffff1660e01b81526004016124ea919061387c565b6040805180830381865af4158015612504573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125289190613b97565b915091508061253d57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125a2916137d8565b6125ac91906137eb565b9050805f036125c257505f958695509350505050565b5f8087116125d0575f6125db565b6125db8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260c5761260c613bc5565b6040519080825280601f01601f191660200182016040528015612636576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612656578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267e86611766565b6126889190613a11565b90505f81121561269e575f809250925050610d21565b946001945092505050565b5f805f6126b98888888888612fcc565b90505f6126e3670de0b6b3a76400006126d28888612d8c565b6126dc91906137d8565b83906117d4565b9050670de0b6b3a7640000811061271757612710612709670de0b6b3a7640000896117d4565b8290612b13565b905061272f565b61272c612709670de0b6b3a764000089612d8c565b90505b61273981866117d4565b905088811015612750575f80935093505050612667565b97909703976001975095505050505050565b5f805f6127728989888888612ffa565b905061278c866119466127858a8d6137d8565b879061204c565b9850612799858a866117b9565b9850888110156127af575f8092509250506115f6565b888103670de0b6b3a764000081106127dd576127d6612709670de0b6b3a764000089612d8c565b90506127f5565b6127f2612709670de0b6b3a7640000896117d4565b90505b8089101561280a575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61282c89878961301e565b909250905061283b82896137eb565b97505f61284982888a6117b9565b9050612855818b6137eb565b9a989950979650505050505050565b5f80612870845f6130a3565b61287a845f6130a3565b6128849190613a11565b90505f81131561289f5761289881866137d8565b94506128bd565b5f8112156128bd576128b081613b7d565b6128ba90866137eb565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128ea575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061290c610d28565b612916919061398f565b9050808311612925575f61292f565b61292f81846137eb565b915061008d6126dc670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061398f565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a409190613bd9565b935093509350935080612a5b57505f98975050505050505050565b868414612a8c57612a6b846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612abd57612a9c836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612aeb57612acd826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b2a5750670de0b6b3a76400006113f7565b825f03612b3857505f6113f7565b5f612b4283611766565b90505f612b56612b5186611766565b6130b8565b9050818102612b6d670de0b6b3a764000082613c17565b9050612b78816132dd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061346f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c4084826134da565b612be9576040516001600160a01b0384811660248301525f6044830152612c7491869182169063095ea7b390606401612bb7565b612be9848261346f565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af4158015612cce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f7919061388b565b5f825f03612d01575084610075565b8115612d5357612d32612d1484876137d8565b612d1e858761204c565b612d28888a61204c565b61162691906137d8565b90505f612d3f8588611be6565b905080821015612d4d578091505b50610075565b828503612d6157505f610075565b610072612d6e84876137eb565b612d7885876128c6565b612d82888a61204c565b61162691906137eb565b5f61008d83670de0b6b3a7640000846128d6565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612de3906001600160801b031684612d8c565b9050612e0f7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e5a9083906001600160801b03166137eb565b61008d91906137eb565b612e6c6136bf565b5f80612e778461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eb1919061387c565b6040805180830381865af4158015612ecb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eef9190613b97565b9350905082612f0357505f9150611a659050565b5f612f246115b884610160015185610140015161204c90919063ffffffff16565b612f446115b88561012001518661010001516128c690919063ffffffff16565b612f4e9190613a11565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd78585612b13565b612ff0612fe886611946868b61204c565b8590856117b9565b61007291906137d8565b5f6130058585612b13565b612ff061301686611946868b6128c6565b8590856128d6565b5f8061306d8561306785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061305d818c612d8c565b61306791906137eb565b906128c6565b9150613099827f000000000000000000000000000000000000000000000000000000000000000061204c565b9050935093915050565b5f8183136130b1578161008d565b5090919050565b5f8082136130d95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061315c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f657505f919050565b680755bf798b4a1bf1e5821261331f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134836001600160a01b03841683613577565b905080515f141580156134a75750808060200190518101906134a59190613c43565b155b156134d557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134f59190613c5e565b5f604051808303815f865af19150503d805f811461352e576040519150601f19603f3d011682016040523d82523d5f602084013e613533565b606091505b509150915081801561355d57508051158061355d57508080602001905181019061355d9190613c43565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161359b9190613c5e565b5f6040518083038185875af1925050503d805f81146135d5576040519150601f19603f3d011682016040523d82523d5f602084013e6135da565b606091505b5091509150612b788683836060826135fa576135f582613641565b61008d565b815115801561361157506001600160a01b0384163b155b1561363a57604051639996b31560e01b81526001600160a01b03851660048201526024016134cc565b508061008d565b8051156136515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136d361366a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561372d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561375f575f80fd5b61376b88828901613709565b9150509295509295909350565b5f805f6060848603121561378a575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ae575f80fd5b6137ba86828701613709565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137c4565b818103818111156113f7576113f76137c4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137fe565b5f6020828403121561389b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c6575f80fd5b813561008d816138a2565b8015158114610c0a575f80fd5b5f602082840312156138ee575f80fd5b813561008d816138d1565b5f808335601e1984360301811261390e575f80fd5b83018035915067ffffffffffffffff821115613928575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137c4565b5f805f606084860312156139b8575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137c4565b6001600160801b038181168382160190808211156118cb576118cb6137c4565b8181035f8312801583831316838312821617156118cb576118cb6137c4565b5f60208284031215613a40575f80fd5b815161008d816138a2565b8082018281125f831280158216821582161715613a6a57613a6a6137c4565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a9457613a94613a72565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137c4565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137c4565b5f6102a082019050613af98285516137fe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b6c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b9157613b916137c4565b505f0390565b5f8060408385031215613ba8575f80fd5b825191506020830151613bba816138d1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613bec575f80fd5b8451935060208501519250604085015191506060850151613c0c816138d1565b939692955090935050565b5f82613c2557613c25613a72565b600160ff1b82145f1984141615613c3e57613c3e6137c4565b500590565b5f60208284031215613c53575f80fd5b815161008d816138d1565b5f82515f5b81811015613c7d5760208186018101518583015201613c63565b505f92019182525091905056fea264697066735822122084046a3a19c2b2d8b4c17c54c1915564308a2418792f4a6f2d3d606546f6f50a64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts deleted file mode 100644 index 74a86f11c..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StakingUSDSTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts.map deleted file mode 100644 index e22cad514..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I6xqC,KAAK,MAAM,EAAE;;;;CAIh1qC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.js deleted file mode 100644 index 65e65a34f..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StakingUSDSTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50614a7b8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614515806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162004515380380620045158339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cc0620008555f395f818161198801526119ff01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120a001528181612103015281816129ac01528181612dea0152612e2601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cb101525f8181611e06015261307501525f81816110260152611dda01525f61302b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261294201525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cc05ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613719565b610064565b60405190815260200160405180910390f35b61003f61005f366004613778565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137eb565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137eb565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137eb565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d8565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161387c565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061388b565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161387c565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061388b565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137eb565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b6565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d8565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b6565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138de565b866107a960408c018c6138f9565b6040516107bc979695949392919061393c565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261398f565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a6565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b6565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b6565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138de565b87610b5e60408901896138f9565b604051610b71979695949392919061393c565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b6565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138de565b15610c8f57610c8585610c8060408701876138f9565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f9565b611a6d565b610caf611a86565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a98565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137eb565b8a84611aad565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d8565b4290611be6565b84611aad565b610f5888611bf4565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137eb565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d91565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dc5565b915091508060095f828254610ff591906137d8565b909155506110109050865f8461100a81611766565b88611e92565b61101a81836137d8565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612009565b915061105e611059838561204c565b612060565b6006805460029061107f9084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d91565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dc5565b915091508060095f82825461114191906137d8565b9091555061115c9050835f8461115681611766565b8a612089565b61116681836137eb565b9150611175611059838761204c565b600680546002906111969084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a11565b5f612279565b8e61124284826122b8565b50505b5f61124f846124a7565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a30565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e9565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d91565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d91565b6113f79190613a11565b92915050565b5f805f8061140b8a8a612671565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a9565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8d7f0000000000000000000000000000000000000000000000000000000000000000612762565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461281c565b509093505f9050611568848f6137d8565b90505f6115888b8b61157987611766565b611583908e613a4b565b612864565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c6565b611766565b6115c683611766565b6115d36115b8868561204c565b6115dd9190613a11565b6115e79190613a11565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d6565b61162685670de0b6b3a76400006137eb565b906117d4565b61163461366a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f9565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f9565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612966565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d8565b90915550505f838152600b60205260408120805483929061183b9084906137d8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b8565b5f8183136118a7578261008d565b50919050565b5f806118b98484612671565b9092509050806118cb576118cb612afa565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b13565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b82565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612bef565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c7e565b5f611aa38284613a86565b61008d90846137eb565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad85750505050565b5f848152600860205260408120546001600160801b031690819003611b3057611b00836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bad565b611b81611b7c670de0b6b3a7640000611b4988866137eb565b611b53919061398f565b85670de0b6b3a7640000611b67878a6137eb565b611b71919061398f565b859291906001612cf2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb6846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c16908490600160801b90046001600160801b031661204c565b6006546201000090046001600160701b03169250905081811115611d8c575f611c3f83836137eb565b9050611c4e611b7c8286612d8c565b60068054601090611c70908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca885836117d490919063ffffffff16565b90505f611cd5827f000000000000000000000000000000000000000000000000000000000000000061204c565b90508060095f828254611ce891906137d8565b90915550611cf8905081836137eb565b9150611d03826118d2565b600280545f90611d1d9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4a82612da0565b600480545f90611d5e908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611dba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dd187856117d4565b91505f611dfe837f000000000000000000000000000000000000000000000000000000000000000061204c565b9050611e2a817f000000000000000000000000000000000000000000000000000000000000000061204c565b91508315611e4d57611e3c82826137eb565b611e4690846137eb565b9250611e64565b611e5782826137eb565b611e6190846137d8565b92505b86861015611e8757611e778387896117b9565b9250611e848287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611eda611b7c82611ebe670de0b6b3a76400008661398f565b600554600160801b90046001600160801b031691908a5f612cf2565b600580546001600160801b03928316600160801b029216919091179055611f00866118d2565b611f0a9082613a99565b600480546001600160801b03928316600160801b029216919091179055611f30846118d2565b600280545f90611f4a9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f77836118fb565b600480545f90611f8b908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fbb856118d2565b60028054601090611fdd908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061201a846116268a888a6117b9565b90506120278884866117b9565b61203190826137d8565b9050868111156120415786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c985836137eb565b105b156120d8576120d8612afa565b6004549084900390600f0b6120ed8482613a11565b9050836120f986611766565b13801561212e57507f000000000000000000000000000000000000000000000000000000000000000061212c83836118ad565b105b1561213b5761213b612afa565b600354600160801b90046001600160801b031661217c611b7c82612167670de0b6b3a76400008861398f565b6005546001600160801b031691908c5f612cf2565b600580546001600160801b0319166001600160801b03929092169190911790556121a688826137eb565b90506121b1816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d7836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612200826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612229876118d2565b6002805460109061224b908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461229490611b7c906001600160801b03168484612864565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612302916001600160801b0316906137eb565b9050805f036123155760019150506113f7565b5f61231f85612dc9565b9050805f03612333576001925050506113f7565b5f80612340838589612e64565b9150915080612355575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612390929190613ae6565b6040805180830381865af41580156123aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ce9190613b5b565b915091506123ec6123de82611766565b6123e790613b7d565b612966565b925082612401575f96505050505050506113f7565b61240a826118d2565b600780545f906124249084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612451816118d2565b60078054601090612473908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ce8761162c565b6040518263ffffffff1660e01b81526004016124ea919061387c565b6040805180830381865af4158015612504573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125289190613b97565b915091508061253d57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125a2916137d8565b6125ac91906137eb565b9050805f036125c257505f958695509350505050565b5f8087116125d0575f6125db565b6125db8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260c5761260c613bc5565b6040519080825280601f01601f191660200182016040528015612636576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612656578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267e86611766565b6126889190613a11565b90505f81121561269e575f809250925050610d21565b946001945092505050565b5f805f6126b98888888888612fcc565b90505f6126e3670de0b6b3a76400006126d28888612d8c565b6126dc91906137d8565b83906117d4565b9050670de0b6b3a7640000811061271757612710612709670de0b6b3a7640000896117d4565b8290612b13565b905061272f565b61272c612709670de0b6b3a764000089612d8c565b90505b61273981866117d4565b905088811015612750575f80935093505050612667565b97909703976001975095505050505050565b5f805f6127728989888888612ffa565b905061278c866119466127858a8d6137d8565b879061204c565b9850612799858a866117b9565b9850888110156127af575f8092509250506115f6565b888103670de0b6b3a764000081106127dd576127d6612709670de0b6b3a764000089612d8c565b90506127f5565b6127f2612709670de0b6b3a7640000896117d4565b90505b8089101561280a575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61282c89878961301e565b909250905061283b82896137eb565b97505f61284982888a6117b9565b9050612855818b6137eb565b9a989950979650505050505050565b5f80612870845f6130a3565b61287a845f6130a3565b6128849190613a11565b90505f81131561289f5761289881866137d8565b94506128bd565b5f8112156128bd576128b081613b7d565b6128ba90866137eb565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128ea575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061290c610d28565b612916919061398f565b9050808311612925575f61292f565b61292f81846137eb565b915061008d6126dc670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061398f565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a409190613bd9565b935093509350935080612a5b57505f98975050505050505050565b868414612a8c57612a6b846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612abd57612a9c836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612aeb57612acd826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b2a5750670de0b6b3a76400006113f7565b825f03612b3857505f6113f7565b5f612b4283611766565b90505f612b56612b5186611766565b6130b8565b9050818102612b6d670de0b6b3a764000082613c17565b9050612b78816132dd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061346f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c4084826134da565b612be9576040516001600160a01b0384811660248301525f6044830152612c7491869182169063095ea7b390606401612bb7565b612be9848261346f565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af4158015612cce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f7919061388b565b5f825f03612d01575084610075565b8115612d5357612d32612d1484876137d8565b612d1e858761204c565b612d28888a61204c565b61162691906137d8565b90505f612d3f8588611be6565b905080821015612d4d578091505b50610075565b828503612d6157505f610075565b610072612d6e84876137eb565b612d7885876128c6565b612d82888a61204c565b61162691906137eb565b5f61008d83670de0b6b3a7640000846128d6565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612de3906001600160801b031684612d8c565b9050612e0f7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e5a9083906001600160801b03166137eb565b61008d91906137eb565b612e6c6136bf565b5f80612e778461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eb1919061387c565b6040805180830381865af4158015612ecb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eef9190613b97565b9350905082612f0357505f9150611a659050565b5f612f246115b884610160015185610140015161204c90919063ffffffff16565b612f446115b88561012001518661010001516128c690919063ffffffff16565b612f4e9190613a11565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd78585612b13565b612ff0612fe886611946868b61204c565b8590856117b9565b61007291906137d8565b5f6130058585612b13565b612ff061301686611946868b6128c6565b8590856128d6565b5f8061306d8561306785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061305d818c612d8c565b61306791906137eb565b906128c6565b9150613099827f000000000000000000000000000000000000000000000000000000000000000061204c565b9050935093915050565b5f8183136130b1578161008d565b5090919050565b5f8082136130d95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061315c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f657505f919050565b680755bf798b4a1bf1e5821261331f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134836001600160a01b03841683613577565b905080515f141580156134a75750808060200190518101906134a59190613c43565b155b156134d557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134f59190613c5e565b5f604051808303815f865af19150503d805f811461352e576040519150601f19603f3d011682016040523d82523d5f602084013e613533565b606091505b509150915081801561355d57508051158061355d57508080602001905181019061355d9190613c43565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161359b9190613c5e565b5f6040518083038185875af1925050503d805f81146135d5576040519150601f19603f3d011682016040523d82523d5f602084013e6135da565b606091505b5091509150612b788683836060826135fa576135f582613641565b61008d565b815115801561361157506001600160a01b0384163b155b1561363a57604051639996b31560e01b81526001600160a01b03851660048201526024016134cc565b508061008d565b8051156136515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136d361366a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561372d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561375f575f80fd5b61376b88828901613709565b9150509295509295909350565b5f805f6060848603121561378a575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ae575f80fd5b6137ba86828701613709565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137c4565b818103818111156113f7576113f76137c4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137fe565b5f6020828403121561389b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c6575f80fd5b813561008d816138a2565b8015158114610c0a575f80fd5b5f602082840312156138ee575f80fd5b813561008d816138d1565b5f808335601e1984360301811261390e575f80fd5b83018035915067ffffffffffffffff821115613928575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137c4565b5f805f606084860312156139b8575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137c4565b6001600160801b038181168382160190808211156118cb576118cb6137c4565b8181035f8312801583831316838312821617156118cb576118cb6137c4565b5f60208284031215613a40575f80fd5b815161008d816138a2565b8082018281125f831280158216821582161715613a6a57613a6a6137c4565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a9457613a94613a72565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137c4565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137c4565b5f6102a082019050613af98285516137fe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b6c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b9157613b916137c4565b505f0390565b5f8060408385031215613ba8575f80fd5b825191506020830151613bba816138d1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613bec575f80fd5b8451935060208501519250604085015191506060850151613c0c816138d1565b939692955090935050565b5f82613c2557613c25613a72565b600160ff1b82145f1984141615613c3e57613c3e6137c4565b500590565b5f60208284031215613c53575f80fd5b815161008d816138d1565b5f82515f5b81811015613c7d5760208186018101518583015201613c63565b505f92019182525091905056fea264697066735822122084046a3a19c2b2d8b4c17c54c1915564308a2418792f4a6f2d3d606546f6f50a64736f6c63430008160033a26469706673582212206c1ff461d3e197a4c9725eaabbfb597da63f0bbbb24e74b700ceec367452919364736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts deleted file mode 100644 index 2179ad779..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts +++ /dev/null @@ -1,813 +0,0 @@ -export declare const StakingUSDSTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "__stakingUSDS"; - readonly type: "address"; - readonly internalType: "contract IStakingUSDS"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts.map deleted file mode 100644 index 6a3e04929..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget4.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8+B2j3B,KAAK,MAAM,EAAE;;;;;;CAMtm3B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.js deleted file mode 100644 index 1a70ddff5..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4.js +++ /dev/null @@ -1,1013 +0,0 @@ -export const StakingUSDSTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "__stakingUSDS", - "type": "address", - "internalType": "contract IStakingUSDS" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003723380380620037238339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f896200079a5f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261239701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122eb0152612f895ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a18565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a6a565b6100b1565b005b610056610092366004612a18565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a9e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ac6565b61016a60408c018c612ae1565b60405161017c96959493929190612b4c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b99565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a9e565b88610ea4565b5f6102f56102ec6020870187612a9e565b88848989610a9e565b90945090506103048188612bc0565b92505f61031083610f41565b5090506103206020870187612a9e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ac6565b8a888e80604001906103709190612ae1565b604051610384989796959493929190612bd3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a9e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c1a565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bc0565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c1a565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bc0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c1a565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c1a565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c1a565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bc0565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c6d565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c8c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612ca7565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bc0565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d45565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dba565b91509150610d11610d038261156b565b610d0c90612ddc565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bc0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c1a565b90915550505f838152600b602052604081208054839290610ef7908490612c1a565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612df6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e05565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c1a565b6110469190612bc0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e33565b5f6111038284612b99565b61110d9084612bc0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bc0565b6112269190612e4a565b85670de0b6b3a764000061123a878a612bc0565b6112449190612e4a565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bc0565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c1a565b909155506113d190508183612bc0565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bc0565b61151f9084612bc0565b925061153d565b6115308282612bc0565b61153a9084612c1a565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e4a565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612ca7565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c1a565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bc0565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c6d565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e4a565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bc0565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e8e565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612ac6565b15611ad857611ad185611abf6020860186612a9e565b611acc6040870187612ae1565b61225c565b9150611afb565b611afb85611ae96020860186612a9e565b611af66040870187612ae1565b612312565b509392505050565b5f61110d8383670de0b6b3a764000061232b565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c1a565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bc0565b61110d9190612bc0565b611bba612979565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612df6565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e05565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c6d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ea2565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129c3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb3911661234e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe59290041661234e565b905292915050565b5f80611ff984846123c2565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123fd565b905081810261206c670de0b6b3a764000082612ee0565b905061207781612622565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c1a565b6120ad8587611754565b6120b7888a611754565b61171c9190612c1a565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bc0565b6121078587611b03565b612111888a611754565b61171c9190612bc0565b5f61110d83670de0b6b3a76400008461232b565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127b4565b6121d6845f6127b4565b6121e09190612c6d565b90505f8113156121fb576121f48186612c1a565b9450612219565b5f8112156122195761220c81612ddc565b6122169086612bc0565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b505050506122dc85611083565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127c9565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261233f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236161040f565b61236b9190612e4a565b905080831161237a575f612384565b6123848184612bc0565b915061110d6123bb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e4a565b839061212f565b5f805f836123cf8661156b565b6123d99190612c6d565b90505f8112156123ef575f8092509250506123f6565b9150600190505b9250929050565b5f80821361241e5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124a19084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263b57505f919050565b680755bf798b4a1bf1e58212612664576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127c2578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261281b908490612820565b505050565b5f6128346001600160a01b03841683612886565b905080515f141580156128585750808060200190518101906128569190612f0c565b155b1561281b57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128aa9190612f27565b5f6040518083038185875af1925050503d805f81146128e4576040519150601f19603f3d011682016040523d82523d5f602084013e6128e9565b606091505b50915091506120778683836060826129095761290482612950565b61110d565b815115801561292057506001600160a01b0384163b155b1561294957604051639996b31560e01b81526001600160a01b038516600482015260240161287d565b508061110d565b8051156129605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061298d6129c3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a2a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a4e575f80fd5b840160608187031215612a5f575f80fd5b809150509250925092565b5f8060408385031215612a7b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aae575f80fd5b813561110d81612a8a565b80151581146103f5575f80fd5b5f60208284031215612ad6575f80fd5b813561110d81612ab9565b5f808335601e19843603018112612af6575f80fd5b83018035915067ffffffffffffffff821115612b10575f80fd5b6020019150368190038213156123f6575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7960a083018486612b24565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612ba757612ba7612b85565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612bac565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0c60e083018486612b24565b9a9950505050505050505050565b80820180821115610dc757610dc7612bac565b6001600160701b0381811683821601908082111561200b5761200b612bac565b6001600160801b0381811683821601908082111561200b5761200b612bac565b8181035f83128015838313168383128216171561200b5761200b612bac565b5f60208284031215612c9c575f80fd5b815161110d81612a8a565b6001600160801b0382811682821603908082111561200b5761200b612bac565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d58828551612cc7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dcb575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612df057612df0612bac565b505f0390565b6101808101610dc78284612cc7565b5f8060408385031215612e16575f80fd5b825191506020830151612e2881612ab9565b809150509250929050565b5f60208284031215612e43575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612bac565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612bac565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eb5575f80fd5b8451935060208501519250604085015191506060850151612ed581612ab9565b939692955090935050565b5f82612eee57612eee612b85565b600160ff1b82145f1984141615612f0757612f07612bac565b500590565b5f60208284031215612f1c575f80fd5b815161110d81612ab9565b5f82515f5b81811015612f465760208186018101518583015201612f2c565b505f92019182525091905056fea2646970667358221220555a597b865125151842409c259e78b46a3f7acf3eff403a24627082efc0e28f64736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts deleted file mode 100644 index eb62ad092..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StakingUSDSTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StakingUSDSTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts.map deleted file mode 100644 index c6f098f24..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StakingUSDSTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/StakingUSDSTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Iyz8B,KAAK,MAAM,EAAE;;;;CAI528B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.js deleted file mode 100644 index 453600858..000000000 --- a/packages/hyperdrive-artifacts/dist/StakingUSDSTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StakingUSDSTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b50613c898061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b613723806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162003723380380620037238339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f896200079a5f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261239701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122eb0152612f895ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a18565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a6a565b6100b1565b005b610056610092366004612a18565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a9e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ac6565b61016a60408c018c612ae1565b60405161017c96959493929190612b4c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b99565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a9e565b88610ea4565b5f6102f56102ec6020870187612a9e565b88848989610a9e565b90945090506103048188612bc0565b92505f61031083610f41565b5090506103206020870187612a9e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ac6565b8a888e80604001906103709190612ae1565b604051610384989796959493929190612bd3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a9e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c1a565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bc0565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c1a565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bc0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c1a565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c1a565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c1a565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bc0565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c6d565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c8c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612ca7565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bc0565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d45565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dba565b91509150610d11610d038261156b565b610d0c90612ddc565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bc0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c1a565b90915550505f838152600b602052604081208054839290610ef7908490612c1a565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612df6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e05565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c1a565b6110469190612bc0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e33565b5f6111038284612b99565b61110d9084612bc0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bc0565b6112269190612e4a565b85670de0b6b3a764000061123a878a612bc0565b6112449190612e4a565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bc0565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c1a565b909155506113d190508183612bc0565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bc0565b61151f9084612bc0565b925061153d565b6115308282612bc0565b61153a9084612c1a565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e4a565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612ca7565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c1a565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bc0565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c6d565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e4a565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bc0565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e8e565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612ac6565b15611ad857611ad185611abf6020860186612a9e565b611acc6040870187612ae1565b61225c565b9150611afb565b611afb85611ae96020860186612a9e565b611af66040870187612ae1565b612312565b509392505050565b5f61110d8383670de0b6b3a764000061232b565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c1a565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bc0565b61110d9190612bc0565b611bba612979565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612df6565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e05565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c6d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ea2565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129c3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb3911661234e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe59290041661234e565b905292915050565b5f80611ff984846123c2565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123fd565b905081810261206c670de0b6b3a764000082612ee0565b905061207781612622565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c1a565b6120ad8587611754565b6120b7888a611754565b61171c9190612c1a565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bc0565b6121078587611b03565b612111888a611754565b61171c9190612bc0565b5f61110d83670de0b6b3a76400008461232b565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127b4565b6121d6845f6127b4565b6121e09190612c6d565b90505f8113156121fb576121f48186612c1a565b9450612219565b5f8112156122195761220c81612ddc565b6122169086612bc0565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b505050506122dc85611083565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127c9565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261233f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236161040f565b61236b9190612e4a565b905080831161237a575f612384565b6123848184612bc0565b915061110d6123bb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e4a565b839061212f565b5f805f836123cf8661156b565b6123d99190612c6d565b90505f8112156123ef575f8092509250506123f6565b9150600190505b9250929050565b5f80821361241e5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124a19084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263b57505f919050565b680755bf798b4a1bf1e58212612664576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127c2578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261281b908490612820565b505050565b5f6128346001600160a01b03841683612886565b905080515f141580156128585750808060200190518101906128569190612f0c565b155b1561281b57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128aa9190612f27565b5f6040518083038185875af1925050503d805f81146128e4576040519150601f19603f3d011682016040523d82523d5f602084013e6128e9565b606091505b50915091506120778683836060826129095761290482612950565b61110d565b815115801561292057506001600160a01b0384163b155b1561294957604051639996b31560e01b81526001600160a01b038516600482015260240161287d565b508061110d565b8051156129605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061298d6129c3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a2a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a4e575f80fd5b840160608187031215612a5f575f80fd5b809150509250925092565b5f8060408385031215612a7b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aae575f80fd5b813561110d81612a8a565b80151581146103f5575f80fd5b5f60208284031215612ad6575f80fd5b813561110d81612ab9565b5f808335601e19843603018112612af6575f80fd5b83018035915067ffffffffffffffff821115612b10575f80fd5b6020019150368190038213156123f6575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7960a083018486612b24565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612ba757612ba7612b85565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612bac565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0c60e083018486612b24565b9a9950505050505050505050565b80820180821115610dc757610dc7612bac565b6001600160701b0381811683821601908082111561200b5761200b612bac565b6001600160801b0381811683821601908082111561200b5761200b612bac565b8181035f83128015838313168383128216171561200b5761200b612bac565b5f60208284031215612c9c575f80fd5b815161110d81612a8a565b6001600160801b0382811682821603908082111561200b5761200b612bac565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d58828551612cc7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dcb575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612df057612df0612bac565b505f0390565b6101808101610dc78284612cc7565b5f8060408385031215612e16575f80fd5b825191506020830151612e2881612ab9565b809150509250929050565b5f60208284031215612e43575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612bac565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612bac565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eb5575f80fd5b8451935060208501519250604085015191506060850151612ed581612ab9565b939692955090935050565b5f82612eee57612eee612b85565b600160ff1b82145f1984141615612f0757612f07612bac565b500590565b5f60208284031215612f1c575f80fd5b815161110d81612ab9565b5f82515f5b81811015612f465760208186018101518583015201612f2c565b505f92019182525091905056fea2646970667358221220555a597b865125151842409c259e78b46a3f7acf3eff403a24627082efc0e28f64736f6c63430008160033a264697066735822122017d381c032eedca8bda6d37d1264c7809a880f552a3ed3b05e94cca4eb5aad9864736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts b/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts deleted file mode 100644 index 2e29fe021..000000000 --- a/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts +++ /dev/null @@ -1,303 +0,0 @@ -export declare const StdAssertions: { - abi: readonly [{ - readonly type: "function"; - readonly name: "failed"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "event"; - readonly name: "log"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_address"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "uint256[]"; - readonly indexed: false; - readonly internalType: "uint256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "int256[]"; - readonly indexed: false; - readonly internalType: "int256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_array"; - readonly inputs: readonly [{ - readonly name: "val"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_bytes"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_bytes32"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly indexed: false; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_int"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_address"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256[]"; - readonly indexed: false; - readonly internalType: "uint256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256[]"; - readonly indexed: false; - readonly internalType: "int256[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_array"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "address[]"; - readonly indexed: false; - readonly internalType: "address[]"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_bytes"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_bytes32"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "bytes32"; - readonly indexed: false; - readonly internalType: "bytes32"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_decimal_int"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_decimal_uint"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_int"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "int256"; - readonly indexed: false; - readonly internalType: "int256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_string"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_named_uint"; - readonly inputs: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }, { - readonly name: "val"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_string"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly indexed: false; - readonly internalType: "string"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "log_uint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "logs"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "failed()": "ba414fa6"; - }; -}; -//# sourceMappingURL=StdAssertions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts.map b/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts.map deleted file mode 100644 index d044fa083..000000000 --- a/packages/hyperdrive-artifacts/dist/StdAssertions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdAssertions.d.ts","sourceRoot":"","sources":["../src/StdAssertions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4XN,KAAK,MAAM,EAAE;;;;CAIhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdAssertions.js b/packages/hyperdrive-artifacts/dist/StdAssertions.js deleted file mode 100644 index 65c99c4dc..000000000 --- a/packages/hyperdrive-artifacts/dist/StdAssertions.js +++ /dev/null @@ -1,385 +0,0 @@ -export const StdAssertions = { - abi: [ - { - "type": "function", - "name": "failed", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "log", - "inputs": [ - { - "name": "", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_address", - "inputs": [ - { - "name": "", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "int256[]", - "indexed": false, - "internalType": "int256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_bytes", - "inputs": [ - { - "name": "", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_bytes32", - "inputs": [ - { - "name": "", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_int", - "inputs": [ - { - "name": "", - "type": "int256", - "indexed": false, - "internalType": "int256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_address", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256[]", - "indexed": false, - "internalType": "int256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_bytes", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_bytes32", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_decimal_int", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256", - "indexed": false, - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_decimal_uint", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_int", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256", - "indexed": false, - "internalType": "int256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_string", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_uint", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_string", - "inputs": [ - { - "name": "", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_uint", - "inputs": [ - { - "name": "", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "logs", - "inputs": [ - { - "name": "", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - } - ], - bytecode: '0x', - methodIdentifiers: { - "failed()": "ba414fa6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StdChains.d.ts b/packages/hyperdrive-artifacts/dist/StdChains.d.ts deleted file mode 100644 index e996ef227..000000000 --- a/packages/hyperdrive-artifacts/dist/StdChains.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StdChains: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StdChains.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdChains.d.ts.map b/packages/hyperdrive-artifacts/dist/StdChains.d.ts.map deleted file mode 100644 index f3029a5ea..000000000 --- a/packages/hyperdrive-artifacts/dist/StdChains.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdChains.d.ts","sourceRoot":"","sources":["../src/StdChains.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAEF,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdChains.js b/packages/hyperdrive-artifacts/dist/StdChains.js deleted file mode 100644 index 20e2db2ca..000000000 --- a/packages/hyperdrive-artifacts/dist/StdChains.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StdChains = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdCheats.d.ts b/packages/hyperdrive-artifacts/dist/StdCheats.d.ts deleted file mode 100644 index 36c4c4074..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheats.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StdCheats: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StdCheats.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdCheats.d.ts.map b/packages/hyperdrive-artifacts/dist/StdCheats.d.ts.map deleted file mode 100644 index 35b775886..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheats.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdCheats.d.ts","sourceRoot":"","sources":["../src/StdCheats.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAEF,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdCheats.js b/packages/hyperdrive-artifacts/dist/StdCheats.js deleted file mode 100644 index cd9609f84..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheats.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StdCheats = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts b/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts deleted file mode 100644 index 7d4dd111a..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StdCheatsSafe: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StdCheatsSafe.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts.map b/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts.map deleted file mode 100644 index 63f5a3269..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdCheatsSafe.d.ts","sourceRoot":"","sources":["../src/StdCheatsSafe.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;cAEN,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.js b/packages/hyperdrive-artifacts/dist/StdCheatsSafe.js deleted file mode 100644 index 0bd1e8237..000000000 --- a/packages/hyperdrive-artifacts/dist/StdCheatsSafe.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StdCheatsSafe = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdError.d.ts b/packages/hyperdrive-artifacts/dist/StdError.d.ts deleted file mode 100644 index 3c249d2b3..000000000 --- a/packages/hyperdrive-artifacts/dist/StdError.d.ts +++ /dev/null @@ -1,106 +0,0 @@ -export declare const stdError: { - abi: readonly [{ - readonly type: "function"; - readonly name: "arithmeticError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "assertionError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "divisionError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "encodeStorageError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "enumConversionError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "indexOOBError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "memOverflowError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "popError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "zeroVarError"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "arithmeticError()": "8995290f"; - readonly "assertionError()": "10332977"; - readonly "divisionError()": "fa784a44"; - readonly "encodeStorageError()": "d160e4de"; - readonly "enumConversionError()": "1de45560"; - readonly "indexOOBError()": "05ee8612"; - readonly "memOverflowError()": "986c5f68"; - readonly "popError()": "b22dc54d"; - readonly "zeroVarError()": "b67689da"; - }; -}; -//# sourceMappingURL=stdError.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdError.d.ts.map b/packages/hyperdrive-artifacts/dist/StdError.d.ts.map deleted file mode 100644 index 7b28759d1..000000000 --- a/packages/hyperdrive-artifacts/dist/StdError.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdError.d.ts","sourceRoot":"","sources":["../src/stdError.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwH6vC,KAAK,MAAM,EAAE;;;;;;;;;;;;CAY9xC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdError.js b/packages/hyperdrive-artifacts/dist/StdError.js deleted file mode 100644 index 3f18a9a37..000000000 --- a/packages/hyperdrive-artifacts/dist/StdError.js +++ /dev/null @@ -1,133 +0,0 @@ -export const stdError = { - abi: [ - { - "type": "function", - "name": "arithmeticError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "assertionError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "divisionError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "encodeStorageError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "enumConversionError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "indexOOBError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "memOverflowError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "popError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "zeroVarError", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x61024a610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c8063986c5f681161006e578063986c5f68146100d5578063b22dc54d146100dd578063b67689da146100e5578063d160e4de146100ed578063fa784a44146100f5575f80fd5b806305ee86121461009f57806310332977146100bd5780631de45560146100c55780638995290f146100cd575b5f80fd5b6100a76100fd565b6040516100b491906101c8565b60405180910390f35b6100a7610138565b6100a761014a565b6100a761015c565b6100a761016e565b6100a7610180565b6100a7610192565b6100a76101a4565b6100a76101b6565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010b565b6040516021602482015260440161010b565b6040516011602482015260440161010b565b6040516041602482015260440161010b565b6040516031602482015260440161010b565b6040516051602482015260440161010b565b6040516022602482015260440161010b565b6040516012602482015260440161010b565b5f602080835283518060208501525f5b818110156101f4578581018301518582016040015282016101d8565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220d7e4cf8b021e56ab3f5ac52c37eab43e941a87aa3b5b231791159560373037e864736f6c63430008160033', - methodIdentifiers: { - "arithmeticError()": "8995290f", - "assertionError()": "10332977", - "divisionError()": "fa784a44", - "encodeStorageError()": "d160e4de", - "enumConversionError()": "1de45560", - "indexOOBError()": "05ee8612", - "memOverflowError()": "986c5f68", - "popError()": "b22dc54d", - "zeroVarError()": "b67689da" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts b/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts deleted file mode 100644 index 3b38bf758..000000000 --- a/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts +++ /dev/null @@ -1,133 +0,0 @@ -export declare const StdInvariant: { - abi: readonly [{ - readonly type: "function"; - readonly name: "excludeArtifacts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedArtifacts_"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "excludeContracts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedContracts_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "excludeSenders"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "excludedSenders_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetArtifactSelectors"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedArtifactSelectors_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzSelector[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "selectors"; - readonly type: "bytes4[]"; - readonly internalType: "bytes4[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetArtifacts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedArtifacts_"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetContracts"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedContracts_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetInterfaces"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedInterfaces_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzInterface[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "artifacts"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetSelectors"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedSelectors_"; - readonly type: "tuple[]"; - readonly internalType: "struct StdInvariant.FuzzSelector[]"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "selectors"; - readonly type: "bytes4[]"; - readonly internalType: "bytes4[]"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "targetSenders"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "targetedSenders_"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "excludeArtifacts()": "b5508aa9"; - readonly "excludeContracts()": "e20c9f71"; - readonly "excludeSenders()": "1ed7831c"; - readonly "targetArtifactSelectors()": "66d9a9a0"; - readonly "targetArtifacts()": "85226c81"; - readonly "targetContracts()": "3f7286f4"; - readonly "targetInterfaces()": "2ade3880"; - readonly "targetSelectors()": "916a17c6"; - readonly "targetSenders()": "3e5e3c23"; - }; -}; -//# sourceMappingURL=StdInvariant.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts.map b/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts.map deleted file mode 100644 index fea9bf18a..000000000 --- a/packages/hyperdrive-artifacts/dist/StdInvariant.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdInvariant.d.ts","sourceRoot":"","sources":["../src/StdInvariant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4JL,KAAK,MAAM,EAAE;;;;;;;;;;;;CAYhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdInvariant.js b/packages/hyperdrive-artifacts/dist/StdInvariant.js deleted file mode 100644 index 934be2b35..000000000 --- a/packages/hyperdrive-artifacts/dist/StdInvariant.js +++ /dev/null @@ -1,169 +0,0 @@ -export const StdInvariant = { - abi: [ - { - "type": "function", - "name": "excludeArtifacts", - "inputs": [], - "outputs": [ - { - "name": "excludedArtifacts_", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeContracts", - "inputs": [], - "outputs": [ - { - "name": "excludedContracts_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeSenders", - "inputs": [], - "outputs": [ - { - "name": "excludedSenders_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetArtifactSelectors", - "inputs": [], - "outputs": [ - { - "name": "targetedArtifactSelectors_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzSelector[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "selectors", - "type": "bytes4[]", - "internalType": "bytes4[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetArtifacts", - "inputs": [], - "outputs": [ - { - "name": "targetedArtifacts_", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetContracts", - "inputs": [], - "outputs": [ - { - "name": "targetedContracts_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetInterfaces", - "inputs": [], - "outputs": [ - { - "name": "targetedInterfaces_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzInterface[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "artifacts", - "type": "string[]", - "internalType": "string[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetSelectors", - "inputs": [], - "outputs": [ - { - "name": "targetedSelectors_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzSelector[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "selectors", - "type": "bytes4[]", - "internalType": "bytes4[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetSenders", - "inputs": [], - "outputs": [ - { - "name": "targetedSenders_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x', - methodIdentifiers: { - "excludeArtifacts()": "b5508aa9", - "excludeContracts()": "e20c9f71", - "excludeSenders()": "1ed7831c", - "targetArtifactSelectors()": "66d9a9a0", - "targetArtifacts()": "85226c81", - "targetContracts()": "3f7286f4", - "targetInterfaces()": "2ade3880", - "targetSelectors()": "916a17c6", - "targetSenders()": "3e5e3c23" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StdJson.d.ts b/packages/hyperdrive-artifacts/dist/StdJson.d.ts deleted file mode 100644 index 861f60bd4..000000000 --- a/packages/hyperdrive-artifacts/dist/StdJson.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const stdJson: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=stdJson.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdJson.d.ts.map b/packages/hyperdrive-artifacts/dist/StdJson.d.ts.map deleted file mode 100644 index 21f661b59..000000000 --- a/packages/hyperdrive-artifacts/dist/StdJson.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdJson.d.ts","sourceRoot":"","sources":["../src/stdJson.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdJson.js b/packages/hyperdrive-artifacts/dist/StdJson.js deleted file mode 100644 index 99b63f086..000000000 --- a/packages/hyperdrive-artifacts/dist/StdJson.js +++ /dev/null @@ -1,5 +0,0 @@ -export const stdJson = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122057eac6179a583ac11ffb36978f2a04dbc77922b7a7e37fb9cc0a12efa317258a64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdMath.d.ts b/packages/hyperdrive-artifacts/dist/StdMath.d.ts deleted file mode 100644 index 0c6826e26..000000000 --- a/packages/hyperdrive-artifacts/dist/StdMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const stdMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=stdMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdMath.d.ts.map b/packages/hyperdrive-artifacts/dist/StdMath.d.ts.map deleted file mode 100644 index 7b5a0cf13..000000000 --- a/packages/hyperdrive-artifacts/dist/StdMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdMath.d.ts","sourceRoot":"","sources":["../src/stdMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdMath.js b/packages/hyperdrive-artifacts/dist/StdMath.js deleted file mode 100644 index 2f0b0afcf..000000000 --- a/packages/hyperdrive-artifacts/dist/StdMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const stdMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220950d7cda8d62a5b775497aaa74197c3a0ade11875e81d63449e87a77f323460264736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdStorage.d.ts b/packages/hyperdrive-artifacts/dist/StdStorage.d.ts deleted file mode 100644 index 9b5848ed3..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStorage.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const stdStorage: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=stdStorage.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdStorage.d.ts.map b/packages/hyperdrive-artifacts/dist/StdStorage.d.ts.map deleted file mode 100644 index 19561fa78..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStorage.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdStorage.d.ts","sourceRoot":"","sources":["../src/stdStorage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAE2Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdStorage.js b/packages/hyperdrive-artifacts/dist/StdStorage.js deleted file mode 100644 index 774fcd00d..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStorage.js +++ /dev/null @@ -1,5 +0,0 @@ -export const stdStorage = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e885b2c4c5210a1dd84228f74269c13d4bd427b319ef6fd92c9a29d41be1b49864736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdStyle.d.ts b/packages/hyperdrive-artifacts/dist/StdStyle.d.ts deleted file mode 100644 index baa9154cc..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStyle.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StdStyle: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StdStyle.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdStyle.d.ts.map b/packages/hyperdrive-artifacts/dist/StdStyle.d.ts.map deleted file mode 100644 index 2e13fd798..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStyle.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdStyle.d.ts","sourceRoot":"","sources":["../src/StdStyle.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;cAE6Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdStyle.js b/packages/hyperdrive-artifacts/dist/StdStyle.js deleted file mode 100644 index c3dd46d53..000000000 --- a/packages/hyperdrive-artifacts/dist/StdStyle.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StdStyle = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212208b99f89de3b336590885ce0fa5feb6099968a1fee7a33df67788754dca7f747064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StdUtils.d.ts b/packages/hyperdrive-artifacts/dist/StdUtils.d.ts deleted file mode 100644 index 0f462abe2..000000000 --- a/packages/hyperdrive-artifacts/dist/StdUtils.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StdUtils: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StdUtils.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdUtils.d.ts.map b/packages/hyperdrive-artifacts/dist/StdUtils.d.ts.map deleted file mode 100644 index 4998c5699..000000000 --- a/packages/hyperdrive-artifacts/dist/StdUtils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StdUtils.d.ts","sourceRoot":"","sources":["../src/StdUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;cAED,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StdUtils.js b/packages/hyperdrive-artifacts/dist/StdUtils.js deleted file mode 100644 index dceb69ca8..000000000 --- a/packages/hyperdrive-artifacts/dist/StdUtils.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StdUtils = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts b/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts deleted file mode 100644 index 1a19fbd1b..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts +++ /dev/null @@ -1,535 +0,0 @@ -export declare const StkWellBase: { - abi: readonly [{ - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StkWellBase.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts.map deleted file mode 100644 index a6b0671a4..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellBase.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellBase.d.ts","sourceRoot":"","sources":["../src/StkWellBase.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6oBJ,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellBase.js b/packages/hyperdrive-artifacts/dist/StkWellBase.js deleted file mode 100644 index 459fab292..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellBase.js +++ /dev/null @@ -1,656 +0,0 @@ -export const StkWellBase = { - abi: [ - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - } - ], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts b/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts deleted file mode 100644 index 3c35fbbda..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const StkWellConversions: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=StkWellConversions.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts.map deleted file mode 100644 index e0191316d..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellConversions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellConversions.d.ts","sourceRoot":"","sources":["../src/StkWellConversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;cAEmQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellConversions.js b/packages/hyperdrive-artifacts/dist/StkWellConversions.js deleted file mode 100644 index 933a517d7..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellConversions.js +++ /dev/null @@ -1,5 +0,0 @@ -export const StkWellConversions = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e462a73c01cc4df9430b6eb7c3db10ba597ce33b83c696d792cd3bde8997c19a64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts b/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts deleted file mode 100644 index d09656045..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts +++ /dev/null @@ -1,1357 +0,0 @@ -export declare const StkWellHyperdrive: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "fallback"; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "PERMIT_TYPEHASH"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "claimRewards"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "domainSeparator"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "target0"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnexpectedSuccess"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "PERMIT_TYPEHASH()": "30adf81f"; - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "claimRewards()": "372500ab"; - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "domainSeparator()": "f698da25"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - readonly "pause(bool)": "02329a29"; - readonly "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "target0()": "21b57d53"; - readonly "target1()": "eac3e799"; - readonly "target2()": "a6e8a859"; - readonly "target3()": "d899e112"; - readonly "target4()": "f3f70707"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - }; -}; -//# sourceMappingURL=StkWellHyperdrive.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts.map deleted file mode 100644 index dbbed62fd..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellHyperdrive.d.ts","sourceRoot":"","sources":["../src/StkWellHyperdrive.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8oD05b,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCp8b,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.js b/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.js deleted file mode 100644 index b6431e721..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdrive.js +++ /dev/null @@ -1,1711 +0,0 @@ -export const StkWellHyperdrive = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "PERMIT_TYPEHASH", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimRewards", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "domainSeparator", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "target0", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnexpectedSuccess", - "inputs": [] - } - ], - bytecode: '0x61032060405234801562000011575f80fd5b5060405162001bd238038062001bd28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161115e62000a745f395f81816105f20152818161065c015261083a01525f818161056d0152818161086901526108c601525f81816105270152610a5c01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161080b0152818161089c015281816108f601528181610a2b0152610a8f01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f61073501525f505061115e5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610b63565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610b72565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610bdf565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c9e565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610cd4565b348015610310575f80fd5b5061032461031f366004610cfd565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d91565b610689565b348015610368575f80fd5b506102e9610377366004610e20565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610e65565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610ebb565b610805565b348015610465575f80fd5b506102e9610474366004610ef5565b610835565b6103e6610487366004610f15565b610863565b348015610497575f80fd5b506102e9610377366004610f74565b3480156104b1575f80fd5b506102e96104c0366004610fbb565b610897565b6103e66104d3366004610cfd565b6108c0565b3480156104e3575f80fd5b506102e96104f2366004610fee565b6108f2565b348015610502575f80fd5b506102e9610511366004611066565b610a26565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610e65565b610a55565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461109b565b610a8a565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610abb565b6106517f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610b49565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610b49565b50949350505050565b604051637e90d7ef60e01b815230600482018190527f0000000000000000000000000000000000000000000000000000000000000000916001600160a01b03831691639a99b4f0918390637e90d7ef90602401602060405180830381865afa15801561078c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b091906110f6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b1580156107f3575f80fd5b505af11580156106e4573d5f803e3d5ffd5b5f61082f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50919050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050565b5f61088d7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5095945050505050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5f6108ea7f0000000000000000000000000000000000000000000000000000000000000000610b49565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610926610abb565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109cf919061110d565b5f60405180830381855af49150503d805f8114610a07576040519150601f19603f3d011682016040523d82523d5f602084013e610a0c565b606091505b509150915081610a1e57805160208201fd5b805160208201f35b610a4f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050565b5f80610a807f0000000000000000000000000000000000000000000000000000000000000000610b49565b5094509492505050565b610ab37f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109cf9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ba15780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610bd7578181015183820152602001610bbf565b50505f910152565b5f60208284031215610bef575f80fd5b815167ffffffffffffffff80821115610c06575f80fd5b818401915084601f830112610c19575f80fd5b815181811115610c2b57610c2b610ba9565b604051601f8201601f19908116603f01168101908382118183101715610c5357610c53610ba9565b81604052828152876020848701011115610c6b575f80fd5b610c7c836020830160208801610bbd565b979650505050505050565b6001600160a01b0381168114610c9b575f80fd5b50565b5f60208284031215610cae575f80fd5b8135610cb981610c87565b9392505050565b80358015158114610ccf575f80fd5b919050565b5f60208284031215610ce4575f80fd5b610cb982610cc0565b5f6060828403121561082f575f80fd5b5f805f60608486031215610d0f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610d33575f80fd5b610d3f86828701610ced565b9150509250925092565b5f8083601f840112610d59575f80fd5b50813567ffffffffffffffff811115610d70575f80fd5b6020830191508360208260051b8501011115610d8a575f80fd5b9250929050565b5f805f805f8060808789031215610da6575f80fd5b8635610db181610c87565b95506020870135610dc181610c87565b9450604087013567ffffffffffffffff80821115610ddd575f80fd5b610de98a838b01610d49565b90965094506060890135915080821115610e01575f80fd5b50610e0e89828a01610d49565b979a9699509497509295939492505050565b5f805f8060808587031215610e33575f80fd5b843593506020850135610e4581610c87565b92506040850135610e5581610c87565b9396929550929360600135925050565b5f805f8060808587031215610e78575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ea3575f80fd5b610eaf87828801610ced565b91505092959194509250565b5f60208284031215610ecb575f80fd5b813567ffffffffffffffff811115610ee1575f80fd5b610eed84828501610ced565b949350505050565b5f8060408385031215610f06575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610f29575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610f5b575f80fd5b610f6788828901610ced565b9150509295509295909350565b5f805f8060808587031215610f87575f80fd5b843593506020850135610f9981610c87565b9250604085013591506060850135610fb081610c87565b939692955090935050565b5f8060408385031215610fcc575f80fd5b8235610fd781610c87565b9150610fe560208401610cc0565b90509250929050565b5f805f805f805f60e0888a031215611004575f80fd5b873561100f81610c87565b9650602088013561101f81610c87565b955061102d60408901610cc0565b945060608801359350608088013560ff81168114611049575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611078575f80fd5b83359250602084013561108a81610c87565b929592945050506040919091013590565b5f805f805f60a086880312156110af575f80fd5b8535945060208601356110c181610c87565b935060408601356110d181610c87565b92506060860135915060808601356110e881610c87565b809150509295509295909350565b5f60208284031215611106575f80fd5b5051919050565b5f825161111e818460208701610bbd565b919091019291505056fea2646970667358221220bcc93d3447354f818ec80174eac7187339ba7355035efea73ee800fa1455697d64736f6c63430008160033', - methodIdentifiers: { - "PERMIT_TYPEHASH()": "30adf81f", - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "checkpoint(uint256,uint256)": "414f826d", - "claimRewards()": "372500ab", - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "domainSeparator()": "f698da25", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", - "pause(bool)": "02329a29", - "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "target0()": "21b57d53", - "target1()": "eac3e799", - "target2()": "a6e8a859", - "target3()": "d899e112", - "target4()": "f3f70707", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts deleted file mode 100644 index 8a7e33d67..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -export declare const StkWellHyperdriveCoreDeployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0"; - }; -}; -//# sourceMappingURL=StkWellHyperdriveCoreDeployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts.map deleted file mode 100644 index df8797b86..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellHyperdriveCoreDeployer.d.ts","sourceRoot":"","sources":["../src/StkWellHyperdriveCoreDeployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2K0miB,KAAK,MAAM,EAAE;;;;CAIhqiB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.js b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.js deleted file mode 100644 index a51064aeb..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveCoreDeployer.js +++ /dev/null @@ -1,176 +0,0 @@ -export const StkWellHyperdriveCoreDeployer = { - abi: [ - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_target0", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4", - "type": "address", - "internalType": "address" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506122238061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611bd2806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b5060405162001bd238038062001bd28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161115e62000a745f395f81816105f20152818161065c015261083a01525f818161056d0152818161086901526108c601525f81816105270152610a5c01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161080b0152818161089c015281816108f601528181610a2b0152610a8f01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f61073501525f505061115e5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610b63565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610b72565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610bdf565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c9e565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610cd4565b348015610310575f80fd5b5061032461031f366004610cfd565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d91565b610689565b348015610368575f80fd5b506102e9610377366004610e20565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610e65565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610ebb565b610805565b348015610465575f80fd5b506102e9610474366004610ef5565b610835565b6103e6610487366004610f15565b610863565b348015610497575f80fd5b506102e9610377366004610f74565b3480156104b1575f80fd5b506102e96104c0366004610fbb565b610897565b6103e66104d3366004610cfd565b6108c0565b3480156104e3575f80fd5b506102e96104f2366004610fee565b6108f2565b348015610502575f80fd5b506102e9610511366004611066565b610a26565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610e65565b610a55565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461109b565b610a8a565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610abb565b6106517f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610b49565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610b49565b50949350505050565b604051637e90d7ef60e01b815230600482018190527f0000000000000000000000000000000000000000000000000000000000000000916001600160a01b03831691639a99b4f0918390637e90d7ef90602401602060405180830381865afa15801561078c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b091906110f6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b1580156107f3575f80fd5b505af11580156106e4573d5f803e3d5ffd5b5f61082f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50919050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050565b5f61088d7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5095945050505050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5f6108ea7f0000000000000000000000000000000000000000000000000000000000000000610b49565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610926610abb565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109cf919061110d565b5f60405180830381855af49150503d805f8114610a07576040519150601f19603f3d011682016040523d82523d5f602084013e610a0c565b606091505b509150915081610a1e57805160208201fd5b805160208201f35b610a4f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050565b5f80610a807f0000000000000000000000000000000000000000000000000000000000000000610b49565b5094509492505050565b610ab37f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109cf9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ba15780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610bd7578181015183820152602001610bbf565b50505f910152565b5f60208284031215610bef575f80fd5b815167ffffffffffffffff80821115610c06575f80fd5b818401915084601f830112610c19575f80fd5b815181811115610c2b57610c2b610ba9565b604051601f8201601f19908116603f01168101908382118183101715610c5357610c53610ba9565b81604052828152876020848701011115610c6b575f80fd5b610c7c836020830160208801610bbd565b979650505050505050565b6001600160a01b0381168114610c9b575f80fd5b50565b5f60208284031215610cae575f80fd5b8135610cb981610c87565b9392505050565b80358015158114610ccf575f80fd5b919050565b5f60208284031215610ce4575f80fd5b610cb982610cc0565b5f6060828403121561082f575f80fd5b5f805f60608486031215610d0f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610d33575f80fd5b610d3f86828701610ced565b9150509250925092565b5f8083601f840112610d59575f80fd5b50813567ffffffffffffffff811115610d70575f80fd5b6020830191508360208260051b8501011115610d8a575f80fd5b9250929050565b5f805f805f8060808789031215610da6575f80fd5b8635610db181610c87565b95506020870135610dc181610c87565b9450604087013567ffffffffffffffff80821115610ddd575f80fd5b610de98a838b01610d49565b90965094506060890135915080821115610e01575f80fd5b50610e0e89828a01610d49565b979a9699509497509295939492505050565b5f805f8060808587031215610e33575f80fd5b843593506020850135610e4581610c87565b92506040850135610e5581610c87565b9396929550929360600135925050565b5f805f8060808587031215610e78575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ea3575f80fd5b610eaf87828801610ced565b91505092959194509250565b5f60208284031215610ecb575f80fd5b813567ffffffffffffffff811115610ee1575f80fd5b610eed84828501610ced565b949350505050565b5f8060408385031215610f06575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610f29575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610f5b575f80fd5b610f6788828901610ced565b9150509295509295909350565b5f805f8060808587031215610f87575f80fd5b843593506020850135610f9981610c87565b9250604085013591506060850135610fb081610c87565b939692955090935050565b5f8060408385031215610fcc575f80fd5b8235610fd781610c87565b9150610fe560208401610cc0565b90509250929050565b5f805f805f805f60e0888a031215611004575f80fd5b873561100f81610c87565b9650602088013561101f81610c87565b955061102d60408901610cc0565b945060608801359350608088013560ff81168114611049575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611078575f80fd5b83359250602084013561108a81610c87565b929592945050506040919091013590565b5f805f805f60a086880312156110af575f80fd5b8535945060208601356110c181610c87565b935060408601356110d181610c87565b92506060860135915060808601356110e881610c87565b809150509295509295909350565b5f60208284031215611106575f80fd5b5051919050565b5f825161111e818460208701610bbd565b919091019291505056fea2646970667358221220bcc93d3447354f818ec80174eac7187339ba7355035efea73ee800fa1455697d64736f6c63430008160033a2646970667358221220a3e75d76a98ab508b633ea2af3da84c7c98fde5f823e63c7320037eb3ca9ddbe64736f6c63430008160033', - methodIdentifiers: { - "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts deleted file mode 100644 index eed6ae2a9..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts +++ /dev/null @@ -1,620 +0,0 @@ -export declare const StkWellHyperdriveDeployerCoordinator: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_factory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_coreDeployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target0Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target1Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target2Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target3Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_target4Deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "coreDeployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "deployHyperdrive"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "__name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_deployConfig"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolDeployConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_targetIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deployments"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct HyperdriveDeployerCoordinator.Deployment"; - readonly components: readonly [{ - readonly name: "configHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "extraDataHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "hyperdrive"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target2"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target3"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "target4"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "factory"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNumberOfTargets"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_deploymentId"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "_lp"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target0Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target1Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target2Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target3Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "target4Deployer"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ApprovalFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentAlreadyExists"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DeploymentDoesNotExist"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "HyperdriveIsNotDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "IncompleteDeployment"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientValue"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidBaseToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeAmounts"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidMinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidPositionDuration"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTargetIndex"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidVaultSharesToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedConfig"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MismatchedExtraData"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SenderIsNotFactory"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TargetAlreadyDeployed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "coreDeployer()": "c83e1f51"; - readonly "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8"; - readonly "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618"; - readonly "deployments(bytes32)": "37404017"; - readonly "factory()": "c45a0155"; - readonly "getNumberOfTargets()": "e99be396"; - readonly "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "target0Deployer()": "ab71905f"; - readonly "target1Deployer()": "a085fa30"; - readonly "target2Deployer()": "b6cb1118"; - readonly "target3Deployer()": "aa8cd6c4"; - readonly "target4Deployer()": "966ecd1c"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StkWellHyperdriveDeployerCoordinator.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts.map deleted file mode 100644 index 681e2cabd..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellHyperdriveDeployerCoordinator.d.ts","sourceRoot":"","sources":["../src/StkWellHyperdriveDeployerCoordinator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmwB+6pB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;CAoB5+pB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.js b/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.js deleted file mode 100644 index 25540fcf3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellHyperdriveDeployerCoordinator.js +++ /dev/null @@ -1,792 +0,0 @@ -export const StkWellHyperdriveDeployerCoordinator = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_factory", - "type": "address", - "internalType": "address" - }, - { - "name": "_coreDeployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target0Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target1Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target2Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target3Deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "_target4Deployer", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "coreDeployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deployHyperdrive", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "__name", - "type": "string", - "internalType": "string" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_deployConfig", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolDeployConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_extraData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_targetIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deployments", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct HyperdriveDeployerCoordinator.Deployment", - "components": [ - { - "name": "configHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "extraDataHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "hyperdrive", - "type": "address", - "internalType": "address" - }, - { - "name": "target0", - "type": "address", - "internalType": "address" - }, - { - "name": "target1", - "type": "address", - "internalType": "address" - }, - { - "name": "target2", - "type": "address", - "internalType": "address" - }, - { - "name": "target3", - "type": "address", - "internalType": "address" - }, - { - "name": "target4", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "factory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNumberOfTargets", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_deploymentId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_lp", - "type": "address", - "internalType": "address" - }, - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target0Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target1Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target2Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target3Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "target4Deployer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ApprovalFailed", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "DeploymentDoesNotExist", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "HyperdriveIsNotDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "IncompleteDeployment", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientValue", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidBaseToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeAmounts", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidMinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidPositionDuration", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTargetIndex", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidVaultSharesToken", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedConfig", - "inputs": [] - }, - { - "type": "error", - "name": "MismatchedExtraData", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SenderIsNotFactory", - "inputs": [] - }, - { - "type": "error", - "name": "TargetAlreadyDeployed", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x61016060405234801562000011575f80fd5b50604051620029e6380380620029e68339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125cc6200041a5f395f81816102990152610d3f01525f81816103170152610c0c01525f818161037d0152610ad901525f81816102e401526109a601525f818161034a015261079d01525f8181610421015261108e01525f81816103ee01528181610528015281816106c6015281816107cd015281816109d601528181610b0901528181610c3c01528181610d6f01528181610e6201526110bf01526125cc5ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f5921461039f578063c83e1f5114610410578063e990eba814610443578063e99be39614610462575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610475565b60405161011f9190611b24565b60405180910390f35b348015610133575f80fd5b50610112610491565b61014f61014a366004611c59565b61051c565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611d17565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611d2e565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611d17565b6106b1565b3480156103c9575f80fd5b506102bb6103d8366004611f02565b6106ba565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b506102bb61045d366004611f6b565b610e56565b34801561046d575f80fd5b50600561014f565b6040518060600160405280602481526020016125736024913981565b5f805461049d90612005565b80601f01602080910402602001604051908101604052809291908181526020018280546104c990612005565b80156105145780601f106104eb57610100808354040283529160200191610514565b820191905f5260205f20905b8154815290600101906020018083116104f757829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461056657604051634084351160e01b815260040160405180910390fd5b61056e6111c9565b5f868152600160205260409020600301546001600160a01b0316806105a65760405163952b05cb60e01b815260040160405180910390fd5b5f6105b3828888876111ea565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016105e69392919061203d565b60206040518083038185885af1158015610602573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106279190612082565b92505f61063482346120ad565b905080156106a4576040515f90339083908381818185875af1925050503d805f811461067b576040519150601f19603f3d011682016040523d82523d5f602084013e610680565b606091505b50509050806106a2576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f815b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461070457604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108b45780541561073957604051633be1b34d60e11b815260040160405180910390fd5b61074386866112f2565b5f61074e87876114ff565b90505f8760405160200161076291906120c0565b6040516020818303038152906040528051906020012090505f878051906020012090505f61078f8a611518565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610809929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161083e94939291906122f3565b6020604051808303815f875af115801561085a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087e9190612338565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106a8565b5f87815260016020526040902054806108e05760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016108f291906120c0565b60405160208183030381529060405280519060200120146109265760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461095057604051631a3272d160e31b815260040160405180910390fd5b61095a87876112f2565b5f61096488611518565b6002840154608082015290506001869003610aa45760058301546001600160a01b0316156109a45760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a0b93929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a4094939291906122f3565b6020604051808303815f875af1158015610a5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a809190612338565b6005840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600203610bd75760068301546001600160a01b031615610ad75760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b3e93929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b7394939291906122f3565b6020604051808303815f875af1158015610b8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb39190612338565b6006840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600303610d0a5760078301546001600160a01b031615610c0a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c7193929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ca694939291906122f3565b6020604051808303815f875af1158015610cc2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce69190612338565b6007840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600403610e3d5760088301546001600160a01b031615610d3d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610da493929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610dd994939291906122f3565b6020604051808303815f875af1158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e199190612338565b6008840180546001600160a01b0319166001600160a01b03831617905593506106a4565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ea057604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f4857604051632c95caeb60e01b815260040160405180910390fd5b8051610f675760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610f8c575060a08101516001600160a01b0316155b80610fa2575060c08101516001600160a01b0316155b80610fb8575060e08101516001600160a01b0316155b80610fcf57506101008101516001600160a01b0316155b15610fed5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110009087906020016120c0565b60405160208183030381529060405280519060200120146110345760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461105f57604051631a3272d160e31b815260040160405180910390fd5b61106985856112f2565b5f61107386611518565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611115929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111509a99989796959493929190612374565b6020604051808303815f875af115801561116c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111909190612338565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156111e857604051631574f9f360e01b815260040160405180910390fd5b565b5f8082602001511561125d57856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611232573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112569190612338565b90506112c0565b856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611299573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112bd9190612338565b90505b6112d56001600160a01b0382168630876115e6565b6112e96001600160a01b0382168786611653565b50949350505050565b6112fc82826116e2565b60208201516001600160a01b03166113275760405163073f739d60e51b815260040160405180910390fd5b815f01516001600160a01b031682602001516001600160a01b031663312f6b836040518163ffffffff1660e01b8152600401602060405180830381865afa158015611374573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113989190612338565b6001600160a01b0316146113bf57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611400573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142491906123f6565b61142e9190612416565b61143990600a61250f565b8260800151101561145d576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c291906123f6565b6114cc9190612416565b6114d790600a61250f565b8260a0015110156114fb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611511670de0b6b3a76400006106b1565b9392505050565b611520611a03565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261164d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506117f6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116a48482611861565b61164d576040516001600160a01b0384811660248301525f60448301526116d891869182169063095ea7b39060640161161b565b61164d84826117f6565b6103e882608001511015611709576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361172e57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061175857508161010001518260e00151611755919061251d565b15155b156117765760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117a25750670de0b6b3a7640000826101c0015160200151115b806117bd5750670de0b6b3a7640000826101c0015160400151115b806117d85750670de0b6b3a7640000826101c0015160600151115b156114fb576040516322f72cc360e11b815260040160405180910390fd5b5f61180a6001600160a01b038416836118fe565b905080515f1415801561182e57508080602001905181019061182c919061253c565b155b1561185c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161187c9190612557565b5f604051808303815f865af19150503d805f81146118b5576040519150601f19603f3d011682016040523d82523d5f602084013e6118ba565b606091505b50915091508180156118e45750805115806118e45750808060200190518101906118e4919061253c565b80156106a85750505050506001600160a01b03163b151590565b606061151183835f845f80856001600160a01b031684866040516119229190612557565b5f6040518083038185875af1925050503d805f811461195c576040519150601f19603f3d011682016040523d82523d5f602084013e611961565b606091505b509150915061197186838361197b565b9695505050505050565b6060826119905761198b826119d7565b611511565b81511580156119a757506001600160a01b0384163b155b156119d057604051639996b31560e01b81526001600160a01b0385166004820152602401611853565b5080611511565b8051156119e75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ad260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611af1578181015183820152602001611ad9565b50505f910152565b5f8151808452611b10816020860160208601611ad7565b601f01601f19169290920160200192915050565b602081525f6115116020830184611af9565b6001600160a01b0381168114611a00575f80fd5b8035611b5581611b36565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b9157611b91611b5a565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b9157611b91611b5a565b8015158114611a00575f80fd5b5f67ffffffffffffffff80841115611be257611be2611b5a565b604051601f8501601f19908116603f01168101908282118183101715611c0a57611c0a611b5a565b81604052809350858152868686011115611c22575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611c4a575f80fd5b61151183833560208501611bc8565b5f805f805f60a08688031215611c6d575f80fd5b853594506020860135611c7f81611b36565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ca9575f80fd5b908701906060828a031215611cbc575f80fd5b611cc4611b6e565b8235611ccf81611b36565b81526020830135611cdf81611bbb565b6020820152604083013582811115611cf5575f80fd5b611d018b828601611c3b565b6040830152508093505050509295509295909350565b5f60208284031215611d27575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611dbb575f80fd5b6040516080810181811067ffffffffffffffff82111715611dde57611dde611b5a565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611e20575f80fd5b611e28611b97565b9050611e3382611b4a565b8152611e4160208301611b4a565b6020820152611e5260408301611b4a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611eaf818401611b4a565b90820152610160611ec1838201611b4a565b90820152610180611ed3838201611b4a565b908201526101a0611ee5838201611b4a565b908201526101c0611ef884848301611dab565b9082015292915050565b5f805f805f6102c08688031215611f17575f80fd5b85359450611f288760208801611e0f565b935061026086013567ffffffffffffffff811115611f44575f80fd5b611f5088828901611c3b565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611f80575f80fd5b85359450602086013567ffffffffffffffff80821115611f9e575f80fd5b818801915088601f830112611fb1575f80fd5b611fc089833560208501611bc8565b9550611fcf8960408a01611e0f565b9450610280880135915080821115611fe5575f80fd5b50611ff288828901611c3b565b959894975092956102a001359392505050565b600181811c9082168061201957607f821691505b60208210810361203757634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261197160c0840182611af9565b5f60208284031215612092575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106b4576106b4612099565b81516001600160a01b03168152610240810160208301516120ec60208401826001600160a01b03169052565b50604083015161210760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161216d828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611da3565b80516001600160a01b0316825260208101516121fd60208401826001600160a01b03169052565b50604081015161221860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161228a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261164d565b5f6102c061230183886121d6565b6001600160a01b038616610260840152610280830181905261232581840186611af9565b915050826102a083015295945050505050565b5f60208284031215612348575f80fd5b815161151181611b36565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526123878184018e611af9565b9050612396602084018d6121d6565b6001600160a01b038b81166102808501528382036102a08501526123ba828c611af9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612406575f80fd5b815160ff81168114611511575f80fd5b60ff82811682821603908111156106b4576106b4612099565b600181815b8085111561246957815f190482111561244f5761244f612099565b8085161561245c57918102915b93841c9390800290612434565b509250929050565b5f8261247f575060016106b4565b8161248b57505f6106b4565b81600181146124a157600281146124ab576124c7565b60019150506106b4565b60ff8411156124bc576124bc612099565b50506001821b6106b4565b5060208310610133831016604e8410600b84101617156124ea575081810a6106b4565b6124f4838361242f565b805f190482111561250757612507612099565b029392505050565b5f61151160ff841683612471565b5f8261253757634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561254c575f80fd5b815161151181611bbb565b5f8251612568818460208701611ad7565b919091019291505056fe53746b57656c6c487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212205f6cbb68e0e1f27022ec484d8932c9beb503129e283c2ef602c051e19e6b92b764736f6c63430008160033', - methodIdentifiers: { - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "coreDeployer()": "c83e1f51", - "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", - "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", - "deployments(bytes32)": "37404017", - "factory()": "c45a0155", - "getNumberOfTargets()": "e99be396", - "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", - "kind()": "04baa00b", - "name()": "06fdde03", - "target0Deployer()": "ab71905f", - "target1Deployer()": "a085fa30", - "target2Deployer()": "b6cb1118", - "target3Deployer()": "aa8cd6c4", - "target4Deployer()": "966ecd1c", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts deleted file mode 100644 index 16877c605..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts +++ /dev/null @@ -1,1527 +0,0 @@ -export declare const StkWellTarget0: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "adminController"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "balanceOf"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "baseToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "batchTransferFrom"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "ids"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "collectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "convertToBase"; - readonly inputs: readonly [{ - readonly name: "_shareAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "convertToShares"; - readonly inputs: readonly [{ - readonly name: "_baseAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "decimals"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint8"; - readonly internalType: "uint8"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Checkpoint"; - readonly components: readonly [{ - readonly name: "weightedSpotPrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "lastWeightedSpotPriceUpdateTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCheckpointExposure"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMarketState"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.MarketState"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "bondReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longExposure"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int128"; - readonly internalType: "int128"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "isInitialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isPaused"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint112"; - readonly internalType: "uint112"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolConfig"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getPoolInfo"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolInfo"; - readonly components: readonly [{ - readonly name: "shareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shareAdjustment"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "zombieBaseProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "zombieShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "bondReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpTotalSupply"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortsOutstanding"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shortAverageMaturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesReadyToWithdraw"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesProceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longExposure"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getUncollectedGovernanceFees"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getWithdrawPool"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.WithdrawPool"; - readonly components: readonly [{ - readonly name: "readyToWithdraw"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }, { - readonly name: "proceeds"; - readonly type: "uint128"; - readonly internalType: "uint128"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isApprovedForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "isPauser"; - readonly inputs: readonly [{ - readonly name: "_account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "_slots"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "nonces"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "pause"; - readonly inputs: readonly [{ - readonly name: "_status"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "perTokenApprovals"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "permitForAll"; - readonly inputs: readonly [{ - readonly name: "domainSeparator"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "permitTypeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "owner"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "_approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApproval"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setGovernance"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setPauser"; - readonly inputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sweep"; - readonly inputs: readonly [{ - readonly name: "_target"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "symbol"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "totalShares"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "totalSupply"; - readonly inputs: readonly [{ - readonly name: "tokenId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "transferFrom"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transferFromBridge"; - readonly inputs: readonly [{ - readonly name: "tokenID"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "caller"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "vaultSharesToken"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BatchInputLengthMismatch"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpiredDeadline"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidERC20Bridge"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidFeeDestination"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSignature"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReturnData"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "SweepFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "Unauthorized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "adminController()": "950c5d03"; - readonly "balanceOf(uint256,address)": "3656eec2"; - readonly "baseToken()": "c55dae63"; - readonly "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc"; - readonly "collectGovernanceFee((address,bool,bytes))": "3e691db9"; - readonly "convertToBase(uint256)": "b88fed9f"; - readonly "convertToShares(uint256)": "c6e6f592"; - readonly "decimals()": "313ce567"; - readonly "getCheckpoint(uint256)": "20fc4881"; - readonly "getCheckpointExposure(uint256)": "cf210e65"; - readonly "getMarketState()": "d8165743"; - readonly "getPoolConfig()": "b0d96580"; - readonly "getPoolInfo()": "60246c88"; - readonly "getUncollectedGovernanceFees()": "c69e16ad"; - readonly "getWithdrawPool()": "fba56008"; - readonly "isApprovedForAll(address,address)": "e985e9c5"; - readonly "isPauser(address)": "46fbf68e"; - readonly "kind()": "04baa00b"; - readonly "load(uint256[])": "becee9c3"; - readonly "name()": "06fdde03"; - readonly "name(uint256)": "00ad800c"; - readonly "nonces(address)": "7ecebe00"; - readonly "pause(bool)": "02329a29"; - readonly "perTokenApprovals(uint256,address,address)": "21ff32a9"; - readonly "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b"; - readonly "setApproval(uint256,address,uint256)": "9cd241af"; - readonly "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac"; - readonly "setApprovalForAll(address,bool)": "a22cb465"; - readonly "setGovernance(address)": "ab033ea9"; - readonly "setPauser(address,bool)": "7180c8ca"; - readonly "sweep(address)": "01681a62"; - readonly "symbol(uint256)": "4e41a1fb"; - readonly "totalShares()": "3a98ef39"; - readonly "totalSupply(uint256)": "bd85b039"; - readonly "transferFrom(uint256,address,address,uint256)": "1c0f12b6"; - readonly "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc"; - readonly "vaultSharesToken()": "0a4e1493"; - readonly "version()": "54fd4d50"; - }; -}; -//# sourceMappingURL=StkWellTarget0.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts.map deleted file mode 100644 index bd23d8cf3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget0.d.ts","sourceRoot":"","sources":["../src/StkWellTarget0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi2D267B,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCl97B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0.js b/packages/hyperdrive-artifacts/dist/StkWellTarget0.js deleted file mode 100644 index d9b4543ee..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0.js +++ /dev/null @@ -1,1931 +0,0 @@ -export const StkWellTarget0 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "adminController", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "baseToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "batchTransferFrom", - "inputs": [ - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "ids", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collectGovernanceFee", - "inputs": [ - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "convertToBase", - "inputs": [ - { - "name": "_shareAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "convertToShares", - "inputs": [ - { - "name": "_baseAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "uint8" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.Checkpoint", - "components": [ - { - "name": "weightedSpotPrice", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "lastWeightedSpotPriceUpdateTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "vaultSharePrice", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCheckpointExposure", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMarketState", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.MarketState", - "components": [ - { - "name": "shareReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "bondReserves", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longExposure", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shareAdjustment", - "type": "int128", - "internalType": "int128" - }, - { - "name": "shortsOutstanding", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "longAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "isInitialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isPaused", - "type": "bool", - "internalType": "bool" - }, - { - "name": "zombieBaseProceeds", - "type": "uint112", - "internalType": "uint112" - }, - { - "name": "zombieShareReserves", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolConfig", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolInfo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolInfo", - "components": [ - { - "name": "shareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shareAdjustment", - "type": "int256", - "internalType": "int256" - }, - { - "name": "zombieBaseProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "zombieShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "bondReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpTotalSupply", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortsOutstanding", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shortAverageMaturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesReadyToWithdraw", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesProceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longExposure", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUncollectedGovernanceFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getWithdrawPool", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IHyperdrive.WithdrawPool", - "components": [ - { - "name": "readyToWithdraw", - "type": "uint128", - "internalType": "uint128" - }, - { - "name": "proceeds", - "type": "uint128", - "internalType": "uint128" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isApprovedForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isPauser", - "inputs": [ - { - "name": "_account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "_slots", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pause", - "inputs": [ - { - "name": "_status", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "perTokenApprovals", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "permitForAll", - "inputs": [ - { - "name": "domainSeparator", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "permitTypeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "owner", - "type": "address", - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "internalType": "address" - }, - { - "name": "_approved", - "type": "bool", - "internalType": "bool" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApproval", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setApprovalForAll", - "inputs": [ - { - "name": "operator", - "type": "address", - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setGovernance", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPauser", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sweep", - "inputs": [ - { - "name": "_target", - "type": "address", - "internalType": "contract IERC20" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "totalShares", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [ - { - "name": "tokenId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFromBridge", - "inputs": [ - { - "name": "tokenID", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "from", - "type": "address", - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "caller", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "vaultSharesToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BatchInputLengthMismatch", - "inputs": [] - }, - { - "type": "error", - "name": "ExpiredDeadline", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidERC20Bridge", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidFeeDestination", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSignature", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ReturnData", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "SweepFailed", - "inputs": [] - }, - { - "type": "error", - "name": "Unauthorized", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003bd938038062003bd98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516137a6620004335f395f8181610d47015261230301525f8181610d1801526122c601525f8181610bf401528181610e7701528181610f0501528181610f93015281816110210152818161161d015281816116b30152818161187501528181611e8d01528181611f6101526120b201525f610ddf01525f8181610db901526124a801525f8181610d93015261248201525f8181610d6d015261245c01525f61112c01525f61110601525f6110e001525f6110ba01525f8181610e5101526124ce01525f8181610e05015281816112aa01526127fc01525f8181610e2b015261295901525f81816105f601528181610ce901528181611e02015261292b01525f818161072001528181610cba015261125401526137a65ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104c9578063d8165743146104dc578063e44808bc146104f1578063e985e9c514610504578063fba5600814610517575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f59214610473575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612b91565b610546565b60405161024c9190612bf5565b60405180910390f35b610268610263366004612c1b565b61057d565b005b610268610278366004612c43565b610586565b61023f61058f565b61023f6105d1565b6102956105e8565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612c6c565b610627565b6102686102ce366004612d3d565b610643565b6102686102e1366004612dcc565b610659565b6102f96102f4366004612b91565b61066c565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e11565b6106d5565b60405190815260200161024c565b61035461071a565b60405160ff909116815260200161024c565b61033e610374366004612e50565b6107b2565b61033e6107ea565b61033e61038f366004612e7e565b610808565b6103a76103a2366004612c1b565b610812565b604051901515815260200161024c565b61023f6103c5366004612b91565b610831565b6102686103d8366004612eb5565b61083f565b61023f61088d565b6103ed6108c2565b60405161024c9190612efc565b610268610408366004612f9d565b5050565b61033e61041a366004612c1b565b610bbb565b610295610be6565b610268610435366004612fc9565b610c25565b610268610448366004612f9d565b610c36565b61026861045b366004612c1b565b50565b610466610ca1565b60405161024c9190612ffe565b61033e610481366004612b91565b611161565b61033e610494366004612b91565b61116e565b6104ac6104a7366004613124565b61118f565b60405161024c9190613163565b610295611246565b61033e611285565b61033e6104d7366004612b91565b61129e565b6104e46112d4565b60405161024c91906131a6565b6102686104ff3660046132b7565b6113df565b6103a7610512366004613312565b611427565b61051f61146a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b6060610578610554836114c8565b6040516020016105649190612bf5565b6040516020818303038152906040526115ee565b919050565b61045b81611612565b61045b81611873565b60606105ce6040518060400160405280601181526020017053746b57656c6c4879706572647269766560781b8152506040516020016105649190612bf5565b90565b60606105ce6001604051602001610564919061333e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b61063889898989898989898961198b565b505050505050505050565b610651868686868686611b7d565b505050505050565b6106668484848433611c30565b50505050565b604080516060810182525f808252602082018190529181019190915261057860085f8481526020019081526020015f20604051602001610564919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107139101610564565b9392505050565b5f6105ce7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e91906133eb565b6040805160ff909216602083015201610564565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107e49101610564565b92915050565b5f6105ce6107f6611deb565b60405160200161056491815260200190565b5f6107e482611e78565b5f61057861081f836120ae565b60408051911515602083015201610564565b60606105786105548361218c565b8361084981612288565b6001600160a01b0316336001600160a01b03161461087a57604051632aab8bd360e01b815260040160405180910390fd5b61088685858585612345565b5050505050565b60606105ce60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105649190612bf5565b61092c604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109356123b1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161099f919061342e565b6109a99190613441565b90505f8215610ab85773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109d5856123c3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa89190613454565b509050610ab5818461254d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b8857610b838486612561565b610b8a565b5f5b81526003546001600160801b0316602091820152604051919250610bb49161056491849101612efc565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105789101610564565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b610c3183838333612345565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ca9612abd565b6105ce6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef59190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f839190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110119190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561107b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109f9190613482565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105649190612ffe565b5f6105786107f683612575565b5f818152600b60209081526040808320548151928301526105789101610564565b60605f8267ffffffffffffffff8111156111ab576111ab61349d565b6040519080825280602002602001820160405280156111d4578160200160208202803683370190505b5090505f5b8381101561122a575f8585838181106111f4576111f46134b1565b9050602002013590505f8154905080848481518110611215576112156134b1565b602090810291909101015250506001016111d9565b5061123f816040516020016105649190613163565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b5f6105ce60095460405160200161056491815260200190565b5f6105786107f66112cf7f00000000000000000000000000000000000000000000000000000000000000008561342e565b61257c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105ce6002604051602001610564919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113e981612288565b6001600160a01b0316336001600160a01b03161461141a57604051632aab8bd360e01b815260040160405180910390fd5b6106518686868686611c30565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107e49101610564565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105ce90606001610564565b606060f882901c6001600160f81b0383165f6114e3826125bc565b90505f8360038111156114f8576114f8613406565b0361152a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115e6565b600183600381111561153e5761153e613406565b0361156a578060405160200161155491906134c5565b60405160208183030381529060405293506115e6565b600283600381111561157e5761157e613406565b03611594578060405160200161155491906134fd565b60038360038111156115a8576115a8613406565b036115e6576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116099190612bf5565b60405180910390fd5b61161a61266e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611677573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169b9190613482565b9050336001600160a01b0382161480159061174757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117319190613482565b6001600160a01b0316336001600160a01b031614155b80156117595750611757336120ae565b155b15611776576040516282b42960e81b815260040160405180910390fd5b5f61177f611deb565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ea9190613536565b90506118006001600160a01b0385168483612696565b81611809611deb565b14611827576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f39190613482565b6001600160a01b0316336001600160a01b03161415801561191a5750611918336120ae565b155b15611937576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061198090831515815260200190565b60405180910390a150565b834211156119ac5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119d35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611abd573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611afb57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b9a57506001600160a01b038516155b15611bb85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bd85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c2757611c1f858583818110611bf757611bf76134b1565b905060200201358888868686818110611c1257611c126134b1565b9050602002013533611c30565b600101611bda565b50505050505050565b6001600160a01b0384161580611c4d57506001600160a01b038316155b15611c6b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d2b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d2b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d29575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d23908490613441565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d5c908490613441565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d9290849061342e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e739190613536565b905090565b5f611e8161266e565b611e8a826126e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0b9190613482565b90506001600160a01b038116611f246020850185612c1b565b6001600160a01b031614611f4b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611ff557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdf9190613482565b6001600160a01b0316336001600160a01b031614155b80156120075750612005336120ae565b155b15612024576040516282b42960e81b815260040160405180910390fd5b5f61202d6123b1565b600980545f90915590915061204381838761271d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461208260408a0160208b01612c43565b60408051938452602084019290925215159082015260600160405180910390a250505061057860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561210b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612132919081019061354d565b90505f5b815181101561218357836001600160a01b031682828151811061215b5761215b6134b1565b60200260200101516001600160a01b03160361217b575060019392505050565b600101612136565b505f9392505050565b606060f882901c6001600160f81b0383165f6121a7826125bc565b90505f8360038111156121bc576121bc613406565b036121ee576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115e6565b600183600381111561220257612202613406565b036122185780604051602001611554919061360d565b600283600381111561222c5761222c613406565b0361224257806040516020016115549190613644565b600383600381111561225657612256613406565b036115e657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e73670de0b6b3a7640000612575565b61241b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161251391166127b3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612545929004166127b3565b905292915050565b5f6107138383670de0b6b3a7640000612827565b5f61071383670de0b6b3a764000084612827565b5f816107e4565b5f6125a1600b5f61258e600286612842565b81526020019081526020015f2054612876565b6125b2600b5f61258e600187612842565b6107e4919061366f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612660576125f5600a866136a2565b61260090603061342e565b60f81b8260016126108487613441565b61261a9190613441565b8151811061262a5761262a6134b1565b60200101906001600160f81b03191690815f1a9053508061264a816136b5565b91506126599050600a866136cd565b94506125e4565b918290030190815292915050565b60025f540361269057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c319084906128a3565b5f6126f66020830183612c1b565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612729858561254d565b905061273481612575565b9450845f03612746575f915050610713565b8491506127596040840160208501612c43565b15612788576127818561276f6020860186612c1b565b61277c60408701876136e0565b612904565b91506127ab565b6127ab856127996020860186612c1b565b6127a660408701876136e0565b61291e565b509392505050565b5f80670de0b6b3a76400006127c6612952565b6127d09190613723565b90508083116127df575f6127e9565b6127e98184613441565b9150610713612820670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613723565b8390612561565b5f825f19048411830215820261283b575f80fd5b5091020490565b5f6001600160f81b0382111561286b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561289f5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6128b76001600160a01b0384168361297d565b905080515f141580156128db5750808060200190518101906128d9919061373a565b155b15610c3157604051635274afe760e01b81526001600160a01b0384166004820152602401611609565b5f60405163350b944160e11b815260040160405180910390fd5b6106666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612696565b5f611e73427f000000000000000000000000000000000000000000000000000000000000000061298a565b606061071383835f61299f565b5f61299582846136a2565b6107139084613441565b6060814710156129c45760405163cd78605960e01b8152306004820152602401611609565b5f80856001600160a01b031684866040516129df9190613755565b5f6040518083038185875af1925050503d805f8114612a19576040519150601f19603f3d011682016040523d82523d5f602084013e612a1e565b606091505b5091509150612a2e868383612a38565b9695505050505050565b606082612a4d57612a4882612a94565b610713565b8151158015612a6457506001600160a01b0384163b155b15612a8d57604051639996b31560e01b81526001600160a01b0385166004820152602401611609565b5080610713565b805115612aa45780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612b8c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ba1575f80fd5b5035919050565b5f5b83811015612bc2578181015183820152602001612baa565b50505f910152565b5f8151808452612be1816020860160208601612ba8565b601f01601f19169290920160200192915050565b602081525f6107136020830184612bca565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612c2b575f80fd5b813561071381612c07565b801515811461045b575f80fd5b5f60208284031215612c53575f80fd5b813561071381612c36565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612c85575f80fd5b8935985060208a0135975060408a0135612c9e81612c07565b965060608a0135612cae81612c07565b955060808a0135612cbe81612c36565b945060a08a0135935060c08a0135612cd581612c5e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d05575f80fd5b50813567ffffffffffffffff811115612d1c575f80fd5b6020830191508360208260051b8501011115612d36575f80fd5b9250929050565b5f805f805f8060808789031215612d52575f80fd5b8635612d5d81612c07565b95506020870135612d6d81612c07565b9450604087013567ffffffffffffffff80821115612d89575f80fd5b612d958a838b01612cf5565b90965094506060890135915080821115612dad575f80fd5b50612dba89828a01612cf5565b979a9699509497509295939492505050565b5f805f8060808587031215612ddf575f80fd5b843593506020850135612df181612c07565b92506040850135612e0181612c07565b9396929550929360600135925050565b5f805f60608486031215612e23575f80fd5b833592506020840135612e3581612c07565b91506040840135612e4581612c07565b809150509250925092565b5f8060408385031215612e61575f80fd5b823591506020830135612e7381612c07565b809150509250929050565b5f60208284031215612e8e575f80fd5b813567ffffffffffffffff811115612ea4575f80fd5b820160608185031215610713575f80fd5b5f805f8060808587031215612ec8575f80fd5b843593506020850135612eda81612c07565b9250604085013591506060850135612ef181612c07565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215612fae575f80fd5b8235612fb981612c07565b91506020830135612e7381612c36565b5f805f60608486031215612fdb575f80fd5b833592506020840135612fed81612c07565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161302a60208401826001600160a01b03169052565b50604083015161304560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516130b7828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613135575f80fd5b823567ffffffffffffffff81111561314b575f80fd5b61315785828601612cf5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561319a5783518352928401929184019160010161317e565b50909695505050505050565b81516001600160801b03168152610180810160208301516131d260208401826001600160801b03169052565b5060408301516131ed60408401826001600160801b03169052565b50606083015161320860608401826001600160801b03169052565b50608083015161321d6080840182600f0b9052565b5060a083015161323860a08401826001600160801b03169052565b5060c083015161325360c08401826001600160801b03169052565b5060e083015161326e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261311c565b5f805f805f60a086880312156132cb575f80fd5b8535945060208601356132dd81612c07565b935060408601356132ed81612c07565b925060608601359150608086013561330481612c07565b809150509295509295909350565b5f8060408385031215613323575f80fd5b823561332e81612c07565b91506020830135612e7381612c07565b5f60208083525f84545f60018260011c9150600183168061336057607f831692505b60208310810361337e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561339d57600181146133b3576133dc565b60ff198616825284151560051b820196506133dc565b5f8b8152602090205f5b868110156133d6578154848201529085019089016133bd565b83019750505b50949998505050505050505050565b5f602082840312156133fb575f80fd5b815161071381612c5e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107e4576107e461341a565b818103818111156107e4576107e461341a565b5f8060408385031215613465575f80fd5b825191506020830151612e7381612c36565b805161057881612c07565b5f60208284031215613492575f80fd5b815161071381612c07565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516134f0816011850160208701612ba8565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613529816012850160208701612ba8565b9190910160120192915050565b5f60208284031215613546575f80fd5b5051919050565b5f602080838503121561355e575f80fd5b825167ffffffffffffffff80821115613575575f80fd5b818501915085601f830112613588575f80fd5b81518181111561359a5761359a61349d565b8060051b604051601f19603f830116810181811085821117156135bf576135bf61349d565b6040529182528482019250838101850191888311156135dc575f80fd5b938501935b82851015613601576135f285613477565b845293850193928501926135e1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613637816010850160208701612ba8565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516134f0816011850160208701612ba8565b8181035f83128015838313168383128216171561123f5761123f61341a565b634e487b7160e01b5f52601260045260245ffd5b5f826136b0576136b061368e565b500690565b5f600182016136c6576136c661341a565b5060010190565b5f826136db576136db61368e565b500490565b5f808335601e198436030181126136f5575f80fd5b83018035915067ffffffffffffffff82111561370f575f80fd5b602001915036819003821315612d36575f80fd5b80820281158282048414176107e4576107e461341a565b5f6020828403121561374a575f80fd5b815161071381612c36565b5f8251613766818460208701612ba8565b919091019291505056fea2646970667358221220e664418cc325031b9b73c1a9539a65881349617e81927cfbaafd7c3c21b0310064736f6c63430008160033', - methodIdentifiers: { - "adminController()": "950c5d03", - "balanceOf(uint256,address)": "3656eec2", - "baseToken()": "c55dae63", - "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", - "collectGovernanceFee((address,bool,bytes))": "3e691db9", - "convertToBase(uint256)": "b88fed9f", - "convertToShares(uint256)": "c6e6f592", - "decimals()": "313ce567", - "getCheckpoint(uint256)": "20fc4881", - "getCheckpointExposure(uint256)": "cf210e65", - "getMarketState()": "d8165743", - "getPoolConfig()": "b0d96580", - "getPoolInfo()": "60246c88", - "getUncollectedGovernanceFees()": "c69e16ad", - "getWithdrawPool()": "fba56008", - "isApprovedForAll(address,address)": "e985e9c5", - "isPauser(address)": "46fbf68e", - "kind()": "04baa00b", - "load(uint256[])": "becee9c3", - "name()": "06fdde03", - "name(uint256)": "00ad800c", - "nonces(address)": "7ecebe00", - "pause(bool)": "02329a29", - "perTokenApprovals(uint256,address,address)": "21ff32a9", - "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", - "setApproval(uint256,address,uint256)": "9cd241af", - "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", - "setApprovalForAll(address,bool)": "a22cb465", - "setGovernance(address)": "ab033ea9", - "setPauser(address,bool)": "7180c8ca", - "sweep(address)": "01681a62", - "symbol(uint256)": "4e41a1fb", - "totalShares()": "3a98ef39", - "totalSupply(uint256)": "bd85b039", - "transferFrom(uint256,address,address,uint256)": "1c0f12b6", - "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", - "vaultSharesToken()": "0a4e1493", - "version()": "54fd4d50" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts deleted file mode 100644 index 6f9f1b3ce..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StkWellTarget0Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StkWellTarget0Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts.map deleted file mode 100644 index d5c404ea3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget0Deployer.d.ts","sourceRoot":"","sources":["../src/StkWellTarget0Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I64gC,KAAK,MAAM,EAAE;;;;CAI57gC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.js b/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.js deleted file mode 100644 index 1ddeb8eb0..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget0Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StkWellTarget0Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506140b18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613bd9806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003bd938038062003bd98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516137a6620004335f395f8181610d47015261230301525f8181610d1801526122c601525f8181610bf401528181610e7701528181610f0501528181610f93015281816110210152818161161d015281816116b30152818161187501528181611e8d01528181611f6101526120b201525f610ddf01525f8181610db901526124a801525f8181610d93015261248201525f8181610d6d015261245c01525f61112c01525f61110601525f6110e001525f6110ba01525f8181610e5101526124ce01525f8181610e05015281816112aa01526127fc01525f8181610e2b015261295901525f81816105f601528181610ce901528181611e02015261292b01525f818161072001528181610cba015261125401526137a65ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104c9578063d8165743146104dc578063e44808bc146104f1578063e985e9c514610504578063fba5600814610517575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f59214610473575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612b91565b610546565b60405161024c9190612bf5565b60405180910390f35b610268610263366004612c1b565b61057d565b005b610268610278366004612c43565b610586565b61023f61058f565b61023f6105d1565b6102956105e8565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612c6c565b610627565b6102686102ce366004612d3d565b610643565b6102686102e1366004612dcc565b610659565b6102f96102f4366004612b91565b61066c565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e11565b6106d5565b60405190815260200161024c565b61035461071a565b60405160ff909116815260200161024c565b61033e610374366004612e50565b6107b2565b61033e6107ea565b61033e61038f366004612e7e565b610808565b6103a76103a2366004612c1b565b610812565b604051901515815260200161024c565b61023f6103c5366004612b91565b610831565b6102686103d8366004612eb5565b61083f565b61023f61088d565b6103ed6108c2565b60405161024c9190612efc565b610268610408366004612f9d565b5050565b61033e61041a366004612c1b565b610bbb565b610295610be6565b610268610435366004612fc9565b610c25565b610268610448366004612f9d565b610c36565b61026861045b366004612c1b565b50565b610466610ca1565b60405161024c9190612ffe565b61033e610481366004612b91565b611161565b61033e610494366004612b91565b61116e565b6104ac6104a7366004613124565b61118f565b60405161024c9190613163565b610295611246565b61033e611285565b61033e6104d7366004612b91565b61129e565b6104e46112d4565b60405161024c91906131a6565b6102686104ff3660046132b7565b6113df565b6103a7610512366004613312565b611427565b61051f61146a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b6060610578610554836114c8565b6040516020016105649190612bf5565b6040516020818303038152906040526115ee565b919050565b61045b81611612565b61045b81611873565b60606105ce6040518060400160405280601181526020017053746b57656c6c4879706572647269766560781b8152506040516020016105649190612bf5565b90565b60606105ce6001604051602001610564919061333e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b61063889898989898989898961198b565b505050505050505050565b610651868686868686611b7d565b505050505050565b6106668484848433611c30565b50505050565b604080516060810182525f808252602082018190529181019190915261057860085f8481526020019081526020015f20604051602001610564919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107139101610564565b9392505050565b5f6105ce7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e91906133eb565b6040805160ff909216602083015201610564565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107e49101610564565b92915050565b5f6105ce6107f6611deb565b60405160200161056491815260200190565b5f6107e482611e78565b5f61057861081f836120ae565b60408051911515602083015201610564565b60606105786105548361218c565b8361084981612288565b6001600160a01b0316336001600160a01b03161461087a57604051632aab8bd360e01b815260040160405180910390fd5b61088685858585612345565b5050505050565b60606105ce60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105649190612bf5565b61092c604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109356123b1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161099f919061342e565b6109a99190613441565b90505f8215610ab85773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109d5856123c3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa89190613454565b509050610ab5818461254d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b8857610b838486612561565b610b8a565b5f5b81526003546001600160801b0316602091820152604051919250610bb49161056491849101612efc565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105789101610564565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b610c3183838333612345565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ca9612abd565b6105ce6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef59190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f839190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110119190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561107b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109f9190613482565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105649190612ffe565b5f6105786107f683612575565b5f818152600b60209081526040808320548151928301526105789101610564565b60605f8267ffffffffffffffff8111156111ab576111ab61349d565b6040519080825280602002602001820160405280156111d4578160200160208202803683370190505b5090505f5b8381101561122a575f8585838181106111f4576111f46134b1565b9050602002013590505f8154905080848481518110611215576112156134b1565b602090810291909101015250506001016111d9565b5061123f816040516020016105649190613163565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b5f6105ce60095460405160200161056491815260200190565b5f6105786107f66112cf7f00000000000000000000000000000000000000000000000000000000000000008561342e565b61257c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105ce6002604051602001610564919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113e981612288565b6001600160a01b0316336001600160a01b03161461141a57604051632aab8bd360e01b815260040160405180910390fd5b6106518686868686611c30565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107e49101610564565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105ce90606001610564565b606060f882901c6001600160f81b0383165f6114e3826125bc565b90505f8360038111156114f8576114f8613406565b0361152a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115e6565b600183600381111561153e5761153e613406565b0361156a578060405160200161155491906134c5565b60405160208183030381529060405293506115e6565b600283600381111561157e5761157e613406565b03611594578060405160200161155491906134fd565b60038360038111156115a8576115a8613406565b036115e6576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116099190612bf5565b60405180910390fd5b61161a61266e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611677573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169b9190613482565b9050336001600160a01b0382161480159061174757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117319190613482565b6001600160a01b0316336001600160a01b031614155b80156117595750611757336120ae565b155b15611776576040516282b42960e81b815260040160405180910390fd5b5f61177f611deb565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ea9190613536565b90506118006001600160a01b0385168483612696565b81611809611deb565b14611827576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f39190613482565b6001600160a01b0316336001600160a01b03161415801561191a5750611918336120ae565b155b15611937576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061198090831515815260200190565b60405180910390a150565b834211156119ac5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119d35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611abd573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611afb57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b9a57506001600160a01b038516155b15611bb85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bd85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c2757611c1f858583818110611bf757611bf76134b1565b905060200201358888868686818110611c1257611c126134b1565b9050602002013533611c30565b600101611bda565b50505050505050565b6001600160a01b0384161580611c4d57506001600160a01b038316155b15611c6b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d2b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d2b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d29575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d23908490613441565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d5c908490613441565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d9290849061342e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e739190613536565b905090565b5f611e8161266e565b611e8a826126e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0b9190613482565b90506001600160a01b038116611f246020850185612c1b565b6001600160a01b031614611f4b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611ff557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdf9190613482565b6001600160a01b0316336001600160a01b031614155b80156120075750612005336120ae565b155b15612024576040516282b42960e81b815260040160405180910390fd5b5f61202d6123b1565b600980545f90915590915061204381838761271d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461208260408a0160208b01612c43565b60408051938452602084019290925215159082015260600160405180910390a250505061057860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561210b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612132919081019061354d565b90505f5b815181101561218357836001600160a01b031682828151811061215b5761215b6134b1565b60200260200101516001600160a01b03160361217b575060019392505050565b600101612136565b505f9392505050565b606060f882901c6001600160f81b0383165f6121a7826125bc565b90505f8360038111156121bc576121bc613406565b036121ee576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115e6565b600183600381111561220257612202613406565b036122185780604051602001611554919061360d565b600283600381111561222c5761222c613406565b0361224257806040516020016115549190613644565b600383600381111561225657612256613406565b036115e657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e73670de0b6b3a7640000612575565b61241b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161251391166127b3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612545929004166127b3565b905292915050565b5f6107138383670de0b6b3a7640000612827565b5f61071383670de0b6b3a764000084612827565b5f816107e4565b5f6125a1600b5f61258e600286612842565b81526020019081526020015f2054612876565b6125b2600b5f61258e600187612842565b6107e4919061366f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612660576125f5600a866136a2565b61260090603061342e565b60f81b8260016126108487613441565b61261a9190613441565b8151811061262a5761262a6134b1565b60200101906001600160f81b03191690815f1a9053508061264a816136b5565b91506126599050600a866136cd565b94506125e4565b918290030190815292915050565b60025f540361269057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c319084906128a3565b5f6126f66020830183612c1b565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612729858561254d565b905061273481612575565b9450845f03612746575f915050610713565b8491506127596040840160208501612c43565b15612788576127818561276f6020860186612c1b565b61277c60408701876136e0565b612904565b91506127ab565b6127ab856127996020860186612c1b565b6127a660408701876136e0565b61291e565b509392505050565b5f80670de0b6b3a76400006127c6612952565b6127d09190613723565b90508083116127df575f6127e9565b6127e98184613441565b9150610713612820670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613723565b8390612561565b5f825f19048411830215820261283b575f80fd5b5091020490565b5f6001600160f81b0382111561286b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561289f5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6128b76001600160a01b0384168361297d565b905080515f141580156128db5750808060200190518101906128d9919061373a565b155b15610c3157604051635274afe760e01b81526001600160a01b0384166004820152602401611609565b5f60405163350b944160e11b815260040160405180910390fd5b6106666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612696565b5f611e73427f000000000000000000000000000000000000000000000000000000000000000061298a565b606061071383835f61299f565b5f61299582846136a2565b6107139084613441565b6060814710156129c45760405163cd78605960e01b8152306004820152602401611609565b5f80856001600160a01b031684866040516129df9190613755565b5f6040518083038185875af1925050503d805f8114612a19576040519150601f19603f3d011682016040523d82523d5f602084013e612a1e565b606091505b5091509150612a2e868383612a38565b9695505050505050565b606082612a4d57612a4882612a94565b610713565b8151158015612a6457506001600160a01b0384163b155b15612a8d57604051639996b31560e01b81526001600160a01b0385166004820152602401611609565b5080610713565b805115612aa45780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612b8c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ba1575f80fd5b5035919050565b5f5b83811015612bc2578181015183820152602001612baa565b50505f910152565b5f8151808452612be1816020860160208601612ba8565b601f01601f19169290920160200192915050565b602081525f6107136020830184612bca565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612c2b575f80fd5b813561071381612c07565b801515811461045b575f80fd5b5f60208284031215612c53575f80fd5b813561071381612c36565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612c85575f80fd5b8935985060208a0135975060408a0135612c9e81612c07565b965060608a0135612cae81612c07565b955060808a0135612cbe81612c36565b945060a08a0135935060c08a0135612cd581612c5e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d05575f80fd5b50813567ffffffffffffffff811115612d1c575f80fd5b6020830191508360208260051b8501011115612d36575f80fd5b9250929050565b5f805f805f8060808789031215612d52575f80fd5b8635612d5d81612c07565b95506020870135612d6d81612c07565b9450604087013567ffffffffffffffff80821115612d89575f80fd5b612d958a838b01612cf5565b90965094506060890135915080821115612dad575f80fd5b50612dba89828a01612cf5565b979a9699509497509295939492505050565b5f805f8060808587031215612ddf575f80fd5b843593506020850135612df181612c07565b92506040850135612e0181612c07565b9396929550929360600135925050565b5f805f60608486031215612e23575f80fd5b833592506020840135612e3581612c07565b91506040840135612e4581612c07565b809150509250925092565b5f8060408385031215612e61575f80fd5b823591506020830135612e7381612c07565b809150509250929050565b5f60208284031215612e8e575f80fd5b813567ffffffffffffffff811115612ea4575f80fd5b820160608185031215610713575f80fd5b5f805f8060808587031215612ec8575f80fd5b843593506020850135612eda81612c07565b9250604085013591506060850135612ef181612c07565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215612fae575f80fd5b8235612fb981612c07565b91506020830135612e7381612c36565b5f805f60608486031215612fdb575f80fd5b833592506020840135612fed81612c07565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161302a60208401826001600160a01b03169052565b50604083015161304560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516130b7828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613135575f80fd5b823567ffffffffffffffff81111561314b575f80fd5b61315785828601612cf5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561319a5783518352928401929184019160010161317e565b50909695505050505050565b81516001600160801b03168152610180810160208301516131d260208401826001600160801b03169052565b5060408301516131ed60408401826001600160801b03169052565b50606083015161320860608401826001600160801b03169052565b50608083015161321d6080840182600f0b9052565b5060a083015161323860a08401826001600160801b03169052565b5060c083015161325360c08401826001600160801b03169052565b5060e083015161326e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261311c565b5f805f805f60a086880312156132cb575f80fd5b8535945060208601356132dd81612c07565b935060408601356132ed81612c07565b925060608601359150608086013561330481612c07565b809150509295509295909350565b5f8060408385031215613323575f80fd5b823561332e81612c07565b91506020830135612e7381612c07565b5f60208083525f84545f60018260011c9150600183168061336057607f831692505b60208310810361337e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561339d57600181146133b3576133dc565b60ff198616825284151560051b820196506133dc565b5f8b8152602090205f5b868110156133d6578154848201529085019089016133bd565b83019750505b50949998505050505050505050565b5f602082840312156133fb575f80fd5b815161071381612c5e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107e4576107e461341a565b818103818111156107e4576107e461341a565b5f8060408385031215613465575f80fd5b825191506020830151612e7381612c36565b805161057881612c07565b5f60208284031215613492575f80fd5b815161071381612c07565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516134f0816011850160208701612ba8565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613529816012850160208701612ba8565b9190910160120192915050565b5f60208284031215613546575f80fd5b5051919050565b5f602080838503121561355e575f80fd5b825167ffffffffffffffff80821115613575575f80fd5b818501915085601f830112613588575f80fd5b81518181111561359a5761359a61349d565b8060051b604051601f19603f830116810181811085821117156135bf576135bf61349d565b6040529182528482019250838101850191888311156135dc575f80fd5b938501935b82851015613601576135f285613477565b845293850193928501926135e1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613637816010850160208701612ba8565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516134f0816011850160208701612ba8565b8181035f83128015838313168383128216171561123f5761123f61341a565b634e487b7160e01b5f52601260045260245ffd5b5f826136b0576136b061368e565b500690565b5f600182016136c6576136c661341a565b5060010190565b5f826136db576136db61368e565b500490565b5f808335601e198436030181126136f5575f80fd5b83018035915067ffffffffffffffff82111561370f575f80fd5b602001915036819003821315612d36575f80fd5b80820281158282048414176107e4576107e461341a565b5f6020828403121561374a575f80fd5b815161071381612c36565b5f8251613766818460208701612ba8565b919091019291505056fea2646970667358221220e664418cc325031b9b73c1a9539a65881349617e81927cfbaafd7c3c21b0310064736f6c63430008160033a264697066735822122023c9f04eca2806c10cbfe5947a24f3bae8f758485ea9429b49397e745bfac8b264736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts deleted file mode 100644 index 6913e72cc..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts +++ /dev/null @@ -1,794 +0,0 @@ -export declare const StkWellTarget1: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeLong"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShort"; - readonly inputs: readonly [{ - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231"; - readonly "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1"; - }; -}; -//# sourceMappingURL=StkWellTarget1.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts.map deleted file mode 100644 index 4da492943..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget1.d.ts","sourceRoot":"","sources":["../src/StkWellTarget1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAu9B2+9B,KAAK,MAAM,EAAE;;;;;CAKlh+B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1.js b/packages/hyperdrive-artifacts/dist/StkWellTarget1.js deleted file mode 100644 index 6966f4e26..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1.js +++ /dev/null @@ -1,989 +0,0 @@ -export const StkWellTarget1 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeLong", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShort", - "inputs": [ - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003df938038062003df98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161398d6200046c5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612a9e01525f818161139301528181611791015281816117f401528181612687015281816126c3015281816128bb0152612a7801525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612a5201525f611ab601525f8181611bd701528181612218015261229001525f81816108a901528181610f4301528181611bab015261226401525f8181610e3e01526121de01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ac401525f81816107e701528181610ec4015281816116ef015281816120b7015261303f01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61250101525f505061398d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613428565b610070565b60405190815260200160405180910390f35b61004b61006b366004613428565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613496565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836134a9565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836134dc565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613504565b6102bd8a6102b78d8f613496565b90611584565b8d6102cb60408c018c61351f565b6040516102df98979695949392919061358a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613496565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836135d1565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836134dc565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613504565b8a61050260408b018b61351f565b60405161051597969594939291906135f8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836134dc565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611971565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613496565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611986565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b92505b5061073e836119bc565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613638565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613496565b42906119e5565b8461102b565b6107db886119f9565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613638565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611b96565b915091508060095f8282546108789190613496565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613496565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c63565b91506108e16108dc8385611584565b611cac565b600680546002906109029084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119bc565b60068054601090610951908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611b96565b915091508060095f8282546109c49190613496565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613638565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119bc565b60068054601090610a68908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906134a9565b5f61134e565b8e610ac58482611cd5565b50505b5f610ad284611ec4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061368b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612006565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613638565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611986565b90505f610d5f8a61208c565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120db565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061214a565b612179565b15610e7457610e746113ec565b5f805f610e8385878b876121ba565b9c5091945092509050610e968184613638565b610ea09089613496565b9750610eac8284613496565b610eb6908d613496565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613638565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c63565b9950610f73878a613638565b9850670de0b6b3a7640000610ff0610f8b8787613496565b600254610fa9908f90600160801b90046001600160801b0316613638565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122cc565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613638565b6110d191906136a6565b85670de0b6b3a76400006110e5878a613638565b6110ef91906136a6565b859291906001612368565b6119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119bc565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866136a6565b600554600160801b90046001600160801b031691908a5f612368565b600580546001600160801b03928316600160801b0292169190911790556111d2866119bc565b6111dc90826136bd565b600480546001600160801b03928316600160801b029216919091179055611202846119bc565b600280545f9061121c9084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361240e565b600480545f9061125d908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119bc565b600280546010906112af908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906134a9565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612449565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124ab565b6003546113ce91906001600160801b0316613496565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cd5565b5f805f61141d846119f9565b90925090505f61142d8686611584565b905081831115611445576114428683856124bf565b95505b8281101561145757808303925061145b565b5f92505b61146483611cac565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119bc565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161196a565b9450845f03611516575f91505061157d565b8491506115296040840160208501613504565b15611558576115518561153f60208601866134dc565b61154c604087018761351f565b6124da565b915061157b565b61157b8561156960208601866134dc565b611576604087018761351f565b6124f4565b505b9392505050565b5f61157d8383670de0b6b3a76400006124bf565b5f805f805f805f806115a8611986565b90505f6115b48a61208c565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061252e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b985061169a84878b886121ba565b9c5091945090925090506116ae8284613638565b6116b89089613638565b97506116c48184613496565b6116ce908e613638565b9c506116da8a8e613496565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613638565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122cc565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613638565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826134a9565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612581565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886136a6565b6005546001600160801b031691908c5f612368565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613638565b90506118a2816119bc565b600380546001600160801b03928316600160801b0292169190911790556118c8836119bc565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261240e565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119bc565b6002805460109061193c908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8161131b565b5f61197c828461371e565b61157d9084613638565b6002546004545f916105a6916001600160801b0390911690600f0b612581565b5f61007d826119b68588886124bf565b906125a6565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f8183116119f3578261157d565b50919050565b6006545f908190611a1b908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611b91575f611a448383613638565b9050611a536110fa8286612615565b60068054601090611a75908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611aad858361262990919063ffffffff16565b90505f611ada827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611aed9190613496565b90915550611afd90508183613638565b9150611b08826119bc565b600280545f90611b229084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b4f8261263d565b600480545f90611b63908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ba28785612629565b91505f611bcf837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611bfb817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c1e57611c0d8282613638565b611c179084613638565b9250611c35565b611c288282613638565b611c329084613496565b92505b86861015611c5857611c488387896124bf565b9250611c558287896124bf565b91505b509550959350505050565b5f80611c7a84611c748a888a6124bf565b90612629565b9050611c878884866124bf565b611c919082613496565b905086811115611ca15786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d1f916001600160801b031690613638565b9050805f03611d3257600191505061131b565b5f611d3c85612666565b9050805f03611d505760019250505061131b565b5f80611d5d838589612701565b9150915080611d72575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dad9291906137af565b6040805180830381865af4158015611dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611deb9190613824565b91509150611e09611dfb82611321565b611e0490613846565b612875565b925082611e1e575f965050505050505061131b565b611e27826119bc565b600780545f90611e419084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e6e816119bc565b60078054601090611e90908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611eeb87612a09565b6040518263ffffffff1660e01b8152600401611f079190613860565b6040805180830381865af4158015611f21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f45919061386f565b9150915080611f5a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fbf91613496565b611fc99190613638565b9050805f03611fdf57505f958695509350505050565b5f808711611fed575f611ff8565b611ff88488846124bf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120295761202961389d565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612073578692505b828152825f602083013e90999098509650505050505050565b5f806120966105ab565b90508083116120a5575f6120af565b6120af8184613638565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612629565b5f80806120fb6120f388670de0b6b3a7640000613638565b899087612b43565b9050861561213d5761210d88886124ab565b915061212e8a8a846121278a670de0b6b3a7640000613638565b8989612b66565b925061213a8382613496565b90505b9750975097945050505050565b5f61216761216084670de0b6b3a7640000613638565b83906124ab565b61157d90670de0b6b3a7640000613638565b5f806121af85612187611986565b6121919190613496565b600254610fa9908790600160801b90046001600160801b0316613638565b909210949350505050565b5f80808061221087866122098b6122036121dc8c670de0b6b3a7640000613638565b7f0000000000000000000000000000000000000000000000000000000000000000906124ab565b906124ab565b9190612b43565b935061223c847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61225c61225489670de0b6b3a7640000613638565b8a9088612b43565b9050612288817f00000000000000000000000000000000000000000000000000000000000000006124ab565b93506122b4847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122be9084613496565b915050945094509450949050565b5f805f805f80888810156123385786156122ee576122eb8d898b6124bf565b9c505b6122f98c898b6124bf565b9b506123048b611321565b61230d8d611321565b61231791906134a9565b90506123248b898b6124bf565b9a506123318a898b6124bf565b9950612357565b6123418b611321565b61234a8d611321565b61235491906134a9565b90505b9b9c9a9b999a975050505050505050565b5f825f03612377575084612405565b81156123c9576123a861238a8487613496565b6123948587611584565b61239e888a611584565b611c749190613496565b90505f6123b585886119e5565b9050808210156123c3578091505b50612405565b8285036123d757505f612405565b6124026123e48487613638565b6123ee85876124ab565b6123f8888a611584565b611c749190613638565b90505b95945050505050565b5f60016001607f1b031982128061242b575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612455845f612b88565b61245f845f612b88565b61246991906134a9565b90505f8113156124845761247d8186613496565b94506124a2565b5f8112156124a25761249581613846565b61249f9086613638565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612b43565b5f825f1904841183021582026124d3575f80fd5b5091020490565b5f60405163350b944160e11b815260040160405180910390fd5b6125286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612b9d565b50505050565b5f808061254e61254688670de0b6b3a7640000613638565b8990876124bf565b9050861561213d576125608888611584565b915061212e8a8a8461257a8a670de0b6b3a7640000613638565b8989612bf4565b5f8061258d8484612c04565b90925090508061259f5761259f6113ec565b5092915050565b5f815f036125bd5750670de0b6b3a764000061131b565b825f036125cb57505f61131b565b5f6125d583611321565b90505f6125e96125e486611321565b612c3f565b9050818102612600670de0b6b3a7640000826138b1565b905061260b81612e64565b9695505050505050565b5f61157d83670de0b6b3a764000084612b43565b5f61157d83670de0b6b3a7640000846124bf565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612680906001600160801b031684612615565b90506126ac7f000000000000000000000000000000000000000000000000000000000000000082613496565b6002546001600160801b031611156119f3576002547f0000000000000000000000000000000000000000000000000000000000000000906126f79083906001600160801b0316613638565b61157d9190613638565b612709613389565b5f8061271484612a09565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161274e9190613860565b6040805180830381865af4158015612768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278c919061386f565b93509050826127a057505f915061286d9050565b5f6127c66127c184610160015185610140015161158490919063ffffffff16565b611321565b6127e66127c18561012001518661010001516124ab90919063ffffffff16565b6127f091906134a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561292b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061294f91906138dd565b93509350935093508061296a57505f98975050505050505050565b86841461299b5761297a846119bc565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129cc576129ab8361240e565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146129fa576129dc826119bc565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a116133d3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b099116612ff6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b3b92900416612ff6565b905292915050565b5f825f190484118302158202612b57575f80fd5b50910281810615159190040190565b5f80612b7688888888888861306a565b909250905080611ca157611ca16113ec565b5f818313612b96578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612bef908490613146565b505050565b5f80612b768888888888886131ac565b5f805f83612c1186611321565b612c1b91906134a9565b90505f811215612c31575f809250925050612c38565b9150600190505b9250929050565b5f808213612c605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ce39084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612e7d57505f919050565b680755bf798b4a1bf1e58212612ea6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061260b74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130096105ab565b61301391906136a6565b9050808311613022575f61302c565b61302c8184613638565b915061157d613063670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136a6565b8390612629565b5f805f61307a8989888888613268565b905086881015613090575f80925092505061313b565b968690039661309f88876125a6565b9750878110156130b5575f80925092505061313b565b8781036130c3818688612b43565b9050670de0b6b3a764000081106130f7576130f06130e9670de0b6b3a764000089612615565b82906125a6565b905061310f565b61310c6130e9670de0b6b3a764000089612629565b90505b6131198186612615565b905089811015613130575f8093509350505061313b565b899003925060019150505b965096945050505050565b5f61315a6001600160a01b03841683613296565b905080515f1415801561317e57508080602001905181019061317c9190613910565b155b15612bef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6131bc8989888888613268565b90506131cc866119b6898b613496565b9750878110156131e2575f80925092505061313b565b8781036131f0818688612b43565b9050670de0b6b3a7640000811061321d576132166130e9670de0b6b3a764000089612615565b9050613235565b6132326130e9670de0b6b3a764000089612629565b90505b61323f8186612615565b9050808a1015613256575f8093509350505061313b565b90980398600198509650505050505050565b5f61327385856125a6565b61328c613284866119b6868b6124ab565b859085612b43565b6124029190613496565b606061157d83835f845f80856001600160a01b031684866040516132ba919061392b565b5f6040518083038185875af1925050503d805f81146132f4576040519150601f19603f3d011682016040523d82523d5f602084013e6132f9565b606091505b509150915061260b8683836060826133195761331482613360565b61157d565b815115801561333057506001600160a01b0384163b155b1561335957604051639996b31560e01b81526001600160a01b03851660048201526024016131a3565b508061157d565b8051156133705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061339d6133d3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561343b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613466575f80fd5b850160608188031215613477575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613482565b8181035f83128015838313168383128216171561259f5761259f613482565b6001600160a01b0381168114610591575f80fd5b5f602082840312156134ec575f80fd5b813561157d816134c8565b8015158114610591575f80fd5b5f60208284031215613514575f80fd5b813561157d816134f7565b5f808335601e19843603018112613534575f80fd5b83018035915067ffffffffffffffff82111561354e575f80fd5b602001915036819003821315612c38575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6135c360e083018486613562565b9a9950505050505050505050565b8082018281125f8312801582168215821617156135f0576135f0613482565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61362b60c083018486613562565b9998505050505050505050565b8181038181111561131b5761131b613482565b6001600160701b0381811683821601908082111561259f5761259f613482565b6001600160801b0381811683821601908082111561259f5761259f613482565b5f6020828403121561369b575f80fd5b815161157d816134c8565b808202811582820484141761131b5761131b613482565b6001600160801b0382811682821603908082111561259f5761259f613482565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613482565b634e487b7160e01b5f52601260045260245ffd5b5f8261372c5761372c61370a565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137c2828551613731565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613835575f80fd5b505080516020909101519092909150565b5f600160ff1b820161385a5761385a613482565b505f0390565b610180810161131b8284613731565b5f8060408385031215613880575f80fd5b825191506020830151613892816134f7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826138bf576138bf61370a565b600160ff1b82145f19841416156138d8576138d8613482565b500590565b5f805f80608085870312156138f0575f80fd5b8451935060208501519250604085015191506060850151613477816134f7565b5f60208284031215613920575f80fd5b815161157d816134f7565b5f82515f5b8181101561394a5760208186018101518583015201613930565b505f92019182525091905056fea26469706673582212200bbb33ae0b759a7054d31ea526e720fee72a9c86c609543d763cfc662221537a64736f6c63430008160033', - methodIdentifiers: { - "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", - "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts deleted file mode 100644 index 54441f319..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StkWellTarget1Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StkWellTarget1Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts.map deleted file mode 100644 index c041d07f3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget1Deployer.d.ts","sourceRoot":"","sources":["../src/StkWellTarget1Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I68iC,KAAK,MAAM,EAAE;;;;CAI5/iC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.js b/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.js deleted file mode 100644 index 93c554b12..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget1Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StkWellTarget1Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506142d18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613df9806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003df938038062003df98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161398d6200046c5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612a9e01525f818161139301528181611791015281816117f401528181612687015281816126c3015281816128bb0152612a7801525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612a5201525f611ab601525f8181611bd701528181612218015261229001525f81816108a901528181610f4301528181611bab015261226401525f8181610e3e01526121de01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ac401525f81816107e701528181610ec4015281816116ef015281816120b7015261303f01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61250101525f505061398d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613428565b610070565b60405190815260200160405180910390f35b61004b61006b366004613428565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613496565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836134a9565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836134dc565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613504565b6102bd8a6102b78d8f613496565b90611584565b8d6102cb60408c018c61351f565b6040516102df98979695949392919061358a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613496565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836135d1565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836134dc565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613504565b8a61050260408b018b61351f565b60405161051597969594939291906135f8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836134dc565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611971565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613496565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611986565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b92505b5061073e836119bc565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613638565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613496565b42906119e5565b8461102b565b6107db886119f9565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613638565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611b96565b915091508060095f8282546108789190613496565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613496565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c63565b91506108e16108dc8385611584565b611cac565b600680546002906109029084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119bc565b60068054601090610951908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611b96565b915091508060095f8282546109c49190613496565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613638565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119bc565b60068054601090610a68908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906134a9565b5f61134e565b8e610ac58482611cd5565b50505b5f610ad284611ec4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061368b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612006565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613638565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611986565b90505f610d5f8a61208c565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120db565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061214a565b612179565b15610e7457610e746113ec565b5f805f610e8385878b876121ba565b9c5091945092509050610e968184613638565b610ea09089613496565b9750610eac8284613496565b610eb6908d613496565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613638565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c63565b9950610f73878a613638565b9850670de0b6b3a7640000610ff0610f8b8787613496565b600254610fa9908f90600160801b90046001600160801b0316613638565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122cc565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613638565b6110d191906136a6565b85670de0b6b3a76400006110e5878a613638565b6110ef91906136a6565b859291906001612368565b6119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119bc565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866136a6565b600554600160801b90046001600160801b031691908a5f612368565b600580546001600160801b03928316600160801b0292169190911790556111d2866119bc565b6111dc90826136bd565b600480546001600160801b03928316600160801b029216919091179055611202846119bc565b600280545f9061121c9084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361240e565b600480545f9061125d908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119bc565b600280546010906112af908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906134a9565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612449565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124ab565b6003546113ce91906001600160801b0316613496565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cd5565b5f805f61141d846119f9565b90925090505f61142d8686611584565b905081831115611445576114428683856124bf565b95505b8281101561145757808303925061145b565b5f92505b61146483611cac565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119bc565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161196a565b9450845f03611516575f91505061157d565b8491506115296040840160208501613504565b15611558576115518561153f60208601866134dc565b61154c604087018761351f565b6124da565b915061157b565b61157b8561156960208601866134dc565b611576604087018761351f565b6124f4565b505b9392505050565b5f61157d8383670de0b6b3a76400006124bf565b5f805f805f805f806115a8611986565b90505f6115b48a61208c565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061252e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b985061169a84878b886121ba565b9c5091945090925090506116ae8284613638565b6116b89089613638565b97506116c48184613496565b6116ce908e613638565b9c506116da8a8e613496565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613638565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122cc565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613638565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826134a9565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612581565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886136a6565b6005546001600160801b031691908c5f612368565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613638565b90506118a2816119bc565b600380546001600160801b03928316600160801b0292169190911790556118c8836119bc565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261240e565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119bc565b6002805460109061193c908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8161131b565b5f61197c828461371e565b61157d9084613638565b6002546004545f916105a6916001600160801b0390911690600f0b612581565b5f61007d826119b68588886124bf565b906125a6565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f8183116119f3578261157d565b50919050565b6006545f908190611a1b908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611b91575f611a448383613638565b9050611a536110fa8286612615565b60068054601090611a75908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611aad858361262990919063ffffffff16565b90505f611ada827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611aed9190613496565b90915550611afd90508183613638565b9150611b08826119bc565b600280545f90611b229084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b4f8261263d565b600480545f90611b63908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ba28785612629565b91505f611bcf837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611bfb817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c1e57611c0d8282613638565b611c179084613638565b9250611c35565b611c288282613638565b611c329084613496565b92505b86861015611c5857611c488387896124bf565b9250611c558287896124bf565b91505b509550959350505050565b5f80611c7a84611c748a888a6124bf565b90612629565b9050611c878884866124bf565b611c919082613496565b905086811115611ca15786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d1f916001600160801b031690613638565b9050805f03611d3257600191505061131b565b5f611d3c85612666565b9050805f03611d505760019250505061131b565b5f80611d5d838589612701565b9150915080611d72575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dad9291906137af565b6040805180830381865af4158015611dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611deb9190613824565b91509150611e09611dfb82611321565b611e0490613846565b612875565b925082611e1e575f965050505050505061131b565b611e27826119bc565b600780545f90611e419084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e6e816119bc565b60078054601090611e90908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611eeb87612a09565b6040518263ffffffff1660e01b8152600401611f079190613860565b6040805180830381865af4158015611f21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f45919061386f565b9150915080611f5a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fbf91613496565b611fc99190613638565b9050805f03611fdf57505f958695509350505050565b5f808711611fed575f611ff8565b611ff88488846124bf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120295761202961389d565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612073578692505b828152825f602083013e90999098509650505050505050565b5f806120966105ab565b90508083116120a5575f6120af565b6120af8184613638565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612629565b5f80806120fb6120f388670de0b6b3a7640000613638565b899087612b43565b9050861561213d5761210d88886124ab565b915061212e8a8a846121278a670de0b6b3a7640000613638565b8989612b66565b925061213a8382613496565b90505b9750975097945050505050565b5f61216761216084670de0b6b3a7640000613638565b83906124ab565b61157d90670de0b6b3a7640000613638565b5f806121af85612187611986565b6121919190613496565b600254610fa9908790600160801b90046001600160801b0316613638565b909210949350505050565b5f80808061221087866122098b6122036121dc8c670de0b6b3a7640000613638565b7f0000000000000000000000000000000000000000000000000000000000000000906124ab565b906124ab565b9190612b43565b935061223c847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61225c61225489670de0b6b3a7640000613638565b8a9088612b43565b9050612288817f00000000000000000000000000000000000000000000000000000000000000006124ab565b93506122b4847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122be9084613496565b915050945094509450949050565b5f805f805f80888810156123385786156122ee576122eb8d898b6124bf565b9c505b6122f98c898b6124bf565b9b506123048b611321565b61230d8d611321565b61231791906134a9565b90506123248b898b6124bf565b9a506123318a898b6124bf565b9950612357565b6123418b611321565b61234a8d611321565b61235491906134a9565b90505b9b9c9a9b999a975050505050505050565b5f825f03612377575084612405565b81156123c9576123a861238a8487613496565b6123948587611584565b61239e888a611584565b611c749190613496565b90505f6123b585886119e5565b9050808210156123c3578091505b50612405565b8285036123d757505f612405565b6124026123e48487613638565b6123ee85876124ab565b6123f8888a611584565b611c749190613638565b90505b95945050505050565b5f60016001607f1b031982128061242b575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612455845f612b88565b61245f845f612b88565b61246991906134a9565b90505f8113156124845761247d8186613496565b94506124a2565b5f8112156124a25761249581613846565b61249f9086613638565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612b43565b5f825f1904841183021582026124d3575f80fd5b5091020490565b5f60405163350b944160e11b815260040160405180910390fd5b6125286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612b9d565b50505050565b5f808061254e61254688670de0b6b3a7640000613638565b8990876124bf565b9050861561213d576125608888611584565b915061212e8a8a8461257a8a670de0b6b3a7640000613638565b8989612bf4565b5f8061258d8484612c04565b90925090508061259f5761259f6113ec565b5092915050565b5f815f036125bd5750670de0b6b3a764000061131b565b825f036125cb57505f61131b565b5f6125d583611321565b90505f6125e96125e486611321565b612c3f565b9050818102612600670de0b6b3a7640000826138b1565b905061260b81612e64565b9695505050505050565b5f61157d83670de0b6b3a764000084612b43565b5f61157d83670de0b6b3a7640000846124bf565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612680906001600160801b031684612615565b90506126ac7f000000000000000000000000000000000000000000000000000000000000000082613496565b6002546001600160801b031611156119f3576002547f0000000000000000000000000000000000000000000000000000000000000000906126f79083906001600160801b0316613638565b61157d9190613638565b612709613389565b5f8061271484612a09565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161274e9190613860565b6040805180830381865af4158015612768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278c919061386f565b93509050826127a057505f915061286d9050565b5f6127c66127c184610160015185610140015161158490919063ffffffff16565b611321565b6127e66127c18561012001518661010001516124ab90919063ffffffff16565b6127f091906134a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561292b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061294f91906138dd565b93509350935093508061296a57505f98975050505050505050565b86841461299b5761297a846119bc565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129cc576129ab8361240e565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146129fa576129dc826119bc565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a116133d3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b099116612ff6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b3b92900416612ff6565b905292915050565b5f825f190484118302158202612b57575f80fd5b50910281810615159190040190565b5f80612b7688888888888861306a565b909250905080611ca157611ca16113ec565b5f818313612b96578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612bef908490613146565b505050565b5f80612b768888888888886131ac565b5f805f83612c1186611321565b612c1b91906134a9565b90505f811215612c31575f809250925050612c38565b9150600190505b9250929050565b5f808213612c605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ce39084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612e7d57505f919050565b680755bf798b4a1bf1e58212612ea6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061260b74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130096105ab565b61301391906136a6565b9050808311613022575f61302c565b61302c8184613638565b915061157d613063670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136a6565b8390612629565b5f805f61307a8989888888613268565b905086881015613090575f80925092505061313b565b968690039661309f88876125a6565b9750878110156130b5575f80925092505061313b565b8781036130c3818688612b43565b9050670de0b6b3a764000081106130f7576130f06130e9670de0b6b3a764000089612615565b82906125a6565b905061310f565b61310c6130e9670de0b6b3a764000089612629565b90505b6131198186612615565b905089811015613130575f8093509350505061313b565b899003925060019150505b965096945050505050565b5f61315a6001600160a01b03841683613296565b905080515f1415801561317e57508080602001905181019061317c9190613910565b155b15612bef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6131bc8989888888613268565b90506131cc866119b6898b613496565b9750878110156131e2575f80925092505061313b565b8781036131f0818688612b43565b9050670de0b6b3a7640000811061321d576132166130e9670de0b6b3a764000089612615565b9050613235565b6132326130e9670de0b6b3a764000089612629565b90505b61323f8186612615565b9050808a1015613256575f8093509350505061313b565b90980398600198509650505050505050565b5f61327385856125a6565b61328c613284866119b6868b6124ab565b859085612b43565b6124029190613496565b606061157d83835f845f80856001600160a01b031684866040516132ba919061392b565b5f6040518083038185875af1925050503d805f81146132f4576040519150601f19603f3d011682016040523d82523d5f602084013e6132f9565b606091505b509150915061260b8683836060826133195761331482613360565b61157d565b815115801561333057506001600160a01b0384163b155b1561335957604051639996b31560e01b81526001600160a01b03851660048201526024016131a3565b508061157d565b8051156133705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061339d6133d3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561343b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613466575f80fd5b850160608188031215613477575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613482565b8181035f83128015838313168383128216171561259f5761259f613482565b6001600160a01b0381168114610591575f80fd5b5f602082840312156134ec575f80fd5b813561157d816134c8565b8015158114610591575f80fd5b5f60208284031215613514575f80fd5b813561157d816134f7565b5f808335601e19843603018112613534575f80fd5b83018035915067ffffffffffffffff82111561354e575f80fd5b602001915036819003821315612c38575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6135c360e083018486613562565b9a9950505050505050505050565b8082018281125f8312801582168215821617156135f0576135f0613482565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61362b60c083018486613562565b9998505050505050505050565b8181038181111561131b5761131b613482565b6001600160701b0381811683821601908082111561259f5761259f613482565b6001600160801b0381811683821601908082111561259f5761259f613482565b5f6020828403121561369b575f80fd5b815161157d816134c8565b808202811582820484141761131b5761131b613482565b6001600160801b0382811682821603908082111561259f5761259f613482565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613482565b634e487b7160e01b5f52601260045260245ffd5b5f8261372c5761372c61370a565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137c2828551613731565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613835575f80fd5b505080516020909101519092909150565b5f600160ff1b820161385a5761385a613482565b505f0390565b610180810161131b8284613731565b5f8060408385031215613880575f80fd5b825191506020830151613892816134f7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826138bf576138bf61370a565b600160ff1b82145f19841416156138d8576138d8613482565b500590565b5f805f80608085870312156138f0575f80fd5b8451935060208501519250604085015191506060850151613477816134f7565b5f60208284031215613920575f80fd5b815161157d816134f7565b5f82515f5b8181101561394a5760208186018101518583015201613930565b505f92019182525091905056fea26469706673582212200bbb33ae0b759a7054d31ea526e720fee72a9c86c609543d763cfc662221537a64736f6c63430008160033a2646970667358221220eea69ab4542df2a4ebdf329726f5e2ff19b958d58bd3d975076804cd97a3250764736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts deleted file mode 100644 index d489eb1f5..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts +++ /dev/null @@ -1,810 +0,0 @@ -export declare const StkWellTarget2: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "openLong"; - readonly inputs: readonly [{ - readonly name: "_amount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShort"; - readonly inputs: readonly [{ - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumSharePrice"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d"; - readonly "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070"; - }; -}; -//# sourceMappingURL=StkWellTarget2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts.map deleted file mode 100644 index 460dc6e2e..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget2.d.ts","sourceRoot":"","sources":["../src/StkWellTarget2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2+BqyhC,KAAK,MAAM,EAAE;;;;;CAK50hC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2.js b/packages/hyperdrive-artifacts/dist/StkWellTarget2.js deleted file mode 100644 index 44a2da80d..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2.js +++ /dev/null @@ -1,1009 +0,0 @@ -export const StkWellTarget2 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "openLong", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShort", - "inputs": [ - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumSharePrice", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004196380380620041968339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613cfd620004995f395f50505f50505f610c2801525f50505f818160f9015281816103020152612d6501525f81816114c201528181611ced01528181611d50015281816124d7015281816129550152818161299101528181612b820152612d3f01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d1901525f61191701525f8181611a38015281816125c8015281816126400152612e7d01525f81816109a301528181610e370152818161141501528181611a0c015261261401525f8181610e16015281816125940152612e3901525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d8b01525f81816101d301528181610396015281816108e1015261340401525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161168b01528181611702015261177d01525f818161165e01526116bf0152613cfd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613798565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613798565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613806565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613806565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61382d565b8b611217565b8d8a8a898e8561023e602083018361382d565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613855565b8961028960408a018a613870565b60405161029c97969594939291906138db565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613806565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613806565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613806565b9350505f61042784898d61146b565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b8961149c565b5f6104706002886111e3565b90508c61048a82610484602084018461382d565b85611217565b858b868461049b602086018661382d565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613855565b6104ec896104e68a8d61391b565b90610683565b8d6104fa60408e018e613870565b60405161050e98979695949392919061392e565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361382d565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613855565b156105ea576105e0856105db6040870187613870565b61164f565b9093509050610602565b5034610602856105fd6040870187613870565b611770565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117aa565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117c5565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613806565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16117da565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b92505b5061083883611819565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61391b565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613806565b4290611846565b84610f13565b6108d58861185a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61391b565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119f7565b915091508060095f8282546109729190613806565b9091555061098d9050865f8461098781611ac4565b88611aed565b6109978183613806565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c64565b91506109db6109d68385610683565b611cad565b600680546002906109fc9084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611819565b60068054601090610a4b908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119f7565b915091508060095f828254610abe9190613806565b90915550610ad99050835f84610ad381611ac4565b8a611cd6565b610ae3818361391b565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611819565b60068054601090610b62908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611ac4565b610ba483611ac4565b610bae91906139b5565b5f611ec6565b8e610bbf8482611f05565b50505b5f610bcc846120f4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906139d4565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612236565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416117da565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122bc565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122e7565b61234b565b15610e6d57610e6d61238c565b610e79878588856123a5565b91965094509250670de0b6b3a7640000610efb610e968784613806565b600254610eb4908890600160801b90046001600160801b031661391b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b1115610f0957610f0961238c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611819565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661391b565b610fb991906139ef565b85670de0b6b3a7640000610fcd878a61391b565b610fd791906139ef565b8592919060016123ed565b611819565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611819565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866139ef565b6005546001600160801b031691908860016123ed565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611819565b600280545f906110d19084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611819565b60028054601090611120908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611819565b6111579082613995565b600380546001600160801b03808416600160801b02911617905590505f61117d83612491565b905061119b8161118c87611ac4565b6111969084613a26565b611ec6565b6111a4846124d1565b6111b0576111b061238c565b5f6111ba85612530565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613806565b90915550505f838152600b60205260408120805483929061126a908490613806565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6117da565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061253c565b93508761134d858961255c565b111561135b5761135b61238c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b93506113d58a670de0b6b3a7640000868c612570565b509193509091506113e89050818361391b565b6113f2908761391b565b95508861143f816114398d611407868c61391b565b8d611412878261267c565b877f0000000000000000000000000000000000000000000000000000000000000000612691565b9061255c565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126b1565b5f8161069a565b5f61147c6040830160208401613855565b15611488575082611495565b61149284846126d4565b90505b9392505050565b6002546001600160801b0316838110156114b8576114b861238c565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114f0908390600f0b6126e8565b10156114fe576114fe61238c565b60045461154890610fe290600160801b90046001600160801b031661152b670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908960016123ed565b600580546001600160801b03928316600160801b02921691909117905561156e81611819565b600280546001600160801b0319166001600160801b039290921691909117905561159785611819565b600280546010906115b9908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115e685611819565b60048054601090611608908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61163683612491565b905061119b8161164588611ac4565b61119690846139b5565b5f806116866001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308861270d565b6116e67f00000000000000000000000000000000000000000000000000000000000000006116b5876001613806565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061277a565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b15801561174b575f80fd5b505af115801561175d573d5f803e3d5ffd5b508794505f93505050505b935093915050565b6117a56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661270d565b505050565b5f825f1904841183021582026117be575f80fd5b5091020490565b5f6117d08284613a61565b610697908461391b565b6002546004545f916106cb916001600160801b0390911690600f0b6126e8565b5f6118108261180a8588886117aa565b90612809565b95945050505050565b5f6001600160801b0382111561184257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118545782610697565b50919050565b6006545f90819061187c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119f2575f6118a5838361391b565b90506118b4610fe28286611450565b600680546010906118d6908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61190e85836126d490919063ffffffff16565b90505f61193b827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461194e9190613806565b9091555061195e9050818361391b565b915061196982611819565b600280545f906119839084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119b08261286e565b600480545f906119c4908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a0387856126d4565b91505f611a30837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a5c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a7f57611a6e828261391b565b611a78908461391b565b9250611a96565b611a89828261391b565b611a939084613806565b92505b86861015611ab957611aa98387896117aa565b9250611ab68287896117aa565b91505b509550959350505050565b5f6001600160ff1b038211156118425760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b35610fe282611b19670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908a5f6123ed565b600580546001600160801b03928316600160801b029216919091179055611b5b86611819565b611b659082613a06565b600480546001600160801b03928316600160801b029216919091179055611b8b84611819565b600280545f90611ba59084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd283612897565b600480545f90611be6908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c1685611819565b60028054601090611c38908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c7b84611c758a888a6117aa565b906126d4565b9050611c888884866117aa565b611c929082613806565b905086811115611ca25786810391505b509695505050505050565b5f6001600160701b038211156118425760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d1857507f0000000000000000000000000000000000000000000000000000000000000000611d16858361391b565b105b15611d2557611d2561238c565b6004549084900390600f0b611d3a84826139b5565b905083611d4686611ac4565b138015611d7b57507f0000000000000000000000000000000000000000000000000000000000000000611d7983836126e8565b105b15611d8857611d8861238c565b600354600160801b90046001600160801b0316611dc9610fe282611db4670de0b6b3a7640000886139ef565b6005546001600160801b031691908c5f6123ed565b600580546001600160801b0319166001600160801b0392909216919091179055611df3888261391b565b9050611dfe81611819565b600380546001600160801b03928316600160801b029216919091179055611e2483611819565b600280546001600160801b0319166001600160801b0392909216919091179055611e4d82612897565b600480546001600160801b0319166001600160801b0392909216919091179055611e7687611819565b60028054601090611e98908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ee190610fe2906001600160801b031684846128d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f4f916001600160801b03169061391b565b9050805f03611f6257600191505061069a565b5f611f6c85612934565b9050805f03611f805760019250505061069a565b5f80611f8d8385896129cf565b9150915080611fa2575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fdd929190613b1f565b6040805180830381865af4158015611ff7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201b9190613b94565b9150915061203961202b82611ac4565b61203490613bb6565b612b3c565b92508261204e575f965050505050505061069a565b61205782611819565b600780545f906120719084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061209e81611819565b600780546010906120c0908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61211b87612cd0565b6040518263ffffffff1660e01b81526004016121379190613bd0565b6040805180830381865af4158015612151573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121759190613bdf565b915091508061218a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121ef91613806565b6121f9919061391b565b9050805f0361220f57505f958695509350505050565b5f80871161221d575f612228565b6122288488846117aa565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561225957612259613c0d565b6040519080825280601f01601f191660200182016040528015612283576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122a3578692505b828152825f602083013e90999098509650505050505050565b5f6122dc8787876122d588670de0b6b3a764000061391b565b8787612e0a565b979650505050505050565b5f61149261232761230084670de0b6b3a764000061391b565b611439670de0b6b3a7640000612316818a611450565b612320919061391b565b879061255c565b61233990670de0b6b3a7640000613806565b611c7584670de0b6b3a764000061391b565b5f80612381856123596117da565b6123639190613806565b600254610eb4908790600160801b90046001600160801b031661391b565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123b5898789612e2c565b90925090506123c4828961391b565b97505f6123d282888a6117aa565b90506123de818b61391b565b9a989950979650505050505050565b5f825f036123fc575084611810565b811561244e5761242d61240f8487613806565b6124198587610683565b612423888a610683565b611c759190613806565b90505f61243a8588611846565b905080821015612448578091505b50611810565b82850361245c57505f611810565b612487612469848761391b565b612473858761255c565b61247d888a610683565b611c75919061391b565b9695505050505050565b5f6124b6600b5f6124a36002866111e3565b81526020019081526020015f2054611ac4565b6124c7600b5f6124a36001876111e3565b61069a91906139b5565b5f6124fc7f00000000000000000000000000000000000000000000000000000000000000008361255c565b60035461251291906001600160801b0316613806565b600254612528906001600160801b031684610683565b101592915050565b5f61069a826004611f05565b5f6122dc87878761255588670de0b6b3a764000061391b565b8787612eab565b5f6106978383670de0b6b3a76400006126b1565b5f8080806125c087866125b98b6114396125928c670de0b6b3a764000061391b565b7f00000000000000000000000000000000000000000000000000000000000000009061255c565b91906126b1565b93506125ec847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61260c61260489670de0b6b3a764000061391b565b8a90886126b1565b9050612638817f000000000000000000000000000000000000000000000000000000000000000061255c565b9350612664847f0000000000000000000000000000000000000000000000000000000000000000610683565b61266e9084613806565b915050945094509450949050565b5f81831161268a5781610697565b5090919050565b5f806126a8846126a28a888a6126b1565b90611450565b9050611c888884865b5f825f1904841183021582026126c5575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117aa565b5f806126f48484612ebb565b9092509050806127065761270661238c565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127749186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612ef3565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526127cb8482612f59565b612774576040516001600160a01b0384811660248301525f60448301526127ff91869182169063095ea7b390606401612742565b6127748482612ef3565b5f815f036128205750670de0b6b3a764000061069a565b825f0361282e57505f61069a565b5f61283883611ac4565b90505f61284c61284786611ac4565b612ff6565b9050818102612863670de0b6b3a764000082613c21565b90506124878161321b565b5f60016001607f1b038211156118425760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b4575060016001607f1b0382135b156118425760405163a5353be560e01b815260040160405180910390fd5b5f806128de845f6133ad565b6128e8845f6133ad565b6128f291906139b5565b90505f81131561290d576129068186613806565b945061292b565b5f81121561292b5761291e81613bb6565b612928908661391b565b94505b50929392505050565b6003545f90819061294e906001600160801b031684611450565b905061297a7f000000000000000000000000000000000000000000000000000000000000000082613806565b6002546001600160801b03161115611854576002547f0000000000000000000000000000000000000000000000000000000000000000906129c59083906001600160801b031661391b565b611495919061391b565b6129d76136f9565b5f806129e284612cd0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a1c9190613bd0565b6040805180830381865af4158015612a36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5a9190613bdf565b9350905082612a6e57505f91506117689050565b5f612a94612a8f84610160015185610140015161068390919063ffffffff16565b611ac4565b612ab4612a8f85610120015186610100015161255c90919063ffffffff16565b612abe91906139b5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c169190613c4d565b935093509350935080612c3157505f98975050505050505050565b868414612c6257612c4184611819565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9357612c7283612897565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612cc157612ca382611819565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cd8613743565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612dd091166133bb565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e02929004166133bb565b905292915050565b5f80612e1a88888888888861342f565b909250905080611ca257611ca261238c565b5f80612e758561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e6b818c611450565b611439919061391b565b9150612ea1827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e1a8888888888886134f3565b5f805f83612ec886611ac4565b612ed291906139b5565b90505f811215612ee8575f80925092505061067c565b946001945092505050565b5f612f076001600160a01b038416836135af565b905080515f14158015612f2b575080806020019051810190612f299190613c80565b155b156117a557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b031684604051612f749190613c9b565b5f604051808303815f865af19150503d805f8114612fad576040519150601f19603f3d011682016040523d82523d5f602084013e612fb2565b606091505b5091509150818015612fdc575080511580612fdc575080806020019051810190612fdc9190613c80565b80156118105750505050506001600160a01b03163b151590565b5f8082136130175760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309a9084901c611ac4565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323457505f919050565b680755bf798b4a1bf1e5821261325d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061248774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ac4565b5f81831361268a5781610697565b5f80670de0b6b3a76400006133ce6106a0565b6133d891906139ef565b90508083116133e7575f6133f1565b6133f1818461391b565b9150611495613428670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139ef565b83906126d4565b5f805f61343f89898888886135bc565b90506134598661180a6134528a8d613806565b8790610683565b9850613466858a866117aa565b98508881101561347c575f8092509250506134e8565b888103670de0b6b3a764000081106134b1576134aa6134a3670de0b6b3a764000089611450565b8290612809565b90506134c9565b6134c66134a3670de0b6b3a7640000896126d4565b90505b808910156134de575f809350935050506134e8565b8803925060019150505b965096945050505050565b5f805f61350389898888886135bc565b90506135138661180a898b613806565b975087811015613529575f8092509250506134e8565b8781036135378186886126b1565b9050670de0b6b3a764000081106135645761355d6134a3670de0b6b3a764000089611450565b905061357c565b6135796134a3670de0b6b3a7640000896126d4565b90505b6135868186611450565b9050808a101561359d575f809350935050506134e8565b90980398600198509650505050505050565b606061069783835f6135ea565b5f6135c78585612809565b6135e06135d88661180a868b61255c565b8590856126b1565b6124879190613806565b60608147101561360f5760405163cd78605960e01b8152306004820152602401612f50565b5f80856001600160a01b0316848660405161362a9190613c9b565b5f6040518083038185875af1925050503d805f8114613664576040519150601f19603f3d011682016040523d82523d5f602084013e613669565b606091505b509150915061248786838360608261368957613684826136d0565b611495565b81511580156136a057506001600160a01b0384163b155b156136c957604051639996b31560e01b81526001600160a01b0385166004820152602401612f50565b5080611495565b8051156136e05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061370d613743565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137ab575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156137d6575f80fd5b8501606081880312156137e7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6137f2565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561383d575f80fd5b813561149581613819565b80151581146105af575f80fd5b5f60208284031215613865575f80fd5b813561149581613848565b5f808335601e19843603018112613885575f80fd5b83018035915067ffffffffffffffff82111561389f575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61390e60c0830184866138b3565b9998505050505050505050565b8181038181111561069a5761069a6137f2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61396760e0830184866138b3565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612706576127066137f2565b6001600160801b03818116838216019080821115612706576127066137f2565b8181035f831280158383131683831282161715612706576127066137f2565b5f602082840312156139e4575f80fd5b815161149581613819565b808202811582820484141761069a5761069a6137f2565b6001600160801b03828116828216039080821115612706576127066137f2565b8082018281125f831280158216821582161715613a4557613a456137f2565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6f57613a6f613a4d565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6137f2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b32828551613aa1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137f2565b505f0390565b610180810161069a8284613aa1565b5f8060408385031215613bf0575f80fd5b825191506020830151613c0281613848565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c2f57613c2f613a4d565b600160ff1b82145f1984141615613c4857613c486137f2565b500590565b5f805f8060808587031215613c60575f80fd5b84519350602085015192506040850151915060608501516137e781613848565b5f60208284031215613c90575f80fd5b815161149581613848565b5f82515f5b81811015613cba5760208186018101518583015201613ca0565b505f92019182525091905056fea26469706673582212202f3840ca9d2d251a546a9a39da85edafecb5271f52281acf5358c2b703b8b7fb64736f6c63430008160033', - methodIdentifiers: { - "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", - "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts deleted file mode 100644 index 8fa9d2b29..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StkWellTarget2Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StkWellTarget2Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts.map deleted file mode 100644 index d0f153255..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget2Deployer.d.ts","sourceRoot":"","sources":["../src/StkWellTarget2Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6IuwmC,KAAK,MAAM,EAAE;;;;CAItzmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.js b/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.js deleted file mode 100644 index 142843835..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget2Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StkWellTarget2Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061466e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614196806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004196380380620041968339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613cfd620004995f395f50505f50505f610c2801525f50505f818160f9015281816103020152612d6501525f81816114c201528181611ced01528181611d50015281816124d7015281816129550152818161299101528181612b820152612d3f01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d1901525f61191701525f8181611a38015281816125c8015281816126400152612e7d01525f81816109a301528181610e370152818161141501528181611a0c015261261401525f8181610e16015281816125940152612e3901525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d8b01525f81816101d301528181610396015281816108e1015261340401525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161168b01528181611702015261177d01525f818161165e01526116bf0152613cfd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613798565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613798565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613806565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613806565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61382d565b8b611217565b8d8a8a898e8561023e602083018361382d565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613855565b8961028960408a018a613870565b60405161029c97969594939291906138db565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613806565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613806565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613806565b9350505f61042784898d61146b565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b8961149c565b5f6104706002886111e3565b90508c61048a82610484602084018461382d565b85611217565b858b868461049b602086018661382d565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613855565b6104ec896104e68a8d61391b565b90610683565b8d6104fa60408e018e613870565b60405161050e98979695949392919061392e565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361382d565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613855565b156105ea576105e0856105db6040870187613870565b61164f565b9093509050610602565b5034610602856105fd6040870187613870565b611770565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117aa565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117c5565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613806565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16117da565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b92505b5061083883611819565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61391b565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613806565b4290611846565b84610f13565b6108d58861185a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61391b565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119f7565b915091508060095f8282546109729190613806565b9091555061098d9050865f8461098781611ac4565b88611aed565b6109978183613806565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c64565b91506109db6109d68385610683565b611cad565b600680546002906109fc9084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611819565b60068054601090610a4b908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119f7565b915091508060095f828254610abe9190613806565b90915550610ad99050835f84610ad381611ac4565b8a611cd6565b610ae3818361391b565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611819565b60068054601090610b62908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611ac4565b610ba483611ac4565b610bae91906139b5565b5f611ec6565b8e610bbf8482611f05565b50505b5f610bcc846120f4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906139d4565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612236565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416117da565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122bc565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122e7565b61234b565b15610e6d57610e6d61238c565b610e79878588856123a5565b91965094509250670de0b6b3a7640000610efb610e968784613806565b600254610eb4908890600160801b90046001600160801b031661391b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b1115610f0957610f0961238c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611819565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661391b565b610fb991906139ef565b85670de0b6b3a7640000610fcd878a61391b565b610fd791906139ef565b8592919060016123ed565b611819565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611819565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866139ef565b6005546001600160801b031691908860016123ed565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611819565b600280545f906110d19084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611819565b60028054601090611120908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611819565b6111579082613995565b600380546001600160801b03808416600160801b02911617905590505f61117d83612491565b905061119b8161118c87611ac4565b6111969084613a26565b611ec6565b6111a4846124d1565b6111b0576111b061238c565b5f6111ba85612530565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613806565b90915550505f838152600b60205260408120805483929061126a908490613806565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6117da565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061253c565b93508761134d858961255c565b111561135b5761135b61238c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b93506113d58a670de0b6b3a7640000868c612570565b509193509091506113e89050818361391b565b6113f2908761391b565b95508861143f816114398d611407868c61391b565b8d611412878261267c565b877f0000000000000000000000000000000000000000000000000000000000000000612691565b9061255c565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126b1565b5f8161069a565b5f61147c6040830160208401613855565b15611488575082611495565b61149284846126d4565b90505b9392505050565b6002546001600160801b0316838110156114b8576114b861238c565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114f0908390600f0b6126e8565b10156114fe576114fe61238c565b60045461154890610fe290600160801b90046001600160801b031661152b670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908960016123ed565b600580546001600160801b03928316600160801b02921691909117905561156e81611819565b600280546001600160801b0319166001600160801b039290921691909117905561159785611819565b600280546010906115b9908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115e685611819565b60048054601090611608908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61163683612491565b905061119b8161164588611ac4565b61119690846139b5565b5f806116866001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308861270d565b6116e67f00000000000000000000000000000000000000000000000000000000000000006116b5876001613806565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061277a565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b15801561174b575f80fd5b505af115801561175d573d5f803e3d5ffd5b508794505f93505050505b935093915050565b6117a56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661270d565b505050565b5f825f1904841183021582026117be575f80fd5b5091020490565b5f6117d08284613a61565b610697908461391b565b6002546004545f916106cb916001600160801b0390911690600f0b6126e8565b5f6118108261180a8588886117aa565b90612809565b95945050505050565b5f6001600160801b0382111561184257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118545782610697565b50919050565b6006545f90819061187c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119f2575f6118a5838361391b565b90506118b4610fe28286611450565b600680546010906118d6908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61190e85836126d490919063ffffffff16565b90505f61193b827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461194e9190613806565b9091555061195e9050818361391b565b915061196982611819565b600280545f906119839084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119b08261286e565b600480545f906119c4908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a0387856126d4565b91505f611a30837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a5c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a7f57611a6e828261391b565b611a78908461391b565b9250611a96565b611a89828261391b565b611a939084613806565b92505b86861015611ab957611aa98387896117aa565b9250611ab68287896117aa565b91505b509550959350505050565b5f6001600160ff1b038211156118425760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b35610fe282611b19670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908a5f6123ed565b600580546001600160801b03928316600160801b029216919091179055611b5b86611819565b611b659082613a06565b600480546001600160801b03928316600160801b029216919091179055611b8b84611819565b600280545f90611ba59084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd283612897565b600480545f90611be6908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c1685611819565b60028054601090611c38908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c7b84611c758a888a6117aa565b906126d4565b9050611c888884866117aa565b611c929082613806565b905086811115611ca25786810391505b509695505050505050565b5f6001600160701b038211156118425760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d1857507f0000000000000000000000000000000000000000000000000000000000000000611d16858361391b565b105b15611d2557611d2561238c565b6004549084900390600f0b611d3a84826139b5565b905083611d4686611ac4565b138015611d7b57507f0000000000000000000000000000000000000000000000000000000000000000611d7983836126e8565b105b15611d8857611d8861238c565b600354600160801b90046001600160801b0316611dc9610fe282611db4670de0b6b3a7640000886139ef565b6005546001600160801b031691908c5f6123ed565b600580546001600160801b0319166001600160801b0392909216919091179055611df3888261391b565b9050611dfe81611819565b600380546001600160801b03928316600160801b029216919091179055611e2483611819565b600280546001600160801b0319166001600160801b0392909216919091179055611e4d82612897565b600480546001600160801b0319166001600160801b0392909216919091179055611e7687611819565b60028054601090611e98908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ee190610fe2906001600160801b031684846128d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f4f916001600160801b03169061391b565b9050805f03611f6257600191505061069a565b5f611f6c85612934565b9050805f03611f805760019250505061069a565b5f80611f8d8385896129cf565b9150915080611fa2575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fdd929190613b1f565b6040805180830381865af4158015611ff7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201b9190613b94565b9150915061203961202b82611ac4565b61203490613bb6565b612b3c565b92508261204e575f965050505050505061069a565b61205782611819565b600780545f906120719084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061209e81611819565b600780546010906120c0908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61211b87612cd0565b6040518263ffffffff1660e01b81526004016121379190613bd0565b6040805180830381865af4158015612151573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121759190613bdf565b915091508061218a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121ef91613806565b6121f9919061391b565b9050805f0361220f57505f958695509350505050565b5f80871161221d575f612228565b6122288488846117aa565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561225957612259613c0d565b6040519080825280601f01601f191660200182016040528015612283576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122a3578692505b828152825f602083013e90999098509650505050505050565b5f6122dc8787876122d588670de0b6b3a764000061391b565b8787612e0a565b979650505050505050565b5f61149261232761230084670de0b6b3a764000061391b565b611439670de0b6b3a7640000612316818a611450565b612320919061391b565b879061255c565b61233990670de0b6b3a7640000613806565b611c7584670de0b6b3a764000061391b565b5f80612381856123596117da565b6123639190613806565b600254610eb4908790600160801b90046001600160801b031661391b565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123b5898789612e2c565b90925090506123c4828961391b565b97505f6123d282888a6117aa565b90506123de818b61391b565b9a989950979650505050505050565b5f825f036123fc575084611810565b811561244e5761242d61240f8487613806565b6124198587610683565b612423888a610683565b611c759190613806565b90505f61243a8588611846565b905080821015612448578091505b50611810565b82850361245c57505f611810565b612487612469848761391b565b612473858761255c565b61247d888a610683565b611c75919061391b565b9695505050505050565b5f6124b6600b5f6124a36002866111e3565b81526020019081526020015f2054611ac4565b6124c7600b5f6124a36001876111e3565b61069a91906139b5565b5f6124fc7f00000000000000000000000000000000000000000000000000000000000000008361255c565b60035461251291906001600160801b0316613806565b600254612528906001600160801b031684610683565b101592915050565b5f61069a826004611f05565b5f6122dc87878761255588670de0b6b3a764000061391b565b8787612eab565b5f6106978383670de0b6b3a76400006126b1565b5f8080806125c087866125b98b6114396125928c670de0b6b3a764000061391b565b7f00000000000000000000000000000000000000000000000000000000000000009061255c565b91906126b1565b93506125ec847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61260c61260489670de0b6b3a764000061391b565b8a90886126b1565b9050612638817f000000000000000000000000000000000000000000000000000000000000000061255c565b9350612664847f0000000000000000000000000000000000000000000000000000000000000000610683565b61266e9084613806565b915050945094509450949050565b5f81831161268a5781610697565b5090919050565b5f806126a8846126a28a888a6126b1565b90611450565b9050611c888884865b5f825f1904841183021582026126c5575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117aa565b5f806126f48484612ebb565b9092509050806127065761270661238c565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127749186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612ef3565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526127cb8482612f59565b612774576040516001600160a01b0384811660248301525f60448301526127ff91869182169063095ea7b390606401612742565b6127748482612ef3565b5f815f036128205750670de0b6b3a764000061069a565b825f0361282e57505f61069a565b5f61283883611ac4565b90505f61284c61284786611ac4565b612ff6565b9050818102612863670de0b6b3a764000082613c21565b90506124878161321b565b5f60016001607f1b038211156118425760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b4575060016001607f1b0382135b156118425760405163a5353be560e01b815260040160405180910390fd5b5f806128de845f6133ad565b6128e8845f6133ad565b6128f291906139b5565b90505f81131561290d576129068186613806565b945061292b565b5f81121561292b5761291e81613bb6565b612928908661391b565b94505b50929392505050565b6003545f90819061294e906001600160801b031684611450565b905061297a7f000000000000000000000000000000000000000000000000000000000000000082613806565b6002546001600160801b03161115611854576002547f0000000000000000000000000000000000000000000000000000000000000000906129c59083906001600160801b031661391b565b611495919061391b565b6129d76136f9565b5f806129e284612cd0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a1c9190613bd0565b6040805180830381865af4158015612a36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5a9190613bdf565b9350905082612a6e57505f91506117689050565b5f612a94612a8f84610160015185610140015161068390919063ffffffff16565b611ac4565b612ab4612a8f85610120015186610100015161255c90919063ffffffff16565b612abe91906139b5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c169190613c4d565b935093509350935080612c3157505f98975050505050505050565b868414612c6257612c4184611819565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9357612c7283612897565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612cc157612ca382611819565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cd8613743565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612dd091166133bb565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e02929004166133bb565b905292915050565b5f80612e1a88888888888861342f565b909250905080611ca257611ca261238c565b5f80612e758561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e6b818c611450565b611439919061391b565b9150612ea1827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e1a8888888888886134f3565b5f805f83612ec886611ac4565b612ed291906139b5565b90505f811215612ee8575f80925092505061067c565b946001945092505050565b5f612f076001600160a01b038416836135af565b905080515f14158015612f2b575080806020019051810190612f299190613c80565b155b156117a557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b031684604051612f749190613c9b565b5f604051808303815f865af19150503d805f8114612fad576040519150601f19603f3d011682016040523d82523d5f602084013e612fb2565b606091505b5091509150818015612fdc575080511580612fdc575080806020019051810190612fdc9190613c80565b80156118105750505050506001600160a01b03163b151590565b5f8082136130175760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309a9084901c611ac4565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323457505f919050565b680755bf798b4a1bf1e5821261325d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061248774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ac4565b5f81831361268a5781610697565b5f80670de0b6b3a76400006133ce6106a0565b6133d891906139ef565b90508083116133e7575f6133f1565b6133f1818461391b565b9150611495613428670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139ef565b83906126d4565b5f805f61343f89898888886135bc565b90506134598661180a6134528a8d613806565b8790610683565b9850613466858a866117aa565b98508881101561347c575f8092509250506134e8565b888103670de0b6b3a764000081106134b1576134aa6134a3670de0b6b3a764000089611450565b8290612809565b90506134c9565b6134c66134a3670de0b6b3a7640000896126d4565b90505b808910156134de575f809350935050506134e8565b8803925060019150505b965096945050505050565b5f805f61350389898888886135bc565b90506135138661180a898b613806565b975087811015613529575f8092509250506134e8565b8781036135378186886126b1565b9050670de0b6b3a764000081106135645761355d6134a3670de0b6b3a764000089611450565b905061357c565b6135796134a3670de0b6b3a7640000896126d4565b90505b6135868186611450565b9050808a101561359d575f809350935050506134e8565b90980398600198509650505050505050565b606061069783835f6135ea565b5f6135c78585612809565b6135e06135d88661180a868b61255c565b8590856126b1565b6124879190613806565b60608147101561360f5760405163cd78605960e01b8152306004820152602401612f50565b5f80856001600160a01b0316848660405161362a9190613c9b565b5f6040518083038185875af1925050503d805f8114613664576040519150601f19603f3d011682016040523d82523d5f602084013e613669565b606091505b509150915061248786838360608261368957613684826136d0565b611495565b81511580156136a057506001600160a01b0384163b155b156136c957604051639996b31560e01b81526001600160a01b0385166004820152602401612f50565b5080611495565b8051156136e05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061370d613743565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137ab575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156137d6575f80fd5b8501606081880312156137e7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6137f2565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561383d575f80fd5b813561149581613819565b80151581146105af575f80fd5b5f60208284031215613865575f80fd5b813561149581613848565b5f808335601e19843603018112613885575f80fd5b83018035915067ffffffffffffffff82111561389f575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61390e60c0830184866138b3565b9998505050505050505050565b8181038181111561069a5761069a6137f2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61396760e0830184866138b3565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612706576127066137f2565b6001600160801b03818116838216019080821115612706576127066137f2565b8181035f831280158383131683831282161715612706576127066137f2565b5f602082840312156139e4575f80fd5b815161149581613819565b808202811582820484141761069a5761069a6137f2565b6001600160801b03828116828216039080821115612706576127066137f2565b8082018281125f831280158216821582161715613a4557613a456137f2565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6f57613a6f613a4d565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6137f2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b32828551613aa1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137f2565b505f0390565b610180810161069a8284613aa1565b5f8060408385031215613bf0575f80fd5b825191506020830151613c0281613848565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c2f57613c2f613a4d565b600160ff1b82145f1984141615613c4857613c486137f2565b500590565b5f805f8060808587031215613c60575f80fd5b84519350602085015192506040850151915060608501516137e781613848565b5f60208284031215613c90575f80fd5b815161149581613848565b5f82515f5b81811015613cba5760208186018101518583015201613ca0565b505f92019182525091905056fea26469706673582212202f3840ca9d2d251a546a9a39da85edafecb5271f52281acf5358c2b703b8b7fb64736f6c63430008160033a2646970667358221220ee671d51aafb887f4f7b33a56fcd9256ed56e88cc666cb3689e4c98fe5cd8e4664736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts deleted file mode 100644 index 31ead4c52..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts +++ /dev/null @@ -1,826 +0,0 @@ -export declare const StkWellTarget3: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addLiquidity"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "initialize"; - readonly inputs: readonly [{ - readonly name: "_contribution"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_apr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "BelowMinimumContribution"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "CircuitBreakerTriggered"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DecreasedPresentValueWhenAddingLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "DistributeExcessIdleFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidApr"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidEffectiveShareReserves"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolAlreadyInitialized"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "PoolIsPaused"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UpdateLiquidityFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9"; - readonly "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4"; - }; -}; -//# sourceMappingURL=StkWellTarget3.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts.map deleted file mode 100644 index 377eda799..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget3.d.ts","sourceRoot":"","sources":["../src/StkWellTarget3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+/B2ihC,KAAK,MAAM,EAAE;;;;;CAKllhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3.js b/packages/hyperdrive-artifacts/dist/StkWellTarget3.js deleted file mode 100644 index 3ebec8d48..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3.js +++ /dev/null @@ -1,1029 +0,0 @@ -export const StkWellTarget3 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addLiquidity", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_contribution", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_apr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "BelowMinimumContribution", - "inputs": [] - }, - { - "type": "error", - "name": "CircuitBreakerTriggered", - "inputs": [] - }, - { - "type": "error", - "name": "DecreasedPresentValueWhenAddingLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "DistributeExcessIdleFailed", - "inputs": [] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidApr", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidEffectiveShareReserves", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAlreadyInitialized", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsPaused", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UpdateLiquidityFailed", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162004119380380620041198339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c6f620004aa5f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120c101528181612124015281816129cd01528181612d9e0152612dda01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cd201525f8181611e27015261302901525f81816110260152611dfb01525f612fdf01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261296301525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f8181611988015281816119ff0152611a7a01525f818161195b01526119bc0152613c6f5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046136c8565b610064565b60405190815260200160405180910390f35b61003f61005f366004613727565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613787565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961379a565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613787565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261379a565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061379a565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613787565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161382b565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061383a565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161382b565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061383a565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761379a565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613865565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613787565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613865565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161388d565b866107a960408c018c6138a8565b6040516107bc97969594939291906138eb565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261393e565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613955565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613865565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613865565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161388d565b87610b5e60408901896138a8565b604051610b7197969594939291906138eb565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613865565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161388d565b15610c8f57610c8585610c8060408701876138a8565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138a8565b611a6d565b610caf611aa7565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ab9565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613787565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61379a565b8a84611ace565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613787565b4290611c07565b84611ace565b610f5888611c15565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61379a565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611db2565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611de6565b915091508060095f828254610ff59190613787565b909155506110109050865f8461100a81611766565b88611eb3565b61101a8183613787565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061202a565b915061105e611059838561206d565b612081565b6006805460029061107f9084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611db2565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611de6565b915091508060095f8282546111419190613787565b9091555061115c9050835f8461115681611766565b8a6120aa565b611166818361379a565b9150611175611059838761206d565b600680546002906111969084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906139c0565b5f61229a565b8e61124284826122d9565b50505b5f61124f846124c8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906139df565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061260a565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611db2565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611db2565b6113f791906139c0565b92915050565b5f805f8061140b8a8a612692565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8b7f00000000000000000000000000000000000000000000000000000000000000006126ca565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8d7f0000000000000000000000000000000000000000000000000000000000000000612783565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461283d565b509093505f9050611568848f613787565b90505f6115888b8b61157987611766565b611583908e6139fa565b612885565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128e7565b611766565b6115c683611766565b6115d36115b8868561206d565b6115dd91906139c0565b6115e791906139c0565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128f7565b61162685670de0b6b3a764000061379a565b906117d4565b611634613619565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661291a565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661291a565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612987565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613787565b90915550505f838152600b60205260408120805483929061183b908490613787565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122d9565b5f8183136118a7578261008d565b50919050565b5f806118b98484612692565b9092509050806118cb576118cb612b1b565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b34565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612ba3565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613787565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c10565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b508794505f93505050505b935093915050565b611aa26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612ba3565b505050565b5f610c2d670de0b6b3a7640000612c9f565b5f611ac48284613a35565b61008d908461379a565b5f83815260086020526040902054600160801b90046001600160801b0316808303611af95750505050565b5f848152600860205260408120546001600160801b031690819003611b5157611b21836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bce565b611ba2611b9d670de0b6b3a7640000611b6a888661379a565b611b74919061393e565b85670de0b6b3a7640000611b88878a61379a565b611b92919061393e565b859291906001612ca6565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bd7846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c37908490600160801b90046001600160801b031661206d565b6006546201000090046001600160701b03169250905081811115611dad575f611c60838361379a565b9050611c6f611b9d8286612d40565b60068054601090611c91908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cc985836117d490919063ffffffff16565b90505f611cf6827f000000000000000000000000000000000000000000000000000000000000000061206d565b90508060095f828254611d099190613787565b90915550611d199050818361379a565b9150611d24826118d2565b600280545f90611d3e9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d6b82612d54565b600480545f90611d7f908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ddb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611df287856117d4565b91505f611e1f837f000000000000000000000000000000000000000000000000000000000000000061206d565b9050611e4b817f000000000000000000000000000000000000000000000000000000000000000061206d565b91508315611e6e57611e5d828261379a565b611e67908461379a565b9250611e85565b611e78828261379a565b611e829084613787565b92505b86861015611ea857611e988387896117b9565b9250611ea58287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611efb611b9d82611edf670de0b6b3a76400008661393e565b600554600160801b90046001600160801b031691908a5f612ca6565b600580546001600160801b03928316600160801b029216919091179055611f21866118d2565b611f2b9082613a48565b600480546001600160801b03928316600160801b029216919091179055611f51846118d2565b600280545f90611f6b9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f98836118fb565b600480545f90611fac908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fdc856118d2565b60028054601090611ffe908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061203b846116268a888a6117b9565b90506120488884866117b9565b6120529082613787565b9050868111156120625786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120ec57507f00000000000000000000000000000000000000000000000000000000000000006120ea858361379a565b105b156120f9576120f9612b1b565b6004549084900390600f0b61210e84826139c0565b90508361211a86611766565b13801561214f57507f000000000000000000000000000000000000000000000000000000000000000061214d83836118ad565b105b1561215c5761215c612b1b565b600354600160801b90046001600160801b031661219d611b9d82612188670de0b6b3a76400008861393e565b6005546001600160801b031691908c5f612ca6565b600580546001600160801b0319166001600160801b03929092169190911790556121c7888261379a565b90506121d2816118d2565b600380546001600160801b03928316600160801b0292169190911790556121f8836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612221826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561224a876118d2565b6002805460109061226c908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122b590611b9d906001600160801b03168484612885565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612323916001600160801b03169061379a565b9050805f036123365760019150506113f7565b5f61234085612d7d565b9050805f03612354576001925050506113f7565b5f80612361838589612e18565b9150915080612376575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123b1929190613a95565b6040805180830381865af41580156123cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ef9190613b0a565b9150915061240d6123ff82611766565b61240890613b2c565b612987565b925082612422575f96505050505050506113f7565b61242b826118d2565b600780545f906124459084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612472816118d2565b60078054601090612494908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ef8761162c565b6040518263ffffffff1660e01b815260040161250b919061382b565b6040805180830381865af4158015612525573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125499190613b46565b915091508061255e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125c391613787565b6125cd919061379a565b9050805f036125e357505f958695509350505050565b5f8087116125f1575f6125fc565b6125fc8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561262d5761262d613b74565b6040519080825280601f01601f191660200182016040528015612657576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612677578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361269f86611766565b6126a991906139c0565b90505f8112156126bf575f809250925050610d21565b946001945092505050565b5f805f6126da8888888888612f80565b90505f612704670de0b6b3a76400006126f38888612d40565b6126fd9190613787565b83906117d4565b9050670de0b6b3a764000081106127385761273161272a670de0b6b3a7640000896117d4565b8290612b34565b9050612750565b61274d61272a670de0b6b3a764000089612d40565b90505b61275a81866117d4565b905088811015612771575f80935093505050612688565b97909703976001975095505050505050565b5f805f6127938989888888612fae565b90506127ad866119466127a68a8d613787565b879061206d565b98506127ba858a866117b9565b9850888110156127d0575f8092509250506115f6565b888103670de0b6b3a764000081106127fe576127f761272a670de0b6b3a764000089612d40565b9050612816565b61281361272a670de0b6b3a7640000896117d4565b90505b8089101561282b575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61284d898789612fd2565b909250905061285c828961379a565b97505f61286a82888a6117b9565b9050612876818b61379a565b9a989950979650505050505050565b5f80612891845f613057565b61289b845f613057565b6128a591906139c0565b90505f8113156128c0576128b98186613787565b94506128de565b5f8112156128de576128d181613b2c565b6128db908661379a565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f19048411830215820261290b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061292d610d28565b612937919061393e565b9050808311612946575f612950565b612950818461379a565b915061008d6126fd670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061393e565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a619190613b88565b935093509350935080612a7c57505f98975050505050505050565b868414612aad57612a8c846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ade57612abd836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b0c57612aee826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b4b5750670de0b6b3a76400006113f7565b825f03612b5957505f6113f7565b5f612b6383611766565b90505f612b77612b7286611766565b61306c565b9050818102612b8e670de0b6b3a764000082613bc6565b9050612b9981613291565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c0a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613423565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c618482613489565b612c0a576040516001600160a01b0384811660248301525f6044830152612c9591869182169063095ea7b390606401612bd8565b612c0a8482613423565b5f816113f7565b5f825f03612cb5575084610075565b8115612d0757612ce6612cc88487613787565b612cd2858761206d565b612cdc888a61206d565b6116269190613787565b90505f612cf38588611c07565b905080821015612d01578091505b50610075565b828503612d1557505f610075565b610072612d22848761379a565b612d2c85876128e7565b612d36888a61206d565b611626919061379a565b5f61008d83670de0b6b3a7640000846128f7565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d97906001600160801b031684612d40565b9050612dc37f000000000000000000000000000000000000000000000000000000000000000082613787565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e0e9083906001600160801b031661379a565b61008d919061379a565b612e2061366e565b5f80612e2b8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e65919061382b565b6040805180830381865af4158015612e7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea39190613b46565b9350905082612eb757505f9150611a659050565b5f612ed86115b884610160015185610140015161206d90919063ffffffff16565b612ef86115b88561012001518661010001516128e790919063ffffffff16565b612f0291906139c0565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f8b8585612b34565b612fa4612f9c86611946868b61206d565b8590856117b9565b6100729190613787565b5f612fb98585612b34565b612fa4612fca86611946868b6128e7565b8590856128f7565b5f806130218561301b85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613011818c612d40565b61301b919061379a565b906128e7565b915061304d827f000000000000000000000000000000000000000000000000000000000000000061206d565b9050935093915050565b5f818313613065578161008d565b5090919050565b5f80821361308d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131109084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132aa57505f919050565b680755bf798b4a1bf1e582126132d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b9974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134376001600160a01b03841683613526565b905080515f1415801561345b5750808060200190518101906134599190613bf2565b155b15611aa257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134a49190613c0d565b5f604051808303815f865af19150503d805f81146134dd576040519150601f19603f3d011682016040523d82523d5f602084013e6134e2565b606091505b509150915081801561350c57508051158061350c57508080602001905181019061350c9190613bf2565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161354a9190613c0d565b5f6040518083038185875af1925050503d805f8114613584576040519150601f19603f3d011682016040523d82523d5f602084013e613589565b606091505b5091509150612b998683836060826135a9576135a4826135f0565b61008d565b81511580156135c057506001600160a01b0384163b155b156135e957604051639996b31560e01b81526001600160a01b0385166004820152602401613480565b508061008d565b8051156136005780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613682613619565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156136dc575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561370e575f80fd5b61371a888289016136b8565b9150509295509295909350565b5f805f60608486031215613739575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561375d575f80fd5b613769868287016136b8565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613773565b818103818111156113f7576113f7613773565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137ad565b5f6020828403121561384a575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613875575f80fd5b813561008d81613851565b8015158114610c0a575f80fd5b5f6020828403121561389d575f80fd5b813561008d81613880565b5f808335601e198436030181126138bd575f80fd5b83018035915067ffffffffffffffff8211156138d7575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613773565b5f805f60608486031215613967575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613773565b6001600160801b038181168382160190808211156118cb576118cb613773565b8181035f8312801583831316838312821617156118cb576118cb613773565b5f602082840312156139ef575f80fd5b815161008d81613851565b8082018281125f831280158216821582161715613a1957613a19613773565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a4357613a43613a21565b500690565b6001600160801b038281168282160390808211156118cb576118cb613773565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613773565b5f6102a082019050613aa88285516137ad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b1b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b4057613b40613773565b505f0390565b5f8060408385031215613b57575f80fd5b825191506020830151613b6981613880565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613b9b575f80fd5b8451935060208501519250604085015191506060850151613bbb81613880565b939692955090935050565b5f82613bd457613bd4613a21565b600160ff1b82145f1984141615613bed57613bed613773565b500590565b5f60208284031215613c02575f80fd5b815161008d81613880565b5f82515f5b81811015613c2c5760208186018101518583015201613c12565b505f92019182525091905056fea2646970667358221220fe6a7f7adfc55609ab26bec39d48db86801e3163e89b98e7864c4323d37b429e64736f6c63430008160033', - methodIdentifiers: { - "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", - "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts deleted file mode 100644 index e77ab6191..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StkWellTarget3Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StkWellTarget3Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts.map deleted file mode 100644 index 9f2fdc1e4..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget3Deployer.d.ts","sourceRoot":"","sources":["../src/StkWellTarget3Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6I6gmC,KAAK,MAAM,EAAE;;;;CAI5jmC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.js b/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.js deleted file mode 100644 index e9b64e029..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget3Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StkWellTarget3Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b506145f18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614119806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004119380380620041198339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c6f620004aa5f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120c101528181612124015281816129cd01528181612d9e0152612dda01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cd201525f8181611e27015261302901525f81816110260152611dfb01525f612fdf01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261296301525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f8181611988015281816119ff0152611a7a01525f818161195b01526119bc0152613c6f5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046136c8565b610064565b60405190815260200160405180910390f35b61003f61005f366004613727565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613787565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961379a565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613787565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261379a565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061379a565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613787565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161382b565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061383a565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161382b565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061383a565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761379a565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613865565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613787565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613865565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161388d565b866107a960408c018c6138a8565b6040516107bc97969594939291906138eb565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261393e565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613955565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613865565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613865565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161388d565b87610b5e60408901896138a8565b604051610b7197969594939291906138eb565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613865565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161388d565b15610c8f57610c8585610c8060408701876138a8565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138a8565b611a6d565b610caf611aa7565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ab9565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613787565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61379a565b8a84611ace565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613787565b4290611c07565b84611ace565b610f5888611c15565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61379a565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611db2565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611de6565b915091508060095f828254610ff59190613787565b909155506110109050865f8461100a81611766565b88611eb3565b61101a8183613787565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061202a565b915061105e611059838561206d565b612081565b6006805460029061107f9084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611db2565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611de6565b915091508060095f8282546111419190613787565b9091555061115c9050835f8461115681611766565b8a6120aa565b611166818361379a565b9150611175611059838761206d565b600680546002906111969084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906139c0565b5f61229a565b8e61124284826122d9565b50505b5f61124f846124c8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906139df565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061260a565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611db2565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611db2565b6113f791906139c0565b92915050565b5f805f8061140b8a8a612692565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8b7f00000000000000000000000000000000000000000000000000000000000000006126ca565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8d7f0000000000000000000000000000000000000000000000000000000000000000612783565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461283d565b509093505f9050611568848f613787565b90505f6115888b8b61157987611766565b611583908e6139fa565b612885565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128e7565b611766565b6115c683611766565b6115d36115b8868561206d565b6115dd91906139c0565b6115e791906139c0565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128f7565b61162685670de0b6b3a764000061379a565b906117d4565b611634613619565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661291a565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661291a565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612987565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613787565b90915550505f838152600b60205260408120805483929061183b908490613787565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122d9565b5f8183136118a7578261008d565b50919050565b5f806118b98484612692565b9092509050806118cb576118cb612b1b565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b34565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612ba3565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613787565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c10565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b508794505f93505050505b935093915050565b611aa26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612ba3565b505050565b5f610c2d670de0b6b3a7640000612c9f565b5f611ac48284613a35565b61008d908461379a565b5f83815260086020526040902054600160801b90046001600160801b0316808303611af95750505050565b5f848152600860205260408120546001600160801b031690819003611b5157611b21836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bce565b611ba2611b9d670de0b6b3a7640000611b6a888661379a565b611b74919061393e565b85670de0b6b3a7640000611b88878a61379a565b611b92919061393e565b859291906001612ca6565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bd7846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c37908490600160801b90046001600160801b031661206d565b6006546201000090046001600160701b03169250905081811115611dad575f611c60838361379a565b9050611c6f611b9d8286612d40565b60068054601090611c91908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cc985836117d490919063ffffffff16565b90505f611cf6827f000000000000000000000000000000000000000000000000000000000000000061206d565b90508060095f828254611d099190613787565b90915550611d199050818361379a565b9150611d24826118d2565b600280545f90611d3e9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d6b82612d54565b600480545f90611d7f908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ddb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611df287856117d4565b91505f611e1f837f000000000000000000000000000000000000000000000000000000000000000061206d565b9050611e4b817f000000000000000000000000000000000000000000000000000000000000000061206d565b91508315611e6e57611e5d828261379a565b611e67908461379a565b9250611e85565b611e78828261379a565b611e829084613787565b92505b86861015611ea857611e988387896117b9565b9250611ea58287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611efb611b9d82611edf670de0b6b3a76400008661393e565b600554600160801b90046001600160801b031691908a5f612ca6565b600580546001600160801b03928316600160801b029216919091179055611f21866118d2565b611f2b9082613a48565b600480546001600160801b03928316600160801b029216919091179055611f51846118d2565b600280545f90611f6b9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f98836118fb565b600480545f90611fac908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fdc856118d2565b60028054601090611ffe908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061203b846116268a888a6117b9565b90506120488884866117b9565b6120529082613787565b9050868111156120625786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120ec57507f00000000000000000000000000000000000000000000000000000000000000006120ea858361379a565b105b156120f9576120f9612b1b565b6004549084900390600f0b61210e84826139c0565b90508361211a86611766565b13801561214f57507f000000000000000000000000000000000000000000000000000000000000000061214d83836118ad565b105b1561215c5761215c612b1b565b600354600160801b90046001600160801b031661219d611b9d82612188670de0b6b3a76400008861393e565b6005546001600160801b031691908c5f612ca6565b600580546001600160801b0319166001600160801b03929092169190911790556121c7888261379a565b90506121d2816118d2565b600380546001600160801b03928316600160801b0292169190911790556121f8836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612221826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561224a876118d2565b6002805460109061226c908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122b590611b9d906001600160801b03168484612885565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612323916001600160801b03169061379a565b9050805f036123365760019150506113f7565b5f61234085612d7d565b9050805f03612354576001925050506113f7565b5f80612361838589612e18565b9150915080612376575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123b1929190613a95565b6040805180830381865af41580156123cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ef9190613b0a565b9150915061240d6123ff82611766565b61240890613b2c565b612987565b925082612422575f96505050505050506113f7565b61242b826118d2565b600780545f906124459084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612472816118d2565b60078054601090612494908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ef8761162c565b6040518263ffffffff1660e01b815260040161250b919061382b565b6040805180830381865af4158015612525573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125499190613b46565b915091508061255e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125c391613787565b6125cd919061379a565b9050805f036125e357505f958695509350505050565b5f8087116125f1575f6125fc565b6125fc8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561262d5761262d613b74565b6040519080825280601f01601f191660200182016040528015612657576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612677578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361269f86611766565b6126a991906139c0565b90505f8112156126bf575f809250925050610d21565b946001945092505050565b5f805f6126da8888888888612f80565b90505f612704670de0b6b3a76400006126f38888612d40565b6126fd9190613787565b83906117d4565b9050670de0b6b3a764000081106127385761273161272a670de0b6b3a7640000896117d4565b8290612b34565b9050612750565b61274d61272a670de0b6b3a764000089612d40565b90505b61275a81866117d4565b905088811015612771575f80935093505050612688565b97909703976001975095505050505050565b5f805f6127938989888888612fae565b90506127ad866119466127a68a8d613787565b879061206d565b98506127ba858a866117b9565b9850888110156127d0575f8092509250506115f6565b888103670de0b6b3a764000081106127fe576127f761272a670de0b6b3a764000089612d40565b9050612816565b61281361272a670de0b6b3a7640000896117d4565b90505b8089101561282b575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61284d898789612fd2565b909250905061285c828961379a565b97505f61286a82888a6117b9565b9050612876818b61379a565b9a989950979650505050505050565b5f80612891845f613057565b61289b845f613057565b6128a591906139c0565b90505f8113156128c0576128b98186613787565b94506128de565b5f8112156128de576128d181613b2c565b6128db908661379a565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f19048411830215820261290b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061292d610d28565b612937919061393e565b9050808311612946575f612950565b612950818461379a565b915061008d6126fd670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061393e565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a619190613b88565b935093509350935080612a7c57505f98975050505050505050565b868414612aad57612a8c846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ade57612abd836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b0c57612aee826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b4b5750670de0b6b3a76400006113f7565b825f03612b5957505f6113f7565b5f612b6383611766565b90505f612b77612b7286611766565b61306c565b9050818102612b8e670de0b6b3a764000082613bc6565b9050612b9981613291565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c0a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613423565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c618482613489565b612c0a576040516001600160a01b0384811660248301525f6044830152612c9591869182169063095ea7b390606401612bd8565b612c0a8482613423565b5f816113f7565b5f825f03612cb5575084610075565b8115612d0757612ce6612cc88487613787565b612cd2858761206d565b612cdc888a61206d565b6116269190613787565b90505f612cf38588611c07565b905080821015612d01578091505b50610075565b828503612d1557505f610075565b610072612d22848761379a565b612d2c85876128e7565b612d36888a61206d565b611626919061379a565b5f61008d83670de0b6b3a7640000846128f7565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d97906001600160801b031684612d40565b9050612dc37f000000000000000000000000000000000000000000000000000000000000000082613787565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e0e9083906001600160801b031661379a565b61008d919061379a565b612e2061366e565b5f80612e2b8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e65919061382b565b6040805180830381865af4158015612e7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea39190613b46565b9350905082612eb757505f9150611a659050565b5f612ed86115b884610160015185610140015161206d90919063ffffffff16565b612ef86115b88561012001518661010001516128e790919063ffffffff16565b612f0291906139c0565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f8b8585612b34565b612fa4612f9c86611946868b61206d565b8590856117b9565b6100729190613787565b5f612fb98585612b34565b612fa4612fca86611946868b6128e7565b8590856128f7565b5f806130218561301b85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613011818c612d40565b61301b919061379a565b906128e7565b915061304d827f000000000000000000000000000000000000000000000000000000000000000061206d565b9050935093915050565b5f818313613065578161008d565b5090919050565b5f80821361308d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131109084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132aa57505f919050565b680755bf798b4a1bf1e582126132d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b9974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134376001600160a01b03841683613526565b905080515f1415801561345b5750808060200190518101906134599190613bf2565b155b15611aa257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134a49190613c0d565b5f604051808303815f865af19150503d805f81146134dd576040519150601f19603f3d011682016040523d82523d5f602084013e6134e2565b606091505b509150915081801561350c57508051158061350c57508080602001905181019061350c9190613bf2565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161354a9190613c0d565b5f6040518083038185875af1925050503d805f8114613584576040519150601f19603f3d011682016040523d82523d5f602084013e613589565b606091505b5091509150612b998683836060826135a9576135a4826135f0565b61008d565b81511580156135c057506001600160a01b0384163b155b156135e957604051639996b31560e01b81526001600160a01b0385166004820152602401613480565b508061008d565b8051156136005780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613682613619565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156136dc575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561370e575f80fd5b61371a888289016136b8565b9150509295509295909350565b5f805f60608486031215613739575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561375d575f80fd5b613769868287016136b8565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613773565b818103818111156113f7576113f7613773565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137ad565b5f6020828403121561384a575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613875575f80fd5b813561008d81613851565b8015158114610c0a575f80fd5b5f6020828403121561389d575f80fd5b813561008d81613880565b5f808335601e198436030181126138bd575f80fd5b83018035915067ffffffffffffffff8211156138d7575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613773565b5f805f60608486031215613967575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613773565b6001600160801b038181168382160190808211156118cb576118cb613773565b8181035f8312801583831316838312821617156118cb576118cb613773565b5f602082840312156139ef575f80fd5b815161008d81613851565b8082018281125f831280158216821582161715613a1957613a19613773565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a4357613a43613a21565b500690565b6001600160801b038281168282160390808211156118cb576118cb613773565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613773565b5f6102a082019050613aa88285516137ad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b1b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b4057613b40613773565b505f0390565b5f8060408385031215613b57575f80fd5b825191506020830151613b6981613880565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613b9b575f80fd5b8451935060208501519250604085015191506060850151613bbb81613880565b939692955090935050565b5f82613bd457613bd4613a21565b600160ff1b82145f1984141615613bed57613bed613773565b500590565b5f60208284031215613c02575f80fd5b815161008d81613880565b5f82515f5b81811015613c2c5760208186018101518583015201613c12565b505f92019182525091905056fea2646970667358221220fe6a7f7adfc55609ab26bec39d48db86801e3163e89b98e7864c4323d37b429e64736f6c63430008160033a264697066735822122087123d5b735c4f782446311ff0d4856f3f29238036d393744424e707d93859c964736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts deleted file mode 100644 index f57bafa8b..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts +++ /dev/null @@ -1,809 +0,0 @@ -export declare const StkWellTarget4: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "__adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "checkpoint"; - readonly inputs: readonly [{ - readonly name: "_checkpointTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxIterations"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidity"; - readonly inputs: readonly [{ - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "event"; - readonly name: "AddLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Approval"; - readonly inputs: readonly [{ - readonly name: "owner"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "spender"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ApprovalForAll"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "approved"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CloseShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "basePayment"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CollectGovernanceFee"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "CreateCheckpoint"; - readonly inputs: readonly [{ - readonly name: "checkpointTime"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointVaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedShorts"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "maturedLongs"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Initialize"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "apr"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenLong"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "OpenShort"; - readonly inputs: readonly [{ - readonly name: "trader"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "assetId"; - readonly type: "uint256"; - readonly indexed: true; - readonly internalType: "uint256"; - }, { - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "baseProceeds"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "bondAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "PauseStatusUpdated"; - readonly inputs: readonly [{ - readonly name: "isPaused"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RedeemWithdrawalShares"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "RemoveLiquidity"; - readonly inputs: readonly [{ - readonly name: "provider"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "destination"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "lpAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "vaultSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly indexed: false; - readonly internalType: "bool"; - }, { - readonly name: "withdrawalShareAmount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "lpSharePrice"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly indexed: false; - readonly internalType: "bytes"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Sweep"; - readonly inputs: readonly [{ - readonly name: "collector"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "TransferSingle"; - readonly inputs: readonly [{ - readonly name: "operator"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "from"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "id"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ExpInvalidExponent"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientBalance"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InsufficientLiquidity"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidCheckpointTime"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "LnInvalidInput"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "MinimumTransactionAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "OutputLimit"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "RestrictedZeroAddress"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToInt256"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint112"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsafeCastToUint128"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "UnsupportedToken"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "checkpoint(uint256,uint256)": "414f826d"; - readonly "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9"; - readonly "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434"; - }; -}; -//# sourceMappingURL=StkWellTarget4.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts.map deleted file mode 100644 index e7589ada3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget4.d.ts","sourceRoot":"","sources":["../src/StkWellTarget4.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAy+BimyB,KAAK,MAAM,EAAE;;;;;;CAMxoyB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4.js b/packages/hyperdrive-artifacts/dist/StkWellTarget4.js deleted file mode 100644 index 473bffcb3..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4.js +++ /dev/null @@ -1,1008 +0,0 @@ -export const StkWellTarget4 = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "__adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "checkpoint", - "inputs": [ - { - "name": "_checkpointTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxIterations", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "redeemWithdrawalShares", - "inputs": [ - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidity", - "inputs": [ - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AddLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ApprovalForAll", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "approved", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CloseShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "basePayment", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CollectGovernanceFee", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CreateCheckpoint", - "inputs": [ - { - "name": "checkpointTime", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "checkpointVaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedShorts", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "maturedLongs", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialize", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "apr", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenLong", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OpenShort", - "inputs": [ - { - "name": "trader", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "assetId", - "type": "uint256", - "indexed": true, - "internalType": "uint256" - }, - { - "name": "maturityTime", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "baseProceeds", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "bondAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PauseStatusUpdated", - "inputs": [ - { - "name": "isPaused", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RedeemWithdrawalShares", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RemoveLiquidity", - "inputs": [ - { - "name": "provider", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "destination", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "lpAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "vaultSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "asBase", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "withdrawalShareAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lpSharePrice", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "extraData", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Sweep", - "inputs": [ - { - "name": "collector", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "target", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "TransferSingle", - "inputs": [ - { - "name": "operator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "id", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExpInvalidExponent", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientBalance", - "inputs": [] - }, - { - "type": "error", - "name": "InsufficientLiquidity", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidCheckpointTime", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "LnInvalidInput", - "inputs": [] - }, - { - "type": "error", - "name": "MinimumTransactionAmount", - "inputs": [] - }, - { - "type": "error", - "name": "OutputLimit", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "RestrictedZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "UnsafeCastToInt128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToInt256", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint112", - "inputs": [] - }, - { - "type": "error", - "name": "UnsafeCastToUint128", - "inputs": [] - }, - { - "type": "error", - "name": "UnsupportedToken", - "inputs": [] - } - ], - bytecode: '0x61028060405234801562000011575f80fd5b5060405162003234380380620032348339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612e4f620003e55f395f50505f50505f61099201525f50505f818161025f0152611eda01525f818161173a0152818161179d01528181611aca01528181611b0601528181611cf70152611eb401525f81816105500152611e8e01525f61131c01525f61147101525f818161070d015261144501525f50505f81816105710152611f0001525f818161064b015261227401525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6121db01525f5050612e4f5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128f5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612947565b6100b1565b005b6100566100923660046128f5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561297b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c016129a3565b61016a60408c018c6129be565b60405161017c96959493929190612a29565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a76565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761297b565b88610ea4565b5f6102f56102ec602087018761297b565b88848989610a9e565b90945090506103048188612a9d565b92505f61031083610f41565b509050610320602087018761297b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e016129a3565b8a888e806040019061037091906129be565b604051610384989796959493929190612ab0565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361297b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061108a565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612af7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110a6565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110c6565b92505b506105a2836110e5565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a9d565b8a84611112565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612af7565b429061124b565b84611112565b61063f8861125f565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a9d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6113fc565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611430565b915091508060095f8282546106dc9190612af7565b909155506106f79050865f846106f1816114fd565b88611526565b6107018183612af7565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061169d565b915061074561074083856116e6565b6116fa565b600680546002906107669084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826110e5565b600680546010906107b5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846113fc565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611430565b915091508060095f8282546108289190612af7565b909155506108439050835f8461083d816114fd565b8a611723565b61084d8183612a9d565b915061085c61074083876116e6565b6006805460029061087d9084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826110e5565b600680546010906108cc908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876114fd565b61090e836114fd565b6109189190612b4a565b5f611913565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b69565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611952565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119d8565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b90910481169085166119e4565b9050610b20836110e5565b610b2a9083612b84565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816110e5565b60078054601090610b75908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba48188876119ff565b9350610bb08684611a95565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a9d565b9050805f03610c3a576001915050610dc7565b5f610c4485611aa9565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b44565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612c22565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c97565b91509150610d11610d03826114fd565b610d0c90612cb9565b611cb1565b925082610d26575f9650505050505050610dc7565b610d2f826110e5565b600780545f90610d499084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816110e5565b60078054601090610d98908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a9d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612af7565b90915550505f838152600b602052604081208054839290610ef7908490612af7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e45565b6040518263ffffffff1660e01b8152600401610f849190612cd3565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ce2565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612af7565b6110469190612a9d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b6110758488846119e4565b976001975095505050505050565b5f81610dc7565b5f6110958284612a76565b61109f9084612a9d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611f7f565b5f6110dc826110d68588886119e4565b90611fa4565b95945050505050565b5f6001600160801b0382111561110e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361113d5750505050565b5f848152600860205260408120546001600160801b03169081900361119557611165836110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611212565b6111e66111e1670de0b6b3a76400006111ae8886612a9d565b6111b89190612d10565b85670de0b6b3a76400006111cc878a612a9d565b6111d69190612d10565b859291906001612013565b6110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61121b846110e5565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611259578261109f565b50919050565b6006545f908190611281908490600160801b90046001600160801b03166116e6565b6006546201000090046001600160701b031692509050818111156113f7575f6112aa8383612a9d565b90506112b96111e182866120ad565b600680546010906112db908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61131385836120c190919063ffffffff16565b90505f611340827f00000000000000000000000000000000000000000000000000000000000000006116e6565b90508060095f8282546113539190612af7565b9091555061136390508183612a9d565b915061136e826110e5565b600280545f906113889084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113b5826120d5565b600480545f906113c9908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114255760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061143c87856120c1565b91505f611469837f00000000000000000000000000000000000000000000000000000000000000006116e6565b9050611495817f00000000000000000000000000000000000000000000000000000000000000006116e6565b915083156114b8576114a78282612a9d565b6114b19084612a9d565b92506114cf565b6114c28282612a9d565b6114cc9084612af7565b92505b868610156114f2576114e28387896119e4565b92506114ef8287896119e4565b91505b509550959350505050565b5f6001600160ff1b0382111561110e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661156e6111e182611552670de0b6b3a764000086612d10565b600554600160801b90046001600160801b031691908a5f612013565b600580546001600160801b03928316600160801b029216919091179055611594866110e5565b61159e9082612b84565b600480546001600160801b03928316600160801b0292169190911790556115c4846110e5565b600280545f906115de9084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160b836120fe565b600480545f9061161f908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061164f856110e5565b60028054601090611671908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116b4846116ae8a888a6119e4565b906120c1565b90506116c18884866119e4565b6116cb9082612af7565b9050868111156116db5786810391505b509695505050505050565b5f61109f8383670de0b6b3a76400006119e4565b5f6001600160701b0382111561110e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061176557507f00000000000000000000000000000000000000000000000000000000000000006117638583612a9d565b105b1561177257611772612139565b6004549084900390600f0b6117878482612b4a565b905083611793866114fd565b1380156117c857507f00000000000000000000000000000000000000000000000000000000000000006117c68383611f7f565b105b156117d5576117d5612139565b600354600160801b90046001600160801b03166118166111e182611801670de0b6b3a764000088612d10565b6005546001600160801b031691908c5f612013565b600580546001600160801b0319166001600160801b03929092169190911790556118408882612a9d565b905061184b816110e5565b600380546001600160801b03928316600160801b029216919091179055611871836110e5565b600280546001600160801b0319166001600160801b039290921691909117905561189a826120fe565b600480546001600160801b0319166001600160801b03929092169190911790556118c3876110e5565b600280546010906118e5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461192e906111e1906001600160801b03168484612152565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561197557611975612d54565b6040519080825280601f01601f19166020018201604052801561199f576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119bf578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f1904841183021582026119f8575f80fd5b5091020490565b5f80611a0b85856116e6565b9050611a1681611083565b9450845f03611a28575f91505061109f565b849150611a3b60408401602085016129a3565b15611a6a57611a6385611a51602086018661297b565b611a5e60408701876129be565b6121b4565b9150611a8d565b611a8d85611a7b602086018661297b565b611a8860408701876129be565b6121ce565b509392505050565b5f61109f8383670de0b6b3a7640000612208565b6003545f908190611ac3906001600160801b0316846120ad565b9050611aef7f000000000000000000000000000000000000000000000000000000000000000082612af7565b6002546001600160801b03161115611259576002547f000000000000000000000000000000000000000000000000000000000000000090611b3a9083906001600160801b0316612a9d565b61109f9190612a9d565b611b4c612856565b5f80611b5784611e45565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611b919190612cd3565b6040805180830381865af4158015611bab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcf9190612ce2565b9350905082611be357505f91506100a99050565b5f611c09611c048461016001518561014001516116e690919063ffffffff16565b6114fd565b611c29611c04856101200151866101000151611a9590919063ffffffff16565b611c339190612b4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8b9190612d68565b935093509350935080611da657505f98975050505050505050565b868414611dd757611db6846110e5565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e0857611de7836120fe565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e3657611e18826110e5565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e4d6128a0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f45911661222b565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f779290041661222b565b905292915050565b5f80611f8b848461229f565b909250905080611f9d57611f9d612139565b5092915050565b5f815f03611fbb5750670de0b6b3a7640000610dc7565b825f03611fc957505f610dc7565b5f611fd3836114fd565b90505f611fe7611fe2866114fd565b6122da565b9050818102611ffe670de0b6b3a764000082612da6565b9050612009816124ff565b9695505050505050565b5f825f036120225750846110dc565b8115612074576120536120358487612af7565b61203f85876116e6565b612049888a6116e6565b6116ae9190612af7565b90505f612060858861124b565b90508082101561206e578091505b506110dc565b82850361208257505f6110dc565b61200961208f8487612a9d565b6120998587611a95565b6120a3888a6116e6565b6116ae9190612a9d565b5f61109f83670de0b6b3a764000084612208565b5f61109f83670de0b6b3a7640000846119e4565b5f60016001607f1b0382111561110e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061211b575060016001607f1b0382135b1561110e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061215e845f612691565b612168845f612691565b6121729190612b4a565b90505f81131561218d576121868186612af7565b94506121ab565b5f8112156121ab5761219e81612cb9565b6121a89086612a9d565b94505b50929392505050565b5f60405163350b944160e11b815260040160405180910390fd5b6122026001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126a6565b50505050565b5f825f19048411830215820261221c575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061223e61040f565b6122489190612d10565b9050808311612257575f612261565b6122618184612a9d565b915061109f612298670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612d10565b83906120c1565b5f805f836122ac866114fd565b6122b69190612b4a565b90505f8112156122cc575f8092509250506122d3565b9150600190505b9250929050565b5f8082136122fb5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061237e9084901c6114fd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361251857505f919050565b680755bf798b4a1bf1e58212612541576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061200974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114fd565b5f81831361269f578161109f565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526126f89084906126fd565b505050565b5f6127116001600160a01b03841683612763565b905080515f141580156127355750808060200190518101906127339190612dd2565b155b156126f857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061109f83835f845f80856001600160a01b031684866040516127879190612ded565b5f6040518083038185875af1925050503d805f81146127c1576040519150601f19603f3d011682016040523d82523d5f602084013e6127c6565b606091505b50915091506120098683836060826127e6576127e18261282d565b61109f565b81511580156127fd57506001600160a01b0384163b155b1561282657604051639996b31560e01b81526001600160a01b038516600482015260240161275a565b508061109f565b80511561283d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061286a6128a0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612907575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561292b575f80fd5b84016060818703121561293c575f80fd5b809150509250925092565b5f8060408385031215612958575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561298b575f80fd5b813561109f81612967565b80151581146103f5575f80fd5b5f602082840312156129b3575f80fd5b813561109f81612996565b5f808335601e198436030181126129d3575f80fd5b83018035915067ffffffffffffffff8211156129ed575f80fd5b6020019150368190038213156122d3575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a5660a083018486612a01565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a8457612a84612a62565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a89565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ae960e083018486612a01565b9a9950505050505050505050565b80820180821115610dc757610dc7612a89565b6001600160701b03818116838216019080821115611f9d57611f9d612a89565b6001600160801b03818116838216019080821115611f9d57611f9d612a89565b8181035f831280158383131683831282161715611f9d57611f9d612a89565b5f60208284031215612b79575f80fd5b815161109f81612967565b6001600160801b03828116828216039080821115611f9d57611f9d612a89565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612c35828551612ba4565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ca8575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ccd57612ccd612a89565b505f0390565b6101808101610dc78284612ba4565b5f8060408385031215612cf3575f80fd5b825191506020830151612d0581612996565b809150509250929050565b8082028115828204841417610dc757610dc7612a89565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a89565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d7b575f80fd5b8451935060208501519250604085015191506060850151612d9b81612996565b939692955090935050565b5f82612db457612db4612a62565b600160ff1b82145f1984141615612dcd57612dcd612a89565b500590565b5f60208284031215612de2575f80fd5b815161109f81612996565b5f82515f5b81811015612e0c5760208186018101518583015201612df2565b505f92019182525091905056fea264697066735822122070c1d6323565ab843f4f8860f22738189f86eac0578d2aa9d44b8b8d8aa3ab7364736f6c63430008160033', - methodIdentifiers: { - "checkpoint(uint256,uint256)": "414f826d", - "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", - "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts b/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts deleted file mode 100644 index 989d592c0..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts +++ /dev/null @@ -1,116 +0,0 @@ -export declare const StkWellTarget4Deployer: { - abi: readonly [{ - readonly type: "function"; - readonly name: "deployTarget"; - readonly inputs: readonly [{ - readonly name: "_config"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.PoolConfig"; - readonly components: readonly [{ - readonly name: "baseToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "vaultSharesToken"; - readonly type: "address"; - readonly internalType: "contract IERC20"; - }, { - readonly name: "linkerFactory"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "linkerCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initialVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumShareReserves"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minimumTransactionAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "circuitBreakerDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "positionDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "checkpointDuration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "timeStretch"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governance"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "feeCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sweepCollector"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "checkpointRewarder"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "fees"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Fees"; - readonly components: readonly [{ - readonly name: "curve"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "flat"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceLP"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "governanceZombie"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - }, { - readonly name: "_adminController"; - readonly type: "address"; - readonly internalType: "contract IHyperdriveAdminController"; - }, { - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "_salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6"; - }; -}; -//# sourceMappingURL=StkWellTarget4Deployer.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts.map b/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts.map deleted file mode 100644 index 9a1035009..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StkWellTarget4Deployer.d.ts","sourceRoot":"","sources":["../src/StkWellTarget4Deployer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6Imk3B,KAAK,MAAM,EAAE;;;;CAIln3B,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.js b/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.js deleted file mode 100644 index 76f1f51ed..000000000 --- a/packages/hyperdrive-artifacts/dist/StkWellTarget4Deployer.js +++ /dev/null @@ -1,146 +0,0 @@ -export const StkWellTarget4Deployer = { - abi: [ - { - "type": "function", - "name": "deployTarget", - "inputs": [ - { - "name": "_config", - "type": "tuple", - "internalType": "struct IHyperdrive.PoolConfig", - "components": [ - { - "name": "baseToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "vaultSharesToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "linkerFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "linkerCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initialVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumShareReserves", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minimumTransactionAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "circuitBreakerDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "positionDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "checkpointDuration", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "timeStretch", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governance", - "type": "address", - "internalType": "address" - }, - { - "name": "feeCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "sweepCollector", - "type": "address", - "internalType": "address" - }, - { - "name": "checkpointRewarder", - "type": "address", - "internalType": "address" - }, - { - "name": "fees", - "type": "tuple", - "internalType": "struct IHyperdrive.Fees", - "components": [ - { - "name": "curve", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "flat", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceLP", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "governanceZombie", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ] - }, - { - "name": "_adminController", - "type": "address", - "internalType": "contract IHyperdriveAdminController" - }, - { - "name": "", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_salt", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x608060405234801561000f575f80fd5b5061370c8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613234806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003234380380620032348339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612e4f620003e55f395f50505f50505f61099201525f50505f818161025f0152611eda01525f818161173a0152818161179d01528181611aca01528181611b0601528181611cf70152611eb401525f81816105500152611e8e01525f61131c01525f61147101525f818161070d015261144501525f50505f81816105710152611f0001525f818161064b015261227401525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6121db01525f5050612e4f5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128f5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612947565b6100b1565b005b6100566100923660046128f5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561297b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c016129a3565b61016a60408c018c6129be565b60405161017c96959493929190612a29565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a76565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761297b565b88610ea4565b5f6102f56102ec602087018761297b565b88848989610a9e565b90945090506103048188612a9d565b92505f61031083610f41565b509050610320602087018761297b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e016129a3565b8a888e806040019061037091906129be565b604051610384989796959493929190612ab0565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361297b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061108a565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612af7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110a6565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110c6565b92505b506105a2836110e5565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a9d565b8a84611112565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612af7565b429061124b565b84611112565b61063f8861125f565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a9d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6113fc565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611430565b915091508060095f8282546106dc9190612af7565b909155506106f79050865f846106f1816114fd565b88611526565b6107018183612af7565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061169d565b915061074561074083856116e6565b6116fa565b600680546002906107669084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826110e5565b600680546010906107b5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846113fc565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611430565b915091508060095f8282546108289190612af7565b909155506108439050835f8461083d816114fd565b8a611723565b61084d8183612a9d565b915061085c61074083876116e6565b6006805460029061087d9084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826110e5565b600680546010906108cc908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876114fd565b61090e836114fd565b6109189190612b4a565b5f611913565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b69565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611952565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119d8565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b90910481169085166119e4565b9050610b20836110e5565b610b2a9083612b84565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816110e5565b60078054601090610b75908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba48188876119ff565b9350610bb08684611a95565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a9d565b9050805f03610c3a576001915050610dc7565b5f610c4485611aa9565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b44565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612c22565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c97565b91509150610d11610d03826114fd565b610d0c90612cb9565b611cb1565b925082610d26575f9650505050505050610dc7565b610d2f826110e5565b600780545f90610d499084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816110e5565b60078054601090610d98908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a9d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612af7565b90915550505f838152600b602052604081208054839290610ef7908490612af7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e45565b6040518263ffffffff1660e01b8152600401610f849190612cd3565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ce2565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612af7565b6110469190612a9d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b6110758488846119e4565b976001975095505050505050565b5f81610dc7565b5f6110958284612a76565b61109f9084612a9d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611f7f565b5f6110dc826110d68588886119e4565b90611fa4565b95945050505050565b5f6001600160801b0382111561110e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361113d5750505050565b5f848152600860205260408120546001600160801b03169081900361119557611165836110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611212565b6111e66111e1670de0b6b3a76400006111ae8886612a9d565b6111b89190612d10565b85670de0b6b3a76400006111cc878a612a9d565b6111d69190612d10565b859291906001612013565b6110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61121b846110e5565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611259578261109f565b50919050565b6006545f908190611281908490600160801b90046001600160801b03166116e6565b6006546201000090046001600160701b031692509050818111156113f7575f6112aa8383612a9d565b90506112b96111e182866120ad565b600680546010906112db908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61131385836120c190919063ffffffff16565b90505f611340827f00000000000000000000000000000000000000000000000000000000000000006116e6565b90508060095f8282546113539190612af7565b9091555061136390508183612a9d565b915061136e826110e5565b600280545f906113889084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113b5826120d5565b600480545f906113c9908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114255760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061143c87856120c1565b91505f611469837f00000000000000000000000000000000000000000000000000000000000000006116e6565b9050611495817f00000000000000000000000000000000000000000000000000000000000000006116e6565b915083156114b8576114a78282612a9d565b6114b19084612a9d565b92506114cf565b6114c28282612a9d565b6114cc9084612af7565b92505b868610156114f2576114e28387896119e4565b92506114ef8287896119e4565b91505b509550959350505050565b5f6001600160ff1b0382111561110e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661156e6111e182611552670de0b6b3a764000086612d10565b600554600160801b90046001600160801b031691908a5f612013565b600580546001600160801b03928316600160801b029216919091179055611594866110e5565b61159e9082612b84565b600480546001600160801b03928316600160801b0292169190911790556115c4846110e5565b600280545f906115de9084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160b836120fe565b600480545f9061161f908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061164f856110e5565b60028054601090611671908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116b4846116ae8a888a6119e4565b906120c1565b90506116c18884866119e4565b6116cb9082612af7565b9050868111156116db5786810391505b509695505050505050565b5f61109f8383670de0b6b3a76400006119e4565b5f6001600160701b0382111561110e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061176557507f00000000000000000000000000000000000000000000000000000000000000006117638583612a9d565b105b1561177257611772612139565b6004549084900390600f0b6117878482612b4a565b905083611793866114fd565b1380156117c857507f00000000000000000000000000000000000000000000000000000000000000006117c68383611f7f565b105b156117d5576117d5612139565b600354600160801b90046001600160801b03166118166111e182611801670de0b6b3a764000088612d10565b6005546001600160801b031691908c5f612013565b600580546001600160801b0319166001600160801b03929092169190911790556118408882612a9d565b905061184b816110e5565b600380546001600160801b03928316600160801b029216919091179055611871836110e5565b600280546001600160801b0319166001600160801b039290921691909117905561189a826120fe565b600480546001600160801b0319166001600160801b03929092169190911790556118c3876110e5565b600280546010906118e5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461192e906111e1906001600160801b03168484612152565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561197557611975612d54565b6040519080825280601f01601f19166020018201604052801561199f576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119bf578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f1904841183021582026119f8575f80fd5b5091020490565b5f80611a0b85856116e6565b9050611a1681611083565b9450845f03611a28575f91505061109f565b849150611a3b60408401602085016129a3565b15611a6a57611a6385611a51602086018661297b565b611a5e60408701876129be565b6121b4565b9150611a8d565b611a8d85611a7b602086018661297b565b611a8860408701876129be565b6121ce565b509392505050565b5f61109f8383670de0b6b3a7640000612208565b6003545f908190611ac3906001600160801b0316846120ad565b9050611aef7f000000000000000000000000000000000000000000000000000000000000000082612af7565b6002546001600160801b03161115611259576002547f000000000000000000000000000000000000000000000000000000000000000090611b3a9083906001600160801b0316612a9d565b61109f9190612a9d565b611b4c612856565b5f80611b5784611e45565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611b919190612cd3565b6040805180830381865af4158015611bab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcf9190612ce2565b9350905082611be357505f91506100a99050565b5f611c09611c048461016001518561014001516116e690919063ffffffff16565b6114fd565b611c29611c04856101200151866101000151611a9590919063ffffffff16565b611c339190612b4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8b9190612d68565b935093509350935080611da657505f98975050505050505050565b868414611dd757611db6846110e5565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e0857611de7836120fe565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e3657611e18826110e5565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e4d6128a0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f45911661222b565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f779290041661222b565b905292915050565b5f80611f8b848461229f565b909250905080611f9d57611f9d612139565b5092915050565b5f815f03611fbb5750670de0b6b3a7640000610dc7565b825f03611fc957505f610dc7565b5f611fd3836114fd565b90505f611fe7611fe2866114fd565b6122da565b9050818102611ffe670de0b6b3a764000082612da6565b9050612009816124ff565b9695505050505050565b5f825f036120225750846110dc565b8115612074576120536120358487612af7565b61203f85876116e6565b612049888a6116e6565b6116ae9190612af7565b90505f612060858861124b565b90508082101561206e578091505b506110dc565b82850361208257505f6110dc565b61200961208f8487612a9d565b6120998587611a95565b6120a3888a6116e6565b6116ae9190612a9d565b5f61109f83670de0b6b3a764000084612208565b5f61109f83670de0b6b3a7640000846119e4565b5f60016001607f1b0382111561110e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061211b575060016001607f1b0382135b1561110e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061215e845f612691565b612168845f612691565b6121729190612b4a565b90505f81131561218d576121868186612af7565b94506121ab565b5f8112156121ab5761219e81612cb9565b6121a89086612a9d565b94505b50929392505050565b5f60405163350b944160e11b815260040160405180910390fd5b6122026001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126a6565b50505050565b5f825f19048411830215820261221c575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061223e61040f565b6122489190612d10565b9050808311612257575f612261565b6122618184612a9d565b915061109f612298670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612d10565b83906120c1565b5f805f836122ac866114fd565b6122b69190612b4a565b90505f8112156122cc575f8092509250506122d3565b9150600190505b9250929050565b5f8082136122fb5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061237e9084901c6114fd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361251857505f919050565b680755bf798b4a1bf1e58212612541576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061200974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114fd565b5f81831361269f578161109f565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526126f89084906126fd565b505050565b5f6127116001600160a01b03841683612763565b905080515f141580156127355750808060200190518101906127339190612dd2565b155b156126f857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061109f83835f845f80856001600160a01b031684866040516127879190612ded565b5f6040518083038185875af1925050503d805f81146127c1576040519150601f19603f3d011682016040523d82523d5f602084013e6127c6565b606091505b50915091506120098683836060826127e6576127e18261282d565b61109f565b81511580156127fd57506001600160a01b0384163b155b1561282657604051639996b31560e01b81526001600160a01b038516600482015260240161275a565b508061109f565b80511561283d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061286a6128a0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612907575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561292b575f80fd5b84016060818703121561293c575f80fd5b809150509250925092565b5f8060408385031215612958575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561298b575f80fd5b813561109f81612967565b80151581146103f5575f80fd5b5f602082840312156129b3575f80fd5b813561109f81612996565b5f808335601e198436030181126129d3575f80fd5b83018035915067ffffffffffffffff8211156129ed575f80fd5b6020019150368190038213156122d3575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a5660a083018486612a01565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a8457612a84612a62565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a89565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ae960e083018486612a01565b9a9950505050505050505050565b80820180821115610dc757610dc7612a89565b6001600160701b03818116838216019080821115611f9d57611f9d612a89565b6001600160801b03818116838216019080821115611f9d57611f9d612a89565b8181035f831280158383131683831282161715611f9d57611f9d612a89565b5f60208284031215612b79575f80fd5b815161109f81612967565b6001600160801b03828116828216039080821115611f9d57611f9d612a89565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612c35828551612ba4565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ca8575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ccd57612ccd612a89565b505f0390565b6101808101610dc78284612ba4565b5f8060408385031215612cf3575f80fd5b825191506020830151612d0581612996565b809150509250929050565b8082028115828204841417610dc757610dc7612a89565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a89565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d7b575f80fd5b8451935060208501519250604085015191506060850151612d9b81612996565b939692955090935050565b5f82612db457612db4612a62565b600160ff1b82145f1984141615612dcd57612dcd612a89565b500590565b5f60208284031215612de2575f80fd5b815161109f81612996565b5f82515f5b81811015612e0c5760208186018101518583015201612df2565b505f92019182525091905056fea264697066735822122070c1d6323565ab843f4f8860f22738189f86eac0578d2aa9d44b8b8d8aa3ab7364736f6c63430008160033a2646970667358221220eb7b7c1417fbd07cc73725e8af5c7b0e360fd907db48000ae44d8cb713c34af164736f6c63430008160033', - methodIdentifiers: { - "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts b/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts deleted file mode 100644 index dabc2d1d6..000000000 --- a/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts +++ /dev/null @@ -1,131 +0,0 @@ -export declare const SupplyLogic: { - abi: readonly [{ - readonly type: "event"; - readonly name: "ReserveDataUpdated"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "liquidityRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "stableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowRate"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "liquidityIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "variableBorrowIndex"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralDisabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "ReserveUsedAsCollateralEnabled"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Supply"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "onBehalfOf"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }, { - readonly name: "referralCode"; - readonly type: "uint16"; - readonly indexed: true; - readonly internalType: "uint16"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "Withdraw"; - readonly inputs: readonly [{ - readonly name: "reserve"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "user"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "to"; - readonly type: "address"; - readonly indexed: true; - readonly internalType: "address"; - }, { - readonly name: "amount"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "executeFinalizeTransfer(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => DataTypes.UserConfigurationMap) storage,DataTypes.FinalizeTransferParams)": "8a5dadd1"; - readonly "executeSupply(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSupplyParams)": "1913f161"; - readonly "executeUseReserveAsCollateral(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,address,bool,uint256,address,uint8)": "bf697a26"; - readonly "executeWithdraw(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteWithdrawParams)": "186dea44"; - }; -}; -//# sourceMappingURL=SupplyLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts.map deleted file mode 100644 index a9769d26f..000000000 --- a/packages/hyperdrive-artifacts/dist/SupplyLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SupplyLogic.d.ts","sourceRoot":"","sources":["../src/SupplyLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwJkrxB,KAAK,MAAM,EAAE;;;;;;;CAOttxB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/SupplyLogic.js b/packages/hyperdrive-artifacts/dist/SupplyLogic.js deleted file mode 100644 index 26169dd0f..000000000 --- a/packages/hyperdrive-artifacts/dist/SupplyLogic.js +++ /dev/null @@ -1,160 +0,0 @@ -export const SupplyLogic = { - abi: [ - { - "type": "event", - "name": "ReserveDataUpdated", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "liquidityRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "stableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "liquidityIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "variableBorrowIndex", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralDisabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ReserveUsedAsCollateralEnabled", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Supply", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "referralCode", - "type": "uint16", - "indexed": true, - "internalType": "uint16" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "reserve", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x613126610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c8063186dea44146100595780631913f1611461008a5780638a5dadd1146100ab578063bf697a26146100ca575b5f80fd5b818015610064575f80fd5b50610078610073366004612afe565b6100e9565b60405190815260200160405180910390f35b818015610095575f80fd5b506100a96100a4366004612bb2565b61041d565b005b8180156100b6575f80fd5b506100a96100c5366004612c43565b610636565b8180156100d5575f80fd5b506100a96100e4366004612d28565b61088f565b80516001600160a01b03165f9081526020869052604081208161010b82610a92565b9050806101e001516001600160a01b031684604001516001600160a01b0316141560405180604001604052806002815260200161393360f01b8152509061016e5760405162461bcd60e51b81526004016101659190612dad565b60405180910390fd5b506101798282610c5d565b6101008101516101e0820151604051630ed1279f60e11b81523360048201525f926101fb9290916001600160a01b0390911690631da24f3e906024015b602060405180830381865afa1580156101d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f59190612df9565b90610cb5565b60208601519091506001810161020e5750805b610219838284610cf7565b855161022a90859085905f85610dfc565b60038401546040805160208101909152885481525f916102559190600160a81b900461ffff16611117565b905080801561026357508282145b156102bb576003850154610284908990600160a81b900461ffff165f61116c565b865160405133916001600160a01b0316907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd905f90a35b6101e08401516040808901516101008701519151636b81068560e11b81523360048201526001600160a01b0391821660248201526044810186905260648101929092529091169063d7020d0a906084015f604051808303815f87803b158015610322575f80fd5b505af1158015610334573d5f803e3d5ffd5b50505050808015610376575060408051602081019091528854908190527f55555555555555555555555555555555555555555555555555555555555555551615155b156103af576103af8b8b8b8b6040518060200160405290815f820154815250508b5f0151338d606001518e608001518f60a001516111ce565b86604001516001600160a01b0316336001600160a01b0316885f01516001600160a01b03167f3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f78560405161040591815260200190565b60405180910390a45093505050505b95945050505050565b80516001600160a01b03165f9081526020859052604081209061043f82610a92565b905061044b8282610c5d565b61045f818385602001518660400151611338565b825160208401516104759184918491905f610dfc565b6101e08101516020840151845161049a926001600160a01b03909116913391906115a5565b6101e08101516040808501516020860151610100850151925163b3f1c93d60e01b81523360048201526001600160a01b039283166024820152604481019190915260648101929092525f92169063b3f1c93d906084016020604051808303815f875af115801561050c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105309190612e10565b905080156105b85761054f878787856101c00151866101e00151611644565b156105b8576003830154610571908690600160a81b900461ffff16600161116c565b83604001516001600160a01b0316845f01516001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b836060015161ffff1684604001516001600160a01b0316855f01516001600160a01b03167f2b627736bca15cd5381dcf80b0bf11fd197d01a037c52b927a881a10fb73ba613388602001516040516106259291906001600160a01b03929092168252602082015260400190565b60405180910390a450505050505050565b80516001600160a01b03165f9081526020869052604090206106578161182c565b6003810154600160a81b900461ffff165f61067f6106748461187b565b6060860151906118de565b905083604001516001600160a01b031684602001516001600160a01b0316141580156106aa57508015155b15610885576020808501516001600160a01b03165f908152868252604090819020815192830190915280548252906106e29084611117565b156107df5760408051602081019091528154908190527f5555555555555555555555555555555555555555555555555555555555555555161561077d5761077d898989895f8a602001516001600160a01b03166001600160a01b031681526020019081526020015f206040518060200160405290815f82015481525050895f01518a602001518b60c001518c60e001518d61010001516111ce565b84606001518560800151036107df5761079781845f61116c565b84602001516001600160a01b0316855f01516001600160a01b03167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b8460a001515f03610883576040808601516001600160a01b039081165f9081526020898152908390208351918201909352865481526004870154610829928d928d92869216611644565b156108815761083a8185600161116c565b85604001516001600160a01b0316865f01516001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b505b505b5050505050505050565b6001600160a01b0385165f90815260208a905260408120906108b082610a92565b6101e08101516040516370a0823160e01b81523360048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156108fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109229190612df9565b905061092e828261191b565b600383015460408051602081019091528a54815261095691600160a81b900461ffff16611117565b15158715150361096857505050610883565b8615610a0f5761097f8c8c8b856101c001516119dd565b604051806040016040528060028152602001611b1960f11b815250906109b85760405162461bcd60e51b81526004016101659190612dad565b5060038301546109d6908a90600160a81b900461ffff16600161116c565b60405133906001600160a01b038a16907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f2905f90a3610a84565b6003830154610a2b908a90600160a81b900461ffff165f61116c565b604080516020810190915289548152610a4e908d908d908d908c338c8c8c6111ce565b60405133906001600160a01b038a16907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd905f90a35b505050505050505050505050565b610a9a612996565b610aa2612996565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa158015610b91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb59190612df9565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa158015610c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2a9190612e2b565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b9092041603610c7d575050565b610c878282611a79565b610c918282611b57565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f81156b019d971e4fe8401e740000001983900484111517610cd5575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b604080518082019091526002815261191b60f11b602082015282610d2e5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261199960f11b602082015281831115610d695760405162461bcd60e51b81526004016101659190612dad565b505f80610d7a856101c00151611cbc565b945050505091508160405180604001604052806002815260200161323760f01b81525090610dbb5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b60208201528115610df45760405162461bcd60e51b81526004016101659190612dad565b505050505050565b610e2360405180608001604052805f81526020015f81526020015f81526020015f81525090565b6101408501516020860151610e3791610cb5565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e91610efe91600401612e72565b606060405180830381865afa158015610f19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612ef4565b60408401526020830152808252610f5390611d00565b6001870180546001600160801b03928316600160801b0292169190911790556020810151610f8090611d00565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151610fb090611d00565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152610fee9051600160fc1b16151590565b156110a357821561104b5761100283611d00565b600987018054601090611026908490600160801b90046001600160801b0316612f33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b81156110a35761105a82611d00565b60098701805460109061107e908490600160801b90046001600160801b0316612f5a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106111535760405162461bcd60e51b81526004016101659190612dad565b50508151600182811b81019190911c1615155b92915050565b6040805180820190915260028152610dcd60f21b6020820152608083106111a65760405162461bcd60e51b81526004016101659190612dad565b50600182811b81011b81156111c0578354811784556111c8565b835481191684555b50505050565b6001600160a01b038086165f90815260208b8152604080832081516102408101835281546102208201908152815260018201546001600160801b0380821695830195909552600160801b908190048516938201939093526002820154808516606083015283900484166080820152600382015480851660a083015264ffffffffff848204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015486166101208201526005820154861661014082015260068201548616610160820152600782015490951661018086015260088101548084166101a087015282900483166101c0860152600901548083166101e086015204166102008301526112eb8b8b8b8b8a888b8b611d6c565b9150508015806112ff575081515161ffff16155b60405180604001604052806002815260200161353760f01b81525090610a845760405162461bcd60e51b81526004016101659190612dad565b604080518082019091526002815261191b60f11b60208201528261136f5760405162461bcd60e51b81526004016101659190612dad565b505f805f611381876101c00151611cbc565b94505050925092508260405180604001604052806002815260200161323760f01b815250906113c35760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b602082015281156113fc5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261064760f31b602082015282156114355760405162461bcd60e51b81526004016101659190612dad565b50866101e001516001600160a01b0316846001600160a01b03161415604051806040016040528060028152602001610e4d60f21b8152509061148a5760405162461bcd60e51b81526004016101659190612dad565b506101c08701515160741c640fffffffff1680158061156c57506101c08801515160301c60ff166114bc90600a61305a565b6114c69082613065565b8661155f8a61010001518a6008015f9054906101000a90046001600160801b03166001600160801b03168c6101e001516001600160a01b031663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611531573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115559190612df9565b6101f5919061307c565b611569919061307c565b11155b60405180604001604052806002815260200161353160f01b815250906108835760405162461bcd60e51b81526004016101659190612dad565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af16115e7573d5f803e3d5ffd5b506115f185611e16565b61163d5760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610165565b5050505050565b81515f9060d41c64ffffffffff1615611816575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611694573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b8919061308f565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116f3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611717919061308f565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015611755573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611779919061308f565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa1580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190612e10565b611814575f915050610414565b505b611822868686866119dd565b9695505050505050565b604080516020808201835283549182905282518084019093526002835261323960f01b908301526001603c1b16156118775760405162461bcd60e51b81526004016101659190612dad565b5050565b60038101545f90600160801b900464ffffffffff164281036118a9575050600101546001600160801b031690565b60018301546118d1906001600160801b03808216916101f591600160801b9091041684611eb7565b9392505050565b50919050565b5f81156b033b2e3c9fd0803ce800000060028404190484111715611900575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b604080518082019091526002815261343360f01b6020820152816119525760405162461bcd60e51b81526004016101659190612dad565b505f80611963846101c00151611cbc565b945050505091508160405180604001604052806002815260200161323760f01b815250906119a45760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b6020820152811561163d5760405162461bcd60e51b81526004016101659190612dad565b5f6119ea825161ffff1690565b5f036119f757505f611a71565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16611a3657506001611a71565b6040805160208101909152835481525f90611a52908787611ef3565b5050905080158015611a6d5750825160d41c64ffffffffff16155b9150505b949350505050565b61016081015115611ae7575f611a99826101600151836102400151611eb7565b9050611ab28260e0015182610cb590919063ffffffff16565b6101008301819052611ac390611d00565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115611877575f611b03826101800151836102400151611f99565b9050611b1d82610120015182610cb590919063ffffffff16565b6101408301819052611b2e90611d00565b6002840180546001600160801b03929092166001600160801b0319909216919091179055505050565b611b8a6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03611b9b57505050565b6101208201518251611bac91610cb5565b60208201526101408201518251611bc291610cb5565b60408201526060820151610260830151610240840151611bea92919064ffffffffff16611fa1565b606082018190526040830151611bff91610cb5565b808252602082015160808401516040840151611c1b919061307c565b611c2591906130aa565b611c2f91906130aa565b608082018190526101a0830151611c4691906120c6565b60a0820181905215611cb757611c76611c718361010001518360a001516118de90919063ffffffff16565b611d00565b6008840180545f90611c929084906001600160801b0316612f33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b5167010000000000000081161515916702000000000000008216151591670400000000000000811615159167080000000000000082161515916001603c1b16151590565b5f6001600160801b03821115611d685760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610165565b5090565b5f805f80611db78c8c8c6040518060a001604052808e81526020018b81526020018d6001600160a01b031681526020018a6001600160a01b031681526020018c60ff168152506120ea565b9550955050505050670de0b6b3a764000082101560405180604001604052806002815260200161333560f01b81525090611e045760405162461bcd60e51b81526004016101659190612dad565b50909b909a5098505050505050505050565b5f611e38565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015611e775760208114611ea857611e727f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611e1c565b6118d8565b823b611e9f57611e9f7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611e1c565b600191506118d8565b3d5f803e50505f511515919050565b5f80611eca64ffffffffff8416426130aa565b611ed49085613065565b6301e1338090049050611a71816b033b2e3c9fd0803ce800000061307c565b5f805f611eff866125ac565b15611f87575f611f2f877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6125ef565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff1690508015611f8357600195509093509150611f909050565b5050505b505f9150819050805b93509350939050565b5f6118d18383425b5f80611fb464ffffffffff8516846130aa565b9050805f03611fd2576b033b2e3c9fd0803ce80000009150506118d1565b5f1981015f808060028511611fe7575f611fec565b600285035b925066038882915c40006120008a80610cb5565b8161200d5761200d6130bd565b0491506301e1338061201f838b610cb5565b8161202c5761202c6130bd565b0490505f8261203b8688613065565b6120459190613065565b6002900490505f8285612058888a613065565b6120629190613065565b61206c9190613065565b60069004905080826301e133806120838a8f613065565b61208d91906130d1565b6120a3906b033b2e3c9fd0803ce800000061307c565b6120ad919061307c565b6120b7919061307c565b9b9a5050505050505050505050565b5f811561138819839004841115176120dc575f80fd5b506127109102611388010490565b5f805f805f806120fc875f0151511590565b1561211857505f94508493508392508291505f1990508161259f565b6121a76040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff16156121eb57608088015160ff165f90815260208a90526040902060608901516121d89190612613565b6101808401526101c08301526101a08201525b87602001518160c0015110156124c45760c0810151885161220b916126bc565b61221f5760c08101805160010190526121eb565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526122575760c08101805160010190526121eb565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906122df5750816101e00151896080015160ff16145b61235b57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015612332573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123569190612df9565b612362565b8161018001515b825260a082015115801590612382575060c0820151895161238291611117565b156124715761239e896040015182845f0151856020015161270b565b60408301819052610100830180516123b790839061307c565b90525060808901516101e08301516123d29160ff1690612780565b1515610240830152608082015115612428578161024001516123f85781608001516123ff565b816101a001515b826040015161240e9190613065565b8261014001818151612420919061307c565b905250612431565b60016102208301525b816102400151612445578160a0015161244c565b816101c001515b826040015161245b9190613065565b826101600181815161246d919061307c565b9052505b60c0820151895161248191612790565b156124b35761249d896040015182845f015185602001516127dc565b82610120018181516124af919061307c565b9052505b5060c08101805160010190526121eb565b8061010001515f036124d6575f6124f1565b806101000151816101400151816124ef576124ef6130bd565b045b6101408201526101008101515f03612509575f612524565b80610100015181610160015181612522576125226130bd565b045b610160820152610120810151156125665761256181610120015161255b8361016001518461010001516120c690919063ffffffff16565b9061290b565b612569565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1680158015906118d157506125e76001826130aa565b161592915050565b81515f9082165f198101198116825b60029190911c908115610414576001016125fe565b81545f90819081908190660100000000000090046001600160a01b031680156126a15760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa15801561267a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269e9190612df9565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106126f85760405162461bcd60e51b81526004016101659190612dad565b5050905160019190911b1c600316151590565b5f806127168561187b565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f928792612759928692911690631da24f3e906024016101b6565b6127639190613065565b9050838181612774576127746130bd565b04979650505050505050565b5f82158015906118d15750501490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106127cc5760405162461bcd60e51b81526004016101659190612dad565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa158015612829573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284d9190612df9565b9050801561286b5761286861286186612940565b8290610cb5565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa1580156128b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d99190612df9565b6128e3908261307c565b90506128ef8185613065565b9050828181612900576129006130bd565b049695505050505050565b5f8115670de0b6b3a764000060028404190484111715612929575f80fd5b50670de0b6b3a76400009190910260028204010490565b60038101545f90600160801b900464ffffffffff1642810361296e575050600201546001600160801b031690565b60028301546118d1906001600160801b03808216916101f591600160801b9091041684611f99565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001612a0b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b60405160c0810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b60405290565b6040516080810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b604051610120810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114612adb575f80fd5b50565b8035612ae981612ac7565b919050565b803560ff81168114612ae9575f80fd5b5f805f805f858703610140811215612b14575f80fd5b8635955060208701359450604087013593506060870135925060c0607f1982011215612b3e575f80fd5b50612b47612a33565b6080870135612b5581612ac7565b815260a0870135602082015260c0870135612b6f81612ac7565b604082015260e08701356060820152610100870135612b8d81612ac7565b6080820152612b9f6101208801612aee565b60a0820152809150509295509295909350565b5f805f8084860360e0811215612bc6575f80fd5b8535945060208601359350604086013592506080605f1982011215612be9575f80fd5b50612bf2612a68565b6060860135612c0081612ac7565b81526080860135602082015260a0860135612c1a81612ac7565b604082015260c086013561ffff81168114612c33575f80fd5b6060820152939692955090935050565b5f805f805f8587036101a0811215612c59575f80fd5b8635955060208701359450604087013593506060870135925061012080607f1983011215612c85575f80fd5b612c8d612a97565b9150612c9b60808901612ade565b8252612ca960a08901612ade565b6020830152612cba60c08901612ade565b604083015260e088013560608301526101008089013560808401528189013560a084015261014089013560c0840152612cf66101608a01612ade565b60e0840152612d086101808a01612aee565b9083015250949793965091945092919050565b8015158114612adb575f80fd5b5f805f805f805f805f6101208a8c031215612d41575f80fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135612d6881612ac7565b945060a08a0135612d7881612d1b565b935060c08a0135925060e08a0135612d8f81612ac7565b9150612d9e6101008b01612aee565b90509295985092959850929598565b5f602080835283518060208501525f5b81811015612dd957858101830151858201604001528201612dbd565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215612e09575f80fd5b5051919050565b5f60208284031215612e20575f80fd5b81516118d181612d1b565b5f805f8060808587031215612e3e575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114612e67575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151612ed460e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215612f06575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03818116838216019080821115612f5357612f53612f1f565b5092915050565b6001600160801b03828116828216039080821115612f5357612f53612f1f565b600181815b80851115612fb457815f1904821115612f9a57612f9a612f1f565b80851615612fa757918102915b93841c9390800290612f7f565b509250929050565b5f82612fca57506001611166565b81612fd657505f611166565b8160018114612fec5760028114612ff657613012565b6001915050611166565b60ff84111561300757613007612f1f565b50506001821b611166565b5060208310610133831016604e8410600b8410161715613035575081810a611166565b61303f8383612f7a565b805f190482111561305257613052612f1f565b029392505050565b5f6118d18383612fbc565b808202811582820484141761116657611166612f1f565b8082018082111561116657611166612f1f565b5f6020828403121561309f575f80fd5b81516118d181612ac7565b8181038181111561116657611166612f1f565b634e487b7160e01b5f52601260045260245ffd5b5f826130eb57634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212208d1a7dee0d422ae1ada7afeec01b39bae39632e5cfc05d5410ef90c7e961ea3b64736f6c63430008160033', - methodIdentifiers: { - "executeFinalizeTransfer(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => DataTypes.UserConfigurationMap) storage,DataTypes.FinalizeTransferParams)": "8a5dadd1", - "executeSupply(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSupplyParams)": "1913f161", - "executeUseReserveAsCollateral(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,address,bool,uint256,address,uint8)": "bf697a26", - "executeWithdraw(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteWithdrawParams)": "186dea44" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts b/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts deleted file mode 100644 index 6bbc43d0d..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const UniV3Path: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=UniV3Path.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts.map b/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts.map deleted file mode 100644 index e4c2f372a..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Path.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UniV3Path.d.ts","sourceRoot":"","sources":["../src/UniV3Path.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;cAE4Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UniV3Path.js b/packages/hyperdrive-artifacts/dist/UniV3Path.js deleted file mode 100644 index 42831f277..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Path.js +++ /dev/null @@ -1,5 +0,0 @@ -export const UniV3Path = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220946aea3c8293c5add4bbb376210b6a783ed7ecad09c5de0ace6c7ec15af1961964736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts b/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts deleted file mode 100644 index 19cf4aeed..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts +++ /dev/null @@ -1,723 +0,0 @@ -export declare const UniV3Zap: { - abi: readonly [{ - readonly type: "constructor"; - readonly inputs: readonly [{ - readonly name: "_name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "_swapRouter"; - readonly type: "address"; - readonly internalType: "contract ISwapRouter"; - }, { - readonly name: "_weth"; - readonly type: "address"; - readonly internalType: "contract IWETH"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "receive"; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "addLiquidityZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_minLpSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxApr"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "closeLongZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeShortZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "kind"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "name"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "openLongZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_minOutput"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "longAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "openShortZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_bondAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_maxDeposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minVaultSharePrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_hyperdriveOptions"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_zapInOptions"; - readonly type: "tuple"; - readonly internalType: "struct IUniV3Zap.ZapInOptions"; - readonly components: readonly [{ - readonly name: "swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "sourceAsset"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "sourceAmount"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isRebasing"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "maturityTime"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deposit"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "payable"; - }, { - readonly type: "function"; - readonly name: "redeemWithdrawalSharesZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalSharesRedeemed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeLiquidityZap"; - readonly inputs: readonly [{ - readonly name: "_hyperdrive"; - readonly type: "address"; - readonly internalType: "contract IHyperdrive"; - }, { - readonly name: "_lpShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_minOutputPerShare"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "_options"; - readonly type: "tuple"; - readonly internalType: "struct IHyperdrive.Options"; - readonly components: readonly [{ - readonly name: "destination"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "asBase"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "extraData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }, { - readonly name: "_swapParams"; - readonly type: "tuple"; - readonly internalType: "struct ISwapRouter.ExactInputParams"; - readonly components: readonly [{ - readonly name: "path"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "recipient"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "deadline"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountIn"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "amountOutMinimum"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "_shouldWrap"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "proceeds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "withdrawalShares"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "swapRouter"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract ISwapRouter"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "version"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "weth"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "contract IWETH"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "error"; - readonly name: "AddressEmptyCode"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "AddressInsufficientBalance"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "FailedInnerCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidInputToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidOutputToken"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidRecipient"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSourceAmount"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSourceAsset"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidSwap"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTimestamp"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "InvalidTransfer"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "NotPayable"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "ReentrancyGuardReentrantCall"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "SafeERC20FailedOperation"; - readonly inputs: readonly [{ - readonly name: "token"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }, { - readonly type: "error"; - readonly name: "ShouldWrapAssets"; - readonly inputs: readonly []; - }, { - readonly type: "error"; - readonly name: "TransferFailed"; - readonly inputs: readonly []; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6"; - readonly "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838"; - readonly "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d"; - readonly "kind()": "04baa00b"; - readonly "name()": "06fdde03"; - readonly "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586"; - readonly "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046"; - readonly "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d"; - readonly "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5"; - readonly "swapRouter()": "c31c9c07"; - readonly "version()": "54fd4d50"; - readonly "weth()": "3fc8cef3"; - }; -}; -//# sourceMappingURL=UniV3Zap.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts.map b/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts.map deleted file mode 100644 index 863969022..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Zap.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UniV3Zap.d.ts","sourceRoot":"","sources":["../src/UniV3Zap.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAi5BmitB,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;CAepktB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UniV3Zap.js b/packages/hyperdrive-artifacts/dist/UniV3Zap.js deleted file mode 100644 index 4d75c0afc..000000000 --- a/packages/hyperdrive-artifacts/dist/UniV3Zap.js +++ /dev/null @@ -1,929 +0,0 @@ -export const UniV3Zap = { - abi: [ - { - "type": "constructor", - "inputs": [ - { - "name": "_name", - "type": "string", - "internalType": "string" - }, - { - "name": "_swapRouter", - "type": "address", - "internalType": "contract ISwapRouter" - }, - { - "name": "_weth", - "type": "address", - "internalType": "contract IWETH" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "addLiquidityZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_minLpSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxApr", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "lpShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "closeLongZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeShortZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "kind", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "openLongZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_minOutput", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "longAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "openShortZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_bondAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_maxDeposit", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minVaultSharePrice", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_hyperdriveOptions", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_zapInOptions", - "type": "tuple", - "internalType": "struct IUniV3Zap.ZapInOptions", - "components": [ - { - "name": "swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sourceAsset", - "type": "address", - "internalType": "address" - }, - { - "name": "sourceAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "shouldWrap", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isRebasing", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "outputs": [ - { - "name": "maturityTime", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deposit", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "redeemWithdrawalSharesZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_withdrawalShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalSharesRedeemed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeLiquidityZap", - "inputs": [ - { - "name": "_hyperdrive", - "type": "address", - "internalType": "contract IHyperdrive" - }, - { - "name": "_lpShares", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_minOutputPerShare", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_options", - "type": "tuple", - "internalType": "struct IHyperdrive.Options", - "components": [ - { - "name": "destination", - "type": "address", - "internalType": "address" - }, - { - "name": "asBase", - "type": "bool", - "internalType": "bool" - }, - { - "name": "extraData", - "type": "bytes", - "internalType": "bytes" - } - ] - }, - { - "name": "_swapParams", - "type": "tuple", - "internalType": "struct ISwapRouter.ExactInputParams", - "components": [ - { - "name": "path", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "recipient", - "type": "address", - "internalType": "address" - }, - { - "name": "deadline", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountIn", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "amountOutMinimum", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "_shouldWrap", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "proceeds", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "withdrawalShares", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "swapRouter", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ISwapRouter" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "weth", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IWETH" - } - ], - "stateMutability": "view" - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidInputToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidOutputToken", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidRecipient", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSourceAmount", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSourceAsset", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidSwap", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTimestamp", - "inputs": [] - }, - { - "type": "error", - "name": "InvalidTransfer", - "inputs": [] - }, - { - "type": "error", - "name": "NotPayable", - "inputs": [] - }, - { - "type": "error", - "name": "ReentrancyGuardReentrantCall", - "inputs": [] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { - "name": "token", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ShouldWrapAssets", - "inputs": [] - }, - { - "type": "error", - "name": "TransferFailed", - "inputs": [] - } - ], - bytecode: '0x60c060405234801562000010575f80fd5b5060405162002d1238038062002d1283398101604081905262000033916200008f565b60015f8190556200004584826200020b565b506001600160a01b039182166080521660a05250620002d7565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b03811681146200008a575f80fd5b919050565b5f805f60608486031215620000a2575f80fd5b83516001600160401b0380821115620000b9575f80fd5b818601915086601f830112620000cd575f80fd5b815181811115620000e257620000e26200005f565b604051601f8201601f19908116603f011681019083821181831017156200010d576200010d6200005f565b8160405282815260209350898484870101111562000129575f80fd5b5f91505b828210156200014c57848201840151818301850152908301906200012d565b5f8484830101528097505050506200016681870162000073565b93505050620001786040850162000073565b90509250925092565b600181811c908216806200019657607f821691505b602082108103620001b557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200020657805f5260205f20601f840160051c81016020851015620001e25750805b601f840160051c820191505b8181101562000203575f8155600101620001ee565b50505b505050565b81516001600160401b038111156200022757620002276200005f565b6200023f8162000238845462000181565b84620001bb565b602080601f83116001811462000275575f84156200025d5750858301515b5f19600386901b1c1916600185901b178555620002cf565b5f85815260208120601f198616915b82811015620002a55788860151825594840194600190910190840162000284565b5085821015620002c357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a0516129be620003545f395f818161019801528181610d0601528181610ec0015281816113e60152818161192e01528181611a3901528181611c5501528181611d5b0152611da701525f818161025a0152818161123f0152818161130a0152818161135201528181611c8a0152611ce201526129be5ff3fe6080604052600436106100a8575f3560e01c806354fd4d501161006257806354fd4d50146101e55780635bf8404614610217578063ba77fd3d1461022a578063c31c9c0714610249578063d49518381461027c578063dcda7d3d1461029b575f80fd5b806304baa00b146100d557806306fdde031461011e5780631fd5fcd61461013257806323003ba5146101535780633fc8cef3146101875780634b22d586146101d2575f80fd5b366100d1575f546002146100cf57604051632f35253160e01b815260040160405180910390fd5b005b5f80fd5b3480156100e0575f80fd5b50610108604051806040016040528060088152602001670556e6956335a61760c41b81525081565b60405161011591906121fe565b60405180910390f35b348015610129575f80fd5b506101086102ba565b61014561014036600461224a565b610346565b604051908152602001610115565b34801561015e575f80fd5b5061017261016d3660046122e3565b6104be565b60408051928352602083019190915201610115565b348015610192575f80fd5b506101ba7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610115565b6101726101e036600461237a565b6105dc565b3480156101f0575f80fd5b5061010860405180604001604052806007815260200166076312e302e32360cc1b81525081565b61017261022536600461224a565b6106fc565b348015610235575f80fd5b506101456102443660046123fe565b6108ee565b348015610254575f80fd5b506101ba7f000000000000000000000000000000000000000000000000000000000000000081565b348015610287575f80fd5b506101456102963660046123fe565b610a14565b3480156102a6575f80fd5b506101726102b53660046122e3565b610ac9565b600180546102c79061249f565b80601f01602080910402602001604051908101604052809291908181526020018280546102f39061249f565b801561033e5780601f106103155761010080835404028352916020019161033e565b820191905f5260205f20905b81548152906001019060200180831161032157829003601f168201915b505050505081565b5f61034f610b78565b5f61035b888585610ba0565b90505f61037061036a85612617565b83611090565b9050816103e6576103e6896103868360016126b1565b6103d661039388806126c4565b61039d90806126e2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114be92505050565b6001600160a01b031691906114cf565b6103f6604086016020870161272c565b15801561040e575061040e60a085016080860161272c565b156104205761041d8982611592565b90505b5f8261042c575f61042e565b815b9050896001600160a01b0316634c2ac1d982848c8c8c8c6040518763ffffffff1660e01b81526004016104659594939291906127e7565b60206040518083038185885af1158015610481573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906104a69190612811565b93505050506104b460015f55565b9695505050505050565b5f806104c8610b78565b5f6104dd89876104d788612828565b87611782565b604051630e07895b60e11b81529091506001600160a01b038a1690631c0f12b690610512905f90339030908e90600401612833565b5f604051808303815f87803b158015610529575f80fd5b505af115801561053b573d5f803e3d5ffd5b50506040516332f04d0d60e21b81526001600160a01b038c16925063cbc13434915061056f908b908b908b90600401612858565b60408051808303815f875af115801561058a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ae9190612876565b92506105c590506105be86612828565b82866119fd565b9250506105d160015f55565b965096945050505050565b5f806105e6610b78565b5f6105f2888686610ba0565b90505f61060161036a86612617565b90508161062457610624896106178360016126b1565b6103d661039389806126c4565b610634604087016020880161272c565b15801561064c575061064c60a086016080870161272c565b1561065e5761065b8982611592565b90505b5f8261066a575f61066c565b815b9050896001600160a01b031663cba2e58d82848c8c8c6040518663ffffffff1660e01b81526004016106a19493929190612898565b604080518083038185885af11580156106bc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106e19190612876565b90955093505050506106f260015f55565b9550959350505050565b5f80610706610b78565b5f610712898686610ba0565b90505f61072161036a86612617565b90505f61073161039387806126c4565b905082610758576107588b6107478460016126b1565b6001600160a01b03841691906114cf565b5f83610764575f610766565b825b90508b6001600160a01b031663dbbe8070828d8d8d8d6040518663ffffffff1660e01b815260040161079b9493929190612898565b604080518083038185885af11580156107b6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107db9190612876565b9096509450831561085b57478015610855576040515f90339083908381818185875af1925050503d805f811461082c576040519150601f19603f3d011682016040523d82523d5f602084013e610831565b606091505b5050905080610853576040516312171d8360e31b815260040160405180910390fd5b505b506108e1565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561089f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c39190612811565b905080156108df576108df6001600160a01b0384163383611ee8565b505b505050506105d160015f55565b5f6108f7610b78565b5f61090c898661090687612828565b86611782565b9050886001600160a01b0316631c0f12b661092860028b611f1e565b33308b6040518563ffffffff1660e01b815260040161094a9493929190612833565b5f604051808303815f87803b158015610961575f80fd5b505af1158015610973573d5f803e3d5ffd5b50506040516329b23fc160e01b81526001600160a01b038c1692506329b23fc191506109a9908b908b908b908b90600401612898565b6020604051808303815f875af11580156109c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e99190612811565b506109fd6109f685612828565b82856119fd565b915050610a0960015f55565b979650505050505050565b5f610a1d610b78565b5f610a2c898661090687612828565b9050886001600160a01b0316631c0f12b6610a4860018b611f1e565b33308b6040518563ffffffff1660e01b8152600401610a6a9493929190612833565b5f604051808303815f87803b158015610a81575f80fd5b505af1158015610a93573d5f803e3d5ffd5b505060405163ded0623160e01b81526001600160a01b038c16925063ded0623191506109a9908b908b908b908b90600401612898565b5f80610ad3610b78565b5f610ae289876104d788612828565b604051630e07895b60e11b81529091506001600160a01b038a1690631c0f12b690610b1b90600360f81b90339030908e90600401612833565b5f604051808303815f87803b158015610b32575f80fd5b505af1158015610b44573d5f803e3d5ffd5b505060405163074a6de960e01b81526001600160a01b038c16925063074a6de9915061056f908b908b908b90600401612858565b60025f5403610b9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f30610bac83806126c4565b610bbd9060408101906020016128bc565b6001600160a01b031614610be457604051634e46966960e11b815260040160405180910390fd5b5f610c35610bf284806126c4565b610bfc90806126e2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611f5292505050565b90505f610c4561039385806126c4565b9050806001600160a01b0316826001600160a01b031603610c7957604051631115766760e01b815260040160405180910390fd5b610c89608085016060860161272c565b15610dd3576001600160a01b038216610ca860408601602087016128bc565b6001600160a01b031603610cce57604051625605b760e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610cf360408601602087016128bc565b6001600160a01b0316148015610d3b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b15610d5857604051625605b760e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610d7d60408601602087016128bc565b6001600160a01b0316148015610db157508360400135341080610db15750610da584806126c4565b60600135846040013514155b15610dce57604051625605b760e01b815260040160405180910390fd5b610e44565b6001600160a01b038216610ded60408601602087016128bc565b6001600160a01b031614610e1357604051625605b760e01b815260040160405180910390fd5b610e1d84806126c4565b60600135846040013514610e44576040516397e0deb160e01b815260040160405180910390fd5b5f866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea591906128d7565b9050610eb7604087016020880161272c565b8015610ef457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8015610f1c57506001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b15610f2d5760019350505050611089565b610f3d604087016020880161272c565b8015610fba5750866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa491906128d7565b6001600160a01b0316826001600160a01b031614155b15610fd7576040516231010160e51b815260040160405180910390fd5b610fe7604087016020880161272c565b1580156110655750866001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104f91906128d7565b6001600160a01b0316826001600160a01b031614155b15611082576040516231010160e51b815260040160405180910390fd5b5f93505050505b9392505050565b815151602001515f90819081908190600160601b9004905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031686602001516001600160a01b0316036110f9578551606001516110e990346128f2565b8651606001519093509150611339565b8560600151156112725761112b3330886040015189602001516001600160a01b0316611f60909392919063ffffffff16565b611155818760400151600161114091906126b1565b60208901516001600160a01b031691906114cf565b6040868101519051630ea598cb60e41b815260048101919091526001600160a01b0382169063ea598cb0906024016020604051808303815f875af115801561119f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c39190612811565b506040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa158015611206573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122a9190612811565b86516060908101919091528651015161126a907f0000000000000000000000000000000000000000000000000000000000000000906107479060016126b1565b349250611339565b604086015161128f906001600160a01b0383169033903090611f60565b6040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa1580156112d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f59190612811565b865160609081019190915286510151611335907f0000000000000000000000000000000000000000000000000000000000000000906107479060016126b1565b3492505b855160405163c04b8d5960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163c04b8d5991859161138791600401612905565b60206040518083038185885af11580156113a3573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113c89190612811565b9350841561144657604051632e1a7d4d60e01b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b15801561142f575f80fd5b505af1158015611441573d5f803e3d5ffd5b505050505b82156114b4576040515f90339085908381818185875af1925050503d805f811461148b576040519150601f19603f3d011682016040523d82523d5f602084013e611490565b606091505b50509050806114b2576040516312171d8360e31b815260040160405180910390fd5b505b5050505b92915050565b805101600c0151600160601b900490565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115208482611f99565b61158c576040516001600160a01b0384811660248301525f604483015261158291869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061203a565b61158c848261203a565b50505050565b5f4660011480156115bf57506001600160a01b03831673d7e470043241c10970953bd8374ee6238e77d735145b1561169757826001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611600573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162491906128d7565b6001600160a01b03166319208451836040518263ffffffff1660e01b815260040161165191815260200190565b602060405180830381865afa15801561166c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116909190612811565b90506114b8565b4660011480156116c357506001600160a01b03831673324395d5d835f84a02a75aa26814f6fd22f25698145b1561175557826001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611704573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172891906128d7565b6001600160a01b031663c6e6f592836040518263ffffffff1660e01b815260040161165191815260200190565b6040516363737ac960e11b8152600481018390526001600160a01b0384169063c6e6f59290602401611651565b5f3061179160208601866128bc565b6001600160a01b0316146117b857604051634e46966960e11b815260040160405180910390fd5b825160208101518151909101600c0151600160601b91829004915f91049050806001600160a01b0316826001600160a01b03160361180957604051631115766760e01b815260040160405180910390fd5b5f61181a604088016020890161272c565b1561188657876001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f91906128d7565b90506118e9565b876001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e691906128d7565b90505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611983578461192c57604051633f27152160e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161461197e57604051632df9739b60e01b815260040160405180910390fd5b610a09565b841580156119a35750826001600160a01b0316816001600160a01b031614155b156119c157604051632df9739b60e01b815260040160405180910390fd5b8480156119df5750826001600160a01b0316816001600160a01b0316145b15610a0957604051632df9739b60e01b815260040160405180910390fd5b8251602001515f90600160601b90048215611ba15773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601611aac577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004015f604051808303818588803b158015611a90575f80fd5b505af1158015611aa2573d5f803e3d5ffd5b5050505050611ba1565b6040516370a0823160e01b81523060048201525f906001600160a01b038616906370a0823190602401602060405180830381865afa158015611af0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b149190612811565b9050611b3682611b258360016126b1565b6001600160a01b03881691906114cf565b604051630ea598cb60e41b8152600481018290526001600160a01b0383169063ea598cb0906024016020604051808303815f875af1158015611b7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9e9190612811565b50505b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015611be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c099190612811565b9050611c2886608001518760600151836120a09092919063ffffffff16565b6080870152606086018190528551805101600c01516020870151600160601b909104906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690831603611c85573060208901525b611ccb7f000000000000000000000000000000000000000000000000000000000000000089606001516001611cba91906126b1565b6001600160a01b03871691906114cf565b60405163c04b8d5960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c04b8d5990611d17908b90600401612905565b6020604051808303815f875af1158015611d33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d579190612811565b94507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603611edd576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d9082906370a0823190602401602060405180830381865afa158015611dfc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e209190612811565b6040518263ffffffff1660e01b8152600401611e3e91815260200190565b5f604051808303815f87803b158015611e55575f80fd5b505af1158015611e67573d5f803e3d5ffd5b505050505f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114611eb4576040519150601f19603f3d011682016040523d82523d5f602084013e611eb9565b606091505b5050905080611edb576040516312171d8360e31b815260040160405180910390fd5b505b505050509392505050565b6040516001600160a01b03838116602483015260448201839052611f1991859182169063a9059cbb90606401611550565b505050565b5f6001600160f81b03821115611f475760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b60200151600160601b900490565b6040516001600160a01b03848116602483015283811660448301526064820183905261158c9186918216906323b872dd90608401611550565b5f805f846001600160a01b031684604051611fb4919061295c565b5f604051808303815f865af19150503d805f8114611fed576040519150601f19603f3d011682016040523d82523d5f602084013e611ff2565b606091505b509150915081801561201c57508051158061201c57508080602001905181019061201c919061296d565b801561203157505f856001600160a01b03163b115b95945050505050565b5f61204e6001600160a01b038416836120bb565b905080515f14158015612072575080806020019051810190612070919061296d565b155b15611f1957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f825f1904841183021582026120b4575f80fd5b5091020490565b606061108983835f845f80856001600160a01b031684866040516120df919061295c565b5f6040518083038185875af1925050503d805f8114612119576040519150601f19603f3d011682016040523d82523d5f602084013e61211e565b606091505b50915091506104b486838360608261213e5761213982612185565b611089565b815115801561215557506001600160a01b0384163b155b1561217e57604051639996b31560e01b81526001600160a01b0385166004820152602401612097565b5080611089565b8051156121955780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5f5b838110156121cb5781810151838201526020016121b3565b50505f910152565b5f81518084526121ea8160208601602086016121b1565b601f01601f19169290920160200192915050565b602081525f61108960208301846121d3565b6001600160a01b03811681146121ae575f80fd5b5f60608284031215612234575f80fd5b50919050565b5f60a08284031215612234575f80fd5b5f805f805f8060c0878903121561225f575f80fd5b863561226a81612210565b9550602087013594506040870135935060608701359250608087013567ffffffffffffffff8082111561229b575f80fd5b6122a78a838b01612224565b935060a08901359150808211156122bc575f80fd5b506122c989828a0161223a565b9150509295509295509295565b80151581146121ae575f80fd5b5f805f805f8060c087890312156122f8575f80fd5b863561230381612210565b95506020870135945060408701359350606087013567ffffffffffffffff8082111561232d575f80fd5b6123398a838b01612224565b9450608089013591508082111561234e575f80fd5b5061235b89828a0161223a565b92505060a087013561236c816122d6565b809150509295509295509295565b5f805f805f60a0868803121561238e575f80fd5b853561239981612210565b94506020860135935060408601359250606086013567ffffffffffffffff808211156123c3575f80fd5b6123cf89838a01612224565b935060808801359150808211156123e4575f80fd5b506123f18882890161223a565b9150509295509295909350565b5f805f805f805f60e0888a031215612414575f80fd5b873561241f81612210565b9650602088013595506040880135945060608801359350608088013567ffffffffffffffff80821115612450575f80fd5b61245c8b838c01612224565b945060a08a0135915080821115612471575f80fd5b5061247e8a828b0161223a565b92505060c088013561248f816122d6565b8091505092959891949750929550565b600181811c908216806124b357607f821691505b60208210810361223457634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b60405160a0810167ffffffffffffffff81118282101715612508576125086124d1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612537576125376124d1565b604052919050565b803561254a81612210565b919050565b5f60a0828403121561255f575f80fd5b6125676124e5565b9050813567ffffffffffffffff80821115612580575f80fd5b818401915084601f830112612593575f80fd5b81356020828211156125a7576125a76124d1565b6125b9601f8301601f1916820161250e565b925081835286818386010111156125ce575f80fd5b81818501828501375f8183850101528285526125eb81870161253f565b818601525050505060408201356040820152606082013560608201526080820135608082015292915050565b5f60a08236031215612627575f80fd5b61262f6124e5565b823567ffffffffffffffff811115612645575f80fd5b6126513682860161254f565b825250602083013561266281612210565b602082015260408381013590820152606083013561267f816122d6565b60608201526080830135612692816122d6565b608082015292915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156114b8576114b861269d565b5f8235609e198336030181126126d8575f80fd5b9190910192915050565b5f808335601e198436030181126126f7575f80fd5b83018035915067ffffffffffffffff821115612711575f80fd5b602001915036819003821315612725575f80fd5b9250929050565b5f6020828403121561273c575f80fd5b8135611089816122d6565b5f813561275381612210565b6001600160a01b03168352602082013561276c816122d6565b15156020840152604082013536839003601e1901811261278a575f80fd5b820160208101903567ffffffffffffffff8111156127a6575f80fd5b8036038213156127b4575f80fd5b60606040860152806060860152808260808701375f608082870101526080601f19601f8301168601019250505092915050565b85815284602082015283604082015282606082015260a060808201525f610a0960a0830184612747565b5f60208284031215612821575f80fd5b5051919050565b5f6114b8368361254f565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b838152826020820152606060408201525f6120316060830184612747565b5f8060408385031215612887575f80fd5b505080516020909101519092909150565b848152836020820152826040820152608060608201525f6104b46080830184612747565b5f602082840312156128cc575f80fd5b813561108981612210565b5f602082840312156128e7575f80fd5b815161108981612210565b818103818111156114b8576114b861269d565b602081525f825160a0602084015261292060c08401826121d3565b905060018060a01b0360208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b5f82516126d88184602087016121b1565b5f6020828403121561297d575f80fd5b8151611089816122d656fea264697066735822122034463bb058ee2269f41a7881f7bae5d9ffd44c93ad4b8ed78b08c825b443fc8064736f6c63430008160033', - methodIdentifiers: { - "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6", - "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838", - "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d", - "kind()": "04baa00b", - "name()": "06fdde03", - "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586", - "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046", - "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d", - "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5", - "swapRouter()": "c31c9c07", - "version()": "54fd4d50", - "weth()": "3fc8cef3" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts b/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts deleted file mode 100644 index ccdefb0dc..000000000 --- a/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const UserConfiguration: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=UserConfiguration.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts.map b/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts.map deleted file mode 100644 index 8abcbe1ba..000000000 --- a/packages/hyperdrive-artifacts/dist/UserConfiguration.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UserConfiguration.d.ts","sourceRoot":"","sources":["../src/UserConfiguration.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;cAEoQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UserConfiguration.js b/packages/hyperdrive-artifacts/dist/UserConfiguration.js deleted file mode 100644 index 90ec9ad65..000000000 --- a/packages/hyperdrive-artifacts/dist/UserConfiguration.js +++ /dev/null @@ -1,5 +0,0 @@ -export const UserConfiguration = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b6e390ac94856075840bbcbb4f3848e0a7400ae6502b21c6528a54b245c6cbc664736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts b/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts deleted file mode 100644 index f8fdbe344..000000000 --- a/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const UtilsLib: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=UtilsLib.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts.map b/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts.map deleted file mode 100644 index 5c4c22ac0..000000000 --- a/packages/hyperdrive-artifacts/dist/UtilsLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UtilsLib.d.ts","sourceRoot":"","sources":["../src/UtilsLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;cAE6Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/UtilsLib.js b/packages/hyperdrive-artifacts/dist/UtilsLib.js deleted file mode 100644 index b36e25591..000000000 --- a/packages/hyperdrive-artifacts/dist/UtilsLib.js +++ /dev/null @@ -1,5 +0,0 @@ -export const UtilsLib = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207c785c933eae5fa21fe227a1c5f03f62ac951f2d77879c11e5982a8fe556887b64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts b/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts deleted file mode 100644 index af2b54562..000000000 --- a/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -export declare const ValidationLogic: { - abi: readonly [{ - readonly type: "function"; - readonly name: "HEALTH_FACTOR_LIQUIDATION_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "ISOLATED_COLLATERAL_SUPPLIER_ROLE"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "c3525c28"; - readonly "ISOLATED_COLLATERAL_SUPPLIER_ROLE()": "2b0139fa"; - readonly "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "561cbec9"; - readonly "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD()": "abfcc86a"; - }; -}; -//# sourceMappingURL=ValidationLogic.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts.map b/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts.map deleted file mode 100644 index 4a732cda9..000000000 --- a/packages/hyperdrive-artifacts/dist/ValidationLogic.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ValidationLogic.d.ts","sourceRoot":"","sources":["../src/ValidationLogic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuD4iB,KAAK,MAAM,EAAE;;;;;;;CAOplB,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/ValidationLogic.js b/packages/hyperdrive-artifacts/dist/ValidationLogic.js deleted file mode 100644 index 92bde5a82..000000000 --- a/packages/hyperdrive-artifacts/dist/ValidationLogic.js +++ /dev/null @@ -1,63 +0,0 @@ -export const ValidationLogic = { - abi: [ - { - "type": "function", - "name": "HEALTH_FACTOR_LIQUIDATION_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "ISOLATED_COLLATERAL_SUPPLIER_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - } - ], - bytecode: '0x60e6610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106050575f3560e01c80632b0139fa146054578063561cbec914608c578063abfcc86a14609a578063c3525c281460a2575b5f80fd5b607a7fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78281565b60405190815260200160405180910390f35b607a670d2f13f7789f000081565b607a61232881565b607a670de0b6b3a76400008156fea264697066735822122038dabb7fdd3c0dd70d047b3422215b12687e25da61ede72715a236c6c255b81564736f6c63430008160033', - methodIdentifiers: { - "HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "c3525c28", - "ISOLATED_COLLATERAL_SUPPLIER_ROLE()": "2b0139fa", - "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "561cbec9", - "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD()": "abfcc86a" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts b/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts deleted file mode 100644 index 814154a26..000000000 --- a/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const VersionedInitializable: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=VersionedInitializable.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts.map b/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts.map deleted file mode 100644 index fea155764..000000000 --- a/packages/hyperdrive-artifacts/dist/VersionedInitializable.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"VersionedInitializable.d.ts","sourceRoot":"","sources":["../src/VersionedInitializable.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;cAEf,KAAK,MAAM,EAAE;;CAEhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/VersionedInitializable.js b/packages/hyperdrive-artifacts/dist/VersionedInitializable.js deleted file mode 100644 index 688e23493..000000000 --- a/packages/hyperdrive-artifacts/dist/VersionedInitializable.js +++ /dev/null @@ -1,5 +0,0 @@ -export const VersionedInitializable = { - abi: [], - bytecode: '0x', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/Vm.d.ts b/packages/hyperdrive-artifacts/dist/Vm.d.ts deleted file mode 100644 index 8c6a471f9..000000000 --- a/packages/hyperdrive-artifacts/dist/Vm.d.ts +++ /dev/null @@ -1,6672 +0,0 @@ -export declare const Vm: { - abi: readonly [{ - readonly type: "function"; - readonly name: "accesses"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "readSlots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "writeSlots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "activeFork"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "addr"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "keyAddr"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "allowCheatcodes"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertFalse"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertFalse"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertTrue"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertTrue"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assume"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "breakpoint"; - readonly inputs: readonly [{ - readonly name: "char"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "breakpoint"; - readonly inputs: readonly [{ - readonly name: "char"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly [{ - readonly name: "signer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "chainId"; - readonly inputs: readonly [{ - readonly name: "newChainId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "clearMockedCalls"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "coinbase"; - readonly inputs: readonly [{ - readonly name: "newCoinbase"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "copyFile"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "to"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "copied"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "recursive"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createSelectFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createSelectFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createSelectFork"; - readonly inputs: readonly [{ - readonly name: "urlOrAlias"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "walletLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "walletLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deal"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteSnapshot"; - readonly inputs: readonly [{ - readonly name: "snapshotId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deleteSnapshots"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "derivationPath"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }, { - readonly name: "language"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }, { - readonly name: "language"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "derivationPath"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "difficulty"; - readonly inputs: readonly [{ - readonly name: "newDifficulty"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "dumpState"; - readonly inputs: readonly [{ - readonly name: "pathToStateJson"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "envAddress"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envAddress"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBool"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBool"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes32"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes32"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envInt"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envInt"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envString"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envString"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envUint"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envUint"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "etch"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newRuntimeBytecode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "eth_getLogs"; - readonly inputs: readonly [{ - readonly name: "fromBlock"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "toBlock"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "logs"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.EthGetLogs[]"; - readonly components: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "blockNumber"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "transactionHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "transactionIndex"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "logIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "removed"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "exists"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "gas"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "gas"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "count"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "count"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "count"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCallMinGas"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minGas"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectCallMinGas"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "minGas"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "count"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectEmit"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectEmit"; - readonly inputs: readonly [{ - readonly name: "checkTopic1"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkTopic2"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkTopic3"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkData"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectEmit"; - readonly inputs: readonly [{ - readonly name: "checkTopic1"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkTopic2"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkTopic3"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "checkData"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectEmit"; - readonly inputs: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectRevert"; - readonly inputs: readonly [{ - readonly name: "revertData"; - readonly type: "bytes4"; - readonly internalType: "bytes4"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectRevert"; - readonly inputs: readonly [{ - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectRevert"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectSafeMemory"; - readonly inputs: readonly [{ - readonly name: "min"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "max"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "expectSafeMemoryCall"; - readonly inputs: readonly [{ - readonly name: "min"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "max"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "fee"; - readonly inputs: readonly [{ - readonly name: "newBasefee"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "ffi"; - readonly inputs: readonly [{ - readonly name: "commandInput"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "fsMetadata"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "metadata"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.FsMetadata"; - readonly components: readonly [{ - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "length"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "readOnly"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "modified"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "accessed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "created"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockNumber"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "height"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockTimestamp"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "timestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCode"; - readonly inputs: readonly [{ - readonly name: "artifactPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "creationBytecode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployedCode"; - readonly inputs: readonly [{ - readonly name: "artifactPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "runtimeBytecode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getLabel"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "currentLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMappingKeyAndParentOf"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "elementSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "found"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "parent"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getMappingLength"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "mappingSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "length"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getMappingSlotAt"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "mappingSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "idx"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNonce"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNonce"; - readonly inputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getRecordedLogs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "logs"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.Log[]"; - readonly components: readonly [{ - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isPersistent"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "persistent"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "keyExists"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "keyExistsJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "keyExistsToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "label"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "loadAllocs"; - readonly inputs: readonly [{ - readonly name: "pathToAllocsJson"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "makePersistent"; - readonly inputs: readonly [{ - readonly name: "accounts"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "makePersistent"; - readonly inputs: readonly [{ - readonly name: "account0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "account1"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "makePersistent"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "makePersistent"; - readonly inputs: readonly [{ - readonly name: "account0"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "account1"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "account2"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mockCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mockCall"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "returnData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mockCallRevert"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "msgValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "mockCallRevert"; - readonly inputs: readonly [{ - readonly name: "callee"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "revertData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "parseAddress"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBool"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBytes"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBytes32"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseInt"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonAddress"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonAddressArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBool"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBoolArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes32"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes32Array"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytesArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonInt"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonIntArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonKeys"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "keys"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonString"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonStringArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonUint"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonUintArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlAddress"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlAddressArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBool"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBoolArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes32"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes32Array"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytesArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlInt"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlIntArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlKeys"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "keys"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlString"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlStringArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlUint"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlUintArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseUint"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "pauseGasMetering"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "prank"; - readonly inputs: readonly [{ - readonly name: "msgSender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "txOrigin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "prank"; - readonly inputs: readonly [{ - readonly name: "msgSender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "prevrandao"; - readonly inputs: readonly [{ - readonly name: "newPrevrandao"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "projectRoot"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readCallers"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "callerMode"; - readonly type: "uint8"; - readonly internalType: "enum VmSafe.CallerMode"; - }, { - readonly name: "msgSender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "txOrigin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "maxDepth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "maxDepth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "followLinks"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readFileBinary"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readLine"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "line"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readLink"; - readonly inputs: readonly [{ - readonly name: "linkPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "targetPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "record"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "recordLogs"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rememberKey"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "keyAddr"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "recursive"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "replace"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "from"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "to"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "resetNonce"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "resumeGasMetering"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "revertTo"; - readonly inputs: readonly [{ - readonly name: "snapshotId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "revertToAndDelete"; - readonly inputs: readonly [{ - readonly name: "snapshotId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "success"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "revokePersistent"; - readonly inputs: readonly [{ - readonly name: "accounts"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "revokePersistent"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "roll"; - readonly inputs: readonly [{ - readonly name: "newHeight"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rollFork"; - readonly inputs: readonly [{ - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rollFork"; - readonly inputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rollFork"; - readonly inputs: readonly [{ - readonly name: "blockNumber"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rollFork"; - readonly inputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rpc"; - readonly inputs: readonly [{ - readonly name: "method"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rpcUrl"; - readonly inputs: readonly [{ - readonly name: "rpcAlias"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rpcUrlStructs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "urls"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.Rpc[]"; - readonly components: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "url"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rpcUrls"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "urls"; - readonly type: "string[2][]"; - readonly internalType: "string[2][]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "selectFork"; - readonly inputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeAddress"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeAddress"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBool"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBool"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes32"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes32"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeInt"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeInt"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeJson"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeString"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeString"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeUint"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeUint"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setEnv"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setNonce"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newNonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setNonceUnsafe"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newNonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sign"; - readonly inputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sign"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "signP256"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "skip"; - readonly inputs: readonly [{ - readonly name: "skipTest"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sleep"; - readonly inputs: readonly [{ - readonly name: "duration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "snapshot"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "snapshotId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "split"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delimiter"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "outputs"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly [{ - readonly name: "signer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startMappingRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startPrank"; - readonly inputs: readonly [{ - readonly name: "msgSender"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startPrank"; - readonly inputs: readonly [{ - readonly name: "msgSender"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "txOrigin"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startStateDiffRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopAndReturnStateDiff"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "accountAccesses"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.AccountAccess[]"; - readonly components: readonly [{ - readonly name: "chainInfo"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.ChainInfo"; - readonly components: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "chainId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "kind"; - readonly type: "uint8"; - readonly internalType: "enum VmSafe.AccountAccessKind"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accessor"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "initialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "oldBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "newBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deployedCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "reverted"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "storageAccesses"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.StorageAccess[]"; - readonly components: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "isWrite"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "previousValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "newValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "reverted"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopBroadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopExpectSafeMemory"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopMappingRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopPrank"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "store"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "toBase64"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64URL"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64URL"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toLowercase"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toUppercase"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "transact"; - readonly inputs: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "transact"; - readonly inputs: readonly [{ - readonly name: "txHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "trim"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "tryFfi"; - readonly inputs: readonly [{ - readonly name: "commandInput"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.FfiResult"; - readonly components: readonly [{ - readonly name: "exitCode"; - readonly type: "int32"; - readonly internalType: "int32"; - }, { - readonly name: "stdout"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "stderr"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "txGasPrice"; - readonly inputs: readonly [{ - readonly name: "newGasPrice"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "unixTime"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "milliseconds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "warp"; - readonly inputs: readonly [{ - readonly name: "newTimestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeFileBinary"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeLine"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeToml"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeToml"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "accesses(address)": "65bc9481"; - readonly "activeFork()": "2f103f22"; - readonly "addr(uint256)": "ffa18649"; - readonly "allowCheatcodes(address)": "ea060291"; - readonly "assertApproxEqAbs(int256,int256,uint256)": "240f839d"; - readonly "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621"; - readonly "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6"; - readonly "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062"; - readonly "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc"; - readonly "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4"; - readonly "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce"; - readonly "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2"; - readonly "assertApproxEqRel(int256,int256,uint256)": "fea2d14f"; - readonly "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72"; - readonly "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4"; - readonly "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33"; - readonly "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc"; - readonly "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4"; - readonly "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977"; - readonly "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd"; - readonly "assertEq(address,address)": "515361f6"; - readonly "assertEq(address,address,string)": "2f2769d1"; - readonly "assertEq(address[],address[])": "3868ac34"; - readonly "assertEq(address[],address[],string)": "3e9173c5"; - readonly "assertEq(bool,bool)": "f7fe3477"; - readonly "assertEq(bool,bool,string)": "4db19e7e"; - readonly "assertEq(bool[],bool[])": "707df785"; - readonly "assertEq(bool[],bool[],string)": "e48a8f8d"; - readonly "assertEq(bytes,bytes)": "97624631"; - readonly "assertEq(bytes,bytes,string)": "e24fed00"; - readonly "assertEq(bytes32,bytes32)": "7c84c69b"; - readonly "assertEq(bytes32,bytes32,string)": "c1fa1ed0"; - readonly "assertEq(bytes32[],bytes32[])": "0cc9ee84"; - readonly "assertEq(bytes32[],bytes32[],string)": "e03e9177"; - readonly "assertEq(bytes[],bytes[])": "e5fb9b4a"; - readonly "assertEq(bytes[],bytes[],string)": "f413f0b6"; - readonly "assertEq(int256,int256)": "fe74f05b"; - readonly "assertEq(int256,int256,string)": "714a2f13"; - readonly "assertEq(int256[],int256[])": "711043ac"; - readonly "assertEq(int256[],int256[],string)": "191f1b30"; - readonly "assertEq(string,string)": "f320d963"; - readonly "assertEq(string,string,string)": "36f656d8"; - readonly "assertEq(string[],string[])": "cf1c049c"; - readonly "assertEq(string[],string[],string)": "eff6b27d"; - readonly "assertEq(uint256,uint256)": "98296c54"; - readonly "assertEq(uint256,uint256,string)": "88b44c85"; - readonly "assertEq(uint256[],uint256[])": "975d5a12"; - readonly "assertEq(uint256[],uint256[],string)": "5d18c73a"; - readonly "assertEqDecimal(int256,int256,uint256)": "48016c04"; - readonly "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5"; - readonly "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c"; - readonly "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef"; - readonly "assertFalse(bool)": "a5982885"; - readonly "assertFalse(bool,string)": "7ba04809"; - readonly "assertGe(int256,int256)": "0a30b771"; - readonly "assertGe(int256,int256,string)": "a84328dd"; - readonly "assertGe(uint256,uint256)": "a8d4d1d9"; - readonly "assertGe(uint256,uint256,string)": "e25242c0"; - readonly "assertGeDecimal(int256,int256,uint256)": "dc28c0f1"; - readonly "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b"; - readonly "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a"; - readonly "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133"; - readonly "assertGt(int256,int256)": "5a362d45"; - readonly "assertGt(int256,int256,string)": "f8d33b9b"; - readonly "assertGt(uint256,uint256)": "db07fcd2"; - readonly "assertGt(uint256,uint256,string)": "d9a3c4d2"; - readonly "assertGtDecimal(int256,int256,uint256)": "78611f0e"; - readonly "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab"; - readonly "assertGtDecimal(uint256,uint256,uint256)": "eccd2437"; - readonly "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d"; - readonly "assertLe(int256,int256)": "95fd154e"; - readonly "assertLe(int256,int256,string)": "4dfe692c"; - readonly "assertLe(uint256,uint256)": "8466f415"; - readonly "assertLe(uint256,uint256,string)": "d17d4b0d"; - readonly "assertLeDecimal(int256,int256,uint256)": "11d1364a"; - readonly "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788"; - readonly "assertLeDecimal(uint256,uint256,uint256)": "c304aab7"; - readonly "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0"; - readonly "assertLt(int256,int256)": "3e914080"; - readonly "assertLt(int256,int256,string)": "9ff531e3"; - readonly "assertLt(uint256,uint256)": "b12fc005"; - readonly "assertLt(uint256,uint256,string)": "65d5c135"; - readonly "assertLtDecimal(int256,int256,uint256)": "dbe8d88b"; - readonly "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0"; - readonly "assertLtDecimal(uint256,uint256,uint256)": "2077337e"; - readonly "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037"; - readonly "assertNotEq(address,address)": "b12e1694"; - readonly "assertNotEq(address,address,string)": "8775a591"; - readonly "assertNotEq(address[],address[])": "46d0b252"; - readonly "assertNotEq(address[],address[],string)": "72c7e0b5"; - readonly "assertNotEq(bool,bool)": "236e4d66"; - readonly "assertNotEq(bool,bool,string)": "1091a261"; - readonly "assertNotEq(bool[],bool[])": "286fafea"; - readonly "assertNotEq(bool[],bool[],string)": "62c6f9fb"; - readonly "assertNotEq(bytes,bytes)": "3cf78e28"; - readonly "assertNotEq(bytes,bytes,string)": "9507540e"; - readonly "assertNotEq(bytes32,bytes32)": "898e83fc"; - readonly "assertNotEq(bytes32,bytes32,string)": "b2332f51"; - readonly "assertNotEq(bytes32[],bytes32[])": "0603ea68"; - readonly "assertNotEq(bytes32[],bytes32[],string)": "b873634c"; - readonly "assertNotEq(bytes[],bytes[])": "edecd035"; - readonly "assertNotEq(bytes[],bytes[],string)": "1dcd1f68"; - readonly "assertNotEq(int256,int256)": "f4c004e3"; - readonly "assertNotEq(int256,int256,string)": "4724c5b9"; - readonly "assertNotEq(int256[],int256[])": "0b72f4ef"; - readonly "assertNotEq(int256[],int256[],string)": "d3977322"; - readonly "assertNotEq(string,string)": "6a8237b3"; - readonly "assertNotEq(string,string,string)": "78bdcea7"; - readonly "assertNotEq(string[],string[])": "bdfacbe8"; - readonly "assertNotEq(string[],string[],string)": "b67187f3"; - readonly "assertNotEq(uint256,uint256)": "b7909320"; - readonly "assertNotEq(uint256,uint256,string)": "98f9bdbd"; - readonly "assertNotEq(uint256[],uint256[])": "56f29cba"; - readonly "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f"; - readonly "assertNotEqDecimal(int256,int256,uint256)": "14e75680"; - readonly "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b"; - readonly "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7"; - readonly "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558"; - readonly "assertTrue(bool)": "0c9fd581"; - readonly "assertTrue(bool,string)": "a34edc03"; - readonly "assume(bool)": "4c63e562"; - readonly "breakpoint(string)": "f0259e92"; - readonly "breakpoint(string,bool)": "f7d39a8d"; - readonly "broadcast()": "afc98040"; - readonly "broadcast(address)": "e6962cdb"; - readonly "broadcast(uint256)": "f67a965b"; - readonly "chainId(uint256)": "4049ddd2"; - readonly "clearMockedCalls()": "3fdf4e15"; - readonly "closeFile(string)": "48c3241f"; - readonly "coinbase(address)": "ff483c54"; - readonly "computeCreate2Address(bytes32,bytes32)": "890c283b"; - readonly "computeCreate2Address(bytes32,bytes32,address)": "d323826a"; - readonly "computeCreateAddress(address,uint256)": "74637a7a"; - readonly "copyFile(string,string)": "a54a87d8"; - readonly "createDir(string,bool)": "168b64d3"; - readonly "createFork(string)": "31ba3498"; - readonly "createFork(string,bytes32)": "7ca29682"; - readonly "createFork(string,uint256)": "6ba3ba2b"; - readonly "createSelectFork(string)": "98680034"; - readonly "createSelectFork(string,bytes32)": "84d52b7a"; - readonly "createSelectFork(string,uint256)": "71ee464d"; - readonly "createWallet(string)": "7404f1d2"; - readonly "createWallet(uint256)": "7a675bb6"; - readonly "createWallet(uint256,string)": "ed7c5462"; - readonly "deal(address,uint256)": "c88a5e6d"; - readonly "deleteSnapshot(uint256)": "a6368557"; - readonly "deleteSnapshots()": "421ae469"; - readonly "deriveKey(string,string,uint32)": "6bcb2c1b"; - readonly "deriveKey(string,string,uint32,string)": "29233b1f"; - readonly "deriveKey(string,uint32)": "6229498b"; - readonly "deriveKey(string,uint32,string)": "32c8176d"; - readonly "difficulty(uint256)": "46cc92d9"; - readonly "dumpState(string)": "709ecd3f"; - readonly "envAddress(string)": "350d56bf"; - readonly "envAddress(string,string)": "ad31b9fa"; - readonly "envBool(string)": "7ed1ec7d"; - readonly "envBool(string,string)": "aaaddeaf"; - readonly "envBytes(string)": "4d7baf06"; - readonly "envBytes(string,string)": "ddc2651b"; - readonly "envBytes32(string)": "97949042"; - readonly "envBytes32(string,string)": "5af231c1"; - readonly "envInt(string)": "892a0c61"; - readonly "envInt(string,string)": "42181150"; - readonly "envOr(string,address)": "561fe540"; - readonly "envOr(string,bool)": "4777f3cf"; - readonly "envOr(string,bytes)": "b3e47705"; - readonly "envOr(string,bytes32)": "b4a85892"; - readonly "envOr(string,int256)": "bbcb713e"; - readonly "envOr(string,string)": "d145736c"; - readonly "envOr(string,string,address[])": "c74e9deb"; - readonly "envOr(string,string,bool[])": "eb85e83b"; - readonly "envOr(string,string,bytes32[])": "2281f367"; - readonly "envOr(string,string,bytes[])": "64bc3e64"; - readonly "envOr(string,string,int256[])": "4700d74b"; - readonly "envOr(string,string,string[])": "859216bc"; - readonly "envOr(string,string,uint256[])": "74318528"; - readonly "envOr(string,uint256)": "5e97348f"; - readonly "envString(string)": "f877cb19"; - readonly "envString(string,string)": "14b02bc9"; - readonly "envUint(string)": "c1978d1f"; - readonly "envUint(string,string)": "f3dec099"; - readonly "etch(address,bytes)": "b4d6c782"; - readonly "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b"; - readonly "exists(string)": "261a323e"; - readonly "expectCall(address,bytes)": "bd6af434"; - readonly "expectCall(address,bytes,uint64)": "c1adbbff"; - readonly "expectCall(address,uint256,bytes)": "f30c7ba3"; - readonly "expectCall(address,uint256,bytes,uint64)": "a2b1a1ae"; - readonly "expectCall(address,uint256,uint64,bytes)": "23361207"; - readonly "expectCall(address,uint256,uint64,bytes,uint64)": "65b7b7cc"; - readonly "expectCallMinGas(address,uint256,uint64,bytes)": "08e4e116"; - readonly "expectCallMinGas(address,uint256,uint64,bytes,uint64)": "e13a1834"; - readonly "expectEmit()": "440ed10d"; - readonly "expectEmit(address)": "86b9620d"; - readonly "expectEmit(bool,bool,bool,bool)": "491cc7c2"; - readonly "expectEmit(bool,bool,bool,bool,address)": "81bad6f3"; - readonly "expectRevert()": "f4844814"; - readonly "expectRevert(bytes)": "f28dceb3"; - readonly "expectRevert(bytes4)": "c31eb0e0"; - readonly "expectSafeMemory(uint64,uint64)": "6d016688"; - readonly "expectSafeMemoryCall(uint64,uint64)": "05838bf4"; - readonly "fee(uint256)": "39b37ab0"; - readonly "ffi(string[])": "89160467"; - readonly "fsMetadata(string)": "af368a08"; - readonly "getBlockNumber()": "42cbb15c"; - readonly "getBlockTimestamp()": "796b89b9"; - readonly "getCode(string)": "8d1cc925"; - readonly "getDeployedCode(string)": "3ebf73b4"; - readonly "getLabel(address)": "28a249b0"; - readonly "getMappingKeyAndParentOf(address,bytes32)": "876e24e6"; - readonly "getMappingLength(address,bytes32)": "2f2fd63f"; - readonly "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4"; - readonly "getNonce((address,uint256,uint256,uint256))": "a5748aad"; - readonly "getNonce(address)": "2d0335ab"; - readonly "getRecordedLogs()": "191553a4"; - readonly "isDir(string)": "7d15d019"; - readonly "isFile(string)": "e0eb04d4"; - readonly "isPersistent(address)": "d92d8efd"; - readonly "keyExists(string,string)": "528a683c"; - readonly "keyExistsJson(string,string)": "db4235f6"; - readonly "keyExistsToml(string,string)": "600903ad"; - readonly "label(address,string)": "c657c718"; - readonly "load(address,bytes32)": "667f9d70"; - readonly "loadAllocs(string)": "b3a056d7"; - readonly "makePersistent(address)": "57e22dde"; - readonly "makePersistent(address,address)": "4074e0a8"; - readonly "makePersistent(address,address,address)": "efb77a75"; - readonly "makePersistent(address[])": "1d9e269e"; - readonly "mockCall(address,bytes,bytes)": "b96213e4"; - readonly "mockCall(address,uint256,bytes,bytes)": "81409b91"; - readonly "mockCallRevert(address,bytes,bytes)": "dbaad147"; - readonly "mockCallRevert(address,uint256,bytes,bytes)": "d23cd037"; - readonly "parseAddress(string)": "c6ce059d"; - readonly "parseBool(string)": "974ef924"; - readonly "parseBytes(string)": "8f5d232d"; - readonly "parseBytes32(string)": "087e6e81"; - readonly "parseInt(string)": "42346c5e"; - readonly "parseJson(string)": "6a82600a"; - readonly "parseJson(string,string)": "85940ef1"; - readonly "parseJsonAddress(string,string)": "1e19e657"; - readonly "parseJsonAddressArray(string,string)": "2fce7883"; - readonly "parseJsonBool(string,string)": "9f86dc91"; - readonly "parseJsonBoolArray(string,string)": "91f3b94f"; - readonly "parseJsonBytes(string,string)": "fd921be8"; - readonly "parseJsonBytes32(string,string)": "1777e59d"; - readonly "parseJsonBytes32Array(string,string)": "91c75bc3"; - readonly "parseJsonBytesArray(string,string)": "6631aa99"; - readonly "parseJsonInt(string,string)": "7b048ccd"; - readonly "parseJsonIntArray(string,string)": "9983c28a"; - readonly "parseJsonKeys(string,string)": "213e4198"; - readonly "parseJsonString(string,string)": "49c4fac8"; - readonly "parseJsonStringArray(string,string)": "498fdcf4"; - readonly "parseJsonUint(string,string)": "addde2b6"; - readonly "parseJsonUintArray(string,string)": "522074ab"; - readonly "parseToml(string)": "592151f0"; - readonly "parseToml(string,string)": "37736e08"; - readonly "parseTomlAddress(string,string)": "65e7c844"; - readonly "parseTomlAddressArray(string,string)": "65c428e7"; - readonly "parseTomlBool(string,string)": "d30dced6"; - readonly "parseTomlBoolArray(string,string)": "127cfe9a"; - readonly "parseTomlBytes(string,string)": "d77bfdb9"; - readonly "parseTomlBytes32(string,string)": "8e214810"; - readonly "parseTomlBytes32Array(string,string)": "3e716f81"; - readonly "parseTomlBytesArray(string,string)": "b197c247"; - readonly "parseTomlInt(string,string)": "c1350739"; - readonly "parseTomlIntArray(string,string)": "d3522ae6"; - readonly "parseTomlKeys(string,string)": "812a44b2"; - readonly "parseTomlString(string,string)": "8bb8dd43"; - readonly "parseTomlStringArray(string,string)": "9f629281"; - readonly "parseTomlUint(string,string)": "cc7b0487"; - readonly "parseTomlUintArray(string,string)": "b5df27c8"; - readonly "parseUint(string)": "fa91454d"; - readonly "pauseGasMetering()": "d1a5b36f"; - readonly "prank(address)": "ca669fa7"; - readonly "prank(address,address)": "47e50cce"; - readonly "prevrandao(bytes32)": "3b925549"; - readonly "projectRoot()": "d930a0e6"; - readonly "readCallers()": "4ad0bac9"; - readonly "readDir(string)": "c4bc59e0"; - readonly "readDir(string,uint64)": "1497876c"; - readonly "readDir(string,uint64,bool)": "8102d70d"; - readonly "readFile(string)": "60f9bb11"; - readonly "readFileBinary(string)": "16ed7bc4"; - readonly "readLine(string)": "70f55728"; - readonly "readLink(string)": "9f5684a2"; - readonly "record()": "266cf109"; - readonly "recordLogs()": "41af2f52"; - readonly "rememberKey(uint256)": "22100064"; - readonly "removeDir(string,bool)": "45c62011"; - readonly "removeFile(string)": "f1afe04d"; - readonly "replace(string,string,string)": "e00ad03e"; - readonly "resetNonce(address)": "1c72346d"; - readonly "resumeGasMetering()": "2bcd50e0"; - readonly "revertTo(uint256)": "44d7f0a4"; - readonly "revertToAndDelete(uint256)": "03e0aca9"; - readonly "revokePersistent(address)": "997a0222"; - readonly "revokePersistent(address[])": "3ce969e6"; - readonly "roll(uint256)": "1f7b4f30"; - readonly "rollFork(bytes32)": "0f29772b"; - readonly "rollFork(uint256)": "d9bbf3a1"; - readonly "rollFork(uint256,bytes32)": "f2830f7b"; - readonly "rollFork(uint256,uint256)": "d74c83a4"; - readonly "rpc(string,string)": "1206c8a8"; - readonly "rpcUrl(string)": "975a6ce9"; - readonly "rpcUrlStructs()": "9d2ad72a"; - readonly "rpcUrls()": "a85a8418"; - readonly "selectFork(uint256)": "9ebf6827"; - readonly "serializeAddress(string,string,address)": "972c6062"; - readonly "serializeAddress(string,string,address[])": "1e356e1a"; - readonly "serializeBool(string,string,bool)": "ac22e971"; - readonly "serializeBool(string,string,bool[])": "92925aa1"; - readonly "serializeBytes(string,string,bytes)": "f21d52c7"; - readonly "serializeBytes(string,string,bytes[])": "9884b232"; - readonly "serializeBytes32(string,string,bytes32)": "2d812b44"; - readonly "serializeBytes32(string,string,bytes32[])": "201e43e2"; - readonly "serializeInt(string,string,int256)": "3f33db60"; - readonly "serializeInt(string,string,int256[])": "7676e127"; - readonly "serializeJson(string,string)": "9b3358b0"; - readonly "serializeString(string,string,string)": "88da6d35"; - readonly "serializeString(string,string,string[])": "561cd6f3"; - readonly "serializeUint(string,string,uint256)": "129e9002"; - readonly "serializeUint(string,string,uint256[])": "fee9a469"; - readonly "setEnv(string,string)": "3d5923ee"; - readonly "setNonce(address,uint64)": "f8e18b57"; - readonly "setNonceUnsafe(address,uint64)": "9b67b21c"; - readonly "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25"; - readonly "sign(uint256,bytes32)": "e341eaa4"; - readonly "signP256(uint256,bytes32)": "83211b40"; - readonly "skip(bool)": "dd82d13e"; - readonly "sleep(uint256)": "fa9d8713"; - readonly "snapshot()": "9711715a"; - readonly "split(string,string)": "8bb75533"; - readonly "startBroadcast()": "7fb5297f"; - readonly "startBroadcast(address)": "7fec2a8d"; - readonly "startBroadcast(uint256)": "ce817d47"; - readonly "startMappingRecording()": "3e9705c0"; - readonly "startPrank(address)": "06447d56"; - readonly "startPrank(address,address)": "45b56078"; - readonly "startStateDiffRecording()": "cf22e3c9"; - readonly "stopAndReturnStateDiff()": "aa5cf90e"; - readonly "stopBroadcast()": "76eadd36"; - readonly "stopExpectSafeMemory()": "0956441b"; - readonly "stopMappingRecording()": "0d4aae9b"; - readonly "stopPrank()": "90c5013b"; - readonly "store(address,bytes32,bytes32)": "70ca10bb"; - readonly "toBase64(bytes)": "a5cbfe65"; - readonly "toBase64(string)": "3f8be2c8"; - readonly "toBase64URL(bytes)": "c8bd0e4a"; - readonly "toBase64URL(string)": "ae3165b3"; - readonly "toLowercase(string)": "50bb0884"; - readonly "toString(address)": "56ca623e"; - readonly "toString(bool)": "71dce7da"; - readonly "toString(bytes)": "71aad10d"; - readonly "toString(bytes32)": "b11a19e8"; - readonly "toString(int256)": "a322c40e"; - readonly "toString(uint256)": "6900a3ae"; - readonly "toUppercase(string)": "074ae3d7"; - readonly "transact(bytes32)": "be646da1"; - readonly "transact(uint256,bytes32)": "4d8abc4b"; - readonly "trim(string)": "b2dad155"; - readonly "tryFfi(string[])": "f45c1ce7"; - readonly "txGasPrice(uint256)": "48f50c0f"; - readonly "unixTime()": "625387dc"; - readonly "warp(uint256)": "e5d6bf02"; - readonly "writeFile(string,string)": "897e0a97"; - readonly "writeFileBinary(string,bytes)": "1f21fc80"; - readonly "writeJson(string,string)": "e23cd19f"; - readonly "writeJson(string,string,string)": "35d6ad46"; - readonly "writeLine(string,string)": "619d897f"; - readonly "writeToml(string,string)": "c0865ba7"; - readonly "writeToml(string,string,string)": "51ac6a33"; - }; -}; -//# sourceMappingURL=Vm.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Vm.d.ts.map b/packages/hyperdrive-artifacts/dist/Vm.d.ts.map deleted file mode 100644 index feaff8c60..000000000 --- a/packages/hyperdrive-artifacts/dist/Vm.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Vm.d.ts","sourceRoot":"","sources":["../src/Vm.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6gQK,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsXhC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/Vm.js b/packages/hyperdrive-artifacts/dist/Vm.js deleted file mode 100644 index bdf860f2b..000000000 --- a/packages/hyperdrive-artifacts/dist/Vm.js +++ /dev/null @@ -1,8580 +0,0 @@ -export const Vm = { - abi: [ - { - "type": "function", - "name": "accesses", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "readSlots", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "writeSlots", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "activeFork", - "inputs": [], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addr", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "keyAddr", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "allowCheatcodes", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertFalse", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertFalse", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertTrue", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertTrue", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assume", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "breakpoint", - "inputs": [ - { - "name": "char", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "breakpoint", - "inputs": [ - { - "name": "char", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "chainId", - "inputs": [ - { - "name": "newChainId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "clearMockedCalls", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "coinbase", - "inputs": [ - { - "name": "newCoinbase", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "copyFile", - "inputs": [ - { - "name": "from", - "type": "string", - "internalType": "string" - }, - { - "name": "to", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "copied", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "recursive", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - }, - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - }, - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createSelectFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - }, - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createSelectFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - }, - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createSelectFork", - "inputs": [ - { - "name": "urlOrAlias", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "walletLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "walletLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deal", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "newBalance", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteSnapshot", - "inputs": [ - { - "name": "snapshotId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deleteSnapshots", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "derivationPath", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "language", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "language", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "derivationPath", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "difficulty", - "inputs": [ - { - "name": "newDifficulty", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "dumpState", - "inputs": [ - { - "name": "pathToStateJson", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "envAddress", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envAddress", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBool", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBool", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes32", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes32", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envInt", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envInt", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envString", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envString", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envUint", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envUint", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "etch", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "newRuntimeBytecode", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "eth_getLogs", - "inputs": [ - { - "name": "fromBlock", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "toBlock", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "logs", - "type": "tuple[]", - "internalType": "struct VmSafe.EthGetLogs[]", - "components": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "blockNumber", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "transactionIndex", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "logIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "removed", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "exists", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "gas", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "gas", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "count", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "count", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "count", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCallMinGas", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minGas", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectCallMinGas", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minGas", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "count", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectEmit", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectEmit", - "inputs": [ - { - "name": "checkTopic1", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkTopic2", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkTopic3", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkData", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectEmit", - "inputs": [ - { - "name": "checkTopic1", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkTopic2", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkTopic3", - "type": "bool", - "internalType": "bool" - }, - { - "name": "checkData", - "type": "bool", - "internalType": "bool" - }, - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectEmit", - "inputs": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectRevert", - "inputs": [ - { - "name": "revertData", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectRevert", - "inputs": [ - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectRevert", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectSafeMemory", - "inputs": [ - { - "name": "min", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "max", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "expectSafeMemoryCall", - "inputs": [ - { - "name": "min", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "max", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "fee", - "inputs": [ - { - "name": "newBasefee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "ffi", - "inputs": [ - { - "name": "commandInput", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "result", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "fsMetadata", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "metadata", - "type": "tuple", - "internalType": "struct VmSafe.FsMetadata", - "components": [ - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - }, - { - "name": "length", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "readOnly", - "type": "bool", - "internalType": "bool" - }, - { - "name": "modified", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "accessed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "created", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockNumber", - "inputs": [], - "outputs": [ - { - "name": "height", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockTimestamp", - "inputs": [], - "outputs": [ - { - "name": "timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCode", - "inputs": [ - { - "name": "artifactPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "creationBytecode", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployedCode", - "inputs": [ - { - "name": "artifactPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "runtimeBytecode", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getLabel", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "currentLabel", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMappingKeyAndParentOf", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "elementSlot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "found", - "type": "bool", - "internalType": "bool" - }, - { - "name": "key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "parent", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getMappingLength", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "mappingSlot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "length", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getMappingSlotAt", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "mappingSlot", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "idx", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNonce", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "nonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNonce", - "inputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "nonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getRecordedLogs", - "inputs": [], - "outputs": [ - { - "name": "logs", - "type": "tuple[]", - "internalType": "struct VmSafe.Log[]", - "components": [ - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isPersistent", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "persistent", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "keyExists", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "keyExistsJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "keyExistsToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "label", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "newLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "slot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "loadAllocs", - "inputs": [ - { - "name": "pathToAllocsJson", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "makePersistent", - "inputs": [ - { - "name": "accounts", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "makePersistent", - "inputs": [ - { - "name": "account0", - "type": "address", - "internalType": "address" - }, - { - "name": "account1", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "makePersistent", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "makePersistent", - "inputs": [ - { - "name": "account0", - "type": "address", - "internalType": "address" - }, - { - "name": "account1", - "type": "address", - "internalType": "address" - }, - { - "name": "account2", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mockCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mockCall", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "returnData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mockCallRevert", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "msgValue", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "mockCallRevert", - "inputs": [ - { - "name": "callee", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "revertData", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "parseAddress", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBool", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBytes", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBytes32", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseInt", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonAddress", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonAddressArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBool", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBoolArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes32", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes32Array", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytesArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonInt", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonIntArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonKeys", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "keys", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonString", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonStringArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonUint", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonUintArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlAddress", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlAddressArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBool", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBoolArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes32", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes32Array", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytesArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlInt", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlIntArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlKeys", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "keys", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlString", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlStringArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlUint", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlUintArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseUint", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "pauseGasMetering", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "prank", - "inputs": [ - { - "name": "msgSender", - "type": "address", - "internalType": "address" - }, - { - "name": "txOrigin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "prank", - "inputs": [ - { - "name": "msgSender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "prevrandao", - "inputs": [ - { - "name": "newPrevrandao", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "projectRoot", - "inputs": [], - "outputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readCallers", - "inputs": [], - "outputs": [ - { - "name": "callerMode", - "type": "uint8", - "internalType": "enum VmSafe.CallerMode" - }, - { - "name": "msgSender", - "type": "address", - "internalType": "address" - }, - { - "name": "txOrigin", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "maxDepth", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "maxDepth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "followLinks", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readFileBinary", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readLine", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "line", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readLink", - "inputs": [ - { - "name": "linkPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "targetPath", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "record", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "recordLogs", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rememberKey", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "keyAddr", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "recursive", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "replace", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - }, - { - "name": "from", - "type": "string", - "internalType": "string" - }, - { - "name": "to", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "resetNonce", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "resumeGasMetering", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revertTo", - "inputs": [ - { - "name": "snapshotId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revertToAndDelete", - "inputs": [ - { - "name": "snapshotId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "success", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokePersistent", - "inputs": [ - { - "name": "accounts", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokePersistent", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "roll", - "inputs": [ - { - "name": "newHeight", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rollFork", - "inputs": [ - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rollFork", - "inputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rollFork", - "inputs": [ - { - "name": "blockNumber", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rollFork", - "inputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rpc", - "inputs": [ - { - "name": "method", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rpcUrl", - "inputs": [ - { - "name": "rpcAlias", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rpcUrlStructs", - "inputs": [], - "outputs": [ - { - "name": "urls", - "type": "tuple[]", - "internalType": "struct VmSafe.Rpc[]", - "components": [ - { - "name": "key", - "type": "string", - "internalType": "string" - }, - { - "name": "url", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rpcUrls", - "inputs": [], - "outputs": [ - { - "name": "urls", - "type": "string[2][]", - "internalType": "string[2][]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "selectFork", - "inputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeAddress", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeAddress", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBool", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBool", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes32", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes32", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeInt", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeInt", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeJson", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeString", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeString", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeUint", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeUint", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setEnv", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setNonce", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "newNonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setNonceUnsafe", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "newNonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sign", - "inputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sign", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "signP256", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "skip", - "inputs": [ - { - "name": "skipTest", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sleep", - "inputs": [ - { - "name": "duration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "snapshot", - "inputs": [], - "outputs": [ - { - "name": "snapshotId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "split", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - }, - { - "name": "delimiter", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "outputs", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startMappingRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startPrank", - "inputs": [ - { - "name": "msgSender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startPrank", - "inputs": [ - { - "name": "msgSender", - "type": "address", - "internalType": "address" - }, - { - "name": "txOrigin", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startStateDiffRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopAndReturnStateDiff", - "inputs": [], - "outputs": [ - { - "name": "accountAccesses", - "type": "tuple[]", - "internalType": "struct VmSafe.AccountAccess[]", - "components": [ - { - "name": "chainInfo", - "type": "tuple", - "internalType": "struct VmSafe.ChainInfo", - "components": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "chainId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "kind", - "type": "uint8", - "internalType": "enum VmSafe.AccountAccessKind" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "accessor", - "type": "address", - "internalType": "address" - }, - { - "name": "initialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "oldBalance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "newBalance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deployedCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "reverted", - "type": "bool", - "internalType": "bool" - }, - { - "name": "storageAccesses", - "type": "tuple[]", - "internalType": "struct VmSafe.StorageAccess[]", - "components": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "slot", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "isWrite", - "type": "bool", - "internalType": "bool" - }, - { - "name": "previousValue", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "newValue", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "reverted", - "type": "bool", - "internalType": "bool" - } - ] - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopBroadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopExpectSafeMemory", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopMappingRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopPrank", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "store", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "slot", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "toBase64", - "inputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64URL", - "inputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64URL", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toLowercase", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toUppercase", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "transact", - "inputs": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transact", - "inputs": [ - { - "name": "txHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "trim", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "tryFfi", - "inputs": [ - { - "name": "commandInput", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "result", - "type": "tuple", - "internalType": "struct VmSafe.FfiResult", - "components": [ - { - "name": "exitCode", - "type": "int32", - "internalType": "int32" - }, - { - "name": "stdout", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "stderr", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "txGasPrice", - "inputs": [ - { - "name": "newGasPrice", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "unixTime", - "inputs": [], - "outputs": [ - { - "name": "milliseconds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "warp", - "inputs": [ - { - "name": "newTimestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeFileBinary", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeLine", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeToml", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeToml", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "accesses(address)": "65bc9481", - "activeFork()": "2f103f22", - "addr(uint256)": "ffa18649", - "allowCheatcodes(address)": "ea060291", - "assertApproxEqAbs(int256,int256,uint256)": "240f839d", - "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621", - "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6", - "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062", - "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc", - "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4", - "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce", - "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2", - "assertApproxEqRel(int256,int256,uint256)": "fea2d14f", - "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72", - "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4", - "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33", - "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc", - "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4", - "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977", - "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd", - "assertEq(address,address)": "515361f6", - "assertEq(address,address,string)": "2f2769d1", - "assertEq(address[],address[])": "3868ac34", - "assertEq(address[],address[],string)": "3e9173c5", - "assertEq(bool,bool)": "f7fe3477", - "assertEq(bool,bool,string)": "4db19e7e", - "assertEq(bool[],bool[])": "707df785", - "assertEq(bool[],bool[],string)": "e48a8f8d", - "assertEq(bytes,bytes)": "97624631", - "assertEq(bytes,bytes,string)": "e24fed00", - "assertEq(bytes32,bytes32)": "7c84c69b", - "assertEq(bytes32,bytes32,string)": "c1fa1ed0", - "assertEq(bytes32[],bytes32[])": "0cc9ee84", - "assertEq(bytes32[],bytes32[],string)": "e03e9177", - "assertEq(bytes[],bytes[])": "e5fb9b4a", - "assertEq(bytes[],bytes[],string)": "f413f0b6", - "assertEq(int256,int256)": "fe74f05b", - "assertEq(int256,int256,string)": "714a2f13", - "assertEq(int256[],int256[])": "711043ac", - "assertEq(int256[],int256[],string)": "191f1b30", - "assertEq(string,string)": "f320d963", - "assertEq(string,string,string)": "36f656d8", - "assertEq(string[],string[])": "cf1c049c", - "assertEq(string[],string[],string)": "eff6b27d", - "assertEq(uint256,uint256)": "98296c54", - "assertEq(uint256,uint256,string)": "88b44c85", - "assertEq(uint256[],uint256[])": "975d5a12", - "assertEq(uint256[],uint256[],string)": "5d18c73a", - "assertEqDecimal(int256,int256,uint256)": "48016c04", - "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5", - "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c", - "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef", - "assertFalse(bool)": "a5982885", - "assertFalse(bool,string)": "7ba04809", - "assertGe(int256,int256)": "0a30b771", - "assertGe(int256,int256,string)": "a84328dd", - "assertGe(uint256,uint256)": "a8d4d1d9", - "assertGe(uint256,uint256,string)": "e25242c0", - "assertGeDecimal(int256,int256,uint256)": "dc28c0f1", - "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b", - "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a", - "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133", - "assertGt(int256,int256)": "5a362d45", - "assertGt(int256,int256,string)": "f8d33b9b", - "assertGt(uint256,uint256)": "db07fcd2", - "assertGt(uint256,uint256,string)": "d9a3c4d2", - "assertGtDecimal(int256,int256,uint256)": "78611f0e", - "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab", - "assertGtDecimal(uint256,uint256,uint256)": "eccd2437", - "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d", - "assertLe(int256,int256)": "95fd154e", - "assertLe(int256,int256,string)": "4dfe692c", - "assertLe(uint256,uint256)": "8466f415", - "assertLe(uint256,uint256,string)": "d17d4b0d", - "assertLeDecimal(int256,int256,uint256)": "11d1364a", - "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788", - "assertLeDecimal(uint256,uint256,uint256)": "c304aab7", - "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0", - "assertLt(int256,int256)": "3e914080", - "assertLt(int256,int256,string)": "9ff531e3", - "assertLt(uint256,uint256)": "b12fc005", - "assertLt(uint256,uint256,string)": "65d5c135", - "assertLtDecimal(int256,int256,uint256)": "dbe8d88b", - "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0", - "assertLtDecimal(uint256,uint256,uint256)": "2077337e", - "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037", - "assertNotEq(address,address)": "b12e1694", - "assertNotEq(address,address,string)": "8775a591", - "assertNotEq(address[],address[])": "46d0b252", - "assertNotEq(address[],address[],string)": "72c7e0b5", - "assertNotEq(bool,bool)": "236e4d66", - "assertNotEq(bool,bool,string)": "1091a261", - "assertNotEq(bool[],bool[])": "286fafea", - "assertNotEq(bool[],bool[],string)": "62c6f9fb", - "assertNotEq(bytes,bytes)": "3cf78e28", - "assertNotEq(bytes,bytes,string)": "9507540e", - "assertNotEq(bytes32,bytes32)": "898e83fc", - "assertNotEq(bytes32,bytes32,string)": "b2332f51", - "assertNotEq(bytes32[],bytes32[])": "0603ea68", - "assertNotEq(bytes32[],bytes32[],string)": "b873634c", - "assertNotEq(bytes[],bytes[])": "edecd035", - "assertNotEq(bytes[],bytes[],string)": "1dcd1f68", - "assertNotEq(int256,int256)": "f4c004e3", - "assertNotEq(int256,int256,string)": "4724c5b9", - "assertNotEq(int256[],int256[])": "0b72f4ef", - "assertNotEq(int256[],int256[],string)": "d3977322", - "assertNotEq(string,string)": "6a8237b3", - "assertNotEq(string,string,string)": "78bdcea7", - "assertNotEq(string[],string[])": "bdfacbe8", - "assertNotEq(string[],string[],string)": "b67187f3", - "assertNotEq(uint256,uint256)": "b7909320", - "assertNotEq(uint256,uint256,string)": "98f9bdbd", - "assertNotEq(uint256[],uint256[])": "56f29cba", - "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f", - "assertNotEqDecimal(int256,int256,uint256)": "14e75680", - "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b", - "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7", - "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558", - "assertTrue(bool)": "0c9fd581", - "assertTrue(bool,string)": "a34edc03", - "assume(bool)": "4c63e562", - "breakpoint(string)": "f0259e92", - "breakpoint(string,bool)": "f7d39a8d", - "broadcast()": "afc98040", - "broadcast(address)": "e6962cdb", - "broadcast(uint256)": "f67a965b", - "chainId(uint256)": "4049ddd2", - "clearMockedCalls()": "3fdf4e15", - "closeFile(string)": "48c3241f", - "coinbase(address)": "ff483c54", - "computeCreate2Address(bytes32,bytes32)": "890c283b", - "computeCreate2Address(bytes32,bytes32,address)": "d323826a", - "computeCreateAddress(address,uint256)": "74637a7a", - "copyFile(string,string)": "a54a87d8", - "createDir(string,bool)": "168b64d3", - "createFork(string)": "31ba3498", - "createFork(string,bytes32)": "7ca29682", - "createFork(string,uint256)": "6ba3ba2b", - "createSelectFork(string)": "98680034", - "createSelectFork(string,bytes32)": "84d52b7a", - "createSelectFork(string,uint256)": "71ee464d", - "createWallet(string)": "7404f1d2", - "createWallet(uint256)": "7a675bb6", - "createWallet(uint256,string)": "ed7c5462", - "deal(address,uint256)": "c88a5e6d", - "deleteSnapshot(uint256)": "a6368557", - "deleteSnapshots()": "421ae469", - "deriveKey(string,string,uint32)": "6bcb2c1b", - "deriveKey(string,string,uint32,string)": "29233b1f", - "deriveKey(string,uint32)": "6229498b", - "deriveKey(string,uint32,string)": "32c8176d", - "difficulty(uint256)": "46cc92d9", - "dumpState(string)": "709ecd3f", - "envAddress(string)": "350d56bf", - "envAddress(string,string)": "ad31b9fa", - "envBool(string)": "7ed1ec7d", - "envBool(string,string)": "aaaddeaf", - "envBytes(string)": "4d7baf06", - "envBytes(string,string)": "ddc2651b", - "envBytes32(string)": "97949042", - "envBytes32(string,string)": "5af231c1", - "envInt(string)": "892a0c61", - "envInt(string,string)": "42181150", - "envOr(string,address)": "561fe540", - "envOr(string,bool)": "4777f3cf", - "envOr(string,bytes)": "b3e47705", - "envOr(string,bytes32)": "b4a85892", - "envOr(string,int256)": "bbcb713e", - "envOr(string,string)": "d145736c", - "envOr(string,string,address[])": "c74e9deb", - "envOr(string,string,bool[])": "eb85e83b", - "envOr(string,string,bytes32[])": "2281f367", - "envOr(string,string,bytes[])": "64bc3e64", - "envOr(string,string,int256[])": "4700d74b", - "envOr(string,string,string[])": "859216bc", - "envOr(string,string,uint256[])": "74318528", - "envOr(string,uint256)": "5e97348f", - "envString(string)": "f877cb19", - "envString(string,string)": "14b02bc9", - "envUint(string)": "c1978d1f", - "envUint(string,string)": "f3dec099", - "etch(address,bytes)": "b4d6c782", - "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b", - "exists(string)": "261a323e", - "expectCall(address,bytes)": "bd6af434", - "expectCall(address,bytes,uint64)": "c1adbbff", - "expectCall(address,uint256,bytes)": "f30c7ba3", - "expectCall(address,uint256,bytes,uint64)": "a2b1a1ae", - "expectCall(address,uint256,uint64,bytes)": "23361207", - "expectCall(address,uint256,uint64,bytes,uint64)": "65b7b7cc", - "expectCallMinGas(address,uint256,uint64,bytes)": "08e4e116", - "expectCallMinGas(address,uint256,uint64,bytes,uint64)": "e13a1834", - "expectEmit()": "440ed10d", - "expectEmit(address)": "86b9620d", - "expectEmit(bool,bool,bool,bool)": "491cc7c2", - "expectEmit(bool,bool,bool,bool,address)": "81bad6f3", - "expectRevert()": "f4844814", - "expectRevert(bytes)": "f28dceb3", - "expectRevert(bytes4)": "c31eb0e0", - "expectSafeMemory(uint64,uint64)": "6d016688", - "expectSafeMemoryCall(uint64,uint64)": "05838bf4", - "fee(uint256)": "39b37ab0", - "ffi(string[])": "89160467", - "fsMetadata(string)": "af368a08", - "getBlockNumber()": "42cbb15c", - "getBlockTimestamp()": "796b89b9", - "getCode(string)": "8d1cc925", - "getDeployedCode(string)": "3ebf73b4", - "getLabel(address)": "28a249b0", - "getMappingKeyAndParentOf(address,bytes32)": "876e24e6", - "getMappingLength(address,bytes32)": "2f2fd63f", - "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4", - "getNonce((address,uint256,uint256,uint256))": "a5748aad", - "getNonce(address)": "2d0335ab", - "getRecordedLogs()": "191553a4", - "isDir(string)": "7d15d019", - "isFile(string)": "e0eb04d4", - "isPersistent(address)": "d92d8efd", - "keyExists(string,string)": "528a683c", - "keyExistsJson(string,string)": "db4235f6", - "keyExistsToml(string,string)": "600903ad", - "label(address,string)": "c657c718", - "load(address,bytes32)": "667f9d70", - "loadAllocs(string)": "b3a056d7", - "makePersistent(address)": "57e22dde", - "makePersistent(address,address)": "4074e0a8", - "makePersistent(address,address,address)": "efb77a75", - "makePersistent(address[])": "1d9e269e", - "mockCall(address,bytes,bytes)": "b96213e4", - "mockCall(address,uint256,bytes,bytes)": "81409b91", - "mockCallRevert(address,bytes,bytes)": "dbaad147", - "mockCallRevert(address,uint256,bytes,bytes)": "d23cd037", - "parseAddress(string)": "c6ce059d", - "parseBool(string)": "974ef924", - "parseBytes(string)": "8f5d232d", - "parseBytes32(string)": "087e6e81", - "parseInt(string)": "42346c5e", - "parseJson(string)": "6a82600a", - "parseJson(string,string)": "85940ef1", - "parseJsonAddress(string,string)": "1e19e657", - "parseJsonAddressArray(string,string)": "2fce7883", - "parseJsonBool(string,string)": "9f86dc91", - "parseJsonBoolArray(string,string)": "91f3b94f", - "parseJsonBytes(string,string)": "fd921be8", - "parseJsonBytes32(string,string)": "1777e59d", - "parseJsonBytes32Array(string,string)": "91c75bc3", - "parseJsonBytesArray(string,string)": "6631aa99", - "parseJsonInt(string,string)": "7b048ccd", - "parseJsonIntArray(string,string)": "9983c28a", - "parseJsonKeys(string,string)": "213e4198", - "parseJsonString(string,string)": "49c4fac8", - "parseJsonStringArray(string,string)": "498fdcf4", - "parseJsonUint(string,string)": "addde2b6", - "parseJsonUintArray(string,string)": "522074ab", - "parseToml(string)": "592151f0", - "parseToml(string,string)": "37736e08", - "parseTomlAddress(string,string)": "65e7c844", - "parseTomlAddressArray(string,string)": "65c428e7", - "parseTomlBool(string,string)": "d30dced6", - "parseTomlBoolArray(string,string)": "127cfe9a", - "parseTomlBytes(string,string)": "d77bfdb9", - "parseTomlBytes32(string,string)": "8e214810", - "parseTomlBytes32Array(string,string)": "3e716f81", - "parseTomlBytesArray(string,string)": "b197c247", - "parseTomlInt(string,string)": "c1350739", - "parseTomlIntArray(string,string)": "d3522ae6", - "parseTomlKeys(string,string)": "812a44b2", - "parseTomlString(string,string)": "8bb8dd43", - "parseTomlStringArray(string,string)": "9f629281", - "parseTomlUint(string,string)": "cc7b0487", - "parseTomlUintArray(string,string)": "b5df27c8", - "parseUint(string)": "fa91454d", - "pauseGasMetering()": "d1a5b36f", - "prank(address)": "ca669fa7", - "prank(address,address)": "47e50cce", - "prevrandao(bytes32)": "3b925549", - "projectRoot()": "d930a0e6", - "readCallers()": "4ad0bac9", - "readDir(string)": "c4bc59e0", - "readDir(string,uint64)": "1497876c", - "readDir(string,uint64,bool)": "8102d70d", - "readFile(string)": "60f9bb11", - "readFileBinary(string)": "16ed7bc4", - "readLine(string)": "70f55728", - "readLink(string)": "9f5684a2", - "record()": "266cf109", - "recordLogs()": "41af2f52", - "rememberKey(uint256)": "22100064", - "removeDir(string,bool)": "45c62011", - "removeFile(string)": "f1afe04d", - "replace(string,string,string)": "e00ad03e", - "resetNonce(address)": "1c72346d", - "resumeGasMetering()": "2bcd50e0", - "revertTo(uint256)": "44d7f0a4", - "revertToAndDelete(uint256)": "03e0aca9", - "revokePersistent(address)": "997a0222", - "revokePersistent(address[])": "3ce969e6", - "roll(uint256)": "1f7b4f30", - "rollFork(bytes32)": "0f29772b", - "rollFork(uint256)": "d9bbf3a1", - "rollFork(uint256,bytes32)": "f2830f7b", - "rollFork(uint256,uint256)": "d74c83a4", - "rpc(string,string)": "1206c8a8", - "rpcUrl(string)": "975a6ce9", - "rpcUrlStructs()": "9d2ad72a", - "rpcUrls()": "a85a8418", - "selectFork(uint256)": "9ebf6827", - "serializeAddress(string,string,address)": "972c6062", - "serializeAddress(string,string,address[])": "1e356e1a", - "serializeBool(string,string,bool)": "ac22e971", - "serializeBool(string,string,bool[])": "92925aa1", - "serializeBytes(string,string,bytes)": "f21d52c7", - "serializeBytes(string,string,bytes[])": "9884b232", - "serializeBytes32(string,string,bytes32)": "2d812b44", - "serializeBytes32(string,string,bytes32[])": "201e43e2", - "serializeInt(string,string,int256)": "3f33db60", - "serializeInt(string,string,int256[])": "7676e127", - "serializeJson(string,string)": "9b3358b0", - "serializeString(string,string,string)": "88da6d35", - "serializeString(string,string,string[])": "561cd6f3", - "serializeUint(string,string,uint256)": "129e9002", - "serializeUint(string,string,uint256[])": "fee9a469", - "setEnv(string,string)": "3d5923ee", - "setNonce(address,uint64)": "f8e18b57", - "setNonceUnsafe(address,uint64)": "9b67b21c", - "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25", - "sign(uint256,bytes32)": "e341eaa4", - "signP256(uint256,bytes32)": "83211b40", - "skip(bool)": "dd82d13e", - "sleep(uint256)": "fa9d8713", - "snapshot()": "9711715a", - "split(string,string)": "8bb75533", - "startBroadcast()": "7fb5297f", - "startBroadcast(address)": "7fec2a8d", - "startBroadcast(uint256)": "ce817d47", - "startMappingRecording()": "3e9705c0", - "startPrank(address)": "06447d56", - "startPrank(address,address)": "45b56078", - "startStateDiffRecording()": "cf22e3c9", - "stopAndReturnStateDiff()": "aa5cf90e", - "stopBroadcast()": "76eadd36", - "stopExpectSafeMemory()": "0956441b", - "stopMappingRecording()": "0d4aae9b", - "stopPrank()": "90c5013b", - "store(address,bytes32,bytes32)": "70ca10bb", - "toBase64(bytes)": "a5cbfe65", - "toBase64(string)": "3f8be2c8", - "toBase64URL(bytes)": "c8bd0e4a", - "toBase64URL(string)": "ae3165b3", - "toLowercase(string)": "50bb0884", - "toString(address)": "56ca623e", - "toString(bool)": "71dce7da", - "toString(bytes)": "71aad10d", - "toString(bytes32)": "b11a19e8", - "toString(int256)": "a322c40e", - "toString(uint256)": "6900a3ae", - "toUppercase(string)": "074ae3d7", - "transact(bytes32)": "be646da1", - "transact(uint256,bytes32)": "4d8abc4b", - "trim(string)": "b2dad155", - "tryFfi(string[])": "f45c1ce7", - "txGasPrice(uint256)": "48f50c0f", - "unixTime()": "625387dc", - "warp(uint256)": "e5d6bf02", - "writeFile(string,string)": "897e0a97", - "writeFileBinary(string,bytes)": "1f21fc80", - "writeJson(string,string)": "e23cd19f", - "writeJson(string,string,string)": "35d6ad46", - "writeLine(string,string)": "619d897f", - "writeToml(string,string)": "c0865ba7", - "writeToml(string,string,string)": "51ac6a33" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/VmSafe.d.ts b/packages/hyperdrive-artifacts/dist/VmSafe.d.ts deleted file mode 100644 index 7ace9e089..000000000 --- a/packages/hyperdrive-artifacts/dist/VmSafe.d.ts +++ /dev/null @@ -1,5609 +0,0 @@ -export declare const VmSafe: { - abi: readonly [{ - readonly type: "function"; - readonly name: "accesses"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "readSlots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "writeSlots"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "addr"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "keyAddr"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbs"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqAbsDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRel"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertApproxEqRelDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "maxPercentDelta"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertFalse"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertFalse"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertGtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLe"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLeDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLt"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertLtDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "right"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "right"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "right"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "right"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "right"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "right"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "right"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "right"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "right"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }, { - readonly name: "right"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "right"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }, { - readonly name: "right"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEq"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "right"; - readonly type: "int256"; - readonly internalType: "int256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertNotEqDecimal"; - readonly inputs: readonly [{ - readonly name: "left"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "right"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "decimals"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertTrue"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assertTrue"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "error"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "assume"; - readonly inputs: readonly [{ - readonly name: "condition"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "breakpoint"; - readonly inputs: readonly [{ - readonly name: "char"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "breakpoint"; - readonly inputs: readonly [{ - readonly name: "char"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly [{ - readonly name: "signer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "broadcast"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "closeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreate2Address"; - readonly inputs: readonly [{ - readonly name: "salt"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "initCodeHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "computeCreateAddress"; - readonly inputs: readonly [{ - readonly name: "deployer"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "nonce"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "copyFile"; - readonly inputs: readonly [{ - readonly name: "from"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "to"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "copied"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "recursive"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "walletLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "createWallet"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "walletLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "derivationPath"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }, { - readonly name: "language"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }, { - readonly name: "language"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "deriveKey"; - readonly inputs: readonly [{ - readonly name: "mnemonic"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "derivationPath"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "index"; - readonly type: "uint32"; - readonly internalType: "uint32"; - }]; - readonly outputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "envAddress"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envAddress"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBool"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBool"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes32"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envBytes32"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envInt"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envInt"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envOr"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "defaultValue"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envString"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envString"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envUint"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "envUint"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delim"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "eth_getLogs"; - readonly inputs: readonly [{ - readonly name: "fromBlock"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "toBlock"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "logs"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.EthGetLogs[]"; - readonly components: readonly [{ - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "blockHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "blockNumber"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "transactionHash"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "transactionIndex"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "logIndex"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "removed"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "exists"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "ffi"; - readonly inputs: readonly [{ - readonly name: "commandInput"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "fsMetadata"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "metadata"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.FsMetadata"; - readonly components: readonly [{ - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "length"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "readOnly"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "modified"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "accessed"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "created"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockNumber"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "height"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getBlockTimestamp"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "timestamp"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getCode"; - readonly inputs: readonly [{ - readonly name: "artifactPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "creationBytecode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getDeployedCode"; - readonly inputs: readonly [{ - readonly name: "artifactPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "runtimeBytecode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getLabel"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "currentLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getMappingKeyAndParentOf"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "elementSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "found"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "key"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "parent"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getMappingLength"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "mappingSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "length"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getMappingSlotAt"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "mappingSlot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "idx"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getNonce"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "getNonce"; - readonly inputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }]; - readonly outputs: readonly [{ - readonly name: "nonce"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "getRecordedLogs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "logs"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.Log[]"; - readonly components: readonly [{ - readonly name: "topics"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "emitter"; - readonly type: "address"; - readonly internalType: "address"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "isFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "keyExists"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "keyExistsJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "keyExistsToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "label"; - readonly inputs: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "newLabel"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "load"; - readonly inputs: readonly [{ - readonly name: "target"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "parseAddress"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBool"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBytes"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseBytes32"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseInt"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonAddress"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonAddressArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBool"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBoolArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes32"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytes32Array"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonBytesArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonInt"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonIntArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonKeys"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "keys"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonString"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonStringArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonUint"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseJsonUintArray"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseToml"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "abiEncodedData"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlAddress"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlAddressArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBool"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBoolArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes32"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytes32Array"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlBytesArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlInt"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlIntArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlKeys"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "keys"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlString"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlStringArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlUint"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseTomlUintArray"; - readonly inputs: readonly [{ - readonly name: "toml"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "parseUint"; - readonly inputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "parsedValue"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "pauseGasMetering"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "projectRoot"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "maxDepth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "maxDepth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "followLinks"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "entries"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.DirEntry[]"; - readonly components: readonly [{ - readonly name: "errorMessage"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }, { - readonly name: "isDir"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "isSymlink"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readFileBinary"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readLine"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "line"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "readLink"; - readonly inputs: readonly [{ - readonly name: "linkPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "targetPath"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "record"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "recordLogs"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rememberKey"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "keyAddr"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeDir"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "recursive"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "removeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "replace"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "from"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "to"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "resumeGasMetering"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rpc"; - readonly inputs: readonly [{ - readonly name: "method"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "params"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "rpcUrl"; - readonly inputs: readonly [{ - readonly name: "rpcAlias"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rpcUrlStructs"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "urls"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.Rpc[]"; - readonly components: readonly [{ - readonly name: "key"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "url"; - readonly type: "string"; - readonly internalType: "string"; - }]; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "rpcUrls"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "urls"; - readonly type: "string[2][]"; - readonly internalType: "string[2][]"; - }]; - readonly stateMutability: "view"; - }, { - readonly type: "function"; - readonly name: "serializeAddress"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "address[]"; - readonly internalType: "address[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeAddress"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBool"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bool[]"; - readonly internalType: "bool[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBool"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bytes[]"; - readonly internalType: "bytes[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes32"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "bytes32[]"; - readonly internalType: "bytes32[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeBytes32"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeInt"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeInt"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "int256[]"; - readonly internalType: "int256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeJson"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeString"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeString"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeUint"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "serializeUint"; - readonly inputs: readonly [{ - readonly name: "objectKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "values"; - readonly type: "uint256[]"; - readonly internalType: "uint256[]"; - }]; - readonly outputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "setEnv"; - readonly inputs: readonly [{ - readonly name: "name"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "value"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sign"; - readonly inputs: readonly [{ - readonly name: "wallet"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.Wallet"; - readonly components: readonly [{ - readonly name: "addr"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "publicKeyX"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "publicKeyY"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "sign"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "v"; - readonly type: "uint8"; - readonly internalType: "uint8"; - }, { - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "signP256"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "digest"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "r"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "s"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "sleep"; - readonly inputs: readonly [{ - readonly name: "duration"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "split"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "delimiter"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "outputs"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly [{ - readonly name: "signer"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startBroadcast"; - readonly inputs: readonly [{ - readonly name: "privateKey"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startMappingRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "startStateDiffRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopAndReturnStateDiff"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "accountAccesses"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.AccountAccess[]"; - readonly components: readonly [{ - readonly name: "chainInfo"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.ChainInfo"; - readonly components: readonly [{ - readonly name: "forkId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "chainId"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - }, { - readonly name: "kind"; - readonly type: "uint8"; - readonly internalType: "enum VmSafe.AccountAccessKind"; - }, { - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "accessor"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "initialized"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "oldBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "newBalance"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "deployedCode"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "reverted"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "storageAccesses"; - readonly type: "tuple[]"; - readonly internalType: "struct VmSafe.StorageAccess[]"; - readonly components: readonly [{ - readonly name: "account"; - readonly type: "address"; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "isWrite"; - readonly type: "bool"; - readonly internalType: "bool"; - }, { - readonly name: "previousValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "newValue"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }, { - readonly name: "reverted"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - }, { - readonly name: "depth"; - readonly type: "uint64"; - readonly internalType: "uint64"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopBroadcast"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "stopMappingRecording"; - readonly inputs: readonly []; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "toBase64"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64URL"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toBase64URL"; - readonly inputs: readonly [{ - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: ""; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toLowercase"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "address"; - readonly internalType: "address"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bool"; - readonly internalType: "bool"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "int256"; - readonly internalType: "int256"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toString"; - readonly inputs: readonly [{ - readonly name: "value"; - readonly type: "bytes32"; - readonly internalType: "bytes32"; - }]; - readonly outputs: readonly [{ - readonly name: "stringifiedValue"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "toUppercase"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "trim"; - readonly inputs: readonly [{ - readonly name: "input"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly [{ - readonly name: "output"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly stateMutability: "pure"; - }, { - readonly type: "function"; - readonly name: "tryFfi"; - readonly inputs: readonly [{ - readonly name: "commandInput"; - readonly type: "string[]"; - readonly internalType: "string[]"; - }]; - readonly outputs: readonly [{ - readonly name: "result"; - readonly type: "tuple"; - readonly internalType: "struct VmSafe.FfiResult"; - readonly components: readonly [{ - readonly name: "exitCode"; - readonly type: "int32"; - readonly internalType: "int32"; - }, { - readonly name: "stdout"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }, { - readonly name: "stderr"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "unixTime"; - readonly inputs: readonly []; - readonly outputs: readonly [{ - readonly name: "milliseconds"; - readonly type: "uint256"; - readonly internalType: "uint256"; - }]; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeFile"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeFileBinary"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "bytes"; - readonly internalType: "bytes"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeJson"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeLine"; - readonly inputs: readonly [{ - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "data"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeToml"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "valueKey"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }, { - readonly type: "function"; - readonly name: "writeToml"; - readonly inputs: readonly [{ - readonly name: "json"; - readonly type: "string"; - readonly internalType: "string"; - }, { - readonly name: "path"; - readonly type: "string"; - readonly internalType: "string"; - }]; - readonly outputs: readonly []; - readonly stateMutability: "nonpayable"; - }]; - bytecode: `0x${string}`; - methodIdentifiers: { - readonly "accesses(address)": "65bc9481"; - readonly "addr(uint256)": "ffa18649"; - readonly "assertApproxEqAbs(int256,int256,uint256)": "240f839d"; - readonly "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621"; - readonly "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6"; - readonly "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062"; - readonly "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc"; - readonly "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4"; - readonly "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce"; - readonly "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2"; - readonly "assertApproxEqRel(int256,int256,uint256)": "fea2d14f"; - readonly "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72"; - readonly "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4"; - readonly "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33"; - readonly "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc"; - readonly "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4"; - readonly "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977"; - readonly "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd"; - readonly "assertEq(address,address)": "515361f6"; - readonly "assertEq(address,address,string)": "2f2769d1"; - readonly "assertEq(address[],address[])": "3868ac34"; - readonly "assertEq(address[],address[],string)": "3e9173c5"; - readonly "assertEq(bool,bool)": "f7fe3477"; - readonly "assertEq(bool,bool,string)": "4db19e7e"; - readonly "assertEq(bool[],bool[])": "707df785"; - readonly "assertEq(bool[],bool[],string)": "e48a8f8d"; - readonly "assertEq(bytes,bytes)": "97624631"; - readonly "assertEq(bytes,bytes,string)": "e24fed00"; - readonly "assertEq(bytes32,bytes32)": "7c84c69b"; - readonly "assertEq(bytes32,bytes32,string)": "c1fa1ed0"; - readonly "assertEq(bytes32[],bytes32[])": "0cc9ee84"; - readonly "assertEq(bytes32[],bytes32[],string)": "e03e9177"; - readonly "assertEq(bytes[],bytes[])": "e5fb9b4a"; - readonly "assertEq(bytes[],bytes[],string)": "f413f0b6"; - readonly "assertEq(int256,int256)": "fe74f05b"; - readonly "assertEq(int256,int256,string)": "714a2f13"; - readonly "assertEq(int256[],int256[])": "711043ac"; - readonly "assertEq(int256[],int256[],string)": "191f1b30"; - readonly "assertEq(string,string)": "f320d963"; - readonly "assertEq(string,string,string)": "36f656d8"; - readonly "assertEq(string[],string[])": "cf1c049c"; - readonly "assertEq(string[],string[],string)": "eff6b27d"; - readonly "assertEq(uint256,uint256)": "98296c54"; - readonly "assertEq(uint256,uint256,string)": "88b44c85"; - readonly "assertEq(uint256[],uint256[])": "975d5a12"; - readonly "assertEq(uint256[],uint256[],string)": "5d18c73a"; - readonly "assertEqDecimal(int256,int256,uint256)": "48016c04"; - readonly "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5"; - readonly "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c"; - readonly "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef"; - readonly "assertFalse(bool)": "a5982885"; - readonly "assertFalse(bool,string)": "7ba04809"; - readonly "assertGe(int256,int256)": "0a30b771"; - readonly "assertGe(int256,int256,string)": "a84328dd"; - readonly "assertGe(uint256,uint256)": "a8d4d1d9"; - readonly "assertGe(uint256,uint256,string)": "e25242c0"; - readonly "assertGeDecimal(int256,int256,uint256)": "dc28c0f1"; - readonly "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b"; - readonly "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a"; - readonly "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133"; - readonly "assertGt(int256,int256)": "5a362d45"; - readonly "assertGt(int256,int256,string)": "f8d33b9b"; - readonly "assertGt(uint256,uint256)": "db07fcd2"; - readonly "assertGt(uint256,uint256,string)": "d9a3c4d2"; - readonly "assertGtDecimal(int256,int256,uint256)": "78611f0e"; - readonly "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab"; - readonly "assertGtDecimal(uint256,uint256,uint256)": "eccd2437"; - readonly "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d"; - readonly "assertLe(int256,int256)": "95fd154e"; - readonly "assertLe(int256,int256,string)": "4dfe692c"; - readonly "assertLe(uint256,uint256)": "8466f415"; - readonly "assertLe(uint256,uint256,string)": "d17d4b0d"; - readonly "assertLeDecimal(int256,int256,uint256)": "11d1364a"; - readonly "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788"; - readonly "assertLeDecimal(uint256,uint256,uint256)": "c304aab7"; - readonly "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0"; - readonly "assertLt(int256,int256)": "3e914080"; - readonly "assertLt(int256,int256,string)": "9ff531e3"; - readonly "assertLt(uint256,uint256)": "b12fc005"; - readonly "assertLt(uint256,uint256,string)": "65d5c135"; - readonly "assertLtDecimal(int256,int256,uint256)": "dbe8d88b"; - readonly "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0"; - readonly "assertLtDecimal(uint256,uint256,uint256)": "2077337e"; - readonly "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037"; - readonly "assertNotEq(address,address)": "b12e1694"; - readonly "assertNotEq(address,address,string)": "8775a591"; - readonly "assertNotEq(address[],address[])": "46d0b252"; - readonly "assertNotEq(address[],address[],string)": "72c7e0b5"; - readonly "assertNotEq(bool,bool)": "236e4d66"; - readonly "assertNotEq(bool,bool,string)": "1091a261"; - readonly "assertNotEq(bool[],bool[])": "286fafea"; - readonly "assertNotEq(bool[],bool[],string)": "62c6f9fb"; - readonly "assertNotEq(bytes,bytes)": "3cf78e28"; - readonly "assertNotEq(bytes,bytes,string)": "9507540e"; - readonly "assertNotEq(bytes32,bytes32)": "898e83fc"; - readonly "assertNotEq(bytes32,bytes32,string)": "b2332f51"; - readonly "assertNotEq(bytes32[],bytes32[])": "0603ea68"; - readonly "assertNotEq(bytes32[],bytes32[],string)": "b873634c"; - readonly "assertNotEq(bytes[],bytes[])": "edecd035"; - readonly "assertNotEq(bytes[],bytes[],string)": "1dcd1f68"; - readonly "assertNotEq(int256,int256)": "f4c004e3"; - readonly "assertNotEq(int256,int256,string)": "4724c5b9"; - readonly "assertNotEq(int256[],int256[])": "0b72f4ef"; - readonly "assertNotEq(int256[],int256[],string)": "d3977322"; - readonly "assertNotEq(string,string)": "6a8237b3"; - readonly "assertNotEq(string,string,string)": "78bdcea7"; - readonly "assertNotEq(string[],string[])": "bdfacbe8"; - readonly "assertNotEq(string[],string[],string)": "b67187f3"; - readonly "assertNotEq(uint256,uint256)": "b7909320"; - readonly "assertNotEq(uint256,uint256,string)": "98f9bdbd"; - readonly "assertNotEq(uint256[],uint256[])": "56f29cba"; - readonly "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f"; - readonly "assertNotEqDecimal(int256,int256,uint256)": "14e75680"; - readonly "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b"; - readonly "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7"; - readonly "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558"; - readonly "assertTrue(bool)": "0c9fd581"; - readonly "assertTrue(bool,string)": "a34edc03"; - readonly "assume(bool)": "4c63e562"; - readonly "breakpoint(string)": "f0259e92"; - readonly "breakpoint(string,bool)": "f7d39a8d"; - readonly "broadcast()": "afc98040"; - readonly "broadcast(address)": "e6962cdb"; - readonly "broadcast(uint256)": "f67a965b"; - readonly "closeFile(string)": "48c3241f"; - readonly "computeCreate2Address(bytes32,bytes32)": "890c283b"; - readonly "computeCreate2Address(bytes32,bytes32,address)": "d323826a"; - readonly "computeCreateAddress(address,uint256)": "74637a7a"; - readonly "copyFile(string,string)": "a54a87d8"; - readonly "createDir(string,bool)": "168b64d3"; - readonly "createWallet(string)": "7404f1d2"; - readonly "createWallet(uint256)": "7a675bb6"; - readonly "createWallet(uint256,string)": "ed7c5462"; - readonly "deriveKey(string,string,uint32)": "6bcb2c1b"; - readonly "deriveKey(string,string,uint32,string)": "29233b1f"; - readonly "deriveKey(string,uint32)": "6229498b"; - readonly "deriveKey(string,uint32,string)": "32c8176d"; - readonly "envAddress(string)": "350d56bf"; - readonly "envAddress(string,string)": "ad31b9fa"; - readonly "envBool(string)": "7ed1ec7d"; - readonly "envBool(string,string)": "aaaddeaf"; - readonly "envBytes(string)": "4d7baf06"; - readonly "envBytes(string,string)": "ddc2651b"; - readonly "envBytes32(string)": "97949042"; - readonly "envBytes32(string,string)": "5af231c1"; - readonly "envInt(string)": "892a0c61"; - readonly "envInt(string,string)": "42181150"; - readonly "envOr(string,address)": "561fe540"; - readonly "envOr(string,bool)": "4777f3cf"; - readonly "envOr(string,bytes)": "b3e47705"; - readonly "envOr(string,bytes32)": "b4a85892"; - readonly "envOr(string,int256)": "bbcb713e"; - readonly "envOr(string,string)": "d145736c"; - readonly "envOr(string,string,address[])": "c74e9deb"; - readonly "envOr(string,string,bool[])": "eb85e83b"; - readonly "envOr(string,string,bytes32[])": "2281f367"; - readonly "envOr(string,string,bytes[])": "64bc3e64"; - readonly "envOr(string,string,int256[])": "4700d74b"; - readonly "envOr(string,string,string[])": "859216bc"; - readonly "envOr(string,string,uint256[])": "74318528"; - readonly "envOr(string,uint256)": "5e97348f"; - readonly "envString(string)": "f877cb19"; - readonly "envString(string,string)": "14b02bc9"; - readonly "envUint(string)": "c1978d1f"; - readonly "envUint(string,string)": "f3dec099"; - readonly "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b"; - readonly "exists(string)": "261a323e"; - readonly "ffi(string[])": "89160467"; - readonly "fsMetadata(string)": "af368a08"; - readonly "getBlockNumber()": "42cbb15c"; - readonly "getBlockTimestamp()": "796b89b9"; - readonly "getCode(string)": "8d1cc925"; - readonly "getDeployedCode(string)": "3ebf73b4"; - readonly "getLabel(address)": "28a249b0"; - readonly "getMappingKeyAndParentOf(address,bytes32)": "876e24e6"; - readonly "getMappingLength(address,bytes32)": "2f2fd63f"; - readonly "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4"; - readonly "getNonce((address,uint256,uint256,uint256))": "a5748aad"; - readonly "getNonce(address)": "2d0335ab"; - readonly "getRecordedLogs()": "191553a4"; - readonly "isDir(string)": "7d15d019"; - readonly "isFile(string)": "e0eb04d4"; - readonly "keyExists(string,string)": "528a683c"; - readonly "keyExistsJson(string,string)": "db4235f6"; - readonly "keyExistsToml(string,string)": "600903ad"; - readonly "label(address,string)": "c657c718"; - readonly "load(address,bytes32)": "667f9d70"; - readonly "parseAddress(string)": "c6ce059d"; - readonly "parseBool(string)": "974ef924"; - readonly "parseBytes(string)": "8f5d232d"; - readonly "parseBytes32(string)": "087e6e81"; - readonly "parseInt(string)": "42346c5e"; - readonly "parseJson(string)": "6a82600a"; - readonly "parseJson(string,string)": "85940ef1"; - readonly "parseJsonAddress(string,string)": "1e19e657"; - readonly "parseJsonAddressArray(string,string)": "2fce7883"; - readonly "parseJsonBool(string,string)": "9f86dc91"; - readonly "parseJsonBoolArray(string,string)": "91f3b94f"; - readonly "parseJsonBytes(string,string)": "fd921be8"; - readonly "parseJsonBytes32(string,string)": "1777e59d"; - readonly "parseJsonBytes32Array(string,string)": "91c75bc3"; - readonly "parseJsonBytesArray(string,string)": "6631aa99"; - readonly "parseJsonInt(string,string)": "7b048ccd"; - readonly "parseJsonIntArray(string,string)": "9983c28a"; - readonly "parseJsonKeys(string,string)": "213e4198"; - readonly "parseJsonString(string,string)": "49c4fac8"; - readonly "parseJsonStringArray(string,string)": "498fdcf4"; - readonly "parseJsonUint(string,string)": "addde2b6"; - readonly "parseJsonUintArray(string,string)": "522074ab"; - readonly "parseToml(string)": "592151f0"; - readonly "parseToml(string,string)": "37736e08"; - readonly "parseTomlAddress(string,string)": "65e7c844"; - readonly "parseTomlAddressArray(string,string)": "65c428e7"; - readonly "parseTomlBool(string,string)": "d30dced6"; - readonly "parseTomlBoolArray(string,string)": "127cfe9a"; - readonly "parseTomlBytes(string,string)": "d77bfdb9"; - readonly "parseTomlBytes32(string,string)": "8e214810"; - readonly "parseTomlBytes32Array(string,string)": "3e716f81"; - readonly "parseTomlBytesArray(string,string)": "b197c247"; - readonly "parseTomlInt(string,string)": "c1350739"; - readonly "parseTomlIntArray(string,string)": "d3522ae6"; - readonly "parseTomlKeys(string,string)": "812a44b2"; - readonly "parseTomlString(string,string)": "8bb8dd43"; - readonly "parseTomlStringArray(string,string)": "9f629281"; - readonly "parseTomlUint(string,string)": "cc7b0487"; - readonly "parseTomlUintArray(string,string)": "b5df27c8"; - readonly "parseUint(string)": "fa91454d"; - readonly "pauseGasMetering()": "d1a5b36f"; - readonly "projectRoot()": "d930a0e6"; - readonly "readDir(string)": "c4bc59e0"; - readonly "readDir(string,uint64)": "1497876c"; - readonly "readDir(string,uint64,bool)": "8102d70d"; - readonly "readFile(string)": "60f9bb11"; - readonly "readFileBinary(string)": "16ed7bc4"; - readonly "readLine(string)": "70f55728"; - readonly "readLink(string)": "9f5684a2"; - readonly "record()": "266cf109"; - readonly "recordLogs()": "41af2f52"; - readonly "rememberKey(uint256)": "22100064"; - readonly "removeDir(string,bool)": "45c62011"; - readonly "removeFile(string)": "f1afe04d"; - readonly "replace(string,string,string)": "e00ad03e"; - readonly "resumeGasMetering()": "2bcd50e0"; - readonly "rpc(string,string)": "1206c8a8"; - readonly "rpcUrl(string)": "975a6ce9"; - readonly "rpcUrlStructs()": "9d2ad72a"; - readonly "rpcUrls()": "a85a8418"; - readonly "serializeAddress(string,string,address)": "972c6062"; - readonly "serializeAddress(string,string,address[])": "1e356e1a"; - readonly "serializeBool(string,string,bool)": "ac22e971"; - readonly "serializeBool(string,string,bool[])": "92925aa1"; - readonly "serializeBytes(string,string,bytes)": "f21d52c7"; - readonly "serializeBytes(string,string,bytes[])": "9884b232"; - readonly "serializeBytes32(string,string,bytes32)": "2d812b44"; - readonly "serializeBytes32(string,string,bytes32[])": "201e43e2"; - readonly "serializeInt(string,string,int256)": "3f33db60"; - readonly "serializeInt(string,string,int256[])": "7676e127"; - readonly "serializeJson(string,string)": "9b3358b0"; - readonly "serializeString(string,string,string)": "88da6d35"; - readonly "serializeString(string,string,string[])": "561cd6f3"; - readonly "serializeUint(string,string,uint256)": "129e9002"; - readonly "serializeUint(string,string,uint256[])": "fee9a469"; - readonly "setEnv(string,string)": "3d5923ee"; - readonly "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25"; - readonly "sign(uint256,bytes32)": "e341eaa4"; - readonly "signP256(uint256,bytes32)": "83211b40"; - readonly "sleep(uint256)": "fa9d8713"; - readonly "split(string,string)": "8bb75533"; - readonly "startBroadcast()": "7fb5297f"; - readonly "startBroadcast(address)": "7fec2a8d"; - readonly "startBroadcast(uint256)": "ce817d47"; - readonly "startMappingRecording()": "3e9705c0"; - readonly "startStateDiffRecording()": "cf22e3c9"; - readonly "stopAndReturnStateDiff()": "aa5cf90e"; - readonly "stopBroadcast()": "76eadd36"; - readonly "stopMappingRecording()": "0d4aae9b"; - readonly "toBase64(bytes)": "a5cbfe65"; - readonly "toBase64(string)": "3f8be2c8"; - readonly "toBase64URL(bytes)": "c8bd0e4a"; - readonly "toBase64URL(string)": "ae3165b3"; - readonly "toLowercase(string)": "50bb0884"; - readonly "toString(address)": "56ca623e"; - readonly "toString(bool)": "71dce7da"; - readonly "toString(bytes)": "71aad10d"; - readonly "toString(bytes32)": "b11a19e8"; - readonly "toString(int256)": "a322c40e"; - readonly "toString(uint256)": "6900a3ae"; - readonly "toUppercase(string)": "074ae3d7"; - readonly "trim(string)": "b2dad155"; - readonly "tryFfi(string[])": "f45c1ce7"; - readonly "unixTime()": "625387dc"; - readonly "writeFile(string,string)": "897e0a97"; - readonly "writeFileBinary(string,bytes)": "1f21fc80"; - readonly "writeJson(string,string)": "e23cd19f"; - readonly "writeJson(string,string,string)": "35d6ad46"; - readonly "writeLine(string,string)": "619d897f"; - readonly "writeToml(string,string)": "c0865ba7"; - readonly "writeToml(string,string,string)": "51ac6a33"; - }; -}; -//# sourceMappingURL=VmSafe.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/VmSafe.d.ts.map b/packages/hyperdrive-artifacts/dist/VmSafe.d.ts.map deleted file mode 100644 index 18e3464e7..000000000 --- a/packages/hyperdrive-artifacts/dist/VmSafe.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"VmSafe.d.ts","sourceRoot":"","sources":["../src/VmSafe.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+wNC,KAAK,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ShC,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/VmSafe.js b/packages/hyperdrive-artifacts/dist/VmSafe.js deleted file mode 100644 index fe1cd3bc9..000000000 --- a/packages/hyperdrive-artifacts/dist/VmSafe.js +++ /dev/null @@ -1,7229 +0,0 @@ -export const VmSafe = { - abi: [ - { - "type": "function", - "name": "accesses", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "readSlots", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "writeSlots", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addr", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "keyAddr", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbs", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqAbsDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRel", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertApproxEqRelDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "maxPercentDelta", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertFalse", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertFalse", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertGtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLe", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLeDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLt", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertLtDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool", - "internalType": "bool" - }, - { - "name": "right", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "right", - "type": "bool[]", - "internalType": "bool[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "right", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string", - "internalType": "string" - }, - { - "name": "right", - "type": "string", - "internalType": "string" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "right", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "right", - "type": "uint256[]", - "internalType": "uint256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "address", - "internalType": "address" - }, - { - "name": "right", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "right", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "right", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "string[]", - "internalType": "string[]" - }, - { - "name": "right", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "right", - "type": "int256[]", - "internalType": "int256[]" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "bytes[]", - "internalType": "bytes[]" - }, - { - "name": "right", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEq", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "int256", - "internalType": "int256" - }, - { - "name": "right", - "type": "int256", - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertNotEqDecimal", - "inputs": [ - { - "name": "left", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "right", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertTrue", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assertTrue", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - }, - { - "name": "error", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "assume", - "inputs": [ - { - "name": "condition", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "breakpoint", - "inputs": [ - { - "name": "char", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "breakpoint", - "inputs": [ - { - "name": "char", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "broadcast", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "closeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreate2Address", - "inputs": [ - { - "name": "salt", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "initCodeHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "deployer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "computeCreateAddress", - "inputs": [ - { - "name": "deployer", - "type": "address", - "internalType": "address" - }, - { - "name": "nonce", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "copyFile", - "inputs": [ - { - "name": "from", - "type": "string", - "internalType": "string" - }, - { - "name": "to", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "copied", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "recursive", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "walletLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createWallet", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "walletLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "derivationPath", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "language", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - }, - { - "name": "language", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "deriveKey", - "inputs": [ - { - "name": "mnemonic", - "type": "string", - "internalType": "string" - }, - { - "name": "derivationPath", - "type": "string", - "internalType": "string" - }, - { - "name": "index", - "type": "uint32", - "internalType": "uint32" - } - ], - "outputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "envAddress", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envAddress", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBool", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBool", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes32", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envBytes32", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envInt", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envInt", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envOr", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - }, - { - "name": "defaultValue", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [ - { - "name": "value", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envString", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envString", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envUint", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "envUint", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "delim", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "value", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "eth_getLogs", - "inputs": [ - { - "name": "fromBlock", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "toBlock", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "logs", - "type": "tuple[]", - "internalType": "struct VmSafe.EthGetLogs[]", - "components": [ - { - "name": "emitter", - "type": "address", - "internalType": "address" - }, - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "blockHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "blockNumber", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionHash", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "transactionIndex", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "logIndex", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "removed", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "exists", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "ffi", - "inputs": [ - { - "name": "commandInput", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "result", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "fsMetadata", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "metadata", - "type": "tuple", - "internalType": "struct VmSafe.FsMetadata", - "components": [ - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - }, - { - "name": "length", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "readOnly", - "type": "bool", - "internalType": "bool" - }, - { - "name": "modified", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "accessed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "created", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockNumber", - "inputs": [], - "outputs": [ - { - "name": "height", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBlockTimestamp", - "inputs": [], - "outputs": [ - { - "name": "timestamp", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCode", - "inputs": [ - { - "name": "artifactPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "creationBytecode", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getDeployedCode", - "inputs": [ - { - "name": "artifactPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "runtimeBytecode", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getLabel", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "currentLabel", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMappingKeyAndParentOf", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "elementSlot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "found", - "type": "bool", - "internalType": "bool" - }, - { - "name": "key", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "parent", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getMappingLength", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "mappingSlot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "length", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getMappingSlotAt", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "mappingSlot", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "idx", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getNonce", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "nonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getNonce", - "inputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "nonce", - "type": "uint64", - "internalType": "uint64" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getRecordedLogs", - "inputs": [], - "outputs": [ - { - "name": "logs", - "type": "tuple[]", - "internalType": "struct VmSafe.Log[]", - "components": [ - { - "name": "topics", - "type": "bytes32[]", - "internalType": "bytes32[]" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "emitter", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "result", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "keyExists", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "keyExistsJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "keyExistsToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "label", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "newLabel", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "load", - "inputs": [ - { - "name": "target", - "type": "address", - "internalType": "address" - }, - { - "name": "slot", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "parseAddress", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBool", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBytes", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseBytes32", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseInt", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonAddress", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonAddressArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBool", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBoolArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes32", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytes32Array", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonBytesArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonInt", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonIntArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonKeys", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "keys", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonString", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonStringArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonUint", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseJsonUintArray", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseToml", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "abiEncodedData", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlAddress", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlAddressArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBool", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBoolArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes32", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytes32Array", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlBytesArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlInt", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256", - "internalType": "int256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlIntArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlKeys", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "keys", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlString", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlStringArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlUint", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseTomlUintArray", - "inputs": [ - { - "name": "toml", - "type": "string", - "internalType": "string" - }, - { - "name": "key", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "parseUint", - "inputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "parsedValue", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "pauseGasMetering", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "projectRoot", - "inputs": [], - "outputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "maxDepth", - "type": "uint64", - "internalType": "uint64" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "maxDepth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "followLinks", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "entries", - "type": "tuple[]", - "internalType": "struct VmSafe.DirEntry[]", - "components": [ - { - "name": "errorMessage", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "isDir", - "type": "bool", - "internalType": "bool" - }, - { - "name": "isSymlink", - "type": "bool", - "internalType": "bool" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readFileBinary", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readLine", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "line", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "readLink", - "inputs": [ - { - "name": "linkPath", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "targetPath", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "record", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "recordLogs", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rememberKey", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "keyAddr", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeDir", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "recursive", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "replace", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - }, - { - "name": "from", - "type": "string", - "internalType": "string" - }, - { - "name": "to", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "resumeGasMetering", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rpc", - "inputs": [ - { - "name": "method", - "type": "string", - "internalType": "string" - }, - { - "name": "params", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "rpcUrl", - "inputs": [ - { - "name": "rpcAlias", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rpcUrlStructs", - "inputs": [], - "outputs": [ - { - "name": "urls", - "type": "tuple[]", - "internalType": "struct VmSafe.Rpc[]", - "components": [ - { - "name": "key", - "type": "string", - "internalType": "string" - }, - { - "name": "url", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "rpcUrls", - "inputs": [], - "outputs": [ - { - "name": "urls", - "type": "string[2][]", - "internalType": "string[2][]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "serializeAddress", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeAddress", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBool", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bool[]", - "internalType": "bool[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBool", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes32", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "bytes32[]", - "internalType": "bytes32[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeBytes32", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeInt", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeInt", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "int256[]", - "internalType": "int256[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeJson", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeString", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeString", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeUint", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "serializeUint", - "inputs": [ - { - "name": "objectKey", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - }, - { - "name": "values", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "outputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setEnv", - "inputs": [ - { - "name": "name", - "type": "string", - "internalType": "string" - }, - { - "name": "value", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sign", - "inputs": [ - { - "name": "wallet", - "type": "tuple", - "internalType": "struct VmSafe.Wallet", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "publicKeyX", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "publicKeyY", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "sign", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "v", - "type": "uint8", - "internalType": "uint8" - }, - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "signP256", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "digest", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "r", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "s", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "sleep", - "inputs": [ - { - "name": "duration", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "split", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - }, - { - "name": "delimiter", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "outputs", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [ - { - "name": "signer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startBroadcast", - "inputs": [ - { - "name": "privateKey", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startMappingRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "startStateDiffRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopAndReturnStateDiff", - "inputs": [], - "outputs": [ - { - "name": "accountAccesses", - "type": "tuple[]", - "internalType": "struct VmSafe.AccountAccess[]", - "components": [ - { - "name": "chainInfo", - "type": "tuple", - "internalType": "struct VmSafe.ChainInfo", - "components": [ - { - "name": "forkId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "chainId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "kind", - "type": "uint8", - "internalType": "enum VmSafe.AccountAccessKind" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "accessor", - "type": "address", - "internalType": "address" - }, - { - "name": "initialized", - "type": "bool", - "internalType": "bool" - }, - { - "name": "oldBalance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "newBalance", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deployedCode", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "reverted", - "type": "bool", - "internalType": "bool" - }, - { - "name": "storageAccesses", - "type": "tuple[]", - "internalType": "struct VmSafe.StorageAccess[]", - "components": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "slot", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "isWrite", - "type": "bool", - "internalType": "bool" - }, - { - "name": "previousValue", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "newValue", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "reverted", - "type": "bool", - "internalType": "bool" - } - ] - }, - { - "name": "depth", - "type": "uint64", - "internalType": "uint64" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopBroadcast", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stopMappingRecording", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "toBase64", - "inputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64URL", - "inputs": [ - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toBase64URL", - "inputs": [ - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toLowercase", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "int256", - "internalType": "int256" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toString", - "inputs": [ - { - "name": "value", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "stringifiedValue", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "toUppercase", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "trim", - "inputs": [ - { - "name": "input", - "type": "string", - "internalType": "string" - } - ], - "outputs": [ - { - "name": "output", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "tryFfi", - "inputs": [ - { - "name": "commandInput", - "type": "string[]", - "internalType": "string[]" - } - ], - "outputs": [ - { - "name": "result", - "type": "tuple", - "internalType": "struct VmSafe.FfiResult", - "components": [ - { - "name": "exitCode", - "type": "int32", - "internalType": "int32" - }, - { - "name": "stdout", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "stderr", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "unixTime", - "inputs": [], - "outputs": [ - { - "name": "milliseconds", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeFile", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeFileBinary", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeJson", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeLine", - "inputs": [ - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "data", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeToml", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - }, - { - "name": "valueKey", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "writeToml", - "inputs": [ - { - "name": "json", - "type": "string", - "internalType": "string" - }, - { - "name": "path", - "type": "string", - "internalType": "string" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - } - ], - bytecode: '0x', - methodIdentifiers: { - "accesses(address)": "65bc9481", - "addr(uint256)": "ffa18649", - "assertApproxEqAbs(int256,int256,uint256)": "240f839d", - "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621", - "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6", - "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062", - "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc", - "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4", - "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce", - "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2", - "assertApproxEqRel(int256,int256,uint256)": "fea2d14f", - "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72", - "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4", - "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33", - "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc", - "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4", - "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977", - "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd", - "assertEq(address,address)": "515361f6", - "assertEq(address,address,string)": "2f2769d1", - "assertEq(address[],address[])": "3868ac34", - "assertEq(address[],address[],string)": "3e9173c5", - "assertEq(bool,bool)": "f7fe3477", - "assertEq(bool,bool,string)": "4db19e7e", - "assertEq(bool[],bool[])": "707df785", - "assertEq(bool[],bool[],string)": "e48a8f8d", - "assertEq(bytes,bytes)": "97624631", - "assertEq(bytes,bytes,string)": "e24fed00", - "assertEq(bytes32,bytes32)": "7c84c69b", - "assertEq(bytes32,bytes32,string)": "c1fa1ed0", - "assertEq(bytes32[],bytes32[])": "0cc9ee84", - "assertEq(bytes32[],bytes32[],string)": "e03e9177", - "assertEq(bytes[],bytes[])": "e5fb9b4a", - "assertEq(bytes[],bytes[],string)": "f413f0b6", - "assertEq(int256,int256)": "fe74f05b", - "assertEq(int256,int256,string)": "714a2f13", - "assertEq(int256[],int256[])": "711043ac", - "assertEq(int256[],int256[],string)": "191f1b30", - "assertEq(string,string)": "f320d963", - "assertEq(string,string,string)": "36f656d8", - "assertEq(string[],string[])": "cf1c049c", - "assertEq(string[],string[],string)": "eff6b27d", - "assertEq(uint256,uint256)": "98296c54", - "assertEq(uint256,uint256,string)": "88b44c85", - "assertEq(uint256[],uint256[])": "975d5a12", - "assertEq(uint256[],uint256[],string)": "5d18c73a", - "assertEqDecimal(int256,int256,uint256)": "48016c04", - "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5", - "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c", - "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef", - "assertFalse(bool)": "a5982885", - "assertFalse(bool,string)": "7ba04809", - "assertGe(int256,int256)": "0a30b771", - "assertGe(int256,int256,string)": "a84328dd", - "assertGe(uint256,uint256)": "a8d4d1d9", - "assertGe(uint256,uint256,string)": "e25242c0", - "assertGeDecimal(int256,int256,uint256)": "dc28c0f1", - "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b", - "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a", - "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133", - "assertGt(int256,int256)": "5a362d45", - "assertGt(int256,int256,string)": "f8d33b9b", - "assertGt(uint256,uint256)": "db07fcd2", - "assertGt(uint256,uint256,string)": "d9a3c4d2", - "assertGtDecimal(int256,int256,uint256)": "78611f0e", - "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab", - "assertGtDecimal(uint256,uint256,uint256)": "eccd2437", - "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d", - "assertLe(int256,int256)": "95fd154e", - "assertLe(int256,int256,string)": "4dfe692c", - "assertLe(uint256,uint256)": "8466f415", - "assertLe(uint256,uint256,string)": "d17d4b0d", - "assertLeDecimal(int256,int256,uint256)": "11d1364a", - "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788", - "assertLeDecimal(uint256,uint256,uint256)": "c304aab7", - "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0", - "assertLt(int256,int256)": "3e914080", - "assertLt(int256,int256,string)": "9ff531e3", - "assertLt(uint256,uint256)": "b12fc005", - "assertLt(uint256,uint256,string)": "65d5c135", - "assertLtDecimal(int256,int256,uint256)": "dbe8d88b", - "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0", - "assertLtDecimal(uint256,uint256,uint256)": "2077337e", - "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037", - "assertNotEq(address,address)": "b12e1694", - "assertNotEq(address,address,string)": "8775a591", - "assertNotEq(address[],address[])": "46d0b252", - "assertNotEq(address[],address[],string)": "72c7e0b5", - "assertNotEq(bool,bool)": "236e4d66", - "assertNotEq(bool,bool,string)": "1091a261", - "assertNotEq(bool[],bool[])": "286fafea", - "assertNotEq(bool[],bool[],string)": "62c6f9fb", - "assertNotEq(bytes,bytes)": "3cf78e28", - "assertNotEq(bytes,bytes,string)": "9507540e", - "assertNotEq(bytes32,bytes32)": "898e83fc", - "assertNotEq(bytes32,bytes32,string)": "b2332f51", - "assertNotEq(bytes32[],bytes32[])": "0603ea68", - "assertNotEq(bytes32[],bytes32[],string)": "b873634c", - "assertNotEq(bytes[],bytes[])": "edecd035", - "assertNotEq(bytes[],bytes[],string)": "1dcd1f68", - "assertNotEq(int256,int256)": "f4c004e3", - "assertNotEq(int256,int256,string)": "4724c5b9", - "assertNotEq(int256[],int256[])": "0b72f4ef", - "assertNotEq(int256[],int256[],string)": "d3977322", - "assertNotEq(string,string)": "6a8237b3", - "assertNotEq(string,string,string)": "78bdcea7", - "assertNotEq(string[],string[])": "bdfacbe8", - "assertNotEq(string[],string[],string)": "b67187f3", - "assertNotEq(uint256,uint256)": "b7909320", - "assertNotEq(uint256,uint256,string)": "98f9bdbd", - "assertNotEq(uint256[],uint256[])": "56f29cba", - "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f", - "assertNotEqDecimal(int256,int256,uint256)": "14e75680", - "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b", - "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7", - "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558", - "assertTrue(bool)": "0c9fd581", - "assertTrue(bool,string)": "a34edc03", - "assume(bool)": "4c63e562", - "breakpoint(string)": "f0259e92", - "breakpoint(string,bool)": "f7d39a8d", - "broadcast()": "afc98040", - "broadcast(address)": "e6962cdb", - "broadcast(uint256)": "f67a965b", - "closeFile(string)": "48c3241f", - "computeCreate2Address(bytes32,bytes32)": "890c283b", - "computeCreate2Address(bytes32,bytes32,address)": "d323826a", - "computeCreateAddress(address,uint256)": "74637a7a", - "copyFile(string,string)": "a54a87d8", - "createDir(string,bool)": "168b64d3", - "createWallet(string)": "7404f1d2", - "createWallet(uint256)": "7a675bb6", - "createWallet(uint256,string)": "ed7c5462", - "deriveKey(string,string,uint32)": "6bcb2c1b", - "deriveKey(string,string,uint32,string)": "29233b1f", - "deriveKey(string,uint32)": "6229498b", - "deriveKey(string,uint32,string)": "32c8176d", - "envAddress(string)": "350d56bf", - "envAddress(string,string)": "ad31b9fa", - "envBool(string)": "7ed1ec7d", - "envBool(string,string)": "aaaddeaf", - "envBytes(string)": "4d7baf06", - "envBytes(string,string)": "ddc2651b", - "envBytes32(string)": "97949042", - "envBytes32(string,string)": "5af231c1", - "envInt(string)": "892a0c61", - "envInt(string,string)": "42181150", - "envOr(string,address)": "561fe540", - "envOr(string,bool)": "4777f3cf", - "envOr(string,bytes)": "b3e47705", - "envOr(string,bytes32)": "b4a85892", - "envOr(string,int256)": "bbcb713e", - "envOr(string,string)": "d145736c", - "envOr(string,string,address[])": "c74e9deb", - "envOr(string,string,bool[])": "eb85e83b", - "envOr(string,string,bytes32[])": "2281f367", - "envOr(string,string,bytes[])": "64bc3e64", - "envOr(string,string,int256[])": "4700d74b", - "envOr(string,string,string[])": "859216bc", - "envOr(string,string,uint256[])": "74318528", - "envOr(string,uint256)": "5e97348f", - "envString(string)": "f877cb19", - "envString(string,string)": "14b02bc9", - "envUint(string)": "c1978d1f", - "envUint(string,string)": "f3dec099", - "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b", - "exists(string)": "261a323e", - "ffi(string[])": "89160467", - "fsMetadata(string)": "af368a08", - "getBlockNumber()": "42cbb15c", - "getBlockTimestamp()": "796b89b9", - "getCode(string)": "8d1cc925", - "getDeployedCode(string)": "3ebf73b4", - "getLabel(address)": "28a249b0", - "getMappingKeyAndParentOf(address,bytes32)": "876e24e6", - "getMappingLength(address,bytes32)": "2f2fd63f", - "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4", - "getNonce((address,uint256,uint256,uint256))": "a5748aad", - "getNonce(address)": "2d0335ab", - "getRecordedLogs()": "191553a4", - "isDir(string)": "7d15d019", - "isFile(string)": "e0eb04d4", - "keyExists(string,string)": "528a683c", - "keyExistsJson(string,string)": "db4235f6", - "keyExistsToml(string,string)": "600903ad", - "label(address,string)": "c657c718", - "load(address,bytes32)": "667f9d70", - "parseAddress(string)": "c6ce059d", - "parseBool(string)": "974ef924", - "parseBytes(string)": "8f5d232d", - "parseBytes32(string)": "087e6e81", - "parseInt(string)": "42346c5e", - "parseJson(string)": "6a82600a", - "parseJson(string,string)": "85940ef1", - "parseJsonAddress(string,string)": "1e19e657", - "parseJsonAddressArray(string,string)": "2fce7883", - "parseJsonBool(string,string)": "9f86dc91", - "parseJsonBoolArray(string,string)": "91f3b94f", - "parseJsonBytes(string,string)": "fd921be8", - "parseJsonBytes32(string,string)": "1777e59d", - "parseJsonBytes32Array(string,string)": "91c75bc3", - "parseJsonBytesArray(string,string)": "6631aa99", - "parseJsonInt(string,string)": "7b048ccd", - "parseJsonIntArray(string,string)": "9983c28a", - "parseJsonKeys(string,string)": "213e4198", - "parseJsonString(string,string)": "49c4fac8", - "parseJsonStringArray(string,string)": "498fdcf4", - "parseJsonUint(string,string)": "addde2b6", - "parseJsonUintArray(string,string)": "522074ab", - "parseToml(string)": "592151f0", - "parseToml(string,string)": "37736e08", - "parseTomlAddress(string,string)": "65e7c844", - "parseTomlAddressArray(string,string)": "65c428e7", - "parseTomlBool(string,string)": "d30dced6", - "parseTomlBoolArray(string,string)": "127cfe9a", - "parseTomlBytes(string,string)": "d77bfdb9", - "parseTomlBytes32(string,string)": "8e214810", - "parseTomlBytes32Array(string,string)": "3e716f81", - "parseTomlBytesArray(string,string)": "b197c247", - "parseTomlInt(string,string)": "c1350739", - "parseTomlIntArray(string,string)": "d3522ae6", - "parseTomlKeys(string,string)": "812a44b2", - "parseTomlString(string,string)": "8bb8dd43", - "parseTomlStringArray(string,string)": "9f629281", - "parseTomlUint(string,string)": "cc7b0487", - "parseTomlUintArray(string,string)": "b5df27c8", - "parseUint(string)": "fa91454d", - "pauseGasMetering()": "d1a5b36f", - "projectRoot()": "d930a0e6", - "readDir(string)": "c4bc59e0", - "readDir(string,uint64)": "1497876c", - "readDir(string,uint64,bool)": "8102d70d", - "readFile(string)": "60f9bb11", - "readFileBinary(string)": "16ed7bc4", - "readLine(string)": "70f55728", - "readLink(string)": "9f5684a2", - "record()": "266cf109", - "recordLogs()": "41af2f52", - "rememberKey(uint256)": "22100064", - "removeDir(string,bool)": "45c62011", - "removeFile(string)": "f1afe04d", - "replace(string,string,string)": "e00ad03e", - "resumeGasMetering()": "2bcd50e0", - "rpc(string,string)": "1206c8a8", - "rpcUrl(string)": "975a6ce9", - "rpcUrlStructs()": "9d2ad72a", - "rpcUrls()": "a85a8418", - "serializeAddress(string,string,address)": "972c6062", - "serializeAddress(string,string,address[])": "1e356e1a", - "serializeBool(string,string,bool)": "ac22e971", - "serializeBool(string,string,bool[])": "92925aa1", - "serializeBytes(string,string,bytes)": "f21d52c7", - "serializeBytes(string,string,bytes[])": "9884b232", - "serializeBytes32(string,string,bytes32)": "2d812b44", - "serializeBytes32(string,string,bytes32[])": "201e43e2", - "serializeInt(string,string,int256)": "3f33db60", - "serializeInt(string,string,int256[])": "7676e127", - "serializeJson(string,string)": "9b3358b0", - "serializeString(string,string,string)": "88da6d35", - "serializeString(string,string,string[])": "561cd6f3", - "serializeUint(string,string,uint256)": "129e9002", - "serializeUint(string,string,uint256[])": "fee9a469", - "setEnv(string,string)": "3d5923ee", - "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25", - "sign(uint256,bytes32)": "e341eaa4", - "signP256(uint256,bytes32)": "83211b40", - "sleep(uint256)": "fa9d8713", - "split(string,string)": "8bb75533", - "startBroadcast()": "7fb5297f", - "startBroadcast(address)": "7fec2a8d", - "startBroadcast(uint256)": "ce817d47", - "startMappingRecording()": "3e9705c0", - "startStateDiffRecording()": "cf22e3c9", - "stopAndReturnStateDiff()": "aa5cf90e", - "stopBroadcast()": "76eadd36", - "stopMappingRecording()": "0d4aae9b", - "toBase64(bytes)": "a5cbfe65", - "toBase64(string)": "3f8be2c8", - "toBase64URL(bytes)": "c8bd0e4a", - "toBase64URL(string)": "ae3165b3", - "toLowercase(string)": "50bb0884", - "toString(address)": "56ca623e", - "toString(bool)": "71dce7da", - "toString(bytes)": "71aad10d", - "toString(bytes32)": "b11a19e8", - "toString(int256)": "a322c40e", - "toString(uint256)": "6900a3ae", - "toUppercase(string)": "074ae3d7", - "trim(string)": "b2dad155", - "tryFfi(string[])": "f45c1ce7", - "unixTime()": "625387dc", - "writeFile(string,string)": "897e0a97", - "writeFileBinary(string,bytes)": "1f21fc80", - "writeJson(string,string)": "e23cd19f", - "writeJson(string,string,string)": "35d6ad46", - "writeLine(string,string)": "619d897f", - "writeToml(string,string)": "c0865ba7", - "writeToml(string,string,string)": "51ac6a33" - } -}; diff --git a/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts b/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts deleted file mode 100644 index 2e35b6869..000000000 --- a/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const WadRayMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=WadRayMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts.map b/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts.map deleted file mode 100644 index b98f17c88..000000000 --- a/packages/hyperdrive-artifacts/dist/WadRayMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"WadRayMath.d.ts","sourceRoot":"","sources":["../src/WadRayMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;cAE2Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/WadRayMath.js b/packages/hyperdrive-artifacts/dist/WadRayMath.js deleted file mode 100644 index 78850be4f..000000000 --- a/packages/hyperdrive-artifacts/dist/WadRayMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const WadRayMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e4e36dee321758970a50ba207d9b2dbcef9c3fe34162b30cf2428802e183803f64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts b/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts deleted file mode 100644 index 8376e50a8..000000000 --- a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const YieldSpaceMath: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=YieldSpaceMath.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts.map b/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts.map deleted file mode 100644 index 322b879d0..000000000 --- a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"YieldSpaceMath.d.ts","sourceRoot":"","sources":["../src/YieldSpaceMath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;cAEuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.js b/packages/hyperdrive-artifacts/dist/YieldSpaceMath.js deleted file mode 100644 index 0e241fd2a..000000000 --- a/packages/hyperdrive-artifacts/dist/YieldSpaceMath.js +++ /dev/null @@ -1,5 +0,0 @@ -export const YieldSpaceMath = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a690dac2b10c7f50c8f49f5696207e6ec98638bfd244c81b276d75cf503cff9764736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/console.d.ts b/packages/hyperdrive-artifacts/dist/console.d.ts deleted file mode 100644 index f2f31dcae..000000000 --- a/packages/hyperdrive-artifacts/dist/console.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const console: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=console.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/console.d.ts.map b/packages/hyperdrive-artifacts/dist/console.d.ts.map deleted file mode 100644 index 15a4d6803..000000000 --- a/packages/hyperdrive-artifacts/dist/console.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../src/console.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/console.js b/packages/hyperdrive-artifacts/dist/console.js deleted file mode 100644 index 174ff7174..000000000 --- a/packages/hyperdrive-artifacts/dist/console.js +++ /dev/null @@ -1,5 +0,0 @@ -export const console = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ce24fb6998c488baf34dc5dcb235b417528a492b5e6b0ebc2b0085cbf79253fd64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/console2.d.ts b/packages/hyperdrive-artifacts/dist/console2.d.ts deleted file mode 100644 index 15f963e40..000000000 --- a/packages/hyperdrive-artifacts/dist/console2.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const console2: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=console2.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/console2.d.ts.map b/packages/hyperdrive-artifacts/dist/console2.d.ts.map deleted file mode 100644 index 6e78fbc19..000000000 --- a/packages/hyperdrive-artifacts/dist/console2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"console2.d.ts","sourceRoot":"","sources":["../src/console2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;cAE6Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/console2.js b/packages/hyperdrive-artifacts/dist/console2.js deleted file mode 100644 index 3db1297f6..000000000 --- a/packages/hyperdrive-artifacts/dist/console2.js +++ /dev/null @@ -1,5 +0,0 @@ -export const console2 = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202301753688608e1e83d99602a6bf1652675ab998b359db9c580d5688d4ebab6964736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/safeconsole.d.ts b/packages/hyperdrive-artifacts/dist/safeconsole.d.ts deleted file mode 100644 index 93271f867..000000000 --- a/packages/hyperdrive-artifacts/dist/safeconsole.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const safeconsole: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=safeconsole.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/safeconsole.d.ts.map b/packages/hyperdrive-artifacts/dist/safeconsole.d.ts.map deleted file mode 100644 index db3316bfc..000000000 --- a/packages/hyperdrive-artifacts/dist/safeconsole.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"safeconsole.d.ts","sourceRoot":"","sources":["../src/safeconsole.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;cAE0Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/safeconsole.js b/packages/hyperdrive-artifacts/dist/safeconsole.js deleted file mode 100644 index afecf250d..000000000 --- a/packages/hyperdrive-artifacts/dist/safeconsole.js +++ /dev/null @@ -1,5 +0,0 @@ -export const safeconsole = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122020d14503ffa71aaebd45a0d5d3c3f1537fae34e8d8b0244b44e47accf68ef76064736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts b/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts deleted file mode 100644 index da8f2be04..000000000 --- a/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts +++ /dev/null @@ -1,46 +0,0 @@ -export declare const stdStorageSafe: { - abi: readonly [{ - readonly type: "event"; - readonly name: "SlotFound"; - readonly inputs: readonly [{ - readonly name: "who"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "fsig"; - readonly type: "bytes4"; - readonly indexed: false; - readonly internalType: "bytes4"; - }, { - readonly name: "keysHash"; - readonly type: "bytes32"; - readonly indexed: false; - readonly internalType: "bytes32"; - }, { - readonly name: "slot"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }, { - readonly type: "event"; - readonly name: "WARNING_UninitedSlot"; - readonly inputs: readonly [{ - readonly name: "who"; - readonly type: "address"; - readonly indexed: false; - readonly internalType: "address"; - }, { - readonly name: "slot"; - readonly type: "uint256"; - readonly indexed: false; - readonly internalType: "uint256"; - }]; - readonly anonymous: false; - }]; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=stdStorageSafe.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts.map b/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts.map deleted file mode 100644 index dbf63df79..000000000 --- a/packages/hyperdrive-artifacts/dist/stdStorageSafe.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdStorageSafe.d.ts","sourceRoot":"","sources":["../src/stdStorageSafe.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqDuQ,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/stdStorageSafe.js b/packages/hyperdrive-artifacts/dist/stdStorageSafe.js deleted file mode 100644 index 8986d9efe..000000000 --- a/packages/hyperdrive-artifacts/dist/stdStorageSafe.js +++ /dev/null @@ -1,56 +0,0 @@ -export const stdStorageSafe = { - abi: [ - { - "type": "event", - "name": "SlotFound", - "inputs": [ - { - "name": "who", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "fsig", - "type": "bytes4", - "indexed": false, - "internalType": "bytes4" - }, - { - "name": "keysHash", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - }, - { - "name": "slot", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "WARNING_UninitedSlot", - "inputs": [ - { - "name": "who", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "slot", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - } - ], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212204cc1ab2cd6a604f15f9c4ce9584da51f090df0b197c7c615c311f23a31d5919b64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/dist/stdToml.d.ts b/packages/hyperdrive-artifacts/dist/stdToml.d.ts deleted file mode 100644 index a508c1507..000000000 --- a/packages/hyperdrive-artifacts/dist/stdToml.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare const stdToml: { - abi: readonly []; - bytecode: `0x${string}`; - methodIdentifiers: {}; -}; -//# sourceMappingURL=stdToml.d.ts.map \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/stdToml.d.ts.map b/packages/hyperdrive-artifacts/dist/stdToml.d.ts.map deleted file mode 100644 index 48cbfe9e8..000000000 --- a/packages/hyperdrive-artifacts/dist/stdToml.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stdToml.d.ts","sourceRoot":"","sources":["../src/stdToml.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;cAE8Q,KAAK,MAAM,EAAE;;CAE9S,CAAC"} \ No newline at end of file diff --git a/packages/hyperdrive-artifacts/dist/stdToml.js b/packages/hyperdrive-artifacts/dist/stdToml.js deleted file mode 100644 index 2daae4434..000000000 --- a/packages/hyperdrive-artifacts/dist/stdToml.js +++ /dev/null @@ -1,5 +0,0 @@ -export const stdToml = { - abi: [], - bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207ba9e2c3b107114be6d84156685ea16bb6c58fd8e32455dea1f3dca83ee44aca64736f6c63430008160033', - methodIdentifiers: {} -}; diff --git a/packages/hyperdrive-artifacts/package.json b/packages/hyperdrive-artifacts/package.json index ca65e22a8..74d4e1335 100644 --- a/packages/hyperdrive-artifacts/package.json +++ b/packages/hyperdrive-artifacts/package.json @@ -18,7 +18,8 @@ "./package.json": "./package.json" }, "scripts": { - "clone-and-build": "sh scripts/build.sh v1.0.20" + "generate": "sh scripts/generate.sh v1.0.20", + "build": "tsc --build" }, "devDependencies": { "@hyperdrive/tsconfig": "*", diff --git a/packages/hyperdrive-artifacts/scripts/build.sh b/packages/hyperdrive-artifacts/scripts/build.sh deleted file mode 100644 index f1e836f5b..000000000 --- a/packages/hyperdrive-artifacts/scripts/build.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/bash -set -e - -# SETTINGS -default_branch="main" -default_repo_url="git@github.com:delvtech/hyperdrive.git" -max_file_size=1000000 # 1MB - -# Check if forge is installed -if ! command -v forge &>/dev/null; then - echo "forge could not be found. Install forge to compile the contracts." - exit 1 -fi - -# Echo usage -echo "" -echo "+" -echo "| $0" -echo "| Clones the hyperdrive repo, compiles the contracts with forge, then creates and compiles" -echo "| typescript files from the contract artifacts." -echo "|" -echo "| Usage: $0 [branch] [repo_url]" -echo "|" -echo "| branch: The branch to clone. (default: $default_branch)" -echo "| repo_url: The url of the git repository to clone. (default: $default_repo_url)" -echo "+" -echo "" - -branch=${1:-$default_branch} -repo_url=${2:-$default_repo_url} -temp_dir=$(mktemp -d "hyperdrive-temp.XXXXXX") -src_dir="src" -dist_dir="dist" - -# Echo settings -echo "Branch: $branch" -echo "Repo URL: $repo_url" -echo "Max file size: $max_file_size bytes" -echo "" - -git clone --depth 1 "$repo_url" --branch "$branch" "$temp_dir" - -echo "Compiling contracts..." -( - cd "$temp_dir" - forge install - forge build --skip test --skip script -) - -echo "Creating typescript files..." - -# Reset the directories -rm -rf "$src_dir" -rm -rf "$dist_dir" -mkdir "$src_dir" -mkdir "$dist_dir" - -function processOutDir() { - local dir=$1 - for entry in "$dir"/*; do - - # Ignore test contract directories which end with ".t.sol" - if [[ "$entry" == *".t.sol" ]]; then - continue - fi - - # Recursively process directories - if [[ -d "$entry" ]]; then - processOutDir "$entry" - - # Process files - elif [[ -f "$entry" ]]; then - - # Get the name of the contract - local contract_name=$(basename "$entry" .json) - - # Omit contracts with "test"/"Test" in the name - if [[ "$contract_name" == *"test"* ]] || [[ "$contract_name" == *"Test"* ]]; then - continue - fi - - # Ignore the contract if the file is too large. This prevents TSC from - # throwing errors while trying to parse large files and prevents the - # script from processing files we probably don't want to be importing into - # our codebase. - local file_size=$(wc -c <"$entry") - if [ "$file_size" -gt "$max_file_size" ]; then - echo "WARNING: File $entry is too large ($(echo $file_size | tr -d ' ') bytes) and will be omitted." - continue - fi - - # Get the fields we care about - local abi=$(jq -r .abi <"$entry") - local bytecode=$(jq -r .bytecode.object <"$entry") - local methodIdentifiers=$(jq -r '.methodIdentifiers // "{}"' <"$entry") - - # Write the contract to a typescript file as a named export. - local out_file="$src_dir/$contract_name.ts" - { - echo "export const $contract_name = {" - echo " abi: $abi as const," - echo " bytecode: '$bytecode' as \`0x\${string}\`," - echo " methodIdentifiers: $methodIdentifiers as const" - echo "};" - } >"$out_file" - fi - done -} - -processOutDir "$temp_dir/out" - -echo "Compiling typescript files..." -tsc --outDir "$dist_dir" - -echo "Cleaning up..." -rm -rf "$temp_dir" -rm -rf "$src_dir" diff --git a/packages/hyperdrive-artifacts/scripts/generate.sh b/packages/hyperdrive-artifacts/scripts/generate.sh new file mode 100644 index 000000000..58ee66c4c --- /dev/null +++ b/packages/hyperdrive-artifacts/scripts/generate.sh @@ -0,0 +1,108 @@ +#!/bin/bash +set -e + +# Check if forge is installed +if ! command -v forge >/dev/null 2>&1; then + echo "forge not found. Install forge to compile the contracts." + exit 1 +fi + +# SETTINGS +default_branch="main" +default_repo_url="git@github.com:delvtech/hyperdrive.git" +max_file_size=1000000 # 1MB +out_dir="src" + +branch=${1:-$default_branch} +repo_url=${2:-$default_repo_url} + +repo_name=$(basename "$repo_url" .git) +default_repo_name=$(basename "$default_repo_url" .git) +package_name=$(jq -r .name "$temp_out_dir/$contract_name.ts" <<-EOF + export const $contract_name = { + name: '$contract_name' as const, + abi: $abi as const, + bytecode: '$bytecode' as \`0x\${string}\`, + methodIdentifiers: $methodIdentifiers as const + }; + EOF + + done + +echo "Cleaning up..." +rm -rf "$temp_clone_dir" +rm -rf "$out_dir" +mv "$temp_out_dir" "$out_dir" + +cat < DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteBorrowParams)": "1e6473f9", + "executeRebalanceStableBorrowRate(DataTypes.ReserveData storage,address,address)": "6973f744", + "executeRepay(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteRepayParams)": "40e95de6", + "executeSwapBorrowRateMode(DataTypes.ReserveData storage,DataTypes.UserConfigurationMap storage,address,address,DataTypes.InterestRateMode)": "2421c64e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/BridgeLogic.ts b/packages/hyperdrive-artifacts/src/BridgeLogic.ts new file mode 100644 index 000000000..75b24f46e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/BridgeLogic.ts @@ -0,0 +1,140 @@ +export const BridgeLogic = { + name: 'BridgeLogic' as const, + abi: [ + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x611ccd610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80630413c86f146100435780638e74324814610064575b5f80fd5b81801561004e575f80fd5b5061006261005d366004611899565b610095565b005b81801561006f575f80fd5b5061008361007e36600461190c565b61031b565b60405190815260200160405180910390f35b6001600160a01b0384165f908152602088905260408120906100b68261056a565b90506100c28282610735565b6100ce8183878761078d565b6101c08101515160b081901c640fffffffff169060301c60ff165f6100f288610a4e565b600886018054601090610116908490600160801b90046001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b0316021790556001600160801b0316905081600a6101519190611a6b565b61015b9084611a76565b811115604051806040016040528060028152602001611a9960f11b815250906101a05760405162461bcd60e51b81526004016101979190611a8d565b60405180910390fd5b506101ae85858b5f80610aba565b6101e084015161010085015160405163b3f1c93d60e01b81523360048201526001600160a01b038a81166024830152604482018c905260648201929092525f92919091169063b3f1c93d906084016020604051808303815f875af1158015610218573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023c9190611ad9565b905080156102bd5761025b8d8d8d886101c00151896101e00151610dd5565b156102bd57600386015461027d908c90600160a81b900461ffff166001610fbd565b876001600160a01b03168a6001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b60408051338152602081018b905261ffff8916916001600160a01b03808c1692908e16917ff25af37b3d3ec226063dc9bdc103ece7eb110a50f340fe854bb7bc1b0676d7d0910160405180910390a450505050505050505050505050565b5f806103268761056a565b90506103328782610735565b60088701545f90600160801b90046001600160801b03168610610369576008880154600160801b90046001600160801b031661036b565b855b90505f610378868661101f565b90505f6103858288611af8565b90505f6103928885611b0b565b61010086015160088d0154919250610430916103b9916001600160801b0390911690611043565b866101e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041e9190611b1e565b6104289190611b0b565b8c9084611084565b610100860181905261044c906104479085906110f8565b610a4e565b60088c0180545f906104689084906001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061049584610a4e565b60088c0180546010906104b9908490600160801b90046001600160801b0316611b35565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506104f6858b835f8f610aba90949392919063ffffffff16565b6101e0850151610513906001600160a01b038c1690339084611133565b60408051858152602081018a905233916001600160a01b038d16917f281596e92b2d974beb7d4f124df30a0b39067b096893e95011ce4bdad798b759910160405180910390a3509193505050505b95945050505050565b6105726117e5565b61057a6117e5565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa158015610669573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068d9190611b1e565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa1580156106de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107029190611b55565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b9092041603610755575050565b61075f82826111d2565b61076982826112af565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b604080518082019091526002815261191b60f11b6020820152826107c45760405162461bcd60e51b81526004016101979190611a8d565b505f805f610819876101c0015151670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000821615159167100000000000000016151590565b94505050925092508260405180604001604052806002815260200161323760f01b8152509061085b5760405162461bcd60e51b81526004016101979190611a8d565b50604080518082019091526002815261323960f01b602082015281156108945760405162461bcd60e51b81526004016101979190611a8d565b50604080518082019091526002815261064760f31b602082015282156108cd5760405162461bcd60e51b81526004016101979190611a8d565b50866101e001516001600160a01b0316846001600160a01b03161415604051806040016040528060028152602001610e4d60f21b815250906109225760405162461bcd60e51b81526004016101979190611a8d565b506101c08701515160741c640fffffffff16801580610a0a57506101c08801515160301c60ff1661095490600a611a6b565b61095e9082611a76565b866109fd8a61010001518a6008015f9054906101000a90046001600160801b03166001600160801b03168c6101e001516001600160a01b031663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ed9190611b1e565b6109f79190611b0b565b90611043565b610a079190611b0b565b11155b60405180604001604052806002815260200161353160f01b81525090610a435760405162461bcd60e51b81526004016101979190611a8d565b505050505050505050565b5f6001600160801b03821115610ab65760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610197565b5090565b610ae160405180608001604052805f81526020015f81526020015f81526020015f81525090565b6101408501516020860151610af591611043565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e91610bbc91600401611b9c565b606060405180830381865afa158015610bd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfb9190611c1e565b60408401526020830152808252610c1190610a4e565b6001870180546001600160801b03928316600160801b0292169190911790556020810151610c3e90610a4e565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151610c6e90610a4e565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152610cac9051600160fc1b16151590565b15610d61578215610d0957610cc083610a4e565b600987018054601090610ce4908490600160801b90046001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115610d6157610d1882610a4e565b600987018054601090610d3c908490600160801b90046001600160801b0316611b35565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b81515f9060d41c64ffffffffff1615610fa7575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e499190611c49565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea89190611c49565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0a9190611c49565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa158015610f74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f989190611ad9565b610fa5575f915050610561565b505b610fb38686868661140f565b9695505050505050565b6040805180820190915260028152610dcd60f21b602082015260808310610ff75760405162461bcd60e51b81526004016101979190611a8d565b50600182811b81011b811561101157835481178455611019565b835481191684555b50505050565b5f81156113881983900484111517611035575f80fd5b506127109102611388010490565b5f81156b019d971e4fe8401e740000001983900484111517611063575f80fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b60018301545f9081906110c1906001600160801b0316676765c793fa10079d601b1b6109ed6110b2886114ab565b6110bb886114ab565b906110f8565b90506110cc81610a4e565b6001860180546001600160801b0319166001600160801b039290921691909117905590505b9392505050565b5f8115676765c793fa10079d601b1b60028404190484111715611119575f80fd5b50676765c793fa10079d601b1b9190910260028204010490565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af1611175573d5f803e3d5ffd5b5061117f856114c5565b6111cb5760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610197565b5050505050565b61016081015115611240575f6111f2826101600151836102400151611568565b905061120b8260e001518261104390919063ffffffff16565b610100830181905261121c90610a4e565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b8051156112ab575f61125c8261018001518361024001516115ad565b90506112768261012001518261104390919063ffffffff16565b610140830181905261128790610a4e565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b6112e26040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f036112f357505050565b610120820151825161130491611043565b6020820152610140820151825161131a91611043565b6040820152606082015161026083015161024084015161134292919064ffffffffff166115b5565b60608201819052604083015161135791611043565b8082526020820151608084015160408401516113739190611b0b565b61137d9190611af8565b6113879190611af8565b608082018190526101a083015161139e919061101f565b60a082018190521561140a576113c96104478361010001518360a001516110f890919063ffffffff16565b6008840180545f906113e59084906001600160801b0316611964565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b5f61141c825161ffff1690565b5f0361142957505f6114a3565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16611468575060016114a3565b6040805160208101909152835481525f906114849087876116d8565b505090508015801561149f5750825160d41c64ffffffffff16155b9150505b949350505050565b633b9aca0081810290810482146114c0575f80fd5b919050565b5f6114e7565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d80156115265760208114611557576115217f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f6114cb565b611562565b823b61154e5761154e7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b60146114cb565b60019150611562565b3d5f803e5f51151591505b50919050565b5f8061157b64ffffffffff841642611af8565b6115859085611a76565b6301e13380900490506115a381676765c793fa10079d601b1b611b0b565b9150505b92915050565b5f6110f18383425b5f806115c864ffffffffff851684611af8565b9050805f036115e557676765c793fa10079d601b1b9150506110f1565b5f1981015f8080600285116115fa575f6115ff565b600285035b925066038882915c40006116138a80611043565b8161162057611620611c64565b0491506301e13380611632838b611043565b8161163f5761163f611c64565b0490505f8261164e8688611a76565b6116589190611a76565b6002900490505f828561166b888a611a76565b6116759190611a76565b61167f9190611a76565b60069004905080826301e133806116968a8f611a76565b6116a09190611c78565b6116b590676765c793fa10079d601b1b611b0b565b6116bf9190611b0b565b6116c99190611b0b565b9b9a5050505050505050505050565b5f805f6116e48661177e565b1561176c575f611714877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6117c1565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff1690508015611768576001955090935091506117759050565b5050505b505f9150819050805b93509350939050565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1680158015906110f157506117b9600182611af8565b161592915050565b81515f9082165f198101198116825b60029190911c908115610561576001016117d0565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161185a60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6001600160a01b0381168114611896575f80fd5b50565b5f805f805f805f60e0888a0312156118af575f80fd5b87359650602088013595506040880135945060608801356118cf81611882565b93506080880135925060a08801356118e681611882565b915060c088013561ffff811681146118fc575f80fd5b8091505092959891949750929550565b5f805f805f60a08688031215611920575f80fd5b85359450602086013561193281611882565b94979496505050506040830135926060810135926080909101359150565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b0381811683821601908082111561198457611984611950565b5092915050565b600181815b808511156119c557815f19048211156119ab576119ab611950565b808516156119b857918102915b93841c9390800290611990565b509250929050565b5f826119db575060016115a7565b816119e757505f6115a7565b81600181146119fd5760028114611a0757611a23565b60019150506115a7565b60ff841115611a1857611a18611950565b50506001821b6115a7565b5060208310610133831016604e8410600b8410161715611a46575081810a6115a7565b611a50838361198b565b805f1904821115611a6357611a63611950565b029392505050565b5f6110f183836119cd565b80820281158282048414176115a7576115a7611950565b5f602080835283518060208501525f5b81811015611ab957858101830151858201604001528201611a9d565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611ae9575f80fd5b815180151581146110f1575f80fd5b818103818111156115a7576115a7611950565b808201808211156115a7576115a7611950565b5f60208284031215611b2e575f80fd5b5051919050565b6001600160801b0382811682821603908082111561198457611984611950565b5f805f8060808587031215611b68575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114611b91575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151611bfe60e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215611c30575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611c59575f80fd5b81516110f181611882565b634e487b7160e01b5f52601260045260245ffd5b5f82611c9257634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220fea637e18eeb345815f52e8526538811a8eea0ed524cf631d2402630bb41afb964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "executeBackUnbacked(DataTypes.ReserveData storage,address,uint256,uint256,uint256)": "8e743248", + "executeMintUnbacked(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,address,uint256,address,uint16)": "0413c86f" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CalldataLogic.ts b/packages/hyperdrive-artifacts/src/CalldataLogic.ts new file mode 100644 index 000000000..14c181fa1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CalldataLogic.ts @@ -0,0 +1,6 @@ +export const CalldataLogic = { + name: 'CalldataLogic' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b62bad570afe33a39a83096ec895d556bc35d9b7e60c04175ebb692cadbf2faf64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkBase.ts b/packages/hyperdrive-artifacts/src/ChainlinkBase.ts new file mode 100644 index 000000000..214004a5e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkBase.ts @@ -0,0 +1,657 @@ +export const ChainlinkBase = { + name: 'ChainlinkBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkConversions.ts b/packages/hyperdrive-artifacts/src/ChainlinkConversions.ts new file mode 100644 index 000000000..2af832297 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkConversions.ts @@ -0,0 +1,6 @@ +export const ChainlinkConversions = { + name: 'ChainlinkConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122028a53ab113cb8d4399f43da1597ae57f6393fa298130b8680a1a766ee0d7adc364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkHyperdrive.ts b/packages/hyperdrive-artifacts/src/ChainlinkHyperdrive.ts new file mode 100644 index 000000000..e9e4ed9ba --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkHyperdrive.ts @@ -0,0 +1,1676 @@ +export const ChainlinkHyperdrive = { + name: 'ChainlinkHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61036060405234801562000011575f80fd5b50604051620017fd380380620017fd8339810160408190526200003491620003e5565b81818b8b8b8b8b8b8b8b868660015f81905550815f01516001600160a01b03166080816001600160a01b03168152505081602001516001600160a01b031660a0816001600160a01b03168152505081608001516101a081815250508160a001516101c081815250508160c001516101e081815250508160e00151610200818152505081610120015160c0818152505081610100015160e081815250508161014001516101008181525050816101e001515f01516101208181525050816101e00151602001516101408181525050816101e00151604001516101608181525050816101e0015160600151610180818152505081604001516001600160a01b0316610240816001600160a01b03168152505081606001516102608181525050806001600160a01b0316610220816001600160a01b031681525050505087600190816200017f9190620005cb565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529490941661034052505060ff166103205250620006979950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002065762000206620001cc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620002375762000237620001cc565b604052919050565b80516001600160a01b038116811462000256575f80fd5b919050565b5f608082840312156200026c575f80fd5b604051608081016001600160401b0381118282101715620002915762000291620001cc565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002d4575f80fd5b620002de620001e0565b9050620002eb826200023f565b8152620002fb602083016200023f565b60208201526200030e604083016200023f565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620003798184016200023f565b908201526101806200038d8382016200023f565b908201526101a0620003a18382016200023f565b908201526101c0620003b58382016200023f565b908201526101e0620003ca848483016200025b565b9082015292915050565b805160ff8116811462000256575f80fd5b5f805f805f805f805f806103808b8d03121562000400575f80fd5b8a516001600160401b038082111562000417575f80fd5b818d0191508d601f8301126200042b575f80fd5b815181811115620004405762000440620001cc565b6020915062000458601f8201601f191683016200020c565b8181528f838386010111156200046c575f80fd5b5f5b828110156200048b5784810184015182820185015283016200046e565b505f838383010152809d505050620004a68e828f01620002c2565b9a505050620004b96102808c016200023f565b9750620004ca6102a08c016200023f565b9650620004db6102c08c016200023f565b9550620004ec6102e08c016200023f565b9450620004fd6103008c016200023f565b93506200050e6103208c016200023f565b92506200051f6103408c016200023f565b9150620005306103608c01620003d4565b90509295989b9194979a5092959850565b600181811c908216806200055657607f821691505b6020821081036200057557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005c657805f5260205f20601f840160051c81016020851015620005a25750805b601f840160051c820191505b81811015620005c3575f8155600101620005ae565b50505b505050565b81516001600160401b03811115620005e757620005e7620001cc565b620005ff81620005f8845462000541565b846200057b565b602080601f83116001811462000635575f84156200061d5750858301515b5f19600386901b1c1916600185901b1785556200068f565b5f85815260208120601f198616915b82811015620006655788860151825594840194600190910190840162000644565b50858210156200068357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007bc5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122029d3a8fe7b29d4f7ed662c3796a7937c2f6ca5c84b52cc12644a4790c8e6793a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..2184d2c3f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const ChainlinkHyperdriveCoreDeployer = { + name: 'ChainlinkHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50611ed38061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200038b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f805f898060200190518101906200007c919062000483565b604080513360208201529081018790529193509150606001604051602081830303815290604052805190602001208d8d8d8c8c8c8c8c8a8a604051620000c29062000107565b620000d79a99989796959493929190620005e4565b8190604051809103905ff5905080158015620000f5573d5f803e3d5ffd5b509d9c50505050505050505050505050565b6117fd80620006a183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000150576200015062000115565b60405290565b5f82601f83011262000166575f80fd5b813567ffffffffffffffff8082111562000184576200018462000115565b604051601f8301601f19908116603f01168101908282118183101715620001af57620001af62000115565b81604052838152866020858801011115620001c8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001fc575f80fd5b50565b80356200020c81620001e7565b919050565b5f6080828403121562000222575f80fd5b6040516080810181811067ffffffffffffffff8211171562000248576200024862000115565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200028b575f80fd5b6200029562000129565b9050620002a282620001ff565b8152620002b260208301620001ff565b6020820152620002c560408301620001ff565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000330818401620001ff565b9082015261018062000344838201620001ff565b908201526101a062000358838201620001ff565b908201526101c06200036c838201620001ff565b908201526101e0620003818484830162000211565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a6575f80fd5b8a3567ffffffffffffffff80821115620003be575f80fd5b620003cc8e838f0162000156565b9b50620003dd8e60208f0162000279565b9a50620003ee6102808e01620001ff565b99506102a08d013591508082111562000405575f80fd5b50620004148d828e0162000156565b975050620004266102c08c01620001ff565b9550620004376102e08c01620001ff565b9450620004486103008c01620001ff565b9350620004596103208c01620001ff565b92506200046a6103408c01620001ff565b91506103608b013590509295989b9194979a5092959850565b5f806040838503121562000495575f80fd5b8251620004a281620001e7565b602084015190925060ff81168114620004b9575f80fd5b809150509250929050565b80516001600160a01b031682526020810151620004ec60208401826001600160a01b03169052565b5060408101516200050860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200057b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103808083528c5180828501525f91505b808210156200061a576020828f0101516103a08386010152602082019150620005f6565b6103a091505f82828601015281601f19601f8301168501019250505062000645602083018c620004c4565b6001600160a01b03998a166102808301529789166102a08201529588166102c08701529387166102e0860152918616610300850152851661032084015290931661034082015260ff909216610360909201919091529291505056fe61036060405234801562000011575f80fd5b50604051620017fd380380620017fd8339810160408190526200003491620003e5565b81818b8b8b8b8b8b8b8b868660015f81905550815f01516001600160a01b03166080816001600160a01b03168152505081602001516001600160a01b031660a0816001600160a01b03168152505081608001516101a081815250508160a001516101c081815250508160c001516101e081815250508160e00151610200818152505081610120015160c0818152505081610100015160e081815250508161014001516101008181525050816101e001515f01516101208181525050816101e00151602001516101408181525050816101e00151604001516101608181525050816101e0015160600151610180818152505081604001516001600160a01b0316610240816001600160a01b03168152505081606001516102608181525050806001600160a01b0316610220816001600160a01b031681525050505087600190816200017f9190620005cb565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529490941661034052505060ff166103205250620006979950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002065762000206620001cc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620002375762000237620001cc565b604052919050565b80516001600160a01b038116811462000256575f80fd5b919050565b5f608082840312156200026c575f80fd5b604051608081016001600160401b0381118282101715620002915762000291620001cc565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002d4575f80fd5b620002de620001e0565b9050620002eb826200023f565b8152620002fb602083016200023f565b60208201526200030e604083016200023f565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620003798184016200023f565b908201526101806200038d8382016200023f565b908201526101a0620003a18382016200023f565b908201526101c0620003b58382016200023f565b908201526101e0620003ca848483016200025b565b9082015292915050565b805160ff8116811462000256575f80fd5b5f805f805f805f805f806103808b8d03121562000400575f80fd5b8a516001600160401b038082111562000417575f80fd5b818d0191508d601f8301126200042b575f80fd5b815181811115620004405762000440620001cc565b6020915062000458601f8201601f191683016200020c565b8181528f838386010111156200046c575f80fd5b5f5b828110156200048b5784810184015182820185015283016200046e565b505f838383010152809d505050620004a68e828f01620002c2565b9a505050620004b96102808c016200023f565b9750620004ca6102a08c016200023f565b9650620004db6102c08c016200023f565b9550620004ec6102e08c016200023f565b9450620004fd6103008c016200023f565b93506200050e6103208c016200023f565b92506200051f6103408c016200023f565b9150620005306103608c01620003d4565b90509295989b9194979a5092959850565b600181811c908216806200055657607f821691505b6020821081036200057557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005c657805f5260205f20601f840160051c81016020851015620005a25750805b601f840160051c820191505b81811015620005c3575f8155600101620005ae565b50505b505050565b81516001600160401b03811115620005e757620005e7620001cc565b620005ff81620005f8845462000541565b846200057b565b602080601f83116001811462000635575f84156200061d5750858301515b5f19600386901b1c1916600185901b1785556200068f565b5f85815260208120601f198616915b82811015620006655788860151825594840194600190910190840162000644565b50858210156200068357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007bc5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122029d3a8fe7b29d4f7ed662c3796a7937c2f6ca5c84b52cc12644a4790c8e6793a64736f6c63430008160033a2646970667358221220d631e332c39645a1fceaad8beacbc42762833f2583bee1e6f2b3e6e425da650764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..f26495365 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkHyperdriveDeployerCoordinator.ts @@ -0,0 +1,763 @@ +export const ChainlinkHyperdriveDeployerCoordinator = { + name: 'ChainlinkHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b50604051620029e2380380620029e28339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125c86200041a5f395f81816102830152610d0101525f81816103010152610bce01525f81816103670152610a9b01525f81816102ce015261096801525f8181610334015261075f01525f81816103ec015261105001525f81816103b9015281816104f3015281816106880152818161078f0152818161099801528181610acb01528181610bfe01528181610d3101528181610e24015261108101526125c85ff3fe6080604052600436106100e4575f3560e01c8063aa8cd6c411610087578063c45a015511610057578063c45a0155146103a8578063c83e1f51146103db578063e990eba81461040e578063e99be3961461042d575f80fd5b8063aa8cd6c4146102f0578063ab71905f14610323578063b6cb111814610356578063c151061814610389575f80fd5b806337404017116100c2578063374040171461014757806354fd4d5014610243578063966ecd1c14610272578063a085fa30146102bd575f80fd5b806304baa00b146100e857806306fdde031461011257806316abfc7014610126575b5f80fd5b3480156100f3575f80fd5b506100fc610440565b6040516101099190611a9c565b60405180910390f35b34801561011d575f80fd5b506100fc61045c565b610139610134366004611bd1565b6104e7565b604051908152602001610109565b348015610152575f80fd5b50610236610161366004611c8f565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b6040516101099190611ca6565b34801561024e575f80fd5b50604080518082019091526007815266076312e302e32360cc1b60208201526100fc565b34801561027d575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610109565b3480156102c8575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b3480156102fb575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b34801561032e575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610361575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610394575f80fd5b506102a56103a3366004611e7a565b61067c565b3480156103b3575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e6575f80fd5b506102a57f000000000000000000000000000000000000000000000000000000000000000081565b348015610419575f80fd5b506102a5610428366004611ee3565b610e18565b348015610438575f80fd5b506005610139565b60405180606001604052806026815260200161256d6026913981565b5f805461046890611f7d565b80601f016020809104026020016040519081016040528092919081815260200182805461049490611f7d565b80156104df5780601f106104b6576101008083540402835291602001916104df565b820191905f5260205f20905b8154815290600101906020018083116104c257829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461053157604051634084351160e01b815260040160405180910390fd5b61053961118b565b5f868152600160205260409020600301546001600160a01b0316806105715760405163952b05cb60e01b815260040160405180910390fd5b5f61057e828888876111ac565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016105b193929190611fb5565b60206040518083038185885af11580156105cd573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906105f29190611ffa565b92505f6105ff8234612025565b9050801561066f576040515f90339083908381818185875af1925050503d805f8114610646576040519150601f19603f3d011682016040523d82523d5f602084013e61064b565b606091505b505090508061066d576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106c657604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610876578054156106fb57604051633be1b34d60e11b815260040160405180910390fd5b6107058686611265565b5f6107108787611353565b90505f876040516020016107249190612038565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107518a611387565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016107cb929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610800949392919061226b565b6020604051808303815f875af115801561081c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084091906122b0565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b0383161790559050610673565b5f87815260016020526040902054806108a25760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016108b49190612038565b60405160208183030381529060405280519060200120146108e85760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461091257604051631a3272d160e31b815260040160405180910390fd5b61091c8787611265565b5f61092688611387565b6002840154608082015290506001869003610a665760058301546001600160a01b0316156109665760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b6040516020016109cd939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a02949392919061226b565b6020604051808303815f875af1158015610a1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4291906122b0565b6005840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600203610b995760068301546001600160a01b031615610a995760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b00939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b35949392919061226b565b6020604051808303815f875af1158015610b51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7591906122b0565b6006840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600303610ccc5760078301546001600160a01b031615610bcc5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c33939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c68949392919061226b565b6020604051808303815f875af1158015610c84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca891906122b0565b6007840180546001600160a01b0319166001600160a01b038316179055935061066f565b85600403610dff5760088301546001600160a01b031615610cff5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d66939291906122cb565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d9b949392919061226b565b6020604051808303815f875af1158015610db7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ddb91906122b0565b6008840180546001600160a01b0319166001600160a01b038316179055935061066f565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e6257604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f0a57604051632c95caeb60e01b815260040160405180910390fd5b8051610f295760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610f4e575060a08101516001600160a01b0316155b80610f64575060c08101516001600160a01b0316155b80610f7a575060e08101516001600160a01b0316155b80610f9157506101008101516001600160a01b0316155b15610faf5760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051610fc2908790602001612038565b6040516020818303038152906040528051906020012014610ff65760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461102157604051631a3272d160e31b815260040160405180910390fd5b61102b8585611265565b5f61103586611387565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016110d7929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111129a999897969594939291906122ec565b6020604051808303815f875af115801561112e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115291906122b0565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156111aa57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156111d05760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561120d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123191906122b0565b90506112486001600160a01b038216863087611455565b61125c6001600160a01b03821687866114c2565b50949350505050565b61126f8282611551565b81516001600160a01b03161561129857604051630722152560e11b815260040160405180910390fd5b60208201516001600160a01b03166112c35760405163073f739d60e51b815260040160405180910390fd5b5f818060200190518101906112d8919061236e565b91506112e790506003826123ab565b6112f290600a6124a4565b836080015114611315576040516349db44f560e01b815260040160405180910390fd5b6113206003826123ab565b61132b90600a6124a4565b8360a001511461134e576040516318c9522360e11b815260040160405180910390fd5b505050565b5f808280602001905181019061136991906122b0565b905061137d81670de0b6b3a7640000611669565b9150505b92915050565b61138f61197b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526114bc9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611684565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261151384826116ea565b6114bc576040516001600160a01b0384811660248301525f604483015261154791869182169063095ea7b39060640161148a565b6114bc8482611684565b6103e882608001511015611578576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361159d57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806115c757508161010001518260e001516115c491906124b2565b15155b156115e55760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116115750670de0b6b3a7640000826101c0015160200151115b8061162c5750670de0b6b3a7640000826101c0015160400151115b806116475750670de0b6b3a7640000826101c0015160600151115b15611665576040516322f72cc360e11b815260040160405180910390fd5b5050565b5f61167d61167684611787565b83906117f8565b9392505050565b5f6116986001600160a01b0384168361180c565b905080515f141580156116bc5750808060200190518101906116ba91906124d1565b155b1561134e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b03168460405161170591906124ec565b5f604051808303815f865af19150503d805f811461173e576040519150601f19603f3d011682016040523d82523d5f602084013e611743565b606091505b509150915081801561176d57508051158061176d57508080602001905181019061176d91906124d1565b80156106735750505050506001600160a01b03163b151590565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156117c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117e99190612520565b50505091505061167d81611819565b5f61167d8383670de0b6b3a764000061183f565b606061167d83835f61185a565b5f8082121561183b5760405163071d137160e51b815260040160405180910390fd5b5090565b5f825f190484118302158202611853575f80fd5b5091020490565b60608147101561187f5760405163cd78605960e01b81523060048201526024016116e1565b5f80856001600160a01b0316848660405161189a91906124ec565b5f6040518083038185875af1925050503d805f81146118d4576040519150601f19603f3d011682016040523d82523d5f602084013e6118d9565b606091505b50915091506118e98683836118f3565b9695505050505050565b606082611908576119038261194f565b61167d565b815115801561191f57506001600160a01b0384163b155b1561194857604051639996b31560e01b81526001600160a01b03851660048201526024016116e1565b508061167d565b80511561195f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a4a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a69578181015183820152602001611a51565b50505f910152565b5f8151808452611a88816020860160208601611a4f565b601f01601f19169290920160200192915050565b602081525f61167d6020830184611a71565b6001600160a01b0381168114611978575f80fd5b8035611acd81611aae565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b0957611b09611ad2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b0957611b09611ad2565b8015158114611978575f80fd5b5f67ffffffffffffffff80841115611b5a57611b5a611ad2565b604051601f8501601f19908116603f01168101908282118183101715611b8257611b82611ad2565b81604052809350858152868686011115611b9a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611bc2575f80fd5b61167d83833560208501611b40565b5f805f805f60a08688031215611be5575f80fd5b853594506020860135611bf781611aae565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611c21575f80fd5b908701906060828a031215611c34575f80fd5b611c3c611ae6565b8235611c4781611aae565b81526020830135611c5781611b33565b6020820152604083013582811115611c6d575f80fd5b611c798b828601611bb3565b6040830152508093505050509295509295909350565b5f60208284031215611c9f575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d33575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5657611d56611ad2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d98575f80fd5b611da0611b0f565b9050611dab82611ac2565b8152611db960208301611ac2565b6020820152611dca60408301611ac2565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e27818401611ac2565b90820152610160611e39838201611ac2565b90820152610180611e4b838201611ac2565b908201526101a0611e5d838201611ac2565b908201526101c0611e7084848301611d23565b9082015292915050565b5f805f805f6102c08688031215611e8f575f80fd5b85359450611ea08760208801611d87565b935061026086013567ffffffffffffffff811115611ebc575f80fd5b611ec888828901611bb3565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef8575f80fd5b85359450602086013567ffffffffffffffff80821115611f16575f80fd5b818801915088601f830112611f29575f80fd5b611f3889833560208501611b40565b9550611f478960408a01611d87565b9450610280880135915080821115611f5d575f80fd5b50611f6a88828901611bb3565b959894975092956102a001359392505050565b600181811c90821680611f9157607f821691505b602082108103611faf57634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a08401526118e960c0840182611a71565b5f6020828403121561200a575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561138157611381612011565b81516001600160a01b031681526102408101602083015161206460208401826001600160a01b03169052565b50604083015161207f60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e5828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d1b565b80516001600160a01b03168252602081015161217560208401826001600160a01b03169052565b50604081015161219060408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612202828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526114bc565b5f6102c0612279838861214e565b6001600160a01b038616610260840152610280830181905261229d81840186611a71565b915050826102a083015295945050505050565b5f602082840312156122c0575f80fd5b815161167d81611aae565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122ff8184018e611a71565b905061230e602084018d61214e565b6001600160a01b038b81166102808501528382036102a0850152612332828c611a71565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f806040838503121561237f575f80fd5b825161238a81611aae565b602084015190925060ff811681146123a0575f80fd5b809150509250929050565b60ff828116828216039081111561138157611381612011565b600181815b808511156123fe57815f19048211156123e4576123e4612011565b808516156123f157918102915b93841c93908002906123c9565b509250929050565b5f8261241457506001611381565b8161242057505f611381565b816001811461243657600281146124405761245c565b6001915050611381565b60ff84111561245157612451612011565b50506001821b611381565b5060208310610133831016604e8410600b841016171561247f575081810a611381565b61248983836123c4565b805f190482111561249c5761249c612011565b029392505050565b5f61167d60ff841683612406565b5f826124cc57634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156124e1575f80fd5b815161167d81611b33565b5f82516124fd818460208701611a4f565b9190910192915050565b805169ffffffffffffffffffff81168114611acd575f80fd5b5f805f805f60a08688031215612534575f80fd5b61253d86612507565b945060208601519350604086015192506060860151915061256060808701612507565b9050929550929590935056fe436861696e6c696e6b487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220f6ab7d4f2c983fe186e6a41effaa7165ecf5b9b966e646324127c6bcec27dc1864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget0.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget0.ts new file mode 100644 index 000000000..459d76dda --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget0.ts @@ -0,0 +1,1961 @@ +export const ChainlinkTarget0 = { + name: 'ChainlinkTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "aggregator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003d9438038062003d948339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516138ff620004955f395f81816107500152818161259001526125bb01525f61078901525f8181610d4f015261231801525f8181610d2001526122db01525f8181610bfc01528181610e7f01528181610f0d01528181610f9b0152818161102901528181611632015281816116c80152818161188a01528181611ea201528181611f7601526120c701525f610de701525f8181610dc101526124bd01525f8181610d9b015261249701525f8181610d75015261247101525f61113401525f61110e01525f6110e801525f6110c201525f8181610e5901526124e301525f8181610e0d015281816112bf015261286001525f8181610e3301526129de01525f818161061e01528181610cf101528181611e1701526129b001525f8181610cc2015261125c01526138ff5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b806320fc4881146102f157806321ff32a914610336578063245a7bfc14610357578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ca9565b61056c565b6040516102579190612d0d565b60405180910390f35b61027361026e366004612d33565b6105a3565b005b610273610283366004612d5b565b6105ac565b61024a6105b5565b61024a6105f9565b6102a0610610565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612d76565b61064f565b6102736102d9366004612e4c565b61066b565b6102736102ec366004612edb565b610681565b6103046102ff366004612ca9565b610694565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f20565b6106fd565b604051908152602001610257565b6102a0610742565b610367610781565b60405160ff9091168152602001610257565b610349610387366004612f5f565b6107ba565b6103496107f2565b6103496103a2366004612f8d565b610810565b6103ba6103b5366004612d33565b61081a565b6040519015158152602001610257565b61024a6103d8366004612ca9565b610839565b6102736103eb366004612fc4565b610847565b61024a610895565b6104006108ca565b604051610257919061300b565b61027361041b3660046130ac565b5050565b61034961042d366004612d33565b610bc3565b6102a0610bee565b6102736104483660046130d8565b610c2d565b61027361045b3660046130ac565b610c3e565b61027361046e366004612d33565b50565b610479610ca9565b604051610257919061310d565b610349610494366004612ca9565b611169565b6103496104a7366004612ca9565b611176565b6104bf6104ba366004613233565b611197565b6040516102579190613272565b6102a061124e565b61034961128d565b6103496104ea366004612ca9565b6112a6565b6103496104fd366004612ca9565b6112b3565b61050a6112e9565b60405161025791906132b5565b6102736105253660046133c6565b6113f4565b6103ba610538366004613421565b61143c565b61054561147f565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114dd565b60405160200161058a9190612d0d565b604051602081830303815290604052611603565b919050565b61046e81611627565b61046e81611888565b60606105f660405180604001604052806013815260200172436861696e6c696e6b4879706572647269766560681b81525060405160200161058a9190612d0d565b90565b60606105f6600160405160200161058a919061344d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6106608989898989898989896119a0565b505050505050505050565b610679868686868686611b92565b505050505050565b61068e8484848433611c45565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073b910161058a565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6040805160ff7f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ec910161058a565b92915050565b5f6105f66107fe611e00565b60405160200161058a91815260200190565b5f6107ec82611e8d565b5f61059e610827836120c3565b6040805191151560208301520161058a565b606061059e61057a836121a1565b836108518161229d565b6001600160a01b0316336001600160a01b03161461088257604051632aab8bd360e01b815260040160405180910390fd5b61088e8585858561235a565b5050505050565b60606105f660405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d0d565b610934604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61093d6123c6565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109a79190613522565b6109b19190613535565b90505f8215610ac05773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109dd856123d8565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab09190613548565b509050610abd8184612562565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9057610b8b8486612576565b610b92565b5f5b81526003546001600160801b0316602091820152604051919250610bbc9161058a9184910161300b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b610c398383833361235a565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb1612bd5565b6105f66040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efd9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8b9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a79190613576565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061310d565b5f61059e6107fe8361258a565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111b3576111b3613591565b6040519080825280602002602001820160405280156111dc578160200160208202803683370190505b5090505f5b83811015611232575f8585838181106111fc576111fc6135a5565b9050602002013590505f815490508084848151811061121d5761121d6135a5565b602090810291909101015250506001016111e1565b506112478160405160200161058a9190613272565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f6105f660095460405160200161058a91815260200190565b5f61059e6107fe836125b5565b5f61059e6107fe6112e47f000000000000000000000000000000000000000000000000000000000000000085613522565b6125e0565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f6600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113fe8161229d565b6001600160a01b0316336001600160a01b03161461142f57604051632aab8bd360e01b815260040160405180910390fd5b6106798686868686611c45565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ec910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f69060600161058a565b606060f882901c6001600160f81b0383165f6114f882612620565b90505f83600381111561150d5761150d6134fa565b0361153f576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115fb565b6001836003811115611553576115536134fa565b0361157f578060405160200161156991906135b9565b60405160208183030381529060405293506115fb565b6002836003811115611593576115936134fa565b036115a9578060405160200161156991906135f1565b60038360038111156115bd576115bd6134fa565b036115fb576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161161e9190612d0d565b60405180910390fd5b61162f6126d2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b09190613576565b9050336001600160a01b0382161480159061175c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611722573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117469190613576565b6001600160a01b0316336001600160a01b031614155b801561176e575061176c336120c3565b155b1561178b576040516282b42960e81b815260040160405180910390fd5b5f611794611e00565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff919061362a565b90506118156001600160a01b03851684836126fa565b8161181e611e00565b1461183c576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613576565b6001600160a01b0316336001600160a01b03161415801561192f575061192d336120c3565b155b1561194c576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061199590831515815260200190565b60405180910390a150565b834211156119c15760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119e85760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ad2573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1057604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611baf57506001600160a01b038516155b15611bcd5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bed5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c3c57611c34858583818110611c0c57611c0c6135a5565b905060200201358888868686818110611c2757611c276135a5565b9050602002013533611c45565b600101611bef565b50505050505050565b6001600160a01b0384161580611c6257506001600160a01b038316155b15611c805760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d40576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d40575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d3e575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d38908490613535565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d71908490613535565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611da7908490613522565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e88919061362a565b905090565b5f611e966126d2565b611e9f8261274c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f209190613576565b90506001600160a01b038116611f396020850185612d33565b6001600160a01b031614611f6057604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061200a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff49190613576565b6001600160a01b0316336001600160a01b031614155b801561201c575061201a336120c3565b155b15612039576040516282b42960e81b815260040160405180910390fd5b5f6120426123c6565b600980545f909155909150612058818387612781565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461209760408a0160208b01612d5b565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612120573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121479190810190613641565b90505f5b815181101561219857836001600160a01b0316828281518110612170576121706135a5565b60200260200101516001600160a01b031603612190575060019392505050565b60010161214b565b505f9392505050565b606060f882901c6001600160f81b0383165f6121bc82612620565b90505f8360038111156121d1576121d16134fa565b03612203576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115fb565b6001836003811115612217576122176134fa565b0361222d57806040516020016115699190613701565b6002836003811115612241576122416134fa565b0361225757806040516020016115699190613738565b600383600381111561226b5761226b6134fa565b036115fb57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e88670de0b6b3a764000061258a565b6124306040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125289116612817565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261255a92900416612817565b905292915050565b5f61073b8383670de0b6b3a764000061288b565b5f61073b83670de0b6b3a76400008461288b565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128a6565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128ba565b5f612605600b5f6125f26002866128c7565b81526020019081526020015f20546128fb565b612616600b5f6125f26001876128c7565b6107ec9190613763565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126c457612659600a86613796565b612664906030613522565b60f81b8260016126748487613535565b61267e9190613535565b8151811061268e5761268e6135a5565b60200101906001600160f81b03191690815f1a905350806126ae816137a9565b91506126bd9050600a866137c1565b9450612648565b918290030190815292915050565b60025f54036126f457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c39908490612928565b5f61275a6020830183612d33565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061278d8585612562565b9050612798816125b5565b9450845f036127aa575f91505061073b565b8491506127bd6040840160208501612d5b565b156127ec576127e5856127d36020860186612d33565b6127e060408701876137d4565b612989565b915061280f565b61280f856127fd6020860186612d33565b61280a60408701876137d4565b6129a3565b509392505050565b5f80670de0b6b3a764000061282a6129d7565b6128349190613817565b9050808311612843575f61284d565b61284d8184613535565b915061073b612884670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613817565b8390612576565b5f825f19048411830215820261289f575f80fd5b5091020490565b5f61073b6128b384612a02565b8390612562565b5f61073b61288484612a02565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a73565b905080515f1415801561296057508080602001905181019061295e919061382e565b155b15610c3957604051635274afe760e01b81526001600160a01b038416600482015260240161161e565b5f60405163350b944160e11b815260040160405180910390fd5b61068e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126fa565b5f611e88427f0000000000000000000000000000000000000000000000000000000000000000612a80565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a649190613862565b50505091505061073b81612a95565b606061073b83835f612ab7565b5f612a8b8284613796565b61073b9084613535565b5f808212156129245760405163071d137160e51b815260040160405180910390fd5b606081471015612adc5760405163cd78605960e01b815230600482015260240161161e565b5f80856001600160a01b03168486604051612af791906138ae565b5f6040518083038185875af1925050503d805f8114612b31576040519150601f19603f3d011682016040523d82523d5f602084013e612b36565b606091505b5091509150612b46868383612b50565b9695505050505050565b606082612b6557612b6082612bac565b61073b565b8151158015612b7c57506001600160a01b0384163b155b15612ba557604051639996b31560e01b81526001600160a01b038516600482015260240161161e565b508061073b565b805115612bbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ca460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cb9575f80fd5b5035919050565b5f5b83811015612cda578181015183820152602001612cc2565b50505f910152565b5f8151808452612cf9816020860160208601612cc0565b601f01601f19169290920160200192915050565b602081525f61073b6020830184612ce2565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d43575f80fd5b813561073b81612d1f565b801515811461046e575f80fd5b5f60208284031215612d6b575f80fd5b813561073b81612d4e565b5f805f805f805f805f6101208a8c031215612d8f575f80fd5b8935985060208a0135975060408a0135612da881612d1f565b965060608a0135612db881612d1f565b955060808a0135612dc881612d4e565b945060a08a0135935060c08a013560ff81168114612de4575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e14575f80fd5b50813567ffffffffffffffff811115612e2b575f80fd5b6020830191508360208260051b8501011115612e45575f80fd5b9250929050565b5f805f805f8060808789031215612e61575f80fd5b8635612e6c81612d1f565b95506020870135612e7c81612d1f565b9450604087013567ffffffffffffffff80821115612e98575f80fd5b612ea48a838b01612e04565b90965094506060890135915080821115612ebc575f80fd5b50612ec989828a01612e04565b979a9699509497509295939492505050565b5f805f8060808587031215612eee575f80fd5b843593506020850135612f0081612d1f565b92506040850135612f1081612d1f565b9396929550929360600135925050565b5f805f60608486031215612f32575f80fd5b833592506020840135612f4481612d1f565b91506040840135612f5481612d1f565b809150509250925092565b5f8060408385031215612f70575f80fd5b823591506020830135612f8281612d1f565b809150509250929050565b5f60208284031215612f9d575f80fd5b813567ffffffffffffffff811115612fb3575f80fd5b82016060818503121561073b575f80fd5b5f805f8060808587031215612fd7575f80fd5b843593506020850135612fe981612d1f565b925060408501359150606085013561300081612d1f565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130bd575f80fd5b82356130c881612d1f565b91506020830135612f8281612d4e565b5f805f606084860312156130ea575f80fd5b8335925060208401356130fc81612d1f565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161313960208401826001600160a01b03169052565b50604083015161315460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516131c6828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613244575f80fd5b823567ffffffffffffffff81111561325a575f80fd5b61326685828601612e04565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132a95783518352928401929184019160010161328d565b50909695505050505050565b81516001600160801b03168152610180810160208301516132e160208401826001600160801b03169052565b5060408301516132fc60408401826001600160801b03169052565b50606083015161331760608401826001600160801b03169052565b50608083015161332c6080840182600f0b9052565b5060a083015161334760a08401826001600160801b03169052565b5060c083015161336260c08401826001600160801b03169052565b5060e083015161337d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261322b565b5f805f805f60a086880312156133da575f80fd5b8535945060208601356133ec81612d1f565b935060408601356133fc81612d1f565b925060608601359150608086013561341381612d1f565b809150509295509295909350565b5f8060408385031215613432575f80fd5b823561343d81612d1f565b91506020830135612f8281612d1f565b5f60208083525f84545f60018260011c9150600183168061346f57607f831692505b60208310810361348d57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ac57600181146134c2576134eb565b60ff198616825284151560051b820196506134eb565b5f8b8152602090205f5b868110156134e5578154848201529085019089016134cc565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ec576107ec61350e565b818103818111156107ec576107ec61350e565b5f8060408385031215613559575f80fd5b825191506020830151612f8281612d4e565b805161059e81612d1f565b5f60208284031215613586575f80fd5b815161073b81612d1f565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516135e4816011850160208701612cc0565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161361d816012850160208701612cc0565b9190910160120192915050565b5f6020828403121561363a575f80fd5b5051919050565b5f6020808385031215613652575f80fd5b825167ffffffffffffffff80821115613669575f80fd5b818501915085601f83011261367c575f80fd5b81518181111561368e5761368e613591565b8060051b604051601f19603f830116810181811085821117156136b3576136b3613591565b6040529182528482019250838101850191888311156136d0575f80fd5b938501935b828510156136f5576136e68561356b565b845293850193928501926136d5565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161372b816010850160208701612cc0565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516135e4816011850160208701612cc0565b8181035f8312801583831316838312821617156112475761124761350e565b634e487b7160e01b5f52601260045260245ffd5b5f826137a4576137a4613782565b500690565b5f600182016137ba576137ba61350e565b5060010190565b5f826137cf576137cf613782565b500490565b5f808335601e198436030181126137e9575f80fd5b83018035915067ffffffffffffffff821115613803575f80fd5b602001915036819003821315612e45575f80fd5b80820281158282048414176107ec576107ec61350e565b5f6020828403121561383e575f80fd5b815161073b81612d4e565b805169ffffffffffffffffffff8116811461059e575f80fd5b5f805f805f60a08688031215613876575f80fd5b61387f86613849565b94506020860151935060408601519250606086015191506138a260808701613849565b90509295509295909350565b5f82516138bf818460208701612cc0565b919091019291505056fea2646970667358221220865bcc4e363df9c8c27d2739b1d8270b265f9ec9ec21b7eff679a90dcae2e04c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "aggregator()": "245a7bfc", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget0Deployer.ts new file mode 100644 index 000000000..8fe04f321 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const ChainlinkTarget0Deployer = { + name: 'ChainlinkTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506142ea8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613d94806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003d9438038062003d948339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516138ff620004955f395f81816107500152818161259001526125bb01525f61078901525f8181610d4f015261231801525f8181610d2001526122db01525f8181610bfc01528181610e7f01528181610f0d01528181610f9b0152818161102901528181611632015281816116c80152818161188a01528181611ea201528181611f7601526120c701525f610de701525f8181610dc101526124bd01525f8181610d9b015261249701525f8181610d75015261247101525f61113401525f61110e01525f6110e801525f6110c201525f8181610e5901526124e301525f8181610e0d015281816112bf015261286001525f8181610e3301526129de01525f818161061e01528181610cf101528181611e1701526129b001525f8181610cc2015261125c01526138ff5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b806320fc4881146102f157806321ff32a914610336578063245a7bfc14610357578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ca9565b61056c565b6040516102579190612d0d565b60405180910390f35b61027361026e366004612d33565b6105a3565b005b610273610283366004612d5b565b6105ac565b61024a6105b5565b61024a6105f9565b6102a0610610565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612d76565b61064f565b6102736102d9366004612e4c565b61066b565b6102736102ec366004612edb565b610681565b6103046102ff366004612ca9565b610694565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f20565b6106fd565b604051908152602001610257565b6102a0610742565b610367610781565b60405160ff9091168152602001610257565b610349610387366004612f5f565b6107ba565b6103496107f2565b6103496103a2366004612f8d565b610810565b6103ba6103b5366004612d33565b61081a565b6040519015158152602001610257565b61024a6103d8366004612ca9565b610839565b6102736103eb366004612fc4565b610847565b61024a610895565b6104006108ca565b604051610257919061300b565b61027361041b3660046130ac565b5050565b61034961042d366004612d33565b610bc3565b6102a0610bee565b6102736104483660046130d8565b610c2d565b61027361045b3660046130ac565b610c3e565b61027361046e366004612d33565b50565b610479610ca9565b604051610257919061310d565b610349610494366004612ca9565b611169565b6103496104a7366004612ca9565b611176565b6104bf6104ba366004613233565b611197565b6040516102579190613272565b6102a061124e565b61034961128d565b6103496104ea366004612ca9565b6112a6565b6103496104fd366004612ca9565b6112b3565b61050a6112e9565b60405161025791906132b5565b6102736105253660046133c6565b6113f4565b6103ba610538366004613421565b61143c565b61054561147f565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114dd565b60405160200161058a9190612d0d565b604051602081830303815290604052611603565b919050565b61046e81611627565b61046e81611888565b60606105f660405180604001604052806013815260200172436861696e6c696e6b4879706572647269766560681b81525060405160200161058a9190612d0d565b90565b60606105f6600160405160200161058a919061344d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6106608989898989898989896119a0565b505050505050505050565b610679868686868686611b92565b505050505050565b61068e8484848433611c45565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073b910161058a565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b6040805160ff7f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ec910161058a565b92915050565b5f6105f66107fe611e00565b60405160200161058a91815260200190565b5f6107ec82611e8d565b5f61059e610827836120c3565b6040805191151560208301520161058a565b606061059e61057a836121a1565b836108518161229d565b6001600160a01b0316336001600160a01b03161461088257604051632aab8bd360e01b815260040160405180910390fd5b61088e8585858561235a565b5050505050565b60606105f660405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d0d565b610934604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61093d6123c6565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109a79190613522565b6109b19190613535565b90505f8215610ac05773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109dd856123d8565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab09190613548565b509050610abd8184612562565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9057610b8b8486612576565b610b92565b5f5b81526003546001600160801b0316602091820152604051919250610bbc9161058a9184910161300b565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b610c398383833361235a565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb1612bd5565b6105f66040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efd9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8b9190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190613576565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a79190613576565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061310d565b5f61059e6107fe8361258a565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156111b3576111b3613591565b6040519080825280602002602001820160405280156111dc578160200160208202803683370190505b5090505f5b83811015611232575f8585838181106111fc576111fc6135a5565b9050602002013590505f815490508084848151811061121d5761121d6135a5565b602090810291909101015250506001016111e1565b506112478160405160200161058a9190613272565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f6910161058a565b5f6105f660095460405160200161058a91815260200190565b5f61059e6107fe836125b5565b5f61059e6107fe6112e47f000000000000000000000000000000000000000000000000000000000000000085613522565b6125e0565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f6600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113fe8161229d565b6001600160a01b0316336001600160a01b03161461142f57604051632aab8bd360e01b815260040160405180910390fd5b6106798686868686611c45565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ec910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f69060600161058a565b606060f882901c6001600160f81b0383165f6114f882612620565b90505f83600381111561150d5761150d6134fa565b0361153f576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115fb565b6001836003811115611553576115536134fa565b0361157f578060405160200161156991906135b9565b60405160208183030381529060405293506115fb565b6002836003811115611593576115936134fa565b036115a9578060405160200161156991906135f1565b60038360038111156115bd576115bd6134fa565b036115fb576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161161e9190612d0d565b60405180910390fd5b61162f6126d2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b09190613576565b9050336001600160a01b0382161480159061175c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611722573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117469190613576565b6001600160a01b0316336001600160a01b031614155b801561176e575061176c336120c3565b155b1561178b576040516282b42960e81b815260040160405180910390fd5b5f611794611e00565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff919061362a565b90506118156001600160a01b03851684836126fa565b8161181e611e00565b1461183c576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613576565b6001600160a01b0316336001600160a01b03161415801561192f575061192d336120c3565b155b1561194c576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061199590831515815260200190565b60405180910390a150565b834211156119c15760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119e85760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ad2573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1057604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611baf57506001600160a01b038516155b15611bcd5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bed5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c3c57611c34858583818110611c0c57611c0c6135a5565b905060200201358888868686818110611c2757611c276135a5565b9050602002013533611c45565b600101611bef565b50505050505050565b6001600160a01b0384161580611c6257506001600160a01b038316155b15611c805760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d40576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d40575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d3e575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d38908490613535565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d71908490613535565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611da7908490613522565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e88919061362a565b905090565b5f611e966126d2565b611e9f8261274c565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f209190613576565b90506001600160a01b038116611f396020850185612d33565b6001600160a01b031614611f6057604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061200a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff49190613576565b6001600160a01b0316336001600160a01b031614155b801561201c575061201a336120c3565b155b15612039576040516282b42960e81b815260040160405180910390fd5b5f6120426123c6565b600980545f909155909150612058818387612781565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461209760408a0160208b01612d5b565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612120573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121479190810190613641565b90505f5b815181101561219857836001600160a01b0316828281518110612170576121706135a5565b60200260200101516001600160a01b031603612190575060019392505050565b60010161214b565b505f9392505050565b606060f882901c6001600160f81b0383165f6121bc82612620565b90505f8360038111156121d1576121d16134fa565b03612203576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115fb565b6001836003811115612217576122176134fa565b0361222d57806040516020016115699190613701565b6002836003811115612241576122416134fa565b0361225757806040516020016115699190613738565b600383600381111561226b5761226b6134fa565b036115fb57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e88670de0b6b3a764000061258a565b6124306040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125289116612817565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261255a92900416612817565b905292915050565b5f61073b8383670de0b6b3a764000061288b565b5f61073b83670de0b6b3a76400008461288b565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128a6565b5f6107ec7f0000000000000000000000000000000000000000000000000000000000000000836128ba565b5f612605600b5f6125f26002866128c7565b81526020019081526020015f20546128fb565b612616600b5f6125f26001876128c7565b6107ec9190613763565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126c457612659600a86613796565b612664906030613522565b60f81b8260016126748487613535565b61267e9190613535565b8151811061268e5761268e6135a5565b60200101906001600160f81b03191690815f1a905350806126ae816137a9565b91506126bd9050600a866137c1565b9450612648565b918290030190815292915050565b60025f54036126f457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c39908490612928565b5f61275a6020830183612d33565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061278d8585612562565b9050612798816125b5565b9450845f036127aa575f91505061073b565b8491506127bd6040840160208501612d5b565b156127ec576127e5856127d36020860186612d33565b6127e060408701876137d4565b612989565b915061280f565b61280f856127fd6020860186612d33565b61280a60408701876137d4565b6129a3565b509392505050565b5f80670de0b6b3a764000061282a6129d7565b6128349190613817565b9050808311612843575f61284d565b61284d8184613535565b915061073b612884670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613817565b8390612576565b5f825f19048411830215820261289f575f80fd5b5091020490565b5f61073b6128b384612a02565b8390612562565b5f61073b61288484612a02565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a73565b905080515f1415801561296057508080602001905181019061295e919061382e565b155b15610c3957604051635274afe760e01b81526001600160a01b038416600482015260240161161e565b5f60405163350b944160e11b815260040160405180910390fd5b61068e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126fa565b5f611e88427f0000000000000000000000000000000000000000000000000000000000000000612a80565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612a40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a649190613862565b50505091505061073b81612a95565b606061073b83835f612ab7565b5f612a8b8284613796565b61073b9084613535565b5f808212156129245760405163071d137160e51b815260040160405180910390fd5b606081471015612adc5760405163cd78605960e01b815230600482015260240161161e565b5f80856001600160a01b03168486604051612af791906138ae565b5f6040518083038185875af1925050503d805f8114612b31576040519150601f19603f3d011682016040523d82523d5f602084013e612b36565b606091505b5091509150612b46868383612b50565b9695505050505050565b606082612b6557612b6082612bac565b61073b565b8151158015612b7c57506001600160a01b0384163b155b15612ba557604051639996b31560e01b81526001600160a01b038516600482015260240161161e565b508061073b565b805115612bbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ca460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cb9575f80fd5b5035919050565b5f5b83811015612cda578181015183820152602001612cc2565b50505f910152565b5f8151808452612cf9816020860160208601612cc0565b601f01601f19169290920160200192915050565b602081525f61073b6020830184612ce2565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d43575f80fd5b813561073b81612d1f565b801515811461046e575f80fd5b5f60208284031215612d6b575f80fd5b813561073b81612d4e565b5f805f805f805f805f6101208a8c031215612d8f575f80fd5b8935985060208a0135975060408a0135612da881612d1f565b965060608a0135612db881612d1f565b955060808a0135612dc881612d4e565b945060a08a0135935060c08a013560ff81168114612de4575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e14575f80fd5b50813567ffffffffffffffff811115612e2b575f80fd5b6020830191508360208260051b8501011115612e45575f80fd5b9250929050565b5f805f805f8060808789031215612e61575f80fd5b8635612e6c81612d1f565b95506020870135612e7c81612d1f565b9450604087013567ffffffffffffffff80821115612e98575f80fd5b612ea48a838b01612e04565b90965094506060890135915080821115612ebc575f80fd5b50612ec989828a01612e04565b979a9699509497509295939492505050565b5f805f8060808587031215612eee575f80fd5b843593506020850135612f0081612d1f565b92506040850135612f1081612d1f565b9396929550929360600135925050565b5f805f60608486031215612f32575f80fd5b833592506020840135612f4481612d1f565b91506040840135612f5481612d1f565b809150509250925092565b5f8060408385031215612f70575f80fd5b823591506020830135612f8281612d1f565b809150509250929050565b5f60208284031215612f9d575f80fd5b813567ffffffffffffffff811115612fb3575f80fd5b82016060818503121561073b575f80fd5b5f805f8060808587031215612fd7575f80fd5b843593506020850135612fe981612d1f565b925060408501359150606085013561300081612d1f565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130bd575f80fd5b82356130c881612d1f565b91506020830135612f8281612d4e565b5f805f606084860312156130ea575f80fd5b8335925060208401356130fc81612d1f565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161313960208401826001600160a01b03169052565b50604083015161315460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516131c6828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613244575f80fd5b823567ffffffffffffffff81111561325a575f80fd5b61326685828601612e04565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132a95783518352928401929184019160010161328d565b50909695505050505050565b81516001600160801b03168152610180810160208301516132e160208401826001600160801b03169052565b5060408301516132fc60408401826001600160801b03169052565b50606083015161331760608401826001600160801b03169052565b50608083015161332c6080840182600f0b9052565b5060a083015161334760a08401826001600160801b03169052565b5060c083015161336260c08401826001600160801b03169052565b5060e083015161337d60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261322b565b5f805f805f60a086880312156133da575f80fd5b8535945060208601356133ec81612d1f565b935060408601356133fc81612d1f565b925060608601359150608086013561341381612d1f565b809150509295509295909350565b5f8060408385031215613432575f80fd5b823561343d81612d1f565b91506020830135612f8281612d1f565b5f60208083525f84545f60018260011c9150600183168061346f57607f831692505b60208310810361348d57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ac57600181146134c2576134eb565b60ff198616825284151560051b820196506134eb565b5f8b8152602090205f5b868110156134e5578154848201529085019089016134cc565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ec576107ec61350e565b818103818111156107ec576107ec61350e565b5f8060408385031215613559575f80fd5b825191506020830151612f8281612d4e565b805161059e81612d1f565b5f60208284031215613586575f80fd5b815161073b81612d1f565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516135e4816011850160208701612cc0565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161361d816012850160208701612cc0565b9190910160120192915050565b5f6020828403121561363a575f80fd5b5051919050565b5f6020808385031215613652575f80fd5b825167ffffffffffffffff80821115613669575f80fd5b818501915085601f83011261367c575f80fd5b81518181111561368e5761368e613591565b8060051b604051601f19603f830116810181811085821117156136b3576136b3613591565b6040529182528482019250838101850191888311156136d0575f80fd5b938501935b828510156136f5576136e68561356b565b845293850193928501926136d5565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161372b816010850160208701612cc0565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516135e4816011850160208701612cc0565b8181035f8312801583831316838312821617156112475761124761350e565b634e487b7160e01b5f52601260045260245ffd5b5f826137a4576137a4613782565b500690565b5f600182016137ba576137ba61350e565b5060010190565b5f826137cf576137cf613782565b500490565b5f808335601e198436030181126137e9575f80fd5b83018035915067ffffffffffffffff821115613803575f80fd5b602001915036819003821315612e45575f80fd5b80820281158282048414176107ec576107ec61350e565b5f6020828403121561383e575f80fd5b815161073b81612d4e565b805169ffffffffffffffffffff8116811461059e575f80fd5b5f805f805f60a08688031215613876575f80fd5b61387f86613849565b94506020860151935060408601519250606086015191506138a260808701613849565b90509295509295909350565b5f82516138bf818460208701612cc0565b919091019291505056fea2646970667358221220865bcc4e363df9c8c27d2739b1d8270b265f9ec9ec21b7eff679a90dcae2e04c64736f6c63430008160033a2646970667358221220763dc87fe8b2892ca4b50ea5dd31e724ef5511178a35297febd12632006c207864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget1.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget1.ts new file mode 100644 index 000000000..4eef86392 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget1.ts @@ -0,0 +1,1005 @@ +export const ChainlinkTarget1 = { + name: 'ChainlinkTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003fc538038062003fc58339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613afa620004cb5f395f8181611970015261250401525f50505f50505f50505f610b2e01525f50505f818160a9015281816103140152612b0101525f818161139301528181611791015281816117f4015281816126ea015281816127260152818161291e0152612adb01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ab501525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b2701525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61255001525f5050613afa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461352b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461352b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613599565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135ac565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135df565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613607565b6102bd8a6102b78d8f613599565b90611584565b8d6102cb60408c018c613622565b6040516102df98979695949392919061368d565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613599565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136d4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135df565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613607565b8a61050260408b018b613622565b60405161051597969594939291906136fb565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135df565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613599565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61373b565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613599565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61373b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613599565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613599565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613599565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361373b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135ac565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061378e565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061373b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e96818461373b565b610ea09089613599565b9750610eac8284613599565b610eb6908d613599565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061373b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a61373b565b9850670de0b6b3a7640000610ff0610f8b8787613599565b600254610fa9908f90600160801b90046001600160801b031661373b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661373b565b6110d191906137a9565b85670de0b6b3a76400006110e5878a61373b565b6110ef91906137a9565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137a9565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137c0565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135ac565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613599565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b8491506115296040840160208501613607565b15611558576115518561153f60208601866135df565b61154c6040870187613622565b612529565b915061157b565b61157b8561156960208601866135df565b6115766040870187613622565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae828461373b565b6116b8908961373b565b97506116c48184613599565b6116ce908e61373b565b9c506116da8a8e613599565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061373b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361373b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135ac565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137a9565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261373b565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613821565b61157d908461373b565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b90612609565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a68838361373b565b9050611a776110fa8286612678565b60068054601090611a99908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361268c90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613599565b90915550611b219050818361373b565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126a0565b600480545f90611b87908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc6878561268c565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c31828261373b565b611c3b908461373b565b9250611c59565b611c4c828261373b565b611c569084613599565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b9061268c565b9050611cab8884866124e3565b611cb59082613599565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b03169061373b565b9050805f03611d5657600191505061131b565b5f611d60856126c9565b9050805f03611d745760019250505061131b565b5f80611d81838589612764565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd19291906138b2565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613927565b91509150611e2d611e1f82611321565b611e2890613949565b6128d8565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612a6c565b6040518263ffffffff1660e01b8152600401611f2b9190613963565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613972565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613599565b611fed919061373b565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d6139a0565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d3818461373b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061268c565b5f808061211f61211788670de0b6b3a764000061373b565b899087612ba6565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a764000061373b565b8989612bc9565b925061215e8382613599565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a764000061373b565b83906124cf565b61157d90670de0b6b3a764000061373b565b5f806121d3856121ab6119aa565b6121b59190613599565b600254610fa9908790600160801b90046001600160801b031661373b565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a764000061373b565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612ba6565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a764000061373b565b8a9088612ba6565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613599565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b91906135ac565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b61237891906135ac565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613599565b6123b88587611584565b6123c2888a611584565b611c989190613599565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b612426612408848761373b565b61241285876124cf565b61241c888a611584565b611c98919061373b565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612beb565b612483845f612beb565b61248d91906135ac565b90505f8113156124a8576124a18186613599565b94506124c6565b5f8112156124c6576124b981613949565b6124c3908661373b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612ba6565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c00565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c14565b50505050565b5f808061259d61259588670de0b6b3a764000061373b565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a764000061373b565b8989612c6b565b5f806125dc8484612c7b565b9092509050806125ee576125ee6113ec565b5092915050565b5f61157d61260284612cb6565b8390611584565b5f815f036126205750670de0b6b3a764000061131b565b825f0361262e57505f61131b565b5f61263883611321565b90505f61264c61264786611321565b612d27565b9050818102612663670de0b6b3a7640000826139b4565b905061266e81612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612ba6565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906126e3906001600160801b031684612678565b905061270f7f000000000000000000000000000000000000000000000000000000000000000082613599565b6002546001600160801b03161115611a17576002547f00000000000000000000000000000000000000000000000000000000000000009061275a9083906001600160801b031661373b565b61157d919061373b565b61276c61348c565b5f8061277784612a6c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016127b19190613963565b6040805180830381865af41580156127cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ef9190613972565b935090508261280357505f91506128d09050565b5f61282961282484610160015185610140015161158490919063ffffffff16565b611321565b6128496128248561012001518661010001516124cf90919063ffffffff16565b61285391906135ac565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129b291906139e0565b9350935093509350806129cd57505f98975050505050505050565b8684146129fe576129dd846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2f57612a0e83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5d57612a3f826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a746134d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b6c91166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b9e929004166130de565b905292915050565b5f825f190484118302158202612bba575f80fd5b50910281810615159190040190565b5f80612bd988888888888861314b565b909250905080611cc557611cc56113ec565b5f818313612bf9578161157d565b5090919050565b5f61157d612c0d84612cb6565b839061268c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612c66908490613227565b505050565b5f80612bd988888888888861328d565b5f805f83612c8886611321565b612c9291906135ac565b90505f811215612ca8575f809250925050612caf565b9150600190505b9250929050565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612cf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d189190613a31565b50505091505061157d81613349565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061266e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb91906137a9565b905080831161310a575f613114565b613114818461373b565b915061157d612c0d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137a9565b5f805f61315b898988888861336b565b905086881015613171575f80925092505061321c565b96869003966131808887612609565b975087811015613196575f80925092505061321c565b8781036131a4818688612ba6565b9050670de0b6b3a764000081106131d8576131d16131ca670de0b6b3a764000089612678565b8290612609565b90506131f0565b6131ed6131ca670de0b6b3a76400008961268c565b90505b6131fa8186612678565b905089811015613211575f8093509350505061321c565b899003925060019150505b965096945050505050565b5f61323b6001600160a01b03841683613399565b905080515f1415801561325f57508080602001905181019061325d9190613a7d565b155b15612c6657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61329d898988888861336b565b90506132ad866119da898b613599565b9750878110156132c3575f80925092505061321c565b8781036132d1818688612ba6565b9050670de0b6b3a764000081106132fe576132f76131ca670de0b6b3a764000089612678565b9050613316565b6133136131ca670de0b6b3a76400008961268c565b90505b6133208186612678565b9050808a1015613337575f8093509350505061321c565b90980398600198509650505050505050565b5f8082121561134a5760405163071d137160e51b815260040160405180910390fd5b5f6133768585612609565b61338f613387866119da868b6124cf565b859085612ba6565b6124269190613599565b606061157d83835f845f80856001600160a01b031684866040516133bd9190613a98565b5f6040518083038185875af1925050503d805f81146133f7576040519150601f19603f3d011682016040523d82523d5f602084013e6133fc565b606091505b509150915061266e86838360608261341c5761341782613463565b61157d565b815115801561343357506001600160a01b0384163b155b1561345c57604051639996b31560e01b81526001600160a01b0385166004820152602401613284565b508061157d565b8051156134735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134a06134d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561353e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613569575f80fd5b85016060818803121561357a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613585565b8181035f8312801583831316838312821617156125ee576125ee613585565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135ef575f80fd5b813561157d816135cb565b8015158114610591575f80fd5b5f60208284031215613617575f80fd5b813561157d816135fa565b5f808335601e19843603018112613637575f80fd5b83018035915067ffffffffffffffff821115613651575f80fd5b602001915036819003821315612caf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136c660e083018486613665565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136f3576136f3613585565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61372e60c083018486613665565b9998505050505050505050565b8181038181111561131b5761131b613585565b6001600160701b038181168382160190808211156125ee576125ee613585565b6001600160801b038181168382160190808211156125ee576125ee613585565b5f6020828403121561379e575f80fd5b815161157d816135cb565b808202811582820484141761131b5761131b613585565b6001600160801b038281168282160390808211156125ee576125ee613585565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613585565b634e487b7160e01b5f52601260045260245ffd5b5f8261382f5761382f61380d565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138c5828551613834565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613938575f80fd5b505080516020909101519092909150565b5f600160ff1b820161395d5761395d613585565b505f0390565b610180810161131b8284613834565b5f8060408385031215613983575f80fd5b825191506020830151613995816135fa565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139c2576139c261380d565b600160ff1b82145f19841416156139db576139db613585565b500590565b5f805f80608085870312156139f3575f80fd5b845193506020850151925060408501519150606085015161357a816135fa565b805169ffffffffffffffffffff81168114613a2c575f80fd5b919050565b5f805f805f60a08688031215613a45575f80fd5b613a4e86613a13565b9450602086015193506040860151925060608601519150613a7160808701613a13565b90509295509295909350565b5f60208284031215613a8d575f80fd5b815161157d816135fa565b5f82515f5b81811015613ab75760208186018101518583015201613a9d565b505f92019182525091905056fea26469706673582212202d586cae72b83505910ff34ffbb5ed2dda4db266d92ee4ce595d84dcc2f6b6fc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget1Deployer.ts new file mode 100644 index 000000000..c2078022b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const ChainlinkTarget1Deployer = { + name: 'ChainlinkTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061451b8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613fc5806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003fc538038062003fc58339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613afa620004cb5f395f8181611970015261250401525f50505f50505f50505f610b2e01525f50505f818160a9015281816103140152612b0101525f818161139301528181611791015281816117f4015281816126ea015281816127260152818161291e0152612adb01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ab501525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b2701525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61255001525f5050613afa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461352b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461352b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613599565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135ac565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135df565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613607565b6102bd8a6102b78d8f613599565b90611584565b8d6102cb60408c018c613622565b6040516102df98979695949392919061368d565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613599565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136d4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135df565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613607565b8a61050260408b018b613622565b60405161051597969594939291906136fb565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135df565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613599565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61373b565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613599565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61373b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613599565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613599565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613599565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361373b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661374e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135ac565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061378e565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061373b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e96818461373b565b610ea09089613599565b9750610eac8284613599565b610eb6908d613599565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061373b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a61373b565b9850670de0b6b3a7640000610ff0610f8b8787613599565b600254610fa9908f90600160801b90046001600160801b031661373b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661373b565b6110d191906137a9565b85670de0b6b3a76400006110e5878a61373b565b6110ef91906137a9565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137a9565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137c0565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135ac565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613599565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b8491506115296040840160208501613607565b15611558576115518561153f60208601866135df565b61154c6040870187613622565b612529565b915061157b565b61157b8561156960208601866135df565b6115766040870187613622565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae828461373b565b6116b8908961373b565b97506116c48184613599565b6116ce908e61373b565b9c506116da8a8e613599565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061373b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361373b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135ac565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137a9565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261373b565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613821565b61157d908461373b565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b90612609565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a68838361373b565b9050611a776110fa8286612678565b60068054601090611a99908490600160801b90046001600160801b03166137c0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361268c90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613599565b90915550611b219050818361373b565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126a0565b600480545f90611b87908490600f0b6137e0565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc6878561268c565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c31828261373b565b611c3b908461373b565b9250611c59565b611c4c828261373b565b611c569084613599565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b9061268c565b9050611cab8884866124e3565b611cb59082613599565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b03169061373b565b9050805f03611d5657600191505061131b565b5f611d60856126c9565b9050805f03611d745760019250505061131b565b5f80611d81838589612764565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd19291906138b2565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613927565b91509150611e2d611e1f82611321565b611e2890613949565b6128d8565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661376e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612a6c565b6040518263ffffffff1660e01b8152600401611f2b9190613963565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613972565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613599565b611fed919061373b565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d6139a0565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d3818461373b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061268c565b5f808061211f61211788670de0b6b3a764000061373b565b899087612ba6565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a764000061373b565b8989612bc9565b925061215e8382613599565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a764000061373b565b83906124cf565b61157d90670de0b6b3a764000061373b565b5f806121d3856121ab6119aa565b6121b59190613599565b600254610fa9908790600160801b90046001600160801b031661373b565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a764000061373b565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612ba6565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a764000061373b565b8a9088612ba6565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613599565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b91906135ac565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b61237891906135ac565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613599565b6123b88587611584565b6123c2888a611584565b611c989190613599565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b612426612408848761373b565b61241285876124cf565b61241c888a611584565b611c98919061373b565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612beb565b612483845f612beb565b61248d91906135ac565b90505f8113156124a8576124a18186613599565b94506124c6565b5f8112156124c6576124b981613949565b6124c3908661373b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612ba6565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c00565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c14565b50505050565b5f808061259d61259588670de0b6b3a764000061373b565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a764000061373b565b8989612c6b565b5f806125dc8484612c7b565b9092509050806125ee576125ee6113ec565b5092915050565b5f61157d61260284612cb6565b8390611584565b5f815f036126205750670de0b6b3a764000061131b565b825f0361262e57505f61131b565b5f61263883611321565b90505f61264c61264786611321565b612d27565b9050818102612663670de0b6b3a7640000826139b4565b905061266e81612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612ba6565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906126e3906001600160801b031684612678565b905061270f7f000000000000000000000000000000000000000000000000000000000000000082613599565b6002546001600160801b03161115611a17576002547f00000000000000000000000000000000000000000000000000000000000000009061275a9083906001600160801b031661373b565b61157d919061373b565b61276c61348c565b5f8061277784612a6c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016127b19190613963565b6040805180830381865af41580156127cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ef9190613972565b935090508261280357505f91506128d09050565b5f61282961282484610160015185610140015161158490919063ffffffff16565b611321565b6128496128248561012001518661010001516124cf90919063ffffffff16565b61285391906135ac565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129b291906139e0565b9350935093509350806129cd57505f98975050505050505050565b8684146129fe576129dd846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2f57612a0e83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5d57612a3f826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a746134d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b6c91166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b9e929004166130de565b905292915050565b5f825f190484118302158202612bba575f80fd5b50910281810615159190040190565b5f80612bd988888888888861314b565b909250905080611cc557611cc56113ec565b5f818313612bf9578161157d565b5090919050565b5f61157d612c0d84612cb6565b839061268c565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612c66908490613227565b505050565b5f80612bd988888888888861328d565b5f805f83612c8886611321565b612c9291906135ac565b90505f811215612ca8575f809250925050612caf565b9150600190505b9250929050565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612cf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d189190613a31565b50505091505061157d81613349565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061266e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb91906137a9565b905080831161310a575f613114565b613114818461373b565b915061157d612c0d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137a9565b5f805f61315b898988888861336b565b905086881015613171575f80925092505061321c565b96869003966131808887612609565b975087811015613196575f80925092505061321c565b8781036131a4818688612ba6565b9050670de0b6b3a764000081106131d8576131d16131ca670de0b6b3a764000089612678565b8290612609565b90506131f0565b6131ed6131ca670de0b6b3a76400008961268c565b90505b6131fa8186612678565b905089811015613211575f8093509350505061321c565b899003925060019150505b965096945050505050565b5f61323b6001600160a01b03841683613399565b905080515f1415801561325f57508080602001905181019061325d9190613a7d565b155b15612c6657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61329d898988888861336b565b90506132ad866119da898b613599565b9750878110156132c3575f80925092505061321c565b8781036132d1818688612ba6565b9050670de0b6b3a764000081106132fe576132f76131ca670de0b6b3a764000089612678565b9050613316565b6133136131ca670de0b6b3a76400008961268c565b90505b6133208186612678565b9050808a1015613337575f8093509350505061321c565b90980398600198509650505050505050565b5f8082121561134a5760405163071d137160e51b815260040160405180910390fd5b5f6133768585612609565b61338f613387866119da868b6124cf565b859085612ba6565b6124269190613599565b606061157d83835f845f80856001600160a01b031684866040516133bd9190613a98565b5f6040518083038185875af1925050503d805f81146133f7576040519150601f19603f3d011682016040523d82523d5f602084013e6133fc565b606091505b509150915061266e86838360608261341c5761341782613463565b61157d565b815115801561343357506001600160a01b0384163b155b1561345c57604051639996b31560e01b81526001600160a01b0385166004820152602401613284565b508061157d565b8051156134735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134a06134d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561353e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613569575f80fd5b85016060818803121561357a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613585565b8181035f8312801583831316838312821617156125ee576125ee613585565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135ef575f80fd5b813561157d816135cb565b8015158114610591575f80fd5b5f60208284031215613617575f80fd5b813561157d816135fa565b5f808335601e19843603018112613637575f80fd5b83018035915067ffffffffffffffff821115613651575f80fd5b602001915036819003821315612caf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136c660e083018486613665565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136f3576136f3613585565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61372e60c083018486613665565b9998505050505050505050565b8181038181111561131b5761131b613585565b6001600160701b038181168382160190808211156125ee576125ee613585565b6001600160801b038181168382160190808211156125ee576125ee613585565b5f6020828403121561379e575f80fd5b815161157d816135cb565b808202811582820484141761131b5761131b613585565b6001600160801b038281168282160390808211156125ee576125ee613585565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613585565b634e487b7160e01b5f52601260045260245ffd5b5f8261382f5761382f61380d565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138c5828551613834565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613938575f80fd5b505080516020909101519092909150565b5f600160ff1b820161395d5761395d613585565b505f0390565b610180810161131b8284613834565b5f8060408385031215613983575f80fd5b825191506020830151613995816135fa565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139c2576139c261380d565b600160ff1b82145f19841416156139db576139db613585565b500590565b5f805f80608085870312156139f3575f80fd5b845193506020850151925060408501519150606085015161357a816135fa565b805169ffffffffffffffffffff81168114613a2c575f80fd5b919050565b5f805f805f60a08688031215613a45575f80fd5b613a4e86613a13565b9450602086015193506040860151925060608601519150613a7160808701613a13565b90509295509295909350565b5f60208284031215613a8d575f80fd5b815161157d816135fa565b5f82515f5b81811015613ab75760208186018101518583015201613a9d565b505f92019182525091905056fea26469706673582212202d586cae72b83505910ff34ffbb5ed2dda4db266d92ee4ce595d84dcc2f6b6fc64736f6c63430008160033a264697066735822122054a2031bd3d1c581af53eeb58de0782ad11eb258834261810f3fbf7120f2db9664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget2.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget2.ts new file mode 100644 index 000000000..7898f9383 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget2.ts @@ -0,0 +1,1030 @@ +export const ChainlinkTarget2 = { + name: 'ChainlinkTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b50604051620040d3380380620040d38339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613bfa620004d95f395f61146a01525f50505f50505f50505f610c2801525f50505f818160f9015281816103020152612c0201525f81816114e601528181611c0b01528181611c6e015281816123f5015281816127eb0152818161282701528181612a1f0152612bdc01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bb601525f61183501525f8181611956015281816124e60152818161255e0152612d1a01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612cd601525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c2801525f81816101d301528181610396015281816108e1015261327501525f81816106a7015281816107230152818161079701528181610862015261089a01525f61169b01525f5050613bfa5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461362b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461362b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613699565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613699565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6136c0565b8b611217565b8d8a8a898e8561023e60208301836136c0565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136e8565b8961028960408a018a613703565b60405161029c979695949392919061376e565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613699565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613699565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613699565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846136c0565b85611217565b858b868461049b60208601866136c0565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136e8565b6104ec896104e68a8d6137ae565b90610683565b8d6104fa60408e018e613703565b60405161050e9897969594939291906137c1565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836136c0565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136e8565b156105ea576105e0856105db6040870187613703565b611673565b9093509050610602565b5034610602856105fd6040870187613703565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6137ae565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6137ae565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f8282546109729190613699565b9091555061098d9050865f84610987816119e2565b88611a0b565b6109978183613699565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe9190613699565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae381836137ae565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae9190613848565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613867565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e968784613699565b600254610eb4908890600160801b90046001600160801b03166137ae565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866137ae565b610fb99190613882565b85670de0b6b3a7640000610fcd878a6137ae565b610fd79190613882565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613882565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b6111579082613828565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b61119690846138b9565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613699565b90915550505f838152600b60205260408120805483929061126a908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e8905081836137ae565b6113f290876137ae565b95508861143f816114398d611407868c6137ae565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136e8565b156114ac5750826114b9565b6114b68484612606565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61261a565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613882565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b6111969084613848565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661263f565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138f4565b61069790846137ae565b6002546004545f916106cb916001600160801b0390911690600f0b61261a565b5f61172e826117288588886116c8565b9061269f565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c383836137ae565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361260690919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c9190613699565b9091555061187c905081836137ae565b915061188782611737565b600280545f906118a19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612704565b600480545f906118e2908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119218785612606565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c82826137ae565b61199690846137ae565b92506119b4565b6119a782826137ae565b6119b19084613699565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613882565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a839082613899565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af08361272d565b600480545f90611b04908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b90612606565b9050611ba68884866116c8565b611bb09082613699565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c3485836137ae565b105b15611c4357611c436122aa565b6004549084900390600f0b611c588482613848565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361261a565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613882565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d1188826137ae565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b8261272d565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b03168484612768565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b0316906137ae565b9050805f03611e8057600191505061069a565b5f611e8a856127ca565b9050805f03611e9e5760019250505061069a565b5f80611eab838589612865565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb9291906139b2565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f399190613a27565b91509150611f57611f49826119e2565b611f5290613a49565b6129d9565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612b6d565b6040518263ffffffff1660e01b81526004016120559190613a63565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a72565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d91613699565b61211791906137ae565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613aa0565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a76400006137ae565b8787612ca7565b979650505050505050565b5f6114b661224561221e84670de0b6b3a76400006137ae565b611439670de0b6b3a7640000612234818a611450565b61223e91906137ae565b879061247a565b61225790670de0b6b3a7640000613699565b611b9384670de0b6b3a76400006137ae565b5f8061229f856122776116f8565b6122819190613699565b600254610eb4908790600160801b90046001600160801b03166137ae565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612cc9565b90925090506122e282896137ae565b97505f6122f082888a6116c8565b90506122fc818b6137ae565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d8487613699565b6123378587610683565b612341888a610683565b611b939190613699565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a561238784876137ae565b612391858761247a565b61239b888a610683565b611b9391906137ae565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a9190613848565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b0316613699565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a76400006137ae565b8787612d48565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a76400006137ae565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a76400006137ae565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c9084613699565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b5f6106976125ff84612d58565b8390610683565b5f61069783670de0b6b3a7640000846116c8565b5f806126268484612dc9565b909250905080612638576126386122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612699908590612e01565b50505050565b5f815f036126b65750670de0b6b3a764000061069a565b825f036126c457505f61069a565b5f6126ce836119e2565b90505f6126e26126dd866119e2565b612e67565b90508181026126f9670de0b6b3a764000082613ab4565b90506123a58161308c565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061274a575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f80612774845f61321e565b61277e845f61321e565b6127889190613848565b90505f8113156127a35761279c8186613699565b94506127c1565b5f8112156127c1576127b481613a49565b6127be90866137ae565b94505b50929392505050565b6003545f9081906127e4906001600160801b031684611450565b90506128107f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b03161115611772576002547f00000000000000000000000000000000000000000000000000000000000000009061285b9083906001600160801b03166137ae565b6114b991906137ae565b61286d61358c565b5f8061287884612b6d565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128b29190613a63565b6040805180830381865af41580156128cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f09190613a72565b935090508261290457505f91506129d19050565b5f61292a61292584610160015185610140015161068390919063ffffffff16565b6119e2565b61294a61292585610120015186610100015161247a90919063ffffffff16565b6129549190613848565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ab39190613ae0565b935093509350935080612ace57505f98975050505050505050565b868414612aff57612ade84611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3057612b0f8361272d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5e57612b4082611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b756135d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c6d911661322c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c9f9290041661322c565b905292915050565b5f80612cb78888888888886132a0565b909250905080611bc057611bc06122aa565b5f80612d128561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d08818c611450565b61143991906137ae565b9150612d3e827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cb7888888888888613364565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612d96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dba9190613b31565b5050509150506114b981613420565b5f805f83612dd6866119e2565b612de09190613848565b90505f811215612df6575f80925092505061067c565b946001945092505050565b5f612e156001600160a01b03841683613442565b905080515f14158015612e39575080806020019051810190612e379190613b7d565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e885760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f0b9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130a557505f919050565b680755bf798b4a1bf1e582126130ce576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a764000061323f6106a0565b6132499190613882565b9050808311613258575f613262565b61326281846137ae565b91506114b9613299670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613882565b8390612606565b5f805f6132b0898988888861344f565b90506132ca866117286132c38a8d613699565b8790610683565b98506132d7858a866116c8565b9850888110156132ed575f809250925050613359565b888103670de0b6b3a764000081106133225761331b613314670de0b6b3a764000089611450565b829061269f565b905061333a565b613337613314670de0b6b3a764000089612606565b90505b8089101561334f575f80935093505050613359565b8803925060019150505b965096945050505050565b5f805f613374898988888861344f565b905061338486611728898b613699565b97508781101561339a575f809250925050613359565b8781036133a88186886125cf565b9050670de0b6b3a764000081106133d5576133ce613314670de0b6b3a764000089611450565b90506133ed565b6133ea613314670de0b6b3a764000089612606565b90505b6133f78186611450565b9050808a101561340e575f80935093505050613359565b90980398600198509650505050505050565b5f808212156117605760405163071d137160e51b815260040160405180910390fd5b606061069783835f61347d565b5f61345a858561269f565b61347361346b86611728868b61247a565b8590856125cf565b6123a59190613699565b6060814710156134a25760405163cd78605960e01b8152306004820152602401612e5e565b5f80856001600160a01b031684866040516134bd9190613b98565b5f6040518083038185875af1925050503d805f81146134f7576040519150601f19603f3d011682016040523d82523d5f602084013e6134fc565b606091505b50915091506123a586838360608261351c5761351782613563565b6114b9565b815115801561353357506001600160a01b0384163b155b1561355c57604051639996b31560e01b81526001600160a01b0385166004820152602401612e5e565b50806114b9565b8051156135735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a06135d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613669575f80fd5b85016060818803121561367a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613685565b6001600160a01b03811681146105af575f80fd5b5f602082840312156136d0575f80fd5b81356114b9816136ac565b80151581146105af575f80fd5b5f602082840312156136f8575f80fd5b81356114b9816136db565b5f808335601e19843603018112613718575f80fd5b83018035915067ffffffffffffffff821115613732575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137a160c083018486613746565b9998505050505050505050565b8181038181111561069a5761069a613685565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137fa60e083018486613746565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561263857612638613685565b6001600160801b0381811683821601908082111561263857612638613685565b8181035f83128015838313168383128216171561263857612638613685565b5f60208284031215613877575f80fd5b81516114b9816136ac565b808202811582820484141761069a5761069a613685565b6001600160801b0382811682821603908082111561263857612638613685565b8082018281125f8312801582168215821617156138d8576138d8613685565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613902576139026138e0565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139c5828551613934565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a38575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a5d57613a5d613685565b505f0390565b610180810161069a8284613934565b5f8060408385031215613a83575f80fd5b825191506020830151613a95816136db565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ac257613ac26138e0565b600160ff1b82145f1984141615613adb57613adb613685565b500590565b5f805f8060808587031215613af3575f80fd5b845193506020850151925060408501519150606085015161367a816136db565b805169ffffffffffffffffffff81168114613b2c575f80fd5b919050565b5f805f805f60a08688031215613b45575f80fd5b613b4e86613b13565b9450602086015193506040860151925060608601519150613b7160808701613b13565b90509295509295909350565b5f60208284031215613b8d575f80fd5b81516114b9816136db565b5f82515f5b81811015613bb75760208186018101518583015201613b9d565b505f92019182525091905056fea2646970667358221220fd7bcf9d20b3a827267355b78180e9c498491cf137c663b1f116a4fe25c46f0364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget2Deployer.ts new file mode 100644 index 000000000..d385df700 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const ChainlinkTarget2Deployer = { + name: 'ChainlinkTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506146298061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b6140d3806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b50604051620040d3380380620040d38339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613bfa620004d95f395f61146a01525f50505f50505f50505f610c2801525f50505f818160f9015281816103020152612c0201525f81816114e601528181611c0b01528181611c6e015281816123f5015281816127eb0152818161282701528181612a1f0152612bdc01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bb601525f61183501525f8181611956015281816124e60152818161255e0152612d1a01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612cd601525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c2801525f81816101d301528181610396015281816108e1015261327501525f81816106a7015281816107230152818161079701528181610862015261089a01525f61169b01525f5050613bfa5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461362b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461362b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613699565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613699565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6136c0565b8b611217565b8d8a8a898e8561023e60208301836136c0565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136e8565b8961028960408a018a613703565b60405161029c979695949392919061376e565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613699565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613699565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613699565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846136c0565b85611217565b858b868461049b60208601866136c0565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136e8565b6104ec896104e68a8d6137ae565b90610683565b8d6104fa60408e018e613703565b60405161050e9897969594939291906137c1565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836136c0565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136e8565b156105ea576105e0856105db6040870187613703565b611673565b9093509050610602565b5034610602856105fd6040870187613703565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6137ae565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6137ae565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f8282546109729190613699565b9091555061098d9050865f84610987816119e2565b88611a0b565b6109978183613699565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe9190613699565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae381836137ae565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613808565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae9190613848565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613867565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e968784613699565b600254610eb4908890600160801b90046001600160801b03166137ae565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866137ae565b610fb99190613882565b85670de0b6b3a7640000610fcd878a6137ae565b610fd79190613882565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613882565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b6111579082613828565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b61119690846138b9565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613699565b90915550505f838152600b60205260408120805483929061126a908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e8905081836137ae565b6113f290876137ae565b95508861143f816114398d611407868c6137ae565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136e8565b156114ac5750826114b9565b6114b68484612606565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61261a565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613882565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b6111969084613848565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661263f565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138f4565b61069790846137ae565b6002546004545f916106cb916001600160801b0390911690600f0b61261a565b5f61172e826117288588886116c8565b9061269f565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c383836137ae565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361260690919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c9190613699565b9091555061187c905081836137ae565b915061188782611737565b600280545f906118a19084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612704565b600480545f906118e2908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119218785612606565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c82826137ae565b61199690846137ae565b92506119b4565b6119a782826137ae565b6119b19084613699565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613882565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a839082613899565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af08361272d565b600480545f90611b04908490600f0b613907565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b0316613899565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b90612606565b9050611ba68884866116c8565b611bb09082613699565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c3485836137ae565b105b15611c4357611c436122aa565b6004549084900390600f0b611c588482613848565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361261a565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613882565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d1188826137ae565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b8261272d565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b03168484612768565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b0316906137ae565b9050805f03611e8057600191505061069a565b5f611e8a856127ca565b9050805f03611e9e5760019250505061069a565b5f80611eab838589612865565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb9291906139b2565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f399190613a27565b91509150611f57611f49826119e2565b611f5290613a49565b6129d9565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b0316613828565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612b6d565b6040518263ffffffff1660e01b81526004016120559190613a63565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a72565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d91613699565b61211791906137ae565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613aa0565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a76400006137ae565b8787612ca7565b979650505050505050565b5f6114b661224561221e84670de0b6b3a76400006137ae565b611439670de0b6b3a7640000612234818a611450565b61223e91906137ae565b879061247a565b61225790670de0b6b3a7640000613699565b611b9384670de0b6b3a76400006137ae565b5f8061229f856122776116f8565b6122819190613699565b600254610eb4908790600160801b90046001600160801b03166137ae565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612cc9565b90925090506122e282896137ae565b97505f6122f082888a6116c8565b90506122fc818b6137ae565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d8487613699565b6123378587610683565b612341888a610683565b611b939190613699565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a561238784876137ae565b612391858761247a565b61239b888a610683565b611b9391906137ae565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a9190613848565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b0316613699565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a76400006137ae565b8787612d48565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a76400006137ae565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a76400006137ae565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c9084613699565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b5f6106976125ff84612d58565b8390610683565b5f61069783670de0b6b3a7640000846116c8565b5f806126268484612dc9565b909250905080612638576126386122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612699908590612e01565b50505050565b5f815f036126b65750670de0b6b3a764000061069a565b825f036126c457505f61069a565b5f6126ce836119e2565b90505f6126e26126dd866119e2565b612e67565b90508181026126f9670de0b6b3a764000082613ab4565b90506123a58161308c565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061274a575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f80612774845f61321e565b61277e845f61321e565b6127889190613848565b90505f8113156127a35761279c8186613699565b94506127c1565b5f8112156127c1576127b481613a49565b6127be90866137ae565b94505b50929392505050565b6003545f9081906127e4906001600160801b031684611450565b90506128107f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b03161115611772576002547f00000000000000000000000000000000000000000000000000000000000000009061285b9083906001600160801b03166137ae565b6114b991906137ae565b61286d61358c565b5f8061287884612b6d565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128b29190613a63565b6040805180830381865af41580156128cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f09190613a72565b935090508261290457505f91506129d19050565b5f61292a61292584610160015185610140015161068390919063ffffffff16565b6119e2565b61294a61292585610120015186610100015161247a90919063ffffffff16565b6129549190613848565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ab39190613ae0565b935093509350935080612ace57505f98975050505050505050565b868414612aff57612ade84611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3057612b0f8361272d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5e57612b4082611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b756135d6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c6d911661322c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c9f9290041661322c565b905292915050565b5f80612cb78888888888886132a0565b909250905080611bc057611bc06122aa565b5f80612d128561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d08818c611450565b61143991906137ae565b9150612d3e827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cb7888888888888613364565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612d96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dba9190613b31565b5050509150506114b981613420565b5f805f83612dd6866119e2565b612de09190613848565b90505f811215612df6575f80925092505061067c565b946001945092505050565b5f612e156001600160a01b03841683613442565b905080515f14158015612e39575080806020019051810190612e379190613b7d565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e885760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f0b9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130a557505f919050565b680755bf798b4a1bf1e582126130ce576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a764000061323f6106a0565b6132499190613882565b9050808311613258575f613262565b61326281846137ae565b91506114b9613299670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613882565b8390612606565b5f805f6132b0898988888861344f565b90506132ca866117286132c38a8d613699565b8790610683565b98506132d7858a866116c8565b9850888110156132ed575f809250925050613359565b888103670de0b6b3a764000081106133225761331b613314670de0b6b3a764000089611450565b829061269f565b905061333a565b613337613314670de0b6b3a764000089612606565b90505b8089101561334f575f80935093505050613359565b8803925060019150505b965096945050505050565b5f805f613374898988888861344f565b905061338486611728898b613699565b97508781101561339a575f809250925050613359565b8781036133a88186886125cf565b9050670de0b6b3a764000081106133d5576133ce613314670de0b6b3a764000089611450565b90506133ed565b6133ea613314670de0b6b3a764000089612606565b90505b6133f78186611450565b9050808a101561340e575f80935093505050613359565b90980398600198509650505050505050565b5f808212156117605760405163071d137160e51b815260040160405180910390fd5b606061069783835f61347d565b5f61345a858561269f565b61347361346b86611728868b61247a565b8590856125cf565b6123a59190613699565b6060814710156134a25760405163cd78605960e01b8152306004820152602401612e5e565b5f80856001600160a01b031684866040516134bd9190613b98565b5f6040518083038185875af1925050503d805f81146134f7576040519150601f19603f3d011682016040523d82523d5f602084013e6134fc565b606091505b50915091506123a586838360608261351c5761351782613563565b6114b9565b815115801561353357506001600160a01b0384163b155b1561355c57604051639996b31560e01b81526001600160a01b0385166004820152602401612e5e565b50806114b9565b8051156135735780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a06135d6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561363e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613669575f80fd5b85016060818803121561367a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613685565b6001600160a01b03811681146105af575f80fd5b5f602082840312156136d0575f80fd5b81356114b9816136ac565b80151581146105af575f80fd5b5f602082840312156136f8575f80fd5b81356114b9816136db565b5f808335601e19843603018112613718575f80fd5b83018035915067ffffffffffffffff821115613732575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137a160c083018486613746565b9998505050505050505050565b8181038181111561069a5761069a613685565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137fa60e083018486613746565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561263857612638613685565b6001600160801b0381811683821601908082111561263857612638613685565b8181035f83128015838313168383128216171561263857612638613685565b5f60208284031215613877575f80fd5b81516114b9816136ac565b808202811582820484141761069a5761069a613685565b6001600160801b0382811682821603908082111561263857612638613685565b8082018281125f8312801582168215821617156138d8576138d8613685565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613902576139026138e0565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139c5828551613934565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a38575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a5d57613a5d613685565b505f0390565b610180810161069a8284613934565b5f8060408385031215613a83575f80fd5b825191506020830151613a95816136db565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ac257613ac26138e0565b600160ff1b82145f1984141615613adb57613adb613685565b500590565b5f805f8060808587031215613af3575f80fd5b845193506020850151925060408501519150606085015161367a816136db565b805169ffffffffffffffffffff81168114613b2c575f80fd5b919050565b5f805f805f60a08688031215613b45575f80fd5b613b4e86613b13565b9450602086015193506040860151925060608601519150613b7160808701613b13565b90509295509295909350565b5f60208284031215613b8d575f80fd5b81516114b9816136db565b5f82515f5b81811015613bb75760208186018101518583015201613b9d565b505f92019182525091905056fea2646970667358221220fd7bcf9d20b3a827267355b78180e9c498491cf137c663b1f116a4fe25c46f0364736f6c63430008160033a2646970667358221220ae0e7847dff6a762a557f519f2052a9223ccb4ffc24c70d7cff076c5e835f05864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget3.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget3.ts new file mode 100644 index 000000000..0ce0130f2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget3.ts @@ -0,0 +1,1050 @@ +export const ChainlinkTarget3 = { + name: 'ChainlinkTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b5060405162004084380380620040848339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613b9a620004ea5f395f612b0301525f50505f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61197401525f5050613b9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613589565b610064565b60405190815260200160405180910390f35b61003f61005f3660046135e8565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613648565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961365b565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613648565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261365b565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061365b565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613648565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016136ec565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906136fb565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016136ec565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906136fb565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761365b565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613726565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613648565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613726565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161374e565b866107a960408c018c613769565b6040516107bc97969594939291906137ac565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026137ff565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613816565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613726565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613726565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161374e565b87610b5e6040890189613769565b604051610b7197969594939291906137ac565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613726565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161374e565b15610c8f57610c8585610c806040870187613769565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613769565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613648565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61365b565b8a846119c8565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613648565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61365b565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff59190613648565b909155506110109050865f8461100a81611766565b88611dad565b61101a8183613648565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f8282546111419190613648565b9091555061115c9050835f8461115681611766565b8a611fa4565b611166818361365b565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613881565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906138a0565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613881565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f613648565b90505f6115888b8b61157987611766565b611583908e6138bb565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613881565b6115e79190613881565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a764000061365b565b906117d4565b6116346134da565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613648565b90915550505f838152600b60205260408120805483929061183b908490613648565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be82846138f6565b61008d908461365b565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a64888661365b565b611a6e91906137ff565b85670de0b6b3a7640000611a82878a61365b565b611a8c91906137ff565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a838361365b565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c039190613648565b90915550611c139050818361365b565b9150611c1e826118d2565b600280545f90611c389084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d57828261365b565b611d61908461365b565b9250611d7f565b611d72828261365b565b611d7c9084613648565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a7640000866137ff565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e259082613909565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c9082613648565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe4858361365b565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613881565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a7640000886137ff565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c1888261365b565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b03169061365b565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab929190613956565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e991906139cb565b915091506123076122f982611766565b612302906139ed565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b815260040161240591906136ec565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124439190613a07565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd91613648565b6124c7919061365b565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561252757612527613a35565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613881565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f79190613648565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d613648565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b9092509050612756828961365b565b97505f61276482888a6117b9565b9050612770818b61365b565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613881565b90505f8113156127ba576127b38186613648565b94506127d8565b5f8112156127d8576127cb816139ed565b6127d5908661365b565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b61283191906137ff565b9050808311612840575f61284a565b61284a818461365b565b915061008d6125f7670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ff565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b9190613a49565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a87565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a8487613648565b612b548587611f67565b612b5e888a611f67565b6116269190613648565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba4848761365b565b612bae85876127e1565b612bb8888a611f67565b611626919061365b565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f000000000000000000000000000000000000000000000000000000000000000082613648565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b031661365b565b61008d919061365b565b612ca261352f565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce791906136ec565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d259190613a07565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613881565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b6100729190613648565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea4919061365b565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b03841683613326565b905080515f141580156132e45750808060200190518101906132e29190613ab3565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f61008d61331f84613333565b8390611f67565b606061008d83835f6133a4565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015613371573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133959190613aec565b50505091505061008d81613433565b6060814710156133c95760405163cd78605960e01b8152306004820152602401613309565b5f80856001600160a01b031684866040516133e49190613b38565b5f6040518083038185875af1925050503d805f811461341e576040519150601f19603f3d011682016040523d82523d5f602084013e613423565b606091505b5091509150612a93868383613455565b5f8082121561178f5760405163071d137160e51b815260040160405180910390fd5b60608261346a57613465826134b1565b61008d565b815115801561348157506001600160a01b0384163b155b156134aa57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134c15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806135436134da565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561359d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135cf575f80fd5b6135db88828901613579565b9150509295509295909350565b5f805f606084860312156135fa575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561361e575f80fd5b61362a86828701613579565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613634565b818103818111156113f7576113f7613634565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461366e565b5f6020828403121561370b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613736575f80fd5b813561008d81613712565b8015158114610c0a575f80fd5b5f6020828403121561375e575f80fd5b813561008d81613741565b5f808335601e1984360301811261377e575f80fd5b83018035915067ffffffffffffffff821115613798575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613634565b5f805f60608486031215613828575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613634565b6001600160801b038181168382160190808211156118cb576118cb613634565b8181035f8312801583831316838312821617156118cb576118cb613634565b5f602082840312156138b0575f80fd5b815161008d81613712565b8082018281125f8312801582168215821617156138da576138da613634565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613904576139046138e2565b500690565b6001600160801b038281168282160390808211156118cb576118cb613634565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613634565b5f6102a08201905061396982855161366e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139dc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a0157613a01613634565b505f0390565b5f8060408385031215613a18575f80fd5b825191506020830151613a2a81613741565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a5c575f80fd5b8451935060208501519250604085015191506060850151613a7c81613741565b939692955090935050565b5f82613a9557613a956138e2565b600160ff1b82145f1984141615613aae57613aae613634565b500590565b5f60208284031215613ac3575f80fd5b815161008d81613741565b805169ffffffffffffffffffff81168114613ae7575f80fd5b919050565b5f805f805f60a08688031215613b00575f80fd5b613b0986613ace565b9450602086015193506040860151925060608601519150613b2c60808701613ace565b90509295509295909350565b5f82515f5b81811015613b575760208186018101518583015201613b3d565b505f92019182525091905056fea264697066735822122032da34dd56206eee2d5583d2e637ab0dd26adef1f2f55a60dfde5db812aeaab764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget3Deployer.ts new file mode 100644 index 000000000..cc52fcda5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const ChainlinkTarget3Deployer = { + name: 'ChainlinkTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506145da8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b614084806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162004084380380620040848339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613b9a620004ea5f395f612b0301525f50505f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61197401525f5050613b9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613589565b610064565b60405190815260200160405180910390f35b61003f61005f3660046135e8565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613648565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961365b565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613648565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261365b565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061365b565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613648565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016136ec565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906136fb565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016136ec565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906136fb565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761365b565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613726565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613648565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613726565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161374e565b866107a960408c018c613769565b6040516107bc97969594939291906137ac565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026137ff565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613816565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613726565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613726565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161374e565b87610b5e6040890189613769565b604051610b7197969594939291906137ac565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613726565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161374e565b15610c8f57610c8585610c806040870187613769565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613769565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613648565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61365b565b8a846119c8565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613648565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61365b565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff59190613648565b909155506110109050865f8461100a81611766565b88611dad565b61101a8183613648565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f8282546111419190613648565b9091555061115c9050835f8461115681611766565b8a611fa4565b611166818361365b565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b0316613841565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613881565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906138a0565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613881565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061365b565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f613648565b90505f6115888b8b61157987611766565b611583908e6138bb565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613881565b6115e79190613881565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a764000061365b565b906117d4565b6116346134da565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613648565b90915550505f838152600b60205260408120805483929061183b908490613648565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be82846138f6565b61008d908461365b565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a64888661365b565b611a6e91906137ff565b85670de0b6b3a7640000611a82878a61365b565b611a8c91906137ff565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a838361365b565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c039190613648565b90915550611c139050818361365b565b9150611c1e826118d2565b600280545f90611c389084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d57828261365b565b611d61908461365b565b9250611d7f565b611d72828261365b565b611d7c9084613648565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a7640000866137ff565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e259082613909565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b613929565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b0316613909565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c9082613648565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe4858361365b565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613881565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a7640000886137ff565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c1888261365b565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b03169061365b565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab929190613956565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e991906139cb565b915091506123076122f982611766565b612302906139ed565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b0316613861565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b815260040161240591906136ec565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124439190613a07565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd91613648565b6124c7919061365b565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561252757612527613a35565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613881565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f79190613648565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d613648565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b9092509050612756828961365b565b97505f61276482888a6117b9565b9050612770818b61365b565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613881565b90505f8113156127ba576127b38186613648565b94506127d8565b5f8112156127d8576127cb816139ed565b6127d5908661365b565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b61283191906137ff565b9050808311612840575f61284a565b61284a818461365b565b915061008d6125f7670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ff565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b9190613a49565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a87565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a8487613648565b612b548587611f67565b612b5e888a611f67565b6116269190613648565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba4848761365b565b612bae85876127e1565b612bb8888a611f67565b611626919061365b565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f000000000000000000000000000000000000000000000000000000000000000082613648565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b031661365b565b61008d919061365b565b612ca261352f565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce791906136ec565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d259190613a07565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613881565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b6100729190613648565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea4919061365b565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b03841683613326565b905080515f141580156132e45750808060200190518101906132e29190613ab3565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f61008d61331f84613333565b8390611f67565b606061008d83835f6133a4565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015613371573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133959190613aec565b50505091505061008d81613433565b6060814710156133c95760405163cd78605960e01b8152306004820152602401613309565b5f80856001600160a01b031684866040516133e49190613b38565b5f6040518083038185875af1925050503d805f811461341e576040519150601f19603f3d011682016040523d82523d5f602084013e613423565b606091505b5091509150612a93868383613455565b5f8082121561178f5760405163071d137160e51b815260040160405180910390fd5b60608261346a57613465826134b1565b61008d565b815115801561348157506001600160a01b0384163b155b156134aa57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134c15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806135436134da565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561359d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135cf575f80fd5b6135db88828901613579565b9150509295509295909350565b5f805f606084860312156135fa575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561361e575f80fd5b61362a86828701613579565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613634565b818103818111156113f7576113f7613634565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461366e565b5f6020828403121561370b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613736575f80fd5b813561008d81613712565b8015158114610c0a575f80fd5b5f6020828403121561375e575f80fd5b813561008d81613741565b5f808335601e1984360301811261377e575f80fd5b83018035915067ffffffffffffffff821115613798575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613634565b5f805f60608486031215613828575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613634565b6001600160801b038181168382160190808211156118cb576118cb613634565b8181035f8312801583831316838312821617156118cb576118cb613634565b5f602082840312156138b0575f80fd5b815161008d81613712565b8082018281125f8312801582168215821617156138da576138da613634565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613904576139046138e2565b500690565b6001600160801b038281168282160390808211156118cb576118cb613634565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613634565b5f6102a08201905061396982855161366e565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139dc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a0157613a01613634565b505f0390565b5f8060408385031215613a18575f80fd5b825191506020830151613a2a81613741565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a5c575f80fd5b8451935060208501519250604085015191506060850151613a7c81613741565b939692955090935050565b5f82613a9557613a956138e2565b600160ff1b82145f1984141615613aae57613aae613634565b500590565b5f60208284031215613ac3575f80fd5b815161008d81613741565b805169ffffffffffffffffffff81168114613ae7575f80fd5b919050565b5f805f805f60a08688031215613b00575f80fd5b613b0986613ace565b9450602086015193506040860151925060608601519150613b2c60808701613ace565b90509295509295909350565b5f82515f5b81811015613b575760208186018101518583015201613b3d565b505f92019182525091905056fea264697066735822122032da34dd56206eee2d5583d2e637ab0dd26adef1f2f55a60dfde5db812aeaab764736f6c63430008160033a2646970667358221220e0a52e1adad5b425056392437ff533af6c3f9d49f7d9fb740a2d89340656fb3e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget4.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget4.ts new file mode 100644 index 000000000..ea2e0fd69 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget4.ts @@ -0,0 +1,1024 @@ +export const ChainlinkTarget4 = { + name: 'ChainlinkTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__aggregator", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + }, + { + "name": "__decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b5060405162003400380380620034008339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051612fbc620004445f395f818161108901526121f201525f50505f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526122d701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61223e01525f5050612fbc5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129f8565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a4a565b6100b1565b005b6100566100923660046129f8565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a7e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612aa6565b61016a60408c018c612ac1565b60405161017c96959493929190612b2c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b79565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a7e565b88610ea4565b5f6102f56102ec6020870187612a7e565b88848989610a9e565b90945090506103048188612ba0565b92505f61031083610f41565b5090506103206020870187612a7e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612aa6565b8a888e80604001906103709190612ac1565b604051610384989796959493929190612bb3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a7e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bfa565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ba0565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bfa565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ba0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bfa565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bfa565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bfa565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612ba0565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c4d565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c6c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c87565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ba0565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d25565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d9a565b91509150610d11610d0382611521565b610d0c90612dbc565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ba0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bfa565b90915550505f838152600b602052604081208054839290610ef7908490612bfa565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dd6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612de5565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bfa565b6110469190612ba0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b79565b6110c39084612ba0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fb7565b5f611100826110fa858888611a08565b90611fdc565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612ba0565b6111dc9190612e13565b85670de0b6b3a76400006111f0878a612ba0565b6111fa9190612e13565b85929190600161204b565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612ba0565b90506112dd61120582866120e5565b600680546010906112ff908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120f990919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bfa565b9091555061138790508183612ba0565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d98261210d565b600480545f906113ed908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120f9565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612ba0565b6114d59084612ba0565b92506114f3565b6114e68282612ba0565b6114f09084612bfa565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612e13565b600554600160801b90046001600160801b031691908a5f61204b565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c87565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612136565b600480545f90611643908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120f9565b90506116e5888486611a08565b6116ef9082612bfa565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612ba0565b105b1561179657611796612171565b6004549084900390600f0b6117ab8482612c4d565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fb7565b105b156117f9576117f9612171565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612e13565b6005546001600160801b031691908c5f61204b565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612ba0565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612136565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e57565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ec565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612aa6565b15611a8e57611a8785611a756020860186612a7e565b611a826040870187612ac1565b612217565b9150611ab1565b611ab185611a9f6020860186612a7e565b611aac6040870187612ac1565b612231565b509392505050565b5f6110c38383670de0b6b3a764000061226b565b6003545f908190611ae7906001600160801b0316846120e5565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bfa565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612ba0565b6110c39190612ba0565b611b70612959565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dd6565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612de5565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c4d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e6b565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612136565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e716129a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f69911661228e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b9290041661228e565b905292915050565b5f6110c3611fb084612302565b839061170a565b5f80611fc38484612373565b909250905080611fd557611fd5612171565b5092915050565b5f815f03611ff35750670de0b6b3a7640000610dc7565b825f0361200157505f610dc7565b5f61200b83611521565b90505f61201f61201a86611521565b6123ae565b9050818102612036670de0b6b3a764000082612ea9565b9050612041816125d3565b9695505050505050565b5f825f0361205a575084611100565b81156120ac5761208b61206d8487612bfa565b612077858761170a565b612081888a61170a565b6116d29190612bfa565b90505f612098858861126f565b9050808210156120a6578091505b50611100565b8285036120ba57505f611100565b6120416120c78487612ba0565b6120d18587611ab9565b6120db888a61170a565b6116d29190612ba0565b5f6110c383670de0b6b3a76400008461226b565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612153575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612196845f612765565b6121a0845f612765565b6121aa9190612c4d565b90505f8113156121c5576121be8186612bfa565b94506121e3565b5f8112156121e3576121d681612dbc565b6121e09086612ba0565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361277a565b5f60405163350b944160e11b815260040160405180910390fd5b6122656001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612787565b50505050565b5f825f19048411830215820261227f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122a161040f565b6122ab9190612e13565b90508083116122ba575f6122c4565b6122c48184612ba0565b91506110c36122fb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e13565b83906120f9565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612340573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123649190612ef3565b5050509150506110c3816127de565b5f805f8361238086611521565b61238a9190612c4d565b90505f8112156123a0575f8092509250506123a7565b9150600190505b9250929050565b5f8082136123cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124529084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125ec57505f919050565b680755bf798b4a1bf1e58212612615576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361277357816110c3565b5090919050565b5f6110c36122fb84612302565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127d9908490612800565b505050565b5f808212156111325760405163071d137160e51b815260040160405180910390fd5b5f6128146001600160a01b03841683612866565b905080515f141580156128385750808060200190518101906128369190612f3f565b155b156127d957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161288a9190612f5a565b5f6040518083038185875af1925050503d805f81146128c4576040519150601f19603f3d011682016040523d82523d5f602084013e6128c9565b606091505b50915091506120418683836060826128e9576128e482612930565b6110c3565b815115801561290057506001600160a01b0384163b155b1561292957604051639996b31560e01b81526001600160a01b038516600482015260240161285d565b50806110c3565b8051156129405780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061296d6129a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a0a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a2e575f80fd5b840160608187031215612a3f575f80fd5b809150509250925092565b5f8060408385031215612a5b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a8e575f80fd5b81356110c381612a6a565b80151581146103f5575f80fd5b5f60208284031215612ab6575f80fd5b81356110c381612a99565b5f808335601e19843603018112612ad6575f80fd5b83018035915067ffffffffffffffff821115612af0575f80fd5b6020019150368190038213156123a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b5960a083018486612b04565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b8757612b87612b65565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b8c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bec60e083018486612b04565b9a9950505050505050505050565b80820180821115610dc757610dc7612b8c565b6001600160701b03818116838216019080821115611fd557611fd5612b8c565b6001600160801b03818116838216019080821115611fd557611fd5612b8c565b8181035f831280158383131683831282161715611fd557611fd5612b8c565b5f60208284031215612c7c575f80fd5b81516110c381612a6a565b6001600160801b03828116828216039080821115611fd557611fd5612b8c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d38828551612ca7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dab575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612dd057612dd0612b8c565b505f0390565b6101808101610dc78284612ca7565b5f8060408385031215612df6575f80fd5b825191506020830151612e0881612a99565b809150509250929050565b8082028115828204841417610dc757610dc7612b8c565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b8c565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e7e575f80fd5b8451935060208501519250604085015191506060850151612e9e81612a99565b939692955090935050565b5f82612eb757612eb7612b65565b600160ff1b82145f1984141615612ed057612ed0612b8c565b500590565b805169ffffffffffffffffffff81168114612eee575f80fd5b919050565b5f805f805f60a08688031215612f07575f80fd5b612f1086612ed5565b9450602086015193506040860151925060608601519150612f3360808701612ed5565b90509295509295909350565b5f60208284031215612f4f575f80fd5b81516110c381612a99565b5f82515f5b81811015612f795760208186018101518583015201612f5f565b505f92019182525091905056fea264697066735822122018f664371dfdaf4d3feb151b19522458f85711bca38a23f82c14feb20673232864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ChainlinkTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/ChainlinkTarget4Deployer.ts new file mode 100644 index 000000000..8f6cb38ad --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ChainlinkTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const ChainlinkTarget4Deployer = { + name: 'ChainlinkTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506139568061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b366004610247565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b5f805f84806020019051810190610073919061039e565b60408051336020820152908101879052919350915060600160405160208183030381529060405280519060200120878784846040516100b1906100e7565b6100be94939291906103db565b8190604051809103905ff59050801580156100db573d5f803e3d5ffd5b50979650505050505050565b613400806200052183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561012d5761012d6100f5565b60405290565b6001600160a01b0381168114610147575f80fd5b50565b803561015581610133565b919050565b5f6080828403121561016a575f80fd5b6040516080810181811067ffffffffffffffff8211171561018d5761018d6100f5565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101cd575f80fd5b813567ffffffffffffffff808211156101e8576101e86100f5565b604051601f8301601f19908116603f01168101908282118183101715610210576102106100f5565b81604052838152866020858801011115610228575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561025c575f80fd5b6102608082121561026b575f80fd5b610273610109565b915061027e8761014a565b825261028c6020880161014a565b602083015261029d6040880161014a565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061030681890161014a565b9083015261018061031888820161014a565b908301526101a061032a88820161014a565b908301526101c061033c88820161014a565b908301526101e061034f8989830161015a565b818401525081955061036281880161014a565b9450505061028085013567ffffffffffffffff811115610380575f80fd5b61038c878288016101be565b949793965093946102a0013593505050565b5f80604083850312156103af575f80fd5b82516103ba81610133565b602084015190925060ff811681146103d0575f80fd5b809150509250929050565b84516001600160a01b031681526102c08101602086015161040760208401826001600160a01b03169052565b50604086015161042260408401826001600160a01b03169052565b50606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e083015261010080870151818401525061012080870151818401525061014080870151818401525061016080870151610494828501826001600160a01b03169052565b5050610180868101516001600160a01b03908116918401919091526101a0808801518216908401526101c0808801518216908401526101e096870151805197840197909752602087015161020084015260408701516102208401526060909601516102408301529385166102608201529190931661028082015260ff9092166102a0909201919091529056fe6102c060405234801562000011575f80fd5b5060405162003400380380620034008339810160408190526200003491620001c6565b60015f5583516001600160a01b039081166080908152602080870151831660a0908152918701516101a052908601516101c05260c0808701516101e090815260e08089015161020052610120808a0151909352610100808a0151909152610140808a0151909152908801805151909252815190920151909152805160409081015161016052905160609081015161018052908601518216610240529094015161026052918316610220529091166102a05260ff166102805262000326565b60405161020081016001600160401b03811182821017156200012257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200013f575f80fd5b919050565b5f6080828403121562000155575f80fd5b604051608081016001600160401b03811182821017156200018457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b805160ff811681146200013f575f80fd5b5f805f808486036102c0811215620001dc575f80fd5b61026080821215620001ec575f80fd5b620001f6620000f2565b9150620002038762000128565b8252620002136020880162000128565b6020830152620002266040880162000128565b6040830152606087015160608301526080870151608083015260a087015160a083015260c087015160c083015260e087015160e08301526101008088015181840152506101208088015181840152506101408088015181840152506101606200029181890162000128565b90830152610180620002a588820162000128565b908301526101a0620002b988820162000128565b908301526101c0620002cd88820162000128565b908301526101e0620002e28989830162000144565b8184015250819550620002f781880162000128565b945050506200030a610280860162000128565b91506200031b6102a08601620001b5565b905092959194509250565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051612fbc620004445f395f818161108901526121f201525f50505f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526122d701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61223e01525f5050612fbc5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129f8565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a4a565b6100b1565b005b6100566100923660046129f8565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a7e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612aa6565b61016a60408c018c612ac1565b60405161017c96959493929190612b2c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b79565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a7e565b88610ea4565b5f6102f56102ec6020870187612a7e565b88848989610a9e565b90945090506103048188612ba0565b92505f61031083610f41565b5090506103206020870187612a7e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612aa6565b8a888e80604001906103709190612ac1565b604051610384989796959493929190612bb3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a7e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bfa565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ba0565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bfa565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ba0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bfa565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bfa565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bfa565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612ba0565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612c0d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c4d565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c6c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c87565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ba0565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d25565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d9a565b91509150610d11610d0382611521565b610d0c90612dbc565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ba0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bfa565b90915550505f838152600b602052604081208054839290610ef7908490612bfa565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dd6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612de5565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bfa565b6110469190612ba0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b79565b6110c39084612ba0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fb7565b5f611100826110fa858888611a08565b90611fdc565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612ba0565b6111dc9190612e13565b85670de0b6b3a76400006111f0878a612ba0565b6111fa9190612e13565b85929190600161204b565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612ba0565b90506112dd61120582866120e5565b600680546010906112ff908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120f990919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bfa565b9091555061138790508183612ba0565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d98261210d565b600480545f906113ed908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120f9565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612ba0565b6114d59084612ba0565b92506114f3565b6114e68282612ba0565b6114f09084612bfa565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612e13565b600554600160801b90046001600160801b031691908a5f61204b565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c87565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612136565b600480545f90611643908490600f0b612e2a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c87565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120f9565b90506116e5888486611a08565b6116ef9082612bfa565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612ba0565b105b1561179657611796612171565b6004549084900390600f0b6117ab8482612c4d565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fb7565b105b156117f9576117f9612171565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612e13565b6005546001600160801b031691908c5f61204b565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612ba0565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612136565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c2d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e57565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ec565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612aa6565b15611a8e57611a8785611a756020860186612a7e565b611a826040870187612ac1565b612217565b9150611ab1565b611ab185611a9f6020860186612a7e565b611aac6040870187612ac1565b612231565b509392505050565b5f6110c38383670de0b6b3a764000061226b565b6003545f908190611ae7906001600160801b0316846120e5565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bfa565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612ba0565b6110c39190612ba0565b611b70612959565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dd6565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612de5565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c4d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e6b565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612136565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e716129a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f69911661228e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b9290041661228e565b905292915050565b5f6110c3611fb084612302565b839061170a565b5f80611fc38484612373565b909250905080611fd557611fd5612171565b5092915050565b5f815f03611ff35750670de0b6b3a7640000610dc7565b825f0361200157505f610dc7565b5f61200b83611521565b90505f61201f61201a86611521565b6123ae565b9050818102612036670de0b6b3a764000082612ea9565b9050612041816125d3565b9695505050505050565b5f825f0361205a575084611100565b81156120ac5761208b61206d8487612bfa565b612077858761170a565b612081888a61170a565b6116d29190612bfa565b90505f612098858861126f565b9050808210156120a6578091505b50611100565b8285036120ba57505f611100565b6120416120c78487612ba0565b6120d18587611ab9565b6120db888a61170a565b6116d29190612ba0565b5f6110c383670de0b6b3a76400008461226b565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612153575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612196845f612765565b6121a0845f612765565b6121aa9190612c4d565b90505f8113156121c5576121be8186612bfa565b94506121e3565b5f8112156121e3576121d681612dbc565b6121e09086612ba0565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361277a565b5f60405163350b944160e11b815260040160405180910390fd5b6122656001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612787565b50505050565b5f825f19048411830215820261227f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122a161040f565b6122ab9190612e13565b90508083116122ba575f6122c4565b6122c48184612ba0565b91506110c36122fb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e13565b83906120f9565b5f80826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612340573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123649190612ef3565b5050509150506110c3816127de565b5f805f8361238086611521565b61238a9190612c4d565b90505f8112156123a0575f8092509250506123a7565b9150600190505b9250929050565b5f8082136123cf5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124529084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125ec57505f919050565b680755bf798b4a1bf1e58212612615576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361277357816110c3565b5090919050565b5f6110c36122fb84612302565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127d9908490612800565b505050565b5f808212156111325760405163071d137160e51b815260040160405180910390fd5b5f6128146001600160a01b03841683612866565b905080515f141580156128385750808060200190518101906128369190612f3f565b155b156127d957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161288a9190612f5a565b5f6040518083038185875af1925050503d805f81146128c4576040519150601f19603f3d011682016040523d82523d5f602084013e6128c9565b606091505b50915091506120418683836060826128e9576128e482612930565b6110c3565b815115801561290057506001600160a01b0384163b155b1561292957604051639996b31560e01b81526001600160a01b038516600482015260240161285d565b50806110c3565b8051156129405780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061296d6129a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a0a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a2e575f80fd5b840160608187031215612a3f575f80fd5b809150509250925092565b5f8060408385031215612a5b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a8e575f80fd5b81356110c381612a6a565b80151581146103f5575f80fd5b5f60208284031215612ab6575f80fd5b81356110c381612a99565b5f808335601e19843603018112612ad6575f80fd5b83018035915067ffffffffffffffff821115612af0575f80fd5b6020019150368190038213156123a7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b5960a083018486612b04565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b8757612b87612b65565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b8c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bec60e083018486612b04565b9a9950505050505050505050565b80820180821115610dc757610dc7612b8c565b6001600160701b03818116838216019080821115611fd557611fd5612b8c565b6001600160801b03818116838216019080821115611fd557611fd5612b8c565b8181035f831280158383131683831282161715611fd557611fd5612b8c565b5f60208284031215612c7c575f80fd5b81516110c381612a6a565b6001600160801b03828116828216039080821115611fd557611fd5612b8c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d38828551612ca7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dab575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612dd057612dd0612b8c565b505f0390565b6101808101610dc78284612ca7565b5f8060408385031215612df6575f80fd5b825191506020830151612e0881612a99565b809150509250929050565b8082028115828204841417610dc757610dc7612b8c565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b8c565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e7e575f80fd5b8451935060208501519250604085015191506060850151612e9e81612a99565b939692955090935050565b5f82612eb757612eb7612b65565b600160ff1b82145f1984141615612ed057612ed0612b8c565b500590565b805169ffffffffffffffffffff81168114612eee575f80fd5b919050565b5f805f805f60a08688031215612f07575f80fd5b612f1086612ed5565b9450602086015193506040860151925060608601519150612f3360808701612ed5565b90509295509295909350565b5f60208284031215612f4f575f80fd5b81516110c381612a99565b5f82515f5b81811015612f795760208186018101518583015201612f5f565b505f92019182525091905056fea264697066735822122018f664371dfdaf4d3feb151b19522458f85711bca38a23f82c14feb20673232864736f6c63430008160033a2646970667358221220bd75f2efaa16267421e10cc34500819359909cd9e429c98c0d473ea97d5cad2764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CommonBase.ts b/packages/hyperdrive-artifacts/src/CommonBase.ts new file mode 100644 index 000000000..2fb154432 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CommonBase.ts @@ -0,0 +1,6 @@ +export const CommonBase = { + name: 'CommonBase' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Context.ts b/packages/hyperdrive-artifacts/src/Context.ts new file mode 100644 index 000000000..3799467b1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Context.ts @@ -0,0 +1,6 @@ +export const Context = { + name: 'Context' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornBase.ts b/packages/hyperdrive-artifacts/src/CornBase.ts new file mode 100644 index 000000000..c45635e44 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornBase.ts @@ -0,0 +1,657 @@ +export const CornBase = { + name: 'CornBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornConversions.ts b/packages/hyperdrive-artifacts/src/CornConversions.ts new file mode 100644 index 000000000..210e6f81f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornConversions.ts @@ -0,0 +1,48 @@ +export const CornConversions = { + name: 'CornConversions' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x60ac610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063b88fed9f146040578063c6e6f592146040575b5f80fd5b604e604b3660046060565b90565b60405190815260200160405180910390f35b5f60208284031215606f575f80fd5b503591905056fea2646970667358221220b9d26028c7b4c6a20d26496e9e331e5d123bedaf97958cf869de383f28cec77d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornHyperdrive.ts b/packages/hyperdrive-artifacts/src/CornHyperdrive.ts new file mode 100644 index 000000000..acb6b37bd --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornHyperdrive.ts @@ -0,0 +1,1709 @@ +export const CornHyperdrive = { + name: 'CornHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61034060405234801562000011575f80fd5b5060405162001ace38038062001ace8339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905082600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000a8d5f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a7b6ea0a7297bb64e4ef7273377503be80f1b66162bc4e704d468a95f9de4f9d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/CornHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..a610ff5f7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornHyperdriveCoreDeployer.ts @@ -0,0 +1,188 @@ +export const CornHyperdriveCoreDeployer = { + name: 'CornHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516121f53803806121f583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516121726100835f395f609801526121725ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200037f565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000c59062000109565b620000d99998979695949392919062000597565b8190604051809103905ff5905080158015620000f7573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611ace806200066f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000152576200015262000117565b60405290565b5f82601f83011262000168575f80fd5b813567ffffffffffffffff8082111562000186576200018662000117565b604051601f8301601f19908116603f01168101908282118183101715620001b157620001b162000117565b81604052838152866020858801011115620001ca575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000200575f80fd5b919050565b5f6080828403121562000216575f80fd5b6040516080810181811067ffffffffffffffff821117156200023c576200023c62000117565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200027f575f80fd5b620002896200012b565b90506200029682620001e9565b8152620002a660208301620001e9565b6020820152620002b960408301620001e9565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000324818401620001e9565b9082015261018062000338838201620001e9565b908201526101a06200034c838201620001e9565b908201526101c062000360838201620001e9565b908201526101e0620003758484830162000205565b9082015292915050565b5f805f805f805f805f806103808b8d0312156200039a575f80fd5b8a3567ffffffffffffffff80821115620003b2575f80fd5b620003c08e838f0162000158565b9b50620003d18e60208f016200026d565b9a50620003e26102808e01620001e9565b99506102a08d0135915080821115620003f9575f80fd5b50620004088d828e0162000158565b9750506200041a6102c08c01620001e9565b95506200042b6102e08c01620001e9565b94506200043c6103008c01620001e9565b93506200044d6103208c01620001e9565b92506200045e6103408c01620001e9565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200049f60208401826001600160a01b03169052565b506040810151620004bb60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200052e828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005cd576020828e0101516103808386010152602082019150620005a9565b61038091505f82828601015281601f19601f83011685010192505050620005f8602083018b62000477565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b038316610340830152620000fb56fe61034060405234801562000011575f80fd5b5060405162001ace38038062001ace8339810160408190526200003491620006a9565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000865565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0528116610300529384166103205250508951620001429216905082600162000151565b5050505050505050506200096f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ab90859083906200021c16565b6200021657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020a918691620002c616565b620002168482620002c6565b50505050565b5f805f846001600160a01b03168460405162000239919062000931565b5f604051808303815f865af19150503d805f811462000274576040519150601f19603f3d011682016040523d82523d5f602084013e62000279565b606091505b5091509150818015620002a7575080511580620002a7575080806020019051810190620002a791906200094e565b8015620002bd57505f856001600160a01b03163b115b95945050505050565b5f620002dc6001600160a01b0384168362000337565b905080515f14158015620003035750808060200190518101906200030191906200094e565b155b156200033257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034683835f6200034d565b9392505050565b606081471015620003745760405163cd78605960e01b815230600482015260240162000329565b5f80856001600160a01b0316848660405162000391919062000931565b5f6040518083038185875af1925050503d805f8114620003cd576040519150601f19603f3d011682016040523d82523d5f602084013e620003d2565b606091505b509092509050620003e5868383620003ef565b9695505050505050565b6060826200040857620004028262000453565b62000346565b81511580156200042057506001600160a01b0384163b155b156200044b57604051639996b31560e01b81526001600160a01b038516600482015260240162000329565b508062000346565b805115620004645780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b757620004b76200047d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e857620004e86200047d565b604052919050565b5f5b838110156200050c578181015183820152602001620004f2565b50505f910152565b80516001600160a01b03811681146200052b575f80fd5b919050565b5f6080828403121562000541575f80fd5b604051608081016001600160401b03811182821017156200056657620005666200047d565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a9575f80fd5b620005b362000491565b9050620005c08262000514565b8152620005d06020830162000514565b6020820152620005e36040830162000514565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064e81840162000514565b908201526101806200066283820162000514565b908201526101a06200067683820162000514565b908201526101c06200068a83820162000514565b908201526101e06200069f8484830162000530565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c3575f80fd5b89516001600160401b0380821115620006da575f80fd5b818c0191508c601f830112620006ee575f80fd5b8151818111156200070357620007036200047d565b62000718601f8201601f1916602001620004bd565b91508082528d60208285010111156200072f575f80fd5b62000742816020840160208601620004f0565b5099506200075690508b60208c0162000597565b9750620007676102808b0162000514565b9650620007786102a08b0162000514565b9550620007896102c08b0162000514565b94506200079a6102e08b0162000514565b9350620007ab6103008b0162000514565b9250620007bc6103208b0162000514565b9150620007cd6103408b0162000514565b90509295985092959850929598565b600181811c90821680620007f157607f821691505b6020821081036200081057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033257805f5260205f20601f840160051c810160208510156200083d5750805b601f840160051c820191505b818110156200085e575f815560010162000849565b5050505050565b81516001600160401b038111156200088157620008816200047d565b6200089981620008928454620007dc565b8462000816565b602080601f831160018114620008cf575f8415620008b75750858301515b5f19600386901b1c1916600185901b17855562000929565b5f85815260208120601f198616915b82811015620008ff57888601518255948401946001909101908401620008de565b50858210156200091d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000944818460208701620004f0565b9190910192915050565b5f602082840312156200095f575f80fd5b8151801515811462000346575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161104162000a8d5f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a7b6ea0a7297bb64e4ef7273377503be80f1b66162bc4e704d468a95f9de4f9d64736f6c63430008160033a2646970667358221220b999f55f01f73dbe4fff79beaf733b76e53e1545b3fb5e46a5c33f150beaf2d564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/CornHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..e2738a541 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornHyperdriveDeployerCoordinator.ts @@ -0,0 +1,798 @@ +export const CornHyperdriveDeployerCoordinator = { + name: 'CornHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b50604051620029f1380380620029f18339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125d76200041a5f395f81816102990152610dd001525f81816103170152610c9d01525f818161037d0152610b6a01525f81816102e40152610a3701525f818161034a015261082e01525f8181610440015261115901525f81816103ee01528181610547015281816107570152818161085e01528181610a6701528181610b9a01528181610ccd01528181610e0001528181610f2d015261118a01526125d75ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f59214610410578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611b32565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611c67565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611d25565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611d3c565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611d25565b6106d0565b3480156103c9575f80fd5b506102bb6103d8366004611f10565b61074b565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b5061014f61042a366004611d25565b610ee7565b34801561043a575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102bb61047c366004611f79565b610f21565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602181526020016125816021913981565b5f80546104bc90612013565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612013565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d611294565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112b5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106059392919061204b565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612090565b92505f61065382346120bb565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af4158015610721573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107459190612090565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079557604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610945578054156107ca57604051633be1b34d60e11b815260040160405180910390fd5b6107d4868661136f565b5f6107df878761150d565b90505f876040516020016107f391906120ce565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108208a611526565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161089a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108cf9493929190612301565b6020604051808303815f875af11580156108eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090f9190612346565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109715760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161098391906120ce565b60405160208183030381529060405280519060200120146109b75760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109e157604051631a3272d160e31b815260040160405180910390fd5b6109eb878761136f565b5f6109f588611526565b6002840154608082015290506001869003610b355760058301546001600160a01b031615610a355760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a9c93929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ad19493929190612301565b6020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190612346565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c685760068301546001600160a01b031615610b685760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bcf93929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c049493929190612301565b6020604051808303815f875af1158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190612346565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d9b5760078301546001600160a01b031615610c9b5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d0293929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d379493929190612301565b6020604051808303815f875af1158015610d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d779190612346565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ece5760088301546001600160a01b031615610dce5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e3593929190612361565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e6a9493929190612301565b6020604051808303815f875af1158015610e86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaa9190612346565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401610706565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561101357604051632c95caeb60e01b815260040160405180910390fd5b80516110325760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611057575060a08101516001600160a01b0316155b8061106d575060c08101516001600160a01b0316155b80611083575060e08101516001600160a01b0316155b8061109a57506101008101516001600160a01b0316155b156110b85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110cb9087906020016120ce565b60405160208183030381529060405280519060200120146110ff5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461112a57604051631a3272d160e31b815260040160405180910390fd5b611134858561136f565b5f61113e86611526565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111e0929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161121b9a99989796959493929190612382565b6020604051808303815f875af1158015611237573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125b9190612346565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112b357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112d85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113399190612346565b90506113506001600160a01b0382168630876115f4565b6113646001600160a01b0382168786611661565b505f95945050505050565b61137982826116f0565b81516001600160a01b03166113a157604051630722152560e11b815260040160405180910390fd5b60208201516001600160a01b0316156113cd5760405163073f739d60e51b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561140e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114329190612404565b61143c9190612424565b61144790600a61251d565b8260800151101561146b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114d09190612404565b6114da9190612424565b6114e590600a61251d565b8260a001511015611509576040516318c9522360e11b815260040160405180910390fd5b5050565b5f61151f670de0b6b3a76400006106d0565b9392505050565b61152e611a11565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261165b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611804565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116b2848261186f565b61165b576040516001600160a01b0384811660248301525f60448301526116e691869182169063095ea7b390606401611629565b61165b8482611804565b6103e882608001511015611717576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361173c57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061176657508161010001518260e00151611763919061252b565b15155b156117845760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117b05750670de0b6b3a7640000826101c0015160200151115b806117cb5750670de0b6b3a7640000826101c0015160400151115b806117e65750670de0b6b3a7640000826101c0015160600151115b15611509576040516322f72cc360e11b815260040160405180910390fd5b5f6118186001600160a01b0384168361190c565b905080515f1415801561183c57508080602001905181019061183a919061254a565b155b1561186a57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161188a9190612565565b5f604051808303815f865af19150503d805f81146118c3576040519150601f19603f3d011682016040523d82523d5f602084013e6118c8565b606091505b50915091508180156118f25750805115806118f25750808060200190518101906118f2919061254a565b80156106c75750505050506001600160a01b03163b151590565b606061151f83835f845f80856001600160a01b031684866040516119309190612565565b5f6040518083038185875af1925050503d805f811461196a576040519150601f19603f3d011682016040523d82523d5f602084013e61196f565b606091505b509150915061197f868383611989565b9695505050505050565b60608261199e57611999826119e5565b61151f565b81511580156119b557506001600160a01b0384163b155b156119de57604051639996b31560e01b81526001600160a01b0385166004820152602401611861565b508061151f565b8051156119f55780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ae060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611aff578181015183820152602001611ae7565b50505f910152565b5f8151808452611b1e816020860160208601611ae5565b601f01601f19169290920160200192915050565b602081525f61151f6020830184611b07565b6001600160a01b0381168114611a0e575f80fd5b8035611b6381611b44565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b9f57611b9f611b68565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b9f57611b9f611b68565b8015158114611a0e575f80fd5b5f67ffffffffffffffff80841115611bf057611bf0611b68565b604051601f8501601f19908116603f01168101908282118183101715611c1857611c18611b68565b81604052809350858152868686011115611c30575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611c58575f80fd5b61151f83833560208501611bd6565b5f805f805f60a08688031215611c7b575f80fd5b853594506020860135611c8d81611b44565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611cb7575f80fd5b908701906060828a031215611cca575f80fd5b611cd2611b7c565b8235611cdd81611b44565b81526020830135611ced81611bc9565b6020820152604083013582811115611d03575f80fd5b611d0f8b828601611c49565b6040830152508093505050509295509295909350565b5f60208284031215611d35575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611dc9575f80fd5b6040516080810181811067ffffffffffffffff82111715611dec57611dec611b68565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611e2e575f80fd5b611e36611ba5565b9050611e4182611b58565b8152611e4f60208301611b58565b6020820152611e6060408301611b58565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611ebd818401611b58565b90820152610160611ecf838201611b58565b90820152610180611ee1838201611b58565b908201526101a0611ef3838201611b58565b908201526101c0611f0684848301611db9565b9082015292915050565b5f805f805f6102c08688031215611f25575f80fd5b85359450611f368760208801611e1d565b935061026086013567ffffffffffffffff811115611f52575f80fd5b611f5e88828901611c49565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611f8e575f80fd5b85359450602086013567ffffffffffffffff80821115611fac575f80fd5b818801915088601f830112611fbf575f80fd5b611fce89833560208501611bd6565b9550611fdd8960408a01611e1d565b9450610280880135915080821115611ff3575f80fd5b5061200088828901611c49565b959894975092956102a001359392505050565b600181811c9082168061202757607f821691505b60208210810361204557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261197f60c0840182611b07565b5f602082840312156120a0575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610745576107456120a7565b81516001600160a01b03168152610240810160208301516120fa60208401826001600160a01b03169052565b50604083015161211560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161217b828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611db1565b80516001600160a01b03168252602081015161220b60208401826001600160a01b03169052565b50604081015161222660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612298828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261165b565b5f6102c061230f83886121e4565b6001600160a01b038616610260840152610280830181905261233381840186611b07565b915050826102a083015295945050505050565b5f60208284031215612356575f80fd5b815161151f81611b44565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526123958184018e611b07565b90506123a4602084018d6121e4565b6001600160a01b038b81166102808501528382036102a08501526123c8828c611b07565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612414575f80fd5b815160ff8116811461151f575f80fd5b60ff8281168282160390811115610745576107456120a7565b600181815b8085111561247757815f190482111561245d5761245d6120a7565b8085161561246a57918102915b93841c9390800290612442565b509250929050565b5f8261248d57506001610745565b8161249957505f610745565b81600181146124af57600281146124b9576124d5565b6001915050610745565b60ff8411156124ca576124ca6120a7565b50506001821b610745565b5060208310610133831016604e8410600b84101617156124f8575081810a610745565b612502838361243d565b805f1904821115612515576125156120a7565b029392505050565b5f61151f60ff84168361247f565b5f8261254557634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561255a575f80fd5b815161151f81611bc9565b5f8251612576818460208701611ae5565b919091019291505056fe436f726e487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220b5ab105022b44bb1298c3119dea1a3fb4317d43d99b5905fd1620281923813be64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget0.ts b/packages/hyperdrive-artifacts/src/CornTarget0.ts new file mode 100644 index 000000000..da062fa75 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget0.ts @@ -0,0 +1,1951 @@ +export const CornTarget0 = { + name: 'CornTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "cornSilo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e0f38038062003e0f8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139a46200046b5f395f8181610bec01528181611ea10152612a8d01525f8181610da9015261239c01525f8181610d7a015261235f01525f8181610c5601528181610ed901528181610f6701528181610ff5015281816110830152818161168c01528181611722015281816118e401528181611f2601528181611ffa015261214b01525f610e4101525f8181610e1b015261254101525f8181610df5015261251b01525f8181610dcf01526124f501525f61118e01525f61116801525f61114201525f61111c01525f8181610eb3015261256701525f8181610e6701528181611319015261293d01525f8181610e8d0152612b5701525f81816106190152610d4b01525f818161074301528181610d1c015281816112b601528181611e7701528181612a5c0152612b0801526139a45ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637d1849ab146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d8f565b61056c565b6040516102579190612df3565b60405180910390f35b61027361026e366004612e19565b6105a3565b005b610273610283366004612e41565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e6a565b61064a565b6102736102d9366004612f3b565b610666565b6102736102ec366004612fca565b61067c565b6103046102ff366004612d8f565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461300f565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f36600461304e565b6107d5565b61034961080d565b61034961039a36600461307c565b61082b565b6103b26103ad366004612e19565b610835565b6040519015158152602001610257565b61024a6103d0366004612d8f565b610854565b6102736103e33660046130b3565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906130fa565b61027361041336600461319b565b5050565b6102a0610bde565b61034961042d366004612e19565b610c1d565b6102a0610c48565b6102736104483660046131c7565b610c87565b61027361045b36600461319b565b610c98565b61027361046e366004612e19565b50565b610479610d03565b60405161025791906131fc565b610349610494366004612d8f565b6111c3565b6103496104a7366004612d8f565b6111d0565b6104bf6104ba366004613322565b6111f1565b6040516102579190613361565b6102a06112a8565b6103496112e7565b6103496104ea366004612d8f565b611300565b6103496104fd366004612d8f565b61130d565b61050a611343565b60405161025791906133a4565b6102736105253660046134b5565b61144e565b6103b2610538366004613510565b611496565b6105456114d9565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a83611537565b60405160200161058a9190612df3565b60405160208183030381529060405261165d565b919050565b61046e81611681565b61046e816118e2565b60606105f16040518060400160405280600e81526020016d436f726e4879706572647269766560901b81525060405160200161058a9190612df3565b90565b60606105f1600160405160200161058a919061353c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906135e9565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611f11565b5f61059e61084283612147565b6040805191151560208301520161058a565b606061059e61057a83612225565b8361086c81612321565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123de565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612df3565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095861244a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c2919061362c565b6109cc919061363f565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f88561245c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb9190613652565b509050610ad881846125e6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125fa565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016130fa565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c93838383336123de565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d0b612cbb565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe59190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110739190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111019190613680565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131fc565b5f61059e6108198361260e565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff81111561120d5761120d61369b565b604051908082528060200260200182016040528015611236578160200160208202803683370190505b5090505f5b8381101561128c575f858583818110611256576112566136af565b9050602002013590505f8154905080848481518110611277576112776136af565b6020908102919091010152505060010161123b565b506112a18160405160200161058a9190613361565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612683565b5f61059e61081961133e7f00000000000000000000000000000000000000000000000000000000000000008561362c565b6126bd565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145881612321565b6001600160a01b0316336001600160a01b03161461148957604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b606060f882901c6001600160f81b0383165f611552826126fd565b90505f83600381111561156757611567613604565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad613604565b036115d957806040516020016115c391906136c3565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed613604565b0361160357806040516020016115c391906136fb565b600383600381111561161757611617613604565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612df3565b60405180910390fd5b6116896127af565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a9190613680565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a09190613680565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c633612147565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118599190613734565b905061186f6001600160a01b03851684836127d7565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119629190613680565b6001600160a01b0316336001600160a01b031614158015611989575061198733612147565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c666136af565b905060200201358888868686818110611c8157611c816136af565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061363f565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061363f565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0190849061362c565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051630a7292f560e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690630a7292f590604401602060405180830381865afa158015611ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0c9190613734565b905090565b5f611f1a6127af565b611f2382612829565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fa49190613680565b90506001600160a01b038116611fbd6020850185612e19565b6001600160a01b031614611fe457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061208e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612054573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120789190613680565b6001600160a01b0316336001600160a01b031614155b80156120a0575061209e33612147565b155b156120bd576040516282b42960e81b815260040160405180910390fd5b5f6120c661244a565b600980545f9091559091506120dc81838761285e565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461211b60408a0160208b01612e41565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156121a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121cb919081019061374b565b90505f5b815181101561221c57836001600160a01b03168282815181106121f4576121f46136af565b60200260200101516001600160a01b031603612214575060019392505050565b6001016121cf565b505f9392505050565b606060f882901c6001600160f81b0383165f612240826126fd565b90505f83600381111561225557612255613604565b03612287576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b600183600381111561229b5761229b613604565b036122b157806040516020016115c3919061380b565b60028360038111156122c5576122c5613604565b036122db57806040516020016115c39190613842565b60038360038111156122ef576122ef613604565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611f0c670de0b6b3a764000061260e565b6124b46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125ac91166128f4565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125de929004166128f4565b905292915050565b5f6107368383670de0b6b3a7640000612968565b5f61073683670de0b6b3a764000084612968565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af415801561265f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108079190613734565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401612644565b5f6126e2600b5f6126cf600286612983565b81526020019081526020015f20546129b7565b6126f3600b5f6126cf600187612983565b610807919061386d565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127a157612736600a866138a0565b61274190603061362c565b60f81b826001612751848761363f565b61275b919061363f565b8151811061276b5761276b6136af565b60200101906001600160f81b03191690815f1a9053508061278b816138b3565b915061279a9050600a866138cb565b9450612725565b918290030190815292915050565b60025f54036127d157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c939084906129e4565b5f6128376020830183612e19565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061286a85856125e6565b905061287581612683565b9450845f03612887575f915050610736565b84915061289a6040840160208501612e41565b156128c9576128c2856128b06020860186612e19565b6128bd60408701876138de565b612a45565b91506128ec565b6128ec856128da6020860186612e19565b6128e760408701876138de565b612b37565b509392505050565b5f80670de0b6b3a7640000612907612b50565b6129119190613921565b9050808311612920575f61292a565b61292a818461363f565b9150610736612961670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613921565b83906125fa565b5f825f19048411830215820261297c575f80fd5b5091020490565b5f6001600160f81b038211156129ac5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129e05760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129f86001600160a01b03841683612b7b565b905080515f14158015612a1c575080806020019051810190612a1a9190613938565b155b15610c9357604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612ad5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af99190613734565b9050612b2f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127d7565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611f0c427f0000000000000000000000000000000000000000000000000000000000000000612b88565b606061073683835f612b9d565b5f612b9382846138a0565b610736908461363f565b606081471015612bc25760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612bdd9190613953565b5f6040518083038185875af1925050503d805f8114612c17576040519150601f19603f3d011682016040523d82523d5f602084013e612c1c565b606091505b5091509150612c2c868383612c36565b9695505050505050565b606082612c4b57612c4682612c92565b610736565b8151158015612c6257506001600160a01b0384163b155b15612c8b57604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612ca25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d8a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d9f575f80fd5b5035919050565b5f5b83811015612dc0578181015183820152602001612da8565b50505f910152565b5f8151808452612ddf816020860160208601612da6565b601f01601f19169290920160200192915050565b602081525f6107366020830184612dc8565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612e29575f80fd5b813561073681612e05565b801515811461046e575f80fd5b5f60208284031215612e51575f80fd5b813561073681612e34565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e83575f80fd5b8935985060208a0135975060408a0135612e9c81612e05565b965060608a0135612eac81612e05565b955060808a0135612ebc81612e34565b945060a08a0135935060c08a0135612ed381612e5c565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612f03575f80fd5b50813567ffffffffffffffff811115612f1a575f80fd5b6020830191508360208260051b8501011115612f34575f80fd5b9250929050565b5f805f805f8060808789031215612f50575f80fd5b8635612f5b81612e05565b95506020870135612f6b81612e05565b9450604087013567ffffffffffffffff80821115612f87575f80fd5b612f938a838b01612ef3565b90965094506060890135915080821115612fab575f80fd5b50612fb889828a01612ef3565b979a9699509497509295939492505050565b5f805f8060808587031215612fdd575f80fd5b843593506020850135612fef81612e05565b92506040850135612fff81612e05565b9396929550929360600135925050565b5f805f60608486031215613021575f80fd5b83359250602084013561303381612e05565b9150604084013561304381612e05565b809150509250925092565b5f806040838503121561305f575f80fd5b82359150602083013561307181612e05565b809150509250929050565b5f6020828403121561308c575f80fd5b813567ffffffffffffffff8111156130a2575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156130c6575f80fd5b8435935060208501356130d881612e05565b92506040850135915060608501356130ef81612e05565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156131ac575f80fd5b82356131b781612e05565b9150602083013561307181612e34565b5f805f606084860312156131d9575f80fd5b8335925060208401356131eb81612e05565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161322860208401826001600160a01b03169052565b50604083015161324360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516132b5828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613333575f80fd5b823567ffffffffffffffff811115613349575f80fd5b61335585828601612ef3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133985783518352928401929184019160010161337c565b50909695505050505050565b81516001600160801b03168152610180810160208301516133d060208401826001600160801b03169052565b5060408301516133eb60408401826001600160801b03169052565b50606083015161340660608401826001600160801b03169052565b50608083015161341b6080840182600f0b9052565b5060a083015161343660a08401826001600160801b03169052565b5060c083015161345160c08401826001600160801b03169052565b5060e083015161346c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261331a565b5f805f805f60a086880312156134c9575f80fd5b8535945060208601356134db81612e05565b935060408601356134eb81612e05565b925060608601359150608086013561350281612e05565b809150509295509295909350565b5f8060408385031215613521575f80fd5b823561352c81612e05565b9150602083013561307181612e05565b5f60208083525f84545f60018260011c9150600183168061355e57607f831692505b60208310810361357c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561359b57600181146135b1576135da565b60ff198616825284151560051b820196506135da565b5f8b8152602090205f5b868110156135d4578154848201529085019089016135bb565b83019750505b50949998505050505050505050565b5f602082840312156135f9575f80fd5b815161073681612e5c565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613618565b8181038181111561080757610807613618565b5f8060408385031215613663575f80fd5b82519150602083015161307181612e34565b805161059e81612e05565b5f60208284031215613690575f80fd5b815161073681612e05565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136ee816011850160208701612da6565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613727816012850160208701612da6565b9190910160120192915050565b5f60208284031215613744575f80fd5b5051919050565b5f602080838503121561375c575f80fd5b825167ffffffffffffffff80821115613773575f80fd5b818501915085601f830112613786575f80fd5b8151818111156137985761379861369b565b8060051b604051601f19603f830116810181811085821117156137bd576137bd61369b565b6040529182528482019250838101850191888311156137da575f80fd5b938501935b828510156137ff576137f085613675565b845293850193928501926137df565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613835816010850160208701612da6565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136ee816011850160208701612da6565b8181035f8312801583831316838312821617156112a1576112a1613618565b634e487b7160e01b5f52601260045260245ffd5b5f826138ae576138ae61388c565b500690565b5f600182016138c4576138c4613618565b5060010190565b5f826138d9576138d961388c565b500490565b5f808335601e198436030181126138f3575f80fd5b83018035915067ffffffffffffffff82111561390d575f80fd5b602001915036819003821315612f34575f80fd5b808202811582820484141761080757610807613618565b5f60208284031215613948575f80fd5b815161073681612e34565b5f8251613964818460208701612da6565b919091019291505056fea2646970667358221220ce9ac7544d36e0999ee669e8cdf009ca51b5cda91c38af3927a953c1543e462c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "cornSilo()": "7d1849ab", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/CornTarget0Deployer.ts new file mode 100644 index 000000000..3472a8cb0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget0Deployer.ts @@ -0,0 +1,158 @@ +export const CornTarget0Deployer = { + name: 'CornTarget0Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161439138038061439183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161430e6100835f395f608b015261430e5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b613e0f806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162003e0f38038062003e0f8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139a46200046b5f395f8181610bec01528181611ea10152612a8d01525f8181610da9015261239c01525f8181610d7a015261235f01525f8181610c5601528181610ed901528181610f6701528181610ff5015281816110830152818161168c01528181611722015281816118e401528181611f2601528181611ffa015261214b01525f610e4101525f8181610e1b015261254101525f8181610df5015261251b01525f8181610dcf01526124f501525f61118e01525f61116801525f61114201525f61111c01525f8181610eb3015261256701525f8181610e6701528181611319015261293d01525f8181610e8d0152612b5701525f81816106190152610d4b01525f818161074301528181610d1c015281816112b601528181611e7701528181612a5c0152612b0801526139a45ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637d1849ab146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d8f565b61056c565b6040516102579190612df3565b60405180910390f35b61027361026e366004612e19565b6105a3565b005b610273610283366004612e41565b6105ac565b61024a6105b5565b61024a6105f4565b6102a061060b565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612e6a565b61064a565b6102736102d9366004612f3b565b610666565b6102736102ec366004612fca565b61067c565b6103046102ff366004612d8f565b61068f565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61034961034436600461300f565b6106f8565b604051908152602001610257565b61035f61073d565b60405160ff9091168152602001610257565b61034961037f36600461304e565b6107d5565b61034961080d565b61034961039a36600461307c565b61082b565b6103b26103ad366004612e19565b610835565b6040519015158152602001610257565b61024a6103d0366004612d8f565b610854565b6102736103e33660046130b3565b610862565b61024a6108b0565b6103f86108e5565b60405161025791906130fa565b61027361041336600461319b565b5050565b6102a0610bde565b61034961042d366004612e19565b610c1d565b6102a0610c48565b6102736104483660046131c7565b610c87565b61027361045b36600461319b565b610c98565b61027361046e366004612e19565b50565b610479610d03565b60405161025791906131fc565b610349610494366004612d8f565b6111c3565b6103496104a7366004612d8f565b6111d0565b6104bf6104ba366004613322565b6111f1565b6040516102579190613361565b6102a06112a8565b6103496112e7565b6103496104ea366004612d8f565b611300565b6103496104fd366004612d8f565b61130d565b61050a611343565b60405161025791906133a4565b6102736105253660046134b5565b61144e565b6103b2610538366004613510565b611496565b6105456114d9565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a83611537565b60405160200161058a9190612df3565b60405160208183030381529060405261165d565b919050565b61046e81611681565b61046e816118e2565b60606105f16040518060400160405280600e81526020016d436f726e4879706572647269766560901b81525060405160200161058a9190612df3565b90565b60606105f1600160405160200161058a919061353c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b61065b8989898989898989896119fa565b505050505050505050565b610674868686868686611bec565b505050505050565b6106898484848433611c9f565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b0386811685529083528184209085168452825280832054815192830152610736910161058a565b9392505050565b5f6105f17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c191906135e9565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b0385168452825280832054815192830152610807910161058a565b92915050565b5f6105f1610819611e5a565b60405160200161058a91815260200190565b5f61080782611f11565b5f61059e61084283612147565b6040805191151560208301520161058a565b606061059e61057a83612225565b8361086c81612321565b6001600160a01b0316336001600160a01b03161461089d57604051632aab8bd360e01b815260040160405180910390fd5b6108a9858585856123de565b5050505050565b60606105f160405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612df3565b61094f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61095861244a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109c2919061362c565b6109cc919061363f565b90505f8215610adb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f88561245c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb9190613652565b509050610ad881846125e6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bab57610ba684866125fa565b610bad565b5f5b81526003546001600160801b0316602091820152604051919250610bd79161058a918491016130fa565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b610c93838383336123de565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d0b612cbb565b6105f16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe59190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110739190613680565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111019190613680565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131fc565b5f61059e6108198361260e565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff81111561120d5761120d61369b565b604051908082528060200260200182016040528015611236578160200160208202803683370190505b5090505f5b8381101561128c575f858583818110611256576112566136af565b9050602002013590505f8154905080848481518110611277576112776136af565b6020908102919091010152505060010161123b565b506112a18160405160200161058a9190613361565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f1910161058a565b5f6105f160095460405160200161058a91815260200190565b5f61059e61081983612683565b5f61059e61081961133e7f00000000000000000000000000000000000000000000000000000000000000008561362c565b6126bd565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f1600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145881612321565b6001600160a01b0316336001600160a01b03161461148957604051632aab8bd360e01b815260040160405180910390fd5b6106748686868686611c9f565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff9091161515918101919091529091610807910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f19060600161058a565b606060f882901c6001600160f81b0383165f611552826126fd565b90505f83600381111561156757611567613604565b03611599576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611655565b60018360038111156115ad576115ad613604565b036115d957806040516020016115c391906136c3565b6040516020818303038152906040529350611655565b60028360038111156115ed576115ed613604565b0361160357806040516020016115c391906136fb565b600383600381111561161757611617613604565b03611655576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116789190612df3565b60405180910390fd5b6116896127af565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170a9190613680565b9050336001600160a01b038216148015906117b657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a09190613680565b6001600160a01b0316336001600160a01b031614155b80156117c857506117c633612147565b155b156117e5576040516282b42960e81b815260040160405180910390fd5b5f6117ee611e5a565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118599190613734565b905061186f6001600160a01b03851684836127d7565b81611878611e5a565b14611896576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119629190613680565b6001600160a01b0316336001600160a01b031614158015611989575061198733612147565b155b156119a6576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119ef90831515815260200190565b60405180910390a150565b83421115611a1b5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a425760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b2c573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b6a57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c0957506001600160a01b038516155b15611c275760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c475760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9657611c8e858583818110611c6657611c666136af565b905060200201358888868686818110611c8157611c816136af565b9050602002013533611c9f565b600101611c49565b50505050505050565b6001600160a01b0384161580611cbc57506001600160a01b038316155b15611cda5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d9a576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d9a575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d98575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d9290849061363f565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dcb90849061363f565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e0190849061362c565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051630a7292f560e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690630a7292f590604401602060405180830381865afa158015611ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0c9190613734565b905090565b5f611f1a6127af565b611f2382612829565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fa49190613680565b90506001600160a01b038116611fbd6020850185612e19565b6001600160a01b031614611fe457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061208e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612054573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120789190613680565b6001600160a01b0316336001600160a01b031614155b80156120a0575061209e33612147565b155b156120bd576040516282b42960e81b815260040160405180910390fd5b5f6120c661244a565b600980545f9091559091506120dc81838761285e565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461211b60408a0160208b01612e41565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156121a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121cb919081019061374b565b90505f5b815181101561221c57836001600160a01b03168282815181106121f4576121f46136af565b60200260200101516001600160a01b031603612214575060019392505050565b6001016121cf565b505f9392505050565b606060f882901c6001600160f81b0383165f612240826126fd565b90505f83600381111561225557612255613604565b03612287576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611655565b600183600381111561229b5761229b613604565b036122b157806040516020016115c3919061380b565b60028360038111156122c5576122c5613604565b036122db57806040516020016115c39190613842565b60038360038111156122ef576122ef613604565b0361165557505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611f0c670de0b6b3a764000061260e565b6124b46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125ac91166128f4565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125de929004166128f4565b905292915050565b5f6107368383670de0b6b3a7640000612968565b5f61073683670de0b6b3a764000084612968565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af415801561265f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108079190613734565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f59290602401612644565b5f6126e2600b5f6126cf600286612983565b81526020019081526020015f20546129b7565b6126f3600b5f6126cf600187612983565b610807919061386d565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127a157612736600a866138a0565b61274190603061362c565b60f81b826001612751848761363f565b61275b919061363f565b8151811061276b5761276b6136af565b60200101906001600160f81b03191690815f1a9053508061278b816138b3565b915061279a9050600a866138cb565b9450612725565b918290030190815292915050565b60025f54036127d157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c939084906129e4565b5f6128376020830183612e19565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061286a85856125e6565b905061287581612683565b9450845f03612887575f915050610736565b84915061289a6040840160208501612e41565b156128c9576128c2856128b06020860186612e19565b6128bd60408701876138de565b612a45565b91506128ec565b6128ec856128da6020860186612e19565b6128e760408701876138de565b612b37565b509392505050565b5f80670de0b6b3a7640000612907612b50565b6129119190613921565b9050808311612920575f61292a565b61292a818461363f565b9150610736612961670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613921565b83906125fa565b5f825f19048411830215820261297c575f80fd5b5091020490565b5f6001600160f81b038211156129ac5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129e05760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129f86001600160a01b03841683612b7b565b905080515f14158015612a1c575080806020019051810190612a1a9190613938565b155b15610c9357604051635274afe760e01b81526001600160a01b0384166004820152602401611678565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612ad5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af99190613734565b9050612b2f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127d7565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611f0c427f0000000000000000000000000000000000000000000000000000000000000000612b88565b606061073683835f612b9d565b5f612b9382846138a0565b610736908461363f565b606081471015612bc25760405163cd78605960e01b8152306004820152602401611678565b5f80856001600160a01b03168486604051612bdd9190613953565b5f6040518083038185875af1925050503d805f8114612c17576040519150601f19603f3d011682016040523d82523d5f602084013e612c1c565b606091505b5091509150612c2c868383612c36565b9695505050505050565b606082612c4b57612c4682612c92565b610736565b8151158015612c6257506001600160a01b0384163b155b15612c8b57604051639996b31560e01b81526001600160a01b0385166004820152602401611678565b5080610736565b805115612ca25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d8a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d9f575f80fd5b5035919050565b5f5b83811015612dc0578181015183820152602001612da8565b50505f910152565b5f8151808452612ddf816020860160208601612da6565b601f01601f19169290920160200192915050565b602081525f6107366020830184612dc8565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612e29575f80fd5b813561073681612e05565b801515811461046e575f80fd5b5f60208284031215612e51575f80fd5b813561073681612e34565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e83575f80fd5b8935985060208a0135975060408a0135612e9c81612e05565b965060608a0135612eac81612e05565b955060808a0135612ebc81612e34565b945060a08a0135935060c08a0135612ed381612e5c565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612f03575f80fd5b50813567ffffffffffffffff811115612f1a575f80fd5b6020830191508360208260051b8501011115612f34575f80fd5b9250929050565b5f805f805f8060808789031215612f50575f80fd5b8635612f5b81612e05565b95506020870135612f6b81612e05565b9450604087013567ffffffffffffffff80821115612f87575f80fd5b612f938a838b01612ef3565b90965094506060890135915080821115612fab575f80fd5b50612fb889828a01612ef3565b979a9699509497509295939492505050565b5f805f8060808587031215612fdd575f80fd5b843593506020850135612fef81612e05565b92506040850135612fff81612e05565b9396929550929360600135925050565b5f805f60608486031215613021575f80fd5b83359250602084013561303381612e05565b9150604084013561304381612e05565b809150509250925092565b5f806040838503121561305f575f80fd5b82359150602083013561307181612e05565b809150509250929050565b5f6020828403121561308c575f80fd5b813567ffffffffffffffff8111156130a2575f80fd5b820160608185031215610736575f80fd5b5f805f80608085870312156130c6575f80fd5b8435935060208501356130d881612e05565b92506040850135915060608501356130ef81612e05565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156131ac575f80fd5b82356131b781612e05565b9150602083013561307181612e34565b5f805f606084860312156131d9575f80fd5b8335925060208401356131eb81612e05565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161322860208401826001600160a01b03169052565b50604083015161324360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516132b5828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613333575f80fd5b823567ffffffffffffffff811115613349575f80fd5b61335585828601612ef3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156133985783518352928401929184019160010161337c565b50909695505050505050565b81516001600160801b03168152610180810160208301516133d060208401826001600160801b03169052565b5060408301516133eb60408401826001600160801b03169052565b50606083015161340660608401826001600160801b03169052565b50608083015161341b6080840182600f0b9052565b5060a083015161343660a08401826001600160801b03169052565b5060c083015161345160c08401826001600160801b03169052565b5060e083015161346c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261331a565b5f805f805f60a086880312156134c9575f80fd5b8535945060208601356134db81612e05565b935060408601356134eb81612e05565b925060608601359150608086013561350281612e05565b809150509295509295909350565b5f8060408385031215613521575f80fd5b823561352c81612e05565b9150602083013561307181612e05565b5f60208083525f84545f60018260011c9150600183168061355e57607f831692505b60208310810361357c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561359b57600181146135b1576135da565b60ff198616825284151560051b820196506135da565b5f8b8152602090205f5b868110156135d4578154848201529085019089016135bb565b83019750505b50949998505050505050505050565b5f602082840312156135f9575f80fd5b815161073681612e5c565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561080757610807613618565b8181038181111561080757610807613618565b5f8060408385031215613663575f80fd5b82519150602083015161307181612e34565b805161059e81612e05565b5f60208284031215613690575f80fd5b815161073681612e05565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136ee816011850160208701612da6565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613727816012850160208701612da6565b9190910160120192915050565b5f60208284031215613744575f80fd5b5051919050565b5f602080838503121561375c575f80fd5b825167ffffffffffffffff80821115613773575f80fd5b818501915085601f830112613786575f80fd5b8151818111156137985761379861369b565b8060051b604051601f19603f830116810181811085821117156137bd576137bd61369b565b6040529182528482019250838101850191888311156137da575f80fd5b938501935b828510156137ff576137f085613675565b845293850193928501926137df565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613835816010850160208701612da6565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136ee816011850160208701612da6565b8181035f8312801583831316838312821617156112a1576112a1613618565b634e487b7160e01b5f52601260045260245ffd5b5f826138ae576138ae61388c565b500690565b5f600182016138c4576138c4613618565b5060010190565b5f826138d9576138d961388c565b500490565b5f808335601e198436030181126138f3575f80fd5b83018035915067ffffffffffffffff82111561390d575f80fd5b602001915036819003821315612f34575f80fd5b808202811582820484141761080757610807613618565b5f60208284031215613948575f80fd5b815161073681612e34565b5f8251613964818460208701612da6565b919091019291505056fea2646970667358221220ce9ac7544d36e0999ee669e8cdf009ca51b5cda91c38af3927a953c1543e462c64736f6c63430008160033a264697066735822122026094cd33c4fcb1821d6d80135d07655c1c0c62f3592dacbe23c63262fb6b34864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget1.ts b/packages/hyperdrive-artifacts/src/CornTarget1.ts new file mode 100644 index 000000000..1e8b79945 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget1.ts @@ -0,0 +1,995 @@ +export const CornTarget1 = { + name: 'CornTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f9138038062003f918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613afb620004965f395f6125ca01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bf501525f818161139301528181611791015281816117f4015281816127de0152818161281a01528181612a120152612bcf01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ba901525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612c1b01525f81816107e701528181610ec4015281816116ef01528181612125015261319601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f818161259901526126450152613afb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461357f565b610070565b60405190815260200160405180910390f35b61004b61006b36600461357f565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135ed565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613600565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613633565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161365b565b6102bd8a6102b78d8f6135ed565b90611584565b8d6102cb60408c018c613676565b6040516102df9897969594939291906136e1565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135ed565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613728565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613633565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161365b565b8a61050260408b018b613676565b604051610515979695949392919061374f565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613633565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135ed565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61378f565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135ed565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61378f565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135ed565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135ed565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135ed565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361378f565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613600565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137e2565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061378f565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461378f565b610ea090896135ed565b9750610eac82846135ed565b610eb6908d6135ed565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061378f565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61378f565b9850670de0b6b3a7640000610ff0610f8b87876135ed565b600254610fa9908f90600160801b90046001600160801b031661378f565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661378f565b6110d191906137fd565b85670de0b6b3a76400006110e5878a61378f565b6110ef91906137fd565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137fd565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc9082613814565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613600565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135ed565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161365b565b15611558576115518561153f6020860186613633565b61154c6040870187613676565b612582565b915061157b565b61157b856115696020860186613633565b6115766040870187613676565b61266c565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612685565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461378f565b6116b8908961378f565b97506116c481846135ed565b6116ce908e61378f565b9c506116da8a8e6135ed565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061378f565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361378f565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613600565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126d8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137fd565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261378f565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613861565b5f6119ea828461388c565b61157d908461378f565b6002546004545f916105a6916001600160801b0390911690600f0b6126d8565b5f61007d82611a2485888861252d565b906126fd565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361378f565b9050611ac16110fa828661276c565b60068054601090611ae3908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361278090919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135ed565b90915550611b6b9050818361378f565b9150611b7682611a2a565b600280545f90611b909084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612794565b600480545f90611bd1908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612780565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261378f565b611c85908461378f565b9250611ca3565b611c96828261378f565b611ca090846135ed565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612780565b9050611cf588848661252d565b611cff90826135ed565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061378f565b9050805f03611da057600191505061131b565b5f611daa856127bd565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612858565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b92919061391d565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613992565b91509150611e77611e6982611321565b611e72906139b4565b6129cc565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b60565b6040518263ffffffff1660e01b8152600401611f7591906139ce565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139dd565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135ed565b612037919061378f565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561209757612097613a0b565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461378f565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612780565b5f808061216961216188670de0b6b3a764000061378f565b899087612c9a565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061378f565b8989612cbd565b92506121a883826135ed565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061378f565b8390612519565b61157d90670de0b6b3a764000061378f565b5f8061221d856121f56119f4565b6121ff91906135ed565b600254610fa9908790600160801b90046001600160801b031661378f565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061378f565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c9a565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061378f565b8a9088612c9a565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135ed565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b6123859190613600565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c29190613600565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135ed565b6124028587611584565b61240c888a611584565b611ce291906135ed565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761378f565b61245c8587612519565b612466888a611584565b611ce2919061378f565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cdf565b6124cd845f612cdf565b6124d79190613600565b90505f8113156124f2576124eb81866135ed565b9450612510565b5f81121561251057612503816139b4565b61250d908661378f565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c9a565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016119a0565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612612573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126369190613861565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cf4565b60405163350b944160e11b815260040160405180910390fd5b5f80806126a561269d88670de0b6b3a764000061378f565b89908761252d565b905086156121ab576126b78888611584565b915061219c8a8a846126d18a670de0b6b3a764000061378f565b8989612d4b565b5f806126e48484612d5b565b9092509050806126f6576126f66113ec565b5092915050565b5f815f036127145750670de0b6b3a764000061131b565b825f0361272257505f61131b565b5f61272c83611321565b90505f61274061273b86611321565b612d96565b9050818102612757670de0b6b3a764000082613a1f565b905061276281612fbb565b9695505050505050565b5f61157d83670de0b6b3a764000084612c9a565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127d7906001600160801b03168461276c565b90506128037f0000000000000000000000000000000000000000000000000000000000000000826135ed565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061284e9083906001600160801b031661378f565b61157d919061378f565b6128606134e0565b5f8061286b84612b60565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128a591906139ce565b6040805180830381865af41580156128bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e391906139dd565b93509050826128f757505f91506129c49050565b5f61291d61291884610160015185610140015161158490919063ffffffff16565b611321565b61293d61291885610120015186610100015161251990919063ffffffff16565b6129479190613600565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613a4b565b935093509350935080612ac157505f98975050505050505050565b868414612af257612ad184611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b2357612b028361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5157612b3382611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b6861352a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c60911661314d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c929290041661314d565b905292915050565b5f825f190484118302158202612cae575f80fd5b50910281810615159190040190565b5f80612ccd8888888888886131c1565b909250905080611d0f57611d0f6113ec565b5f818313612ced578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d4690849061329d565b505050565b5f80612ccd888888888888613303565b5f805f83612d6886611321565b612d729190613600565b90505f811215612d88575f809250925050612d8f565b9150600190505b9250929050565b5f808213612db75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e3a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fd457505f919050565b680755bf798b4a1bf1e58212612ffd576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061276274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131606105ab565b61316a91906137fd565b9050808311613179575f613183565b613183818461378f565b915061157d6131ba670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137fd565b8390612780565b5f805f6131d189898888886133bf565b9050868810156131e7575f809250925050613292565b96869003966131f688876126fd565b97508781101561320c575f809250925050613292565b87810361321a818688612c9a565b9050670de0b6b3a7640000811061324e57613247613240670de0b6b3a76400008961276c565b82906126fd565b9050613266565b613263613240670de0b6b3a764000089612780565b90505b613270818661276c565b905089811015613287575f80935093505050613292565b899003925060019150505b965096945050505050565b5f6132b16001600160a01b038416836133ed565b905080515f141580156132d55750808060200190518101906132d39190613a7e565b155b15612d4657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61331389898888886133bf565b905061332386611a24898b6135ed565b975087811015613339575f809250925050613292565b878103613347818688612c9a565b9050670de0b6b3a764000081106133745761336d613240670de0b6b3a76400008961276c565b905061338c565b613389613240670de0b6b3a764000089612780565b90505b613396818661276c565b9050808a10156133ad575f80935093505050613292565b90980398600198509650505050505050565b5f6133ca85856126fd565b6133e36133db86611a24868b612519565b859085612c9a565b61247091906135ed565b606061157d83835f845f80856001600160a01b031684866040516134119190613a99565b5f6040518083038185875af1925050503d805f811461344b576040519150601f19603f3d011682016040523d82523d5f602084013e613450565b606091505b50915091506127628683836060826134705761346b826134b7565b61157d565b815115801561348757506001600160a01b0384163b155b156134b057604051639996b31560e01b81526001600160a01b03851660048201526024016132fa565b508061157d565b8051156134c75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134f461352a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613592575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135bd575f80fd5b8501606081880312156135ce575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135d9565b8181035f8312801583831316838312821617156126f6576126f66135d9565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613643575f80fd5b813561157d8161361f565b8015158114610591575f80fd5b5f6020828403121561366b575f80fd5b813561157d8161364e565b5f808335601e1984360301811261368b575f80fd5b83018035915067ffffffffffffffff8211156136a5575f80fd5b602001915036819003821315612d8f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61371a60e0830184866136b9565b9a9950505050505050505050565b8082018281125f831280158216821582161715613747576137476135d9565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61378260c0830184866136b9565b9998505050505050505050565b8181038181111561131b5761131b6135d9565b6001600160701b038181168382160190808211156126f6576126f66135d9565b6001600160801b038181168382160190808211156126f6576126f66135d9565b5f602082840312156137f2575f80fd5b815161157d8161361f565b808202811582820484141761131b5761131b6135d9565b6001600160801b038281168282160390808211156126f6576126f66135d9565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135d9565b5f60208284031215613871575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389a5761389a613878565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393082855161389f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139a3575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139c8576139c86135d9565b505f0390565b610180810161131b828461389f565b5f80604083850312156139ee575f80fd5b825191506020830151613a008161364e565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a2d57613a2d613878565b600160ff1b82145f1984141615613a4657613a466135d9565b500590565b5f805f8060808587031215613a5e575f80fd5b84519350602085015192506040850151915060608501516135ce8161364e565b5f60208284031215613a8e575f80fd5b815161157d8161364e565b5f82515f5b81811015613ab85760208186018101518583015201613a9e565b505f92019182525091905056fea2646970667358221220063b5ed8f2d0b2a6aba85c3d6617f016061a69e6176da261a73426e9d3b2c60764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/CornTarget1Deployer.ts new file mode 100644 index 000000000..4aaec4efd --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget1Deployer.ts @@ -0,0 +1,158 @@ +export const CornTarget1Deployer = { + name: 'CornTarget1Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161451338038061451383398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144906100835f395f608b01526144905ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b613f91806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162003f9138038062003f918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613afb620004965f395f6125ca01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bf501525f818161139301528181611791015281816117f4015281816127de0152818161281a01528181612a120152612bcf01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ba901525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612c1b01525f81816107e701528181610ec4015281816116ef01528181612125015261319601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f818161259901526126450152613afb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461357f565b610070565b60405190815260200160405180910390f35b61004b61006b36600461357f565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135ed565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613600565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b6020830183613633565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a0161365b565b6102bd8a6102b78d8f6135ed565b90611584565b8d6102cb60408c018c613676565b6040516102df9897969594939291906136e1565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135ed565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613728565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b66020830183613633565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a0161365b565b8a61050260408b018b613676565b604051610515979695949392919061374f565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a6020830183613633565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135ed565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61378f565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135ed565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61378f565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135ed565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135ed565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135ed565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361378f565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613600565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137e2565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061378f565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461378f565b610ea090896135ed565b9750610eac82846135ed565b610eb6908d6135ed565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061378f565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61378f565b9850670de0b6b3a7640000610ff0610f8b87876135ed565b600254610fa9908f90600160801b90046001600160801b031661378f565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661378f565b6110d191906137fd565b85670de0b6b3a76400006110e5878a61378f565b6110ef91906137fd565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137fd565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc9082613814565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613600565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135ed565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b849150611529604084016020850161365b565b15611558576115518561153f6020860186613633565b61154c6040870187613676565b612582565b915061157b565b61157b856115696020860186613633565b6115766040870187613676565b61266c565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612685565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461378f565b6116b8908961378f565b97506116c481846135ed565b6116ce908e61378f565b9c506116da8a8e6135ed565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061378f565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361378f565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613600565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126d8565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137fd565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261378f565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613861565b5f6119ea828461388c565b61157d908461378f565b6002546004545f916105a6916001600160801b0390911690600f0b6126d8565b5f61007d82611a2485888861252d565b906126fd565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361378f565b9050611ac16110fa828661276c565b60068054601090611ae3908490600160801b90046001600160801b0316613814565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361278090919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135ed565b90915550611b6b9050818361378f565b9150611b7682611a2a565b600280545f90611b909084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612794565b600480545f90611bd1908490600f0b613834565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c108785612780565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261378f565b611c85908461378f565b9250611ca3565b611c96828261378f565b611ca090846135ed565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b90612780565b9050611cf588848661252d565b611cff90826135ed565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061378f565b9050805f03611da057600191505061131b565b5f611daa856127bd565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612858565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b92919061391d565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613992565b91509150611e77611e6982611321565b611e72906139b4565b6129cc565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b60565b6040518263ffffffff1660e01b8152600401611f7591906139ce565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139dd565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135ed565b612037919061378f565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561209757612097613a0b565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461378f565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612780565b5f808061216961216188670de0b6b3a764000061378f565b899087612c9a565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061378f565b8989612cbd565b92506121a883826135ed565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061378f565b8390612519565b61157d90670de0b6b3a764000061378f565b5f8061221d856121f56119f4565b6121ff91906135ed565b600254610fa9908790600160801b90046001600160801b031661378f565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061378f565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c9a565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061378f565b8a9088612c9a565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135ed565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b6123859190613600565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c29190613600565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135ed565b6124028587611584565b61240c888a611584565b611ce291906135ed565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761378f565b61245c8587612519565b612466888a611584565b611ce2919061378f565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cdf565b6124cd845f612cdf565b6124d79190613600565b90505f8113156124f2576124eb81866135ed565b9450612510565b5f81121561251057612503816139b4565b61250d908661378f565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c9a565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016119a0565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af1158015612612573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126369190613861565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cf4565b60405163350b944160e11b815260040160405180910390fd5b5f80806126a561269d88670de0b6b3a764000061378f565b89908761252d565b905086156121ab576126b78888611584565b915061219c8a8a846126d18a670de0b6b3a764000061378f565b8989612d4b565b5f806126e48484612d5b565b9092509050806126f6576126f66113ec565b5092915050565b5f815f036127145750670de0b6b3a764000061131b565b825f0361272257505f61131b565b5f61272c83611321565b90505f61274061273b86611321565b612d96565b9050818102612757670de0b6b3a764000082613a1f565b905061276281612fbb565b9695505050505050565b5f61157d83670de0b6b3a764000084612c9a565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127d7906001600160801b03168461276c565b90506128037f0000000000000000000000000000000000000000000000000000000000000000826135ed565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061284e9083906001600160801b031661378f565b61157d919061378f565b6128606134e0565b5f8061286b84612b60565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128a591906139ce565b6040805180830381865af41580156128bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e391906139dd565b93509050826128f757505f91506129c49050565b5f61291d61291884610160015185610140015161158490919063ffffffff16565b611321565b61293d61291885610120015186610100015161251990919063ffffffff16565b6129479190613600565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613a4b565b935093509350935080612ac157505f98975050505050505050565b868414612af257612ad184611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b2357612b028361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b5157612b3382611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b6861352a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c60911661314d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c929290041661314d565b905292915050565b5f825f190484118302158202612cae575f80fd5b50910281810615159190040190565b5f80612ccd8888888888886131c1565b909250905080611d0f57611d0f6113ec565b5f818313612ced578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d4690849061329d565b505050565b5f80612ccd888888888888613303565b5f805f83612d6886611321565b612d729190613600565b90505f811215612d88575f809250925050612d8f565b9150600190505b9250929050565b5f808213612db75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e3a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fd457505f919050565b680755bf798b4a1bf1e58212612ffd576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061276274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131606105ab565b61316a91906137fd565b9050808311613179575f613183565b613183818461378f565b915061157d6131ba670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137fd565b8390612780565b5f805f6131d189898888886133bf565b9050868810156131e7575f809250925050613292565b96869003966131f688876126fd565b97508781101561320c575f809250925050613292565b87810361321a818688612c9a565b9050670de0b6b3a7640000811061324e57613247613240670de0b6b3a76400008961276c565b82906126fd565b9050613266565b613263613240670de0b6b3a764000089612780565b90505b613270818661276c565b905089811015613287575f80935093505050613292565b899003925060019150505b965096945050505050565b5f6132b16001600160a01b038416836133ed565b905080515f141580156132d55750808060200190518101906132d39190613a7e565b155b15612d4657604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61331389898888886133bf565b905061332386611a24898b6135ed565b975087811015613339575f809250925050613292565b878103613347818688612c9a565b9050670de0b6b3a764000081106133745761336d613240670de0b6b3a76400008961276c565b905061338c565b613389613240670de0b6b3a764000089612780565b90505b613396818661276c565b9050808a10156133ad575f80935093505050613292565b90980398600198509650505050505050565b5f6133ca85856126fd565b6133e36133db86611a24868b612519565b859085612c9a565b61247091906135ed565b606061157d83835f845f80856001600160a01b031684866040516134119190613a99565b5f6040518083038185875af1925050503d805f811461344b576040519150601f19603f3d011682016040523d82523d5f602084013e613450565b606091505b50915091506127628683836060826134705761346b826134b7565b61157d565b815115801561348757506001600160a01b0384163b155b156134b057604051639996b31560e01b81526001600160a01b03851660048201526024016132fa565b508061157d565b8051156134c75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134f461352a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613592575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135bd575f80fd5b8501606081880312156135ce575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135d9565b8181035f8312801583831316838312821617156126f6576126f66135d9565b6001600160a01b0381168114610591575f80fd5b5f60208284031215613643575f80fd5b813561157d8161361f565b8015158114610591575f80fd5b5f6020828403121561366b575f80fd5b813561157d8161364e565b5f808335601e1984360301811261368b575f80fd5b83018035915067ffffffffffffffff8211156136a5575f80fd5b602001915036819003821315612d8f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61371a60e0830184866136b9565b9a9950505050505050505050565b8082018281125f831280158216821582161715613747576137476135d9565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61378260c0830184866136b9565b9998505050505050505050565b8181038181111561131b5761131b6135d9565b6001600160701b038181168382160190808211156126f6576126f66135d9565b6001600160801b038181168382160190808211156126f6576126f66135d9565b5f602082840312156137f2575f80fd5b815161157d8161361f565b808202811582820484141761131b5761131b6135d9565b6001600160801b038281168282160390808211156126f6576126f66135d9565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135d9565b5f60208284031215613871575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389a5761389a613878565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393082855161389f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139a3575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139c8576139c86135d9565b505f0390565b610180810161131b828461389f565b5f80604083850312156139ee575f80fd5b825191506020830151613a008161364e565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a2d57613a2d613878565b600160ff1b82145f1984141615613a4657613a466135d9565b500590565b5f805f8060808587031215613a5e575f80fd5b84519350602085015192506040850151915060608501516135ce8161364e565b5f60208284031215613a8e575f80fd5b815161157d8161364e565b5f82515f5b81811015613ab85760208186018101518583015201613a9e565b505f92019182525091905056fea2646970667358221220063b5ed8f2d0b2a6aba85c3d6617f016061a69e6176da261a73426e9d3b2c60764736f6c63430008160033a264697066735822122079d8ca4682edb830cb9cd8aaa002aa4808e3c379d48160855e696fee40f32bd464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget2.ts b/packages/hyperdrive-artifacts/src/CornTarget2.ts new file mode 100644 index 000000000..ce8064910 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget2.ts @@ -0,0 +1,1020 @@ +export const CornTarget2 = { + name: 'CornTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004257380380620042578339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d9e620004b95f395f81816116f8015261179b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612dea01525f818161152f01528181611d7201528181611dd50152818161255c015281816129da01528181612a1601528181612c070152612dc401525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d9e01525f61199c01525f8181611abd0152818161264d015281816126c50152612f0201525f81816109a301528181610e370152818161141501528181611a91015261269901525f8181610e16015281816126190152612ebe01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e1001525f81816101d301528181610396015281816108e1015261348e01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb0152818161172c015261176a0152613d9e5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613822565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613822565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613890565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613890565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138b7565b8b611217565b8d8a8a898e8561023e60208301836138b7565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138df565b8961028960408a018a6138fa565b60405161029c9796959493929190613965565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613890565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613890565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613890565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a8261048460208401846138b7565b85611217565b858b868461049b60208601866138b7565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138df565b6104ec896104e68a8d6139a5565b90610683565b8d6104fa60408e018e6138fa565b60405161050e9897969594939291906139b8565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138b7565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138df565b156105ea576105e0856105db60408701876138fa565b6116bc565b9093509050610602565b5034610602856105fd60408701876138fa565b611816565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061182f565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061184a565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613890565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161185f565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b92505b506108388361189e565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139a5565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613890565b42906118cb565b84610f13565b6108d5886118df565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139a5565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a7c565b915091508060095f8282546109729190613890565b9091555061098d9050865f8461098781611b49565b88611b72565b6109978183613890565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce9565b91506109db6109d68385610683565b611d32565b600680546002906109fc9084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261189e565b60068054601090610a4b908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a7c565b915091508060095f828254610abe9190613890565b90915550610ad99050835f84610ad381611b49565b8a611d5b565b610ae381836139a5565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261189e565b60068054601090610b62908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b49565b610ba483611b49565b610bae9190613a3f565b5f611f4b565b8e610bbf8482611f8a565b50505b5f610bcc84612179565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a5e565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161185f565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612341565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061236c565b6123d0565b15610e6d57610e6d612411565b610e798785888561242a565b91965094509250670de0b6b3a7640000610efb610e968784613890565b600254610eb4908890600160801b90046001600160801b03166139a5565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b1115610f0957610f09612411565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361189e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139a5565b610fb99190613a79565b85670de0b6b3a7640000610fcd878a6139a5565b610fd79190613a79565b859291906001612472565b61189e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461189e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a79565b6005546001600160801b03169190886001612472565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561189e565b600280545f906110d19084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461189e565b60028054601090611120908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461189e565b6111579082613a1f565b600380546001600160801b03808416600160801b02911617905590505f61117d83612516565b905061119b8161118c87611b49565b6111969084613ab0565b611f4b565b6111a484612556565b6111b0576111b0612411565b5f6111ba856125b5565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613890565b90915550505f838152600b60205260408120805483929061126a908490613890565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61185f565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125c1565b93508761134d85896125e1565b111561135b5761135b612411565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b93506113d58a670de0b6b3a7640000868c6125f5565b509193509091506113e8905081836139a5565b6113f290876139a5565b95508861143f816114398d611407868c6139a5565b8d6114128782612701565b877f0000000000000000000000000000000000000000000000000000000000000000612716565b906125e1565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612736565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613ad7565b5f6114e960408301602084016138df565b156114f5575082611502565b6114ff8484612759565b90505b9392505050565b6002546001600160801b03168381101561152557611525612411565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61276d565b101561156b5761156b612411565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a79565b600554600160801b90046001600160801b03169190896001612472565b600580546001600160801b03928316600160801b0292169190911790556115db8161189e565b600280546001600160801b0319166001600160801b03929092169190911790556116048561189e565b60028054601090611626908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561189e565b60048054601090611675908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a383612516565b905061119b816116b288611b49565b6111969084613a3f565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612792565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613890565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127ff565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af11580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190613ad7565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611843575f80fd5b5091020490565b5f6118558284613b02565b61069790846139a5565b6002546004545f916106cb916001600160801b0390911690600f0b61276d565b5f6118958261188f85888861182f565b9061288e565b95945050505050565b5f6001600160801b038211156118c757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118d95782610697565b50919050565b6006545f908190611901908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a77575f61192a83836139a5565b9050611939610fe28286611450565b6006805460109061195b908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611993858361275990919063ffffffff16565b90505f6119c0827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119d39190613890565b909155506119e3905081836139a5565b91506119ee8261189e565b600280545f90611a089084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a35826128f3565b600480545f90611a49908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a888785612759565b91505f611ab5837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ae1817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b0457611af382826139a5565b611afd90846139a5565b9250611b1b565b611b0e82826139a5565b611b189084613890565b92505b86861015611b3e57611b2e83878961182f565b9250611b3b82878961182f565b91505b509550959350505050565b5f6001600160ff1b038211156118c75760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bba610fe282611b9e670de0b6b3a764000086613a79565b600554600160801b90046001600160801b031691908a5f612472565b600580546001600160801b03928316600160801b029216919091179055611be08661189e565b611bea9082613a90565b600480546001600160801b03928316600160801b029216919091179055611c108461189e565b600280545f90611c2a9084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c578361291c565b600480545f90611c6b908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c9b8561189e565b60028054601090611cbd908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0084611cfa8a888a61182f565b90612759565b9050611d0d88848661182f565b611d179082613890565b905086811115611d275786810391505b509695505050505050565b5f6001600160701b038211156118c75760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d9d57507f0000000000000000000000000000000000000000000000000000000000000000611d9b85836139a5565b105b15611daa57611daa612411565b6004549084900390600f0b611dbf8482613a3f565b905083611dcb86611b49565b138015611e0057507f0000000000000000000000000000000000000000000000000000000000000000611dfe838361276d565b105b15611e0d57611e0d612411565b600354600160801b90046001600160801b0316611e4e610fe282611e39670de0b6b3a764000088613a79565b6005546001600160801b031691908c5f612472565b600580546001600160801b0319166001600160801b0392909216919091179055611e7888826139a5565b9050611e838161189e565b600380546001600160801b03928316600160801b029216919091179055611ea98361189e565b600280546001600160801b0319166001600160801b0392909216919091179055611ed28261291c565b600480546001600160801b0319166001600160801b0392909216919091179055611efb8761189e565b60028054601090611f1d908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6690610fe2906001600160801b03168484612957565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fd4916001600160801b0316906139a5565b9050805f03611fe757600191505061069a565b5f611ff1856129b9565b9050805f036120055760019250505061069a565b5f80612012838589612a54565b9150915080612027575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612062929190613bc0565b6040805180830381865af415801561207c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a09190613c35565b915091506120be6120b082611b49565b6120b990613c57565b612bc1565b9250826120d3575f965050505050505061069a565b6120dc8261189e565b600780545f906120f69084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121238161189e565b60078054601090612145908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a087612d55565b6040518263ffffffff1660e01b81526004016121bc9190613c71565b6040805180830381865af41580156121d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121fa9190613c80565b915091508061220f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227491613890565b61227e91906139a5565b9050805f0361229457505f958695509350505050565b5f8087116122a2575f6122ad565b6122ad84888461182f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122de576122de613cae565b6040519080825280601f01601f191660200182016040528015612308576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612328578692505b828152825f602083013e90999098509650505050505050565b5f61236187878761235a88670de0b6b3a76400006139a5565b8787612e8f565b979650505050505050565b5f6114ff6123ac61238584670de0b6b3a76400006139a5565b611439670de0b6b3a764000061239b818a611450565b6123a591906139a5565b87906125e1565b6123be90670de0b6b3a7640000613890565b611cfa84670de0b6b3a76400006139a5565b5f80612406856123de61185f565b6123e89190613890565b600254610eb4908790600160801b90046001600160801b03166139a5565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61243a898789612eb1565b909250905061244982896139a5565b97505f61245782888a61182f565b9050612463818b6139a5565b9a989950979650505050505050565b5f825f03612481575084611895565b81156124d3576124b26124948487613890565b61249e8587610683565b6124a8888a610683565b611cfa9190613890565b90505f6124bf85886118cb565b9050808210156124cd578091505b50611895565b8285036124e157505f611895565b61250c6124ee84876139a5565b6124f885876125e1565b612502888a610683565b611cfa91906139a5565b9695505050505050565b5f61253b600b5f6125286002866111e3565b81526020019081526020015f2054611b49565b61254c600b5f6125286001876111e3565b61069a9190613a3f565b5f6125817f0000000000000000000000000000000000000000000000000000000000000000836125e1565b60035461259791906001600160801b0316613890565b6002546125ad906001600160801b031684610683565b101592915050565b5f61069a826004611f8a565b5f6123618787876125da88670de0b6b3a76400006139a5565b8787612f30565b5f6106978383670de0b6b3a7640000612736565b5f808080612645878661263e8b6114396126178c670de0b6b3a76400006139a5565b7f0000000000000000000000000000000000000000000000000000000000000000906125e1565b9190612736565b9350612671847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61269161268989670de0b6b3a76400006139a5565b8a9088612736565b90506126bd817f00000000000000000000000000000000000000000000000000000000000000006125e1565b93506126e9847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126f39084613890565b915050945094509450949050565b5f81831161270f5781610697565b5090919050565b5f8061272d846127278a888a612736565b90611450565b9050611d0d8884865b5f825f19048411830215820261274a575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a76400008461182f565b5f806127798484612f40565b90925090508061278b5761278b612411565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127f99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f78565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128508482612fe3565b6127f9576040516001600160a01b0384811660248301525f604483015261288491869182169063095ea7b3906064016127c7565b6127f98482612f78565b5f815f036128a55750670de0b6b3a764000061069a565b825f036128b357505f61069a565b5f6128bd83611b49565b90505f6128d16128cc86611b49565b613080565b90508181026128e8670de0b6b3a764000082613cc2565b905061250c816132a5565b5f60016001607f1b038211156118c75760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612939575060016001607f1b0382135b156118c75760405163a5353be560e01b815260040160405180910390fd5b5f80612963845f613437565b61296d845f613437565b6129779190613a3f565b90505f8113156129925761298b8186613890565b94506129b0565b5f8112156129b0576129a381613c57565b6129ad90866139a5565b94505b50929392505050565b6003545f9081906129d3906001600160801b031684611450565b90506129ff7f000000000000000000000000000000000000000000000000000000000000000082613890565b6002546001600160801b031611156118d9576002547f000000000000000000000000000000000000000000000000000000000000000090612a4a9083906001600160801b03166139a5565b61150291906139a5565b612a5c613783565b5f80612a6784612d55565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612aa19190613c71565b6040805180830381865af4158015612abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612adf9190613c80565b9350905082612af357505f915061180e9050565b5f612b19612b1484610160015185610140015161068390919063ffffffff16565b611b49565b612b39612b148561012001518661010001516125e190919063ffffffff16565b612b439190613a3f565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c9b9190613cee565b935093509350935080612cb657505f98975050505050505050565b868414612ce757612cc68461189e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d1857612cf78361291c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d4657612d288261189e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d5d6137cd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e559116613445565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e8792900416613445565b905292915050565b5f80612e9f8888888888886134b9565b909250905080611d2757611d27612411565b5f80612efa8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ef0818c611450565b61143991906139a5565b9150612f26827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e9f88888888888861357d565b5f805f83612f4d86611b49565b612f579190613a3f565b90505f811215612f6d575f80925092505061067c565b946001945092505050565b5f612f8c6001600160a01b03841683613639565b905080515f14158015612fb0575080806020019051810190612fae9190613d21565b155b15612fde57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612ffe9190613d3c565b5f604051808303815f865af19150503d805f8114613037576040519150601f19603f3d011682016040523d82523d5f602084013e61303c565b606091505b50915091508180156130665750805115806130665750808060200190518101906130669190613d21565b80156118955750505050506001600160a01b03163b151590565b5f8082136130a15760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131249084901c611b49565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132be57505f919050565b680755bf798b4a1bf1e582126132e7576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061250c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b49565b5f81831361270f5781610697565b5f80670de0b6b3a76400006134586106a0565b6134629190613a79565b9050808311613471575f61347b565b61347b81846139a5565b91506115026134b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a79565b8390612759565b5f805f6134c98989888888613646565b90506134e38661188f6134dc8a8d613890565b8790610683565b98506134f0858a8661182f565b985088811015613506575f809250925050613572565b888103670de0b6b3a7640000811061353b5761353461352d670de0b6b3a764000089611450565b829061288e565b9050613553565b61355061352d670de0b6b3a764000089612759565b90505b80891015613568575f80935093505050613572565b8803925060019150505b965096945050505050565b5f805f61358d8989888888613646565b905061359d8661188f898b613890565b9750878110156135b3575f809250925050613572565b8781036135c1818688612736565b9050670de0b6b3a764000081106135ee576135e761352d670de0b6b3a764000089611450565b9050613606565b61360361352d670de0b6b3a764000089612759565b90505b6136108186611450565b9050808a1015613627575f80935093505050613572565b90980398600198509650505050505050565b606061069783835f613674565b5f613651858561288e565b61366a6136628661188f868b6125e1565b859085612736565b61250c9190613890565b6060814710156136995760405163cd78605960e01b8152306004820152602401612fd5565b5f80856001600160a01b031684866040516136b49190613d3c565b5f6040518083038185875af1925050503d805f81146136ee576040519150601f19603f3d011682016040523d82523d5f602084013e6136f3565b606091505b509150915061250c8683836060826137135761370e8261375a565b611502565b815115801561372a57506001600160a01b0384163b155b1561375357604051639996b31560e01b81526001600160a01b0385166004820152602401612fd5565b5080611502565b80511561376a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137976137cd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613835575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613860575f80fd5b850160608188031215613871575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61387c565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138c7575f80fd5b8135611502816138a3565b80151581146105af575f80fd5b5f602082840312156138ef575f80fd5b8135611502816138d2565b5f808335601e1984360301811261390f575f80fd5b83018035915067ffffffffffffffff821115613929575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61399860c08301848661393d565b9998505050505050505050565b8181038181111561069a5761069a61387c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139f160e08301848661393d565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561278b5761278b61387c565b6001600160801b0381811683821601908082111561278b5761278b61387c565b8181035f83128015838313168383128216171561278b5761278b61387c565b5f60208284031215613a6e575f80fd5b8151611502816138a3565b808202811582820484141761069a5761069a61387c565b6001600160801b0382811682821603908082111561278b5761278b61387c565b8082018281125f831280158216821582161715613acf57613acf61387c565b505092915050565b5f60208284031215613ae7575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b1057613b10613aee565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61387c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613bd3828551613b42565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c46575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c6b57613c6b61387c565b505f0390565b610180810161069a8284613b42565b5f8060408385031215613c91575f80fd5b825191506020830151613ca3816138d2565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613cd057613cd0613aee565b600160ff1b82145f1984141615613ce957613ce961387c565b500590565b5f805f8060808587031215613d01575f80fd5b8451935060208501519250604085015191506060850151613871816138d2565b5f60208284031215613d31575f80fd5b8151611502816138d2565b5f82515f5b81811015613d5b5760208186018101518583015201613d41565b505f92019182525091905056fea2646970667358221220c27e73e1ec88ba30adc104222cfe01c1fcc1678226aad26d6d21f8628f993c1c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/CornTarget2Deployer.ts new file mode 100644 index 000000000..08fcc4546 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget2Deployer.ts @@ -0,0 +1,158 @@ +export const CornTarget2Deployer = { + name: 'CornTarget2Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516147d93803806147d983398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516147566100835f395f608b01526147565ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b614257806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b5060405162004257380380620042578339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d9e620004b95f395f81816116f8015261179b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612dea01525f818161152f01528181611d7201528181611dd50152818161255c015281816129da01528181612a1601528181612c070152612dc401525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d9e01525f61199c01525f8181611abd0152818161264d015281816126c50152612f0201525f81816109a301528181610e370152818161141501528181611a91015261269901525f8181610e16015281816126190152612ebe01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e1001525f81816101d301528181610396015281816108e1015261348e01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb0152818161172c015261176a0152613d9e5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613822565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613822565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613890565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613890565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138b7565b8b611217565b8d8a8a898e8561023e60208301836138b7565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138df565b8961028960408a018a6138fa565b60405161029c9796959493929190613965565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613890565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613890565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613890565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a8261048460208401846138b7565b85611217565b858b868461049b60208601866138b7565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138df565b6104ec896104e68a8d6139a5565b90610683565b8d6104fa60408e018e6138fa565b60405161050e9897969594939291906139b8565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138b7565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138df565b156105ea576105e0856105db60408701876138fa565b6116bc565b9093509050610602565b5034610602856105fd60408701876138fa565b611816565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061182f565b90505b92915050565b5f6106cb427f000000000000000000000000000000000000000000000000000000000000000061184a565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613890565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161185f565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b92505b506108388361189e565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139a5565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613890565b42906118cb565b84610f13565b6108d5886118df565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139a5565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a7c565b915091508060095f8282546109729190613890565b9091555061098d9050865f8461098781611b49565b88611b72565b6109978183613890565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce9565b91506109db6109d68385610683565b611d32565b600680546002906109fc9084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a298261189e565b60068054601090610a4b908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a7c565b915091508060095f828254610abe9190613890565b90915550610ad99050835f84610ad381611b49565b8a611d5b565b610ae381836139a5565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139ff565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b408261189e565b60068054601090610b62908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b49565b610ba483611b49565b610bae9190613a3f565b5f611f4b565b8e610bbf8482611f8a565b50505b5f610bcc84612179565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a5e565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122bb565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161185f565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612341565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061236c565b6123d0565b15610e6d57610e6d612411565b610e798785888561242a565b91965094509250670de0b6b3a7640000610efb610e968784613890565b600254610eb4908890600160801b90046001600160801b03166139a5565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b1115610f0957610f09612411565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f668361189e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139a5565b610fb99190613a79565b85670de0b6b3a7640000610fcd878a6139a5565b610fd79190613a79565b859291906001612472565b61189e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c8461189e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a79565b6005546001600160801b03169190886001612472565b600580546001600160801b0319166001600160801b03929092169190911790556110b78561189e565b600280545f906110d19084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe8461189e565b60028054601090611120908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d8461189e565b6111579082613a1f565b600380546001600160801b03808416600160801b02911617905590505f61117d83612516565b905061119b8161118c87611b49565b6111969084613ab0565b611f4b565b6111a484612556565b6111b0576111b0612411565b5f6111ba856125b5565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613890565b90915550505f838152600b60205260408120805483929061126a908490613890565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61185f565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125c1565b93508761134d85896125e1565b111561135b5761135b612411565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061187f565b93506113d58a670de0b6b3a7640000868c6125f5565b509193509091506113e8905081836139a5565b6113f290876139a5565b95508861143f816114398d611407868c6139a5565b8d6114128782612701565b877f0000000000000000000000000000000000000000000000000000000000000000612716565b906125e1565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612736565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613ad7565b5f6114e960408301602084016138df565b156114f5575082611502565b6114ff8484612759565b90505b9392505050565b6002546001600160801b03168381101561152557611525612411565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b61276d565b101561156b5761156b612411565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a79565b600554600160801b90046001600160801b03169190896001612472565b600580546001600160801b03928316600160801b0292169190911790556115db8161189e565b600280546001600160801b0319166001600160801b03929092169190911790556116048561189e565b60028054601090611626908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116538561189e565b60048054601090611675908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a383612516565b905061119b816116b288611b49565b6111969084613a3f565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612792565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613890565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127ff565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af11580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190613ad7565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611843575f80fd5b5091020490565b5f6118558284613b02565b61069790846139a5565b6002546004545f916106cb916001600160801b0390911690600f0b61276d565b5f6118958261188f85888861182f565b9061288e565b95945050505050565b5f6001600160801b038211156118c757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118d95782610697565b50919050565b6006545f908190611901908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a77575f61192a83836139a5565b9050611939610fe28286611450565b6006805460109061195b908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611993858361275990919063ffffffff16565b90505f6119c0827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546119d39190613890565b909155506119e3905081836139a5565b91506119ee8261189e565b600280545f90611a089084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a35826128f3565b600480545f90611a49908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a888785612759565b91505f611ab5837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ae1817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611b0457611af382826139a5565b611afd90846139a5565b9250611b1b565b611b0e82826139a5565b611b189084613890565b92505b86861015611b3e57611b2e83878961182f565b9250611b3b82878961182f565b91505b509550959350505050565b5f6001600160ff1b038211156118c75760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bba610fe282611b9e670de0b6b3a764000086613a79565b600554600160801b90046001600160801b031691908a5f612472565b600580546001600160801b03928316600160801b029216919091179055611be08661189e565b611bea9082613a90565b600480546001600160801b03928316600160801b029216919091179055611c108461189e565b600280545f90611c2a9084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c578361291c565b600480545f90611c6b908490600f0b613b15565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c9b8561189e565b60028054601090611cbd908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0084611cfa8a888a61182f565b90612759565b9050611d0d88848661182f565b611d179082613890565b905086811115611d275786810391505b509695505050505050565b5f6001600160701b038211156118c75760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d9d57507f0000000000000000000000000000000000000000000000000000000000000000611d9b85836139a5565b105b15611daa57611daa612411565b6004549084900390600f0b611dbf8482613a3f565b905083611dcb86611b49565b138015611e0057507f0000000000000000000000000000000000000000000000000000000000000000611dfe838361276d565b105b15611e0d57611e0d612411565b600354600160801b90046001600160801b0316611e4e610fe282611e39670de0b6b3a764000088613a79565b6005546001600160801b031691908c5f612472565b600580546001600160801b0319166001600160801b0392909216919091179055611e7888826139a5565b9050611e838161189e565b600380546001600160801b03928316600160801b029216919091179055611ea98361189e565b600280546001600160801b0319166001600160801b0392909216919091179055611ed28261291c565b600480546001600160801b0319166001600160801b0392909216919091179055611efb8761189e565b60028054601090611f1d908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6690610fe2906001600160801b03168484612957565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fd4916001600160801b0316906139a5565b9050805f03611fe757600191505061069a565b5f611ff1856129b9565b9050805f036120055760019250505061069a565b5f80612012838589612a54565b9150915080612027575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612062929190613bc0565b6040805180830381865af415801561207c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a09190613c35565b915091506120be6120b082611b49565b6120b990613c57565b612bc1565b9250826120d3575f965050505050505061069a565b6120dc8261189e565b600780545f906120f69084906001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121238161189e565b60078054601090612145908490600160801b90046001600160801b0316613a1f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a087612d55565b6040518263ffffffff1660e01b81526004016121bc9190613c71565b6040805180830381865af41580156121d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121fa9190613c80565b915091508061220f57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227491613890565b61227e91906139a5565b9050805f0361229457505f958695509350505050565b5f8087116122a2575f6122ad565b6122ad84888461182f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122de576122de613cae565b6040519080825280601f01601f191660200182016040528015612308576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612328578692505b828152825f602083013e90999098509650505050505050565b5f61236187878761235a88670de0b6b3a76400006139a5565b8787612e8f565b979650505050505050565b5f6114ff6123ac61238584670de0b6b3a76400006139a5565b611439670de0b6b3a764000061239b818a611450565b6123a591906139a5565b87906125e1565b6123be90670de0b6b3a7640000613890565b611cfa84670de0b6b3a76400006139a5565b5f80612406856123de61185f565b6123e89190613890565b600254610eb4908790600160801b90046001600160801b03166139a5565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61243a898789612eb1565b909250905061244982896139a5565b97505f61245782888a61182f565b9050612463818b6139a5565b9a989950979650505050505050565b5f825f03612481575084611895565b81156124d3576124b26124948487613890565b61249e8587610683565b6124a8888a610683565b611cfa9190613890565b90505f6124bf85886118cb565b9050808210156124cd578091505b50611895565b8285036124e157505f611895565b61250c6124ee84876139a5565b6124f885876125e1565b612502888a610683565b611cfa91906139a5565b9695505050505050565b5f61253b600b5f6125286002866111e3565b81526020019081526020015f2054611b49565b61254c600b5f6125286001876111e3565b61069a9190613a3f565b5f6125817f0000000000000000000000000000000000000000000000000000000000000000836125e1565b60035461259791906001600160801b0316613890565b6002546125ad906001600160801b031684610683565b101592915050565b5f61069a826004611f8a565b5f6123618787876125da88670de0b6b3a76400006139a5565b8787612f30565b5f6106978383670de0b6b3a7640000612736565b5f808080612645878661263e8b6114396126178c670de0b6b3a76400006139a5565b7f0000000000000000000000000000000000000000000000000000000000000000906125e1565b9190612736565b9350612671847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61269161268989670de0b6b3a76400006139a5565b8a9088612736565b90506126bd817f00000000000000000000000000000000000000000000000000000000000000006125e1565b93506126e9847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126f39084613890565b915050945094509450949050565b5f81831161270f5781610697565b5090919050565b5f8061272d846127278a888a612736565b90611450565b9050611d0d8884865b5f825f19048411830215820261274a575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a76400008461182f565b5f806127798484612f40565b90925090508061278b5761278b612411565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127f99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f78565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128508482612fe3565b6127f9576040516001600160a01b0384811660248301525f604483015261288491869182169063095ea7b3906064016127c7565b6127f98482612f78565b5f815f036128a55750670de0b6b3a764000061069a565b825f036128b357505f61069a565b5f6128bd83611b49565b90505f6128d16128cc86611b49565b613080565b90508181026128e8670de0b6b3a764000082613cc2565b905061250c816132a5565b5f60016001607f1b038211156118c75760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612939575060016001607f1b0382135b156118c75760405163a5353be560e01b815260040160405180910390fd5b5f80612963845f613437565b61296d845f613437565b6129779190613a3f565b90505f8113156129925761298b8186613890565b94506129b0565b5f8112156129b0576129a381613c57565b6129ad90866139a5565b94505b50929392505050565b6003545f9081906129d3906001600160801b031684611450565b90506129ff7f000000000000000000000000000000000000000000000000000000000000000082613890565b6002546001600160801b031611156118d9576002547f000000000000000000000000000000000000000000000000000000000000000090612a4a9083906001600160801b03166139a5565b61150291906139a5565b612a5c613783565b5f80612a6784612d55565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612aa19190613c71565b6040805180830381865af4158015612abb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612adf9190613c80565b9350905082612af357505f915061180e9050565b5f612b19612b1484610160015185610140015161068390919063ffffffff16565b611b49565b612b39612b148561012001518661010001516125e190919063ffffffff16565b612b439190613a3f565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c9b9190613cee565b935093509350935080612cb657505f98975050505050505050565b868414612ce757612cc68461189e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d1857612cf78361291c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d4657612d288261189e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d5d6137cd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e559116613445565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e8792900416613445565b905292915050565b5f80612e9f8888888888886134b9565b909250905080611d2757611d27612411565b5f80612efa8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ef0818c611450565b61143991906139a5565b9150612f26827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e9f88888888888861357d565b5f805f83612f4d86611b49565b612f579190613a3f565b90505f811215612f6d575f80925092505061067c565b946001945092505050565b5f612f8c6001600160a01b03841683613639565b905080515f14158015612fb0575080806020019051810190612fae9190613d21565b155b15612fde57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612ffe9190613d3c565b5f604051808303815f865af19150503d805f8114613037576040519150601f19603f3d011682016040523d82523d5f602084013e61303c565b606091505b50915091508180156130665750805115806130665750808060200190518101906130669190613d21565b80156118955750505050506001600160a01b03163b151590565b5f8082136130a15760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131249084901c611b49565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132be57505f919050565b680755bf798b4a1bf1e582126132e7576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061250c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b49565b5f81831361270f5781610697565b5f80670de0b6b3a76400006134586106a0565b6134629190613a79565b9050808311613471575f61347b565b61347b81846139a5565b91506115026134b2670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a79565b8390612759565b5f805f6134c98989888888613646565b90506134e38661188f6134dc8a8d613890565b8790610683565b98506134f0858a8661182f565b985088811015613506575f809250925050613572565b888103670de0b6b3a7640000811061353b5761353461352d670de0b6b3a764000089611450565b829061288e565b9050613553565b61355061352d670de0b6b3a764000089612759565b90505b80891015613568575f80935093505050613572565b8803925060019150505b965096945050505050565b5f805f61358d8989888888613646565b905061359d8661188f898b613890565b9750878110156135b3575f809250925050613572565b8781036135c1818688612736565b9050670de0b6b3a764000081106135ee576135e761352d670de0b6b3a764000089611450565b9050613606565b61360361352d670de0b6b3a764000089612759565b90505b6136108186611450565b9050808a1015613627575f80935093505050613572565b90980398600198509650505050505050565b606061069783835f613674565b5f613651858561288e565b61366a6136628661188f868b6125e1565b859085612736565b61250c9190613890565b6060814710156136995760405163cd78605960e01b8152306004820152602401612fd5565b5f80856001600160a01b031684866040516136b49190613d3c565b5f6040518083038185875af1925050503d805f81146136ee576040519150601f19603f3d011682016040523d82523d5f602084013e6136f3565b606091505b509150915061250c8683836060826137135761370e8261375a565b611502565b815115801561372a57506001600160a01b0384163b155b1561375357604051639996b31560e01b81526001600160a01b0385166004820152602401612fd5565b5080611502565b80511561376a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137976137cd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613835575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613860575f80fd5b850160608188031215613871575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a61387c565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138c7575f80fd5b8135611502816138a3565b80151581146105af575f80fd5b5f602082840312156138ef575f80fd5b8135611502816138d2565b5f808335601e1984360301811261390f575f80fd5b83018035915067ffffffffffffffff821115613929575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61399860c08301848661393d565b9998505050505050505050565b8181038181111561069a5761069a61387c565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139f160e08301848661393d565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561278b5761278b61387c565b6001600160801b0381811683821601908082111561278b5761278b61387c565b8181035f83128015838313168383128216171561278b5761278b61387c565b5f60208284031215613a6e575f80fd5b8151611502816138a3565b808202811582820484141761069a5761069a61387c565b6001600160801b0382811682821603908082111561278b5761278b61387c565b8082018281125f831280158216821582161715613acf57613acf61387c565b505092915050565b5f60208284031215613ae7575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b1057613b10613aee565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a61387c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613bd3828551613b42565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c46575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c6b57613c6b61387c565b505f0390565b610180810161069a8284613b42565b5f8060408385031215613c91575f80fd5b825191506020830151613ca3816138d2565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613cd057613cd0613aee565b600160ff1b82145f1984141615613ce957613ce961387c565b500590565b5f805f8060808587031215613d01575f80fd5b8451935060208501519250604085015191506060850151613871816138d2565b5f60208284031215613d31575f80fd5b8151611502816138d2565b5f82515f5b81811015613d5b5760208186018101518583015201613d41565b505f92019182525091905056fea2646970667358221220c27e73e1ec88ba30adc104222cfe01c1fcc1678226aad26d6d21f8628f993c1c64736f6c63430008160033a26469706673582212204e3afa669e4652611b4e6462ec50409a8c9345f2fcc95ec1b4ad67b1aade5af764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget3.ts b/packages/hyperdrive-artifacts/src/CornTarget3.ts new file mode 100644 index 000000000..c60c96c9e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget3.ts @@ -0,0 +1,1040 @@ +export const CornTarget3 = { + name: 'CornTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620041c3380380620041c38339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cf9620004ca5f395f81816119880152611a2b01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d90152818161213c015281816129e501528181612e230152612e5f01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cea01525f8181611e3f01526130ae01525f81816110260152611e1301525f61306401525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297b01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01526119fa0152613cf95ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613752565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137b1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613811565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613824565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613811565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613824565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613824565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613811565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138b5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138c4565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138b5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138c4565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613824565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138ef565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613811565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138ef565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613917565b866107a960408c018c613932565b6040516107bc9796959493929190613975565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139c8565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139df565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138ef565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138ef565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613917565b87610b5e6040890189613932565b604051610b719796959493929190613975565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138ef565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613917565b15610c8f57610c8585610c806040870187613932565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613932565b611aa6565b610caf611abf565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ad1565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613811565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613824565b8a84611ae6565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613811565b4290611c1f565b84611ae6565b610f5888611c2d565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613824565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dca565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfe565b915091508060095f828254610ff59190613811565b909155506110109050865f8461100a81611766565b88611ecb565b61101a8183613811565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612042565b915061105e6110598385612085565b612099565b6006805460029061107f9084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dca565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfe565b915091508060095f8282546111419190613811565b9091555061115c9050835f8461115681611766565b8a6120c2565b6111668183613824565b91506111756110598387612085565b600680546002906111969084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a4a565b5f6122b2565b8e61124284826122f1565b50505b5f61124f846124e0565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a69565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612622565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dca565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dca565b6113f79190613a4a565b92915050565b5f805f8061140b8a8a6126aa565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8b7f00000000000000000000000000000000000000000000000000000000000000006126e2565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8d7f000000000000000000000000000000000000000000000000000000000000000061279b565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612855565b509093505f9050611568848f613811565b90505f6115888b8b61157987611766565b611583908e613a84565b61289d565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128ff565b611766565b6115c683611766565b6115d36115b88685612085565b6115dd9190613a4a565b6115e79190613a4a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290f565b61162685670de0b6b3a7640000613824565b906117d4565b6116346136a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612932565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612932565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299f565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613811565b90915550505f838152600b60205260408120805483929061183b908490613811565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122f1565b5f8183136118a7578261008d565b50919050565b5f806118b984846126aa565b9092509050806118cb576118cb612b33565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b4c565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bbb565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613811565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c28565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af1158015611a73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9791906138c4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612cb7565b5f611adc8284613abf565b61008d9084613824565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b115750505050565b5f848152600860205260408120546001600160801b031690819003611b6957611b39836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be6565b611bba611bb5670de0b6b3a7640000611b828886613824565b611b8c91906139c8565b85670de0b6b3a7640000611ba0878a613824565b611baa91906139c8565b859291906001612d2b565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bef846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4f908490600160801b90046001600160801b0316612085565b6006546201000090046001600160701b03169250905081811115611dc5575f611c788383613824565b9050611c87611bb58286612dc5565b60068054601090611ca9908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ce185836117d490919063ffffffff16565b90505f611d0e827f0000000000000000000000000000000000000000000000000000000000000000612085565b90508060095f828254611d219190613811565b90915550611d3190508183613824565b9150611d3c826118d2565b600280545f90611d569084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8382612dd9565b600480545f90611d97908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0a87856117d4565b91505f611e37837f0000000000000000000000000000000000000000000000000000000000000000612085565b9050611e63817f0000000000000000000000000000000000000000000000000000000000000000612085565b91508315611e8657611e758282613824565b611e7f9084613824565b9250611e9d565b611e908282613824565b611e9a9084613811565b92505b86861015611ec057611eb08387896117b9565b9250611ebd8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f13611bb582611ef7670de0b6b3a7640000866139c8565b600554600160801b90046001600160801b031691908a5f612d2b565b600580546001600160801b03928316600160801b029216919091179055611f39866118d2565b611f439082613ad2565b600480546001600160801b03928316600160801b029216919091179055611f69846118d2565b600280545f90611f839084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fb0836118fb565b600480545f90611fc4908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff4856118d2565b60028054601090612016908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612053846116268a888a6117b9565b90506120608884866117b9565b61206a9082613811565b90508681111561207a5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210457507f00000000000000000000000000000000000000000000000000000000000000006121028583613824565b105b1561211157612111612b33565b6004549084900390600f0b6121268482613a4a565b90508361213286611766565b13801561216757507f000000000000000000000000000000000000000000000000000000000000000061216583836118ad565b105b1561217457612174612b33565b600354600160801b90046001600160801b03166121b5611bb5826121a0670de0b6b3a7640000886139c8565b6005546001600160801b031691908c5f612d2b565b600580546001600160801b0319166001600160801b03929092169190911790556121df8882613824565b90506121ea816118d2565b600380546001600160801b03928316600160801b029216919091179055612210836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612239826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612262876118d2565b60028054601090612284908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122cd90611bb5906001600160801b0316848461289d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161233b916001600160801b031690613824565b9050805f0361234e5760019150506113f7565b5f61235885612e02565b9050805f0361236c576001925050506113f7565b5f80612379838589612e9d565b915091508061238e575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c9929190613b1f565b6040805180830381865af41580156123e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124079190613b94565b9150915061242561241782611766565b61242090613bb6565b61299f565b92508261243a575f96505050505050506113f7565b612443826118d2565b600780545f9061245d9084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061248a816118d2565b600780546010906124ac908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125078761162c565b6040518263ffffffff1660e01b815260040161252391906138b5565b6040805180830381865af415801561253d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125619190613bd0565b915091508061257657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125db91613811565b6125e59190613824565b9050805f036125fb57505f958695509350505050565b5f808711612609575f612614565b6126148488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264557612645613bfe565b6040519080825280601f01601f19166020018201604052801561266f576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268f578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b786611766565b6126c19190613a4a565b90505f8112156126d7575f809250925050610d21565b946001945092505050565b5f805f6126f28888888888613005565b90505f61271c670de0b6b3a764000061270b8888612dc5565b6127159190613811565b83906117d4565b9050670de0b6b3a7640000811061275057612749612742670de0b6b3a7640000896117d4565b8290612b4c565b9050612768565b612765612742670de0b6b3a764000089612dc5565b90505b61277281866117d4565b905088811015612789575f809350935050506126a0565b97909703976001975095505050505050565b5f805f6127ab8989888888613033565b90506127c5866119466127be8a8d613811565b8790612085565b98506127d2858a866117b9565b9850888110156127e8575f8092509250506115f6565b888103670de0b6b3a764000081106128165761280f612742670de0b6b3a764000089612dc5565b905061282e565b61282b612742670de0b6b3a7640000896117d4565b90505b80891015612843575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612865898789613057565b90925090506128748289613824565b97505f61288282888a6117b9565b905061288e818b613824565b9a989950979650505050505050565b5f806128a9845f6130dc565b6128b3845f6130dc565b6128bd9190613a4a565b90505f8113156128d8576128d18186613811565b94506128f6565b5f8112156128f6576128e981613bb6565b6128f39086613824565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612923575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612945610d28565b61294f91906139c8565b905080831161295e575f612968565b6129688184613824565b915061008d612715670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139c8565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a799190613c12565b935093509350935080612a9457505f98975050505050505050565b868414612ac557612aa4846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af657612ad5836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2457612b06826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b635750670de0b6b3a76400006113f7565b825f03612b7157505f6113f7565b5f612b7b83611766565b90505f612b8f612b8a86611766565b6130f1565b9050818102612ba6670de0b6b3a764000082613c50565b9050612bb181613316565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c229186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506134a8565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c798482613513565b612c22576040516001600160a01b0384811660248301525f6044830152612cad91869182169063095ea7b390606401612bf0565b612c2284826134a8565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af4158015612d07573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f791906138c4565b5f825f03612d3a575084610075565b8115612d8c57612d6b612d4d8487613811565b612d578587612085565b612d61888a612085565b6116269190613811565b90505f612d788588611c1f565b905080821015612d86578091505b50610075565b828503612d9a57505f610075565b610072612da78487613824565b612db185876128ff565b612dbb888a612085565b6116269190613824565b5f61008d83670de0b6b3a76400008461290f565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612e1c906001600160801b031684612dc5565b9050612e487f000000000000000000000000000000000000000000000000000000000000000082613811565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e939083906001600160801b0316613824565b61008d9190613824565b612ea56136f8565b5f80612eb08461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eea91906138b5565b6040805180830381865af4158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f289190613bd0565b9350905082612f3c57505f9150611a9e9050565b5f612f5d6115b884610160015185610140015161208590919063ffffffff16565b612f7d6115b88561012001518661010001516128ff90919063ffffffff16565b612f879190613a4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130108585612b4c565b61302961302186611946868b612085565b8590856117b9565b6100729190613811565b5f61303e8585612b4c565b61302961304f86611946868b6128ff565b85908561290f565b5f806130a6856130a085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613096818c612dc5565b6130a09190613824565b906128ff565b91506130d2827f0000000000000000000000000000000000000000000000000000000000000000612085565b9050935093915050565b5f8183136130ea578161008d565b5090919050565b5f8082136131125760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131959084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361332f57505f919050565b680755bf798b4a1bf1e58212613358576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bb174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134bc6001600160a01b038416836135b0565b905080515f141580156134e05750808060200190518101906134de9190613c7c565b155b1561350e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161352e9190613c97565b5f604051808303815f865af19150503d805f8114613567576040519150601f19603f3d011682016040523d82523d5f602084013e61356c565b606091505b50915091508180156135965750805115806135965750808060200190518101906135969190613c7c565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135d49190613c97565b5f6040518083038185875af1925050503d805f811461360e576040519150601f19603f3d011682016040523d82523d5f602084013e613613565b606091505b5091509150612bb18683836060826136335761362e8261367a565b61008d565b815115801561364a57506001600160a01b0384163b155b1561367357604051639996b31560e01b81526001600160a01b0385166004820152602401613505565b508061008d565b80511561368a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061370c6136a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613766575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613798575f80fd5b6137a488828901613742565b9150509295509295909350565b5f805f606084860312156137c3575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137e7575f80fd5b6137f386828701613742565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137fd565b818103818111156113f7576113f76137fd565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613837565b5f602082840312156138d4575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138ff575f80fd5b813561008d816138db565b8015158114610c0a575f80fd5b5f60208284031215613927575f80fd5b813561008d8161390a565b5f808335601e19843603018112613947575f80fd5b83018035915067ffffffffffffffff821115613961575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137fd565b5f805f606084860312156139f1575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137fd565b6001600160801b038181168382160190808211156118cb576118cb6137fd565b8181035f8312801583831316838312821617156118cb576118cb6137fd565b5f60208284031215613a79575f80fd5b815161008d816138db565b8082018281125f831280158216821582161715613aa357613aa36137fd565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613acd57613acd613aab565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137fd565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137fd565b5f6102a082019050613b32828551613837565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137fd565b505f0390565b5f8060408385031215613be1575f80fd5b825191506020830151613bf38161390a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c25575f80fd5b8451935060208501519250604085015191506060850151613c458161390a565b939692955090935050565b5f82613c5e57613c5e613aab565b600160ff1b82145f1984141615613c7757613c776137fd565b500590565b5f60208284031215613c8c575f80fd5b815161008d8161390a565b5f82515f5b81811015613cb65760208186018101518583015201613c9c565b505f92019182525091905056fea2646970667358221220d5f62440e28478b29193e21dafa44521272eec0a04d75472d5a80d6d5f40122c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/CornTarget3Deployer.ts new file mode 100644 index 000000000..05de78aa9 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget3Deployer.ts @@ -0,0 +1,158 @@ +export const CornTarget3Deployer = { + name: 'CornTarget3Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161474538038061474583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146c26100835f395f608b01526146c25ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b6141c3806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b50604051620041c3380380620041c38339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cf9620004ca5f395f81816119880152611a2b01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d90152818161213c015281816129e501528181612e230152612e5f01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cea01525f8181611e3f01526130ae01525f81816110260152611e1301525f61306401525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297b01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01526119fa0152613cf95ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613752565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137b1565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613811565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613824565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613811565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613824565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613824565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613811565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138b5565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138c4565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138b5565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138c4565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613824565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138ef565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613811565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138ef565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613917565b866107a960408c018c613932565b6040516107bc9796959493929190613975565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139c8565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139df565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138ef565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138ef565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613917565b87610b5e6040890189613932565b604051610b719796959493929190613975565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138ef565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613917565b15610c8f57610c8585610c806040870187613932565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613932565b611aa6565b610caf611abf565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ad1565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613811565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613824565b8a84611ae6565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613811565b4290611c1f565b84611ae6565b610f5888611c2d565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613824565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dca565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfe565b915091508060095f828254610ff59190613811565b909155506110109050865f8461100a81611766565b88611ecb565b61101a8183613811565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612042565b915061105e6110598385612085565b612099565b6006805460029061107f9084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dca565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfe565b915091508060095f8282546111419190613811565b9091555061115c9050835f8461115681611766565b8a6120c2565b6111668183613824565b91506111756110598387612085565b600680546002906111969084906201000090046001600160701b0316613a0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a4a565b5f6122b2565b8e61124284826122f1565b50505b5f61124f846124e0565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a69565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612622565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dca565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dca565b6113f79190613a4a565b92915050565b5f805f8061140b8a8a6126aa565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8b7f00000000000000000000000000000000000000000000000000000000000000006126e2565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613824565b8d7f000000000000000000000000000000000000000000000000000000000000000061279b565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612855565b509093505f9050611568848f613811565b90505f6115888b8b61157987611766565b611583908e613a84565b61289d565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128ff565b611766565b6115c683611766565b6115d36115b88685612085565b6115dd9190613a4a565b6115e79190613a4a565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290f565b61162685670de0b6b3a7640000613824565b906117d4565b6116346136a3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612932565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612932565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299f565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613811565b90915550505f838152600b60205260408120805483929061183b908490613811565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122f1565b5f8183136118a7578261008d565b50919050565b5f806118b984846126aa565b9092509050806118cb576118cb612b33565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b4c565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bbb565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613811565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c28565b6040516311f9fbc960e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790525f917f0000000000000000000000000000000000000000000000000000000000000000909116906347e7ef24906044016020604051808303815f875af1158015611a73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9791906138c4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612cb7565b5f611adc8284613abf565b61008d9084613824565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b115750505050565b5f848152600860205260408120546001600160801b031690819003611b6957611b39836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be6565b611bba611bb5670de0b6b3a7640000611b828886613824565b611b8c91906139c8565b85670de0b6b3a7640000611ba0878a613824565b611baa91906139c8565b859291906001612d2b565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bef846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4f908490600160801b90046001600160801b0316612085565b6006546201000090046001600160701b03169250905081811115611dc5575f611c788383613824565b9050611c87611bb58286612dc5565b60068054601090611ca9908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ce185836117d490919063ffffffff16565b90505f611d0e827f0000000000000000000000000000000000000000000000000000000000000000612085565b90508060095f828254611d219190613811565b90915550611d3190508183613824565b9150611d3c826118d2565b600280545f90611d569084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8382612dd9565b600480545f90611d97908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0a87856117d4565b91505f611e37837f0000000000000000000000000000000000000000000000000000000000000000612085565b9050611e63817f0000000000000000000000000000000000000000000000000000000000000000612085565b91508315611e8657611e758282613824565b611e7f9084613824565b9250611e9d565b611e908282613824565b611e9a9084613811565b92505b86861015611ec057611eb08387896117b9565b9250611ebd8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f13611bb582611ef7670de0b6b3a7640000866139c8565b600554600160801b90046001600160801b031691908a5f612d2b565b600580546001600160801b03928316600160801b029216919091179055611f39866118d2565b611f439082613ad2565b600480546001600160801b03928316600160801b029216919091179055611f69846118d2565b600280545f90611f839084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fb0836118fb565b600480545f90611fc4908490600f0b613af2565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff4856118d2565b60028054601090612016908490600160801b90046001600160801b0316613ad2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612053846116268a888a6117b9565b90506120608884866117b9565b61206a9082613811565b90508681111561207a5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210457507f00000000000000000000000000000000000000000000000000000000000000006121028583613824565b105b1561211157612111612b33565b6004549084900390600f0b6121268482613a4a565b90508361213286611766565b13801561216757507f000000000000000000000000000000000000000000000000000000000000000061216583836118ad565b105b1561217457612174612b33565b600354600160801b90046001600160801b03166121b5611bb5826121a0670de0b6b3a7640000886139c8565b6005546001600160801b031691908c5f612d2b565b600580546001600160801b0319166001600160801b03929092169190911790556121df8882613824565b90506121ea816118d2565b600380546001600160801b03928316600160801b029216919091179055612210836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612239826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612262876118d2565b60028054601090612284908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122cd90611bb5906001600160801b0316848461289d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161233b916001600160801b031690613824565b9050805f0361234e5760019150506113f7565b5f61235885612e02565b9050805f0361236c576001925050506113f7565b5f80612379838589612e9d565b915091508061238e575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c9929190613b1f565b6040805180830381865af41580156123e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124079190613b94565b9150915061242561241782611766565b61242090613bb6565b61299f565b92508261243a575f96505050505050506113f7565b612443826118d2565b600780545f9061245d9084906001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061248a816118d2565b600780546010906124ac908490600160801b90046001600160801b0316613a2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125078761162c565b6040518263ffffffff1660e01b815260040161252391906138b5565b6040805180830381865af415801561253d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125619190613bd0565b915091508061257657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125db91613811565b6125e59190613824565b9050805f036125fb57505f958695509350505050565b5f808711612609575f612614565b6126148488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264557612645613bfe565b6040519080825280601f01601f19166020018201604052801561266f576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268f578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b786611766565b6126c19190613a4a565b90505f8112156126d7575f809250925050610d21565b946001945092505050565b5f805f6126f28888888888613005565b90505f61271c670de0b6b3a764000061270b8888612dc5565b6127159190613811565b83906117d4565b9050670de0b6b3a7640000811061275057612749612742670de0b6b3a7640000896117d4565b8290612b4c565b9050612768565b612765612742670de0b6b3a764000089612dc5565b90505b61277281866117d4565b905088811015612789575f809350935050506126a0565b97909703976001975095505050505050565b5f805f6127ab8989888888613033565b90506127c5866119466127be8a8d613811565b8790612085565b98506127d2858a866117b9565b9850888110156127e8575f8092509250506115f6565b888103670de0b6b3a764000081106128165761280f612742670de0b6b3a764000089612dc5565b905061282e565b61282b612742670de0b6b3a7640000896117d4565b90505b80891015612843575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612865898789613057565b90925090506128748289613824565b97505f61288282888a6117b9565b905061288e818b613824565b9a989950979650505050505050565b5f806128a9845f6130dc565b6128b3845f6130dc565b6128bd9190613a4a565b90505f8113156128d8576128d18186613811565b94506128f6565b5f8112156128f6576128e981613bb6565b6128f39086613824565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612923575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612945610d28565b61294f91906139c8565b905080831161295e575f612968565b6129688184613824565b915061008d612715670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139c8565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a799190613c12565b935093509350935080612a9457505f98975050505050505050565b868414612ac557612aa4846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af657612ad5836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2457612b06826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b635750670de0b6b3a76400006113f7565b825f03612b7157505f6113f7565b5f612b7b83611766565b90505f612b8f612b8a86611766565b6130f1565b9050818102612ba6670de0b6b3a764000082613c50565b9050612bb181613316565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c229186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506134a8565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c798482613513565b612c22576040516001600160a01b0384811660248301525f6044830152612cad91869182169063095ea7b390606401612bf0565b612c2284826134a8565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f90602401602060405180830381865af4158015612d07573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f791906138c4565b5f825f03612d3a575084610075565b8115612d8c57612d6b612d4d8487613811565b612d578587612085565b612d61888a612085565b6116269190613811565b90505f612d788588611c1f565b905080821015612d86578091505b50610075565b828503612d9a57505f610075565b610072612da78487613824565b612db185876128ff565b612dbb888a612085565b6116269190613824565b5f61008d83670de0b6b3a76400008461290f565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612e1c906001600160801b031684612dc5565b9050612e487f000000000000000000000000000000000000000000000000000000000000000082613811565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e939083906001600160801b0316613824565b61008d9190613824565b612ea56136f8565b5f80612eb08461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eea91906138b5565b6040805180830381865af4158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f289190613bd0565b9350905082612f3c57505f9150611a9e9050565b5f612f5d6115b884610160015185610140015161208590919063ffffffff16565b612f7d6115b88561012001518661010001516128ff90919063ffffffff16565b612f879190613a4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6130108585612b4c565b61302961302186611946868b612085565b8590856117b9565b6100729190613811565b5f61303e8585612b4c565b61302961304f86611946868b6128ff565b85908561290f565b5f806130a6856130a085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613096818c612dc5565b6130a09190613824565b906128ff565b91506130d2827f0000000000000000000000000000000000000000000000000000000000000000612085565b9050935093915050565b5f8183136130ea578161008d565b5090919050565b5f8082136131125760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131959084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361332f57505f919050565b680755bf798b4a1bf1e58212613358576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bb174029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134bc6001600160a01b038416836135b0565b905080515f141580156134e05750808060200190518101906134de9190613c7c565b155b1561350e57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161352e9190613c97565b5f604051808303815f865af19150503d805f8114613567576040519150601f19603f3d011682016040523d82523d5f602084013e61356c565b606091505b50915091508180156135965750805115806135965750808060200190518101906135969190613c7c565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516135d49190613c97565b5f6040518083038185875af1925050503d805f811461360e576040519150601f19603f3d011682016040523d82523d5f602084013e613613565b606091505b5091509150612bb18683836060826136335761362e8261367a565b61008d565b815115801561364a57506001600160a01b0384163b155b1561367357604051639996b31560e01b81526001600160a01b0385166004820152602401613505565b508061008d565b80511561368a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061370c6136a3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613766575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613798575f80fd5b6137a488828901613742565b9150509295509295909350565b5f805f606084860312156137c3575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137e7575f80fd5b6137f386828701613742565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137fd565b818103818111156113f7576113f76137fd565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613837565b5f602082840312156138d4575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138ff575f80fd5b813561008d816138db565b8015158114610c0a575f80fd5b5f60208284031215613927575f80fd5b813561008d8161390a565b5f808335601e19843603018112613947575f80fd5b83018035915067ffffffffffffffff821115613961575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137fd565b5f805f606084860312156139f1575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137fd565b6001600160801b038181168382160190808211156118cb576118cb6137fd565b8181035f8312801583831316838312821617156118cb576118cb6137fd565b5f60208284031215613a79575f80fd5b815161008d816138db565b8082018281125f831280158216821582161715613aa357613aa36137fd565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613acd57613acd613aab565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137fd565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137fd565b5f6102a082019050613b32828551613837565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137fd565b505f0390565b5f8060408385031215613be1575f80fd5b825191506020830151613bf38161390a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c25575f80fd5b8451935060208501519250604085015191506060850151613c458161390a565b939692955090935050565b5f82613c5e57613c5e613aab565b600160ff1b82145f1984141615613c7757613c776137fd565b500590565b5f60208284031215613c8c575f80fd5b815161008d8161390a565b5f82515f5b81811015613cb65760208186018101518583015201613c9c565b505f92019182525091905056fea2646970667358221220d5f62440e28478b29193e21dafa44521272eec0a04d75472d5a80d6d5f40122c64736f6c63430008160033a264697066735822122005c9adc0322328f7aa2c123b4086a14ae0140950f1ef926b622332132d89ad7e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget4.ts b/packages/hyperdrive-artifacts/src/CornTarget4.ts new file mode 100644 index 000000000..8aacf6e47 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget4.ts @@ -0,0 +1,1014 @@ +export const CornTarget4 = { + name: 'CornTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620033cc380380620033cc8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612fbd6200040f5f395f6122a401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b01526123cb01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f8181612273015261231f0152612fbd5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a4c565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a9e565b6100b1565b005b610056610092366004612a4c565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612ad2565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612afa565b61016a60408c018c612b15565b60405161017c96959493929190612b80565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612bcd565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612ad2565b88610ea4565b5f6102f56102ec6020870187612ad2565b88848989610a9e565b90945090506103048188612bf4565b92505f61031083610f41565b5090506103206020870187612ad2565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612afa565b8a888e80604001906103709190612b15565b604051610384989796959493929190612c07565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612ad2565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c4e565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bf4565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c4e565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bf4565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c4e565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c4e565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c4e565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bf4565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612ca1565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612cc0565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612cdb565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bf4565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d79565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dee565b91509150610d11610d038261156b565b610d0c90612e10565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bf4565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c4e565b90915550505f838152600b602052604081208054839290610ef7908490612c4e565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612e2a565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e39565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c4e565b6110469190612bf4565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e67565b5f6111038284612bcd565b61110d9084612bf4565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bf4565b6112269190612e7e565b85670de0b6b3a764000061123a878a612bf4565b6112449190612e7e565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bf4565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c4e565b909155506113d190508183612bf4565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bf4565b61151f9084612bf4565b925061153d565b6115308282612bf4565b61153a9084612c4e565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e7e565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612cdb565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c4e565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bf4565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612ca1565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e7e565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bf4565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612ec2565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612afa565b15611ad857611ad185611abf6020860186612ad2565b611acc6040870187612b15565b61225c565b9150611afb565b611afb85611ae96020860186612ad2565b611af66040870187612b15565b612346565b509392505050565b5f61110d8383670de0b6b3a764000061235f565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c4e565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bf4565b61110d9190612bf4565b611bba6129ad565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612e2a565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e39565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612ca1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ed6565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129f7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612382565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612382565b905292915050565b5f80611ff984846123f6565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b612431565b905081810261206c670de0b6b3a764000082612f14565b905061207781612656565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c4e565b6120ad8587611754565b6120b7888a611754565b61171c9190612c4e565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bf4565b6121078587611b03565b612111888a611754565b61171c9190612bf4565b5f61110d83670de0b6b3a76400008461235f565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127e8565b6121d6845f6127e8565b6121e09190612ca1565b90505f8113156121fb576121f48186612c4e565b9450612219565b5f8112156122195761220c81612e10565b6122169086612bf4565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016110b9565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af11580156122ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123109190612e67565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127fd565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612373575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061239561040f565b61239f9190612e7e565b90508083116123ae575f6123b8565b6123b88184612bf4565b915061110d6123ef670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e7e565b839061212f565b5f805f836124038661156b565b61240d9190612ca1565b90505f811215612423575f80925092505061242a565b9150600190505b9250929050565b5f8082136124525760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124d59084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266f57505f919050565b680755bf798b4a1bf1e58212612698576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127f6578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261284f908490612854565b505050565b5f6128686001600160a01b038416836128ba565b905080515f1415801561288c57508080602001905181019061288a9190612f40565b155b1561284f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128de9190612f5b565b5f6040518083038185875af1925050503d805f8114612918576040519150601f19603f3d011682016040523d82523d5f602084013e61291d565b606091505b509150915061207786838360608261293d5761293882612984565b61110d565b815115801561295457506001600160a01b0384163b155b1561297d57604051639996b31560e01b81526001600160a01b03851660048201526024016128b1565b508061110d565b8051156129945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129c16129f7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a5e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a82575f80fd5b840160608187031215612a93575f80fd5b809150509250925092565b5f8060408385031215612aaf575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612ae2575f80fd5b813561110d81612abe565b80151581146103f5575f80fd5b5f60208284031215612b0a575f80fd5b813561110d81612aed565b5f808335601e19843603018112612b2a575f80fd5b83018035915067ffffffffffffffff821115612b44575f80fd5b60200191503681900382131561242a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612bad60a083018486612b58565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bdb57612bdb612bb9565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612be0565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c4060e083018486612b58565b9a9950505050505050505050565b80820180821115610dc757610dc7612be0565b6001600160701b0381811683821601908082111561200b5761200b612be0565b6001600160801b0381811683821601908082111561200b5761200b612be0565b8181035f83128015838313168383128216171561200b5761200b612be0565b5f60208284031215612cd0575f80fd5b815161110d81612abe565b6001600160801b0382811682821603908082111561200b5761200b612be0565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d8c828551612cfb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dff575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e2457612e24612be0565b505f0390565b6101808101610dc78284612cfb565b5f8060408385031215612e4a575f80fd5b825191506020830151612e5c81612aed565b809150509250929050565b5f60208284031215612e77575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612be0565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612be0565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ee9575f80fd5b8451935060208501519250604085015191506060850151612f0981612aed565b939692955090935050565b5f82612f2257612f22612bb9565b600160ff1b82145f1984141615612f3b57612f3b612be0565b500590565b5f60208284031215612f50575f80fd5b815161110d81612aed565b5f82515f5b81811015612f7a5760208186018101518583015201612f60565b505f92019182525091905056fea2646970667358221220cd16a3c2b0d16d74cdd153556c100803f7f3fe7e4343cdc3de8b0d7fe075d36964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/CornTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/CornTarget4Deployer.ts new file mode 100644 index 000000000..4bf6579d2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/CornTarget4Deployer.ts @@ -0,0 +1,158 @@ +export const CornTarget4Deployer = { + name: 'CornTarget4Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_cornSilo", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161394e38038061394e83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516138cb6100835f395f608b01526138cb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461023e565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100b6906100eb565b6100c293929190610395565b8190604051809103905ff59050801580156100df573d5f803e3d5ffd5b5090505b949350505050565b6133cc806104ca83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715610130576101306100f8565b60405290565b80356001600160a01b038116811461014c575f80fd5b919050565b5f60808284031215610161575f80fd5b6040516080810181811067ffffffffffffffff82111715610184576101846100f8565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101c4575f80fd5b813567ffffffffffffffff808211156101df576101df6100f8565b604051601f8301601f19908116603f01168101908282118183101715610207576102076100f8565b8160405283815286602085880101111561021f575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610253575f80fd5b61026080821215610262575f80fd5b61026a61010c565b915061027587610136565b825261028360208801610136565b602083015261029460408801610136565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102fd818901610136565b9083015261018061030f888201610136565b908301526101a0610321888201610136565b908301526101c0610333888201610136565b908301526101e061034689898301610151565b8184015250819550610359818801610136565b9450505061028085013567ffffffffffffffff811115610377575f80fd5b610383878288016101b5565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103c160208401826001600160a01b03169052565b5060408501516103dc60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161044e828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602081015161020085015260408101516102208501526060015161024084015284811661026084015283166102808301526100e356fe6102a060405234801562000011575f80fd5b50604051620033cc380380620033cc8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612fbd6200040f5f395f6122a401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b01526123cb01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f8181612273015261231f0152612fbd5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a4c565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a9e565b6100b1565b005b610056610092366004612a4c565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612ad2565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612afa565b61016a60408c018c612b15565b60405161017c96959493929190612b80565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612bcd565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612ad2565b88610ea4565b5f6102f56102ec6020870187612ad2565b88848989610a9e565b90945090506103048188612bf4565b92505f61031083610f41565b5090506103206020870187612ad2565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612afa565b8a888e80604001906103709190612b15565b604051610384989796959493929190612c07565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612ad2565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c4e565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bf4565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c4e565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bf4565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c4e565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c4e565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c4e565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bf4565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c61565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612ca1565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612cc0565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612cdb565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bf4565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d79565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dee565b91509150610d11610d038261156b565b610d0c90612e10565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bf4565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c4e565b90915550505f838152600b602052604081208054839290610ef7908490612c4e565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612e2a565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e39565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c4e565b6110469190612bf4565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e67565b5f6111038284612bcd565b61110d9084612bf4565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bf4565b6112269190612e7e565b85670de0b6b3a764000061123a878a612bf4565b6112449190612e7e565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bf4565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c4e565b909155506113d190508183612bf4565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bf4565b61151f9084612bf4565b925061153d565b6115308282612bf4565b61153a9084612c4e565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e7e565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612cdb565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e95565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612cdb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c4e565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bf4565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612ca1565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e7e565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bf4565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c81565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612ec2565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612afa565b15611ad857611ad185611abf6020860186612ad2565b611acc6040870187612b15565b61225c565b9150611afb565b611afb85611ae96020860186612ad2565b611af66040870187612b15565b612346565b509392505050565b5f61110d8383670de0b6b3a764000061235f565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c4e565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bf4565b61110d9190612bf4565b611bba6129ad565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612e2a565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e39565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612ca1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ed6565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129f7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb39116612382565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe592900416612382565b905292915050565b5f80611ff984846123f6565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b612431565b905081810261206c670de0b6b3a764000082612f14565b905061207781612656565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c4e565b6120ad8587611754565b6120b7888a611754565b61171c9190612c4e565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bf4565b6121078587611b03565b612111888a611754565b61171c9190612bf4565b5f61110d83670de0b6b3a76400008461235f565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127e8565b6121d6845f6127e8565b6121e09190612ca1565b90505f8113156121fb576121f48186612c4e565b9450612219565b5f8112156122195761220c81612e10565b6122169086612bf4565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$5682da3f97efd8f880c10f145969e15691$__9063c6e6f592906024016110b9565b60405163830cbbbd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063830cbbbd906044016020604051808303815f875af11580156122ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123109190612e67565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127fd565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202612373575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061239561040f565b61239f9190612e7e565b90508083116123ae575f6123b8565b6123b88184612bf4565b915061110d6123ef670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e7e565b839061212f565b5f805f836124038661156b565b61240d9190612ca1565b90505f811215612423575f80925092505061242a565b9150600190505b9250929050565b5f8082136124525760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124d59084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266f57505f919050565b680755bf798b4a1bf1e58212612698576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127f6578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261284f908490612854565b505050565b5f6128686001600160a01b038416836128ba565b905080515f1415801561288c57508080602001905181019061288a9190612f40565b155b1561284f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128de9190612f5b565b5f6040518083038185875af1925050503d805f8114612918576040519150601f19603f3d011682016040523d82523d5f602084013e61291d565b606091505b509150915061207786838360608261293d5761293882612984565b61110d565b815115801561295457506001600160a01b0384163b155b1561297d57604051639996b31560e01b81526001600160a01b03851660048201526024016128b1565b508061110d565b8051156129945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806129c16129f7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a5e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a82575f80fd5b840160608187031215612a93575f80fd5b809150509250925092565b5f8060408385031215612aaf575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612ae2575f80fd5b813561110d81612abe565b80151581146103f5575f80fd5b5f60208284031215612b0a575f80fd5b813561110d81612aed565b5f808335601e19843603018112612b2a575f80fd5b83018035915067ffffffffffffffff821115612b44575f80fd5b60200191503681900382131561242a575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612bad60a083018486612b58565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bdb57612bdb612bb9565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612be0565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c4060e083018486612b58565b9a9950505050505050505050565b80820180821115610dc757610dc7612be0565b6001600160701b0381811683821601908082111561200b5761200b612be0565b6001600160801b0381811683821601908082111561200b5761200b612be0565b8181035f83128015838313168383128216171561200b5761200b612be0565b5f60208284031215612cd0575f80fd5b815161110d81612abe565b6001600160801b0382811682821603908082111561200b5761200b612be0565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d8c828551612cfb565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dff575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e2457612e24612be0565b505f0390565b6101808101610dc78284612cfb565b5f8060408385031215612e4a575f80fd5b825191506020830151612e5c81612aed565b809150509250929050565b5f60208284031215612e77575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612be0565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612be0565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ee9575f80fd5b8451935060208501519250604085015191506060850151612f0981612aed565b939692955090935050565b5f82612f2257612f22612bb9565b600160ff1b82145f1984141615612f3b57612f3b612be0565b500590565b5f60208284031215612f50575f80fd5b815161110d81612aed565b5f82515f5b81811015612f7a5760208186018101518583015201612f60565b505f92019182525091905056fea2646970667358221220cd16a3c2b0d16d74cdd153556c100803f7f3fe7e4343cdc3de8b0d7fe075d36964736f6c63430008160033a2646970667358221220c63eaf43f071c6c06f4cc5ba2362b1a2657b45efa3678c03c72a0095ccbaeaa264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/DataTypes.ts b/packages/hyperdrive-artifacts/src/DataTypes.ts new file mode 100644 index 000000000..1224f9791 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/DataTypes.ts @@ -0,0 +1,6 @@ +export const DataTypes = { + name: 'DataTypes' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212206b4329db27ba9f71274415ec5a71848a8953922ed76f3d9684a07c38f081468364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHBase.ts b/packages/hyperdrive-artifacts/src/EETHBase.ts new file mode 100644 index 000000000..907b7c51b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHBase.ts @@ -0,0 +1,672 @@ +export const EETHBase = { + name: 'EETHBase' as const, + abi: [ + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHConversions.ts b/packages/hyperdrive-artifacts/src/EETHConversions.ts new file mode 100644 index 000000000..7f7d3b76b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHConversions.ts @@ -0,0 +1,6 @@ +export const EETHConversions = { + name: 'EETHConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220d8e30ef645f9bb2fc984f1b0491d8697ffa3c73e1cf168c4f2ceffce6f5fca6364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/EETHHyperdrive.ts new file mode 100644 index 000000000..f3ef05956 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHHyperdrive.ts @@ -0,0 +1,1685 @@ +export const EETHHyperdrive = { + name: 'EETHHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61034060405234801562000011575f80fd5b506040516200178738038062001787833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161107f620007085f395f61038d01525f81816106110152818161067b015261077201525f818161058c015281816107a101526107fe01525f8181610546015261099401525f81816105de015261071001525f81816101d5015281816103d80152818161064c015281816106ad015281816106df01528181610743015281816107d40152818161082e0152818161096301526109c701525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f505061107f5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc146105ae578063eac3e799146105cd578063f3f7070714610600578063f698da2514610633576101c1565b8063cbc1343414610305578063d899e1121461057b578063dbbe807014610568578063ded06231146103fa576101c1565b8063a22cb465116100d0578063a22cb465146104c5578063a6e8a85914610535578063ab033ea9146102ca578063cba2e58d14610568576101c1565b806377d05ff4146104e45780639032c726146104f75780639cd241af14610516576101c1565b806329b23fc111610163578063414f826d1161013d578063414f826d146104795780634c2ac1d9146104985780634ed2d6ac146104ab5780637180c8ca146104c5576101c1565b806329b23fc1146103fa57806330adf81f146104275780633e691db91461045a576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d578063207deba01461037c57806321b57d53146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610a9b565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610aaa565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b17565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610bd6565b610647565b005b3480156102f6575f80fd5b506102e96102e4366004610c0c565b348015610310575f80fd5b5061032461031f366004610c35565b610674565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610cc9565b6106a8565b348015610368575f80fd5b506102e9610377366004610d58565b6106da565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b348015610405575f80fd5b50610419610414366004610d9d565b61070a565b604051908152602001610335565b348015610432575f80fd5b506104197f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610465575f80fd5b50610419610474366004610df3565b61073d565b348015610484575f80fd5b506102e9610493366004610e2d565b61076d565b6104196104a6366004610e4d565b61079b565b3480156104b6575f80fd5b506102e9610377366004610eac565b3480156104d0575f80fd5b506102e96104df366004610ef3565b6107cf565b6104196104f2366004610c35565b6107f8565b348015610502575f80fd5b506102e9610511366004610f26565b61082a565b348015610521575f80fd5b506102e9610530366004610f9e565b61095e565b348015610540575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610576366004610d9d565b61098d565b348015610586575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b9575f80fd5b506102e96105c8366004610fd3565b6109c2565b3480156105d8575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060b575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561063e575f80fd5b506104196109f3565b6106707f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050565b5f8061069f7f0000000000000000000000000000000000000000000000000000000000000000610a81565b50935093915050565b6106d17f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050505050565b6107037f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050505050565b5f6107347f0000000000000000000000000000000000000000000000000000000000000000610a81565b50949350505050565b5f6107677f0000000000000000000000000000000000000000000000000000000000000000610a81565b50919050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050565b5f6107c57f0000000000000000000000000000000000000000000000000000000000000000610a81565b5095945050505050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b5f6108227f0000000000000000000000000000000000000000000000000000000000000000610a81565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661085e6109f3565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610907919061102e565b5f60405180830381855af49150503d805f811461093f576040519150601f19603f3d011682016040523d82523d5f602084013e610944565b606091505b50915091508161095657805160208201fd5b805160208201f35b6109877f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050565b5f806109b87f0000000000000000000000000000000000000000000000000000000000000000610a81565b5094509492505050565b6109eb7f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109079291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ad95780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b0f578181015183820152602001610af7565b50505f910152565b5f60208284031215610b27575f80fd5b815167ffffffffffffffff80821115610b3e575f80fd5b818401915084601f830112610b51575f80fd5b815181811115610b6357610b63610ae1565b604051601f8201601f19908116603f01168101908382118183101715610b8b57610b8b610ae1565b81604052828152876020848701011115610ba3575f80fd5b610bb4836020830160208801610af5565b979650505050505050565b6001600160a01b0381168114610bd3575f80fd5b50565b5f60208284031215610be6575f80fd5b8135610bf181610bbf565b9392505050565b80358015158114610c07575f80fd5b919050565b5f60208284031215610c1c575f80fd5b610bf182610bf8565b5f60608284031215610767575f80fd5b5f805f60608486031215610c47575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c6b575f80fd5b610c7786828701610c25565b9150509250925092565b5f8083601f840112610c91575f80fd5b50813567ffffffffffffffff811115610ca8575f80fd5b6020830191508360208260051b8501011115610cc2575f80fd5b9250929050565b5f805f805f8060808789031215610cde575f80fd5b8635610ce981610bbf565b95506020870135610cf981610bbf565b9450604087013567ffffffffffffffff80821115610d15575f80fd5b610d218a838b01610c81565b90965094506060890135915080821115610d39575f80fd5b50610d4689828a01610c81565b979a9699509497509295939492505050565b5f805f8060808587031215610d6b575f80fd5b843593506020850135610d7d81610bbf565b92506040850135610d8d81610bbf565b9396929550929360600135925050565b5f805f8060808587031215610db0575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ddb575f80fd5b610de787828801610c25565b91505092959194509250565b5f60208284031215610e03575f80fd5b813567ffffffffffffffff811115610e19575f80fd5b610e2584828501610c25565b949350505050565b5f8060408385031215610e3e575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e61575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e93575f80fd5b610e9f88828901610c25565b9150509295509295909350565b5f805f8060808587031215610ebf575f80fd5b843593506020850135610ed181610bbf565b9250604085013591506060850135610ee881610bbf565b939692955090935050565b5f8060408385031215610f04575f80fd5b8235610f0f81610bbf565b9150610f1d60208401610bf8565b90509250929050565b5f805f805f805f60e0888a031215610f3c575f80fd5b8735610f4781610bbf565b96506020880135610f5781610bbf565b9550610f6560408901610bf8565b945060608801359350608088013560ff81168114610f81575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fb0575f80fd5b833592506020840135610fc281610bbf565b929592945050506040919091013590565b5f805f805f60a08688031215610fe7575f80fd5b853594506020860135610ff981610bbf565b9350604086013561100981610bbf565b925060608601359150608086013561102081610bbf565b809150509295509295909350565b5f825161103f818460208701610af5565b919091019291505056fea264697066735822122051ff1a9929326c276b2b5ffa17e6cc26973ec03cf282a9c6d94e027b2a650cdd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "_liquidityPool()": "207deba0", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/EETHHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..222d4b7fd --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHHyperdriveCoreDeployer.ts @@ -0,0 +1,202 @@ +export const EETHHyperdriveCoreDeployer = { + name: 'EETHHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b50604051611ee5380380611ee583398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e5c6100895f395f81816042015260c80152611e5c5ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c8063665a11ca146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003b0565b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b7f0000000000000000000000000000000000000000000000000000000000000000604051620000f5906200013a565b6200010999989796959493929190620005c8565b8190604051809103905ff590508015801562000127573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b61178780620006a083390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000183576200018362000148565b60405290565b5f82601f83011262000199575f80fd5b813567ffffffffffffffff80821115620001b757620001b762000148565b604051601f8301601f19908116603f01168101908282118183101715620001e257620001e262000148565b81604052838152866020858801011115620001fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000231575f80fd5b919050565b5f6080828403121562000247575f80fd5b6040516080810181811067ffffffffffffffff821117156200026d576200026d62000148565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002b0575f80fd5b620002ba6200015c565b9050620002c7826200021a565b8152620002d7602083016200021a565b6020820152620002ea604083016200021a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140808301358183015250610160620003558184016200021a565b90820152610180620003698382016200021a565b908201526101a06200037d8382016200021a565b908201526101c0620003918382016200021a565b908201526101e0620003a68484830162000236565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003cb575f80fd5b8a3567ffffffffffffffff80821115620003e3575f80fd5b620003f18e838f0162000189565b9b50620004028e60208f016200029e565b9a50620004136102808e016200021a565b99506102a08d01359150808211156200042a575f80fd5b50620004398d828e0162000189565b9750506200044b6102c08c016200021a565b95506200045c6102e08c016200021a565b94506200046d6103008c016200021a565b93506200047e6103208c016200021a565b92506200048f6103408c016200021a565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004d060208401826001600160a01b03169052565b506040810151620004ec60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055f828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fe576020828e0101516103808386010152602082019150620005da565b61038091505f82828601015281601f19601f8301168501019250505062000629602083018b620004a8565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012c56fe61034060405234801562000011575f80fd5b506040516200178738038062001787833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161107f620007085f395f61038d01525f81816106110152818161067b015261077201525f818161058c015281816107a101526107fe01525f8181610546015261099401525f81816105de015261071001525f81816101d5015281816103d80152818161064c015281816106ad015281816106df01528181610743015281816107d40152818161082e0152818161096301526109c701525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f505061107f5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc146105ae578063eac3e799146105cd578063f3f7070714610600578063f698da2514610633576101c1565b8063cbc1343414610305578063d899e1121461057b578063dbbe807014610568578063ded06231146103fa576101c1565b8063a22cb465116100d0578063a22cb465146104c5578063a6e8a85914610535578063ab033ea9146102ca578063cba2e58d14610568576101c1565b806377d05ff4146104e45780639032c726146104f75780639cd241af14610516576101c1565b806329b23fc111610163578063414f826d1161013d578063414f826d146104795780634c2ac1d9146104985780634ed2d6ac146104ab5780637180c8ca146104c5576101c1565b806329b23fc1146103fa57806330adf81f146104275780633e691db91461045a576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d578063207deba01461037c57806321b57d53146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610a9b565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610aaa565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b17565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610bd6565b610647565b005b3480156102f6575f80fd5b506102e96102e4366004610c0c565b348015610310575f80fd5b5061032461031f366004610c35565b610674565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610cc9565b6106a8565b348015610368575f80fd5b506102e9610377366004610d58565b6106da565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b348015610405575f80fd5b50610419610414366004610d9d565b61070a565b604051908152602001610335565b348015610432575f80fd5b506104197f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610465575f80fd5b50610419610474366004610df3565b61073d565b348015610484575f80fd5b506102e9610493366004610e2d565b61076d565b6104196104a6366004610e4d565b61079b565b3480156104b6575f80fd5b506102e9610377366004610eac565b3480156104d0575f80fd5b506102e96104df366004610ef3565b6107cf565b6104196104f2366004610c35565b6107f8565b348015610502575f80fd5b506102e9610511366004610f26565b61082a565b348015610521575f80fd5b506102e9610530366004610f9e565b61095e565b348015610540575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610576366004610d9d565b61098d565b348015610586575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b9575f80fd5b506102e96105c8366004610fd3565b6109c2565b3480156105d8575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060b575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561063e575f80fd5b506104196109f3565b6106707f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050565b5f8061069f7f0000000000000000000000000000000000000000000000000000000000000000610a81565b50935093915050565b6106d17f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050505050565b6107037f0000000000000000000000000000000000000000000000000000000000000000610a81565b5050505050565b5f6107347f0000000000000000000000000000000000000000000000000000000000000000610a81565b50949350505050565b5f6107677f0000000000000000000000000000000000000000000000000000000000000000610a81565b50919050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050565b5f6107c57f0000000000000000000000000000000000000000000000000000000000000000610a81565b5095945050505050565b6107967f0000000000000000000000000000000000000000000000000000000000000000610a81565b5f6108227f0000000000000000000000000000000000000000000000000000000000000000610a81565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661085e6109f3565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610907919061102e565b5f60405180830381855af49150503d805f811461093f576040519150601f19603f3d011682016040523d82523d5f602084013e610944565b606091505b50915091508161095657805160208201fd5b805160208201f35b6109877f0000000000000000000000000000000000000000000000000000000000000000610a81565b50505050565b5f806109b87f0000000000000000000000000000000000000000000000000000000000000000610a81565b5094509492505050565b6109eb7f0000000000000000000000000000000000000000000000000000000000000000610a81565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109079291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ad95780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b0f578181015183820152602001610af7565b50505f910152565b5f60208284031215610b27575f80fd5b815167ffffffffffffffff80821115610b3e575f80fd5b818401915084601f830112610b51575f80fd5b815181811115610b6357610b63610ae1565b604051601f8201601f19908116603f01168101908382118183101715610b8b57610b8b610ae1565b81604052828152876020848701011115610ba3575f80fd5b610bb4836020830160208801610af5565b979650505050505050565b6001600160a01b0381168114610bd3575f80fd5b50565b5f60208284031215610be6575f80fd5b8135610bf181610bbf565b9392505050565b80358015158114610c07575f80fd5b919050565b5f60208284031215610c1c575f80fd5b610bf182610bf8565b5f60608284031215610767575f80fd5b5f805f60608486031215610c47575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c6b575f80fd5b610c7786828701610c25565b9150509250925092565b5f8083601f840112610c91575f80fd5b50813567ffffffffffffffff811115610ca8575f80fd5b6020830191508360208260051b8501011115610cc2575f80fd5b9250929050565b5f805f805f8060808789031215610cde575f80fd5b8635610ce981610bbf565b95506020870135610cf981610bbf565b9450604087013567ffffffffffffffff80821115610d15575f80fd5b610d218a838b01610c81565b90965094506060890135915080821115610d39575f80fd5b50610d4689828a01610c81565b979a9699509497509295939492505050565b5f805f8060808587031215610d6b575f80fd5b843593506020850135610d7d81610bbf565b92506040850135610d8d81610bbf565b9396929550929360600135925050565b5f805f8060808587031215610db0575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ddb575f80fd5b610de787828801610c25565b91505092959194509250565b5f60208284031215610e03575f80fd5b813567ffffffffffffffff811115610e19575f80fd5b610e2584828501610c25565b949350505050565b5f8060408385031215610e3e575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e61575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e93575f80fd5b610e9f88828901610c25565b9150509295509295909350565b5f805f8060808587031215610ebf575f80fd5b843593506020850135610ed181610bbf565b9250604085013591506060850135610ee881610bbf565b939692955090935050565b5f8060408385031215610f04575f80fd5b8235610f0f81610bbf565b9150610f1d60208401610bf8565b90509250929050565b5f805f805f805f60e0888a031215610f3c575f80fd5b8735610f4781610bbf565b96506020880135610f5781610bbf565b9550610f6560408901610bf8565b945060608801359350608088013560ff81168114610f81575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fb0575f80fd5b833592506020840135610fc281610bbf565b929592945050506040919091013590565b5f805f805f60a08688031215610fe7575f80fd5b853594506020860135610ff981610bbf565b9350604086013561100981610bbf565b925060608601359150608086013561102081610bbf565b809150509295509295909350565b5f825161103f818460208701610af5565b919091019291505056fea264697066735822122051ff1a9929326c276b2b5ffa17e6cc26973ec03cf282a9c6d94e027b2a650cdd64736f6c63430008160033a2646970667358221220450a86b208f0f343448e05a1f35c024bd3d10154bc52fe59b8e9669b87d4646564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/EETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..1b5e52b56 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,789 @@ +export const EETHHyperdriveDeployerCoordinator = { + name: 'EETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b506040516200281e3803806200281e8339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516123ca620004545f395f81816102e20152818161070c0152818161074101526115d801525f818161032d0152610dec01525f81816103930152610cb901525f81816103f90152610b8601525f81816103600152610a5301525f81816103c6015261084a01525f818161047e015261113b01525f818161044b01528181610585015281816107730152818161087a01528181610a8301528181610bb601528181610ce901528181610e1c01528181610f0f015261116c01526123ca5ff3fe608060405260043610610105575f3560e01c8063a085fa3011610092578063c151061811610062578063c15106181461041b578063c45a01551461043a578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063a085fa301461034f578063aa8cd6c414610382578063ab71905f146103b5578063b6cb1118146103e8575f80fd5b806337404017116100d857806337404017146101875780633e5541f11461028357806354fd4d50146102a2578063665a11ca146102d1578063966ecd1c1461031c575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc7014610147578063251f6c4214610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611a38565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a610155366004611b70565b610579565b60405190815260200161012a565b348015610173575f80fd5b5061015a610182366004611c2e565b610706565b348015610192575f80fd5b506102766101a1366004611c58565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611c6f565b34801561028e575f80fd5b5061015a61029d366004611c2e565b61073b565b3480156102ad575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b3480156102dc575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b348015610327575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b34801561035a575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b34801561038d575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c0575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f3575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b348015610426575f80fd5b50610304610435366004611e43565b610767565b348015610445575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b348015610478575f80fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b506103046104ba366004611eac565b610f03565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602181526020016123746021913981565b5f80546104fa90611f46565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611f46565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611276565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611f7e565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611fcd565b92505f6106898234611fe4565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6107327f0000000000000000000000000000000000000000000000000000000000000000848461142f565b90505b92915050565b5f6107327f00000000000000000000000000000000000000000000000000000000000000008484611519565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b157604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610961578054156107e657604051633be1b34d60e11b815260040160405180910390fd5b6107f086866115cc565b5f6107fb878761170d565b90505f8760405160200161080f9190612003565b6040516020818303038152906040528051906020012090505f878051906020012090505f61083c8a611724565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108b6929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108eb9493929190612236565b6020604051808303815f875af1158015610907573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092b919061227b565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061098d5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161099f9190612003565b60405160208183030381529060405280519060200120146109d35760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109fd57604051631a3272d160e31b815260040160405180910390fd5b610a0787876115cc565b5f610a1188611724565b6002840154608082015290506001869003610b515760058301546001600160a01b031615610a515760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ab893929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aed9493929190612236565b6020604051808303815f875af1158015610b09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2d919061227b565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c845760068301546001600160a01b031615610b845760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610beb93929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c209493929190612236565b6020604051808303815f875af1158015610c3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c60919061227b565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610db75760078301546001600160a01b031615610cb75760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d1e93929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d539493929190612236565b6020604051808303815f875af1158015610d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d93919061227b565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610eea5760088301546001600160a01b031615610dea5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e5193929190612296565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e869493929190612236565b6020604051808303815f875af1158015610ea2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec6919061227b565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f4d57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610ff557604051632c95caeb60e01b815260040160405180910390fd5b80516110145760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611039575060a08101516001600160a01b0316155b8061104f575060c08101516001600160a01b0316155b80611065575060e08101516001600160a01b0316155b8061107c57506101008101516001600160a01b0316155b1561109a5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110ad908790602001612003565b60405160208183030381529060405280519060200120146110e15760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461110c57604051631a3272d160e31b815260040160405180910390fd5b61111685856115cc565b5f61112086611724565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111c2929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111fd9a999897969594939291906122b7565b6020604051808303815f875af1158015611219573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123d919061227b565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f8160200151156112a957823410156112a25760405163044044a560e21b815260040160405180910390fd5b5081611427565b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130a919061227b565b90505f6113178286610706565b6040516323b872dd60e01b81526001600160a01b038881166004830152306024830152604482018390529192505f918416906323b872dd906064016020604051808303815f875af115801561136e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113929190612339565b9050806113b2576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0389811660048301526024820184905284169063095ea7b3906044016020604051808303815f875af11580156113fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114229190612339565b505050505b949350505050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561146d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114919190611fcd565b9050805f036114a3575f915050611512565b61150e856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115069190611fcd565b8490836117f2565b9150505b9392505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611557573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b9190611fcd565b9050805f0361158d575f915050611512565b61150e846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e2573d5f803e3d5ffd5b6115d6828261180d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630de371e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611632573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611656919061227b565b6001600160a01b031682602001516001600160a01b03161461168b5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b03166116b357604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c68000146116de576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611709576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6107328360200151670de0b6b3a7640000610706565b61172c611921565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f825f190484118302158202611806575f80fd5b5091020490565b6103e882608001511015611834576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361185957604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061188357508161010001518260e001516118809190612354565b15155b156118a15760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118cd5750670de0b6b3a7640000826101c0015160200151115b806118e85750670de0b6b3a7640000826101c0015160400151115b806119035750670de0b6b3a7640000826101c0015160600151115b15611709576040516322f72cc360e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016119f060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b81811015611a19576020818501810151868301820152016119fd565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61073260208301846119f5565b6001600160a01b0381168114611a5e575f80fd5b50565b8035611a6c81611a4a565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611aa857611aa8611a71565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611aa857611aa8611a71565b8015158114611a5e575f80fd5b5f67ffffffffffffffff80841115611af957611af9611a71565b604051601f8501601f19908116603f01168101908282118183101715611b2157611b21611a71565b81604052809350858152868686011115611b39575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b61575f80fd5b61073283833560208501611adf565b5f805f805f60a08688031215611b84575f80fd5b853594506020860135611b9681611a4a565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bc0575f80fd5b908701906060828a031215611bd3575f80fd5b611bdb611a85565b8235611be681611a4a565b81526020830135611bf681611ad2565b6020820152604083013582811115611c0c575f80fd5b611c188b828601611b52565b6040830152508093505050509295509295909350565b5f8060408385031215611c3f575f80fd5b8235611c4a81611a4a565b946020939093013593505050565b5f60208284031215611c68575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611cfc575f80fd5b6040516080810181811067ffffffffffffffff82111715611d1f57611d1f611a71565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d61575f80fd5b611d69611aae565b9050611d7482611a61565b8152611d8260208301611a61565b6020820152611d9360408301611a61565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611df0818401611a61565b90820152610160611e02838201611a61565b90820152610180611e14838201611a61565b908201526101a0611e26838201611a61565b908201526101c0611e3984848301611cec565b9082015292915050565b5f805f805f6102c08688031215611e58575f80fd5b85359450611e698760208801611d50565b935061026086013567ffffffffffffffff811115611e85575f80fd5b611e9188828901611b52565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ec1575f80fd5b85359450602086013567ffffffffffffffff80821115611edf575f80fd5b818801915088601f830112611ef2575f80fd5b611f0189833560208501611adf565b9550611f108960408a01611d50565b9450610280880135915080821115611f26575f80fd5b50611f3388828901611b52565b959894975092956102a001359392505050565b600181811c90821680611f5a57607f821691505b602082108103611f7857634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611fc360c08401826119f5565b9695505050505050565b5f60208284031215611fdd575f80fd5b5051919050565b8181038181111561073557634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161202f60208401826001600160a01b03169052565b50604083015161204a60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120b0828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611ce4565b80516001600160a01b03168252602081015161214060208401826001600160a01b03169052565b50604081015161215b60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121cd828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c06122448388612119565b6001600160a01b0386166102608401526102808301819052612268818401866119f5565b915050826102a083015295945050505050565b5f6020828403121561228b575f80fd5b815161151281611a4a565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122ca8184018e6119f5565b90506122d9602084018d612119565b6001600160a01b038b81166102808501528382036102a08501526122fd828c6119f5565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612349575f80fd5b815161151281611ad2565b5f8261236e57634e487b7160e01b5f52601260045260245ffd5b50069056fe45455448487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220eb7fdab6b1a7e0099dfe1ab95a0b970744f788d179e5d614cc9cac5361d50bba64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "liquidityPool()": "665a11ca", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget0.ts b/packages/hyperdrive-artifacts/src/EETHTarget0.ts new file mode 100644 index 000000000..6ecfaf4df --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget0.ts @@ -0,0 +1,1970 @@ +export const EETHTarget0 = { + name: 'EETHTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003ecb38038062003ecb8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a59620004725f395f818161030101528181610b9d0152818161259b01526125e701525f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca01526128ad01525f8181610e3e0152612c3001525f818161064b01528181610cfc01528181611e22015281816125bc015281816126080152612b9f01525f8181610ccd01526112670152613a595ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610521578063d816574314610534578063e44808bc14610549578063e985e9c51461055c578063fba560081461056f575f80fd5b8063bd85b039146104cb578063becee9c3146104de578063c55dae63146104fe578063c69e16ad14610506578063c6e6f5921461050e575f80fd5b80639cd241af116100fa5780639cd241af1461046c578063a22cb4651461047f578063ab033ea914610492578063b0d96580146104a3578063b88fed9f146104b8575f80fd5b806360246c8814610422578063665a11ca146104375780637180c8ca1461043f5780637ecebe0014610451578063950c5d0314610464575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db9146103be57806346fbf68e146103d15780634e41a1fb146103f45780634ed2d6ac1461040757806354fd4d501461041a575f80fd5b806320fc48811461032357806321ff32a914610368578063313ce567146103895780633656eec2146103a35780633a98ef39146103b6575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e9578063207deba0146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612e68565b61059e565b6040516102629190612ecc565b60405180910390f35b61027e610279366004612ef2565b6105d5565b005b61027e61028e366004612f1a565b6105de565b6102556105e7565b610255610626565b6102ab61063d565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004612f35565b61067c565b61027e6102e436600461300b565b610698565b61027e6102f736600461309a565b6106ae565b6102ab7f000000000000000000000000000000000000000000000000000000000000000081565b610336610331366004612e68565b6106c1565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61037b6103763660046130df565b61072a565b604051908152602001610262565b61039161076f565b60405160ff9091168152602001610262565b61037b6103b136600461311e565b610786565b61037b6107be565b61037b6103cc36600461314c565b6107dc565b6103e46103df366004612ef2565b6107e6565b6040519015158152602001610262565b610255610402366004612e68565b610805565b61027e610415366004613183565b610813565b610255610861565b61042a610896565b60405161026291906131ca565b6102ab610b8f565b61027e61044d36600461326b565b5050565b61037b61045f366004612ef2565b610bce565b6102ab610bf9565b61027e61047a366004613297565b610c38565b61027e61048d36600461326b565b610c49565b61027e6104a0366004612ef2565b50565b6104ab610cb4565b60405161026291906132cc565b61037b6104c6366004612e68565b611174565b61037b6104d9366004612e68565b611181565b6104f16104ec3660046133f2565b6111a2565b6040516102629190613431565b6102ab611259565b61037b611298565b61037b61051c366004612e68565b6112b1565b61037b61052f366004612e68565b6112be565b61053c6112f4565b6040516102629190613474565b61027e610557366004613585565b6113ff565b6103e461056a3660046135e0565b611447565b61057761148a565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105d06105ac836114e8565b6040516020016105bc9190612ecc565b60405160208183030381529060405261160e565b919050565b6104a081611632565b6104a081611893565b60606106236040518060400160405280600e81526020016d454554484879706572647269766560901b8152506040516020016105bc9190612ecc565b90565b606061062360016040516020016105bc919061360c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b61068d8989898989898989896119ab565b505050505050505050565b6106a6868686868686611b9d565b505050505050565b6106bb8484848433611c50565b50505050565b604080516060810182525f80825260208201819052918101919091526105d060085f8481526020019081526020015f206040516020016105bc919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261076891016105bc565b9392505050565b60408051601260208201525f9161062391016105bc565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107b891016105bc565b92915050565b5f6106236107ca611e0b565b6040516020016105bc91815260200190565b5f6107b882611e98565b5f6105d06107f3836120ce565b604080519115156020830152016105bc565b60606105d06105ac836121ac565b8361081d816122a8565b6001600160a01b0316336001600160a01b03161461084e57604051632aab8bd360e01b815260040160405180910390fd5b61085a85858585612365565b5050505050565b606061062360405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105bc9190612ecc565b610900604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109096123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161097391906136e1565b61097d91906136f4565b90505f8215610a8c5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109a9856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7c9190613707565b509050610a89818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b5c57610b578486612581565b610b5e565b5f5b81526003546001600160801b0316602091820152604051919250610b88916105bc918491016131ca565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105d091016105bc565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d94565b6106236040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613735565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105bc91906132cc565b5f6105d06107ca83612595565b5f818152600b60209081526040808320548151928301526105d091016105bc565b60605f8267ffffffffffffffff8111156111be576111be613750565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613764565b9050602002013590505f815490508084848151811061122857611228613764565b602090810291909101015250506001016111ec565b50611252816040516020016105bc9190613431565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b5f6106236009546040516020016105bc91815260200190565b5f6105d06107ca836125e1565b5f6105d06107ca6112ef7f0000000000000000000000000000000000000000000000000000000000000000856136e1565b61262d565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261062360026040516020016105bc919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106a68686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107b891016105bc565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610623906060016105bc565b606060f882901c6001600160f81b0383165f6115038261266d565b90505f836003811115611518576115186136b9565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136b9565b0361158a57806040516020016115749190613778565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136b9565b036115b4578060405160200161157491906137b0565b60038360038111156115c8576115c86136b9565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ecc565b60405180910390fd5b61163a61271f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613735565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613735565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a91906137e9565b90506118206001600160a01b0385168483612747565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104a060015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613735565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613764565b905060200201358888868686818110611c3257611c32613764565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d439084906136f4565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c9084906136f4565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136e1565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9391906137e9565b905090565b5f611ea161271f565b611eaa82612799565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613735565b90506001600160a01b038116611f446020850185612ef2565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613735565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f9091559091506120638183876127ce565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f1a565b60408051938452602084019290925215159082015260600160405180910390a25050506105d060015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121529190810190613800565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613764565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261266d565b90505f8360038111156121dc576121dc6136b9565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136b9565b03612238578060405160200161157491906138c0565b600283600381111561224c5761224c6136b9565b03612262578060405160200161157491906138f7565b6003836003811115612276576122766136b9565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612864565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612864565b905292915050565b5f6107688383670de0b6b3a76400006128d8565b5f61076883670de0b6b3a7640000846128d8565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128f3565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846129db565b5f612652600b5f61263f600286612a8e565b81526020019081526020015f2054612ac2565b612663600b5f61263f600187612a8e565b6107b89190613922565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612711576126a6600a86613955565b6126b19060306136e1565b60f81b8260016126c184876136f4565b6126cb91906136f4565b815181106126db576126db613764565b60200101906001600160f81b03191690815f1a905350806126fb81613968565b915061270a9050600a86613980565b9450612695565b918290030190815292915050565b60025f540361274157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c44908490612aef565b5f6127a76020830183612ef2565b6001600160a01b0316036104a05760405163f0dd15fd60e01b815260040160405180910390fd5b5f806127da858561256d565b90506127e5816125e1565b9450845f036127f7575f915050610768565b84915061280a6040840160208501612f1a565b1561283957612832856128206020860186612ef2565b61282d6040870187613993565b612b50565b915061285c565b61285c8561284a6020860186612ef2565b6128576040870187613993565b612b6a565b509392505050565b5f80670de0b6b3a7640000612877612c29565b61288191906139d6565b9050808311612890575f61289a565b61289a81846136f4565b91506107686128d1670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139d6565b8390612581565b5f825f1904841183021582026128ec575f80fd5b5091020490565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612931573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295591906137e9565b9050805f03612967575f915050610768565b6129d2856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ca91906137e9565b8490836128d8565b95945050505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3d91906137e9565b9050805f03612a4f575f915050610768565b6129d2846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b5f6001600160f81b03821115612ab75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aeb5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b036001600160a01b03841683612c54565b905080515f14158015612b27575080806020019051810190612b2591906139ed565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b5f60405163350b944160e11b815260040160405180910390fd5b5f612b7485612595565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0991906139ed565b9050806106a6576040516312171d8360e31b815260040160405180910390fd5b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c61565b606061076883835f612c76565b5f612c6c8284613955565b61076890846136f4565b606081471015612c9b5760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612cb69190613a08565b5f6040518083038185875af1925050503d805f8114612cf0576040519150601f19603f3d011682016040523d82523d5f602084013e612cf5565b606091505b5091509150612d05868383612d0f565b9695505050505050565b606082612d2457612d1f82612d6b565b610768565b8151158015612d3b57506001600160a01b0384163b155b15612d6457604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610768565b805115612d7b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e78575f80fd5b5035919050565b5f5b83811015612e99578181015183820152602001612e81565b50505f910152565b5f8151808452612eb8816020860160208601612e7f565b601f01601f19169290920160200192915050565b602081525f6107686020830184612ea1565b6001600160a01b03811681146104a0575f80fd5b5f60208284031215612f02575f80fd5b813561076881612ede565b80151581146104a0575f80fd5b5f60208284031215612f2a575f80fd5b813561076881612f0d565b5f805f805f805f805f6101208a8c031215612f4e575f80fd5b8935985060208a0135975060408a0135612f6781612ede565b965060608a0135612f7781612ede565b955060808a0135612f8781612f0d565b945060a08a0135935060c08a013560ff81168114612fa3575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd3575f80fd5b50813567ffffffffffffffff811115612fea575f80fd5b6020830191508360208260051b8501011115613004575f80fd5b9250929050565b5f805f805f8060808789031215613020575f80fd5b863561302b81612ede565b9550602087013561303b81612ede565b9450604087013567ffffffffffffffff80821115613057575f80fd5b6130638a838b01612fc3565b9096509450606089013591508082111561307b575f80fd5b5061308889828a01612fc3565b979a9699509497509295939492505050565b5f805f80608085870312156130ad575f80fd5b8435935060208501356130bf81612ede565b925060408501356130cf81612ede565b9396929550929360600135925050565b5f805f606084860312156130f1575f80fd5b83359250602084013561310381612ede565b9150604084013561311381612ede565b809150509250925092565b5f806040838503121561312f575f80fd5b82359150602083013561314181612ede565b809150509250929050565b5f6020828403121561315c575f80fd5b813567ffffffffffffffff811115613172575f80fd5b820160608185031215610768575f80fd5b5f805f8060808587031215613196575f80fd5b8435935060208501356131a881612ede565b92506040850135915060608501356131bf81612ede565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327c575f80fd5b823561328781612ede565b9150602083013561314181612f0d565b5f805f606084860312156132a9575f80fd5b8335925060208401356132bb81612ede565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132f860208401826001600160a01b03169052565b50604083015161331360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613385828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613403575f80fd5b823567ffffffffffffffff811115613419575f80fd5b61342585828601612fc3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134685783518352928401929184019160010161344c565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a060208401826001600160801b03169052565b5060408301516134bb60408401826001600160801b03169052565b5060608301516134d660608401826001600160801b03169052565b5060808301516134eb6080840182600f0b9052565b5060a083015161350660a08401826001600160801b03169052565b5060c083015161352160c08401826001600160801b03169052565b5060e083015161353c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ea565b5f805f805f60a08688031215613599575f80fd5b8535945060208601356135ab81612ede565b935060408601356135bb81612ede565b92506060860135915060808601356135d281612ede565b809150509295509295909350565b5f80604083850312156135f1575f80fd5b82356135fc81612ede565b9150602083013561314181612ede565b5f60208083525f84545f60018260011c9150600183168061362e57607f831692505b60208310810361364c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366b5760018114613681576136aa565b60ff198616825284151560051b820196506136aa565b5f8b8152602090205f5b868110156136a45781548482015290850190890161368b565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107b8576107b86136cd565b818103818111156107b8576107b86136cd565b5f8060408385031215613718575f80fd5b82519150602083015161314181612f0d565b80516105d081612ede565b5f60208284031215613745575f80fd5b815161076881612ede565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137a3816011850160208701612e7f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137dc816012850160208701612e7f565b9190910160120192915050565b5f602082840312156137f9575f80fd5b5051919050565b5f6020808385031215613811575f80fd5b825167ffffffffffffffff80821115613828575f80fd5b818501915085601f83011261383b575f80fd5b81518181111561384d5761384d613750565b8060051b604051601f19603f8301168101818110858211171561387257613872613750565b60405291825284820192508381018501918883111561388f575f80fd5b938501935b828510156138b4576138a58561372a565b84529385019392850192613894565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516138ea816010850160208701612e7f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137a3816011850160208701612e7f565b8181035f831280158383131683831282161715611252576112526136cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261396357613963613941565b500690565b5f60018201613979576139796136cd565b5060010190565b5f8261398e5761398e613941565b500490565b5f808335601e198436030181126139a8575f80fd5b83018035915067ffffffffffffffff8211156139c2575f80fd5b602001915036819003821315613004575f80fd5b80820281158282048414176107b8576107b86136cd565b5f602082840312156139fd575f80fd5b815161076881612f0d565b5f8251613a19818460208701612e7f565b919091019291505056fea2646970667358221220a4da0a409a8b75edd252732149e3bac45fdc18f6f99be5583c4d690df15b996c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "liquidityPool()": "665a11ca", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/EETHTarget0Deployer.ts new file mode 100644 index 000000000..4bd469cc8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget0Deployer.ts @@ -0,0 +1,172 @@ +export const EETHTarget0Deployer = { + name: 'EETHTarget0Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161448038038061448083398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143f76100895f395f8181603d015260b801526143f75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613ecb806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003ecb38038062003ecb8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a59620004725f395f818161030101528181610b9d0152818161259b01526125e701525f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca01526128ad01525f8181610e3e0152612c3001525f818161064b01528181610cfc01528181611e22015281816125bc015281816126080152612b9f01525f8181610ccd01526112670152613a595ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610521578063d816574314610534578063e44808bc14610549578063e985e9c51461055c578063fba560081461056f575f80fd5b8063bd85b039146104cb578063becee9c3146104de578063c55dae63146104fe578063c69e16ad14610506578063c6e6f5921461050e575f80fd5b80639cd241af116100fa5780639cd241af1461046c578063a22cb4651461047f578063ab033ea914610492578063b0d96580146104a3578063b88fed9f146104b8575f80fd5b806360246c8814610422578063665a11ca146104375780637180c8ca1461043f5780637ecebe0014610451578063950c5d0314610464575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db9146103be57806346fbf68e146103d15780634e41a1fb146103f45780634ed2d6ac1461040757806354fd4d501461041a575f80fd5b806320fc48811461032357806321ff32a914610368578063313ce567146103895780633656eec2146103a35780633a98ef39146103b6575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e9578063207deba0146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612e68565b61059e565b6040516102629190612ecc565b60405180910390f35b61027e610279366004612ef2565b6105d5565b005b61027e61028e366004612f1a565b6105de565b6102556105e7565b610255610626565b6102ab61063d565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004612f35565b61067c565b61027e6102e436600461300b565b610698565b61027e6102f736600461309a565b6106ae565b6102ab7f000000000000000000000000000000000000000000000000000000000000000081565b610336610331366004612e68565b6106c1565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61037b6103763660046130df565b61072a565b604051908152602001610262565b61039161076f565b60405160ff9091168152602001610262565b61037b6103b136600461311e565b610786565b61037b6107be565b61037b6103cc36600461314c565b6107dc565b6103e46103df366004612ef2565b6107e6565b6040519015158152602001610262565b610255610402366004612e68565b610805565b61027e610415366004613183565b610813565b610255610861565b61042a610896565b60405161026291906131ca565b6102ab610b8f565b61027e61044d36600461326b565b5050565b61037b61045f366004612ef2565b610bce565b6102ab610bf9565b61027e61047a366004613297565b610c38565b61027e61048d36600461326b565b610c49565b61027e6104a0366004612ef2565b50565b6104ab610cb4565b60405161026291906132cc565b61037b6104c6366004612e68565b611174565b61037b6104d9366004612e68565b611181565b6104f16104ec3660046133f2565b6111a2565b6040516102629190613431565b6102ab611259565b61037b611298565b61037b61051c366004612e68565b6112b1565b61037b61052f366004612e68565b6112be565b61053c6112f4565b6040516102629190613474565b61027e610557366004613585565b6113ff565b6103e461056a3660046135e0565b611447565b61057761148a565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105d06105ac836114e8565b6040516020016105bc9190612ecc565b60405160208183030381529060405261160e565b919050565b6104a081611632565b6104a081611893565b60606106236040518060400160405280600e81526020016d454554484879706572647269766560901b8152506040516020016105bc9190612ecc565b90565b606061062360016040516020016105bc919061360c565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b61068d8989898989898989896119ab565b505050505050505050565b6106a6868686868686611b9d565b505050505050565b6106bb8484848433611c50565b50505050565b604080516060810182525f80825260208201819052918101919091526105d060085f8481526020019081526020015f206040516020016105bc919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261076891016105bc565b9392505050565b60408051601260208201525f9161062391016105bc565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107b891016105bc565b92915050565b5f6106236107ca611e0b565b6040516020016105bc91815260200190565b5f6107b882611e98565b5f6105d06107f3836120ce565b604080519115156020830152016105bc565b60606105d06105ac836121ac565b8361081d816122a8565b6001600160a01b0316336001600160a01b03161461084e57604051632aab8bd360e01b815260040160405180910390fd5b61085a85858585612365565b5050505050565b606061062360405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105bc9190612ecc565b610900604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109096123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161097391906136e1565b61097d91906136f4565b90505f8215610a8c5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109a9856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7c9190613707565b509050610a89818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b5c57610b578486612581565b610b5e565b5f5b81526003546001600160801b0316602091820152604051919250610b88916105bc918491016131ca565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105d091016105bc565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d94565b6106236040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613735565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613735565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105bc91906132cc565b5f6105d06107ca83612595565b5f818152600b60209081526040808320548151928301526105d091016105bc565b60605f8267ffffffffffffffff8111156111be576111be613750565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613764565b9050602002013590505f815490508084848151811061122857611228613764565b602090810291909101015250506001016111ec565b50611252816040516020016105bc9190613431565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161062391016105bc565b5f6106236009546040516020016105bc91815260200190565b5f6105d06107ca836125e1565b5f6105d06107ca6112ef7f0000000000000000000000000000000000000000000000000000000000000000856136e1565b61262d565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261062360026040516020016105bc919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106a68686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107b891016105bc565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610623906060016105bc565b606060f882901c6001600160f81b0383165f6115038261266d565b90505f836003811115611518576115186136b9565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136b9565b0361158a57806040516020016115749190613778565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136b9565b036115b4578060405160200161157491906137b0565b60038360038111156115c8576115c86136b9565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ecc565b60405180910390fd5b61163a61271f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613735565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613735565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a91906137e9565b90506118206001600160a01b0385168483612747565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104a060015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613735565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613764565b905060200201358888868686818110611c3257611c32613764565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d439084906136f4565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c9084906136f4565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136e1565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9391906137e9565b905090565b5f611ea161271f565b611eaa82612799565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613735565b90506001600160a01b038116611f446020850185612ef2565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613735565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f9091559091506120638183876127ce565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f1a565b60408051938452602084019290925215159082015260600160405180910390a25050506105d060015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121529190810190613800565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613764565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261266d565b90505f8360038111156121dc576121dc6136b9565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136b9565b03612238578060405160200161157491906138c0565b600283600381111561224c5761224c6136b9565b03612262578060405160200161157491906138f7565b6003836003811115612276576122766136b9565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612864565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612864565b905292915050565b5f6107688383670de0b6b3a76400006128d8565b5f61076883670de0b6b3a7640000846128d8565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128f3565b5f6107b87f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846129db565b5f612652600b5f61263f600286612a8e565b81526020019081526020015f2054612ac2565b612663600b5f61263f600187612a8e565b6107b89190613922565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612711576126a6600a86613955565b6126b19060306136e1565b60f81b8260016126c184876136f4565b6126cb91906136f4565b815181106126db576126db613764565b60200101906001600160f81b03191690815f1a905350806126fb81613968565b915061270a9050600a86613980565b9450612695565b918290030190815292915050565b60025f540361274157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c44908490612aef565b5f6127a76020830183612ef2565b6001600160a01b0316036104a05760405163f0dd15fd60e01b815260040160405180910390fd5b5f806127da858561256d565b90506127e5816125e1565b9450845f036127f7575f915050610768565b84915061280a6040840160208501612f1a565b1561283957612832856128206020860186612ef2565b61282d6040870187613993565b612b50565b915061285c565b61285c8561284a6020860186612ef2565b6128576040870187613993565b612b6a565b509392505050565b5f80670de0b6b3a7640000612877612c29565b61288191906139d6565b9050808311612890575f61289a565b61289a81846136f4565b91506107686128d1670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139d6565b8390612581565b5f825f1904841183021582026128ec575f80fd5b5091020490565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612931573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295591906137e9565b9050805f03612967575f915050610768565b6129d2856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ca91906137e9565b8490836128d8565b95945050505050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3d91906137e9565b9050805f03612a4f575f915050610768565b6129d2846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a6573d5f803e3d5ffd5b5f6001600160f81b03821115612ab75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aeb5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b036001600160a01b03841683612c54565b905080515f14158015612b27575080806020019051810190612b2591906139ed565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b5f60405163350b944160e11b815260040160405180910390fd5b5f612b7485612595565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0991906139ed565b9050806106a6576040516312171d8360e31b815260040160405180910390fd5b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c61565b606061076883835f612c76565b5f612c6c8284613955565b61076890846136f4565b606081471015612c9b5760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612cb69190613a08565b5f6040518083038185875af1925050503d805f8114612cf0576040519150601f19603f3d011682016040523d82523d5f602084013e612cf5565b606091505b5091509150612d05868383612d0f565b9695505050505050565b606082612d2457612d1f82612d6b565b610768565b8151158015612d3b57506001600160a01b0384163b155b15612d6457604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610768565b805115612d7b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e78575f80fd5b5035919050565b5f5b83811015612e99578181015183820152602001612e81565b50505f910152565b5f8151808452612eb8816020860160208601612e7f565b601f01601f19169290920160200192915050565b602081525f6107686020830184612ea1565b6001600160a01b03811681146104a0575f80fd5b5f60208284031215612f02575f80fd5b813561076881612ede565b80151581146104a0575f80fd5b5f60208284031215612f2a575f80fd5b813561076881612f0d565b5f805f805f805f805f6101208a8c031215612f4e575f80fd5b8935985060208a0135975060408a0135612f6781612ede565b965060608a0135612f7781612ede565b955060808a0135612f8781612f0d565b945060a08a0135935060c08a013560ff81168114612fa3575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd3575f80fd5b50813567ffffffffffffffff811115612fea575f80fd5b6020830191508360208260051b8501011115613004575f80fd5b9250929050565b5f805f805f8060808789031215613020575f80fd5b863561302b81612ede565b9550602087013561303b81612ede565b9450604087013567ffffffffffffffff80821115613057575f80fd5b6130638a838b01612fc3565b9096509450606089013591508082111561307b575f80fd5b5061308889828a01612fc3565b979a9699509497509295939492505050565b5f805f80608085870312156130ad575f80fd5b8435935060208501356130bf81612ede565b925060408501356130cf81612ede565b9396929550929360600135925050565b5f805f606084860312156130f1575f80fd5b83359250602084013561310381612ede565b9150604084013561311381612ede565b809150509250925092565b5f806040838503121561312f575f80fd5b82359150602083013561314181612ede565b809150509250929050565b5f6020828403121561315c575f80fd5b813567ffffffffffffffff811115613172575f80fd5b820160608185031215610768575f80fd5b5f805f8060808587031215613196575f80fd5b8435935060208501356131a881612ede565b92506040850135915060608501356131bf81612ede565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327c575f80fd5b823561328781612ede565b9150602083013561314181612f0d565b5f805f606084860312156132a9575f80fd5b8335925060208401356132bb81612ede565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132f860208401826001600160a01b03169052565b50604083015161331360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613385828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613403575f80fd5b823567ffffffffffffffff811115613419575f80fd5b61342585828601612fc3565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134685783518352928401929184019160010161344c565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a060208401826001600160801b03169052565b5060408301516134bb60408401826001600160801b03169052565b5060608301516134d660608401826001600160801b03169052565b5060808301516134eb6080840182600f0b9052565b5060a083015161350660a08401826001600160801b03169052565b5060c083015161352160c08401826001600160801b03169052565b5060e083015161353c60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ea565b5f805f805f60a08688031215613599575f80fd5b8535945060208601356135ab81612ede565b935060408601356135bb81612ede565b92506060860135915060808601356135d281612ede565b809150509295509295909350565b5f80604083850312156135f1575f80fd5b82356135fc81612ede565b9150602083013561314181612ede565b5f60208083525f84545f60018260011c9150600183168061362e57607f831692505b60208310810361364c57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366b5760018114613681576136aa565b60ff198616825284151560051b820196506136aa565b5f8b8152602090205f5b868110156136a45781548482015290850190890161368b565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107b8576107b86136cd565b818103818111156107b8576107b86136cd565b5f8060408385031215613718575f80fd5b82519150602083015161314181612f0d565b80516105d081612ede565b5f60208284031215613745575f80fd5b815161076881612ede565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137a3816011850160208701612e7f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137dc816012850160208701612e7f565b9190910160120192915050565b5f602082840312156137f9575f80fd5b5051919050565b5f6020808385031215613811575f80fd5b825167ffffffffffffffff80821115613828575f80fd5b818501915085601f83011261383b575f80fd5b81518181111561384d5761384d613750565b8060051b604051601f19603f8301168101818110858211171561387257613872613750565b60405291825284820192508381018501918883111561388f575f80fd5b938501935b828510156138b4576138a58561372a565b84529385019392850192613894565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516138ea816010850160208701612e7f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137a3816011850160208701612e7f565b8181035f831280158383131683831282161715611252576112526136cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261396357613963613941565b500690565b5f60018201613979576139796136cd565b5060010190565b5f8261398e5761398e613941565b500490565b5f808335601e198436030181126139a8575f80fd5b83018035915067ffffffffffffffff8211156139c2575f80fd5b602001915036819003821315613004575f80fd5b80820281158282048414176107b8576107b86136cd565b5f602082840312156139fd575f80fd5b815161076881612f0d565b5f8251613a19818460208701612e7f565b919091019291505056fea2646970667358221220a4da0a409a8b75edd252732149e3bac45fdc18f6f99be5583c4d690df15b996c64736f6c63430008160033a2646970667358221220a6831cdf5f39d83855e8a445a49d7e643f3ac418aca30c6d5e2b3b855072f45d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget1.ts b/packages/hyperdrive-artifacts/src/EETHTarget1.ts new file mode 100644 index 000000000..d62912ffb --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget1.ts @@ -0,0 +1,976 @@ +export const EETHTarget1 = { + name: 'EETHTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f6d38038062003f6d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac3620004aa5f395f81816048015281816119bb015261257001525f50505f50505f610b7901525f50505f818160f40152818161035f0152612ce601525f81816113de015281816117dc0152818161183f015281816128cf0152818161290b01528181612b030152612cc001525f818161073701528181610df001528181610e3701528181610ff601528181611645015281816116920152612c9a01525f611b4601525f8181611c67015281816122a8015261232001525f81816108f401528181610f8e01528181611c3b01526122f401525f8181610e89015261226e01525f818161075801528181610dce01528181610e580152818161101701528181611623015281816116b30152612d0c01525f818161083201528181610f0f0152818161173a0152818161214701526132e301525f81816105fd01528181610674015281816106e8015281816107b301526107eb01525f81816119dc01528181612591015261260501525f5050613ac35ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063207deba01461004357806329b23fc114610087578063ded06231146100a8575b5f80fd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613573565b6100bb565b60405190815260200161007e565b61009a6100b6366004613573565b6100d3565b5f6100c8858585856100e0565b90505b949350505050565b5f6100c88585858561034b565b5f6100e961057f565b6100f2826105a7565b7f00000000000000000000000000000000000000000000000000000000000000008410156101335760405163211ddda360e11b815260040160405180910390fd5b5f61013c6105df565b9050854210156101615761015b6101516105f6565b8260046001610621565b50610171565b61016f868260046001610621565b505b61018661017f600288610c84565b3387610cb8565b5f805f805f806101978b888e610d8e565b9550955095509550955095505f8c90508c421015610253578260095f8282546101c091906135e1565b909155506101d890506101d16105f6565b4284611076565b6101e58c888787856111af565b5f6101ef8e611326565b905061020d6101fd8e61136c565b61020790836135f4565b82611399565b610216896113d8565b61022257610222611437565b5f61022c8a611450565b90508061024c57604051638bdf918d60e01b815260040160405180910390fd5b505061026a565b61025d868961145c565b955061026888611450565b505b5f610276878a8d611538565b90508b8110156102995760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102a9600288610c84565b6102b66020830183613627565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102f46040890160208a0161364f565b6103088a6103028d8f6135e1565b906115cf565b8d61031660408c018c61366a565b60405161032a9897969594939291906136d5565b60405180910390a450939c505050505050505050505050506100cb60015f55565b5f61035461057f565b61035d826105a7565b7f000000000000000000000000000000000000000000000000000000000000000084101561039e5760405163211ddda360e11b815260040160405180910390fd5b5f6103a76105df565b9050854210156103c2576103bc6101516105f6565b506103d2565b6103d0868260046001610621565b505b6103e061017f600188610c84565b5f805f805f806103f18b888e6115e3565b9550955095509550955095505f8c90508c4210156104a0578260095f82825461041a91906135e1565b9091555061042b90506101d16105f6565b6104388c888787856117c5565b5f61044282611326565b905061045a6104508e61136c565b610207908361371c565b610463896113d8565b61046f5761046f611437565b5f6104798a611450565b90508061049957604051638bdf918d60e01b815260040160405180910390fd5b50506104b7565b6104aa868961145c565b95506104b588611450565b505b5f6104c3878a8d611538565b90508b8110156104e65760405163c972651760e01b815260040160405180910390fd5b8c898c6104f4600186610c84565b6105016020830183613627565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee526788888761053f6040890160208a0161364f565b8a61054d60408b018b61366a565b6040516105609796959493929190613743565b60405180910390a450919a50505050505050505050506100cb60015f55565b60025f54036105a157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105b56020830183613627565b6001600160a01b0316036105dc5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105f1670de0b6b3a76400006119b5565b905090565b5f6105f1427f0000000000000000000000000000000000000000000000000000000000000000611a01565b5f84815260086020526040812060018101546001600160801b031615158061064857504286115b1561066157600101546001600160801b031690506100cb565b5f805f61066c6105f6565b90505f6106997f00000000000000000000000000000000000000000000000000000000000000008b6135e1565b90505b8181101561070d575f818152600860205260409020600101546001600160801b031680156106e5575f828152600860205260409020549094506001600160801b0316925061070d565b507f00000000000000000000000000000000000000000000000000000000000000000161069c565b835f0361077f5788935061077c610722611a16565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b92505b5061078983611a4c565b6001850180546001600160801b0319166001600160801b03929092169190911790556107df6107d87f00000000000000000000000000000000000000000000000000000000000000008b613783565b8a84611076565b61081d896108176108107f0000000000000000000000000000000000000000000000000000000000000000836135e1565b4290611a75565b84611076565b61082688611a89565b505f90506008816108577f00000000000000000000000000000000000000000000000000000000000000008d613783565b815260208101919091526040015f908120600101546001600160801b0316915061088260028c610c84565b5f818152600b60205260408120549192508c8c83156109c357600192505f806108ae86898d865f611c26565b915091508060095f8282546108c391906135e1565b909155506108de9050865f846108d88161136c565b886111af565b6108e881836135e1565b915061091886838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf3565b915061092c61092783856115cf565b611d3c565b6006805460029061094d9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061097a82611a4c565b6006805460109061099c908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109cf600184610c84565b5f818152600b60205260409020549091508015610ada57600194505f806109fa838b8f886001611c26565b915091508060095f828254610a0f91906135e1565b90915550610a2a9050835f84610a248161136c565b8a6117c5565b610a348183613783565b9150610a4361092783876115cf565b60068054600290610a649084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a9182611a4c565b60068054601090610ab3908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b1357610b05610aec8761136c565b610af58361136c565b610aff91906135f4565b5f611399565b8e610b108482611d65565b50505b5f610b1d84611f54565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf791906137d6565b90506001600160a01b03811615610c6b57610c685a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612096565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cad5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610cfa57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d3c908490613783565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d9e611a16565b90505f610daa8a61211c565b6002549091508c908c90610e14908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061216b565b600254919d509a50909550610e7c908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b9550610eb2858c610ead897f00000000000000000000000000000000000000000000000000000000000000006121da565b612209565b15610ebf57610ebf611437565b5f805f610ece85878b8761224a565b9c5091945092509050610ee18184613783565b610eeb90896135e1565b9750610ef782846135e1565b610f01908d6135e1565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f399190613783565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f7f575f8b8152600860205260409020600101546001600160801b0316610f81565b8b5b90508b610fb28e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cf3565b9950610fbe878a613783565b9850670de0b6b3a764000061103b610fd687876135e1565b600254610ff4908f90600160801b90046001600160801b0316613783565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b111561104957611049611437565b6110588a8a878a87875f61235c565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110a15750505050565b5f848152600860205260408120546001600160801b0316908190036110f9576110c983611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611176565b61114a611145670de0b6b3a76400006111128886613783565b61111c91906137f1565b85670de0b6b3a7640000611130878a613783565b61113a91906137f1565b8592919060016123f8565b611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61117f84611a4c565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111f7611145826111db670de0b6b3a7640000866137f1565b600554600160801b90046001600160801b031691908a5f6123f8565b600580546001600160801b03928316600160801b02921691909117905561121d86611a4c565b6112279082613808565b600480546001600160801b03928316600160801b02921691909117905561124d84611a4c565b600280545f906112679084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112948361249e565b600480545f906112a8908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112d885611a4c565b600280546010906112fa908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61134b600b5f611338600286610c84565b81526020019081526020015f205461136c565b61135c600b5f611338600187610c84565b61136691906135f4565b92915050565b5f6001600160ff1b038211156113955760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113b490611145906001600160801b031684846124d9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114037f00000000000000000000000000000000000000000000000000000000000000008361253b565b60035461141991906001600160801b03166135e1565b60025461142f906001600160801b0316846115cf565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f611366826004611d65565b5f805f61146884611a89565b90925090505f61147886866115cf565b9050818311156114905761148d86838561254f565b95505b828110156114a25780830392506114a6565b5f92505b6114af83611d3c565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561150257869003611505565b505f5b61150e81611a4c565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061154485856115cf565b905061154f8161256a565b9450845f03611561575f9150506115c8565b849150611574604084016020850161364f565b156115a35761159c8561158a6020860186613627565b611597604087018761366a565b6125b6565b91506115c6565b6115c6856115b46020860186613627565b6115c1604087018761366a565b6125d0565b505b9392505050565b5f6115c88383670de0b6b3a764000061254f565b5f805f805f805f806115f3611a16565b90505f6115ff8a61211c565b6002549091508b908d90611669908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612697565b600254919d509b509095505f90819081906116d7908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b98506116e584878b8861224a565b9c5091945090925090506116f98284613783565b6117039089613783565b975061170f81846135e1565b611719908e613783565b9c506117258a8e6135e1565b9b50505050505050506117af8686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117649190613783565b815260208101919091526040015f20600101546001600160801b0316428e116117a6575f8e8152600860205260409020600101546001600160801b03166117a8565b8e5b600161235c565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061180757507f00000000000000000000000000000000000000000000000000000000000000006118058583613783565b105b1561181457611814611437565b6004549084900390600f0b61182984826135f4565b9050836118358661136c565b13801561186a57507f000000000000000000000000000000000000000000000000000000000000000061186883836126ea565b105b1561187757611877611437565b600354600160801b90046001600160801b03166118b8611145826118a3670de0b6b3a7640000886137f1565b6005546001600160801b031691908c5f6123f8565b600580546001600160801b0319166001600160801b03929092169190911790556118e28882613783565b90506118ed81611a4c565b600380546001600160801b03928316600160801b02921691909117905561191383611a4c565b600280546001600160801b0319166001600160801b039290921691909117905561193c8261249e565b600480546001600160801b0319166001600160801b039290921691909117905561196587611a4c565b60028054601090611987908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461270f565b5f611a0c8284613869565b6115c89084613783565b6002546004545f916105f1916001600160801b0390911690600f0b6126ea565b5f6100c882611a4685888861254f565b906127ee565b5f6001600160801b0382111561139557604051630f0af95160e11b815260040160405180910390fd5b5f818311611a8357826115c8565b50919050565b6006545f908190611aab908490600160801b90046001600160801b03166115cf565b6006546201000090046001600160701b03169250905081811115611c21575f611ad48383613783565b9050611ae3611145828661285d565b60068054601090611b05908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b3d858361287190919063ffffffff16565b90505f611b6a827f00000000000000000000000000000000000000000000000000000000000000006115cf565b90508060095f828254611b7d91906135e1565b90915550611b8d90508183613783565b9150611b9882611a4c565b600280545f90611bb29084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bdf82612885565b600480545f90611bf3908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c328785612871565b91505f611c5f837f00000000000000000000000000000000000000000000000000000000000000006115cf565b9050611c8b817f00000000000000000000000000000000000000000000000000000000000000006115cf565b91508315611cae57611c9d8282613783565b611ca79084613783565b9250611cc5565b611cb88282613783565b611cc290846135e1565b92505b86861015611ce857611cd883878961254f565b9250611ce582878961254f565b91505b509550959350505050565b5f80611d0a84611d048a888a61254f565b90612871565b9050611d1788848661254f565b611d2190826135e1565b905086811115611d315786810391505b509695505050505050565b5f6001600160701b038211156113955760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611daf916001600160801b031690613783565b9050805f03611dc2576001915050611366565b5f611dcc856128ae565b9050805f03611de057600192505050611366565b5f80611ded838589612949565b9150915080611e02575f945050505050611366565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e3d9291906138fa565b6040805180830381865af4158015611e57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7b919061396f565b91509150611e99611e8b8261136c565b611e9490613991565b612abd565b925082611eae575f9650505050505050611366565b611eb782611a4c565b600780545f90611ed19084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611efe81611a4c565b60078054601090611f20908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f7b87612c51565b6040518263ffffffff1660e01b8152600401611f9791906139ab565b6040805180830381865af4158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd591906139ba565b9150915080611fea57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204f916135e1565b6120599190613783565b9050805f0361206f57505f958695509350505050565b5f80871161207d575f612088565b61208884888461254f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120b9576120b96139e8565b6040519080825280601f01601f1916602001820160405280156120e3576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612103578692505b828152825f602083013e90999098509650505050505050565b5f806121266105f6565b9050808311612135575f61213f565b61213f8184613783565b91506115c8827f0000000000000000000000000000000000000000000000000000000000000000612871565b5f808061218b61218388670de0b6b3a7640000613783565b899087612d8b565b905086156121cd5761219d888861253b565b91506121be8a8a846121b78a670de0b6b3a7640000613783565b8989612dae565b92506121ca83826135e1565b90505b9750975097945050505050565b5f6121f76121f084670de0b6b3a7640000613783565b839061253b565b6115c890670de0b6b3a7640000613783565b5f8061223f85612217611a16565b61222191906135e1565b600254610ff4908790600160801b90046001600160801b0316613783565b909210949350505050565b5f8080806122a087866122998b61229361226c8c670de0b6b3a7640000613783565b7f00000000000000000000000000000000000000000000000000000000000000009061253b565b9061253b565b9190612d8b565b93506122cc847f00000000000000000000000000000000000000000000000000000000000000006115cf565b91505f6122ec6122e489670de0b6b3a7640000613783565b8a9088612d8b565b9050612318817f000000000000000000000000000000000000000000000000000000000000000061253b565b9350612344847f00000000000000000000000000000000000000000000000000000000000000006115cf565b61234e90846135e1565b915050945094509450949050565b5f805f805f80888810156123c857861561237e5761237b8d898b61254f565b9c505b6123898c898b61254f565b9b506123948b61136c565b61239d8d61136c565b6123a791906135f4565b90506123b48b898b61254f565b9a506123c18a898b61254f565b99506123e7565b6123d18b61136c565b6123da8d61136c565b6123e491906135f4565b90505b9b9c9a9b999a975050505050505050565b5f825f03612407575084612495565b81156124595761243861241a84876135e1565b61242485876115cf565b61242e888a6115cf565b611d0491906135e1565b90505f6124458588611a75565b905080821015612453578091505b50612495565b82850361246757505f612495565b6124926124748487613783565b61247e858761253b565b612488888a6115cf565b611d049190613783565b90505b95945050505050565b5f60016001607f1b03198212806124bb575060016001607f1b0382135b156113955760405163a5353be560e01b815260040160405180910390fd5b5f806124e5845f612dd0565b6124ef845f612dd0565b6124f991906135f4565b90505f8113156125145761250d81866135e1565b9450612532565b5f8112156125325761252581613991565b61252f9086613783565b94505b50929392505050565b5f6115c88383670de0b6b3a7640000612d8b565b5f825f190484118302158202612563575f80fd5b5091020490565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612de5565b5f60405163350b944160e11b815260040160405180910390fd5b5f6125da856119b5565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561264b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f91906139fc565b90508061268f576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806126b76126af88670de0b6b3a7640000613783565b89908761254f565b905086156121cd576126c988886115cf565b91506121be8a8a846126e38a670de0b6b3a7640000613783565b8989612e98565b5f806126f68484612ea8565b90925090508061270857612708611437565b5092915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127719190613a17565b9050805f03612783575f9150506115c8565b612495856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e69190613a17565b84908361254f565b5f815f036128055750670de0b6b3a7640000611366565b825f0361281357505f611366565b5f61281d8361136c565b90505f61283161282c8661136c565b612ee3565b9050818102612848670de0b6b3a764000082613a2e565b905061285381613108565b9695505050505050565b5f6115c883670de0b6b3a764000084612d8b565b5f6115c883670de0b6b3a76400008461254f565b5f60016001607f1b038211156113955760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128c8906001600160801b03168461285d565b90506128f47f0000000000000000000000000000000000000000000000000000000000000000826135e1565b6002546001600160801b03161115611a83576002547f00000000000000000000000000000000000000000000000000000000000000009061293f9083906001600160801b0316613783565b6115c89190613783565b6129516134d4565b5f8061295c84612c51565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161299691906139ab565b6040805180830381865af41580156129b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129d491906139ba565b93509050826129e857505f9150612ab59050565b5f612a0e612a098461016001518561014001516115cf90919063ffffffff16565b61136c565b612a2e612a0985610120015186610100015161253b90919063ffffffff16565b612a3891906135f4565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b979190613a5a565b935093509350935080612bb257505f98975050505050505050565b868414612be357612bc284611a4c565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c1457612bf38361249e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c4257612c2482611a4c565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c5961351e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d51911661329a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d839290041661329a565b905292915050565b5f825f190484118302158202612d9f575f80fd5b50910281810615159190040190565b5f80612dbe88888888888861330e565b909250905080611d3157611d31611437565b5f818313612dde57816115c8565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e479190613a17565b9050805f03612e59575f9150506115c8565b612495846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b5f80612dbe8888888888886133ea565b5f805f83612eb58661136c565b612ebf91906135f4565b90505f811215612ed5575f809250925050612edc565b9150600190505b9250929050565b5f808213612f045760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f879084901c61136c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312157505f919050565b680755bf798b4a1bf1e5821261314a576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061285374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61136c565b5f80670de0b6b3a76400006132ad6105f6565b6132b791906137f1565b90508083116132c6575f6132d0565b6132d08184613783565b91506115c8613307670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137f1565b8390612871565b5f805f61331e89898888886134a6565b905086881015613334575f8092509250506133df565b968690039661334388876127ee565b975087811015613359575f8092509250506133df565b878103613367818688612d8b565b9050670de0b6b3a7640000811061339b5761339461338d670de0b6b3a76400008961285d565b82906127ee565b90506133b3565b6133b061338d670de0b6b3a764000089612871565b90505b6133bd818661285d565b9050898110156133d4575f809350935050506133df565b899003925060019150505b965096945050505050565b5f805f6133fa89898888886134a6565b905061340a86611a46898b6135e1565b975087811015613420575f8092509250506133df565b87810361342e818688612d8b565b9050670de0b6b3a7640000811061345b5761345461338d670de0b6b3a76400008961285d565b9050613473565b61347061338d670de0b6b3a764000089612871565b90505b61347d818661285d565b9050808a1015613494575f809350935050506133df565b90980398600198509650505050505050565b5f6134b185856127ee565b6134ca6134c286611a46868b61253b565b859085612d8b565b61249291906135e1565b6040518061012001604052806134e861351e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613586575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135b1575f80fd5b8501606081880312156135c2575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611366576113666135cd565b8181035f831280158383131683831282161715612708576127086135cd565b6001600160a01b03811681146105dc575f80fd5b5f60208284031215613637575f80fd5b81356115c881613613565b80151581146105dc575f80fd5b5f6020828403121561365f575f80fd5b81356115c881613642565b5f808335601e1984360301811261367f575f80fd5b83018035915067ffffffffffffffff821115613699575f80fd5b602001915036819003821315612edc575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61370e60e0830184866136ad565b9a9950505050505050505050565b8082018281125f83128015821682158216171561373b5761373b6135cd565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61377660c0830184866136ad565b9998505050505050505050565b81810381811115611366576113666135cd565b6001600160701b03818116838216019080821115612708576127086135cd565b6001600160801b03818116838216019080821115612708576127086135cd565b5f602082840312156137e6575f80fd5b81516115c881613613565b8082028115828204841417611366576113666135cd565b6001600160801b03828116828216039080821115612708576127086135cd565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715611366576113666135cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061390d82855161387c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613980575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a5576139a56135cd565b505f0390565b6101808101611366828461387c565b5f80604083850312156139cb575f80fd5b8251915060208301516139dd81613642565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a0c575f80fd5b81516115c881613642565b5f60208284031215613a27575f80fd5b5051919050565b5f82613a3c57613a3c613855565b600160ff1b82145f1984141615613a5557613a556135cd565b500590565b5f805f8060808587031215613a6d575f80fd5b84519350602085015192506040850151915060608501516135c28161364256fea26469706673582212203f265796572d49c5992cd5e50258665290b8552cf9f47ee2a97e50b62c346e6b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/EETHTarget1Deployer.ts new file mode 100644 index 000000000..ae71f9b2b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget1Deployer.ts @@ -0,0 +1,172 @@ +export const EETHTarget1Deployer = { + name: 'EETHTarget1Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161452238038061452283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144996100895f395f8181603d015260b801526144995ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613f6d806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003f6d38038062003f6d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac3620004aa5f395f81816048015281816119bb015261257001525f50505f50505f610b7901525f50505f818160f40152818161035f0152612ce601525f81816113de015281816117dc0152818161183f015281816128cf0152818161290b01528181612b030152612cc001525f818161073701528181610df001528181610e3701528181610ff601528181611645015281816116920152612c9a01525f611b4601525f8181611c67015281816122a8015261232001525f81816108f401528181610f8e01528181611c3b01526122f401525f8181610e89015261226e01525f818161075801528181610dce01528181610e580152818161101701528181611623015281816116b30152612d0c01525f818161083201528181610f0f0152818161173a0152818161214701526132e301525f81816105fd01528181610674015281816106e8015281816107b301526107eb01525f81816119dc01528181612591015261260501525f5050613ac35ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063207deba01461004357806329b23fc114610087578063ded06231146100a8575b5f80fd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613573565b6100bb565b60405190815260200161007e565b61009a6100b6366004613573565b6100d3565b5f6100c8858585856100e0565b90505b949350505050565b5f6100c88585858561034b565b5f6100e961057f565b6100f2826105a7565b7f00000000000000000000000000000000000000000000000000000000000000008410156101335760405163211ddda360e11b815260040160405180910390fd5b5f61013c6105df565b9050854210156101615761015b6101516105f6565b8260046001610621565b50610171565b61016f868260046001610621565b505b61018661017f600288610c84565b3387610cb8565b5f805f805f806101978b888e610d8e565b9550955095509550955095505f8c90508c421015610253578260095f8282546101c091906135e1565b909155506101d890506101d16105f6565b4284611076565b6101e58c888787856111af565b5f6101ef8e611326565b905061020d6101fd8e61136c565b61020790836135f4565b82611399565b610216896113d8565b61022257610222611437565b5f61022c8a611450565b90508061024c57604051638bdf918d60e01b815260040160405180910390fd5b505061026a565b61025d868961145c565b955061026888611450565b505b5f610276878a8d611538565b90508b8110156102995760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102a9600288610c84565b6102b66020830183613627565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102f46040890160208a0161364f565b6103088a6103028d8f6135e1565b906115cf565b8d61031660408c018c61366a565b60405161032a9897969594939291906136d5565b60405180910390a450939c505050505050505050505050506100cb60015f55565b5f61035461057f565b61035d826105a7565b7f000000000000000000000000000000000000000000000000000000000000000084101561039e5760405163211ddda360e11b815260040160405180910390fd5b5f6103a76105df565b9050854210156103c2576103bc6101516105f6565b506103d2565b6103d0868260046001610621565b505b6103e061017f600188610c84565b5f805f805f806103f18b888e6115e3565b9550955095509550955095505f8c90508c4210156104a0578260095f82825461041a91906135e1565b9091555061042b90506101d16105f6565b6104388c888787856117c5565b5f61044282611326565b905061045a6104508e61136c565b610207908361371c565b610463896113d8565b61046f5761046f611437565b5f6104798a611450565b90508061049957604051638bdf918d60e01b815260040160405180910390fd5b50506104b7565b6104aa868961145c565b95506104b588611450565b505b5f6104c3878a8d611538565b90508b8110156104e65760405163c972651760e01b815260040160405180910390fd5b8c898c6104f4600186610c84565b6105016020830183613627565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee526788888761053f6040890160208a0161364f565b8a61054d60408b018b61366a565b6040516105609796959493929190613743565b60405180910390a450919a50505050505050505050506100cb60015f55565b60025f54036105a157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105b56020830183613627565b6001600160a01b0316036105dc5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105f1670de0b6b3a76400006119b5565b905090565b5f6105f1427f0000000000000000000000000000000000000000000000000000000000000000611a01565b5f84815260086020526040812060018101546001600160801b031615158061064857504286115b1561066157600101546001600160801b031690506100cb565b5f805f61066c6105f6565b90505f6106997f00000000000000000000000000000000000000000000000000000000000000008b6135e1565b90505b8181101561070d575f818152600860205260409020600101546001600160801b031680156106e5575f828152600860205260409020549094506001600160801b0316925061070d565b507f00000000000000000000000000000000000000000000000000000000000000000161069c565b835f0361077f5788935061077c610722611a16565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b92505b5061078983611a4c565b6001850180546001600160801b0319166001600160801b03929092169190911790556107df6107d87f00000000000000000000000000000000000000000000000000000000000000008b613783565b8a84611076565b61081d896108176108107f0000000000000000000000000000000000000000000000000000000000000000836135e1565b4290611a75565b84611076565b61082688611a89565b505f90506008816108577f00000000000000000000000000000000000000000000000000000000000000008d613783565b815260208101919091526040015f908120600101546001600160801b0316915061088260028c610c84565b5f818152600b60205260408120549192508c8c83156109c357600192505f806108ae86898d865f611c26565b915091508060095f8282546108c391906135e1565b909155506108de9050865f846108d88161136c565b886111af565b6108e881836135e1565b915061091886838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf3565b915061092c61092783856115cf565b611d3c565b6006805460029061094d9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061097a82611a4c565b6006805460109061099c908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109cf600184610c84565b5f818152600b60205260409020549091508015610ada57600194505f806109fa838b8f886001611c26565b915091508060095f828254610a0f91906135e1565b90915550610a2a9050835f84610a248161136c565b8a6117c5565b610a348183613783565b9150610a4361092783876115cf565b60068054600290610a649084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a9182611a4c565b60068054601090610ab3908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b1357610b05610aec8761136c565b610af58361136c565b610aff91906135f4565b5f611399565b8e610b108482611d65565b50505b5f610b1d84611f54565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf791906137d6565b90506001600160a01b03811615610c6b57610c685a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612096565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cad5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610cfa57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d3c908490613783565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d9e611a16565b90505f610daa8a61211c565b6002549091508c908c90610e14908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061216b565b600254919d509a50909550610e7c908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b9550610eb2858c610ead897f00000000000000000000000000000000000000000000000000000000000000006121da565b612209565b15610ebf57610ebf611437565b5f805f610ece85878b8761224a565b9c5091945092509050610ee18184613783565b610eeb90896135e1565b9750610ef782846135e1565b610f01908d6135e1565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f399190613783565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f7f575f8b8152600860205260409020600101546001600160801b0316610f81565b8b5b90508b610fb28e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cf3565b9950610fbe878a613783565b9850670de0b6b3a764000061103b610fd687876135e1565b600254610ff4908f90600160801b90046001600160801b0316613783565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b111561104957611049611437565b6110588a8a878a87875f61235c565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110a15750505050565b5f848152600860205260408120546001600160801b0316908190036110f9576110c983611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611176565b61114a611145670de0b6b3a76400006111128886613783565b61111c91906137f1565b85670de0b6b3a7640000611130878a613783565b61113a91906137f1565b8592919060016123f8565b611a4c565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61117f84611a4c565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111f7611145826111db670de0b6b3a7640000866137f1565b600554600160801b90046001600160801b031691908a5f6123f8565b600580546001600160801b03928316600160801b02921691909117905561121d86611a4c565b6112279082613808565b600480546001600160801b03928316600160801b02921691909117905561124d84611a4c565b600280545f906112679084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112948361249e565b600480545f906112a8908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112d885611a4c565b600280546010906112fa908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61134b600b5f611338600286610c84565b81526020019081526020015f205461136c565b61135c600b5f611338600187610c84565b61136691906135f4565b92915050565b5f6001600160ff1b038211156113955760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113b490611145906001600160801b031684846124d9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114037f00000000000000000000000000000000000000000000000000000000000000008361253b565b60035461141991906001600160801b03166135e1565b60025461142f906001600160801b0316846115cf565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f611366826004611d65565b5f805f61146884611a89565b90925090505f61147886866115cf565b9050818311156114905761148d86838561254f565b95505b828110156114a25780830392506114a6565b5f92505b6114af83611d3c565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561150257869003611505565b505f5b61150e81611a4c565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061154485856115cf565b905061154f8161256a565b9450845f03611561575f9150506115c8565b849150611574604084016020850161364f565b156115a35761159c8561158a6020860186613627565b611597604087018761366a565b6125b6565b91506115c6565b6115c6856115b46020860186613627565b6115c1604087018761366a565b6125d0565b505b9392505050565b5f6115c88383670de0b6b3a764000061254f565b5f805f805f805f806115f3611a16565b90505f6115ff8a61211c565b6002549091508b908d90611669908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612697565b600254919d509b509095505f90819081906116d7908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a36565b98506116e584878b8861224a565b9c5091945090925090506116f98284613783565b6117039089613783565b975061170f81846135e1565b611719908e613783565b9c506117258a8e6135e1565b9b50505050505050506117af8686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117649190613783565b815260208101919091526040015f20600101546001600160801b0316428e116117a6575f8e8152600860205260409020600101546001600160801b03166117a8565b8e5b600161235c565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061180757507f00000000000000000000000000000000000000000000000000000000000000006118058583613783565b105b1561181457611814611437565b6004549084900390600f0b61182984826135f4565b9050836118358661136c565b13801561186a57507f000000000000000000000000000000000000000000000000000000000000000061186883836126ea565b105b1561187757611877611437565b600354600160801b90046001600160801b03166118b8611145826118a3670de0b6b3a7640000886137f1565b6005546001600160801b031691908c5f6123f8565b600580546001600160801b0319166001600160801b03929092169190911790556118e28882613783565b90506118ed81611a4c565b600380546001600160801b03928316600160801b02921691909117905561191383611a4c565b600280546001600160801b0319166001600160801b039290921691909117905561193c8261249e565b600480546001600160801b0319166001600160801b039290921691909117905561196587611a4c565b60028054601090611987908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461270f565b5f611a0c8284613869565b6115c89084613783565b6002546004545f916105f1916001600160801b0390911690600f0b6126ea565b5f6100c882611a4685888861254f565b906127ee565b5f6001600160801b0382111561139557604051630f0af95160e11b815260040160405180910390fd5b5f818311611a8357826115c8565b50919050565b6006545f908190611aab908490600160801b90046001600160801b03166115cf565b6006546201000090046001600160701b03169250905081811115611c21575f611ad48383613783565b9050611ae3611145828661285d565b60068054601090611b05908490600160801b90046001600160801b0316613808565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b3d858361287190919063ffffffff16565b90505f611b6a827f00000000000000000000000000000000000000000000000000000000000000006115cf565b90508060095f828254611b7d91906135e1565b90915550611b8d90508183613783565b9150611b9882611a4c565b600280545f90611bb29084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bdf82612885565b600480545f90611bf3908490600f0b613828565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c328785612871565b91505f611c5f837f00000000000000000000000000000000000000000000000000000000000000006115cf565b9050611c8b817f00000000000000000000000000000000000000000000000000000000000000006115cf565b91508315611cae57611c9d8282613783565b611ca79084613783565b9250611cc5565b611cb88282613783565b611cc290846135e1565b92505b86861015611ce857611cd883878961254f565b9250611ce582878961254f565b91505b509550959350505050565b5f80611d0a84611d048a888a61254f565b90612871565b9050611d1788848661254f565b611d2190826135e1565b905086811115611d315786810391505b509695505050505050565b5f6001600160701b038211156113955760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611daf916001600160801b031690613783565b9050805f03611dc2576001915050611366565b5f611dcc856128ae565b9050805f03611de057600192505050611366565b5f80611ded838589612949565b9150915080611e02575f945050505050611366565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e3d9291906138fa565b6040805180830381865af4158015611e57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7b919061396f565b91509150611e99611e8b8261136c565b611e9490613991565b612abd565b925082611eae575f9650505050505050611366565b611eb782611a4c565b600780545f90611ed19084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611efe81611a4c565b60078054601090611f20908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f7b87612c51565b6040518263ffffffff1660e01b8152600401611f9791906139ab565b6040805180830381865af4158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd591906139ba565b9150915080611fea57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204f916135e1565b6120599190613783565b9050805f0361206f57505f958695509350505050565b5f80871161207d575f612088565b61208884888461254f565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120b9576120b96139e8565b6040519080825280601f01601f1916602001820160405280156120e3576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612103578692505b828152825f602083013e90999098509650505050505050565b5f806121266105f6565b9050808311612135575f61213f565b61213f8184613783565b91506115c8827f0000000000000000000000000000000000000000000000000000000000000000612871565b5f808061218b61218388670de0b6b3a7640000613783565b899087612d8b565b905086156121cd5761219d888861253b565b91506121be8a8a846121b78a670de0b6b3a7640000613783565b8989612dae565b92506121ca83826135e1565b90505b9750975097945050505050565b5f6121f76121f084670de0b6b3a7640000613783565b839061253b565b6115c890670de0b6b3a7640000613783565b5f8061223f85612217611a16565b61222191906135e1565b600254610ff4908790600160801b90046001600160801b0316613783565b909210949350505050565b5f8080806122a087866122998b61229361226c8c670de0b6b3a7640000613783565b7f00000000000000000000000000000000000000000000000000000000000000009061253b565b9061253b565b9190612d8b565b93506122cc847f00000000000000000000000000000000000000000000000000000000000000006115cf565b91505f6122ec6122e489670de0b6b3a7640000613783565b8a9088612d8b565b9050612318817f000000000000000000000000000000000000000000000000000000000000000061253b565b9350612344847f00000000000000000000000000000000000000000000000000000000000000006115cf565b61234e90846135e1565b915050945094509450949050565b5f805f805f80888810156123c857861561237e5761237b8d898b61254f565b9c505b6123898c898b61254f565b9b506123948b61136c565b61239d8d61136c565b6123a791906135f4565b90506123b48b898b61254f565b9a506123c18a898b61254f565b99506123e7565b6123d18b61136c565b6123da8d61136c565b6123e491906135f4565b90505b9b9c9a9b999a975050505050505050565b5f825f03612407575084612495565b81156124595761243861241a84876135e1565b61242485876115cf565b61242e888a6115cf565b611d0491906135e1565b90505f6124458588611a75565b905080821015612453578091505b50612495565b82850361246757505f612495565b6124926124748487613783565b61247e858761253b565b612488888a6115cf565b611d049190613783565b90505b95945050505050565b5f60016001607f1b03198212806124bb575060016001607f1b0382135b156113955760405163a5353be560e01b815260040160405180910390fd5b5f806124e5845f612dd0565b6124ef845f612dd0565b6124f991906135f4565b90505f8113156125145761250d81866135e1565b9450612532565b5f8112156125325761252581613991565b61252f9086613783565b94505b50929392505050565b5f6115c88383670de0b6b3a7640000612d8b565b5f825f190484118302158202612563575f80fd5b5091020490565b5f6113667f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084612de5565b5f60405163350b944160e11b815260040160405180910390fd5b5f6125da856119b5565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561264b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f91906139fc565b90508061268f576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806126b76126af88670de0b6b3a7640000613783565b89908761254f565b905086156121cd576126c988886115cf565b91506121be8a8a846126e38a670de0b6b3a7640000613783565b8989612e98565b5f806126f68484612ea8565b90925090508061270857612708611437565b5092915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127719190613a17565b9050805f03612783575f9150506115c8565b612495856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e69190613a17565b84908361254f565b5f815f036128055750670de0b6b3a7640000611366565b825f0361281357505f611366565b5f61281d8361136c565b90505f61283161282c8661136c565b612ee3565b9050818102612848670de0b6b3a764000082613a2e565b905061285381613108565b9695505050505050565b5f6115c883670de0b6b3a764000084612d8b565b5f6115c883670de0b6b3a76400008461254f565b5f60016001607f1b038211156113955760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128c8906001600160801b03168461285d565b90506128f47f0000000000000000000000000000000000000000000000000000000000000000826135e1565b6002546001600160801b03161115611a83576002547f00000000000000000000000000000000000000000000000000000000000000009061293f9083906001600160801b0316613783565b6115c89190613783565b6129516134d4565b5f8061295c84612c51565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161299691906139ab565b6040805180830381865af41580156129b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129d491906139ba565b93509050826129e857505f9150612ab59050565b5f612a0e612a098461016001518561014001516115cf90919063ffffffff16565b61136c565b612a2e612a0985610120015186610100015161253b90919063ffffffff16565b612a3891906135f4565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b73573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b979190613a5a565b935093509350935080612bb257505f98975050505050505050565b868414612be357612bc284611a4c565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c1457612bf38361249e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c4257612c2482611a4c565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c5961351e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d51911661329a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d839290041661329a565b905292915050565b5f825f190484118302158202612d9f575f80fd5b50910281810615159190040190565b5f80612dbe88888888888861330e565b909250905080611d3157611d31611437565b5f818313612dde57816115c8565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e479190613a17565b9050805f03612e59575f9150506115c8565b612495846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127c2573d5f803e3d5ffd5b5f80612dbe8888888888886133ea565b5f805f83612eb58661136c565b612ebf91906135f4565b90505f811215612ed5575f809250925050612edc565b9150600190505b9250929050565b5f808213612f045760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f879084901c61136c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312157505f919050565b680755bf798b4a1bf1e5821261314a576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061285374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61136c565b5f80670de0b6b3a76400006132ad6105f6565b6132b791906137f1565b90508083116132c6575f6132d0565b6132d08184613783565b91506115c8613307670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137f1565b8390612871565b5f805f61331e89898888886134a6565b905086881015613334575f8092509250506133df565b968690039661334388876127ee565b975087811015613359575f8092509250506133df565b878103613367818688612d8b565b9050670de0b6b3a7640000811061339b5761339461338d670de0b6b3a76400008961285d565b82906127ee565b90506133b3565b6133b061338d670de0b6b3a764000089612871565b90505b6133bd818661285d565b9050898110156133d4575f809350935050506133df565b899003925060019150505b965096945050505050565b5f805f6133fa89898888886134a6565b905061340a86611a46898b6135e1565b975087811015613420575f8092509250506133df565b87810361342e818688612d8b565b9050670de0b6b3a7640000811061345b5761345461338d670de0b6b3a76400008961285d565b9050613473565b61347061338d670de0b6b3a764000089612871565b90505b61347d818661285d565b9050808a1015613494575f809350935050506133df565b90980398600198509650505050505050565b5f6134b185856127ee565b6134ca6134c286611a46868b61253b565b859085612d8b565b61249291906135e1565b6040518061012001604052806134e861351e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613586575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135b1575f80fd5b8501606081880312156135c2575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611366576113666135cd565b8181035f831280158383131683831282161715612708576127086135cd565b6001600160a01b03811681146105dc575f80fd5b5f60208284031215613637575f80fd5b81356115c881613613565b80151581146105dc575f80fd5b5f6020828403121561365f575f80fd5b81356115c881613642565b5f808335601e1984360301811261367f575f80fd5b83018035915067ffffffffffffffff821115613699575f80fd5b602001915036819003821315612edc575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61370e60e0830184866136ad565b9a9950505050505050505050565b8082018281125f83128015821682158216171561373b5761373b6135cd565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61377660c0830184866136ad565b9998505050505050505050565b81810381811115611366576113666135cd565b6001600160701b03818116838216019080821115612708576127086135cd565b6001600160801b03818116838216019080821115612708576127086135cd565b5f602082840312156137e6575f80fd5b81516115c881613613565b8082028115828204841417611366576113666135cd565b6001600160801b03828116828216039080821115612708576127086135cd565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715611366576113666135cd565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061390d82855161387c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613980575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a5576139a56135cd565b505f0390565b6101808101611366828461387c565b5f80604083850312156139cb575f80fd5b8251915060208301516139dd81613642565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a0c575f80fd5b81516115c881613642565b5f60208284031215613a27575f80fd5b5051919050565b5f82613a3c57613a3c613855565b600160ff1b82145f1984141615613a5557613a556135cd565b500590565b5f805f8060808587031215613a6d575f80fd5b84519350602085015192506040850151915060608501516135c28161364256fea26469706673582212203f265796572d49c5992cd5e50258665290b8552cf9f47ee2a97e50b62c346e6b64736f6c63430008160033a2646970667358221220ad4ce9a6fe4476b25693872e405cf042beb8c780ac11f3766f4df9175073056964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget2.ts b/packages/hyperdrive-artifacts/src/EETHTarget2.ts new file mode 100644 index 000000000..bc0ec48c4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget2.ts @@ -0,0 +1,986 @@ +export const EETHTarget2 = { + name: 'EETHTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004091380380620040918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613bd1620004c05f395f818160480152818161149001526116e401525f50505f50505f8181610c4e015261171401525f50505f8181610148015281816103490152612e6d01525f818161152d01528181611e1201528181611e75015281816125fc01528181612a5d01528181612a9901528181612c8a0152612e4701525f818161080c01528181610da801528181610dea01528181610edc01528181611342015281816113a00152612e2101525f611a3c01525f8181611b5d015281816126ed015281816127650152612f8501525f81816109c901528181610e5d0152818161143b01528181611b31015261273901525f8181610e3c015281816126b90152612f4101525f818161082d01528181610d8601528181610e0b01528181610efd01528181611320015281816113c10152612e9301525f8181610222015281816103dd01528181610907015261340901525f81816106cd01528181610749015281816107bd0152818161088801526108c001525f81816114b1015261183e01525f5050613bd15ff3fe608060405260043610610033575f3560e01c8063207deba014610037578063cba2e58d14610087578063dbbe8070146100af575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613681565b6100c2565b6040805192835260208301919091520161007e565b61009a6100bd366004613681565b6100de565b5f806100d0868686866100ec565b915091505b94509492505050565b5f806100d08686868661030b565b5f806100f6610578565b600654610100900460ff161561011f576040516321081abf60e01b815260040160405180910390fd5b610128836105a0565b5f8061013488866105d8565b90925090505f61014483836106a9565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101875760405163211ddda360e11b815260040160405180910390fd5b868210156101a8576040516342af972b60e01b815260040160405180910390fd5b5f6101b16106c6565b90506101c18184600460016106f6565b505f805f6101cf8787610d5a565b919a5091945090925090508b8810156101fb5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461020c91906136ef565b9091555061021d9050844283610f39565b6102477f0000000000000000000000000000000000000000000000000000000000000000856136ef565b98506102558389888c611072565b5f61026160018b611209565b905061027a8161027460208e018e613716565b8b61123d565b8d8a8a898e8561028d6020830183613716565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ca604088016020890161373e565b896102d860408a018a613759565b6040516102eb97969594939291906137c4565b60405180910390a350909b5050505050505050505050506100d560015f55565b5f80610315610578565b600654610100900460ff161561033e576040516321081abf60e01b815260040160405180910390fd5b610347836105a0565b7f00000000000000000000000000000000000000000000000000000000000000008610156103885760405163211ddda360e11b815260040160405180910390fd5b5f6103916112e2565b9050848110156103b4576040516342af972b60e01b815260040160405180910390fd5b5f6103bd6106c6565b90505f6103d56103cb6106c6565b84600460016106f6565b90505f6104027f0000000000000000000000000000000000000000000000000000000000000000846136ef565b90505f805f806104138e89886112f4565b60098054949850929650909450925083915f906104319084906136ef565b909155506104429050874283610f39565b61045461044f858a611476565b61148a565b61045f9060016136ef565b9350505f61046e84898d6114d6565b9050808d10156104915760405163c972651760e01b815260040160405180910390fd5b61049b818c6105d8565b508e90506104ab81858b89611507565b5f6104b7600288611209565b90508c6104d1826104cb6020840184613716565b8561123d565b858b86846104e26020860186613716565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661051f60408b0160208c0161373e565b6105338961052d8a8d613804565b906106a9565b8d61054160408e018e613759565b604051610555989796959493929190613817565b60405180910390a350989d50939b5050505050505050505050506100d560015f55565b60025f540361059a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105ae6020830183613716565b6001600160a01b0316036105d55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105eb604085016020860161373e565b1561061057610606856106016040870187613759565b6116ba565b9093509050610628565b5034610628856106236040870187613759565b611805565b6106306112e2565b915080156106a0576040515f90339083908381818185875af1925050503d805f8114610677576040519150601f19603f3d011682016040523d82523d5f602084013e61067c565b606091505b505090508061069e576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106bd8383670de0b6b3a76400006118cf565b90505b92915050565b5f6106f1427f00000000000000000000000000000000000000000000000000000000000000006118ea565b905090565b5f84815260086020526040812060018101546001600160801b031615158061071d57504286115b1561073657600101546001600160801b03169050610d52565b5f805f6107416106c6565b90505f61076e7f00000000000000000000000000000000000000000000000000000000000000008b6136ef565b90505b818110156107e2575f818152600860205260409020600101546001600160801b031680156107ba575f828152600860205260409020549094506001600160801b031692506107e2565b507f000000000000000000000000000000000000000000000000000000000000000001610771565b835f03610854578893506108516107f76118ff565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b92505b5061085e8361193e565b6001850180546001600160801b0319166001600160801b03929092169190911790556108b46108ad7f00000000000000000000000000000000000000000000000000000000000000008b613804565b8a84610f39565b6108f2896108ec6108e57f0000000000000000000000000000000000000000000000000000000000000000836136ef565b429061196b565b84610f39565b6108fb8861197f565b505f905060088161092c7f00000000000000000000000000000000000000000000000000000000000000008d613804565b815260208101919091526040015f908120600101546001600160801b0316915061095760028c611209565b5f818152600b60205260408120549192508c8c8315610a9857600192505f8061098386898d865f611b1c565b915091508060095f82825461099891906136ef565b909155506109b39050865f846109ad81611be9565b88611c12565b6109bd81836136ef565b91506109ed86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d89565b9150610a016109fc83856106a9565b611dd2565b60068054600290610a229084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4f8261193e565b60068054601090610a71908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610aa4600184611209565b5f818152600b60205260409020549091508015610baf57600194505f80610acf838b8f886001611b1c565b915091508060095f828254610ae491906136ef565b90915550610aff9050835f84610af981611be9565b8a611dfb565b610b098183613804565b9150610b186109fc83876106a9565b60068054600290610b399084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b668261193e565b60068054601090610b88908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610be857610bda610bc187611be9565b610bca83611be9565b610bd4919061389e565b5f611feb565b8e610be5848261202a565b50505b5f610bf284612219565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc91906138bd565b90506001600160a01b03811615610d4057610d3d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061235b565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d676118ff565b600254909150610dcc908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123e1565b600254909450610e2f908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b9150610e868785610e81857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061240c565b612470565b15610e9357610e936124b1565b610e9f878588856124ca565b91965094509250670de0b6b3a7640000610f21610ebc87846136ef565b600254610eda908890600160801b90046001600160801b0316613804565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b1115610f2f57610f2f6124b1565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f645750505050565b5f848152600860205260408120546001600160801b031690819003610fbc57610f8c8361193e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611039565b61100d611008670de0b6b3a7640000610fd58886613804565b610fdf91906138d8565b85670de0b6b3a7640000610ff3878a613804565b610ffd91906138d8565b859291906001612512565b61193e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6110428461193e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110b46110088261109e670de0b6b3a7640000866138d8565b6005546001600160801b03169190886001612512565b600580546001600160801b0319166001600160801b03929092169190911790556110dd8561193e565b600280545f906110f79084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111248461193e565b60028054601090611146908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111738461193e565b61117d908261387e565b600380546001600160801b03808416600160801b02911617905590505f6111a3836125b6565b90506111c1816111b287611be9565b6111bc908461390f565b611feb565b6111ca846125f6565b6111d6576111d66124b1565b5f6111e085612655565b90508061120057604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112325760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061126e9084906136ef565b90915550505f838152600b6020526040812080548392906112909084906136ef565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106f1670de0b6b3a764000061148a565b5f805f805f6113016118ff565b600254909150611366908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612661565b9350876113738589612681565b1115611381576113816124b1565b6002545f9081906113e5908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b93506113fb8a670de0b6b3a7640000868c612695565b5091935090915061140e90508183613804565b6114189087613804565b9550886114658161145f8d61142d868c613804565b8d61143887826127a1565b877f00000000000000000000000000000000000000000000000000000000000000006127b6565b90612681565b975090945050505093509350935093565b5f6106bd83670de0b6b3a7640000846127d6565b5f6106c07f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127f9565b5f6114e7604083016020840161373e565b156114f3575082611500565b6114fd84846128d8565b90505b9392505050565b6002546001600160801b031683811015611523576115236124b1565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155b908390600f0b6128ec565b1015611569576115696124b1565b6004546115b39061100890600160801b90046001600160801b0316611596670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b03169190896001612512565b600580546001600160801b03928316600160801b0292169190911790556115d98161193e565b600280546001600160801b0319166001600160801b03929092169190911790556116028561193e565b60028054601090611624908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116518561193e565b60048054601090611673908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a1836125b6565b90506111c1816116b088611be9565b6111bc908461389e565b5f80843410156116dd576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179291906138bd565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117d5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117fa9190613936565b91505b935093915050565b5f61180f8461148a565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611884573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a8919061394d565b9050806118c8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f1904841183021582026118e3575f80fd5b5091020490565b5f6118f5828461397c565b6106bd9084613804565b6002546004545f916106f1916001600160801b0390911690600f0b6128ec565b5f6119358261192f8588886118cf565b90612911565b95945050505050565b5f6001600160801b0382111561196757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161197957826106bd565b50919050565b6006545f9081906119a1908490600160801b90046001600160801b03166106a9565b6006546201000090046001600160701b03169250905081811115611b17575f6119ca8383613804565b90506119d96110088286611476565b600680546010906119fb908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a3385836128d890919063ffffffff16565b90505f611a60827f00000000000000000000000000000000000000000000000000000000000000006106a9565b90508060095f828254611a7391906136ef565b90915550611a8390508183613804565b9150611a8e8261193e565b600280545f90611aa89084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ad582612976565b600480545f90611ae9908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611b2887856128d8565b91505f611b55837f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050611b81817f00000000000000000000000000000000000000000000000000000000000000006106a9565b91508315611ba457611b938282613804565b611b9d9084613804565b9250611bbb565b611bae8282613804565b611bb890846136ef565b92505b86861015611bde57611bce8387896118cf565b9250611bdb8287896118cf565b91505b509550959350505050565b5f6001600160ff1b038211156119675760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c5a61100882611c3e670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b031691908a5f612512565b600580546001600160801b03928316600160801b029216919091179055611c808661193e565b611c8a90826138ef565b600480546001600160801b03928316600160801b029216919091179055611cb08461193e565b600280545f90611cca9084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cf78361299f565b600480545f90611d0b908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d3b8561193e565b60028054601090611d5d908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611da084611d9a8a888a6118cf565b906128d8565b9050611dad8884866118cf565b611db790826136ef565b905086811115611dc75786810391505b509695505050505050565b5f6001600160701b038211156119675760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e3d57507f0000000000000000000000000000000000000000000000000000000000000000611e3b8583613804565b105b15611e4a57611e4a6124b1565b6004549084900390600f0b611e5f848261389e565b905083611e6b86611be9565b138015611ea057507f0000000000000000000000000000000000000000000000000000000000000000611e9e83836128ec565b105b15611ead57611ead6124b1565b600354600160801b90046001600160801b0316611eee61100882611ed9670de0b6b3a7640000886138d8565b6005546001600160801b031691908c5f612512565b600580546001600160801b0319166001600160801b0392909216919091179055611f188882613804565b9050611f238161193e565b600380546001600160801b03928316600160801b029216919091179055611f498361193e565b600280546001600160801b0319166001600160801b0392909216919091179055611f728261299f565b600480546001600160801b0319166001600160801b0392909216919091179055611f9b8761193e565b60028054601090611fbd908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461200690611008906001600160801b031684846129da565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612074916001600160801b031690613804565b9050805f036120875760019150506106c0565b5f61209185612a3c565b9050805f036120a5576001925050506106c0565b5f806120b2838589612ad7565b91509150806120c7575f9450505050506106c0565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612102929190613a3a565b6040805180830381865af415801561211c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121409190613aaf565b9150915061215e61215082611be9565b61215990613ad1565b612c44565b925082612173575f96505050505050506106c0565b61217c8261193e565b600780545f906121969084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121c38161193e565b600780546010906121e5908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61224087612dd8565b6040518263ffffffff1660e01b815260040161225c9190613aeb565b6040805180830381865af4158015612276573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229a9190613afa565b91509150806122af57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612314916136ef565b61231e9190613804565b9050805f0361233457505f958695509350505050565b5f808711612342575f61234d565b61234d8488846118cf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561237e5761237e613b28565b6040519080825280601f01601f1916602001820160405280156123a8576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156123c8578692505b828152825f602083013e90999098509650505050505050565b5f6124018787876123fa88670de0b6b3a7640000613804565b8787612f12565b979650505050505050565b5f6114fd61244c61242584670de0b6b3a7640000613804565b61145f670de0b6b3a764000061243b818a611476565b6124459190613804565b8790612681565b61245e90670de0b6b3a76400006136ef565b611d9a84670de0b6b3a7640000613804565b5f806124a68561247e6118ff565b61248891906136ef565b600254610eda908790600160801b90046001600160801b0316613804565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124da898789612f34565b90925090506124e98289613804565b97505f6124f782888a6118cf565b9050612503818b613804565b9a989950979650505050505050565b5f825f03612521575084611935565b81156125735761255261253484876136ef565b61253e85876106a9565b612548888a6106a9565b611d9a91906136ef565b90505f61255f858861196b565b90508082101561256d578091505b50611935565b82850361258157505f611935565b6125ac61258e8487613804565b6125988587612681565b6125a2888a6106a9565b611d9a9190613804565b9695505050505050565b5f6125db600b5f6125c8600286611209565b81526020019081526020015f2054611be9565b6125ec600b5f6125c8600187611209565b6106c0919061389e565b5f6126217f000000000000000000000000000000000000000000000000000000000000000083612681565b60035461263791906001600160801b03166136ef565b60025461264d906001600160801b0316846106a9565b101592915050565b5f6106c082600461202a565b5f61240187878761267a88670de0b6b3a7640000613804565b8787612fb3565b5f6106bd8383670de0b6b3a76400006127d6565b5f8080806126e587866126de8b61145f6126b78c670de0b6b3a7640000613804565b7f000000000000000000000000000000000000000000000000000000000000000090612681565b91906127d6565b9350612711847f00000000000000000000000000000000000000000000000000000000000000006106a9565b91505f61273161272989670de0b6b3a7640000613804565b8a90886127d6565b905061275d817f0000000000000000000000000000000000000000000000000000000000000000612681565b9350612789847f00000000000000000000000000000000000000000000000000000000000000006106a9565b61279390846136ef565b915050945094509450949050565b5f8183116127af57816106bd565b5090919050565b5f806127cd846127c78a888a6127d6565b90611476565b9050611dad8884865b5f825f1904841183021582026127ea575f80fd5b50910281810615159190040190565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285b9190613936565b9050805f0361286d575f915050611500565b611935856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d09190613936565b8490836118cf565b5f6106bd83670de0b6b3a7640000846118cf565b5f806128f88484612fc3565b90925090508061290a5761290a6124b1565b5092915050565b5f815f036129285750670de0b6b3a76400006106c0565b825f0361293657505f6106c0565b5f61294083611be9565b90505f61295461294f86611be9565b612ffb565b905081810261296b670de0b6b3a764000082613b3c565b90506125ac81613220565b5f60016001607f1b038211156119675760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806129bc575060016001607f1b0382135b156119675760405163a5353be560e01b815260040160405180910390fd5b5f806129e6845f6133b2565b6129f0845f6133b2565b6129fa919061389e565b90505f811315612a1557612a0e81866136ef565b9450612a33565b5f811215612a3357612a2681613ad1565b612a309086613804565b94505b50929392505050565b6003545f908190612a56906001600160801b031684611476565b9050612a827f0000000000000000000000000000000000000000000000000000000000000000826136ef565b6002546001600160801b03161115611979576002547f000000000000000000000000000000000000000000000000000000000000000090612acd9083906001600160801b0316613804565b6115009190613804565b612adf6135e2565b5f80612aea84612dd8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b249190613aeb565b6040805180830381865af4158015612b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b629190613afa565b9350905082612b7657505f91506117fd9050565b5f612b9c612b978461016001518561014001516106a990919063ffffffff16565b611be9565b612bbc612b9785610120015186610100015161268190919063ffffffff16565b612bc6919061389e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1e9190613b68565b935093509350935080612d3957505f98975050505050505050565b868414612d6a57612d498461193e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d9b57612d7a8361299f565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612dc957612dab8261193e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612de061362c565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ed891166133c0565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f0a929004166133c0565b905292915050565b5f80612f22888888888888613434565b909250905080611dc757611dc76124b1565b5f80612f7d8561145f85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f73818c611476565b61145f9190613804565b9150612fa9827f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050935093915050565b5f80612f228888888888886134f8565b5f805f83612fd086611be9565b612fda919061389e565b90505f811215612ff0575f8092509250506106a2565b946001945092505050565b5f80821361301c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309f9084901c611be9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323957505f919050565b680755bf798b4a1bf1e58212613262576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906125ac74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611be9565b5f8183136127af57816106bd565b5f80670de0b6b3a76400006133d36106c6565b6133dd91906138d8565b90508083116133ec575f6133f6565b6133f68184613804565b915061150061342d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d8565b83906128d8565b5f805f61344489898888886135b4565b905061345e8661192f6134578a8d6136ef565b87906106a9565b985061346b858a866118cf565b985088811015613481575f8092509250506134ed565b888103670de0b6b3a764000081106134b6576134af6134a8670de0b6b3a764000089611476565b8290612911565b90506134ce565b6134cb6134a8670de0b6b3a7640000896128d8565b90505b808910156134e3575f809350935050506134ed565b8803925060019150505b965096945050505050565b5f805f61350889898888886135b4565b90506135188661192f898b6136ef565b97508781101561352e575f8092509250506134ed565b87810361353c8186886127d6565b9050670de0b6b3a76400008110613569576135626134a8670de0b6b3a764000089611476565b9050613581565b61357e6134a8670de0b6b3a7640000896128d8565b90505b61358b8186611476565b9050808a10156135a2575f809350935050506134ed565b90980398600198509650505050505050565b5f6135bf8585612911565b6135d86135d08661192f868b612681565b8590856127d6565b6125ac91906136ef565b6040518061012001604052806135f661362c565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613694575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136bf575f80fd5b8501606081880312156136d0575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c0576106c06136db565b6001600160a01b03811681146105d5575f80fd5b5f60208284031215613726575f80fd5b813561150081613702565b80151581146105d5575f80fd5b5f6020828403121561374e575f80fd5b813561150081613731565b5f808335601e1984360301811261376e575f80fd5b83018035915067ffffffffffffffff821115613788575f80fd5b6020019150368190038213156106a2575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137f760c08301848661379c565b9998505050505050505050565b818103818111156106c0576106c06136db565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61385060e08301848661379c565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561290a5761290a6136db565b6001600160801b0381811683821601908082111561290a5761290a6136db565b8181035f83128015838313168383128216171561290a5761290a6136db565b5f602082840312156138cd575f80fd5b815161150081613702565b80820281158282048414176106c0576106c06136db565b6001600160801b0382811682821603908082111561290a5761290a6136db565b8082018281125f83128015821682158216171561392e5761392e6136db565b505092915050565b5f60208284031215613946575f80fd5b5051919050565b5f6020828403121561395d575f80fd5b815161150081613731565b634e487b7160e01b5f52601260045260245ffd5b5f8261398a5761398a613968565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106c0576106c06136db565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a4d8285516139bc565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ac0575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613ae557613ae56136db565b505f0390565b61018081016106c082846139bc565b5f8060408385031215613b0b575f80fd5b825191506020830151613b1d81613731565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b4a57613b4a613968565b600160ff1b82145f1984141615613b6357613b636136db565b500590565b5f805f8060808587031215613b7b575f80fd5b84519350602085015192506040850151915060608501516136d08161373156fea2646970667358221220059bf0099f9f65942f2b523ba2b81b1e97a86f6165c63f203c3c9fd9eae7251164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/EETHTarget2Deployer.ts new file mode 100644 index 000000000..31363a630 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget2Deployer.ts @@ -0,0 +1,172 @@ +export const EETHTarget2Deployer = { + name: 'EETHTarget2Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161464638038061464683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516145bd6100895f395f8181603d015260b801526145bd5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b614091806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162004091380380620040918339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613bd1620004c05f395f818160480152818161149001526116e401525f50505f50505f8181610c4e015261171401525f50505f8181610148015281816103490152612e6d01525f818161152d01528181611e1201528181611e75015281816125fc01528181612a5d01528181612a9901528181612c8a0152612e4701525f818161080c01528181610da801528181610dea01528181610edc01528181611342015281816113a00152612e2101525f611a3c01525f8181611b5d015281816126ed015281816127650152612f8501525f81816109c901528181610e5d0152818161143b01528181611b31015261273901525f8181610e3c015281816126b90152612f4101525f818161082d01528181610d8601528181610e0b01528181610efd01528181611320015281816113c10152612e9301525f8181610222015281816103dd01528181610907015261340901525f81816106cd01528181610749015281816107bd0152818161088801526108c001525f81816114b1015261183e01525f5050613bd15ff3fe608060405260043610610033575f3560e01c8063207deba014610037578063cba2e58d14610087578063dbbe8070146100af575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004613681565b6100c2565b6040805192835260208301919091520161007e565b61009a6100bd366004613681565b6100de565b5f806100d0868686866100ec565b915091505b94509492505050565b5f806100d08686868661030b565b5f806100f6610578565b600654610100900460ff161561011f576040516321081abf60e01b815260040160405180910390fd5b610128836105a0565b5f8061013488866105d8565b90925090505f61014483836106a9565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101875760405163211ddda360e11b815260040160405180910390fd5b868210156101a8576040516342af972b60e01b815260040160405180910390fd5b5f6101b16106c6565b90506101c18184600460016106f6565b505f805f6101cf8787610d5a565b919a5091945090925090508b8810156101fb5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461020c91906136ef565b9091555061021d9050844283610f39565b6102477f0000000000000000000000000000000000000000000000000000000000000000856136ef565b98506102558389888c611072565b5f61026160018b611209565b905061027a8161027460208e018e613716565b8b61123d565b8d8a8a898e8561028d6020830183613716565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ca604088016020890161373e565b896102d860408a018a613759565b6040516102eb97969594939291906137c4565b60405180910390a350909b5050505050505050505050506100d560015f55565b5f80610315610578565b600654610100900460ff161561033e576040516321081abf60e01b815260040160405180910390fd5b610347836105a0565b7f00000000000000000000000000000000000000000000000000000000000000008610156103885760405163211ddda360e11b815260040160405180910390fd5b5f6103916112e2565b9050848110156103b4576040516342af972b60e01b815260040160405180910390fd5b5f6103bd6106c6565b90505f6103d56103cb6106c6565b84600460016106f6565b90505f6104027f0000000000000000000000000000000000000000000000000000000000000000846136ef565b90505f805f806104138e89886112f4565b60098054949850929650909450925083915f906104319084906136ef565b909155506104429050874283610f39565b61045461044f858a611476565b61148a565b61045f9060016136ef565b9350505f61046e84898d6114d6565b9050808d10156104915760405163c972651760e01b815260040160405180910390fd5b61049b818c6105d8565b508e90506104ab81858b89611507565b5f6104b7600288611209565b90508c6104d1826104cb6020840184613716565b8561123d565b858b86846104e26020860186613716565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661051f60408b0160208c0161373e565b6105338961052d8a8d613804565b906106a9565b8d61054160408e018e613759565b604051610555989796959493929190613817565b60405180910390a350989d50939b5050505050505050505050506100d560015f55565b60025f540361059a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105ae6020830183613716565b6001600160a01b0316036105d55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105eb604085016020860161373e565b1561061057610606856106016040870187613759565b6116ba565b9093509050610628565b5034610628856106236040870187613759565b611805565b6106306112e2565b915080156106a0576040515f90339083908381818185875af1925050503d805f8114610677576040519150601f19603f3d011682016040523d82523d5f602084013e61067c565b606091505b505090508061069e576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106bd8383670de0b6b3a76400006118cf565b90505b92915050565b5f6106f1427f00000000000000000000000000000000000000000000000000000000000000006118ea565b905090565b5f84815260086020526040812060018101546001600160801b031615158061071d57504286115b1561073657600101546001600160801b03169050610d52565b5f805f6107416106c6565b90505f61076e7f00000000000000000000000000000000000000000000000000000000000000008b6136ef565b90505b818110156107e2575f818152600860205260409020600101546001600160801b031680156107ba575f828152600860205260409020549094506001600160801b031692506107e2565b507f000000000000000000000000000000000000000000000000000000000000000001610771565b835f03610854578893506108516107f76118ff565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b92505b5061085e8361193e565b6001850180546001600160801b0319166001600160801b03929092169190911790556108b46108ad7f00000000000000000000000000000000000000000000000000000000000000008b613804565b8a84610f39565b6108f2896108ec6108e57f0000000000000000000000000000000000000000000000000000000000000000836136ef565b429061196b565b84610f39565b6108fb8861197f565b505f905060088161092c7f00000000000000000000000000000000000000000000000000000000000000008d613804565b815260208101919091526040015f908120600101546001600160801b0316915061095760028c611209565b5f818152600b60205260408120549192508c8c8315610a9857600192505f8061098386898d865f611b1c565b915091508060095f82825461099891906136ef565b909155506109b39050865f846109ad81611be9565b88611c12565b6109bd81836136ef565b91506109ed86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d89565b9150610a016109fc83856106a9565b611dd2565b60068054600290610a229084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4f8261193e565b60068054601090610a71908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610aa4600184611209565b5f818152600b60205260409020549091508015610baf57600194505f80610acf838b8f886001611b1c565b915091508060095f828254610ae491906136ef565b90915550610aff9050835f84610af981611be9565b8a611dfb565b610b098183613804565b9150610b186109fc83876106a9565b60068054600290610b399084906201000090046001600160701b031661385e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b668261193e565b60068054601090610b88908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610be857610bda610bc187611be9565b610bca83611be9565b610bd4919061389e565b5f611feb565b8e610be5848261202a565b50505b5f610bf284612219565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc91906138bd565b90506001600160a01b03811615610d4057610d3d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061235b565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d676118ff565b600254909150610dcc908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006123e1565b600254909450610e2f908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b9150610e868785610e81857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061240c565b612470565b15610e9357610e936124b1565b610e9f878588856124ca565b91965094509250670de0b6b3a7640000610f21610ebc87846136ef565b600254610eda908890600160801b90046001600160801b0316613804565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b1115610f2f57610f2f6124b1565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f645750505050565b5f848152600860205260408120546001600160801b031690819003610fbc57610f8c8361193e565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611039565b61100d611008670de0b6b3a7640000610fd58886613804565b610fdf91906138d8565b85670de0b6b3a7640000610ff3878a613804565b610ffd91906138d8565b859291906001612512565b61193e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6110428461193e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110b46110088261109e670de0b6b3a7640000866138d8565b6005546001600160801b03169190886001612512565b600580546001600160801b0319166001600160801b03929092169190911790556110dd8561193e565b600280545f906110f79084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111248461193e565b60028054601090611146908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111738461193e565b61117d908261387e565b600380546001600160801b03808416600160801b02911617905590505f6111a3836125b6565b90506111c1816111b287611be9565b6111bc908461390f565b611feb565b6111ca846125f6565b6111d6576111d66124b1565b5f6111e085612655565b90508061120057604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112325760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061126e9084906136ef565b90915550505f838152600b6020526040812080548392906112909084906136ef565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106f1670de0b6b3a764000061148a565b5f805f805f6113016118ff565b600254909150611366908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612661565b9350876113738589612681565b1115611381576113816124b1565b6002545f9081906113e5908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061191f565b93506113fb8a670de0b6b3a7640000868c612695565b5091935090915061140e90508183613804565b6114189087613804565b9550886114658161145f8d61142d868c613804565b8d61143887826127a1565b877f00000000000000000000000000000000000000000000000000000000000000006127b6565b90612681565b975090945050505093509350935093565b5f6106bd83670de0b6b3a7640000846127d6565b5f6106c07f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846127f9565b5f6114e7604083016020840161373e565b156114f3575082611500565b6114fd84846128d8565b90505b9392505050565b6002546001600160801b031683811015611523576115236124b1565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155b908390600f0b6128ec565b1015611569576115696124b1565b6004546115b39061100890600160801b90046001600160801b0316611596670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b03169190896001612512565b600580546001600160801b03928316600160801b0292169190911790556115d98161193e565b600280546001600160801b0319166001600160801b03929092169190911790556116028561193e565b60028054601090611624908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116518561193e565b60048054601090611673908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a1836125b6565b90506111c1816116b088611be9565b6111bc908461389e565b5f80843410156116dd576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179291906138bd565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117d5573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117fa9190613936565b91505b935093915050565b5f61180f8461148a565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611884573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a8919061394d565b9050806118c8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f1904841183021582026118e3575f80fd5b5091020490565b5f6118f5828461397c565b6106bd9084613804565b6002546004545f916106f1916001600160801b0390911690600f0b6128ec565b5f6119358261192f8588886118cf565b90612911565b95945050505050565b5f6001600160801b0382111561196757604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161197957826106bd565b50919050565b6006545f9081906119a1908490600160801b90046001600160801b03166106a9565b6006546201000090046001600160701b03169250905081811115611b17575f6119ca8383613804565b90506119d96110088286611476565b600680546010906119fb908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611a3385836128d890919063ffffffff16565b90505f611a60827f00000000000000000000000000000000000000000000000000000000000000006106a9565b90508060095f828254611a7391906136ef565b90915550611a8390508183613804565b9150611a8e8261193e565b600280545f90611aa89084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ad582612976565b600480545f90611ae9908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611b2887856128d8565b91505f611b55837f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050611b81817f00000000000000000000000000000000000000000000000000000000000000006106a9565b91508315611ba457611b938282613804565b611b9d9084613804565b9250611bbb565b611bae8282613804565b611bb890846136ef565b92505b86861015611bde57611bce8387896118cf565b9250611bdb8287896118cf565b91505b509550959350505050565b5f6001600160ff1b038211156119675760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c5a61100882611c3e670de0b6b3a7640000866138d8565b600554600160801b90046001600160801b031691908a5f612512565b600580546001600160801b03928316600160801b029216919091179055611c808661193e565b611c8a90826138ef565b600480546001600160801b03928316600160801b029216919091179055611cb08461193e565b600280545f90611cca9084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cf78361299f565b600480545f90611d0b908490600f0b61398f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611d3b8561193e565b60028054601090611d5d908490600160801b90046001600160801b03166138ef565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611da084611d9a8a888a6118cf565b906128d8565b9050611dad8884866118cf565b611db790826136ef565b905086811115611dc75786810391505b509695505050505050565b5f6001600160701b038211156119675760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611e3d57507f0000000000000000000000000000000000000000000000000000000000000000611e3b8583613804565b105b15611e4a57611e4a6124b1565b6004549084900390600f0b611e5f848261389e565b905083611e6b86611be9565b138015611ea057507f0000000000000000000000000000000000000000000000000000000000000000611e9e83836128ec565b105b15611ead57611ead6124b1565b600354600160801b90046001600160801b0316611eee61100882611ed9670de0b6b3a7640000886138d8565b6005546001600160801b031691908c5f612512565b600580546001600160801b0319166001600160801b0392909216919091179055611f188882613804565b9050611f238161193e565b600380546001600160801b03928316600160801b029216919091179055611f498361193e565b600280546001600160801b0319166001600160801b0392909216919091179055611f728261299f565b600480546001600160801b0319166001600160801b0392909216919091179055611f9b8761193e565b60028054601090611fbd908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461200690611008906001600160801b031684846129da565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612074916001600160801b031690613804565b9050805f036120875760019150506106c0565b5f61209185612a3c565b9050805f036120a5576001925050506106c0565b5f806120b2838589612ad7565b91509150806120c7575f9450505050506106c0565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612102929190613a3a565b6040805180830381865af415801561211c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121409190613aaf565b9150915061215e61215082611be9565b61215990613ad1565b612c44565b925082612173575f96505050505050506106c0565b61217c8261193e565b600780545f906121969084906001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121c38161193e565b600780546010906121e5908490600160801b90046001600160801b031661387e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61224087612dd8565b6040518263ffffffff1660e01b815260040161225c9190613aeb565b6040805180830381865af4158015612276573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229a9190613afa565b91509150806122af57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612314916136ef565b61231e9190613804565b9050805f0361233457505f958695509350505050565b5f808711612342575f61234d565b61234d8488846118cf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561237e5761237e613b28565b6040519080825280601f01601f1916602001820160405280156123a8576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156123c8578692505b828152825f602083013e90999098509650505050505050565b5f6124018787876123fa88670de0b6b3a7640000613804565b8787612f12565b979650505050505050565b5f6114fd61244c61242584670de0b6b3a7640000613804565b61145f670de0b6b3a764000061243b818a611476565b6124459190613804565b8790612681565b61245e90670de0b6b3a76400006136ef565b611d9a84670de0b6b3a7640000613804565b5f806124a68561247e6118ff565b61248891906136ef565b600254610eda908790600160801b90046001600160801b0316613804565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6124da898789612f34565b90925090506124e98289613804565b97505f6124f782888a6118cf565b9050612503818b613804565b9a989950979650505050505050565b5f825f03612521575084611935565b81156125735761255261253484876136ef565b61253e85876106a9565b612548888a6106a9565b611d9a91906136ef565b90505f61255f858861196b565b90508082101561256d578091505b50611935565b82850361258157505f611935565b6125ac61258e8487613804565b6125988587612681565b6125a2888a6106a9565b611d9a9190613804565b9695505050505050565b5f6125db600b5f6125c8600286611209565b81526020019081526020015f2054611be9565b6125ec600b5f6125c8600187611209565b6106c0919061389e565b5f6126217f000000000000000000000000000000000000000000000000000000000000000083612681565b60035461263791906001600160801b03166136ef565b60025461264d906001600160801b0316846106a9565b101592915050565b5f6106c082600461202a565b5f61240187878761267a88670de0b6b3a7640000613804565b8787612fb3565b5f6106bd8383670de0b6b3a76400006127d6565b5f8080806126e587866126de8b61145f6126b78c670de0b6b3a7640000613804565b7f000000000000000000000000000000000000000000000000000000000000000090612681565b91906127d6565b9350612711847f00000000000000000000000000000000000000000000000000000000000000006106a9565b91505f61273161272989670de0b6b3a7640000613804565b8a90886127d6565b905061275d817f0000000000000000000000000000000000000000000000000000000000000000612681565b9350612789847f00000000000000000000000000000000000000000000000000000000000000006106a9565b61279390846136ef565b915050945094509450949050565b5f8183116127af57816106bd565b5090919050565b5f806127cd846127c78a888a6127d6565b90611476565b9050611dad8884865b5f825f1904841183021582026127ea575f80fd5b50910281810615159190040190565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061285b9190613936565b9050805f0361286d575f915050611500565b611935856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d09190613936565b8490836118cf565b5f6106bd83670de0b6b3a7640000846118cf565b5f806128f88484612fc3565b90925090508061290a5761290a6124b1565b5092915050565b5f815f036129285750670de0b6b3a76400006106c0565b825f0361293657505f6106c0565b5f61294083611be9565b90505f61295461294f86611be9565b612ffb565b905081810261296b670de0b6b3a764000082613b3c565b90506125ac81613220565b5f60016001607f1b038211156119675760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806129bc575060016001607f1b0382135b156119675760405163a5353be560e01b815260040160405180910390fd5b5f806129e6845f6133b2565b6129f0845f6133b2565b6129fa919061389e565b90505f811315612a1557612a0e81866136ef565b9450612a33565b5f811215612a3357612a2681613ad1565b612a309086613804565b94505b50929392505050565b6003545f908190612a56906001600160801b031684611476565b9050612a827f0000000000000000000000000000000000000000000000000000000000000000826136ef565b6002546001600160801b03161115611979576002547f000000000000000000000000000000000000000000000000000000000000000090612acd9083906001600160801b0316613804565b6115009190613804565b612adf6135e2565b5f80612aea84612dd8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b249190613aeb565b6040805180830381865af4158015612b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b629190613afa565b9350905082612b7657505f91506117fd9050565b5f612b9c612b978461016001518561014001516106a990919063ffffffff16565b611be9565b612bbc612b9785610120015186610100015161268190919063ffffffff16565b612bc6919061389e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612cfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1e9190613b68565b935093509350935080612d3957505f98975050505050505050565b868414612d6a57612d498461193e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d9b57612d7a8361299f565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612dc957612dab8261193e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612de061362c565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ed891166133c0565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f0a929004166133c0565b905292915050565b5f80612f22888888888888613434565b909250905080611dc757611dc76124b1565b5f80612f7d8561145f85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f73818c611476565b61145f9190613804565b9150612fa9827f00000000000000000000000000000000000000000000000000000000000000006106a9565b9050935093915050565b5f80612f228888888888886134f8565b5f805f83612fd086611be9565b612fda919061389e565b90505f811215612ff0575f8092509250506106a2565b946001945092505050565b5f80821361301c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309f9084901c611be9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323957505f919050565b680755bf798b4a1bf1e58212613262576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906125ac74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611be9565b5f8183136127af57816106bd565b5f80670de0b6b3a76400006133d36106c6565b6133dd91906138d8565b90508083116133ec575f6133f6565b6133f68184613804565b915061150061342d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d8565b83906128d8565b5f805f61344489898888886135b4565b905061345e8661192f6134578a8d6136ef565b87906106a9565b985061346b858a866118cf565b985088811015613481575f8092509250506134ed565b888103670de0b6b3a764000081106134b6576134af6134a8670de0b6b3a764000089611476565b8290612911565b90506134ce565b6134cb6134a8670de0b6b3a7640000896128d8565b90505b808910156134e3575f809350935050506134ed565b8803925060019150505b965096945050505050565b5f805f61350889898888886135b4565b90506135188661192f898b6136ef565b97508781101561352e575f8092509250506134ed565b87810361353c8186886127d6565b9050670de0b6b3a76400008110613569576135626134a8670de0b6b3a764000089611476565b9050613581565b61357e6134a8670de0b6b3a7640000896128d8565b90505b61358b8186611476565b9050808a10156135a2575f809350935050506134ed565b90980398600198509650505050505050565b5f6135bf8585612911565b6135d86135d08661192f868b612681565b8590856127d6565b6125ac91906136ef565b6040518061012001604052806135f661362c565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613694575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136bf575f80fd5b8501606081880312156136d0575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c0576106c06136db565b6001600160a01b03811681146105d5575f80fd5b5f60208284031215613726575f80fd5b813561150081613702565b80151581146105d5575f80fd5b5f6020828403121561374e575f80fd5b813561150081613731565b5f808335601e1984360301811261376e575f80fd5b83018035915067ffffffffffffffff821115613788575f80fd5b6020019150368190038213156106a2575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137f760c08301848661379c565b9998505050505050505050565b818103818111156106c0576106c06136db565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61385060e08301848661379c565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561290a5761290a6136db565b6001600160801b0381811683821601908082111561290a5761290a6136db565b8181035f83128015838313168383128216171561290a5761290a6136db565b5f602082840312156138cd575f80fd5b815161150081613702565b80820281158282048414176106c0576106c06136db565b6001600160801b0382811682821603908082111561290a5761290a6136db565b8082018281125f83128015821682158216171561392e5761392e6136db565b505092915050565b5f60208284031215613946575f80fd5b5051919050565b5f6020828403121561395d575f80fd5b815161150081613731565b634e487b7160e01b5f52601260045260245ffd5b5f8261398a5761398a613968565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106c0576106c06136db565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a4d8285516139bc565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ac0575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613ae557613ae56136db565b505f0390565b61018081016106c082846139bc565b5f8060408385031215613b0b575f80fd5b825191506020830151613b1d81613731565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b4a57613b4a613968565b600160ff1b82145f1984141615613b6357613b636136db565b500590565b5f805f8060808587031215613b7b575f80fd5b84519350602085015192506040850151915060608501516136d08161373156fea2646970667358221220059bf0099f9f65942f2b523ba2b81b1e97a86f6165c63f203c3c9fd9eae7251164736f6c63430008160033a26469706673582212207f61c2c41875cea09cc584c35a076ce90c66a4d2a70c82ade54f9037ba1df07264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget3.ts b/packages/hyperdrive-artifacts/src/EETHTarget3.ts new file mode 100644 index 000000000..378763c92 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget3.ts @@ -0,0 +1,1006 @@ +export const EETHTarget3 = { + name: 'EETHTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004026380380620040268339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b55620004d15f395f818160480152818161199c0152612c8901525f50505f50505f81816112d101526119cc01525f81816103470152818161037601526103a301525f8181610128015281816105e501526116e701525f818161087901528181610964015281816109f401528181610af9015281816115b9015281816116c1015281816121a10152818161220401528181612aad01528181612dc70152612e0301525f8181610188015281816108e901528181610e8f01528181611482015281816114e50152818161152a015261169b01525f611db201525f8181611f07015261305201525f818161104c0152611edb01525f61300801525f81816101ca0152818161093c01528181610eb001528181611452015281816114b50152818161154b015261170d01525f81816101a90152818161027e0152818161031c015281816107240152818161091601528181610f8a0152612a4301525f81816102dc01528181610d5501528181610dcc01528181610e4001528181610f0b0152610f4301525f8181611af60152612caa01525f5050613b555ff3fe608060405260043610610033575f3560e01c8063207deba0146100375780634c2ac1d91461008757806377d05ff4146100a8575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a6100953660046135da565b6100bb565b60405190815260200161007e565b61009a6100b6366004613639565b6100d5565b5f6100c986868686866100eb565b90505b95945050505050565b5f6100e184848461082d565b90505b9392505050565b5f6100f4610bd3565b600654610100900460ff161561011d576040516321081abf60e01b815260040160405180910390fd5b61012682610bfb565b7f00000000000000000000000000000000000000000000000000000000000000008610156101675760405163211ddda360e11b815260040160405180910390fd5b5f6101ee610173610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c58565b9050848110806101fd57508381115b1561021b57604051633b61151160e11b815260040160405180910390fd5b5f806102278986610c7d565b915091505f610234610d4e565b9050610244818360046001610d79565b506002546004546003545f9283926102ad926001600160801b0380841693600f9390930b92600160801b90048116918991166102a86102a37f00000000000000000000000000000000000000000000000000000000000000008b613699565b6113dd565b611423565b91509150806102cf57604051630552b01360e31b815260040160405180910390fd5b8b5f6103406008826103017f0000000000000000000000000000000000000000000000000000000000000000896136ac565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611627565b905061036c7f000000000000000000000000000000000000000000000000000000000000000082613699565b8811806103cb57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cb57506103c87f0000000000000000000000000000000000000000000000000000000000000000826136ac565b88105b156103e957604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610434916001600160801b03909116906136ac565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061046e908390613699565b90505f805f61047c8a611652565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104b690849060040161373d565b602060405180830381865af41580156104d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f5919061374c565b91506105086105038c61178c565b6117b9565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa156916105699185910161373d565b602060405180830381865af4158015610584573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a8919061374c565b9250818310156105cb5760405163184d952160e11b815260040160405180910390fd5b6105e184836105da81876136ac565b91906117df565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106245760405163211ddda360e11b815260040160405180910390fd5b508f610630868e6117fa565b101561064f5760405163c972651760e01b815260040160405180910390fd5b61066b5f8e5f0160208101906106659190613777565b8e61180e565b610674896118b3565b95508561069457604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61074e60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102a87f00000000000000000000000000000000000000000000000000000000000000008c6102a39190613699565b9b5090508a158061076757506107648c5f6118bf565b81125b1561078557604051630552b01360e31b815260040160405180910390fd5b5f881561079c5761079787848b6117df565b61079e565b5f5b90506107ad6020850185613777565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ea60408a0160208b0161379f565b866107f860408c018c6137ba565b60405161080b97969594939291906137fd565b60405180910390a250505050505050505050505050505050506100cc60015f55565b5f610836610bd3565b61083f82610bfb565b60065460ff161561086357604051637983c05160e01b815260040160405180910390fd5b5f8061086f8685610c7d565b909250905061089f7f00000000000000000000000000000000000000000000000000000000000000006002613850565b8210156108bf57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190613867565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a1d84846118d3565b1015610a3c5760405163216f4ab160e21b815260040160405180910390fd5b5f80610a4c858585895f80611423565b91509150801580610a5c57505f82125b15610a7a57604051630552b01360e31b815260040160405180910390fd5b610a83856118f8565b600280546001600160801b0319166001600160801b0392909216919091179055610aac84611921565b600480546001600160801b0319166001600160801b0392909216919091179055610ad5836118f8565b600280546001600160801b03928316600160801b029216919091179055610b1d5f807f000000000000000000000000000000000000000000000000000000000000000061180e565b610b345f610b2e60208c018c613777565b8a61180e565b610b49610b3f610d4e565b8760046001610d79565b508a8a8a610b5a6020820182613777565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b97604087016020880161379f565b87610ba560408901896137ba565b604051610bb897969594939291906137fd565b60405180910390a2505050505050505050506100e460015f55565b60025f5403610bf557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610c096020830183613777565b6001600160a01b031603610c305760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c53916001600160801b0390911690600f0b6118d3565b905090565b5f80610c668787878661195c565b9050610c728185611627565b979650505050505050565b815f80610c90604085016020860161379f565b15610cb557610cab85610ca660408701876137ba565b611972565b9093509050610ccd565b5034610ccd85610cc860408701876137ba565b611abd565b610cd5611b87565b91508015610d45576040515f90339083908381818185875af1925050503d805f8114610d1c576040519150601f19603f3d011682016040523d82523d5f602084013e610d21565b606091505b5050905080610d43576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c53427f0000000000000000000000000000000000000000000000000000000000000000611b99565b5f84815260086020526040812060018101546001600160801b0316151580610da057504286115b15610db957600101546001600160801b031690506113d5565b5f805f610dc4610d4e565b90505f610df17f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b81811015610e65575f818152600860205260409020600101546001600160801b03168015610e3d575f828152600860205260409020549094506001600160801b03169250610e65565b507f000000000000000000000000000000000000000000000000000000000000000001610df4565b835f03610ed757889350610ed4610e7a610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b92505b50610ee1836118f8565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f37610f307f00000000000000000000000000000000000000000000000000000000000000008b6136ac565b8a84611bae565b610f7589610f6f610f687f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611ce7565b84611bae565b610f7e88611cf5565b505f9050600881610faf7f00000000000000000000000000000000000000000000000000000000000000008d6136ac565b815260208101919091526040015f908120600101546001600160801b03169150610fda60028c611e92565b5f818152600b60205260408120549192508c8c831561111b57600192505f8061100686898d865f611ec6565b915091508060095f82825461101b9190613699565b909155506110369050865f846110308161178c565b88611f93565b6110408183613699565b915061107086838a8e877f000000000000000000000000000000000000000000000000000000000000000061210a565b915061108461107f838561214d565b612161565b600680546002906110a59084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110d2826118f8565b600680546010906110f4908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611127600184611e92565b5f818152600b6020526040902054909150801561123257600194505f80611152838b8f886001611ec6565b915091508060095f8282546111679190613699565b909155506111829050835f8461117c8161178c565b8a61218a565b61118c81836136ac565b915061119b61107f838761214d565b600680546002906111bc9084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111e9826118f8565b6006805460109061120b908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561126b5761125d6112448761178c565b61124d8361178c565b61125791906138d2565b5f61237a565b8e61126884826123b9565b50505b5f611275846125a8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134f91906138f1565b90506001600160a01b038116156113c3576113c05a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126ea565b50505b509b9d50505050505050505050505050505b949350505050565b5f611402600b5f6113ef600286611e92565b81526020019081526020015f205461178c565b611413600b5f6113ef600187611e92565b61141d91906138d2565b92915050565b5f805f806114318a8a612772565b9150915080611447575f8093509350505061161c565b5f6114a6838a61147f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8b7f00000000000000000000000000000000000000000000000000000000000000006127aa565b5090505f611509848b846114e27f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8d7f0000000000000000000000000000000000000000000000000000000000000000612863565b509050811580611517575080155b1561152257505f9050805b5f61156f858c7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b905061157d83838c8461291d565b509093505f905061158e848f613699565b90505f6115ae8b8b61159f8761178c565b6115a9908e61390c565b612965565b90508b6115e36115de7f0000000000000000000000000000000000000000000000000000000000000000836129c7565b61178c565b6115ec8361178c565b6115f96115de868561214d565b61160391906138d2565b61160d91906138d2565b60019950995050505050505050505b965096945050505050565b5f6100e461163a84846301e133806129d7565b61164c85670de0b6b3a76400006136ac565b906117fa565b61165a61352b565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161175291166129fa565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611784929004166129fa565b905292915050565b5f6001600160ff1b038211156117b55760405163396ea70160e11b815260040160405180910390fd5b5090565b6117c281612a67565b610c3057604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117f3575f80fd5b5091020490565b5f6100e483670de0b6b3a7640000846117df565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061183f908490613699565b90915550505f838152600b602052604081208054839290611861908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61141d8260046123b9565b5f8183136118cd57826100e4565b50919050565b5f806118df8484612772565b9092509050806118f1576118f1612bfb565b5092915050565b5f6001600160801b038211156117b557604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061193e575060016001607f1b0382135b156117b55760405163a5353be560e01b815260040160405180910390fd5b5f6100cc8261196c8588886117df565b90612c14565b5f8084341015611995576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a4a91906138f1565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a8d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611ab2919061374c565b91505b935093915050565b5f611ac784612c83565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b609190613933565b905080611b80576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f610c53670de0b6b3a7640000612c83565b5f611ba48284613962565b6100e490846136ac565b5f83815260086020526040902054600160801b90046001600160801b0316808303611bd95750505050565b5f848152600860205260408120546001600160801b031690819003611c3157611c01836118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cae565b611c82611c7d670de0b6b3a7640000611c4a88866136ac565b611c549190613850565b85670de0b6b3a7640000611c68878a6136ac565b611c729190613850565b859291906001612ccf565b6118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cb7846118f8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118cd57826100e4565b6006545f908190611d17908490600160801b90046001600160801b031661214d565b6006546201000090046001600160701b03169250905081811115611e8d575f611d4083836136ac565b9050611d4f611c7d8286612d69565b60068054601090611d71908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611da985836117fa90919063ffffffff16565b90505f611dd6827f000000000000000000000000000000000000000000000000000000000000000061214d565b90508060095f828254611de99190613699565b90915550611df9905081836136ac565b9150611e04826118f8565b600280545f90611e1e9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e4b82612d7d565b600480545f90611e5f908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ebb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ed287856117fa565b91505f611eff837f000000000000000000000000000000000000000000000000000000000000000061214d565b9050611f2b817f000000000000000000000000000000000000000000000000000000000000000061214d565b91508315611f4e57611f3d82826136ac565b611f4790846136ac565b9250611f65565b611f5882826136ac565b611f629084613699565b92505b86861015611f8857611f788387896117df565b9250611f858287896117df565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fdb611c7d82611fbf670de0b6b3a764000086613850565b600554600160801b90046001600160801b031691908a5f612ccf565b600580546001600160801b03928316600160801b029216919091179055612001866118f8565b61200b9082613975565b600480546001600160801b03928316600160801b029216919091179055612031846118f8565b600280545f9061204b9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061207883611921565b600480545f9061208c908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506120bc856118f8565b600280546010906120de908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061211b8461164c8a888a6117df565b90506121288884866117df565b6121329082613699565b9050868111156121425786810391505b509695505050505050565b5f6100e48383670de0b6b3a76400006117df565b5f6001600160701b038211156117b55760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806121cc57507f00000000000000000000000000000000000000000000000000000000000000006121ca85836136ac565b105b156121d9576121d9612bfb565b6004549084900390600f0b6121ee84826138d2565b9050836121fa8661178c565b13801561222f57507f000000000000000000000000000000000000000000000000000000000000000061222d83836118d3565b105b1561223c5761223c612bfb565b600354600160801b90046001600160801b031661227d611c7d82612268670de0b6b3a764000088613850565b6005546001600160801b031691908c5f612ccf565b600580546001600160801b0319166001600160801b03929092169190911790556122a788826136ac565b90506122b2816118f8565b600380546001600160801b03928316600160801b0292169190911790556122d8836118f8565b600280546001600160801b0319166001600160801b039290921691909117905561230182611921565b600480546001600160801b0319166001600160801b039290921691909117905561232a876118f8565b6002805460109061234c908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461239590611c7d906001600160801b03168484612965565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612403916001600160801b0316906136ac565b9050805f0361241657600191505061141d565b5f61242085612da6565b9050805f036124345760019250505061141d565b5f80612441838589612e41565b9150915080612456575f94505050505061141d565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124919291906139c2565b6040805180830381865af41580156124ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124cf9190613a37565b915091506124ed6124df8261178c565b6124e890613a59565b612a67565b925082612502575f965050505050505061141d565b61250b826118f8565b600780545f906125259084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612552816118f8565b60078054601090612574908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125cf87611652565b6040518263ffffffff1660e01b81526004016125eb919061373d565b6040805180830381865af4158015612605573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126299190613a73565b915091508061263e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126a391613699565b6126ad91906136ac565b9050805f036126c357505f958695509350505050565b5f8087116126d1575f6126dc565b6126dc8488846117df565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561270d5761270d613aa1565b6040519080825280601f01601f191660200182016040528015612737576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612757578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361277f8661178c565b61278991906138d2565b90505f81121561279f575f809250925050610d47565b946001945092505050565b5f805f6127ba8888888888612fa9565b90505f6127e4670de0b6b3a76400006127d38888612d69565b6127dd9190613699565b83906117fa565b9050670de0b6b3a764000081106128185761281161280a670de0b6b3a7640000896117fa565b8290612c14565b9050612830565b61282d61280a670de0b6b3a764000089612d69565b90505b61283a81866117fa565b905088811015612851575f80935093505050612768565b97909703976001975095505050505050565b5f805f6128738989888888612fd7565b905061288d8661196c6128868a8d613699565b879061214d565b985061289a858a866117df565b9850888110156128b0575f80925092505061161c565b888103670de0b6b3a764000081106128de576128d761280a670de0b6b3a764000089612d69565b90506128f6565b6128f361280a670de0b6b3a7640000896117fa565b90505b8089101561290b575f8093509350505061161c565b90970398600198509650505050505050565b5f805f805f61292d898789612ffb565b909250905061293c82896136ac565b97505f61294a82888a6117df565b9050612956818b6136ac565b9a989950979650505050505050565b5f80612971845f613080565b61297b845f613080565b61298591906138d2565b90505f8113156129a0576129998186613699565b94506129be565b5f8112156129be576129b181613a59565b6129bb90866136ac565b94505b50929392505050565b5f6100e48383670de0b6b3a76400005b5f825f1904841183021582026129eb575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a0d610d4e565b612a179190613850565b9050808311612a26575f612a30565b612a3081846136ac565b91506100e46127dd670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613850565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b419190613ab5565b935093509350935080612b5c57505f98975050505050505050565b868414612b8d57612b6c846118f8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bbe57612b9d83611921565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bec57612bce826118f8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c2b5750670de0b6b3a764000061141d565b825f03612c3957505f61141d565b5f612c438361178c565b90505f612c57612c528661178c565b613095565b9050818102612c6e670de0b6b3a764000082613af3565b9050612c79816132ba565b9695505050505050565b5f61141d7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461344c565b5f825f03612cde5750846100cc565b8115612d3057612d0f612cf18487613699565b612cfb858761214d565b612d05888a61214d565b61164c9190613699565b90505f612d1c8588611ce7565b905080821015612d2a578091505b506100cc565b828503612d3e57505f6100cc565b6100c9612d4b84876136ac565b612d5585876129c7565b612d5f888a61214d565b61164c91906136ac565b5f6100e483670de0b6b3a7640000846129d7565b5f60016001607f1b038211156117b55760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dc0906001600160801b031684612d69565b9050612dec7f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b031611156118cd576002547f000000000000000000000000000000000000000000000000000000000000000090612e379083906001600160801b03166136ac565b6100e491906136ac565b612e49613580565b5f80612e5484611652565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e8e919061373d565b6040805180830381865af4158015612ea8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ecc9190613a73565b9350905082612ee057505f9150611ab59050565b5f612f016115de84610160015185610140015161214d90919063ffffffff16565b612f216115de8561012001518661010001516129c790919063ffffffff16565b612f2b91906138d2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fb48585612c14565b612fcd612fc58661196c868b61214d565b8590856117df565b6100c99190613699565b5f612fe28585612c14565b612fcd612ff38661196c868b6129c7565b8590856129d7565b5f8061304a8561304485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061303a818c612d69565b61304491906136ac565b906129c7565b9150613076827f000000000000000000000000000000000000000000000000000000000000000061214d565b9050935093915050565b5f81831361308e57816100e4565b5090919050565b5f8082136130b65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131399084901c61178c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d357505f919050565b680755bf798b4a1bf1e582126132fc576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c7974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61178c565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561348a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134ae919061374c565b9050805f036134c0575f9150506100e4565b6100cc856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613523919061374c565b8490836117df565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061359461352b565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118cd575f80fd5b5f805f805f60a086880312156135ee575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613620575f80fd5b61362c888289016135ca565b9150509295509295909350565b5f805f6060848603121561364b575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561366f575f80fd5b61367b868287016135ca565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561141d5761141d613685565b8181038181111561141d5761141d613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161141d82846136bf565b5f6020828403121561375c575f80fd5b5051919050565b6001600160a01b0381168114610c30575f80fd5b5f60208284031215613787575f80fd5b81356100e481613763565b8015158114610c30575f80fd5b5f602082840312156137af575f80fd5b81356100e481613792565b5f808335601e198436030181126137cf575f80fd5b83018035915067ffffffffffffffff8211156137e9575f80fd5b602001915036819003821315610d47575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761141d5761141d613685565b5f805f60608486031215613879575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118f1576118f1613685565b6001600160801b038181168382160190808211156118f1576118f1613685565b8181035f8312801583831316838312821617156118f1576118f1613685565b5f60208284031215613901575f80fd5b81516100e481613763565b8082018281125f83128015821682158216171561392b5761392b613685565b505092915050565b5f60208284031215613943575f80fd5b81516100e481613792565b634e487b7160e01b5f52601260045260245ffd5b5f826139705761397061394e565b500690565b6001600160801b038281168282160390808211156118f1576118f1613685565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561141d5761141d613685565b5f6102a0820190506139d58285516136bf565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a48575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6d57613a6d613685565b505f0390565b5f8060408385031215613a84575f80fd5b825191506020830151613a9681613792565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613ac8575f80fd5b8451935060208501519250604085015191506060850151613ae881613792565b939692955090935050565b5f82613b0157613b0161394e565b600160ff1b82145f1984141615613b1a57613b1a613685565b50059056fea26469706673582212204442c3eda2a6f096d77ed7a23fb0bf1e50b232c55d90611835b6ef96e5674e0264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/EETHTarget3Deployer.ts new file mode 100644 index 000000000..250759e7c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget3Deployer.ts @@ -0,0 +1,172 @@ +export const EETHTarget3Deployer = { + name: 'EETHTarget3Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516145db3803806145db83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516145526100895f395f8181603d015260b801526145525ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b614026806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162004026380380620040268339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b55620004d15f395f818160480152818161199c0152612c8901525f50505f50505f81816112d101526119cc01525f81816103470152818161037601526103a301525f8181610128015281816105e501526116e701525f818161087901528181610964015281816109f401528181610af9015281816115b9015281816116c1015281816121a10152818161220401528181612aad01528181612dc70152612e0301525f8181610188015281816108e901528181610e8f01528181611482015281816114e50152818161152a015261169b01525f611db201525f8181611f07015261305201525f818161104c0152611edb01525f61300801525f81816101ca0152818161093c01528181610eb001528181611452015281816114b50152818161154b015261170d01525f81816101a90152818161027e0152818161031c015281816107240152818161091601528181610f8a0152612a4301525f81816102dc01528181610d5501528181610dcc01528181610e4001528181610f0b0152610f4301525f8181611af60152612caa01525f5050613b555ff3fe608060405260043610610033575f3560e01c8063207deba0146100375780634c2ac1d91461008757806377d05ff4146100a8575b5f80fd5b348015610042575f80fd5b5061006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a6100953660046135da565b6100bb565b60405190815260200161007e565b61009a6100b6366004613639565b6100d5565b5f6100c986868686866100eb565b90505b95945050505050565b5f6100e184848461082d565b90505b9392505050565b5f6100f4610bd3565b600654610100900460ff161561011d576040516321081abf60e01b815260040160405180910390fd5b61012682610bfb565b7f00000000000000000000000000000000000000000000000000000000000000008610156101675760405163211ddda360e11b815260040160405180910390fd5b5f6101ee610173610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c58565b9050848110806101fd57508381115b1561021b57604051633b61151160e11b815260040160405180910390fd5b5f806102278986610c7d565b915091505f610234610d4e565b9050610244818360046001610d79565b506002546004546003545f9283926102ad926001600160801b0380841693600f9390930b92600160801b90048116918991166102a86102a37f00000000000000000000000000000000000000000000000000000000000000008b613699565b6113dd565b611423565b91509150806102cf57604051630552b01360e31b815260040160405180910390fd5b8b5f6103406008826103017f0000000000000000000000000000000000000000000000000000000000000000896136ac565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611627565b905061036c7f000000000000000000000000000000000000000000000000000000000000000082613699565b8811806103cb57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cb57506103c87f0000000000000000000000000000000000000000000000000000000000000000826136ac565b88105b156103e957604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610434916001600160801b03909116906136ac565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061046e908390613699565b90505f805f61047c8a611652565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104b690849060040161373d565b602060405180830381865af41580156104d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f5919061374c565b91506105086105038c61178c565b6117b9565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa156916105699185910161373d565b602060405180830381865af4158015610584573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a8919061374c565b9250818310156105cb5760405163184d952160e11b815260040160405180910390fd5b6105e184836105da81876136ac565b91906117df565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106245760405163211ddda360e11b815260040160405180910390fd5b508f610630868e6117fa565b101561064f5760405163c972651760e01b815260040160405180910390fd5b61066b5f8e5f0160208101906106659190613777565b8e61180e565b610674896118b3565b95508561069457604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61074e60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102a87f00000000000000000000000000000000000000000000000000000000000000008c6102a39190613699565b9b5090508a158061076757506107648c5f6118bf565b81125b1561078557604051630552b01360e31b815260040160405180910390fd5b5f881561079c5761079787848b6117df565b61079e565b5f5b90506107ad6020850185613777565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ea60408a0160208b0161379f565b866107f860408c018c6137ba565b60405161080b97969594939291906137fd565b60405180910390a250505050505050505050505050505050506100cc60015f55565b5f610836610bd3565b61083f82610bfb565b60065460ff161561086357604051637983c05160e01b815260040160405180910390fd5b5f8061086f8685610c7d565b909250905061089f7f00000000000000000000000000000000000000000000000000000000000000006002613850565b8210156108bf57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190613867565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a1d84846118d3565b1015610a3c5760405163216f4ab160e21b815260040160405180910390fd5b5f80610a4c858585895f80611423565b91509150801580610a5c57505f82125b15610a7a57604051630552b01360e31b815260040160405180910390fd5b610a83856118f8565b600280546001600160801b0319166001600160801b0392909216919091179055610aac84611921565b600480546001600160801b0319166001600160801b0392909216919091179055610ad5836118f8565b600280546001600160801b03928316600160801b029216919091179055610b1d5f807f000000000000000000000000000000000000000000000000000000000000000061180e565b610b345f610b2e60208c018c613777565b8a61180e565b610b49610b3f610d4e565b8760046001610d79565b508a8a8a610b5a6020820182613777565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b97604087016020880161379f565b87610ba560408901896137ba565b604051610bb897969594939291906137fd565b60405180910390a2505050505050505050506100e460015f55565b60025f5403610bf557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610c096020830183613777565b6001600160a01b031603610c305760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c53916001600160801b0390911690600f0b6118d3565b905090565b5f80610c668787878661195c565b9050610c728185611627565b979650505050505050565b815f80610c90604085016020860161379f565b15610cb557610cab85610ca660408701876137ba565b611972565b9093509050610ccd565b5034610ccd85610cc860408701876137ba565b611abd565b610cd5611b87565b91508015610d45576040515f90339083908381818185875af1925050503d805f8114610d1c576040519150601f19603f3d011682016040523d82523d5f602084013e610d21565b606091505b5050905080610d43576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c53427f0000000000000000000000000000000000000000000000000000000000000000611b99565b5f84815260086020526040812060018101546001600160801b0316151580610da057504286115b15610db957600101546001600160801b031690506113d5565b5f805f610dc4610d4e565b90505f610df17f00000000000000000000000000000000000000000000000000000000000000008b613699565b90505b81811015610e65575f818152600860205260409020600101546001600160801b03168015610e3d575f828152600860205260409020549094506001600160801b03169250610e65565b507f000000000000000000000000000000000000000000000000000000000000000001610df4565b835f03610ed757889350610ed4610e7a610c33565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b92505b50610ee1836118f8565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f37610f307f00000000000000000000000000000000000000000000000000000000000000008b6136ac565b8a84611bae565b610f7589610f6f610f687f000000000000000000000000000000000000000000000000000000000000000083613699565b4290611ce7565b84611bae565b610f7e88611cf5565b505f9050600881610faf7f00000000000000000000000000000000000000000000000000000000000000008d6136ac565b815260208101919091526040015f908120600101546001600160801b03169150610fda60028c611e92565b5f818152600b60205260408120549192508c8c831561111b57600192505f8061100686898d865f611ec6565b915091508060095f82825461101b9190613699565b909155506110369050865f846110308161178c565b88611f93565b6110408183613699565b915061107086838a8e877f000000000000000000000000000000000000000000000000000000000000000061210a565b915061108461107f838561214d565b612161565b600680546002906110a59084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110d2826118f8565b600680546010906110f4908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611127600184611e92565b5f818152600b6020526040902054909150801561123257600194505f80611152838b8f886001611ec6565b915091508060095f8282546111679190613699565b909155506111829050835f8461117c8161178c565b8a61218a565b61118c81836136ac565b915061119b61107f838761214d565b600680546002906111bc9084906201000090046001600160701b0316613892565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111e9826118f8565b6006805460109061120b908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561126b5761125d6112448761178c565b61124d8361178c565b61125791906138d2565b5f61237a565b8e61126884826123b9565b50505b5f611275846125a8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134f91906138f1565b90506001600160a01b038116156113c3576113c05a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906126ea565b50505b509b9d50505050505050505050505050505b949350505050565b5f611402600b5f6113ef600286611e92565b81526020019081526020015f205461178c565b611413600b5f6113ef600187611e92565b61141d91906138d2565b92915050565b5f805f806114318a8a612772565b9150915080611447575f8093509350505061161c565b5f6114a6838a61147f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8b7f00000000000000000000000000000000000000000000000000000000000000006127aa565b5090505f611509848b846114e27f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006136ac565b8d7f0000000000000000000000000000000000000000000000000000000000000000612863565b509050811580611517575080155b1561152257505f9050805b5f61156f858c7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061195c565b905061157d83838c8461291d565b509093505f905061158e848f613699565b90505f6115ae8b8b61159f8761178c565b6115a9908e61390c565b612965565b90508b6115e36115de7f0000000000000000000000000000000000000000000000000000000000000000836129c7565b61178c565b6115ec8361178c565b6115f96115de868561214d565b61160391906138d2565b61160d91906138d2565b60019950995050505050505050505b965096945050505050565b5f6100e461163a84846301e133806129d7565b61164c85670de0b6b3a76400006136ac565b906117fa565b61165a61352b565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161175291166129fa565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611784929004166129fa565b905292915050565b5f6001600160ff1b038211156117b55760405163396ea70160e11b815260040160405180910390fd5b5090565b6117c281612a67565b610c3057604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117f3575f80fd5b5091020490565b5f6100e483670de0b6b3a7640000846117df565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061183f908490613699565b90915550505f838152600b602052604081208054839290611861908490613699565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61141d8260046123b9565b5f8183136118cd57826100e4565b50919050565b5f806118df8484612772565b9092509050806118f1576118f1612bfb565b5092915050565b5f6001600160801b038211156117b557604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061193e575060016001607f1b0382135b156117b55760405163a5353be560e01b815260040160405180910390fd5b5f6100cc8261196c8588886117df565b90612c14565b5f8084341015611995576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f340fa01867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a4a91906138f1565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a8d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611ab2919061374c565b91505b935093915050565b5f611ac784612c83565b6040516323b872dd60e01b8152336004820152306024820152604481018290529091505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303815f875af1158015611b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b609190613933565b905080611b80576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f610c53670de0b6b3a7640000612c83565b5f611ba48284613962565b6100e490846136ac565b5f83815260086020526040902054600160801b90046001600160801b0316808303611bd95750505050565b5f848152600860205260408120546001600160801b031690819003611c3157611c01836118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cae565b611c82611c7d670de0b6b3a7640000611c4a88866136ac565b611c549190613850565b85670de0b6b3a7640000611c68878a6136ac565b611c729190613850565b859291906001612ccf565b6118f8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cb7846118f8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118cd57826100e4565b6006545f908190611d17908490600160801b90046001600160801b031661214d565b6006546201000090046001600160701b03169250905081811115611e8d575f611d4083836136ac565b9050611d4f611c7d8286612d69565b60068054601090611d71908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611da985836117fa90919063ffffffff16565b90505f611dd6827f000000000000000000000000000000000000000000000000000000000000000061214d565b90508060095f828254611de99190613699565b90915550611df9905081836136ac565b9150611e04826118f8565b600280545f90611e1e9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e4b82612d7d565b600480545f90611e5f908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ebb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611ed287856117fa565b91505f611eff837f000000000000000000000000000000000000000000000000000000000000000061214d565b9050611f2b817f000000000000000000000000000000000000000000000000000000000000000061214d565b91508315611f4e57611f3d82826136ac565b611f4790846136ac565b9250611f65565b611f5882826136ac565b611f629084613699565b92505b86861015611f8857611f788387896117df565b9250611f858287896117df565b91505b509550959350505050565b600454600160801b90046001600160801b0316611fdb611c7d82611fbf670de0b6b3a764000086613850565b600554600160801b90046001600160801b031691908a5f612ccf565b600580546001600160801b03928316600160801b029216919091179055612001866118f8565b61200b9082613975565b600480546001600160801b03928316600160801b029216919091179055612031846118f8565b600280545f9061204b9084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061207883611921565b600480545f9061208c908490600f0b613995565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506120bc856118f8565b600280546010906120de908490600160801b90046001600160801b0316613975565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061211b8461164c8a888a6117df565b90506121288884866117df565b6121329082613699565b9050868111156121425786810391505b509695505050505050565b5f6100e48383670de0b6b3a76400006117df565b5f6001600160701b038211156117b55760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806121cc57507f00000000000000000000000000000000000000000000000000000000000000006121ca85836136ac565b105b156121d9576121d9612bfb565b6004549084900390600f0b6121ee84826138d2565b9050836121fa8661178c565b13801561222f57507f000000000000000000000000000000000000000000000000000000000000000061222d83836118d3565b105b1561223c5761223c612bfb565b600354600160801b90046001600160801b031661227d611c7d82612268670de0b6b3a764000088613850565b6005546001600160801b031691908c5f612ccf565b600580546001600160801b0319166001600160801b03929092169190911790556122a788826136ac565b90506122b2816118f8565b600380546001600160801b03928316600160801b0292169190911790556122d8836118f8565b600280546001600160801b0319166001600160801b039290921691909117905561230182611921565b600480546001600160801b0319166001600160801b039290921691909117905561232a876118f8565b6002805460109061234c908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461239590611c7d906001600160801b03168484612965565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612403916001600160801b0316906136ac565b9050805f0361241657600191505061141d565b5f61242085612da6565b9050805f036124345760019250505061141d565b5f80612441838589612e41565b9150915080612456575f94505050505061141d565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124919291906139c2565b6040805180830381865af41580156124ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124cf9190613a37565b915091506124ed6124df8261178c565b6124e890613a59565b612a67565b925082612502575f965050505050505061141d565b61250b826118f8565b600780545f906125259084906001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612552816118f8565b60078054601090612574908490600160801b90046001600160801b03166138b2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125cf87611652565b6040518263ffffffff1660e01b81526004016125eb919061373d565b6040805180830381865af4158015612605573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126299190613a73565b915091508061263e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126a391613699565b6126ad91906136ac565b9050805f036126c357505f958695509350505050565b5f8087116126d1575f6126dc565b6126dc8488846117df565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561270d5761270d613aa1565b6040519080825280601f01601f191660200182016040528015612737576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612757578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361277f8661178c565b61278991906138d2565b90505f81121561279f575f809250925050610d47565b946001945092505050565b5f805f6127ba8888888888612fa9565b90505f6127e4670de0b6b3a76400006127d38888612d69565b6127dd9190613699565b83906117fa565b9050670de0b6b3a764000081106128185761281161280a670de0b6b3a7640000896117fa565b8290612c14565b9050612830565b61282d61280a670de0b6b3a764000089612d69565b90505b61283a81866117fa565b905088811015612851575f80935093505050612768565b97909703976001975095505050505050565b5f805f6128738989888888612fd7565b905061288d8661196c6128868a8d613699565b879061214d565b985061289a858a866117df565b9850888110156128b0575f80925092505061161c565b888103670de0b6b3a764000081106128de576128d761280a670de0b6b3a764000089612d69565b90506128f6565b6128f361280a670de0b6b3a7640000896117fa565b90505b8089101561290b575f8093509350505061161c565b90970398600198509650505050505050565b5f805f805f61292d898789612ffb565b909250905061293c82896136ac565b97505f61294a82888a6117df565b9050612956818b6136ac565b9a989950979650505050505050565b5f80612971845f613080565b61297b845f613080565b61298591906138d2565b90505f8113156129a0576129998186613699565b94506129be565b5f8112156129be576129b181613a59565b6129bb90866136ac565b94505b50929392505050565b5f6100e48383670de0b6b3a76400005b5f825f1904841183021582026129eb575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a0d610d4e565b612a179190613850565b9050808311612a26575f612a30565b612a3081846136ac565b91506100e46127dd670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613850565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b419190613ab5565b935093509350935080612b5c57505f98975050505050505050565b868414612b8d57612b6c846118f8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bbe57612b9d83611921565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bec57612bce826118f8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c2b5750670de0b6b3a764000061141d565b825f03612c3957505f61141d565b5f612c438361178c565b90505f612c57612c528661178c565b613095565b9050818102612c6e670de0b6b3a764000082613af3565b9050612c79816132ba565b9695505050505050565b5f61141d7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461344c565b5f825f03612cde5750846100cc565b8115612d3057612d0f612cf18487613699565b612cfb858761214d565b612d05888a61214d565b61164c9190613699565b90505f612d1c8588611ce7565b905080821015612d2a578091505b506100cc565b828503612d3e57505f6100cc565b6100c9612d4b84876136ac565b612d5585876129c7565b612d5f888a61214d565b61164c91906136ac565b5f6100e483670de0b6b3a7640000846129d7565b5f60016001607f1b038211156117b55760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dc0906001600160801b031684612d69565b9050612dec7f000000000000000000000000000000000000000000000000000000000000000082613699565b6002546001600160801b031611156118cd576002547f000000000000000000000000000000000000000000000000000000000000000090612e379083906001600160801b03166136ac565b6100e491906136ac565b612e49613580565b5f80612e5484611652565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e8e919061373d565b6040805180830381865af4158015612ea8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ecc9190613a73565b9350905082612ee057505f9150611ab59050565b5f612f016115de84610160015185610140015161214d90919063ffffffff16565b612f216115de8561012001518661010001516129c790919063ffffffff16565b612f2b91906138d2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fb48585612c14565b612fcd612fc58661196c868b61214d565b8590856117df565b6100c99190613699565b5f612fe28585612c14565b612fcd612ff38661196c868b6129c7565b8590856129d7565b5f8061304a8561304485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061303a818c612d69565b61304491906136ac565b906129c7565b9150613076827f000000000000000000000000000000000000000000000000000000000000000061214d565b9050935093915050565b5f81831361308e57816100e4565b5090919050565b5f8082136130b65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131399084901c61178c565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d357505f919050565b680755bf798b4a1bf1e582126132fc576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c7974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61178c565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561348a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134ae919061374c565b9050805f036134c0575f9150506100e4565b6100cc856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613523919061374c565b8490836117df565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061359461352b565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118cd575f80fd5b5f805f805f60a086880312156135ee575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613620575f80fd5b61362c888289016135ca565b9150509295509295909350565b5f805f6060848603121561364b575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561366f575f80fd5b61367b868287016135ca565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561141d5761141d613685565b8181038181111561141d5761141d613685565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161141d82846136bf565b5f6020828403121561375c575f80fd5b5051919050565b6001600160a01b0381168114610c30575f80fd5b5f60208284031215613787575f80fd5b81356100e481613763565b8015158114610c30575f80fd5b5f602082840312156137af575f80fd5b81356100e481613792565b5f808335601e198436030181126137cf575f80fd5b83018035915067ffffffffffffffff8211156137e9575f80fd5b602001915036819003821315610d47575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761141d5761141d613685565b5f805f60608486031215613879575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118f1576118f1613685565b6001600160801b038181168382160190808211156118f1576118f1613685565b8181035f8312801583831316838312821617156118f1576118f1613685565b5f60208284031215613901575f80fd5b81516100e481613763565b8082018281125f83128015821682158216171561392b5761392b613685565b505092915050565b5f60208284031215613943575f80fd5b81516100e481613792565b634e487b7160e01b5f52601260045260245ffd5b5f826139705761397061394e565b500690565b6001600160801b038281168282160390808211156118f1576118f1613685565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561141d5761141d613685565b5f6102a0820190506139d58285516136bf565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a48575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a6d57613a6d613685565b505f0390565b5f8060408385031215613a84575f80fd5b825191506020830151613a9681613792565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613ac8575f80fd5b8451935060208501519250604085015191506060850151613ae881613792565b939692955090935050565b5f82613b0157613b0161394e565b600160ff1b82145f1984141615613b1a57613b1a613685565b50059056fea26469706673582212204442c3eda2a6f096d77ed7a23fb0bf1e50b232c55d90611835b6ef96e5674e0264736f6c63430008160033a2646970667358221220b76d00495249c7f4e4c99e5eb276d120a5b898bcacb6a2520890e6a2e82c1a1364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget4.ts b/packages/hyperdrive-artifacts/src/EETHTarget4.ts new file mode 100644 index 000000000..5e047dc31 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget4.ts @@ -0,0 +1,995 @@ +export const EETHTarget4 = { + name: 'EETHTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620033a8380380620033a88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f85620004235f395f81816080015281816110d4015261232901525f50505f50505f6109dd01525f50505f81816102aa0152611f6a01525f81816117ca0152818161182d01528181611b5a01528181611b9601528181611d870152611f4401525f818161059b0152611f1e01525f6113ac01525f61150101525f818161075801526114d501525f50505f81816105bc0152611f9001525f818161069601526124bc01525f818161022d01528181610461015281816104d80152818161054c01528181610617015261064f01525f81816110f50152818161234a01526123be01525f5050612f855ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c8063074a6de91461004e578063207deba01461007b578063414f826d146100ba578063cbc13434146100cf575b5f80fd5b61006161005c366004612a40565b6100e2565b604080519283526020830191909152015b60405180910390f35b6100a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610072565b6100cd6100c8366004612a92565b6100fc565b005b6100616100dd366004612a40565b61010a565b5f806100ef858585610117565b915091505b935093915050565b61010682826101d9565b5050565b5f806100ef858585610295565b5f806101216103e3565b61012a8361040b565b5f610133610443565b905061014a61014061045a565b8260046001610485565b506101583387838888610ae9565b909350915061016a6020850185612ac6565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101a860408b0160208c01612aee565b6101b560408c018c612b09565b6040516101c796959493929190612b74565b60405180910390a3506100f460015f55565b6101e16103e3565b5f6101ea610443565b5f848152600860205260409020600101549091506001600160801b03161561021d576102168183610c28565b505061028c565b5f61022661045a565b90506102527f000000000000000000000000000000000000000000000000000000000000000085612bc1565b15158061025e57508381105b1561027c5760405163ecd29e8160e01b815260040160405180910390fd5b6102888483855f610485565b5050505b61010660015f55565b5f8061029f6103e3565b6102a88361040b565b7f00000000000000000000000000000000000000000000000000000000000000008510156102e95760405163211ddda360e11b815260040160405180910390fd5b5f6102f2610443565b90506102ff61014061045a565b5061030b5f3388610e18565b610326600360f81b6103206020870187612ac6565b88610eef565b5f6103406103376020870187612ac6565b88848989610ae9565b909450905061034f8188612be8565b92505f61035b83610f8c565b50905061036b6020870187612ac6565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103a960408d0160208e01612aee565b8a888e80604001906103bb9190612b09565b6040516103cf989796959493929190612bfb565b60405180910390a35050506100f460015f55565b60025f540361040557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104196020830183612ac6565b6001600160a01b0316036104405760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610455670de0b6b3a76400006110ce565b905090565b5f610455427f000000000000000000000000000000000000000000000000000000000000000061111a565b5f84815260086020526040812060018101546001600160801b03161515806104ac57504286115b156104c557600101546001600160801b03169050610ae1565b5f805f6104d061045a565b90505f6104fd7f00000000000000000000000000000000000000000000000000000000000000008b612c42565b90505b81811015610571575f818152600860205260409020600101546001600160801b03168015610549575f828152600860205260409020549094506001600160801b03169250610571565b507f000000000000000000000000000000000000000000000000000000000000000001610500565b835f036105e3578893506105e0610586611136565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611156565b92505b506105ed83611175565b6001850180546001600160801b0319166001600160801b039290921691909117905561064361063c7f00000000000000000000000000000000000000000000000000000000000000008b612be8565b8a846111a2565b6106818961067b6106747f000000000000000000000000000000000000000000000000000000000000000083612c42565b42906112db565b846111a2565b61068a886112ef565b505f90506008816106bb7f00000000000000000000000000000000000000000000000000000000000000008d612be8565b815260208101919091526040015f908120600101546001600160801b031691506106e660028c61148c565b5f818152600b60205260408120549192508c8c831561082757600192505f8061071286898d865f6114c0565b915091508060095f8282546107279190612c42565b909155506107429050865f8461073c8161158d565b886115b6565b61074c8183612c42565b915061077c86838a8e877f000000000000000000000000000000000000000000000000000000000000000061172d565b915061079061078b8385611776565b61178a565b600680546002906107b19084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107de82611175565b60068054601090610800908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61083360018461148c565b5f818152600b6020526040902054909150801561093e57600194505f8061085e838b8f8860016114c0565b915091508060095f8282546108739190612c42565b9091555061088e9050835f846108888161158d565b8a6117b3565b6108988183612be8565b91506108a761078b8387611776565b600680546002906108c89084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108f582611175565b60068054601090610917908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610977576109696109508761158d565b6109598361158d565b6109639190612c95565b5f6119a3565b8e6109748482610c28565b50505b5f61098184610f8c565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5b9190612cb4565b90506001600160a01b03811615610acf57610acc5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119e2565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610af485611a68565b505060075485906001600160801b031680821115610b1957806001600160801b031691505b815f03610b2c575f809250925050610c1e565b610b3b600360f81b8984610e18565b6007545f90610b609084906001600160801b03600160801b9091048116908516611a74565b9050610b6b83611175565b610b759083612ccf565b600780546001600160801b0319166001600160801b0392909216919091179055610b9e81611175565b60078054601090610bc0908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610bef818887611a8f565b9350610bfb8684611b25565b841015610c1b5760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c72916001600160801b031690612be8565b9050805f03610c85576001915050610e12565b5f610c8f85611b39565b9050805f03610ca357600192505050610e12565b5f80610cb0838589611bd4565b9150915080610cc5575f945050505050610e12565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d00929190612d6d565b6040805180830381865af4158015610d1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3e9190612de2565b91509150610d5c610d4e8261158d565b610d5790612e04565b611d41565b925082610d71575f9650505050505050610e12565b610d7a82611175565b600780545f90610d949084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610dc181611175565b60078054601090610de3908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e5a57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e9c908490612be8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f20908490612c42565b90915550505f838152600b602052604081208054839290610f42908490612c42565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610ee2565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fb387611ed5565b6040518263ffffffff1660e01b8152600401610fcf9190612e1e565b6040805180830381865af4158015610fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100d9190612e2d565b915091508061102257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161108791612c42565b6110919190612be8565b9050805f036110a757505f958695509350505050565b5f8087116110b5575f6110c0565b6110c0848884611a74565b976001975095505050505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461200f565b5f6111258284612bc1565b61112f9084612be8565b9392505050565b6002546004545f91610455916001600160801b0390911690600f0b6120ee565b5f61116c82611166858888611a74565b90612113565b95945050505050565b5f6001600160801b0382111561119e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111cd5750505050565b5f848152600860205260408120546001600160801b031690819003611225576111f583611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112a2565b611276611271670de0b6b3a764000061123e8886612be8565b6112489190612e5b565b85670de0b6b3a764000061125c878a612be8565b6112669190612e5b565b859291906001612182565b611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112ab84611175565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112e9578261112f565b50919050565b6006545f908190611311908490600160801b90046001600160801b0316611776565b6006546201000090046001600160701b03169250905081811115611487575f61133a8383612be8565b9050611349611271828661221c565b6006805460109061136b908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113a3858361223090919063ffffffff16565b90505f6113d0827f0000000000000000000000000000000000000000000000000000000000000000611776565b90508060095f8282546113e39190612c42565b909155506113f390508183612be8565b91506113fe82611175565b600280545f906114189084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061144582612244565b600480545f90611459908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114b55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114cc8785612230565b91505f6114f9837f0000000000000000000000000000000000000000000000000000000000000000611776565b9050611525817f0000000000000000000000000000000000000000000000000000000000000000611776565b91508315611548576115378282612be8565b6115419084612be8565b925061155f565b6115528282612be8565b61155c9084612c42565b92505b8686101561158257611572838789611a74565b925061157f828789611a74565b91505b509550959350505050565b5f6001600160ff1b0382111561119e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115fe611271826115e2670de0b6b3a764000086612e5b565b600554600160801b90046001600160801b031691908a5f612182565b600580546001600160801b03928316600160801b02921691909117905561162486611175565b61162e9082612ccf565b600480546001600160801b03928316600160801b02921691909117905561165484611175565b600280545f9061166e9084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061169b8361226d565b600480545f906116af908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116df85611175565b60028054601090611701908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117448461173e8a888a611a74565b90612230565b9050611751888486611a74565b61175b9082612c42565b90508681111561176b5786810391505b509695505050505050565b5f61112f8383670de0b6b3a7640000611a74565b5f6001600160701b0382111561119e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117f557507f00000000000000000000000000000000000000000000000000000000000000006117f38583612be8565b105b15611802576118026122a8565b6004549084900390600f0b6118178482612c95565b9050836118238661158d565b13801561185857507f000000000000000000000000000000000000000000000000000000000000000061185683836120ee565b105b15611865576118656122a8565b600354600160801b90046001600160801b03166118a661127182611891670de0b6b3a764000088612e5b565b6005546001600160801b031691908c5f612182565b600580546001600160801b0319166001600160801b03929092169190911790556118d08882612be8565b90506118db81611175565b600380546001600160801b03928316600160801b02921691909117905561190183611175565b600280546001600160801b0319166001600160801b039290921691909117905561192a8261226d565b600480546001600160801b0319166001600160801b039290921691909117905561195387611175565b60028054601090611975908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119be90611271906001600160801b031684846122c1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a0557611a05612e9f565b6040519080825280601f01601f191660200182016040528015611a2f576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a4f578692505b828152825f602083013e90999098509650505050505050565b5f610e12826004610c28565b5f825f190484118302158202611a88575f80fd5b5091020490565b5f80611a9b8585611776565b9050611aa681612323565b9450845f03611ab8575f91505061112f565b849150611acb6040840160208501612aee565b15611afa57611af385611ae16020860186612ac6565b611aee6040870187612b09565b61236f565b9150611b1d565b611b1d85611b0b6020860186612ac6565b611b186040870187612b09565b612389565b509392505050565b5f61112f8383670de0b6b3a7640000612450565b6003545f908190611b53906001600160801b03168461221c565b9050611b7f7f000000000000000000000000000000000000000000000000000000000000000082612c42565b6002546001600160801b031611156112e9576002547f000000000000000000000000000000000000000000000000000000000000000090611bca9083906001600160801b0316612be8565b61112f9190612be8565b611bdc6129a1565b5f80611be784611ed5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c219190612e1e565b6040805180830381865af4158015611c3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5f9190612e2d565b9350905082611c7357505f91506100f49050565b5f611c99611c9484610160015185610140015161177690919063ffffffff16565b61158d565b611cb9611c94856101200151866101000151611b2590919063ffffffff16565b611cc39190612c95565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611df7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1b9190612eb3565b935093509350935080611e3657505f98975050505050505050565b868414611e6757611e4684611175565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e9857611e778361226d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ec657611ea882611175565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611edd6129eb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fd59116612473565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261200792900416612473565b905292915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120719190612ef1565b9050805f03612083575f91505061112f565b61116c856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e69190612ef1565b849083611a74565b5f806120fa84846124e7565b90925090508061210c5761210c6122a8565b5092915050565b5f815f0361212a5750670de0b6b3a7640000610e12565b825f0361213857505f610e12565b5f6121428361158d565b90505f6121566121518661158d565b612522565b905081810261216d670de0b6b3a764000082612f08565b905061217881612747565b9695505050505050565b5f825f0361219157508461116c565b81156121e3576121c26121a48487612c42565b6121ae8587611776565b6121b8888a611776565b61173e9190612c42565b90505f6121cf85886112db565b9050808210156121dd578091505b5061116c565b8285036121f157505f61116c565b6121786121fe8487612be8565b6122088587611b25565b612212888a611776565b61173e9190612be8565b5f61112f83670de0b6b3a764000084612450565b5f61112f83670de0b6b3a764000084611a74565b5f60016001607f1b0382111561119e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061228a575060016001607f1b0382135b1561119e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806122cd845f6128d9565b6122d7845f6128d9565b6122e19190612c95565b90505f8113156122fc576122f58186612c42565b945061231a565b5f81121561231a5761230d81612e04565b6123179086612be8565b94505b50929392505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ee565b5f60405163350b944160e11b815260040160405180910390fd5b5f612393856110ce565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190612f34565b905080612448576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202612464575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061248661045a565b6124909190612e5b565b905080831161249f575f6124a9565b6124a98184612be8565b915061112f6124e0670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e5b565b8390612230565b5f805f836124f48661158d565b6124fe9190612c95565b90505f811215612514575f80925092505061251b565b9150600190505b9250929050565b5f8082136125435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c69084901c61158d565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361276057505f919050565b680755bf798b4a1bf1e58212612789576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061217874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61158d565b5f8183136128e7578161112f565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561292c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129509190612ef1565b9050805f03612962575f91505061112f565b61116c846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b6040518061012001604052806129b56129eb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a52575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a76575f80fd5b840160608187031215612a87575f80fd5b809150509250925092565b5f8060408385031215612aa3575f80fd5b50508035926020909101359150565b6001600160a01b0381168114610440575f80fd5b5f60208284031215612ad6575f80fd5b813561112f81612ab2565b8015158114610440575f80fd5b5f60208284031215612afe575f80fd5b813561112f81612ae1565b5f808335601e19843603018112612b1e575f80fd5b83018035915067ffffffffffffffff821115612b38575f80fd5b60200191503681900382131561251b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ba160a083018486612b4c565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bcf57612bcf612bad565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e1257610e12612bd4565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c3460e083018486612b4c565b9a9950505050505050505050565b80820180821115610e1257610e12612bd4565b6001600160701b0381811683821601908082111561210c5761210c612bd4565b6001600160801b0381811683821601908082111561210c5761210c612bd4565b8181035f83128015838313168383128216171561210c5761210c612bd4565b5f60208284031215612cc4575f80fd5b815161112f81612ab2565b6001600160801b0382811682821603908082111561210c5761210c612bd4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d80828551612cef565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612df3575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e1857612e18612bd4565b505f0390565b6101808101610e128284612cef565b5f8060408385031215612e3e575f80fd5b825191506020830151612e5081612ae1565b809150509250929050565b8082028115828204841417610e1257610e12612bd4565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e1257610e12612bd4565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ec6575f80fd5b8451935060208501519250604085015191506060850151612ee681612ae1565b939692955090935050565b5f60208284031215612f01575f80fd5b5051919050565b5f82612f1657612f16612bad565b600160ff1b82145f1984141615612f2f57612f2f612bd4565b500590565b5f60208284031215612f44575f80fd5b815161112f81612ae156fea26469706673582212209e9db331913f1dd6fb168cb5030c609ae43e200ef2d9b0b169ea046ca21ea35464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_liquidityPool()": "207deba0", + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EETHTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/EETHTarget4Deployer.ts new file mode 100644 index 000000000..3f67c255b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EETHTarget4Deployer.ts @@ -0,0 +1,172 @@ +export const EETHTarget4Deployer = { + name: 'EETHTarget4Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILiquidityPool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161395d38038061395d83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516138d46100895f395f8181603d015260b801526138d45ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063665a11ca146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6133a8806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620033a8380380620033a88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f85620004235f395f81816080015281816110d4015261232901525f50505f50505f6109dd01525f50505f81816102aa0152611f6a01525f81816117ca0152818161182d01528181611b5a01528181611b9601528181611d870152611f4401525f818161059b0152611f1e01525f6113ac01525f61150101525f818161075801526114d501525f50505f81816105bc0152611f9001525f818161069601526124bc01525f818161022d01528181610461015281816104d80152818161054c01528181610617015261064f01525f81816110f50152818161234a01526123be01525f5050612f855ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c8063074a6de91461004e578063207deba01461007b578063414f826d146100ba578063cbc13434146100cf575b5f80fd5b61006161005c366004612a40565b6100e2565b604080519283526020830191909152015b60405180910390f35b6100a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610072565b6100cd6100c8366004612a92565b6100fc565b005b6100616100dd366004612a40565b61010a565b5f806100ef858585610117565b915091505b935093915050565b61010682826101d9565b5050565b5f806100ef858585610295565b5f806101216103e3565b61012a8361040b565b5f610133610443565b905061014a61014061045a565b8260046001610485565b506101583387838888610ae9565b909350915061016a6020850185612ac6565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101a860408b0160208c01612aee565b6101b560408c018c612b09565b6040516101c796959493929190612b74565b60405180910390a3506100f460015f55565b6101e16103e3565b5f6101ea610443565b5f848152600860205260409020600101549091506001600160801b03161561021d576102168183610c28565b505061028c565b5f61022661045a565b90506102527f000000000000000000000000000000000000000000000000000000000000000085612bc1565b15158061025e57508381105b1561027c5760405163ecd29e8160e01b815260040160405180910390fd5b6102888483855f610485565b5050505b61010660015f55565b5f8061029f6103e3565b6102a88361040b565b7f00000000000000000000000000000000000000000000000000000000000000008510156102e95760405163211ddda360e11b815260040160405180910390fd5b5f6102f2610443565b90506102ff61014061045a565b5061030b5f3388610e18565b610326600360f81b6103206020870187612ac6565b88610eef565b5f6103406103376020870187612ac6565b88848989610ae9565b909450905061034f8188612be8565b92505f61035b83610f8c565b50905061036b6020870187612ac6565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103a960408d0160208e01612aee565b8a888e80604001906103bb9190612b09565b6040516103cf989796959493929190612bfb565b60405180910390a35050506100f460015f55565b60025f540361040557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104196020830183612ac6565b6001600160a01b0316036104405760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610455670de0b6b3a76400006110ce565b905090565b5f610455427f000000000000000000000000000000000000000000000000000000000000000061111a565b5f84815260086020526040812060018101546001600160801b03161515806104ac57504286115b156104c557600101546001600160801b03169050610ae1565b5f805f6104d061045a565b90505f6104fd7f00000000000000000000000000000000000000000000000000000000000000008b612c42565b90505b81811015610571575f818152600860205260409020600101546001600160801b03168015610549575f828152600860205260409020549094506001600160801b03169250610571565b507f000000000000000000000000000000000000000000000000000000000000000001610500565b835f036105e3578893506105e0610586611136565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611156565b92505b506105ed83611175565b6001850180546001600160801b0319166001600160801b039290921691909117905561064361063c7f00000000000000000000000000000000000000000000000000000000000000008b612be8565b8a846111a2565b6106818961067b6106747f000000000000000000000000000000000000000000000000000000000000000083612c42565b42906112db565b846111a2565b61068a886112ef565b505f90506008816106bb7f00000000000000000000000000000000000000000000000000000000000000008d612be8565b815260208101919091526040015f908120600101546001600160801b031691506106e660028c61148c565b5f818152600b60205260408120549192508c8c831561082757600192505f8061071286898d865f6114c0565b915091508060095f8282546107279190612c42565b909155506107429050865f8461073c8161158d565b886115b6565b61074c8183612c42565b915061077c86838a8e877f000000000000000000000000000000000000000000000000000000000000000061172d565b915061079061078b8385611776565b61178a565b600680546002906107b19084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107de82611175565b60068054601090610800908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61083360018461148c565b5f818152600b6020526040902054909150801561093e57600194505f8061085e838b8f8860016114c0565b915091508060095f8282546108739190612c42565b9091555061088e9050835f846108888161158d565b8a6117b3565b6108988183612be8565b91506108a761078b8387611776565b600680546002906108c89084906201000090046001600160701b0316612c55565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108f582611175565b60068054601090610917908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610977576109696109508761158d565b6109598361158d565b6109639190612c95565b5f6119a3565b8e6109748482610c28565b50505b5f61098184610f8c565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5b9190612cb4565b90506001600160a01b03811615610acf57610acc5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119e2565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610af485611a68565b505060075485906001600160801b031680821115610b1957806001600160801b031691505b815f03610b2c575f809250925050610c1e565b610b3b600360f81b8984610e18565b6007545f90610b609084906001600160801b03600160801b9091048116908516611a74565b9050610b6b83611175565b610b759083612ccf565b600780546001600160801b0319166001600160801b0392909216919091179055610b9e81611175565b60078054601090610bc0908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610bef818887611a8f565b9350610bfb8684611b25565b841015610c1b5760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c72916001600160801b031690612be8565b9050805f03610c85576001915050610e12565b5f610c8f85611b39565b9050805f03610ca357600192505050610e12565b5f80610cb0838589611bd4565b9150915080610cc5575f945050505050610e12565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d00929190612d6d565b6040805180830381865af4158015610d1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3e9190612de2565b91509150610d5c610d4e8261158d565b610d5790612e04565b611d41565b925082610d71575f9650505050505050610e12565b610d7a82611175565b600780545f90610d949084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610dc181611175565b60078054601090610de3908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e5a57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e9c908490612be8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f20908490612c42565b90915550505f838152600b602052604081208054839290610f42908490612c42565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610ee2565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fb387611ed5565b6040518263ffffffff1660e01b8152600401610fcf9190612e1e565b6040805180830381865af4158015610fe9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100d9190612e2d565b915091508061102257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161108791612c42565b6110919190612be8565b9050805f036110a757505f958695509350505050565b5f8087116110b5575f6110c0565b6110c0848884611a74565b976001975095505050505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008461200f565b5f6111258284612bc1565b61112f9084612be8565b9392505050565b6002546004545f91610455916001600160801b0390911690600f0b6120ee565b5f61116c82611166858888611a74565b90612113565b95945050505050565b5f6001600160801b0382111561119e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111cd5750505050565b5f848152600860205260408120546001600160801b031690819003611225576111f583611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112a2565b611276611271670de0b6b3a764000061123e8886612be8565b6112489190612e5b565b85670de0b6b3a764000061125c878a612be8565b6112669190612e5b565b859291906001612182565b611175565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112ab84611175565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112e9578261112f565b50919050565b6006545f908190611311908490600160801b90046001600160801b0316611776565b6006546201000090046001600160701b03169250905081811115611487575f61133a8383612be8565b9050611349611271828661221c565b6006805460109061136b908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113a3858361223090919063ffffffff16565b90505f6113d0827f0000000000000000000000000000000000000000000000000000000000000000611776565b90508060095f8282546113e39190612c42565b909155506113f390508183612be8565b91506113fe82611175565b600280545f906114189084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061144582612244565b600480545f90611459908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114b55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114cc8785612230565b91505f6114f9837f0000000000000000000000000000000000000000000000000000000000000000611776565b9050611525817f0000000000000000000000000000000000000000000000000000000000000000611776565b91508315611548576115378282612be8565b6115419084612be8565b925061155f565b6115528282612be8565b61155c9084612c42565b92505b8686101561158257611572838789611a74565b925061157f828789611a74565b91505b509550959350505050565b5f6001600160ff1b0382111561119e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115fe611271826115e2670de0b6b3a764000086612e5b565b600554600160801b90046001600160801b031691908a5f612182565b600580546001600160801b03928316600160801b02921691909117905561162486611175565b61162e9082612ccf565b600480546001600160801b03928316600160801b02921691909117905561165484611175565b600280545f9061166e9084906001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061169b8361226d565b600480545f906116af908490600f0b612e72565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116df85611175565b60028054601090611701908490600160801b90046001600160801b0316612ccf565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117448461173e8a888a611a74565b90612230565b9050611751888486611a74565b61175b9082612c42565b90508681111561176b5786810391505b509695505050505050565b5f61112f8383670de0b6b3a7640000611a74565b5f6001600160701b0382111561119e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117f557507f00000000000000000000000000000000000000000000000000000000000000006117f38583612be8565b105b15611802576118026122a8565b6004549084900390600f0b6118178482612c95565b9050836118238661158d565b13801561185857507f000000000000000000000000000000000000000000000000000000000000000061185683836120ee565b105b15611865576118656122a8565b600354600160801b90046001600160801b03166118a661127182611891670de0b6b3a764000088612e5b565b6005546001600160801b031691908c5f612182565b600580546001600160801b0319166001600160801b03929092169190911790556118d08882612be8565b90506118db81611175565b600380546001600160801b03928316600160801b02921691909117905561190183611175565b600280546001600160801b0319166001600160801b039290921691909117905561192a8261226d565b600480546001600160801b0319166001600160801b039290921691909117905561195387611175565b60028054601090611975908490600160801b90046001600160801b0316612c75565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119be90611271906001600160801b031684846122c1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a0557611a05612e9f565b6040519080825280601f01601f191660200182016040528015611a2f576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a4f578692505b828152825f602083013e90999098509650505050505050565b5f610e12826004610c28565b5f825f190484118302158202611a88575f80fd5b5091020490565b5f80611a9b8585611776565b9050611aa681612323565b9450845f03611ab8575f91505061112f565b849150611acb6040840160208501612aee565b15611afa57611af385611ae16020860186612ac6565b611aee6040870187612b09565b61236f565b9150611b1d565b611b1d85611b0b6020860186612ac6565b611b186040870187612b09565b612389565b509392505050565b5f61112f8383670de0b6b3a7640000612450565b6003545f908190611b53906001600160801b03168461221c565b9050611b7f7f000000000000000000000000000000000000000000000000000000000000000082612c42565b6002546001600160801b031611156112e9576002547f000000000000000000000000000000000000000000000000000000000000000090611bca9083906001600160801b0316612be8565b61112f9190612be8565b611bdc6129a1565b5f80611be784611ed5565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c219190612e1e565b6040805180830381865af4158015611c3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5f9190612e2d565b9350905082611c7357505f91506100f49050565b5f611c99611c9484610160015185610140015161177690919063ffffffff16565b61158d565b611cb9611c94856101200151866101000151611b2590919063ffffffff16565b611cc39190612c95565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611df7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1b9190612eb3565b935093509350935080611e3657505f98975050505050505050565b868414611e6757611e4684611175565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e9857611e778361226d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ec657611ea882611175565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611edd6129eb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fd59116612473565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261200792900416612473565b905292915050565b5f80836001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120719190612ef1565b9050805f03612083575f91505061112f565b61116c856001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e69190612ef1565b849083611a74565b5f806120fa84846124e7565b90925090508061210c5761210c6122a8565b5092915050565b5f815f0361212a5750670de0b6b3a7640000610e12565b825f0361213857505f610e12565b5f6121428361158d565b90505f6121566121518661158d565b612522565b905081810261216d670de0b6b3a764000082612f08565b905061217881612747565b9695505050505050565b5f825f0361219157508461116c565b81156121e3576121c26121a48487612c42565b6121ae8587611776565b6121b8888a611776565b61173e9190612c42565b90505f6121cf85886112db565b9050808210156121dd578091505b5061116c565b8285036121f157505f61116c565b6121786121fe8487612be8565b6122088587611b25565b612212888a611776565b61173e9190612be8565b5f61112f83670de0b6b3a764000084612450565b5f61112f83670de0b6b3a764000084611a74565b5f60016001607f1b0382111561119e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061228a575060016001607f1b0382135b1561119e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806122cd845f6128d9565b6122d7845f6128d9565b6122e19190612c95565b90505f8113156122fc576122f58186612c42565b945061231a565b5f81121561231a5761230d81612e04565b6123179086612be8565b94505b50929392505050565b5f610e127f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000846128ee565b5f60405163350b944160e11b815260040160405180910390fd5b5f612393856110ce565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192505f917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190612f34565b905080612448576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202612464575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061248661045a565b6124909190612e5b565b905080831161249f575f6124a9565b6124a98184612be8565b915061112f6124e0670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e5b565b8390612230565b5f805f836124f48661158d565b6124fe9190612c95565b90505f811215612514575f80925092505061251b565b9150600190505b9250929050565b5f8082136125435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125c69084901c61158d565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361276057505f919050565b680755bf798b4a1bf1e58212612789576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061217874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61158d565b5f8183136128e7578161112f565b5090919050565b5f80846001600160a01b03166337cfdaca6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561292c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129509190612ef1565b9050805f03612962575f91505061112f565b61116c846001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c2573d5f803e3d5ffd5b6040518061012001604052806129b56129eb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a52575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a76575f80fd5b840160608187031215612a87575f80fd5b809150509250925092565b5f8060408385031215612aa3575f80fd5b50508035926020909101359150565b6001600160a01b0381168114610440575f80fd5b5f60208284031215612ad6575f80fd5b813561112f81612ab2565b8015158114610440575f80fd5b5f60208284031215612afe575f80fd5b813561112f81612ae1565b5f808335601e19843603018112612b1e575f80fd5b83018035915067ffffffffffffffff821115612b38575f80fd5b60200191503681900382131561251b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ba160a083018486612b4c565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612bcf57612bcf612bad565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e1257610e12612bd4565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c3460e083018486612b4c565b9a9950505050505050505050565b80820180821115610e1257610e12612bd4565b6001600160701b0381811683821601908082111561210c5761210c612bd4565b6001600160801b0381811683821601908082111561210c5761210c612bd4565b8181035f83128015838313168383128216171561210c5761210c612bd4565b5f60208284031215612cc4575f80fd5b815161112f81612ab2565b6001600160801b0382811682821603908082111561210c5761210c612bd4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d80828551612cef565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612df3575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612e1857612e18612bd4565b505f0390565b6101808101610e128284612cef565b5f8060408385031215612e3e575f80fd5b825191506020830151612e5081612ae1565b809150509250929050565b8082028115828204841417610e1257610e12612bd4565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e1257610e12612bd4565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612ec6575f80fd5b8451935060208501519250604085015191506060850151612ee681612ae1565b939692955090935050565b5f60208284031215612f01575f80fd5b5051919050565b5f82612f1657612f16612bad565b600160ff1b82145f1984141615612f2f57612f2f612bd4565b500590565b5f60208284031215612f44575f80fd5b815161112f81612ae156fea26469706673582212209e9db331913f1dd6fb168cb5030c609ae43e200ef2d9b0b169ea046ca21ea35464736f6c63430008160033a2646970667358221220031583c44c74a3841c7428e01c807d25c70e43634d2d0e5b0f45bc1e9b5e4f9964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "liquidityPool()": "665a11ca" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EModeLogic.ts b/packages/hyperdrive-artifacts/src/EModeLogic.ts new file mode 100644 index 000000000..a3576d877 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EModeLogic.ts @@ -0,0 +1,28 @@ +export const EModeLogic = { + name: 'EModeLogic' as const, + abi: [ + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x610fd8610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610034575f3560e01c80635d5dc31314610038575b5f80fd5b818015610043575f80fd5b50610057610052366004610df4565b610059565b005b604080516020810182528354815282519183015161007d9289928992899290610121565b335f908152602084905260409081902080549183015160ff90811660ff198416179091551680156100da576100d7878787866040518060200160405290815f82015481525050338760400151885f0151896020015161023e565b50505b604080830151905160ff909116815233907fd728da875fc88944cbf17638bcbe4af0eedaef63becd1d1c57cc097eb4608d849060200160405180910390a250505050505050565b60ff8116158061014b575060ff81165f9081526020859052604090205462010000900461ffff1615155b6040518060400160405280600281526020016106a760f31b8152509061018d5760405162461bcd60e51b81526004016101849190610ebb565b60405180910390fd5b508251156102365760ff811615610236575f5b82811015610234576101b284826102e8565b1561022c575f81815260208781526040808320546001600160a01b03168352898252918290208251918201909252905480825260ff8481169160a81c16146040518060400160405280600281526020016106a760f31b815250906102295760405162461bcd60e51b81526004016101849190610ebb565b50505b6001016101a0565b505b505050505050565b5f805f806102898c8c8c6040518060a001604052808e81526020018b81526020018d6001600160a01b031681526020018a6001600160a01b031681526020018c60ff1681525061033b565b9550955050505050670de0b6b3a764000082101560405180604001604052806002815260200161333560f01b815250906102d65760405162461bcd60e51b81526004016101849190610ebb565b50909b909a5098505050505050505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106103245760405162461bcd60e51b81526004016101849190610ebb565b50508151600182811b9190911c1615155b92915050565b5f805f805f8061034d875f0151511590565b1561036957505f94508493508392508291505f199050816107f0565b6103f86040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff161561043c57608088015160ff165f90815260208a905260409020606089015161042991906107fd565b6101808401526101c08301526101a08201525b87602001518160c0015110156107155760c0810151885161045c916108a6565b6104705760c081018051600101905261043c565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526104a85760c081018051600101905261043c565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906105305750816101e00151896080015160ff16145b6105ac57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015610583573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a79190610f07565b6105b3565b8161018001515b825260a0820151158015906105d3575060c082015189516105d3916108f5565b156106c2576105ef896040015182845f01518560200151610943565b6040830181905261010083018051610608908390610f32565b90525060808901516101e08301516106239160ff16906109f8565b151561024083015260808201511561067957816102400151610649578160800151610650565b816101a001515b826040015161065f9190610f45565b82610140018181516106719190610f32565b905250610682565b60016102208301525b816102400151610696578160a0015161069d565b816101c001515b82604001516106ac9190610f45565b82610160018181516106be9190610f32565b9052505b60c082015189516106d2916102e8565b15610704576106ee896040015182845f01518560200151610a0e565b82610120018181516107009190610f32565b9052505b5060c081018051600101905261043c565b8061010001515f03610727575f610742565b8061010001518161014001518161074057610740610f5c565b045b6101408201526101008101515f0361075a575f610775565b8061010001518161016001518161077357610773610f5c565b045b610160820152610120810151156107b7576107b28161012001516107ac836101600151846101000151610b3d90919063ffffffff16565b90610b61565b6107ba565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b81545f90819081908190660100000000000090046001600160a01b0316801561088b5760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa158015610864573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108889190610f07565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106108e25760405162461bcd60e51b81526004016101849190610ebb565b5050905160019190911b1c600316151590565b6040805180820190915260028152610dcd60f21b60208201525f90608083106109315760405162461bcd60e51b81526004016101849190610ebb565b50509051600191821b82011c16151590565b5f8061094e85610b96565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f9287926109d1928692911690631da24f3e90602401602060405180830381865afa1580156109a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cb9190610f07565b90610bec565b6109db9190610f45565b90508381816109ec576109ec610f5c565b04979650505050505050565b5f8215801590610a0757508282145b9392505050565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa158015610a5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7f9190610f07565b90508015610a9d57610a9a610a9386610c2e565b8290610bec565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa158015610ae7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0b9190610f07565b610b159082610f32565b9050610b218185610f45565b9050828181610b3257610b32610f5c565b049695505050505050565b5f81156113881983900484111517610b53575f80fd5b506127109102611388010490565b5f8115670de0b6b3a764000060028404190484111715610b7f575f80fd5b50670de0b6b3a76400009190910260028204010490565b60038101545f90600160801b900464ffffffffff16428103610bc4575050600101546001600160801b031690565b6001830154610a07906001600160801b03808216916109cb91600160801b9091041684610c84565b5f81156b019d971e4fe8401e740000001983900484111517610c0c575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b60038101545f90600160801b900464ffffffffff16428103610c5c575050600201546001600160801b031690565b6002830154610a07906001600160801b03808216916109cb91600160801b9091041684610cc8565b5f80610c9764ffffffffff841642610f70565b610ca19085610f45565b6301e1338090049050610cc0816b033b2e3c9fd0803ce8000000610f32565b949350505050565b5f610a078383425f80610ce264ffffffffff851684610f70565b9050805f03610d00576b033b2e3c9fd0803ce8000000915050610a07565b5f1981015f808060028511610d15575f610d1a565b600285035b925066038882915c4000610d2e8a80610bec565b81610d3b57610d3b610f5c565b0491506301e13380610d4d838b610bec565b81610d5a57610d5a610f5c565b0490505f82610d698688610f45565b610d739190610f45565b6002900490505f8285610d86888a610f45565b610d909190610f45565b610d9a9190610f45565b60069004905080826301e13380610db18a8f610f45565b610dbb9190610f83565b610dd1906b033b2e3c9fd0803ce8000000610f32565b610ddb9190610f32565b610de59190610f32565b9b9a5050505050505050505050565b5f805f805f80868803610100811215610e0b575f80fd5b873596506020880135955060408801359450606080890135945060808901359350609f1982011215610e3b575f80fd5b506040516060810181811067ffffffffffffffff82111715610e6b57634e487b7160e01b5f52604160045260245ffd5b60405260a0880135815260c08801356001600160a01b0381168114610e8e575f80fd5b602082015260e088013560ff81168114610ea6575f80fd5b80604083015250809150509295509295509295565b5f602080835283518060208501525f5b81811015610ee757858101830151858201604001528201610ecb565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215610f17575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561033557610335610f1e565b808202811582820484141761033557610335610f1e565b634e487b7160e01b5f52601260045260245ffd5b8181038181111561033557610335610f1e565b5f82610f9d57634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212205fedc852856008db381a4b471a87bb15242fc3a860ea279677529381f57b359c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "executeSetUserEMode(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => uint8) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSetUserEModeParams)": "5d5dc313" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC20.ts b/packages/hyperdrive-artifacts/src/ERC20.ts new file mode 100644 index 000000000..3fa626852 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC20.ts @@ -0,0 +1,325 @@ +export const ERC20 = { + name: 'ERC20' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ERC20InsufficientAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "allowance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InsufficientBalance", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSpender", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC20Forwarder.ts b/packages/hyperdrive-artifacts/src/ERC20Forwarder.ts new file mode 100644 index 000000000..b312b2445 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC20Forwarder.ts @@ -0,0 +1,407 @@ +export const ERC20Forwarder = { + name: 'ERC20Forwarder' as const, + abi: [ + { + "type": "constructor", + "inputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "token", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMultiToken" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenId", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "source", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + } +] as const, + bytecode: '0x60c060405234801561000f575f80fd5b50604080516330075a5d60e11b815281513392839263600eb4ba92600480830193928290030181865afa158015610048573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061006c9190610081565b60a0526001600160a01b0316608052506100b8565b5f8060408385031215610092575f80fd5b82516001600160a01b03811681146100a8575f80fd5b6020939093015192949293505050565b60805160a051610fb661015e5f395f818161017d015281816102ee0152818161039e015281816104960152818161053e0152818161064a015281816106fc0152818161076b01528181610a250152610bc401525f81816102a601528181610317015281816103e3015281816104be0152818161058b0152818161068201528181610725015281816107ba01528181610a6201528181610b3d0152610c020152610fb65ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806354fd4d501161009e578063a9059cbb1161006e578063a9059cbb1461025e578063d505accf14610271578063dd62ed3e14610286578063f698da2514610299578063fc0c546a146102a1575f80fd5b806354fd4d50146101fe57806370a08231146102245780637ecebe001461023757806395d89b4114610256575f80fd5b806318160ddd116100d957806318160ddd146101ad57806323b872dd146101b557806330adf81f146101c8578063313ce567146101ef575f80fd5b806304baa00b1461010a57806306fdde031461014d578063095ea7b31461015557806317d70f7c14610178575b5f80fd5b6101376040518060400160405280600e81526020016d22a92199182337b93bb0b93232b960911b81525081565b6040516101449190610d22565b60405180910390f35b6101376102e0565b610168610163366004610d6f565b61038f565b6040519015158152602001610144565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610144565b61019f610487565b6101686101c3366004610d97565b61052f565b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610144565b61013760405180604001604052806007815260200166076312e302e32360cc1b81525081565b61019f610232366004610dd0565b61063b565b61019f610245366004610dd0565b5f6020819052908152604090205481565b6101376106ed565b61016861026c366004610d6f565b61075c565b61028461027f366004610df0565b610850565b005b61019f610294366004610e5d565b610b14565b61019f610c72565b6102c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610144565b604051622b600360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062ad800c906024015b5f60405180830381865afa158015610363573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261038a9190810190610ea2565b905090565b6040516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b038381166024830152604482018390523360648301525f917f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610426575f80fd5b505af1158015610438573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906020015b60405180910390a35060015b92915050565b60405163bd85b03960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bd85b03990602401602060405180830381865afa15801561050b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038a9190610f4a565b604051633912022f60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0384811660248301528381166044830152606482018390523360848301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156105ce575f80fd5b505af11580156105e0573d5f803e3d5ffd5b50505050826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161062991815260200190565b60405180910390a35060019392505050565b604051631b2b776160e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0382811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690633656eec290604401602060405180830381865afa1580156106c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104819190610f4a565b604051634e41a1fb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634e41a1fb90602401610349565b604051633912022f60e21b81527f0000000000000000000000000000000000000000000000000000000000000000600482015233602482018190526001600160a01b0384811660448401526064830184905260848301919091525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156107fd575f80fd5b505af115801561080f573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610475565b834211156108715760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166108985760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b0387165f90815260208190526040812054906108b9610c72565b604080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810184905260c0810188905260e0016040516020818303038152906040528051906020012060405160200161095292919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f80855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa1580156109ba573d5f803e3d5ffd5b505050602060405103519050896001600160a01b0316816001600160a01b0316146109f857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b03808b165f8181526020819052604090819020600187019055516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201528b83166024820152604481018b905260648101919091527f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610aa5575f80fd5b505af1158015610ab7573d5f803e3d5ffd5b50505050886001600160a01b03168a6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258a604051610b0091815260200190565b60405180910390a350505050505050505050565b60405163e985e9c560e01b81526001600160a01b03838116600483015282811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e985e9c590604401602060405180830381865afa158015610b84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba89190610f61565b15610bb557505f19610481565b6040516321ff32a960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b03848116602483015283811660448301527f000000000000000000000000000000000000000000000000000000000000000016906321ff32a990606401602060405180830381865afa158015610c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6b9190610f4a565b9050610481565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b5f5b83811015610d1a578181015183820152602001610d02565b50505f910152565b602081525f8251806020840152610d40816040850160208701610d00565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610d6a575f80fd5b919050565b5f8060408385031215610d80575f80fd5b610d8983610d54565b946020939093013593505050565b5f805f60608486031215610da9575f80fd5b610db284610d54565b9250610dc060208501610d54565b9150604084013590509250925092565b5f60208284031215610de0575f80fd5b610de982610d54565b9392505050565b5f805f805f805f60e0888a031215610e06575f80fd5b610e0f88610d54565b9650610e1d60208901610d54565b95506040880135945060608801359350608088013560ff81168114610e40575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610e6e575f80fd5b610e7783610d54565b9150610e8560208401610d54565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610eb2575f80fd5b815167ffffffffffffffff80821115610ec9575f80fd5b818401915084601f830112610edc575f80fd5b815181811115610eee57610eee610e8e565b604051601f8201601f19908116603f01168101908382118183101715610f1657610f16610e8e565b81604052828152876020848701011115610f2e575f80fd5b610f3f836020830160208801610d00565b979650505050505050565b5f60208284031215610f5a575f80fd5b5051919050565b5f60208284031215610f71575f80fd5b81518015158114610de9575f80fdfea26469706673582212200d9ff63d4b9e6f153a8da56e582ec74e539c3879a5e3c4f8f56c9f90c231510f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "kind()": "04baa00b", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "symbol()": "95d89b41", + "token()": "fc0c546a", + "tokenId()": "17d70f7c", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC20ForwarderFactory.ts b/packages/hyperdrive-artifacts/src/ERC20ForwarderFactory.ts new file mode 100644 index 000000000..580508c4e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC20ForwarderFactory.ts @@ -0,0 +1,149 @@ +export const ERC20ForwarderFactory = { + name: 'ERC20ForwarderFactory' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ERC20LINK_HASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "create", + "inputs": [ + { + "name": "__token", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "__tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20Forwarder" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getDeployDetails", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getForwarder", + "inputs": [ + { + "name": "__token", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "__tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "error", + "name": "InvalidForwarderAddress", + "inputs": [] + } +] as const, + bytecode: '0x6080604052600180546001600160a01b03191681178155600255348015610024575f80fd5b5060405161186e38038061186e83398101604081905261004391610069565b5f61004e82826101af565b505061026e565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561007a575f80fd5b82516001600160401b0380821115610090575f80fd5b818501915085601f8301126100a3575f80fd5b8151818111156100b5576100b5610055565b604051601f8201601f19908116603f011681019083821181831017156100dd576100dd610055565b8160405282815288868487010111156100f4575f80fd5b5f93505b8284101561011557848401860151818501870152928501926100f8565b5f86848301015280965050505050505092915050565b600181811c9082168061013f57607f821691505b60208210810361015d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101aa57805f5260205f20601f840160051c810160208510156101885750805b601f840160051c820191505b818110156101a7575f8155600101610194565b50505b505050565b81516001600160401b038111156101c8576101c8610055565b6101dc816101d6845461012b565b84610163565b602080601f83116001811461020f575f84156101f85750858301515b5f19600386901b1c1916600185901b178555610266565b5f85815260208120601f198616915b8281101561023d5788860151825594840194600190910190840161021e565b508582101561025a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6115f38061027b5f395ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c80630ecaea73116100585780630ecaea73146100fb57806354fd4d501461010e578063600eb4ba14610134578063d13053bb1461016a575f80fd5b806304baa00b1461007e57806306fdde03146100c85780630710fd58146100d0575b5f80fd5b6100b2604051806040016040528060158152602001744552433230466f72776172646572466163746f727960581b81525081565b6040516100bf91906103f0565b60405180910390f35b6100b2610180565b6100e36100de36600461043c565b61020b565b6040516001600160a01b0390911681526020016100bf565b6100e361010936600461043c565b6102de565b6100b260405180604001604052806007815260200166076312e302e32360cc1b81525081565b61014b6001546002546001600160a01b0390911691565b604080516001600160a01b0390931683526020830191909152016100bf565b6101726103b6565b6040519081526020016100bf565b5f805461018c90610471565b80601f01602080910402602001604051908101604052809291908181526020018280546101b890610471565b80156102035780601f106101da57610100808354040283529160200191610203565b820191905f5260205f20905b8154815290600101906020018083116101e657829003601f168201915b505050505081565b604080516001600160a01b03841660208201529081018290525f9081906060016040516020818303038152906040528051906020012090505f60ff60f81b30836040518060200161025b906103e3565b6020820181038252601f19601f82011660405250805190602001206040516020016102bd94939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051808303601f19018152919052805160209091012095945050505050565b6002819055600180546001600160a01b0319166001600160a01b03841690811790915560408051602081019290925281018290525f9081906060016040516020818303038152906040528051906020012090505f8160405161033f906103e3565b8190604051809103905ff590508015801561035c573d5f803e3d5ffd5b509050610369858561020b565b6001600160a01b0316816001600160a01b0316146103995760405162e0775560e61b815260040160405180910390fd5b600180546001600160a01b03191681178155600255949350505050565b6040516103c5602082016103e3565b6020820181038252601f19601f820116604052508051906020012081565b611114806104aa83390190565b5f602080835283518060208501525f5b8181101561041c57858101830151858201604001528201610400565b505f604082860101526040601f19601f8301168501019250505092915050565b5f806040838503121561044d575f80fd5b82356001600160a01b0381168114610463575f80fd5b946020939093013593505050565b600181811c9082168061048557607f821691505b6020821081036104a357634e487b7160e01b5f52602260045260245ffd5b5091905056fe60c060405234801561000f575f80fd5b50604080516330075a5d60e11b815281513392839263600eb4ba92600480830193928290030181865afa158015610048573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061006c9190610081565b60a0526001600160a01b0316608052506100b8565b5f8060408385031215610092575f80fd5b82516001600160a01b03811681146100a8575f80fd5b6020939093015192949293505050565b60805160a051610fb661015e5f395f818161017d015281816102ee0152818161039e015281816104960152818161053e0152818161064a015281816106fc0152818161076b01528181610a250152610bc401525f81816102a601528181610317015281816103e3015281816104be0152818161058b0152818161068201528181610725015281816107ba01528181610a6201528181610b3d0152610c020152610fb65ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806354fd4d501161009e578063a9059cbb1161006e578063a9059cbb1461025e578063d505accf14610271578063dd62ed3e14610286578063f698da2514610299578063fc0c546a146102a1575f80fd5b806354fd4d50146101fe57806370a08231146102245780637ecebe001461023757806395d89b4114610256575f80fd5b806318160ddd116100d957806318160ddd146101ad57806323b872dd146101b557806330adf81f146101c8578063313ce567146101ef575f80fd5b806304baa00b1461010a57806306fdde031461014d578063095ea7b31461015557806317d70f7c14610178575b5f80fd5b6101376040518060400160405280600e81526020016d22a92199182337b93bb0b93232b960911b81525081565b6040516101449190610d22565b60405180910390f35b6101376102e0565b610168610163366004610d6f565b61038f565b6040519015158152602001610144565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610144565b61019f610487565b6101686101c3366004610d97565b61052f565b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610144565b61013760405180604001604052806007815260200166076312e302e32360cc1b81525081565b61019f610232366004610dd0565b61063b565b61019f610245366004610dd0565b5f6020819052908152604090205481565b6101376106ed565b61016861026c366004610d6f565b61075c565b61028461027f366004610df0565b610850565b005b61019f610294366004610e5d565b610b14565b61019f610c72565b6102c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610144565b604051622b600360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169062ad800c906024015b5f60405180830381865afa158015610363573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261038a9190810190610ea2565b905090565b6040516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b038381166024830152604482018390523360648301525f917f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610426575f80fd5b505af1158015610438573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906020015b60405180910390a35060015b92915050565b60405163bd85b03960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bd85b03990602401602060405180830381865afa15801561050b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038a9190610f4a565b604051633912022f60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0384811660248301528381166044830152606482018390523360848301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156105ce575f80fd5b505af11580156105e0573d5f803e3d5ffd5b50505050826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161062991815260200190565b60405180910390a35060019392505050565b604051631b2b776160e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b0382811660248301525f917f000000000000000000000000000000000000000000000000000000000000000090911690633656eec290604401602060405180830381865afa1580156106c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104819190610f4a565b604051634e41a1fb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634e41a1fb90602401610349565b604051633912022f60e21b81527f0000000000000000000000000000000000000000000000000000000000000000600482015233602482018190526001600160a01b0384811660448401526064830184905260848301919091525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e44808bc9060a4015f604051808303815f87803b1580156107fd575f80fd5b505af115801561080f573d5f803e3d5ffd5b50506040518481526001600160a01b03861692503391507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610475565b834211156108715760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166108985760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b0387165f90815260208190526040812054906108b9610c72565b604080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810184905260c0810188905260e0016040516020818303038152906040528051906020012060405160200161095292919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f80855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa1580156109ba573d5f803e3d5ffd5b505050602060405103519050896001600160a01b0316816001600160a01b0316146109f857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b03808b165f8181526020819052604090819020600187019055516313b4b5ab60e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201528b83166024820152604481018b905260648101919091527f000000000000000000000000000000000000000000000000000000000000000090911690634ed2d6ac906084015f604051808303815f87803b158015610aa5575f80fd5b505af1158015610ab7573d5f803e3d5ffd5b50505050886001600160a01b03168a6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258a604051610b0091815260200190565b60405180910390a350505050505050505050565b60405163e985e9c560e01b81526001600160a01b03838116600483015282811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e985e9c590604401602060405180830381865afa158015610b84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba89190610f61565b15610bb557505f19610481565b6040516321ff32a960e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526001600160a01b03848116602483015283811660448301527f000000000000000000000000000000000000000000000000000000000000000016906321ff32a990606401602060405180830381865afa158015610c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6b9190610f4a565b9050610481565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b5f5b83811015610d1a578181015183820152602001610d02565b50505f910152565b602081525f8251806020840152610d40816040850160208701610d00565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610d6a575f80fd5b919050565b5f8060408385031215610d80575f80fd5b610d8983610d54565b946020939093013593505050565b5f805f60608486031215610da9575f80fd5b610db284610d54565b9250610dc060208501610d54565b9150604084013590509250925092565b5f60208284031215610de0575f80fd5b610de982610d54565b9392505050565b5f805f805f805f60e0888a031215610e06575f80fd5b610e0f88610d54565b9650610e1d60208901610d54565b95506040880135945060608801359350608088013560ff81168114610e40575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610e6e575f80fd5b610e7783610d54565b9150610e8560208401610d54565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610eb2575f80fd5b815167ffffffffffffffff80821115610ec9575f80fd5b818401915084601f830112610edc575f80fd5b815181811115610eee57610eee610e8e565b604051601f8201601f19908116603f01168101908382118183101715610f1657610f16610e8e565b81604052828152876020848701011115610f2e575f80fd5b610f3f836020830160208801610d00565b979650505050505050565b5f60208284031215610f5a575f80fd5b5051919050565b5f60208284031215610f71575f80fd5b81518015158114610de9575f80fdfea26469706673582212200d9ff63d4b9e6f153a8da56e582ec74e539c3879a5e3c4f8f56c9f90c231510f64736f6c63430008160033a264697066735822122077ff4715aad5e900a0eb1d5c03c2f718a47d434f98962105db8d4a1f1d659e7364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "ERC20LINK_HASH()": "d13053bb", + "create(address,uint256)": "0ecaea73", + "getDeployDetails()": "600eb4ba", + "getForwarder(address,uint256)": "0710fd58", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC20Mintable.ts b/packages/hyperdrive-artifacts/src/ERC20Mintable.ts new file mode 100644 index 000000000..7adfce507 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC20Mintable.ts @@ -0,0 +1,928 @@ +export const ERC20Mintable = { + name: 'ERC20Mintable' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "symbol", + "type": "string", + "internalType": "string" + }, + { + "name": "decimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "admin", + "type": "address", + "internalType": "address" + }, + { + "name": "isCompetitionMode_", + "type": "bool", + "internalType": "bool" + }, + { + "name": "maxMintAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompetitionMode", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isUnrestricted", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMintAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMaxMintAmount", + "inputs": [ + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUnrestrictedMintStatus", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x61010060405234801562000011575f80fd5b5060405162001f8938038062001f8983398101604081905262000034916200028a565b823081818989895f620000488482620003cb565b506001620000578382620003cb565b5060ff81166080524660a0526200006d6200011a565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55506200051192505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200014c919062000497565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620001d8575f80fd5b81516001600160401b0380821115620001f557620001f5620001b4565b604051601f8301601f19908116603f01168101908282118183101715620002205762000220620001b4565b81604052838152602092508660208588010111156200023d575f80fd5b5f91505b8382101562000260578582018301518183018401529082019062000241565b5f602085830101528094505050505092915050565b8051801515811462000285575f80fd5b919050565b5f805f805f8060c08789031215620002a0575f80fd5b86516001600160401b0380821115620002b7575f80fd5b620002c58a838b01620001c8565b97506020890151915080821115620002db575f80fd5b50620002ea89828a01620001c8565b955050604087015160ff8116811462000301575f80fd5b60608801519094506001600160a01b03811681146200031e575f80fd5b92506200032e6080880162000275565b915060a087015190509295509295509295565b600181811c908216806200035657607f821691505b6020821081036200037557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003c657805f5260205f20601f840160051c81016020851015620003a25750805b601f840160051c820191505b81811015620003c3575f8155600101620003ae565b50505b505050565b81516001600160401b03811115620003e757620003e7620001b4565b620003ff81620003f8845462000341565b846200037b565b602080601f83116001811462000435575f84156200041d5750858301515b5f19600386901b1c1916600185901b1785556200048f565b5f85815260208120601f198616915b82811015620004655788860151825594840194600190910190840162000444565b50858210156200048357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620004a68162000341565b60018281168015620004c15760018114620004d75762000505565b60ff198416875282151583028701945062000505565b875f526020805f205f5b85811015620004fc5781548a820152908401908201620004e1565b50505082870194505b50929695505050505050565b60805160a05160c05160e051611a1a6200056f5f395f81816103c7015281816105d3015281816106e8015281816109bb01528181610a5801528181610d8a0152610deb01525f61099701525f61096201525f6103080152611a1a5ff3fe608060405234801561000f575f80fd5b5060043610610213575f3560e01c80637a8c63b51161011f578063b7009613116100a9578063dd62ed3e11610079578063dd62ed3e1461050a578063e688747b14610534578063ea7ca27614610569578063ed0d0efb1461059f578063f2fde38b146105be575f80fd5b8063b7009613146104a9578063bf7e214f146104bc578063c53a3985146104cf578063d505accf146104f7575f80fd5b806395d89b41116100ef57806395d89b41146104465780639dc29fac1461044e578063a0712d6814610461578063a9059cbb14610474578063aed3077714610487575f80fd5b80637a8c63b5146103c25780637a9e5e4b146103e95780637ecebe00146103fc5780638da5cb5b1461041b575f80fd5b806323b872dd116101a057806342966c681161017057806342966c68146103575780634b5159da1461036a57806367aff4841461037d57806370a0823114610390578063728b952b146103af575f80fd5b806323b872dd146102f0578063313ce567146103035780633644e5151461033c57806340c10f1914610344575f80fd5b8063095ea7b3116101e6578063095ea7b3146102865780630bade8a4146102a95780630ea9b75b146102cb57806318160ddd146102de578063239c70ae146102e7575f80fd5b806305f05a941461021757806306a36aee1461022c57806306fdde031461025e578063088a4ed014610273575b5f80fd5b61022a6102253660046114ae565b6105d1565b005b61024b61023a3660046114e5565b60096020525f908152604090205481565b6040519081526020015b60405180910390f35b61026661065b565b6040516102559190611500565b61022a61028136600461154c565b6106e6565b610299610294366004611563565b610742565b6040519015158152602001610255565b6102996102b73660046115a9565b600a6020525f908152604090205460ff1681565b61022a6102d93660046115d2565b6107ae565b61024b60025481565b61024b600c5481565b6102996102fe366004611616565b610883565b61032a7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610255565b61024b61095f565b61022a610352366004611563565b6109b9565b61022a61036536600461154c565b610a56565b61022a610378366004611654565b610aba565b61022a61038b36600461166e565b610b4a565b61024b61039e3660046114e5565b60036020525f908152604090205481565b61022a6103bd366004611699565b610c0f565b6102997f000000000000000000000000000000000000000000000000000000000000000081565b61022a6103f73660046114e5565b610c96565b61024b61040a3660046114e5565b60056020525f908152604090205481565b60065461042e906001600160a01b031681565b6040516001600160a01b039091168152602001610255565b610266610d7b565b61022a61045c366004611563565b610d88565b61022a61046f36600461154c565b610de9565b610299610482366004611563565b610e82565b6102996104953660046114e5565b600d6020525f908152604090205460ff1681565b6102996104b73660046116c5565b610ee5565b60075461042e906001600160a01b031681565b61042e6104dd3660046114e5565b60086020525f90815260409020546001600160a01b031681565b61022a610505366004611709565b610fde565b61024b610518366004611699565b600460209081525f928352604080842090915290825290205481565b610299610542366004611772565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b6102996105773660046117a3565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b61024b6105ad3660046115a9565b600b6020525f908152604090205481565b61022a6105cc3660046114e5565b61121c565b7f0000000000000000000000000000000000000000000000000000000000000000156106315761060c335f356001600160e01b031916611298565b6106315760405162461bcd60e51b8152600401610628906117cd565b60405180910390fd5b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f805461066790611804565b80601f016020809104026020016040519081016040528092919081815260200182805461069390611804565b80156106de5780601f106106b5576101008083540402835291602001916106de565b820191905f5260205f20905b8154815290600101906020018083116106c157829003601f168201915b505050505081565b7f00000000000000000000000000000000000000000000000000000000000000001561073d57610721335f356001600160e01b031916611298565b61073d5760405162461bcd60e51b8152600401610628906117cd565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061079c9086815260200190565b60405180910390a35060015b92915050565b6107c3335f356001600160e01b031916611298565b6107df5760405162461bcd60e51b81526004016106289061183c565b801561080e576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610834565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610876911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f1981146108dc576108b88382611876565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610903908490611876565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f805160206119c58339815191529061094a9087815260200190565b60405180910390a360019150505b9392505050565b5f7f000000000000000000000000000000000000000000000000000000000000000046146109945761098f61133f565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000015610a10576109f4335f356001600160e01b031916611298565b610a105760405162461bcd60e51b8152600401610628906117cd565b335f908152600d602052604090205460ff16610a4857600c54811115610a485760405162461bcd60e51b815260040161062890611889565b610a5282826113d7565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610aad57610a91335f356001600160e01b031916611298565b610aad5760405162461bcd60e51b8152600401610628906117cd565b610ab7338261142e565b50565b610acf335f356001600160e01b031916611298565b610aeb5760405162461bcd60e51b81526004016106289061183c565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610b5f335f356001600160e01b031916611298565b610b7b5760405162461bcd60e51b81526004016106289061183c565b8015610ba9576001600160a01b0383165f9081526009602052604090208054600160ff85161b179055610bce565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610876911515815260200190565b610c24335f356001600160e01b031916611298565b610c405760405162461bcd60e51b81526004016106289061183c565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b0316331480610d28575060075460405163b700961360e01b81526001600160a01b039091169063b700961390610ce990339030906001600160e01b03195f3516906004016118cb565b602060405180830381865afa158015610d04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2891906118f8565b610d30575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b6001805461066790611804565b7f000000000000000000000000000000000000000000000000000000000000000015610ddf57610dc3335f356001600160e01b031916611298565b610ddf5760405162461bcd60e51b8152600401610628906117cd565b610a52828261142e565b7f000000000000000000000000000000000000000000000000000000000000000015610e4057610e24335f356001600160e01b031916611298565b610e405760405162461bcd60e51b8152600401610628906117cd565b335f908152600d602052604090205460ff16610e7857600c54811115610e785760405162461bcd60e51b815260040161062890611889565b610ab733826113d7565b335f90815260036020526040812080548391908390610ea2908490611876565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f805160206119c58339815191529061079c9086815260200190565b6001600160a01b038083165f908152600860205260408120549091168015610f7e5760405163b700961360e01b81526001600160a01b0382169063b700961390610f37908890889088906004016118cb565b602060405180830381865afa158015610f52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7691906118f8565b915050610958565b6001600160e01b031983165f908152600a602052604090205460ff1680610fd557506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b4284101561102e5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610628565b5f600161103961095f565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015611141573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906111775750876001600160a01b0316816001600160a01b0316145b6111b45760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610628565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b611231335f356001600160e01b031916611298565b61124d5760405162461bcd60e51b81526004016106289061183c565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6007545f906001600160a01b0316801580159061131f575060405163b700961360e01b81526001600160a01b0382169063b7009613906112e0908790309088906004016118cb565b602060405180830381865afa1580156112fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131f91906118f8565b8061133757506006546001600160a01b038581169116145b949350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f60405161136f9190611913565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060025f8282546113e891906119b1565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f805160206119c583398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611455908490611876565b90915550506002805482900390556040518181525f906001600160a01b038416905f805160206119c583398151915290602001611422565b6001600160a01b0381168114610ab7575f80fd5b8015158114610ab7575f80fd5b5f80604083850312156114bf575f80fd5b82356114ca8161148d565b915060208301356114da816114a1565b809150509250929050565b5f602082840312156114f5575f80fd5b81356109588161148d565b5f602080835283518060208501525f5b8181101561152c57858101830151858201604001528201611510565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561155c575f80fd5b5035919050565b5f8060408385031215611574575f80fd5b823561157f8161148d565b946020939093013593505050565b80356001600160e01b0319811681146115a4575f80fd5b919050565b5f602082840312156115b9575f80fd5b6109588261158d565b803560ff811681146115a4575f80fd5b5f805f606084860312156115e4575f80fd5b6115ed846115c2565b92506115fb6020850161158d565b9150604084013561160b816114a1565b809150509250925092565b5f805f60608486031215611628575f80fd5b83356116338161148d565b925060208401356116438161148d565b929592945050506040919091013590565b5f8060408385031215611665575f80fd5b6114ca8361158d565b5f805f60608486031215611680575f80fd5b833561168b8161148d565b92506115fb602085016115c2565b5f80604083850312156116aa575f80fd5b82356116b58161148d565b915060208301356114da8161148d565b5f805f606084860312156116d7575f80fd5b83356116e28161148d565b925060208401356116f28161148d565b91506117006040850161158d565b90509250925092565b5f805f805f805f60e0888a03121561171f575f80fd5b873561172a8161148d565b9650602088013561173a8161148d565b95506040880135945060608801359350611756608089016115c2565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215611783575f80fd5b61178c836115c2565b915061179a6020840161158d565b90509250929050565b5f80604083850312156117b4575f80fd5b82356117bf8161148d565b915061179a602084016115c2565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c9082168061181857607f821691505b60208210810361183657634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107a8576107a8611862565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611908575f80fd5b8151610958816114a1565b5f8083545f60018260011c9150600183168061193057607f831692505b6020808410820361194f57634e487b7160e01b5f52602260045260245ffd5b8180156119635760018114611978576119a3565b60ff19861689528415158502890196506119a3565b5f8a8152602090205f5b8681101561199b5781548b820152908501908301611982565b505084890196505b509498975050505050505050565b808201808211156107a8576107a861186256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220327bc91d6f09a925c146c80290bfde7f90aab0f56a72af8861f409aa3948d81964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "authority()": "bf7e214f", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "burn(uint256)": "42966c68", + "canCall(address,address,bytes4)": "b7009613", + "decimals()": "313ce567", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getTargetCustomAuthority(address)": "c53a3985", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "isCompetitionMode()": "7a8c63b5", + "isUnrestricted(address)": "aed30777", + "maxMintAmount()": "239c70ae", + "mint(address,uint256)": "40c10f19", + "mint(uint256)": "a0712d68", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "owner()": "8da5cb5b", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "setAuthority(address)": "7a9e5e4b", + "setMaxMintAmount(uint256)": "088a4ed0", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUnrestrictedMintStatus(address,bool)": "05f05a94", + "setUserRole(address,uint8,bool)": "67aff484", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626.ts b/packages/hyperdrive-artifacts/src/ERC4626.ts new file mode 100644 index 000000000..ad6673554 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626.ts @@ -0,0 +1,723 @@ +export const ERC4626 = { + name: 'ERC4626' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "maxDeposit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMint", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxRedeem", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxWithdraw", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "previewDeposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewMint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewRedeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewWithdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "asset()": "38d52e0f", + "balanceOf(address)": "70a08231", + "convertToAssets(uint256)": "07a2d13a", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "deposit(uint256,address)": "6e553f65", + "maxDeposit(address)": "402d267d", + "maxMint(address)": "c63d75b6", + "maxRedeem(address)": "d905777e", + "maxWithdraw(address)": "ce96cb77", + "mint(uint256,address)": "94bf804d", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "previewDeposit(uint256)": "ef8b30f7", + "previewMint(uint256)": "b3d7f6b9", + "previewRedeem(uint256)": "4cdad506", + "previewWithdraw(uint256)": "0a28a477", + "redeem(uint256,address,address)": "ba087652", + "symbol()": "95d89b41", + "totalAssets()": "01e1d114", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "withdraw(uint256,address,address)": "b460af94" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Base.ts b/packages/hyperdrive-artifacts/src/ERC4626Base.ts new file mode 100644 index 000000000..8fa6832cc --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Base.ts @@ -0,0 +1,657 @@ +export const ERC4626Base = { + name: 'ERC4626Base' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Conversions.ts b/packages/hyperdrive-artifacts/src/ERC4626Conversions.ts new file mode 100644 index 000000000..af5989a18 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Conversions.ts @@ -0,0 +1,6 @@ +export const ERC4626Conversions = { + name: 'ERC4626Conversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212206342abdde17a804bc069629bb17530c9892231b5ab21dfb0262d9fe17e0ef05064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Hyperdrive.ts b/packages/hyperdrive-artifacts/src/ERC4626Hyperdrive.ts new file mode 100644 index 000000000..c183f361e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Hyperdrive.ts @@ -0,0 +1,1704 @@ +export const ERC4626Hyperdrive = { + name: 'ERC4626Hyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b5060405162001ab238038062001ab28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161104162000a715f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220099d126b799e3a960c9eab6d2d040aa7e428a873a3f06060217444991969687e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626HyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/ERC4626HyperdriveCoreDeployer.ts new file mode 100644 index 000000000..ed85778a4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626HyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const ERC4626HyperdriveCoreDeployer = { + name: 'ERC4626HyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506121068061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611ab2806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b5060405162001ab238038062001ab28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161104162000a715f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220099d126b799e3a960c9eab6d2d040aa7e428a873a3f06060217444991969687e64736f6c63430008160033a2646970667358221220fdcc5ef1e806b823ef7b08ac5894ec6168915c6e11a413d32e99ac705377a1df64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626HyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/ERC4626HyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..e1afd5133 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626HyperdriveDeployerCoordinator.ts @@ -0,0 +1,803 @@ +export const ERC4626HyperdriveDeployerCoordinator = { + name: 'ERC4626HyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b5060405162002aea38038062002aea8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516126d06200041a5f395f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526126d05ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bf4565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611d29565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611de7565b6106d0565b348015610187575f80fd5b5061026b610196366004611e11565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611e28565b348015610283575f80fd5b5061014f610292366004611de7565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611ffc565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004612065565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602481526020016126776024913981565b5f80546104bc906120ff565b80601f01602080910402602001604051908101604052809291908181526020018280546104e8906120ff565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190612137565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612186565b92505f61065382346121b1565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db8383611329565b90505b92915050565b5f6106db8383611393565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b61077886866113c2565b5f61078387876115cf565b90505f8760405160200161079791906121c4565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a6115e6565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161087394939291906123f7565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b3919061243c565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161092791906121c4565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f87876113c2565b5f610999886115e6565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a4093929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a7594939291906123f7565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab5919061243c565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b7393929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba894939291906123f7565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be8919061243c565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca693929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb94939291906123f7565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b919061243c565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd993929190612457565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e94939291906123f7565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e919061243c565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110359087906020016121c4565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e85856113c2565b5f6110a8866115e6565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a99989796959493929190612478565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c5919061243c565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8082602001511561129257856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611267573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128b919061243c565b90506112f5565b856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f2919061243c565b90505b61130a6001600160a01b0382168630876116b4565b61131e6001600160a01b0382168786611721565b505f95945050505050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa15801561136f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190612186565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611354565b6113cc82826117b0565b60208201516001600160a01b03166113f75760405163073f739d60e51b815260040160405180910390fd5b81602001516001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611437573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145b919061243c565b6001600160a01b0316825f01516001600160a01b03161461148f57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f491906124fa565b6114fe919061251a565b61150990600a612613565b8260800151101561152d576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061159291906124fa565b61159c919061251a565b6115a790600a612613565b8260a0015110156115cb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b6115ee611ad3565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261171b9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506118c4565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611772848261192f565b61171b576040516001600160a01b0384811660248301525f60448301526117a691869182169063095ea7b3906064016116e9565b61171b84826118c4565b6103e8826080015110156117d7576040516349db44f560e01b815260040160405180910390fd5b8161010001515f036117fc57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061182657508161010001518260e001516118239190612621565b15155b156118445760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118705750670de0b6b3a7640000826101c0015160200151115b8061188b5750670de0b6b3a7640000826101c0015160400151115b806118a65750670de0b6b3a7640000826101c0015160600151115b156115cb576040516322f72cc360e11b815260040160405180910390fd5b5f6118d86001600160a01b038416836119cc565b905080515f141580156118fc5750808060200190518101906118fa9190612640565b155b1561192a57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161194a919061265b565b5f604051808303815f865af19150503d805f8114611983576040519150601f19603f3d011682016040523d82523d5f602084013e611988565b606091505b50915091508180156119b25750805115806119b25750808060200190518101906119b29190612640565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b031684866040516119f0919061265b565b5f6040518083038185875af1925050503d805f8114611a2a576040519150601f19603f3d011682016040523d82523d5f602084013e611a2f565b606091505b5091509150611a3f868383611a4b565b925050505b9392505050565b606082611a6057611a5b82611aa7565b611a44565b8151158015611a7757506001600160a01b0384163b155b15611aa057604051639996b31560e01b81526001600160a01b0385166004820152602401611921565b5080611a44565b805115611ab75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ba260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611bc1578181015183820152602001611ba9565b50505f910152565b5f8151808452611be0816020860160208601611ba7565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611bc9565b6001600160a01b0381168114611ad0575f80fd5b8035611c2581611c06565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c6157611c61611c2a565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c6157611c61611c2a565b8015158114611ad0575f80fd5b5f67ffffffffffffffff80841115611cb257611cb2611c2a565b604051601f8501601f19908116603f01168101908282118183101715611cda57611cda611c2a565b81604052809350858152868686011115611cf2575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611d1a575f80fd5b6106db83833560208501611c98565b5f805f805f60a08688031215611d3d575f80fd5b853594506020860135611d4f81611c06565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d79575f80fd5b908701906060828a031215611d8c575f80fd5b611d94611c3e565b8235611d9f81611c06565b81526020830135611daf81611c8b565b6020820152604083013582811115611dc5575f80fd5b611dd18b828601611d0b565b6040830152508093505050509295509295909350565b5f8060408385031215611df8575f80fd5b8235611e0381611c06565b946020939093013593505050565b5f60208284031215611e21575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611eb5575f80fd5b6040516080810181811067ffffffffffffffff82111715611ed857611ed8611c2a565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611f1a575f80fd5b611f22611c67565b9050611f2d82611c1a565b8152611f3b60208301611c1a565b6020820152611f4c60408301611c1a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611fa9818401611c1a565b90820152610160611fbb838201611c1a565b90820152610180611fcd838201611c1a565b908201526101a0611fdf838201611c1a565b908201526101c0611ff284848301611ea5565b9082015292915050565b5f805f805f6102c08688031215612011575f80fd5b853594506120228760208801611f09565b935061026086013567ffffffffffffffff81111561203e575f80fd5b61204a88828901611d0b565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c0868803121561207a575f80fd5b85359450602086013567ffffffffffffffff80821115612098575f80fd5b818801915088601f8301126120ab575f80fd5b6120ba89833560208501611c98565b95506120c98960408a01611f09565b94506102808801359150808211156120df575f80fd5b506120ec88828901611d0b565b959894975092956102a001359392505050565b600181811c9082168061211357607f821691505b60208210810361213157634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261217c60c0840182611bc9565b9695505050505050565b5f60208284031215612196575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106de576106de61219d565b81516001600160a01b03168152610240810160208301516121f060208401826001600160a01b03169052565b50604083015161220b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151612271828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e9d565b80516001600160a01b03168252602081015161230160208401826001600160a01b03169052565b50604081015161231c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161238e828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261171b565b5f6102c061240583886122da565b6001600160a01b038616610260840152610280830181905261242981840186611bc9565b915050826102a083015295945050505050565b5f6020828403121561244c575f80fd5b8151611a4481611c06565b6001600160a01b039390931683526020830191909152604082015260600190565b5f61038080835261248b8184018e611bc9565b905061249a602084018d6122da565b6001600160a01b038b81166102808501528382036102a08501526124be828c611bc9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f6020828403121561250a575f80fd5b815160ff81168114611a44575f80fd5b60ff82811682821603908111156106de576106de61219d565b600181815b8085111561256d57815f19048211156125535761255361219d565b8085161561256057918102915b93841c9390800290612538565b509250929050565b5f82612583575060016106de565b8161258f57505f6106de565b81600181146125a557600281146125af576125cb565b60019150506106de565b60ff8411156125c0576125c061219d565b50506001821b6106de565b5060208310610133831016604e8410600b84101617156125ee575081810a6106de565b6125f88383612533565b805f190482111561260b5761260b61219d565b029392505050565b5f6106db60ff841683612575565b5f8261263b57634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612650575f80fd5b8151611a4481611c8b565b5f825161266c818460208701611ba7565b919091019291505056fe45524334363236487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220eb20e2025c59cf03e179f60d33edda05b6e9118b0ab6a9f06e08bed958790ecc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target0.ts b/packages/hyperdrive-artifacts/src/ERC4626Target0.ts new file mode 100644 index 000000000..5742861d0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target0.ts @@ -0,0 +1,1932 @@ +export const ERC4626Target0 = { + name: 'ERC4626Target0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003ecc38038062003ecc8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a76620004565f395f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca015261286b01525f8181610e3e0152612c2901525f818161060901528181610cfc01528181611e220152818161259b015281816125c601528181612ac70152612bfb01525f818161073301528181610ccd0152818161126701528181612a2f0152612b5e0152613a765ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612e61565b610559565b60405161024c9190612ec5565b60405180910390f35b610268610263366004612eeb565b610590565b005b610268610278366004612f13565b610599565b61023f6105a2565b61023f6105e4565b6102956105fb565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612f3c565b61063a565b6102686102ce36600461300d565b610656565b6102686102e136600461309c565b61066c565b6102f96102f4366004612e61565b61067f565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e6103393660046130e1565b6106e8565b60405190815260200161024c565b61035461072d565b60405160ff909116815260200161024c565b61033e610374366004613120565b6107c5565b61033e6107fd565b61033e61038f36600461314e565b61081b565b6103a76103a2366004612eeb565b610825565b604051901515815260200161024c565b61023f6103c5366004612e61565b610844565b6102686103d8366004613185565b610852565b61023f6108a0565b6103ed6108d5565b60405161024c91906131cc565b61026861040836600461326d565b5050565b61033e61041a366004612eeb565b610bce565b610295610bf9565b610268610435366004613299565b610c38565b61026861044836600461326d565b610c49565b61026861045b366004612eeb565b50565b610466610cb4565b60405161024c91906132ce565b61033e610481366004612e61565b611174565b61033e610494366004612e61565b611181565b6104ac6104a73660046133f4565b6111a2565b60405161024c9190613433565b610295611259565b61033e611298565b61033e6104d7366004612e61565b6112b1565b61033e6104ea366004612e61565b6112be565b6104f76112f4565b60405161024c9190613476565b610268610512366004613587565b6113ff565b6103a76105253660046135e2565b611447565b61053261148a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b610567836114e8565b6040516020016105779190612ec5565b60405160208183030381529060405261160e565b919050565b61045b81611632565b61045b81611893565b60606105e160405180604001604052806011815260200170455243343632364879706572647269766560781b8152506040516020016105779190612ec5565b90565b60606105e16001604051602001610577919061360e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b61064b8989898989898989896119ab565b505050505050505050565b610664868686868686611b9d565b505050505050565b6106798484848433611c50565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107269101610577565b9392505050565b5f6105e17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b191906136bb565b6040805160ff909216602083015201610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107f79101610577565b92915050565b5f6105e1610809611e0b565b60405160200161057791815260200190565b5f6107f782611e98565b5f61058b610832836120ce565b60408051911515602083015201610577565b606061058b610567836121ac565b8361085c816122a8565b6001600160a01b0316336001600160a01b03161461088d57604051632aab8bd360e01b815260040160405180910390fd5b61089985858585612365565b5050505050565b60606105e160405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612ec5565b61093f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109486123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109b291906136fe565b6109bc9190613711565b90505f8215610acb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109e8856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb9190613724565b509050610ac8818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9b57610b968486612581565b610b9d565b5f5b81526003546001600160801b0316602091820152604051919250610bc791610577918491016131cc565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d8d565b6105e16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613752565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906132ce565b5f61058b61080983612595565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff8111156111be576111be61376d565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613781565b9050602002013590505f815490508084848151811061122857611228613781565b602090810291909101015250506001016111ec565b50611252816040516020016105779190613433565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b5f6105e160095460405160200161057791815260200190565b5f61058b610809836125c0565b5f61058b6108096112ef7f0000000000000000000000000000000000000000000000000000000000000000856136fe565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e16002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106648686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107f79101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e190606001610577565b606060f882901c6001600160f81b0383165f6115038261262b565b90505f836003811115611518576115186136d6565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136d6565b0361158a57806040516020016115749190613795565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136d6565b036115b4578060405160200161157491906137cd565b60038360038111156115c8576115c86136d6565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ec5565b60405180910390fd5b61163a6126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613752565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613752565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a9190613806565b90506118206001600160a01b0385168483612705565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613752565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613781565b905060200201358888868686818110611c3257611c32613781565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d43908490613711565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c908490613711565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136fe565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e939190613806565b905090565b5f611ea16126dd565b611eaa82612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613752565b90506001600160a01b038116611f446020850185612eeb565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613752565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f90915590915061206381838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f13565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612152919081019061381d565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613781565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261262b565b90505f8360038111156121dc576121dc6136d6565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136d6565b03612238578060405160200161157491906138dd565b600283600381111561224c5761224c6136d6565b0361226257806040516020016115749190613914565b6003836003811115612276576122766136d6565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612822565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612822565b905292915050565b5f6107268383670de0b6b3a7640000612896565b5f61072683670de0b6b3a764000084612896565b5f6107f77f0000000000000000000000000000000000000000000000000000000000000000836128b1565b5f6107f77f00000000000000000000000000000000000000000000000000000000000000008361291b565b5f612610600b5f6125fd60028661294a565b81526020019081526020015f205461297e565b612621600b5f6125fd60018761294a565b6107f7919061393f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613972565b61266f9060306136fe565b60f81b82600161267f8487613711565b6126899190613711565b8151811061269957612699613781565b60200101906001600160f81b03191690815f1a905350806126b981613985565b91506126c89050600a8661399d565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c449084906129ab565b5f6127656020830183612eeb565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612798858561256d565b90506127a3816125c0565b9450845f036127b5575f915050610726565b8491506127c86040840160208501612f13565b156127f7576127f0856127de6020860186612eeb565b6127eb60408701876139b0565b612a0c565b915061281a565b61281a856128086020860186612eeb565b61281560408701876139b0565b612bee565b509392505050565b5f80670de0b6b3a7640000612835612c22565b61283f91906139f3565b905080831161284e575f612858565b6128588184613711565b915061072661288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139f3565b8390612581565b5f825f1904841183021582026128aa575f80fd5b5091020490565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa1580156128f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190613806565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016128dc565b5f6001600160f81b038211156129735760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129a75760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129bf6001600160a01b03841683612c4d565b905080515f141580156129e35750808060200190518101906129e19190613a0a565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a989190613806565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612b0f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b339190613806565b9150612b3f82826136fe565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612ba3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc79190613806565b14612be55760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6106796001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612705565b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c5a565b606061072683835f612c6f565b5f612c658284613972565b6107269084613711565b606081471015612c945760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612caf9190613a25565b5f6040518083038185875af1925050503d805f8114612ce9576040519150601f19603f3d011682016040523d82523d5f602084013e612cee565b606091505b5091509150612cfe868383612d08565b9695505050505050565b606082612d1d57612d1882612d64565b610726565b8151158015612d3457506001600160a01b0384163b155b15612d5d57604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610726565b805115612d745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e5c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e71575f80fd5b5035919050565b5f5b83811015612e92578181015183820152602001612e7a565b50505f910152565b5f8151808452612eb1816020860160208601612e78565b601f01601f19169290920160200192915050565b602081525f6107266020830184612e9a565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612efb575f80fd5b813561072681612ed7565b801515811461045b575f80fd5b5f60208284031215612f23575f80fd5b813561072681612f06565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612f55575f80fd5b8935985060208a0135975060408a0135612f6e81612ed7565b965060608a0135612f7e81612ed7565b955060808a0135612f8e81612f06565b945060a08a0135935060c08a0135612fa581612f2e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd5575f80fd5b50813567ffffffffffffffff811115612fec575f80fd5b6020830191508360208260051b8501011115613006575f80fd5b9250929050565b5f805f805f8060808789031215613022575f80fd5b863561302d81612ed7565b9550602087013561303d81612ed7565b9450604087013567ffffffffffffffff80821115613059575f80fd5b6130658a838b01612fc5565b9096509450606089013591508082111561307d575f80fd5b5061308a89828a01612fc5565b979a9699509497509295939492505050565b5f805f80608085870312156130af575f80fd5b8435935060208501356130c181612ed7565b925060408501356130d181612ed7565b9396929550929360600135925050565b5f805f606084860312156130f3575f80fd5b83359250602084013561310581612ed7565b9150604084013561311581612ed7565b809150509250925092565b5f8060408385031215613131575f80fd5b82359150602083013561314381612ed7565b809150509250929050565b5f6020828403121561315e575f80fd5b813567ffffffffffffffff811115613174575f80fd5b820160608185031215610726575f80fd5b5f805f8060808587031215613198575f80fd5b8435935060208501356131aa81612ed7565b92506040850135915060608501356131c181612ed7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327e575f80fd5b823561328981612ed7565b9150602083013561314381612f06565b5f805f606084860312156132ab575f80fd5b8335925060208401356132bd81612ed7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132fa60208401826001600160a01b03169052565b50604083015161331560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613387828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613405575f80fd5b823567ffffffffffffffff81111561341b575f80fd5b61342785828601612fc5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561346a5783518352928401929184019160010161344e565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a260208401826001600160801b03169052565b5060408301516134bd60408401826001600160801b03169052565b5060608301516134d860608401826001600160801b03169052565b5060808301516134ed6080840182600f0b9052565b5060a083015161350860a08401826001600160801b03169052565b5060c083015161352360c08401826001600160801b03169052565b5060e083015161353e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ec565b5f805f805f60a0868803121561359b575f80fd5b8535945060208601356135ad81612ed7565b935060408601356135bd81612ed7565b92506060860135915060808601356135d481612ed7565b809150509295509295909350565b5f80604083850312156135f3575f80fd5b82356135fe81612ed7565b9150602083013561314381612ed7565b5f60208083525f84545f60018260011c9150600183168061363057607f831692505b60208310810361364e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366d5760018114613683576136ac565b60ff198616825284151560051b820196506136ac565b5f8b8152602090205f5b868110156136a65781548482015290850190890161368d565b83019750505b50949998505050505050505050565b5f602082840312156136cb575f80fd5b815161072681612f2e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107f7576107f76136ea565b818103818111156107f7576107f76136ea565b5f8060408385031215613735575f80fd5b82519150602083015161314381612f06565b805161058b81612ed7565b5f60208284031215613762575f80fd5b815161072681612ed7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137c0816011850160208701612e78565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137f9816012850160208701612e78565b9190910160120192915050565b5f60208284031215613816575f80fd5b5051919050565b5f602080838503121561382e575f80fd5b825167ffffffffffffffff80821115613845575f80fd5b818501915085601f830112613858575f80fd5b81518181111561386a5761386a61376d565b8060051b604051601f19603f8301168101818110858211171561388f5761388f61376d565b6040529182528482019250838101850191888311156138ac575f80fd5b938501935b828510156138d1576138c285613747565b845293850193928501926138b1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613907816010850160208701612e78565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137c0816011850160208701612e78565b8181035f831280158383131683831282161715611252576112526136ea565b634e487b7160e01b5f52601260045260245ffd5b5f826139805761398061395e565b500690565b5f60018201613996576139966136ea565b5060010190565b5f826139ab576139ab61395e565b500490565b5f808335601e198436030181126139c5575f80fd5b83018035915067ffffffffffffffff8211156139df575f80fd5b602001915036819003821315613006575f80fd5b80820281158282048414176107f7576107f76136ea565b5f60208284031215613a1a575f80fd5b815161072681612f06565b5f8251613a36818460208701612e78565b919091019291505056fea26469706673582212208ecbb73f3dbe342fbbec123e3afd4fb8df745caac1be231983ac9e9586ae09c664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target0Deployer.ts b/packages/hyperdrive-artifacts/src/ERC4626Target0Deployer.ts new file mode 100644 index 000000000..e1102bb7d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target0Deployer.ts @@ -0,0 +1,147 @@ +export const ERC4626Target0Deployer = { + name: 'ERC4626Target0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506143a48061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613ecc806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003ecc38038062003ecc8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a76620004565f395f8181610d5a015261232301525f8181610d2b01526122e601525f8181610c0701528181610e8a01528181610f1801528181610fa6015281816110340152818161163d015281816116d30152818161189501528181611ead01528181611f8101526120d201525f610df201525f8181610dcc01526124c801525f8181610da601526124a201525f8181610d80015261247c01525f61113f01525f61111901525f6110f301525f6110cd01525f8181610e6401526124ee01525f8181610e18015281816112ca015261286b01525f8181610e3e0152612c2901525f818161060901528181610cfc01528181611e220152818161259b015281816125c601528181612ac70152612bfb01525f818161073301528181610ccd0152818161126701528181612a2f0152612b5e0152613a765ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612e61565b610559565b60405161024c9190612ec5565b60405180910390f35b610268610263366004612eeb565b610590565b005b610268610278366004612f13565b610599565b61023f6105a2565b61023f6105e4565b6102956105fb565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612f3c565b61063a565b6102686102ce36600461300d565b610656565b6102686102e136600461309c565b61066c565b6102f96102f4366004612e61565b61067f565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e6103393660046130e1565b6106e8565b60405190815260200161024c565b61035461072d565b60405160ff909116815260200161024c565b61033e610374366004613120565b6107c5565b61033e6107fd565b61033e61038f36600461314e565b61081b565b6103a76103a2366004612eeb565b610825565b604051901515815260200161024c565b61023f6103c5366004612e61565b610844565b6102686103d8366004613185565b610852565b61023f6108a0565b6103ed6108d5565b60405161024c91906131cc565b61026861040836600461326d565b5050565b61033e61041a366004612eeb565b610bce565b610295610bf9565b610268610435366004613299565b610c38565b61026861044836600461326d565b610c49565b61026861045b366004612eeb565b50565b610466610cb4565b60405161024c91906132ce565b61033e610481366004612e61565b611174565b61033e610494366004612e61565b611181565b6104ac6104a73660046133f4565b6111a2565b60405161024c9190613433565b610295611259565b61033e611298565b61033e6104d7366004612e61565b6112b1565b61033e6104ea366004612e61565b6112be565b6104f76112f4565b60405161024c9190613476565b610268610512366004613587565b6113ff565b6103a76105253660046135e2565b611447565b61053261148a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b610567836114e8565b6040516020016105779190612ec5565b60405160208183030381529060405261160e565b919050565b61045b81611632565b61045b81611893565b60606105e160405180604001604052806011815260200170455243343632364879706572647269766560781b8152506040516020016105779190612ec5565b90565b60606105e16001604051602001610577919061360e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b61064b8989898989898989896119ab565b505050505050505050565b610664868686868686611b9d565b505050505050565b6106798484848433611c50565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107269101610577565b9392505050565b5f6105e17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b191906136bb565b6040805160ff909216602083015201610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107f79101610577565b92915050565b5f6105e1610809611e0b565b60405160200161057791815260200190565b5f6107f782611e98565b5f61058b610832836120ce565b60408051911515602083015201610577565b606061058b610567836121ac565b8361085c816122a8565b6001600160a01b0316336001600160a01b03161461088d57604051632aab8bd360e01b815260040160405180910390fd5b61089985858585612365565b5050505050565b60606105e160405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612ec5565b61093f604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109486123d1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109b291906136fe565b6109bc9190613711565b90505f8215610acb5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109e8856123e3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb9190613724565b509050610ac8818461256d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b9b57610b968486612581565b610b9d565b5f5b81526003546001600160801b0316602091820152604051919250610bc791610577918491016131cc565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b610c4483838333612365565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cbc612d8d565b6105e16040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f089190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f969190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611000573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110249190613752565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b29190613752565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906132ce565b5f61058b61080983612595565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff8111156111be576111be61376d565b6040519080825280602002602001820160405280156111e7578160200160208202803683370190505b5090505f5b8381101561123d575f85858381811061120757611207613781565b9050602002013590505f815490508084848151811061122857611228613781565b602090810291909101015250506001016111ec565b50611252816040516020016105779190613433565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e19101610577565b5f6105e160095460405160200161057791815260200190565b5f61058b610809836125c0565b5f61058b6108096112ef7f0000000000000000000000000000000000000000000000000000000000000000856136fe565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e16002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611409816122a8565b6001600160a01b0316336001600160a01b03161461143a57604051632aab8bd360e01b815260040160405180910390fd5b6106648686868686611c50565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107f79101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e190606001610577565b606060f882901c6001600160f81b0383165f6115038261262b565b90505f836003811115611518576115186136d6565b0361154a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611606565b600183600381111561155e5761155e6136d6565b0361158a57806040516020016115749190613795565b6040516020818303038152906040529350611606565b600283600381111561159e5761159e6136d6565b036115b4578060405160200161157491906137cd565b60038360038111156115c8576115c86136d6565b03611606576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116299190612ec5565b60405180910390fd5b61163a6126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116bb9190613752565b9050336001600160a01b0382161480159061176757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117519190613752565b6001600160a01b0316336001600160a01b031614155b80156117795750611777336120ce565b155b15611796576040516282b42960e81b815260040160405180910390fd5b5f61179f611e0b565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180a9190613806565b90506118206001600160a01b0385168483612705565b81611829611e0b565b14611847576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119139190613752565b6001600160a01b0316336001600160a01b03161415801561193a5750611938336120ce565b155b15611957576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a090831515815260200190565b60405180910390a150565b834211156119cc5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119f35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611add573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b1b57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bba57506001600160a01b038516155b15611bd85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bf85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4757611c3f858583818110611c1757611c17613781565b905060200201358888868686818110611c3257611c32613781565b9050602002013533611c50565b600101611bfa565b50505050505050565b6001600160a01b0384161580611c6d57506001600160a01b038316155b15611c8b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d4b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d4b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d49575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d43908490613711565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d7c908490613711565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611db29084906136fe565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e939190613806565b905090565b5f611ea16126dd565b611eaa82612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2b9190613752565b90506001600160a01b038116611f446020850185612eeb565b6001600160a01b031614611f6b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061201557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fff9190613752565b6001600160a01b0316336001600160a01b031614155b80156120275750612025336120ce565b155b15612044576040516282b42960e81b815260040160405180910390fd5b5f61204d6123d1565b600980545f90915590915061206381838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120a260408a0160208b01612f13565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561212b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612152919081019061381d565b90505f5b81518110156121a357836001600160a01b031682828151811061217b5761217b613781565b60200260200101516001600160a01b03160361219b575060019392505050565b600101612156565b505f9392505050565b606060f882901c6001600160f81b0383165f6121c78261262b565b90505f8360038111156121dc576121dc6136d6565b0361220e576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611606565b6001836003811115612222576122226136d6565b03612238578060405160200161157491906138dd565b600283600381111561224c5761224c6136d6565b0361226257806040516020016115749190613914565b6003836003811115612276576122766136d6565b0361160657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e93670de0b6b3a7640000612595565b61243b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916125339116612822565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261256592900416612822565b905292915050565b5f6107268383670de0b6b3a7640000612896565b5f61072683670de0b6b3a764000084612896565b5f6107f77f0000000000000000000000000000000000000000000000000000000000000000836128b1565b5f6107f77f00000000000000000000000000000000000000000000000000000000000000008361291b565b5f612610600b5f6125fd60028661294a565b81526020019081526020015f205461297e565b612621600b5f6125fd60018761294a565b6107f7919061393f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613972565b61266f9060306136fe565b60f81b82600161267f8487613711565b6126899190613711565b8151811061269957612699613781565b60200101906001600160f81b03191690815f1a905350806126b981613985565b91506126c89050600a8661399d565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c449084906129ab565b5f6127656020830183612eeb565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612798858561256d565b90506127a3816125c0565b9450845f036127b5575f915050610726565b8491506127c86040840160208501612f13565b156127f7576127f0856127de6020860186612eeb565b6127eb60408701876139b0565b612a0c565b915061281a565b61281a856128086020860186612eeb565b61281560408701876139b0565b612bee565b509392505050565b5f80670de0b6b3a7640000612835612c22565b61283f91906139f3565b905080831161284e575f612858565b6128588184613711565b915061072661288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139f3565b8390612581565b5f825f1904841183021582026128aa575f80fd5b5091020490565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa1580156128f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190613806565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016128dc565b5f6001600160f81b038211156129735760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129a75760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129bf6001600160a01b03841683612c4d565b905080515f141580156129e35750808060200190518101906129e19190613a0a565b155b15610c4457604051635274afe760e01b81526001600160a01b0384166004820152602401611629565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a989190613806565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612b0f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b339190613806565b9150612b3f82826136fe565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612ba3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc79190613806565b14612be55760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6106796001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612705565b5f611e93427f0000000000000000000000000000000000000000000000000000000000000000612c5a565b606061072683835f612c6f565b5f612c658284613972565b6107269084613711565b606081471015612c945760405163cd78605960e01b8152306004820152602401611629565b5f80856001600160a01b03168486604051612caf9190613a25565b5f6040518083038185875af1925050503d805f8114612ce9576040519150601f19603f3d011682016040523d82523d5f602084013e612cee565b606091505b5091509150612cfe868383612d08565b9695505050505050565b606082612d1d57612d1882612d64565b610726565b8151158015612d3457506001600160a01b0384163b155b15612d5d57604051639996b31560e01b81526001600160a01b0385166004820152602401611629565b5080610726565b805115612d745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612e5c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612e71575f80fd5b5035919050565b5f5b83811015612e92578181015183820152602001612e7a565b50505f910152565b5f8151808452612eb1816020860160208601612e78565b601f01601f19169290920160200192915050565b602081525f6107266020830184612e9a565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612efb575f80fd5b813561072681612ed7565b801515811461045b575f80fd5b5f60208284031215612f23575f80fd5b813561072681612f06565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612f55575f80fd5b8935985060208a0135975060408a0135612f6e81612ed7565b965060608a0135612f7e81612ed7565b955060808a0135612f8e81612f06565b945060a08a0135935060c08a0135612fa581612f2e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612fd5575f80fd5b50813567ffffffffffffffff811115612fec575f80fd5b6020830191508360208260051b8501011115613006575f80fd5b9250929050565b5f805f805f8060808789031215613022575f80fd5b863561302d81612ed7565b9550602087013561303d81612ed7565b9450604087013567ffffffffffffffff80821115613059575f80fd5b6130658a838b01612fc5565b9096509450606089013591508082111561307d575f80fd5b5061308a89828a01612fc5565b979a9699509497509295939492505050565b5f805f80608085870312156130af575f80fd5b8435935060208501356130c181612ed7565b925060408501356130d181612ed7565b9396929550929360600135925050565b5f805f606084860312156130f3575f80fd5b83359250602084013561310581612ed7565b9150604084013561311581612ed7565b809150509250925092565b5f8060408385031215613131575f80fd5b82359150602083013561314381612ed7565b809150509250929050565b5f6020828403121561315e575f80fd5b813567ffffffffffffffff811115613174575f80fd5b820160608185031215610726575f80fd5b5f805f8060808587031215613198575f80fd5b8435935060208501356131aa81612ed7565b92506040850135915060608501356131c181612ed7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561327e575f80fd5b823561328981612ed7565b9150602083013561314381612f06565b5f805f606084860312156132ab575f80fd5b8335925060208401356132bd81612ed7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516132fa60208401826001600160a01b03169052565b50604083015161331560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613387828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613405575f80fd5b823567ffffffffffffffff81111561341b575f80fd5b61342785828601612fc5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561346a5783518352928401929184019160010161344e565b50909695505050505050565b81516001600160801b03168152610180810160208301516134a260208401826001600160801b03169052565b5060408301516134bd60408401826001600160801b03169052565b5060608301516134d860608401826001600160801b03169052565b5060808301516134ed6080840182600f0b9052565b5060a083015161350860a08401826001600160801b03169052565b5060c083015161352360c08401826001600160801b03169052565b5060e083015161353e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526133ec565b5f805f805f60a0868803121561359b575f80fd5b8535945060208601356135ad81612ed7565b935060408601356135bd81612ed7565b92506060860135915060808601356135d481612ed7565b809150509295509295909350565b5f80604083850312156135f3575f80fd5b82356135fe81612ed7565b9150602083013561314381612ed7565b5f60208083525f84545f60018260011c9150600183168061363057607f831692505b60208310810361364e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561366d5760018114613683576136ac565b60ff198616825284151560051b820196506136ac565b5f8b8152602090205f5b868110156136a65781548482015290850190890161368d565b83019750505b50949998505050505050505050565b5f602082840312156136cb575f80fd5b815161072681612f2e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107f7576107f76136ea565b818103818111156107f7576107f76136ea565b5f8060408385031215613735575f80fd5b82519150602083015161314381612f06565b805161058b81612ed7565b5f60208284031215613762575f80fd5b815161072681612ed7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516137c0816011850160208701612e78565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516137f9816012850160208701612e78565b9190910160120192915050565b5f60208284031215613816575f80fd5b5051919050565b5f602080838503121561382e575f80fd5b825167ffffffffffffffff80821115613845575f80fd5b818501915085601f830112613858575f80fd5b81518181111561386a5761386a61376d565b8060051b604051601f19603f8301168101818110858211171561388f5761388f61376d565b6040529182528482019250838101850191888311156138ac575f80fd5b938501935b828510156138d1576138c285613747565b845293850193928501926138b1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613907816010850160208701612e78565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516137c0816011850160208701612e78565b8181035f831280158383131683831282161715611252576112526136ea565b634e487b7160e01b5f52601260045260245ffd5b5f826139805761398061395e565b500690565b5f60018201613996576139966136ea565b5060010190565b5f826139ab576139ab61395e565b500490565b5f808335601e198436030181126139c5575f80fd5b83018035915067ffffffffffffffff8211156139df575f80fd5b602001915036819003821315613006575f80fd5b80820281158282048414176107f7576107f76136ea565b5f60208284031215613a1a575f80fd5b815161072681612f06565b5f8251613a36818460208701612e78565b919091019291505056fea26469706673582212208ecbb73f3dbe342fbbec123e3afd4fb8df745caac1be231983ac9e9586ae09c664736f6c63430008160033a26469706673582212204bc9a6125e7a582ac48b2e649ead520a3e9160ddee511f1c375e1b74c9bd273464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target1.ts b/packages/hyperdrive-artifacts/src/ERC4626Target1.ts new file mode 100644 index 000000000..3d0a7bc73 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target1.ts @@ -0,0 +1,990 @@ +export const ERC4626Target1 = { + name: 'ERC4626Target1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b50604051620040df380380620040df8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c546200048b5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1f01525f818161139301528181611791015281816117f4015281816129080152818161294401528181612b3c0152612cf901525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cd301525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4501525f81816107e701528181610ec4015281816116ef015281816120db01526132ef01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015281816125e4015261271801525f818161254c015261267b0152613c545ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046136d8565b610070565b60405190815260200160405180910390f35b61004b61006b3660046136d8565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613746565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613759565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361378c565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137b4565b6102bd8a6102b78d8f613746565b90611584565b8d6102cb60408c018c6137cf565b6040516102df98979695949392919061383a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613746565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613881565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361378c565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137b4565b8a61050260408b018b6137cf565b60405161051597969594939291906138a8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361378c565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613746565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6138e8565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613746565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6138e8565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613746565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613746565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613746565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836138e8565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613759565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061393b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906138e8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846138e8565b610ea09089613746565b9750610eac8284613746565b610eb6908d613746565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906138e8565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6138e8565b9850670de0b6b3a7640000610ff0610f8b8787613746565b600254610fa9908f90600160801b90046001600160801b03166138e8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866138e8565b6110d19190613956565b85670de0b6b3a76400006110e5878a6138e8565b6110ef9190613956565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613956565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261396d565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613759565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613746565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016137b4565b15611558576115518561153f602086018661378c565b61154c60408701876137cf565b612529565b915061157b565b61157b85611569602086018661378c565b61157660408701876137cf565b61270b565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612745565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846138e8565b6116b890896138e8565b97506116c48184613746565b6116ce908e6138e8565b9c506116da8a8e613746565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906138e8565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836138e8565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613759565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612798565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613956565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826138e8565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836127bd565b5f6119a082846139ce565b61157d90846138e8565b6002546004545f916105a6916001600160801b0390911690600f0b612798565b5f61007d826119da8588886124e3565b90612827565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836138e8565b9050611a776110fa8286612896565b60068054601090611a99908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836128aa90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613746565b90915550611b21905081836138e8565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826128be565b600480545f90611b87908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856128aa565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826138e8565b611c3b90846138e8565b9250611c59565b611c4c82826138e8565b611c569084613746565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906128aa565b9050611cab8884866124e3565b611cb59082613746565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906138e8565b9050805f03611d5657600191505061131b565b5f611d60856128e7565b9050805f03611d745760019250505061131b565b5f80611d81838589612982565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613a5f565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613ad4565b91509150611e2d611e1f82611321565b611e2890613af6565b612af6565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612c8a565b6040518263ffffffff1660e01b8152600401611f2b9190613b10565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613b1f565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613746565b611fed91906138e8565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613b4d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846138e8565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128aa565b5f808061211f61211788670de0b6b3a76400006138e8565b899087612dc4565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006138e8565b8989612de7565b925061215e8382613746565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006138e8565b83906124cf565b61157d90670de0b6b3a76400006138e8565b5f806121d3856121ab6119aa565b6121b59190613746565b600254610fa9908790600160801b90046001600160801b03166138e8565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006138e8565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612dc4565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006138e8565b8a9088612dc4565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613746565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613759565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613759565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613746565b6123b88587611584565b6123c2888a611584565b611c989190613746565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876138e8565b61241285876124cf565b61241c888a611584565b611c9891906138e8565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612e09565b612483845f612e09565b61248d9190613759565b90505f8113156124a8576124a18186613746565b94506124c6565b5f8112156124c6576124b981613af6565b6124c390866138e8565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc4565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612e1e565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b59190613b61565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af115801561262c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126509190613b61565b915061265c8282613746565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156126c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e49190613b61565b146127025760405163350b944160e11b815260040160405180910390fd5b50949350505050565b61273f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612e4d565b50505050565b5f808061276561275d88670de0b6b3a76400006138e8565b8990876124e3565b90508615612161576127778888611584565b91506121528a8a846127918a670de0b6b3a76400006138e8565b8989612ea4565b5f806127a48484612eb4565b9092509050806127b6576127b66113ec565b5092915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015612803573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613b61565b5f815f0361283e5750670de0b6b3a764000061131b565b825f0361284c57505f61131b565b5f61285683611321565b90505f61286a61286586611321565b612eef565b9050818102612881670de0b6b3a764000082613b78565b905061288c81613114565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc4565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612901906001600160801b031684612896565b905061292d7f000000000000000000000000000000000000000000000000000000000000000082613746565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906129789083906001600160801b03166138e8565b61157d91906138e8565b61298a613639565b5f8061299584612c8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cf9190613b10565b6040805180830381865af41580156129e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0d9190613b1f565b9350905082612a2157505f9150612aee9050565b5f612a47612a4284610160015185610140015161158490919063ffffffff16565b611321565b612a67612a428561012001518661010001516124cf90919063ffffffff16565b612a719190613759565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd09190613ba4565b935093509350935080612beb57505f98975050505050505050565b868414612c1c57612bfb846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4d57612c2c83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7b57612c5d826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c92613683565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d8a91166132a6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dbc929004166132a6565b905292915050565b5f825f190484118302158202612dd8575f80fd5b50910281810615159190040190565b5f80612df788888888888861331a565b909250905080611cc557611cc56113ec565b5f818313612e17578161157d565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016127e8565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612e9f9084906133f6565b505050565b5f80612df788888888888861345c565b5f805f83612ec186611321565b612ecb9190613759565b90505f811215612ee1575f809250925050612ee8565b9150600190505b9250929050565b5f808213612f105760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f939084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312d57505f919050565b680755bf798b4a1bf1e58212613156576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006132b96105ab565b6132c39190613956565b90508083116132d2575f6132dc565b6132dc81846138e8565b915061157d613313670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613956565b83906128aa565b5f805f61332a8989888888613518565b905086881015613340575f8092509250506133eb565b968690039661334f8887612827565b975087811015613365575f8092509250506133eb565b878103613373818688612dc4565b9050670de0b6b3a764000081106133a7576133a0613399670de0b6b3a764000089612896565b8290612827565b90506133bf565b6133bc613399670de0b6b3a7640000896128aa565b90505b6133c98186612896565b9050898110156133e0575f809350935050506133eb565b899003925060019150505b965096945050505050565b5f61340a6001600160a01b03841683613546565b905080515f1415801561342e57508080602001905181019061342c9190613bd7565b155b15612e9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61346c8989888888613518565b905061347c866119da898b613746565b975087811015613492575f8092509250506133eb565b8781036134a0818688612dc4565b9050670de0b6b3a764000081106134cd576134c6613399670de0b6b3a764000089612896565b90506134e5565b6134e2613399670de0b6b3a7640000896128aa565b90505b6134ef8186612896565b9050808a1015613506575f809350935050506133eb565b90980398600198509650505050505050565b5f6135238585612827565b61353c613534866119da868b6124cf565b859085612dc4565b6124269190613746565b606061157d83835f845f80856001600160a01b0316848660405161356a9190613bf2565b5f6040518083038185875af1925050503d805f81146135a4576040519150601f19603f3d011682016040523d82523d5f602084013e6135a9565b606091505b509150915061288c8683836060826135c9576135c482613610565b61157d565b81511580156135e057506001600160a01b0384163b155b1561360957604051639996b31560e01b81526001600160a01b0385166004820152602401613453565b508061157d565b8051156136205780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061364d613683565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156136eb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613716575f80fd5b850160608188031215613727575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613732565b8181035f8312801583831316838312821617156127b6576127b6613732565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561379c575f80fd5b813561157d81613778565b8015158114610591575f80fd5b5f602082840312156137c4575f80fd5b813561157d816137a7565b5f808335601e198436030181126137e4575f80fd5b83018035915067ffffffffffffffff8211156137fe575f80fd5b602001915036819003821315612ee8575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61387360e083018486613812565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138a0576138a0613732565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6138db60c083018486613812565b9998505050505050505050565b8181038181111561131b5761131b613732565b6001600160701b038181168382160190808211156127b6576127b6613732565b6001600160801b038181168382160190808211156127b6576127b6613732565b5f6020828403121561394b575f80fd5b815161157d81613778565b808202811582820484141761131b5761131b613732565b6001600160801b038281168282160390808211156127b6576127b6613732565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613732565b634e487b7160e01b5f52601260045260245ffd5b5f826139dc576139dc6139ba565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a728285516139e1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ae5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0a57613b0a613732565b505f0390565b610180810161131b82846139e1565b5f8060408385031215613b30575f80fd5b825191506020830151613b42816137a7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613b71575f80fd5b5051919050565b5f82613b8657613b866139ba565b600160ff1b82145f1984141615613b9f57613b9f613732565b500590565b5f805f8060808587031215613bb7575f80fd5b8451935060208501519250604085015191506060850151613727816137a7565b5f60208284031215613be7575f80fd5b815161157d816137a7565b5f82515f5b81811015613c115760208186018101518583015201613bf7565b505f92019182525091905056fea2646970667358221220b9e98ece53127923a7906b9ea689ecb1e6002be68e8487084cd519e09775646a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target1Deployer.ts b/packages/hyperdrive-artifacts/src/ERC4626Target1Deployer.ts new file mode 100644 index 000000000..4d46804d2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target1Deployer.ts @@ -0,0 +1,147 @@ +export const ERC4626Target1Deployer = { + name: 'ERC4626Target1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506145b78061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b6140df806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b50604051620040df380380620040df8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c546200048b5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1f01525f818161139301528181611791015281816117f4015281816129080152818161294401528181612b3c0152612cf901525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612cd301525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4501525f81816107e701528181610ec4015281816116ef015281816120db01526132ef01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015281816125e4015261271801525f818161254c015261267b0152613c545ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046136d8565b610070565b60405190815260200160405180910390f35b61004b61006b3660046136d8565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613746565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613759565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361378c565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137b4565b6102bd8a6102b78d8f613746565b90611584565b8d6102cb60408c018c6137cf565b6040516102df98979695949392919061383a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613746565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613881565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361378c565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137b4565b8a61050260408b018b6137cf565b60405161051597969594939291906138a8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361378c565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613746565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6138e8565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613746565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6138e8565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613746565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613746565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613746565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836138e8565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166138fb565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613759565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061393b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906138e8565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846138e8565b610ea09089613746565b9750610eac8284613746565b610eb6908d613746565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906138e8565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6138e8565b9850670de0b6b3a7640000610ff0610f8b8787613746565b600254610fa9908f90600160801b90046001600160801b03166138e8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866138e8565b6110d19190613956565b85670de0b6b3a76400006110e5878a6138e8565b6110ef9190613956565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613956565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261396d565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613759565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613746565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016137b4565b15611558576115518561153f602086018661378c565b61154c60408701876137cf565b612529565b915061157b565b61157b85611569602086018661378c565b61157660408701876137cf565b61270b565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612745565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846138e8565b6116b890896138e8565b97506116c48184613746565b6116ce908e6138e8565b9c506116da8a8e613746565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906138e8565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836138e8565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613759565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612798565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613956565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826138e8565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836127bd565b5f6119a082846139ce565b61157d90846138e8565b6002546004545f916105a6916001600160801b0390911690600f0b612798565b5f61007d826119da8588886124e3565b90612827565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836138e8565b9050611a776110fa8286612896565b60068054601090611a99908490600160801b90046001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836128aa90919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613746565b90915550611b21905081836138e8565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826128be565b600480545f90611b87908490600f0b61398d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856128aa565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826138e8565b611c3b90846138e8565b9250611c59565b611c4c82826138e8565b611c569084613746565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906128aa565b9050611cab8884866124e3565b611cb59082613746565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906138e8565b9050805f03611d5657600191505061131b565b5f611d60856128e7565b9050805f03611d745760019250505061131b565b5f80611d81838589612982565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613a5f565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f9190613ad4565b91509150611e2d611e1f82611321565b611e2890613af6565b612af6565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661391b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612c8a565b6040518263ffffffff1660e01b8152600401611f2b9190613b10565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613b1f565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613746565b611fed91906138e8565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613b4d565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846138e8565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128aa565b5f808061211f61211788670de0b6b3a76400006138e8565b899087612dc4565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006138e8565b8989612de7565b925061215e8382613746565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006138e8565b83906124cf565b61157d90670de0b6b3a76400006138e8565b5f806121d3856121ab6119aa565b6121b59190613746565b600254610fa9908790600160801b90046001600160801b03166138e8565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006138e8565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612dc4565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006138e8565b8a9088612dc4565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613746565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613759565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613759565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613746565b6123b88587611584565b6123c2888a611584565b611c989190613746565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876138e8565b61241285876124cf565b61241c888a611584565b611c9891906138e8565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612e09565b612483845f612e09565b61248d9190613759565b90505f8113156124a8576124a18186613746565b94506124c6565b5f8112156124c6576124b981613af6565b6124c390866138e8565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc4565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612e1e565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b59190613b61565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af115801561262c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126509190613b61565b915061265c8282613746565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156126c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e49190613b61565b146127025760405163350b944160e11b815260040160405180910390fd5b50949350505050565b61273f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612e4d565b50505050565b5f808061276561275d88670de0b6b3a76400006138e8565b8990876124e3565b90508615612161576127778888611584565b91506121528a8a846127918a670de0b6b3a76400006138e8565b8989612ea4565b5f806127a48484612eb4565b9092509050806127b6576127b66113ec565b5092915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015612803573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613b61565b5f815f0361283e5750670de0b6b3a764000061131b565b825f0361284c57505f61131b565b5f61285683611321565b90505f61286a61286586611321565b612eef565b9050818102612881670de0b6b3a764000082613b78565b905061288c81613114565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc4565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612901906001600160801b031684612896565b905061292d7f000000000000000000000000000000000000000000000000000000000000000082613746565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906129789083906001600160801b03166138e8565b61157d91906138e8565b61298a613639565b5f8061299584612c8a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cf9190613b10565b6040805180830381865af41580156129e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0d9190613b1f565b9350905082612a2157505f9150612aee9050565b5f612a47612a4284610160015185610140015161158490919063ffffffff16565b611321565b612a67612a428561012001518661010001516124cf90919063ffffffff16565b612a719190613759565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd09190613ba4565b935093509350935080612beb57505f98975050505050505050565b868414612c1c57612bfb846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4d57612c2c83612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7b57612c5d826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c92613683565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d8a91166132a6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dbc929004166132a6565b905292915050565b5f825f190484118302158202612dd8575f80fd5b50910281810615159190040190565b5f80612df788888888888861331a565b909250905080611cc557611cc56113ec565b5f818313612e17578161157d565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024016127e8565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612e9f9084906133f6565b505050565b5f80612df788888888888861345c565b5f805f83612ec186611321565b612ecb9190613759565b90505f811215612ee1575f809250925050612ee8565b9150600190505b9250929050565b5f808213612f105760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f939084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361312d57505f919050565b680755bf798b4a1bf1e58212613156576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006132b96105ab565b6132c39190613956565b90508083116132d2575f6132dc565b6132dc81846138e8565b915061157d613313670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613956565b83906128aa565b5f805f61332a8989888888613518565b905086881015613340575f8092509250506133eb565b968690039661334f8887612827565b975087811015613365575f8092509250506133eb565b878103613373818688612dc4565b9050670de0b6b3a764000081106133a7576133a0613399670de0b6b3a764000089612896565b8290612827565b90506133bf565b6133bc613399670de0b6b3a7640000896128aa565b90505b6133c98186612896565b9050898110156133e0575f809350935050506133eb565b899003925060019150505b965096945050505050565b5f61340a6001600160a01b03841683613546565b905080515f1415801561342e57508080602001905181019061342c9190613bd7565b155b15612e9f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f61346c8989888888613518565b905061347c866119da898b613746565b975087811015613492575f8092509250506133eb565b8781036134a0818688612dc4565b9050670de0b6b3a764000081106134cd576134c6613399670de0b6b3a764000089612896565b90506134e5565b6134e2613399670de0b6b3a7640000896128aa565b90505b6134ef8186612896565b9050808a1015613506575f809350935050506133eb565b90980398600198509650505050505050565b5f6135238585612827565b61353c613534866119da868b6124cf565b859085612dc4565b6124269190613746565b606061157d83835f845f80856001600160a01b0316848660405161356a9190613bf2565b5f6040518083038185875af1925050503d805f81146135a4576040519150601f19603f3d011682016040523d82523d5f602084013e6135a9565b606091505b509150915061288c8683836060826135c9576135c482613610565b61157d565b81511580156135e057506001600160a01b0384163b155b1561360957604051639996b31560e01b81526001600160a01b0385166004820152602401613453565b508061157d565b8051156136205780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061364d613683565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156136eb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613716575f80fd5b850160608188031215613727575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613732565b8181035f8312801583831316838312821617156127b6576127b6613732565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561379c575f80fd5b813561157d81613778565b8015158114610591575f80fd5b5f602082840312156137c4575f80fd5b813561157d816137a7565b5f808335601e198436030181126137e4575f80fd5b83018035915067ffffffffffffffff8211156137fe575f80fd5b602001915036819003821315612ee8575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61387360e083018486613812565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138a0576138a0613732565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6138db60c083018486613812565b9998505050505050505050565b8181038181111561131b5761131b613732565b6001600160701b038181168382160190808211156127b6576127b6613732565b6001600160801b038181168382160190808211156127b6576127b6613732565b5f6020828403121561394b575f80fd5b815161157d81613778565b808202811582820484141761131b5761131b613732565b6001600160801b038281168282160390808211156127b6576127b6613732565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613732565b634e487b7160e01b5f52601260045260245ffd5b5f826139dc576139dc6139ba565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a728285516139e1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ae5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0a57613b0a613732565b505f0390565b610180810161131b82846139e1565b5f8060408385031215613b30575f80fd5b825191506020830151613b42816137a7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613b71575f80fd5b5051919050565b5f82613b8657613b866139ba565b600160ff1b82145f1984141615613b9f57613b9f613732565b500590565b5f805f8060808587031215613bb7575f80fd5b8451935060208501519250604085015191506060850151613727816137a7565b5f60208284031215613be7575f80fd5b815161157d816137a7565b5f82515f5b81811015613c115760208186018101518583015201613bf7565b505f92019182525091905056fea2646970667358221220b9e98ece53127923a7906b9ea689ecb1e6002be68e8487084cd519e09775646a64736f6c63430008160033a26469706673582212205f5aa409eae4faa0640904c71022305cb4399f397b4501d8a5b3a799a75041fc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target2.ts b/packages/hyperdrive-artifacts/src/ERC4626Target2.ts new file mode 100644 index 000000000..45bacc1ce --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target2.ts @@ -0,0 +1,1010 @@ +export const ERC4626Target2 = { + name: 'ERC4626Target2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004256380380620042568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613db6620004a05f395f50505f50505f610c2801525f50505f818160f9015281816103020152612e0701525f81816114e601528181611d2601528181611d8901528181612510015281816129f701528181612a3301528181612c240152612de101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612dbb01525f61195001525f8181611a7101528181612601015281816126790152612f1f01525f81816109a301528181610e370152818161141501528181611a45015261264d01525f8181610e16015281816125cd0152612edb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e2d01525f81816101d301528181610396015281816108e101526134a601525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015281816116af0152818161172801526117b601525f818161168201526116e30152613db65ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461383a565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461383a565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906138a8565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856138a8565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138cf565b8b611217565b8d8a8a898e8561023e60208301836138cf565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138f7565b8961028960408a018a613912565b60405161029c979695949392919061397d565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846138a8565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906138a8565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016138a8565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846138cf565b85611217565b858b868461049b60208601866138cf565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138f7565b6104ec896104e68a8d6139bd565b90610683565b8d6104fa60408e018e613912565b60405161050e9897969594939291906139d0565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138cf565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138f7565b156105ea576105e0856105db6040870187613912565b611673565b9093509050610602565b5034610602856105fd6040870187613912565b6117a9565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117e3565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117fe565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6138a8565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611813565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b92505b5061083883611852565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139bd565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836138a8565b429061187f565b84610f13565b6108d588611893565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139bd565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a30565b915091508060095f82825461097291906138a8565b9091555061098d9050865f8461098781611afd565b88611b26565b61099781836138a8565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c9d565b91506109db6109d68385610683565b611ce6565b600680546002906109fc9084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611852565b60068054601090610a4b908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a30565b915091508060095f828254610abe91906138a8565b90915550610ad99050835f84610ad381611afd565b8a611d0f565b610ae381836139bd565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611852565b60068054601090610b62908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611afd565b610ba483611afd565b610bae9190613a57565b5f611eff565b8e610bbf8482611f3e565b50505b5f610bcc8461212d565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a76565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061226f565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611813565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122f5565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612320565b612384565b15610e6d57610e6d6123c5565b610e79878588856123de565b91965094509250670de0b6b3a7640000610efb610e9687846138a8565b600254610eb4908890600160801b90046001600160801b03166139bd565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b1115610f0957610f096123c5565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611852565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139bd565b610fb99190613a91565b85670de0b6b3a7640000610fcd878a6139bd565b610fd79190613a91565b859291906001612426565b611852565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611852565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a91565b6005546001600160801b03169190886001612426565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611852565b600280545f906110d19084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611852565b60028054601090611120908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611852565b6111579082613a37565b600380546001600160801b03808416600160801b02911617905590505f61117d836124ca565b905061119b8161118c87611afd565b6111969084613ac8565b611eff565b6111a48461250a565b6111b0576111b06123c5565b5f6111ba85612569565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906138a8565b90915550505f838152600b60205260408120805483929061126a9084906138a8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611813565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612575565b93508761134d8589612595565b111561135b5761135b6123c5565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b93506113d58a670de0b6b3a7640000868c6125a9565b509193509091506113e8905081836139bd565b6113f290876139bd565b95508861143f816114398d611407868c6139bd565b8d61141287826126b5565b877f00000000000000000000000000000000000000000000000000000000000000006126ca565b90612595565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126ea565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000008361270d565b5f6114a060408301602084016138f7565b156114ac5750826114b9565b6114b68484612776565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6123c5565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61278a565b1015611522576115226123c5565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613a91565b600554600160801b90046001600160801b03169190896001612426565b600580546001600160801b03928316600160801b02921691909117905561159281611852565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611852565b600280546010906115dd908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611852565b6004805460109061162c908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836124ca565b905061119b8161166988611afd565b6111969084613a57565b5f806116aa6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330886127af565b61170a7f00000000000000000000000000000000000000000000000000000000000000006116d98760016138a8565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061281c565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611776573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179a9190613aef565b92505f9150505b935093915050565b6117de6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866127af565b505050565b5f825f1904841183021582026117f7575f80fd5b5091020490565b5f6118098284613b1a565b61069790846139bd565b6002546004545f916106cb916001600160801b0390911690600f0b61278a565b5f611849826118438588886117e3565b906128ab565b95945050505050565b5f6001600160801b0382111561187b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161188d5782610697565b50919050565b6006545f9081906118b5908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a2b575f6118de83836139bd565b90506118ed610fe28286611450565b6006805460109061190f908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611947858361277690919063ffffffff16565b90505f611974827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461198791906138a8565b90915550611997905081836139bd565b91506119a282611852565b600280545f906119bc9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119e982612910565b600480545f906119fd908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a3c8785612776565b91505f611a69837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a95817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ab857611aa782826139bd565b611ab190846139bd565b9250611acf565b611ac282826139bd565b611acc90846138a8565b92505b86861015611af257611ae28387896117e3565b9250611aef8287896117e3565b91505b509550959350505050565b5f6001600160ff1b0382111561187b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b6e610fe282611b52670de0b6b3a764000086613a91565b600554600160801b90046001600160801b031691908a5f612426565b600580546001600160801b03928316600160801b029216919091179055611b9486611852565b611b9e9082613aa8565b600480546001600160801b03928316600160801b029216919091179055611bc484611852565b600280545f90611bde9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c0b83612939565b600480545f90611c1f908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c4f85611852565b60028054601090611c71908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cb484611cae8a888a6117e3565b90612776565b9050611cc18884866117e3565b611ccb90826138a8565b905086811115611cdb5786810391505b509695505050505050565b5f6001600160701b0382111561187b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5157507f0000000000000000000000000000000000000000000000000000000000000000611d4f85836139bd565b105b15611d5e57611d5e6123c5565b6004549084900390600f0b611d738482613a57565b905083611d7f86611afd565b138015611db457507f0000000000000000000000000000000000000000000000000000000000000000611db2838361278a565b105b15611dc157611dc16123c5565b600354600160801b90046001600160801b0316611e02610fe282611ded670de0b6b3a764000088613a91565b6005546001600160801b031691908c5f612426565b600580546001600160801b0319166001600160801b0392909216919091179055611e2c88826139bd565b9050611e3781611852565b600380546001600160801b03928316600160801b029216919091179055611e5d83611852565b600280546001600160801b0319166001600160801b0392909216919091179055611e8682612939565b600480546001600160801b0319166001600160801b0392909216919091179055611eaf87611852565b60028054601090611ed1908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f1a90610fe2906001600160801b03168484612974565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f88916001600160801b0316906139bd565b9050805f03611f9b57600191505061069a565b5f611fa5856129d6565b9050805f03611fb95760019250505061069a565b5f80611fc6838589612a71565b9150915080611fdb575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612016929190613bd8565b6040805180830381865af4158015612030573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120549190613c4d565b9150915061207261206482611afd565b61206d90613c6f565b612bde565b925082612087575f965050505050505061069a565b61209082611852565b600780545f906120aa9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120d781611852565b600780546010906120f9908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61215487612d72565b6040518263ffffffff1660e01b81526004016121709190613c89565b6040805180830381865af415801561218a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121ae9190613c98565b91509150806121c357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612228916138a8565b61223291906139bd565b9050805f0361224857505f958695509350505050565b5f808711612256575f612261565b6122618488846117e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229257612292613cc6565b6040519080825280601f01601f1916602001820160405280156122bc576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122dc578692505b828152825f602083013e90999098509650505050505050565b5f61231587878761230e88670de0b6b3a76400006139bd565b8787612eac565b979650505050505050565b5f6114b661236061233984670de0b6b3a76400006139bd565b611439670de0b6b3a764000061234f818a611450565b61235991906139bd565b8790612595565b61237290670de0b6b3a76400006138a8565b611cae84670de0b6b3a76400006139bd565b5f806123ba85612392611813565b61239c91906138a8565b600254610eb4908790600160801b90046001600160801b03166139bd565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123ee898789612ece565b90925090506123fd82896139bd565b97505f61240b82888a6117e3565b9050612417818b6139bd565b9a989950979650505050505050565b5f825f03612435575084611849565b81156124875761246661244884876138a8565b6124528587610683565b61245c888a610683565b611cae91906138a8565b90505f612473858861187f565b905080821015612481578091505b50611849565b82850361249557505f611849565b6124c06124a284876139bd565b6124ac8587612595565b6124b6888a610683565b611cae91906139bd565b9695505050505050565b5f6124ef600b5f6124dc6002866111e3565b81526020019081526020015f2054611afd565b612500600b5f6124dc6001876111e3565b61069a9190613a57565b5f6125357f000000000000000000000000000000000000000000000000000000000000000083612595565b60035461254b91906001600160801b03166138a8565b600254612561906001600160801b031684610683565b101592915050565b5f61069a826004611f3e565b5f61231587878761258e88670de0b6b3a76400006139bd565b8787612f4d565b5f6106978383670de0b6b3a76400006126ea565b5f8080806125f987866125f28b6114396125cb8c670de0b6b3a76400006139bd565b7f000000000000000000000000000000000000000000000000000000000000000090612595565b91906126ea565b9350612625847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61264561263d89670de0b6b3a76400006139bd565b8a90886126ea565b9050612671817f0000000000000000000000000000000000000000000000000000000000000000612595565b935061269d847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126a790846138a8565b915050945094509450949050565b5f8183116126c35781610697565b5090919050565b5f806126e1846126db8a888a6126ea565b90611450565b9050611cc18884865b5f825f1904841183021582026126fe575f80fd5b50910281810615159190040190565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa158015612752573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613aef565b5f61069783670de0b6b3a7640000846117e3565b5f806127968484612f5d565b9092509050806127a8576127a86123c5565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526128169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f95565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261286d8482612ffb565b612816576040516001600160a01b0384811660248301525f60448301526128a191869182169063095ea7b3906064016127e4565b6128168482612f95565b5f815f036128c25750670de0b6b3a764000061069a565b825f036128d057505f61069a565b5f6128da83611afd565b90505f6128ee6128e986611afd565b613098565b9050818102612905670de0b6b3a764000082613cda565b90506124c0816132bd565b5f60016001607f1b0382111561187b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612956575060016001607f1b0382135b1561187b5760405163a5353be560e01b815260040160405180910390fd5b5f80612980845f61344f565b61298a845f61344f565b6129949190613a57565b90505f8113156129af576129a881866138a8565b94506129cd565b5f8112156129cd576129c081613c6f565b6129ca90866139bd565b94505b50929392505050565b6003545f9081906129f0906001600160801b031684611450565b9050612a1c7f0000000000000000000000000000000000000000000000000000000000000000826138a8565b6002546001600160801b0316111561188d576002547f000000000000000000000000000000000000000000000000000000000000000090612a679083906001600160801b03166139bd565b6114b991906139bd565b612a7961379b565b5f80612a8484612d72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612abe9190613c89565b6040805180830381865af4158015612ad8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612afc9190613c98565b9350905082612b1057505f91506117a19050565b5f612b36612b3184610160015185610140015161068390919063ffffffff16565b611afd565b612b56612b3185610120015186610100015161259590919063ffffffff16565b612b609190613a57565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cb89190613d06565b935093509350935080612cd357505f98975050505050505050565b868414612d0457612ce384611852565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d3557612d1483612939565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d6357612d4582611852565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d7a6137e5565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e72911661345d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612ea49290041661345d565b905292915050565b5f80612ebc8888888888886134d1565b909250905080611cdb57611cdb6123c5565b5f80612f178561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f0d818c611450565b61143991906139bd565b9150612f43827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612ebc888888888888613595565b5f805f83612f6a86611afd565b612f749190613a57565b90505f811215612f8a575f80925092505061067c565b946001945092505050565b5f612fa96001600160a01b03841683613651565b905080515f14158015612fcd575080806020019051810190612fcb9190613d39565b155b156117de57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516130169190613d54565b5f604051808303815f865af19150503d805f811461304f576040519150601f19603f3d011682016040523d82523d5f602084013e613054565b606091505b509150915081801561307e57508051158061307e57508080602001905181019061307e9190613d39565b80156118495750505050506001600160a01b03163b151590565b5f8082136130b95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061313c9084901c611afd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d657505f919050565b680755bf798b4a1bf1e582126132ff576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124c074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611afd565b5f8183136126c35781610697565b5f80670de0b6b3a76400006134706106a0565b61347a9190613a91565b9050808311613489575f613493565b61349381846139bd565b91506114b96134ca670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a91565b8390612776565b5f805f6134e1898988888861365e565b90506134fb866118436134f48a8d6138a8565b8790610683565b9850613508858a866117e3565b98508881101561351e575f80925092505061358a565b888103670de0b6b3a764000081106135535761354c613545670de0b6b3a764000089611450565b82906128ab565b905061356b565b613568613545670de0b6b3a764000089612776565b90505b80891015613580575f8093509350505061358a565b8803925060019150505b965096945050505050565b5f805f6135a5898988888861365e565b90506135b586611843898b6138a8565b9750878110156135cb575f80925092505061358a565b8781036135d98186886126ea565b9050670de0b6b3a76400008110613606576135ff613545670de0b6b3a764000089611450565b905061361e565b61361b613545670de0b6b3a764000089612776565b90505b6136288186611450565b9050808a101561363f575f8093509350505061358a565b90980398600198509650505050505050565b606061069783835f61368c565b5f61366985856128ab565b61368261367a86611843868b612595565b8590856126ea565b6124c091906138a8565b6060814710156136b15760405163cd78605960e01b8152306004820152602401612ff2565b5f80856001600160a01b031684866040516136cc9190613d54565b5f6040518083038185875af1925050503d805f8114613706576040519150601f19603f3d011682016040523d82523d5f602084013e61370b565b606091505b50915091506124c086838360608261372b5761372682613772565b6114b9565b815115801561374257506001600160a01b0384163b155b1561376b57604051639996b31560e01b81526001600160a01b0385166004820152602401612ff2565b50806114b9565b8051156137825780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137af6137e5565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561384d575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613878575f80fd5b850160608188031215613889575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613894565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138df575f80fd5b81356114b9816138bb565b80151581146105af575f80fd5b5f60208284031215613907575f80fd5b81356114b9816138ea565b5f808335601e19843603018112613927575f80fd5b83018035915067ffffffffffffffff821115613941575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6139b060c083018486613955565b9998505050505050505050565b8181038181111561069a5761069a613894565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613a0960e083018486613955565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127a8576127a8613894565b6001600160801b038181168382160190808211156127a8576127a8613894565b8181035f8312801583831316838312821617156127a8576127a8613894565b5f60208284031215613a86575f80fd5b81516114b9816138bb565b808202811582820484141761069a5761069a613894565b6001600160801b038281168282160390808211156127a8576127a8613894565b8082018281125f831280158216821582161715613ae757613ae7613894565b505092915050565b5f60208284031215613aff575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2857613b28613b06565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613894565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613beb828551613b5a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c5e575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c8357613c83613894565b505f0390565b610180810161069a8284613b5a565b5f8060408385031215613ca9575f80fd5b825191506020830151613cbb816138ea565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ce857613ce8613b06565b600160ff1b82145f1984141615613d0157613d01613894565b500590565b5f805f8060808587031215613d19575f80fd5b8451935060208501519250604085015191506060850151613889816138ea565b5f60208284031215613d49575f80fd5b81516114b9816138ea565b5f82515f5b81811015613d735760208186018101518583015201613d59565b505f92019182525091905056fea26469706673582212208a4ab4c94830f5d2444fc1295aa78da62a176036a4136e87b4edecc32d6b841164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target2Deployer.ts b/packages/hyperdrive-artifacts/src/ERC4626Target2Deployer.ts new file mode 100644 index 000000000..75972a711 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target2Deployer.ts @@ -0,0 +1,147 @@ +export const ERC4626Target2Deployer = { + name: 'ERC4626Target2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061472e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614256806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004256380380620042568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613db6620004a05f395f50505f50505f610c2801525f50505f818160f9015281816103020152612e0701525f81816114e601528181611d2601528181611d8901528181612510015281816129f701528181612a3301528181612c240152612de101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612dbb01525f61195001525f8181611a7101528181612601015281816126790152612f1f01525f81816109a301528181610e370152818161141501528181611a45015261264d01525f8181610e16015281816125cd0152612edb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612e2d01525f81816101d301528181610396015281816108e101526134a601525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015281816116af0152818161172801526117b601525f818161168201526116e30152613db65ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461383a565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461383a565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906138a8565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856138a8565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e6138cf565b8b611217565b8d8a8a898e8561023e60208301836138cf565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138f7565b8961028960408a018a613912565b60405161029c979695949392919061397d565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846138a8565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906138a8565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016138a8565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a8261048460208401846138cf565b85611217565b858b868461049b60208601866138cf565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138f7565b6104ec896104e68a8d6139bd565b90610683565b8d6104fa60408e018e613912565b60405161050e9897969594939291906139d0565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f61058860208301836138cf565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138f7565b156105ea576105e0856105db6040870187613912565b611673565b9093509050610602565b5034610602856105fd6040870187613912565b6117a9565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117e3565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117fe565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6138a8565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611813565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b92505b5061083883611852565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b6139bd565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836138a8565b429061187f565b84610f13565b6108d588611893565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d6139bd565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a30565b915091508060095f82825461097291906138a8565b9091555061098d9050865f8461098781611afd565b88611b26565b61099781836138a8565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c9d565b91506109db6109d68385610683565b611ce6565b600680546002906109fc9084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611852565b60068054601090610a4b908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a30565b915091508060095f828254610abe91906138a8565b90915550610ad99050835f84610ad381611afd565b8a611d0f565b610ae381836139bd565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613a17565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611852565b60068054601090610b62908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611afd565b610ba483611afd565b610bae9190613a57565b5f611eff565b8e610bbf8482611f3e565b50505b5f610bcc8461212d565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a76565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061226f565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611813565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122f5565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612320565b612384565b15610e6d57610e6d6123c5565b610e79878588856123de565b91965094509250670de0b6b3a7640000610efb610e9687846138a8565b600254610eb4908890600160801b90046001600160801b03166139bd565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b1115610f0957610f096123c5565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611852565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf88866139bd565b610fb99190613a91565b85670de0b6b3a7640000610fcd878a6139bd565b610fd79190613a91565b859291906001612426565b611852565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611852565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a91565b6005546001600160801b03169190886001612426565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611852565b600280545f906110d19084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611852565b60028054601090611120908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611852565b6111579082613a37565b600380546001600160801b03808416600160801b02911617905590505f61117d836124ca565b905061119b8161118c87611afd565b6111969084613ac8565b611eff565b6111a48461250a565b6111b0576111b06123c5565b5f6111ba85612569565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906138a8565b90915550505f838152600b60205260408120805483929061126a9084906138a8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611813565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612575565b93508761134d8589612595565b111561135b5761135b6123c5565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611833565b93506113d58a670de0b6b3a7640000868c6125a9565b509193509091506113e8905081836139bd565b6113f290876139bd565b95508861143f816114398d611407868c6139bd565b8d61141287826126b5565b877f00000000000000000000000000000000000000000000000000000000000000006126ca565b90612595565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126ea565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000008361270d565b5f6114a060408301602084016138f7565b156114ac5750826114b9565b6114b68484612776565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6123c5565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61278a565b1015611522576115226123c5565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613a91565b600554600160801b90046001600160801b03169190896001612426565b600580546001600160801b03928316600160801b02921691909117905561159281611852565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611852565b600280546010906115dd908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611852565b6004805460109061162c908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836124ca565b905061119b8161166988611afd565b6111969084613a57565b5f806116aa6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330886127af565b61170a7f00000000000000000000000000000000000000000000000000000000000000006116d98760016138a8565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061281c565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611776573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179a9190613aef565b92505f9150505b935093915050565b6117de6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866127af565b505050565b5f825f1904841183021582026117f7575f80fd5b5091020490565b5f6118098284613b1a565b61069790846139bd565b6002546004545f916106cb916001600160801b0390911690600f0b61278a565b5f611849826118438588886117e3565b906128ab565b95945050505050565b5f6001600160801b0382111561187b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161188d5782610697565b50919050565b6006545f9081906118b5908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a2b575f6118de83836139bd565b90506118ed610fe28286611450565b6006805460109061190f908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611947858361277690919063ffffffff16565b90505f611974827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461198791906138a8565b90915550611997905081836139bd565b91506119a282611852565b600280545f906119bc9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119e982612910565b600480545f906119fd908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a3c8785612776565b91505f611a69837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a95817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611ab857611aa782826139bd565b611ab190846139bd565b9250611acf565b611ac282826139bd565b611acc90846138a8565b92505b86861015611af257611ae28387896117e3565b9250611aef8287896117e3565b91505b509550959350505050565b5f6001600160ff1b0382111561187b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b6e610fe282611b52670de0b6b3a764000086613a91565b600554600160801b90046001600160801b031691908a5f612426565b600580546001600160801b03928316600160801b029216919091179055611b9486611852565b611b9e9082613aa8565b600480546001600160801b03928316600160801b029216919091179055611bc484611852565b600280545f90611bde9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c0b83612939565b600480545f90611c1f908490600f0b613b2d565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c4f85611852565b60028054601090611c71908490600160801b90046001600160801b0316613aa8565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cb484611cae8a888a6117e3565b90612776565b9050611cc18884866117e3565b611ccb90826138a8565b905086811115611cdb5786810391505b509695505050505050565b5f6001600160701b0382111561187b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d5157507f0000000000000000000000000000000000000000000000000000000000000000611d4f85836139bd565b105b15611d5e57611d5e6123c5565b6004549084900390600f0b611d738482613a57565b905083611d7f86611afd565b138015611db457507f0000000000000000000000000000000000000000000000000000000000000000611db2838361278a565b105b15611dc157611dc16123c5565b600354600160801b90046001600160801b0316611e02610fe282611ded670de0b6b3a764000088613a91565b6005546001600160801b031691908c5f612426565b600580546001600160801b0319166001600160801b0392909216919091179055611e2c88826139bd565b9050611e3781611852565b600380546001600160801b03928316600160801b029216919091179055611e5d83611852565b600280546001600160801b0319166001600160801b0392909216919091179055611e8682612939565b600480546001600160801b0319166001600160801b0392909216919091179055611eaf87611852565b60028054601090611ed1908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f1a90610fe2906001600160801b03168484612974565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f88916001600160801b0316906139bd565b9050805f03611f9b57600191505061069a565b5f611fa5856129d6565b9050805f03611fb95760019250505061069a565b5f80611fc6838589612a71565b9150915080611fdb575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612016929190613bd8565b6040805180830381865af4158015612030573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120549190613c4d565b9150915061207261206482611afd565b61206d90613c6f565b612bde565b925082612087575f965050505050505061069a565b61209082611852565b600780545f906120aa9084906001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120d781611852565b600780546010906120f9908490600160801b90046001600160801b0316613a37565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61215487612d72565b6040518263ffffffff1660e01b81526004016121709190613c89565b6040805180830381865af415801561218a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121ae9190613c98565b91509150806121c357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691612228916138a8565b61223291906139bd565b9050805f0361224857505f958695509350505050565b5f808711612256575f612261565b6122618488846117e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561229257612292613cc6565b6040519080825280601f01601f1916602001820160405280156122bc576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122dc578692505b828152825f602083013e90999098509650505050505050565b5f61231587878761230e88670de0b6b3a76400006139bd565b8787612eac565b979650505050505050565b5f6114b661236061233984670de0b6b3a76400006139bd565b611439670de0b6b3a764000061234f818a611450565b61235991906139bd565b8790612595565b61237290670de0b6b3a76400006138a8565b611cae84670de0b6b3a76400006139bd565b5f806123ba85612392611813565b61239c91906138a8565b600254610eb4908790600160801b90046001600160801b03166139bd565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123ee898789612ece565b90925090506123fd82896139bd565b97505f61240b82888a6117e3565b9050612417818b6139bd565b9a989950979650505050505050565b5f825f03612435575084611849565b81156124875761246661244884876138a8565b6124528587610683565b61245c888a610683565b611cae91906138a8565b90505f612473858861187f565b905080821015612481578091505b50611849565b82850361249557505f611849565b6124c06124a284876139bd565b6124ac8587612595565b6124b6888a610683565b611cae91906139bd565b9695505050505050565b5f6124ef600b5f6124dc6002866111e3565b81526020019081526020015f2054611afd565b612500600b5f6124dc6001876111e3565b61069a9190613a57565b5f6125357f000000000000000000000000000000000000000000000000000000000000000083612595565b60035461254b91906001600160801b03166138a8565b600254612561906001600160801b031684610683565b101592915050565b5f61069a826004611f3e565b5f61231587878761258e88670de0b6b3a76400006139bd565b8787612f4d565b5f6106978383670de0b6b3a76400006126ea565b5f8080806125f987866125f28b6114396125cb8c670de0b6b3a76400006139bd565b7f000000000000000000000000000000000000000000000000000000000000000090612595565b91906126ea565b9350612625847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61264561263d89670de0b6b3a76400006139bd565b8a90886126ea565b9050612671817f0000000000000000000000000000000000000000000000000000000000000000612595565b935061269d847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126a790846138a8565b915050945094509450949050565b5f8183116126c35781610697565b5090919050565b5f806126e1846126db8a888a6126ea565b90611450565b9050611cc18884865b5f825f1904841183021582026126fe575f80fd5b50910281810615159190040190565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa158015612752573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613aef565b5f61069783670de0b6b3a7640000846117e3565b5f806127968484612f5d565b9092509050806127a8576127a86123c5565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526128169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f95565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261286d8482612ffb565b612816576040516001600160a01b0384811660248301525f60448301526128a191869182169063095ea7b3906064016127e4565b6128168482612f95565b5f815f036128c25750670de0b6b3a764000061069a565b825f036128d057505f61069a565b5f6128da83611afd565b90505f6128ee6128e986611afd565b613098565b9050818102612905670de0b6b3a764000082613cda565b90506124c0816132bd565b5f60016001607f1b0382111561187b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612956575060016001607f1b0382135b1561187b5760405163a5353be560e01b815260040160405180910390fd5b5f80612980845f61344f565b61298a845f61344f565b6129949190613a57565b90505f8113156129af576129a881866138a8565b94506129cd565b5f8112156129cd576129c081613c6f565b6129ca90866139bd565b94505b50929392505050565b6003545f9081906129f0906001600160801b031684611450565b9050612a1c7f0000000000000000000000000000000000000000000000000000000000000000826138a8565b6002546001600160801b0316111561188d576002547f000000000000000000000000000000000000000000000000000000000000000090612a679083906001600160801b03166139bd565b6114b991906139bd565b612a7961379b565b5f80612a8484612d72565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612abe9190613c89565b6040805180830381865af4158015612ad8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612afc9190613c98565b9350905082612b1057505f91506117a19050565b5f612b36612b3184610160015185610140015161068390919063ffffffff16565b611afd565b612b56612b3185610120015186610100015161259590919063ffffffff16565b612b609190613a57565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cb89190613d06565b935093509350935080612cd357505f98975050505050505050565b868414612d0457612ce384611852565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612d3557612d1483612939565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d6357612d4582611852565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d7a6137e5565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e72911661345d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612ea49290041661345d565b905292915050565b5f80612ebc8888888888886134d1565b909250905080611cdb57611cdb6123c5565b5f80612f178561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f0d818c611450565b61143991906139bd565b9150612f43827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612ebc888888888888613595565b5f805f83612f6a86611afd565b612f749190613a57565b90505f811215612f8a575f80925092505061067c565b946001945092505050565b5f612fa96001600160a01b03841683613651565b905080515f14158015612fcd575080806020019051810190612fcb9190613d39565b155b156117de57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516130169190613d54565b5f604051808303815f865af19150503d805f811461304f576040519150601f19603f3d011682016040523d82523d5f602084013e613054565b606091505b509150915081801561307e57508051158061307e57508080602001905181019061307e9190613d39565b80156118495750505050506001600160a01b03163b151590565b5f8082136130b95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061313c9084901c611afd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132d657505f919050565b680755bf798b4a1bf1e582126132ff576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124c074029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611afd565b5f8183136126c35781610697565b5f80670de0b6b3a76400006134706106a0565b61347a9190613a91565b9050808311613489575f613493565b61349381846139bd565b91506114b96134ca670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a91565b8390612776565b5f805f6134e1898988888861365e565b90506134fb866118436134f48a8d6138a8565b8790610683565b9850613508858a866117e3565b98508881101561351e575f80925092505061358a565b888103670de0b6b3a764000081106135535761354c613545670de0b6b3a764000089611450565b82906128ab565b905061356b565b613568613545670de0b6b3a764000089612776565b90505b80891015613580575f8093509350505061358a565b8803925060019150505b965096945050505050565b5f805f6135a5898988888861365e565b90506135b586611843898b6138a8565b9750878110156135cb575f80925092505061358a565b8781036135d98186886126ea565b9050670de0b6b3a76400008110613606576135ff613545670de0b6b3a764000089611450565b905061361e565b61361b613545670de0b6b3a764000089612776565b90505b6136288186611450565b9050808a101561363f575f8093509350505061358a565b90980398600198509650505050505050565b606061069783835f61368c565b5f61366985856128ab565b61368261367a86611843868b612595565b8590856126ea565b6124c091906138a8565b6060814710156136b15760405163cd78605960e01b8152306004820152602401612ff2565b5f80856001600160a01b031684866040516136cc9190613d54565b5f6040518083038185875af1925050503d805f8114613706576040519150601f19603f3d011682016040523d82523d5f602084013e61370b565b606091505b50915091506124c086838360608261372b5761372682613772565b6114b9565b815115801561374257506001600160a01b0384163b155b1561376b57604051639996b31560e01b81526001600160a01b0385166004820152602401612ff2565b50806114b9565b8051156137825780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806137af6137e5565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561384d575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613878575f80fd5b850160608188031215613889575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613894565b6001600160a01b03811681146105af575f80fd5b5f602082840312156138df575f80fd5b81356114b9816138bb565b80151581146105af575f80fd5b5f60208284031215613907575f80fd5b81356114b9816138ea565b5f808335601e19843603018112613927575f80fd5b83018035915067ffffffffffffffff821115613941575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6139b060c083018486613955565b9998505050505050505050565b8181038181111561069a5761069a613894565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613a0960e083018486613955565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127a8576127a8613894565b6001600160801b038181168382160190808211156127a8576127a8613894565b8181035f8312801583831316838312821617156127a8576127a8613894565b5f60208284031215613a86575f80fd5b81516114b9816138bb565b808202811582820484141761069a5761069a613894565b6001600160801b038281168282160390808211156127a8576127a8613894565b8082018281125f831280158216821582161715613ae757613ae7613894565b505092915050565b5f60208284031215613aff575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613b2857613b28613b06565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613894565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613beb828551613b5a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c5e575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c8357613c83613894565b505f0390565b610180810161069a8284613b5a565b5f8060408385031215613ca9575f80fd5b825191506020830151613cbb816138ea565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ce857613ce8613b06565b600160ff1b82145f1984141615613d0157613d01613894565b500590565b5f805f8060808587031215613d19575f80fd5b8451935060208501519250604085015191506060850151613889816138ea565b5f60208284031215613d49575f80fd5b81516114b9816138ea565b5f82515f5b81811015613d735760208186018101518583015201613d59565b505f92019182525091905056fea26469706673582212208a4ab4c94830f5d2444fc1295aa78da62a176036a4136e87b4edecc32d6b841164736f6c63430008160033a264697066735822122043f672569fe8860f954412d209b078eaed10295fb03a71f5dd6a807e7e219bad64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target3.ts b/packages/hyperdrive-artifacts/src/ERC4626Target3.ts new file mode 100644 index 000000000..57699773e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target3.ts @@ -0,0 +1,1030 @@ +export const ERC4626Target3 = { + name: 'ERC4626Target3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b50604051620041c2380380620041c28339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613d11620004b15f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d601528181612139015281816129e201528181612dd70152612e1301525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611ce701525f8181611e3c015261306201525f81816110260152611e1001525f61301801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297801525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f818161198801528181611a0101528181611a8f0152612cba01525f818161195b01526119bc0152613d115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461376a565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137c9565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613829565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961383c565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613829565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261383c565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061383c565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613829565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138cd565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138dc565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138cd565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138dc565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761383c565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613907565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613829565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613907565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161392f565b866107a960408c018c61394a565b6040516107bc979695949392919061398d565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139e0565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139f7565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613907565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613907565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161392f565b87610b5e604089018961394a565b604051610b71979695949392919061398d565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613907565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161392f565b15610c8f57610c8585610c80604087018761394a565b61194c565b9093509050610ca7565b5034610ca785610ca2604087018761394a565b611a82565b610caf611abc565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ace565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613829565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a84611ae3565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613829565b4290611c1c565b84611ae3565b610f5888611c2a565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dc7565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfb565b915091508060095f828254610ff59190613829565b909155506110109050865f8461100a81611766565b88611ec8565b61101a8183613829565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061203f565b915061105e6110598385612082565b612096565b6006805460029061107f9084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dc7565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfb565b915091508060095f8282546111419190613829565b9091555061115c9050835f8461115681611766565b8a6120bf565b611166818361383c565b91506111756110598387612082565b600680546002906111969084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a62565b5f6122af565b8e61124284826122ee565b50505b5f61124f846124dd565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a81565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061261f565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dc7565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dc7565b6113f79190613a62565b92915050565b5f805f8061140b8a8a6126a7565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8b7f00000000000000000000000000000000000000000000000000000000000000006126df565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8d7f0000000000000000000000000000000000000000000000000000000000000000612798565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612852565b509093505f9050611568848f613829565b90505f6115888b8b61157987611766565b611583908e613a9c565b61289a565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128fc565b611766565b6115c683611766565b6115d36115b88685612082565b6115dd9190613a62565b6115e79190613a62565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290c565b61162685670de0b6b3a764000061383c565b906117d4565b6116346136bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661292f565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661292f565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299c565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613829565b90915550505f838152600b60205260408120805483929061183b908490613829565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122ee565b5f8183136118a7578261008d565b50919050565b5f806118b984846126a7565b9092509050806118cb576118cb612b30565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b49565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bb8565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613829565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c25565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a7391906138dc565b92505f9150505b935093915050565b611ab76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612bb8565b505050565b5f610c2d670de0b6b3a7640000612cb4565b5f611ad98284613ad7565b61008d908461383c565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b0e5750505050565b5f848152600860205260408120546001600160801b031690819003611b6657611b36836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be3565b611bb7611bb2670de0b6b3a7640000611b7f888661383c565b611b8991906139e0565b85670de0b6b3a7640000611b9d878a61383c565b611ba791906139e0565b859291906001612cdf565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bec846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4c908490600160801b90046001600160801b0316612082565b6006546201000090046001600160701b03169250905081811115611dc2575f611c75838361383c565b9050611c84611bb28286612d79565b60068054601090611ca6908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cde85836117d490919063ffffffff16565b90505f611d0b827f0000000000000000000000000000000000000000000000000000000000000000612082565b90508060095f828254611d1e9190613829565b90915550611d2e9050818361383c565b9150611d39826118d2565b600280545f90611d539084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8082612d8d565b600480545f90611d94908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0787856117d4565b91505f611e34837f0000000000000000000000000000000000000000000000000000000000000000612082565b9050611e60817f0000000000000000000000000000000000000000000000000000000000000000612082565b91508315611e8357611e72828261383c565b611e7c908461383c565b9250611e9a565b611e8d828261383c565b611e979084613829565b92505b86861015611ebd57611ead8387896117b9565b9250611eba8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f10611bb282611ef4670de0b6b3a7640000866139e0565b600554600160801b90046001600160801b031691908a5f612cdf565b600580546001600160801b03928316600160801b029216919091179055611f36866118d2565b611f409082613aea565b600480546001600160801b03928316600160801b029216919091179055611f66846118d2565b600280545f90611f809084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fad836118fb565b600480545f90611fc1908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff1856118d2565b60028054601090612013908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612050846116268a888a6117b9565b905061205d8884866117b9565b6120679082613829565b9050868111156120775786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210157507f00000000000000000000000000000000000000000000000000000000000000006120ff858361383c565b105b1561210e5761210e612b30565b6004549084900390600f0b6121238482613a62565b90508361212f86611766565b13801561216457507f000000000000000000000000000000000000000000000000000000000000000061216283836118ad565b105b1561217157612171612b30565b600354600160801b90046001600160801b03166121b2611bb28261219d670de0b6b3a7640000886139e0565b6005546001600160801b031691908c5f612cdf565b600580546001600160801b0319166001600160801b03929092169190911790556121dc888261383c565b90506121e7816118d2565b600380546001600160801b03928316600160801b02921691909117905561220d836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612236826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561225f876118d2565b60028054601090612281908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122ca90611bb2906001600160801b0316848461289a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612338916001600160801b03169061383c565b9050805f0361234b5760019150506113f7565b5f61235585612db6565b9050805f03612369576001925050506113f7565b5f80612376838589612e51565b915091508061238b575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c6929190613b37565b6040805180830381865af41580156123e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124049190613bac565b9150915061242261241482611766565b61241d90613bce565b61299c565b925082612437575f96505050505050506113f7565b612440826118d2565b600780545f9061245a9084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612487816118d2565b600780546010906124a9908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125048761162c565b6040518263ffffffff1660e01b815260040161252091906138cd565b6040805180830381865af415801561253a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061255e9190613be8565b915091508061257357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125d891613829565b6125e2919061383c565b9050805f036125f857505f958695509350505050565b5f808711612606575f612611565b6126118488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264257612642613c16565b6040519080825280601f01601f19166020018201604052801561266c576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268c578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b486611766565b6126be9190613a62565b90505f8112156126d4575f809250925050610d21565b946001945092505050565b5f805f6126ef8888888888612fb9565b90505f612719670de0b6b3a76400006127088888612d79565b6127129190613829565b83906117d4565b9050670de0b6b3a7640000811061274d5761274661273f670de0b6b3a7640000896117d4565b8290612b49565b9050612765565b61276261273f670de0b6b3a764000089612d79565b90505b61276f81866117d4565b905088811015612786575f8093509350505061269d565b97909703976001975095505050505050565b5f805f6127a88989888888612fe7565b90506127c2866119466127bb8a8d613829565b8790612082565b98506127cf858a866117b9565b9850888110156127e5575f8092509250506115f6565b888103670de0b6b3a764000081106128135761280c61273f670de0b6b3a764000089612d79565b905061282b565b61282861273f670de0b6b3a7640000896117d4565b90505b80891015612840575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61286289878961300b565b9092509050612871828961383c565b97505f61287f82888a6117b9565b905061288b818b61383c565b9a989950979650505050505050565b5f806128a6845f613090565b6128b0845f613090565b6128ba9190613a62565b90505f8113156128d5576128ce8186613829565b94506128f3565b5f8112156128f3576128e681613bce565b6128f0908661383c565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612920575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612942610d28565b61294c91906139e0565b905080831161295b575f612965565b612965818461383c565b915061008d612712670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139e0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a769190613c2a565b935093509350935080612a9157505f98975050505050505050565b868414612ac257612aa1846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af357612ad2836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2157612b03826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b605750670de0b6b3a76400006113f7565b825f03612b6e57505f6113f7565b5f612b7883611766565b90505f612b8c612b8786611766565b6130a5565b9050818102612ba3670de0b6b3a764000082613c68565b9050612bae816132ca565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c1f9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061345c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c7684826134c2565b612c1f576040516001600160a01b0384811660248301525f6044830152612caa91869182169063095ea7b390606401612bed565b612c1f848261345c565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000008361355f565b5f825f03612cee575084610075565b8115612d4057612d1f612d018487613829565b612d0b8587612082565b612d15888a612082565b6116269190613829565b90505f612d2c8588611c1c565b905080821015612d3a578091505b50610075565b828503612d4e57505f610075565b610072612d5b848761383c565b612d6585876128fc565b612d6f888a612082565b611626919061383c565b5f61008d83670de0b6b3a76400008461290c565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dd0906001600160801b031684612d79565b9050612dfc7f000000000000000000000000000000000000000000000000000000000000000082613829565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e479083906001600160801b031661383c565b61008d919061383c565b612e59613710565b5f80612e648461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e9e91906138cd565b6040805180830381865af4158015612eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612edc9190613be8565b9350905082612ef057505f9150611a7a9050565b5f612f116115b884610160015185610140015161208290919063ffffffff16565b612f316115b88561012001518661010001516128fc90919063ffffffff16565b612f3b9190613a62565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fc48585612b49565b612fdd612fd586611946868b612082565b8590856117b9565b6100729190613829565b5f612ff28585612b49565b612fdd61300386611946868b6128fc565b85908561290c565b5f8061305a8561305485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061304a818c612d79565b613054919061383c565b906128fc565b9150613086827f0000000000000000000000000000000000000000000000000000000000000000612082565b9050935093915050565b5f81831361309e578161008d565b5090919050565b5f8082136130c65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131499084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132e357505f919050565b680755bf798b4a1bf1e5821261330c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134706001600160a01b038416836135c8565b905080515f141580156134945750808060200190518101906134929190613c94565b155b15611ab757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134dd9190613caf565b5f604051808303815f865af19150503d805f8114613516576040519150601f19603f3d011682016040523d82523d5f602084013e61351b565b606091505b50915091508180156135455750805115806135455750808060200190518101906135459190613c94565b80156100755750505050506001600160a01b03163b151590565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa1580156135a4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d91906138dc565b606061008d83835f845f80856001600160a01b031684866040516135ec9190613caf565b5f6040518083038185875af1925050503d805f8114613626576040519150601f19603f3d011682016040523d82523d5f602084013e61362b565b606091505b5091509150612bae86838360608261364b5761364682613692565b61008d565b815115801561366257506001600160a01b0384163b155b1561368b57604051639996b31560e01b81526001600160a01b03851660048201526024016134b9565b508061008d565b8051156136a25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806137246136bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561377e575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156137b0575f80fd5b6137bc8882890161375a565b9150509295509295909350565b5f805f606084860312156137db575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ff575f80fd5b61380b8682870161375a565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613815565b818103818111156113f7576113f7613815565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461384f565b5f602082840312156138ec575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613917575f80fd5b813561008d816138f3565b8015158114610c0a575f80fd5b5f6020828403121561393f575f80fd5b813561008d81613922565b5f808335601e1984360301811261395f575f80fd5b83018035915067ffffffffffffffff821115613979575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613815565b5f805f60608486031215613a09575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613815565b6001600160801b038181168382160190808211156118cb576118cb613815565b8181035f8312801583831316838312821617156118cb576118cb613815565b5f60208284031215613a91575f80fd5b815161008d816138f3565b8082018281125f831280158216821582161715613abb57613abb613815565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ae557613ae5613ac3565b500690565b6001600160801b038281168282160390808211156118cb576118cb613815565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613815565b5f6102a082019050613b4a82855161384f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613bbd575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613be257613be2613815565b505f0390565b5f8060408385031215613bf9575f80fd5b825191506020830151613c0b81613922565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c3d575f80fd5b8451935060208501519250604085015191506060850151613c5d81613922565b939692955090935050565b5f82613c7657613c76613ac3565b600160ff1b82145f1984141615613c8f57613c8f613815565b500590565b5f60208284031215613ca4575f80fd5b815161008d81613922565b5f82515f5b81811015613cce5760208186018101518583015201613cb4565b505f92019182525091905056fea264697066735822122009f2d2e973becd4368ede2511076c749a97f867026cf8faea5963c9744be37b364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target3Deployer.ts b/packages/hyperdrive-artifacts/src/ERC4626Target3Deployer.ts new file mode 100644 index 000000000..367f69f6b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target3Deployer.ts @@ -0,0 +1,147 @@ +export const ERC4626Target3Deployer = { + name: 'ERC4626Target3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061469a8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b6141c2806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b50604051620041c2380380620041c28339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613d11620004b15f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120d601528181612139015281816129e201528181612dd70152612e1301525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611ce701525f8181611e3c015261306201525f81816110260152611e1001525f61301801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261297801525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f818161198801528181611a0101528181611a8f0152612cba01525f818161195b01526119bc0152613d115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461376a565b610064565b60405190815260200160405180910390f35b61003f61005f3660046137c9565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613829565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961383c565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613829565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261383c565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061383c565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613829565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104679084906004016138cd565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a691906138dc565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a918591016138cd565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055991906138dc565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761383c565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613907565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613829565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613907565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161392f565b866107a960408c018c61394a565b6040516107bc979695949392919061398d565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f000000000000000000000000000000000000000000000000000000000000000060026139e0565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139f7565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613907565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613907565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161392f565b87610b5e604089018961394a565b604051610b71979695949392919061398d565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613907565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161392f565b15610c8f57610c8585610c80604087018761394a565b61194c565b9093509050610ca7565b5034610ca785610ca2604087018761394a565b611a82565b610caf611abc565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ace565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613829565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61383c565b8a84611ae3565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613829565b4290611c1c565b84611ae3565b610f5888611c2a565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61383c565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611dc7565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dfb565b915091508060095f828254610ff59190613829565b909155506110109050865f8461100a81611766565b88611ec8565b61101a8183613829565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061203f565b915061105e6110598385612082565b612096565b6006805460029061107f9084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611dc7565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dfb565b915091508060095f8282546111419190613829565b9091555061115c9050835f8461115681611766565b8a6120bf565b611166818361383c565b91506111756110598387612082565b600680546002906111969084906201000090046001600160701b0316613a22565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a62565b5f6122af565b8e61124284826122ee565b50505b5f61124f846124dd565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a81565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061261f565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611dc7565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611dc7565b6113f79190613a62565b92915050565b5f805f8061140b8a8a6126a7565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8b7f00000000000000000000000000000000000000000000000000000000000000006126df565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061383c565b8d7f0000000000000000000000000000000000000000000000000000000000000000612798565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612852565b509093505f9050611568848f613829565b90505f6115888b8b61157987611766565b611583908e613a9c565b61289a565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128fc565b611766565b6115c683611766565b6115d36115b88685612082565b6115dd9190613a62565b6115e79190613a62565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e1338061290c565b61162685670de0b6b3a764000061383c565b906117d4565b6116346136bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661292f565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661292f565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c8161299c565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613829565b90915550505f838152600b60205260408120805483929061183b908490613829565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122ee565b5f8183136118a7578261008d565b50919050565b5f806118b984846126a7565b9092509050806118cb576118cb612b30565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b49565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612bb8565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613829565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c25565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a7391906138dc565b92505f9150505b935093915050565b611ab76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612bb8565b505050565b5f610c2d670de0b6b3a7640000612cb4565b5f611ad98284613ad7565b61008d908461383c565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b0e5750505050565b5f848152600860205260408120546001600160801b031690819003611b6657611b36836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611be3565b611bb7611bb2670de0b6b3a7640000611b7f888661383c565b611b8991906139e0565b85670de0b6b3a7640000611b9d878a61383c565b611ba791906139e0565b859291906001612cdf565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bec846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c4c908490600160801b90046001600160801b0316612082565b6006546201000090046001600160701b03169250905081811115611dc2575f611c75838361383c565b9050611c84611bb28286612d79565b60068054601090611ca6908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cde85836117d490919063ffffffff16565b90505f611d0b827f0000000000000000000000000000000000000000000000000000000000000000612082565b90508060095f828254611d1e9190613829565b90915550611d2e9050818361383c565b9150611d39826118d2565b600280545f90611d539084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d8082612d8d565b600480545f90611d94908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611df05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e0787856117d4565b91505f611e34837f0000000000000000000000000000000000000000000000000000000000000000612082565b9050611e60817f0000000000000000000000000000000000000000000000000000000000000000612082565b91508315611e8357611e72828261383c565b611e7c908461383c565b9250611e9a565b611e8d828261383c565b611e979084613829565b92505b86861015611ebd57611ead8387896117b9565b9250611eba8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f10611bb282611ef4670de0b6b3a7640000866139e0565b600554600160801b90046001600160801b031691908a5f612cdf565b600580546001600160801b03928316600160801b029216919091179055611f36866118d2565b611f409082613aea565b600480546001600160801b03928316600160801b029216919091179055611f66846118d2565b600280545f90611f809084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fad836118fb565b600480545f90611fc1908490600f0b613b0a565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ff1856118d2565b60028054601090612013908490600160801b90046001600160801b0316613aea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612050846116268a888a6117b9565b905061205d8884866117b9565b6120679082613829565b9050868111156120775786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061210157507f00000000000000000000000000000000000000000000000000000000000000006120ff858361383c565b105b1561210e5761210e612b30565b6004549084900390600f0b6121238482613a62565b90508361212f86611766565b13801561216457507f000000000000000000000000000000000000000000000000000000000000000061216283836118ad565b105b1561217157612171612b30565b600354600160801b90046001600160801b03166121b2611bb28261219d670de0b6b3a7640000886139e0565b6005546001600160801b031691908c5f612cdf565b600580546001600160801b0319166001600160801b03929092169190911790556121dc888261383c565b90506121e7816118d2565b600380546001600160801b03928316600160801b02921691909117905561220d836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612236826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561225f876118d2565b60028054601090612281908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122ca90611bb2906001600160801b0316848461289a565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612338916001600160801b03169061383c565b9050805f0361234b5760019150506113f7565b5f61235585612db6565b9050805f03612369576001925050506113f7565b5f80612376838589612e51565b915091508061238b575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123c6929190613b37565b6040805180830381865af41580156123e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124049190613bac565b9150915061242261241482611766565b61241d90613bce565b61299c565b925082612437575f96505050505050506113f7565b612440826118d2565b600780545f9061245a9084906001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612487816118d2565b600780546010906124a9908490600160801b90046001600160801b0316613a42565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6125048761162c565b6040518263ffffffff1660e01b815260040161252091906138cd565b6040805180830381865af415801561253a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061255e9190613be8565b915091508061257357505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125d891613829565b6125e2919061383c565b9050805f036125f857505f958695509350505050565b5f808711612606575f612611565b6126118488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561264257612642613c16565b6040519080825280601f01601f19166020018201604052801561266c576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561268c578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126b486611766565b6126be9190613a62565b90505f8112156126d4575f809250925050610d21565b946001945092505050565b5f805f6126ef8888888888612fb9565b90505f612719670de0b6b3a76400006127088888612d79565b6127129190613829565b83906117d4565b9050670de0b6b3a7640000811061274d5761274661273f670de0b6b3a7640000896117d4565b8290612b49565b9050612765565b61276261273f670de0b6b3a764000089612d79565b90505b61276f81866117d4565b905088811015612786575f8093509350505061269d565b97909703976001975095505050505050565b5f805f6127a88989888888612fe7565b90506127c2866119466127bb8a8d613829565b8790612082565b98506127cf858a866117b9565b9850888110156127e5575f8092509250506115f6565b888103670de0b6b3a764000081106128135761280c61273f670de0b6b3a764000089612d79565b905061282b565b61282861273f670de0b6b3a7640000896117d4565b90505b80891015612840575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61286289878961300b565b9092509050612871828961383c565b97505f61287f82888a6117b9565b905061288b818b61383c565b9a989950979650505050505050565b5f806128a6845f613090565b6128b0845f613090565b6128ba9190613a62565b90505f8113156128d5576128ce8186613829565b94506128f3565b5f8112156128f3576128e681613bce565b6128f0908661383c565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612920575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612942610d28565b61294c91906139e0565b905080831161295b575f612965565b612965818461383c565b915061008d612712670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139e0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a769190613c2a565b935093509350935080612a9157505f98975050505050505050565b868414612ac257612aa1846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612af357612ad2836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2157612b03826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b605750670de0b6b3a76400006113f7565b825f03612b6e57505f6113f7565b5f612b7883611766565b90505f612b8c612b8786611766565b6130a5565b9050818102612ba3670de0b6b3a764000082613c68565b9050612bae816132ca565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c1f9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061345c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c7684826134c2565b612c1f576040516001600160a01b0384811660248301525f6044830152612caa91869182169063095ea7b390606401612bed565b612c1f848261345c565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000008361355f565b5f825f03612cee575084610075565b8115612d4057612d1f612d018487613829565b612d0b8587612082565b612d15888a612082565b6116269190613829565b90505f612d2c8588611c1c565b905080821015612d3a578091505b50610075565b828503612d4e57505f610075565b610072612d5b848761383c565b612d6585876128fc565b612d6f888a612082565b611626919061383c565b5f61008d83670de0b6b3a76400008461290c565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612dd0906001600160801b031684612d79565b9050612dfc7f000000000000000000000000000000000000000000000000000000000000000082613829565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e479083906001600160801b031661383c565b61008d919061383c565b612e59613710565b5f80612e648461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e9e91906138cd565b6040805180830381865af4158015612eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612edc9190613be8565b9350905082612ef057505f9150611a7a9050565b5f612f116115b884610160015185610140015161208290919063ffffffff16565b612f316115b88561012001518661010001516128fc90919063ffffffff16565b612f3b9190613a62565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fc48585612b49565b612fdd612fd586611946868b612082565b8590856117b9565b6100729190613829565b5f612ff28585612b49565b612fdd61300386611946868b6128fc565b85908561290c565b5f8061305a8561305485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061304a818c612d79565b613054919061383c565b906128fc565b9150613086827f0000000000000000000000000000000000000000000000000000000000000000612082565b9050935093915050565b5f81831361309e578161008d565b5090919050565b5f8082136130c65760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131499084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132e357505f919050565b680755bf798b4a1bf1e5821261330c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134706001600160a01b038416836135c8565b905080515f141580156134945750808060200190518101906134929190613c94565b155b15611ab757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134dd9190613caf565b5f604051808303815f865af19150503d805f8114613516576040519150601f19603f3d011682016040523d82523d5f602084013e61351b565b606091505b50915091508180156135455750805115806135455750808060200190518101906135459190613c94565b80156100755750505050506001600160a01b03163b151590565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a90602401602060405180830381865afa1580156135a4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d91906138dc565b606061008d83835f845f80856001600160a01b031684866040516135ec9190613caf565b5f6040518083038185875af1925050503d805f8114613626576040519150601f19603f3d011682016040523d82523d5f602084013e61362b565b606091505b5091509150612bae86838360608261364b5761364682613692565b61008d565b815115801561366257506001600160a01b0384163b155b1561368b57604051639996b31560e01b81526001600160a01b03851660048201526024016134b9565b508061008d565b8051156136a25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806137246136bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561377e575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156137b0575f80fd5b6137bc8882890161375a565b9150509295509295909350565b5f805f606084860312156137db575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ff575f80fd5b61380b8682870161375a565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613815565b818103818111156113f7576113f7613815565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f7828461384f565b5f602082840312156138ec575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613917575f80fd5b813561008d816138f3565b8015158114610c0a575f80fd5b5f6020828403121561393f575f80fd5b813561008d81613922565b5f808335601e1984360301811261395f575f80fd5b83018035915067ffffffffffffffff821115613979575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613815565b5f805f60608486031215613a09575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613815565b6001600160801b038181168382160190808211156118cb576118cb613815565b8181035f8312801583831316838312821617156118cb576118cb613815565b5f60208284031215613a91575f80fd5b815161008d816138f3565b8082018281125f831280158216821582161715613abb57613abb613815565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ae557613ae5613ac3565b500690565b6001600160801b038281168282160390808211156118cb576118cb613815565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613815565b5f6102a082019050613b4a82855161384f565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613bbd575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613be257613be2613815565b505f0390565b5f8060408385031215613bf9575f80fd5b825191506020830151613c0b81613922565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613c3d575f80fd5b8451935060208501519250604085015191506060850151613c5d81613922565b939692955090935050565b5f82613c7657613c76613ac3565b600160ff1b82145f1984141615613c8f57613c8f613815565b500590565b5f60208284031215613ca4575f80fd5b815161008d81613922565b5f82515f5b81811015613cce5760208186018101518583015201613cb4565b505f92019182525091905056fea264697066735822122009f2d2e973becd4368ede2511076c749a97f867026cf8faea5963c9744be37b364736f6c63430008160033a264697066735822122049bde01678a107bcf071d08800055eece08bc194212b6e9aa216e53ae8e1e68364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target4.ts b/packages/hyperdrive-artifacts/src/ERC4626Target4.ts new file mode 100644 index 000000000..ec4d40101 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target4.ts @@ -0,0 +1,1009 @@ +export const ERC4626Target4 = { + name: 'ERC4626Target4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b506040516200351a3803806200351a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613116620004045f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526124f501525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110890152818161224801528181612328015261245c01525f818161229001526123bf01526131165ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ba5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612bf7565b6100b1565b005b610056610092366004612ba5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c2b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c53565b61016a60408c018c612c6e565b60405161017c96959493929190612cd9565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d26565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c2b565b88610ea4565b5f6102f56102ec6020870187612c2b565b88848989610a9e565b90945090506103048188612d4d565b92505f61031083610f41565b5090506103206020870187612c2b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c53565b8a888e80604001906103709190612c6e565b604051610384989796959493929190612d60565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c2b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612da7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d4d565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612da7565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d4d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612da7565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612da7565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612da7565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612d4d565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612dfa565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e19565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612e34565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d4d565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ed2565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f47565b91509150610d11610d0382611521565b610d0c90612f69565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d4d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612da7565b90915550505f838152600b602052604081208054839290610ef7908490612da7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612f83565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f92565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612da7565b6110469190612d4d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612d26565b6110c39084612d4d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612d4d565b6111dc9190612fc0565b85670de0b6b3a76400006111f0878a612d4d565b6111fa9190612fc0565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612d4d565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612da7565b9091555061138790508183612d4d565b915061139282611109565b600280545f906113ac9084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612d4d565b6114d59084612d4d565b92506114f3565b6114e68282612d4d565b6114f09084612da7565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612fc0565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612e34565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612da7565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612d4d565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612dfa565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612fc0565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612d4d565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999613004565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612c53565b15611a8e57611a8785611a756020860186612c2b565b611a826040870187612c6e565b61226d565b9150611ab1565b611ab185611a9f6020860186612c2b565b611aac6040870187612c6e565b61244f565b509392505050565b5f6110c38383670de0b6b3a7640000612489565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612da7565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612d4d565b6110c39190612d4d565b611b70612b06565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612f83565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612f92565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612dfa565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190613018565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612b50565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166124ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166124ac565b905292915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190613056565b5f806120198484612520565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b61255b565b905081810261208c670de0b6b3a76400008261306d565b905061209781612780565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612da7565b6120cd858761170a565b6120d7888a61170a565b6116d29190612da7565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612d4d565b6121278587611ab9565b612131888a61170a565b6116d29190612d4d565b5f6110c383670de0b6b3a764000084612489565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f612912565b6121f6845f612912565b6122009190612dfa565b90505f81131561221b576122148186612da7565b9450612239565b5f8112156122395761222c81612f69565b6122369086612d4d565b94505b50929392505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083612927565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156122d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122f99190613056565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612370573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123949190613056565b91506123a08282612da7565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190613056565b146124465760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6124836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612956565b50505050565b5f825f19048411830215820261249d575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bf61040f565b6124c99190612fc0565b90508083116124d8575f6124e2565b6124e28184612d4d565b91506110c3612519670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fc0565b839061214f565b5f805f8361252d86611521565b6125379190612dfa565b90505f81121561254d575f809250925050612554565b9150600190505b9250929050565b5f80821361257c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125ff9084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279957505f919050565b680755bf798b4a1bf1e582126127c2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361292057816110c3565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129a89084906129ad565b505050565b5f6129c16001600160a01b03841683612a13565b905080515f141580156129e55750808060200190518101906129e39190613099565b155b156129a857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b03168486604051612a3791906130b4565b5f6040518083038185875af1925050503d805f8114612a71576040519150601f19603f3d011682016040523d82523d5f602084013e612a76565b606091505b5091509150612097868383606082612a9657612a9182612add565b6110c3565b8151158015612aad57506001600160a01b0384163b155b15612ad657604051639996b31560e01b81526001600160a01b0385166004820152602401612a0a565b50806110c3565b805115612aed5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612b1a612b50565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bb7575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612bdb575f80fd5b840160608187031215612bec575f80fd5b809150509250925092565b5f8060408385031215612c08575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c3b575f80fd5b81356110c381612c17565b80151581146103f5575f80fd5b5f60208284031215612c63575f80fd5b81356110c381612c46565b5f808335601e19843603018112612c83575f80fd5b83018035915067ffffffffffffffff821115612c9d575f80fd5b602001915036819003821315612554575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d0660a083018486612cb1565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d3457612d34612d12565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d39565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d9960e083018486612cb1565b9a9950505050505050505050565b80820180821115610dc757610dc7612d39565b6001600160701b0381811683821601908082111561202b5761202b612d39565b6001600160801b0381811683821601908082111561202b5761202b612d39565b8181035f83128015838313168383128216171561202b5761202b612d39565b5f60208284031215612e29575f80fd5b81516110c381612c17565b6001600160801b0382811682821603908082111561202b5761202b612d39565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612ee5828551612e54565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f58575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f7d57612f7d612d39565b505f0390565b6101808101610dc78284612e54565b5f8060408385031215612fa3575f80fd5b825191506020830151612fb581612c46565b809150509250929050565b8082028115828204841417610dc757610dc7612d39565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d39565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561302b575f80fd5b845193506020850151925060408501519150606085015161304b81612c46565b939692955090935050565b5f60208284031215613066575f80fd5b5051919050565b5f8261307b5761307b612d12565b600160ff1b82145f198414161561309457613094612d39565b500590565b5f602082840312156130a9575f80fd5b81516110c381612c46565b5f82515f5b818110156130d357602081860181015185830152016130b9565b505f92019182525091905056fea26469706673582212206df342c46dc49e7dac9a1099ce50c122d6556780e9ded19b7472f42c2adc276564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ERC4626Target4Deployer.ts b/packages/hyperdrive-artifacts/src/ERC4626Target4Deployer.ts new file mode 100644 index 000000000..afac36527 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ERC4626Target4Deployer.ts @@ -0,0 +1,147 @@ +export const ERC4626Target4Deployer = { + name: 'ERC4626Target4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506139f28061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b61351a806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b506040516200351a3803806200351a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613116620004045f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b01526124f501525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110890152818161224801528181612328015261245c01525f818161229001526123bf01526131165ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ba5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612bf7565b6100b1565b005b610056610092366004612ba5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c2b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c53565b61016a60408c018c612c6e565b60405161017c96959493929190612cd9565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d26565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c2b565b88610ea4565b5f6102f56102ec6020870187612c2b565b88848989610a9e565b90945090506103048188612d4d565b92505f61031083610f41565b5090506103206020870187612c2b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c53565b8a888e80604001906103709190612c6e565b604051610384989796959493929190612d60565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c2b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612da7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d4d565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612da7565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d4d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612da7565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612da7565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612da7565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612d4d565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612dba565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612dfa565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e19565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612e34565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d4d565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ed2565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f47565b91509150610d11610d0382611521565b610d0c90612f69565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d4d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612da7565b90915550505f838152600b602052604081208054839290610ef7908490612da7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612f83565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f92565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612da7565b6110469190612d4d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612d26565b6110c39084612d4d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612d4d565b6111dc9190612fc0565b85670de0b6b3a76400006111f0878a612d4d565b6111fa9190612fc0565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612d4d565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612da7565b9091555061138790508183612d4d565b915061139282611109565b600280545f906113ac9084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612d4d565b6114d59084612d4d565b92506114f3565b6114e68282612d4d565b6114f09084612da7565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612fc0565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612e34565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612fd7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612e34565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612da7565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612d4d565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612dfa565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612fc0565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612d4d565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612dda565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999613004565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612c53565b15611a8e57611a8785611a756020860186612c2b565b611a826040870187612c6e565b61226d565b9150611ab1565b611ab185611a9f6020860186612c2b565b611aac6040870187612c6e565b61244f565b509392505050565b5f6110c38383670de0b6b3a7640000612489565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612da7565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612d4d565b6110c39190612d4d565b611b70612b06565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612f83565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612f92565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612dfa565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190613018565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612b50565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166124ac565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166124ac565b905292915050565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190613056565b5f806120198484612520565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b61255b565b905081810261208c670de0b6b3a76400008261306d565b905061209781612780565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612da7565b6120cd858761170a565b6120d7888a61170a565b6116d29190612da7565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612d4d565b6121278587611ab9565b612131888a61170a565b6116d29190612d4d565b5f6110c383670de0b6b3a764000084612489565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f612912565b6121f6845f612912565b6122009190612dfa565b90505f81131561221b576122148186612da7565b9450612239565b5f8112156122395761222c81612f69565b6122369086612d4d565b94505b50929392505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083612927565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156122d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122f99190613056565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015612370573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123949190613056565b91506123a08282612da7565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612404573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124289190613056565b146124465760405163350b944160e11b815260040160405180910390fd5b50949350505050565b6124836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612956565b50505050565b5f825f19048411830215820261249d575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bf61040f565b6124c99190612fc0565b90508083116124d8575f6124e2565b6124e28184612d4d565b91506110c3612519670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fc0565b839061214f565b5f805f8361252d86611521565b6125379190612dfa565b90505f81121561254d575f809250925050612554565b9150600190505b9250929050565b5f80821361257c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125ff9084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279957505f919050565b680755bf798b4a1bf1e582126127c2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361292057816110c3565b5090919050565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f59290602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129a89084906129ad565b505050565b5f6129c16001600160a01b03841683612a13565b905080515f141580156129e55750808060200190518101906129e39190613099565b155b156129a857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b03168486604051612a3791906130b4565b5f6040518083038185875af1925050503d805f8114612a71576040519150601f19603f3d011682016040523d82523d5f602084013e612a76565b606091505b5091509150612097868383606082612a9657612a9182612add565b6110c3565b8151158015612aad57506001600160a01b0384163b155b15612ad657604051639996b31560e01b81526001600160a01b0385166004820152602401612a0a565b50806110c3565b805115612aed5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612b1a612b50565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bb7575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612bdb575f80fd5b840160608187031215612bec575f80fd5b809150509250925092565b5f8060408385031215612c08575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c3b575f80fd5b81356110c381612c17565b80151581146103f5575f80fd5b5f60208284031215612c63575f80fd5b81356110c381612c46565b5f808335601e19843603018112612c83575f80fd5b83018035915067ffffffffffffffff821115612c9d575f80fd5b602001915036819003821315612554575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d0660a083018486612cb1565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d3457612d34612d12565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d39565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d9960e083018486612cb1565b9a9950505050505050505050565b80820180821115610dc757610dc7612d39565b6001600160701b0381811683821601908082111561202b5761202b612d39565b6001600160801b0381811683821601908082111561202b5761202b612d39565b8181035f83128015838313168383128216171561202b5761202b612d39565b5f60208284031215612e29575f80fd5b81516110c381612c17565b6001600160801b0382811682821603908082111561202b5761202b612d39565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612ee5828551612e54565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f58575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f7d57612f7d612d39565b505f0390565b6101808101610dc78284612e54565b5f8060408385031215612fa3575f80fd5b825191506020830151612fb581612c46565b809150509250929050565b8082028115828204841417610dc757610dc7612d39565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d39565b634e487b7160e01b5f52604160045260245ffd5b5f805f806080858703121561302b575f80fd5b845193506020850151925060408501519150606085015161304b81612c46565b939692955090935050565b5f60208284031215613066575f80fd5b5051919050565b5f8261307b5761307b612d12565b600160ff1b82145f198414161561309457613094612d39565b500590565b5f602082840312156130a9575f80fd5b81516110c381612c46565b5f82515f5b818110156130d357602081860181015185830152016130b9565b505f92019182525091905056fea26469706673582212206df342c46dc49e7dac9a1099ce50c122d6556780e9ded19b7472f42c2adc276564736f6c63430008160033a2646970667358221220cf2d5b23ebb64c3f7a3b0255b3a637a2a4fd302160b948a06af1566879db7ab364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Errors.ts b/packages/hyperdrive-artifacts/src/Errors.ts new file mode 100644 index 000000000..06af4843d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Errors.ts @@ -0,0 +1,1380 @@ +export const Errors = { + name: 'Errors' as const, + abi: [ + { + "type": "function", + "name": "ACL_ADMIN_CANNOT_BE_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ADDRESSES_PROVIDER_ALREADY_ADDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ADDRESSES_PROVIDER_NOT_REGISTERED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ASSET_NOT_BORROWABLE_IN_ISOLATION", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ASSET_NOT_LISTED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BORROWING_NOT_ENABLED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BORROW_CAP_EXCEEDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE_INVALID", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_MUST_BE_POOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_ATOKEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_BRIDGE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_EMERGENCY_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_POOL_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_POOL_CONFIGURATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_RISK_OR_POOL_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "COLLATERAL_BALANCE_IS_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "COLLATERAL_CANNOT_BE_LIQUIDATED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "COLLATERAL_CANNOT_COVER_NEW_BORROW", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "COLLATERAL_SAME_AS_BORROWING_CURRENCY", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "DEBT_CEILING_EXCEEDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "DEBT_CEILING_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "EMODE_CATEGORY_RESERVED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_DISABLED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_INVALID", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "HEALTH_FACTOR_NOT_BELOW_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INCONSISTENT_EMODE_CATEGORY", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INCONSISTENT_FLASHLOAN_PARAMS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INCONSISTENT_PARAMS_LENGTH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_ADDRESSES_PROVIDER_ID", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_AMOUNT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_BORROW_CAP", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_BURN_AMOUNT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_DEBT_CEILING", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_DECIMALS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_EMODE_CATEGORY", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_EMODE_CATEGORY_ASSIGNMENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_EMODE_CATEGORY_PARAMS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_EXPIRATION", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_FLASHLOAN_EXECUTOR_RETURN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_FREEZE_STATE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_GRACE_PERIOD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_INTEREST_RATE_MODE_SELECTED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_LIQUIDATION_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_LIQ_BONUS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_LIQ_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_LTV", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_MAX_RATE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_MINT_AMOUNT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_OPTIMAL_USAGE_RATIO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_RESERVE_FACTOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_RESERVE_INDEX", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_RESERVE_PARAMS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_SIGNATURE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_SUPPLY_CAP", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "INVALID_UNBACKED_MINT_CAP", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "LTV_VALIDATION_FAILED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NOT_CONTRACT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NOT_ENOUGH_AVAILABLE_USER_BALANCE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NO_DEBT_OF_SELECTED_TYPE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NO_MORE_RESERVES_ALLOWED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NO_OUTSTANDING_STABLE_DEBT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "NO_OUTSTANDING_VARIABLE_DEBT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "OPERATION_NOT_SUPPORTED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "POOL_ADDRESSES_DO_NOT_MATCH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "PRICE_ORACLE_SENTINEL_CHECK_FAILED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_ALREADY_ADDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_ALREADY_INITIALIZED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_DEBT_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_FROZEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_INACTIVE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_LIQUIDITY_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_PAUSED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "SILOED_BORROWING_VIOLATION", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "SLOPE_2_MUST_BE_GTE_SLOPE_1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "STABLE_BORROWING_ENABLED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "STABLE_BORROWING_NOT_ENABLED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "STABLE_DEBT_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "SUPPLY_CAP_EXCEEDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "SUPPLY_TO_ATOKEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNBACKED_MINT_CAP_EXCEEDED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNDERLYING_BALANCE_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNDERLYING_CANNOT_BE_RESCUED", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "USER_IN_ISOLATION_MODE_OR_LTV_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "VARIABLE_DEBT_SUPPLY_NOT_ZERO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "WITHDRAW_TO_ATOKEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ZERO_ADDRESS_NOT_VALID", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x611293610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061055e575f3560e01c80638aa3ca4c116102ca578063c08a114611610191578063de24948c116100fa578063f10727db116100b4578063f9b6e9a11161008f578063f9b6e9a11461118d578063fa163a83146111ae578063fae82791146111cf578063fd1828ff146111f0575f80fd5b8063f10727db1461112a578063f18206521461114b578063f479ea111461116c575f80fd5b8063de24948c14611065578063e02f07ee14611086578063e3fa20f5146110a6578063e4dd8b74146110c7578063e981483a146110e8578063f07f678514611109575f80fd5b8063d6f9fcde1161014b578063d6f9fcde14610f9f578063d9adda8514610fc0578063db3e2c5414610fe1578063dc191bd914611002578063dcc56db614611023578063dd1dd95f14611044575f80fd5b8063c08a114614610ed9578063c863808214610efa578063c899301a14610f1b578063cd23367c14610f3c578063d14bb17a14610f5d578063d1cd8b1d14610f7e575f80fd5b8063a4868dca11610233578063b4a45730116101ed578063b4a4573014610e14578063b5e7936614610e35578063b68774e914610e55578063b7f5e22414610e76578063b87041c214610e97578063bad8308c14610eb8575f80fd5b8063a4868dca14610d4f578063a8c9785314610d70578063ab883ca014610d91578063abd351b114610db2578063ac75323614610dd3578063b051005414610df3575f80fd5b8063952633c511610284578063952633c514610c895780639527e9d914610caa57806399ce53f314610ccb578063a2797c8014610cec578063a2e976c614610d0d578063a3402a3814610d2e575f80fd5b80638aa3ca4c14610bc35780638b8b98d714610be45780638e83874814610c055780638eda46bd14610c265780638f7722b214610c4757806394f9fd8a14610c68575f80fd5b80634e01e3c1116104285780636b3f7cc71161039157806376ae8fca1161034b5780638596aad5116103265780638596aad514610b3f578063895f7dc814610b6057806389c5d45f14610b815780638a34400014610ba2575f80fd5b806376ae8fca14610adc5780637aa0767e14610afd5780637fea6f3614610b1e575f80fd5b80636b3f7cc714610a165780636cd3cfbc14610a37578063712f536a14610a5857806373dea5e314610a7957806374459b1414610a9a578063747fa55614610abb575f80fd5b80635d9c76c0116103e25780635d9c76c01461095157806360c3de80146109725780636177a9321461099257806361c111d2146109b357806365a83bab146109d457806365e7ef4c146109f5575f80fd5b80634e01e3c11461088c5780634e3aed37146108ad5780634ef999ff146108ce5780634f77647b146108ef578063512674501461090f57806352ba9dbe14610930575f80fd5b80632c8e3b4c116104ca578063471df68511610484578063471df685146107c757806347ba93d8146107e857806347cf152314610809578063480702ae1461082a578063485c8ff61461084b5780634d86f3931461086b575f80fd5b80632c8e3b4c146107025780632eed17e814610722578063335763de14610743578063366eb54d1461076457806337930782146107855780634105ab65146107a6575f80fd5b8063227602451161051b578063227602451461063d57806322a734461461065e578063231ec1411461067f57806326bbd053146106a057806326e7b312146106c15780632926c971146106e1575f80fd5b8063084dfa0d1461056257806311d7b0061461059957806312dcade8146105b957806314dcfbbc146105da578063198d6a6b146105fb5780631abbb0011461061c575b5f80fd5b61058360405180604001604052806002815260200161062760f31b81525081565b6040516105909190611211565b60405180910390f35b610583604051806040016040528060018152602001603960f81b81525081565b610583604051806040016040528060028152602001610c4d60f21b81525081565b610583604051806040016040528060028152602001611c1b60f11b81525081565b61058360405180604001604052806002815260200161070760f31b81525081565b61058360405180604001604052806002815260200161383760f01b81525081565b61058360405180604001604052806002815260200161393960f01b81525081565b61058360405180604001604052806002815260200161343760f01b81525081565b610583604051806040016040528060028152602001610e4d60f21b81525081565b61058360405180604001604052806002815260200161363960f01b81525081565b610583604051806040016040528060018152602001603360f81b81525081565b610583604051806040016040528060028152602001610d0d60f21b81525081565b610583604051806040016040528060018152602001603560f81b81525081565b61058360405180604001604052806002815260200161035360f41b81525081565b61058360405180604001604052806002815260200161032360f41b81525081565b61058360405180604001604052806002815260200161333560f01b81525081565b61058360405180604001604052806002815260200161189960f11b81525081565b61058360405180604001604052806002815260200161072760f31b81525081565b61058360405180604001604052806002815260200161323360f01b81525081565b610583604051806040016040528060028152602001611b9960f11b81525081565b61058360405180604001604052806002815260200161323160f01b81525081565b610583604051806040016040528060028152602001611b1960f11b81525081565b610583604051806040016040528060018152602001601960f91b81525081565b61058360405180604001604052806002815260200161333160f01b81525081565b610583604051806040016040528060028152602001610ccd60f21b81525081565b61058360405180604001604052806002815260200161383360f01b81525081565b61058360405180604001604052806002815260200161033360f41b81525081565b610583604051806040016040528060018152602001601b60f91b81525081565b61058360405180604001604052806002815260200161323560f01b81525081565b61058360405180604001604052806002815260200161323760f01b81525081565b61058360405180604001604052806002815260200161313760f01b81525081565b610583604051806040016040528060018152602001600760fb1b81525081565b61058360405180604001604052806002815260200161393360f01b81525081565b61058360405180604001604052806002815260200161031360f41b81525081565b61058360405180604001604052806002815260200161353360f01b81525081565b61058360405180604001604052806002815260200161353560f01b81525081565b610583604051806040016040528060028152602001611a9960f11b81525081565b61058360405180604001604052806002815260200161064760f31b81525081565b61058360405180604001604052806002815260200161034360f41b81525081565b61058360405180604001604052806002815260200161343960f01b81525081565b61058360405180604001604052806002815260200161343160f01b81525081565b61058360405180604001604052806002815260200161313960f01b81525081565b61058360405180604001604052806002815260200161313560f01b81525081565b61058360405180604001604052806002815260200161191960f11b81525081565b61058360405180604001604052806002815260200161313360f01b81525081565b61058360405180604001604052806002815260200161036360f41b81525081565b610583604051806040016040528060028152602001611a1b60f11b81525081565b61058360405180604001604052806002815260200161333360f01b81525081565b61058360405180604001604052806002815260200161333760f01b81525081565b61058360405180604001604052806002815260200161393160f01b81525081565b61058360405180604001604052806002815260200161038360f41b81525081565b610583604051806040016040528060028152602001611c9b60f11b81525081565b61058360405180604001604052806002815260200161037360f41b81525081565b6105836040518060400160405280600281526020016106a760f31b81525081565b610583604051806040016040528060028152602001610d4d60f21b81525081565b61058360405180604001604052806002815260200161343560f01b81525081565b61058360405180604001604052806002815260200161363560f01b81525081565b61058360405180604001604052806002815260200161363360f01b81525081565b61058360405180604001604052806002815260200161343360f01b81525081565b61058360405180604001604052806002815260200161313160f01b81525081565b61058360405180604001604052806002815260200161373960f01b81525081565b61058360405180604001604052806002815260200161363760f01b81525081565b61058360405180604001604052806002815260200161373160f01b81525081565b61058360405180604001604052806002815260200161383560f01b81525081565b610583604051806040016040528060028152602001610c8d60f21b81525081565b610583604051806040016040528060018152602001603160f81b81525081565b61058360405180604001604052806002815260200161353160f01b81525081565b610583604051806040016040528060028152602001611a1960f11b81525081565b610583604051806040016040528060018152602001600d60fa1b81525081565b61058360405180604001604052806002815260200161323960f01b81525081565b61058360405180604001604052806002815260200161199960f11b81525081565b61058360405180604001604052806002815260200161353760f01b81525081565b610583604051806040016040528060028152602001611b9b60f11b81525081565b6105836040518060400160405280600281526020016106e760f31b81525081565b61058360405180604001604052806002815260200161353960f01b81525081565b610583604051806040016040528060028152602001610e0d60f21b81525081565b610583604051806040016040528060028152602001611c1960f11b81525081565b61058360405180604001604052806002815260200161373760f01b81525081565b610583604051806040016040528060028152602001610dcd60f21b81525081565b6105836040518060400160405280600281526020016106c760f31b81525081565b61058360405180604001604052806002815260200161363160f01b81525081565b61058360405180604001604052806002815260200161393560f01b81525081565b61058360405180604001604052806002815260200161333960f01b81525081565b61058360405180604001604052806002815260200161373360f01b81525081565b610583604051806040016040528060028152602001610d8d60f21b81525081565b61058360405180604001604052806002815260200161383960f01b81525081565b610583604051806040016040528060018152602001603760f81b81525081565b61058360405180604001604052806002815260200161199b60f11b81525081565b61058360405180604001604052806002815260200161383160f01b81525081565b61058360405180604001604052806002815260200161039360f41b81525081565b61058360405180604001604052806002815260200161066760f31b81525081565b610583604051806040016040528060028152602001611a9b60f11b81525081565b61058360405180604001604052806002815260200161393760f01b81525081565b61058360405180604001604052806002815260200161189b60f11b81525081565b610583604051806040016040528060028152602001611c9960f11b81525081565b610583604051806040016040528060028152602001611b1b60f11b81525081565b61058360405180604001604052806002815260200161191b60f11b81525081565b61058360405180604001604052806002815260200161373560f01b81525081565b5f602080835283518060208501525f5b8181101561123d57858101830151858201604001528201611221565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220277e106deea35701f26fbbedb8f798ae0af618897570241f2a4cd24dc0c951aa64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "ACL_ADMIN_CANNOT_BE_ZERO()": "fd1828ff", + "ADDRESSES_PROVIDER_ALREADY_ADDED()": "14dcfbbc", + "ADDRESSES_PROVIDER_NOT_REGISTERED()": "e02f07ee", + "AMOUNT_BIGGER_THAN_MAX_LOAN_SIZE_STABLE()": "f07f6785", + "ASSET_NOT_BORROWABLE_IN_ISOLATION()": "8596aad5", + "ASSET_NOT_LISTED()": "cd23367c", + "BORROWING_NOT_ENABLED()": "4ef999ff", + "BORROW_CAP_EXCEEDED()": "2eed17e8", + "BRIDGE_PROTOCOL_FEE_INVALID()": "7aa0767e", + "CALLER_MUST_BE_POOL()": "471df685", + "CALLER_NOT_ASSET_LISTING_OR_POOL_ADMIN()": "2c8e3b4c", + "CALLER_NOT_ATOKEN()": "a2e976c6", + "CALLER_NOT_BRIDGE()": "4f77647b", + "CALLER_NOT_EMERGENCY_ADMIN()": "485c8ff6", + "CALLER_NOT_POOL_ADMIN()": "ac753236", + "CALLER_NOT_POOL_CONFIGURATOR()": "61c111d2", + "CALLER_NOT_POOL_OR_EMERGENCY_ADMIN()": "26e7b312", + "CALLER_NOT_RISK_OR_POOL_ADMIN()": "b5e79366", + "CALLER_NOT_RISK_OR_POOL_OR_EMERGENCY_ADMIN()": "8e838748", + "COLLATERAL_BALANCE_IS_ZERO()": "4e01e3c1", + "COLLATERAL_CANNOT_BE_LIQUIDATED()": "895f7dc8", + "COLLATERAL_CANNOT_COVER_NEW_BORROW()": "e3fa20f5", + "COLLATERAL_SAME_AS_BORROWING_CURRENCY()": "8a344000", + "DEBT_CEILING_EXCEEDED()": "65a83bab", + "DEBT_CEILING_NOT_ZERO()": "e4dd8b74", + "EMODE_CATEGORY_RESERVED()": "f479ea11", + "FLASHLOAN_DISABLED()": "8aa3ca4c", + "FLASHLOAN_PREMIUM_INVALID()": "747fa556", + "HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD()": "366eb54d", + "HEALTH_FACTOR_NOT_BELOW_THRESHOLD()": "952633c5", + "INCONSISTENT_EMODE_CATEGORY()": "8f7722b2", + "INCONSISTENT_FLASHLOAN_PARAMS()": "73dea5e3", + "INCONSISTENT_PARAMS_LENGTH()": "bad8308c", + "INTEREST_RATE_REBALANCE_CONDITIONS_NOT_MET()": "2926c971", + "INVALID_ADDRESSES_PROVIDER()": "37930782", + "INVALID_ADDRESSES_PROVIDER_ID()": "60c3de80", + "INVALID_AMOUNT()": "fae82791", + "INVALID_BORROW_CAP()": "d6f9fcde", + "INVALID_BURN_AMOUNT()": "51267450", + "INVALID_DEBT_CEILING()": "dcc56db6", + "INVALID_DECIMALS()": "fa163a83", + "INVALID_EMODE_CATEGORY()": "a8c97853", + "INVALID_EMODE_CATEGORY_ASSIGNMENT()": "5d9c76c0", + "INVALID_EMODE_CATEGORY_PARAMS()": "47cf1523", + "INVALID_EXPIRATION()": "c08a1146", + "INVALID_FLASHLOAN_EXECUTOR_RETURN()": "7fea6f36", + "INVALID_FREEZE_STATE()": "22760245", + "INVALID_GRACE_PERIOD()": "4105ab65", + "INVALID_INTEREST_RATE_MODE_SELECTED()": "89c5d45f", + "INVALID_LIQUIDATION_PROTOCOL_FEE()": "8eda46bd", + "INVALID_LIQ_BONUS()": "9527e9d9", + "INVALID_LIQ_THRESHOLD()": "dd1dd95f", + "INVALID_LTV()": "99ce53f3", + "INVALID_MAX_RATE()": "f9b6e9a1", + "INVALID_MINT_AMOUNT()": "abd351b1", + "INVALID_OPTIMAL_STABLE_TO_TOTAL_DEBT_RATIO()": "c899301a", + "INVALID_OPTIMAL_USAGE_RATIO()": "4e3aed37", + "INVALID_RESERVE_FACTOR()": "a4868dca", + "INVALID_RESERVE_INDEX()": "d1cd8b1d", + "INVALID_RESERVE_PARAMS()": "335763de", + "INVALID_SIGNATURE()": "a3402a38", + "INVALID_SUPPLY_CAP()": "26bbd053", + "INVALID_UNBACKED_MINT_CAP()": "47ba93d8", + "LIQUIDATION_GRACE_SENTINEL_CHECK_FAILED()": "f1820652", + "LTV_VALIDATION_FAILED()": "b87041c2", + "NOT_CONTRACT()": "11d7b006", + "NOT_ENOUGH_AVAILABLE_USER_BALANCE()": "b7f5e224", + "NO_DEBT_OF_SELECTED_TYPE()": "dc191bd9", + "NO_EXPLICIT_AMOUNT_TO_REPAY_ON_BEHALF()": "712f536a", + "NO_MORE_RESERVES_ALLOWED()": "76ae8fca", + "NO_OUTSTANDING_STABLE_DEBT()": "74459b14", + "NO_OUTSTANDING_VARIABLE_DEBT()": "b4a45730", + "OPERATION_NOT_SUPPORTED()": "8b8b98d7", + "POOL_ADDRESSES_DO_NOT_MATCH()": "1abbb001", + "PRICE_ORACLE_SENTINEL_CHECK_FAILED()": "c8638082", + "RESERVE_ALREADY_ADDED()": "12dcade8", + "RESERVE_ALREADY_INITIALIZED()": "d9adda85", + "RESERVE_DEBT_NOT_ZERO()": "e981483a", + "RESERVE_FROZEN()": "6cd3cfbc", + "RESERVE_INACTIVE()": "52ba9dbe", + "RESERVE_LIQUIDITY_NOT_ZERO()": "084dfa0d", + "RESERVE_PAUSED()": "b68774e9", + "SILOED_BORROWING_VIOLATION()": "de24948c", + "SLOPE_2_MUST_BE_GTE_SLOPE_1()": "db3e2c54", + "SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER()": "22a73446", + "STABLE_BORROWING_ENABLED()": "198d6a6b", + "STABLE_BORROWING_NOT_ENABLED()": "4d86f393", + "STABLE_DEBT_NOT_ZERO()": "65e7ef4c", + "SUPPLY_CAP_EXCEEDED()": "b0510054", + "SUPPLY_TO_ATOKEN()": "231ec141", + "UNBACKED_MINT_CAP_EXCEEDED()": "6b3f7cc7", + "UNDERLYING_BALANCE_ZERO()": "a2797c80", + "UNDERLYING_CANNOT_BE_RESCUED()": "ab883ca0", + "UNDERLYING_CLAIMABLE_RIGHTS_NOT_ZERO()": "94f9fd8a", + "USER_IN_ISOLATION_MODE_OR_LTV_ZERO()": "480702ae", + "VARIABLE_DEBT_SUPPLY_NOT_ZERO()": "f10727db", + "WITHDRAW_TO_ATOKEN()": "6177a932", + "ZERO_ADDRESS_NOT_VALID()": "d14bb17a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ErrorsLib.ts b/packages/hyperdrive-artifacts/src/ErrorsLib.ts new file mode 100644 index 000000000..c9951b1de --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ErrorsLib.ts @@ -0,0 +1,6 @@ +export const ErrorsLib = { + name: 'ErrorsLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c9cc56cd8ceefe4fe028ddf9f165d958af3b63952c40726213beb3e92239b66364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EtchingUtils.ts b/packages/hyperdrive-artifacts/src/EtchingUtils.ts new file mode 100644 index 000000000..815db53f8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EtchingUtils.ts @@ -0,0 +1,562 @@ +export const EtchingUtils = { + name: 'EtchingUtils' as const, + abi: [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "excludeArtifacts", + "inputs": [], + "outputs": [ + { + "name": "excludedArtifacts_", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "excludeContracts", + "inputs": [], + "outputs": [ + { + "name": "excludedContracts_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "excludeSenders", + "inputs": [], + "outputs": [ + { + "name": "excludedSenders_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetArtifactSelectors", + "inputs": [], + "outputs": [ + { + "name": "targetedArtifactSelectors_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzSelector[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "selectors", + "type": "bytes4[]", + "internalType": "bytes4[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetArtifacts", + "inputs": [], + "outputs": [ + { + "name": "targetedArtifacts_", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetContracts", + "inputs": [], + "outputs": [ + { + "name": "targetedContracts_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetInterfaces", + "inputs": [], + "outputs": [ + { + "name": "targetedInterfaces_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzInterface[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "artifacts", + "type": "string[]", + "internalType": "string[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetSelectors", + "inputs": [], + "outputs": [ + { + "name": "targetedSelectors_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzSelector[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "selectors", + "type": "bytes4[]", + "internalType": "bytes4[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetSenders", + "inputs": [], + "outputs": [ + { + "name": "targetedSenders_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002c575f80fd5b50610af38061003a5f395ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c806385226c811161006e57806385226c8114610102578063916a17c614610117578063b5508aa91461011f578063ba414fa614610127578063e20c9f711461013f578063fa7626d414610147575f80fd5b80631ed7831c146100aa5780632ade3880146100c85780633e5e3c23146100dd5780633f7286f4146100e557806366d9a9a0146100ed575b5f80fd5b6100b2610154565b6040516100bf9190610802565b60405180910390f35b6100d06101b4565b6040516100bf919061084e565b6100b26102f0565b6100b261034e565b6100f56103ac565b6040516100bf919061093e565b61010a61048d565b6040516100bf91906109e1565b6100f5610558565b61010a610639565b61012f610704565b60405190151581526020016100bf565b6100b26107a4565b601e5461012f9060ff1681565b606060168054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161018c575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f84815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156102d0578382905f5260205f2001805461024590610a6e565b80601f016020809104026020016040519081016040528092919081815260200182805461027190610a6e565b80156102bc5780601f10610293576101008083540402835291602001916102bc565b820191905f5260205f20905b81548152906001019060200180831161029f57829003601f168201915b505050505081526020019060010190610228565b5050505081525050815260200190600101906101d7565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561047557602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116104375790505b505050505081525050815260200190600101906103cf565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156102e7578382905f5260205f200180546104cd90610a6e565b80601f01602080910402602001604051908101604052809291908181526020018280546104f990610a6e565b80156105445780601f1061051b57610100808354040283529160200191610544565b820191905f5260205f20905b81548152906001019060200180831161052757829003601f168201915b5050505050815260200190600101906104b0565b6060601c805480602002602001604051908101604052809291908181526020015f905b828210156102e7575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561062157602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105e35790505b5050505050815250508152602001906001019061057b565b60606019805480602002602001604051908101604052809291908181526020015f905b828210156102e7578382905f5260205f2001805461067990610a6e565b80601f01602080910402602001604051908101604052809291908181526020018280546106a590610a6e565b80156106f05780601f106106c7576101008083540402835291602001916106f0565b820191905f5260205f20905b8154815290600101906020018083116106d357829003601f168201915b50505050508152602001906001019061065c565b6008545f9060ff161561071b575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b60248301525f9163667f9d7090604401602060405180830381865afa158015610779573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079d9190610aa6565b1415905090565b606060158054806020026020016040519081016040528092919081815260200182805480156101aa57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161018c575050505050905090565b602080825282518282018190525f9190848201906040850190845b818110156108425783516001600160a01b03168352928401929184019160010161081d565b50909695505050505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b8381101561093057603f19898403018552815180516001600160a01b031684528701518784018790528051878501819052908801906060600582901b8601810191908601905f5b8181101561091a57878403605f19018352845180518086525f5b818110156108f4578e81840101518f82890101528e810190506108d6565b505f8682018f0152958d0195601f01601f19169094018c019350918b01916001016108bc565b5050509588019593505090860190600101610875565b509098975050505050505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b8381101561093057888303603f19018552815180516001600160a01b031684528701518784018790528051878501819052908801905f9060608601905b808310156109cc5783516001600160e01b0319168252928a019260019290920191908a01906109a2565b50968901969450505090860190600101610965565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b82811015610a6157878503603f19018452815180518087525f5b81811015610a3b578281018901518882018a01528801610a20565b505f878201890152601f01601f1916909501860194509285019290850190600101610a06565b5092979650505050505050565b600181811c90821680610a8257607f821691505b602082108103610aa057634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215610ab6575f80fd5b505191905056fea2646970667358221220f8e3f1e78d3a92b702c3b4390e0a0517b53bdb574b48e718842dcde2e095e5e564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "IS_TEST()": "fa7626d4", + "excludeArtifacts()": "b5508aa9", + "excludeContracts()": "e20c9f71", + "excludeSenders()": "1ed7831c", + "failed()": "ba414fa6", + "targetArtifactSelectors()": "66d9a9a0", + "targetArtifacts()": "85226c81", + "targetContracts()": "3f7286f4", + "targetInterfaces()": "2ade3880", + "targetSelectors()": "916a17c6", + "targetSenders()": "3e5e3c23" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EtchingVault.ts b/packages/hyperdrive-artifacts/src/EtchingVault.ts new file mode 100644 index 000000000..736690e09 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EtchingVault.ts @@ -0,0 +1,58 @@ +export const EtchingVault = { + name: 'EtchingVault' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_baseToken_", + "type": "address", + "internalType": "address" + }, + { + "name": "_vaultSharePrice_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60c060405234801561000f575f80fd5b5060405161019138038061019183398101604081905261002e91610044565b6001600160a01b0390911660805260a05261007b565b5f8060408385031215610055575f80fd5b82516001600160a01b038116811461006b575f80fd5b6020939093015192949293505050565b60805160a05160f96100985f395f604201525f6084015260f95ff3fe6080604052348015600e575f80fd5b50600436106030575f3560e01c806307a2d13a14603457806338d52e0f146077575b5f80fd5b6064603f36600460ad565b507f000000000000000000000000000000000000000000000000000000000000000090565b6040519081526020015b60405180910390f35b6040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001606e565b5f6020828403121560bc575f80fd5b503591905056fea264697066735822122096e50bd5dc98c6d2bcb55b4e1b306bf05c1561d1057b9b404154025d00a265f464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "asset()": "38d52e0f", + "convertToAssets(uint256)": "07a2d13a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ExcessivelySafeCall.ts b/packages/hyperdrive-artifacts/src/ExcessivelySafeCall.ts new file mode 100644 index 000000000..0f5eebef5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ExcessivelySafeCall.ts @@ -0,0 +1,6 @@ +export const ExcessivelySafeCall = { + name: 'ExcessivelySafeCall' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212201e07a5e84cfc83e73639cab8548c1a55ca605d8a07d8c3d3a38cad377301094f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHBase.ts b/packages/hyperdrive-artifacts/src/EzETHBase.ts new file mode 100644 index 000000000..d174af5e2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHBase.ts @@ -0,0 +1,657 @@ +export const EzETHBase = { + name: 'EzETHBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHConversions.ts b/packages/hyperdrive-artifacts/src/EzETHConversions.ts new file mode 100644 index 000000000..fa7d7b2f3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHConversions.ts @@ -0,0 +1,6 @@ +export const EzETHConversions = { + name: 'EzETHConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a2221d2867c29648bcbb93a06ec06af7d6f25879110496b212e45ec5eb2f99a564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/EzETHHyperdrive.ts new file mode 100644 index 000000000..cd1b13dcc --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHHyperdrive.ts @@ -0,0 +1,1671 @@ +export const EzETHHyperdrive = { + name: 'EzETHHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61036060405234801562000011575f80fd5b50604051620017ee380380620017ee8339810160408190526200003491620003c5565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000597565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284166103208190526040805163224a19a960e21b8152905191945063892866a4935060048082019350602092918290030181865afa1580156200016b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000191919062000663565b6001600160a01b031661034052506200068898505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620001e957620001e9620001af565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200021a576200021a620001af565b604052919050565b6001600160a01b038116811462000237575f80fd5b50565b8051620002478162000222565b919050565b5f608082840312156200025d575f80fd5b604051608081016001600160401b0381118282101715620002825762000282620001af565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002c5575f80fd5b620002cf620001c3565b9050620002dc826200023a565b8152620002ec602083016200023a565b6020820152620002ff604083016200023a565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200036a8184016200023a565b908201526101806200037e8382016200023a565b908201526101a0620003928382016200023a565b908201526101c0620003a68382016200023a565b908201526101e0620003bb848483016200024c565b9082015292915050565b5f805f805f805f805f6103608a8c031215620003df575f80fd5b89516001600160401b0380821115620003f6575f80fd5b818c0191508c601f8301126200040a575f80fd5b8151818111156200041f576200041f620001af565b6020915062000437601f8201601f19168301620001ef565b8181528e838386010111156200044b575f80fd5b5f5b828110156200046a5784810184015182820185015283016200044d565b505f838383010152809c505050620004858d828e01620002b3565b99505050620004986102808b016200023a565b9650620004a96102a08b016200023a565b9550620004ba6102c08b016200023a565b9450620004cb6102e08b016200023a565b9350620004dc6103008b016200023a565b9250620004ed6103208b016200023a565b9150620004fe6103408b016200023a565b90509295985092959850929598565b600181811c908216806200052257607f821691505b6020821081036200054157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200059257805f5260205f20601f840160051c810160208510156200056e5750805b601f840160051c820191505b818110156200058f575f81556001016200057a565b50505b505050565b81516001600160401b03811115620005b357620005b3620001af565b620005cb81620005c484546200050d565b8462000547565b602080601f83116001811462000601575f8415620005e95750858301515b5f19600386901b1c1916600185901b1785556200065b565b5f85815260208120601f198616915b82811015620006315788860151825594840194600190910190840162000610565b50858210156200064f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000674575f80fd5b8151620006818162000222565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007ad5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a2a818db7b6181468bf437645441eac8dca3ddae76628169d283dc2151e7096264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/EzETHHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..8c8f76458 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHHyperdriveCoreDeployer.ts @@ -0,0 +1,202 @@ +export const EzETHHyperdriveCoreDeployer = { + name: 'EzETHHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b50604051611f52380380611f5283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611ec96100895f395f81816075015260ce0152611ec95ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c80638cc23ce0146200003c578063ff0996b5146200006f575b5f80fd5b620000536200004d366004620003b6565b62000097565b6040516001600160a01b03909116815260200160405180910390f35b620000537f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b7f0000000000000000000000000000000000000000000000000000000000000000604051620000fb9062000140565b6200010f99989796959493929190620005ce565b8190604051809103905ff59050801580156200012d573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b6117ee80620006a683390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200018957620001896200014e565b60405290565b5f82601f8301126200019f575f80fd5b813567ffffffffffffffff80821115620001bd57620001bd6200014e565b604051601f8301601f19908116603f01168101908282118183101715620001e857620001e86200014e565b8160405283815286602085880101111562000201575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b038116811462000237575f80fd5b919050565b5f608082840312156200024d575f80fd5b6040516080810181811067ffffffffffffffff821117156200027357620002736200014e565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002b6575f80fd5b620002c062000162565b9050620002cd8262000220565b8152620002dd6020830162000220565b6020820152620002f06040830162000220565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035b81840162000220565b908201526101806200036f83820162000220565b908201526101a06200038383820162000220565b908201526101c06200039783820162000220565b908201526101e0620003ac848483016200023c565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003d1575f80fd5b8a3567ffffffffffffffff80821115620003e9575f80fd5b620003f78e838f016200018f565b9b50620004088e60208f01620002a4565b9a50620004196102808e0162000220565b99506102a08d013591508082111562000430575f80fd5b506200043f8d828e016200018f565b975050620004516102c08c0162000220565b9550620004626102e08c0162000220565b9450620004736103008c0162000220565b9350620004846103208c0162000220565b9250620004956103408c0162000220565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004d660208401826001600160a01b03169052565b506040810151620004f260408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015162000565828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b8082101562000604576020828e0101516103808386010152602082019150620005e0565b61038091505f82828601015281601f19601f830116850101925050506200062f602083018b620004ae565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200013256fe61036060405234801562000011575f80fd5b50604051620017ee380380620017ee8339810160408190526200003491620003c5565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000597565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284166103208190526040805163224a19a960e21b8152905191945063892866a4935060048082019350602092918290030181865afa1580156200016b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000191919062000663565b6001600160a01b031661034052506200068898505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620001e957620001e9620001af565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200021a576200021a620001af565b604052919050565b6001600160a01b038116811462000237575f80fd5b50565b8051620002478162000222565b919050565b5f608082840312156200025d575f80fd5b604051608081016001600160401b0381118282101715620002825762000282620001af565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620002c5575f80fd5b620002cf620001c3565b9050620002dc826200023a565b8152620002ec602083016200023a565b6020820152620002ff604083016200023a565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200036a8184016200023a565b908201526101806200037e8382016200023a565b908201526101a0620003928382016200023a565b908201526101c0620003a68382016200023a565b908201526101e0620003bb848483016200024c565b9082015292915050565b5f805f805f805f805f6103608a8c031215620003df575f80fd5b89516001600160401b0380821115620003f6575f80fd5b818c0191508c601f8301126200040a575f80fd5b8151818111156200041f576200041f620001af565b6020915062000437601f8201601f19168301620001ef565b8181528e838386010111156200044b575f80fd5b5f5b828110156200046a5784810184015182820185015283016200044d565b505f838383010152809c505050620004858d828e01620002b3565b99505050620004986102808b016200023a565b9650620004a96102a08b016200023a565b9550620004ba6102c08b016200023a565b9450620004cb6102e08b016200023a565b9350620004dc6103008b016200023a565b9250620004ed6103208b016200023a565b9150620004fe6103408b016200023a565b90509295985092959850929598565b600181811c908216806200052257607f821691505b6020821081036200054157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200059257805f5260205f20601f840160051c810160208510156200056e5750805b601f840160051c820191505b818110156200058f575f81556001016200057a565b50505b505050565b81516001600160401b03811115620005b357620005b3620001af565b620005cb81620005c484546200050d565b8462000547565b602080601f83116001811462000601575f8415620005e95750858301515b5f19600386901b1c1916600185901b1785556200065b565b5f85815260208120601f198616915b82811015620006315788860151825594840194600190910190840162000610565b50858210156200064f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000674575f80fd5b8151620006818162000222565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516103205161034051611041620007ad5f395f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220a2a818db7b6181468bf437645441eac8dca3ddae76628169d283dc2151e7096264736f6c63430008160033a2646970667358221220710b355c8d17e3c6a99473b8cceee8e31a0be2c3ad016c28dfd1368d3e21367964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/EzETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..8ff950d78 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,880 @@ +export const EzETHHyperdriveDeployerCoordinator = { + name: 'EzETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_renzoOracle", + "type": "address", + "internalType": "contract IRenzoOracle" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + }, + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_renzoOracle", + "type": "address", + "internalType": "contract IRenzoOracle" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + }, + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ezETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRenzoOracle" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6101c060405234801562000011575f80fd5b5060405162002e0f38038062002e0f8339810160408190526200003491620001c1565b88888888888888885f620000498982620003ab565b506001600160a01b0396871660805294861660a05292851660c05290841660e052831661010052821661012052811661014052821661016081905260408051630274e78f60e31b815290519192506313a73c789160048083019260209291908290030181865afa158015620000c0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000e6919062000477565b6001600160a01b03166101a0816001600160a01b031681525050610160516001600160a01b031663892866a46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000140573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000166919062000477565b6001600160a01b031661018052506200049c975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114620001ac575f80fd5b50565b8051620001bc8162000197565b919050565b5f805f805f805f805f6101208a8c031215620001db575f80fd5b89516001600160401b0380821115620001f2575f80fd5b818c0191508c601f83011262000206575f80fd5b8151818111156200021b576200021b62000183565b604051601f8201601f19908116603f0116810190838211818310171562000246576200024662000183565b81604052828152602093508f8484870101111562000262575f80fd5b5f91505b8282101562000285578482018401518183018501529083019062000266565b5f848483010152809d505050506200029f818d01620001af565b99505050620002b160408b01620001af565b9650620002c160608b01620001af565b9550620002d160808b01620001af565b9450620002e160a08b01620001af565b9350620002f160c08b01620001af565b92506200030160e08b01620001af565b9150620003126101008b01620001af565b90509295985092959850929598565b600181811c908216806200033657607f821691505b6020821081036200035557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003a657805f5260205f20601f840160051c81016020851015620003825750805b601f840160051c820191505b81811015620003a3575f81556001016200038e565b50505b505050565b81516001600160401b03811115620003c757620003c762000183565b620003df81620003d8845462000321565b846200035b565b602080601f83116001811462000415575f8415620003fd5750858301515b5f19600386901b1c1916600185901b1785556200046f565b5f85815260208120601f198616915b82811015620004455788860151825594840194600190910190840162000424565b50858210156200046357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000488575f80fd5b8151620004958162000197565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051612877620005985f395f818161019b0152818161145a0152818161148f015261161101525f818161034301526116c501525f818161052c01526116e601525f81816103760152610e3101525f81816103dc0152610cfe01525f81816104420152610bcb01525f81816103a90152610a9801525f818161040f015261088f01525f81816104c7015261118001525f818161049401528181610617015281816107b8015281816108bf01528181610ac801528181610bfb01528181610d2e01528181610e6101528181610f5401526111b101526128775ff3fe60806040526004361061011b575f3560e01c8063a085fa301161009d578063c45a015511610062578063c45a015514610483578063c83e1f51146104b6578063e990eba8146104e9578063e99be39614610508578063ff0996b51461051b575f80fd5b8063a085fa3014610398578063aa8cd6c4146103cb578063ab71905f146103fe578063b6cb111814610431578063c151061814610464575f80fd5b806337404017116100e357806337404017146101e85780635111bea2146102e457806354fd4d5014610303578063892866a414610332578063966ecd1c14610365575f80fd5b806304baa00b1461011f57806306fdde0314610149578063079554e71461015d57806313a73c781461018a57806316abfc70146101d5575b5f80fd5b34801561012a575f80fd5b5061013361054e565b6040516101409190611d2f565b60405180910390f35b348015610154575f80fd5b5061013361056a565b348015610168575f80fd5b5061017c610177366004611d65565b6105f5565b604051908152602001610140565b348015610195575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610140565b61017c6101e3366004611ec5565b61060b565b3480156101f3575f80fd5b506102d7610202366004611f83565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b6040516101409190611f9a565b3480156102ef575f80fd5b5061017c6102fe366004611d65565b61079f565b34801561030e575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610133565b34801561033d575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610370575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a3575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d6575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610409575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561043c575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046f575f80fd5b506101bd61047e36600461216e565b6107ac565b34801561048e575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c1575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f4575f80fd5b506101bd6105033660046121d7565b610f48565b348015610513575f80fd5b50600561017c565b348015610526575f80fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040518060600160405280602281526020016128206022913981565b5f805461057690612271565b80601f01602080910402602001604051908101604052809291908181526020018280546105a290612271565b80156105ed5780601f106105c4576101008083540402835291602001916105ed565b820191905f5260205f20905b8154815290600101906020018083116105d057829003601f168201915b505050505081565b5f610602858585856112bb565b95945050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461065557604051634084351160e01b815260040160405180910390fd5b61065d611408565b5f868152600160205260409020600301546001600160a01b0316806106955760405163952b05cb60e01b815260040160405180910390fd5b5f6106a282888887611429565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106d5939291906122a9565b60206040518083038185885af11580156106f1573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061071691906122f8565b92505f610723823461230f565b90508015610793576040515f90339083908381818185875af1925050503d805f811461076a576040519150601f19603f3d011682016040523d82523d5f602084013e61076f565b606091505b5050905080610791576040516312171d8360e31b815260040160405180910390fd5b505b50505095945050505050565b5f610602858585856114c0565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107f657604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036109a65780541561082b57604051633be1b34d60e11b815260040160405180910390fd5b61083586866115c7565b5f61084087876116bf565b90505f87604051602001610854919061232e565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108818a611721565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108fb929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016109309493929190612561565b6020604051808303815f875af115801561094c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097091906125a6565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b0383161790559050610602565b5f87815260016020526040902054806109d25760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109e4919061232e565b6040516020818303038152906040528051906020012014610a185760405163332ee11f60e01b815260040160405180910390fd5b60018201548651602088012014610a4257604051631a3272d160e31b815260040160405180910390fd5b610a4c87876115c7565b5f610a5688611721565b6002840154608082015290506001869003610b965760058301546001600160a01b031615610a965760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610afd939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b329493929190612561565b6020604051808303815f875af1158015610b4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7291906125a6565b6005840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600203610cc95760068301546001600160a01b031615610bc95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c30939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c659493929190612561565b6020604051808303815f875af1158015610c81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca591906125a6565b6006840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600303610dfc5760078301546001600160a01b031615610cfc5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d63939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d989493929190612561565b6020604051808303815f875af1158015610db4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd891906125a6565b6007840180546001600160a01b0319166001600160a01b0383161790559350610793565b85600403610f2f5760088301546001600160a01b031615610e2f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e96939291906125c1565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ecb9493929190612561565b6020604051808303815f875af1158015610ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0b91906125a6565b6008840180546001600160a01b0319166001600160a01b0383161790559350610793565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f9257604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561103a57604051632c95caeb60e01b815260040160405180910390fd5b80516110595760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b0316158061107e575060a08101516001600160a01b0316155b80611094575060c08101516001600160a01b0316155b806110aa575060e08101516001600160a01b0316155b806110c157506101008101516001600160a01b0316155b156110df5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110f290879060200161232e565b60405160208183030381529060405280519060200120146111265760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461115157604051631a3272d160e31b815260040160405180910390fd5b61115b85856115c7565b5f61116586611721565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611207929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016112429a999897969594939291906125e2565b6020604051808303815f875af115801561125e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128291906125a6565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156112f8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261131f91908101906126f3565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611360573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138491906122f8565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064015b602060405180830381865afa1580156113d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fd91906122f8565b979650505050505050565b341561142757604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001511561144d5760405163350b944160e11b815260040160405180910390fd5b6114826001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168530866117ef565b6114b66001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868561185c565b505f949350505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156114fd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261152491908101906126f3565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611565573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061158991906122f8565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064016113be565b6115d182826118eb565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461160f57604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146116655760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611690576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c68000146116bb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6117187f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008560200151670de0b6b3a764000061079f565b90505b92915050565b611729611c0e565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526118569186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506119ff565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526118ad8482611a6a565b611856576040516001600160a01b0384811660248301525f60448301526118e191869182169063095ea7b390606401611824565b61185684826119ff565b6103e882608001511015611912576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361193757604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061196157508161010001518260e0015161195e91906127ca565b15155b1561197f5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806119ab5750670de0b6b3a7640000826101c0015160200151115b806119c65750670de0b6b3a7640000826101c0015160400151115b806119e15750670de0b6b3a7640000826101c0015160600151115b156116bb576040516322f72cc360e11b815260040160405180910390fd5b5f611a136001600160a01b03841683611b07565b905080515f14158015611a37575080806020019051810190611a3591906127e9565b155b15611a6557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051611a859190612804565b5f604051808303815f865af19150503d805f8114611abe576040519150601f19603f3d011682016040523d82523d5f602084013e611ac3565b606091505b5091509150818015611aed575080511580611aed575080806020019051810190611aed91906127e9565b80156106025750505050506001600160a01b03163b151590565b606061171883835f845f80856001600160a01b03168486604051611b2b9190612804565b5f6040518083038185875af1925050503d805f8114611b65576040519150601f19603f3d011682016040523d82523d5f602084013e611b6a565b606091505b5091509150611b7a868383611b86565b925050505b9392505050565b606082611b9b57611b9682611be2565b611b7f565b8151158015611bb257506001600160a01b0384163b155b15611bdb57604051639996b31560e01b81526001600160a01b0385166004820152602401611a5c565b5080611b7f565b805115611bf25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611cdd60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611cfc578181015183820152602001611ce4565b50505f910152565b5f8151808452611d1b816020860160208601611ce2565b601f01601f19169290920160200192915050565b602081525f6117186020830184611d04565b6001600160a01b0381168114611c0b575f80fd5b8035611d6081611d41565b919050565b5f805f8060808587031215611d78575f80fd5b8435611d8381611d41565b93506020850135611d9381611d41565b92506040850135611da381611d41565b9396929550929360600135925050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611dea57611dea611db3565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611dea57611dea611db3565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e3d57611e3d611db3565b604052919050565b8015158114611c0b575f80fd5b5f67ffffffffffffffff831115611e6b57611e6b611db3565b611e7e601f8401601f1916602001611e14565b9050828152838383011115611e91575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112611eb6575f80fd5b61171883833560208501611e52565b5f805f805f60a08688031215611ed9575f80fd5b853594506020860135611eeb81611d41565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611f15575f80fd5b908701906060828a031215611f28575f80fd5b611f30611dc7565b8235611f3b81611d41565b81526020830135611f4b81611e45565b6020820152604083013582811115611f61575f80fd5b611f6d8b828601611ea7565b6040830152508093505050509295509295909350565b5f60208284031215611f93575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215612027575f80fd5b6040516080810181811067ffffffffffffffff8211171561204a5761204a611db3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610240828403121561208c575f80fd5b612094611df0565b905061209f82611d55565b81526120ad60208301611d55565b60208201526120be60408301611d55565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014061211b818401611d55565b9082015261016061212d838201611d55565b9082015261018061213f838201611d55565b908201526101a0612151838201611d55565b908201526101c061216484848301612017565b9082015292915050565b5f805f805f6102c08688031215612183575f80fd5b85359450612194876020880161207b565b935061026086013567ffffffffffffffff8111156121b0575f80fd5b6121bc88828901611ea7565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c086880312156121ec575f80fd5b85359450602086013567ffffffffffffffff8082111561220a575f80fd5b818801915088601f83011261221d575f80fd5b61222c89833560208501611e52565b955061223b8960408a0161207b565b9450610280880135915080821115612251575f80fd5b5061225e88828901611ea7565b959894975092956102a001359392505050565b600181811c9082168061228557607f821691505b6020821081036122a357634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a08401526122ee60c0840182611d04565b9695505050505050565b5f60208284031215612308575f80fd5b5051919050565b8181038181111561171b57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161235a60208401826001600160a01b03169052565b50604083015161237560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516123db828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e08501526040810151610200850152606081015161022085015261200f565b80516001600160a01b03168252602081015161246b60208401826001600160a01b03169052565b50604081015161248660408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516124f8828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611856565b5f6102c061256f8388612444565b6001600160a01b038616610260840152610280830181905261259381840186611d04565b915050826102a083015295945050505050565b5f602082840312156125b6575f80fd5b8151611b7f81611d41565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526125f58184018e611d04565b9050612604602084018d612444565b6001600160a01b038b81166102808501528382036102a0850152612628828c611d04565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f67ffffffffffffffff82111561267d5761267d611db3565b5060051b60200190565b5f82601f830112612696575f80fd5b815160206126ab6126a683612664565b611e14565b8083825260208201915060208460051b8701019350868411156126cc575f80fd5b602086015b848110156126e857805183529183019183016126d1565b509695505050505050565b5f805f60608486031215612705575f80fd5b835167ffffffffffffffff8082111561271c575f80fd5b818601915086601f83011261272f575f80fd5b8151602061273f6126a683612664565b82815260059290921b8401810191818101908a84111561275d575f80fd5b8286015b8481101561279357805186811115612777575f80fd5b6127858d86838b0101612687565b845250918301918301612761565b50918901519197509093505050808211156127ac575f80fd5b506127b986828701612687565b925050604084015190509250925092565b5f826127e457634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156127f9575f80fd5b8151611b7f81611e45565b5f8251612815818460208701611ce2565b919091019291505056fe457a455448487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220c481fd737d68f65e134bf8a9ac399c7d6aa52f9ed8bea236e80df2c9feeab78664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,address,address,uint256)": "5111bea2", + "convertToShares(address,address,address,uint256)": "079554e7", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "ezETH()": "13a73c78", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "renzoOracle()": "892866a4", + "restakeManager()": "ff0996b5", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaBase.ts b/packages/hyperdrive-artifacts/src/EzETHLineaBase.ts new file mode 100644 index 000000000..d8cb1b891 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaBase.ts @@ -0,0 +1,657 @@ +export const EzETHLineaBase = { + name: 'EzETHLineaBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaConversions.ts b/packages/hyperdrive-artifacts/src/EzETHLineaConversions.ts new file mode 100644 index 000000000..82e5a6d84 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaConversions.ts @@ -0,0 +1,6 @@ +export const EzETHLineaConversions = { + name: 'EzETHLineaConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f67ac4d85d125d3caac64e9417f531a496cfe1642a72ca2dae0bcef19b38f6fc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaHyperdrive.ts b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdrive.ts new file mode 100644 index 000000000..34595eef9 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdrive.ts @@ -0,0 +1,1671 @@ +export const EzETHLineaHyperdrive = { + name: 'EzETHLineaHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f43369c771b298943b2ca32c2ef059ddd101fd6f1eba3c63d5f506d7fdf1e1cd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..50892017f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveCoreDeployer.ts @@ -0,0 +1,202 @@ +export const EzETHLineaHyperdriveCoreDeployer = { + name: 'EzETHLineaHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b50604051611ea1380380611ea183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e186100895f395f81816042015260c60152611e185ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c806312ae5e67146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003ad565b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000f39062000137565b6200010799989796959493929190620005c5565b8190604051809103905ff590508015801562000125573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611746806200069d83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000180576200018062000145565b60405290565b5f82601f83011262000196575f80fd5b813567ffffffffffffffff80821115620001b457620001b462000145565b604051601f8301601f19908116603f01168101908282118183101715620001df57620001df62000145565b81604052838152866020858801011115620001f8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b03811681146200022e575f80fd5b919050565b5f6080828403121562000244575f80fd5b6040516080810181811067ffffffffffffffff821117156200026a576200026a62000145565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002ad575f80fd5b620002b762000159565b9050620002c48262000217565b8152620002d46020830162000217565b6020820152620002e76040830162000217565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035281840162000217565b908201526101806200036683820162000217565b908201526101a06200037a83820162000217565b908201526101c06200038e83820162000217565b908201526101e0620003a38484830162000233565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003c8575f80fd5b8a3567ffffffffffffffff80821115620003e0575f80fd5b620003ee8e838f0162000186565b9b50620003ff8e60208f016200029b565b9a50620004106102808e0162000217565b99506102a08d013591508082111562000427575f80fd5b50620004368d828e0162000186565b975050620004486102c08c0162000217565b9550620004596102e08c0162000217565b94506200046a6103008c0162000217565b93506200047b6103208c0162000217565b92506200048c6103408c0162000217565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004cd60208401826001600160a01b03169052565b506040810151620004e960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055c828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fb576020828e0101516103808386010152602082019150620005d7565b61038091505f82828601015281601f19601f8301168501019250505062000626602083018b620004a5565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012956fe61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220f43369c771b298943b2ca32c2ef059ddd101fd6f1eba3c63d5f506d7fdf1e1cd64736f6c63430008160033a2646970667358221220bc33a3244939269e39b725e0a7a6c69ccb69b66ee235df69a13cf49c27db1e0a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..a4b710483 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaHyperdriveDeployerCoordinator.ts @@ -0,0 +1,784 @@ +export const EzETHLineaHyperdriveDeployerCoordinator = { + name: 'EzETHLineaHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b5060405162002709380380620027098339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516122bc6200044d5f395f8181610158015281816106f5015261143701525f81816102ef0152610da501525f81816103550152610c7201525f81816103bb0152610b3f01525f81816103220152610a0c01525f8181610388015261080301525f818161045f01526110f401525f818161042c015281816105660152818161072c0152818161083301528181610a3c01528181610b6f01528181610ca201528181610dd501528181610ec8015261112501526122bc5ff3fe608060405260043610610105575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a01551461041b578063c6e6f592146103dd578063c83e1f511461044e578063e990eba814610481578063e99be396146104a0575f80fd5b8063ab71905f14610377578063b6cb1118146103aa578063b88fed9f146103dd578063c1510618146103fc575f80fd5b806337404017116100d857806337404017146101b357806354fd4d50146102af578063966ecd1c146102de578063a085fa3014610311578063aa8cd6c414610344575f80fd5b806304baa00b1461010957806306fdde031461013357806312ae5e671461014757806316abfc7014610192575b5f80fd5b348015610114575f80fd5b5061011d6104b3565b60405161012a919061192c565b60405180910390f35b34801561013e575f80fd5b5061011d6104cf565b348015610152575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b6101a56101a0366004611a64565b61055a565b60405190815260200161012a565b3480156101be575f80fd5b506102a26101cd366004611b22565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611b39565b3480156102ba575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b3480156102e9575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561031c575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506101a56103f7366004611b22565b6106ef565b348015610407575f80fd5b5061017a610416366004611d0d565b610720565b348015610426575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610459575f80fd5b5061017a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c575f80fd5b5061017a61049b366004611d76565b610ebc565b3480156104ab575f80fd5b5060056101a5565b6040518060600160405280602781526020016122606027913981565b5f80546104db90611e10565b80601f016020809104026020016040519081016040528092919081815260200182805461050790611e10565b80156105525780601f1061052957610100808354040283529160200191610552565b820191905f5260205f20905b81548152906001019060200180831161053557829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105a457604051634084351160e01b815260040160405180910390fd5b6105ac61122f565b5f868152600160205260409020600301546001600160a01b0316806105e45760405163952b05cb60e01b815260040160405180910390fd5b5f6105f182888887611250565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161062493929190611e48565b60206040518083038185885af1158015610640573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106659190611e97565b92505f6106728234611eae565b905080156106e2576040515f90339083908381818185875af1925050503d805f81146106b9576040519150601f19603f3d011682016040523d82523d5f602084013e6106be565b606091505b50509050806106e0576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f61071a7f00000000000000000000000000000000000000000000000000000000000000008361140c565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076a57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361091a5780541561079f57604051633be1b34d60e11b815260040160405180910390fd5b6107a9868661142b565b5f6107b48787611582565b90505f876040516020016107c89190611ecd565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107f58a61159b565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161086f929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108a49493929190612100565b6020604051808303815f875af11580156108c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e49190612145565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106e6565b5f87815260016020526040902054806109465760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109589190611ecd565b604051602081830303815290604052805190602001201461098c5760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109b657604051631a3272d160e31b815260040160405180910390fd5b6109c0878761142b565b5f6109ca8861159b565b6002840154608082015290506001869003610b0a5760058301546001600160a01b031615610a0a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a7193929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aa69493929190612100565b6020604051808303815f875af1158015610ac2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae69190612145565b6005840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600203610c3d5760068301546001600160a01b031615610b3d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ba493929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bd99493929190612100565b6020604051808303815f875af1158015610bf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c199190612145565b6006840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600303610d705760078301546001600160a01b031615610c705760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cd793929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d0c9493929190612100565b6020604051808303815f875af1158015610d28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4c9190612145565b6007840180546001600160a01b0319166001600160a01b03831617905593506106e2565b85600403610ea35760088301546001600160a01b031615610da35760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e0a93929190612160565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e3f9493929190612100565b6020604051808303815f875af1158015610e5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7f9190612145565b6008840180546001600160a01b0319166001600160a01b03831617905593506106e2565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f0657604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610fae57604051632c95caeb60e01b815260040160405180910390fd5b8051610fcd5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610ff2575060a08101516001600160a01b0316155b80611008575060c08101516001600160a01b0316155b8061101e575060e08101516001600160a01b0316155b8061103557506101008101516001600160a01b0316155b156110535760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611066908790602001611ecd565b604051602081830303815290604052805190602001201461109a5760405163332ee11f60e01b815260040160405180910390fd5b80602001518480519060200120146110c557604051631a3272d160e31b815260040160405180910390fd5b6110cf858561142b565b5f6110d98661159b565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161117b929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111b69a99989796959493929190612181565b6020604051808303815f875af11580156111d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f69190612145565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561124e57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112745760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190612145565b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018790529192505f918316906323b872dd906064016020604051808303815f875af115801561132c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113509190612203565b905080611370576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0388811660048301526024820187905283169063095ea7b3906044016020604051808303815f875af11580156113bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e09190612203565b905080611400576040516340b27c2160e11b815260040160405180910390fd5b505f9695505050505050565b5f8061141784611669565b905061142383826116d2565b949350505050565b61143582826116e6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663152b2c4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b59190612145565b6001600160a01b031682602001516001600160a01b0316146114ea5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461152857604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c6800014611553576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c680001461157e576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611594670de0b6b3a76400006106ef565b9392505050565b6115a3611815565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156116a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ca919061221e565b509392505050565b5f6115948383670de0b6b3a76400006117fa565b6103e88260800151101561170d576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361173257604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061175c57508161010001518260e001516117599190612240565b15155b1561177a5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117a65750670de0b6b3a7640000826101c0015160200151115b806117c15750670de0b6b3a7640000826101c0015160400151115b806117dc5750670de0b6b3a7640000826101c0015160600151115b1561157e576040516322f72cc360e11b815260040160405180910390fd5b5f825f19048411830215820261180e575f80fd5b5091020490565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016118e460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b8181101561190d576020818501810151868301820152016118f1565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61159460208301846118e9565b6001600160a01b0381168114611952575f80fd5b50565b80356119608161193e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561199c5761199c611965565b60405290565b6040516101e0810167ffffffffffffffff8111828210171561199c5761199c611965565b8015158114611952575f80fd5b5f67ffffffffffffffff808411156119ed576119ed611965565b604051601f8501601f19908116603f01168101908282118183101715611a1557611a15611965565b81604052809350858152868686011115611a2d575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611a55575f80fd5b611594838335602085016119d3565b5f805f805f60a08688031215611a78575f80fd5b853594506020860135611a8a8161193e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ab4575f80fd5b908701906060828a031215611ac7575f80fd5b611acf611979565b8235611ada8161193e565b81526020830135611aea816119c6565b6020820152604083013582811115611b00575f80fd5b611b0c8b828601611a46565b6040830152508093505050509295509295909350565b5f60208284031215611b32575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611bc6575f80fd5b6040516080810181811067ffffffffffffffff82111715611be957611be9611965565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611c2b575f80fd5b611c336119a2565b9050611c3e82611955565b8152611c4c60208301611955565b6020820152611c5d60408301611955565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611cba818401611955565b90820152610160611ccc838201611955565b90820152610180611cde838201611955565b908201526101a0611cf0838201611955565b908201526101c0611d0384848301611bb6565b9082015292915050565b5f805f805f6102c08688031215611d22575f80fd5b85359450611d338760208801611c1a565b935061026086013567ffffffffffffffff811115611d4f575f80fd5b611d5b88828901611a46565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611d8b575f80fd5b85359450602086013567ffffffffffffffff80821115611da9575f80fd5b818801915088601f830112611dbc575f80fd5b611dcb898335602085016119d3565b9550611dda8960408a01611c1a565b9450610280880135915080821115611df0575f80fd5b50611dfd88828901611a46565b959894975092956102a001359392505050565b600181811c90821680611e2457607f821691505b602082108103611e4257634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611e8d60c08401826118e9565b9695505050505050565b5f60208284031215611ea7575f80fd5b5051919050565b8181038181111561071a57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611ef960208401826001600160a01b03169052565b506040830151611f1460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151611f7a828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611bae565b80516001600160a01b03168252602081015161200a60208401826001600160a01b03169052565b50604081015161202560408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151612097828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061210e8388611fe3565b6001600160a01b0386166102608401526102808301819052612132818401866118e9565b915050826102a083015295945050505050565b5f60208284031215612155575f80fd5b81516115948161193e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526121948184018e6118e9565b90506121a3602084018d611fe3565b6001600160a01b038b81166102808501528382036102a08501526121c7828c6118e9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612213575f80fd5b8151611594816119c6565b5f806040838503121561222f575f80fd5b505080516020909101519092909150565b5f8261225a57634e487b7160e01b5f52601260045260245ffd5b50069056fe457a4554484c696e6561487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212201eec5f311729a0457d96043dddf7c08546a2553822f7700393a7fb716a3861d564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget0.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget0.ts new file mode 100644 index 000000000..1c4b4ef8f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget0.ts @@ -0,0 +1,1956 @@ +export const EzETHLineaTarget0 = { + name: 'EzETHLineaTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003d5b38038062003d5b8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138fe6200045d5f395f818161065e0152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138fe5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806312ae5e67146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102a0610650565b6102736102ce366004612db8565b61068f565b6102736102e1366004612e8e565b6106ab565b6102736102f4366004612f1d565b6106c1565b61030c610307366004612ceb565b6106d4565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612f62565b61073d565b604051908152602001610257565b610367610782565b60405160ff9091168152602001610257565b610351610387366004612fa1565b610799565b6103516107d1565b6103516103a2366004612fcf565b6107ef565b6103ba6103b5366004612d75565b6107f9565b6040519015158152602001610257565b61024a6103d8366004612ceb565b610818565b6102736103eb366004613006565b610826565b61024a610874565b6104006108a9565b604051610257919061304d565b61027361041b3660046130ee565b5050565b61035161042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610351610494366004612ceb565b611148565b6103516104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61035161126c565b6103516104ea366004612ceb565b611285565b6103516104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103ba610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f760405180604001604052806014815260200173457a4554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6106a089898989898989898961197f565b505050505050505050565b6106b9868686868686611b71565b505050505050565b6106ce8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077b910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107cb910161058a565b92915050565b5f6105f76107dd611ddf565b60405160200161058a91815260200190565b5f6107cb82611e6c565b5f61059e610806836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836108308161227c565b6001600160a01b0316336001600160a01b03161461086157604051632aab8bd360e01b815260040160405180910390fd5b61086d85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b610913604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61091c6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109869190613564565b6109909190613577565b90505f8215610a9f5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109bc856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8f919061358a565b509050610a9c8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b6f57610b6a8486612555565b610b71565b5f5b81526003546001600160801b0316602091820152604051919250610b9b9161058a9184910161304d565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e6107dd83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e6107dd83612594565b5f61059e6107dd6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b6106b98686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107cb910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61077b8383670de0b6b3a764000061286a565b5f61077b83670de0b6b3a76400008461286a565b5f6107cb7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f6107cb7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b6107cb91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061077b565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061077b612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061086d576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ee919061388b565b606061077b83835f612af9565b5f612aef82846137d8565b61077b9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b3991906138ad565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61077b565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061077b565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61077b6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561077b81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561077b81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561077b575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107cb576107cb613550565b818103818111156107cb576107cb613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161077b81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b80820281158282048414176107cb576107cb613550565b5f60208284031215613880575f80fd5b815161077b81612d90565b5f806040838503121561389c575f80fd5b505080516020909101519092909150565b5f82516138be818460208701612d02565b919091019291505056fea264697066735822122070b879219848c948671d6a0bc46b0eb459b815f0c1e5be80de6b4d7718abc90a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget0Deployer.ts new file mode 100644 index 000000000..da6268ce2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget0Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHLineaTarget0Deployer = { + name: 'EzETHLineaTarget0Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161431038038061431083398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142876100895f395f8181603d015260b801526142875ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613d5b806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003d5b38038062003d5b8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138fe6200045d5f395f818161065e0152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138fe5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806312ae5e67146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102a0610650565b6102736102ce366004612db8565b61068f565b6102736102e1366004612e8e565b6106ab565b6102736102f4366004612f1d565b6106c1565b61030c610307366004612ceb565b6106d4565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612f62565b61073d565b604051908152602001610257565b610367610782565b60405160ff9091168152602001610257565b610351610387366004612fa1565b610799565b6103516107d1565b6103516103a2366004612fcf565b6107ef565b6103ba6103b5366004612d75565b6107f9565b6040519015158152602001610257565b61024a6103d8366004612ceb565b610818565b6102736103eb366004613006565b610826565b61024a610874565b6104006108a9565b604051610257919061304d565b61027361041b3660046130ee565b5050565b61035161042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610351610494366004612ceb565b611148565b6103516104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61035161126c565b6103516104ea366004612ceb565b611285565b6103516104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103ba610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f760405180604001604052806014815260200173457a4554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6106a089898989898989898961197f565b505050505050505050565b6106b9868686868686611b71565b505050505050565b6106ce8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077b910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107cb910161058a565b92915050565b5f6105f76107dd611ddf565b60405160200161058a91815260200190565b5f6107cb82611e6c565b5f61059e610806836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836108308161227c565b6001600160a01b0316336001600160a01b03161461086157604051632aab8bd360e01b815260040160405180910390fd5b61086d85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b610913604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61091c6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109869190613564565b6109909190613577565b90505f8215610a9f5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109bc856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8f919061358a565b509050610a9c8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b6f57610b6a8486612555565b610b71565b5f5b81526003546001600160801b0316602091820152604051919250610b9b9161058a9184910161304d565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e6107dd83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e6107dd83612594565b5f61059e6107dd6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b6106b98686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107cb910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61077b8383670de0b6b3a764000061286a565b5f61077b83670de0b6b3a76400008461286a565b5f6107cb7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f6107cb7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b6107cb91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061077b565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061077b612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061086d576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ee919061388b565b606061077b83835f612af9565b5f612aef82846137d8565b61077b9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b3991906138ad565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61077b565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061077b565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61077b6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561077b81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561077b81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561077b575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107cb576107cb613550565b818103818111156107cb576107cb613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161077b81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b80820281158282048414176107cb576107cb613550565b5f60208284031215613880575f80fd5b815161077b81612d90565b5f806040838503121561389c575f80fd5b505080516020909101519092909150565b5f82516138be818460208701612d02565b919091019291505056fea264697066735822122070b879219848c948671d6a0bc46b0eb459b815f0c1e5be80de6b4d7718abc90a64736f6c63430008160033a26469706673582212207c509fd1c03c2184a79d1586e62b90e86f23936009e3087a6adfe718a19b48b964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget1.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget1.ts new file mode 100644 index 000000000..ac9785030 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget1.ts @@ -0,0 +1,962 @@ +export const EzETHLineaTarget1 = { + name: 'EzETHLineaTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003da638038062003da68339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613910620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139105ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b91906137d3565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a656fea2646970667358221220b04c80675515ea61ec7dff4f6d897ff7fd30801acecd9383d1b6ca94240fd3c364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget1Deployer.ts new file mode 100644 index 000000000..9f33d4516 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget1Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHLineaTarget1Deployer = { + name: 'EzETHLineaTarget1Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161435b38038061435b83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142d26100895f395f8181603d015260b801526142d25ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613da6806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003da638038062003da68339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613910620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139105ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157b91906137d3565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a656fea2646970667358221220b04c80675515ea61ec7dff4f6d897ff7fd30801acecd9383d1b6ca94240fd3c364736f6c63430008160033a2646970667358221220edcd677769f7f8da108f6ffb643080fa1e39bbc38d04fdd5ff6cdaefaa45048064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget2.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget2.ts new file mode 100644 index 000000000..e4f23052f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget2.ts @@ -0,0 +1,982 @@ +export const EzETHLineaTarget2 = { + name: 'EzETHLineaTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e8138038062003e818339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139dd620004a45f395f61146a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612c2701525f81816114e601528181611c8d01528181611cf001528181612477015281816128100152818161284c01528181612a440152612c0101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bdb01525f6118b701525f81816119d801528181612568015281816125e00152612d3f01525f81816109a301528181610e3701528181611415015281816119ac01526125b401525f8181610e16015281816125340152612cfb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c4d01525f81816101d301528181610396015281816108e1015261322c01525f81816106a7015281816107230152818161079701528181610862015261089a01525f6116b201525f50506139dd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046134a4565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046134a4565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613512565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613512565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613539565b8b611217565b8d8a8a898e8561023e6020830183613539565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613561565b8961028960408a018a61357c565b60405161029c97969594939291906135e7565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613512565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613512565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613512565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613539565b85611217565b858b868461049b6020860186613539565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613561565b6104ec896104e68a8d613627565b90610683565b8d6104fa60408e018e61357c565b60405161050e98979695949392919061363a565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613539565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613561565b156105ea576105e0856105db604087018761357c565b611673565b9093509050610602565b5034610602856105fd604087018761357c565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061174a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611765565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613512565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161177a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b92505b50610838836117b9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613627565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613512565b42906117e6565b84610f13565b6108d5886117fa565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613627565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611997565b915091508060095f8282546109729190613512565b9091555061098d9050865f8461098781611a64565b88611a8d565b6109978183613512565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c04565b91506109db6109d68385610683565b611c4d565b600680546002906109fc9084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117b9565b60068054601090610a4b908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611997565b915091508060095f828254610abe9190613512565b90915550610ad99050835f84610ad381611a64565b8a611c76565b610ae38183613627565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117b9565b60068054601090610b62908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a64565b610ba483611a64565b610bae91906136c1565b5f611e66565b8e610bbf8482611ea5565b50505b5f610bcc84612094565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906136e0565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121d6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161177a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061225c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612287565b6122eb565b15610e6d57610e6d61232c565b610e7987858885612345565b91965094509250670de0b6b3a7640000610efb610e968784613512565b600254610eb4908890600160801b90046001600160801b0316613627565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b1115610f0957610f0961232c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613627565b610fb991906136fb565b85670de0b6b3a7640000610fcd878a613627565b610fd791906136fb565b85929190600161238d565b6117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117b9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866136fb565b6005546001600160801b0316919088600161238d565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117b9565b600280545f906110d19084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117b9565b60028054601090611120908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117b9565b61115790826136a1565b600380546001600160801b03808416600160801b02911617905590505f61117d83612431565b905061119b8161118c87611a64565b6111969084613732565b611e66565b6111a484612471565b6111b0576111b061232c565b5f6111ba856124d0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613512565b90915550505f838152600b60205260408120805483929061126a908490613512565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61177a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124dc565b93508761134d85896124fc565b111561135b5761135b61232c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b93506113d58a670de0b6b3a7640000868c612510565b509193509091506113e890508183613627565b6113f29087613627565b95508861143f816114398d611407868c613627565b8d611412878261261c565b877f0000000000000000000000000000000000000000000000000000000000000000612631565b906124fc565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612651565b5f61069a7f000000000000000000000000000000000000000000000000000000000000000083612674565b5f6114a06040830160208401613561565b156114ac5750826114b9565b6114b6848461268b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc61232c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61269f565b10156115225761152261232c565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b0316919089600161238d565b600580546001600160801b03928316600160801b029216919091179055611592816117b9565b600280546001600160801b0319166001600160801b03929092169190911790556115bb856117b9565b600280546010906115dd908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a856117b9565b6004805460109061162c908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a83612431565b905061119b8161166988611a64565b61119690846136c1565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117249190613759565b905080611744576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261175e575f80fd5b5091020490565b5f6117708284613788565b6106979084613627565b6002546004545f916106cb916001600160801b0390911690600f0b61269f565b5f6117b0826117aa85888861174a565b906126c4565b95945050505050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117f45782610697565b50919050565b6006545f90819061181c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611992575f6118458383613627565b9050611854610fe28286611450565b60068054601090611876908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ae858361268b90919063ffffffff16565b90505f6118db827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546118ee9190613512565b909155506118fe90508183613627565b9150611909826117b9565b600280545f906119239084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061195082612729565b600480545f90611964908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119a3878561268b565b91505f6119d0837f0000000000000000000000000000000000000000000000000000000000000000610683565b90506119fc817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a1f57611a0e8282613627565b611a189084613627565b9250611a36565b611a298282613627565b611a339084613512565b92505b86861015611a5957611a4983878961174a565b9250611a5682878961174a565b91505b509550959350505050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611ad5610fe282611ab9670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b031691908a5f61238d565b600580546001600160801b03928316600160801b029216919091179055611afb866117b9565b611b059082613712565b600480546001600160801b03928316600160801b029216919091179055611b2b846117b9565b600280545f90611b459084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7283612752565b600480545f90611b86908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bb6856117b9565b60028054601090611bd8908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c1b84611c158a888a61174a565b9061268b565b9050611c2888848661174a565b611c329082613512565b905086811115611c425786810391505b509695505050505050565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cb857507f0000000000000000000000000000000000000000000000000000000000000000611cb68583613627565b105b15611cc557611cc561232c565b6004549084900390600f0b611cda84826136c1565b905083611ce686611a64565b138015611d1b57507f0000000000000000000000000000000000000000000000000000000000000000611d19838361269f565b105b15611d2857611d2861232c565b600354600160801b90046001600160801b0316611d69610fe282611d54670de0b6b3a7640000886136fb565b6005546001600160801b031691908c5f61238d565b600580546001600160801b0319166001600160801b0392909216919091179055611d938882613627565b9050611d9e816117b9565b600380546001600160801b03928316600160801b029216919091179055611dc4836117b9565b600280546001600160801b0319166001600160801b0392909216919091179055611ded82612752565b600480546001600160801b0319166001600160801b0392909216919091179055611e16876117b9565b60028054601090611e38908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611e8190610fe2906001600160801b0316848461278d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611eef916001600160801b031690613627565b9050805f03611f0257600191505061069a565b5f611f0c856127ef565b9050805f03611f205760019250505061069a565b5f80611f2d83858961288a565b9150915080611f42575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f7d929190613846565b6040805180830381865af4158015611f97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbb91906138bb565b91509150611fd9611fcb82611a64565b611fd4906138dd565b6129fe565b925082611fee575f965050505050505061069a565b611ff7826117b9565b600780545f906120119084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061203e816117b9565b60078054601090612060908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120bb87612b92565b6040518263ffffffff1660e01b81526004016120d791906138f7565b6040805180830381865af41580156120f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121159190613906565b915091508061212a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161218f91613512565b6121999190613627565b9050805f036121af57505f958695509350505050565b5f8087116121bd575f6121c8565b6121c884888461174a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156121f9576121f9613934565b6040519080825280601f01601f191660200182016040528015612223576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612243578692505b828152825f602083013e90999098509650505050505050565b5f61227c87878761227588670de0b6b3a7640000613627565b8787612ccc565b979650505050505050565b5f6114b66122c76122a084670de0b6b3a7640000613627565b611439670de0b6b3a76400006122b6818a611450565b6122c09190613627565b87906124fc565b6122d990670de0b6b3a7640000613512565b611c1584670de0b6b3a7640000613627565b5f80612321856122f961177a565b6123039190613512565b600254610eb4908790600160801b90046001600160801b0316613627565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612355898789612cee565b90925090506123648289613627565b97505f61237282888a61174a565b905061237e818b613627565b9a989950979650505050505050565b5f825f0361239c5750846117b0565b81156123ee576123cd6123af8487613512565b6123b98587610683565b6123c3888a610683565b611c159190613512565b90505f6123da85886117e6565b9050808210156123e8578091505b506117b0565b8285036123fc57505f6117b0565b6124276124098487613627565b61241385876124fc565b61241d888a610683565b611c159190613627565b9695505050505050565b5f612456600b5f6124436002866111e3565b81526020019081526020015f2054611a64565b612467600b5f6124436001876111e3565b61069a91906136c1565b5f61249c7f0000000000000000000000000000000000000000000000000000000000000000836124fc565b6003546124b291906001600160801b0316613512565b6002546124c8906001600160801b031684610683565b101592915050565b5f61069a826004611ea5565b5f61227c8787876124f588670de0b6b3a7640000613627565b8787612d6d565b5f6106978383670de0b6b3a7640000612651565b5f80808061256087866125598b6114396125328c670de0b6b3a7640000613627565b7f0000000000000000000000000000000000000000000000000000000000000000906124fc565b9190612651565b935061258c847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125ac6125a489670de0b6b3a7640000613627565b8a9088612651565b90506125d8817f00000000000000000000000000000000000000000000000000000000000000006124fc565b9350612604847f0000000000000000000000000000000000000000000000000000000000000000610683565b61260e9084613512565b915050945094509450949050565b5f81831161262a5781610697565b5090919050565b5f80612648846126428a888a612651565b90611450565b9050611c288884865b5f825f190484118302158202612665575f80fd5b50910281810615159190040190565b5f8061267f84612d7d565b9050610d2c8382610683565b5f61069783670de0b6b3a76400008461174a565b5f806126ab8484612de6565b9092509050806126bd576126bd61232c565b5092915050565b5f815f036126db5750670de0b6b3a764000061069a565b825f036126e957505f61069a565b5f6126f383611a64565b90505f61270761270286611a64565b612e1e565b905081810261271e670de0b6b3a764000082613948565b905061242781613043565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061276f575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f80612799845f6131d5565b6127a3845f6131d5565b6127ad91906136c1565b90505f8113156127c8576127c18186613512565b94506127e6565b5f8112156127e6576127d9816138dd565b6127e39086613627565b94505b50929392505050565b6003545f908190612809906001600160801b031684611450565b90506128357f000000000000000000000000000000000000000000000000000000000000000082613512565b6002546001600160801b031611156117f4576002547f0000000000000000000000000000000000000000000000000000000000000000906128809083906001600160801b0316613627565b6114b99190613627565b612892613405565b5f8061289d84612b92565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128d791906138f7565b6040805180830381865af41580156128f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129159190613906565b935090508261292957505f91506129f69050565b5f61294f61294a84610160015185610140015161068390919063ffffffff16565b611a64565b61296f61294a8561012001518661010001516124fc90919063ffffffff16565b61297991906136c1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ab4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ad89190613974565b935093509350935080612af357505f98975050505050505050565b868414612b2457612b03846117b9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b5557612b3483612752565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b8357612b65826117b9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b9a61344f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c9291166131e3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cc4929004166131e3565b905292915050565b5f80612cdc888888888888613257565b909250905080611c4257611c4261232c565b5f80612d378561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d2d818c611450565b6114399190613627565b9150612d63827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cdc88888888888861331b565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612dba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dde91906138bb565b509392505050565b5f805f83612df386611a64565b612dfd91906136c1565b90505f811215612e13575f80925092505061067c565b946001945092505050565b5f808213612e3f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ec29084901c611a64565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361305c57505f919050565b680755bf798b4a1bf1e58212613085576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061242774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a64565b5f81831361262a5781610697565b5f80670de0b6b3a76400006131f66106a0565b61320091906136fb565b905080831161320f575f613219565b6132198184613627565b91506114b9613250670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136fb565b839061268b565b5f805f61326789898888886133d7565b9050613281866117aa61327a8a8d613512565b8790610683565b985061328e858a8661174a565b9850888110156132a4575f809250925050613310565b888103670de0b6b3a764000081106132d9576132d26132cb670de0b6b3a764000089611450565b82906126c4565b90506132f1565b6132ee6132cb670de0b6b3a76400008961268b565b90505b80891015613306575f80935093505050613310565b8803925060019150505b965096945050505050565b5f805f61332b89898888886133d7565b905061333b866117aa898b613512565b975087811015613351575f809250925050613310565b87810361335f818688612651565b9050670de0b6b3a7640000811061338c576133856132cb670de0b6b3a764000089611450565b90506133a4565b6133a16132cb670de0b6b3a76400008961268b565b90505b6133ae8186611450565b9050808a10156133c5575f80935093505050613310565b90980398600198509650505050505050565b5f6133e285856126c4565b6133fb6133f3866117aa868b6124fc565b859085612651565b6124279190613512565b60405180610120016040528061341961344f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134b7575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156134e2575f80fd5b8501606081880312156134f3575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6134fe565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613549575f80fd5b81356114b981613525565b80151581146105af575f80fd5b5f60208284031215613571575f80fd5b81356114b981613554565b5f808335601e19843603018112613591575f80fd5b83018035915067ffffffffffffffff8211156135ab575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61361a60c0830184866135bf565b9998505050505050505050565b8181038181111561069a5761069a6134fe565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367360e0830184866135bf565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126bd576126bd6134fe565b6001600160801b038181168382160190808211156126bd576126bd6134fe565b8181035f8312801583831316838312821617156126bd576126bd6134fe565b5f602082840312156136f0575f80fd5b81516114b981613525565b808202811582820484141761069a5761069a6134fe565b6001600160801b038281168282160390808211156126bd576126bd6134fe565b8082018281125f831280158216821582161715613751576137516134fe565b505092915050565b5f60208284031215613769575f80fd5b81516114b981613554565b634e487b7160e01b5f52601260045260245ffd5b5f8261379657613796613774565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6134fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138598285516137c8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138cc575f80fd5b505080516020909101519092909150565b5f600160ff1b82016138f1576138f16134fe565b505f0390565b610180810161069a82846137c8565b5f8060408385031215613917575f80fd5b82519150602083015161392981613554565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8261395657613956613774565b600160ff1b82145f198414161561396f5761396f6134fe565b500590565b5f805f8060808587031215613987575f80fd5b84519350602085015192506040850151915060608501516134f38161355456fea2646970667358221220236e255a79db1393c18a8216c83057b5006da584dfca625b70e0cd0075dea52064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget2Deployer.ts new file mode 100644 index 000000000..d152fed28 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget2Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHLineaTarget2Deployer = { + name: 'EzETHLineaTarget2Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161443638038061443683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143ad6100895f395f8181603d015260b801526143ad5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613e81806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003e8138038062003e818339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516139dd620004a45f395f61146a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612c2701525f81816114e601528181611c8d01528181611cf001528181612477015281816128100152818161284c01528181612a440152612c0101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612bdb01525f6118b701525f81816119d801528181612568015281816125e00152612d3f01525f81816109a301528181610e3701528181611415015281816119ac01526125b401525f8181610e16015281816125340152612cfb01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c4d01525f81816101d301528181610396015281816108e1015261322c01525f81816106a7015281816107230152818161079701528181610862015261089a01525f6116b201525f50506139dd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046134a4565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046134a4565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613512565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613512565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613539565b8b611217565b8d8a8a898e8561023e6020830183613539565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613561565b8961028960408a018a61357c565b60405161029c97969594939291906135e7565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613512565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613512565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613512565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613539565b85611217565b858b868461049b6020860186613539565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613561565b6104ec896104e68a8d613627565b90610683565b8d6104fa60408e018e61357c565b60405161050e98979695949392919061363a565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613539565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613561565b156105ea576105e0856105db604087018761357c565b611673565b9093509050610602565b5034610602856105fd604087018761357c565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061174a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611765565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613512565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161177a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b92505b50610838836117b9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613627565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613512565b42906117e6565b84610f13565b6108d5886117fa565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613627565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611997565b915091508060095f8282546109729190613512565b9091555061098d9050865f8461098781611a64565b88611a8d565b6109978183613512565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c04565b91506109db6109d68385610683565b611c4d565b600680546002906109fc9084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117b9565b60068054601090610a4b908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611997565b915091508060095f828254610abe9190613512565b90915550610ad99050835f84610ad381611a64565b8a611c76565b610ae38183613627565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613681565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117b9565b60068054601090610b62908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a64565b610ba483611a64565b610bae91906136c1565b5f611e66565b8e610bbf8482611ea5565b50505b5f610bcc84612094565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906136e0565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121d6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161177a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061225c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612287565b6122eb565b15610e6d57610e6d61232c565b610e7987858885612345565b91965094509250670de0b6b3a7640000610efb610e968784613512565b600254610eb4908890600160801b90046001600160801b0316613627565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b1115610f0957610f0961232c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613627565b610fb991906136fb565b85670de0b6b3a7640000610fcd878a613627565b610fd791906136fb565b85929190600161238d565b6117b9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117b9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866136fb565b6005546001600160801b0316919088600161238d565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117b9565b600280545f906110d19084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117b9565b60028054601090611120908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117b9565b61115790826136a1565b600380546001600160801b03808416600160801b02911617905590505f61117d83612431565b905061119b8161118c87611a64565b6111969084613732565b611e66565b6111a484612471565b6111b0576111b061232c565b5f6111ba856124d0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613512565b90915550505f838152600b60205260408120805483929061126a908490613512565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61177a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124dc565b93508761134d85896124fc565b111561135b5761135b61232c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061179a565b93506113d58a670de0b6b3a7640000868c612510565b509193509091506113e890508183613627565b6113f29087613627565b95508861143f816114398d611407868c613627565b8d611412878261261c565b877f0000000000000000000000000000000000000000000000000000000000000000612631565b906124fc565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612651565b5f61069a7f000000000000000000000000000000000000000000000000000000000000000083612674565b5f6114a06040830160208401613561565b156114ac5750826114b9565b6114b6848461268b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc61232c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61269f565b10156115225761152261232c565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b0316919089600161238d565b600580546001600160801b03928316600160801b029216919091179055611592816117b9565b600280546001600160801b0319166001600160801b03929092169190911790556115bb856117b9565b600280546010906115dd908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a856117b9565b6004805460109061162c908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a83612431565b905061119b8161166988611a64565b61119690846136c1565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117249190613759565b905080611744576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261175e575f80fd5b5091020490565b5f6117708284613788565b6106979084613627565b6002546004545f916106cb916001600160801b0390911690600f0b61269f565b5f6117b0826117aa85888861174a565b906126c4565b95945050505050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117f45782610697565b50919050565b6006545f90819061181c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611992575f6118458383613627565b9050611854610fe28286611450565b60068054601090611876908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ae858361268b90919063ffffffff16565b90505f6118db827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f8282546118ee9190613512565b909155506118fe90508183613627565b9150611909826117b9565b600280545f906119239084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061195082612729565b600480545f90611964908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119a3878561268b565b91505f6119d0837f0000000000000000000000000000000000000000000000000000000000000000610683565b90506119fc817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a1f57611a0e8282613627565b611a189084613627565b9250611a36565b611a298282613627565b611a339084613512565b92505b86861015611a5957611a4983878961174a565b9250611a5682878961174a565b91505b509550959350505050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611ad5610fe282611ab9670de0b6b3a7640000866136fb565b600554600160801b90046001600160801b031691908a5f61238d565b600580546001600160801b03928316600160801b029216919091179055611afb866117b9565b611b059082613712565b600480546001600160801b03928316600160801b029216919091179055611b2b846117b9565b600280545f90611b459084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7283612752565b600480545f90611b86908490600f0b61379b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bb6856117b9565b60028054601090611bd8908490600160801b90046001600160801b0316613712565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c1b84611c158a888a61174a565b9061268b565b9050611c2888848661174a565b611c329082613512565b905086811115611c425786810391505b509695505050505050565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cb857507f0000000000000000000000000000000000000000000000000000000000000000611cb68583613627565b105b15611cc557611cc561232c565b6004549084900390600f0b611cda84826136c1565b905083611ce686611a64565b138015611d1b57507f0000000000000000000000000000000000000000000000000000000000000000611d19838361269f565b105b15611d2857611d2861232c565b600354600160801b90046001600160801b0316611d69610fe282611d54670de0b6b3a7640000886136fb565b6005546001600160801b031691908c5f61238d565b600580546001600160801b0319166001600160801b0392909216919091179055611d938882613627565b9050611d9e816117b9565b600380546001600160801b03928316600160801b029216919091179055611dc4836117b9565b600280546001600160801b0319166001600160801b0392909216919091179055611ded82612752565b600480546001600160801b0319166001600160801b0392909216919091179055611e16876117b9565b60028054601090611e38908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611e8190610fe2906001600160801b0316848461278d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611eef916001600160801b031690613627565b9050805f03611f0257600191505061069a565b5f611f0c856127ef565b9050805f03611f205760019250505061069a565b5f80611f2d83858961288a565b9150915080611f42575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f7d929190613846565b6040805180830381865af4158015611f97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbb91906138bb565b91509150611fd9611fcb82611a64565b611fd4906138dd565b6129fe565b925082611fee575f965050505050505061069a565b611ff7826117b9565b600780545f906120119084906001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061203e816117b9565b60078054601090612060908490600160801b90046001600160801b03166136a1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120bb87612b92565b6040518263ffffffff1660e01b81526004016120d791906138f7565b6040805180830381865af41580156120f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121159190613906565b915091508061212a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161218f91613512565b6121999190613627565b9050805f036121af57505f958695509350505050565b5f8087116121bd575f6121c8565b6121c884888461174a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156121f9576121f9613934565b6040519080825280601f01601f191660200182016040528015612223576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612243578692505b828152825f602083013e90999098509650505050505050565b5f61227c87878761227588670de0b6b3a7640000613627565b8787612ccc565b979650505050505050565b5f6114b66122c76122a084670de0b6b3a7640000613627565b611439670de0b6b3a76400006122b6818a611450565b6122c09190613627565b87906124fc565b6122d990670de0b6b3a7640000613512565b611c1584670de0b6b3a7640000613627565b5f80612321856122f961177a565b6123039190613512565b600254610eb4908790600160801b90046001600160801b0316613627565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612355898789612cee565b90925090506123648289613627565b97505f61237282888a61174a565b905061237e818b613627565b9a989950979650505050505050565b5f825f0361239c5750846117b0565b81156123ee576123cd6123af8487613512565b6123b98587610683565b6123c3888a610683565b611c159190613512565b90505f6123da85886117e6565b9050808210156123e8578091505b506117b0565b8285036123fc57505f6117b0565b6124276124098487613627565b61241385876124fc565b61241d888a610683565b611c159190613627565b9695505050505050565b5f612456600b5f6124436002866111e3565b81526020019081526020015f2054611a64565b612467600b5f6124436001876111e3565b61069a91906136c1565b5f61249c7f0000000000000000000000000000000000000000000000000000000000000000836124fc565b6003546124b291906001600160801b0316613512565b6002546124c8906001600160801b031684610683565b101592915050565b5f61069a826004611ea5565b5f61227c8787876124f588670de0b6b3a7640000613627565b8787612d6d565b5f6106978383670de0b6b3a7640000612651565b5f80808061256087866125598b6114396125328c670de0b6b3a7640000613627565b7f0000000000000000000000000000000000000000000000000000000000000000906124fc565b9190612651565b935061258c847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125ac6125a489670de0b6b3a7640000613627565b8a9088612651565b90506125d8817f00000000000000000000000000000000000000000000000000000000000000006124fc565b9350612604847f0000000000000000000000000000000000000000000000000000000000000000610683565b61260e9084613512565b915050945094509450949050565b5f81831161262a5781610697565b5090919050565b5f80612648846126428a888a612651565b90611450565b9050611c288884865b5f825f190484118302158202612665575f80fd5b50910281810615159190040190565b5f8061267f84612d7d565b9050610d2c8382610683565b5f61069783670de0b6b3a76400008461174a565b5f806126ab8484612de6565b9092509050806126bd576126bd61232c565b5092915050565b5f815f036126db5750670de0b6b3a764000061069a565b825f036126e957505f61069a565b5f6126f383611a64565b90505f61270761270286611a64565b612e1e565b905081810261271e670de0b6b3a764000082613948565b905061242781613043565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061276f575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f80612799845f6131d5565b6127a3845f6131d5565b6127ad91906136c1565b90505f8113156127c8576127c18186613512565b94506127e6565b5f8112156127e6576127d9816138dd565b6127e39086613627565b94505b50929392505050565b6003545f908190612809906001600160801b031684611450565b90506128357f000000000000000000000000000000000000000000000000000000000000000082613512565b6002546001600160801b031611156117f4576002547f0000000000000000000000000000000000000000000000000000000000000000906128809083906001600160801b0316613627565b6114b99190613627565b612892613405565b5f8061289d84612b92565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128d791906138f7565b6040805180830381865af41580156128f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129159190613906565b935090508261292957505f91506129f69050565b5f61294f61294a84610160015185610140015161068390919063ffffffff16565b611a64565b61296f61294a8561012001518661010001516124fc90919063ffffffff16565b61297991906136c1565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ab4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ad89190613974565b935093509350935080612af357505f98975050505050505050565b868414612b2457612b03846117b9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b5557612b3483612752565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b8357612b65826117b9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b9a61344f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c9291166131e3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cc4929004166131e3565b905292915050565b5f80612cdc888888888888613257565b909250905080611c4257611c4261232c565b5f80612d378561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d2d818c611450565b6114399190613627565b9150612d63827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612cdc88888888888861331b565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015612dba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dde91906138bb565b509392505050565b5f805f83612df386611a64565b612dfd91906136c1565b90505f811215612e13575f80925092505061067c565b946001945092505050565b5f808213612e3f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ec29084901c611a64565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361305c57505f919050565b680755bf798b4a1bf1e58212613085576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061242774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a64565b5f81831361262a5781610697565b5f80670de0b6b3a76400006131f66106a0565b61320091906136fb565b905080831161320f575f613219565b6132198184613627565b91506114b9613250670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136fb565b839061268b565b5f805f61326789898888886133d7565b9050613281866117aa61327a8a8d613512565b8790610683565b985061328e858a8661174a565b9850888110156132a4575f809250925050613310565b888103670de0b6b3a764000081106132d9576132d26132cb670de0b6b3a764000089611450565b82906126c4565b90506132f1565b6132ee6132cb670de0b6b3a76400008961268b565b90505b80891015613306575f80935093505050613310565b8803925060019150505b965096945050505050565b5f805f61332b89898888886133d7565b905061333b866117aa898b613512565b975087811015613351575f809250925050613310565b87810361335f818688612651565b9050670de0b6b3a7640000811061338c576133856132cb670de0b6b3a764000089611450565b90506133a4565b6133a16132cb670de0b6b3a76400008961268b565b90505b6133ae8186611450565b9050808a10156133c5575f80935093505050613310565b90980398600198509650505050505050565b5f6133e285856126c4565b6133fb6133f3866117aa868b6124fc565b859085612651565b6124279190613512565b60405180610120016040528061341961344f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156134b7575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156134e2575f80fd5b8501606081880312156134f3575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6134fe565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613549575f80fd5b81356114b981613525565b80151581146105af575f80fd5b5f60208284031215613571575f80fd5b81356114b981613554565b5f808335601e19843603018112613591575f80fd5b83018035915067ffffffffffffffff8211156135ab575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61361a60c0830184866135bf565b9998505050505050505050565b8181038181111561069a5761069a6134fe565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61367360e0830184866135bf565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126bd576126bd6134fe565b6001600160801b038181168382160190808211156126bd576126bd6134fe565b8181035f8312801583831316838312821617156126bd576126bd6134fe565b5f602082840312156136f0575f80fd5b81516114b981613525565b808202811582820484141761069a5761069a6134fe565b6001600160801b038281168282160390808211156126bd576126bd6134fe565b8082018281125f831280158216821582161715613751576137516134fe565b505092915050565b5f60208284031215613769575f80fd5b81516114b981613554565b634e487b7160e01b5f52601260045260245ffd5b5f8261379657613796613774565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6134fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138598285516137c8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156138cc575f80fd5b505080516020909101519092909150565b5f600160ff1b82016138f1576138f16134fe565b505f0390565b610180810161069a82846137c8565b5f8060408385031215613917575f80fd5b82519150602083015161392981613554565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8261395657613956613774565b600160ff1b82145f198414161561396f5761396f6134fe565b500590565b5f805f8060808587031215613987575f80fd5b84519350602085015192506040850151915060608501516134f38161355456fea2646970667358221220236e255a79db1393c18a8216c83057b5006da584dfca625b70e0cd0075dea52064736f6c63430008160033a2646970667358221220a97e8368c0814cab46c11d2986ccd59dc3a985683f9cdb9d42512a9b5fe33a2864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget3.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget3.ts new file mode 100644 index 000000000..5cce8bcde --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget3.ts @@ -0,0 +1,1002 @@ +export const EzETHLineaTarget3 = { + name: 'EzETHLineaTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003e2d38038062003e2d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613978620004b55f395f612b2501525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161203d015281816120a00152818161294901528181612c420152612c7e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c4e01525f8181611da30152612ed401525f81816110260152611d7701525f612e8a01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128df01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61198b01525f50506139785ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046133fd565b610064565b60405190815260200160405180910390f35b61003f61005f36600461345c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896134cf565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826134bc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826134cf565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906134cf565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906134bc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613560565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061356f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613560565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061356f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876134cf565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061359a565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906134bc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561359a565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016135c2565b866107a960408c018c6135dd565b6040516107bc9796959493929190613620565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613673565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061368a565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61359a565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261359a565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016135c2565b87610b5e60408901896135dd565b604051610b719796959493929190613620565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361359a565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016135c2565b15610c8f57610c8585610c8060408701876135dd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876135dd565b611967565b610caf611a23565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a35565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6134cf565b8a84611a4a565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836134bc565b4290611b83565b84611a4a565b610f5888611b91565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6134cf565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d2e565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d62565b915091508060095f828254610ff591906134bc565b909155506110109050865f8461100a81611766565b88611e2f565b61101a81836134bc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611fa6565b915061105e6110598385611fe9565b611ffd565b6006805460029061107f9084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d2e565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d62565b915091508060095f82825461114191906134bc565b9091555061115c9050835f8461115681611766565b8a612026565b61116681836134cf565b91506111756110598387611fe9565b600680546002906111969084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906136f5565b5f612216565b8e6112428482612255565b50505b5f61124f84612444565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613714565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612586565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d2e565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d2e565b6113f791906136f5565b92915050565b5f805f8061140b8a8a61260e565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8b7f0000000000000000000000000000000000000000000000000000000000000000612646565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8d7f00000000000000000000000000000000000000000000000000000000000000006126ff565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846127b9565b509093505f9050611568848f6134bc565b90505f6115888b8b61157987611766565b611583908e61372f565b612801565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612863565b611766565b6115c683611766565b6115d36115b88685611fe9565b6115dd91906136f5565b6115e791906136f5565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612873565b61162685670de0b6b3a76400006134cf565b906117d4565b61163461334e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612896565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612896565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612903565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906134bc565b90915550505f838152600b60205260408120805483929061183b9084906134bc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612255565b5f8183136118a7578261008d565b50919050565b5f806118b9848461260e565b9092509050806118cb576118cb612a97565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612ab0565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fd9190613756565b905080611a1d576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610c2d670de0b6b3a7640000612b1f565b5f611a408284613785565b61008d90846134cf565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a755750505050565b5f848152600860205260408120546001600160801b031690819003611acd57611a9d836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b4a565b611b1e611b19670de0b6b3a7640000611ae688866134cf565b611af09190613673565b85670de0b6b3a7640000611b04878a6134cf565b611b0e9190613673565b859291906001612b4a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b53846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611bb3908490600160801b90046001600160801b0316611fe9565b6006546201000090046001600160701b03169250905081811115611d29575f611bdc83836134cf565b9050611beb611b198286612be4565b60068054601090611c0d908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c4585836117d490919063ffffffff16565b90505f611c72827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b90508060095f828254611c8591906134bc565b90915550611c95905081836134cf565b9150611ca0826118d2565b600280545f90611cba9084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ce782612bf8565b600480545f90611cfb908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d6e87856117d4565b91505f611d9b837f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050611dc7817f0000000000000000000000000000000000000000000000000000000000000000611fe9565b91508315611dea57611dd982826134cf565b611de390846134cf565b9250611e01565b611df482826134cf565b611dfe90846134bc565b92505b86861015611e2457611e148387896117b9565b9250611e218287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e77611b1982611e5b670de0b6b3a764000086613673565b600554600160801b90046001600160801b031691908a5f612b4a565b600580546001600160801b03928316600160801b029216919091179055611e9d866118d2565b611ea79082613798565b600480546001600160801b03928316600160801b029216919091179055611ecd846118d2565b600280545f90611ee79084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f14836118fb565b600480545f90611f28908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f58856118d2565b60028054601090611f7a908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611fb7846116268a888a6117b9565b9050611fc48884866117b9565b611fce90826134bc565b905086811115611fde5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061206857507f000000000000000000000000000000000000000000000000000000000000000061206685836134cf565b105b1561207557612075612a97565b6004549084900390600f0b61208a84826136f5565b90508361209686611766565b1380156120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c983836118ad565b105b156120d8576120d8612a97565b600354600160801b90046001600160801b0316612119611b1982612104670de0b6b3a764000088613673565b6005546001600160801b031691908c5f612b4a565b600580546001600160801b0319166001600160801b039290921691909117905561214388826134cf565b905061214e816118d2565b600380546001600160801b03928316600160801b029216919091179055612174836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561219d826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121c6876118d2565b600280546010906121e8908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461223190611b19906001600160801b03168484612801565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161229f916001600160801b0316906134cf565b9050805f036122b25760019150506113f7565b5f6122bc85612c21565b9050805f036122d0576001925050506113f7565b5f806122dd838589612cbc565b91509150806122f2575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161232d9291906137e5565b6040805180830381865af4158015612347573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236b919061385a565b9150915061238961237b82611766565b6123849061387c565b612903565b92508261239e575f96505050505050506113f7565b6123a7826118d2565b600780545f906123c19084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123ee816118d2565b60078054601090612410908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61246b8761162c565b6040518263ffffffff1660e01b81526004016124879190613560565b6040805180830381865af41580156124a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c59190613896565b91509150806124da57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161253f916134bc565b61254991906134cf565b9050805f0361255f57505f958695509350505050565b5f80871161256d575f612578565b6125788488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156125a9576125a96138c4565b6040519080825280601f01601f1916602001820160405280156125d3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125f3578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361261b86611766565b61262591906136f5565b90505f81121561263b575f809250925050610d21565b946001945092505050565b5f805f6126568888888888612e2b565b90505f612680670de0b6b3a764000061266f8888612be4565b61267991906134bc565b83906117d4565b9050670de0b6b3a764000081106126b4576126ad6126a6670de0b6b3a7640000896117d4565b8290612ab0565b90506126cc565b6126c96126a6670de0b6b3a764000089612be4565b90505b6126d681866117d4565b9050888110156126ed575f80935093505050612604565b97909703976001975095505050505050565b5f805f61270f8989888888612e59565b9050612729866119466127228a8d6134bc565b8790611fe9565b9850612736858a866117b9565b98508881101561274c575f8092509250506115f6565b888103670de0b6b3a7640000811061277a576127736126a6670de0b6b3a764000089612be4565b9050612792565b61278f6126a6670de0b6b3a7640000896117d4565b90505b808910156127a7575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127c9898789612e7d565b90925090506127d882896134cf565b97505f6127e682888a6117b9565b90506127f2818b6134cf565b9a989950979650505050505050565b5f8061280d845f612f02565b612817845f612f02565b61282191906136f5565b90505f81131561283c5761283581866134bc565b945061285a565b5f81121561285a5761284d8161387c565b61285790866134cf565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612887575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006128a9610d28565b6128b39190613673565b90508083116128c2575f6128cc565b6128cc81846134cf565b915061008d612679670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613673565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129dd91906138d8565b9350935093509350806129f857505f98975050505050505050565b868414612a2957612a08846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a5a57612a39836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a8857612a6a826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ac75750670de0b6b3a76400006113f7565b825f03612ad557505f6113f7565b5f612adf83611766565b90505f612af3612aee86611766565b612f17565b9050818102612b0a670de0b6b3a764000082613916565b9050612b158161313c565b9695505050505050565b5f6113f77f0000000000000000000000000000000000000000000000000000000000000000836132ce565b5f825f03612b59575084610075565b8115612bab57612b8a612b6c84876134bc565b612b768587611fe9565b612b80888a611fe9565b61162691906134bc565b90505f612b978588611b83565b905080821015612ba5578091505b50610075565b828503612bb957505f610075565b610072612bc684876134cf565b612bd08587612863565b612bda888a611fe9565b61162691906134cf565b5f61008d83670de0b6b3a764000084612873565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c3b906001600160801b031684612be4565b9050612c677f0000000000000000000000000000000000000000000000000000000000000000826134bc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cb29083906001600160801b03166134cf565b61008d91906134cf565b612cc46133a3565b5f80612ccf8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d099190613560565b6040805180830381865af4158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d479190613896565b9350905082612d5b57505f9150612e239050565b5f612d7c6115b8846101600151856101400151611fe990919063ffffffff16565b612d9c6115b885610120015186610100015161286390919063ffffffff16565b612da691906136f5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e368585612ab0565b612e4f612e4786611946868b611fe9565b8590856117b9565b61007291906134bc565b5f612e648585612ab0565b612e4f612e7586611946868b612863565b859085612873565b5f80612ecc85612ec685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ebc818c612be4565b612ec691906134cf565b90612863565b9150612ef8827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050935093915050565b5f818313612f10578161008d565b5090919050565b5f808213612f385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fbb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361315557505f919050565b680755bf798b4a1bf1e5821261317e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b1574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f806132d9846132e5565b90506113af8382611fe9565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015613322573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613346919061385a565b509392505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806133b761334e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613411575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613443575f80fd5b61344f888289016133ed565b9150509295509295909350565b5f805f6060848603121561346e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613492575f80fd5b61349e868287016133ed565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76134a8565b818103818111156113f7576113f76134a8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846134e2565b5f6020828403121561357f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156135aa575f80fd5b813561008d81613586565b8015158114610c0a575f80fd5b5f602082840312156135d2575f80fd5b813561008d816135b5565b5f808335601e198436030181126135f2575f80fd5b83018035915067ffffffffffffffff82111561360c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76134a8565b5f805f6060848603121561369c575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6134a8565b6001600160801b038181168382160190808211156118cb576118cb6134a8565b8181035f8312801583831316838312821617156118cb576118cb6134a8565b5f60208284031215613724575f80fd5b815161008d81613586565b8082018281125f83128015821682158216171561374e5761374e6134a8565b505092915050565b5f60208284031215613766575f80fd5b815161008d816135b5565b634e487b7160e01b5f52601260045260245ffd5b5f8261379357613793613771565b500690565b6001600160801b038281168282160390808211156118cb576118cb6134a8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76134a8565b5f6102a0820190506137f88285516134e2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561386b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613890576138906134a8565b505f0390565b5f80604083850312156138a7575f80fd5b8251915060208301516138b9816135b5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156138eb575f80fd5b845193506020850151925060408501519150606085015161390b816135b5565b939692955090935050565b5f8261392457613924613771565b600160ff1b82145f198414161561393d5761393d6134a8565b50059056fea264697066735822122094312e6095c3f8c3bc7bbcc9e2b97f76c2982a6067293e8ee56f615eb947fb7e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget3Deployer.ts new file mode 100644 index 000000000..c78711a36 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget3Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHLineaTarget3Deployer = { + name: 'EzETHLineaTarget3Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516143e23803806143e283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516143596100895f395f8181603d015260b801526143595ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613e2d806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003e2d38038062003e2d8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613978620004b55f395f612b2501525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161203d015281816120a00152818161294901528181612c420152612c7e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c4e01525f8181611da30152612ed401525f81816110260152611d7701525f612e8a01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128df01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f61198b01525f50506139785ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046133fd565b610064565b60405190815260200160405180910390f35b61003f61005f36600461345c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896134cf565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826134bc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826134cf565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906134cf565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906134bc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613560565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061356f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613560565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061356f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876134cf565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061359a565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906134bc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561359a565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016135c2565b866107a960408c018c6135dd565b6040516107bc9796959493929190613620565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613673565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061368a565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61359a565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261359a565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016135c2565b87610b5e60408901896135dd565b604051610b719796959493929190613620565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361359a565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016135c2565b15610c8f57610c8585610c8060408701876135dd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876135dd565b611967565b610caf611a23565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a35565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6134bc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6134cf565b8a84611a4a565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836134bc565b4290611b83565b84611a4a565b610f5888611b91565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6134cf565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d2e565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d62565b915091508060095f828254610ff591906134bc565b909155506110109050865f8461100a81611766565b88611e2f565b61101a81836134bc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611fa6565b915061105e6110598385611fe9565b611ffd565b6006805460029061107f9084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d2e565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d62565b915091508060095f82825461114191906134bc565b9091555061115c9050835f8461115681611766565b8a612026565b61116681836134cf565b91506111756110598387611fe9565b600680546002906111969084906201000090046001600160701b03166136b5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906136f5565b5f612216565b8e6112428482612255565b50505b5f61124f84612444565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613714565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612586565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d2e565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d2e565b6113f791906136f5565b92915050565b5f805f8061140b8a8a61260e565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8b7f0000000000000000000000000000000000000000000000000000000000000000612646565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006134cf565b8d7f00000000000000000000000000000000000000000000000000000000000000006126ff565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c846127b9565b509093505f9050611568848f6134bc565b90505f6115888b8b61157987611766565b611583908e61372f565b612801565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612863565b611766565b6115c683611766565b6115d36115b88685611fe9565b6115dd91906136f5565b6115e791906136f5565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612873565b61162685670de0b6b3a76400006134cf565b906117d4565b61163461334e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612896565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612896565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612903565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906134bc565b90915550505f838152600b60205260408120805483929061183b9084906134bc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612255565b5f8183136118a7578261008d565b50919050565b5f806118b9848461260e565b9092509050806118cb576118cb612a97565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612ab0565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fd9190613756565b905080611a1d576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610c2d670de0b6b3a7640000612b1f565b5f611a408284613785565b61008d90846134cf565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a755750505050565b5f848152600860205260408120546001600160801b031690819003611acd57611a9d836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b4a565b611b1e611b19670de0b6b3a7640000611ae688866134cf565b611af09190613673565b85670de0b6b3a7640000611b04878a6134cf565b611b0e9190613673565b859291906001612b4a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b53846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611bb3908490600160801b90046001600160801b0316611fe9565b6006546201000090046001600160701b03169250905081811115611d29575f611bdc83836134cf565b9050611beb611b198286612be4565b60068054601090611c0d908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c4585836117d490919063ffffffff16565b90505f611c72827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b90508060095f828254611c8591906134bc565b90915550611c95905081836134cf565b9150611ca0826118d2565b600280545f90611cba9084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ce782612bf8565b600480545f90611cfb908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d6e87856117d4565b91505f611d9b837f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050611dc7817f0000000000000000000000000000000000000000000000000000000000000000611fe9565b91508315611dea57611dd982826134cf565b611de390846134cf565b9250611e01565b611df482826134cf565b611dfe90846134bc565b92505b86861015611e2457611e148387896117b9565b9250611e218287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e77611b1982611e5b670de0b6b3a764000086613673565b600554600160801b90046001600160801b031691908a5f612b4a565b600580546001600160801b03928316600160801b029216919091179055611e9d866118d2565b611ea79082613798565b600480546001600160801b03928316600160801b029216919091179055611ecd846118d2565b600280545f90611ee79084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f14836118fb565b600480545f90611f28908490600f0b6137b8565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f58856118d2565b60028054601090611f7a908490600160801b90046001600160801b0316613798565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611fb7846116268a888a6117b9565b9050611fc48884866117b9565b611fce90826134bc565b905086811115611fde5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061206857507f000000000000000000000000000000000000000000000000000000000000000061206685836134cf565b105b1561207557612075612a97565b6004549084900390600f0b61208a84826136f5565b90508361209686611766565b1380156120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c983836118ad565b105b156120d8576120d8612a97565b600354600160801b90046001600160801b0316612119611b1982612104670de0b6b3a764000088613673565b6005546001600160801b031691908c5f612b4a565b600580546001600160801b0319166001600160801b039290921691909117905561214388826134cf565b905061214e816118d2565b600380546001600160801b03928316600160801b029216919091179055612174836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561219d826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121c6876118d2565b600280546010906121e8908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461223190611b19906001600160801b03168484612801565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161229f916001600160801b0316906134cf565b9050805f036122b25760019150506113f7565b5f6122bc85612c21565b9050805f036122d0576001925050506113f7565b5f806122dd838589612cbc565b91509150806122f2575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161232d9291906137e5565b6040805180830381865af4158015612347573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236b919061385a565b9150915061238961237b82611766565b6123849061387c565b612903565b92508261239e575f96505050505050506113f7565b6123a7826118d2565b600780545f906123c19084906001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123ee816118d2565b60078054601090612410908490600160801b90046001600160801b03166136d5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61246b8761162c565b6040518263ffffffff1660e01b81526004016124879190613560565b6040805180830381865af41580156124a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c59190613896565b91509150806124da57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161253f916134bc565b61254991906134cf565b9050805f0361255f57505f958695509350505050565b5f80871161256d575f612578565b6125788488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156125a9576125a96138c4565b6040519080825280601f01601f1916602001820160405280156125d3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125f3578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361261b86611766565b61262591906136f5565b90505f81121561263b575f809250925050610d21565b946001945092505050565b5f805f6126568888888888612e2b565b90505f612680670de0b6b3a764000061266f8888612be4565b61267991906134bc565b83906117d4565b9050670de0b6b3a764000081106126b4576126ad6126a6670de0b6b3a7640000896117d4565b8290612ab0565b90506126cc565b6126c96126a6670de0b6b3a764000089612be4565b90505b6126d681866117d4565b9050888110156126ed575f80935093505050612604565b97909703976001975095505050505050565b5f805f61270f8989888888612e59565b9050612729866119466127228a8d6134bc565b8790611fe9565b9850612736858a866117b9565b98508881101561274c575f8092509250506115f6565b888103670de0b6b3a7640000811061277a576127736126a6670de0b6b3a764000089612be4565b9050612792565b61278f6126a6670de0b6b3a7640000896117d4565b90505b808910156127a7575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127c9898789612e7d565b90925090506127d882896134cf565b97505f6127e682888a6117b9565b90506127f2818b6134cf565b9a989950979650505050505050565b5f8061280d845f612f02565b612817845f612f02565b61282191906136f5565b90505f81131561283c5761283581866134bc565b945061285a565b5f81121561285a5761284d8161387c565b61285790866134cf565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612887575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006128a9610d28565b6128b39190613673565b90508083116128c2575f6128cc565b6128cc81846134cf565b915061008d612679670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613673565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129dd91906138d8565b9350935093509350806129f857505f98975050505050505050565b868414612a2957612a08846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a5a57612a39836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a8857612a6a826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ac75750670de0b6b3a76400006113f7565b825f03612ad557505f6113f7565b5f612adf83611766565b90505f612af3612aee86611766565b612f17565b9050818102612b0a670de0b6b3a764000082613916565b9050612b158161313c565b9695505050505050565b5f6113f77f0000000000000000000000000000000000000000000000000000000000000000836132ce565b5f825f03612b59575084610075565b8115612bab57612b8a612b6c84876134bc565b612b768587611fe9565b612b80888a611fe9565b61162691906134bc565b90505f612b978588611b83565b905080821015612ba5578091505b50610075565b828503612bb957505f610075565b610072612bc684876134cf565b612bd08587612863565b612bda888a611fe9565b61162691906134cf565b5f61008d83670de0b6b3a764000084612873565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c3b906001600160801b031684612be4565b9050612c677f0000000000000000000000000000000000000000000000000000000000000000826134bc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cb29083906001600160801b03166134cf565b61008d91906134cf565b612cc46133a3565b5f80612ccf8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d099190613560565b6040805180830381865af4158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d479190613896565b9350905082612d5b57505f9150612e239050565b5f612d7c6115b8846101600151856101400151611fe990919063ffffffff16565b612d9c6115b885610120015186610100015161286390919063ffffffff16565b612da691906136f5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e368585612ab0565b612e4f612e4786611946868b611fe9565b8590856117b9565b61007291906134bc565b5f612e648585612ab0565b612e4f612e7586611946868b612863565b859085612873565b5f80612ecc85612ec685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ebc818c612be4565b612ec691906134cf565b90612863565b9150612ef8827f0000000000000000000000000000000000000000000000000000000000000000611fe9565b9050935093915050565b5f818313612f10578161008d565b5090919050565b5f808213612f385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fbb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361315557505f919050565b680755bf798b4a1bf1e5821261317e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b1574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f806132d9846132e5565b90506113af8382611fe9565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa158015613322573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613346919061385a565b509392505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806133b761334e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613411575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613443575f80fd5b61344f888289016133ed565b9150509295509295909350565b5f805f6060848603121561346e575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613492575f80fd5b61349e868287016133ed565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76134a8565b818103818111156113f7576113f76134a8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846134e2565b5f6020828403121561357f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156135aa575f80fd5b813561008d81613586565b8015158114610c0a575f80fd5b5f602082840312156135d2575f80fd5b813561008d816135b5565b5f808335601e198436030181126135f2575f80fd5b83018035915067ffffffffffffffff82111561360c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76134a8565b5f805f6060848603121561369c575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6134a8565b6001600160801b038181168382160190808211156118cb576118cb6134a8565b8181035f8312801583831316838312821617156118cb576118cb6134a8565b5f60208284031215613724575f80fd5b815161008d81613586565b8082018281125f83128015821682158216171561374e5761374e6134a8565b505092915050565b5f60208284031215613766575f80fd5b815161008d816135b5565b634e487b7160e01b5f52601260045260245ffd5b5f8261379357613793613771565b500690565b6001600160801b038281168282160390808211156118cb576118cb6134a8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76134a8565b5f6102a0820190506137f88285516134e2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561386b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613890576138906134a8565b505f0390565b5f80604083850312156138a7575f80fd5b8251915060208301516138b9816135b5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156138eb575f80fd5b845193506020850151925060408501519150606085015161390b816135b5565b939692955090935050565b5f8261392457613924613771565b600160ff1b82145f198414161561393d5761393d6134a8565b50059056fea264697066735822122094312e6095c3f8c3bc7bbcc9e2b97f76c2982a6067293e8ee56f615eb947fb7e64736f6c63430008160033a264697066735822122053626dfe90230be3cfa3d38abf5dc5742e465b8cb62617b35fd8bbce0c214de364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget4.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget4.ts new file mode 100644 index 000000000..848d58a13 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget4.ts @@ -0,0 +1,981 @@ +export const EzETHLineaTarget4 = { + name: 'EzETHLineaTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620031e1380380620031e18339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612dd26200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612dd25ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab19190612c46565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c38161294556fea26469706673582212200346933a59005cfae56c249e093d82d3765d00759b04265e1bb8dd389344a05564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHLineaTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHLineaTarget4Deployer.ts new file mode 100644 index 000000000..8bba44f03 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHLineaTarget4Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHLineaTarget4Deployer = { + name: 'EzETHLineaTarget4Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_xRenzoDeposit", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161379638038061379683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161370d6100895f395f8181603d015260b8015261370d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806312ae5e67146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6131e1806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620031e1380380620031e18339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612dd26200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612dd25ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f80826001600160a01b03166396f0bd616040518163ffffffff1660e01b81526004016040805180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab19190612c46565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c38161294556fea26469706673582212200346933a59005cfae56c249e093d82d3765d00759b04265e1bb8dd389344a05564736f6c63430008160033a264697066735822122077d7b6e575688ed2cfaaa88f74afafcd2c0f7b72e3b392651aeb3ee931a526e364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget0.ts b/packages/hyperdrive-artifacts/src/EzETHTarget0.ts new file mode 100644 index 000000000..f7add842b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget0.ts @@ -0,0 +1,1965 @@ +export const EzETHTarget0 = { + name: 'EzETHTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "renzo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRenzoOracle" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b50604051620041c2380380620041c283398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c9c620005265f395f8181610be9015281816125bc015261262901525f8181610b7f015281816125dd015261264a01525f8181610d7b015261234401525f8181610d4c015261230701525f8181610c2801528181610eab01528181610f3901528181610fc7015281816110550152818161165e015281816116f4015281816118b601528181611ece01528181611fa201526120f301525f610e1301525f8181610ded01526124e901525f8181610dc701526124c301525f8181610da1015261249d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e85015261250f01525f8181610e39015281816112eb015261291001525f8181610e5f0152612d1d01525f818161062d01528181610d1d01528181611e43015281816125fe0152818161266b0152612cac01525f8181610cee01526112880152613c9c5ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c80636a1a3f3d11610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610502578063d816574314610515578063e44808bc1461052a578063e985e9c51461053d578063fba5600814610550575f80fd5b8063bd85b039146104ac578063becee9c3146104bf578063c55dae63146104df578063c69e16ad146104e7578063c6e6f592146104ef575f80fd5b80639cd241af116100fa5780639cd241af1461044d578063a22cb46514610460578063ab033ea914610473578063b0d9658014610484578063b88fed9f14610499575f80fd5b80636a1a3f3d146104105780637180c8ca146104185780637ecebe001461042a578063892866a41461043d578063950c5d0314610445575f80fd5b806321ff32a9116101c157806346fbf68e1161018657806346fbf68e146103aa5780634e41a1fb146103cd5780634ed2d6ac146103e057806354fd4d50146103f357806360246c88146103fb575f80fd5b806321ff32a914610341578063313ce567146103625780633656eec21461037c5780633a98ef391461038f5780633e691db914610397575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e957806320fc4881146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612f55565b61057f565b6040516102629190612fb9565b60405180910390f35b61027e610279366004612fdf565b6105b6565b005b61027e61028e366004613007565b6105bf565b6102556105c8565b610255610608565b6102ab61061f565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004613022565b61065e565b61027e6102e43660046130f8565b61067a565b61027e6102f7366004613187565b610690565b61030f61030a366004612f55565b6106a3565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61035461034f3660046131cc565b61070c565b604051908152602001610262565b61036a610751565b60405160ff9091168152602001610262565b61035461038a36600461320b565b610768565b6103546107a0565b6103546103a5366004613239565b6107be565b6103bd6103b8366004612fdf565b6107c8565b6040519015158152602001610262565b6102556103db366004612f55565b6107e7565b61027e6103ee366004613270565b6107f5565b610255610843565b610403610878565b60405161026291906132b7565b6102ab610b71565b61027e610426366004613358565b5050565b610354610438366004612fdf565b610bb0565b6102ab610bdb565b6102ab610c1a565b61027e61045b366004613384565b610c59565b61027e61046e366004613358565b610c6a565b61027e610481366004612fdf565b50565b61048c610cd5565b60405161026291906133b9565b6103546104a7366004612f55565b611195565b6103546104ba366004612f55565b6111a2565b6104d26104cd3660046134df565b6111c3565b604051610262919061351e565b6102ab61127a565b6103546112b9565b6103546104fd366004612f55565b6112d2565b610354610510366004612f55565b6112df565b61051d611315565b6040516102629190613561565b61027e610538366004613672565b611420565b6103bd61054b3660046136cd565b611468565b6105586114ab565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105b161058d83611509565b60405160200161059d9190612fb9565b60405160208183030381529060405261162f565b919050565b61048181611653565b610481816118b4565b60606106056040518060400160405280600f81526020016e457a4554484879706572647269766560881b81525060405160200161059d9190612fb9565b90565b6060610605600160405160200161059d91906136f9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b61066f8989898989898989896119cc565b505050505050505050565b610688868686868686611bbe565b505050505050565b61069d8484848433611c71565b50505050565b604080516060810182525f80825260208201819052918101919091526105b160085f8481526020019081526020015f2060405160200161059d919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261074a910161059d565b9392505050565b60408051601260208201525f91610605910161059d565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261079a910161059d565b92915050565b5f6106056107ac611e2c565b60405160200161059d91815260200190565b5f61079a82611eb9565b5f6105b16107d5836120ef565b6040805191151560208301520161059d565b60606105b161058d836121cd565b836107ff816122c9565b6001600160a01b0316336001600160a01b03161461083057604051632aab8bd360e01b815260040160405180910390fd5b61083c85858585612386565b5050505050565b606061060560405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161059d9190612fb9565b6108e2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108eb6123f2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161095591906137ce565b61095f91906137e1565b90505f8215610a6e5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61098b85612404565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5e91906137f4565b509050610a6b818461258e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3e57610b3984866125a2565b610b40565b5f5b81526003546001600160801b0316602091820152604051919250610b6a9161059d918491016132b7565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105b1910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b610c6583838333612386565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612e81565b6106056040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f299190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb79190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110459190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d39190613817565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161059d91906133b9565b5f6105b16107ac836125b6565b5f818152600b60209081526040808320548151928301526105b1910161059d565b60605f8267ffffffffffffffff8111156111df576111df613832565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f85858381811061122857611228613846565b9050602002013590505f815490508084848151811061124957611249613846565b6020908102919091010152505060010161120d565b506112738160405160200161059d919061351e565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b5f61060560095460405160200161059d91815260200190565b5f6105b16107ac83612623565b5f6105b16107ac6113107f0000000000000000000000000000000000000000000000000000000000000000856137ce565b612690565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152610605600260405160200161059d919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461142a816122c9565b6001600160a01b0316336001600160a01b03161461145b57604051632aab8bd360e01b815260040160405180910390fd5b6106888686868686611c71565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161079a910161059d565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526106059060600161059d565b606060f882901c6001600160f81b0383165f611524826126d0565b90505f836003811115611539576115396137a6565b0361156b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611627565b600183600381111561157f5761157f6137a6565b036115ab5780604051602001611595919061385a565b6040516020818303038152906040529350611627565b60028360038111156115bf576115bf6137a6565b036115d557806040516020016115959190613892565b60038360038111156115e9576115e96137a6565b03611627576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161164a9190612fb9565b60405180910390fd5b61165b612782565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116dc9190613817565b9050336001600160a01b0382161480159061178857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561174e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117729190613817565b6001600160a01b0316336001600160a01b031614155b801561179a5750611798336120ef565b155b156117b7576040516282b42960e81b815260040160405180910390fd5b5f6117c0611e2c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182b91906138cb565b90506118416001600160a01b03851684836127aa565b8161184a611e2c565b14611868576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061048160015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611910573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119349190613817565b6001600160a01b0316336001600160a01b03161415801561195b5750611959336120ef565b155b15611978576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119c190831515815260200190565b60405180910390a150565b834211156119ed5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a145760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611afe573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b3c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bdb57506001600160a01b038516155b15611bf95760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c195760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c6857611c60858583818110611c3857611c38613846565b905060200201358888868686818110611c5357611c53613846565b9050602002013533611c71565b600101611c1b565b50505050505050565b6001600160a01b0384161580611c8e57506001600160a01b038316155b15611cac5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d6c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d6c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d6a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d649084906137e1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d9d9084906137e1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dd39084906137ce565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb491906138cb565b905090565b5f611ec2612782565b611ecb826127fc565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4c9190613817565b90506001600160a01b038116611f656020850185612fdf565b6001600160a01b031614611f8c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061203657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120209190613817565b6001600160a01b0316336001600160a01b031614155b80156120485750612046336120ef565b155b15612065576040516282b42960e81b815260040160405180910390fd5b5f61206e6123f2565b600980545f909155909150612084818387612831565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120c360408a0160208b01613007565b60408051938452602084019290925215159082015260600160405180910390a25050506105b160015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561214c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121739190810190613936565b90505f5b81518110156121c457836001600160a01b031682828151811061219c5761219c613846565b60200260200101516001600160a01b0316036121bc575060019392505050565b600101612177565b505f9392505050565b606060f882901c6001600160f81b0383165f6121e8826126d0565b90505f8360038111156121fd576121fd6137a6565b0361222f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611627565b6001836003811115612243576122436137a6565b03612259578060405160200161159591906139c5565b600283600381111561226d5761226d6137a6565b03612283578060405160200161159591906139fc565b6003836003811115612297576122976137a6565b0361162757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611eb4670de0b6b3a76400006125b6565b61245c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161255491166128c7565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612586929004166128c7565b905292915050565b5f61074a8383670de0b6b3a764000061293b565b5f61074a83670de0b6b3a76400008461293b565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612956565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612aa3565b5f6126b5600b5f6126a2600286612baa565b81526020019081526020015f2054612bde565b6126c6600b5f6126a2600187612baa565b61079a9190613a27565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277457612709600a86613a5a565b6127149060306137ce565b60f81b82600161272484876137e1565b61272e91906137e1565b8151811061273e5761273e613846565b60200101906001600160f81b03191690815f1a9053508061275e81613a6d565b915061276d9050600a86613a85565b94506126f8565b918290030190815292915050565b60025f54036127a457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612c0b565b5f61280a6020830183612fdf565b6001600160a01b0316036104815760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061283d858561258e565b905061284881612623565b9450845f0361285a575f91505061074a565b84915061286d6040840160208501613007565b1561289c57612895856128836020860186612fdf565b6128906040870187613a98565b612c6c565b91506128bf565b6128bf856128ad6020860186612fdf565b6128ba6040870187613a98565b612c86565b509392505050565b5f80670de0b6b3a76400006128da612d16565b6128e49190613adb565b90508083116128f3575f6128fd565b6128fd81846137e1565b915061074a612934670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613adb565b83906125a2565b5f825f19048411830215820261294f575f80fd5b5091020490565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612993573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129ba9190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a1f91906138cb565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9891906138cb565b979650505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612ae0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b079190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6c91906138cb565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a90606401612a59565b5f6001600160f81b03821115612bd35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612c075760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612c1f6001600160a01b03841683612d41565b905080515f14158015612c43575080806020019051810190612c419190613c30565b155b15610c6557604051635274afe760e01b81526001600160a01b038416600482015260240161164a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612cf2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613c30565b5f611eb4427f0000000000000000000000000000000000000000000000000000000000000000612d4e565b606061074a83835f612d63565b5f612d598284613a5a565b61074a90846137e1565b606081471015612d885760405163cd78605960e01b815230600482015260240161164a565b5f80856001600160a01b03168486604051612da39190613c4b565b5f6040518083038185875af1925050503d805f8114612ddd576040519150601f19603f3d011682016040523d82523d5f602084013e612de2565b606091505b5091509150612df2868383612dfc565b9695505050505050565b606082612e1157612e0c82612e58565b61074a565b8151158015612e2857506001600160a01b0384163b155b15612e5157604051639996b31560e01b81526001600160a01b038516600482015260240161164a565b508061074a565b805115612e685780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612f5060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612f65575f80fd5b5035919050565b5f5b83811015612f86578181015183820152602001612f6e565b50505f910152565b5f8151808452612fa5816020860160208601612f6c565b601f01601f19169290920160200192915050565b602081525f61074a6020830184612f8e565b6001600160a01b0381168114610481575f80fd5b5f60208284031215612fef575f80fd5b813561074a81612fcb565b8015158114610481575f80fd5b5f60208284031215613017575f80fd5b813561074a81612ffa565b5f805f805f805f805f6101208a8c03121561303b575f80fd5b8935985060208a0135975060408a013561305481612fcb565b965060608a013561306481612fcb565b955060808a013561307481612ffa565b945060a08a0135935060c08a013560ff81168114613090575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126130c0575f80fd5b50813567ffffffffffffffff8111156130d7575f80fd5b6020830191508360208260051b85010111156130f1575f80fd5b9250929050565b5f805f805f806080878903121561310d575f80fd5b863561311881612fcb565b9550602087013561312881612fcb565b9450604087013567ffffffffffffffff80821115613144575f80fd5b6131508a838b016130b0565b90965094506060890135915080821115613168575f80fd5b5061317589828a016130b0565b979a9699509497509295939492505050565b5f805f806080858703121561319a575f80fd5b8435935060208501356131ac81612fcb565b925060408501356131bc81612fcb565b9396929550929360600135925050565b5f805f606084860312156131de575f80fd5b8335925060208401356131f081612fcb565b9150604084013561320081612fcb565b809150509250925092565b5f806040838503121561321c575f80fd5b82359150602083013561322e81612fcb565b809150509250929050565b5f60208284031215613249575f80fd5b813567ffffffffffffffff81111561325f575f80fd5b82016060818503121561074a575f80fd5b5f805f8060808587031215613283575f80fd5b84359350602085013561329581612fcb565b92506040850135915060608501356132ac81612fcb565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613369575f80fd5b823561337481612fcb565b9150602083013561322e81612ffa565b5f805f60608486031215613396575f80fd5b8335925060208401356133a881612fcb565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516133e560208401826001600160a01b03169052565b50604083015161340060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613472828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156134f0575f80fd5b823567ffffffffffffffff811115613506575f80fd5b613512858286016130b0565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561355557835183529284019291840191600101613539565b50909695505050505050565b81516001600160801b031681526101808101602083015161358d60208401826001600160801b03169052565b5060408301516135a860408401826001600160801b03169052565b5060608301516135c360608401826001600160801b03169052565b5060808301516135d86080840182600f0b9052565b5060a08301516135f360a08401826001600160801b03169052565b5060c083015161360e60c08401826001600160801b03169052565b5060e083015161362960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526134d7565b5f805f805f60a08688031215613686575f80fd5b85359450602086013561369881612fcb565b935060408601356136a881612fcb565b92506060860135915060808601356136bf81612fcb565b809150509295509295909350565b5f80604083850312156136de575f80fd5b82356136e981612fcb565b9150602083013561322e81612fcb565b5f60208083525f84545f60018260011c9150600183168061371b57607f831692505b60208310810361373957634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613758576001811461376e57613797565b60ff198616825284151560051b82019650613797565b5f8b8152602090205f5b8681101561379157815484820152908501908901613778565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561079a5761079a6137ba565b8181038181111561079a5761079a6137ba565b5f8060408385031215613805575f80fd5b82519150602083015161322e81612ffa565b5f60208284031215613827575f80fd5b815161074a81612fcb565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613885816011850160208701612f6c565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516138be816012850160208701612f6c565b9190910160120192915050565b5f602082840312156138db575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561390b5761390b613832565b604052919050565b5f67ffffffffffffffff82111561392c5761392c613832565b5060051b60200190565b5f6020808385031215613947575f80fd5b825167ffffffffffffffff81111561395d575f80fd5b8301601f8101851361396d575f80fd5b805161398061397b82613913565b6138e2565b81815260059190911b8201830190838101908783111561399e575f80fd5b928401925b82841015612a985783516139b681612fcb565b825292840192908401906139a3565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516139ef816010850160208701612f6c565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613885816011850160208701612f6c565b8181035f831280158383131683831282161715611273576112736137ba565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6857613a68613a46565b500690565b5f60018201613a7e57613a7e6137ba565b5060010190565b5f82613a9357613a93613a46565b500490565b5f808335601e19843603018112613aad575f80fd5b83018035915067ffffffffffffffff821115613ac7575f80fd5b6020019150368190038213156130f1575f80fd5b808202811582820484141761079a5761079a6137ba565b5f82601f830112613b01575f80fd5b81516020613b1161397b83613913565b8083825260208201915060208460051b870101935086841115613b32575f80fd5b602086015b84811015613b4e5780518352918301918301613b37565b509695505050505050565b5f805f60608486031215613b6b575f80fd5b835167ffffffffffffffff80821115613b82575f80fd5b818601915086601f830112613b95575f80fd5b81516020613ba561397b83613913565b82815260059290921b8401810191818101908a841115613bc3575f80fd5b8286015b84811015613bf957805186811115613bdd575f80fd5b613beb8d86838b0101613af2565b845250918301918301613bc7565b5091890151919750909350505080821115613c12575f80fd5b50613c1f86828701613af2565b925050604084015190509250925092565b5f60208284031215613c40575f80fd5b815161074a81612ffa565b5f8251613c5c818460208701612f6c565b919091019291505056fea2646970667358221220f8cb2e7e0b30a5ebfbbbe9dfc0af59b14d26a68115a6d152152c1b9c01ef524264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "renzo()": "6a1a3f3d", + "renzoOracle()": "892866a4", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHTarget0Deployer.ts new file mode 100644 index 000000000..cfdd5a252 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget0Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHTarget0Deployer = { + name: 'EzETHTarget0Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161477d38038061477d83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146f46100895f395f8181606c015260bd01526146f45ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b6141c280620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620041c2380380620041c283398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c9c620005265f395f8181610be9015281816125bc015261262901525f8181610b7f015281816125dd015261264a01525f8181610d7b015261234401525f8181610d4c015261230701525f8181610c2801528181610eab01528181610f3901528181610fc7015281816110550152818161165e015281816116f4015281816118b601528181611ece01528181611fa201526120f301525f610e1301525f8181610ded01526124e901525f8181610dc701526124c301525f8181610da1015261249d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e85015261250f01525f8181610e39015281816112eb015261291001525f8181610e5f0152612d1d01525f818161062d01528181610d1d01528181611e43015281816125fe0152818161266b0152612cac01525f8181610cee01526112880152613c9c5ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c80636a1a3f3d11610135578063bd85b039116100b4578063cf210e6511610079578063cf210e6514610502578063d816574314610515578063e44808bc1461052a578063e985e9c51461053d578063fba5600814610550575f80fd5b8063bd85b039146104ac578063becee9c3146104bf578063c55dae63146104df578063c69e16ad146104e7578063c6e6f592146104ef575f80fd5b80639cd241af116100fa5780639cd241af1461044d578063a22cb46514610460578063ab033ea914610473578063b0d9658014610484578063b88fed9f14610499575f80fd5b80636a1a3f3d146104105780637180c8ca146104185780637ecebe001461042a578063892866a41461043d578063950c5d0314610445575f80fd5b806321ff32a9116101c157806346fbf68e1161018657806346fbf68e146103aa5780634e41a1fb146103cd5780634ed2d6ac146103e057806354fd4d50146103f357806360246c88146103fb575f80fd5b806321ff32a914610341578063313ce567146103625780633656eec21461037c5780633a98ef391461038f5780633e691db914610397575f80fd5b80630a4e1493116102075780630a4e1493146102a357806314e5f07b146102c357806317fad7fc146102d65780631c0f12b6146102e957806320fc4881146102fc575f80fd5b8062ad800c1461024257806301681a621461026b57806302329a291461028057806304baa00b1461029357806306fdde031461029b575b5f80fd5b610255610250366004612f55565b61057f565b6040516102629190612fb9565b60405180910390f35b61027e610279366004612fdf565b6105b6565b005b61027e61028e366004613007565b6105bf565b6102556105c8565b610255610608565b6102ab61061f565b6040516001600160a01b039091168152602001610262565b61027e6102d1366004613022565b61065e565b61027e6102e43660046130f8565b61067a565b61027e6102f7366004613187565b610690565b61030f61030a366004612f55565b6106a3565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610262565b61035461034f3660046131cc565b61070c565b604051908152602001610262565b61036a610751565b60405160ff9091168152602001610262565b61035461038a36600461320b565b610768565b6103546107a0565b6103546103a5366004613239565b6107be565b6103bd6103b8366004612fdf565b6107c8565b6040519015158152602001610262565b6102556103db366004612f55565b6107e7565b61027e6103ee366004613270565b6107f5565b610255610843565b610403610878565b60405161026291906132b7565b6102ab610b71565b61027e610426366004613358565b5050565b610354610438366004612fdf565b610bb0565b6102ab610bdb565b6102ab610c1a565b61027e61045b366004613384565b610c59565b61027e61046e366004613358565b610c6a565b61027e610481366004612fdf565b50565b61048c610cd5565b60405161026291906133b9565b6103546104a7366004612f55565b611195565b6103546104ba366004612f55565b6111a2565b6104d26104cd3660046134df565b6111c3565b604051610262919061351e565b6102ab61127a565b6103546112b9565b6103546104fd366004612f55565b6112d2565b610354610510366004612f55565b6112df565b61051d611315565b6040516102629190613561565b61027e610538366004613672565b611420565b6103bd61054b3660046136cd565b611468565b6105586114ab565b6040805182516001600160801b039081168252602093840151169281019290925201610262565b60606105b161058d83611509565b60405160200161059d9190612fb9565b60405160208183030381529060405261162f565b919050565b61048181611653565b610481816118b4565b60606106056040518060400160405280600f81526020016e457a4554484879706572647269766560881b81525060405160200161059d9190612fb9565b90565b6060610605600160405160200161059d91906136f9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b61066f8989898989898989896119cc565b505050505050505050565b610688868686868686611bbe565b505050505050565b61069d8484848433611c71565b50505050565b604080516060810182525f80825260208201819052918101919091526105b160085f8481526020019081526020015f2060405160200161059d919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261074a910161059d565b9392505050565b60408051601260208201525f91610605910161059d565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261079a910161059d565b92915050565b5f6106056107ac611e2c565b60405160200161059d91815260200190565b5f61079a82611eb9565b5f6105b16107d5836120ef565b6040805191151560208301520161059d565b60606105b161058d836121cd565b836107ff816122c9565b6001600160a01b0316336001600160a01b03161461083057604051632aab8bd360e01b815260040160405180910390fd5b61083c85858585612386565b5050505050565b606061060560405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161059d9190612fb9565b6108e2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108eb6123f2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161095591906137ce565b61095f91906137e1565b90505f8215610a6e5773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61098b85612404565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5e91906137f4565b509050610a6b818461258e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3e57610b3984866125a2565b610b40565b5f5b81526003546001600160801b0316602091820152604051919250610b6a9161059d918491016132b7565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105b1910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b610c6583838333612386565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612e81565b6106056040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f299190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb79190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110459190613817565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d39190613817565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161059d91906133b9565b5f6105b16107ac836125b6565b5f818152600b60209081526040808320548151928301526105b1910161059d565b60605f8267ffffffffffffffff8111156111df576111df613832565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f85858381811061122857611228613846565b9050602002013590505f815490508084848151811061124957611249613846565b6020908102919091010152505060010161120d565b506112738160405160200161059d919061351e565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f91610605910161059d565b5f61060560095460405160200161059d91815260200190565b5f6105b16107ac83612623565b5f6105b16107ac6113107f0000000000000000000000000000000000000000000000000000000000000000856137ce565b612690565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810191909152610605600260405160200161059d919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461142a816122c9565b6001600160a01b0316336001600160a01b03161461145b57604051632aab8bd360e01b815260040160405180910390fd5b6106888686868686611c71565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161079a910161059d565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526106059060600161059d565b606060f882901c6001600160f81b0383165f611524826126d0565b90505f836003811115611539576115396137a6565b0361156b576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611627565b600183600381111561157f5761157f6137a6565b036115ab5780604051602001611595919061385a565b6040516020818303038152906040529350611627565b60028360038111156115bf576115bf6137a6565b036115d557806040516020016115959190613892565b60038360038111156115e9576115e96137a6565b03611627576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161164a9190612fb9565b60405180910390fd5b61165b612782565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116dc9190613817565b9050336001600160a01b0382161480159061178857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561174e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117729190613817565b6001600160a01b0316336001600160a01b031614155b801561179a5750611798336120ef565b155b156117b7576040516282b42960e81b815260040160405180910390fd5b5f6117c0611e2c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182b91906138cb565b90506118416001600160a01b03851684836127aa565b8161184a611e2c565b14611868576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061048160015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611910573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119349190613817565b6001600160a01b0316336001600160a01b03161415801561195b5750611959336120ef565b155b15611978576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119c190831515815260200190565b60405180910390a150565b834211156119ed5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a145760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611afe573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b3c57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bdb57506001600160a01b038516155b15611bf95760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c195760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c6857611c60858583818110611c3857611c38613846565b905060200201358888868686818110611c5357611c53613846565b9050602002013533611c71565b600101611c1b565b50505050505050565b6001600160a01b0384161580611c8e57506001600160a01b038316155b15611cac5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d6c576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d6c575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d6a575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d649084906137e1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d9d9084906137e1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dd39084906137ce565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb491906138cb565b905090565b5f611ec2612782565b611ecb826127fc565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4c9190613817565b90506001600160a01b038116611f656020850185612fdf565b6001600160a01b031614611f8c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061203657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120209190613817565b6001600160a01b0316336001600160a01b031614155b80156120485750612046336120ef565b155b15612065576040516282b42960e81b815260040160405180910390fd5b5f61206e6123f2565b600980545f909155909150612084818387612831565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120c360408a0160208b01613007565b60408051938452602084019290925215159082015260600160405180910390a25050506105b160015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561214c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121739190810190613936565b90505f5b81518110156121c457836001600160a01b031682828151811061219c5761219c613846565b60200260200101516001600160a01b0316036121bc575060019392505050565b600101612177565b505f9392505050565b606060f882901c6001600160f81b0383165f6121e8826126d0565b90505f8360038111156121fd576121fd6137a6565b0361222f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611627565b6001836003811115612243576122436137a6565b03612259578060405160200161159591906139c5565b600283600381111561226d5761226d6137a6565b03612283578060405160200161159591906139fc565b6003836003811115612297576122976137a6565b0361162757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611eb4670de0b6b3a76400006125b6565b61245c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161255491166128c7565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612586929004166128c7565b905292915050565b5f61074a8383670de0b6b3a764000061293b565b5f61074a83670de0b6b3a76400008461293b565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612956565b5f61079a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612aa3565b5f6126b5600b5f6126a2600286612baa565b81526020019081526020015f2054612bde565b6126c6600b5f6126a2600187612baa565b61079a9190613a27565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561277457612709600a86613a5a565b6127149060306137ce565b60f81b82600161272484876137e1565b61272e91906137e1565b8151811061273e5761273e613846565b60200101906001600160f81b03191690815f1a9053508061275e81613a6d565b915061276d9050600a86613a85565b94506126f8565b918290030190815292915050565b60025f54036127a457604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612c0b565b5f61280a6020830183612fdf565b6001600160a01b0316036104815760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061283d858561258e565b905061284881612623565b9450845f0361285a575f91505061074a565b84915061286d6040840160208501613007565b1561289c57612895856128836020860186612fdf565b6128906040870187613a98565b612c6c565b91506128bf565b6128bf856128ad6020860186612fdf565b6128ba6040870187613a98565b612c86565b509392505050565b5f80670de0b6b3a76400006128da612d16565b6128e49190613adb565b90508083116128f3575f6128fd565b6128fd81846137e1565b915061074a612934670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613adb565b83906125a2565b5f825f19048411830215820261294f575f80fd5b5091020490565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612993573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129ba9190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a1f91906138cb565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612a74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9891906138cb565b979650505050505050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612ae0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b079190810190613b59565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6c91906138cb565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a90606401612a59565b5f6001600160f81b03821115612bd35760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612c075760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612c1f6001600160a01b03841683612d41565b905080515f14158015612c43575080806020019051810190612c419190613c30565b155b15610c6557604051635274afe760e01b81526001600160a01b038416600482015260240161164a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612cf2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613c30565b5f611eb4427f0000000000000000000000000000000000000000000000000000000000000000612d4e565b606061074a83835f612d63565b5f612d598284613a5a565b61074a90846137e1565b606081471015612d885760405163cd78605960e01b815230600482015260240161164a565b5f80856001600160a01b03168486604051612da39190613c4b565b5f6040518083038185875af1925050503d805f8114612ddd576040519150601f19603f3d011682016040523d82523d5f602084013e612de2565b606091505b5091509150612df2868383612dfc565b9695505050505050565b606082612e1157612e0c82612e58565b61074a565b8151158015612e2857506001600160a01b0384163b155b15612e5157604051639996b31560e01b81526001600160a01b038516600482015260240161164a565b508061074a565b805115612e685780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612f5060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612f65575f80fd5b5035919050565b5f5b83811015612f86578181015183820152602001612f6e565b50505f910152565b5f8151808452612fa5816020860160208601612f6c565b601f01601f19169290920160200192915050565b602081525f61074a6020830184612f8e565b6001600160a01b0381168114610481575f80fd5b5f60208284031215612fef575f80fd5b813561074a81612fcb565b8015158114610481575f80fd5b5f60208284031215613017575f80fd5b813561074a81612ffa565b5f805f805f805f805f6101208a8c03121561303b575f80fd5b8935985060208a0135975060408a013561305481612fcb565b965060608a013561306481612fcb565b955060808a013561307481612ffa565b945060a08a0135935060c08a013560ff81168114613090575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126130c0575f80fd5b50813567ffffffffffffffff8111156130d7575f80fd5b6020830191508360208260051b85010111156130f1575f80fd5b9250929050565b5f805f805f806080878903121561310d575f80fd5b863561311881612fcb565b9550602087013561312881612fcb565b9450604087013567ffffffffffffffff80821115613144575f80fd5b6131508a838b016130b0565b90965094506060890135915080821115613168575f80fd5b5061317589828a016130b0565b979a9699509497509295939492505050565b5f805f806080858703121561319a575f80fd5b8435935060208501356131ac81612fcb565b925060408501356131bc81612fcb565b9396929550929360600135925050565b5f805f606084860312156131de575f80fd5b8335925060208401356131f081612fcb565b9150604084013561320081612fcb565b809150509250925092565b5f806040838503121561321c575f80fd5b82359150602083013561322e81612fcb565b809150509250929050565b5f60208284031215613249575f80fd5b813567ffffffffffffffff81111561325f575f80fd5b82016060818503121561074a575f80fd5b5f805f8060808587031215613283575f80fd5b84359350602085013561329581612fcb565b92506040850135915060608501356132ac81612fcb565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613369575f80fd5b823561337481612fcb565b9150602083013561322e81612ffa565b5f805f60608486031215613396575f80fd5b8335925060208401356133a881612fcb565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516133e560208401826001600160a01b03169052565b50604083015161340060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613472828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156134f0575f80fd5b823567ffffffffffffffff811115613506575f80fd5b613512858286016130b0565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561355557835183529284019291840191600101613539565b50909695505050505050565b81516001600160801b031681526101808101602083015161358d60208401826001600160801b03169052565b5060408301516135a860408401826001600160801b03169052565b5060608301516135c360608401826001600160801b03169052565b5060808301516135d86080840182600f0b9052565b5060a08301516135f360a08401826001600160801b03169052565b5060c083015161360e60c08401826001600160801b03169052565b5060e083015161362960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526134d7565b5f805f805f60a08688031215613686575f80fd5b85359450602086013561369881612fcb565b935060408601356136a881612fcb565b92506060860135915060808601356136bf81612fcb565b809150509295509295909350565b5f80604083850312156136de575f80fd5b82356136e981612fcb565b9150602083013561322e81612fcb565b5f60208083525f84545f60018260011c9150600183168061371b57607f831692505b60208310810361373957634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613758576001811461376e57613797565b60ff198616825284151560051b82019650613797565b5f8b8152602090205f5b8681101561379157815484820152908501908901613778565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561079a5761079a6137ba565b8181038181111561079a5761079a6137ba565b5f8060408385031215613805575f80fd5b82519150602083015161322e81612ffa565b5f60208284031215613827575f80fd5b815161074a81612fcb565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613885816011850160208701612f6c565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516138be816012850160208701612f6c565b9190910160120192915050565b5f602082840312156138db575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561390b5761390b613832565b604052919050565b5f67ffffffffffffffff82111561392c5761392c613832565b5060051b60200190565b5f6020808385031215613947575f80fd5b825167ffffffffffffffff81111561395d575f80fd5b8301601f8101851361396d575f80fd5b805161398061397b82613913565b6138e2565b81815260059190911b8201830190838101908783111561399e575f80fd5b928401925b82841015612a985783516139b681612fcb565b825292840192908401906139a3565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516139ef816010850160208701612f6c565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613885816011850160208701612f6c565b8181035f831280158383131683831282161715611273576112736137ba565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6857613a68613a46565b500690565b5f60018201613a7e57613a7e6137ba565b5060010190565b5f82613a9357613a93613a46565b500490565b5f808335601e19843603018112613aad575f80fd5b83018035915067ffffffffffffffff821115613ac7575f80fd5b6020019150368190038213156130f1575f80fd5b808202811582820484141761079a5761079a6137ba565b5f82601f830112613b01575f80fd5b81516020613b1161397b83613913565b8083825260208201915060208460051b870101935086841115613b32575f80fd5b602086015b84811015613b4e5780518352918301918301613b37565b509695505050505050565b5f805f60608486031215613b6b575f80fd5b835167ffffffffffffffff80821115613b82575f80fd5b818601915086601f830112613b95575f80fd5b81516020613ba561397b83613913565b82815260059290921b8401810191818101908a841115613bc3575f80fd5b8286015b84811015613bf957805186811115613bdd575f80fd5b613beb8d86838b0101613af2565b845250918301918301613bc7565b5091890151919750909350505080821115613c12575f80fd5b50613c1f86828701613af2565b925050604084015190509250925092565b5f60208284031215613c40575f80fd5b815161074a81612ffa565b5f8251613c5c818460208701612f6c565b919091019291505056fea2646970667358221220f8cb2e7e0b30a5ebfbbbe9dfc0af59b14d26a68115a6d152152c1b9c01ef524264736f6c63430008160033a2646970667358221220ab739ef33eaf94485fcef00b116ea314b3ce3a4437577403003718fb86c8914664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget1.ts b/packages/hyperdrive-artifacts/src/EzETHTarget1.ts new file mode 100644 index 000000000..7e714fa78 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget1.ts @@ -0,0 +1,957 @@ +export const EzETHTarget1 = { + name: 'EzETHTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b50604051620042303803806200423083398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613cd8620005585f395f8181611970015261254601525f8181611991015261256701525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1b01525f818161139301528181611791015281816117f4015281816129040152818161294001528181612b380152612cf501525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ccf01525f611b1c01525f8181611c3d0152818161227e01526122f601525f81816108a901528181610f4301528181611c1101526122ca01525f8181610e3e015261224401525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4101525f81816107e701528181610ec4015281816116ef0152818161211d015261336c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119b20152818161258801526125ed01525f5050613cd85ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046135fc565b610070565b60405190815260200160405180910390f35b61004b61006b3660046135fc565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061366a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc908361367d565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136b0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016136d8565b6102bd8a6102b78d8f61366a565b90611584565b8d6102cb60408c018c6136f3565b6040516102df98979695949392919061375e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061366a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137a5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136b0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016136d8565b8a61050260408b018b6136f3565b60405161051597969594939291906137cc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136b0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119d7565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61366a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119ec565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b92505b5061073e83611a22565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61380c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361366a565b4290611a4b565b8461102b565b6107db88611a5f565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61380c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bfc565b915091508060095f828254610878919061366a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361366a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cc9565b91506108e16108dc8385611584565b611d12565b600680546002906109029084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a22565b60068054601090610951908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bfc565b915091508060095f8282546109c4919061366a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361380c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a22565b60068054601090610a68908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab4919061367d565b5f61134e565b8e610ac58482611d3b565b50505b5f610ad284611f2a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061385f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061206c565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061380c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119ec565b90505f610d5f8a6120f2565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612141565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b0565b6121df565b15610e7457610e746113ec565b5f805f610e8385878b87612220565b9c5091945092509050610e96818461380c565b610ea0908961366a565b9750610eac828461366a565b610eb6908d61366a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061380c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cc9565b9950610f73878a61380c565b9850670de0b6b3a7640000610ff0610f8b878761366a565b600254610fa9908f90600160801b90046001600160801b031661380c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612332565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661380c565b6110d1919061387a565b85670de0b6b3a76400006110e5878a61380c565b6110ef919061387a565b8592919060016123ce565b611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a22565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661387a565b600554600160801b90046001600160801b031691908a5f6123ce565b600580546001600160801b03928316600160801b0292169190911790556111d286611a22565b6111dc9082613891565b600480546001600160801b03928316600160801b02921691909117905561120284611a22565b600280545f9061121c9084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612474565b600480545f9061125d908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a22565b600280546010906112af908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b919061367d565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124af565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612511565b6003546113ce91906001600160801b031661366a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d3b565b5f805f61141d84611a5f565b90925090505f61142d8686611584565b90508183111561144557611442868385612525565b95505b8281101561145757808303925061145b565b5f92505b61146483611d12565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a22565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612540565b9450845f03611516575f91505061157d565b84915061152960408401602085016136d8565b15611558576115518561153f60208601866136b0565b61154c60408701876136f3565b6125ad565b915061157b565b61157b8561156960208601866136b0565b61157660408701876136f3565b6125c7565b505b9392505050565b5f61157d8383670de0b6b3a7640000612525565b5f805f805f805f806115a86119ec565b90505f6115b48a6120f2565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b985061169a84878b88612220565b9c5091945090925090506116ae828461380c565b6116b8908961380c565b97506116c4818461366a565b6116ce908e61380c565b9c506116da8a8e61366a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061380c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612332565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361380c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de848261367d565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b1565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861387a565b6005546001600160801b031691908c5f6123ce565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261380c565b90506118a281611a22565b600380546001600160801b03928316600160801b0292169190911790556118c883611a22565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612474565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a22565b6002805460109061193c908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856126d6565b5f6119e282846138f2565b61157d908461380c565b6002546004545f916105a6916001600160801b0390911690600f0b6126b1565b5f61007d82611a1c858888612525565b90612823565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a59578261157d565b50919050565b6006545f908190611a81908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bf7575f611aaa838361380c565b9050611ab96110fa8286612892565b60068054601090611adb908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1385836128a690919063ffffffff16565b90505f611b40827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b53919061366a565b90915550611b639050818361380c565b9150611b6e82611a22565b600280545f90611b889084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bb5826128ba565b600480545f90611bc9908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c0887856128a6565b91505f611c35837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c61817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8457611c73828261380c565b611c7d908461380c565b9250611c9b565b611c8e828261380c565b611c98908461366a565b92505b86861015611cbe57611cae838789612525565b9250611cbb828789612525565b91505b509550959350505050565b5f80611ce084611cda8a888a612525565b906128a6565b9050611ced888486612525565b611cf7908261366a565b905086811115611d075786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d85916001600160801b03169061380c565b9050805f03611d9857600191505061131b565b5f611da2856128e3565b9050805f03611db65760019250505061131b565b5f80611dc383858961297e565b9150915080611dd8575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e13929190613983565b6040805180830381865af4158015611e2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e5191906139f8565b91509150611e6f611e6182611321565b611e6a90613a1a565b612af2565b925082611e84575f965050505050505061131b565b611e8d82611a22565b600780545f90611ea79084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ed481611a22565b60078054601090611ef6908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5187612c86565b6040518263ffffffff1660e01b8152600401611f6d9190613a34565b6040805180830381865af4158015611f87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fab9190613a43565b9150915080611fc057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120259161366a565b61202f919061380c565b9050805f0361204557505f958695509350505050565b5f808711612053575f61205e565b61205e848884612525565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561208f5761208f613a71565b6040519080825280601f01601f1916602001820160405280156120b9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120d9578692505b828152825f602083013e90999098509650505050505050565b5f806120fc6105ab565b905080831161210b575f612115565b612115818461380c565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128a6565b5f808061216161215988670de0b6b3a764000061380c565b899087612dc0565b905086156121a3576121738888612511565b91506121948a8a8461218d8a670de0b6b3a764000061380c565b8989612de3565b92506121a0838261366a565b90505b9750975097945050505050565b5f6121cd6121c684670de0b6b3a764000061380c565b8390612511565b61157d90670de0b6b3a764000061380c565b5f80612215856121ed6119ec565b6121f7919061366a565b600254610fa9908790600160801b90046001600160801b031661380c565b909210949350505050565b5f808080612276878661226f8b6122696122428c670de0b6b3a764000061380c565b7f000000000000000000000000000000000000000000000000000000000000000090612511565b90612511565b9190612dc0565b93506122a2847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122c26122ba89670de0b6b3a764000061380c565b8a9088612dc0565b90506122ee817f0000000000000000000000000000000000000000000000000000000000000000612511565b935061231a847f0000000000000000000000000000000000000000000000000000000000000000611584565b612324908461366a565b915050945094509450949050565b5f805f805f808888101561239e578615612354576123518d898b612525565b9c505b61235f8c898b612525565b9b5061236a8b611321565b6123738d611321565b61237d919061367d565b905061238a8b898b612525565b9a506123978a898b612525565b99506123bd565b6123a78b611321565b6123b08d611321565b6123ba919061367d565b90505b9b9c9a9b999a975050505050505050565b5f825f036123dd57508461246b565b811561242f5761240e6123f0848761366a565b6123fa8587611584565b612404888a611584565b611cda919061366a565b90505f61241b8588611a4b565b905080821015612429578091505b5061246b565b82850361243d57505f61246b565b61246861244a848761380c565b6124548587612511565b61245e888a611584565b611cda919061380c565b90505b95945050505050565b5f60016001607f1b0319821280612491575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124bb845f612e05565b6124c5845f612e05565b6124cf919061367d565b90505f8113156124ea576124e3818661366a565b9450612508565b5f811215612508576124fb81613a1a565b612505908661380c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc0565b5f825f190484118302158202612539575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612e1a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612633573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126579190613a85565b5050505050565b5f808061267e61267688670de0b6b3a764000061380c565b899087612525565b905086156121a3576126908888611584565b91506121948a8a846126aa8a670de0b6b3a764000061380c565b8989612f21565b5f806126bd8484612f31565b9092509050806126cf576126cf6113ec565b5092915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612713573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261273a9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561277b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061279f9190613c2c565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa1580156127f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128189190613c2c565b979650505050505050565b5f815f0361283a5750670de0b6b3a764000061131b565b825f0361284857505f61131b565b5f61285283611321565b90505f61286661286186611321565b612f6c565b905081810261287d670de0b6b3a764000082613c43565b905061288881613191565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc0565b5f61157d83670de0b6b3a764000084612525565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128fd906001600160801b031684612892565b90506129297f00000000000000000000000000000000000000000000000000000000000000008261366a565b6002546001600160801b03161115611a59576002547f0000000000000000000000000000000000000000000000000000000000000000906129749083906001600160801b031661380c565b61157d919061380c565b61298661355d565b5f8061299184612c86565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cb9190613a34565b6040805180830381865af41580156129e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a099190613a43565b9350905082612a1d57505f9150612aea9050565b5f612a43612a3e84610160015185610140015161158490919063ffffffff16565b611321565b612a63612a3e85610120015186610100015161251190919063ffffffff16565b612a6d919061367d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ba8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bcc9190613c6f565b935093509350935080612be757505f98975050505050505050565b868414612c1857612bf784611a22565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4957612c2883612474565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7757612c5982611a22565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c8e6135a7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d869116613323565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612db892900416613323565b905292915050565b5f825f190484118302158202612dd4575f80fd5b50910281810615159190040190565b5f80612df3888888888888613397565b909250905080611d0757611d076113ec565b5f818313612e13578161157d565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612e57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e7e9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ebf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee39190613c2c565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016127d9565b5f80612df3888888888888613473565b5f805f83612f3e86611321565b612f48919061367d565b90505f811215612f5e575f809250925050612f65565b9150600190505b9250929050565b5f808213612f8d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130109084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131aa57505f919050565b680755bf798b4a1bf1e582126131d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133366105ab565b613340919061387a565b905080831161334f575f613359565b613359818461380c565b915061157d613390670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061387a565b83906128a6565b5f805f6133a7898988888861352f565b9050868810156133bd575f809250925050613468565b96869003966133cc8887612823565b9750878110156133e2575f809250925050613468565b8781036133f0818688612dc0565b9050670de0b6b3a764000081106134245761341d613416670de0b6b3a764000089612892565b8290612823565b905061343c565b613439613416670de0b6b3a7640000896128a6565b90505b6134468186612892565b90508981101561345d575f80935093505050613468565b899003925060019150505b965096945050505050565b5f805f613483898988888861352f565b905061349386611a1c898b61366a565b9750878110156134a9575f809250925050613468565b8781036134b7818688612dc0565b9050670de0b6b3a764000081106134e4576134dd613416670de0b6b3a764000089612892565b90506134fc565b6134f9613416670de0b6b3a7640000896128a6565b90505b6135068186612892565b9050808a101561351d575f80935093505050613468565b90980398600198509650505050505050565b5f61353a8585612823565b61355361354b86611a1c868b612511565b859085612dc0565b612468919061366a565b6040518061012001604052806135716135a7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561360f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561363a575f80fd5b85016060818803121561364b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613656565b8181035f8312801583831316838312821617156126cf576126cf613656565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136c0575f80fd5b813561157d8161369c565b8015158114610591575f80fd5b5f602082840312156136e8575f80fd5b813561157d816136cb565b5f808335601e19843603018112613708575f80fd5b83018035915067ffffffffffffffff821115613722575f80fd5b602001915036819003821315612f65575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379760e083018486613736565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137c4576137c4613656565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ff60c083018486613736565b9998505050505050505050565b8181038181111561131b5761131b613656565b6001600160701b038181168382160190808211156126cf576126cf613656565b6001600160801b038181168382160190808211156126cf576126cf613656565b5f6020828403121561386f575f80fd5b815161157d8161369c565b808202811582820484141761131b5761131b613656565b6001600160801b038281168282160390808211156126cf576126cf613656565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613656565b634e487b7160e01b5f52601260045260245ffd5b5f82613900576139006138de565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613996828551613905565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a09575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2e57613a2e613656565b505f0390565b610180810161131b8284613905565b5f8060408385031215613a54575f80fd5b825191506020830151613a66816136cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a95575f80fd5b815161157d816136cb565b604051601f8201601f1916810167ffffffffffffffff81118282101715613ac957613ac9613a71565b604052919050565b5f67ffffffffffffffff821115613aea57613aea613a71565b5060051b60200190565b5f82601f830112613b03575f80fd5b81516020613b18613b1383613ad1565b613aa0565b8083825260208201915060208460051b870101935086841115613b39575f80fd5b602086015b84811015611d075780518352918301918301613b3e565b5f805f60608486031215613b67575f80fd5b835167ffffffffffffffff80821115613b7e575f80fd5b818601915086601f830112613b91575f80fd5b81516020613ba1613b1383613ad1565b82815260059290921b8401810191818101908a841115613bbf575f80fd5b8286015b84811015613bf557805186811115613bd9575f80fd5b613be78d86838b0101613af4565b845250918301918301613bc3565b5091890151919750909350505080821115613c0e575f80fd5b50613c1b86828701613af4565b925050604084015190509250925092565b5f60208284031215613c3c575f80fd5b5051919050565b5f82613c5157613c516138de565b600160ff1b82145f1984141615613c6a57613c6a613656565b500590565b5f805f8060808587031215613c82575f80fd5b845193506020850151925060408501519150606085015161364b816136cb56fea264697066735822122057e1978fd3631ec66fbf3f0a12ef64cbbd2e4cc99c8dc40f65cc64c08085a8f364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHTarget1Deployer.ts new file mode 100644 index 000000000..debdfb32f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget1Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHTarget1Deployer = { + name: 'EzETHTarget1Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516147eb3803806147eb83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516147626100895f395f8181606c015260bd01526147625ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61423080620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620042303803806200423083398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613cd8620005585f395f8181611970015261254601525f8181611991015261256701525f50505f50505f610b2e01525f50505f818160a9015281816103140152612d1b01525f818161139301528181611791015281816117f4015281816129040152818161294001528181612b380152612cf501525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ccf01525f611b1c01525f8181611c3d0152818161227e01526122f601525f81816108a901528181610f4301528181611c1101526122ca01525f8181610e3e015261224401525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612d4101525f81816107e701528181610ec4015281816116ef0152818161211d015261336c01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119b20152818161258801526125ed01525f5050613cd85ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046135fc565b610070565b60405190815260200160405180910390f35b61004b61006b3660046135fc565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061366a565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc908361367d565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836136b0565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016136d8565b6102bd8a6102b78d8f61366a565b90611584565b8d6102cb60408c018c6136f3565b6040516102df98979695949392919061375e565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061366a565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836137a5565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836136b0565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016136d8565b8a61050260408b018b6136f3565b60405161051597969594939291906137cc565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836136b0565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119d7565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61366a565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119ec565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b92505b5061073e83611a22565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61380c565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361366a565b4290611a4b565b8461102b565b6107db88611a5f565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61380c565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bfc565b915091508060095f828254610878919061366a565b909155506108939050865f8461088d81611321565b88611164565b61089d818361366a565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cc9565b91506108e16108dc8385611584565b611d12565b600680546002906109029084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a22565b60068054601090610951908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bfc565b915091508060095f8282546109c4919061366a565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361380c565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661381f565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a22565b60068054601090610a68908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab4919061367d565b5f61134e565b8e610ac58482611d3b565b50505b5f610ad284611f2a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061385f565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061206c565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061380c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119ec565b90505f610d5f8a6120f2565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612141565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b0565b6121df565b15610e7457610e746113ec565b5f805f610e8385878b87612220565b9c5091945092509050610e96818461380c565b610ea0908961366a565b9750610eac828461366a565b610eb6908d61366a565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061380c565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cc9565b9950610f73878a61380c565b9850670de0b6b3a7640000610ff0610f8b878761366a565b600254610fa9908f90600160801b90046001600160801b031661380c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612332565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661380c565b6110d1919061387a565b85670de0b6b3a76400006110e5878a61380c565b6110ef919061387a565b8592919060016123ce565b611a22565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a22565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661387a565b600554600160801b90046001600160801b031691908a5f6123ce565b600580546001600160801b03928316600160801b0292169190911790556111d286611a22565b6111dc9082613891565b600480546001600160801b03928316600160801b02921691909117905561120284611a22565b600280545f9061121c9084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612474565b600480545f9061125d908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a22565b600280546010906112af908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b919061367d565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124af565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612511565b6003546113ce91906001600160801b031661366a565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d3b565b5f805f61141d84611a5f565b90925090505f61142d8686611584565b90508183111561144557611442868385612525565b95505b8281101561145757808303925061145b565b5f92505b61146483611d12565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a22565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612540565b9450845f03611516575f91505061157d565b84915061152960408401602085016136d8565b15611558576115518561153f60208601866136b0565b61154c60408701876136f3565b6125ad565b915061157b565b61157b8561156960208601866136b0565b61157660408701876136f3565b6125c7565b505b9392505050565b5f61157d8383670de0b6b3a7640000612525565b5f805f805f805f806115a86119ec565b90505f6115b48a6120f2565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a0c565b985061169a84878b88612220565b9c5091945090925090506116ae828461380c565b6116b8908961380c565b97506116c4818461366a565b6116ce908e61380c565b9c506116da8a8e61366a565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061380c565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612332565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361380c565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de848261367d565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b1565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861387a565b6005546001600160801b031691908c5f6123ce565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261380c565b90506118a281611a22565b600380546001600160801b03928316600160801b0292169190911790556118c883611a22565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612474565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a22565b6002805460109061193c908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856126d6565b5f6119e282846138f2565b61157d908461380c565b6002546004545f916105a6916001600160801b0390911690600f0b6126b1565b5f61007d82611a1c858888612525565b90612823565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a59578261157d565b50919050565b6006545f908190611a81908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bf7575f611aaa838361380c565b9050611ab96110fa8286612892565b60068054601090611adb908490600160801b90046001600160801b0316613891565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1385836128a690919063ffffffff16565b90505f611b40827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b53919061366a565b90915550611b639050818361380c565b9150611b6e82611a22565b600280545f90611b889084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bb5826128ba565b600480545f90611bc9908490600f0b6138b1565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c0887856128a6565b91505f611c35837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c61817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8457611c73828261380c565b611c7d908461380c565b9250611c9b565b611c8e828261380c565b611c98908461366a565b92505b86861015611cbe57611cae838789612525565b9250611cbb828789612525565b91505b509550959350505050565b5f80611ce084611cda8a888a612525565b906128a6565b9050611ced888486612525565b611cf7908261366a565b905086811115611d075786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d85916001600160801b03169061380c565b9050805f03611d9857600191505061131b565b5f611da2856128e3565b9050805f03611db65760019250505061131b565b5f80611dc383858961297e565b9150915080611dd8575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e13929190613983565b6040805180830381865af4158015611e2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e5191906139f8565b91509150611e6f611e6182611321565b611e6a90613a1a565b612af2565b925082611e84575f965050505050505061131b565b611e8d82611a22565b600780545f90611ea79084906001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ed481611a22565b60078054601090611ef6908490600160801b90046001600160801b031661383f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5187612c86565b6040518263ffffffff1660e01b8152600401611f6d9190613a34565b6040805180830381865af4158015611f87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fab9190613a43565b9150915080611fc057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120259161366a565b61202f919061380c565b9050805f0361204557505f958695509350505050565b5f808711612053575f61205e565b61205e848884612525565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561208f5761208f613a71565b6040519080825280601f01601f1916602001820160405280156120b9576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120d9578692505b828152825f602083013e90999098509650505050505050565b5f806120fc6105ab565b905080831161210b575f612115565b612115818461380c565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006128a6565b5f808061216161215988670de0b6b3a764000061380c565b899087612dc0565b905086156121a3576121738888612511565b91506121948a8a8461218d8a670de0b6b3a764000061380c565b8989612de3565b92506121a0838261366a565b90505b9750975097945050505050565b5f6121cd6121c684670de0b6b3a764000061380c565b8390612511565b61157d90670de0b6b3a764000061380c565b5f80612215856121ed6119ec565b6121f7919061366a565b600254610fa9908790600160801b90046001600160801b031661380c565b909210949350505050565b5f808080612276878661226f8b6122696122428c670de0b6b3a764000061380c565b7f000000000000000000000000000000000000000000000000000000000000000090612511565b90612511565b9190612dc0565b93506122a2847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122c26122ba89670de0b6b3a764000061380c565b8a9088612dc0565b90506122ee817f0000000000000000000000000000000000000000000000000000000000000000612511565b935061231a847f0000000000000000000000000000000000000000000000000000000000000000611584565b612324908461366a565b915050945094509450949050565b5f805f805f808888101561239e578615612354576123518d898b612525565b9c505b61235f8c898b612525565b9b5061236a8b611321565b6123738d611321565b61237d919061367d565b905061238a8b898b612525565b9a506123978a898b612525565b99506123bd565b6123a78b611321565b6123b08d611321565b6123ba919061367d565b90505b9b9c9a9b999a975050505050505050565b5f825f036123dd57508461246b565b811561242f5761240e6123f0848761366a565b6123fa8587611584565b612404888a611584565b611cda919061366a565b90505f61241b8588611a4b565b905080821015612429578091505b5061246b565b82850361243d57505f61246b565b61246861244a848761380c565b6124548587612511565b61245e888a611584565b611cda919061380c565b90505b95945050505050565b5f60016001607f1b0319821280612491575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124bb845f612e05565b6124c5845f612e05565b6124cf919061367d565b90505f8113156124ea576124e3818661366a565b9450612508565b5f811215612508576124fb81613a1a565b612505908661380c565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612dc0565b5f825f190484118302158202612539575f80fd5b5091020490565b5f61131b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612e1a565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612633573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126579190613a85565b5050505050565b5f808061267e61267688670de0b6b3a764000061380c565b899087612525565b905086156121a3576126908888611584565b91506121948a8a846126aa8a670de0b6b3a764000061380c565b8989612f21565b5f806126bd8484612f31565b9092509050806126cf576126cf6113ec565b5092915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612713573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261273a9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561277b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061279f9190613c2c565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa1580156127f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128189190613c2c565b979650505050505050565b5f815f0361283a5750670de0b6b3a764000061131b565b825f0361284857505f61131b565b5f61285283611321565b90505f61286661286186611321565b612f6c565b905081810261287d670de0b6b3a764000082613c43565b905061288881613191565b9695505050505050565b5f61157d83670de0b6b3a764000084612dc0565b5f61157d83670de0b6b3a764000084612525565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906128fd906001600160801b031684612892565b90506129297f00000000000000000000000000000000000000000000000000000000000000008261366a565b6002546001600160801b03161115611a59576002547f0000000000000000000000000000000000000000000000000000000000000000906129749083906001600160801b031661380c565b61157d919061380c565b61298661355d565b5f8061299184612c86565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129cb9190613a34565b6040805180830381865af41580156129e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a099190613a43565b9350905082612a1d57505f9150612aea9050565b5f612a43612a3e84610160015185610140015161158490919063ffffffff16565b611321565b612a63612a3e85610120015186610100015161251190919063ffffffff16565b612a6d919061367d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ba8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bcc9190613c6f565b935093509350935080612be757505f98975050505050505050565b868414612c1857612bf784611a22565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c4957612c2883612474565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c7757612c5982611a22565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c8e6135a7565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d869116613323565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612db892900416613323565b905292915050565b5f825f190484118302158202612dd4575f80fd5b50910281810615159190040190565b5f80612df3888888888888613397565b909250905080611d0757611d076113ec565b5f818313612e13578161157d565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612e57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e7e9190810190613b55565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ebf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ee39190613c2c565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016127d9565b5f80612df3888888888888613473565b5f805f83612f3e86611321565b612f48919061367d565b90505f811215612f5e575f809250925050612f65565b9150600190505b9250929050565b5f808213612f8d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130109084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131aa57505f919050565b680755bf798b4a1bf1e582126131d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133366105ab565b613340919061387a565b905080831161334f575f613359565b613359818461380c565b915061157d613390670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061387a565b83906128a6565b5f805f6133a7898988888861352f565b9050868810156133bd575f809250925050613468565b96869003966133cc8887612823565b9750878110156133e2575f809250925050613468565b8781036133f0818688612dc0565b9050670de0b6b3a764000081106134245761341d613416670de0b6b3a764000089612892565b8290612823565b905061343c565b613439613416670de0b6b3a7640000896128a6565b90505b6134468186612892565b90508981101561345d575f80935093505050613468565b899003925060019150505b965096945050505050565b5f805f613483898988888861352f565b905061349386611a1c898b61366a565b9750878110156134a9575f809250925050613468565b8781036134b7818688612dc0565b9050670de0b6b3a764000081106134e4576134dd613416670de0b6b3a764000089612892565b90506134fc565b6134f9613416670de0b6b3a7640000896128a6565b90505b6135068186612892565b9050808a101561351d575f80935093505050613468565b90980398600198509650505050505050565b5f61353a8585612823565b61355361354b86611a1c868b612511565b859085612dc0565b612468919061366a565b6040518061012001604052806135716135a7565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561360f575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561363a575f80fd5b85016060818803121561364b575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613656565b8181035f8312801583831316838312821617156126cf576126cf613656565b6001600160a01b0381168114610591575f80fd5b5f602082840312156136c0575f80fd5b813561157d8161369c565b8015158114610591575f80fd5b5f602082840312156136e8575f80fd5b813561157d816136cb565b5f808335601e19843603018112613708575f80fd5b83018035915067ffffffffffffffff821115613722575f80fd5b602001915036819003821315612f65575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379760e083018486613736565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137c4576137c4613656565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ff60c083018486613736565b9998505050505050505050565b8181038181111561131b5761131b613656565b6001600160701b038181168382160190808211156126cf576126cf613656565b6001600160801b038181168382160190808211156126cf576126cf613656565b5f6020828403121561386f575f80fd5b815161157d8161369c565b808202811582820484141761131b5761131b613656565b6001600160801b038281168282160390808211156126cf576126cf613656565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613656565b634e487b7160e01b5f52601260045260245ffd5b5f82613900576139006138de565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613996828551613905565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a09575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2e57613a2e613656565b505f0390565b610180810161131b8284613905565b5f8060408385031215613a54575f80fd5b825191506020830151613a66816136cb565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a95575f80fd5b815161157d816136cb565b604051601f8201601f1916810167ffffffffffffffff81118282101715613ac957613ac9613a71565b604052919050565b5f67ffffffffffffffff821115613aea57613aea613a71565b5060051b60200190565b5f82601f830112613b03575f80fd5b81516020613b18613b1383613ad1565b613aa0565b8083825260208201915060208460051b870101935086841115613b39575f80fd5b602086015b84811015611d075780518352918301918301613b3e565b5f805f60608486031215613b67575f80fd5b835167ffffffffffffffff80821115613b7e575f80fd5b818601915086601f830112613b91575f80fd5b81516020613ba1613b1383613ad1565b82815260059290921b8401810191818101908a841115613bbf575f80fd5b8286015b84811015613bf557805186811115613bd9575f80fd5b613be78d86838b0101613af4565b845250918301918301613bc3565b5091890151919750909350505080821115613c0e575f80fd5b50613c1b86828701613af4565b925050604084015190509250925092565b5f60208284031215613c3c575f80fd5b5051919050565b5f82613c5157613c516138de565b600160ff1b82145f1984141615613c6a57613c6a613656565b500590565b5f805f8060808587031215613c82575f80fd5b845193506020850151925060408501519150606085015161364b816136cb56fea264697066735822122057e1978fd3631ec66fbf3f0a12ef64cbbd2e4cc99c8dc40f65cc64c08085a8f364736f6c63430008160033a264697066735822122034f17bafc1baa96bbd7b76eeb892deb03c1a1ca1a759390f81ad67babddacd7d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget2.ts b/packages/hyperdrive-artifacts/src/EzETHTarget2.ts new file mode 100644 index 000000000..efc4a5c6e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget2.ts @@ -0,0 +1,982 @@ +export const EzETHTarget2 = { + name: 'EzETHTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b50604051620041b9380380620041b983398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c61620005585f395f61146a01525f61148b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612d7101525f818161152801528181611cad01528181611d10015281816124970152818161295a0152818161299601528181612b8e0152612d4b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d2501525f6118d701525f81816119f801528181612588015281816126000152612e8901525f81816109a301528181610e3701528181611415015281816119cc01526125d401525f8181610e16015281816125540152612e4501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d9701525f81816101d301528181610396015281816108e1015261330d01525f81816106a7015281816107230152818161079701528181610862015261089a01525f81816114ac01526116f201525f5050613c615ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613585565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613585565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906135f3565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856135f3565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61361a565b8b611217565b8d8a8a898e8561023e602083018361361a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613642565b8961028960408a018a61365d565b60405161029c97969594939291906136c8565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846135f3565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906135f3565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016135f3565b9350505f61042784898d6114d1565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611502565b5f6104706002886111e3565b90508c61048a82610484602084018461361a565b85611217565b858b868461049b602086018661361a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613642565b6104ec896104e68a8d613708565b90610683565b8d6104fa60408e018e61365d565b60405161050e98979695949392919061371b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361361a565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613642565b156105ea576105e0856105db604087018761365d565b6116b5565b9093509050610602565b5034610602856105fd604087018761365d565b6116d0565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061176a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611785565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6135f3565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161179a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b92505b50610838836117d9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613708565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836135f3565b4290611806565b84610f13565b6108d58861181a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613708565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119b7565b915091508060095f82825461097291906135f3565b9091555061098d9050865f8461098781611a84565b88611aad565b61099781836135f3565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c24565b91506109db6109d68385610683565b611c6d565b600680546002906109fc9084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117d9565b60068054601090610a4b908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119b7565b915091508060095f828254610abe91906135f3565b90915550610ad99050835f84610ad381611a84565b8a611c96565b610ae38183613708565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117d9565b60068054601090610b62908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a84565b610ba483611a84565b610bae91906137a2565b5f611e86565b8e610bbf8482611ec5565b50505b5f610bcc846120b4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906137c1565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121f6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161179a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061227c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122a7565b61230b565b15610e6d57610e6d61234c565b610e7987858885612365565b91965094509250670de0b6b3a7640000610efb610e9687846135f3565b600254610eb4908890600160801b90046001600160801b0316613708565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b1115610f0957610f0961234c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613708565b610fb991906137dc565b85670de0b6b3a7640000610fcd878a613708565b610fd791906137dc565b8592919060016123ad565b6117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117d9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866137dc565b6005546001600160801b031691908860016123ad565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117d9565b600280545f906110d19084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117d9565b60028054601090611120908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117d9565b6111579082613782565b600380546001600160801b03808416600160801b02911617905590505f61117d83612451565b905061119b8161118c87611a84565b6111969084613813565b611e86565b6111a484612491565b6111b0576111b061234c565b5f6111ba856124f0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906135f3565b90915550505f838152600b60205260408120805483929061126a9084906135f3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61179a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124fc565b93508761134d858961251c565b111561135b5761135b61234c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b93506113d58a670de0b6b3a7640000868c612530565b509193509091506113e890508183613708565b6113f29087613708565b95508861143f816114398d611407868c613708565b8d611412878261263c565b877f0000000000000000000000000000000000000000000000000000000000000000612651565b9061251c565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612671565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612694565b5f6114e26040830160208401613642565b156114ee5750826114fb565b6114f884846127d5565b90505b9392505050565b6002546001600160801b03168381101561151e5761151e61234c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611556908390600f0b6127e9565b10156115645761156461234c565b6004546115ae90610fe290600160801b90046001600160801b0316611591670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908960016123ad565b600580546001600160801b03928316600160801b0292169190911790556115d4816117d9565b600280546001600160801b0319166001600160801b03929092169190911790556115fd856117d9565b6002805460109061161f908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061164c856117d9565b6004805460109061166e908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61169c83612451565b905061119b816116ab88611a84565b61119690846137a2565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611740573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611764919061383a565b50505050565b5f825f19048411830215820261177e575f80fd5b5091020490565b5f6117908284613869565b6106979084613708565b6002546004545f916106cb916001600160801b0390911690600f0b6127e9565b5f6117d0826117ca85888861176a565b9061280e565b95945050505050565b5f6001600160801b0382111561180257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118145782610697565b50919050565b6006545f90819061183c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119b2575f6118658383613708565b9050611874610fe28286611450565b60068054601090611896908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ce85836127d590919063ffffffff16565b90505f6118fb827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461190e91906135f3565b9091555061191e90508183613708565b9150611929826117d9565b600280545f906119439084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197082612873565b600480545f90611984908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119c387856127d5565b91505f6119f0837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a1c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a3f57611a2e8282613708565b611a389084613708565b9250611a56565b611a498282613708565b611a5390846135f3565b92505b86861015611a7957611a6983878961176a565b9250611a7682878961176a565b91505b509550959350505050565b5f6001600160ff1b038211156118025760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611af5610fe282611ad9670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b029216919091179055611b1b866117d9565b611b2590826137f3565b600480546001600160801b03928316600160801b029216919091179055611b4b846117d9565b600280545f90611b659084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b928361289c565b600480545f90611ba6908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bd6856117d9565b60028054601090611bf8908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c3b84611c358a888a61176a565b906127d5565b9050611c4888848661176a565b611c5290826135f3565b905086811115611c625786810391505b509695505050505050565b5f6001600160701b038211156118025760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cd857507f0000000000000000000000000000000000000000000000000000000000000000611cd68583613708565b105b15611ce557611ce561234c565b6004549084900390600f0b611cfa84826137a2565b905083611d0686611a84565b138015611d3b57507f0000000000000000000000000000000000000000000000000000000000000000611d3983836127e9565b105b15611d4857611d4861234c565b600354600160801b90046001600160801b0316611d89610fe282611d74670de0b6b3a7640000886137dc565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611db38882613708565b9050611dbe816117d9565b600380546001600160801b03928316600160801b029216919091179055611de4836117d9565b600280546001600160801b0319166001600160801b0392909216919091179055611e0d8261289c565b600480546001600160801b0319166001600160801b0392909216919091179055611e36876117d9565b60028054601090611e58908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ea190610fe2906001600160801b031684846128d7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f0f916001600160801b031690613708565b9050805f03611f2257600191505061069a565b5f611f2c85612939565b9050805f03611f405760019250505061069a565b5f80611f4d8385896129d4565b9150915080611f62575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f9d929190613927565b6040805180830381865af4158015611fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdb919061399c565b91509150611ff9611feb82611a84565b611ff4906139be565b612b48565b92508261200e575f965050505050505061069a565b612017826117d9565b600780545f906120319084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061205e816117d9565b60078054601090612080908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120db87612cdc565b6040518263ffffffff1660e01b81526004016120f791906139d8565b6040805180830381865af4158015612111573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061213591906139e7565b915091508061214a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121af916135f3565b6121b99190613708565b9050805f036121cf57505f958695509350505050565b5f8087116121dd575f6121e8565b6121e884888461176a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561221957612219613a15565b6040519080825280601f01601f191660200182016040528015612243576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612263578692505b828152825f602083013e90999098509650505050505050565b5f61229c87878761229588670de0b6b3a7640000613708565b8787612e16565b979650505050505050565b5f6114f86122e76122c084670de0b6b3a7640000613708565b611439670de0b6b3a76400006122d6818a611450565b6122e09190613708565b879061251c565b6122f990670de0b6b3a76400006135f3565b611c3584670de0b6b3a7640000613708565b5f806123418561231961179a565b61232391906135f3565b600254610eb4908790600160801b90046001600160801b0316613708565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612375898789612e38565b90925090506123848289613708565b97505f61239282888a61176a565b905061239e818b613708565b9a989950979650505050505050565b5f825f036123bc5750846117d0565b811561240e576123ed6123cf84876135f3565b6123d98587610683565b6123e3888a610683565b611c3591906135f3565b90505f6123fa8588611806565b905080821015612408578091505b506117d0565b82850361241c57505f6117d0565b6124476124298487613708565b612433858761251c565b61243d888a610683565b611c359190613708565b9695505050505050565b5f612476600b5f6124636002866111e3565b81526020019081526020015f2054611a84565b612487600b5f6124636001876111e3565b61069a91906137a2565b5f6124bc7f00000000000000000000000000000000000000000000000000000000000000008361251c565b6003546124d291906001600160801b03166135f3565b6002546124e8906001600160801b031684610683565b101592915050565b5f61069a826004611ec5565b5f61229c87878761251588670de0b6b3a7640000613708565b8787612eb7565b5f6106978383670de0b6b3a7640000612671565b5f80808061258087866125798b6114396125528c670de0b6b3a7640000613708565b7f00000000000000000000000000000000000000000000000000000000000000009061251c565b9190612671565b93506125ac847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125cc6125c489670de0b6b3a7640000613708565b8a9088612671565b90506125f8817f000000000000000000000000000000000000000000000000000000000000000061251c565b9350612624847f0000000000000000000000000000000000000000000000000000000000000000610683565b61262e90846135f3565b915050945094509450949050565b5f81831161264a5781610697565b5090919050565b5f80612668846126628a888a612671565b90611450565b9050611c488884865b5f825f190484118302158202612685575f80fd5b50910281810615159190040190565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156126d1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526126f89190810190613ade565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061275d9190613bb5565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa1580156127b1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229c9190613bb5565b5f61069783670de0b6b3a76400008461176a565b5f806127f58484612ec7565b9092509050806128075761280761234c565b5092915050565b5f815f036128255750670de0b6b3a764000061069a565b825f0361283357505f61069a565b5f61283d83611a84565b90505f61285161284c86611a84565b612eff565b9050818102612868670de0b6b3a764000082613bcc565b905061244781613124565b5f60016001607f1b038211156118025760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b9575060016001607f1b0382135b156118025760405163a5353be560e01b815260040160405180910390fd5b5f806128e3845f6132b6565b6128ed845f6132b6565b6128f791906137a2565b90505f8113156129125761290b81866135f3565b9450612930565b5f81121561293057612923816139be565b61292d9086613708565b94505b50929392505050565b6003545f908190612953906001600160801b031684611450565b905061297f7f0000000000000000000000000000000000000000000000000000000000000000826135f3565b6002546001600160801b03161115611814576002547f0000000000000000000000000000000000000000000000000000000000000000906129ca9083906001600160801b0316613708565b6114fb9190613708565b6129dc6134e6565b5f806129e784612cdc565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a2191906139d8565b6040805180830381865af4158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906139e7565b9350905082612a7357505f9150612b409050565b5f612a99612a9484610160015185610140015161068390919063ffffffff16565b611a84565b612ab9612a9485610120015186610100015161251c90919063ffffffff16565b612ac391906137a2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c229190613bf8565b935093509350935080612c3d57505f98975050505050505050565b868414612c6e57612c4d846117d9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9f57612c7e8361289c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ccd57612caf826117d9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ce4613530565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ddc91166132c4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e0e929004166132c4565b905292915050565b5f80612e26888888888888613338565b909250905080611c6257611c6261234c565b5f80612e818561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e77818c611450565b6114399190613708565b9150612ead827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e268888888888886133fc565b5f805f83612ed486611a84565b612ede91906137a2565b90505f811215612ef4575f80925092505061067c565b946001945092505050565b5f808213612f205760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fa39084901c611a84565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313d57505f919050565b680755bf798b4a1bf1e58212613166576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061244774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a84565b5f81831361264a5781610697565b5f80670de0b6b3a76400006132d76106a0565b6132e191906137dc565b90508083116132f0575f6132fa565b6132fa8184613708565b91506114fb613331670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137dc565b83906127d5565b5f805f61334889898888886134b8565b9050613362866117ca61335b8a8d6135f3565b8790610683565b985061336f858a8661176a565b985088811015613385575f8092509250506133f1565b888103670de0b6b3a764000081106133ba576133b36133ac670de0b6b3a764000089611450565b829061280e565b90506133d2565b6133cf6133ac670de0b6b3a7640000896127d5565b90505b808910156133e7575f809350935050506133f1565b8803925060019150505b965096945050505050565b5f805f61340c89898888886134b8565b905061341c866117ca898b6135f3565b975087811015613432575f8092509250506133f1565b878103613440818688612671565b9050670de0b6b3a7640000811061346d576134666133ac670de0b6b3a764000089611450565b9050613485565b6134826133ac670de0b6b3a7640000896127d5565b90505b61348f8186611450565b9050808a10156134a6575f809350935050506133f1565b90980398600198509650505050505050565b5f6134c3858561280e565b6134dc6134d4866117ca868b61251c565b859085612671565b61244791906135f3565b6040518061012001604052806134fa613530565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613598575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135c3575f80fd5b8501606081880312156135d4575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6135df565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561362a575f80fd5b81356114fb81613606565b80151581146105af575f80fd5b5f60208284031215613652575f80fd5b81356114fb81613635565b5f808335601e19843603018112613672575f80fd5b83018035915067ffffffffffffffff82111561368c575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136fb60c0830184866136a0565b9998505050505050505050565b8181038181111561069a5761069a6135df565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61375460e0830184866136a0565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612807576128076135df565b6001600160801b03818116838216019080821115612807576128076135df565b8181035f831280158383131683831282161715612807576128076135df565b5f602082840312156137d1575f80fd5b81516114fb81613606565b808202811582820484141761069a5761069a6135df565b6001600160801b03828116828216039080821115612807576128076135df565b8082018281125f831280158216821582161715613832576138326135df565b505092915050565b5f6020828403121561384a575f80fd5b81516114fb81613635565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6135df565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393a8285516138a9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139ad575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139d2576139d26135df565b505f0390565b610180810161069a82846138a9565b5f80604083850312156139f8575f80fd5b825191506020830151613a0a81613635565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a5257613a52613a15565b604052919050565b5f67ffffffffffffffff821115613a7357613a73613a15565b5060051b60200190565b5f82601f830112613a8c575f80fd5b81516020613aa1613a9c83613a5a565b613a29565b8083825260208201915060208460051b870101935086841115613ac2575f80fd5b602086015b84811015611c625780518352918301918301613ac7565b5f805f60608486031215613af0575f80fd5b835167ffffffffffffffff80821115613b07575f80fd5b818601915086601f830112613b1a575f80fd5b81516020613b2a613a9c83613a5a565b82815260059290921b8401810191818101908a841115613b48575f80fd5b8286015b84811015613b7e57805186811115613b62575f80fd5b613b708d86838b0101613a7d565b845250918301918301613b4c565b5091890151919750909350505080821115613b97575f80fd5b50613ba486828701613a7d565b925050604084015190509250925092565b5f60208284031215613bc5575f80fd5b5051919050565b5f82613bda57613bda613855565b600160ff1b82145f1984141615613bf357613bf36135df565b500590565b5f805f8060808587031215613c0b575f80fd5b84519350602085015192506040850151915060608501516135d48161363556fea26469706673582212204cda7d6160535a33cc6cda69fe36662a5e479c8bc3fb800750f275520e21b92a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHTarget2Deployer.ts new file mode 100644 index 000000000..38ce2b1ab --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget2Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHTarget2Deployer = { + name: 'EzETHTarget2Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161477438038061477483398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146eb6100895f395f8181606c015260bd01526146eb5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b6141b980620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b50604051620041b9380380620041b983398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613c61620005585f395f61146a01525f61148b01525f50505f50505f610c2801525f50505f818160f9015281816103020152612d7101525f818161152801528181611cad01528181611d10015281816124970152818161295a0152818161299601528181612b8e0152612d4b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d2501525f6118d701525f81816119f801528181612588015281816126000152612e8901525f81816109a301528181610e3701528181611415015281816119cc01526125d401525f8181610e16015281816125540152612e4501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d9701525f81816101d301528181610396015281816108e1015261330d01525f81816106a7015281816107230152818161079701528181610862015261089a01525f81816114ac01526116f201525f5050613c615ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613585565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613585565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906135f3565b909155506101ce9050844283610f13565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856135f3565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61361a565b8b611217565b8d8a8a898e8561023e602083018361361a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613642565b8961028960408a018a61365d565b60405161029c97969594939291906136c8565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846135f3565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea9084906135f3565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b6104189060016135f3565b9350505f61042784898d6114d1565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611502565b5f6104706002886111e3565b90508c61048a82610484602084018461361a565b85611217565b858b868461049b602086018661361a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613642565b6104ec896104e68a8d613708565b90610683565b8d6104fa60408e018e61365d565b60405161050e98979695949392919061371b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361361a565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613642565b156105ea576105e0856105db604087018761365d565b6116b5565b9093509050610602565b5034610602856105fd604087018761365d565b6116d0565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a764000061176a565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611785565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b6135f3565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d161179a565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b92505b50610838836117d9565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613708565b8a84610f13565b6108cc896108c66108bf7f0000000000000000000000000000000000000000000000000000000000000000836135f3565b4290611806565b84610f13565b6108d58861181a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613708565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119b7565b915091508060095f82825461097291906135f3565b9091555061098d9050865f8461098781611a84565b88611aad565b61099781836135f3565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c24565b91506109db6109d68385610683565b611c6d565b600680546002906109fc9084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a29826117d9565b60068054601090610a4b908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119b7565b915091508060095f828254610abe91906135f3565b90915550610ad99050835f84610ad381611a84565b8a611c96565b610ae38183613708565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613762565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b40826117d9565b60068054601090610b62908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611a84565b610ba483611a84565b610bae91906137a2565b5f611e86565b8e610bbf8482611ec5565b50505b5f610bcc846120b4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906137c1565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906121f6565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d4161179a565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061227c565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122a7565b61230b565b15610e6d57610e6d61234c565b610e7987858885612365565b91965094509250670de0b6b3a7640000610efb610e9687846135f3565b600254610eb4908890600160801b90046001600160801b0316613708565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b1115610f0957610f0961234c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f66836117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613708565b610fb991906137dc565b85670de0b6b3a7640000610fcd878a613708565b610fd791906137dc565b8592919060016123ad565b6117d9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c846117d9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866137dc565b6005546001600160801b031691908860016123ad565b600580546001600160801b0319166001600160801b03929092169190911790556110b7856117d9565b600280545f906110d19084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe846117d9565b60028054601090611120908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d846117d9565b6111579082613782565b600380546001600160801b03808416600160801b02911617905590505f61117d83612451565b905061119b8161118c87611a84565b6111969084613813565b611e86565b6111a484612491565b6111b0576111b061234c565b5f6111ba856124f0565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112489084906135f3565b90915550505f838152600b60205260408120805483929061126a9084906135f3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db61179a565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006124fc565b93508761134d858961251c565b111561135b5761135b61234c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117ba565b93506113d58a670de0b6b3a7640000868c612530565b509193509091506113e890508183613708565b6113f29087613708565b95508861143f816114398d611407868c613708565b8d611412878261263c565b877f0000000000000000000000000000000000000000000000000000000000000000612651565b9061251c565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612671565b5f61069a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612694565b5f6114e26040830160208401613642565b156114ee5750826114fb565b6114f884846127d5565b90505b9392505050565b6002546001600160801b03168381101561151e5761151e61234c565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611556908390600f0b6127e9565b10156115645761156461234c565b6004546115ae90610fe290600160801b90046001600160801b0316611591670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908960016123ad565b600580546001600160801b03928316600160801b0292169190911790556115d4816117d9565b600280546001600160801b0319166001600160801b03929092169190911790556115fd856117d9565b6002805460109061161f908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061164c856117d9565b6004805460109061166e908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61169c83612451565b905061119b816116ab88611a84565b61119690846137a2565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611740573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611764919061383a565b50505050565b5f825f19048411830215820261177e575f80fd5b5091020490565b5f6117908284613869565b6106979084613708565b6002546004545f916106cb916001600160801b0390911690600f0b6127e9565b5f6117d0826117ca85888861176a565b9061280e565b95945050505050565b5f6001600160801b0382111561180257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118145782610697565b50919050565b6006545f90819061183c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119b2575f6118658383613708565b9050611874610fe28286611450565b60068054601090611896908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118ce85836127d590919063ffffffff16565b90505f6118fb827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461190e91906135f3565b9091555061191e90508183613708565b9150611929826117d9565b600280545f906119439084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197082612873565b600480545f90611984908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119c387856127d5565b91505f6119f0837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a1c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a3f57611a2e8282613708565b611a389084613708565b9250611a56565b611a498282613708565b611a5390846135f3565b92505b86861015611a7957611a6983878961176a565b9250611a7682878961176a565b91505b509550959350505050565b5f6001600160ff1b038211156118025760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611af5610fe282611ad9670de0b6b3a7640000866137dc565b600554600160801b90046001600160801b031691908a5f6123ad565b600580546001600160801b03928316600160801b029216919091179055611b1b866117d9565b611b2590826137f3565b600480546001600160801b03928316600160801b029216919091179055611b4b846117d9565b600280545f90611b659084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b928361289c565b600480545f90611ba6908490600f0b61387c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611bd6856117d9565b60028054601090611bf8908490600160801b90046001600160801b03166137f3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c3b84611c358a888a61176a565b906127d5565b9050611c4888848661176a565b611c5290826135f3565b905086811115611c625786810391505b509695505050505050565b5f6001600160701b038211156118025760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611cd857507f0000000000000000000000000000000000000000000000000000000000000000611cd68583613708565b105b15611ce557611ce561234c565b6004549084900390600f0b611cfa84826137a2565b905083611d0686611a84565b138015611d3b57507f0000000000000000000000000000000000000000000000000000000000000000611d3983836127e9565b105b15611d4857611d4861234c565b600354600160801b90046001600160801b0316611d89610fe282611d74670de0b6b3a7640000886137dc565b6005546001600160801b031691908c5f6123ad565b600580546001600160801b0319166001600160801b0392909216919091179055611db38882613708565b9050611dbe816117d9565b600380546001600160801b03928316600160801b029216919091179055611de4836117d9565b600280546001600160801b0319166001600160801b0392909216919091179055611e0d8261289c565b600480546001600160801b0319166001600160801b0392909216919091179055611e36876117d9565b60028054601090611e58908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ea190610fe2906001600160801b031684846128d7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f0f916001600160801b031690613708565b9050805f03611f2257600191505061069a565b5f611f2c85612939565b9050805f03611f405760019250505061069a565b5f80611f4d8385896129d4565b9150915080611f62575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611f9d929190613927565b6040805180830381865af4158015611fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdb919061399c565b91509150611ff9611feb82611a84565b611ff4906139be565b612b48565b92508261200e575f965050505050505061069a565b612017826117d9565b600780545f906120319084906001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061205e816117d9565b60078054601090612080908490600160801b90046001600160801b0316613782565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120db87612cdc565b6040518263ffffffff1660e01b81526004016120f791906139d8565b6040805180830381865af4158015612111573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061213591906139e7565b915091508061214a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121af916135f3565b6121b99190613708565b9050805f036121cf57505f958695509350505050565b5f8087116121dd575f6121e8565b6121e884888461176a565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561221957612219613a15565b6040519080825280601f01601f191660200182016040528015612243576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612263578692505b828152825f602083013e90999098509650505050505050565b5f61229c87878761229588670de0b6b3a7640000613708565b8787612e16565b979650505050505050565b5f6114f86122e76122c084670de0b6b3a7640000613708565b611439670de0b6b3a76400006122d6818a611450565b6122e09190613708565b879061251c565b6122f990670de0b6b3a76400006135f3565b611c3584670de0b6b3a7640000613708565b5f806123418561231961179a565b61232391906135f3565b600254610eb4908790600160801b90046001600160801b0316613708565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612375898789612e38565b90925090506123848289613708565b97505f61239282888a61176a565b905061239e818b613708565b9a989950979650505050505050565b5f825f036123bc5750846117d0565b811561240e576123ed6123cf84876135f3565b6123d98587610683565b6123e3888a610683565b611c3591906135f3565b90505f6123fa8588611806565b905080821015612408578091505b506117d0565b82850361241c57505f6117d0565b6124476124298487613708565b612433858761251c565b61243d888a610683565b611c359190613708565b9695505050505050565b5f612476600b5f6124636002866111e3565b81526020019081526020015f2054611a84565b612487600b5f6124636001876111e3565b61069a91906137a2565b5f6124bc7f00000000000000000000000000000000000000000000000000000000000000008361251c565b6003546124d291906001600160801b03166135f3565b6002546124e8906001600160801b031684610683565b101592915050565b5f61069a826004611ec5565b5f61229c87878761251588670de0b6b3a7640000613708565b8787612eb7565b5f6106978383670de0b6b3a7640000612671565b5f80808061258087866125798b6114396125528c670de0b6b3a7640000613708565b7f00000000000000000000000000000000000000000000000000000000000000009061251c565b9190612671565b93506125ac847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f6125cc6125c489670de0b6b3a7640000613708565b8a9088612671565b90506125f8817f000000000000000000000000000000000000000000000000000000000000000061251c565b9350612624847f0000000000000000000000000000000000000000000000000000000000000000610683565b61262e90846135f3565b915050945094509450949050565b5f81831161264a5781610697565b5090919050565b5f80612668846126628a888a612671565b90611450565b9050611c488884865b5f825f190484118302158202612685575f80fd5b50910281810615159190040190565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156126d1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526126f89190810190613ade565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061275d9190613bb5565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa1580156127b1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229c9190613bb5565b5f61069783670de0b6b3a76400008461176a565b5f806127f58484612ec7565b9092509050806128075761280761234c565b5092915050565b5f815f036128255750670de0b6b3a764000061069a565b825f0361283357505f61069a565b5f61283d83611a84565b90505f61285161284c86611a84565b612eff565b9050818102612868670de0b6b3a764000082613bcc565b905061244781613124565b5f60016001607f1b038211156118025760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b9575060016001607f1b0382135b156118025760405163a5353be560e01b815260040160405180910390fd5b5f806128e3845f6132b6565b6128ed845f6132b6565b6128f791906137a2565b90505f8113156129125761290b81866135f3565b9450612930565b5f81121561293057612923816139be565b61292d9086613708565b94505b50929392505050565b6003545f908190612953906001600160801b031684611450565b905061297f7f0000000000000000000000000000000000000000000000000000000000000000826135f3565b6002546001600160801b03161115611814576002547f0000000000000000000000000000000000000000000000000000000000000000906129ca9083906001600160801b0316613708565b6114fb9190613708565b6129dc6134e6565b5f806129e784612cdc565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a2191906139d8565b6040805180830381865af4158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906139e7565b9350905082612a7357505f9150612b409050565b5f612a99612a9484610160015185610140015161068390919063ffffffff16565b611a84565b612ab9612a9485610120015186610100015161251c90919063ffffffff16565b612ac391906137a2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bfe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c229190613bf8565b935093509350935080612c3d57505f98975050505050505050565b868414612c6e57612c4d846117d9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9f57612c7e8361289c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ccd57612caf826117d9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612ce4613530565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612ddc91166132c4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e0e929004166132c4565b905292915050565b5f80612e26888888888888613338565b909250905080611c6257611c6261234c565b5f80612e818561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e77818c611450565b6114399190613708565b9150612ead827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e268888888888886133fc565b5f805f83612ed486611a84565b612ede91906137a2565b90505f811215612ef4575f80925092505061067c565b946001945092505050565b5f808213612f205760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fa39084901c611a84565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313d57505f919050565b680755bf798b4a1bf1e58212613166576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061244774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a84565b5f81831361264a5781610697565b5f80670de0b6b3a76400006132d76106a0565b6132e191906137dc565b90508083116132f0575f6132fa565b6132fa8184613708565b91506114fb613331670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137dc565b83906127d5565b5f805f61334889898888886134b8565b9050613362866117ca61335b8a8d6135f3565b8790610683565b985061336f858a8661176a565b985088811015613385575f8092509250506133f1565b888103670de0b6b3a764000081106133ba576133b36133ac670de0b6b3a764000089611450565b829061280e565b90506133d2565b6133cf6133ac670de0b6b3a7640000896127d5565b90505b808910156133e7575f809350935050506133f1565b8803925060019150505b965096945050505050565b5f805f61340c89898888886134b8565b905061341c866117ca898b6135f3565b975087811015613432575f8092509250506133f1565b878103613440818688612671565b9050670de0b6b3a7640000811061346d576134666133ac670de0b6b3a764000089611450565b9050613485565b6134826133ac670de0b6b3a7640000896127d5565b90505b61348f8186611450565b9050808a10156134a6575f809350935050506133f1565b90980398600198509650505050505050565b5f6134c3858561280e565b6134dc6134d4866117ca868b61251c565b859085612671565b61244791906135f3565b6040518061012001604052806134fa613530565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613598575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156135c3575f80fd5b8501606081880312156135d4575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6135df565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561362a575f80fd5b81356114fb81613606565b80151581146105af575f80fd5b5f60208284031215613652575f80fd5b81356114fb81613635565b5f808335601e19843603018112613672575f80fd5b83018035915067ffffffffffffffff82111561368c575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136fb60c0830184866136a0565b9998505050505050505050565b8181038181111561069a5761069a6135df565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61375460e0830184866136a0565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612807576128076135df565b6001600160801b03818116838216019080821115612807576128076135df565b8181035f831280158383131683831282161715612807576128076135df565b5f602082840312156137d1575f80fd5b81516114fb81613606565b808202811582820484141761069a5761069a6135df565b6001600160801b03828116828216039080821115612807576128076135df565b8082018281125f831280158216821582161715613832576138326135df565b505092915050565b5f6020828403121561384a575f80fd5b81516114fb81613635565b634e487b7160e01b5f52601260045260245ffd5b5f8261387757613877613855565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6135df565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a08201905061393a8285516138a9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139ad575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139d2576139d26135df565b505f0390565b610180810161069a82846138a9565b5f80604083850312156139f8575f80fd5b825191506020830151613a0a81613635565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a5257613a52613a15565b604052919050565b5f67ffffffffffffffff821115613a7357613a73613a15565b5060051b60200190565b5f82601f830112613a8c575f80fd5b81516020613aa1613a9c83613a5a565b613a29565b8083825260208201915060208460051b870101935086841115613ac2575f80fd5b602086015b84811015611c625780518352918301918301613ac7565b5f805f60608486031215613af0575f80fd5b835167ffffffffffffffff80821115613b07575f80fd5b818601915086601f830112613b1a575f80fd5b81516020613b2a613a9c83613a5a565b82815260059290921b8401810191818101908a841115613b48575f80fd5b8286015b84811015613b7e57805186811115613b62575f80fd5b613b708d86838b0101613a7d565b845250918301918301613b4c565b5091890151919750909350505080821115613b97575f80fd5b50613ba486828701613a7d565b925050604084015190509250925092565b5f60208284031215613bc5575f80fd5b5051919050565b5f82613bda57613bda613855565b600160ff1b82145f1984141615613bf357613bf36135df565b500590565b5f805f8060808587031215613c0b575f80fd5b84519350602085015192506040850151915060608501516135d48161363556fea26469706673582212204cda7d6160535a33cc6cda69fe36662a5e479c8bc3fb800750f275520e21b92a64736f6c63430008160033a2646970667358221220216ab024a27b24bb8e1d911e87f55ef282ffbba02823d8779216ec4490216b2564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget3.ts b/packages/hyperdrive-artifacts/src/EzETHTarget3.ts new file mode 100644 index 000000000..9454fa7cc --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget3.ts @@ -0,0 +1,1002 @@ +export const EzETHTarget3 = { + name: 'EzETHTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b506040516200414e3803806200414e83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613be5620005695f395f612b0301525f612b2401525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161201b0152818161207e0152818161292701528181612c620152612c9e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c2c01525f8181611d810152612ef401525f81816110260152611d5501525f612eaa01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128bd01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119890152612b4501525f5050613be55ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134de565b610064565b60405190815260200160405180910390f35b61003f61005f36600461353d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b61359d565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135b0565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f00000000000000000000000000000000000000000000000000000000000000008261359d565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135b0565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135b0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f90839061359d565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613641565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613650565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613641565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613650565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135b0565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061367b565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c610254919061359d565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561367b565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136a3565b866107a960408c018c6136be565b6040516107bc9796959493929190613701565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613754565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061376b565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61367b565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261367b565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136a3565b87610b5e60408901896136be565b604051610b719796959493929190613701565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361367b565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136a3565b15610c8f57610c8585610c8060408701876136be565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136be565b611967565b610caf611a01565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a13565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b61359d565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b8a84611a28565b610f4f89610f49610f427f00000000000000000000000000000000000000000000000000000000000000008361359d565b4290611b61565b84611a28565b610f5888611b6f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135b0565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d0c565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d40565b915091508060095f828254610ff5919061359d565b909155506110109050865f8461100a81611766565b88611e0d565b61101a818361359d565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f84565b915061105e6110598385611fc7565b611fdb565b6006805460029061107f9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d0c565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d40565b915091508060095f828254611141919061359d565b9091555061115c9050835f8461115681611766565b8a612004565b61116681836135b0565b91506111756110598387611fc7565b600680546002906111969084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906137d6565b5f6121f4565b8e6112428482612233565b50505b5f61124f84612422565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906137f5565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612564565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d0c565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d0c565b6113f791906137d6565b92915050565b5f805f8061140b8a8a6125ec565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612624565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8d7f00000000000000000000000000000000000000000000000000000000000000006126dd565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612797565b509093505f9050611568848f61359d565b90505f6115888b8b61157987611766565b611583908e613810565b6127df565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612841565b611766565b6115c683611766565b6115d36115b88685611fc7565b6115dd91906137d6565b6115e791906137d6565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612851565b61162685670de0b6b3a76400006135b0565b906117d4565b61163461342f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612874565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612874565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c816128e1565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061181990849061359d565b90915550505f838152600b60205260408120805483929061183b90849061359d565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612233565b5f8183136118a7578261008d565b50919050565b5f806118b984846125ec565b9092509050806118cb576118cb612a75565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a8e565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fb9190613837565b50505050565b5f610c2d670de0b6b3a7640000612afd565b5f611a1e8284613866565b61008d90846135b0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a535750505050565b5f848152600860205260408120546001600160801b031690819003611aab57611a7b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b28565b611afc611af7670de0b6b3a7640000611ac488866135b0565b611ace9190613754565b85670de0b6b3a7640000611ae2878a6135b0565b611aec9190613754565b859291906001612b6a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b31846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b91908490600160801b90046001600160801b0316611fc7565b6006546201000090046001600160701b03169250905081811115611d07575f611bba83836135b0565b9050611bc9611af78286612c04565b60068054601090611beb908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c2385836117d490919063ffffffff16565b90505f611c50827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b90508060095f828254611c63919061359d565b90915550611c73905081836135b0565b9150611c7e826118d2565b600280545f90611c989084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc582612c18565b600480545f90611cd9908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d355760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d4c87856117d4565b91505f611d79837f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050611da5817f0000000000000000000000000000000000000000000000000000000000000000611fc7565b91508315611dc857611db782826135b0565b611dc190846135b0565b9250611ddf565b611dd282826135b0565b611ddc908461359d565b92505b86861015611e0257611df28387896117b9565b9250611dff8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e55611af782611e39670de0b6b3a764000086613754565b600554600160801b90046001600160801b031691908a5f612b6a565b600580546001600160801b03928316600160801b029216919091179055611e7b866118d2565b611e859082613879565b600480546001600160801b03928316600160801b029216919091179055611eab846118d2565b600280545f90611ec59084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef2836118fb565b600480545f90611f06908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f36856118d2565b60028054601090611f58908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f95846116268a888a6117b9565b9050611fa28884866117b9565b611fac908261359d565b905086811115611fbc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061204657507f000000000000000000000000000000000000000000000000000000000000000061204485836135b0565b105b1561205357612053612a75565b6004549084900390600f0b61206884826137d6565b90508361207486611766565b1380156120a957507f00000000000000000000000000000000000000000000000000000000000000006120a783836118ad565b105b156120b6576120b6612a75565b600354600160801b90046001600160801b03166120f7611af7826120e2670de0b6b3a764000088613754565b6005546001600160801b031691908c5f612b6a565b600580546001600160801b0319166001600160801b039290921691909117905561212188826135b0565b905061212c816118d2565b600380546001600160801b03928316600160801b029216919091179055612152836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561217b826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121a4876118d2565b600280546010906121c6908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220f90611af7906001600160801b031684846127df565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161227d916001600160801b0316906135b0565b9050805f036122905760019150506113f7565b5f61229a85612c41565b9050805f036122ae576001925050506113f7565b5f806122bb838589612cdc565b91509150806122d0575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161230b9291906138c6565b6040805180830381865af4158015612325573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612349919061393b565b9150915061236761235982611766565b6123629061395d565b6128e1565b92508261237c575f96505050505050506113f7565b612385826118d2565b600780545f9061239f9084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123cc816118d2565b600780546010906123ee908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124498761162c565b6040518263ffffffff1660e01b81526004016124659190613641565b6040805180830381865af415801561247f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a39190613977565b91509150806124b857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251d9161359d565b61252791906135b0565b9050805f0361253d57505f958695509350505050565b5f80871161254b575f612556565b6125568488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612587576125876139a5565b6040519080825280601f01601f1916602001820160405280156125b1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125d1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125f986611766565b61260391906137d6565b90505f811215612619575f809250925050610d21565b946001945092505050565b5f805f6126348888888888612e4b565b90505f61265e670de0b6b3a764000061264d8888612c04565b612657919061359d565b83906117d4565b9050670de0b6b3a764000081106126925761268b612684670de0b6b3a7640000896117d4565b8290612a8e565b90506126aa565b6126a7612684670de0b6b3a764000089612c04565b90505b6126b481866117d4565b9050888110156126cb575f809350935050506125e2565b97909703976001975095505050505050565b5f805f6126ed8989888888612e79565b9050612707866119466127008a8d61359d565b8790611fc7565b9850612714858a866117b9565b98508881101561272a575f8092509250506115f6565b888103670de0b6b3a7640000811061275857612751612684670de0b6b3a764000089612c04565b9050612770565b61276d612684670de0b6b3a7640000896117d4565b90505b80891015612785575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127a7898789612e9d565b90925090506127b682896135b0565b97505f6127c482888a6117b9565b90506127d0818b6135b0565b9a989950979650505050505050565b5f806127eb845f612f22565b6127f5845f612f22565b6127ff91906137d6565b90505f81131561281a57612813818661359d565b9450612838565b5f8112156128385761282b8161395d565b61283590866135b0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612865575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612887610d28565b6128919190613754565b90508083116128a0575f6128aa565b6128aa81846135b0565b915061008d612657670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613754565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129bb91906139b9565b9350935093509350806129d657505f98975050505050505050565b868414612a07576129e6846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a3857612a17836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a6657612a48826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612aa55750670de0b6b3a76400006113f7565b825f03612ab357505f6113f7565b5f612abd83611766565b90505f612ad1612acc86611766565b612f37565b9050818102612ae8670de0b6b3a7640000826139f7565b9050612af38161315c565b9695505050505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856132ee565b5f825f03612b79575084610075565b8115612bcb57612baa612b8c848761359d565b612b968587611fc7565b612ba0888a611fc7565b611626919061359d565b90505f612bb78588611b61565b905080821015612bc5578091505b50610075565b828503612bd957505f610075565b610072612be684876135b0565b612bf08587612841565b612bfa888a611fc7565b61162691906135b0565b5f61008d83670de0b6b3a764000084612851565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c5b906001600160801b031684612c04565b9050612c877f00000000000000000000000000000000000000000000000000000000000000008261359d565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cd29083906001600160801b03166135b0565b61008d91906135b0565b612ce4613484565b5f80612cef8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d299190613641565b6040805180830381865af4158015612d43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d679190613977565b9350905082612d7b57505f9150612e439050565b5f612d9c6115b8846101600151856101400151611fc790919063ffffffff16565b612dbc6115b885610120015186610100015161284190919063ffffffff16565b612dc691906137d6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e568585612a8e565b612e6f612e6786611946868b611fc7565b8590856117b9565b610072919061359d565b5f612e848585612a8e565b612e6f612e9586611946868b612841565b859085612851565b5f80612eec85612ee685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612edc818c612c04565b612ee691906135b0565b90612841565b9150612f18827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050935093915050565b5f818313612f30578161008d565b5090919050565b5f808213612f585760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fdb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317557505f919050565b680755bf798b4a1bf1e5821261319e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612af374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561332b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133529190810190613ad8565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b79190613650565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa15801561340b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c9190613650565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061349861342f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156134f2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613524575f80fd5b613530888289016134ce565b9150509295509295909350565b5f805f6060848603121561354f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613573575f80fd5b61357f868287016134ce565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613589565b818103818111156113f7576113f7613589565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846135c3565b5f60208284031215613660575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f6020828403121561368b575f80fd5b813561008d81613667565b8015158114610c0a575f80fd5b5f602082840312156136b3575f80fd5b813561008d81613696565b5f808335601e198436030181126136d3575f80fd5b83018035915067ffffffffffffffff8211156136ed575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613589565b5f805f6060848603121561377d575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613589565b6001600160801b038181168382160190808211156118cb576118cb613589565b8181035f8312801583831316838312821617156118cb576118cb613589565b5f60208284031215613805575f80fd5b815161008d81613667565b8082018281125f83128015821682158216171561382f5761382f613589565b505092915050565b5f60208284031215613847575f80fd5b815161008d81613696565b634e487b7160e01b5f52601260045260245ffd5b5f8261387457613874613852565b500690565b6001600160801b038281168282160390808211156118cb576118cb613589565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613589565b5f6102a0820190506138d98285516135c3565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561394c575f80fd5b505080516020909101519092909150565b5f600160ff1b820161397157613971613589565b505f0390565b5f8060408385031215613988575f80fd5b82519150602083015161399a81613696565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139cc575f80fd5b84519350602085015192506040850151915060608501516139ec81613696565b939692955090935050565b5f82613a0557613a05613852565b600160ff1b82145f1984141615613a1e57613a1e613589565b500590565b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4c57613a4c6139a5565b604052919050565b5f67ffffffffffffffff821115613a6d57613a6d6139a5565b5060051b60200190565b5f82601f830112613a86575f80fd5b81516020613a9b613a9683613a54565b613a23565b8083825260208201915060208460051b870101935086841115613abc575f80fd5b602086015b84811015611fbc5780518352918301918301613ac1565b5f805f60608486031215613aea575f80fd5b835167ffffffffffffffff80821115613b01575f80fd5b818601915086601f830112613b14575f80fd5b81516020613b24613a9683613a54565b82815260059290921b8401810191818101908a841115613b42575f80fd5b8286015b84811015613b7857805186811115613b5c575f80fd5b613b6a8d86838b0101613a77565b845250918301918301613b46565b5091890151919750909350505080821115613b91575f80fd5b50613b9e86828701613a77565b92505060408401519050925092509256fea264697066735822122099aaad782d31747b0c0a6b731b5950e310787763c2cd6a0acb10e229320e942864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHTarget3Deployer.ts new file mode 100644 index 000000000..bed6320e8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget3Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHTarget3Deployer = { + name: 'EzETHTarget3Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161470938038061470983398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516146806100895f395f8181606c015260bd01526146805ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61414e80620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b506040516200414e3803806200414e83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051613be5620005695f395f612b0301525f612b2401525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b0152818161201b0152818161207e0152818161292701528181612c620152612c9e01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611c2c01525f8181611d810152612ef401525f81816110260152611d5501525f612eaa01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f6401526128bd01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119890152612b4501525f5050613be55ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134de565b610064565b60405190815260200160405180910390f35b61003f61005f36600461353d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b61359d565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135b0565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f00000000000000000000000000000000000000000000000000000000000000008261359d565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135b0565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135b0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f90839061359d565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613641565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613650565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613641565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613650565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135b0565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f016020810190610616919061367b565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c610254919061359d565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e602085018561367b565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136a3565b866107a960408c018c6136be565b6040516107bc9796959493929190613701565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613754565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a5919061376b565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c61367b565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b13602082018261367b565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136a3565b87610b5e60408901896136be565b604051610b719796959493929190613701565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be3602083018361367b565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136a3565b15610c8f57610c8585610c8060408701876136be565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136be565b611967565b610caf611a01565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a13565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b61359d565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135b0565b8a84611a28565b610f4f89610f49610f427f00000000000000000000000000000000000000000000000000000000000000008361359d565b4290611b61565b84611a28565b610f5888611b6f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135b0565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d0c565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611d40565b915091508060095f828254610ff5919061359d565b909155506110109050865f8461100a81611766565b88611e0d565b61101a818361359d565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f84565b915061105e6110598385611fc7565b611fdb565b6006805460029061107f9084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d0c565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611d40565b915091508060095f828254611141919061359d565b9091555061115c9050835f8461115681611766565b8a612004565b61116681836135b0565b91506111756110598387611fc7565b600680546002906111969084906201000090046001600160701b0316613796565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906137d6565b5f6121f4565b8e6112428482612233565b50505b5f61124f84612422565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906137f5565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612564565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d0c565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d0c565b6113f791906137d6565b92915050565b5f805f8061140b8a8a6125ec565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612624565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135b0565b8d7f00000000000000000000000000000000000000000000000000000000000000006126dd565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612797565b509093505f9050611568848f61359d565b90505f6115888b8b61157987611766565b611583908e613810565b6127df565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612841565b611766565b6115c683611766565b6115d36115b88685611fc7565b6115dd91906137d6565b6115e791906137d6565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612851565b61162685670de0b6b3a76400006135b0565b906117d4565b61163461342f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612874565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612874565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c816128e1565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061181990849061359d565b90915550505f838152600b60205260408120805483929061183b90849061359d565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f7826004612233565b5f8183136118a7578261008d565b50919050565b5f806118b984846125ec565b9092509050806118cb576118cb612a75565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a8e565b5f8060405163350b944160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156119d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fb9190613837565b50505050565b5f610c2d670de0b6b3a7640000612afd565b5f611a1e8284613866565b61008d90846135b0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a535750505050565b5f848152600860205260408120546001600160801b031690819003611aab57611a7b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b28565b611afc611af7670de0b6b3a7640000611ac488866135b0565b611ace9190613754565b85670de0b6b3a7640000611ae2878a6135b0565b611aec9190613754565b859291906001612b6a565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b31846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b91908490600160801b90046001600160801b0316611fc7565b6006546201000090046001600160701b03169250905081811115611d07575f611bba83836135b0565b9050611bc9611af78286612c04565b60068054601090611beb908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c2385836117d490919063ffffffff16565b90505f611c50827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b90508060095f828254611c63919061359d565b90915550611c73905081836135b0565b9150611c7e826118d2565b600280545f90611c989084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cc582612c18565b600480545f90611cd9908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d355760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d4c87856117d4565b91505f611d79837f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050611da5817f0000000000000000000000000000000000000000000000000000000000000000611fc7565b91508315611dc857611db782826135b0565b611dc190846135b0565b9250611ddf565b611dd282826135b0565b611ddc908461359d565b92505b86861015611e0257611df28387896117b9565b9250611dff8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e55611af782611e39670de0b6b3a764000086613754565b600554600160801b90046001600160801b031691908a5f612b6a565b600580546001600160801b03928316600160801b029216919091179055611e7b866118d2565b611e859082613879565b600480546001600160801b03928316600160801b029216919091179055611eab846118d2565b600280545f90611ec59084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef2836118fb565b600480545f90611f06908490600f0b613899565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f36856118d2565b60028054601090611f58908490600160801b90046001600160801b0316613879565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f95846116268a888a6117b9565b9050611fa28884866117b9565b611fac908261359d565b905086811115611fbc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061204657507f000000000000000000000000000000000000000000000000000000000000000061204485836135b0565b105b1561205357612053612a75565b6004549084900390600f0b61206884826137d6565b90508361207486611766565b1380156120a957507f00000000000000000000000000000000000000000000000000000000000000006120a783836118ad565b105b156120b6576120b6612a75565b600354600160801b90046001600160801b03166120f7611af7826120e2670de0b6b3a764000088613754565b6005546001600160801b031691908c5f612b6a565b600580546001600160801b0319166001600160801b039290921691909117905561212188826135b0565b905061212c816118d2565b600380546001600160801b03928316600160801b029216919091179055612152836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561217b826118fb565b600480546001600160801b0319166001600160801b03929092169190911790556121a4876118d2565b600280546010906121c6908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220f90611af7906001600160801b031684846127df565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161227d916001600160801b0316906135b0565b9050805f036122905760019150506113f7565b5f61229a85612c41565b9050805f036122ae576001925050506113f7565b5f806122bb838589612cdc565b91509150806122d0575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161230b9291906138c6565b6040805180830381865af4158015612325573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612349919061393b565b9150915061236761235982611766565b6123629061395d565b6128e1565b92508261237c575f96505050505050506113f7565b612385826118d2565b600780545f9061239f9084906001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123cc816118d2565b600780546010906123ee908490600160801b90046001600160801b03166137b6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124498761162c565b6040518263ffffffff1660e01b81526004016124659190613641565b6040805180830381865af415801561247f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124a39190613977565b91509150806124b857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251d9161359d565b61252791906135b0565b9050805f0361253d57505f958695509350505050565b5f80871161254b575f612556565b6125568488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612587576125876139a5565b6040519080825280601f01601f1916602001820160405280156125b1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125d1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125f986611766565b61260391906137d6565b90505f811215612619575f809250925050610d21565b946001945092505050565b5f805f6126348888888888612e4b565b90505f61265e670de0b6b3a764000061264d8888612c04565b612657919061359d565b83906117d4565b9050670de0b6b3a764000081106126925761268b612684670de0b6b3a7640000896117d4565b8290612a8e565b90506126aa565b6126a7612684670de0b6b3a764000089612c04565b90505b6126b481866117d4565b9050888110156126cb575f809350935050506125e2565b97909703976001975095505050505050565b5f805f6126ed8989888888612e79565b9050612707866119466127008a8d61359d565b8790611fc7565b9850612714858a866117b9565b98508881101561272a575f8092509250506115f6565b888103670de0b6b3a7640000811061275857612751612684670de0b6b3a764000089612c04565b9050612770565b61276d612684670de0b6b3a7640000896117d4565b90505b80891015612785575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f6127a7898789612e9d565b90925090506127b682896135b0565b97505f6127c482888a6117b9565b90506127d0818b6135b0565b9a989950979650505050505050565b5f806127eb845f612f22565b6127f5845f612f22565b6127ff91906137d6565b90505f81131561281a57612813818661359d565b9450612838565b5f8112156128385761282b8161395d565b61283590866135b0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612865575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612887610d28565b6128919190613754565b90508083116128a0575f6128aa565b6128aa81846135b0565b915061008d612657670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613754565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129bb91906139b9565b9350935093509350806129d657505f98975050505050505050565b868414612a07576129e6846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a3857612a17836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a6657612a48826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612aa55750670de0b6b3a76400006113f7565b825f03612ab357505f6113f7565b5f612abd83611766565b90505f612ad1612acc86611766565b612f37565b9050818102612ae8670de0b6b3a7640000826139f7565b9050612af38161315c565b9695505050505050565b5f6113f77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856132ee565b5f825f03612b79575084610075565b8115612bcb57612baa612b8c848761359d565b612b968587611fc7565b612ba0888a611fc7565b611626919061359d565b90505f612bb78588611b61565b905080821015612bc5578091505b50610075565b828503612bd957505f610075565b610072612be684876135b0565b612bf08587612841565b612bfa888a611fc7565b61162691906135b0565b5f61008d83670de0b6b3a764000084612851565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c5b906001600160801b031684612c04565b9050612c877f00000000000000000000000000000000000000000000000000000000000000008261359d565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612cd29083906001600160801b03166135b0565b61008d91906135b0565b612ce4613484565b5f80612cef8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d299190613641565b6040805180830381865af4158015612d43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d679190613977565b9350905082612d7b57505f9150612e439050565b5f612d9c6115b8846101600151856101400151611fc790919063ffffffff16565b612dbc6115b885610120015186610100015161284190919063ffffffff16565b612dc691906137d6565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e568585612a8e565b612e6f612e6786611946868b611fc7565b8590856117b9565b610072919061359d565b5f612e848585612a8e565b612e6f612e9586611946868b612841565b859085612851565b5f80612eec85612ee685817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612edc818c612c04565b612ee691906135b0565b90612841565b9150612f18827f0000000000000000000000000000000000000000000000000000000000000000611fc7565b9050935093915050565b5f818313612f30578161008d565b5090919050565b5f808213612f585760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fdb9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317557505f919050565b680755bf798b4a1bf1e5821261319e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612af374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561332b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133529190810190613ad8565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b79190613650565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb090606401602060405180830381865afa15801561340b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c9190613650565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061349861342f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156134f2575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613524575f80fd5b613530888289016134ce565b9150509295509295909350565b5f805f6060848603121561354f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613573575f80fd5b61357f868287016134ce565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613589565b818103818111156113f7576113f7613589565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846135c3565b5f60208284031215613660575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f6020828403121561368b575f80fd5b813561008d81613667565b8015158114610c0a575f80fd5b5f602082840312156136b3575f80fd5b813561008d81613696565b5f808335601e198436030181126136d3575f80fd5b83018035915067ffffffffffffffff8211156136ed575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613589565b5f805f6060848603121561377d575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613589565b6001600160801b038181168382160190808211156118cb576118cb613589565b8181035f8312801583831316838312821617156118cb576118cb613589565b5f60208284031215613805575f80fd5b815161008d81613667565b8082018281125f83128015821682158216171561382f5761382f613589565b505092915050565b5f60208284031215613847575f80fd5b815161008d81613696565b634e487b7160e01b5f52601260045260245ffd5b5f8261387457613874613852565b500690565b6001600160801b038281168282160390808211156118cb576118cb613589565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613589565b5f6102a0820190506138d98285516135c3565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561394c575f80fd5b505080516020909101519092909150565b5f600160ff1b820161397157613971613589565b505f0390565b5f8060408385031215613988575f80fd5b82519150602083015161399a81613696565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139cc575f80fd5b84519350602085015192506040850151915060608501516139ec81613696565b939692955090935050565b5f82613a0557613a05613852565b600160ff1b82145f1984141615613a1e57613a1e613589565b500590565b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4c57613a4c6139a5565b604052919050565b5f67ffffffffffffffff821115613a6d57613a6d6139a5565b5060051b60200190565b5f82601f830112613a86575f80fd5b81516020613a9b613a9683613a54565b613a23565b8083825260208201915060208460051b870101935086841115613abc575f80fd5b602086015b84811015611fbc5780518352918301918301613ac1565b5f805f60608486031215613aea575f80fd5b835167ffffffffffffffff80821115613b01575f80fd5b818601915086601f830112613b14575f80fd5b81516020613b24613a9683613a54565b82815260059290921b8401810191818101908a841115613b42575f80fd5b8286015b84811015613b7857805186811115613b5c575f80fd5b613b6a8d86838b0101613a77565b845250918301918301613b46565b5091890151919750909350505080821115613b91575f80fd5b50613b9e86828701613a77565b92505060408401519050925092509256fea264697066735822122099aaad782d31747b0c0a6b731b5950e310787763c2cd6a0acb10e229320e942864736f6c63430008160033a2646970667358221220c3f64d7796630bb2699b928ac64d7d5b30f2a85202601cf4aa699f7f00a0ad8164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget4.ts b/packages/hyperdrive-artifacts/src/EzETHTarget4.ts new file mode 100644 index 000000000..358fa8fa4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget4.ts @@ -0,0 +1,976 @@ +export const EzETHTarget4 = { + name: 'EzETHTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102c060405234801562000011575f80fd5b506040516200366b3803806200366b83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a05161319a620004d15f395f8181611089015261236d01525f81816110aa015261238e01525f50505f50505f61099201525f50505f818161025f0152611f4001525f81816117a00152818161180301528181611b3001528181611b6c01528181611d5d0152611f1a01525f81816105500152611ef401525f61138201525f6114d701525f818161070d01526114ab01525f50505f81816105710152611f6601525f818161064b01526124f101525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110cb015281816123af015261241401525f505061319a5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ac9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b1b565b6100b1565b005b610056610092366004612ac9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b4f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612b77565b61016a60408c018c612b92565b60405161017c96959493929190612bfd565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c4a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b4f565b88610ea4565b5f6102f56102ec6020870187612b4f565b88848989610a9e565b90945090506103048188612c71565b92505f61031083610f41565b5090506103206020870187612b4f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612b77565b8a888e80604001906103709190612b92565b604051610384989796959493929190612c84565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b4f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f0565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612ccb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b61110c565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061112c565b92505b506105a28361114b565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612c71565b8a84611178565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612ccb565b42906112b1565b84611178565b61063f886112c5565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612c71565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611462565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611496565b915091508060095f8282546106dc9190612ccb565b909155506106f79050865f846106f181611563565b8861158c565b6107018183612ccb565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611703565b9150610745610740838561174c565b611760565b600680546002906107669084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261114b565b600680546010906107b5908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611462565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611496565b915091508060095f8282546108289190612ccb565b909155506108439050835f8461083d81611563565b8a611789565b61084d8183612c71565b915061085c610740838761174c565b6006805460029061087d9084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261114b565b600680546010906108cc908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611563565b61090e83611563565b6109189190612d1e565b5f611979565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d3d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119b8565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a3e565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a4a565b9050610b208361114b565b610b2a9083612d58565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161114b565b60078054601090610b75908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a65565b9350610bb08684611afb565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612c71565b9050805f03610c3a576001915050610dc7565b5f610c4485611b0f565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611baa565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612df6565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612e6b565b91509150610d11610d0382611563565b610d0c90612e8d565b611d17565b925082610d26575f9650505050505050610dc7565b610d2f8261114b565b600780545f90610d499084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161114b565b60078054601090610d98908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612c71565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612ccb565b90915550505f838152600b602052604081208054839290610ef7908490612ccb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eab565b6040518263ffffffff1660e01b8152600401610f849190612ea7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612eb6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612ccb565b6110469190612c71565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a4a565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085611fe5565b5f6110fb8284612c4a565b6111059084612c71565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612132565b5f6111428261113c858888611a4a565b90612157565b95945050505050565b5f6001600160801b0382111561117457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111a35750505050565b5f848152600860205260408120546001600160801b0316908190036111fb576111cb8361114b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611278565b61124c611247670de0b6b3a76400006112148886612c71565b61121e9190612ee4565b85670de0b6b3a7640000611232878a612c71565b61123c9190612ee4565b8592919060016121c6565b61114b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112818461114b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112bf5782611105565b50919050565b6006545f9081906112e7908490600160801b90046001600160801b031661174c565b6006546201000090046001600160701b0316925090508181111561145d575f6113108383612c71565b905061131f6112478286612260565b60068054601090611341908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611379858361227490919063ffffffff16565b90505f6113a6827f000000000000000000000000000000000000000000000000000000000000000061174c565b90508060095f8282546113b99190612ccb565b909155506113c990508183612c71565b91506113d48261114b565b600280545f906113ee9084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061141b82612288565b600480545f9061142f908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561148b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114a28785612274565b91505f6114cf837f000000000000000000000000000000000000000000000000000000000000000061174c565b90506114fb817f000000000000000000000000000000000000000000000000000000000000000061174c565b9150831561151e5761150d8282612c71565b6115179084612c71565b9250611535565b6115288282612c71565b6115329084612ccb565b92505b8686101561155857611548838789611a4a565b9250611555828789611a4a565b91505b509550959350505050565b5f6001600160ff1b038211156111745760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115d4611247826115b8670de0b6b3a764000086612ee4565b600554600160801b90046001600160801b031691908a5f6121c6565b600580546001600160801b03928316600160801b0292169190911790556115fa8661114b565b6116049082612d58565b600480546001600160801b03928316600160801b02921691909117905561162a8461114b565b600280545f906116449084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611671836122b1565b600480545f90611685908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116b58561114b565b600280546010906116d7908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061171a846117148a888a611a4a565b90612274565b9050611727888486611a4a565b6117319082612ccb565b9050868111156117415786810391505b509695505050505050565b5f6111058383670de0b6b3a7640000611a4a565b5f6001600160701b038211156111745760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117cb57507f00000000000000000000000000000000000000000000000000000000000000006117c98583612c71565b105b156117d8576117d86122ec565b6004549084900390600f0b6117ed8482612d1e565b9050836117f986611563565b13801561182e57507f000000000000000000000000000000000000000000000000000000000000000061182c8383612132565b105b1561183b5761183b6122ec565b600354600160801b90046001600160801b031661187c61124782611867670de0b6b3a764000088612ee4565b6005546001600160801b031691908c5f6121c6565b600580546001600160801b0319166001600160801b03929092169190911790556118a68882612c71565b90506118b18161114b565b600380546001600160801b03928316600160801b0292169190911790556118d78361114b565b600280546001600160801b0319166001600160801b0392909216919091179055611900826122b1565b600480546001600160801b0319166001600160801b03929092169190911790556119298761114b565b6002805460109061194b908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199490611247906001600160801b03168484612305565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119db576119db612f28565b6040519080825280601f01601f191660200182016040528015611a05576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a25578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a5e575f80fd5b5091020490565b5f80611a71858561174c565b9050611a7c81612367565b9450845f03611a8e575f915050611105565b849150611aa16040840160208501612b77565b15611ad057611ac985611ab76020860186612b4f565b611ac46040870187612b92565b6123d4565b9150611af3565b611af385611ae16020860186612b4f565b611aee6040870187612b92565b6123ee565b509392505050565b5f6111058383670de0b6b3a7640000612485565b6003545f908190611b29906001600160801b031684612260565b9050611b557f000000000000000000000000000000000000000000000000000000000000000082612ccb565b6002546001600160801b031611156112bf576002547f000000000000000000000000000000000000000000000000000000000000000090611ba09083906001600160801b0316612c71565b6111059190612c71565b611bb2612a2a565b5f80611bbd84611eab565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bf79190612ea7565b6040805180830381865af4158015611c11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c359190612eb6565b9350905082611c4957505f91506100a99050565b5f611c6f611c6a84610160015185610140015161174c90919063ffffffff16565b611563565b611c8f611c6a856101200151866101000151611afb90919063ffffffff16565b611c999190612d1e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df19190612f3c565b935093509350935080611e0c57505f98975050505050505050565b868414611e3d57611e1c8461114b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e6e57611e4d836122b1565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e9c57611e7e8261114b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611eb3612a74565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fab91166124a8565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fdd929004166124a8565b905292915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612022573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612049919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ae9190613106565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121279190613106565b979650505050505050565b5f8061213e848461251c565b909250905080612150576121506122ec565b5092915050565b5f815f0361216e5750670de0b6b3a7640000610dc7565b825f0361217c57505f610dc7565b5f61218683611563565b90505f61219a61219586611563565b612557565b90508181026121b1670de0b6b3a76400008261311d565b90506121bc8161277c565b9695505050505050565b5f825f036121d5575084611142565b8115612227576122066121e88487612ccb565b6121f2858761174c565b6121fc888a61174c565b6117149190612ccb565b90505f61221385886112b1565b905080821015612221578091505b50611142565b82850361223557505f611142565b6121bc6122428487612c71565b61224c8587611afb565b612256888a61174c565b6117149190612c71565b5f61110583670de0b6b3a764000084612485565b5f61110583670de0b6b3a764000084611a4a565b5f60016001607f1b038211156111745760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806122ce575060016001607f1b0382135b156111745760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612311845f61290e565b61231b845f61290e565b6123259190612d1e565b90505f811315612340576123398186612ccb565b945061235e565b5f81121561235e5761235181612e8d565b61235b9086612c71565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612923565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561245a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247e9190613149565b5050505050565b5f825f190484118302158202612499575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bb61040f565b6124c59190612ee4565b90508083116124d4575f6124de565b6124de8184612c71565b9150611105612515670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ee4565b8390612274565b5f805f8361252986611563565b6125339190612d1e565b90505f811215612549575f809250925050612550565b9150600190505b9250929050565b5f8082136125785760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125fb9084901c611563565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279557505f919050565b680755bf798b4a1bf1e582126127be576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906121bc74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611563565b5f81831361291c5781611105565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612960573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612987919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ec9190613106565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016120e8565b604051806101200160405280612a3e612a74565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612adb575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612aff575f80fd5b840160608187031215612b10575f80fd5b809150509250925092565b5f8060408385031215612b2c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b5f575f80fd5b813561110581612b3b565b80151581146103f5575f80fd5b5f60208284031215612b87575f80fd5b813561110581612b6a565b5f808335601e19843603018112612ba7575f80fd5b83018035915067ffffffffffffffff821115612bc1575f80fd5b602001915036819003821315612550575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c2a60a083018486612bd5565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c5857612c58612c36565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c5d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cbd60e083018486612bd5565b9a9950505050505050505050565b80820180821115610dc757610dc7612c5d565b6001600160701b0381811683821601908082111561215057612150612c5d565b6001600160801b0381811683821601908082111561215057612150612c5d565b8181035f83128015838313168383128216171561215057612150612c5d565b5f60208284031215612d4d575f80fd5b815161110581612b3b565b6001600160801b0382811682821603908082111561215057612150612c5d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e09828551612d78565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612e7c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ea157612ea1612c5d565b505f0390565b6101808101610dc78284612d78565b5f8060408385031215612ec7575f80fd5b825191506020830151612ed981612b6a565b809150509250929050565b8082028115828204841417610dc757610dc7612c5d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c5d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f4f575f80fd5b8451935060208501519250604085015191506060850151612f6f81612b6a565b939692955090935050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612fa357612fa3612f28565b604052919050565b5f67ffffffffffffffff821115612fc457612fc4612f28565b5060051b60200190565b5f82601f830112612fdd575f80fd5b81516020612ff2612fed83612fab565b612f7a565b8083825260208201915060208460051b870101935086841115613013575f80fd5b602086015b848110156117415780518352918301918301613018565b5f805f60608486031215613041575f80fd5b835167ffffffffffffffff80821115613058575f80fd5b818601915086601f83011261306b575f80fd5b8151602061307b612fed83612fab565b82815260059290921b8401810191818101908a841115613099575f80fd5b8286015b848110156130cf578051868111156130b3575f80fd5b6130c18d86838b0101612fce565b84525091830191830161309d565b50918901519197509093505050808211156130e8575f80fd5b506130f586828701612fce565b925050604084015190509250925092565b5f60208284031215613116575f80fd5b5051919050565b5f8261312b5761312b612c36565b600160ff1b82145f198414161561314457613144612c5d565b500590565b5f60208284031215613159575f80fd5b815161110581612b6a56fea26469706673582212209adc030b7845d4b70c323028550690ac57e118a8b436dd2524b31c36cf6e087464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/EzETHTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/EzETHTarget4Deployer.ts new file mode 100644 index 000000000..e1b94c04c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/EzETHTarget4Deployer.ts @@ -0,0 +1,172 @@ +export const EzETHTarget4Deployer = { + name: 'EzETHTarget4Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "restakeManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b50604051613c26380380613c2683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051613b9d6100895f395f8181606c015260bd0152613b9d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638c98b3c614610038578063ff0996b514610067575b5f80fd5b61004b610046366004610271565b61008e565b6040516001600160a01b03909116815260200160405180910390f35b61004b7f000000000000000000000000000000000000000000000000000000000000000081565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e89061011d565b6100f4939291906103c8565b8190604051809103905ff5905080158015610111573d5f803e3d5ffd5b5090505b949350505050565b61366b80620004fd83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156101635761016361012b565b60405290565b80356001600160a01b038116811461017f575f80fd5b919050565b5f60808284031215610194575f80fd5b6040516080810181811067ffffffffffffffff821117156101b7576101b761012b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f7575f80fd5b813567ffffffffffffffff808211156102125761021261012b565b604051601f8301601f19908116603f0116810190828211818310171561023a5761023a61012b565b81604052838152866020858801011115610252575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610286575f80fd5b61026080821215610295575f80fd5b61029d61013f565b91506102a887610169565b82526102b660208801610169565b60208301526102c760408801610169565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e0830152610100808801358184015250610120808801358184015250610140808801358184015250610160610330818901610169565b90830152610180610342888201610169565b908301526101a0610354888201610169565b908301526101c0610366888201610169565b908301526101e061037989898301610184565b818401525081955061038c818801610169565b9450505061028085013567ffffffffffffffff8111156103aa575f80fd5b6103b6878288016101e8565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103f460208401826001600160a01b03169052565b50604085015161040f60408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151610481828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011556fe6102c060405234801562000011575f80fd5b506040516200366b3803806200366b83398101604081905262000034916200022a565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e0808801516102005261012080890151909352610100808901519091526101408089015190915290870180515190925281518301519052805160409081015161016052905160609081015161018052818701518416610240528601516102605282851661022052918316610280819052825163224a19a960e21b815292518493919263892866a492600480820193918290030181865afa1580156200011b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000141919062000376565b6001600160a01b03166102a052506200039b92505050565b60405161020081016001600160401b03811182821017156200018957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114620001a4575f80fd5b50565b8051620001b4816200018f565b919050565b5f60808284031215620001ca575f80fd5b604051608081016001600160401b0381118282101715620001f957634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a08112156200023f575f80fd5b610260808212156200024f575f80fd5b6200025962000159565b91506200026686620001a7565b82526200027660208701620001a7565b60208301526200028960408701620001a7565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002f4818801620001a7565b9083015261018062000308878201620001a7565b908301526101a06200031c878201620001a7565b908301526101c062000330878201620001a7565b908301526101e06200034588888301620001b9565b81840152508194506200035a818701620001a7565b935050506200036d6102808501620001a7565b90509250925092565b5f6020828403121562000387575f80fd5b815162000394816200018f565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a05161319a620004d15f395f8181611089015261236d01525f81816110aa015261238e01525f50505f50505f61099201525f50505f818161025f0152611f4001525f81816117a00152818161180301528181611b3001528181611b6c01528181611d5d0152611f1a01525f81816105500152611ef401525f61138201525f6114d701525f818161070d01526114ab01525f50505f81816105710152611f6601525f818161064b01526124f101525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f81816110cb015281816123af015261241401525f505061319a5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612ac9565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b1b565b6100b1565b005b610056610092366004612ac9565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612b4f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612b77565b61016a60408c018c612b92565b60405161017c96959493929190612bfd565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612c4a565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612b4f565b88610ea4565b5f6102f56102ec6020870187612b4f565b88848989610a9e565b90945090506103048188612c71565b92505f61031083610f41565b5090506103206020870187612b4f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612b77565b8a888e80604001906103709190612b92565b604051610384989796959493929190612c84565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612b4f565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f0565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612ccb565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b61110c565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061112c565b92505b506105a28361114b565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612c71565b8a84611178565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612ccb565b42906112b1565b84611178565b61063f886112c5565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612c71565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611462565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611496565b915091508060095f8282546106dc9190612ccb565b909155506106f79050865f846106f181611563565b8861158c565b6107018183612ccb565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611703565b9150610745610740838561174c565b611760565b600680546002906107669084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107938261114b565b600680546010906107b5908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611462565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611496565b915091508060095f8282546108289190612ccb565b909155506108439050835f8461083d81611563565b8a611789565b61084d8183612c71565b915061085c610740838761174c565b6006805460029061087d9084906201000090046001600160701b0316612cde565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa8261114b565b600680546010906108cc908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611563565b61090e83611563565b6109189190612d1e565b5f611979565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612d3d565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119b8565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a3e565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a4a565b9050610b208361114b565b610b2a9083612d58565b600780546001600160801b0319166001600160801b0392909216919091179055610b538161114b565b60078054601090610b75908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a65565b9350610bb08684611afb565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612c71565b9050805f03610c3a576001915050610dc7565b5f610c4485611b0f565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611baa565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612df6565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612e6b565b91509150610d11610d0382611563565b610d0c90612e8d565b611d17565b925082610d26575f9650505050505050610dc7565b610d2f8261114b565b600780545f90610d499084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d768161114b565b60078054601090610d98908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612c71565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612ccb565b90915550505f838152600b602052604081208054839290610ef7908490612ccb565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eab565b6040518263ffffffff1660e01b8152600401610f849190612ea7565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612eb6565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612ccb565b6110469190612c71565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a4a565b976001975095505050505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085611fe5565b5f6110fb8284612c4a565b6111059084612c71565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612132565b5f6111428261113c858888611a4a565b90612157565b95945050505050565b5f6001600160801b0382111561117457604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111a35750505050565b5f848152600860205260408120546001600160801b0316908190036111fb576111cb8361114b565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611278565b61124c611247670de0b6b3a76400006112148886612c71565b61121e9190612ee4565b85670de0b6b3a7640000611232878a612c71565b61123c9190612ee4565b8592919060016121c6565b61114b565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b6112818461114b565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112bf5782611105565b50919050565b6006545f9081906112e7908490600160801b90046001600160801b031661174c565b6006546201000090046001600160701b0316925090508181111561145d575f6113108383612c71565b905061131f6112478286612260565b60068054601090611341908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611379858361227490919063ffffffff16565b90505f6113a6827f000000000000000000000000000000000000000000000000000000000000000061174c565b90508060095f8282546113b99190612ccb565b909155506113c990508183612c71565b91506113d48261114b565b600280545f906113ee9084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061141b82612288565b600480545f9061142f908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b0382111561148b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114a28785612274565b91505f6114cf837f000000000000000000000000000000000000000000000000000000000000000061174c565b90506114fb817f000000000000000000000000000000000000000000000000000000000000000061174c565b9150831561151e5761150d8282612c71565b6115179084612c71565b9250611535565b6115288282612c71565b6115329084612ccb565b92505b8686101561155857611548838789611a4a565b9250611555828789611a4a565b91505b509550959350505050565b5f6001600160ff1b038211156111745760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115d4611247826115b8670de0b6b3a764000086612ee4565b600554600160801b90046001600160801b031691908a5f6121c6565b600580546001600160801b03928316600160801b0292169190911790556115fa8661114b565b6116049082612d58565b600480546001600160801b03928316600160801b02921691909117905561162a8461114b565b600280545f906116449084906001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611671836122b1565b600480545f90611685908490600f0b612efb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116b58561114b565b600280546010906116d7908490600160801b90046001600160801b0316612d58565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061171a846117148a888a611a4a565b90612274565b9050611727888486611a4a565b6117319082612ccb565b9050868111156117415786810391505b509695505050505050565b5f6111058383670de0b6b3a7640000611a4a565b5f6001600160701b038211156111745760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117cb57507f00000000000000000000000000000000000000000000000000000000000000006117c98583612c71565b105b156117d8576117d86122ec565b6004549084900390600f0b6117ed8482612d1e565b9050836117f986611563565b13801561182e57507f000000000000000000000000000000000000000000000000000000000000000061182c8383612132565b105b1561183b5761183b6122ec565b600354600160801b90046001600160801b031661187c61124782611867670de0b6b3a764000088612ee4565b6005546001600160801b031691908c5f6121c6565b600580546001600160801b0319166001600160801b03929092169190911790556118a68882612c71565b90506118b18161114b565b600380546001600160801b03928316600160801b0292169190911790556118d78361114b565b600280546001600160801b0319166001600160801b0392909216919091179055611900826122b1565b600480546001600160801b0319166001600160801b03929092169190911790556119298761114b565b6002805460109061194b908490600160801b90046001600160801b0316612cfe565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199490611247906001600160801b03168484612305565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119db576119db612f28565b6040519080825280601f01601f191660200182016040528015611a05576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a25578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a5e575f80fd5b5091020490565b5f80611a71858561174c565b9050611a7c81612367565b9450845f03611a8e575f915050611105565b849150611aa16040840160208501612b77565b15611ad057611ac985611ab76020860186612b4f565b611ac46040870187612b92565b6123d4565b9150611af3565b611af385611ae16020860186612b4f565b611aee6040870187612b92565b6123ee565b509392505050565b5f6111058383670de0b6b3a7640000612485565b6003545f908190611b29906001600160801b031684612260565b9050611b557f000000000000000000000000000000000000000000000000000000000000000082612ccb565b6002546001600160801b031611156112bf576002547f000000000000000000000000000000000000000000000000000000000000000090611ba09083906001600160801b0316612c71565b6111059190612c71565b611bb2612a2a565b5f80611bbd84611eab565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bf79190612ea7565b6040805180830381865af4158015611c11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c359190612eb6565b9350905082611c4957505f91506100a99050565b5f611c6f611c6a84610160015185610140015161174c90919063ffffffff16565b611563565b611c8f611c6a856101200151866101000151611afb90919063ffffffff16565b611c999190612d1e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df19190612f3c565b935093509350935080611e0c57505f98975050505050505050565b868414611e3d57611e1c8461114b565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e6e57611e4d836122b1565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e9c57611e7e8261114b565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611eb3612a74565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fab91166124a8565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fdd929004166124a8565b905292915050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612022573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612049919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ae9190613106565b604051630c5c83cb60e41b81526004810186905260248101829052604481018490529091506001600160a01b0388169063c5c83cb0906064015b602060405180830381865afa158015612103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121279190613106565b979650505050505050565b5f8061213e848461251c565b909250905080612150576121506122ec565b5092915050565b5f815f0361216e5750670de0b6b3a7640000610dc7565b825f0361217c57505f610dc7565b5f61218683611563565b90505f61219a61219586611563565b612557565b90508181026121b1670de0b6b3a76400008261311d565b90506121bc8161277c565b9695505050505050565b5f825f036121d5575084611142565b8115612227576122066121e88487612ccb565b6121f2858761174c565b6121fc888a61174c565b6117149190612ccb565b90505f61221385886112b1565b905080821015612221578091505b50611142565b82850361223557505f611142565b6121bc6122428487612c71565b61224c8587611afb565b612256888a61174c565b6117149190612c71565b5f61110583670de0b6b3a764000084612485565b5f61110583670de0b6b3a764000084611a4a565b5f60016001607f1b038211156111745760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806122ce575060016001607f1b0382135b156111745760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612311845f61290e565b61231b845f61290e565b6123259190612d1e565b90505f811315612340576123398186612ccb565b945061235e565b5f81121561235e5761235181612e8d565b61235b9086612c71565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085612923565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561245a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247e9190613149565b5050505050565b5f825f190484118302158202612499575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006124bb61040f565b6124c59190612ee4565b90508083116124d4575f6124de565b6124de8184612c71565b9150611105612515670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ee4565b8390612274565b5f805f8361252986611563565b6125339190612d1e565b90505f811215612549575f809250925050612550565b9150600190505b9250929050565b5f8082136125785760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125fb9084901c611563565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361279557505f919050565b680755bf798b4a1bf1e582126127be576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906121bc74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611563565b5f81831361291c5781611105565b5090919050565b5f80846001600160a01b031663ff9969cd6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612960573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612987919081019061302f565b925050505f846001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ec9190613106565b6040516347b4373560e11b81526004810184905260248101869052604481018290529091506001600160a01b03881690638f686e6a906064016120e8565b604051806101200160405280612a3e612a74565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612adb575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612aff575f80fd5b840160608187031215612b10575f80fd5b809150509250925092565b5f8060408385031215612b2c575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612b5f575f80fd5b813561110581612b3b565b80151581146103f5575f80fd5b5f60208284031215612b87575f80fd5b813561110581612b6a565b5f808335601e19843603018112612ba7575f80fd5b83018035915067ffffffffffffffff821115612bc1575f80fd5b602001915036819003821315612550575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c2a60a083018486612bd5565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c5857612c58612c36565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612c5d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cbd60e083018486612bd5565b9a9950505050505050505050565b80820180821115610dc757610dc7612c5d565b6001600160701b0381811683821601908082111561215057612150612c5d565b6001600160801b0381811683821601908082111561215057612150612c5d565b8181035f83128015838313168383128216171561215057612150612c5d565b5f60208284031215612d4d575f80fd5b815161110581612b3b565b6001600160801b0382811682821603908082111561215057612150612c5d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e09828551612d78565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612e7c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ea157612ea1612c5d565b505f0390565b6101808101610dc78284612d78565b5f8060408385031215612ec7575f80fd5b825191506020830151612ed981612b6a565b809150509250929050565b8082028115828204841417610dc757610dc7612c5d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612c5d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612f4f575f80fd5b8451935060208501519250604085015191506060850151612f6f81612b6a565b939692955090935050565b604051601f8201601f1916810167ffffffffffffffff81118282101715612fa357612fa3612f28565b604052919050565b5f67ffffffffffffffff821115612fc457612fc4612f28565b5060051b60200190565b5f82601f830112612fdd575f80fd5b81516020612ff2612fed83612fab565b612f7a565b8083825260208201915060208460051b870101935086841115613013575f80fd5b602086015b848110156117415780518352918301918301613018565b5f805f60608486031215613041575f80fd5b835167ffffffffffffffff80821115613058575f80fd5b818601915086601f83011261306b575f80fd5b8151602061307b612fed83612fab565b82815260059290921b8401810191818101908a841115613099575f80fd5b8286015b848110156130cf578051868111156130b3575f80fd5b6130c18d86838b0101612fce565b84525091830191830161309d565b50918901519197509093505050808211156130e8575f80fd5b506130f586828701612fce565b925050604084015190509250925092565b5f60208284031215613116575f80fd5b5051919050565b5f8261312b5761312b612c36565b600160ff1b82145f198414161561314457613144612c5d565b500590565b5f60208284031215613159575f80fd5b815161110581612b6a56fea26469706673582212209adc030b7845d4b70c323028550690ac57e118a8b436dd2524b31c36cf6e087464736f6c63430008160033a264697066735822122003874c91623dcd3f30b860e583527274889c45dddc07c8c44e7764b7f32c49a564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "restakeManager()": "ff0996b5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/FixedPointMath.ts b/packages/hyperdrive-artifacts/src/FixedPointMath.ts new file mode 100644 index 000000000..bec348fe4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/FixedPointMath.ts @@ -0,0 +1,6 @@ +export const FixedPointMath = { + name: 'FixedPointMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ab5330a265c88664dbe0d7bcb7c41a09258e07d5e26b9d424694434026334e9264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/FixedPointMathLib.ts b/packages/hyperdrive-artifacts/src/FixedPointMathLib.ts new file mode 100644 index 000000000..0f0388bd6 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/FixedPointMathLib.ts @@ -0,0 +1,6 @@ +export const FixedPointMathLib = { + name: 'FixedPointMathLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220690de1b5e79a420b769ad01df0747a97804fed65ed44ee4d1027828105eee6fc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/FlashLoanLogic.ts b/packages/hyperdrive-artifacts/src/FlashLoanLogic.ts new file mode 100644 index 000000000..69e0b035b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/FlashLoanLogic.ts @@ -0,0 +1,102 @@ +export const FlashLoanLogic = { + name: 'FlashLoanLogic' as const, + abi: [ + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x6128a2610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80632e7263ea14610043578063a1fe0e8d14610064575b5f80fd5b81801561004e575f80fd5b5061006261005d366004612100565b610083565b005b81801561006f575f80fd5b5061006261007e3660046122a7565b610a3c565b6100968582602001518360400151610c5e565b6100e26040518060e001604052805f6001600160a01b031681526020015f81526020015f6001600160a01b031681526020015f8152602001606081526020015f81526020015f81525090565b81602001515167ffffffffffffffff81111561010057610100611eb3565b604051908082528060200260200182016040528015610129578160200160208202803683370190505b50608082015281516001600160a01b031681526101c0820151610156578161010001518260e00151610159565b5f805b60c083015260a08201525f60208201525b816020015151816020015110156103e65781604001518160200151815181106101955761019561236c565b602090810291909101015160608201525f82606001518260200151815181106101c0576101c061236c565b602002602001015160028111156101d9576101d9612380565b60028111156101ea576101ea612380565b146101f5575f610208565b60a0810151606082015161020891610db0565b81608001518260200151815181106102225761022261236c565b602002602001018181525050610289865f846020015184602001518151811061024d5761024d61236c565b6020908102919091018101516001600160a01b031682528181019290925260409081015f20815192830190915254815251600160fc1b16151590565b156103275761029b8160600151610dd4565b865f84602001518460200151815181106102b7576102b761236c565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2060090160108282829054906101000a90046001600160801b031661030291906123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b855f83602001518360200151815181106103435761034361236c565b6020908102919091018101516001600160a01b0390811683529082019290925260409081015f20600490810154855160608601519351634efecaa560e01b8152908516928101929092526024820192909252911690634efecaa5906044015f604051808303815f87803b1580156103b8575f80fd5b505af11580156103ca573d5f803e3d5ffd5b50505060208201805191506103de826123cf565b90525061016a565b805f01516001600160a01b031663920f5c84836020015184604001518460800151338760a001516040518663ffffffff1660e01b815260040161042d959493929190612464565b6020604051808303815f875af1158015610449573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046d91906124fe565b60405180604001604052806002815260200161313360f01b815250906104af5760405162461bcd60e51b81526004016104a69190612519565b60405180910390fd5b505f60208201525b81602001515181602001511015610a345781602001518160200151815181106104e2576104e261236c565b602002602001015181604001906001600160a01b031690816001600160a01b03168152505081604001518160200151815181106105215761052161236c565b602090810291909101015160608201525f826060015182602001518151811061054c5761054c61236c565b6020026020010151600281111561056557610565612380565b600281111561057657610576612380565b0361062557610620865f83604001516001600160a01b03166001600160a01b031681526020019081526020015f206040518060c001604052808460600151815260200184608001518560200151815181106105d3576105d361236c565b602002602001015181526020018460c00151815260200184604001516001600160a01b03168152602001855f01516001600160a01b031681526020018560c0015161ffff16815250610e40565b610a1c565b73__$5f76d850ac254f0697945c46b13dedf9fb$__631e6473f98787878760405180610180016040528088604001516001600160a01b03168152602001336001600160a01b0316815260200189608001516001600160a01b031681526020018860600151815260200189606001518960200151815181106106a8576106a861236c565b602002602001015160028111156106c1576106c1612380565b60028111156106d2576106d2612380565b81526020018960c0015161ffff1681526020015f151581526020018961018001516001600160a01b031663e82fec2f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610752919061252b565b81526020018961018001516001600160a01b03166372218d046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610798573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107bc919061252b565b81526020018961016001516001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610802573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108269190612542565b6001600160a01b031681526020016108bf8a61018001516001600160a01b031663eddf1b798c608001516040518263ffffffff1660e01b815260040161087b91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610896573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ba919061252b565b6110c6565b60ff1681526020018961016001516001600160a01b0316635eb88d3d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610908573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092c9190612542565b6001600160a01b03168152506040518663ffffffff1660e01b815260040161095895949392919061257d565b5f6040518083038186803b15801561096e575f80fd5b505af4158015610980573d5f803e3d5ffd5b505050508160c0015161ffff1681604001516001600160a01b0316835f01516001600160a01b03167fefefaba5e921573100900a3ad9cf29f222d995fb3b6045797eaea7521bd8d6f033856060015187606001518760200151815181106109e9576109e961236c565b60200260200101516002811115610a0257610a02612380565b5f604051610a139493929190612671565b60405180910390a45b60208101805190610a2c826123cf565b9052506104b7565b505050505050565b610a4a828260400151611126565b805160c082015160408301515f91610a629190610db0565b6040805160208101909152855490819052909150600160fc1b1615610ad757610a8e8360400151610dd4565b600985018054601090610ab2908490600160801b90046001600160801b03166123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b60048481015484516040808701519051634efecaa560e01b81526001600160a01b039283169481019490945260248401521690634efecaa5906044015f604051808303815f87803b158015610b2a575f80fd5b505af1158015610b3c573d5f803e3d5ffd5b50505050602083015160408085015160608601519151631b11d0ff60e01b81526001600160a01b03861693631b11d0ff93610b7f939192879133916004016126a4565b6020604051808303815f875af1158015610b9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbf91906124fe565b60405180604001604052806002815260200161313360f01b81525090610bf85760405162461bcd60e51b81526004016104a69190612519565b50610c58846040518060c00160405280866040015181526020018481526020018660a00151815260200186602001516001600160a01b03168152602001865f01516001600160a01b03168152602001866080015161ffff16815250610e40565b50505050565b805182511460405180604001604052806002815260200161343960f01b81525090610c9c5760405162461bcd60e51b81526004016104a69190612519565b505f5b8251811015610c58575f610cb48260016126e8565b90505b8351811015610d4a57838181518110610cd257610cd261236c565b60200260200101516001600160a01b0316848381518110610cf557610cf561236c565b60200260200101516001600160a01b0316141560405180604001604052806002815260200161343960f01b81525090610d415760405162461bcd60e51b81526004016104a69190612519565b50600101610cb7565b50610da8845f858481518110610d6257610d6261236c565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f20838381518110610d9b57610d9b61236c565b6020026020010151611126565b600101610c9f565b5f81156113881983900484111517610dc6575f80fd5b506127109102611388010490565b5f6001600160801b03821115610e3c5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016104a6565b5090565b5f610e5c82604001518360200151610db090919063ffffffff16565b90505f818360200151610e6f91906126fb565b90505f8360200151845f0151610e8591906126e8565b90505f610e91866112cf565b9050610e9d868261149a565b6101008101516008870154610f3691610ebf916001600160801b0316906114f2565b826101e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f24919061252b565b610f2e91906126e8565b879085611533565b6101008201819052610f5290610f4d9086906115b7565b610dd4565b6008870180545f90610f6e9084906001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610faf818660600151845f8a6115f290949392919063ffffffff16565b60808501516101e08201516060870151610fd5926001600160a01b03909116918561190d565b6101e081015160808601516040516337ecbb3b60e11b81526001600160a01b0391821660048201819052602482015260448101859052911690636fd97676906064015f604051808303815f87803b15801561102e575f80fd5b505af1158015611040573d5f803e3d5ffd5b505050508460a0015161ffff1685606001516001600160a01b031686608001516001600160a01b03167fefefaba5e921573100900a3ad9cf29f222d995fb3b6045797eaea7521bd8d6f033895f01515f60028111156110a1576110a1612380565b8b602001516040516110b69493929190612671565b60405180910390a4505050505050565b5f60ff821115610e3c5760405162461bcd60e51b815260206004820152602560248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2038604482015264206269747360d81b60648201526084016104a6565b604080516020810190915282548082526710000000000000001615151560405180604001604052806002815260200161323960f01b8152509061117c5760405162461bcd60e51b81526004016104a69190612519565b50805167010000000000000016151560405180604001604052806002815260200161323760f01b815250906111c45760405162461bcd60e51b81526004016104a69190612519565b50805167800000000000000016151560405180604001604052806002815260200161393160f01b8152509061120c5760405162461bcd60e51b81526004016104a69190612519565b508051600160fc1b161580611296575081836004015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611293919061252b565b10155b60405180604001604052806002815260200161191b60f11b81525090610c585760405162461bcd60e51b81526004016104a69190612519565b6112d7611e16565b6112df611e16565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa1580156113ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f2919061252b565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa158015611443573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611467919061272e565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b90920416036114ba575050565b6114c482826119ac565b6114ce8282611a89565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f81156b019d971e4fe8401e740000001983900484111517611512575f80fd5b50676765c793fa10079d601b1b91026b019d971e4fe8401e74000000010490565b60018301545f908190611580906001600160801b0316676765c793fa10079d601b1b61157061156188611be9565b61156a88611be9565b906115b7565b61157a91906126e8565b906114f2565b905061158b81610dd4565b6001860180546001600160801b0319166001600160801b039290921691909117905590505b9392505050565b5f8115676765c793fa10079d601b1b600284041904841117156115d8575f80fd5b50676765c793fa10079d601b1b9190910260028204010490565b61161960405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161162d916114f2565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e916116f491600401612775565b606060405180830381865afa15801561170f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061173391906127f7565b6040840152602083015280825261174990610dd4565b6001870180546001600160801b03928316600160801b029216919091179055602081015161177690610dd4565b6003870180546001600160801b0319166001600160801b039290921691909117905560408101516117a690610dd4565b6002870180546001600160801b03928316600160801b0292169190911790556040805160208101909152865481526117e49051600160fc1b16151590565b15611899578215611841576117f883610dd4565b60098701805460109061181c908490600160801b90046001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b81156118995761185082610dd4565b600987018054601090611874908490600160801b90046001600160801b03166123a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af161194f573d5f803e3d5ffd5b5061195985611c03565b6119a55760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d0000000000000060448201526064016104a6565b5050505050565b61016081015115611a1a575f6119cc826101600151836102400151611ca6565b90506119e58260e00151826114f290919063ffffffff16565b61010083018190526119f690610dd4565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115611a85575f611a36826101800151836102400151611ceb565b9050611a50826101200151826114f290919063ffffffff16565b6101408301819052611a6190610dd4565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b611abc6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03611acd57505050565b6101208201518251611ade916114f2565b60208201526101408201518251611af4916114f2565b60408201526060820151610260830151610240840151611b1c92919064ffffffffff16611cf3565b606082018190526040830151611b31916114f2565b808252602082015160808401516040840151611b4d91906126e8565b611b5791906126fb565b611b6191906126fb565b608082018190526101a0830151611b789190610db0565b60a0820181905215611be457611ba3610f4d8361010001518360a001516115b790919063ffffffff16565b6008840180545f90611bbf9084906001600160801b031661270e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b633b9aca008181029081048214611bfe575f80fd5b919050565b5f611c25565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015611c645760208114611c9557611c5f7f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611c09565b611ca0565b823b611c8c57611c8c7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611c09565b60019150611ca0565b3d5f803e5f51151591505b50919050565b5f80611cb964ffffffffff8416426126fb565b611cc39085612822565b6301e1338090049050611ce181676765c793fa10079d601b1b6126e8565b9150505b92915050565b5f6115b08383425b5f80611d0664ffffffffff8516846126fb565b9050805f03611d2357676765c793fa10079d601b1b9150506115b0565b5f1981015f808060028511611d38575f611d3d565b600285035b925066038882915c4000611d518a806114f2565b81611d5e57611d5e612839565b0491506301e13380611d70838b6114f2565b81611d7d57611d7d612839565b0490505f82611d8c8688612822565b611d969190612822565b6002900490505f8285611da9888a612822565b611db39190612822565b611dbd9190612822565b60069004905080826301e13380611dd48a8f612822565b611dde919061284d565b611df390676765c793fa10079d601b1b6126e8565b611dfd91906126e8565b611e0791906126e8565b9b9a5050505050505050505050565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001611e8b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715611eeb57611eeb611eb3565b60405290565b60405160e0810167ffffffffffffffff81118282101715611eeb57611eeb611eb3565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f3d57611f3d611eb3565b604052919050565b6001600160a01b0381168114611f59575f80fd5b50565b8035611bfe81611f45565b5f67ffffffffffffffff821115611f8057611f80611eb3565b5060051b60200190565b5f82601f830112611f99575f80fd5b81356020611fae611fa983611f67565b611f14565b8083825260208201915060208460051b870101935086841115611fcf575f80fd5b602086015b84811015611ff4578035611fe781611f45565b8352918301918301611fd4565b509695505050505050565b5f82601f83011261200e575f80fd5b8135602061201e611fa983611f67565b8083825260208201915060208460051b87010193508684111561203f575f80fd5b602086015b84811015611ff45780358352918301918301612044565b5f82601f83011261206a575f80fd5b813567ffffffffffffffff81111561208457612084611eb3565b612097601f8201601f1916602001611f14565b8181528460208386010111156120ab575f80fd5b816020850160208301375f918101602001919091529392505050565b803561ffff81168114611bfe575f80fd5b803560ff81168114611bfe575f80fd5b8015158114611f59575f80fd5b8035611bfe816120e8565b5f805f805f60a08688031215612114575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff80821115612147575f80fd5b908701906101e0828a03121561215b575f80fd5b612163611ec7565b61216c83611f5c565b815260208301358281111561217f575f80fd5b61218b8b828601611f8a565b6020830152506040830135828111156121a2575f80fd5b6121ae8b828601611fff565b6040830152506060830135828111156121c5575f80fd5b6121d18b828601611fff565b6060830152506121e360808401611f5c565b608082015260a0830135828111156121f9575f80fd5b6122058b82860161205b565b60a08301525061221760c084016120c7565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101609150612257828401611f5c565b82820152610180915061226b828401611f5c565b828201526101a0915061227f8284016120d8565b828201526101c091506122938284016120f5565b828201528093505050509295509295909350565b5f80604083850312156122b8575f80fd5b82359150602083013567ffffffffffffffff808211156122d6575f80fd5b9084019060e082870312156122e9575f80fd5b6122f1611ef1565b6122fa83611f5c565b815261230860208401611f5c565b602082015260408301356040820152606083013582811115612328575f80fd5b6123348882860161205b565b606083015250612346608084016120c7565b608082015260a083013560a082015260c083013560c08201528093505050509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b6001600160801b038281168282160390808211156123c8576123c8612394565b5092915050565b5f600182016123e0576123e0612394565b5060010190565b5f815180845260208085019450602084015f5b83811015612416578151875295820195908201906001016123fa565b509495945050505050565b5f81518084525f5b8181101561244557602081850181015186830182015201612429565b505f602082860101526020601f19601f83011685010191505092915050565b60a080825286519082018190525f9060209060c0840190828a01845b828110156124a55781516001600160a01b031684529284019290840190600101612480565b50505083810360208501526124ba81896123e7565b91505082810360408401526124cf81876123e7565b6001600160a01b0386166060850152838103608085015290506124f28185612421565b98975050505050505050565b5f6020828403121561250e575f80fd5b81516115b0816120e8565b602081525f6115b06020830184612421565b5f6020828403121561253b575f80fd5b5051919050565b5f60208284031215612552575f80fd5b81516115b081611f45565b6003811061257957634e487b7160e01b5f52602160045260245ffd5b9052565b85815260208101859052604081018490526060810183905281516001600160a01b03166080820152610200810160208301516001600160a01b03811660a08401525060408301516001600160a01b03811660c084015250606083015160e083015260808301516101006125f28185018361255d565b60a0850151915061012061260b8186018461ffff169052565b60c086015192506101406126228187018515159052565b60e08701516101608781019190915292870151610180870152908601516001600160a01b039081166101a08701529086015160ff166101c0860152908501519081166101e08501529050611ff4565b6001600160a01b03851681526020810184905260808101612695604083018561255d565b82606083015295945050505050565b6001600160a01b03868116825260208201869052604082018590528316606082015260a0608082018190525f906126dd90830184612421565b979650505050505050565b80820180821115611ce557611ce5612394565b81810381811115611ce557611ce5612394565b6001600160801b038181168382160190808211156123c8576123c8612394565b5f805f8060808587031215612741575f80fd5b845193506020850151925060408501519150606085015164ffffffffff8116811461276a575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e08301516127d760e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215612809575f80fd5b8351925060208401519150604084015190509250925092565b8082028115828204841417611ce557611ce5612394565b634e487b7160e01b5f52601260045260245ffd5b5f8261286757634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220347a10409fa10aed1c7c663df78ec0314d1ba218f8888c5bdf40c377cb90785c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "executeFlashLoan(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.FlashloanParams)": "2e7263ea", + "executeFlashLoanSimple(DataTypes.ReserveData storage,DataTypes.FlashloanSimpleParams)": "a1fe0e8d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/GPv2SafeERC20.ts b/packages/hyperdrive-artifacts/src/GPv2SafeERC20.ts new file mode 100644 index 000000000..e39af8667 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/GPv2SafeERC20.ts @@ -0,0 +1,6 @@ +export const GPv2SafeERC20 = { + name: 'GPv2SafeERC20' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207fd976204a67fe387dde0e3f5b91594a03bb9474ecded0f0cec5f31f49530ec764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/GenericLogic.ts b/packages/hyperdrive-artifacts/src/GenericLogic.ts new file mode 100644 index 000000000..4a1bdf41c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/GenericLogic.ts @@ -0,0 +1,6 @@ +export const GenericLogic = { + name: 'GenericLogic' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212203216d6a937141bc98440dcdd944ec0c65652e17bc70b3418594ecdc84aa23c9064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Helpers.ts b/packages/hyperdrive-artifacts/src/Helpers.ts new file mode 100644 index 000000000..e6bc73588 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Helpers.ts @@ -0,0 +1,6 @@ +export const Helpers = { + name: 'Helpers' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220696d957db5182146bba93b0e3509553cedcf65a26663dfb9cf78d4a5c870740464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Hyperdrive.ts b/packages/hyperdrive-artifacts/src/Hyperdrive.ts new file mode 100644 index 000000000..4ad3a43fe --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Hyperdrive.ts @@ -0,0 +1,1516 @@ +export const Hyperdrive = { + name: 'Hyperdrive' as const, + abi: [ + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveAdmin.ts b/packages/hyperdrive-artifacts/src/HyperdriveAdmin.ts new file mode 100644 index 000000000..475626f05 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveAdmin.ts @@ -0,0 +1,657 @@ +export const HyperdriveAdmin = { + name: 'HyperdriveAdmin' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveBase.ts b/packages/hyperdrive-artifacts/src/HyperdriveBase.ts new file mode 100644 index 000000000..fb0890230 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveBase.ts @@ -0,0 +1,657 @@ +export const HyperdriveBase = { + name: 'HyperdriveBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveCheckpoint.ts b/packages/hyperdrive-artifacts/src/HyperdriveCheckpoint.ts new file mode 100644 index 000000000..59c1d7e4b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveCheckpoint.ts @@ -0,0 +1,657 @@ +export const HyperdriveCheckpoint = { + name: 'HyperdriveCheckpoint' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveCheckpointRewarder.ts b/packages/hyperdrive-artifacts/src/HyperdriveCheckpointRewarder.ts new file mode 100644 index 000000000..14188d66f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveCheckpointRewarder.ts @@ -0,0 +1,220 @@ +export const HyperdriveCheckpointRewarder = { + name: 'HyperdriveCheckpointRewarder' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_subrewarder", + "type": "address", + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "claimCheckpointReward", + "inputs": [ + { + "name": "_claimant", + "type": "address", + "internalType": "address" + }, + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isTrader", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "subrewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSubrewarder", + "inputs": [ + { + "name": "_subrewarder", + "type": "address", + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CheckpointRewardClaimed", + "inputs": [ + { + "name": "instance", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "claimant", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "isTrader", + "type": "bool", + "indexed": true, + "internalType": "bool" + }, + { + "name": "checkpointTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "rewardToken", + "type": "address", + "indexed": false, + "internalType": "contract IERC20" + }, + { + "name": "rewardAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SubrewarderUpdated", + "inputs": [ + { + "name": "subrewarder", + "type": "address", + "indexed": true, + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506040516107fb3803806107fb83398101604081905261002e91610099565b60018054336001600160a01b031991821617909155600280549091166001600160a01b0383161790555f61006283826101f0565b5050506102af565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114610094575f80fd5b919050565b5f80604083850312156100aa575f80fd5b82516001600160401b03808211156100c0575f80fd5b818501915085601f8301126100d3575f80fd5b8151818111156100e5576100e561006a565b604051601f8201601f19908116603f0116810190838211818310171561010d5761010d61006a565b81604052828152602093508884848701011115610128575f80fd5b5f91505b82821015610149578482018401518183018501529083019061012c565b5f84848301015280965050505061016181860161007e565b925050509250929050565b600181811c9082168061018057607f821691505b60208210810361019e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101eb57805f5260205f20601f840160051c810160208510156101c95750805b601f840160051c820191505b818110156101e8575f81556001016101d5565b50505b505050565b81516001600160401b038111156102095761020961006a565b61021d81610217845461016c565b846101a4565b602080601f831160018114610250575f84156102395750858301515b5f19600386901b1c1916600185901b1785556102a7565b5f85815260208120601f198616915b8281101561027e5788860151825594840194600190910190840161025f565b508582101561029b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b61053f806102bc5f395ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c806369114d4e1161005857806369114d4e146101345780639b06ae4914610149578063e2f273bd1461015c578063f851a4401461016f575f80fd5b806304baa00b1461008957806306fdde03146100db5780633d7f7b24146100e357806354fd4d501461010e575b5f80fd5b6100c56040518060400160405280601c81526020017f48797065726472697665436865636b706f696e7452657761726465720000000081525081565b6040516100d291906103dd565b60405180910390f35b6100c5610182565b6002546100f6906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100c560405180604001604052806007815260200166076312e302e32360cc1b81525081565b610147610142366004610440565b61020d565b005b610147610157366004610483565b6102f7565b61014761016a366004610483565b61036a565b6001546100f6906001600160a01b031681565b5f805461018e906104a5565b80601f01602080910402602001604051908101604052809291908181526020018280546101ba906104a5565b80156102055780601f106101dc57610100808354040283529160200191610205565b820191905f5260205f20905b8154815290600101906020018083116101e857829003601f168201915b505050505081565b60025460405163e9f4604160e01b81523360048201526001600160a01b0385811660248301526044820185905283151560648301525f92839291169063e9f460419060840160408051808303815f875af115801561026d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061029191906104dd565b909250905080156102f057604080518581526001600160a01b0384811660208301529181018390528415159187169033907f458cb4864d237cf3ef21835340aeec96759e685bd06793180e8cf7a7cd69cd5e9060600160405180910390a45b5050505050565b6001546001600160a01b03163314610321576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f4a847489062ccada272e291a747bfecff5d74ded500da0a156faca0bd8394dc6905f90a250565b6001546001600160a01b03163314610394576040516282b42960e81b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b5f602080835283518060208501525f5b81811015610409578581018301518582016040015282016103ed565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461043d575f80fd5b50565b5f805f60608486031215610452575f80fd5b833561045d81610429565b92506020840135915060408401358015158114610478575f80fd5b809150509250925092565b5f60208284031215610493575f80fd5b813561049e81610429565b9392505050565b600181811c908216806104b957607f821691505b6020821081036104d757634e487b7160e01b5f52602260045260245ffd5b50919050565b5f80604083850312156104ee575f80fd5b82516104f981610429565b602093909301519294929350505056fea26469706673582212209883b177773d0f7ac2191c2fef31721ffed01848dae9984a91967ab2106bb24764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "claimCheckpointReward(address,uint256,bool)": "69114d4e", + "kind()": "04baa00b", + "name()": "06fdde03", + "subrewarder()": "3d7f7b24", + "updateAdmin(address)": "e2f273bd", + "updateSubrewarder(address)": "9b06ae49", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveCheckpointSubrewarder.ts b/packages/hyperdrive-artifacts/src/HyperdriveCheckpointSubrewarder.ts new file mode 100644 index 000000000..ae159e969 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveCheckpointSubrewarder.ts @@ -0,0 +1,434 @@ +export const HyperdriveCheckpointSubrewarder = { + name: 'HyperdriveCheckpointSubrewarder' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_rewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "_source", + "type": "address", + "internalType": "address" + }, + { + "name": "_registry", + "type": "address", + "internalType": "contract IHyperdriveRegistry" + }, + { + "name": "_rewardToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_minterRewardAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_traderRewardAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minterRewardAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "processReward", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + }, + { + "name": "_claimant", + "type": "address", + "internalType": "address" + }, + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isTrader", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "registry", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdriveRegistry" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "source", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "traderRewardAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinterRewardAmount", + "inputs": [ + { + "name": "_minterRewardAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateRegistry", + "inputs": [ + { + "name": "_registry", + "type": "address", + "internalType": "contract IHyperdriveRegistry" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateRewardToken", + "inputs": [ + { + "name": "_rewardToken", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSource", + "inputs": [ + { + "name": "_source", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateTraderRewardAmount", + "inputs": [ + { + "name": "_traderRewardAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinterRewardAmountUpdated", + "inputs": [ + { + "name": "minterRewardAmount", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RegistryUpdated", + "inputs": [ + { + "name": "registry", + "type": "address", + "indexed": true, + "internalType": "contract IHyperdriveRegistry" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RewardTokenUpdated", + "inputs": [ + { + "name": "rewardToken", + "type": "address", + "indexed": true, + "internalType": "contract IERC20" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SourceUpdated", + "inputs": [ + { + "name": "source", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TraderRewardAmountUpdated", + "inputs": [ + { + "name": "traderRewardAmount", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x60a060405234801562000010575f80fd5b50604051620010db380380620010db8339810160408190526200003391620000d3565b5f62000040888262000286565b50600180546001600160a01b031990811633179091556001600160a01b0396871660805260028054968816968216969096179095556003805494871694861694909417909355600480549290951691909316179092556005556006555062000352565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000ce575f80fd5b919050565b5f805f805f805f60e0888a031215620000ea575f80fd5b87516001600160401b038082111562000101575f80fd5b818a0191508a601f83011262000115575f80fd5b8151818111156200012a576200012a620000a3565b604051601f8201601f19908116603f01168101908382118183101715620001555762000155620000a3565b81604052828152602093508d8484870101111562000171575f80fd5b5f91505b8282101562000194578482018401518183018501529083019062000175565b5f848483010152809b50505050620001ae818b01620000b7565b97505050620001c060408901620000b7565b9450620001d060608901620000b7565b9350620001e060808901620000b7565b925060a0880151915060c0880151905092959891949750929550565b600181811c908216806200021157607f821691505b6020821081036200023057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028157805f5260205f20601f840160051c810160208510156200025d5750805b601f840160051c820191505b818110156200027e575f815560010162000269565b50505b505050565b81516001600160401b03811115620002a257620002a2620000a3565b620002ba81620002b38454620001fc565b8462000236565b602080601f831160018114620002f0575f8415620002d85750858301515b5f19600386901b1c1916600185901b1785556200034a565b5f85815260208120601f198616915b828110156200032057888601518255948401946001909101908401620002ff565b50858210156200033e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b608051610d69620003725f395f818161022801526105110152610d695ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c80637b1039991161009e578063e9f460411161006e578063e9f460411461025d578063f24bab651461028f578063f7c618c1146102a2578063f851a440146102b5578063f8cf31cb146102c8575f80fd5b80637b103999146101fd5780639183219f14610210578063dcc3e06e14610223578063e2f273bd1461024a575f80fd5b806354fd4d50116100d957806354fd4d501461018c5780635b338e07146101b257806362498576146101c957806367e828bf146101d2575f80fd5b806304baa00b1461010a57806306fdde031461015c5780631a5da6c8146101645780632057b1c714610179575b5f80fd5b6101466040518060400160405280601f81526020017f48797065726472697665436865636b706f696e7453756272657761726465720081525081565b604051610153919061099e565b60405180910390f35b6101466102db565b6101776101723660046109e4565b610366565b005b6101776101873660046109ff565b6103d9565b61014660405180604001604052806007815260200166076312e302e32360cc1b81525081565b6101bb60065481565b604051908152602001610153565b6101bb60055481565b6002546101e5906001600160a01b031681565b6040516001600160a01b039091168152602001610153565b6003546101e5906001600160a01b031681565b61017761021e3660046109ff565b610435565b6101e57f000000000000000000000000000000000000000000000000000000000000000081565b6101776102583660046109e4565b610491565b61027061026b366004610a23565b610504565b604080516001600160a01b039093168352602083019190915201610153565b61017761029d3660046109e4565b6106a6565b6004546101e5906001600160a01b031681565b6001546101e5906001600160a01b031681565b6101776102d63660046109e4565b610719565b5f80546102e790610a73565b80601f016020809104026020016040519081016040528092919081815260200182805461031390610a73565b801561035e5780601f106103355761010080835404028352916020019161035e565b820191905f5260205f20905b81548152906001019060200180831161034157829003601f168201915b505050505081565b6001546001600160a01b03163314610390576040516282b42960e81b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd905f90a250565b6001546001600160a01b03163314610403576040516282b42960e81b815260040160405180910390fd5b600581905560405181907faa8ae98398382187f26cba5014456be39e5486e84a5347fc41a234a6c4f03d25905f90a250565b6001546001600160a01b0316331461045f576040516282b42960e81b815260040160405180910390fd5b600681905560405181907fcbfc476043808accf425b48e528723c20dfc23e022fc8b6b63247ba91f9ee396905f90a250565b6001546001600160a01b031633146104bb576040516282b42960e81b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b5f80336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461054e576040516282b42960e81b815260040160405180910390fd5b5f60045f9054906101000a90046001600160a01b031690506105d542886001600160a01b031663b0d965806040518163ffffffff1660e01b815260040161026060405180830381865afa1580156105a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105cb9190610b61565b610120015161078c565b85146105e55791505f905061069d565b60035460405163062eced560e21b81526001600160a01b038981166004830152909116906318bb3b54906024016040805180830381865afa15801561062c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106509190610c5f565b516001146106625791505f905061069d565b5f8461067057600554610674565b6006545b9050801561069757600254610697906001600160a01b03848116911689846107aa565b90925090505b94509492505050565b6001546001600160a01b031633146106d0576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517ff2d025ce2c36cbd78cd7a2dd4607f7c5ef6b207ee59dfceb74aa73b80c1c53ae905f90a250565b6001546001600160a01b03163314610743576040516282b42960e81b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fa5289ba11778999f4dfb9415023783188d42bbb5db0612cbfbe55999069612a0905f90a250565b5f6107978284610cbf565b6107a19084610cde565b90505b92915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261080490859061080a565b50505050565b5f61081e6001600160a01b03841683610875565b905080515f141580156108425750808060200190518101906108409190610cfd565b155b1561087057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606107a183835f845f80856001600160a01b031684866040516108999190610d18565b5f6040518083038185875af1925050503d805f81146108d3576040519150601f19603f3d011682016040523d82523d5f602084013e6108d8565b606091505b50915091506108e88683836108f4565b925050505b9392505050565b6060826109095761090482610950565b6108ed565b815115801561092057506001600160a01b0384163b155b1561094957604051639996b31560e01b81526001600160a01b0385166004820152602401610867565b50806108ed565b8051156109605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5f5b8381101561099657818101518382015260200161097e565b50505f910152565b602081525f82518060208401526109bc81604085016020870161097c565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610979575f80fd5b5f602082840312156109f4575f80fd5b81356108ed816109d0565b5f60208284031215610a0f575f80fd5b5035919050565b8015158114610979575f80fd5b5f805f8060808587031215610a36575f80fd5b8435610a41816109d0565b93506020850135610a51816109d0565b9250604085013591506060850135610a6881610a16565b939692955090935050565b600181811c90821680610a8757607f821691505b602082108103610aa557634e487b7160e01b5f52602260045260245ffd5b50919050565b604051610200810167ffffffffffffffff81118282101715610adb57634e487b7160e01b5f52604160045260245ffd5b60405290565b8051610aec816109d0565b919050565b5f60808284031215610b01575f80fd5b6040516080810181811067ffffffffffffffff82111715610b3057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215610b72575f80fd5b610b7a610aab565b610b8383610ae1565b8152610b9160208401610ae1565b6020820152610ba260408401610ae1565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100808401518183015250610120808401518183015250610140808401518183015250610160610c0b818501610ae1565b90820152610180610c1d848201610ae1565b908201526101a0610c2f848201610ae1565b908201526101c0610c41848201610ae1565b908201526101e0610c5485858301610af1565b908201529392505050565b5f60408284031215610c6f575f80fd5b6040516040810181811067ffffffffffffffff82111715610c9e57634e487b7160e01b5f52604160045260245ffd5b604052825181526020830151610cb3816109d0565b60208201529392505050565b5f82610cd957634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156107a457634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610d0d575f80fd5b81516108ed81610a16565b5f8251610d2981846020870161097c565b919091019291505056fea2646970667358221220f4b1145022da47caf294d648d4347ec3f42c6c13cdaae0c32add7e23800bc40264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "kind()": "04baa00b", + "minterRewardAmount()": "62498576", + "name()": "06fdde03", + "processReward(address,address,uint256,bool)": "e9f46041", + "registry()": "7b103999", + "rewardToken()": "f7c618c1", + "rewarder()": "dcc3e06e", + "source()": "67e828bf", + "traderRewardAmount()": "5b338e07", + "updateAdmin(address)": "e2f273bd", + "updateMinterRewardAmount(uint256)": "2057b1c7", + "updateRegistry(address)": "1a5da6c8", + "updateRewardToken(address)": "f8cf31cb", + "updateSource(address)": "f24bab65", + "updateTraderRewardAmount(uint256)": "9183219f", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/HyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..cd5db1da8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveDeployerCoordinator.ts @@ -0,0 +1,669 @@ +export const HyperdriveDeployerCoordinator = { + name: 'HyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveFactory.ts b/packages/hyperdrive-artifacts/src/HyperdriveFactory.ts new file mode 100644 index 000000000..913a76a16 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveFactory.ts @@ -0,0 +1,2143 @@ +export const HyperdriveFactory = { + name: 'HyperdriveFactory' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_factoryConfig", + "type": "tuple", + "internalType": "struct HyperdriveFactory.FactoryConfig", + "components": [ + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "deployerCoordinatorManager", + "type": "address", + "internalType": "address" + }, + { + "name": "hyperdriveGovernance", + "type": "address", + "internalType": "address" + }, + { + "name": "defaultPausers", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointDurationResolution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minPositionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPositionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minFixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxFixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "maxFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "name": "_name", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "_instancesToDeployerCoordinators", + "inputs": [ + { + "name": "instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "deployCoordinator", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addDeployerCoordinator", + "inputs": [ + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpointDurationResolution", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "checkpointRewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "defaultPausers", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployAndInitialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdrive" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployerCoordinatorManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorByInstances", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "coordinators", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorsInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "range", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstancesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "range", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfDeployerCoordinators", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfInstances", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "governance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hyperdriveGovernance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isDeployerCoordinator", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isInstance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "linkerCodeHash", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "linkerFactory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxCheckpointDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxCircuitBreakerDelta", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFixedAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxPositionDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxTimeStretchAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minCheckpointDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minCircuitBreakerDelta", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minFixedAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minPositionDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minTimeStretchAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "removeDeployerCoordinator", + "inputs": [ + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweepCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateCheckpointDurationResolution", + "inputs": [ + { + "name": "_checkpointDurationResolution", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateCheckpointRewarder", + "inputs": [ + { + "name": "_checkpointRewarder", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateDefaultPausers", + "inputs": [ + { + "name": "_defaultPausers_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateDeployerCoordinatorManager", + "inputs": [ + { + "name": "_deployerCoordinatorManager", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFeeCollector", + "inputs": [ + { + "name": "_feeCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateGovernance", + "inputs": [ + { + "name": "_governance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateHyperdriveGovernance", + "inputs": [ + { + "name": "_hyperdriveGovernance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLinkerCodeHash", + "inputs": [ + { + "name": "_linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLinkerFactory", + "inputs": [ + { + "name": "_linkerFactory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxCheckpointDuration", + "inputs": [ + { + "name": "_maxCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxCircuitBreakerDelta", + "inputs": [ + { + "name": "_maxCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxFees", + "inputs": [ + { + "name": "__maxFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxFixedAPR", + "inputs": [ + { + "name": "_maxFixedAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxPositionDuration", + "inputs": [ + { + "name": "_maxPositionDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxTimeStretchAPR", + "inputs": [ + { + "name": "_maxTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinCheckpointDuration", + "inputs": [ + { + "name": "_minCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinCircuitBreakerDelta", + "inputs": [ + { + "name": "_minCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinFees", + "inputs": [ + { + "name": "__minFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinFixedAPR", + "inputs": [ + { + "name": "_minFixedAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinPositionDuration", + "inputs": [ + { + "name": "_minPositionDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinTimeStretchAPR", + "inputs": [ + { + "name": "_minTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSweepCollector", + "inputs": [ + { + "name": "_sweepCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "CheckpointDurationResolutionUpdated", + "inputs": [ + { + "name": "newCheckpointDurationResolution", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CheckpointRewarderUpdated", + "inputs": [ + { + "name": "newCheckpointRewarder", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DefaultPausersUpdated", + "inputs": [ + { + "name": "newDefaultPausers", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deployed", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "hyperdrive", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "config", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorAdded", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorManagerUpdated", + "inputs": [ + { + "name": "deployerCoordinatorManager", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorRemoved", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FeeCollectorUpdated", + "inputs": [ + { + "name": "newFeeCollector", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "GovernanceUpdated", + "inputs": [ + { + "name": "governance", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "HyperdriveGovernanceUpdated", + "inputs": [ + { + "name": "hyperdriveGovernance", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LinkerCodeHashUpdated", + "inputs": [ + { + "name": "newLinkerCodeHash", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LinkerFactoryUpdated", + "inputs": [ + { + "name": "newLinkerFactory", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxCheckpointDurationUpdated", + "inputs": [ + { + "name": "newMaxCheckpointDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxCircuitBreakerDeltaUpdated", + "inputs": [ + { + "name": "newMaxCircuitBreakerDelta", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxFeesUpdated", + "inputs": [ + { + "name": "newMaxFees", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxFixedAPRUpdated", + "inputs": [ + { + "name": "newMaxFixedAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxPositionDurationUpdated", + "inputs": [ + { + "name": "newMaxPositionDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxTimeStretchAPRUpdated", + "inputs": [ + { + "name": "newMaxTimeStretchAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinCheckpointDurationUpdated", + "inputs": [ + { + "name": "newMinCheckpointDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinCircuitBreakerDeltaUpdated", + "inputs": [ + { + "name": "newMinCircuitBreakerDelta", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinFeesUpdated", + "inputs": [ + { + "name": "newMinFees", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinFixedAPRUpdated", + "inputs": [ + { + "name": "newMinFixedAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinPositionDurationUpdated", + "inputs": [ + { + "name": "newMinPositionDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinTimeStretchAPRUpdated", + "inputs": [ + { + "name": "newMinTimeStretchAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SweepCollectorUpdated", + "inputs": [ + { + "name": "newSweepCollector", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DeployerCoordinatorAlreadyAdded", + "inputs": [] + }, + { + "type": "error", + "name": "DeployerCoordinatorIndexMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "DeployerCoordinatorNotAdded", + "inputs": [] + }, + { + "type": "error", + "name": "EndIndexTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDurationResolution", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDeployConfig", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDeployerCoordinator", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndexes", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "ReceiveLocked", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x6080604052600260015534801562000015575f80fd5b5060405162004012380380620040128339810160408190526200003891620006f6565b5f6200004582826200094e565b508160e0015182610100015110806200007357508160e0015182610100015162000070919062000a1a565b15155b156200009257604051630219d66360e11b815260040160405180910390fd5b610100820151600b8190556101208301511080620000c557508160e00151826101200151620000c2919062000a1a565b15155b15620000e45760405163f9c0959d60e01b815260040160405180910390fd5b610120820151600c81905561014083015110806200011757508160e0015182610140015162000114919062000a1a565b15155b156200013657604051633007ad0160e11b815260040160405180910390fd5b610140820151600d81905561016083015110806200016957508160e0015182610160015162000166919062000a1a565b15155b15620001885760405163cfb699cb60e01b815260040160405180910390fd5b610160820151600e556101a08201516101808301511115620001bd5760405163ef9bc65f60e01b815260040160405180910390fd5b610180820151600f556101a08201516010556101e08201516101c08301511115620001fb576040516330554de160e01b815260040160405180910390fd5b6101c08201516011556101e0820151601255610220820151610200830151111562000239576040516383ebdfb760e01b815260040160405180910390fd5b61020082015160135561022082015160145561026082015151670de0b6b3a76400001080620002785750670de0b6b3a764000082610260015160200151115b80620002945750670de0b6b3a764000082610260015160400151115b80620002b05750670de0b6b3a764000082610260015160600151115b15620002cf5760405163161071fb60e11b815260040160405180910390fd5b610260820151805160198190556020820151601a556040820151601b55606090910151601c556102408301515111806200031a57508161026001516020015182610240015160200151115b806200033757508161026001516040015182610240015160400151115b806200035457508161026001516060015182610240015160600151115b1562000373576040516315b05a8f60e01b815260040160405180910390fd5b61024082015180516015556020808201516016556040808301516017556060928301516018558451600280546001600160a01b03199081166001600160a01b03938416179091558387015160038054831691841691909117905591860151600480548416918316919091179055608086015160078054841691831691909117905560a086015160088054841691831691909117905560c08601516009805490931691161790559083015180516200042f92601d9201906200046c565b5050610280810151600580546001600160a01b0319166001600160a01b039092169190911790556102a081015160065560e00151600a5562000a3a565b828054828255905f5260205f20908101928215620004c2579160200282015b82811115620004c257825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200048b565b50620004d0929150620004d4565b5090565b5b80821115620004d0575f8155600101620004d5565b634e487b7160e01b5f52604160045260245ffd5b6040516102c081016001600160401b0381118282101715620005245762000524620004ea565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620005555762000555620004ea565b604052919050565b80516001600160a01b038116811462000574575f80fd5b919050565b5f82601f83011262000589575f80fd5b815160206001600160401b03821115620005a757620005a7620004ea565b8160051b620005b88282016200052a565b9283528481018201928281019087851115620005d2575f80fd5b83870192505b84831015620005fc57620005ec836200055d565b82529183019190830190620005d8565b979650505050505050565b5f6080828403121562000618575f80fd5b604051608081016001600160401b03811182821017156200063d576200063d620004ea565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f82601f8301126200067e575f80fd5b81516001600160401b038111156200069a576200069a620004ea565b6020620006b0601f8301601f191682016200052a565b8281528582848701011115620006c4575f80fd5b5f5b83811015620006e3578581018301518282018401528201620006c6565b505f928101909101919091529392505050565b5f806040838503121562000708575f80fd5b82516001600160401b03808211156200071f575f80fd5b90840190610380828703121562000734575f80fd5b6200073e620004fe565b62000749836200055d565b815262000759602084016200055d565b60208201526200076c604084016200055d565b604082015260608301518281111562000783575f80fd5b620007918882860162000579565b606083015250620007a5608084016200055d565b6080820152620007b860a084016200055d565b60a0820152620007cb60c084016200055d565b60c082015260e08381015190820152610100808401519082015261012080840151908201526101408084015190820152610160808401519082015261018080840151908201526101a080840151908201526101c080840151908201526101e0808401519082015261020080840151908201526102208084015190820152610240620008598882860162000607565b908201526200086d876102c0850162000607565b6102608201526200088261034084016200055d565b61028082015261036092909201516102a0830152602085015191935080821115620008ab575f80fd5b50620008ba858286016200066e565b9150509250929050565b600181811c90821680620008d957607f821691505b602082108103620008f857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200094957805f5260205f20601f840160051c81016020851015620009255750805b601f840160051c820191505b8181101562000946575f815560010162000931565b50505b505050565b81516001600160401b038111156200096a576200096a620004ea565b62000982816200097b8454620008c4565b84620008fe565b602080601f831160018114620009b8575f8415620009a05750858301515b5f19600386901b1c1916600185901b17855562000a12565b5f85815260208120601f198616915b82811015620009e857888601518255948401946001909101908401620009c7565b508582101562000a0657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8262000a3557634e487b7160e01b5f52601260045260245ffd5b500690565b6135ca8062000a485f395ff3fe608060405260043610610395575f3560e01c80638e127cf5116101de578063d2c35ce811610108578063e4e7148f1161009d578063ec895f111161006d578063ec895f1114610a9d578063f259645814610abc578063f8c09e5914610adb578063fe3d5aeb14610b09575f80fd5b8063e4e7148f14610a2c578063e71f34b314610a4b578063e83e34b114610a6a578063eb71f66c14610a7e575f80fd5b8063dd2b8fbb116100d8578063dd2b8fbb146109c5578063e0e2daaa146109e4578063e1b39c80146109f9578063e333155514610a0d575f80fd5b8063d2c35ce81461095d578063d6f501691461097c578063daac24da14610991578063daf012e6146109b0575f80fd5b8063b25612631161017e578063c415b95c1161014e578063c415b95c146108ff578063c905a4b51461091e578063d0f96b9214610933578063d23d7ea314610948575f80fd5b8063b25612631461088b578063bc30e7a1146108aa578063bf9bd5cd146108c9578063c1722563146108de575f80fd5b806399623bb1116101b957806399623bb11461081a5780639af2526214610839578063a64c90bf14610858578063a98a46db1461086c575f80fd5b80638e127cf5146107c75780638efc0986146107e657806397b0e8ce146107fb575f80fd5b80634554f9a9116102bf578063628027a31161025f57806383b361e81161022f57806383b361e81461074b57806384c19aab1461076a57806385229785146107895780638627a4f0146107a8575f80fd5b8063628027a3146106bb5780636b44e6be146106da5780636e95d67c146107185780636f6d5c4a1461072c575f80fd5b80634fbfee771161029a5780634fbfee771461063657806354fd4d50146106555780635720c9d5146106875780635aa6e6751461069c575f80fd5b80634554f9a9146105ed578063488007601461060257806349f13de714610617575f80fd5b80631ecda0fe116103355780632e7cd971116103055780632e7cd9711461057d5780633e2d201414610590578063411c3035146105af578063421caba8146105ce575f80fd5b80631ecda0fe146104e95780632885e3ac1461050c5780632907d3dd1461052b5780632b58f4181461054a575f80fd5b806310d1dc3e1161037057806310d1dc3e1461046057806311e77bfe1461047f5780631978ebcf1461049e5780631b59be0c146104bd575f80fd5b806304baa00b146103c357806306fdde031461041557806310780f7314610429575f80fd5b366103bf576002600154036103bd57604051630aac75b560e31b815260040160405180910390fd5b005b5f80fd5b3480156103ce575f80fd5b506103ff6040518060400160405280601181526020017048797065726472697665466163746f727960781b81525081565b60405161040c9190612c3a565b60405180910390f35b348015610420575f80fd5b506103ff610b28565b348015610434575f80fd5b50600854610448906001600160a01b031681565b6040516001600160a01b03909116815260200161040c565b34801561046b575f80fd5b506103bd61047a366004612c4c565b610bb3565b34801561048a575f80fd5b506103bd610499366004612c5c565b610ccc565b3480156104a9575f80fd5b506103bd6104b8366004612c5c565b610da5565b3480156104c8575f80fd5b506104dc6104d7366004612c73565b610e27565b60405161040c9190612ce2565b3480156104f4575f80fd5b506104fe600f5481565b60405190815260200161040c565b348015610517575f80fd5b506103bd610526366004612c4c565b610eff565b348015610536575f80fd5b506103bd610545366004612c5c565b611065565b348015610555575f80fd5b50610448610564366004612d55565b602080525f90815260409020546001600160a01b031681565b61044861058b36600461301f565b6110e7565b34801561059b575f80fd5b506103bd6105aa366004612d55565b61150e565b3480156105ba575f80fd5b506103bd6105c93660046130f7565b611581565b3480156105d9575f80fd5b506103bd6105e8366004612d55565b611749565b3480156105f8575f80fd5b506104fe60105481565b34801561060d575f80fd5b506104fe60145481565b348015610622575f80fd5b50610448610631366004613121565b611850565b348015610641575f80fd5b506103bd610650366004612c5c565b61193d565b348015610660575f80fd5b506103ff60405180604001604052806007815260200166076312e302e32360cc1b81525081565b348015610692575f80fd5b506104fe600b5481565b3480156106a7575f80fd5b50600254610448906001600160a01b031681565b3480156106c6575f80fd5b506103bd6106d5366004612c5c565b611999565b3480156106e5575f80fd5b506107086106f4366004612d55565b60226020525f908152604090205460ff1681565b604051901515815260200161040c565b348015610723575f80fd5b506021546104fe565b348015610737575f80fd5b506103bd610746366004612c5c565b611a1b565b348015610756575f80fd5b506103bd610765366004612c5c565b611abf565b348015610775575f80fd5b506103bd610784366004612c5c565b611b41565b348015610794575f80fd5b506103bd6107a3366004612d55565b611bc3565b3480156107b3575f80fd5b506103bd6107c2366004612d55565b611c36565b3480156107d2575f80fd5b506103bd6107e1366004612c5c565b611ca9565b3480156107f1575f80fd5b506104fe600e5481565b348015610806575f80fd5b506103bd610815366004612c5c565b611d4d565b348015610825575f80fd5b50600554610448906001600160a01b031681565b348015610844575f80fd5b506103bd610853366004612c73565b611dcf565b348015610863575f80fd5b506104dc611e37565b348015610877575f80fd5b506103bd610886366004612d55565b611e97565b348015610896575f80fd5b506103bd6108a5366004612d55565b611f0a565b3480156108b5575f80fd5b506104dc6108c43660046131af565b611f7d565b3480156108d4575f80fd5b506104fe60125481565b3480156108e9575f80fd5b506108f261207c565b60405161040c91906131cf565b34801561090a575f80fd5b50600754610448906001600160a01b031681565b348015610929575f80fd5b506104fe60065481565b34801561093e575f80fd5b506104fe600a5481565b348015610953575f80fd5b506104fe60115481565b348015610968575f80fd5b506103bd610977366004612d55565b6120d0565b348015610987575f80fd5b506104fe60135481565b34801561099c575f80fd5b506104486109ab366004612c5c565b612143565b3480156109bb575f80fd5b506104fe600d5481565b3480156109d0575f80fd5b506103bd6109df366004612d55565b612171565b3480156109ef575f80fd5b506104fe600c5481565b348015610a04575f80fd5b50601e546104fe565b348015610a18575f80fd5b50600454610448906001600160a01b031681565b348015610a37575f80fd5b50600354610448906001600160a01b031681565b348015610a56575f80fd5b506103bd610a65366004612c5c565b6121e4565b348015610a75575f80fd5b506108f2612288565b348015610a89575f80fd5b506103bd610a98366004612c5c565b6122dc565b348015610aa8575f80fd5b506104dc610ab73660046131af565b612374565b348015610ac7575f80fd5b50600954610448906001600160a01b031681565b348015610ae6575f80fd5b50610708610af5366004612d55565b601f6020525f908152604090205460ff1681565b348015610b14575f80fd5b50610448610b23366004612c5c565b612473565b5f8054610b34906131fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610b60906131fa565b8015610bab5780601f10610b8257610100808354040283529160200191610bab565b820191905f5260205f20905b815481529060010190602001808311610b8e57829003601f168201915b505050505081565b6002546001600160a01b03163314610bdd576040516282b42960e81b815260040160405180910390fd5b60408051608081018252601954808252601a546020830152601b5492820192909252601c5460608201529082351180610c1d575080602001518260200135115b80610c2f575080604001518260400135115b80610c41575080606001518260600135115b15610c5f576040516315b05a8f60e01b815260040160405180910390fd5b81356015819055602080840135601681905560408086013560178190556060808801356018819055835196875294860193909352908401528201527fe1c45f8aeb543f30b37cc2fccfbac0f32cc8f234284df921d71cff04e51ef421906080015b60405180910390a15050565b6002546001600160a01b03163314610cf6576040516282b42960e81b815260040160405180910390fd5b80600b54610d04919061322c565b151580610d1d575080600c54610d1a919061322c565b15155b80610d34575080600d54610d31919061322c565b15155b80610d4b575080600e54610d48919061322c565b15155b15610d69576040516311b75c1560e31b815260040160405180910390fd5b600a8190556040518181527f04ed835b488b4fcf0a212a46ed67cbbffc2fc81b5cb6a12c546572cbf7b7e06a906020015b60405180910390a150565b6002546001600160a01b03163314610dcf576040516282b42960e81b815260040160405180910390fd5b601254811115610df257604051631670f79760e01b815260040160405180910390fd5b60118190556040518181527faab0ee9100629c405a4d75336e1640cc81e0608fb0d7f17389c06ee8d4f0219190602001610d9a565b60215460609067ffffffffffffffff811115610e4557610e45612d70565b604051908082528060200260200182016040528015610e6e578160200160208202803683370190505b5090505f5b82811015610ef75760205f858584818110610e9057610e9061324b565b9050602002016020810190610ea59190612d55565b6001600160a01b03908116825260208201929092526040015f20548351911690839083908110610ed757610ed761324b565b6001600160a01b0390921660209283029190910190910152600101610e73565b505b92915050565b6002546001600160a01b03163314610f29576040516282b42960e81b815260040160405180910390fd5b6040805160808101825260155481526016546020820152601754918101919091526018546060820152670de0b6b3a764000082351180610f745750670de0b6b3a76400008260200135115b80610f8a5750670de0b6b3a76400008260400135115b80610fa05750670de0b6b3a76400008260600135115b80610fac575080518235105b80610fbe575080602001518260200135105b80610fd0575080604001518260400135105b80610fe2575080606001518260600135105b156110005760405163161071fb60e11b815260040160405180910390fd5b81356019819055602080840135601a819055604080860135601b819055606080880135601c819055835196875294860193909352908401528201527f8c6093c7e65dd862e88162770c4e156e8a0da57d25d961e0fb6f28cfb7ff89a790608001610cc0565b6002546001600160a01b0316331461108f576040516282b42960e81b815260040160405180910390fd5b6010548111156110b2576040516328a2d9a960e01b815260040160405180910390fd5b600f8190556040518181527f41f729b931ad8e33d697fff6bc6736a1ac6ee09e8265efae2794ac1635c217a690602001610d9a565b6001600160a01b0389165f908152601f602052604081205460ff1661111f57604051636e623f0f60e01b815260040160405180910390fd5b61112a888686612487565b60408051336020808301919091528183018e905282518083038401815260608301938490528051910120631d321d7560e31b9092525f916001600160a01b038d169163e990eba891611186918e908e908e908a90606401613370565b6020604051808303815f875af11580156111a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c691906133bf565b90508a60205f836001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060045f9054906101000a90046001600160a01b03168961014001906001600160a01b031690816001600160a01b0316815250508a6001600160a01b03167fb25b0f0f93209be08152122f1321f6b0ef559a93a67695fff5fea3e5ed234465828c8c8c60405161128194939291906133da565b60405180910390a26021805460018082019092557f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5700180546001600160a01b0319166001600160a01b038481169182179092555f90815260226020908152604091829020805460ff1916851790559280558051339381019390935282018e90528c16906316abfc7090349060600160405160208183030381529060405280519060200120338b8b8a6040518763ffffffff1660e01b815260040161134995949392919061342b565b60206040518083038185885af1158015611365573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061138a919061348d565b5060026001555f5b601d5481101561143057816001600160a01b0316637180c8ca601d83815481106113be576113be61324b565b5f9182526020909120015460405160e083901b6001600160e01b03191681526001600160a01b039091166004820152600160248201526044015f604051808303815f87803b15801561140e575f80fd5b505af1158015611420573d5f803e3d5ffd5b5050600190920191506113929050565b506004805460405163ab033ea960e01b81526001600160a01b039182169281019290925282169063ab033ea9906024015f604051808303815f87803b158015611477575f80fd5b505af1158015611489573d5f803e3d5ffd5b5047925050811590506114fe576040515f90339083908381818185875af1925050503d805f81146114d5576040519150601f19603f3d011682016040523d82523d5f602084013e6114da565b606091505b50509050806114fc576040516312171d8360e31b815260040160405180910390fd5b505b509b9a5050505050505050505050565b6002546001600160a01b03163314611538576040516282b42960e81b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040517fae062fb82c932c653cd44617343ecda1d13e375e0d6f20d969c944fbda1963d3905f90a250565b6002546001600160a01b031633148015906115a757506003546001600160a01b03163314155b156115c4576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0382165f908152601f602052604090205460ff166115fc57604051634bf121ab60e01b815260040160405180910390fd5b816001600160a01b0316601e82815481106116195761161961324b565b5f918252602090912001546001600160a01b03161461164b57604051630f2700cb60e21b815260040160405180910390fd5b6001600160a01b0382165f908152601f60205260409020805460ff19169055601e805461167a906001906134b8565b8154811061168a5761168a61324b565b5f91825260209091200154601e80546001600160a01b0390921691839081106116b5576116b561324b565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550601e8054806116f1576116f16134cb565b5f8281526020812082015f1990810180546001600160a01b03191690559091019091556040516001600160a01b038416917f709b7450bfafda93efd91d29149870a794637ac9d696ca61625fd2f53548afe091a25050565b6002546001600160a01b0316331480159061176f57506003546001600160a01b03163314155b1561178c576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381165f908152601f602052604090205460ff16156117c55760405163bd34634f60e01b815260040160405180910390fd5b6001600160a01b0381165f818152601f6020526040808220805460ff19166001908117909155601e8054918201815583527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3500180546001600160a01b03191684179055517f16ce88285cfd59829a5aa04370a5ec8090a18c14e7e7fb9d4b12a42291c098e39190a250565b6001600160a01b0387165f908152601f602052604081205460ff1661188857604051636e623f0f60e01b815260040160405180910390fd5b611893878686612487565b60408051336020808301919091528183018c90528251808303840181526060830193849052805191012063182a20c360e31b9092525f916001600160a01b038b169163c1510618916118ef918c908c908a908a906064016134df565b6020604051808303815f875af115801561190b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192f91906133bf565b9a9950505050505050505050565b6002546001600160a01b03163314611967576040516282b42960e81b815260040160405180910390fd5b600681905560405181907f395a61259037298d1c4cd4bf177b64ad5995d38a9394573fcd9060d649314ad0905f90a250565b6002546001600160a01b031633146119c3576040516282b42960e81b815260040160405180910390fd5b6013548110156119e657604051630a35539d60e41b815260040160405180910390fd5b60148190556040518181527fa9e7961bb3342715dbecc208087a6a9df8986d524b3a0a829fd90f5a2f5ba53e90602001610d9a565b6002546001600160a01b03163314611a45576040516282b42960e81b815260040160405180910390fd5b600b54811080611a605750600a54611a5d908261322c565b15155b80611a6c5750600d5481115b15611a8a5760405163f9c0959d60e01b815260040160405180910390fd5b600c8190556040518181527f31407ddd1722f500b8aa2c18e112398626dd7c2869a5f80731ec30b244d9b5f290602001610d9a565b6002546001600160a01b03163314611ae9576040516282b42960e81b815260040160405180910390fd5b601454811115611b0c57604051635a8f655760e01b815260040160405180910390fd5b60138190556040518181527f490eb2a91746aa933c9ffe2f7939aa06498f3259139f8805f008b12c8c697a4690602001610d9a565b6002546001600160a01b03163314611b6b576040516282b42960e81b815260040160405180910390fd5b600f54811015611b8e57604051637edc061360e11b815260040160405180910390fd5b60108190556040518181527f0e56d83f54e6f5b08716a54b3abdb59b3025bf12c1875c87ab98ab081d6f838190602001610d9a565b6002546001600160a01b03163314611bed576040516282b42960e81b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b0383169081179091556040517f03aa5b0fb65014eea89fda04a7bc11742014881f3c078f2c75b7226ce10d9418905f90a250565b6002546001600160a01b03163314611c60576040516282b42960e81b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040517fc049058b1df2dd8902739ceb78992df12fa8369c06c450b3c6787137b452fdd2905f90a250565b6002546001600160a01b03163314611cd3576040516282b42960e81b815260040160405180910390fd5b600a54811080611cee5750600a54611ceb908261322c565b15155b80611cfa5750600c5481115b15611d1857604051630219d66360e11b815260040160405180910390fd5b600b8190556040518181527f6f8175cdbac1b4d238abba24a17d2554d7b9750bbeda6414e191c478384b763190602001610d9a565b6002546001600160a01b03163314611d77576040516282b42960e81b815260040160405180910390fd5b601154811015611d9a5760405163019cfb7b60e61b815260040160405180910390fd5b60128190556040518181527f4fa35c11ce9a45ae882c154ecb53ab5cac52a74a5b9b0373be36deb30c78297890602001610d9a565b6002546001600160a01b03163314611df9576040516282b42960e81b815260040160405180910390fd5b611e05601d8383612b8b565b507f2a85276cf604a3822e19b29a3e97aebfbc47a19025c2e8f6e80b3af774dcbc388282604051610cc092919061351d565b6060601d805480602002602001604051908101604052809291908181526020018280548015611e8d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311611e6f575b5050505050905090565b6002546001600160a01b03163314611ec1576040516282b42960e81b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040517f6f717fb0ab51206dea4064a35c94c2784f8714b012fbde820e0ddee36265eb6a905f90a250565b6002546001600160a01b03163314611f34576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f9d3e522e1e47a2f6009739342b9cc7b252a1888154e843ab55ee1c81745795ab905f90a250565b6060818310611f9f57604051633b2735ab60e11b815260040160405180910390fd5b602154821115611fc25760405163e0f7becb60e01b815260040160405180910390fd5b611fcc83836134b8565b67ffffffffffffffff811115611fe457611fe4612d70565b60405190808252806020026020018201604052801561200d578160200160208202803683370190505b509050825b82811015610ef7576021818154811061202d5761202d61324b565b905f5260205f20015f9054906101000a90046001600160a01b0316828583038151811061205c5761205c61324b565b6001600160a01b0390921660209283029190910190910152600101612012565b6120a360405180608001604052805f81526020015f81526020015f81526020015f81525090565b50604080516080810182526015548152601654602082015260175491810191909152601854606082015290565b6002546001600160a01b031633146120fa576040516282b42960e81b815260040160405180910390fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040517fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f905f90a250565b5f602182815481106121575761215761324b565b5f918252602090912001546001600160a01b031692915050565b6002546001600160a01b0316331461219b576040516282b42960e81b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517ff3e07b4bb4394f2ff320bd1dd151551dff304d5e948b401d8558b228482c97d8905f90a250565b6002546001600160a01b0316331461220e576040516282b42960e81b815260040160405180910390fd5b600c548110806122295750600a54612226908261322c565b15155b806122355750600e5481115b1561225357604051633007ad0160e11b815260040160405180910390fd5b600d8190556040518181527fe9ef3e93dff799d4db8a12ff79e0918a5a78d75b10527864f4b1c920f6f4f17890602001610d9a565b6122af60405180608001604052805f81526020015f81526020015f81526020015f81525090565b50604080516080810182526019548152601a546020820152601b5491810191909152601c54606082015290565b6002546001600160a01b03163314612306576040516282b42960e81b815260040160405180910390fd5b600d548110806123215750600a5461231e908261322c565b15155b1561233f5760405163cfb699cb60e01b815260040160405180910390fd5b600e8190556040518181527f866fe9485f9983afceaa1385307b6eb0fd3df5a250ae2b0bf76dc9ddd316926b90602001610d9a565b606081831061239657604051633b2735ab60e11b815260040160405180910390fd5b601e548211156123b95760405163e0f7becb60e01b815260040160405180910390fd5b6123c383836134b8565b67ffffffffffffffff8111156123db576123db612d70565b604051908082528060200260200182016040528015612404578160200160208202803683370190505b509050825b82811015610ef757601e81815481106124245761242461324b565b905f5260205f20015f9054906101000a90046001600160a01b031682858303815181106124535761245361324b565b6001600160a01b0390921660209283029190910190910152600101612409565b5f601e82815481106121575761215761324b565b600b5483610100015110806124a25750600c54836101000151115b806124be5750600a548361010001516124bb919061322c565b15155b156124dc57604051635428734d60e01b815260040160405180910390fd5b600d548360e0015110806124f55750600e548360e00151115b8061251357508261010001518360e00151612510919061322c565b15155b156125315760405163253fffcf60e11b815260040160405180910390fd5b600f548360c00151108061254a57506010548360c00151115b156125685760405163ef9bc65f60e01b815260040160405180910390fd5b6019546101c084015151118061259c5750601a5460e08401516101c08501516020015161259a916301e13380906127f6565b115b806125b15750601b546101c084015160400151115b806125c65750601c546101c084015160600151115b806125d857506015546101c084015151105b80612601575060165460e08401516101c0850151602001516125ff916301e1338090612819565b105b8061261657506017546101c084015160400151105b8061262b57506018546101c084015160600151105b1561264957604051632d8768f960e01b815260040160405180910390fd5b60115482108061265a575060125482115b15612678576040516330554de160e01b815260040160405180910390fd5b5f61269c6611c37937e0800061269685671bc16d674ec80000612834565b9061284f565b6013549091506126ac908261284f565b8210806126df57506126dc6126d3671bc16d674ec800006126cd868561284f565b90612864565b60145490612878565b82115b156126fd576040516383ebdfb760e01b815260040160405180910390fd5b5f61270c838660e0015161288c565b60055460408701519192506001600160a01b0391821691161415806127375750600654856060015114155b8061275657506007546101608601516001600160a01b03908116911614155b8061277557506008546101808601516001600160a01b03908116911614155b8061279457506009546101a08601516001600160a01b03908116911614155b806127b357506004546101408601516001600160a01b03908116911614155b806127c2575061012085015115155b156127e05760405163e8c02dd760e01b815260040160405180910390fd5b3061014086015261012090940193909352505050565b5f825f19048411830215820261280a575f80fd5b50910281810615159190040190565b5f825f19048411830215820261282d575f80fd5b5091020490565b5f61284883670de0b6b3a764000084612819565b9392505050565b5f81831161285d5781612848565b5090919050565b5f6128488383670de0b6b3a7640000612819565b5f8183116128865782612848565b50919050565b5f806128bc6128ad61289f86606461356a565b66a5bbed86c5a00090612864565b6748cd4072281e000090612834565b90506128d0670de0b6b3a764000082612834565b9050612928816126cd6128fb6128f66128f189670de0b6b3a7640000613581565b612930565b61295d565b6129226128f66129108a8a6301e13380612819565b6128f190670de0b6b3a7640000613581565b90612834565b949350505050565b5f6001600160ff1b038211156129595760405163396ea70160e11b815260040160405180910390fd5b5090565b5f80821361297e5760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612a0a9084901c612930565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b828054828255905f5260205f20908101928215612bdc579160200282015b82811115612bdc5781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190612ba9565b506129599291505b80821115612959575f8155600101612be4565b5f81518084525f5b81811015612c1b57602081850181015186830182015201612bff565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6128486020830184612bf7565b5f60808284031215612886575f80fd5b5f60208284031215612c6c575f80fd5b5035919050565b5f8060208385031215612c84575f80fd5b823567ffffffffffffffff80821115612c9b575f80fd5b818501915085601f830112612cae575f80fd5b813581811115612cbc575f80fd5b8660208260051b8501011115612cd0575f80fd5b60209290920196919550909350505050565b602080825282518282018190525f9190848201906040850190845b81811015612d225783516001600160a01b031683529284019291840191600101612cfd565b50909695505050505050565b6001600160a01b0381168114612d42575f80fd5b50565b8035612d5081612d2e565b919050565b5f60208284031215612d65575f80fd5b813561284881612d2e565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715612da857612da8612d70565b60405290565b5f82601f830112612dbd575f80fd5b813567ffffffffffffffff80821115612dd857612dd8612d70565b604051601f8301601f19908116603f01168101908282118183101715612e0057612e00612d70565b81604052838152866020858801011115612e18575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f60808284031215612e47575f80fd5b6040516080810181811067ffffffffffffffff82111715612e6a57612e6a612d70565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215612eac575f80fd5b612eb4612d84565b9050612ebf82612d45565b8152612ecd60208301612d45565b6020820152612ede60408301612d45565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140612f3b818401612d45565b90820152610160612f4d838201612d45565b90820152610180612f5f838201612d45565b908201526101a0612f71838201612d45565b908201526101c0612f8484848301612e37565b9082015292915050565b5f60608284031215612f9e575f80fd5b6040516060810167ffffffffffffffff8282108183111715612fc257612fc2612d70565b8160405282935084359150612fd682612d2e565b9082526020840135908115158214612fec575f80fd5b8160208401526040850135915080821115613005575f80fd5b5061301285828601612dae565b6040830152505092915050565b5f805f805f805f805f806103608b8d031215613039575f80fd5b8a35995061304960208c01612d45565b985060408b013567ffffffffffffffff80821115613065575f80fd5b6130718e838f01612dae565b99506130808e60608f01612e9b565b98506102a08d0135915080821115613096575f80fd5b6130a28e838f01612dae565b97506102c08d013596506102e08d013595506103008d013594506103208d01359150808211156130d0575f80fd5b506130dd8d828e01612f8e565b9250506103408b013590509295989b9194979a5092959850565b5f8060408385031215613108575f80fd5b823561311381612d2e565b946020939093013593505050565b5f805f805f805f80610320898b031215613139575f80fd5b88359750602089013561314b81612d2e565b965061315a8a60408b01612e9b565b955061028089013567ffffffffffffffff811115613176575f80fd5b6131828b828c01612dae565b989b979a5095986102a0810135976102c082013597506102e0820135965061030090910135945092505050565b5f80604083850312156131c0575f80fd5b50508035926020909101359150565b8151815260208083015190820152604080830151908201526060808301519082015260808101610ef9565b600181811c9082168061320e57607f821691505b60208210810361288657634e487b7160e01b5f52602260045260245ffd5b5f8261324657634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52603260045260245ffd5b80516001600160a01b03168252602081015161328660208401826001600160a01b03169052565b5060408101516132a160408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151613307828501826001600160a01b03169052565b5050610160818101516001600160a01b0390811691840191909152610180808301518216908401526101a080830151909116908301526101c09081015180519183019190915260208101516101e083015260408101516102008301526060015161022090910152565b5f6102c087835280602084015261338981840188612bf7565b9050613398604084018761325f565b8281036102808401526133ab8186612bf7565b915050826102a08301529695505050505050565b5f602082840312156133cf575f80fd5b815161284881612d2e565b6001600160a01b03851681526102a0602082018190525f906133fe83820187612bf7565b905061340d604084018661325f565b8281036102808401526134208185612bf7565b979650505050505050565b8581525f60018060a01b03808716602084015285604084015284606084015260a060808401528084511660a0840152506020830151151560c08301526040830151606060e0840152613481610100840182612bf7565b98975050505050505050565b5f6020828403121561349d575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610ef957610ef96134a4565b634e487b7160e01b5f52603160045260245ffd5b5f6102c08783526134f3602084018861325f565b8061026084015261350681840187612bf7565b61028084019590955250506102a001529392505050565b60208082528181018390525f908460408401835b8681101561355f57823561354481612d2e565b6001600160a01b031682529183019190830190600101613531565b509695505050505050565b8082028115828204841417610ef957610ef96134a4565b80820180821115610ef957610ef96134a456fea2646970667358221220a1e514bf85e79a36a06a6b5cba470da19dd8126fb4e92a14dbe5b9d89c3e2ddf64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "_instancesToDeployerCoordinators(address)": "2b58f418", + "addDeployerCoordinator(address)": "421caba8", + "checkpointDurationResolution()": "d0f96b92", + "checkpointRewarder()": "f2596458", + "defaultPausers()": "a64c90bf", + "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971", + "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7", + "deployerCoordinatorManager()": "e4e7148f", + "feeCollector()": "c415b95c", + "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb", + "getDeployerCoordinatorByInstances(address[])": "1b59be0c", + "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11", + "getInstanceAtIndex(uint256)": "daac24da", + "getInstancesInRange(uint256,uint256)": "bc30e7a1", + "getNumberOfDeployerCoordinators()": "e1b39c80", + "getNumberOfInstances()": "6e95d67c", + "governance()": "5aa6e675", + "hyperdriveGovernance()": "e3331555", + "isDeployerCoordinator(address)": "f8c09e59", + "isInstance(address)": "6b44e6be", + "kind()": "04baa00b", + "linkerCodeHash()": "c905a4b5", + "linkerFactory()": "99623bb1", + "maxCheckpointDuration()": "e0e2daaa", + "maxCircuitBreakerDelta()": "4554f9a9", + "maxFees()": "e83e34b1", + "maxFixedAPR()": "bf9bd5cd", + "maxPositionDuration()": "8efc0986", + "maxTimeStretchAPR()": "48800760", + "minCheckpointDuration()": "5720c9d5", + "minCircuitBreakerDelta()": "1ecda0fe", + "minFees()": "c1722563", + "minFixedAPR()": "d23d7ea3", + "minPositionDuration()": "daf012e6", + "minTimeStretchAPR()": "d6f50169", + "name()": "06fdde03", + "removeDeployerCoordinator(address,uint256)": "411c3035", + "sweepCollector()": "10780f73", + "updateCheckpointDurationResolution(uint256)": "11e77bfe", + "updateCheckpointRewarder(address)": "3e2d2014", + "updateDefaultPausers(address[])": "9af25262", + "updateDeployerCoordinatorManager(address)": "a98a46db", + "updateFeeCollector(address)": "d2c35ce8", + "updateGovernance(address)": "b2561263", + "updateHyperdriveGovernance(address)": "dd2b8fbb", + "updateLinkerCodeHash(bytes32)": "4fbfee77", + "updateLinkerFactory(address)": "85229785", + "updateMaxCheckpointDuration(uint256)": "6f6d5c4a", + "updateMaxCircuitBreakerDelta(uint256)": "84c19aab", + "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac", + "updateMaxFixedAPR(uint256)": "97b0e8ce", + "updateMaxPositionDuration(uint256)": "eb71f66c", + "updateMaxTimeStretchAPR(uint256)": "628027a3", + "updateMinCheckpointDuration(uint256)": "8e127cf5", + "updateMinCircuitBreakerDelta(uint256)": "2907d3dd", + "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e", + "updateMinFixedAPR(uint256)": "1978ebcf", + "updateMinPositionDuration(uint256)": "e71f34b3", + "updateMinTimeStretchAPR(uint256)": "83b361e8", + "updateSweepCollector(address)": "8627a4f0", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveLP.ts b/packages/hyperdrive-artifacts/src/HyperdriveLP.ts new file mode 100644 index 000000000..228d28259 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveLP.ts @@ -0,0 +1,657 @@ +export const HyperdriveLP = { + name: 'HyperdriveLP' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveLong.ts b/packages/hyperdrive-artifacts/src/HyperdriveLong.ts new file mode 100644 index 000000000..19224a166 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveLong.ts @@ -0,0 +1,657 @@ +export const HyperdriveLong = { + name: 'HyperdriveLong' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveMath.ts b/packages/hyperdrive-artifacts/src/HyperdriveMath.ts new file mode 100644 index 000000000..c007663ba --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveMath.ts @@ -0,0 +1,6 @@ +export const HyperdriveMath = { + name: 'HyperdriveMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f750f6fbf60495e97c0a539b86ad20c1304cba5840bc52023fe0f4c42006d81b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveMultiToken.ts b/packages/hyperdrive-artifacts/src/HyperdriveMultiToken.ts new file mode 100644 index 000000000..eed0ec1e3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveMultiToken.ts @@ -0,0 +1,657 @@ +export const HyperdriveMultiToken = { + name: 'HyperdriveMultiToken' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveRegistry.ts b/packages/hyperdrive-artifacts/src/HyperdriveRegistry.ts new file mode 100644 index 000000000..e29dd64a5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveRegistry.ts @@ -0,0 +1,701 @@ +export const HyperdriveRegistry = { + name: 'HyperdriveRegistry' as const, + abi: [ + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoriesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfo", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfoWithMetadata", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfos", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfosWithMetadata", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfo", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfoWithMetadata", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfos", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfosWithMetadata", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "info", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstancesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfFactories", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfInstances", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isInitialized", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setFactoryInfo", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "_data", + "type": "uint128[]", + "internalType": "uint128[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setInstanceInfo", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "_data", + "type": "uint128[]", + "internalType": "uint128[]" + }, + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateName", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FactoryInfoUpdated", + "inputs": [ + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + }, + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "InstanceInfoUpdated", + "inputs": [ + { + "name": "instance", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NameUpdated", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "EndIndexTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "InputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFactory", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndexes", + "inputs": [] + }, + { + "type": "error", + "name": "RegistryAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061286f8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610153575f3560e01c80639b724ad4116100bf578063e2f273bd11610079578063e2f273bd146103ee578063e967e38814610401578063ea35032114610414578063f32c9e3414610434578063f59d00b914610454578063f851a4401461045c575f80fd5b80639b724ad414610307578063a587bbe11461035d578063b73e3fab14610388578063bc30e7a1146103a8578063d2f72d52146103bb578063daac24da146103db575f80fd5b80634db6c0e0116101105780634db6c0e01461026957806354fd4d50146102895780636e95d67c146102af578063716ba5f6146102c15780637ab4339d146102e157806384da92a7146102f4575f80fd5b806304baa00b1461015757806306fdde031461019e57806318bb3b54146101a65780631ff30ad2146102185780632ad19de81461022d578063392e53cd1461024d575b5f80fd5b6101886040518060400160405280601281526020017148797065726472697665526567697374727960701b81525081565b6040516101959190611f2a565b60405180910390f35b61018861046f565b61020b6101b4366004611f5e565b604080518082019091525f8082526020820152506040805180820182526001600160a01b039283165f8181526006602081815294822080546001600160801b03168552929091528352600101549092169082015290565b6040516101959190611f77565b61022b610226366004611fde565b6104fb565b005b61024061023b366004611f5e565b6108c1565b60405161019591906120dc565b5f546102599060ff1681565b6040519015158152602001610195565b61027c6102773660046120ee565b610a44565b604051610195919061212c565b61018860405180604001604052806007815260200166076312e302e32360cc1b81525081565b6005545b604051908152602001610195565b6102d46102cf36600461218b565b610b88565b60405161019591906121ab565b61022b6102ef3660046121f7565b610c86565b61022b6103023660046122da565b610d26565b61034e610315366004611f5e565b60408051602080820183525f91829052825180820184526001600160a01b039490941682526004905220546001600160801b0316815290565b60405190518152602001610195565b61037061036b366004612353565b610d9d565b6040516001600160a01b039091168152602001610195565b61039b6103963660046120ee565b610dcb565b60405161019591906123bb565b6102d46103b636600461218b565b611047565b6103ce6103c93660046120ee565b611145565b604051610195919061241d565b6103706103e9366004612353565b6113f4565b61022b6103fc366004611f5e565b611408565b61022b61040f366004612472565b61147b565b6104276104223660046120ee565b611821565b60405161019591906124d8565b610447610442366004611f5e565b611907565b6040516101959190612510565b6003546102b3565b600254610370906001600160a01b031681565b6001805461047c90612522565b80601f01602080910402602001604051908101604052809291908181526020018280546104a890612522565b80156104f35780601f106104ca576101008083540402835291602001916104f3565b820191905f5260205f20905b8154815290600101906020018083116104d657829003601f168201915b505050505081565b6002546001600160a01b03163314610525576040516282b42960e81b815260040160405180910390fd5b84831415806105345750848114155b156105525760405163aaad13f760e01b815260040160405180910390fd5b5f5b858110156108b8575f60065f8989858181106105725761057261255a565b90506020020160208101906105879190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b031690508585838181106105bd576105bd61255a565b90506020020160208101906105d2919061256e565b6001600160801b03161580156105e757508015155b1561066f575f8484848181106105ff576105ff61255a565b90506020020160208101906106149190611f5e565b6001600160a01b03161461063b57604051637a44db9560e01b815260040160405180910390fd5b61066a8888848181106106505761065061255a565b90506020020160208101906106659190611f5e565b611998565b6107f2565b8585838181106106815761068161255a565b9050602002016020810190610696919061256e565b6001600160801b0316158015906106ac57508015155b1561072e5761066a8888848181106106c6576106c661255a565b90506020020160208101906106db9190611f5e565b8787858181106106ed576106ed61255a565b9050602002016020810190610702919061256e565b8686868181106107145761071461255a565b90506020020160208101906107299190611f5e565b611ae6565b8585838181106107405761074061255a565b9050602002016020810190610755919061256e565b6001600160801b03161580159061076a575080155b156107ec5761066a8888848181106107845761078461255a565b90506020020160208101906107999190611f5e565b8787858181106107ab576107ab61255a565b90506020020160208101906107c0919061256e565b8686868181106107d2576107d261255a565b90506020020160208101906107e79190611f5e565b611c29565b506108b0565b8383838181106108045761080461255a565b90506020020160208101906108199190611f5e565b6001600160a01b03168686848181106108345761083461255a565b9050602002016020810190610849919061256e565b6001600160801b03168989858181106108645761086461255a565b90506020020160208101906108799190611f5e565b6001600160a01b03167fdcdda2b8267b8fe0ebfeb2cc8f266807b412bec096d16cbbe576d46d122553e060405160405180910390a4505b600101610554565b50505050505050565b6108c9611ea7565b6040805160a0810182526001600160a01b038085165f8181526006602081815286832080546001600160801b031687528484529181526001909101549093169284019290925283516306fdde0360e01b8152845187958501936306fdde0392600480820193918290030181865afa158015610946573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261096d9190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156109ad573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109d49190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a14573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a3b9190810190612594565b90529392505050565b6060816001600160401b03811115610a5e57610a5e612270565b604051908082528060200260200182016040528015610aa257816020015b604080518082019091525f8082526020820152815260200190600190039081610a7c5790505b5090505f5b82811015610b8057604051806040016040528060065f878786818110610acf57610acf61255a565b9050602002016020810190610ae49190611f5e565b6001600160a01b031681526020808201929092526040015f908120546001600160801b03168352910190600690878786818110610b2357610b2361255a565b9050602002016020810190610b389190611f5e565b6001600160a01b03908116825260208201929092526040015f20600101541690528251839083908110610b6d57610b6d61255a565b6020908102919091010152600101610aa7565b505b92915050565b6060818310610baa57604051633b2735ab60e11b815260040160405180910390fd5b600354821115610bcd5760405163e0f7becb60e01b815260040160405180910390fd5b610bd783836125fc565b6001600160401b03811115610bee57610bee612270565b604051908082528060200260200182016040528015610c17578160200160208202803683370190505b509050825b82811015610b805760038181548110610c3757610c3761255a565b5f918252602090912001546001600160a01b031682610c5686846125fc565b81518110610c6657610c6661255a565b6001600160a01b0390921660209283029190910190910152600101610c1c565b5f5460ff1615610ca95760405163722c395b60e11b815260040160405180910390fd5b5f805460ff19166001908117909155610cc3838583612664565b50600280546001600160a01b0319166001600160a01b038316908117909155604051610cf2908590859061271d565b604051908190038120907fe57439d837715589a751e391f73a95929ecc96ae6aa09a16be8ae312d6147157905f90a3505050565b6002546001600160a01b03163314610d50576040516282b42960e81b815260040160405180910390fd5b6001610d5c828261272c565b5080604051610d6b91906127eb565b604051908190038120907f9f7688a97f1ac51fe03bac18af18d6810f9f11f0db08c59b1938a9ac825ef744905f90a250565b5f60038281548110610db157610db161255a565b5f918252602090912001546001600160a01b031692915050565b6060816001600160401b03811115610de557610de5612270565b604051908082528060200260200182016040528015610e4057816020015b610e2d60405180608001604052805f81526020016060815260200160608152602001606081525090565b815260200190600190039081610e035790505b5090505f5b82811015610b80575f848483818110610e6057610e6061255a565b9050602002016020810190610e759190611f5e565b9050604051806080016040528060045f888887818110610e9757610e9761255a565b9050602002016020810190610eac9190611f5e565b6001600160a01b03166001600160a01b031681526020019081526020015f205f015f9054906101000a90046001600160801b03166001600160801b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa158015610f29573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f509190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610f90573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fb79190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa158015610ff7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261101e9190810190612594565b8152508383815181106110335761103361255a565b602090810291909101015250600101610e45565b606081831061106957604051633b2735ab60e11b815260040160405180910390fd5b60055482111561108c5760405163e0f7becb60e01b815260040160405180910390fd5b61109683836125fc565b6001600160401b038111156110ad576110ad612270565b6040519080825280602002602001820160405280156110d6578160200160208202803683370190505b509050825b82811015610b8057600581815481106110f6576110f661255a565b5f918252602090912001546001600160a01b03168261111586846125fc565b815181106111255761112561255a565b6001600160a01b03909216602092830291909101909101526001016110db565b6060816001600160401b0381111561115f5761115f612270565b60405190808252806020026020018201604052801561119857816020015b611185611ea7565b81526020019060019003908161117d5790505b5090505f5b82811015610b80575f8484838181106111b8576111b861255a565b90506020020160208101906111cd9190611f5e565b90506040518060a0016040528060065f8888878181106111ef576111ef61255a565b90506020020160208101906112049190611f5e565b6001600160a01b031681526020808201929092526040015f908120546001600160801b031683529101906006908888878181106112435761124361255a565b90506020020160208101906112589190611f5e565b6001600160a01b03166001600160a01b031681526020019081526020015f206001015f9054906101000a90046001600160a01b03166001600160a01b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156112d6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526112fd9190810190612594565b8152602001826001600160a01b03166304baa00b6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561133d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113649190810190612594565b8152602001826001600160a01b03166354fd4d506040518163ffffffff1660e01b81526004015f60405180830381865afa1580156113a4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113cb9190810190612594565b8152508383815181106113e0576113e061255a565b60209081029190910101525060010161119d565b5f60058281548110610db157610db161255a565b6002546001600160a01b03163314611432576040516282b42960e81b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d905f90a250565b6002546001600160a01b031633146114a5576040516282b42960e81b815260040160405180910390fd5b8281146114c55760405163aaad13f760e01b815260040160405180910390fd5b5f5b8381101561181a575f60045f8787858181106114e5576114e561255a565b90506020020160208101906114fa9190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b031690508383838181106115305761153061255a565b9050602002016020810190611545919061256e565b6001600160801b031615801561155a57508015155b156115935761158e8686848181106115745761157461255a565b90506020020160208101906115899190611f5e565b611d6b565b611784565b8383838181106115a5576115a561255a565b90506020020160208101906115ba919061256e565b6001600160801b0316158015906115d057508015155b1561165e5761158e8686848181106115ea576115ea61255a565b90506020020160208101906115ff9190611f5e565b8585858181106116115761161161255a565b9050602002016020810190611626919061256e565b6001600160a01b03919091165f90815260046020526040902080546001600160801b0319166001600160801b03909216919091179055565b8383838181106116705761167061255a565b9050602002016020810190611685919061256e565b6001600160801b03161580159061169a575080155b1561177e5761158e8686848181106116b4576116b461255a565b90506020020160208101906116c99190611f5e565b8585858181106116db576116db61255a565b90506020020160208101906116f0919061256e565b60038054600181019091557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810180546001600160a01b039094166001600160a01b0319909416841790556040805180820182526001600160801b03938416815291831660208381019182525f958652600490529320905192518216600160801b0292909116919091179055565b50611812565b8383838181106117965761179661255a565b90506020020160208101906117ab919061256e565b6001600160801b03168686848181106117c6576117c661255a565b90506020020160208101906117db9190611f5e565b6001600160a01b03167fd840ea8cb042bc840d3e55a04618ab268434d3d0a218638360a30fdb80de63f660405160405180910390a3505b6001016114c7565b5050505050565b6060816001600160401b0381111561183b5761183b612270565b60405190808252806020026020018201604052801561187a57816020015b60408051602081019091525f81528152602001906001900390816118595790505b5090505f5b82811015610b8057604051806020016040528060045f8787868181106118a7576118a761255a565b90506020020160208101906118bc9190611f5e565b6001600160a01b0316815260208101919091526040015f20546001600160801b0316905282518390839081106118f4576118f461255a565b602090810291909101015260010161187f565b61193160405180608001604052805f81526020016060815260200160608152602001606081525090565b604080516080810182526001600160a01b0384165f81815260046020818152858320546001600160801b0316855285516306fdde0360e01b81529551889691860194936306fdde0393838101939192918290030181865afa158015610946573d5f803e3d5ffd5b6001600160a01b0381165f90815260066020526040902054600554600160801b9091046001600160801b0316906119d06001826125fc565b826001600160801b031614611a83575f60056119ed6001846125fc565b815481106119fd576119fd61255a565b5f9182526020808320909101546001600160a01b03168083526006909152604090912080546001600160801b03808716600160801b810291909216179091556005805492935083929091908110611a5657611a5661255a565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550505b6005805480611a9457611a94612806565b5f828152602080822083015f1990810180546001600160a01b031990811690915593019093556001600160a01b0395909516855260069091526040842093845560019390930180549093169092555050565b6001600160a01b038084165f90815260066020526040902060010154168015801590611b245750816001600160a01b0316816001600160a01b031614155b80611bba57506001600160a01b038116158015611b4957506001600160a01b03821615155b8015611bba57506040516335a2735f60e11b81526001600160a01b038581166004830152831690636b44e6be90602401602060405180830381865afa158015611b94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb8919061281a565b155b15611bd857604051637a44db9560e01b815260040160405180910390fd5b506001600160a01b039283165f90815260066020526040902080546001600160801b0319166001600160801b0393909316929092178255600190910180546001600160a01b03191691909216179055565b6001600160a01b03811615801590611ca657506040516335a2735f60e11b81526001600160a01b038481166004830152821690636b44e6be90602401602060405180830381865afa158015611c80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca4919061281a565b155b15611cc457604051637a44db9560e01b815260040160405180910390fd5b6005805460018082019092557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0810180546001600160a01b039687166001600160a01b03199182168117909255604080516060810182526001600160801b03978816815293871660208581019182529689168583019081525f94855260069097529220925191518616600160801b0291909516178155915191018054919093169116179055565b6001600160a01b0381165f90815260046020526040902054600354600160801b9091046001600160801b031690611da36001826125fc565b826001600160801b031614611e56575f6003611dc06001846125fc565b81548110611dd057611dd061255a565b5f9182526020808320909101546001600160a01b03168083526004909152604090912080546001600160801b03808716600160801b810291909216179091556003805492935083929091908110611e2957611e2961255a565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550505b6003805480611e6757611e67612806565b5f828152602080822083015f1990810180546001600160a01b03191690559092019092556001600160a01b03949094168152600490935250506040812055565b6040518060a001604052805f81526020015f6001600160a01b031681526020016060815260200160608152602001606081525090565b5f5b83811015611ef7578181015183820152602001611edf565b50505f910152565b5f8151808452611f16816020860160208601611edd565b601f01601f19169290920160200192915050565b602081525f611f3c6020830184611eff565b9392505050565b80356001600160a01b0381168114611f59575f80fd5b919050565b5f60208284031215611f6e575f80fd5b611f3c82611f43565b815181526020808301516001600160a01b03169082015260408101610b82565b5f8083601f840112611fa7575f80fd5b5081356001600160401b03811115611fbd575f80fd5b6020830191508360208260051b8501011115611fd7575f80fd5b9250929050565b5f805f805f8060608789031215611ff3575f80fd5b86356001600160401b0380821115612009575f80fd5b6120158a838b01611f97565b9098509650602089013591508082111561202d575f80fd5b6120398a838b01611f97565b90965094506040890135915080821115612051575f80fd5b5061205e89828a01611f97565b979a9699509497509295939492505050565b8051825260018060a01b0360208201511660208301525f604082015160a060408501526120a060a0850182611eff565b9050606083015184820360608601526120b98282611eff565b915050608083015184820360808601526120d38282611eff565b95945050505050565b602081525f611f3c6020830184612070565b5f80602083850312156120ff575f80fd5b82356001600160401b03811115612114575f80fd5b61212085828601611f97565b90969095509350505050565b602080825282518282018190525f919060409081850190868401855b8281101561217e5761216e848351805182526020908101516001600160a01b0316910152565b9284019290850190600101612148565b5091979650505050505050565b5f806040838503121561219c575f80fd5b50508035926020909101359150565b602080825282518282018190525f9190848201906040850190845b818110156121eb5783516001600160a01b0316835292840192918401916001016121c6565b50909695505050505050565b5f805f60408486031215612209575f80fd5b83356001600160401b038082111561221f575f80fd5b818601915086601f830112612232575f80fd5b813581811115612240575f80fd5b876020828501011115612251575f80fd5b6020928301955093506122679186019050611f43565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156122ac576122ac612270565b604052919050565b5f6001600160401b038211156122cc576122cc612270565b50601f01601f191660200190565b5f602082840312156122ea575f80fd5b81356001600160401b038111156122ff575f80fd5b8201601f8101841361230f575f80fd5b803561232261231d826122b4565b612284565b818152856020838501011115612336575f80fd5b816020840160208301375f91810160200191909152949350505050565b5f60208284031215612363575f80fd5b5035919050565b805182525f6020820151608060208501526123886080850182611eff565b9050604083015184820360408601526123a18282611eff565b915050606083015184820360608601526120d38282611eff565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b8281101561241057603f198886030184526123fe85835161236a565b945092850192908501906001016123e2565b5092979650505050505050565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b8281101561241057603f19888603018452612460858351612070565b94509285019290850190600101612444565b5f805f8060408587031215612485575f80fd5b84356001600160401b038082111561249b575f80fd5b6124a788838901611f97565b909650945060208701359150808211156124bf575f80fd5b506124cc87828801611f97565b95989497509550505050565b602080825282518282018190525f9190848201906040850190845b818110156121eb57835151835292840192918401916001016124f3565b602081525f611f3c602083018461236a565b600181811c9082168061253657607f821691505b60208210810361255457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561257e575f80fd5b81356001600160801b0381168114611f3c575f80fd5b5f602082840312156125a4575f80fd5b81516001600160401b038111156125b9575f80fd5b8201601f810184136125c9575f80fd5b80516125d761231d826122b4565b8181528560208385010111156125eb575f80fd5b6120d3826020830160208601611edd565b81810381811115610b8257634e487b7160e01b5f52601160045260245ffd5b601f82111561265f57805f5260205f20601f840160051c810160208510156126405750805b601f840160051c820191505b8181101561181a575f815560010161264c565b505050565b6001600160401b0383111561267b5761267b612270565b61268f836126898354612522565b8361261b565b5f601f8411600181146126c0575f85156126a95750838201355b5f19600387901b1c1916600186901b17835561181a565b5f83815260208120601f198716915b828110156126ef57868501358255602094850194600190920191016126cf565b508682101561270b575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b818382375f9101908152919050565b81516001600160401b0381111561274557612745612270565b612759816127538454612522565b8461261b565b602080601f83116001811461278c575f84156127755750858301515b5f19600386901b1c1916600185901b1785556127e3565b5f85815260208120601f198616915b828110156127ba5788860151825594840194600190910190840161279b565b50858210156127d757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516127fc818460208701611edd565b9190910192915050565b634e487b7160e01b5f52603160045260245ffd5b5f6020828403121561282a575f80fd5b81518015158114611f3c575f80fdfea264697066735822122090609514c01730f9b6bb56485879b709dcc1984706fd1e114bcbdba52e3aa30a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "getFactoriesInRange(uint256,uint256)": "716ba5f6", + "getFactoryAtIndex(uint256)": "a587bbe1", + "getFactoryInfo(address)": "9b724ad4", + "getFactoryInfoWithMetadata(address)": "f32c9e34", + "getFactoryInfos(address[])": "ea350321", + "getFactoryInfosWithMetadata(address[])": "b73e3fab", + "getInstanceAtIndex(uint256)": "daac24da", + "getInstanceInfo(address)": "18bb3b54", + "getInstanceInfoWithMetadata(address)": "2ad19de8", + "getInstanceInfos(address[])": "4db6c0e0", + "getInstanceInfosWithMetadata(address[])": "d2f72d52", + "getInstancesInRange(uint256,uint256)": "bc30e7a1", + "getNumberOfFactories()": "f59d00b9", + "getNumberOfInstances()": "6e95d67c", + "initialize(string,address)": "7ab4339d", + "isInitialized()": "392e53cd", + "kind()": "04baa00b", + "name()": "06fdde03", + "setFactoryInfo(address[],uint128[])": "e967e388", + "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2", + "updateAdmin(address)": "e2f273bd", + "updateName(string)": "84da92a7", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveShort.ts b/packages/hyperdrive-artifacts/src/HyperdriveShort.ts new file mode 100644 index 000000000..d01a4971e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveShort.ts @@ -0,0 +1,657 @@ +export const HyperdriveShort = { + name: 'HyperdriveShort' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveStorage.ts b/packages/hyperdrive-artifacts/src/HyperdriveStorage.ts new file mode 100644 index 000000000..51dada392 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveStorage.ts @@ -0,0 +1,12 @@ +export const HyperdriveStorage = { + name: 'HyperdriveStorage' as const, + abi: [ + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveTarget0.ts b/packages/hyperdrive-artifacts/src/HyperdriveTarget0.ts new file mode 100644 index 000000000..a8d4b34ee --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveTarget0.ts @@ -0,0 +1,1807 @@ +export const HyperdriveTarget0 = { + name: 'HyperdriveTarget0' as const, + abi: [ + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveTarget1.ts b/packages/hyperdrive-artifacts/src/HyperdriveTarget1.ts new file mode 100644 index 000000000..c61858f54 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveTarget1.ts @@ -0,0 +1,827 @@ +export const HyperdriveTarget1 = { + name: 'HyperdriveTarget1' as const, + abi: [ + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveTarget2.ts b/packages/hyperdrive-artifacts/src/HyperdriveTarget2.ts new file mode 100644 index 000000000..56da3aa20 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveTarget2.ts @@ -0,0 +1,847 @@ +export const HyperdriveTarget2 = { + name: 'HyperdriveTarget2' as const, + abi: [ + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveTarget3.ts b/packages/hyperdrive-artifacts/src/HyperdriveTarget3.ts new file mode 100644 index 000000000..16bb0cb2e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveTarget3.ts @@ -0,0 +1,867 @@ +export const HyperdriveTarget3 = { + name: 'HyperdriveTarget3' as const, + abi: [ + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveTarget4.ts b/packages/hyperdrive-artifacts/src/HyperdriveTarget4.ts new file mode 100644 index 000000000..b8681077b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveTarget4.ts @@ -0,0 +1,846 @@ +export const HyperdriveTarget4 = { + name: 'HyperdriveTarget4' as const, + abi: [ + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/HyperdriveUtils.ts b/packages/hyperdrive-artifacts/src/HyperdriveUtils.ts new file mode 100644 index 000000000..369f5e674 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/HyperdriveUtils.ts @@ -0,0 +1,6 @@ +export const HyperdriveUtils = { + name: 'HyperdriveUtils' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220317a95d9702a7c5baacdc9bd0720fc8fa59b2c3bd6ca2145a819cafee039a0a464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IACLManager.ts b/packages/hyperdrive-artifacts/src/IACLManager.ts new file mode 100644 index 000000000..9464ba67c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IACLManager.ts @@ -0,0 +1,413 @@ +export const IACLManager = { + name: 'IACLManager' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ASSET_LISTING_ADMIN_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "EMERGENCY_ADMIN_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASH_BORROWER_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "POOL_ADMIN_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RISK_ADMIN_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addAssetListingAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addBridge", + "inputs": [ + { + "name": "bridge", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addEmergencyAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addFlashBorrower", + "inputs": [ + { + "name": "borrower", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addPoolAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addRiskAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isAssetListingAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isBridge", + "inputs": [ + { + "name": "bridge", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isEmergencyAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isFlashBorrower", + "inputs": [ + { + "name": "borrower", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPoolAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isRiskAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "removeAssetListingAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeBridge", + "inputs": [ + { + "name": "bridge", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeEmergencyAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeFlashBorrower", + "inputs": [ + { + "name": "borrower", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removePoolAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeRiskAdmin", + "inputs": [ + { + "name": "admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleAdmin", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "adminRole", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "ASSET_LISTING_ADMIN_ROLE()": "78bb0a43", + "BRIDGE_ROLE()": "b5bfddea", + "EMERGENCY_ADMIN_ROLE()": "6e76fc8f", + "FLASH_BORROWER_ROLE()": "5577b7a9", + "POOL_ADMIN_ROLE()": "b8f6dba7", + "RISK_ADMIN_ROLE()": "4f16b425", + "addAssetListingAdmin(address)": "9a2b96f7", + "addBridge(address)": "9712fdf8", + "addEmergencyAdmin(address)": "179efb09", + "addFlashBorrower(address)": "9ac9d80b", + "addPoolAdmin(address)": "22650caf", + "addRiskAdmin(address)": "5b9a94e4", + "isAssetListingAdmin(address)": "13ee32e0", + "isBridge(address)": "726600ce", + "isEmergencyAdmin(address)": "2500f2b6", + "isFlashBorrower(address)": "fa50f297", + "isPoolAdmin(address)": "7be53ca1", + "isRiskAdmin(address)": "674b5e4d", + "removeAssetListingAdmin(address)": "a21bce15", + "removeBridge(address)": "04df017d", + "removeEmergencyAdmin(address)": "7a9a93f4", + "removeFlashBorrower(address)": "253cf980", + "removePoolAdmin(address)": "f83695cb", + "removeRiskAdmin(address)": "3c5a08e5", + "setRoleAdmin(bytes32,bytes32)": "1e4e0091" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAL2Token.ts b/packages/hyperdrive-artifacts/src/IAL2Token.ts new file mode 100644 index 000000000..61a8a99ec --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAL2Token.ts @@ -0,0 +1,779 @@ +export const IAL2Token = { + name: 'IAL2Token' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "POOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IL2Pool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_TREASURY_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNDERLYING_ASSET_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "receiverOfUnderlying", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPreviousIndex", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getScaledUserBalanceAndSupply", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "handleRepayment", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "treasury", + "type": "address", + "internalType": "address" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "scaledBalanceOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "scaledTotalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOnLiquidation", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferUnderlyingTo", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BalanceTransfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "treasury", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "POOL()": "7535d246", + "RESERVE_TREASURY_ADDRESS()": "ae167335", + "UNDERLYING_ASSET_ADDRESS()": "b16a19de", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(address,address,uint256,uint256)": "d7020d0a", + "getPreviousIndex(address)": "e0753986", + "getScaledUserBalanceAndSupply(address)": "0afbcdc9", + "handleRepayment(address,address,uint256)": "6fd97676", + "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413", + "mint(address,address,uint256,uint256)": "b3f1c93d", + "mintToTreasury(uint256,uint256)": "7df5bd3b", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "rescueTokens(address,address,uint256)": "cea9d26f", + "scaledBalanceOf(address)": "1da24f3e", + "scaledTotalSupply()": "b1bf962d", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOnLiquidation(address,address,uint256)": "f866c319", + "transferUnderlyingTo(address,uint256)": "4efecaa5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAToken.ts b/packages/hyperdrive-artifacts/src/IAToken.ts new file mode 100644 index 000000000..f8e42038e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAToken.ts @@ -0,0 +1,765 @@ +export const IAToken = { + name: 'IAToken' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RESERVE_TREASURY_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UNDERLYING_ASSET_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "receiverOfUnderlying", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPreviousIndex", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getScaledUserBalanceAndSupply", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "handleRepayment", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "treasury", + "type": "address", + "internalType": "address" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "scaledBalanceOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "scaledTotalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOnLiquidation", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferUnderlyingTo", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BalanceTransfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "treasury", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "RESERVE_TREASURY_ADDRESS()": "ae167335", + "UNDERLYING_ASSET_ADDRESS()": "b16a19de", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(address,address,uint256,uint256)": "d7020d0a", + "getPreviousIndex(address)": "e0753986", + "getScaledUserBalanceAndSupply(address)": "0afbcdc9", + "handleRepayment(address,address,uint256)": "6fd97676", + "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413", + "mint(address,address,uint256,uint256)": "b3f1c93d", + "mintToTreasury(uint256,uint256)": "7df5bd3b", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "rescueTokens(address,address,uint256)": "cea9d26f", + "scaledBalanceOf(address)": "1da24f3e", + "scaledTotalSupply()": "b1bf962d", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOnLiquidation(address,address,uint256)": "f866c319", + "transferUnderlyingTo(address,uint256)": "4efecaa5" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveHyperdrive.ts b/packages/hyperdrive-artifacts/src/IAaveHyperdrive.ts new file mode 100644 index 000000000..660970906 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveHyperdrive.ts @@ -0,0 +1,2451 @@ +export const IAaveHyperdrive = { + name: 'IAaveHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IAaveHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..1a497ae18 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveHyperdriveDeployerCoordinator.ts @@ -0,0 +1,564 @@ +export const IAaveHyperdriveDeployerCoordinator = { + name: 'IAaveHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_vault", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_vault", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,address,uint256)": "ce34a8c3", + "convertToShares(address,address,uint256)": "0550e6e4", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveHyperdriveRead.ts b/packages/hyperdrive-artifacts/src/IAaveHyperdriveRead.ts new file mode 100644 index 000000000..53b692ce5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveHyperdriveRead.ts @@ -0,0 +1,756 @@ +export const IAaveHyperdriveRead = { + name: 'IAaveHyperdriveRead' as const, + abi: [ + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveIncentivesController.ts b/packages/hyperdrive-artifacts/src/IAaveIncentivesController.ts new file mode 100644 index 000000000..334233a76 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveIncentivesController.ts @@ -0,0 +1,32 @@ +export const IAaveIncentivesController = { + name: 'IAaveIncentivesController' as const, + abi: [ + { + "type": "function", + "name": "handleAction", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "totalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "userBalance", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "handleAction(address,uint256,uint256)": "31873e2e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveL2Hyperdrive.ts b/packages/hyperdrive-artifacts/src/IAaveL2Hyperdrive.ts new file mode 100644 index 000000000..c2fbccfa1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveL2Hyperdrive.ts @@ -0,0 +1,2451 @@ +export const IAaveL2Hyperdrive = { + name: 'IAaveL2Hyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IL2Pool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..bd72de442 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveDeployerCoordinator.ts @@ -0,0 +1,564 @@ +export const IAaveL2HyperdriveDeployerCoordinator = { + name: 'IAaveL2HyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_vault", + "type": "address", + "internalType": "contract IL2Pool" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_vault", + "type": "address", + "internalType": "contract IL2Pool" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,address,uint256)": "ce34a8c3", + "convertToShares(address,address,uint256)": "0550e6e4", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveRead.ts b/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveRead.ts new file mode 100644 index 000000000..9edc3b34c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAaveL2HyperdriveRead.ts @@ -0,0 +1,756 @@ +export const IAaveL2HyperdriveRead = { + name: 'IAaveL2HyperdriveRead' as const, + abi: [ + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IL2Pool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAccessControl.ts b/packages/hyperdrive-artifacts/src/IAccessControl.ts new file mode 100644 index 000000000..1774ff885 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAccessControl.ts @@ -0,0 +1,185 @@ +export const IAccessControl = { + name: 'IAccessControl' as const, + abi: [ + { + "type": "function", + "name": "getRoleAdmin", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "grantRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "hasRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renounceRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokeRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "RoleAdminChanged", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "previousAdminRole", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "newAdminRole", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleGranted", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleRevoked", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getRoleAdmin(bytes32)": "248a9ca3", + "grantRole(bytes32,address)": "2f2ff15d", + "hasRole(bytes32,address)": "91d14854", + "renounceRole(bytes32,address)": "36568abe", + "revokeRole(bytes32,address)": "d547741f" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IAerodromeLpHyperdrive.ts b/packages/hyperdrive-artifacts/src/IAerodromeLpHyperdrive.ts new file mode 100644 index 000000000..9835c76a7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IAerodromeLpHyperdrive.ts @@ -0,0 +1,2465 @@ +export const IAerodromeLpHyperdrive = { + name: 'IAerodromeLpHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "gauge", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReward", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "gauge()": "a6f19c84", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getReward()": "3d18b912", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IChainlinkAggregatorV3.ts b/packages/hyperdrive-artifacts/src/IChainlinkAggregatorV3.ts new file mode 100644 index 000000000..8f91eb31d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IChainlinkAggregatorV3.ts @@ -0,0 +1,138 @@ +export const IChainlinkAggregatorV3 = { + name: 'IChainlinkAggregatorV3' as const, + abi: [ + { + "type": "function", + "name": "aggregator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "description", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRoundData", + "inputs": [ + { + "name": "_roundId", + "type": "uint80", + "internalType": "uint80" + } + ], + "outputs": [ + { + "name": "roundId", + "type": "uint80", + "internalType": "uint80" + }, + { + "name": "answer", + "type": "int256", + "internalType": "int256" + }, + { + "name": "startedAt", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "updatedAt", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "answeredInRound", + "type": "uint80", + "internalType": "uint80" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "latestRoundData", + "inputs": [], + "outputs": [ + { + "name": "roundId", + "type": "uint80", + "internalType": "uint80" + }, + { + "name": "answer", + "type": "int256", + "internalType": "int256" + }, + { + "name": "startedAt", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "updatedAt", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "answeredInRound", + "type": "uint80", + "internalType": "uint80" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "aggregator()": "245a7bfc", + "decimals()": "313ce567", + "description()": "7284e416", + "getRoundData(uint80)": "9a6fc8f5", + "latestRoundData()": "feaf968c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IChainlinkHyperdrive.ts b/packages/hyperdrive-artifacts/src/IChainlinkHyperdrive.ts new file mode 100644 index 000000000..c31f8a8e8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IChainlinkHyperdrive.ts @@ -0,0 +1,2451 @@ +export const IChainlinkHyperdrive = { + name: 'IChainlinkHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "aggregator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IChainlinkAggregatorV3" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "aggregator()": "245a7bfc", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ICornHyperdrive.ts b/packages/hyperdrive-artifacts/src/ICornHyperdrive.ts new file mode 100644 index 000000000..f0ec3f6de --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ICornHyperdrive.ts @@ -0,0 +1,2451 @@ +export const ICornHyperdrive = { + name: 'ICornHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "cornSilo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ICornSilo" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "cornSilo()": "7d1849ab", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ICornSilo.ts b/packages/hyperdrive-artifacts/src/ICornSilo.ts new file mode 100644 index 000000000..a2f9f6e6d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ICornSilo.ts @@ -0,0 +1,730 @@ +export const ICornSilo = { + name: 'ICornSilo' as const, + abi: [ + { + "type": "function", + "name": "addApprovedToken", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "bridgeAllTokens", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "cost", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxGas", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "gasPriceBid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "bridgeToken", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "maxGas", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "gasPriceBid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "depositFor", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableBridge", + "inputs": [ + { + "name": "gatewayRouter", + "type": "address", + "internalType": "address" + }, + { + "name": "erc20Inbox", + "type": "address", + "internalType": "address" + }, + { + "name": "swapFacilityVault", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "from18DecimalsToAssetDecimals", + "inputs": [ + { + "name": "amountIn18Decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "fromAssetDecimalsTo18Decimals", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApprovedTokens", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getGatewayRouter", + "inputs": [], + "outputs": [ + { + "name": "gatewayRouter", + "type": "address", + "internalType": "contract IGatewayRouter" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mintAndDepositBitcorn", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintAndDepositBitcornFor", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "pause", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemAll", + "inputs": [], + "outputs": [ + { + "name": "approvedTokens", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "depositedAssets", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "bitcornShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minterAssetReturned", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemBitcorn", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemToken", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sharesOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "unpause", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BridgeEnabled", + "inputs": [ + { + "name": "gatewayRouter", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "swapFacilityVault", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TokenBridged", + "inputs": [ + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maxGas", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "gasPriceBid", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TokenDeposited", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TokenWithdrawn", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowOneSatoshiOfShares", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "oneSatoshiOfBitcornShares", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "BitcornMinterAssetMustNotBeApprovedToken", + "inputs": [ + { + "name": "bitcornMinterAsset", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BitcornMustNotBeApprovedToken", + "inputs": [ + { + "name": "bitcorn", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BridgeIsEnabled", + "inputs": [] + }, + { + "type": "error", + "name": "BridgeIsNotSet", + "inputs": [] + }, + { + "type": "error", + "name": "BridgeNotEnabled", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBitcornSharesToBridge", + "inputs": [ + { + "name": "cachedShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "requiredShares", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "InsufficientShares", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "cachedShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "SharesNotMultipleOfOneSatoshi", + "inputs": [ + { + "name": "bitcornShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "oneSatoshiOfBitcornShares", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "TokenAlreadyApproved", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TokenNotApproved", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "WithdrawalFeeAboveMax", + "inputs": [ + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ZeroDeposit", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ZeroShares", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ZeroSharesForAnyToken", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ZeroWithdraw", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addApprovedToken(address)": "cd10534b", + "bridgeAllTokens(address,uint256,uint256,uint256,bytes)": "3d169812", + "bridgeToken(address,address,uint256,uint256,bytes)": "b9d64e9f", + "deposit(address,uint256)": "47e7ef24", + "depositFor(address,address,uint256)": "b3db428b", + "enableBridge(address,address,address)": "15ec1f6f", + "from18DecimalsToAssetDecimals(uint256)": "789680f4", + "fromAssetDecimalsTo18Decimals(uint256)": "101ab12c", + "getApprovedTokens()": "6afc0c5f", + "getGatewayRouter()": "87f0cf2e", + "mintAndDepositBitcorn(uint256)": "ce75d53e", + "mintAndDepositBitcornFor(address,uint256)": "55ae9046", + "pause()": "8456cb59", + "redeemAll()": "2f4350c2", + "redeemBitcorn(uint256)": "bdafe351", + "redeemToken(address,uint256)": "830cbbbd", + "sharesOf(address,address)": "0a7292f5", + "totalShares(address)": "bf6b874e", + "unpause()": "3f4ba83a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ICreateX.ts b/packages/hyperdrive-artifacts/src/ICreateX.ts new file mode 100644 index 000000000..067d06e52 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ICreateX.ts @@ -0,0 +1,924 @@ +export const ICreateX = { + name: 'ICreateX' as const, + abi: [ + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate3Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate3Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployCreate", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2Clone", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2Clone", + "inputs": [ + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateAndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateAndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateClone", + "inputs": [ + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "ContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "salt", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Create3ProxyContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "salt", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "FailedContractCreation", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedContractInitialisation", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "FailedEtherTransfer", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "InvalidNonceValue", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "InvalidSalt", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "computeCreate2Address(bytes32,bytes32)": "890c283b", + "computeCreate2Address(bytes32,bytes32,address)": "d323826a", + "computeCreate3Address(bytes32)": "6cec2536", + "computeCreate3Address(bytes32,address)": "42d654fc", + "computeCreateAddress(address,uint256)": "74637a7a", + "computeCreateAddress(uint256)": "28ddd046", + "deployCreate(bytes)": "27fe1822", + "deployCreate2(bytes)": "26a32fc7", + "deployCreate2(bytes32,bytes)": "26307668", + "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b", + "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a", + "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4", + "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2", + "deployCreate2Clone(address,bytes)": "81503da1", + "deployCreate2Clone(bytes32,address,bytes)": "2852527a", + "deployCreate3(bytes)": "7f565360", + "deployCreate3(bytes32,bytes)": "9c36a286", + "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f", + "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba", + "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb", + "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb", + "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8", + "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077", + "deployCreateClone(address,bytes)": "f9664498" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IDepositQueue.ts b/packages/hyperdrive-artifacts/src/IDepositQueue.ts new file mode 100644 index 000000000..a914271e8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IDepositQueue.ts @@ -0,0 +1,36 @@ +export const IDepositQueue = { + name: 'IDepositQueue' as const, + abi: [ + { + "type": "function", + "name": "depositETHFromProtocol", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "totalEarned", + "inputs": [ + { + "name": "tokenAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "depositETHFromProtocol()": "d123ccd5", + "totalEarned(address)": "649aca4a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IDeterministicDeployer.ts b/packages/hyperdrive-artifacts/src/IDeterministicDeployer.ts new file mode 100644 index 000000000..b5a59fc73 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IDeterministicDeployer.ts @@ -0,0 +1,924 @@ +export const IDeterministicDeployer = { + name: 'IDeterministicDeployer' as const, + abi: [ + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate3Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate3Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "computedAddress", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployCreate", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2Clone", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate2Clone", + "inputs": [ + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreate3AndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateAndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateAndInit", + "inputs": [ + { + "name": "initCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "values", + "type": "tuple", + "internalType": "struct ICreateX.Values", + "components": [ + { + "name": "constructorAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initCallAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "refundAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "newContract", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployCreateClone", + "inputs": [ + { + "name": "implementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "proxy", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "ContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "salt", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Create3ProxyContractCreation", + "inputs": [ + { + "name": "newContract", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "salt", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "FailedContractCreation", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedContractInitialisation", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "FailedEtherTransfer", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "InvalidNonceValue", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "InvalidSalt", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "computeCreate2Address(bytes32,bytes32)": "890c283b", + "computeCreate2Address(bytes32,bytes32,address)": "d323826a", + "computeCreate3Address(bytes32)": "6cec2536", + "computeCreate3Address(bytes32,address)": "42d654fc", + "computeCreateAddress(address,uint256)": "74637a7a", + "computeCreateAddress(uint256)": "28ddd046", + "deployCreate(bytes)": "27fe1822", + "deployCreate2(bytes)": "26a32fc7", + "deployCreate2(bytes32,bytes)": "26307668", + "deployCreate2AndInit(bytes,bytes,(uint256,uint256))": "c3fe107b", + "deployCreate2AndInit(bytes,bytes,(uint256,uint256),address)": "e437252a", + "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256))": "e96deee4", + "deployCreate2AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "a7db93f2", + "deployCreate2Clone(address,bytes)": "81503da1", + "deployCreate2Clone(bytes32,address,bytes)": "2852527a", + "deployCreate3(bytes)": "7f565360", + "deployCreate3(bytes32,bytes)": "9c36a286", + "deployCreate3AndInit(bytes,bytes,(uint256,uint256))": "2f990e3f", + "deployCreate3AndInit(bytes,bytes,(uint256,uint256),address)": "f5745aba", + "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256))": "00d84acb", + "deployCreate3AndInit(bytes32,bytes,bytes,(uint256,uint256),address)": "ddda0acb", + "deployCreateAndInit(bytes,bytes,(uint256,uint256))": "31a7c8c8", + "deployCreateAndInit(bytes,bytes,(uint256,uint256),address)": "98e81077", + "deployCreateClone(address,bytes)": "f9664498" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEETH.ts b/packages/hyperdrive-artifacts/src/IEETH.ts new file mode 100644 index 000000000..7959dcfec --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEETH.ts @@ -0,0 +1,236 @@ +export const IEETH = { + name: 'IEETH' as const, + abi: [ + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burnShares", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + }, + { + "name": "_share", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_liquidityPool", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintShares", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + }, + { + "name": "_share", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "shares", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burnShares(address,uint256)": "ee7a7c04", + "decimals()": "313ce567", + "initialize(address)": "c4d66de8", + "mintShares(address,uint256)": "528c198a", + "name()": "06fdde03", + "shares(address)": "ce7c2ac2", + "symbol()": "95d89b41", + "totalShares()": "3a98ef39", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/IEETHHyperdrive.ts new file mode 100644 index 000000000..60c879e8e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEETHHyperdrive.ts @@ -0,0 +1,2451 @@ +export const IEETHHyperdrive = { + name: 'IEETHHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "liquidityPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "liquidityPool()": "665a11ca", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC1155Errors.ts b/packages/hyperdrive-artifacts/src/IERC1155Errors.ts new file mode 100644 index 000000000..7edf3f711 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC1155Errors.ts @@ -0,0 +1,109 @@ +export const IERC1155Errors = { + name: 'IERC1155Errors' as const, + abi: [ + { + "type": "error", + "name": "ERC1155InsufficientBalance", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC1155InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC1155InvalidArrayLength", + "inputs": [ + { + "name": "idsLength", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "valuesLength", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC1155InvalidOperator", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC1155InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC1155InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC1155MissingApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC165.ts b/packages/hyperdrive-artifacts/src/IERC165.ts new file mode 100644 index 000000000..bde0229c7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC165.ts @@ -0,0 +1,28 @@ +export const IERC165 = { + name: 'IERC165' as const, + abi: [ + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceID", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "supportsInterface(bytes4)": "01ffc9a7" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20.ts b/packages/hyperdrive-artifacts/src/IERC20.ts new file mode 100644 index 000000000..bb95b2a55 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20.ts @@ -0,0 +1,239 @@ +export const IERC20 = { + name: 'IERC20' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20Detailed.ts b/packages/hyperdrive-artifacts/src/IERC20Detailed.ts new file mode 100644 index 000000000..fda2d5437 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20Detailed.ts @@ -0,0 +1,239 @@ +export const IERC20Detailed = { + name: 'IERC20Detailed' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20Errors.ts b/packages/hyperdrive-artifacts/src/IERC20Errors.ts new file mode 100644 index 000000000..0db4786d8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20Errors.ts @@ -0,0 +1,93 @@ +export const IERC20Errors = { + name: 'IERC20Errors' as const, + abi: [ + { + "type": "error", + "name": "ERC20InsufficientAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "allowance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InsufficientBalance", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSpender", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20Forwarder.ts b/packages/hyperdrive-artifacts/src/IERC20Forwarder.ts new file mode 100644 index 000000000..ea13174ce --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20Forwarder.ts @@ -0,0 +1,402 @@ +export const IERC20Forwarder = { + name: 'IERC20Forwarder' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "token", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMultiToken" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenId", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "kind()": "04baa00b", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "symbol()": "95d89b41", + "token()": "fc0c546a", + "tokenId()": "17d70f7c", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20ForwarderFactory.ts b/packages/hyperdrive-artifacts/src/IERC20ForwarderFactory.ts new file mode 100644 index 000000000..6eb2d2847 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20ForwarderFactory.ts @@ -0,0 +1,138 @@ +export const IERC20ForwarderFactory = { + name: 'IERC20ForwarderFactory' as const, + abi: [ + { + "type": "function", + "name": "ERC20LINK_HASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "create", + "inputs": [ + { + "name": "_token", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20Forwarder" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getDeployDetails", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getForwarder", + "inputs": [ + { + "name": "_token", + "type": "address", + "internalType": "contract IMultiToken" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "InvalidForwarderAddress", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ERC20LINK_HASH()": "d13053bb", + "create(address,uint256)": "0ecaea73", + "getDeployDetails()": "600eb4ba", + "getForwarder(address,uint256)": "0710fd58", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20Metadata.ts b/packages/hyperdrive-artifacts/src/IERC20Metadata.ts new file mode 100644 index 000000000..4b60acad8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20Metadata.ts @@ -0,0 +1,239 @@ +export const IERC20Metadata = { + name: 'IERC20Metadata' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20Permit.ts b/packages/hyperdrive-artifacts/src/IERC20Permit.ts new file mode 100644 index 000000000..cb2d0905f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20Permit.ts @@ -0,0 +1,86 @@ +export const IERC20Permit = { + name: 'IERC20Permit' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC20WithPermit.ts b/packages/hyperdrive-artifacts/src/IERC20WithPermit.ts new file mode 100644 index 000000000..42b965ef3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC20WithPermit.ts @@ -0,0 +1,241 @@ +export const IERC20WithPermit = { + name: 'IERC20WithPermit' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC4626.ts b/packages/hyperdrive-artifacts/src/IERC4626.ts new file mode 100644 index 000000000..d7bf09b9f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC4626.ts @@ -0,0 +1,639 @@ +export const IERC4626 = { + name: 'IERC4626' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "maxDeposit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMint", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxRedeem", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxWithdraw", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewDeposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewMint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewRedeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewWithdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [], + "outputs": [ + { + "name": "totalAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "asset()": "38d52e0f", + "balanceOf(address)": "70a08231", + "convertToAssets(uint256)": "07a2d13a", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "deposit(uint256,address)": "6e553f65", + "maxDeposit(address)": "402d267d", + "maxMint(address)": "c63d75b6", + "maxRedeem(address)": "d905777e", + "maxWithdraw(address)": "ce96cb77", + "mint(uint256,address)": "94bf804d", + "name()": "06fdde03", + "previewDeposit(uint256)": "ef8b30f7", + "previewMint(uint256)": "b3d7f6b9", + "previewRedeem(uint256)": "4cdad506", + "previewWithdraw(uint256)": "0a28a477", + "redeem(uint256,address,address)": "ba087652", + "symbol()": "95d89b41", + "totalAssets()": "01e1d114", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "withdraw(uint256,address,address)": "b460af94" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC4626HyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IERC4626HyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..ee21a009b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC4626HyperdriveDeployerCoordinator.ts @@ -0,0 +1,554 @@ +export const IERC4626HyperdriveDeployerCoordinator = { + name: 'IERC4626HyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC721.ts b/packages/hyperdrive-artifacts/src/IERC721.ts new file mode 100644 index 000000000..9f833e3da --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC721.ts @@ -0,0 +1,303 @@ +export const IERC721 = { + name: 'IERC721' as const, + abi: [ + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_approved", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "_operator", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceID", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "_from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC721Enumerable.ts b/packages/hyperdrive-artifacts/src/IERC721Enumerable.ts new file mode 100644 index 000000000..3a9d30b48 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC721Enumerable.ts @@ -0,0 +1,362 @@ +export const IERC721Enumerable = { + name: 'IERC721Enumerable' as const, + abi: [ + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_approved", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "_operator", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceID", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenByIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenOfOwnerByIndex", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "_from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "tokenByIndex(uint256)": "4f6ccce7", + "tokenOfOwnerByIndex(address,uint256)": "2f745c59", + "totalSupply()": "18160ddd", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC721Errors.ts b/packages/hyperdrive-artifacts/src/IERC721Errors.ts new file mode 100644 index 000000000..b53b3494d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC721Errors.ts @@ -0,0 +1,110 @@ +export const IERC721Errors = { + name: 'IERC721Errors' as const, + abi: [ + { + "type": "error", + "name": "ERC721IncorrectOwner", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721InsufficientApproval", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC721InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721InvalidOperator", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721InvalidOwner", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC721NonexistentToken", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC721Metadata.ts b/packages/hyperdrive-artifacts/src/IERC721Metadata.ts new file mode 100644 index 000000000..066fe7dd1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC721Metadata.ts @@ -0,0 +1,351 @@ +export const IERC721Metadata = { + name: 'IERC721Metadata' as const, + abi: [ + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_approved", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "_operator", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceID", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "_symbol", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenURI", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "_from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "name()": "06fdde03", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IERC721TokenReceiver.ts b/packages/hyperdrive-artifacts/src/IERC721TokenReceiver.ts new file mode 100644 index 000000000..50714757c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IERC721TokenReceiver.ts @@ -0,0 +1,43 @@ +export const IERC721TokenReceiver = { + name: 'IERC721TokenReceiver' as const, + abi: [ + { + "type": "function", + "name": "onERC721Received", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "onERC721Received(address,address,uint256,bytes)": "150b7a02" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEzETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/IEzETHHyperdrive.ts new file mode 100644 index 000000000..df83bea9d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEzETHHyperdrive.ts @@ -0,0 +1,2465 @@ +export const IEzETHHyperdrive = { + name: 'IEzETHHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "renzo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRenzoOracle" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "renzo()": "6a1a3f3d", + "renzoOracle()": "892866a4", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEzETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IEzETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..8dd98ca79 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEzETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,574 @@ +export const IEzETHHyperdriveDeployerCoordinator = { + name: 'IEzETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_renzoOracle", + "type": "address", + "internalType": "contract IRenzoOracle" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + }, + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_renzoOracle", + "type": "address", + "internalType": "contract IRenzoOracle" + }, + { + "name": "_restakeManager", + "type": "address", + "internalType": "contract IRestakeManager" + }, + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,address,address,uint256)": "5111bea2", + "convertToShares(address,address,address,uint256)": "079554e7", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEzETHHyperdriveRead.ts b/packages/hyperdrive-artifacts/src/IEzETHHyperdriveRead.ts new file mode 100644 index 000000000..49371d855 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEzETHHyperdriveRead.ts @@ -0,0 +1,770 @@ +export const IEzETHHyperdriveRead = { + name: 'IEzETHHyperdriveRead' as const, + abi: [ + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRestakeManager" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRenzoOracle" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "renzo()": "6a1a3f3d", + "renzoOracle()": "892866a4", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IEzETHLineaHyperdrive.ts b/packages/hyperdrive-artifacts/src/IEzETHLineaHyperdrive.ts new file mode 100644 index 000000000..102b39fca --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IEzETHLineaHyperdrive.ts @@ -0,0 +1,2451 @@ +export const IEzETHLineaHyperdrive = { + name: 'IEzETHLineaHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "xRenzoDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IXRenzoDeposit" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50", + "xRenzoDeposit()": "12ae5e67" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IFiatTokenProxy.ts b/packages/hyperdrive-artifacts/src/IFiatTokenProxy.ts new file mode 100644 index 000000000..04c237b5e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IFiatTokenProxy.ts @@ -0,0 +1,22 @@ +export const IFiatTokenProxy = { + name: 'IFiatTokenProxy' as const, + abi: [ + { + "type": "function", + "name": "implementation", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "implementation()": "5c60da1b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IFlashLoanReceiver.ts b/packages/hyperdrive-artifacts/src/IFlashLoanReceiver.ts new file mode 100644 index 000000000..18ec72442 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IFlashLoanReceiver.ts @@ -0,0 +1,76 @@ +export const IFlashLoanReceiver = { + name: 'IFlashLoanReceiver' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "POOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "executeOperation", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "premiums", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "initiator", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "POOL()": "7535d246", + "executeOperation(address[],uint256[],uint256[],address,bytes)": "920f5c84" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IFlashLoanSimpleReceiver.ts b/packages/hyperdrive-artifacts/src/IFlashLoanSimpleReceiver.ts new file mode 100644 index 000000000..15dbd66c5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IFlashLoanSimpleReceiver.ts @@ -0,0 +1,76 @@ +export const IFlashLoanSimpleReceiver = { + name: 'IFlashLoanSimpleReceiver' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "POOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "executeOperation", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "premium", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initiator", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "POOL()": "7535d246", + "executeOperation(address,uint256,uint256,address,bytes)": "1b11d0ff" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IGatewayRouter.ts b/packages/hyperdrive-artifacts/src/IGatewayRouter.ts new file mode 100644 index 000000000..28591a193 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IGatewayRouter.ts @@ -0,0 +1,78 @@ +export const IGatewayRouter = { + name: 'IGatewayRouter' as const, + abi: [ + { + "type": "function", + "name": "getGateway", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "outboundTransferCustomRefund", + "inputs": [ + { + "name": "_l1Token", + "type": "address", + "internalType": "address" + }, + { + "name": "_refundTo", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxGas", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_gasPriceBid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "payable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getGateway(address)": "bda009fe", + "outboundTransferCustomRefund(address,address,address,uint256,uint256,uint256,bytes)": "4fb1a07b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IGauge.ts b/packages/hyperdrive-artifacts/src/IGauge.ts new file mode 100644 index 000000000..aad3610d8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IGauge.ts @@ -0,0 +1,563 @@ +export const IGauge = { + name: 'IGauge' as const, + abi: [ + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "earned", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "_earned", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "fees0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "fees1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feesVotingReward", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReward", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lastTimeRewardApplicable", + "inputs": [], + "outputs": [ + { + "name": "_time", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lastUpdateTime", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "left", + "inputs": [], + "outputs": [ + { + "name": "_left", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "notifyRewardAmount", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "notifyRewardWithoutClaim", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "periodFinish", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardPerToken", + "inputs": [], + "outputs": [ + { + "name": "_rewardPerToken", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardPerTokenStored", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardRateByEpoch", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewards", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "stakingToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "userRewardPerTokenPaid", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ve", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "voter", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "ClaimFees", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "claimed0", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "claimed1", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ClaimRewards", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NotifyReward", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "NotAlive", + "inputs": [] + }, + { + "type": "error", + "name": "NotAuthorized", + "inputs": [] + }, + { + "type": "error", + "name": "NotTeam", + "inputs": [] + }, + { + "type": "error", + "name": "NotVoter", + "inputs": [] + }, + { + "type": "error", + "name": "RewardRateTooHigh", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAmount", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroRewardRate", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "balanceOf(address)": "70a08231", + "deposit(uint256)": "b6b55f25", + "deposit(uint256,address)": "6e553f65", + "earned(address)": "008cc262", + "fees0()": "93f1c442", + "fees1()": "4c02a21c", + "feesVotingReward()": "0fe2f711", + "getReward(address)": "c00007b0", + "isPool()": "e2e1c6db", + "lastTimeRewardApplicable()": "80faa57d", + "lastUpdateTime()": "c8f33c91", + "left()": "16e64048", + "notifyRewardAmount(uint256)": "3c6b16ab", + "notifyRewardWithoutClaim(uint256)": "dcdc18dc", + "periodFinish()": "ebe2b12b", + "rewardPerToken()": "cd3daf9d", + "rewardPerTokenStored()": "df136d65", + "rewardRate()": "7b0a47ee", + "rewardRateByEpoch(uint256)": "94af5b63", + "rewardToken()": "f7c618c1", + "rewards(address)": "0700037d", + "stakingToken()": "72f702f3", + "totalSupply()": "18160ddd", + "userRewardPerTokenPaid(address)": "8b876347", + "ve()": "1f850716", + "voter()": "46c96aac", + "withdraw(uint256)": "2e1a7d4d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdrive.ts b/packages/hyperdrive-artifacts/src/IHyperdrive.ts new file mode 100644 index 000000000..ca461acea --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdrive.ts @@ -0,0 +1,2437 @@ +export const IHyperdrive = { + name: 'IHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveAdminController.ts b/packages/hyperdrive-artifacts/src/IHyperdriveAdminController.ts new file mode 100644 index 000000000..78156d4e2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveAdminController.ts @@ -0,0 +1,78 @@ +export const IHyperdriveAdminController = { + name: 'IHyperdriveAdminController' as const, + abi: [ + { + "type": "function", + "name": "checkpointRewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "defaultPausers", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hyperdriveGovernance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sweepCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "checkpointRewarder()": "f2596458", + "defaultPausers()": "a64c90bf", + "feeCollector()": "c415b95c", + "hyperdriveGovernance()": "e3331555", + "sweepCollector()": "10780f73" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointRewarder.ts b/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointRewarder.ts new file mode 100644 index 000000000..69e5ad362 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointRewarder.ts @@ -0,0 +1,204 @@ +export const IHyperdriveCheckpointRewarder = { + name: 'IHyperdriveCheckpointRewarder' as const, + abi: [ + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "claimCheckpointReward", + "inputs": [ + { + "name": "_claimant", + "type": "address", + "internalType": "address" + }, + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isTrader", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "subrewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSubrewarder", + "inputs": [ + { + "name": "_subrewarder", + "type": "address", + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CheckpointRewardClaimed", + "inputs": [ + { + "name": "instance", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "claimant", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "isTrader", + "type": "bool", + "indexed": true, + "internalType": "bool" + }, + { + "name": "checkpointTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "rewardToken", + "type": "address", + "indexed": false, + "internalType": "contract IERC20" + }, + { + "name": "rewardAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SubrewarderUpdated", + "inputs": [ + { + "name": "subrewarder", + "type": "address", + "indexed": true, + "internalType": "contract IHyperdriveCheckpointSubrewarder" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "claimCheckpointReward(address,uint256,bool)": "69114d4e", + "kind()": "04baa00b", + "name()": "06fdde03", + "subrewarder()": "3d7f7b24", + "updateAdmin(address)": "e2f273bd", + "updateSubrewarder(address)": "9b06ae49", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointSubrewarder.ts b/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointSubrewarder.ts new file mode 100644 index 000000000..780391a6b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveCheckpointSubrewarder.ts @@ -0,0 +1,355 @@ +export const IHyperdriveCheckpointSubrewarder = { + name: 'IHyperdriveCheckpointSubrewarder' as const, + abi: [ + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "minterRewardAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "processReward", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + }, + { + "name": "_claimant", + "type": "address", + "internalType": "address" + }, + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isTrader", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "registry", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdriveRegistry" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewardToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "source", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "traderRewardAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinterRewardAmount", + "inputs": [ + { + "name": "_minterRewardAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateRegistry", + "inputs": [ + { + "name": "_registry", + "type": "address", + "internalType": "contract IHyperdriveRegistry" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateRewardToken", + "inputs": [ + { + "name": "_rewardToken", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSource", + "inputs": [ + { + "name": "_source", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateTraderRewardAmount", + "inputs": [ + { + "name": "_traderRewardAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinterRewardAmountUpdated", + "inputs": [ + { + "name": "minterRewardAmount", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RegistryUpdated", + "inputs": [ + { + "name": "registry", + "type": "address", + "indexed": true, + "internalType": "contract IHyperdriveRegistry" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RewardTokenUpdated", + "inputs": [ + { + "name": "rewardToken", + "type": "address", + "indexed": true, + "internalType": "contract IERC20" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SourceUpdated", + "inputs": [ + { + "name": "source", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TraderRewardAmountUpdated", + "inputs": [ + { + "name": "traderRewardAmount", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "kind()": "04baa00b", + "minterRewardAmount()": "62498576", + "name()": "06fdde03", + "processReward(address,address,uint256,bool)": "e9f46041", + "registry()": "7b103999", + "rewardToken()": "f7c618c1", + "rewarder()": "dcc3e06e", + "source()": "67e828bf", + "traderRewardAmount()": "5b338e07", + "updateAdmin(address)": "e2f273bd", + "updateMinterRewardAmount(uint256)": "2057b1c7", + "updateRegistry(address)": "1a5da6c8", + "updateRewardToken(address)": "f8cf31cb", + "updateSource(address)": "f24bab65", + "updateTraderRewardAmount(uint256)": "9183219f", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveCore.ts b/packages/hyperdrive-artifacts/src/IHyperdriveCore.ts new file mode 100644 index 000000000..879057c51 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveCore.ts @@ -0,0 +1,759 @@ +export const IHyperdriveCore = { + name: 'IHyperdriveCore' as const, + abi: [ + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/IHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..391c112c1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const IHyperdriveCoreDeployer = { + name: 'IHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..52077de06 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveDeployerCoordinator.ts @@ -0,0 +1,504 @@ +export const IHyperdriveDeployerCoordinator = { + name: 'IHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveEvents.ts b/packages/hyperdrive-artifacts/src/IHyperdriveEvents.ts new file mode 100644 index 000000000..ad43885d7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveEvents.ts @@ -0,0 +1,652 @@ +export const IHyperdriveEvents = { + name: 'IHyperdriveEvents' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveFactory.ts b/packages/hyperdrive-artifacts/src/IHyperdriveFactory.ts new file mode 100644 index 000000000..83bfac811 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveFactory.ts @@ -0,0 +1,1937 @@ +export const IHyperdriveFactory = { + name: 'IHyperdriveFactory' as const, + abi: [ + { + "type": "function", + "name": "addDeployerCoordinator", + "inputs": [ + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpointDurationResolution", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "checkpointRewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "defaultPausers", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployAndInitialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IHyperdrive" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployerCoordinatorManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorByInstances", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "coordinators", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployerCoordinatorsInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "range", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstancesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "range", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfDeployerCoordinators", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfInstances", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "governance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hyperdriveGovernance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isDeployerCoordinator", + "inputs": [ + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isInstance", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "linkerCodeHash", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "linkerFactory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxCheckpointDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxCircuitBreakerDelta", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFixedAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxPositionDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxTimeStretchAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minCheckpointDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minCircuitBreakerDelta", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minFixedAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minPositionDuration", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "minTimeStretchAPR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "removeDeployerCoordinator", + "inputs": [ + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweepCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateCheckpointDurationResolution", + "inputs": [ + { + "name": "_checkpointDurationResolution", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateCheckpointRewarder", + "inputs": [ + { + "name": "_checkpointRewarder", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateDefaultPausers", + "inputs": [ + { + "name": "_defaultPausers_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateDeployerCoordinatorManager", + "inputs": [ + { + "name": "_deployerCoordinatorManager", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFeeCollector", + "inputs": [ + { + "name": "_feeCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateGovernance", + "inputs": [ + { + "name": "_governance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateHyperdriveGovernance", + "inputs": [ + { + "name": "_hyperdriveGovernance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLinkerCodeHash", + "inputs": [ + { + "name": "_linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLinkerFactory", + "inputs": [ + { + "name": "_linkerFactory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxCheckpointDuration", + "inputs": [ + { + "name": "_maxCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxCircuitBreakerDelta", + "inputs": [ + { + "name": "_maxCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxFees", + "inputs": [ + { + "name": "__maxFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxFixedAPR", + "inputs": [ + { + "name": "_maxFixedAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxPositionDuration", + "inputs": [ + { + "name": "_maxPositionDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMaxTimeStretchAPR", + "inputs": [ + { + "name": "_maxTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinCheckpointDuration", + "inputs": [ + { + "name": "_minCheckpointDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinCircuitBreakerDelta", + "inputs": [ + { + "name": "_minCircuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinFees", + "inputs": [ + { + "name": "__minFees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinFixedAPR", + "inputs": [ + { + "name": "_minFixedAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinPositionDuration", + "inputs": [ + { + "name": "_minPositionDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateMinTimeStretchAPR", + "inputs": [ + { + "name": "_minTimeStretchAPR", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSweepCollector", + "inputs": [ + { + "name": "_sweepCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "CheckpointDurationResolutionUpdated", + "inputs": [ + { + "name": "newCheckpointDurationResolution", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CheckpointRewarderUpdated", + "inputs": [ + { + "name": "newCheckpointRewarder", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DefaultPausersUpdated", + "inputs": [ + { + "name": "newDefaultPausers", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deployed", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "hyperdrive", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "config", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorAdded", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorManagerUpdated", + "inputs": [ + { + "name": "deployerCoordinatorManager", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DeployerCoordinatorRemoved", + "inputs": [ + { + "name": "deployerCoordinator", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FeeCollectorUpdated", + "inputs": [ + { + "name": "newFeeCollector", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "GovernanceUpdated", + "inputs": [ + { + "name": "governance", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "HyperdriveGovernanceUpdated", + "inputs": [ + { + "name": "hyperdriveGovernance", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LinkerCodeHashUpdated", + "inputs": [ + { + "name": "newLinkerCodeHash", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LinkerFactoryUpdated", + "inputs": [ + { + "name": "newLinkerFactory", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxCheckpointDurationUpdated", + "inputs": [ + { + "name": "newMaxCheckpointDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxCircuitBreakerDeltaUpdated", + "inputs": [ + { + "name": "newMaxCircuitBreakerDelta", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxFeesUpdated", + "inputs": [ + { + "name": "newMaxFees", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxFixedAPRUpdated", + "inputs": [ + { + "name": "newMaxFixedAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxPositionDurationUpdated", + "inputs": [ + { + "name": "newMaxPositionDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MaxTimeStretchAPRUpdated", + "inputs": [ + { + "name": "newMaxTimeStretchAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinCheckpointDurationUpdated", + "inputs": [ + { + "name": "newMinCheckpointDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinCircuitBreakerDeltaUpdated", + "inputs": [ + { + "name": "newMinCircuitBreakerDelta", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinFeesUpdated", + "inputs": [ + { + "name": "newMinFees", + "type": "tuple", + "indexed": false, + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinFixedAPRUpdated", + "inputs": [ + { + "name": "newMinFixedAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinPositionDurationUpdated", + "inputs": [ + { + "name": "newMinPositionDuration", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MinTimeStretchAPRUpdated", + "inputs": [ + { + "name": "newMinTimeStretchAPR", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SweepCollectorUpdated", + "inputs": [ + { + "name": "newSweepCollector", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DeployerCoordinatorAlreadyAdded", + "inputs": [] + }, + { + "type": "error", + "name": "DeployerCoordinatorIndexMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "DeployerCoordinatorNotAdded", + "inputs": [] + }, + { + "type": "error", + "name": "EndIndexTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDurationResolution", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDeployConfig", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDeployerCoordinator", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndexes", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinCircuitBreakerDelta", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinFees", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinFixedAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimeStretchAPR", + "inputs": [] + }, + { + "type": "error", + "name": "ReceiveLocked", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addDeployerCoordinator(address)": "421caba8", + "checkpointDurationResolution()": "d0f96b92", + "checkpointRewarder()": "f2596458", + "defaultPausers()": "a64c90bf", + "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "2e7cd971", + "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "49f13de7", + "deployerCoordinatorManager()": "e4e7148f", + "feeCollector()": "c415b95c", + "getDeployerCoordinatorAtIndex(uint256)": "fe3d5aeb", + "getDeployerCoordinatorByInstances(address[])": "1b59be0c", + "getDeployerCoordinatorsInRange(uint256,uint256)": "ec895f11", + "getInstanceAtIndex(uint256)": "daac24da", + "getInstancesInRange(uint256,uint256)": "bc30e7a1", + "getNumberOfDeployerCoordinators()": "e1b39c80", + "getNumberOfInstances()": "6e95d67c", + "governance()": "5aa6e675", + "hyperdriveGovernance()": "e3331555", + "isDeployerCoordinator(address)": "f8c09e59", + "isInstance(address)": "6b44e6be", + "kind()": "04baa00b", + "linkerCodeHash()": "c905a4b5", + "linkerFactory()": "99623bb1", + "maxCheckpointDuration()": "e0e2daaa", + "maxCircuitBreakerDelta()": "4554f9a9", + "maxFees()": "e83e34b1", + "maxFixedAPR()": "bf9bd5cd", + "maxPositionDuration()": "8efc0986", + "maxTimeStretchAPR()": "48800760", + "minCheckpointDuration()": "5720c9d5", + "minCircuitBreakerDelta()": "1ecda0fe", + "minFees()": "c1722563", + "minFixedAPR()": "d23d7ea3", + "minPositionDuration()": "daf012e6", + "minTimeStretchAPR()": "d6f50169", + "name()": "06fdde03", + "removeDeployerCoordinator(address,uint256)": "411c3035", + "sweepCollector()": "10780f73", + "updateCheckpointDurationResolution(uint256)": "11e77bfe", + "updateCheckpointRewarder(address)": "3e2d2014", + "updateDefaultPausers(address[])": "9af25262", + "updateDeployerCoordinatorManager(address)": "a98a46db", + "updateFeeCollector(address)": "d2c35ce8", + "updateGovernance(address)": "b2561263", + "updateHyperdriveGovernance(address)": "dd2b8fbb", + "updateLinkerCodeHash(bytes32)": "4fbfee77", + "updateLinkerFactory(address)": "85229785", + "updateMaxCheckpointDuration(uint256)": "6f6d5c4a", + "updateMaxCircuitBreakerDelta(uint256)": "84c19aab", + "updateMaxFees((uint256,uint256,uint256,uint256))": "2885e3ac", + "updateMaxFixedAPR(uint256)": "97b0e8ce", + "updateMaxPositionDuration(uint256)": "eb71f66c", + "updateMaxTimeStretchAPR(uint256)": "628027a3", + "updateMinCheckpointDuration(uint256)": "8e127cf5", + "updateMinCircuitBreakerDelta(uint256)": "2907d3dd", + "updateMinFees((uint256,uint256,uint256,uint256))": "10d1dc3e", + "updateMinFixedAPR(uint256)": "1978ebcf", + "updateMinPositionDuration(uint256)": "e71f34b3", + "updateMinTimeStretchAPR(uint256)": "83b361e8", + "updateSweepCollector(address)": "8627a4f0", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistry.ts b/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistry.ts new file mode 100644 index 000000000..027685681 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistry.ts @@ -0,0 +1,701 @@ +export const IHyperdriveGovernedRegistry = { + name: 'IHyperdriveGovernedRegistry' as const, + abi: [ + { + "type": "function", + "name": "admin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoriesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfo", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfoWithMetadata", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfos", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfosWithMetadata", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfo", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfoWithMetadata", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfos", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfosWithMetadata", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstancesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfFactories", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfInstances", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isInitialized", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setFactoryInfo", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "_data", + "type": "uint128[]", + "internalType": "uint128[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setInstanceInfo", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "_data", + "type": "uint128[]", + "internalType": "uint128[]" + }, + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateAdmin", + "inputs": [ + { + "name": "_admin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateName", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FactoryInfoUpdated", + "inputs": [ + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + }, + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "InstanceInfoUpdated", + "inputs": [ + { + "name": "instance", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NameUpdated", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "EndIndexTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "InputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFactory", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndexes", + "inputs": [] + }, + { + "type": "error", + "name": "RegistryAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "admin()": "f851a440", + "getFactoriesInRange(uint256,uint256)": "716ba5f6", + "getFactoryAtIndex(uint256)": "a587bbe1", + "getFactoryInfo(address)": "9b724ad4", + "getFactoryInfoWithMetadata(address)": "f32c9e34", + "getFactoryInfos(address[])": "ea350321", + "getFactoryInfosWithMetadata(address[])": "b73e3fab", + "getInstanceAtIndex(uint256)": "daac24da", + "getInstanceInfo(address)": "18bb3b54", + "getInstanceInfoWithMetadata(address)": "2ad19de8", + "getInstanceInfos(address[])": "4db6c0e0", + "getInstanceInfosWithMetadata(address[])": "d2f72d52", + "getInstancesInRange(uint256,uint256)": "bc30e7a1", + "getNumberOfFactories()": "f59d00b9", + "getNumberOfInstances()": "6e95d67c", + "initialize(string,address)": "7ab4339d", + "isInitialized()": "392e53cd", + "kind()": "04baa00b", + "name()": "06fdde03", + "setFactoryInfo(address[],uint128[])": "e967e388", + "setInstanceInfo(address[],uint128[],address[])": "1ff30ad2", + "updateAdmin(address)": "e2f273bd", + "updateName(string)": "84da92a7", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistryEvents.ts b/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistryEvents.ts new file mode 100644 index 000000000..df817896d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveGovernedRegistryEvents.ts @@ -0,0 +1,96 @@ +export const IHyperdriveGovernedRegistryEvents = { + name: 'IHyperdriveGovernedRegistryEvents' as const, + abi: [ + { + "type": "event", + "name": "AdminUpdated", + "inputs": [ + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FactoryInfoUpdated", + "inputs": [ + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + }, + { + "name": "admin", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "InstanceInfoUpdated", + "inputs": [ + { + "name": "instance", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "data", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NameUpdated", + "inputs": [ + { + "name": "name", + "type": "string", + "indexed": true, + "internalType": "string" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveRead.ts b/packages/hyperdrive-artifacts/src/IHyperdriveRead.ts new file mode 100644 index 000000000..7430928c7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveRead.ts @@ -0,0 +1,742 @@ +export const IHyperdriveRead = { + name: 'IHyperdriveRead' as const, + abi: [ + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveRegistry.ts b/packages/hyperdrive-artifacts/src/IHyperdriveRegistry.ts new file mode 100644 index 000000000..d094d8d38 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveRegistry.ts @@ -0,0 +1,464 @@ +export const IHyperdriveRegistry = { + name: 'IHyperdriveRegistry' as const, + abi: [ + { + "type": "function", + "name": "getFactoriesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfo", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfoWithMetadata", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfos", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFactoryInfosWithMetadata", + "inputs": [ + { + "name": "__factories", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.FactoryInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceAtIndex", + "inputs": [ + { + "name": "_index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfo", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfo", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfoWithMetadata", + "inputs": [ + { + "name": "_instance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfos", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfo[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstanceInfosWithMetadata", + "inputs": [ + { + "name": "__instances", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IHyperdriveRegistry.InstanceInfoWithMetadata[]", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "factory", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "kind", + "type": "string", + "internalType": "string" + }, + { + "name": "version", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInstancesInRange", + "inputs": [ + { + "name": "_startIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_endIndex", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfFactories", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfInstances", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getFactoriesInRange(uint256,uint256)": "716ba5f6", + "getFactoryAtIndex(uint256)": "a587bbe1", + "getFactoryInfo(address)": "9b724ad4", + "getFactoryInfoWithMetadata(address)": "f32c9e34", + "getFactoryInfos(address[])": "ea350321", + "getFactoryInfosWithMetadata(address[])": "b73e3fab", + "getInstanceAtIndex(uint256)": "daac24da", + "getInstanceInfo(address)": "18bb3b54", + "getInstanceInfoWithMetadata(address)": "2ad19de8", + "getInstanceInfos(address[])": "4db6c0e0", + "getInstanceInfosWithMetadata(address[])": "d2f72d52", + "getInstancesInRange(uint256,uint256)": "bc30e7a1", + "getNumberOfFactories()": "f59d00b9", + "getNumberOfInstances()": "6e95d67c", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IHyperdriveTargetDeployer.ts b/packages/hyperdrive-artifacts/src/IHyperdriveTargetDeployer.ts new file mode 100644 index 000000000..f62241525 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IHyperdriveTargetDeployer.ts @@ -0,0 +1,147 @@ +export const IHyperdriveTargetDeployer = { + name: 'IHyperdriveTargetDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IInitializableAToken.ts b/packages/hyperdrive-artifacts/src/IInitializableAToken.ts new file mode 100644 index 000000000..ab607ca8c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IInitializableAToken.ts @@ -0,0 +1,112 @@ +export const IInitializableAToken = { + name: 'IInitializableAToken' as const, + abi: [ + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "treasury", + "type": "address", + "internalType": "address" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "treasury", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "aTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "aTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "aTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "initialize(address,address,address,address,uint8,string,string,bytes)": "183fb413" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IInitializableDebtToken.ts b/packages/hyperdrive-artifacts/src/IInitializableDebtToken.ts new file mode 100644 index 000000000..eb29c3594 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IInitializableDebtToken.ts @@ -0,0 +1,101 @@ +export const IInitializableDebtToken = { + name: 'IInitializableDebtToken' as const, + abi: [ + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IIrm.ts b/packages/hyperdrive-artifacts/src/IIrm.ts new file mode 100644 index 000000000..cd85bb83e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IIrm.ts @@ -0,0 +1,176 @@ +export const IIrm = { + name: 'IIrm' as const, + abi: [ + { + "type": "function", + "name": "borrowRate", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "market", + "type": "tuple", + "internalType": "struct Market", + "components": [ + { + "name": "totalSupplyAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalSupplyShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "fee", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrowRateView", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "market", + "type": "tuple", + "internalType": "struct Market", + "components": [ + { + "name": "totalSupplyAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalSupplyShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "fee", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "borrowRate((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "9451fed4", + "borrowRateView((address,address,address,address,uint256),(uint128,uint128,uint128,uint128,uint128,uint128))": "8c00bf6b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IL2Pool.ts b/packages/hyperdrive-artifacts/src/IL2Pool.ts new file mode 100644 index 000000000..666b492ad --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IL2Pool.ts @@ -0,0 +1,2269 @@ +export const IL2Pool = { + name: 'IL2Pool' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TOTAL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_NUMBER_RESERVES", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "backUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "configureEModeCategory", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "config", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeTransfer", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceFromBefore", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceToBefore", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRateModes", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoanSimple", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBridgeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeCategoryData", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getFlashLoanLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPoolLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getReserveAddressById", + "inputs": [ + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveData", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveDataLegacy", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveDataExtended", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveData", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationGracePeriodUntil", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "virtualUnderlyingBalance", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedIncome", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedVariableDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesCount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getUserAccountData", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "totalCollateralBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalDebtBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "availableBorrowsBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "currentLiquidationThreshold", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "healthFactor", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserConfiguration", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.UserConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserEMode", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVirtualUnderlyingBalance", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiveAToken", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "args1", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "args2", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resetIsolationModeTotalDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "until", + "type": "uint40", + "internalType": "uint40" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserveInterestRateStrategyAddress", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "rateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserEMode", + "inputs": [ + { + "name": "categoryId", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "useAsCollateral", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapToVariable", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncIndexesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncRatesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateBridgeProtocolFee", + "inputs": [ + { + "name": "bridgeProtocolFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFlashloanPremiums", + "inputs": [ + { + "name": "flashLoanPremiumTotal", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "flashLoanPremiumToProtocol", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Borrow", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "borrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceStableBorrowRate", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Repay", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "repayer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "useATokens", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SwapBorrowRateMode", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "BRIDGE_PROTOCOL_FEE()": "272d9072", + "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", + "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", + "MAX_NUMBER_RESERVES()": "f8119d51", + "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", + "backUnbacked(address,uint256,uint256)": "d65dc7a1", + "borrow(address,uint256,uint256,uint16,address)": "a415bcad", + "borrow(bytes32)": "d5eed868", + "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", + "deposit(address,uint256,address,uint16)": "e8eda9df", + "dropReserve(address)": "63c9b860", + "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", + "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", + "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", + "getBorrowLogic()": "2be29fa7", + "getBridgeLogic()": "df374c36", + "getConfiguration(address)": "c44b11f7", + "getEModeCategoryData(uint8)": "6c6f6ae1", + "getEModeLogic()": "f32b9a73", + "getFlashLoanLogic()": "348fde0f", + "getLiquidationGracePeriod(address)": "5c9a8b18", + "getLiquidationLogic()": "911a3413", + "getPoolLogic()": "d3350155", + "getReserveAddressById(uint16)": "52751797", + "getReserveData(address)": "35ea6a75", + "getReserveDataExtended(address)": "8381995f", + "getReserveNormalizedIncome(address)": "d15e0053", + "getReserveNormalizedVariableDebt(address)": "386497fd", + "getReservesCount()": "72218d04", + "getReservesList()": "d1946dbc", + "getSupplyLogic()": "870e7744", + "getUserAccountData(address)": "bf92857c", + "getUserConfiguration(address)": "4417a583", + "getUserEMode(address)": "eddf1b79", + "getVirtualUnderlyingBalance(address)": "6fb07f96", + "initReserve(address,address,address,address,address)": "7a708e92", + "liquidationCall(address,address,address,uint256,bool)": "00a718a9", + "liquidationCall(bytes32,bytes32)": "fd21ecff", + "mintToTreasury(address[])": "9cd19996", + "mintUnbacked(address,uint256,address,uint16)": "69a933a5", + "rebalanceStableBorrowRate(address,address)": "cd112382", + "rebalanceStableBorrowRate(bytes32)": "427da177", + "repay(address,uint256,uint256,address)": "573ade81", + "repay(bytes32)": "563dd613", + "repayWithATokens(address,uint256,uint256)": "2dad97d4", + "repayWithATokens(bytes32)": "dc7c0bff", + "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", + "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", + "rescueTokens(address,address,uint256)": "cea9d26f", + "resetIsolationModeTotalDebt(address)": "e43e88a1", + "setConfiguration(address,(uint256))": "f51e435b", + "setLiquidationGracePeriod(address,uint40)": "b1a99e26", + "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", + "setUserEMode(uint8)": "28530a47", + "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", + "setUserUseReserveAsCollateral(bytes32)": "4d013f03", + "supply(address,uint256,address,uint16)": "617ba037", + "supply(bytes32)": "f7a73840", + "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", + "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", + "swapBorrowRateMode(address,uint256)": "94ba89a2", + "swapBorrowRateMode(bytes32)": "1fe3c6f3", + "swapToVariable(address,address)": "2520d5ee", + "syncIndexesState(address)": "ab2b51f6", + "syncRatesState(address)": "98c7da4e", + "updateBridgeProtocolFee(uint256)": "3036b439", + "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", + "withdraw(address,uint256,address)": "69328dec", + "withdraw(bytes32)": "8e19899e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ILido.ts b/packages/hyperdrive-artifacts/src/ILido.ts new file mode 100644 index 000000000..fb8d97db1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ILido.ts @@ -0,0 +1,416 @@ +export const ILido = { + name: 'ILido' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBufferedEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPooledEthByShares", + "inputs": [ + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSharesByPooledEth", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sharesOf", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "submit", + "inputs": [ + { + "name": "_referral", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferShares", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferSharesFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "getBufferedEther()": "47b714e0", + "getPooledEthByShares(uint256)": "7a28fb88", + "getSharesByPooledEth(uint256)": "19208451", + "getTotalPooledEther()": "37cfdaca", + "getTotalShares()": "d5002f2e", + "name()": "06fdde03", + "sharesOf(address)": "f5eb42dc", + "submit(address)": "a1903eab", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferShares(address,uint256)": "8fcb4e5b", + "transferSharesFrom(address,address,uint256)": "6d780459" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ILiquidityPool.ts b/packages/hyperdrive-artifacts/src/ILiquidityPool.ts new file mode 100644 index 000000000..3f1b5d847 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ILiquidityPool.ts @@ -0,0 +1,289 @@ +export const ILiquidityPool = { + name: 'ILiquidityPool' as const, + abi: [ + { + "type": "function", + "name": "addEthAmountLockedForWithdrawal", + "inputs": [ + { + "name": "_amount", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "amountForShare", + "inputs": [ + { + "name": "_share", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_referral", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + }, + { + "name": "_referral", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "depositToRecipient", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_referral", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "eETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IEETH" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalEtherClaimOf", + "inputs": [ + { + "name": "_user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "numPendingDeposits", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint32", + "internalType": "uint32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rebase", + "inputs": [ + { + "name": "_accruedRewards", + "type": "int128", + "internalType": "int128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "reduceEthAmountLockedForWithdrawal", + "inputs": [ + { + "name": "_amount", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sharesForAmount", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sharesForWithdrawalAmount", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalValueInLp", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalValueOutOfLp", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addEthAmountLockedForWithdrawal(uint128)": "1665f66d", + "amountForShare(uint256)": "561bddf8", + "deposit()": "d0e30db0", + "deposit(address)": "f340fa01", + "deposit(address,address)": "f9609f08", + "depositToRecipient(address,uint256,address)": "b46a130e", + "eETH()": "0de371e2", + "getTotalEtherClaimOf(address)": "51199700", + "getTotalPooledEther()": "37cfdaca", + "numPendingDeposits()": "e4537934", + "rebase(int128)": "c00b2d61", + "reduceEthAmountLockedForWithdrawal(uint128)": "8a1b58b1", + "sharesForAmount(uint256)": "3a53acb0", + "sharesForWithdrawalAmount(uint256)": "917266fa", + "totalValueInLp()": "7c90fbf0", + "totalValueOutOfLp()": "456a23a6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ILsETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/ILsETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..c2a9d26d5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ILsETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,554 @@ +export const ILsETHHyperdriveDeployerCoordinator = { + name: 'ILsETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMetaMorpho.ts b/packages/hyperdrive-artifacts/src/IMetaMorpho.ts new file mode 100644 index 000000000..51d122a03 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMetaMorpho.ts @@ -0,0 +1,729 @@ +export const IMetaMorpho = { + name: 'IMetaMorpho' as const, + abi: [ + { + "type": "function", + "name": "MORPHO", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMorpho" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fee", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint96", + "internalType": "uint96" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxDeposit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMint", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxRedeem", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxWithdraw", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewDeposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewMint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewRedeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewWithdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFee", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [], + "outputs": [ + { + "name": "totalAssets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawQueue", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "Id" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "withdrawQueueLength", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "MORPHO()": "3acb5624", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "asset()": "38d52e0f", + "balanceOf(address)": "70a08231", + "convertToAssets(uint256)": "07a2d13a", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "deposit(uint256,address)": "6e553f65", + "fee()": "ddca3f43", + "maxDeposit(address)": "402d267d", + "maxMint(address)": "c63d75b6", + "maxRedeem(address)": "d905777e", + "maxWithdraw(address)": "ce96cb77", + "mint(uint256,address)": "94bf804d", + "name()": "06fdde03", + "owner()": "8da5cb5b", + "previewDeposit(uint256)": "ef8b30f7", + "previewMint(uint256)": "b3d7f6b9", + "previewRedeem(uint256)": "4cdad506", + "previewWithdraw(uint256)": "0a28a477", + "redeem(uint256,address,address)": "ba087652", + "setFee(uint256)": "69fe0e2d", + "symbol()": "95d89b41", + "totalAssets()": "01e1d114", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "withdraw(uint256,address,address)": "b460af94", + "withdrawQueue(uint256)": "62518ddf", + "withdrawQueueLength()": "33f91ebb" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMockHyperdrive.ts b/packages/hyperdrive-artifacts/src/IMockHyperdrive.ts new file mode 100644 index 000000000..be8ea4eaa --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMockHyperdrive.ts @@ -0,0 +1,234 @@ +export const IMockHyperdrive = { + name: 'IMockHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "__external_transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "__setBalanceOf", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_who", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "accrue", + "inputs": [ + { + "name": "time", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "apr", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "calculateTimeRemaining", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateTimeRemainingScaled", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getGovernanceFeesAccrued", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "latestCheckpoint", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserves", + "inputs": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLiquidity", + "inputs": [ + { + "name": "shareReservesDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a", + "__setBalanceOf(uint256,address,uint256)": "94a97cdb", + "accrue(uint256,int256)": "68096239", + "burn(uint256,address,uint256)": "9eea5f66", + "calculateTimeRemaining(uint256)": "68c2ecb8", + "calculateTimeRemainingScaled(uint256)": "ca6d38f7", + "getGovernanceFeesAccrued()": "8e67f87e", + "latestCheckpoint()": "907c0f92", + "mint(uint256,address,uint256)": "836a1040", + "setReserves(uint256,uint256)": "8392b8c0", + "updateLiquidity(uint256)": "ced09112" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMorpho.ts b/packages/hyperdrive-artifacts/src/IMorpho.ts new file mode 100644 index 000000000..b4e40acf3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMorpho.ts @@ -0,0 +1,1058 @@ +export const IMorpho = { + name: 'IMorpho' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "accrueInterest", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsBorrowed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesBorrowed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createMarket", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableIrm", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableLltv", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "extSloads", + "inputs": [ + { + "name": "slots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "idToMarketParams", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isAuthorized", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isIrmEnabled", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isLltvEnabled", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "liquidate", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "borrower", + "type": "address", + "internalType": "address" + }, + { + "name": "seizedAssets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "repaidShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "market", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + } + ], + "outputs": [ + { + "name": "m", + "type": "tuple", + "internalType": "struct Market", + "components": [ + { + "name": "totalSupplyAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalSupplyShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "fee", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonce", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "position", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "p", + "type": "tuple", + "internalType": "struct Position", + "components": [ + { + "name": "supplyShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "borrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "collateral", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsRepaid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesRepaid", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorization", + "inputs": [ + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "newIsAuthorized", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorizationWithSig", + "inputs": [ + { + "name": "authorization", + "type": "tuple", + "internalType": "struct Authorization", + "components": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "isAuthorized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "tuple", + "internalType": "struct Signature", + "components": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFee", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "newFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFeeRecipient", + "inputs": [ + { + "name": "newFeeRecipient", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setOwner", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsSupplied", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesSupplied", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsWithdrawn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesWithdrawn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "accrueInterest((address,address,address,address,uint256))": "151c1ade", + "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", + "createMarket((address,address,address,address,uint256))": "8c1358a2", + "enableIrm(address)": "5a64f51e", + "enableLltv(uint256)": "4d98a93b", + "extSloads(bytes32[])": "7784c685", + "feeRecipient()": "46904840", + "flashLoan(address,uint256,bytes)": "e0232b42", + "idToMarketParams(bytes32)": "2c3c9157", + "isAuthorized(address,address)": "65e4ad9e", + "isIrmEnabled(address)": "f2b863ce", + "isLltvEnabled(uint256)": "b485f3b8", + "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", + "market(bytes32)": "5c60e39a", + "nonce(address)": "70ae92d2", + "owner()": "8da5cb5b", + "position(bytes32,address)": "93c52062", + "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", + "setAuthorization(address,bool)": "eecea000", + "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", + "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", + "setFeeRecipient(address)": "e74b981b", + "setOwner(address)": "13af4035", + "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", + "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", + "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", + "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMorphoBase.ts b/packages/hyperdrive-artifacts/src/IMorphoBase.ts new file mode 100644 index 000000000..ecb9a0397 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMorphoBase.ts @@ -0,0 +1,917 @@ +export const IMorphoBase = { + name: 'IMorphoBase' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "accrueInterest", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsBorrowed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesBorrowed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createMarket", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableIrm", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableLltv", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "extSloads", + "inputs": [ + { + "name": "slots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isAuthorized", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isIrmEnabled", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isLltvEnabled", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "liquidate", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "borrower", + "type": "address", + "internalType": "address" + }, + { + "name": "seizedAssets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "repaidShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nonce", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsRepaid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesRepaid", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorization", + "inputs": [ + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "newIsAuthorized", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorizationWithSig", + "inputs": [ + { + "name": "authorization", + "type": "tuple", + "internalType": "struct Authorization", + "components": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "isAuthorized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "tuple", + "internalType": "struct Signature", + "components": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFee", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "newFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFeeRecipient", + "inputs": [ + { + "name": "newFeeRecipient", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setOwner", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsSupplied", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesSupplied", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsWithdrawn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesWithdrawn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "accrueInterest((address,address,address,address,uint256))": "151c1ade", + "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", + "createMarket((address,address,address,address,uint256))": "8c1358a2", + "enableIrm(address)": "5a64f51e", + "enableLltv(uint256)": "4d98a93b", + "extSloads(bytes32[])": "7784c685", + "feeRecipient()": "46904840", + "flashLoan(address,uint256,bytes)": "e0232b42", + "isAuthorized(address,address)": "65e4ad9e", + "isIrmEnabled(address)": "f2b863ce", + "isLltvEnabled(uint256)": "b485f3b8", + "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", + "nonce(address)": "70ae92d2", + "owner()": "8da5cb5b", + "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", + "setAuthorization(address,bool)": "eecea000", + "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", + "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", + "setFeeRecipient(address)": "e74b981b", + "setOwner(address)": "13af4035", + "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", + "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", + "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", + "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMorphoBlueHyperdrive.ts b/packages/hyperdrive-artifacts/src/IMorphoBlueHyperdrive.ts new file mode 100644 index 000000000..0d87423c2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMorphoBlueHyperdrive.ts @@ -0,0 +1,2521 @@ +export const IMorphoBlueHyperdrive = { + name: 'IMorphoBlueHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collateralToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "id", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "Id" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "irm", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lltv", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "oracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collateralToken()": "b2016bd4", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "id()": "af640d0f", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "irm()": "28e8fe7d", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "lltv()": "217b7ffe", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "oracle()": "7dc0d1d0", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMorphoStaticTyping.ts b/packages/hyperdrive-artifacts/src/IMorphoStaticTyping.ts new file mode 100644 index 000000000..41acb6e09 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMorphoStaticTyping.ts @@ -0,0 +1,1037 @@ +export const IMorphoStaticTyping = { + name: 'IMorphoStaticTyping' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "accrueInterest", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsBorrowed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesBorrowed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createMarket", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableIrm", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "enableLltv", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "extSloads", + "inputs": [ + { + "name": "slots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "idToMarketParams", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + } + ], + "outputs": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isAuthorized", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isIrmEnabled", + "inputs": [ + { + "name": "irm", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isLltvEnabled", + "inputs": [ + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "liquidate", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "borrower", + "type": "address", + "internalType": "address" + }, + { + "name": "seizedAssets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "repaidShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "market", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + } + ], + "outputs": [ + { + "name": "totalSupplyAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalSupplyShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowAssets", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "totalBorrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "fee", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonce", + "inputs": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "position", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "Id" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "supplyShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "borrowShares", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "collateral", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsRepaid", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesRepaid", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorization", + "inputs": [ + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "newIsAuthorized", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthorizationWithSig", + "inputs": [ + { + "name": "authorization", + "type": "tuple", + "internalType": "struct Authorization", + "components": [ + { + "name": "authorizer", + "type": "address", + "internalType": "address" + }, + { + "name": "authorized", + "type": "address", + "internalType": "address" + }, + { + "name": "isAuthorized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "tuple", + "internalType": "struct Signature", + "components": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFee", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "newFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setFeeRecipient", + "inputs": [ + { + "name": "newFeeRecipient", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setOwner", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "assetsSupplied", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesSupplied", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "assetsWithdrawn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sharesWithdrawn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawCollateral", + "inputs": [ + { + "name": "marketParams", + "type": "tuple", + "internalType": "struct MarketParams", + "components": [ + { + "name": "loanToken", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalf", + "type": "address", + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "accrueInterest((address,address,address,address,uint256))": "151c1ade", + "borrow((address,address,address,address,uint256),uint256,uint256,address,address)": "50d8cd4b", + "createMarket((address,address,address,address,uint256))": "8c1358a2", + "enableIrm(address)": "5a64f51e", + "enableLltv(uint256)": "4d98a93b", + "extSloads(bytes32[])": "7784c685", + "feeRecipient()": "46904840", + "flashLoan(address,uint256,bytes)": "e0232b42", + "idToMarketParams(bytes32)": "2c3c9157", + "isAuthorized(address,address)": "65e4ad9e", + "isIrmEnabled(address)": "f2b863ce", + "isLltvEnabled(uint256)": "b485f3b8", + "liquidate((address,address,address,address,uint256),address,uint256,uint256,bytes)": "d8eabcb8", + "market(bytes32)": "5c60e39a", + "nonce(address)": "70ae92d2", + "owner()": "8da5cb5b", + "position(bytes32,address)": "93c52062", + "repay((address,address,address,address,uint256),uint256,uint256,address,bytes)": "20b76e81", + "setAuthorization(address,bool)": "eecea000", + "setAuthorizationWithSig((address,address,bool,uint256,uint256),(uint8,bytes32,bytes32))": "8069218f", + "setFee((address,address,address,address,uint256),uint256)": "2b4f013c", + "setFeeRecipient(address)": "e74b981b", + "setOwner(address)": "13af4035", + "supply((address,address,address,address,uint256),uint256,uint256,address,bytes)": "a99aad89", + "supplyCollateral((address,address,address,address,uint256),uint256,address,bytes)": "238d6579", + "withdraw((address,address,address,address,uint256),uint256,uint256,address,address)": "5c2bea49", + "withdrawCollateral((address,address,address,address,uint256),uint256,address,address)": "8720316d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMultiToken.ts b/packages/hyperdrive-artifacts/src/IMultiToken.ts new file mode 100644 index 000000000..6a76fd424 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMultiToken.ts @@ -0,0 +1,505 @@ +export const IMultiToken = { + name: 'IMultiToken' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "balanceOf(uint256,address)": "3656eec2", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "isApprovedForAll(address,address)": "e985e9c5", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "symbol(uint256)": "4e41a1fb", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMultiTokenCore.ts b/packages/hyperdrive-artifacts/src/IMultiTokenCore.ts new file mode 100644 index 000000000..2688fb87d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMultiTokenCore.ts @@ -0,0 +1,216 @@ +export const IMultiTokenCore = { + name: 'IMultiTokenCore' as const, + abi: [ + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMultiTokenEvents.ts b/packages/hyperdrive-artifacts/src/IMultiTokenEvents.ts new file mode 100644 index 000000000..613158caf --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMultiTokenEvents.ts @@ -0,0 +1,94 @@ +export const IMultiTokenEvents = { + name: 'IMultiTokenEvents' as const, + abi: [ + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMultiTokenMetadata.ts b/packages/hyperdrive-artifacts/src/IMultiTokenMetadata.ts new file mode 100644 index 000000000..502676d25 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMultiTokenMetadata.ts @@ -0,0 +1,36 @@ +export const IMultiTokenMetadata = { + name: 'IMultiTokenMetadata' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "domainSeparator()": "f698da25" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMultiTokenRead.ts b/packages/hyperdrive-artifacts/src/IMultiTokenRead.ts new file mode 100644 index 000000000..ee34a4c9b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMultiTokenRead.ts @@ -0,0 +1,182 @@ +export const IMultiTokenRead = { + name: 'IMultiTokenRead' as const, + abi: [ + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "balanceOf(uint256,address)": "3656eec2", + "decimals()": "313ce567", + "isApprovedForAll(address,address)": "e985e9c5", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "symbol(uint256)": "4e41a1fb", + "totalSupply(uint256)": "bd85b039" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IMulticall3.ts b/packages/hyperdrive-artifacts/src/IMulticall3.ts new file mode 100644 index 000000000..a26ada074 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IMulticall3.ts @@ -0,0 +1,462 @@ +export const IMulticall3 = { + name: 'IMulticall3' as const, + abi: [ + { + "type": "function", + "name": "aggregate", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "returnData", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "aggregate3", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call3[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "allowFailure", + "type": "bool", + "internalType": "bool" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "aggregate3Value", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call3Value[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "allowFailure", + "type": "bool", + "internalType": "bool" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "blockAndAggregate", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "getBasefee", + "inputs": [], + "outputs": [ + { + "name": "basefee", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockHash", + "inputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockNumber", + "inputs": [], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getChainId", + "inputs": [], + "outputs": [ + { + "name": "chainid", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockCoinbase", + "inputs": [], + "outputs": [ + { + "name": "coinbase", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockDifficulty", + "inputs": [], + "outputs": [ + { + "name": "difficulty", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockGasLimit", + "inputs": [], + "outputs": [ + { + "name": "gaslimit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockTimestamp", + "inputs": [], + "outputs": [ + { + "name": "timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEthBalance", + "inputs": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLastBlockHash", + "inputs": [], + "outputs": [ + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tryAggregate", + "inputs": [ + { + "name": "requireSuccess", + "type": "bool", + "internalType": "bool" + }, + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "tryBlockAndAggregate", + "inputs": [ + { + "name": "requireSuccess", + "type": "bool", + "internalType": "bool" + }, + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "aggregate((address,bytes)[])": "252dba42", + "aggregate3((address,bool,bytes)[])": "82ad56cb", + "aggregate3Value((address,bool,uint256,bytes)[])": "174dea71", + "blockAndAggregate((address,bytes)[])": "c3077fa9", + "getBasefee()": "3e64a696", + "getBlockHash(uint256)": "ee82ac5e", + "getBlockNumber()": "42cbb15c", + "getChainId()": "3408e470", + "getCurrentBlockCoinbase()": "a8b0574e", + "getCurrentBlockDifficulty()": "72425d9d", + "getCurrentBlockGasLimit()": "86d516e8", + "getCurrentBlockTimestamp()": "0f28c97d", + "getEthBalance(address)": "4d2301cc", + "getLastBlockHash()": "27e86d6e", + "tryAggregate(bool,(address,bytes)[])": "bce38bd7", + "tryBlockAndAggregate(bool,(address,bytes)[])": "399542e9" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IPool.ts b/packages/hyperdrive-artifacts/src/IPool.ts new file mode 100644 index 000000000..87a59ac71 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IPool.ts @@ -0,0 +1,2066 @@ +export const IPool = { + name: 'IPool' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TOTAL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_NUMBER_RESERVES", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "backUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "configureEModeCategory", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "config", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeTransfer", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceFromBefore", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceToBefore", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRateModes", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoanSimple", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBridgeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeCategoryData", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getFlashLoanLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPoolLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getReserveAddressById", + "inputs": [ + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveData", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveDataLegacy", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveDataExtended", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveData", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationGracePeriodUntil", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "virtualUnderlyingBalance", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedIncome", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedVariableDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesCount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getUserAccountData", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "totalCollateralBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalDebtBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "availableBorrowsBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "currentLiquidationThreshold", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "healthFactor", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserConfiguration", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.UserConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserEMode", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVirtualUnderlyingBalance", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiveAToken", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resetIsolationModeTotalDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "until", + "type": "uint40", + "internalType": "uint40" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserveInterestRateStrategyAddress", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "rateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserEMode", + "inputs": [ + { + "name": "categoryId", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "useAsCollateral", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapToVariable", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncIndexesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncRatesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateBridgeProtocolFee", + "inputs": [ + { + "name": "bridgeProtocolFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFlashloanPremiums", + "inputs": [ + { + "name": "flashLoanPremiumTotal", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "flashLoanPremiumToProtocol", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Borrow", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "borrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceStableBorrowRate", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Repay", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "repayer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "useATokens", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SwapBorrowRateMode", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "BRIDGE_PROTOCOL_FEE()": "272d9072", + "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", + "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", + "MAX_NUMBER_RESERVES()": "f8119d51", + "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", + "backUnbacked(address,uint256,uint256)": "d65dc7a1", + "borrow(address,uint256,uint256,uint16,address)": "a415bcad", + "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", + "deposit(address,uint256,address,uint16)": "e8eda9df", + "dropReserve(address)": "63c9b860", + "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", + "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", + "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", + "getBorrowLogic()": "2be29fa7", + "getBridgeLogic()": "df374c36", + "getConfiguration(address)": "c44b11f7", + "getEModeCategoryData(uint8)": "6c6f6ae1", + "getEModeLogic()": "f32b9a73", + "getFlashLoanLogic()": "348fde0f", + "getLiquidationGracePeriod(address)": "5c9a8b18", + "getLiquidationLogic()": "911a3413", + "getPoolLogic()": "d3350155", + "getReserveAddressById(uint16)": "52751797", + "getReserveData(address)": "35ea6a75", + "getReserveDataExtended(address)": "8381995f", + "getReserveNormalizedIncome(address)": "d15e0053", + "getReserveNormalizedVariableDebt(address)": "386497fd", + "getReservesCount()": "72218d04", + "getReservesList()": "d1946dbc", + "getSupplyLogic()": "870e7744", + "getUserAccountData(address)": "bf92857c", + "getUserConfiguration(address)": "4417a583", + "getUserEMode(address)": "eddf1b79", + "getVirtualUnderlyingBalance(address)": "6fb07f96", + "initReserve(address,address,address,address,address)": "7a708e92", + "liquidationCall(address,address,address,uint256,bool)": "00a718a9", + "mintToTreasury(address[])": "9cd19996", + "mintUnbacked(address,uint256,address,uint16)": "69a933a5", + "rebalanceStableBorrowRate(address,address)": "cd112382", + "repay(address,uint256,uint256,address)": "573ade81", + "repayWithATokens(address,uint256,uint256)": "2dad97d4", + "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", + "rescueTokens(address,address,uint256)": "cea9d26f", + "resetIsolationModeTotalDebt(address)": "e43e88a1", + "setConfiguration(address,(uint256))": "f51e435b", + "setLiquidationGracePeriod(address,uint40)": "b1a99e26", + "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", + "setUserEMode(uint8)": "28530a47", + "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", + "supply(address,uint256,address,uint16)": "617ba037", + "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", + "swapBorrowRateMode(address,uint256)": "94ba89a2", + "swapToVariable(address,address)": "2520d5ee", + "syncIndexesState(address)": "ab2b51f6", + "syncRatesState(address)": "98c7da4e", + "updateBridgeProtocolFee(uint256)": "3036b439", + "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", + "withdraw(address,uint256,address)": "69328dec" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IPoolAddressesProvider.ts b/packages/hyperdrive-artifacts/src/IPoolAddressesProvider.ts new file mode 100644 index 000000000..673bd2a58 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IPoolAddressesProvider.ts @@ -0,0 +1,523 @@ +export const IPoolAddressesProvider = { + name: 'IPoolAddressesProvider' as const, + abi: [ + { + "type": "function", + "name": "getACLAdmin", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getACLManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getAddress", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketId", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfigurator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolDataProvider", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPriceOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPriceOracleSentinel", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setACLAdmin", + "inputs": [ + { + "name": "newAclAdmin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setACLManager", + "inputs": [ + { + "name": "newAclManager", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAddress", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAddressAsProxy", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newImplementationAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMarketId", + "inputs": [ + { + "name": "newMarketId", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPoolConfiguratorImpl", + "inputs": [ + { + "name": "newPoolConfiguratorImpl", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPoolDataProvider", + "inputs": [ + { + "name": "newDataProvider", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPoolImpl", + "inputs": [ + { + "name": "newPoolImpl", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPriceOracle", + "inputs": [ + { + "name": "newPriceOracle", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPriceOracleSentinel", + "inputs": [ + { + "name": "newPriceOracleSentinel", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "ACLAdminUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ACLManagerUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AddressSet", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AddressSetAsProxy", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "proxyAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "oldImplementationAddress", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "newImplementationAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MarketIdSet", + "inputs": [ + { + "name": "oldMarketId", + "type": "string", + "indexed": true, + "internalType": "string" + }, + { + "name": "newMarketId", + "type": "string", + "indexed": true, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PoolConfiguratorUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PoolDataProviderUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PoolUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PriceOracleSentinelUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PriceOracleUpdated", + "inputs": [ + { + "name": "oldAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ProxyCreated", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "proxyAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "implementationAddress", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getACLAdmin()": "0e67178c", + "getACLManager()": "707cd716", + "getAddress(bytes32)": "21f8a721", + "getMarketId()": "568ef470", + "getPool()": "026b1d5f", + "getPoolConfigurator()": "631adfca", + "getPoolDataProvider()": "e860accb", + "getPriceOracle()": "fca513a8", + "getPriceOracleSentinel()": "5eb88d3d", + "setACLAdmin(address)": "76d84ffc", + "setACLManager(address)": "ed301ca9", + "setAddress(bytes32,address)": "ca446dd9", + "setAddressAsProxy(bytes32,address)": "5dcc528c", + "setMarketId(string)": "f67b1847", + "setPoolConfiguratorImpl(address)": "e4ca28b7", + "setPoolDataProvider(address)": "e44e9ed1", + "setPoolImpl(address)": "a1564406", + "setPriceOracle(address)": "530e784f", + "setPriceOracleSentinel(address)": "74944cec" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IPriceOracleGetter.ts b/packages/hyperdrive-artifacts/src/IPriceOracleGetter.ts new file mode 100644 index 000000000..c58fd19ed --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IPriceOracleGetter.ts @@ -0,0 +1,56 @@ +export const IPriceOracleGetter = { + name: 'IPriceOracleGetter' as const, + abi: [ + { + "type": "function", + "name": "BASE_CURRENCY", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BASE_CURRENCY_UNIT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getAssetPrice", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "BASE_CURRENCY()": "e19f4700", + "BASE_CURRENCY_UNIT()": "8c89b64f", + "getAssetPrice(address)": "b3596f07" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IPriceOracleSentinel.ts b/packages/hyperdrive-artifacts/src/IPriceOracleSentinel.ts new file mode 100644 index 000000000..54256a77c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IPriceOracleSentinel.ts @@ -0,0 +1,132 @@ +export const IPriceOracleSentinel = { + name: 'IPriceOracleSentinel' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getGracePeriod", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSequencerOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isBorrowAllowed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isLiquidationAllowed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setGracePeriod", + "inputs": [ + { + "name": "newGracePeriod", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setSequencerOracle", + "inputs": [ + { + "name": "newSequencerOracle", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "GracePeriodUpdated", + "inputs": [ + { + "name": "newGracePeriod", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SequencerOracleUpdated", + "inputs": [ + { + "name": "newSequencerOracle", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "getGracePeriod()": "dbd18388", + "getSequencerOracle()": "12168dc2", + "isBorrowAllowed()": "49aa2e81", + "isLiquidationAllowed()": "7a5d20ea", + "setGracePeriod(uint256)": "f2f65960", + "setSequencerOracle(address)": "f0aef31c" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IRETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..90cd42acf --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,554 @@ +export const IRETHHyperdriveDeployerCoordinator = { + name: 'IRETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRSETHPoolV2.ts b/packages/hyperdrive-artifacts/src/IRSETHPoolV2.ts new file mode 100644 index 000000000..e8db129bb --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRSETHPoolV2.ts @@ -0,0 +1,78 @@ +export const IRSETHPoolV2 = { + name: 'IRSETHPoolV2' as const, + abi: [ + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "referralId", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "feeBps", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rsETHOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "wrsETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "deposit(string)": "a26e1186", + "feeBps()": "24a9d853", + "getRate()": "679aefce", + "rsETHOracle()": "54d1d5e4", + "wrsETH()": "e129200f" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRenzoOracle.ts b/packages/hyperdrive-artifacts/src/IRenzoOracle.ts new file mode 100644 index 000000000..c555f40f0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRenzoOracle.ts @@ -0,0 +1,143 @@ +export const IRenzoOracle = { + name: 'IRenzoOracle' as const, + abi: [ + { + "type": "function", + "name": "calculateMintAmount", + "inputs": [ + { + "name": "_currentValueInProtocol", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_newValueAdded", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_existingEzETHSupply", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateRedeemAmount", + "inputs": [ + { + "name": "_ezETHBeingBurned", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_existingEzETHSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_currentValueInProtocol", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lookupTokenAmountFromValue", + "inputs": [ + { + "name": "_token", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lookupTokenValue", + "inputs": [ + { + "name": "_token", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_balance", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lookupTokenValues", + "inputs": [ + { + "name": "_tokens", + "type": "address[]", + "internalType": "contract IERC20[]" + }, + { + "name": "_balances", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a", + "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0", + "lookupTokenAmountFromValue(address,uint256)": "37933625", + "lookupTokenValue(address,uint256)": "0052e3fd", + "lookupTokenValues(address[],uint256[])": "ba28a571" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRestakeManager.ts b/packages/hyperdrive-artifacts/src/IRestakeManager.ts new file mode 100644 index 000000000..50e6c9b21 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRestakeManager.ts @@ -0,0 +1,68 @@ +export const IRestakeManager = { + name: 'IRestakeManager' as const, + abi: [ + { + "type": "function", + "name": "calculateTVLs", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256[][]", + "internalType": "uint256[][]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositETH", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "ezETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "calculateTVLs()": "ff9969cd", + "depositETH()": "f6326fb3", + "ezETH()": "13a73c78", + "renzoOracle()": "892866a4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRiverV1.ts b/packages/hyperdrive-artifacts/src/IRiverV1.ts new file mode 100644 index 000000000..b156226e8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRiverV1.ts @@ -0,0 +1,313 @@ +export const IRiverV1 = { + name: 'IRiverV1' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOfUnderlying", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sharesFromUnderlyingBalance", + "inputs": [ + { + "name": "_underlyingAssetAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalUnderlyingSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "underlyingBalanceFromShares", + "inputs": [ + { + "name": "_shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "balanceOfUnderlying(address)": "3af9e669", + "decimals()": "313ce567", + "name()": "06fdde03", + "sharesFromUnderlyingBalance(uint256)": "799a1954", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "totalUnderlyingSupply()": "143a08d4", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "underlyingBalanceFromShares(uint256)": "f79c3f02" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRocketDepositPool.ts b/packages/hyperdrive-artifacts/src/IRocketDepositPool.ts new file mode 100644 index 000000000..0a8ebc784 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRocketDepositPool.ts @@ -0,0 +1,174 @@ +export const IRocketDepositPool = { + name: 'IRocketDepositPool' as const, + abi: [ + { + "type": "function", + "name": "assignDeposits", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "getBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getExcessBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaximumDepositAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNodeBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maybeAssignDeposits", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nodeCreditWithdrawal", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nodeDeposit", + "inputs": [ + { + "name": "_totalAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "recycleDissolvedDeposit", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "recycleExcessCollateral", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "recycleLiquidatedStake", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "withdrawExcessBalance", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "assignDeposits()": "27c8f193", + "deposit()": "d0e30db0", + "getBalance()": "12065fe0", + "getExcessBalance()": "888b042f", + "getMaximumDepositAmount()": "1eddb626", + "getNodeBalance()": "1e35fed8", + "getUserBalance()": "b7013dc1", + "maybeAssignDeposits()": "3b36f592", + "nodeCreditWithdrawal(uint256)": "606b6497", + "nodeDeposit(uint256)": "22b1751d", + "recycleDissolvedDeposit()": "72f5158d", + "recycleExcessCollateral()": "db82047b", + "recycleLiquidatedStake()": "1b7dd4c0", + "withdrawExcessBalance(uint256)": "63a5db9e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRocketNetworkBalances.ts b/packages/hyperdrive-artifacts/src/IRocketNetworkBalances.ts new file mode 100644 index 000000000..40b00aa8b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRocketNetworkBalances.ts @@ -0,0 +1,150 @@ +export const IRocketNetworkBalances = { + name: 'IRocketNetworkBalances' as const, + abi: [ + { + "type": "function", + "name": "executeUpdateBalances", + "inputs": [ + { + "name": "_block", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_totalEth", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_stakingEth", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_rethSupply", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBalancesBlock", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getETHUtilizationRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLatestReportableBlock", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getStakingETHBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalETHBalance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalRETHSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "submitBalances", + "inputs": [ + { + "name": "_block", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_total", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_staking", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_rethSupply", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "executeUpdateBalances(uint256,uint256,uint256,uint256)": "56ff3625", + "getBalancesBlock()": "9100c13d", + "getETHUtilizationRate()": "9dba66af", + "getLatestReportableBlock()": "a9bb16ed", + "getStakingETHBalance()": "f1eda634", + "getTotalETHBalance()": "964d042c", + "getTotalRETHSupply()": "c4c8d0ad", + "submitBalances(uint256,uint256,uint256,uint256)": "32db5470" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRocketPoolDAOProtocolSettingsDeposit.ts b/packages/hyperdrive-artifacts/src/IRocketPoolDAOProtocolSettingsDeposit.ts new file mode 100644 index 000000000..0a66ce742 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRocketPoolDAOProtocolSettingsDeposit.ts @@ -0,0 +1,106 @@ +export const IRocketPoolDAOProtocolSettingsDeposit = { + name: 'IRocketPoolDAOProtocolSettingsDeposit' as const, + abi: [ + { + "type": "function", + "name": "getAssignDepositsEnabled", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDepositEnabled", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDepositFee", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaximumDepositAssignments", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaximumDepositPoolSize", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaximumDepositSocialisedAssignments", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMinimumDeposit", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getAssignDepositsEnabled()": "47fa434a", + "getDepositEnabled()": "6ada7847", + "getDepositFee()": "0de705b5", + "getMaximumDepositAssignments()": "3b474a65", + "getMaximumDepositPoolSize()": "fd6ce89e", + "getMaximumDepositSocialisedAssignments()": "f19b4106", + "getMinimumDeposit()": "035cf142" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRocketStorage.ts b/packages/hyperdrive-artifacts/src/IRocketStorage.ts new file mode 100644 index 000000000..152ab820a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRocketStorage.ts @@ -0,0 +1,545 @@ +export const IRocketStorage = { + name: 'IRocketStorage' as const, + abi: [ + { + "type": "function", + "name": "addUint", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "confirmGuardian", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "confirmWithdrawalAddress", + "inputs": [ + { + "name": "_nodeAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteAddress", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteBool", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteBytes", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteBytes32", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteInt", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteString", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteUint", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getAddress", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBool", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBytes", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBytes32", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedStatus", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getGuardian", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getInt", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNodePendingWithdrawalAddress", + "inputs": [ + { + "name": "_nodeAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNodeWithdrawalAddress", + "inputs": [ + { + "name": "_nodeAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getString", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUint", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setAddress", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setBool", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setBytes", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setBytes32", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGuardian", + "inputs": [ + { + "name": "_newAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setInt", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setString", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUint", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setWithdrawalAddress", + "inputs": [ + { + "name": "_nodeAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "_newWithdrawalAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "_confirm", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "subUint", + "inputs": [ + { + "name": "_key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addUint(bytes32,uint256)": "adb353dc", + "confirmGuardian()": "1e0ea61e", + "confirmWithdrawalAddress(address)": "bd439126", + "deleteAddress(bytes32)": "0e14a376", + "deleteBool(bytes32)": "2c62ff2d", + "deleteBytes(bytes32)": "616b59f6", + "deleteBytes32(bytes32)": "0b9adc57", + "deleteInt(bytes32)": "8c160095", + "deleteString(bytes32)": "f6bb3cc4", + "deleteUint(bytes32)": "e2b202bf", + "getAddress(bytes32)": "21f8a721", + "getBool(bytes32)": "7ae1cfca", + "getBytes(bytes32)": "c031a180", + "getBytes32(bytes32)": "a6ed563e", + "getDeployedStatus()": "1bed5241", + "getGuardian()": "a75b87d2", + "getInt(bytes32)": "dc97d962", + "getNodePendingWithdrawalAddress(address)": "fd412513", + "getNodeWithdrawalAddress(address)": "5b49ff62", + "getString(bytes32)": "986e791a", + "getUint(bytes32)": "bd02d0f5", + "setAddress(bytes32,address)": "ca446dd9", + "setBool(bytes32,bool)": "abfdcced", + "setBytes(bytes32,bytes)": "2e28d084", + "setBytes32(bytes32,bytes32)": "4e91db08", + "setGuardian(address)": "8a0dac4a", + "setInt(bytes32,int256)": "3e49bed0", + "setString(bytes32,string)": "6e899550", + "setUint(bytes32,uint256)": "e2a4853a", + "setWithdrawalAddress(address,address,bool)": "a543ccea", + "subUint(bytes32,uint256)": "ebb9d8c9" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRocketTokenRETH.ts b/packages/hyperdrive-artifacts/src/IRocketTokenRETH.ts new file mode 100644 index 000000000..0870f5443 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRocketTokenRETH.ts @@ -0,0 +1,370 @@ +export const IRocketTokenRETH = { + name: 'IRocketTokenRETH' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "_rethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositExcess", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "depositExcessCollateral", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getCollateralRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEthValue", + "inputs": [ + { + "name": "_rethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getExchangeRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRethValue", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalCollateral", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(uint256)": "42966c68", + "decimals()": "313ce567", + "depositExcess()": "6c985a88", + "depositExcessCollateral()": "188e0dc6", + "getCollateralRate()": "852185fc", + "getEthValue(uint256)": "8b32fa23", + "getExchangeRate()": "e6aa216c", + "getRethValue(uint256)": "4346f03e", + "getTotalCollateral()": "d6eb5910", + "mint(uint256,address)": "94bf804d", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IRsETHLineaHyperdrive.ts b/packages/hyperdrive-artifacts/src/IRsETHLineaHyperdrive.ts new file mode 100644 index 000000000..3c12ea279 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IRsETHLineaHyperdrive.ts @@ -0,0 +1,2451 @@ +export const IRsETHLineaHyperdrive = { + name: 'IRsETHLineaHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "rsETHPool()": "7df91ba8", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IScaledBalanceToken.ts b/packages/hyperdrive-artifacts/src/IScaledBalanceToken.ts new file mode 100644 index 000000000..9ba7b0346 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IScaledBalanceToken.ts @@ -0,0 +1,161 @@ +export const IScaledBalanceToken = { + name: 'IScaledBalanceToken' as const, + abi: [ + { + "type": "function", + "name": "getPreviousIndex", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getScaledUserBalanceAndSupply", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "scaledBalanceOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "scaledTotalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getPreviousIndex(address)": "e0753986", + "getScaledUserBalanceAndSupply(address)": "0afbcdc9", + "scaledBalanceOf(address)": "1da24f3e", + "scaledTotalSupply()": "b1bf962d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ISharesManagerV1.ts b/packages/hyperdrive-artifacts/src/ISharesManagerV1.ts new file mode 100644 index 000000000..5d8c52d08 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ISharesManagerV1.ts @@ -0,0 +1,313 @@ +export const ISharesManagerV1 = { + name: 'ISharesManagerV1' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "_spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOfUnderlying", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sharesFromUnderlyingBalance", + "inputs": [ + { + "name": "_underlyingAssetAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalUnderlyingSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_from", + "type": "address", + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "internalType": "address" + }, + { + "name": "_value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "underlyingBalanceFromShares", + "inputs": [ + { + "name": "_shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "balanceOfUnderlying(address)": "3af9e669", + "decimals()": "313ce567", + "name()": "06fdde03", + "sharesFromUnderlyingBalance(uint256)": "799a1954", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "totalUnderlyingSupply()": "143a08d4", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "underlyingBalanceFromShares(uint256)": "f79c3f02" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/IStETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..1e7c57ef0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,554 @@ +export const IStETHHyperdriveDeployerCoordinator = { + name: 'IStETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "numTargets", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStableDebtToken.ts b/packages/hyperdrive-artifacts/src/IStableDebtToken.ts new file mode 100644 index 000000000..1451d7295 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStableDebtToken.ts @@ -0,0 +1,424 @@ +export const IStableDebtToken = { + name: 'IStableDebtToken' as const, + abi: [ + { + "type": "function", + "name": "UNDERLYING_ASSET_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getAverageStableRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyData", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalSupplyAndAvgRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalSupplyLastUpdated", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserLastUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserStableRate", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "rate", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "principalBalanceOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBalance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "avgStableRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newTotalSupply", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBalance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "avgStableRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newTotalSupply", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "UNDERLYING_ASSET_ADDRESS()": "b16a19de", + "burn(address,uint256)": "9dc29fac", + "getAverageStableRate()": "90f6fcf2", + "getSupplyData()": "79774338", + "getTotalSupplyAndAvgRate()": "f731e9be", + "getTotalSupplyLastUpdated()": "e7484890", + "getUserLastUpdated(address)": "79ce6b8c", + "getUserStableRate(address)": "e78c9b3b", + "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a", + "mint(address,address,uint256,uint256)": "b3f1c93d", + "principalBalanceOf(address)": "c634dfaa" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStakedToken.ts b/packages/hyperdrive-artifacts/src/IStakedToken.ts new file mode 100644 index 000000000..a02822431 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStakedToken.ts @@ -0,0 +1,325 @@ +export const IStakedToken = { + name: 'IStakedToken' as const, + abi: [ + { + "type": "function", + "name": "REWARD_TOKEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "STAKED_TOKEN", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "claimRewards", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "stake", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stakerRewardsToClaim", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "REWARD_TOKEN()": "99248ea7", + "STAKED_TOKEN()": "312f6b83", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "claimRewards(address,uint256)": "9a99b4f0", + "decimals()": "313ce567", + "name()": "06fdde03", + "stake(address,uint256)": "adc9772e", + "stakerRewardsToClaim(address)": "7e90d7ef", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStakingUSDS.ts b/packages/hyperdrive-artifacts/src/IStakingUSDS.ts new file mode 100644 index 000000000..151affb41 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStakingUSDS.ts @@ -0,0 +1,153 @@ +export const IStakingUSDS = { + name: 'IStakingUSDS' as const, + abi: [ + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "earned", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "exit", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getReward", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rewardsToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "stake", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referral", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stake", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stakingToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "balanceOf(address)": "70a08231", + "earned(address)": "008cc262", + "exit()": "e9fad8ee", + "getReward()": "3d18b912", + "rewardsToken()": "d1af0c7d", + "stake(uint256)": "a694fc3a", + "stake(uint256,uint16)": "42ea02c1", + "stakingToken()": "72f702f3", + "totalSupply()": "18160ddd", + "withdraw(uint256)": "2e1a7d4d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStakingUSDSHyperdrive.ts b/packages/hyperdrive-artifacts/src/IStakingUSDSHyperdrive.ts new file mode 100644 index 000000000..c5f85396e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStakingUSDSHyperdrive.ts @@ -0,0 +1,2459 @@ +export const IStakingUSDSHyperdrive = { + name: 'IStakingUSDSHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "claimRewards", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stakingUSDS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "claimRewards()": "372500ab", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "stakingUSDS()": "10cded21", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IStkWellHyperdrive.ts b/packages/hyperdrive-artifacts/src/IStkWellHyperdrive.ts new file mode 100644 index 000000000..d195b1cd5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IStkWellHyperdrive.ts @@ -0,0 +1,2445 @@ +export const IStkWellHyperdrive = { + name: 'IStkWellHyperdrive' as const, + abi: [ + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "claimRewards", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondProceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "_who", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialVaultSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLPSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "claimRewards()": "372500ab", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "domainSeparator()": "f698da25", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ISwapRouter.ts b/packages/hyperdrive-artifacts/src/ISwapRouter.ts new file mode 100644 index 000000000..53f21ac58 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ISwapRouter.ts @@ -0,0 +1,226 @@ +export const ISwapRouter = { + name: 'ISwapRouter' as const, + abi: [ + { + "type": "function", + "name": "exactInput", + "inputs": [ + { + "name": "params", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "amountOut", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "exactInputSingle", + "inputs": [ + { + "name": "params", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputSingleParams", + "components": [ + { + "name": "tokenIn", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenOut", + "type": "address", + "internalType": "address" + }, + { + "name": "fee", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sqrtPriceLimitX96", + "type": "uint160", + "internalType": "uint160" + } + ] + } + ], + "outputs": [ + { + "name": "amountOut", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "exactOutput", + "inputs": [ + { + "name": "params", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactOutputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOut", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountInMaximum", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "exactOutputSingle", + "inputs": [ + { + "name": "params", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactOutputSingleParams", + "components": [ + { + "name": "tokenIn", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenOut", + "type": "address", + "internalType": "address" + }, + { + "name": "fee", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOut", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountInMaximum", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "sqrtPriceLimitX96", + "type": "uint160", + "internalType": "uint160" + } + ] + } + ], + "outputs": [ + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "exactInput((bytes,address,uint256,uint256,uint256))": "c04b8d59", + "exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "414bf389", + "exactOutput((bytes,address,uint256,uint256,uint256))": "f28c0498", + "exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": "db3e2198" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IUniV3Zap.ts b/packages/hyperdrive-artifacts/src/IUniV3Zap.ts new file mode 100644 index 000000000..742e2a7af --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IUniV3Zap.ts @@ -0,0 +1,843 @@ +export const IUniV3Zap = { + name: 'IUniV3Zap' as const, + abi: [ + { + "type": "function", + "name": "addLiquidityZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "closeLongZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShortZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLongZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShortZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "redeemWithdrawalSharesZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidityZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapRouter", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ISwapRouter" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "error", + "name": "InvalidInputToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidOutputToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRecipient", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSourceAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSourceAsset", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSwap", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTransfer", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "ShouldWrapAssets", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6", + "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838", + "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d", + "kind()": "04baa00b", + "name()": "06fdde03", + "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586", + "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046", + "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d", + "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5", + "swapRouter()": "c31c9c07", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IVariableDebtToken.ts b/packages/hyperdrive-artifacts/src/IVariableDebtToken.ts new file mode 100644 index 000000000..54d34bd71 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IVariableDebtToken.ts @@ -0,0 +1,338 @@ +export const IVariableDebtToken = { + name: 'IVariableDebtToken' as const, + abi: [ + { + "type": "function", + "name": "UNDERLYING_ASSET_ADDRESS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getPreviousIndex", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getScaledUserBalanceAndSupply", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "pool", + "type": "address", + "internalType": "contract IPool" + }, + { + "name": "underlyingAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "internalType": "contract IAaveIncentivesController" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "scaledBalanceOf", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "scaledTotalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "underlyingAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "incentivesController", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "debtTokenDecimals", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "debtTokenName", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "debtTokenSymbol", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "params", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "balanceIncrease", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "UNDERLYING_ASSET_ADDRESS()": "b16a19de", + "burn(address,uint256,uint256)": "f5298aca", + "getPreviousIndex(address)": "e0753986", + "getScaledUserBalanceAndSupply(address)": "0afbcdc9", + "initialize(address,address,address,uint8,string,string,bytes)": "c222ec8a", + "mint(address,address,uint256,uint256)": "b3f1c93d", + "scaledBalanceOf(address)": "1da24f3e", + "scaledTotalSupply()": "b1bf962d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IWETH.ts b/packages/hyperdrive-artifacts/src/IWETH.ts new file mode 100644 index 000000000..a5e2db107 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IWETH.ts @@ -0,0 +1,261 @@ +export const IWETH = { + name: 'IWETH' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "wad", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "deposit()": "d0e30db0", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "withdraw(uint256)": "2e1a7d4d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IWrappedERC20.ts b/packages/hyperdrive-artifacts/src/IWrappedERC20.ts new file mode 100644 index 000000000..f9ddf25bd --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IWrappedERC20.ts @@ -0,0 +1,259 @@ +export const IWrappedERC20 = { + name: 'IWrappedERC20' as const, + abi: [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "wrap", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "wrap(uint256)": "ea598cb0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IXRenzoDeposit.ts b/packages/hyperdrive-artifacts/src/IXRenzoDeposit.ts new file mode 100644 index 000000000..44a7e13e1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IXRenzoDeposit.ts @@ -0,0 +1,41 @@ +export const IXRenzoDeposit = { + name: 'IXRenzoDeposit' as const, + abi: [ + { + "type": "function", + "name": "getMintRate", + "inputs": [], + "outputs": [ + { + "name": "lastPrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lastPriceTimestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "xezETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "getMintRate()": "96f0bd61", + "xezETH()": "152b2c4f" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IncentivizedERC20.ts b/packages/hyperdrive-artifacts/src/IncentivizedERC20.ts new file mode 100644 index 000000000..a7e8fbae8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IncentivizedERC20.ts @@ -0,0 +1,331 @@ +export const IncentivizedERC20 = { + name: 'IncentivizedERC20' as const, + abi: [ + { + "type": "function", + "name": "POOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "subtractedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getIncentivesController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IAaveIncentivesController" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "increaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "addedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setIncentivesController", + "inputs": [ + { + "name": "controller", + "type": "address", + "internalType": "contract IAaveIncentivesController" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "POOL()": "7535d246", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "decreaseAllowance(address,uint256)": "a457c2d7", + "getIncentivesController()": "75d26413", + "increaseAllowance(address,uint256)": "39509351", + "name()": "06fdde03", + "setIncentivesController(address)": "e655dbd8", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/IsolationModeLogic.ts b/packages/hyperdrive-artifacts/src/IsolationModeLogic.ts new file mode 100644 index 000000000..be1536911 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/IsolationModeLogic.ts @@ -0,0 +1,26 @@ +export const IsolationModeLogic = { + name: 'IsolationModeLogic' as const, + abi: [ + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c170b3081f9db79231c9a778cf578b6f91949997cf2eb4b07eb95309c94484e964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/L2Pool.ts b/packages/hyperdrive-artifacts/src/L2Pool.ts new file mode 100644 index 000000000..a18a27c35 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/L2Pool.ts @@ -0,0 +1,2326 @@ +export const L2Pool = { + name: 'L2Pool' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TOTAL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_NUMBER_RESERVES", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "backUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "configureEModeCategory", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "category", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeTransfer", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceFromBefore", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceToBefore", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRateModes", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoanSimple", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getBridgeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeCategoryData", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getFlashLoanLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getPoolLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getReserveAddressById", + "inputs": [ + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveData", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveDataLegacy", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveDataExtended", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveData", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationGracePeriodUntil", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "virtualUnderlyingBalance", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedIncome", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedVariableDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesCount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getUserAccountData", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "totalCollateralBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalDebtBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "availableBorrowsBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "currentLiquidationThreshold", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "healthFactor", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserConfiguration", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.UserConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserEMode", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVirtualUnderlyingBalance", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiveAToken", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "args1", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "args2", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resetIsolationModeTotalDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "until", + "type": "uint40", + "internalType": "uint40" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserveInterestRateStrategyAddress", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "rateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserEMode", + "inputs": [ + { + "name": "categoryId", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "useAsCollateral", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapToVariable", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncIndexesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncRatesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateBridgeProtocolFee", + "inputs": [ + { + "name": "protocolFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFlashloanPremiums", + "inputs": [ + { + "name": "flashLoanPremiumTotal", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "flashLoanPremiumToProtocol", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Borrow", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "borrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceStableBorrowRate", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Repay", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "repayer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "useATokens", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SwapBorrowRateMode", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "BRIDGE_PROTOCOL_FEE()": "272d9072", + "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", + "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", + "MAX_NUMBER_RESERVES()": "f8119d51", + "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", + "backUnbacked(address,uint256,uint256)": "d65dc7a1", + "borrow(address,uint256,uint256,uint16,address)": "a415bcad", + "borrow(bytes32)": "d5eed868", + "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", + "deposit(address,uint256,address,uint16)": "e8eda9df", + "dropReserve(address)": "63c9b860", + "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", + "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", + "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", + "getBorrowLogic()": "2be29fa7", + "getBridgeLogic()": "df374c36", + "getConfiguration(address)": "c44b11f7", + "getEModeCategoryData(uint8)": "6c6f6ae1", + "getEModeLogic()": "f32b9a73", + "getFlashLoanLogic()": "348fde0f", + "getLiquidationGracePeriod(address)": "5c9a8b18", + "getLiquidationLogic()": "911a3413", + "getPoolLogic()": "d3350155", + "getReserveAddressById(uint16)": "52751797", + "getReserveData(address)": "35ea6a75", + "getReserveDataExtended(address)": "8381995f", + "getReserveNormalizedIncome(address)": "d15e0053", + "getReserveNormalizedVariableDebt(address)": "386497fd", + "getReservesCount()": "72218d04", + "getReservesList()": "d1946dbc", + "getSupplyLogic()": "870e7744", + "getUserAccountData(address)": "bf92857c", + "getUserConfiguration(address)": "4417a583", + "getUserEMode(address)": "eddf1b79", + "getVirtualUnderlyingBalance(address)": "6fb07f96", + "initReserve(address,address,address,address,address)": "7a708e92", + "initialize(address)": "c4d66de8", + "liquidationCall(address,address,address,uint256,bool)": "00a718a9", + "liquidationCall(bytes32,bytes32)": "fd21ecff", + "mintToTreasury(address[])": "9cd19996", + "mintUnbacked(address,uint256,address,uint16)": "69a933a5", + "rebalanceStableBorrowRate(address,address)": "cd112382", + "rebalanceStableBorrowRate(bytes32)": "427da177", + "repay(address,uint256,uint256,address)": "573ade81", + "repay(bytes32)": "563dd613", + "repayWithATokens(address,uint256,uint256)": "2dad97d4", + "repayWithATokens(bytes32)": "dc7c0bff", + "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", + "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", + "rescueTokens(address,address,uint256)": "cea9d26f", + "resetIsolationModeTotalDebt(address)": "e43e88a1", + "setConfiguration(address,(uint256))": "f51e435b", + "setLiquidationGracePeriod(address,uint40)": "b1a99e26", + "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", + "setUserEMode(uint8)": "28530a47", + "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", + "setUserUseReserveAsCollateral(bytes32)": "4d013f03", + "supply(address,uint256,address,uint16)": "617ba037", + "supply(bytes32)": "f7a73840", + "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", + "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", + "swapBorrowRateMode(address,uint256)": "94ba89a2", + "swapBorrowRateMode(bytes32)": "1fe3c6f3", + "swapToVariable(address,address)": "2520d5ee", + "syncIndexesState(address)": "ab2b51f6", + "syncRatesState(address)": "98c7da4e", + "updateBridgeProtocolFee(uint256)": "3036b439", + "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", + "withdraw(address,uint256,address)": "69328dec", + "withdraw(bytes32)": "8e19899e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LPMath.ts b/packages/hyperdrive-artifacts/src/LPMath.ts new file mode 100644 index 000000000..e0199dc79 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LPMath.ts @@ -0,0 +1,446 @@ +export const LPMath = { + name: 'LPMath' as const, + abi: [ + { + "type": "function", + "name": "calculateDistributeExcessIdle", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateInitialReserves", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_targetApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculatePresentValue", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculatePresentValueSafe", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateUpdateLiquiditySafe", + "inputs": [ + { + "name": "_shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareReservesDelta", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x612046610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610060575f3560e01c80632c03ef68146100645780635a1b419e14610091578063b29e1d1e146100b9578063bf3aa156146100e7578063d0b457ce14610108575b5f80fd5b610077610072366004611e11565b61013d565b604080519283526020830191909152015b60405180910390f35b6100a461009f366004611ead565b610223565b60408051928352901515602083015201610088565b6100cc6100c7366004611ec8565b6102a9565b60408051938452602084019290925290820152606001610088565b6100fa6100f5366004611ead565b61035d565b604051908152602001610088565b61011b610116366004611f07565b610392565b6040805194855260208501939093529183015215156060820152608001610088565b5f805f806101538660c001518760e001516104a2565b9150915080610169575f8093509350505061021c565b5f61017487846104da565b92509050811580610183575080155b15610196575f809450945050505061021c565b5f6101a188836105e1565b9050805f036101b9575f80955095505050505061021c565b876060015181116101d0579450925061021c915050565b5060608701515f6101e38986858b6106b1565b9050805f036101fc575f8096509650505050505061021c565b828110610213575f8096509650505050505061021c565b90955093505050505b9250929050565b5f805f805f61023186610bac565b915091508061024757505f958695509350505050565b6102548660a00151610ec3565b61025d87610ef0565b8361026a895f0151610ec3565b6102749190611f52565b61027e9190611f52565b6102889190611f79565b925050505f81121561029f57505f93849350915050565b9360019350915050565b5f8080806102bb866301e13380610f5d565b90505f6102ec6102cb8984610f78565b6102dd90670de0b6b3a7640000611f98565b670de0b6b3a764000090610f8c565b8b955090506103406102fe8b87610f78565b6103088b84610fa0565b61032e610327610320670de0b6b3a76400008c610f5d565b8690610fb4565b8e90610fa0565b6103389190611f98565b8b9190611019565b925061034d83828c611019565b9350505096509650969350505050565b5f805f61036984610223565b915091508061038b57604051635516328b60e11b815260040160405180910390fd5b5092915050565b5f805f80845f036103ae57508792508691508590506001610496565b5f856103b98b610ec3565b6103c39190611f52565b90506103ce87610ec3565b8112156103e7575f805f80945094509450945050610496565b8094505f891261040b576104046103ff868b8d611019565b610ec3565b935061042e565b6104226103ff61041a8b611fab565b87908d611034565b61042b90611fab565b93505b5f8061043a8c8c6104a2565b9150915080610457575f805f809650965096509650505050610496565b5f61046288886104a2565b9250905081610480575f805f80975097509750975050505050610496565b61048b8b8285611019565b955060019450505050505b95509550955095915050565b5f805f836104af86610ec3565b6104b99190611f79565b90505f8112156104cf575f80925092505061021c565b946001945092505050565b5f805f8460a00151126104f55750506080820151600161021c565b5f8460a0015161050490611fab565b90505f61053e85876101000151885f015160e00151670de0b6b3a764000061052c9190611fc5565b89516060810151608090910151611057565b9350905082158061054d575080155b1561055f575f8093509350505061021c565b5f61056a8383610f8c565b9050670de0b6b3a764000081116105a65780670de0b6b3a764000003945061059f8760c0015186610f7890919063ffffffff16565b94506105b4565b5f809450945050505061021c565b86608001518511156105d357866080015160019450945050505061021c565b506001925050509250929050565b5f806106108460c001518560e00151866101000151875f015160a0015161060788610ec3565b61011690611fab565b87516040810192909252602082019290925291909152905080610636575f9150506106ab565b5f610643855f0151610223565b9250905081610656575f925050506106ab565b8460200151811061066b575f925050506106ab565b5f856060015186604001516106809190611f98565b905061069b828760200151836110199092919063ffffffff16565b6106a59082611fc5565b93505050505b92915050565b5f80856060015186604001516106c79190611f98565b602087015160608801519192505f916106e09184611019565b90508660a001515f036106f6579150610ba49050565b5f808089600488101561070857600497505b5f5b88811015610a535761071c868b611106565b95505f6107438360c001518460e00151856101000151865f015160a001516106078c610ec3565b86516040810192909252602082019290925291909152905080610770575f98505050505050505050610ba4565b5f61077d8e5f0151610223565b9250905081610797575f9950505050505050505050610ba4565b6107a284828b61111a565b156107b857879950505050505050505050610ba4565b5f8460a00151131561091a57835180516020820151604083015160a084015160e0909401515f9461080a949392916107f890670de0b6b3a7640000611fc5565b8a516060810151608090910151611185565b9350905082610825575f9a5050505050505050505050610ba4565b808560a00151106109185761083985611288565b909950925082610855575f9a5050505050505050505050610ba4565b6108798560c001518660e00151876101000151885f015160a001516106078e610ec3565b885160408101929092526020820192909252919091529250826108a8575f9a5050505050505050505050610ba4565b845180516020820151604083015160a084015160e0909401516108d894906107f890670de0b6b3a7640000611fc5565b93509050826108f3575f9a5050505050505050505050610ba4565b8e60a00151811161091057889a5050505050505050505050610ba4565b505050610a4b565b505b5f61092a858f8760a00151611355565b935090508215806109435750670de0b6b3a76400008110155b1561095a575f9a5050505050505050505050610ba4565b80670de0b6b3a76400000390505f6109866103ff87604001518860200151610fa090919063ffffffff16565b6109936103ff858e610f78565b61099d9190611f79565b90508815806109bb57506109b0896116a0565b6109b9826116a0565b105b156109ca578098508997508296505b5f8113156109f7576109e68b6109e08385610f5d565b90610f5d565b6109f0908b611f98565b9950610a46565b5f811215610a3d575f610a0f8c6109e0858186611fab565b90508a811015610a2357808b039a50610a37565b5f9c50505050505050505050505050610ba4565b50610a46565b50505050610a53565b505050505b60010161070a565b505f610a798260c001518360e00151846101000151855f015160a001516106078b610ec3565b85516040810192909252602082019290925291909152905080610aa5575f975050505050505050610ba4565b5f610ab2835f015161035d565b90505f610ad36103ff85604001518660200151610fa090919063ffffffff16565b610ae06103ff848c610f78565b610aea9190611f79565b9050610af5876116a0565b610afe826116a0565b1015610b0b578795508194505b610b32610b26655af3107a4000670de0b6b3a7640000611fc5565b6020860151908b611034565b6040850151610b42908790610f5d565b1080610b825750610b70610b64655af3107a4000670de0b6b3a7640000611f98565b6020860151908b611019565b6040850151610b80908790610f8c565b115b15610b98575f9950505050505050505050610ba4565b50939750505050505050505b949350505050565b5f805f610bcf6103ff856101600151866101400151610f7890919063ffffffff16565b610bef6103ff866101200151876101000151610fa090919063ffffffff16565b610bf99190611f79565b90505f80610c0e865f015187602001516104a2565b9150915080610c2457505f958695509350505050565b5f831315610d6b575f8390505f610c6e885f015189602001518a604001518b60a001518c60e00151670de0b6b3a7640000610c5f9190611fc5565b8d606001518e60800151611185565b9350905082610c8657505f9788975095505050505050565b818110610d21575f610cbf858a60400151858c60e00151670de0b6b3a7640000610cb09190611fc5565b8d606001518e608001516116b1565b9450905083158015610cd457508860c0015183105b15610cea57505f98600198509650505050505050565b83610cff57505f988998509650505050505050565b610d0881610ec3565b610d1190611fab565b9960019950975050505050505050565b5f886020015112610d5757610d3f8860a00151856103ff9190611fc5565b610d4890611fab565b98600198509650505050505050565b60a08801518851610d3f916103ff91611fc5565b5f831215610eb5575f610d7d84611fab565b90505f610db08489604001518a60e00151670de0b6b3a7640000610da19190611fc5565b8b606001518c60800151611057565b9350905082610dc857505f9788975095505050505050565b818110610e4a575f610e01858a60400151858c60e00151670de0b6b3a7640000610df29190611fc5565b8d606001518e60800151611770565b9450905083158015610e1657508860c0015183105b15610e2c57505f98600198509650505050505050565b83610e4157505f988998509650505050505050565b610d1181610ec3565b5f610e7b858a604001518b60e00151670de0b6b3a7640000610e6c9190611fc5565b8c606001518d60800151611842565b9450905083610e9457505f988998509650505050505050565b610d11610eab8a6060015184866109e09190611fc5565b6103ff9083611f98565b505f95600195509350505050565b5f6001600160ff1b03821115610eec5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f610f226103ff836101200151670de0b6b3a7640000610f109190611fc5565b60608501516101008601519190611034565b610f536103ff846101600151670de0b6b3a7640000610f419190611fc5565b60608601516101408701519190611019565b6106ab9190611f79565b5f610f7183670de0b6b3a764000084611019565b9392505050565b5f610f718383670de0b6b3a7640000611019565b5f610f7183670de0b6b3a764000084611034565b5f610f718383670de0b6b3a7640000611034565b5f815f03610fcb5750670de0b6b3a76400006106ab565b825f03610fd957505f6106ab565b5f610fe383610ec3565b90505f610ff7610ff286610ec3565b6118f4565b905081810261100e670de0b6b3a764000082611fd8565b90506106a581611b22565b5f825f19048411830215820261102d575f80fd5b5091020490565b5f825f190484118302158202611048575f80fd5b50910281810615159190040190565b5f805f6110678888888888611cbe565b90505f611091670de0b6b3a76400006110808888610f5d565b61108a9190611f98565b8390610f8c565b9050670de0b6b3a764000081106110c5576110be6110b7670de0b6b3a764000089610f8c565b8290610fb4565b90506110dd565b6110da6110b7670de0b6b3a764000089610f5d565b90505b808810156110f2575f809350935050506110fc565b8703925060019150505b9550959350505050565b5f8183116111145782610f71565b50919050565b60208301515f9061112b9084610f8c565b604085015161113b908490610f5d565b10158015610ba45750602084015161116b9084611164633b9aca00670de0b6b3a7640000611f98565b9190611019565b604085015161117b908490610f8c565b1115949350505050565b5f805f8812156111a55761119888611fab565b6111a29087611f98565b95505b5f806111b18b8b6104a2565b91509150806111c7575f8093509350505061127c565b5f6111d5838b8a8a8a611cec565b90505f6111f76111ef8a6111e98a8e610fa0565b90610fb4565b899089611034565b905080821015611210575f80955095505050505061127c565b808203670de0b6b3a7640000811061123e576112376110b7670de0b6b3a76400008c610f5d565b9050611256565b6112536110b7670de0b6b3a76400008c610f8c565b90505b8b81101561126e575f8096509650505050505061127c565b8b9003955060019450505050505b97509795505050505050565b5f805f8360e001511361129f57505f928392509050565b5f6112ac845f0151610ef0565b90505f6112d78560400151866060015187604001516112cb9190611f98565b60208801519190611034565b90505f82126112fc57808210156112f057819003611312565b505f9485945092505050565b61130582611fab565b61130f9082611f98565b90505b60e085015160c0860151611327918390611034565b9050808560c00151101561134157505f9485945092505050565b808560c00151036001935093505050915091565b5f805f80841261137757855160400151611370908590611f98565b90506113b0565b5f61138185611fab565b8751604001519091508110156113a15786516040015181900391506113ae565b5f80935093505050611698565b505b855180516020909101515f9182916113c891906104a2565b91509150806113df575f8094509450505050611698565b875160e08101516040909101515f9161141391611407916114009190610fb4565b8a90610f78565b6101008b015190610f8c565b895160e081015160809091015161143e91611432916111e99088610f78565b8b516060015190610f8c565b6114489190611f98565b90505f61147e61147261146b8c5f015160e0015188610fb490919063ffffffff16565b8b90610fa0565b6101008c015190610f5d565b905080821015611498575f80965096505050505050611698565b80820391505f6114d7858c5f0151604001518d5f015160e00151670de0b6b3a76400006114c59190611fc5565b8e516060810151608090910151611cbe565b90505f6114ff8c5f015160e00151670de0b6b3a76400006114f89190611fc5565b8890610fb4565b90508082101561151b575f809850985050505050505050611698565b8b51608081015160609091015191830391611537918391611034565b9050670de0b6b3a7640000811061157b578b5160e00151611574906110b79061156890670de0b6b3a7640000611fc5565b8e5160e0015190610f8c565b90506115aa565b8b5160e001516115a7906110b79061159b90670de0b6b3a7640000611fc5565b8e5160e0015190610f5d565b90505b8b51606001516115bd9085908390611034565b935083670de0b6b3a764000011156115e15783670de0b6b3a76400000393506115f4565b5f60019850985050505050505050611698565b5f8c60e00151126116555760c08c015160e08d015161161291610f8c565b9250670de0b6b3a7640000831115611636575f809850985050505050505050611698565b670de0b6b3a7640000929092039161164e8484610f78565b935061168a565b61168761166e8d60c001518e60e001516109e090611fab565b61168090670de0b6b3a7640000611f98565b8590610f78565b93505b509196506001955050505050505b935093915050565b5f80821215610eec57815f036106ab565b5f805f6116c18989888888611cbe565b90506116d1866111e9898b611f98565b9750878110156116e7575f809250925050611765565b8781036116f5818688611034565b9050670de0b6b3a764000081106117225761171b6110b7670de0b6b3a764000089610f8c565b905061173a565b6117376110b7670de0b6b3a764000089610f5d565b90505b6117448186610f8c565b9050808a101561175b575f80935093505050611765565b8903925060019150505b965096945050505050565b5f805f6117808989888888611cbe565b905086881015611796575f809250925050611765565b96869003966117a58887610fb4565b9750878110156117bb575f809250925050611765565b8781036117c9818688611034565b9050670de0b6b3a764000081106117f6576117ef6110b7670de0b6b3a764000089610f8c565b905061180e565b61180b6110b7670de0b6b3a764000089610f5d565b90505b6118188186610f8c565b90508981101561182f575f80935093505050611765565b9890980398600198509650505050505050565b5f805f6118528888888888611cec565b90505f61187c670de0b6b3a764000061186b8888610f8c565b6118759190611f98565b8390610f5d565b9050670de0b6b3a764000081106118a9576118a26110b7670de0b6b3a764000089610f5d565b90506118c1565b6118be6110b7670de0b6b3a764000089610f8c565b90505b6118cb8186610f5d565b9050888110156118e2575f809350935050506110fc565b97909703976001975095505050505050565b5f8082136119155760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906119a19084901c610ec3565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213611b3b57505f919050565b680755bf798b4a1bf1e58212611b64576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190611cb474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c610ec3565b9695505050505050565b5f611cc98585610fb4565b611ce2611cda866111e9868b610fa0565b859085611034565b611cb49190611f98565b5f611cf78585610fb4565b611ce2611d08866111e9868b610f78565b859085611019565b604051610180810167ffffffffffffffff81118282101715611d4057634e487b7160e01b5f52604160045260245ffd5b60405290565b604051610120810167ffffffffffffffff81118282101715611d4057634e487b7160e01b5f52604160045260245ffd5b5f6101808284031215611d87575f80fd5b611d8f611d10565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f808284036102a0811215611e24575f80fd5b61028080821215611e33575f80fd5b611e3b611d46565b9150611e478686611d76565b825261018085013560208301526101a085013560408301526101c085013560608301526101e0850135608083015261020085013560a083015261022085013560c083015261024085013560e0830152610260850135610100830152909593013593505050565b5f6101808284031215611ebe575f80fd5b610f718383611d76565b5f805f805f8060c08789031215611edd575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f60a08688031215611f1b575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715611f7157611f71611f3e565b505092915050565b8181035f83128015838313168383128216171561038b5761038b611f3e565b808201808211156106ab576106ab611f3e565b5f600160ff1b8201611fbf57611fbf611f3e565b505f0390565b818103818111156106ab576106ab611f3e565b5f82611ff257634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f198414161561200b5761200b611f3e565b50059056fea26469706673582212207d30891a36a0c36041d9662f91afa37ca8b7d83beba8fda2cbd821e451bebe4564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "calculateDistributeExcessIdle(LPMath.DistributeExcessIdleParams,uint256)": "2c03ef68", + "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e", + "calculatePresentValue(LPMath.PresentValueParams)": "bf3aa156", + "calculatePresentValueSafe(LPMath.PresentValueParams)": "5a1b419e", + "calculateUpdateLiquiditySafe(uint256,int256,uint256,uint256,int256)": "d0b457ce" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Lib.ts b/packages/hyperdrive-artifacts/src/Lib.ts new file mode 100644 index 000000000..e2f378b6b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Lib.ts @@ -0,0 +1,108 @@ +export const Lib = { + name: 'Lib' as const, + abi: [ + { + "type": "function", + "name": "eq", + "inputs": [ + { + "name": "b1", + "type": "string", + "internalType": "string" + }, + { + "name": "b2", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "eq", + "inputs": [ + { + "name": "b1", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "b2", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "eq", + "inputs": [ + { + "name": "b1", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "b2", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "neq", + "inputs": [ + { + "name": "b1", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "b2", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x61045d610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c806321a4964214610059578063a63c847814610080578063cdb1684014610059578063d37a20ba14610093575b5f80fd5b61006c610067366004610265565b6100a6565b604051901515815260200160405180910390f35b61006c61008e366004610356565b61010a565b61006c6100a1366004610265565b61014f565b5f815183511480156101035750816040516020016100c491906103ce565b60405160208183030381529060405280519060200120836040516020016100eb91906103ce565b60405160208183030381529060405280519060200120145b9392505050565b5f8151835114801561010357508160405160200161012891906103e9565b60405160208183030381529060405280519060200120836040516020016100eb91906103e9565b5f8151835114158061010357508160405160200161016d91906103ce565b604051602081830303815290604052805190602001208360405160200161019491906103ce565b604051602081830303815290604052805190602001201415905092915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156101f1576101f16101b4565b604052919050565b5f82601f830112610208575f80fd5b813567ffffffffffffffff811115610222576102226101b4565b610235601f8201601f19166020016101c8565b818152846020838601011115610249575f80fd5b816020850160208301375f918101602001919091529392505050565b5f8060408385031215610276575f80fd5b823567ffffffffffffffff8082111561028d575f80fd5b610299868387016101f9565b935060208501359150808211156102ae575f80fd5b506102bb858286016101f9565b9150509250929050565b5f82601f8301126102d4575f80fd5b8135602067ffffffffffffffff8211156102f0576102f06101b4565b8160051b6102ff8282016101c8565b9283528481018201928281019087851115610318575f80fd5b83870192505b8483101561034b5782356001600160a01b038116811461033c575f80fd5b8252918301919083019061031e565b979650505050505050565b5f8060408385031215610367575f80fd5b823567ffffffffffffffff8082111561037e575f80fd5b61038a868387016102c5565b9350602085013591508082111561039f575f80fd5b506102bb858286016102c5565b5f5b838110156103c65781810151838201526020016103ae565b50505f910152565b5f82516103df8184602087016103ac565b9190910192915050565b81515f9082906020808601845b8381101561041b5781516001600160a01b0316855293820193908201906001016103f6565b5092969550505050505056fea264697066735822122069b657e25d7cae19247d26135a6929fd1f24a9f183919c107de600699be4d97864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "eq(address[],address[])": "a63c8478", + "eq(bytes,bytes)": "cdb16840", + "eq(string,string)": "21a49642", + "neq(bytes,bytes)": "d37a20ba" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LiquidationLogic.ts b/packages/hyperdrive-artifacts/src/LiquidationLogic.ts new file mode 100644 index 000000000..a373dc729 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LiquidationLogic.ts @@ -0,0 +1,186 @@ +export const LiquidationLogic = { + name: 'LiquidationLogic' as const, + abi: [ + { + "type": "function", + "name": "CLOSE_FACTOR_HF_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_LIQUIDATION_CLOSE_FACTOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x613499610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004a575f3560e01c806383c1087d1461004e578063a18964a51461006f578063d246754414610090575b5f80fd5b818015610059575f80fd5b5061006d610068366004613018565b610099565b005b61007e670d2f13f7789f000081565b60405190815260200160405180910390f35b61007e61271081565b6100a1612e80565b6040808301516001600160a01b039081165f908152602089815283822060608701518416835284832060808801519094168352908890529290206100e4826106c9565b61016085018190526100f7908390610894565b6101618989886040518060a00160405280866040518060200160405290815f8201548152505081526020018a5f015181526020018a608001516001600160a01b031681526020018a60c001516001600160a01b031681526020018a60e0015160ff168152506108ec565b5060c08901819052610160890151610180955093508992509050610dae565b8660200187604001886060018381525083815250838152505050506101e281848460405180608001604052808961016001518152602001896040015181526020018960c0015181526020018a61010001516001600160a01b0316815250610e2d565b6101ed868487611195565b60a08801526001600160a01b03908116610120880152908116610100870152908116610140860181905260808701516040516370a0823160e01b815292166004830152906370a0823190602401602060405180830381865afa158015610255573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027991906130fe565b808552610160850151610100860151610120870151606088015160a089015160c08b01516102ae968a96959493929091611292565b60e08701526060860181905260808601919091526040850151036102e85760038201546102e8908290600160a81b900461ffff165f611592565b835160e085015160808601516102fe9190613129565b0361036857600383015461031f908290600160a81b900461ffff165f6115f2565b84608001516001600160a01b031685604001516001600160a01b03167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b6103728585611646565b6101608401516060808701519086015161039092859290915f611850565b6103a68989838761016001518860600151611b6b565b8460a00151156103c3576103be898989868989611cf3565b6103ce565b6103ce838686611e7b565b60e08401511561057f575f6103e284611f26565b90505f6103fc828760e00151611f8f90919063ffffffff16565b6101408701516080890151604051630ed1279f60e11b81526001600160a01b0391821660048201529293505f92911690631da24f3e90602401602060405180830381865afa158015610450573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047491906130fe565b90508082111561048e576104888184611fcc565b60e08801525b8661014001516001600160a01b031663f866c31989608001518961014001516001600160a01b031663ae1673356040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050c919061313c565b8a60e001516040518463ffffffff1660e01b815260040161054e939291906001600160a01b039384168152919092166020820152604081019190915260600190565b5f604051808303815f87803b158015610565575f80fd5b505af1158015610577573d5f803e3d5ffd5b505050505050505b6105b1338561016001516101e00151866060015188606001516001600160a01b031661200e909392919063ffffffff16565b6101608401516101e00151608086015160608601516040516337ecbb3b60e11b81523360048201526001600160a01b0392831660248201526044810191909152911690636fd97676906064015f604051808303815f87803b158015610614575f80fd5b505af1158015610626573d5f803e3d5ffd5b5050505084608001516001600160a01b031685606001516001600160a01b031686604001516001600160a01b03167fe413a321e8681d831f4dbccbca790d2952b56f977908e45be37335533e00528687606001518860800151338b60a001516040516106b6949392919093845260208401929092526001600160a01b031660408301521515606082015260800190565b60405180910390a4505050505050505050565b6106d1612ef6565b6106d9612ef6565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa1580156107c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ec91906130fe565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa15801561083d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108619190613157565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b90920416036108b4575050565b6108be82826120ad565b6108c8828261218b565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f805f805f806108fe875f0151511590565b1561091a57505f94508493508392508291505f19905081610da1565b6109a96040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff16156109ed57608088015160ff165f90815260208a90526040902060608901516109da91906122eb565b6101808401526101c08301526101a08201525b87602001518160c001511015610cc65760c08101518851610a0d91612394565b610a215760c08101805160010190526109ed565b60c08101515f90815260208b905260409020546001600160a01b03166102008201819052610a595760c08101805160010190526109ed565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a9083015261018082015115801590610ae15750816101e00151896080015160ff16145b610b5d57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015610b34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5891906130fe565b610b64565b8161018001515b825260a082015115801590610b84575060c08201518951610b84916123e6565b15610c7357610ba0896040015182845f01518560200151612434565b6040830181905261010083018051610bb9908390613129565b90525060808901516101e0830151610bd49160ff16906124e5565b1515610240830152608082015115610c2a57816102400151610bfa578160800151610c01565b816101a001515b8260400151610c10919061319e565b8261014001818151610c229190613129565b905250610c33565b60016102208301525b816102400151610c47578160a00151610c4e565b816101c001515b8260400151610c5d919061319e565b8261016001818151610c6f9190613129565b9052505b60c08201518951610c83916124f5565b15610cb557610c9f896040015182845f01518560200151612541565b8261012001818151610cb19190613129565b9052505b5060c08101805160010190526109ed565b8061010001515f03610cd8575f610cf3565b80610100015181610140015181610cf157610cf16131b5565b045b6101408201526101008101515f03610d0b575f610d26565b80610100015181610160015181610d2457610d246131b5565b045b61016082015261012081015115610d6857610d63816101200151610d5d83610160015184610100015161267090919063ffffffff16565b90612694565b610d6b565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b5f805f805f610dc18760800151896126c9565b90925090505f610dd18284613129565b90505f670d2f13f7789f00008811610deb57612710610def565b6113885b90505f610dfc8383612670565b90505f818b6020015111610e14578a60200151610e16565b815b949850929650929450505050505b93509350939050565b6040805160a0810182525f80825260208201819052918101829052606081018290526080810191909152604080516020810190915284548152610e6f906127b5565b151560208601525050501515815281516101c00151610e8d906127b5565b151560608601525050501515604082015280518015610ead575080604001515b60405180604001604052806002815260200161323760f01b81525090610eef5760405162461bcd60e51b8152600401610ee691906131c9565b60405180910390fd5b508060200151158015610f0457508060600151155b60405180604001604052806002815260200161323960f01b81525090610f3d5760405162461bcd60e51b8152600401610ee691906131c9565b5060608201516001600160a01b03161580610f635750670d2f13f7789f00008260400151105b80610fcd575081606001516001600160a01b0316637a5d20ea6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcd9190613215565b60405180604001604052806002815260200161353960f01b815250906110065760405162461bcd60e51b8152600401610ee691906131c9565b50600384015464ffffffffff428116600160b81b9092041610801561103f5750600383015464ffffffffff428116600160b81b90920416105b60405180604001604052806002815260200161393760f01b815250906110785760405162461bcd60e51b8152600401610ee691906131c9565b50670de0b6b3a764000082604001511060405180604001604052806002815260200161343560f01b815250906110c15760405162461bcd60e51b8152600401610ee691906131c9565b50604080516020810190915284549081905260101c61ffff161580159061110b5750600384015460408051602081019091528654815261110b91600160a81b900461ffff166123e6565b1515608082018190526040805180820190915260028152611a1b60f11b60208201529061114b5760405162461bcd60e51b8152600401610ee691906131c9565b5081602001515f141560405180604001604052806002815260200161343760f01b8152509061118d5760405162461bcd60e51b8152600401610ee691906131c9565b505050505050565b6004820154604080516020808201835285549182905291840151606085015160e08601515f958695869586956001600160a01b0390931694911c61ffff169260ff16156112815760e08901805160ff9081165f90815260208e815260409182902054935182519182019092528d549081905266010000000000009093046001600160a01b031692611230929182169160a89190911c166124e5565b1561126c5760e08a015160ff165f90815260208d90526040902054640100000000900461ffff1693506001600160a01b0381161561126c578092505b6001600160a01b0381161561127f578091505b505b929a90995091975095509350505050565b5f805f6112f3604051806101a001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405163b3596f0760e01b81526001600160a01b038b8116600483015286169063b3596f0790602401602060405180830381865afa158015611337573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135b91906130fe565b815260405163b3596f0760e01b81526001600160a01b038a8116600483015286169063b3596f0790602401602060405180830381865afa1580156113a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c591906130fe565b6020828101919091526040805191820190528c549081905260301c60ff1660c08201526101c08b01515160301c60ff1660a0820181905260c0820151600a90810a60e08401520a61010082015260408051602081019091528c549081905260981c61ffff166101608201526101008101518151611442919061319e565b8160e00151898360200151611457919061319e565b611461919061319e565b61146b9190613230565b6060820181905261147c9087612670565b604082018190528710156114e957610120810187905260e081015160208201516114de9188916114ac919061319e565b61010084015161012085015185516114c4919061319e565b6114ce919061319e565b6114d89190613230565b906127fd565b6101408201526114fd565b604081015161012082015261014081018890525b6101608101511561156f5761012081015161151890876127fd565b816101200151611528919061324f565b6080820181905261016082015161153f9190612670565b6101808201819052610120820151611557919061324f565b81610140015182610180015193509350935050611584565b8061012001518161014001515f935093509350505b985098509895505050505050565b6040805180820190915260028152610dcd60f21b6020820152608083106115cc5760405162461bcd60e51b8152600401610ee691906131c9565b50600182811b1b81156115e4578354811784556115ec565b835481191684555b50505050565b6040805180820190915260028152610dcd60f21b60208201526080831061162c5760405162461bcd60e51b8152600401610ee691906131c9565b50600182811b81011b81156115e4578354811784556115ec565b80606001518160200151106116f5576101608101516102208101516080840151606084015161014090930151604051637a94c56560e11b81526001600160a01b03928316600482015260248101949094526044840152169063f5298aca906064016020604051808303815f875af11580156116c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e791906130fe565b610160820151602001525050565b60208101511561179c576101608101516102208101516080840151602084015161014090930151604051637a94c56560e11b81526001600160a01b03928316600482015260248101949094526044840152169063f5298aca906064016020604051808303815f875af115801561176d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179191906130fe565b610160820151602001525b80610160015161020001516001600160a01b0316639dc29fac8360800151836020015184606001516117ce919061324f565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160408051808303815f875af1158015611815573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118399190613262565b61016083015160a081019190915260c001525b5050565b61187760405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161188b91611fcc565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e9161195291600401613284565b606060405180830381865afa15801561196d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119919190613306565b604084015260208301528082526119a790612826565b6001870180546001600160801b03928316600160801b02921691909117905560208101516119d490612826565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151611a0490612826565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152611a429051600160fc1b16151590565b15611af7578215611a9f57611a5683612826565b600987018054601090611a7a908490600160801b90046001600160801b0316613331565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115611af757611aae82612826565b600987018054601090611ad2908490600160801b90046001600160801b0316613358565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040805160208101909152835481525f908190611b89908888612892565b50915091508115611cea576001600160a01b0381165f908152602088905260408120600901546101c0860151516001600160801b039091169190611bf49060029060301c60ff16611bda919061324f565b611be590600a613458565b611bef9087613230565b612826565b9050806001600160801b0316826001600160801b031611611c6c576001600160a01b0383165f81815260208b8152604080832060090180546001600160801b0319169055519182527faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a2611ce7565b5f611c778284613358565b6001600160a01b0385165f81815260208d815260409182902060090180546001600160801b0319166001600160801b03959095169485179055905183815292935090917faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a2505b50505b50505050505050565b6101408101516040516370a0823160e01b81523360048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611d3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6091906130fe565b6101408301516080808601519085015160405163f866c31960e01b81526001600160a01b0392831660048201523360248201526044810191909152929350169063f866c319906064015f604051808303815f87803b158015611dc0575f80fd5b505af1158015611dd2573d5f803e3d5ffd5b50505050805f03611cea57335f90815260208681526040918290208251918201909252855481526004860154611e16918a918a9185916001600160a01b0316612935565b15611e71576003850154611e38908290600160a81b900461ffff1660016115f2565b604080850151905133916001600160a01b0316907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f2905f90a35b5050505050505050565b5f611e85846106c9565b9050611e918482610894565b60408301516080830151611eab9186918491905f90611850565b61014082015160808085015190840151610100840151604051636b81068560e11b81526001600160a01b0393841660048201523360248201526044810192909252606482015291169063d7020d0a906084015f604051808303815f87803b158015611f14575f80fd5b505af1158015611e71573d5f803e3d5ffd5b60038101545f90600160801b900464ffffffffff16428103611f54575050600101546001600160801b031690565b6001830154611f82906001600160801b0380821691611f7c91600160801b9091041684612b1f565b90611fcc565b9392505050565b50919050565b5f81156b033b2e3c9fd0803ce800000060028404190484111715611fb1575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b5f81156b019d971e4fe8401e740000001983900484111517611fec575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af1612050573d5f803e3d5ffd5b5061205a85612b5b565b6120a65760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610ee6565b5050505050565b6101608101511561211b575f6120cd826101600151836102400151612b1f565b90506120e68260e0015182611fcc90919063ffffffff16565b61010083018190526120f790612826565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b80511561184c575f612137826101800151836102400151612bfc565b905061215182610120015182611fcc90919063ffffffff16565b610140830181905261216290612826565b6002840180546001600160801b03929092166001600160801b0319909216919091179055505050565b6121be6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f036121cf57505050565b61012082015182516121e091611fcc565b602082015261014082015182516121f691611fcc565b6040820152606082015161026083015161024084015161221e92919064ffffffffff16612c04565b60608201819052604083015161223391611fcc565b80825260208201516080840151604084015161224f9190613129565b612259919061324f565b612263919061324f565b608082018190526101a083015161227a9190612670565b60a08201819052156122e6576122a5611bef8361010001518360a00151611f8f90919063ffffffff16565b6008840180545f906122c19084906001600160801b0316613331565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b81545f90819081908190660100000000000090046001600160a01b031680156123795760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa158015612352573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061237691906130fe565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106123d05760405162461bcd60e51b8152600401610ee691906131c9565b50508151600182901b1c60031615155b92915050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106124225760405162461bcd60e51b8152600401610ee691906131c9565b50509051600191821b82011c16151590565b5f8061243f85611f26565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f9287926124bc928692911690631da24f3e90602401602060405180830381865afa158015612498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906130fe565b6124c6919061319e565b90508381816124d7576124d76131b5565b04925050505b949350505050565b5f8215801590611f825750501490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106125315760405162461bcd60e51b8152600401610ee691906131c9565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa15801561258e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b291906130fe565b905080156125d0576125cd6125c686612d29565b8290611fcc565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa15801561261a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061263e91906130fe565b6126489082613129565b9050612654818561319e565b9050828181612665576126656131b5565b049695505050505050565b5f81156113881983900484111517612686575f80fd5b506127109102611388010490565b5f8115670de0b6b3a7640000600284041904841117156126b2575f80fd5b50670de0b6b3a76400009190910260028204010490565b6102008101516040516370a0823160e01b81526001600160a01b0384811660048301525f9283929116906370a0823190602401602060405180830381865afa158015612717573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273b91906130fe565b6102208401516040516370a0823160e01b81526001600160a01b038781166004830152909116906370a0823190602401602060405180830381865afa158015612786573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127aa91906130fe565b915091509250929050565b51670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000821615159167100000000000000016151590565b5f811561271060028404190484111715612815575f80fd5b506127109190910260028204010490565b5f6001600160801b0382111561288e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610ee6565b5090565b5f805f61289e86612d7f565b15612926575f6128ce877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa612dc2565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff169050801561292257600195509093509150610e249050565b5050505b505f9586955085945092505050565b81515f9060d41c64ffffffffff1615612b07575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015612985573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a9919061313c565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a08919061313c565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a6a919061313c565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa158015612ad4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612af89190613215565b612b05575f915050612b16565b505b612b1386868686612de6565b90505b95945050505050565b5f80612b3264ffffffffff84164261324f565b612b3c908561319e565b6301e13380900490506124dd816b033b2e3c9fd0803ce8000000613129565b5f612b7d565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015612bbc5760208114612bed57612bb77f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f612b61565b611f89565b823b612be457612be47311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014612b61565b60019150611f89565b3d5f803e50505f511515919050565b5f611f828383425b5f80612c1764ffffffffff85168461324f565b9050805f03612c35576b033b2e3c9fd0803ce8000000915050611f82565b5f1981015f808060028511612c4a575f612c4f565b600285035b925066038882915c4000612c638a80611fcc565b81612c7057612c706131b5565b0491506301e13380612c82838b611fcc565b81612c8f57612c8f6131b5565b0490505f82612c9e868861319e565b612ca8919061319e565b6002900490505f8285612cbb888a61319e565b612cc5919061319e565b612ccf919061319e565b60069004905080826301e13380612ce68a8f61319e565b612cf09190613230565b612d06906b033b2e3c9fd0803ce8000000613129565b612d109190613129565b612d1a9190613129565b9b9a5050505050505050505050565b60038101545f90600160801b900464ffffffffff16428103612d57575050600201546001600160801b031690565b6002830154611f82906001600160801b0380821691611f7c91600160801b9091041684612bfc565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa168015801590611f825750612dba60018261324f565b161592915050565b81515f9082165f198101198116825b60029190911c908115612b1657600101612dd1565b5f612df3825161ffff1690565b5f03612e0057505f6124dd565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16612e3f575060016124dd565b6040805160208101909152835481525f90612e5b908787612892565b5050905080158015612e765750825160d41c64ffffffffff16155b9695505050505050565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ef1612ef6565b905290565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001612f6b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b604051610120810167ffffffffffffffff81118282101715612fc357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114612fdd575f80fd5b50565b8035612feb81612fc9565b919050565b8015158114612fdd575f80fd5b8035612feb81612ff0565b803560ff81168114612feb575f80fd5b5f805f805f8587036101a081121561302e575f80fd5b8635955060208701359450604087013593506060870135925061012080607f198301121561305a575f80fd5b613062612f93565b91506080880135825260a0880135602083015261308160c08901612fe0565b604083015261309260e08901612fe0565b60608301526101006130a5818a01612fe0565b60808401526130b5828a01612ffd565b60a08401526130c76101408a01612fe0565b60c08401526130d96101608a01613008565b60e08401526130eb6101808a01612fe0565b9083015250949793965091945092919050565b5f6020828403121561310e575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156123e0576123e0613115565b5f6020828403121561314c575f80fd5b8151611f8281612fc9565b5f805f806080858703121561316a575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114613193575f80fd5b939692955090935050565b80820281158282048414176123e0576123e0613115565b634e487b7160e01b5f52601260045260245ffd5b5f602080835283518060208501525f5b818110156131f5578581018301518582016040015282016131d9565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215613225575f80fd5b8151611f8281612ff0565b5f8261324a57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156123e0576123e0613115565b5f8060408385031215613273575f80fd5b505080516020909101519092909150565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e08301516132e660e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215613318575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b0381811683821601908082111561335157613351613115565b5092915050565b6001600160801b0382811682821603908082111561335157613351613115565b600181815b808511156133b257815f190482111561339857613398613115565b808516156133a557918102915b93841c939080029061337d565b509250929050565b5f826133c8575060016123e0565b816133d457505f6123e0565b81600181146133ea57600281146133f457613410565b60019150506123e0565b60ff84111561340557613405613115565b50506001821b6123e0565b5060208310610133831016604e8410600b8410161715613433575081810a6123e0565b61343d8383613378565b805f190482111561345057613450613115565b029392505050565b5f611f8283836133ba56fea26469706673582212206146e953a98fe41ffefe6cf16f278f24ca100cff895ccf96c8a512a58bc5d87164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "CLOSE_FACTOR_HF_THRESHOLD()": "a18964a5", + "MAX_LIQUIDATION_CLOSE_FACTOR()": "d2467544", + "executeLiquidationCall(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(address => DataTypes.UserConfigurationMap) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.ExecuteLiquidationCallParams)": "83c1087d" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LogExpMath.ts b/packages/hyperdrive-artifacts/src/LogExpMath.ts new file mode 100644 index 000000000..398e00e9b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LogExpMath.ts @@ -0,0 +1,6 @@ +export const LogExpMath = { + name: 'LogExpMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a7ae31eba8cbbe474fc4edb444ce6466d8851b8894c8fabbef6c85fec087fd8b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHBase.ts b/packages/hyperdrive-artifacts/src/LsETHBase.ts new file mode 100644 index 000000000..56e1ddd02 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHBase.ts @@ -0,0 +1,657 @@ +export const LsETHBase = { + name: 'LsETHBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHConversions.ts b/packages/hyperdrive-artifacts/src/LsETHConversions.ts new file mode 100644 index 000000000..8af0d6527 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHConversions.ts @@ -0,0 +1,6 @@ +export const LsETHConversions = { + name: 'LsETHConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212209d5db7ec6980c2d229484aeb5fcc070c9ed0f9de164c153a6930cff2a67f266164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/LsETHHyperdrive.ts new file mode 100644 index 000000000..f18509489 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHHyperdrive.ts @@ -0,0 +1,1666 @@ +export const LsETHHyperdrive = { + name: 'LsETHHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220bdc3db00713c713ce4ea89bab770a4edc844cfbf3724c1ecf764cdc5a63a043b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/LsETHHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..102dd49c7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const LsETHHyperdriveCoreDeployer = { + name: 'LsETHHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50611d758061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611721806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea2646970667358221220bdc3db00713c713ce4ea89bab770a4edc844cfbf3724c1ecf764cdc5a63a043b64736f6c63430008160033a2646970667358221220f7be1875d7e656592ea6a3b3ace152d4e855469045823d2b4f1054c041326c4164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/LsETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..055ab957c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,818 @@ +export const LsETHHyperdriveDeployerCoordinator = { + name: 'LsETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_river", + "type": "address", + "internalType": "contract IRiverV1" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b5060405162002864380380620028648339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516124176200044d5f395f818161125001528181611285015261139901525f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526124175ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611a6c565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ba1565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611c5f565b6106d0565b348015610187575f80fd5b5061026b610196366004611c89565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611ca0565b348015610283575f80fd5b5061014f610292366004611c5f565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611e74565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004611edd565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602281526020016123c06022913981565b5f80546104bc90611f77565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890611f77565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190611faf565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190611ffe565b92505f6106538234612015565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db83836112b6565b90505b92915050565b5f6106db8383611320565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b610778868661134f565b5f6107838787611447565b90505f876040516020016107979190612034565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a61145e565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108739493929190612267565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b391906122ac565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109279190612034565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f878761134f565b5f6109998861145e565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a40939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a759493929190612267565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab591906122ac565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b73939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba89493929190612267565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be891906122ac565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca6939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb9493929190612267565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906122ac565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd9939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e9493929190612267565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e91906122ac565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611035908790602001612034565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e858561134f565b5f6110a88661145e565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a999897969594939291906122e8565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c591906122ac565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112435760405163350b944160e11b815260040160405180910390fd5b6112786001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685308661152c565b6112ac6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168685611599565b505f949350505050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa1580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190611ffe565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a1954906024016112e1565b6113598282611628565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461139757604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146113ed5760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611418576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611443576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b61146661194b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526115939186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061173c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115ea84826117a7565b611593576040516001600160a01b0384811660248301525f604483015261161e91869182169063095ea7b390606401611561565b611593848261173c565b6103e88260800151101561164f576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361167457604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061169e57508161010001518260e0015161169b919061236a565b15155b156116bc5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116e85750670de0b6b3a7640000826101c0015160200151115b806117035750670de0b6b3a7640000826101c0015160400151115b8061171e5750670de0b6b3a7640000826101c0015160600151115b15611443576040516322f72cc360e11b815260040160405180910390fd5b5f6117506001600160a01b03841683611844565b905080515f141580156117745750808060200190518101906117729190612389565b155b156117a257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516117c291906123a4565b5f604051808303815f865af19150503d805f81146117fb576040519150601f19603f3d011682016040523d82523d5f602084013e611800565b606091505b509150915081801561182a57508051158061182a57508080602001905181019061182a9190612389565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b0316848660405161186891906123a4565b5f6040518083038185875af1925050503d805f81146118a2576040519150601f19603f3d011682016040523d82523d5f602084013e6118a7565b606091505b50915091506118b78683836118c3565b925050505b9392505050565b6060826118d8576118d38261191f565b6118bc565b81511580156118ef57506001600160a01b0384163b155b1561191857604051639996b31560e01b81526001600160a01b0385166004820152602401611799565b50806118bc565b80511561192f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a1a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a39578181015183820152602001611a21565b50505f910152565b5f8151808452611a58816020860160208601611a1f565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611a41565b6001600160a01b0381168114611948575f80fd5b8035611a9d81611a7e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b8015158114611948575f80fd5b5f67ffffffffffffffff80841115611b2a57611b2a611aa2565b604051601f8501601f19908116603f01168101908282118183101715611b5257611b52611aa2565b81604052809350858152868686011115611b6a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b92575f80fd5b6106db83833560208501611b10565b5f805f805f60a08688031215611bb5575f80fd5b853594506020860135611bc781611a7e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bf1575f80fd5b908701906060828a031215611c04575f80fd5b611c0c611ab6565b8235611c1781611a7e565b81526020830135611c2781611b03565b6020820152604083013582811115611c3d575f80fd5b611c498b828601611b83565b6040830152508093505050509295509295909350565b5f8060408385031215611c70575f80fd5b8235611c7b81611a7e565b946020939093013593505050565b5f60208284031215611c99575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d2d575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5057611d50611aa2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d92575f80fd5b611d9a611adf565b9050611da582611a92565b8152611db360208301611a92565b6020820152611dc460408301611a92565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e21818401611a92565b90820152610160611e33838201611a92565b90820152610180611e45838201611a92565b908201526101a0611e57838201611a92565b908201526101c0611e6a84848301611d1d565b9082015292915050565b5f805f805f6102c08688031215611e89575f80fd5b85359450611e9a8760208801611d81565b935061026086013567ffffffffffffffff811115611eb6575f80fd5b611ec288828901611b83565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef2575f80fd5b85359450602086013567ffffffffffffffff80821115611f10575f80fd5b818801915088601f830112611f23575f80fd5b611f3289833560208501611b10565b9550611f418960408a01611d81565b9450610280880135915080821115611f57575f80fd5b50611f6488828901611b83565b959894975092956102a001359392505050565b600181811c90821680611f8b57607f821691505b602082108103611fa957634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611ff460c0840182611a41565b9695505050505050565b5f6020828403121561200e575f80fd5b5051919050565b818103818111156106de57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161206060208401826001600160a01b03169052565b50604083015161207b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e1828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d15565b80516001600160a01b03168252602081015161217160208401826001600160a01b03169052565b50604081015161218c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121fe828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611593565b5f6102c0612275838861214a565b6001600160a01b038616610260840152610280830181905261229981840186611a41565b915050826102a083015295945050505050565b5f602082840312156122bc575f80fd5b81516118bc81611a7e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122fb8184018e611a41565b905061230a602084018d61214a565b6001600160a01b038b81166102808501528382036102a085015261232e828c611a41565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f8261238457634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612399575f80fd5b81516118bc81611b03565b5f82516123b5818460208701611a1f565b919091019291505056fe4c73455448487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122029f18a60d511243849abcb02a0025cd8a3816cf62af1871c536db183bf219d1c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget0.ts b/packages/hyperdrive-artifacts/src/LsETHTarget0.ts new file mode 100644 index 000000000..d4cfb1007 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget0.ts @@ -0,0 +1,1932 @@ +export const LsETHTarget0 = { + name: 'LsETHTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003c4138038062003c418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138076200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d950152818161124701526127e801525f8181610dbb01526129de01525f818161060701528181610c7901528181611d9f015281816125180152818161254301526129b001525f8181610c4a01526111e401526138075ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c16565b610559565b60405161024c9190612c7a565b60405180910390f35b610268610263366004612ca0565b610590565b005b610268610278366004612cc8565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612ce3565b610638565b6102686102ce366004612db9565b610654565b6102686102e1366004612e48565b61066a565b6102f96102f4366004612c16565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e8d565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612ecc565b610742565b61033e61077a565b61033e61038f366004612efa565b610798565b6103a76103a2366004612ca0565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c16565b6107c1565b6102686103d8366004612f31565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612f78565b610268610408366004613019565b5050565b61033e61041a366004612ca0565b610b4b565b610295610b76565b610268610435366004613045565b610bb5565b610268610448366004613019565b610bc6565b61026861045b366004612ca0565b50565b610466610c31565b60405161024c919061307a565b61033e610481366004612c16565b6110f1565b61033e610494366004612c16565b6110fe565b6104ac6104a73660046131a0565b61111f565b60405161024c91906131df565b6102956111d6565b61033e611215565b61033e6104d7366004612c16565b61122e565b61033e6104ea366004612c16565b61123b565b6104f7611271565b60405161024c9190613222565b610268610512366004613333565b61137c565b6103a761052536600461338e565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612c7a565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e4c734554484879706572647269766560881b8152506040516020016105779190612c7a565b90565b60606105df600160405160200161057791906133ba565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612c7a565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f919061348f565b61093991906134a2565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134b5565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612f78565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b42565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8591906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1391906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa191906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f91906134e3565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815250604051602001610577919061307a565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b6134fe565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613512565b9050602002013590505f81549050808484815181106111a5576111a5613512565b60209081029190910101525050600101611169565b506111cf8160405160200161057791906131df565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361253d565b5f61058b61078661126c7f00000000000000000000000000000000000000000000000000000000000000008561348f565b612568565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f611480826125a8565b90505f83600381111561149557611495613467565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db613467565b0361150757806040516020016114f19190613526565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b613467565b0361153157806040516020016114f1919061355e565b600383600381111561154557611545613467565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612c7a565b60405180910390fd5b6115b761265a565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163891906134e3565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce91906134e3565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117879190613597565b905061179d6001600160a01b0385168483612682565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189091906134e3565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613512565b905060200201358888868686818110611baf57611baf613512565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134a2565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134a2565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f90849061348f565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e109190613597565b905090565b5f611e1e61265a565b611e27826126d4565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea891906134e3565b90506001600160a01b038116611ec16020850185612ca0565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906134e3565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe0818387612709565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612cc8565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135ae565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613512565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f612144826125a8565b90505f83600381111561215957612159613467565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f613467565b036121b557806040516020016114f1919061366e565b60028360038111156121c9576121c9613467565b036121df57806040516020016114f191906136a5565b60038360038111156121f3576121f3613467565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b0911661279f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e29290041661279f565b905292915050565b5f6107248383670de0b6b3a7640000612813565b5f61072483670de0b6b3a764000084612813565b5f6107747f00000000000000000000000000000000000000000000000000000000000000008361282e565b5f6107747f000000000000000000000000000000000000000000000000000000000000000083612898565b5f61258d600b5f61257a6002866128c7565b81526020019081526020015f20546128fb565b61259e600b5f61257a6001876128c7565b61077491906136d0565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561264c576125e1600a86613703565b6125ec90603061348f565b60f81b8260016125fc84876134a2565b61260691906134a2565b8151811061261657612616613512565b60200101906001600160f81b03191690815f1a9053508061263681613716565b91506126459050600a8661372e565b94506125d0565b918290030190815292915050565b60025f540361267c57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612928565b5f6126e26020830183612ca0565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061271585856124ea565b90506127208161253d565b9450845f03612732575f915050610724565b8491506127456040840160208501612cc8565b156127745761276d8561275b6020860186612ca0565b6127686040870187613741565b612989565b9150612797565b612797856127856020860186612ca0565b6127926040870187613741565b6129a3565b509392505050565b5f80670de0b6b3a76400006127b26129d7565b6127bc9190613784565b90508083116127cb575f6127d5565b6127d581846134a2565b915061072461280c670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613784565b83906124fe565b5f825f190484118302158202612827575f80fd5b5091020490565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015612874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190613597565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612859565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a02565b905080515f1415801561296057508080602001905181019061295e919061379b565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b6106776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612682565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a0f565b606061072483835f612a24565b5f612a1a8284613703565b61072490846134a2565b606081471015612a495760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612a6491906137b6565b5f6040518083038185875af1925050503d805f8114612a9e576040519150601f19603f3d011682016040523d82523d5f602084013e612aa3565b606091505b5091509150612ab3868383612abd565b9695505050505050565b606082612ad257612acd82612b19565b610724565b8151158015612ae957506001600160a01b0384163b155b15612b1257604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b295780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c1160405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c26575f80fd5b5035919050565b5f5b83811015612c47578181015183820152602001612c2f565b50505f910152565b5f8151808452612c66816020860160208601612c2d565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c4f565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cb0575f80fd5b813561072481612c8c565b801515811461045b575f80fd5b5f60208284031215612cd8575f80fd5b813561072481612cbb565b5f805f805f805f805f6101208a8c031215612cfc575f80fd5b8935985060208a0135975060408a0135612d1581612c8c565b965060608a0135612d2581612c8c565b955060808a0135612d3581612cbb565b945060a08a0135935060c08a013560ff81168114612d51575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d81575f80fd5b50813567ffffffffffffffff811115612d98575f80fd5b6020830191508360208260051b8501011115612db2575f80fd5b9250929050565b5f805f805f8060808789031215612dce575f80fd5b8635612dd981612c8c565b95506020870135612de981612c8c565b9450604087013567ffffffffffffffff80821115612e05575f80fd5b612e118a838b01612d71565b90965094506060890135915080821115612e29575f80fd5b50612e3689828a01612d71565b979a9699509497509295939492505050565b5f805f8060808587031215612e5b575f80fd5b843593506020850135612e6d81612c8c565b92506040850135612e7d81612c8c565b9396929550929360600135925050565b5f805f60608486031215612e9f575f80fd5b833592506020840135612eb181612c8c565b91506040840135612ec181612c8c565b809150509250925092565b5f8060408385031215612edd575f80fd5b823591506020830135612eef81612c8c565b809150509250929050565b5f60208284031215612f0a575f80fd5b813567ffffffffffffffff811115612f20575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f44575f80fd5b843593506020850135612f5681612c8c565b9250604085013591506060850135612f6d81612c8c565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561302a575f80fd5b823561303581612c8c565b91506020830135612eef81612cbb565b5f805f60608486031215613057575f80fd5b83359250602084013561306981612c8c565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130a660208401826001600160a01b03169052565b5060408301516130c160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613133828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131b1575f80fd5b823567ffffffffffffffff8111156131c7575f80fd5b6131d385828601612d71565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b81811015613216578351835292840192918401916001016131fa565b50909695505050505050565b81516001600160801b031681526101808101602083015161324e60208401826001600160801b03169052565b50604083015161326960408401826001600160801b03169052565b50606083015161328460608401826001600160801b03169052565b5060808301516132996080840182600f0b9052565b5060a08301516132b460a08401826001600160801b03169052565b5060c08301516132cf60c08401826001600160801b03169052565b5060e08301516132ea60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613198565b5f805f805f60a08688031215613347575f80fd5b85359450602086013561335981612c8c565b9350604086013561336981612c8c565b925060608601359150608086013561338081612c8c565b809150509295509295909350565b5f806040838503121561339f575f80fd5b82356133aa81612c8c565b91506020830135612eef81612c8c565b5f60208083525f84545f60018260011c915060018316806133dc57607f831692505b6020831081036133fa57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613419576001811461342f57613458565b60ff198616825284151560051b82019650613458565b5f8b8152602090205f5b8681101561345257815484820152908501908901613439565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107745761077461347b565b818103818111156107745761077461347b565b5f80604083850312156134c6575f80fd5b825191506020830151612eef81612cbb565b805161058b81612c8c565b5f602082840312156134f3575f80fd5b815161072481612c8c565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613551816011850160208701612c2d565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161358a816012850160208701612c2d565b9190910160120192915050565b5f602082840312156135a7575f80fd5b5051919050565b5f60208083850312156135bf575f80fd5b825167ffffffffffffffff808211156135d6575f80fd5b818501915085601f8301126135e9575f80fd5b8151818111156135fb576135fb6134fe565b8060051b604051601f19603f83011681018181108582111715613620576136206134fe565b60405291825284820192508381018501918883111561363d575f80fd5b938501935b8285101561366257613653856134d8565b84529385019392850192613642565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613698816010850160208701612c2d565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613551816011850160208701612c2d565b8181035f8312801583831316838312821617156111cf576111cf61347b565b634e487b7160e01b5f52601260045260245ffd5b5f82613711576137116136ef565b500690565b5f600182016137275761372761347b565b5060010190565b5f8261373c5761373c6136ef565b500490565b5f808335601e19843603018112613756575f80fd5b83018035915067ffffffffffffffff821115613770575f80fd5b602001915036819003821315612db2575f80fd5b80820281158282048414176107745761077461347b565b5f602082840312156137ab575f80fd5b815161072481612cbb565b5f82516137c7818460208701612c2d565b919091019291505056fea264697066735822122071dc04792ad1864538c49a16e0ed257335e824ba5f88831fad415514b63abb0864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/LsETHTarget0Deployer.ts new file mode 100644 index 000000000..5178682ba --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const LsETHTarget0Deployer = { + name: 'LsETHTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506141198061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613c41806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003c4138038062003c418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138076200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d950152818161124701526127e801525f8181610dbb01526129de01525f818161060701528181610c7901528181611d9f015281816125180152818161254301526129b001525f8181610c4a01526111e401526138075ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c16565b610559565b60405161024c9190612c7a565b60405180910390f35b610268610263366004612ca0565b610590565b005b610268610278366004612cc8565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612ce3565b610638565b6102686102ce366004612db9565b610654565b6102686102e1366004612e48565b61066a565b6102f96102f4366004612c16565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e8d565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612ecc565b610742565b61033e61077a565b61033e61038f366004612efa565b610798565b6103a76103a2366004612ca0565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c16565b6107c1565b6102686103d8366004612f31565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612f78565b610268610408366004613019565b5050565b61033e61041a366004612ca0565b610b4b565b610295610b76565b610268610435366004613045565b610bb5565b610268610448366004613019565b610bc6565b61026861045b366004612ca0565b50565b610466610c31565b60405161024c919061307a565b61033e610481366004612c16565b6110f1565b61033e610494366004612c16565b6110fe565b6104ac6104a73660046131a0565b61111f565b60405161024c91906131df565b6102956111d6565b61033e611215565b61033e6104d7366004612c16565b61122e565b61033e6104ea366004612c16565b61123b565b6104f7611271565b60405161024c9190613222565b610268610512366004613333565b61137c565b6103a761052536600461338e565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612c7a565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e4c734554484879706572647269766560881b8152506040516020016105779190612c7a565b90565b60606105df600160405160200161057791906133ba565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612c7a565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f919061348f565b61093991906134a2565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134b5565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612f78565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b42565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8591906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1391906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa191906134e3565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f91906134e3565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815250604051602001610577919061307a565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b6134fe565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613512565b9050602002013590505f81549050808484815181106111a5576111a5613512565b60209081029190910101525050600101611169565b506111cf8160405160200161057791906131df565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361253d565b5f61058b61078661126c7f00000000000000000000000000000000000000000000000000000000000000008561348f565b612568565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f611480826125a8565b90505f83600381111561149557611495613467565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db613467565b0361150757806040516020016114f19190613526565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b613467565b0361153157806040516020016114f1919061355e565b600383600381111561154557611545613467565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612c7a565b60405180910390fd5b6115b761265a565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163891906134e3565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce91906134e3565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117879190613597565b905061179d6001600160a01b0385168483612682565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189091906134e3565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613512565b905060200201358888868686818110611baf57611baf613512565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134a2565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134a2565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f90849061348f565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e109190613597565b905090565b5f611e1e61265a565b611e27826126d4565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea891906134e3565b90506001600160a01b038116611ec16020850185612ca0565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906134e3565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe0818387612709565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612cc8565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135ae565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613512565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f612144826125a8565b90505f83600381111561215957612159613467565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f613467565b036121b557806040516020016114f1919061366e565b60028360038111156121c9576121c9613467565b036121df57806040516020016114f191906136a5565b60038360038111156121f3576121f3613467565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b0911661279f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e29290041661279f565b905292915050565b5f6107248383670de0b6b3a7640000612813565b5f61072483670de0b6b3a764000084612813565b5f6107747f00000000000000000000000000000000000000000000000000000000000000008361282e565b5f6107747f000000000000000000000000000000000000000000000000000000000000000083612898565b5f61258d600b5f61257a6002866128c7565b81526020019081526020015f20546128fb565b61259e600b5f61257a6001876128c7565b61077491906136d0565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561264c576125e1600a86613703565b6125ec90603061348f565b60f81b8260016125fc84876134a2565b61260691906134a2565b8151811061261657612616613512565b60200101906001600160f81b03191690815f1a9053508061263681613716565b91506126459050600a8661372e565b94506125d0565b918290030190815292915050565b60025f540361267c57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612928565b5f6126e26020830183612ca0565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061271585856124ea565b90506127208161253d565b9450845f03612732575f915050610724565b8491506127456040840160208501612cc8565b156127745761276d8561275b6020860186612ca0565b6127686040870187613741565b612989565b9150612797565b612797856127856020860186612ca0565b6127926040870187613741565b6129a3565b509392505050565b5f80670de0b6b3a76400006127b26129d7565b6127bc9190613784565b90508083116127cb575f6127d5565b6127d581846134a2565b915061072461280c670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613784565b83906124fe565b5f825f190484118302158202612827575f80fd5b5091020490565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015612874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190613597565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612859565b5f6001600160f81b038211156128f05760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129245760405163396ea70160e11b815260040160405180910390fd5b5090565b5f61293c6001600160a01b03841683612a02565b905080515f1415801561296057508080602001905181019061295e919061379b565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b6106776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612682565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a0f565b606061072483835f612a24565b5f612a1a8284613703565b61072490846134a2565b606081471015612a495760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612a6491906137b6565b5f6040518083038185875af1925050503d805f8114612a9e576040519150601f19603f3d011682016040523d82523d5f602084013e612aa3565b606091505b5091509150612ab3868383612abd565b9695505050505050565b606082612ad257612acd82612b19565b610724565b8151158015612ae957506001600160a01b0384163b155b15612b1257604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b295780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c1160405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c26575f80fd5b5035919050565b5f5b83811015612c47578181015183820152602001612c2f565b50505f910152565b5f8151808452612c66816020860160208601612c2d565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c4f565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cb0575f80fd5b813561072481612c8c565b801515811461045b575f80fd5b5f60208284031215612cd8575f80fd5b813561072481612cbb565b5f805f805f805f805f6101208a8c031215612cfc575f80fd5b8935985060208a0135975060408a0135612d1581612c8c565b965060608a0135612d2581612c8c565b955060808a0135612d3581612cbb565b945060a08a0135935060c08a013560ff81168114612d51575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d81575f80fd5b50813567ffffffffffffffff811115612d98575f80fd5b6020830191508360208260051b8501011115612db2575f80fd5b9250929050565b5f805f805f8060808789031215612dce575f80fd5b8635612dd981612c8c565b95506020870135612de981612c8c565b9450604087013567ffffffffffffffff80821115612e05575f80fd5b612e118a838b01612d71565b90965094506060890135915080821115612e29575f80fd5b50612e3689828a01612d71565b979a9699509497509295939492505050565b5f805f8060808587031215612e5b575f80fd5b843593506020850135612e6d81612c8c565b92506040850135612e7d81612c8c565b9396929550929360600135925050565b5f805f60608486031215612e9f575f80fd5b833592506020840135612eb181612c8c565b91506040840135612ec181612c8c565b809150509250925092565b5f8060408385031215612edd575f80fd5b823591506020830135612eef81612c8c565b809150509250929050565b5f60208284031215612f0a575f80fd5b813567ffffffffffffffff811115612f20575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f44575f80fd5b843593506020850135612f5681612c8c565b9250604085013591506060850135612f6d81612c8c565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561302a575f80fd5b823561303581612c8c565b91506020830135612eef81612cbb565b5f805f60608486031215613057575f80fd5b83359250602084013561306981612c8c565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130a660208401826001600160a01b03169052565b5060408301516130c160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613133828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131b1575f80fd5b823567ffffffffffffffff8111156131c7575f80fd5b6131d385828601612d71565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b81811015613216578351835292840192918401916001016131fa565b50909695505050505050565b81516001600160801b031681526101808101602083015161324e60208401826001600160801b03169052565b50604083015161326960408401826001600160801b03169052565b50606083015161328460608401826001600160801b03169052565b5060808301516132996080840182600f0b9052565b5060a08301516132b460a08401826001600160801b03169052565b5060c08301516132cf60c08401826001600160801b03169052565b5060e08301516132ea60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613198565b5f805f805f60a08688031215613347575f80fd5b85359450602086013561335981612c8c565b9350604086013561336981612c8c565b925060608601359150608086013561338081612c8c565b809150509295509295909350565b5f806040838503121561339f575f80fd5b82356133aa81612c8c565b91506020830135612eef81612c8c565b5f60208083525f84545f60018260011c915060018316806133dc57607f831692505b6020831081036133fa57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613419576001811461342f57613458565b60ff198616825284151560051b82019650613458565b5f8b8152602090205f5b8681101561345257815484820152908501908901613439565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107745761077461347b565b818103818111156107745761077461347b565b5f80604083850312156134c6575f80fd5b825191506020830151612eef81612cbb565b805161058b81612c8c565b5f602082840312156134f3575f80fd5b815161072481612c8c565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613551816011850160208701612c2d565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161358a816012850160208701612c2d565b9190910160120192915050565b5f602082840312156135a7575f80fd5b5051919050565b5f60208083850312156135bf575f80fd5b825167ffffffffffffffff808211156135d6575f80fd5b818501915085601f8301126135e9575f80fd5b8151818111156135fb576135fb6134fe565b8060051b604051601f19603f83011681018181108582111715613620576136206134fe565b60405291825284820192508381018501918883111561363d575f80fd5b938501935b8285101561366257613653856134d8565b84529385019392850192613642565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613698816010850160208701612c2d565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613551816011850160208701612c2d565b8181035f8312801583831316838312821617156111cf576111cf61347b565b634e487b7160e01b5f52601260045260245ffd5b5f82613711576137116136ef565b500690565b5f600182016137275761372761347b565b5060010190565b5f8261373c5761373c6136ef565b500490565b5f808335601e19843603018112613756575f80fd5b83018035915067ffffffffffffffff821115613770575f80fd5b602001915036819003821315612db2575f80fd5b80820281158282048414176107745761077461347b565b5f602082840312156137ab575f80fd5b815161072481612cbb565b5f82516137c7818460208701612c2d565b919091019291505056fea264697066735822122071dc04792ad1864538c49a16e0ed257335e824ba5f88831fad415514b63abb0864736f6c63430008160033a2646970667358221220f343c3e7e148a89c09d031cbd59095ac3b96e49cd08ff0ca686758db49ba03d164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget1.ts b/packages/hyperdrive-artifacts/src/LsETHTarget1.ts new file mode 100644 index 000000000..b9a7c8e6e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget1.ts @@ -0,0 +1,990 @@ +export const LsETHTarget1 = { + name: 'LsETHTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f0638038062003f068339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8c6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612b5701525f818161139301528181611791015281816117f4015281816127400152818161277c015281816129740152612b3101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b0b01525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b7d01525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015261255001525f5050613a8c5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613510565b610070565b60405190815260200160405180910390f35b61004b61006b366004613510565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061357e565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613591565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135c4565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135ec565b6102bd8a6102b78d8f61357e565b90611584565b8d6102cb60408c018c613607565b6040516102df989796959493929190613672565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061357e565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136b9565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135c4565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135ec565b8a61050260408b018b613607565b60405161051597969594939291906136e0565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135c4565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61357e565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613720565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361357e565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613720565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f828254610878919061357e565b909155506108939050865f8461088d81611321565b88611164565b61089d818361357e565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c4919061357e565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613720565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613591565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613773565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613720565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e968184613720565b610ea0908961357e565b9750610eac828461357e565b610eb6908d61357e565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613720565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a613720565b9850670de0b6b3a7640000610ff0610f8b878761357e565b600254610fa9908f90600160801b90046001600160801b0316613720565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613720565b6110d1919061378e565b85670de0b6b3a76400006110e5878a613720565b6110ef919061378e565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661378e565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137a5565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613591565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b031661357e565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016135ec565b15611558576115518561153f60208601866135c4565b61154c6040870187613607565b612529565b915061157b565b61157b8561156960208601866135c4565b6115766040870187613607565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae8284613720565b6116b89089613720565b97506116c4818461357e565b6116ce908e613720565b9c506116da8a8e61357e565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613720565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613720565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613591565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861378e565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613720565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613806565b61157d9084613720565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b9061265f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a688383613720565b9050611a776110fa82866126ce565b60068054601090611a99908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836126e290919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b11919061357e565b90915550611b2190508183613720565b9150611b2c826119e0565b600280545f90611b469084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126f6565b600480545f90611b87908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856126e2565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c318282613720565b611c3b9084613720565b9250611c59565b611c4c8282613720565b611c56908461357e565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906126e2565b9050611cab8884866124e3565b611cb5908261357e565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b031690613720565b9050805f03611d5657600191505061131b565b5f611d608561271f565b9050805f03611d745760019250505061131b565b5f80611d818385896127ba565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613897565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f919061390c565b91509150611e2d611e1f82611321565b611e289061392e565b61292e565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612ac2565b6040518263ffffffff1660e01b8152600401611f2b9190613948565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613957565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe39161357e565b611fed9190613720565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613985565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d38184613720565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006126e2565b5f808061211f61211788670de0b6b3a7640000613720565b899087612bfc565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a7640000613720565b8989612c1f565b925061215e838261357e565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a7640000613720565b83906124cf565b61157d90670de0b6b3a7640000613720565b5f806121d3856121ab6119aa565b6121b5919061357e565b600254610fa9908790600160801b90046001600160801b0316613720565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a7640000613720565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612bfc565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a7640000613720565b8a9088612bfc565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e2908461357e565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613591565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613591565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae848761357e565b6123b88587611584565b6123c2888a611584565b611c98919061357e565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b6124266124088487613720565b61241285876124cf565b61241c888a611584565b611c989190613720565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c41565b612483845f612c41565b61248d9190613591565b90505f8113156124a8576124a1818661357e565b94506124c6565b5f8112156124c6576124b98161392e565b6124c39086613720565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612bfc565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c56565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c85565b50505050565b5f808061259d61259588670de0b6b3a7640000613720565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a7640000613720565b8989612cdc565b5f806125dc8484612cec565b9092509050806125ee576125ee6113ec565b5092915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa15801561263b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613999565b5f815f036126765750670de0b6b3a764000061131b565b825f0361268457505f61131b565b5f61268e83611321565b90505f6126a261269d86611321565b612d27565b90508181026126b9670de0b6b3a7640000826139b0565b90506126c481612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612bfc565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612739906001600160801b0316846126ce565b90506127657f00000000000000000000000000000000000000000000000000000000000000008261357e565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127b09083906001600160801b0316613720565b61157d9190613720565b6127c2613471565b5f806127cd84612ac2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128079190613948565b6040805180830381865af4158015612821573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128459190613957565b935090508261285957505f91506129269050565b5f61287f61287a84610160015185610140015161158490919063ffffffff16565b611321565b61289f61287a8561012001518661010001516124cf90919063ffffffff16565b6128a99190613591565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0891906139dc565b935093509350935080612a2357505f98975050505050505050565b868414612a5457612a33846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a8557612a6483612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ab357612a95826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612aca6134bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bc291166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612bf4929004166130de565b905292915050565b5f825f190484118302158202612c10575f80fd5b50910281810615159190040190565b5f80612c2f888888888888613152565b909250905080611cc557611cc56113ec565b5f818313612c4f578161157d565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612620565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612cd790849061322e565b505050565b5f80612c2f888888888888613294565b5f805f83612cf986611321565b612d039190613591565b90505f811215612d19575f809250925050612d20565b9150600190505b9250929050565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126c474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb919061378e565b905080831161310a575f613114565b6131148184613720565b915061157d61314b670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061378e565b83906126e2565b5f805f6131628989888888613350565b905086881015613178575f809250925050613223565b9686900396613187888761265f565b97508781101561319d575f809250925050613223565b8781036131ab818688612bfc565b9050670de0b6b3a764000081106131df576131d86131d1670de0b6b3a7640000896126ce565b829061265f565b90506131f7565b6131f46131d1670de0b6b3a7640000896126e2565b90505b61320181866126ce565b905089811015613218575f80935093505050613223565b899003925060019150505b965096945050505050565b5f6132426001600160a01b0384168361337e565b905080515f141580156132665750808060200190518101906132649190613a0f565b155b15612cd757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132a48989888888613350565b90506132b4866119da898b61357e565b9750878110156132ca575f809250925050613223565b8781036132d8818688612bfc565b9050670de0b6b3a76400008110613305576132fe6131d1670de0b6b3a7640000896126ce565b905061331d565b61331a6131d1670de0b6b3a7640000896126e2565b90505b61332781866126ce565b9050808a101561333e575f80935093505050613223565b90980398600198509650505050505050565b5f61335b858561265f565b61337461336c866119da868b6124cf565b859085612bfc565b612426919061357e565b606061157d83835f845f80856001600160a01b031684866040516133a29190613a2a565b5f6040518083038185875af1925050503d805f81146133dc576040519150601f19603f3d011682016040523d82523d5f602084013e6133e1565b606091505b50915091506126c4868383606082613401576133fc82613448565b61157d565b815115801561341857506001600160a01b0384163b155b1561344157604051639996b31560e01b81526001600160a01b038516600482015260240161328b565b508061157d565b8051156134585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134856134bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613523575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561354e575f80fd5b85016060818803121561355f575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61356a565b8181035f8312801583831316838312821617156125ee576125ee61356a565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135d4575f80fd5b813561157d816135b0565b8015158114610591575f80fd5b5f602082840312156135fc575f80fd5b813561157d816135df565b5f808335601e1984360301811261361c575f80fd5b83018035915067ffffffffffffffff821115613636575f80fd5b602001915036819003821315612d20575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136ab60e08301848661364a565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136d8576136d861356a565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61371360c08301848661364a565b9998505050505050505050565b8181038181111561131b5761131b61356a565b6001600160701b038181168382160190808211156125ee576125ee61356a565b6001600160801b038181168382160190808211156125ee576125ee61356a565b5f60208284031215613783575f80fd5b815161157d816135b0565b808202811582820484141761131b5761131b61356a565b6001600160801b038281168282160390808211156125ee576125ee61356a565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61356a565b634e487b7160e01b5f52601260045260245ffd5b5f82613814576138146137f2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138aa828551613819565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561391d575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139425761394261356a565b505f0390565b610180810161131b8284613819565b5f8060408385031215613968575f80fd5b82519150602083015161397a816135df565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156139a9575f80fd5b5051919050565b5f826139be576139be6137f2565b600160ff1b82145f19841416156139d7576139d761356a565b500590565b5f805f80608085870312156139ef575f80fd5b845193506020850151925060408501519150606085015161355f816135df565b5f60208284031215613a1f575f80fd5b815161157d816135df565b5f82515f5b81811015613a495760208186018101518583015201613a2f565b505f92019182525091905056fea26469706673582212208f9ac18ecb569fe46dde57f9aabc772fabab3246ec6588ea860bdcb3eefbd5c864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/LsETHTarget1Deployer.ts new file mode 100644 index 000000000..2b94e0446 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const LsETHTarget1Deployer = { + name: 'LsETHTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506143de8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f06806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f0638038062003f068339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8c6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612b5701525f818161139301528181611791015281816117f4015281816127400152818161277c015281816129740152612b3101525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b0b01525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612b7d01525f81816107e701528181610ec4015281816116ef015281816120db015261312701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f818161197001528181612504015261255001525f5050613a8c5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613510565b610070565b60405190815260200160405180910390f35b61004b61006b366004613510565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f828254610175919061357e565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613591565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135c4565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016135ec565b6102bd8a6102b78d8f61357e565b90611584565b8d6102cb60408c018c613607565b6040516102df989796959493929190613672565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf919061357e565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136b9565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135c4565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016135ec565b8a61050260408b018b613607565b60405161051597969594939291906136e0565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135c4565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b61357e565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613720565b8a8461102b565b6107d2896107cc6107c57f00000000000000000000000000000000000000000000000000000000000000008361357e565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613720565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f828254610878919061357e565b909155506108939050865f8461088d81611321565b88611164565b61089d818361357e565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c4919061357e565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613720565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613733565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613591565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613773565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613720565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e968184613720565b610ea0908961357e565b9750610eac828461357e565b610eb6908d61357e565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613720565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a613720565b9850670de0b6b3a7640000610ff0610f8b878761357e565b600254610fa9908f90600160801b90046001600160801b0316613720565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613720565b6110d1919061378e565b85670de0b6b3a76400006110e5878a613720565b6110ef919061378e565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a76400008661378e565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc90826137a5565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613591565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b031661357e565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016135ec565b15611558576115518561153f60208601866135c4565b61154c6040870187613607565b612529565b915061157b565b61157b8561156960208601866135c4565b6115766040870187613607565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061257d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae8284613720565b6116b89089613720565b97506116c4818461357e565b6116ce908e613720565b9c506116da8a8e61357e565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613720565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613720565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613591565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836125d0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a76400008861378e565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613720565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f0000000000000000000000000000000000000000000000000000000000000000836125f5565b5f6119a08284613806565b61157d9084613720565b6002546004545f916105a6916001600160801b0390911690600f0b6125d0565b5f61007d826119da8588886124e3565b9061265f565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a688383613720565b9050611a776110fa82866126ce565b60068054601090611a99908490600160801b90046001600160801b03166137a5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad185836126e290919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b11919061357e565b90915550611b2190508183613720565b9150611b2c826119e0565b600280545f90611b469084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b73826126f6565b600480545f90611b87908490600f0b6137c5565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc687856126e2565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c318282613720565b611c3b9084613720565b9250611c59565b611c4c8282613720565b611c56908461357e565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b906126e2565b9050611cab8884866124e3565b611cb5908261357e565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b031690613720565b9050805f03611d5657600191505061131b565b5f611d608561271f565b9050805f03611d745760019250505061131b565b5f80611d818385896127ba565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd1929190613897565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f919061390c565b91509150611e2d611e1f82611321565b611e289061392e565b61292e565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b0316613753565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612ac2565b6040518263ffffffff1660e01b8152600401611f2b9190613948565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f699190613957565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe39161357e565b611fed9190613720565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d613985565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d38184613720565b915061157d827f00000000000000000000000000000000000000000000000000000000000000006126e2565b5f808061211f61211788670de0b6b3a7640000613720565b899087612bfc565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a7640000613720565b8989612c1f565b925061215e838261357e565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a7640000613720565b83906124cf565b61157d90670de0b6b3a7640000613720565b5f806121d3856121ab6119aa565b6121b5919061357e565b600254610fa9908790600160801b90046001600160801b0316613720565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a7640000613720565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612bfc565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a7640000613720565b8a9088612bfc565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e2908461357e565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613591565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613591565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae848761357e565b6123b88587611584565b6123c2888a611584565b611c98919061357e565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b6124266124088487613720565b61241285876124cf565b61241c888a611584565b611c989190613720565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c41565b612483845f612c41565b61248d9190613591565b90505f8113156124a8576124a1818661357e565b94506124c6565b5f8112156124c6576124b98161392e565b6124c39086613720565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612bfc565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c56565b5f60405163350b944160e11b815260040160405180910390fd5b6125776001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612c85565b50505050565b5f808061259d61259588670de0b6b3a7640000613720565b8990876124e3565b90508615612161576125af8888611584565b91506121528a8a846125c98a670de0b6b3a7640000613720565b8989612cdc565b5f806125dc8484612cec565b9092509050806125ee576125ee6113ec565b5092915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa15801561263b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d9190613999565b5f815f036126765750670de0b6b3a764000061131b565b825f0361268457505f61131b565b5f61268e83611321565b90505f6126a261269d86611321565b612d27565b90508181026126b9670de0b6b3a7640000826139b0565b90506126c481612f4c565b9695505050505050565b5f61157d83670de0b6b3a764000084612bfc565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612739906001600160801b0316846126ce565b90506127657f00000000000000000000000000000000000000000000000000000000000000008261357e565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127b09083906001600160801b0316613720565b61157d9190613720565b6127c2613471565b5f806127cd84612ac2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016128079190613948565b6040805180830381865af4158015612821573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128459190613957565b935090508261285957505f91506129269050565b5f61287f61287a84610160015185610140015161158490919063ffffffff16565b611321565b61289f61287a8561012001518661010001516124cf90919063ffffffff16565b6128a99190613591565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af41580156129e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0891906139dc565b935093509350935080612a2357505f98975050505050505050565b868414612a5457612a33846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a8557612a6483612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ab357612a95826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612aca6134bb565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bc291166130de565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612bf4929004166130de565b905292915050565b5f825f190484118302158202612c10575f80fd5b50910281810615159190040190565b5f80612c2f888888888888613152565b909250905080611cc557611cc56113ec565b5f818313612c4f578161157d565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401612620565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612cd790849061322e565b505050565b5f80612c2f888888888888613294565b5f805f83612cf986611321565b612d039190613591565b90505f811215612d19575f809250925050612d20565b9150600190505b9250929050565b5f808213612d485760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dcb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f6557505f919050565b680755bf798b4a1bf1e58212612f8e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126c474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130f16105ab565b6130fb919061378e565b905080831161310a575f613114565b6131148184613720565b915061157d61314b670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061378e565b83906126e2565b5f805f6131628989888888613350565b905086881015613178575f809250925050613223565b9686900396613187888761265f565b97508781101561319d575f809250925050613223565b8781036131ab818688612bfc565b9050670de0b6b3a764000081106131df576131d86131d1670de0b6b3a7640000896126ce565b829061265f565b90506131f7565b6131f46131d1670de0b6b3a7640000896126e2565b90505b61320181866126ce565b905089811015613218575f80935093505050613223565b899003925060019150505b965096945050505050565b5f6132426001600160a01b0384168361337e565b905080515f141580156132665750808060200190518101906132649190613a0f565b155b15612cd757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132a48989888888613350565b90506132b4866119da898b61357e565b9750878110156132ca575f809250925050613223565b8781036132d8818688612bfc565b9050670de0b6b3a76400008110613305576132fe6131d1670de0b6b3a7640000896126ce565b905061331d565b61331a6131d1670de0b6b3a7640000896126e2565b90505b61332781866126ce565b9050808a101561333e575f80935093505050613223565b90980398600198509650505050505050565b5f61335b858561265f565b61337461336c866119da868b6124cf565b859085612bfc565b612426919061357e565b606061157d83835f845f80856001600160a01b031684866040516133a29190613a2a565b5f6040518083038185875af1925050503d805f81146133dc576040519150601f19603f3d011682016040523d82523d5f602084013e6133e1565b606091505b50915091506126c4868383606082613401576133fc82613448565b61157d565b815115801561341857506001600160a01b0384163b155b1561344157604051639996b31560e01b81526001600160a01b038516600482015260240161328b565b508061157d565b8051156134585780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134856134bb565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613523575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561354e575f80fd5b85016060818803121561355f575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b61356a565b8181035f8312801583831316838312821617156125ee576125ee61356a565b6001600160a01b0381168114610591575f80fd5b5f602082840312156135d4575f80fd5b813561157d816135b0565b8015158114610591575f80fd5b5f602082840312156135fc575f80fd5b813561157d816135df565b5f808335601e1984360301811261361c575f80fd5b83018035915067ffffffffffffffff821115613636575f80fd5b602001915036819003821315612d20575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136ab60e08301848661364a565b9a9950505050505050505050565b8082018281125f8312801582168215821617156136d8576136d861356a565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61371360c08301848661364a565b9998505050505050505050565b8181038181111561131b5761131b61356a565b6001600160701b038181168382160190808211156125ee576125ee61356a565b6001600160801b038181168382160190808211156125ee576125ee61356a565b5f60208284031215613783575f80fd5b815161157d816135b0565b808202811582820484141761131b5761131b61356a565b6001600160801b038281168282160390808211156125ee576125ee61356a565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b61356a565b634e487b7160e01b5f52601260045260245ffd5b5f82613814576138146137f2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138aa828551613819565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561391d575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139425761394261356a565b505f0390565b610180810161131b8284613819565b5f8060408385031215613968575f80fd5b82519150602083015161397a816135df565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156139a9575f80fd5b5051919050565b5f826139be576139be6137f2565b600160ff1b82145f19841416156139d7576139d761356a565b500590565b5f805f80608085870312156139ef575f80fd5b845193506020850151925060408501519150606085015161355f816135df565b5f60208284031215613a1f575f80fd5b815161157d816135df565b5f82515f5b81811015613a495760208186018101518583015201613a2f565b505f92019182525091905056fea26469706673582212208f9ac18ecb569fe46dde57f9aabc772fabab3246ec6588ea860bdcb3eefbd5c864736f6c63430008160033a264697066735822122088b745565ab42bc82166e5baea8efdaa396b7dfcf028a7f8e9575a1b1ba3ade364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget2.ts b/packages/hyperdrive-artifacts/src/LsETHTarget2.ts new file mode 100644 index 000000000..4bb40913d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget2.ts @@ -0,0 +1,1015 @@ +export const LsETHTarget2 = { + name: 'LsETHTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003ff138038062003ff18339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b69620004885f395f50505f50505f610c2801525f50505f818160f9015281816103020152612c5701525f81816114e601528181611c0b01528181611c6e015281816123f5015281816128400152818161287c01528181612a740152612c3101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612c0b01525f61183501525f8181611956015281816124e60152818161255e0152612d6f01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612d2b01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c7d01525f81816101d301528181610396015281816108e1015261325901525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015261169b01525f5050613b695ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135ed565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135ed565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd919061365b565b909155506101ce9050844283610f13565b6101f87f00000000000000000000000000000000000000000000000000000000000000008561365b565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613682565b8b611217565b8d8a8a898e8561023e6020830183613682565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136aa565b8961028960408a018a6136c5565b60405161029c9796959493929190613730565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f00000000000000000000000000000000000000000000000000000000000000008461365b565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea90849061365b565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b61041890600161365b565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613682565b85611217565b858b868461049b6020860186613682565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136aa565b6104ec896104e68a8d613770565b90610683565b8d6104fa60408e018e6136c5565b60405161050e989796959493929190613783565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613682565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136aa565b156105ea576105e0856105db60408701876136c5565b611673565b9093509050610602565b5034610602856105fd60408701876136c5565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b61365b565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613770565b8a84610f13565b6108cc896108c66108bf7f00000000000000000000000000000000000000000000000000000000000000008361365b565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613770565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f828254610972919061365b565b9091555061098d9050865f84610987816119e2565b88611a0b565b610997818361365b565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe919061365b565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae38183613770565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae919061380a565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613829565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e96878461365b565b600254610eb4908890600160801b90046001600160801b0316613770565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613770565b610fb99190613844565b85670de0b6b3a7640000610fcd878a613770565b610fd79190613844565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613844565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b61115790826137ea565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b611196908461387b565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061124890849061365b565b90915550505f838152600b60205260408120805483929061126a90849061365b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e890508183613770565b6113f29087613770565b95508861143f816114398d611407868c613770565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136aa565b156114ac5750826114b9565b6114b6848461265b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61266f565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613844565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b611196908461380a565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612694565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138b6565b6106979084613770565b6002546004545f916106cb916001600160801b0390911690600f0b61266f565b5f61172e826117288588886116c8565b906126f4565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c38383613770565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361265b90919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c919061365b565b9091555061187c90508183613770565b915061188782611737565b600280545f906118a19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612759565b600480545f906118e2908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611921878561265b565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c8282613770565b6119969084613770565b92506119b4565b6119a78282613770565b6119b1908461365b565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613844565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a83908261385b565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af083612782565b600480545f90611b04908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b9061265b565b9050611ba68884866116c8565b611bb0908261365b565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c348583613770565b105b15611c4357611c436122aa565b6004549084900390600f0b611c58848261380a565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361266f565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613844565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d118882613770565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b82612782565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b031684846127bd565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b031690613770565b9050805f03611e8057600191505061069a565b5f611e8a8561281f565b9050805f03611e9e5760019250505061069a565b5f80611eab8385896128ba565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb929190613974565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3991906139e9565b91509150611f57611f49826119e2565b611f5290613a0b565b612a2e565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612bc2565b6040518263ffffffff1660e01b81526004016120559190613a25565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a34565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d9161365b565b6121179190613770565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613a62565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a7640000613770565b8787612cfc565b979650505050505050565b5f6114b661224561221e84670de0b6b3a7640000613770565b611439670de0b6b3a7640000612234818a611450565b61223e9190613770565b879061247a565b61225790670de0b6b3a764000061365b565b611b9384670de0b6b3a7640000613770565b5f8061229f856122776116f8565b612281919061365b565b600254610eb4908790600160801b90046001600160801b0316613770565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612d1e565b90925090506122e28289613770565b97505f6122f082888a6116c8565b90506122fc818b613770565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d848761365b565b6123378587610683565b612341888a610683565b611b93919061365b565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a56123878487613770565b612391858761247a565b61239b888a610683565b611b939190613770565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a919061380a565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b031661365b565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a7640000613770565b8787612d9d565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a7640000613770565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a7640000613770565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c908461365b565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015612637573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613a76565b5f61069783670de0b6b3a7640000846116c8565b5f8061267b8484612dad565b90925090508061268d5761268d6122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526126ee908590612de5565b50505050565b5f815f0361270b5750670de0b6b3a764000061069a565b825f0361271957505f61069a565b5f612723836119e2565b90505f612737612732866119e2565b612e4b565b905081810261274e670de0b6b3a764000082613a8d565b90506123a581613070565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061279f575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f806127c9845f613202565b6127d3845f613202565b6127dd919061380a565b90505f8113156127f8576127f1818661365b565b9450612816565b5f8112156128165761280981613a0b565b6128139086613770565b94505b50929392505050565b6003545f908190612839906001600160801b031684611450565b90506128657f00000000000000000000000000000000000000000000000000000000000000008261365b565b6002546001600160801b03161115611772576002547f0000000000000000000000000000000000000000000000000000000000000000906128b09083906001600160801b0316613770565b6114b99190613770565b6128c261354e565b5f806128cd84612bc2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129079190613a25565b6040805180830381865af4158015612921573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129459190613a34565b935090508261295957505f9150612a269050565b5f61297f61297a84610160015185610140015161068390919063ffffffff16565b6119e2565b61299f61297a85610120015186610100015161247a90919063ffffffff16565b6129a9919061380a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ae4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b089190613ab9565b935093509350935080612b2357505f98975050505050505050565b868414612b5457612b3384611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8557612b6483612782565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb357612b9582611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bca613598565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612cc29116613210565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cf492900416613210565b905292915050565b5f80612d0c888888888888613284565b909250905080611bc057611bc06122aa565b5f80612d678561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d5d818c611450565b6114399190613770565b9150612d93827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612d0c888888888888613348565b5f805f83612dba866119e2565b612dc4919061380a565b90505f811215612dda575f80925092505061067c565b946001945092505050565b5f612df96001600160a01b03841683613404565b905080515f14158015612e1d575080806020019051810190612e1b9190613aec565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e6c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eef9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308957505f919050565b680755bf798b4a1bf1e582126130b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a76400006132236106a0565b61322d9190613844565b905080831161323c575f613246565b6132468184613770565b91506114b961327d670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613844565b839061265b565b5f805f6132948989888888613411565b90506132ae866117286132a78a8d61365b565b8790610683565b98506132bb858a866116c8565b9850888110156132d1575f80925092505061333d565b888103670de0b6b3a76400008110613306576132ff6132f8670de0b6b3a764000089611450565b82906126f4565b905061331e565b61331b6132f8670de0b6b3a76400008961265b565b90505b80891015613333575f8093509350505061333d565b8803925060019150505b965096945050505050565b5f805f6133588989888888613411565b905061336886611728898b61365b565b97508781101561337e575f80925092505061333d565b87810361338c8186886125cf565b9050670de0b6b3a764000081106133b9576133b26132f8670de0b6b3a764000089611450565b90506133d1565b6133ce6132f8670de0b6b3a76400008961265b565b90505b6133db8186611450565b9050808a10156133f2575f8093509350505061333d565b90980398600198509650505050505050565b606061069783835f61343f565b5f61341c85856126f4565b61343561342d86611728868b61247a565b8590856125cf565b6123a5919061365b565b6060814710156134645760405163cd78605960e01b8152306004820152602401612e42565b5f80856001600160a01b0316848660405161347f9190613b07565b5f6040518083038185875af1925050503d805f81146134b9576040519150601f19603f3d011682016040523d82523d5f602084013e6134be565b606091505b50915091506123a58683836060826134de576134d982613525565b6114b9565b81511580156134f557506001600160a01b0384163b155b1561351e57604051639996b31560e01b81526001600160a01b0385166004820152602401612e42565b50806114b9565b8051156135355780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280613562613598565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613600575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561362b575f80fd5b85016060818803121561363c575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613647565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613692575f80fd5b81356114b98161366e565b80151581146105af575f80fd5b5f602082840312156136ba575f80fd5b81356114b98161369d565b5f808335601e198436030181126136da575f80fd5b83018035915067ffffffffffffffff8211156136f4575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61376360c083018486613708565b9998505050505050505050565b8181038181111561069a5761069a613647565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137bc60e083018486613708565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561268d5761268d613647565b6001600160801b0381811683821601908082111561268d5761268d613647565b8181035f83128015838313168383128216171561268d5761268d613647565b5f60208284031215613839575f80fd5b81516114b98161366e565b808202811582820484141761069a5761069a613647565b6001600160801b0382811682821603908082111561268d5761268d613647565b8082018281125f83128015821682158216171561389a5761389a613647565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138c4576138c46138a2565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613647565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139878285516138f6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139fa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a1f57613a1f613647565b505f0390565b610180810161069a82846138f6565b5f8060408385031215613a45575f80fd5b825191506020830151613a578161369d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a86575f80fd5b5051919050565b5f82613a9b57613a9b6138a2565b600160ff1b82145f1984141615613ab457613ab4613647565b500590565b5f805f8060808587031215613acc575f80fd5b845193506020850151925060408501519150606085015161363c8161369d565b5f60208284031215613afc575f80fd5b81516114b98161369d565b5f82515f5b81811015613b265760208186018101518583015201613b0c565b505f92019182525091905056fea2646970667358221220831e7e2afae506dda6f5846a7bae00b236b4aca6a7cc800f30a8a8b2c39e20c864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/LsETHTarget2Deployer.ts new file mode 100644 index 000000000..fb17386ca --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const LsETHTarget2Deployer = { + name: 'LsETHTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506144c98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613ff1806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003ff138038062003ff18339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b69620004885f395f50505f50505f610c2801525f50505f818160f9015281816103020152612c5701525f81816114e601528181611c0b01528181611c6e015281816123f5015281816128400152818161287c01528181612a740152612c3101525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612c0b01525f61183501525f8181611956015281816124e60152818161255e0152612d6f01525f81816109a301528181610e37015281816114150152818161192a015261253201525f8181610e16015281816124b20152612d2b01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612c7d01525f81816101d301528181610396015281816108e1015261325901525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161146a015261169b01525f5050613b695ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135ed565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135ed565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd919061365b565b909155506101ce9050844283610f13565b6101f87f00000000000000000000000000000000000000000000000000000000000000008561365b565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613682565b8b611217565b8d8a8a898e8561023e6020830183613682565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016136aa565b8961028960408a018a6136c5565b60405161029c9796959493929190613730565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f00000000000000000000000000000000000000000000000000000000000000008461365b565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea90849061365b565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b61041890600161365b565b9350505f61042784898d61148f565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896114c0565b5f6104706002886111e3565b90508c61048a826104846020840184613682565b85611217565b858b868461049b6020860186613682565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016136aa565b6104ec896104e68a8d613770565b90610683565b8d6104fa60408e018e6136c5565b60405161050e989796959493929190613783565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613682565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016136aa565b156105ea576105e0856105db60408701876136c5565b611673565b9093509050610602565b5034610602856105fd60408701876136c5565b61168e565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006116c8565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006116e3565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b61365b565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16116f8565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b92505b5061083883611737565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613770565b8a84610f13565b6108cc896108c66108bf7f00000000000000000000000000000000000000000000000000000000000000008361365b565b4290611764565b84610f13565b6108d588611778565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613770565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611915565b915091508060095f828254610972919061365b565b9091555061098d9050865f84610987816119e2565b88611a0b565b610997818361365b565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611b82565b91506109db6109d68385610683565b611bcb565b600680546002906109fc9084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611737565b60068054601090610a4b908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611915565b915091508060095f828254610abe919061365b565b90915550610ad99050835f84610ad3816119e2565b8a611bf4565b610ae38183613770565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166137ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611737565b60068054601090610b62908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b876119e2565b610ba4836119e2565b610bae919061380a565b5f611de4565b8e610bbf8482611e23565b50505b5f610bcc84612012565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613829565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612154565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416116f8565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006121da565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612205565b612269565b15610e6d57610e6d6122aa565b610e79878588856122c3565b91965094509250670de0b6b3a7640000610efb610e96878461365b565b600254610eb4908890600160801b90046001600160801b0316613770565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b1115610f0957610f096122aa565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611737565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613770565b610fb99190613844565b85670de0b6b3a7640000610fcd878a613770565b610fd79190613844565b85929190600161230b565b611737565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611737565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613844565b6005546001600160801b0316919088600161230b565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611737565b600280545f906110d19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611737565b60028054601090611120908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611737565b61115790826137ea565b600380546001600160801b03808416600160801b02911617905590505f61117d836123af565b905061119b8161118c876119e2565b611196908461387b565b611de4565b6111a4846123ef565b6111b0576111b06122aa565b5f6111ba8561244e565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061124890849061365b565b90915550505f838152600b60205260408120805483929061126a90849061365b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6116f8565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061245a565b93508761134d858961247a565b111561135b5761135b6122aa565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611718565b93506113d58a670de0b6b3a7640000868c61248e565b509193509091506113e890508183613770565b6113f29087613770565b95508861143f816114398d611407868c613770565b8d611412878261259a565b877f00000000000000000000000000000000000000000000000000000000000000006125af565b9061247a565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846125cf565b5f61069a7f0000000000000000000000000000000000000000000000000000000000000000836125f2565b5f6114a060408301602084016136aa565b156114ac5750826114b9565b6114b6848461265b565b90505b9392505050565b6002546001600160801b0316838110156114dc576114dc6122aa565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611514908390600f0b61266f565b1015611522576115226122aa565b60045461156c90610fe290600160801b90046001600160801b031661154f670de0b6b3a764000086613844565b600554600160801b90046001600160801b0316919089600161230b565b600580546001600160801b03928316600160801b02921691909117905561159281611737565b600280546001600160801b0319166001600160801b03929092169190911790556115bb85611737565b600280546010906115dd908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160a85611737565b6004805460109061162c908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61165a836123af565b905061119b81611669886119e2565b611196908461380a565b5f8060405163350b944160e11b815260040160405180910390fd5b6116c36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612694565b505050565b5f825f1904841183021582026116dc575f80fd5b5091020490565b5f6116ee82846138b6565b6106979084613770565b6002546004545f916106cb916001600160801b0390911690600f0b61266f565b5f61172e826117288588886116c8565b906126f4565b95945050505050565b5f6001600160801b0382111561176057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116117725782610697565b50919050565b6006545f90819061179a908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611910575f6117c38383613770565b90506117d2610fe28286611450565b600680546010906117f4908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61182c858361265b90919063ffffffff16565b90505f611859827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461186c919061365b565b9091555061187c90508183613770565b915061188782611737565b600280545f906118a19084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506118ce82612759565b600480545f906118e2908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611921878561265b565b91505f61194e837f0000000000000000000000000000000000000000000000000000000000000000610683565b905061197a817f0000000000000000000000000000000000000000000000000000000000000000610683565b9150831561199d5761198c8282613770565b6119969084613770565b92506119b4565b6119a78282613770565b6119b1908461365b565b92505b868610156119d7576119c78387896116c8565b92506119d48287896116c8565b91505b509550959350505050565b5f6001600160ff1b038211156117605760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611a53610fe282611a37670de0b6b3a764000086613844565b600554600160801b90046001600160801b031691908a5f61230b565b600580546001600160801b03928316600160801b029216919091179055611a7986611737565b611a83908261385b565b600480546001600160801b03928316600160801b029216919091179055611aa984611737565b600280545f90611ac39084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611af083612782565b600480545f90611b04908490600f0b6138c9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611b3485611737565b60028054601090611b56908490600160801b90046001600160801b031661385b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611b9984611b938a888a6116c8565b9061265b565b9050611ba68884866116c8565b611bb0908261365b565b905086811115611bc05786810391505b509695505050505050565b5f6001600160701b038211156117605760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611c3657507f0000000000000000000000000000000000000000000000000000000000000000611c348583613770565b105b15611c4357611c436122aa565b6004549084900390600f0b611c58848261380a565b905083611c64866119e2565b138015611c9957507f0000000000000000000000000000000000000000000000000000000000000000611c97838361266f565b105b15611ca657611ca66122aa565b600354600160801b90046001600160801b0316611ce7610fe282611cd2670de0b6b3a764000088613844565b6005546001600160801b031691908c5f61230b565b600580546001600160801b0319166001600160801b0392909216919091179055611d118882613770565b9050611d1c81611737565b600380546001600160801b03928316600160801b029216919091179055611d4283611737565b600280546001600160801b0319166001600160801b0392909216919091179055611d6b82612782565b600480546001600160801b0319166001600160801b0392909216919091179055611d9487611737565b60028054601090611db6908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611dff90610fe2906001600160801b031684846127bd565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e6d916001600160801b031690613770565b9050805f03611e8057600191505061069a565b5f611e8a8561281f565b9050805f03611e9e5760019250505061069a565b5f80611eab8385896128ba565b9150915080611ec0575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611efb929190613974565b6040805180830381865af4158015611f15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3991906139e9565b91509150611f57611f49826119e2565b611f5290613a0b565b612a2e565b925082611f6c575f965050505050505061069a565b611f7582611737565b600780545f90611f8f9084906001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fbc81611737565b60078054601090611fde908490600160801b90046001600160801b03166137ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61203987612bc2565b6040518263ffffffff1660e01b81526004016120559190613a25565b6040805180830381865af415801561206f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120939190613a34565b91509150806120a857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161210d9161365b565b6121179190613770565b9050805f0361212d57505f958695509350505050565b5f80871161213b575f612146565b6121468488846116c8565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561217757612177613a62565b6040519080825280601f01601f1916602001820160405280156121a1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121c1578692505b828152825f602083013e90999098509650505050505050565b5f6121fa8787876121f388670de0b6b3a7640000613770565b8787612cfc565b979650505050505050565b5f6114b661224561221e84670de0b6b3a7640000613770565b611439670de0b6b3a7640000612234818a611450565b61223e9190613770565b879061247a565b61225790670de0b6b3a764000061365b565b611b9384670de0b6b3a7640000613770565b5f8061229f856122776116f8565b612281919061365b565b600254610eb4908790600160801b90046001600160801b0316613770565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6122d3898789612d1e565b90925090506122e28289613770565b97505f6122f082888a6116c8565b90506122fc818b613770565b9a989950979650505050505050565b5f825f0361231a57508461172e565b811561236c5761234b61232d848761365b565b6123378587610683565b612341888a610683565b611b93919061365b565b90505f6123588588611764565b905080821015612366578091505b5061172e565b82850361237a57505f61172e565b6123a56123878487613770565b612391858761247a565b61239b888a610683565b611b939190613770565b9695505050505050565b5f6123d4600b5f6123c16002866111e3565b81526020019081526020015f20546119e2565b6123e5600b5f6123c16001876111e3565b61069a919061380a565b5f61241a7f00000000000000000000000000000000000000000000000000000000000000008361247a565b60035461243091906001600160801b031661365b565b600254612446906001600160801b031684610683565b101592915050565b5f61069a826004611e23565b5f6121fa87878761247388670de0b6b3a7640000613770565b8787612d9d565b5f6106978383670de0b6b3a76400006125cf565b5f8080806124de87866124d78b6114396124b08c670de0b6b3a7640000613770565b7f00000000000000000000000000000000000000000000000000000000000000009061247a565b91906125cf565b935061250a847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61252a61252289670de0b6b3a7640000613770565b8a90886125cf565b9050612556817f000000000000000000000000000000000000000000000000000000000000000061247a565b9350612582847f0000000000000000000000000000000000000000000000000000000000000000610683565b61258c908461365b565b915050945094509450949050565b5f8183116125a85781610697565b5090919050565b5f806125c6846125c08a888a6125cf565b90611450565b9050611ba68884865b5f825f1904841183021582026125e3575f80fd5b50910281810615159190040190565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015612637573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106979190613a76565b5f61069783670de0b6b3a7640000846116c8565b5f8061267b8484612dad565b90925090508061268d5761268d6122aa565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526126ee908590612de5565b50505050565b5f815f0361270b5750670de0b6b3a764000061069a565b825f0361271957505f61069a565b5f612723836119e2565b90505f612737612732866119e2565b612e4b565b905081810261274e670de0b6b3a764000082613a8d565b90506123a581613070565b5f60016001607f1b038211156117605760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061279f575060016001607f1b0382135b156117605760405163a5353be560e01b815260040160405180910390fd5b5f806127c9845f613202565b6127d3845f613202565b6127dd919061380a565b90505f8113156127f8576127f1818661365b565b9450612816565b5f8112156128165761280981613a0b565b6128139086613770565b94505b50929392505050565b6003545f908190612839906001600160801b031684611450565b90506128657f00000000000000000000000000000000000000000000000000000000000000008261365b565b6002546001600160801b03161115611772576002547f0000000000000000000000000000000000000000000000000000000000000000906128b09083906001600160801b0316613770565b6114b99190613770565b6128c261354e565b5f806128cd84612bc2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129079190613a25565b6040805180830381865af4158015612921573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129459190613a34565b935090508261295957505f9150612a269050565b5f61297f61297a84610160015185610140015161068390919063ffffffff16565b6119e2565b61299f61297a85610120015186610100015161247a90919063ffffffff16565b6129a9919061380a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612ae4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b089190613ab9565b935093509350935080612b2357505f98975050505050505050565b868414612b5457612b3384611737565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b8557612b6483612782565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bb357612b9582611737565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612bca613598565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612cc29116613210565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612cf492900416613210565b905292915050565b5f80612d0c888888888888613284565b909250905080611bc057611bc06122aa565b5f80612d678561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612d5d818c611450565b6114399190613770565b9150612d93827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612d0c888888888888613348565b5f805f83612dba866119e2565b612dc4919061380a565b90505f811215612dda575f80925092505061067c565b946001945092505050565b5f612df96001600160a01b03841683613404565b905080515f14158015612e1d575080806020019051810190612e1b9190613aec565b155b156116c357604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612e6c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eef9084901c6119e2565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308957505f919050565b680755bf798b4a1bf1e582126130b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906123a574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6119e2565b5f8183136125a85781610697565b5f80670de0b6b3a76400006132236106a0565b61322d9190613844565b905080831161323c575f613246565b6132468184613770565b91506114b961327d670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613844565b839061265b565b5f805f6132948989888888613411565b90506132ae866117286132a78a8d61365b565b8790610683565b98506132bb858a866116c8565b9850888110156132d1575f80925092505061333d565b888103670de0b6b3a76400008110613306576132ff6132f8670de0b6b3a764000089611450565b82906126f4565b905061331e565b61331b6132f8670de0b6b3a76400008961265b565b90505b80891015613333575f8093509350505061333d565b8803925060019150505b965096945050505050565b5f805f6133588989888888613411565b905061336886611728898b61365b565b97508781101561337e575f80925092505061333d565b87810361338c8186886125cf565b9050670de0b6b3a764000081106133b9576133b26132f8670de0b6b3a764000089611450565b90506133d1565b6133ce6132f8670de0b6b3a76400008961265b565b90505b6133db8186611450565b9050808a10156133f2575f8093509350505061333d565b90980398600198509650505050505050565b606061069783835f61343f565b5f61341c85856126f4565b61343561342d86611728868b61247a565b8590856125cf565b6123a5919061365b565b6060814710156134645760405163cd78605960e01b8152306004820152602401612e42565b5f80856001600160a01b0316848660405161347f9190613b07565b5f6040518083038185875af1925050503d805f81146134b9576040519150601f19603f3d011682016040523d82523d5f602084013e6134be565b606091505b50915091506123a58683836060826134de576134d982613525565b6114b9565b81511580156134f557506001600160a01b0384163b155b1561351e57604051639996b31560e01b81526001600160a01b0385166004820152602401612e42565b50806114b9565b8051156135355780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280613562613598565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613600575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff81111561362b575f80fd5b85016060818803121561363c575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613647565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613692575f80fd5b81356114b98161366e565b80151581146105af575f80fd5b5f602082840312156136ba575f80fd5b81356114b98161369d565b5f808335601e198436030181126136da575f80fd5b83018035915067ffffffffffffffff8211156136f4575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61376360c083018486613708565b9998505050505050505050565b8181038181111561069a5761069a613647565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137bc60e083018486613708565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561268d5761268d613647565b6001600160801b0381811683821601908082111561268d5761268d613647565b8181035f83128015838313168383128216171561268d5761268d613647565b5f60208284031215613839575f80fd5b81516114b98161366e565b808202811582820484141761069a5761069a613647565b6001600160801b0382811682821603908082111561268d5761268d613647565b8082018281125f83128015821682158216171561389a5761389a613647565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138c4576138c46138a2565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613647565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139878285516138f6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139fa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a1f57613a1f613647565b505f0390565b610180810161069a82846138f6565b5f8060408385031215613a45575f80fd5b825191506020830151613a578161369d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613a86575f80fd5b5051919050565b5f82613a9b57613a9b6138a2565b600160ff1b82145f1984141615613ab457613ab4613647565b500590565b5f805f8060808587031215613acc575f80fd5b845193506020850151925060408501519150606085015161363c8161369d565b5f60208284031215613afc575f80fd5b81516114b98161369d565b5f82515f5b81811015613b265760208186018101518583015201613b0c565b505f92019182525091905056fea2646970667358221220831e7e2afae506dda6f5846a7bae00b236b4aca6a7cc800f30a8a8b2c39e20c864736f6c63430008160033a26469706673582212207d73663b82e38f835fb8794382fc090b25d044cc74c8fe28eed3f0b3ec8c31e564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget3.ts b/packages/hyperdrive-artifacts/src/LsETHTarget3.ts new file mode 100644 index 000000000..6628b2412 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget3.ts @@ -0,0 +1,1035 @@ +export const LsETHTarget3 = { + name: 'LsETHTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f5d38038062003f5d8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ac4620004995f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119740152612b0301525f5050613ac45ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351d565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135ef565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826135dc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135ef565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135ef565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906135dc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613680565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061368f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613680565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061368f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135ef565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906136ba565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906135dc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856136ba565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136e2565b866107a960408c018c6136fd565b6040516107bc9796959493929190613740565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613793565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906137aa565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6136ba565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826136ba565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136e2565b87610b5e60408901896136fd565b604051610b719796959493929190613740565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836136ba565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136e2565b15610c8f57610c8585610c8060408701876136fd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136fd565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135ef565b8a846119c8565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836135dc565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135ef565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff591906135dc565b909155506110109050865f8461100a81611766565b88611dad565b61101a81836135dc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f82825461114191906135dc565b9091555061115c9050835f8461115681611766565b8a611fa4565b61116681836135ef565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613815565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613834565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613815565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f6135dc565b90505f6115888b8b61157987611766565b611583908e61384f565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613815565b6115e79190613815565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a76400006135ef565b906117d4565b61163461346e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906135dc565b90915550505f838152600b60205260408120805483929061183b9084906135dc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be828461388a565b61008d90846135ef565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a6488866135ef565b611a6e9190613793565b85670de0b6b3a7640000611a82878a6135ef565b611a8c9190613793565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a83836135ef565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c0391906135dc565b90915550611c13905081836135ef565b9150611c1e826118d2565b600280545f90611c389084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d5782826135ef565b611d6190846135ef565b9250611d7f565b611d7282826135ef565b611d7c90846135dc565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a764000086613793565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e25908261389d565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c90826135dc565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe485836135ef565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613815565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a764000088613793565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c188826135ef565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b0316906135ef565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab9291906138ea565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e9919061395f565b915091506123076122f982611766565b61230290613981565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b81526004016124059190613680565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612443919061399b565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd916135dc565b6124c791906135ef565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612527576125276139c9565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613815565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f791906135dc565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d6135dc565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b909250905061275682896135ef565b97505f61276482888a6117b9565b9050612770818b6135ef565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613815565b90505f8113156127ba576127b381866135dc565b94506127d8565b5f8112156127d8576127cb81613981565b6127d590866135ef565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b6128319190613793565b9050808311612840575f61284a565b61284a81846135ef565b915061008d6125f7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613793565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b91906139dd565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a1b565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a84876135dc565b612b548587611f67565b612b5e888a611f67565b61162691906135dc565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba484876135ef565b612bae85876127e1565b612bb8888a611f67565b61162691906135ef565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f0000000000000000000000000000000000000000000000000000000000000000826135dc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b03166135ef565b61008d91906135ef565b612ca26134c3565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce79190613680565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d25919061399b565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613815565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b61007291906135dc565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea491906135ef565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b0384168361337b565b905080515f141580156132e45750808060200190518101906132e29190613a47565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015613357573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d919061368f565b606061008d83835f845f80856001600160a01b0316848660405161339f9190613a62565b5f6040518083038185875af1925050503d805f81146133d9576040519150601f19603f3d011682016040523d82523d5f602084013e6133de565b606091505b5091509150612a938683836060826133fe576133f982613445565b61008d565b815115801561341557506001600160a01b0384163b155b1561343e57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134555780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d761346e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613531575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613563575f80fd5b61356f8882890161350d565b9150509295509295909350565b5f805f6060848603121561358e575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b2575f80fd5b6135be8682870161350d565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76135c8565b818103818111156113f7576113f76135c8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613602565b5f6020828403121561369f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156136ca575f80fd5b813561008d816136a6565b8015158114610c0a575f80fd5b5f602082840312156136f2575f80fd5b813561008d816136d5565b5f808335601e19843603018112613712575f80fd5b83018035915067ffffffffffffffff82111561372c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76135c8565b5f805f606084860312156137bc575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6135c8565b6001600160801b038181168382160190808211156118cb576118cb6135c8565b8181035f8312801583831316838312821617156118cb576118cb6135c8565b5f60208284031215613844575f80fd5b815161008d816136a6565b8082018281125f83128015821682158216171561386e5761386e6135c8565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389857613898613876565b500690565b6001600160801b038281168282160390808211156118cb576118cb6135c8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76135c8565b5f6102a0820190506138fd828551613602565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613970575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613995576139956135c8565b505f0390565b5f80604083850312156139ac575f80fd5b8251915060208301516139be816136d5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139f0575f80fd5b8451935060208501519250604085015191506060850151613a10816136d5565b939692955090935050565b5f82613a2957613a29613876565b600160ff1b82145f1984141615613a4257613a426135c8565b500590565b5f60208284031215613a57575f80fd5b815161008d816136d5565b5f82515f5b81811015613a815760208186018101518583015201613a67565b505f92019182525091905056fea264697066735822122078b22bad686be93d37a911b2490fb8476001f57dcf6e438c9d11b751a362711764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/LsETHTarget3Deployer.ts new file mode 100644 index 000000000..bedd84501 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const LsETHTarget3Deployer = { + name: 'LsETHTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506144358061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f5d806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f5d38038062003f5d8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ac4620004995f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b01528181611fbb0152818161201e015281816128c701528181612c200152612c5c01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611bcc01525f8181611d210152612eb201525f81816110260152611cf501525f612e6801525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261285d01525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f81816119740152612b0301525f5050613ac45ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351d565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357c565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896135ef565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826135dc565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826135ef565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906135ef565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906135dc565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613680565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061368f565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613680565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061368f565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876135ef565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906136ba565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906135dc565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856136ba565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016136e2565b866107a960408c018c6136fd565b6040516107bc9796959493929190613740565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613793565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906137aa565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6136ba565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826136ba565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016136e2565b87610b5e60408901896136fd565b604051610b719796959493929190613740565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836136ba565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016136e2565b15610c8f57610c8585610c8060408701876136fd565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876136fd565b611967565b610caf6119a1565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f00000000000000000000000000000000000000000000000000000000000000006119b3565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6135dc565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6135ef565b8a846119c8565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836135dc565b4290611b01565b846119c8565b610f5888611b0f565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6135ef565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611cac565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611ce0565b915091508060095f828254610ff591906135dc565b909155506110109050865f8461100a81611766565b88611dad565b61101a81836135dc565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f24565b915061105e6110598385611f67565b611f7b565b6006805460029061107f9084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611cac565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611ce0565b915091508060095f82825461114191906135dc565b9091555061115c9050835f8461115681611766565b8a611fa4565b61116681836135ef565b91506111756110598387611f67565b600680546002906111969084906201000090046001600160701b03166137d5565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613815565b5f612194565b8e61124284826121d3565b50505b5f61124f846123c2565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613834565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612504565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611cac565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611cac565b6113f79190613815565b92915050565b5f805f8061140b8a8a61258c565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8b7f00000000000000000000000000000000000000000000000000000000000000006125c4565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135ef565b8d7f000000000000000000000000000000000000000000000000000000000000000061267d565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612737565b509093505f9050611568848f6135dc565b90505f6115888b8b61157987611766565b611583908e61384f565b61277f565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836127e1565b611766565b6115c683611766565b6115d36115b88685611f67565b6115dd9190613815565b6115e79190613815565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806127f1565b61162685670de0b6b3a76400006135ef565b906117d4565b61163461346e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612814565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612814565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612881565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906135dc565b90915550505f838152600b60205260408120805483929061183b9084906135dc565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046121d3565b5f8183136118a7578261008d565b50919050565b5f806118b9848461258c565b9092509050806118cb576118cb612a15565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612a2e565b5f8060405163350b944160e11b815260040160405180910390fd5b61199c6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612a9d565b505050565b5f610c2d670de0b6b3a7640000612afd565b5f6119be828461388a565b61008d90846135ef565b5f83815260086020526040902054600160801b90046001600160801b03168083036119f35750505050565b5f848152600860205260408120546001600160801b031690819003611a4b57611a1b836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611ac8565b611a9c611a97670de0b6b3a7640000611a6488866135ef565b611a6e9190613793565b85670de0b6b3a7640000611a82878a6135ef565b611a8c9190613793565b859291906001612b28565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ad1846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611b31908490600160801b90046001600160801b0316611f67565b6006546201000090046001600160701b03169250905081811115611ca7575f611b5a83836135ef565b9050611b69611a978286612bc2565b60068054601090611b8b908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bc385836117d490919063ffffffff16565b90505f611bf0827f0000000000000000000000000000000000000000000000000000000000000000611f67565b90508060095f828254611c0391906135dc565b90915550611c13905081836135ef565b9150611c1e826118d2565b600280545f90611c389084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c6582612bd6565b600480545f90611c79908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611cd55760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611cec87856117d4565b91505f611d19837f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050611d45817f0000000000000000000000000000000000000000000000000000000000000000611f67565b91508315611d6857611d5782826135ef565b611d6190846135ef565b9250611d7f565b611d7282826135ef565b611d7c90846135dc565b92505b86861015611da257611d928387896117b9565b9250611d9f8287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611df5611a9782611dd9670de0b6b3a764000086613793565b600554600160801b90046001600160801b031691908a5f612b28565b600580546001600160801b03928316600160801b029216919091179055611e1b866118d2565b611e25908261389d565b600480546001600160801b03928316600160801b029216919091179055611e4b846118d2565b600280545f90611e659084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92836118fb565b600480545f90611ea6908490600f0b6138bd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ed6856118d2565b60028054601090611ef8908490600160801b90046001600160801b031661389d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f35846116268a888a6117b9565b9050611f428884866117b9565b611f4c90826135dc565b905086811115611f5c5786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611fe657507f0000000000000000000000000000000000000000000000000000000000000000611fe485836135ef565b105b15611ff357611ff3612a15565b6004549084900390600f0b6120088482613815565b90508361201486611766565b13801561204957507f000000000000000000000000000000000000000000000000000000000000000061204783836118ad565b105b1561205657612056612a15565b600354600160801b90046001600160801b0316612097611a9782612082670de0b6b3a764000088613793565b6005546001600160801b031691908c5f612b28565b600580546001600160801b0319166001600160801b03929092169190911790556120c188826135ef565b90506120cc816118d2565b600380546001600160801b03928316600160801b0292169190911790556120f2836118d2565b600280546001600160801b0319166001600160801b039290921691909117905561211b826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612144876118d2565b60028054601090612166908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546121af90611a97906001600160801b0316848461277f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161221d916001600160801b0316906135ef565b9050805f036122305760019150506113f7565b5f61223a85612bff565b9050805f0361224e576001925050506113f7565b5f8061225b838589612c9a565b9150915080612270575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122ab9291906138ea565b6040805180830381865af41580156122c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122e9919061395f565b915091506123076122f982611766565b61230290613981565b612881565b92508261231c575f96505050505050506113f7565b612325826118d2565b600780545f9061233f9084906001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061236c816118d2565b6007805460109061238e908490600160801b90046001600160801b03166137f5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123e98761162c565b6040518263ffffffff1660e01b81526004016124059190613680565b6040805180830381865af415801561241f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612443919061399b565b915091508061245857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916124bd916135dc565b6124c791906135ef565b9050805f036124dd57505f958695509350505050565b5f8087116124eb575f6124f6565b6124f68488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612527576125276139c9565b6040519080825280601f01601f191660200182016040528015612551576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612571578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361259986611766565b6125a39190613815565b90505f8112156125b9575f809250925050610d21565b946001945092505050565b5f805f6125d48888888888612e09565b90505f6125fe670de0b6b3a76400006125ed8888612bc2565b6125f791906135dc565b83906117d4565b9050670de0b6b3a764000081106126325761262b612624670de0b6b3a7640000896117d4565b8290612a2e565b905061264a565b612647612624670de0b6b3a764000089612bc2565b90505b61265481866117d4565b90508881101561266b575f80935093505050612582565b97909703976001975095505050505050565b5f805f61268d8989888888612e37565b90506126a7866119466126a08a8d6135dc565b8790611f67565b98506126b4858a866117b9565b9850888110156126ca575f8092509250506115f6565b888103670de0b6b3a764000081106126f8576126f1612624670de0b6b3a764000089612bc2565b9050612710565b61270d612624670de0b6b3a7640000896117d4565b90505b80891015612725575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612747898789612e5b565b909250905061275682896135ef565b97505f61276482888a6117b9565b9050612770818b6135ef565b9a989950979650505050505050565b5f8061278b845f612ee0565b612795845f612ee0565b61279f9190613815565b90505f8113156127ba576127b381866135dc565b94506127d8565b5f8112156127d8576127cb81613981565b6127d590866135ef565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612805575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612827610d28565b6128319190613793565b9050808311612840575f61284a565b61284a81846135ef565b915061008d6125f7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613793565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061295b91906139dd565b93509350935093508061297657505f98975050505050505050565b8684146129a757612986846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129d8576129b7836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a06576129e8826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a455750670de0b6b3a76400006113f7565b825f03612a5357505f6113f7565b5f612a5d83611766565b90505f612a71612a6c86611766565b612ef5565b9050818102612a88670de0b6b3a764000082613a1b565b9050612a938161311a565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612af79085906132ac565b50505050565b5f6113f77f000000000000000000000000000000000000000000000000000000000000000083613312565b5f825f03612b37575084610075565b8115612b8957612b68612b4a84876135dc565b612b548587611f67565b612b5e888a611f67565b61162691906135dc565b90505f612b758588611b01565b905080821015612b83578091505b50610075565b828503612b9757505f610075565b610072612ba484876135ef565b612bae85876127e1565b612bb8888a611f67565b61162691906135ef565b5f61008d83670de0b6b3a7640000846127f1565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612c19906001600160801b031684612bc2565b9050612c457f0000000000000000000000000000000000000000000000000000000000000000826135dc565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612c909083906001600160801b03166135ef565b61008d91906135ef565b612ca26134c3565b5f80612cad8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ce79190613680565b6040805180830381865af4158015612d01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d25919061399b565b9350905082612d3957505f9150612e019050565b5f612d5a6115b8846101600151856101400151611f6790919063ffffffff16565b612d7a6115b88561012001518661010001516127e190919063ffffffff16565b612d849190613815565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612e148585612a2e565b612e2d612e2586611946868b611f67565b8590856117b9565b61007291906135dc565b5f612e428585612a2e565b612e2d612e5386611946868b6127e1565b8590856127f1565b5f80612eaa85612ea485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e9a818c612bc2565b612ea491906135ef565b906127e1565b9150612ed6827f0000000000000000000000000000000000000000000000000000000000000000611f67565b9050935093915050565b5f818313612eee578161008d565b5090919050565b5f808213612f165760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f999084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361313357505f919050565b680755bf798b4a1bf1e5821261315c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a9374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6132c06001600160a01b0384168361337b565b905080515f141580156132e45750808060200190518101906132e29190613a47565b155b1561199c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f0290602401602060405180830381865afa158015613357573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008d919061368f565b606061008d83835f845f80856001600160a01b0316848660405161339f9190613a62565b5f6040518083038185875af1925050503d805f81146133d9576040519150601f19603f3d011682016040523d82523d5f602084013e6133de565b606091505b5091509150612a938683836060826133fe576133f982613445565b61008d565b815115801561341557506001600160a01b0384163b155b1561343e57604051639996b31560e01b81526001600160a01b0385166004820152602401613309565b508061008d565b8051156134555780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d761346e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613531575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613563575f80fd5b61356f8882890161350d565b9150509295509295909350565b5f805f6060848603121561358e575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b2575f80fd5b6135be8682870161350d565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76135c8565b818103818111156113f7576113f76135c8565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613602565b5f6020828403121561369f575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156136ca575f80fd5b813561008d816136a6565b8015158114610c0a575f80fd5b5f602082840312156136f2575f80fd5b813561008d816136d5565b5f808335601e19843603018112613712575f80fd5b83018035915067ffffffffffffffff82111561372c575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76135c8565b5f805f606084860312156137bc575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6135c8565b6001600160801b038181168382160190808211156118cb576118cb6135c8565b8181035f8312801583831316838312821617156118cb576118cb6135c8565b5f60208284031215613844575f80fd5b815161008d816136a6565b8082018281125f83128015821682158216171561386e5761386e6135c8565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261389857613898613876565b500690565b6001600160801b038281168282160390808211156118cb576118cb6135c8565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76135c8565b5f6102a0820190506138fd828551613602565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613970575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613995576139956135c8565b505f0390565b5f80604083850312156139ac575f80fd5b8251915060208301516139be816136d5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156139f0575f80fd5b8451935060208501519250604085015191506060850151613a10816136d5565b939692955090935050565b5f82613a2957613a29613876565b600160ff1b82145f1984141615613a4257613a426135c8565b500590565b5f60208284031215613a57575f80fd5b815161008d816136d5565b5f82515f5b81811015613a815760208186018101518583015201613a67565b505f92019182525091905056fea264697066735822122078b22bad686be93d37a911b2490fb8476001f57dcf6e438c9d11b751a362711764736f6c63430008160033a264697066735822122006df82a14f352728812e93e6a8aeeea346a0378245d399a9901f3c0b3436fadd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget4.ts b/packages/hyperdrive-artifacts/src/LsETHTarget4.ts new file mode 100644 index 000000000..ff0b090f8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget4.ts @@ -0,0 +1,1009 @@ +export const LsETHTarget4 = { + name: 'LsETHTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003341380380620033418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612f4e620003f35f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261232d01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161108901528181612248015261229401525f5050612f4e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129dd565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a2f565b6100b1565b005b6100566100923660046129dd565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a63565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a8b565b61016a60408c018c612aa6565b60405161017c96959493929190612b11565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b5e565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a63565b88610ea4565b5f6102f56102ec6020870187612a63565b88848989610a9e565b90945090506103048188612b85565b92505f61031083610f41565b5090506103206020870187612a63565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a8b565b8a888e80604001906103709190612aa6565b604051610384989796959493929190612b98565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a63565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bdf565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b85565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bdf565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b85565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bdf565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bdf565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bdf565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612b85565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c32565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c51565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c6c565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b85565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d0a565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d7f565b91509150610d11610d0382611521565b610d0c90612da1565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b85565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bdf565b90915550505f838152600b602052604081208054839290610ef7908490612bdf565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dbb565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dca565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bdf565b6110469190612b85565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b5e565b6110c39084612b85565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612b85565b6111dc9190612df8565b85670de0b6b3a76400006111f0878a612b85565b6111fa9190612df8565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612b85565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bdf565b9091555061138790508183612b85565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612b85565b6114d59084612b85565b92506114f3565b6114e68282612b85565b6114f09084612bdf565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612df8565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c6c565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612bdf565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612b85565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612c32565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612df8565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612b85565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e3c565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612a8b565b15611a8e57611a8785611a756020860186612a63565b611a826040870187612aa6565b61226d565b9150611ab1565b611ab185611a9f6020860186612a63565b611aac6040870187612aa6565b612287565b509392505050565b5f6110c38383670de0b6b3a76400006122c1565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bdf565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612b85565b6110c39190612b85565b611b7061293e565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dbb565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612dca565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c32565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e50565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612988565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166122e4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166122e4565b905292915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190612e8e565b5f806120198484612358565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b612393565b905081810261208c670de0b6b3a764000082612ea5565b9050612097816125b8565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612bdf565b6120cd858761170a565b6120d7888a61170a565b6116d29190612bdf565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612b85565b6121278587611ab9565b612131888a61170a565b6116d29190612b85565b5f6110c383670de0b6b3a7640000846122c1565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f61274a565b6121f6845f61274a565b6122009190612c32565b90505f81131561221b576122148186612bdf565b9450612239565b5f8112156122395761222c81612da1565b6122369086612b85565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361275f565b5f60405163350b944160e11b815260040160405180910390fd5b6122bb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848661278e565b50505050565b5f825f1904841183021582026122d5575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122f761040f565b6123019190612df8565b9050808311612310575f61231a565b61231a8184612b85565b91506110c3612351670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612df8565b839061214f565b5f805f8361236586611521565b61236f9190612c32565b90505f811215612385575f80925092505061238c565b9150600190505b9250929050565b5f8082136123b45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124379084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125d157505f919050565b680755bf798b4a1bf1e582126125fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361275857816110c3565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127e09084906127e5565b505050565b5f6127f96001600160a01b0384168361284b565b905080515f1415801561281d57508080602001905181019061281b9190612ed1565b155b156127e057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161286f9190612eec565b5f6040518083038185875af1925050503d805f81146128a9576040519150601f19603f3d011682016040523d82523d5f602084013e6128ae565b606091505b50915091506120978683836060826128ce576128c982612915565b6110c3565b81511580156128e557506001600160a01b0384163b155b1561290e57604051639996b31560e01b81526001600160a01b0385166004820152602401612842565b50806110c3565b8051156129255780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612952612988565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129ef575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a13575f80fd5b840160608187031215612a24575f80fd5b809150509250925092565b5f8060408385031215612a40575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a73575f80fd5b81356110c381612a4f565b80151581146103f5575f80fd5b5f60208284031215612a9b575f80fd5b81356110c381612a7e565b5f808335601e19843603018112612abb575f80fd5b83018035915067ffffffffffffffff821115612ad5575f80fd5b60200191503681900382131561238c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b3e60a083018486612ae9565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b6c57612b6c612b4a565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b71565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bd160e083018486612ae9565b9a9950505050505050505050565b80820180821115610dc757610dc7612b71565b6001600160701b0381811683821601908082111561202b5761202b612b71565b6001600160801b0381811683821601908082111561202b5761202b612b71565b8181035f83128015838313168383128216171561202b5761202b612b71565b5f60208284031215612c61575f80fd5b81516110c381612a4f565b6001600160801b0382811682821603908082111561202b5761202b612b71565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d1d828551612c8c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d90575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612db557612db5612b71565b505f0390565b6101808101610dc78284612c8c565b5f8060408385031215612ddb575f80fd5b825191506020830151612ded81612a7e565b809150509250929050565b8082028115828204841417610dc757610dc7612b71565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b71565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e63575f80fd5b8451935060208501519250604085015191506060850151612e8381612a7e565b939692955090935050565b5f60208284031215612e9e575f80fd5b5051919050565b5f82612eb357612eb3612b4a565b600160ff1b82145f1984141615612ecc57612ecc612b71565b500590565b5f60208284031215612ee1575f80fd5b81516110c381612a7e565b5f82515f5b81811015612f0b5760208186018101518583015201612ef1565b505f92019182525091905056fea26469706673582212202238bac019e7ecfa8be015629f0e92c3c527589e4e1e2f5abc62b4f2a3a37f5064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/LsETHTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/LsETHTarget4Deployer.ts new file mode 100644 index 000000000..01c3e1e9d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/LsETHTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const LsETHTarget4Deployer = { + name: 'LsETHTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506138198061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613341806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003341380380620033418339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612f4e620003f35f395f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261232d01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161108901528181612248015261229401525f5050612f4e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046129dd565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a2f565b6100b1565b005b6100566100923660046129dd565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a63565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612a8b565b61016a60408c018c612aa6565b60405161017c96959493929190612b11565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b5e565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a63565b88610ea4565b5f6102f56102ec6020870187612a63565b88848989610a9e565b90945090506103048188612b85565b92505f61031083610f41565b5090506103206020870187612a63565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612a8b565b8a888e80604001906103709190612aa6565b604051610384989796959493929190612b98565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a63565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612bdf565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612b85565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612bdf565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612b85565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612bdf565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612bdf565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612bdf565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612b85565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612bf2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612c32565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c51565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612c6c565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612b85565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d0a565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612d7f565b91509150610d11610d0382611521565b610d0c90612da1565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612b85565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612bdf565b90915550505f838152600b602052604081208054839290610ef7908490612bdf565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612dbb565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612dca565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612bdf565b6110469190612b85565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612b5e565b6110c39084612b85565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b61200d565b5f611100826110fa858888611a08565b90612032565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612b85565b6111dc9190612df8565b85670de0b6b3a76400006111f0878a612b85565b6111fa9190612df8565b8592919060016120a1565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612b85565b90506112dd611205828661213b565b600680546010906112ff908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611337858361214f90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612bdf565b9091555061138790508183612b85565b915061139282611109565b600280545f906113ac9084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612163565b600480545f906113ed908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611460878561214f565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612b85565b6114d59084612b85565b92506114f3565b6114e68282612b85565b6114f09084612bdf565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612df8565b600554600160801b90046001600160801b031691908a5f6120a1565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612c6c565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f8361218c565b600480545f90611643908490600f0b612e0f565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612c6c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b9061214f565b90506116e5888486611a08565b6116ef9082612bdf565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612b85565b105b15611796576117966121c7565b6004549084900390600f0b6117ab8482612c32565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea838361200d565b105b156117f9576117f96121c7565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612df8565b6005546001600160801b031691908c5f6120a1565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612b85565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be8261218c565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612c12565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b031684846121e0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612e3c565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a81612242565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612a8b565b15611a8e57611a8785611a756020860186612a63565b611a826040870187612aa6565b61226d565b9150611ab1565b611ab185611a9f6020860186612a63565b611aac6040870187612aa6565b612287565b509392505050565b5f6110c38383670de0b6b3a76400006122c1565b6003545f908190611ae7906001600160801b03168461213b565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612bdf565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612b85565b6110c39190612b85565b611b7061293e565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612dbb565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612dca565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612c32565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612e50565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b8361218c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e71612988565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f6991166122e4565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b929004166122e4565b905292915050565b604051637bce1f8160e11b8152600481018290525f906001600160a01b0384169063f79c3f02906024015b602060405180830381865afa158015611fe9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c39190612e8e565b5f806120198484612358565b90925090508061202b5761202b6121c7565b5092915050565b5f815f036120495750670de0b6b3a7640000610dc7565b825f0361205757505f610dc7565b5f61206183611521565b90505f61207561207086611521565b612393565b905081810261208c670de0b6b3a764000082612ea5565b9050612097816125b8565b9695505050505050565b5f825f036120b0575084611100565b8115612102576120e16120c38487612bdf565b6120cd858761170a565b6120d7888a61170a565b6116d29190612bdf565b90505f6120ee858861126f565b9050808210156120fc578091505b50611100565b82850361211057505f611100565b61209761211d8487612b85565b6121278587611ab9565b612131888a61170a565b6116d29190612b85565b5f6110c383670de0b6b3a7640000846122c1565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806121a9575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121ec845f61274a565b6121f6845f61274a565b6122009190612c32565b90505f81131561221b576122148186612bdf565b9450612239565b5f8112156122395761222c81612da1565b6122369086612b85565b94505b50929392505050565b5f610dc77f00000000000000000000000000000000000000000000000000000000000000008361275f565b5f60405163350b944160e11b815260040160405180910390fd5b6122bb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848661278e565b50505050565b5f825f1904841183021582026122d5575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006122f761040f565b6123019190612df8565b9050808311612310575f61231a565b61231a8184612b85565b91506110c3612351670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612df8565b839061214f565b5f805f8361236586611521565b61236f9190612c32565b90505f811215612385575f80925092505061238c565b9150600190505b9250929050565b5f8082136123b45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124379084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136125d157505f919050565b680755bf798b4a1bf1e582126125fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061209774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f81831361275857816110c3565b5090919050565b604051631e66865560e21b8152600481018290525f906001600160a01b0384169063799a195490602401611fce565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526127e09084906127e5565b505050565b5f6127f96001600160a01b0384168361284b565b905080515f1415801561281d57508080602001905181019061281b9190612ed1565b155b156127e057604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606110c383835f845f80856001600160a01b0316848660405161286f9190612eec565b5f6040518083038185875af1925050503d805f81146128a9576040519150601f19603f3d011682016040523d82523d5f602084013e6128ae565b606091505b50915091506120978683836060826128ce576128c982612915565b6110c3565b81511580156128e557506001600160a01b0384163b155b1561290e57604051639996b31560e01b81526001600160a01b0385166004820152602401612842565b50806110c3565b8051156129255780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612952612988565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156129ef575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a13575f80fd5b840160608187031215612a24575f80fd5b809150509250925092565b5f8060408385031215612a40575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612a73575f80fd5b81356110c381612a4f565b80151581146103f5575f80fd5b5f60208284031215612a9b575f80fd5b81356110c381612a7e565b5f808335601e19843603018112612abb575f80fd5b83018035915067ffffffffffffffff821115612ad5575f80fd5b60200191503681900382131561238c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b3e60a083018486612ae9565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612b6c57612b6c612b4a565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612b71565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612bd160e083018486612ae9565b9a9950505050505050505050565b80820180821115610dc757610dc7612b71565b6001600160701b0381811683821601908082111561202b5761202b612b71565b6001600160801b0381811683821601908082111561202b5761202b612b71565b8181035f83128015838313168383128216171561202b5761202b612b71565b5f60208284031215612c61575f80fd5b81516110c381612a4f565b6001600160801b0382811682821603908082111561202b5761202b612b71565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d1d828551612c8c565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612d90575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612db557612db5612b71565b505f0390565b6101808101610dc78284612c8c565b5f8060408385031215612ddb575f80fd5b825191506020830151612ded81612a7e565b809150509250929050565b8082028115828204841417610dc757610dc7612b71565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612b71565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612e63575f80fd5b8451935060208501519250604085015191506060850151612e8381612a7e565b939692955090935050565b5f60208284031215612e9e575f80fd5b5051919050565b5f82612eb357612eb3612b4a565b600160ff1b82145f1984141615612ecc57612ecc612b71565b500590565b5f60208284031215612ee1575f80fd5b81516110c381612a7e565b5f82515f5b81811015612f0b5760208186018101518583015201612ef1565b505f92019182525091905056fea26469706673582212202238bac019e7ecfa8be015629f0e92c3c527589e4e1e2f5abc62b4f2a3a37f5064736f6c63430008160033a264697066735822122032337d777fe41b5e1cc5afa2bd4c2f65dc91b81f04d5c9aa173e3c8000a2919664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MarketParamsLib.ts b/packages/hyperdrive-artifacts/src/MarketParamsLib.ts new file mode 100644 index 000000000..622754b2a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MarketParamsLib.ts @@ -0,0 +1,6 @@ +export const MarketParamsLib = { + name: 'MarketParamsLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122031444d7f5f1f63ef5c0308d0289cefdf8702fc71a78dac4dac0fda1a01a5652064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MathLib.ts b/packages/hyperdrive-artifacts/src/MathLib.ts new file mode 100644 index 000000000..4569fd42a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MathLib.ts @@ -0,0 +1,6 @@ +export const MathLib = { + name: 'MathLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220c912a4a5d188887fc5062ff216a835e09a18a3120d2553727a4195c13a6f99bd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MathUtils.ts b/packages/hyperdrive-artifacts/src/MathUtils.ts new file mode 100644 index 000000000..baa19fc58 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MathUtils.ts @@ -0,0 +1,6 @@ +export const MathUtils = { + name: 'MathUtils' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ba89e29cd8b3564a1696094e98965aba260220cb5dd61b2540ce51ca1b55258264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockAssetId.ts b/packages/hyperdrive-artifacts/src/MockAssetId.ts new file mode 100644 index 000000000..bb4516a49 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockAssetId.ts @@ -0,0 +1,103 @@ +export const MockAssetId = { + name: 'MockAssetId' as const, + abi: [ + { + "type": "function", + "name": "assetIdToName", + "inputs": [ + { + "name": "_id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assetIdToSymbol", + "inputs": [ + { + "name": "_id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "decodeAssetId", + "inputs": [ + { + "name": "_id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "enum AssetId.AssetIdPrefix" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "encodeAssetId", + "inputs": [ + { + "name": "_prefix", + "type": "uint8", + "internalType": "enum AssetId.AssetIdPrefix" + }, + { + "name": "_timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506106978061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633c8c28ad1461004e5780636322c751146100775780638a227c39146100a7578063957462ac146100c8575b5f80fd5b61006161005c366004610418565b6100db565b60405161006e9190610451565b60405180910390f35b610099610085366004610418565b60f881901c916001600160f81b0390911690565b60405161006e929190610497565b6100ba6100b53660046104c1565b6100ee565b60405190815260200161006e565b6100616100d6366004610418565b610104565b60605f6100e783610110565b9392505050565b5f806100fa8484610236565b9150505b92915050565b60605f6100e78361026a565b606060f882901c6001600160f81b0383165f61012b82610366565b90505f83600381111561014057610140610483565b03610172576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061022e565b600183600381111561018657610186610483565b036101b2578060405160200161019c91906104ee565b604051602081830303815290604052935061022e565b60028360038111156101c6576101c6610483565b036101dc578060405160200161019c9190610526565b60038360038111156101f0576101f0610483565b0361022e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b5f6001600160f81b0382111561025f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b606060f882901c6001600160f81b0383165f61028582610366565b90505f83600381111561029a5761029a610483565b036102cc576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061022e565b60018360038111156102e0576102e0610483565b036102f6578060405160200161019c919061055f565b600283600381111561030a5761030a610483565b03610320578060405160200161019c9190610596565b600383600381111561033457610334610483565b0361022e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b841561040a5761039f600a866105d5565b6103aa9060306105fc565b60f81b8260016103ba848761060f565b6103c4919061060f565b815181106103d4576103d4610622565b60200101906001600160f81b03191690815f1a905350806103f481610636565b91506104039050600a8661064e565b945061038e565b918290030190815292915050565b5f60208284031215610428575f80fd5b5035919050565b5f5b83811015610449578181015183820152602001610431565b50505f910152565b602081525f825180602084015261046f81604085016020870161042f565b601f01601f19169190910160400192915050565b634e487b7160e01b5f52602160045260245ffd5b60408101600484106104b757634e487b7160e01b5f52602160045260245ffd5b9281526020015290565b5f80604083850312156104d2575f80fd5b8235600481106104e0575f80fd5b946020939093013593505050565b700243cb832b9323934bb32902637b7339d1607d1b81525f825161051981601185016020870161042f565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161055281601285016020870161042f565b9190910160120192915050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161058981601085016020870161042f565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f825161051981601185016020870161042f565b634e487b7160e01b5f52601260045260245ffd5b5f826105e3576105e36105c1565b500690565b634e487b7160e01b5f52601160045260245ffd5b808201808211156100fe576100fe6105e8565b818103818111156100fe576100fe6105e8565b634e487b7160e01b5f52603260045260245ffd5b5f60018201610647576106476105e8565b5060010190565b5f8261065c5761065c6105c1565b50049056fea26469706673582212205327d1e54afe35ed1ee04f2e4a2093f1fd8b6ffa6ec72da32b2058d26cdba1e264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "assetIdToName(uint256)": "3c8c28ad", + "assetIdToSymbol(uint256)": "957462ac", + "decodeAssetId(uint256)": "6322c751", + "encodeAssetId(uint8,uint256)": "8a227c39" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockERC20.ts b/packages/hyperdrive-artifacts/src/MockERC20.ts new file mode 100644 index 000000000..ca12d1ea8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockERC20.ts @@ -0,0 +1,341 @@ +export const MockERC20 = { + name: 'MockERC20' as const, + abi: [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "name_", + "type": "string", + "internalType": "string" + }, + { + "name": "symbol_", + "type": "string", + "internalType": "string" + }, + { + "name": "decimals_", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50610e2a8061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100cb575f3560e01c80633644e5151161008857806395d89b411161006357806395d89b41146101ae578063a9059cbb146101b6578063d505accf146101c9578063dd62ed3e146101dc575f80fd5b80633644e5151461015f57806370a08231146101675780637ecebe001461018f575f80fd5b806306fdde03146100cf578063095ea7b3146100ed5780631624f6c61461011057806318160ddd1461012557806323b872dd14610137578063313ce5671461014a575b5f80fd5b6100d7610214565b6040516100e49190610959565b60405180910390f35b6101006100fb3660046109c0565b6102a3565b60405190151581526020016100e4565b61012361011e366004610a95565b61030f565b005b6003545b6040519081526020016100e4565b610100610145366004610b04565b6103ad565b60025460405160ff90911681526020016100e4565b6101296104bc565b610129610175366004610b3d565b6001600160a01b03165f9081526004602052604090205490565b61012961019d366004610b3d565b60086020525f908152604090205481565b6100d76104e1565b6101006101c43660046109c0565b6104f0565b6101236101d7366004610b56565b610584565b6101296101ea366004610bbb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b60605f805461022290610bec565b80601f016020809104026020016040519081016040528092919081815260200182805461024e90610bec565b80156102995780601f1061027057610100808354040283529160200191610299565b820191905f5260205f20905b81548152906001019060200180831161027c57829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102fd9086815260200190565b60405180910390a35060015b92915050565b60095460ff161561035d5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b5f6103688482610c70565b5060016103758382610c70565b506002805460ff191660ff831617905561038d6107dc565b6006556103986107f4565b60075550506009805460ff1916600117905550565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f198114610406576103e28184610895565b6001600160a01b0386165f9081526005602090815260408083203384529091529020555b6001600160a01b0385165f908152600460205260409020546104289084610895565b6001600160a01b038087165f90815260046020526040808220939093559086168152205461045690846108f7565b6001600160a01b038086165f8181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104a99087815260200190565b60405180910390a3506001949350505050565b5f6006546104c86107dc565b146104da576104d56107f4565b905090565b5060075490565b60606001805461022290610bec565b335f908152600460205260408120546105099083610895565b335f90815260046020526040808220929092556001600160a01b0385168152205461053490836108f7565b6001600160a01b0384165f818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102fd9086815260200190565b428410156105d45760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610354565b5f60016105df6104bc565b6001600160a01b038a165f90815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061062c83610d44565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106a592919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610700573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906107365750876001600160a01b0316816001600160a01b0316145b6107735760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610354565b6001600160a01b038181165f9081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b5f610955806107ed63ffffffff8216565b9250505090565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516108249190610d5c565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108556107dc565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f818310156108e65760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606401610354565b6108f08284610dce565b9392505050565b5f806109038385610de1565b9050838110156108f05760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606401610354565b4690565b5f602080835283518060208501525f5b8181101561098557858101830151858201604001528201610969565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109bb575f80fd5b919050565b5f80604083850312156109d1575f80fd5b6109da836109a5565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610a0b575f80fd5b813567ffffffffffffffff80821115610a2657610a266109e8565b604051601f8301601f19908116603f01168101908282118183101715610a4e57610a4e6109e8565b81604052838152866020858801011115610a66575f80fd5b836020870160208301375f602085830101528094505050505092915050565b803560ff811681146109bb575f80fd5b5f805f60608486031215610aa7575f80fd5b833567ffffffffffffffff80821115610abe575f80fd5b610aca878388016109fc565b94506020860135915080821115610adf575f80fd5b50610aec868287016109fc565b925050610afb60408501610a85565b90509250925092565b5f805f60608486031215610b16575f80fd5b610b1f846109a5565b9250610b2d602085016109a5565b9150604084013590509250925092565b5f60208284031215610b4d575f80fd5b6108f0826109a5565b5f805f805f805f60e0888a031215610b6c575f80fd5b610b75886109a5565b9650610b83602089016109a5565b95506040880135945060608801359350610b9f60808901610a85565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215610bcc575f80fd5b610bd5836109a5565b9150610be3602084016109a5565b90509250929050565b600181811c90821680610c0057607f821691505b602082108103610c1e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c6b57805f5260205f20601f840160051c81016020851015610c495750805b601f840160051c820191505b81811015610c68575f8155600101610c55565b50505b505050565b815167ffffffffffffffff811115610c8a57610c8a6109e8565b610c9e81610c988454610bec565b84610c24565b602080601f831160018114610cd1575f8415610cba5750858301515b5f19600386901b1c1916600185901b178555610d28565b5f85815260208120601f198616915b82811015610cff57888601518255948401946001909101908401610ce0565b5085821015610d1c57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b5f60018201610d5557610d55610d30565b5060010190565b5f808354610d6981610bec565b60018281168015610d815760018114610d9657610dc2565b60ff1984168752821515830287019450610dc2565b875f526020805f205f5b85811015610db95781548a820152908401908201610da0565b50505082870194505b50929695505050505050565b8181038181111561030957610309610d30565b8082018082111561030957610309610d3056fea2646970667358221220295056d0f2f98f7eb1cdc696155c64cd99bd469bddf81f68980e7d4003d74a1664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "initialize(string,string,uint8)": "1624f6c6", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockERC4626.ts b/packages/hyperdrive-artifacts/src/MockERC4626.ts new file mode 100644 index 000000000..c63cec17e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockERC4626.ts @@ -0,0 +1,1387 @@ +export const MockERC4626 = { + name: 'MockERC4626' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_asset", + "type": "address", + "internalType": "contract ERC20Mintable" + }, + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_symbol", + "type": "string", + "internalType": "string" + }, + { + "name": "_initialRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + }, + { + "name": "_isCompetitionMode", + "type": "bool", + "internalType": "bool" + }, + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "asset", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ERC20" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToAssets", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompetitionMode", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isUnrestricted", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxDeposit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMint", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMintAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxRedeem", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxWithdraw", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "_shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "previewDeposit", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewMint", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewRedeem", + "inputs": [ + { + "name": "shares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "previewWithdraw", + "inputs": [ + { + "name": "assets", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeem", + "inputs": [ + { + "name": "_shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMaxMintAmount", + "inputs": [ + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRate", + "inputs": [ + { + "name": "_rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUnrestrictedMintStatus", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAssets", + "inputs": [ + { + "name": "timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "_assets", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Deposit", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assets", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "shares", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x61012060405234801562000011575f80fd5b5060405162002f1138038062002f11833981016040819052620000349162000307565b823081818a8a8a8181846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000a09190620003c2565b5f620000ad848262000475565b506001620000bc838262000475565b5060ff81166080524660a052620000d262000194565b60c0525050506001600160a01b0392831660e0525050600680548483166001600160a01b0319918216811790925560078054938516939091169290921790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a3505050600c9490945542600d5590151561010052600e5550620005bb9350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001c6919062000541565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b038116811462000243575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126200026a575f80fd5b81516001600160401b038082111562000287576200028762000246565b604051601f8301601f19908116603f01168101908282118183101715620002b257620002b262000246565b8160405283815260209250866020858801011115620002cf575f80fd5b5f91505b83821015620002f25785820183015181830184015290820190620002d3565b5f602085830101528094505050505092915050565b5f805f805f805f60e0888a0312156200031e575f80fd5b87516200032b816200022e565b60208901519097506001600160401b038082111562000348575f80fd5b620003568b838c016200025a565b975060408a01519150808211156200036c575f80fd5b506200037b8a828b016200025a565b95505060608801519350608088015162000395816200022e565b60a08901519093508015158114620003ab575f80fd5b8092505060c0880151905092959891949750929550565b5f60208284031215620003d3575f80fd5b815160ff81168114620003e4575f80fd5b9392505050565b600181811c908216806200040057607f821691505b6020821081036200041f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200047057805f5260205f20601f840160051c810160208510156200044c5750805b601f840160051c820191505b818110156200046d575f815560010162000458565b50505b505050565b81516001600160401b0381111562000491576200049162000246565b620004a981620004a28454620003eb565b8462000425565b602080601f831160018114620004df575f8415620004c75750858301515b5f19600386901b1c1916600185901b17855562000539565b5f85815260208120601f198616915b828110156200050f57888601518255948401946001909101908401620004ee565b50858210156200052d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8083546200055081620003eb565b600182811680156200056b57600181146200058157620005af565b60ff1984168752821515830287019450620005af565b875f526020805f205f5b85811015620005a65781548a8201529084019082016200058b565b50505082870194505b50929695505050505050565b60805160a05160c05160e051610100516128936200067e5f395f81816105c30152818161091601528181610a5701528181610ced01528181610da601528181610ef601528181611375015261145901525f81816104c40152818161089401528181610e6501528181610f4d015281816112d8015281816113cc0152818161151801528181611ac001528181611c4301528181611e4e01528181611ee501528181612033015261217001525f610d8201525f610d5201525f61047001526128935ff3fe608060405234801561000f575f80fd5b506004361061034d575f3560e01c80637a8c63b5116101c9578063ba087652116100fe578063d905777e1161009e578063ea7ca27611610079578063ea7ca276146107fa578063ed0d0efb14610830578063ef8b30f71461084f578063f2fde38b14610862575f80fd5b8063d905777e14610773578063dd62ed3e1461079b578063e688747b146107c5575f80fd5b8063c63d75b6116100d9578063c63d75b6146104fe578063c6e6f5921461073a578063ce96cb771461074d578063d505accf14610760575f80fd5b8063ba087652146106ec578063bf7e214f146106ff578063c53a398514610712575f80fd5b80639dc29fac11610169578063aed3077711610144578063aed3077714610691578063b3d7f6b9146106b3578063b460af94146106c6578063b7009613146106d9575f80fd5b80639dc29fac14610658578063a0712d681461066b578063a9059cbb1461067e575f80fd5b80638da5cb5b116101a45780638da5cb5b14610617578063946058571461062a57806394bf804d1461063d57806395d89b4114610650575f80fd5b80637a8c63b5146105be5780637a9e5e4b146105e55780637ecebe00146105f8575f80fd5b8063313ce5671161029f5780634b5159da1161023f57806367aff4841161021a57806367aff484146105665780636e553f651461057957806370a082311461058c578063728b952b146105ab575f80fd5b80634b5159da146105385780634cdad5061461054b578063679aefce1461055e575f80fd5b806338d52e0f1161027a57806338d52e0f146104bf578063402d267d146104fe57806340c10f191461051257806342966c6814610525575f80fd5b8063313ce5671461046b57806334fcf437146104a45780633644e515146104b7575f80fd5b8063095ea7b31161030a5780630ea9b75b116102e55780630ea9b75b1461043357806318160ddd14610446578063239c70ae1461044f57806323b872dd14610458575f80fd5b8063095ea7b3146103db5780630a28a477146103fe5780630bade8a414610411575f80fd5b806301e1d1141461035157806305f05a941461036c57806306a36aee1461038157806306fdde03146103a057806307a2d13a146103b5578063088a4ed0146103c8575b5f80fd5b610359610875565b6040519081526020015b60405180910390f35b61037f61037a3660046122fb565b610914565b005b61035961038f366004612332565b60096020525f908152604090205481565b6103a861099e565b604051610363919061234d565b6103596103c3366004612399565b610a29565b61037f6103d6366004612399565b610a55565b6103ee6103e93660046123b0565b610ab1565b6040519015158152602001610363565b61035961040c366004612399565b610b1d565b6103ee61041f3660046123f6565b600a6020525f908152604090205460ff1681565b61037f61044136600461241f565b610b3c565b61035960025481565b610359600e5481565b6103ee610466366004612463565b610c11565b6104927f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610363565b61037f6104b2366004612399565b610ceb565b610359610d4f565b6104e67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610363565b61035961050c366004612332565b505f1990565b61037f6105203660046123b0565b610da4565b61037f610533366004612399565b610ef4565b61037f6105463660046124a1565b610fdb565b610359610559366004612399565b61106b565b600c54610359565b61037f6105743660046124bb565b611075565b6103596105873660046124e6565b61113a565b61035961059a366004612332565b60036020525f908152604090205481565b61037f6105b9366004612509565b61114d565b6103ee7f000000000000000000000000000000000000000000000000000000000000000081565b61037f6105f3366004612332565b6111d4565b610359610606366004612332565b60056020525f908152604090205481565b6006546104e6906001600160a01b031681565b610359610638366004612399565b6112b9565b61035961064b3660046124e6565b611353565b6103a8611366565b61037f6106663660046123b0565b611373565b61037f610679366004612399565b611457565b6103ee61068c3660046123b0565b6115a3565b6103ee61069f366004612332565b600f6020525f908152604090205460ff1681565b6103596106c1366004612399565b611606565b6103596106d4366004612535565b611624565b6103ee6106e7366004612569565b611640565b6103596106fa366004612535565b611739565b6007546104e6906001600160a01b031681565b6104e6610720366004612332565b60086020525f90815260409020546001600160a01b031681565b610359610748366004612399565b61174d565b61035961075b366004612332565b61176c565b61037f61076e3660046125ad565b61178d565b610359610781366004612332565b6001600160a01b03165f9081526003602052604090205490565b6103596107a9366004612509565b600460209081525f928352604080842090915290825290205481565b6103ee6107d3366004612616565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b6103ee610808366004612647565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b61035961083e3660046123f6565b600b6020525f908152604090205481565b61035961085d366004612399565b6119cb565b61037f610870366004612332565b6119d5565b5f61087f42611a51565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190612671565b61090f919061269c565b905090565b7f0000000000000000000000000000000000000000000000000000000000000000156109745761094f335f356001600160e01b031916611b37565b6109745760405162461bcd60e51b815260040161096b906126af565b60405180910390fd5b6001600160a01b03919091165f908152600f60205260409020805460ff1916911515919091179055565b5f80546109aa906126e6565b80601f01602080910402602001604051908101604052809291908181526020018280546109d6906126e6565b8015610a215780601f106109f857610100808354040283529160200191610a21565b820191905f5260205f20905b815481529060010190602001808311610a0457829003601f168201915b505050505081565b6002545f908015610a4c57610a47610a3f610875565b849083611bdd565b610a4e565b825b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610aac57610a90335f356001600160e01b031916611b37565b610aac5760405162461bcd60e51b815260040161096b906126af565b600e55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b0b9086815260200190565b60405180910390a35060015b92915050565b6002545f908015610a4c57610a4781610b34610875565b859190611bf8565b610b51335f356001600160e01b031916611b37565b610b6d5760405162461bcd60e51b815260040161096b9061271e565b8015610b9c576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610bc2565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610c04911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610c6a57610c468382612744565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610c91908490612744565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f8051602061283e83398151915290610cd89087815260200190565b60405180910390a3506001949350505050565b7f000000000000000000000000000000000000000000000000000000000000000015610d4257610d26335f356001600160e01b031916611b37565b610d425760405162461bcd60e51b815260040161096b906126af565b610d4a611c1b565b600c55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610d7f5761090f611caa565b507f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000015610dfb57610ddf335f356001600160e01b031916611b37565b610dfb5760405162461bcd60e51b815260040161096b906126af565b335f908152600f602052604090205460ff16610e6357600e54811115610e635760405162461bcd60e51b815260206004820181905260248201527f4d6f636b455243343632363a20496e76616c6964206d696e7420616d6f756e74604482015260640161096b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a0712d68610e9b83610a29565b6040518263ffffffff1660e01b8152600401610eb991815260200190565b5f604051808303815f87803b158015610ed0575f80fd5b505af1158015610ee2573d5f803e3d5ffd5b50505050610ef08282611d42565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610f4b57610f2f335f356001600160e01b031916611b37565b610f4b5760405162461bcd60e51b815260040161096b906126af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166342966c68610f8383610a29565b6040518263ffffffff1660e01b8152600401610fa191815260200190565b5f604051808303815f87803b158015610fb8575f80fd5b505af1158015610fca573d5f803e3d5ffd5b50505050610fd83382611d99565b50565b610ff0335f356001600160e01b031916611b37565b61100c5760405162461bcd60e51b815260040161096b9061271e565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b5f610b1782610a29565b61108a335f356001600160e01b031916611b37565b6110a65760405162461bcd60e51b815260040161096b9061271e565b80156110d4576001600160a01b0383165f9081526009602052604090208054600160ff85161b1790556110f9565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610c04911515815260200190565b5f611143611c1b565b610a4e8383611df8565b611162335f356001600160e01b031916611b37565b61117e5760405162461bcd60e51b815260040161096b9061271e565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b0316331480611266575060075460405163b700961360e01b81526001600160a01b039091169063b70096139061122790339030906001600160e01b03195f351690600401612757565b602060405180830381865afa158015611242573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112669190612784565b61126e575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f6112c382611a51565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611325573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113499190612671565b610b17919061269c565b5f61135c611c1b565b610a4e8383611ecc565b600180546109aa906126e6565b7f0000000000000000000000000000000000000000000000000000000000000000156113ca576113ae335f356001600160e01b031916611b37565b6113ca5760405162461bcd60e51b815260040161096b906126af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166342966c6861140283610a29565b6040518263ffffffff1660e01b815260040161142091815260200190565b5f604051808303815f87803b158015611437575f80fd5b505af1158015611449573d5f803e3d5ffd5b50505050610ef08282611d99565b7f0000000000000000000000000000000000000000000000000000000000000000156114ae57611492335f356001600160e01b031916611b37565b6114ae5760405162461bcd60e51b815260040161096b906126af565b335f908152600f602052604090205460ff1661151657600e548111156115165760405162461bcd60e51b815260206004820181905260248201527f4d6f636b455243343632363a20496e76616c6964206d696e7420616d6f756e74604482015260640161096b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a0712d6861154e83610a29565b6040518263ffffffff1660e01b815260040161156c91815260200190565b5f604051808303815f87803b158015611583575f80fd5b505af1158015611595573d5f803e3d5ffd5b50505050610fd83382611d42565b335f908152600360205260408120805483919083906115c3908490612744565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f8051602061283e83398151915290610b0b9086815260200190565b6002545f908015610a4c57610a4761161c610875565b849083611bf8565b5f61162d611c1b565b611638848484611f5a565b949350505050565b6001600160a01b038083165f9081526008602052604081205490911680156116d95760405163b700961360e01b81526001600160a01b0382169063b70096139061169290889088908890600401612757565b602060405180830381865afa1580156116ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116d19190612784565b915050610a4e565b6001600160e01b031983165f908152600a602052604090205460ff168061173057506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b5f611742611c1b565b61163884848461205a565b6002545f908015610a4c57610a4781611764610875565b859190611bdd565b6001600160a01b0381165f90815260036020526040812054610b1790610a29565b428410156117dd5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161096b565b5f60016117e8610d4f565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156118f0573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906119265750876001600160a01b0316816001600160a01b0316145b6119635760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161096b565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b5f610b178261174d565b6119ea335f356001600160e01b031916611b37565b611a065760405162461bcd60e51b815260040161096b9061271e565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b5f600c545f03611a6257505f919050565b600d54821015611a7357505f919050565b5f611a906301e13380600d5485611a8a9190612744565b90612197565b90505f611638611aab83600c546121ab90919063ffffffff16565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611b0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b319190612671565b906121ab565b6007545f906001600160a01b03168015801590611bbe575060405163b700961360e01b81526001600160a01b0382169063b700961390611b7f90879030908890600401612757565b602060405180830381865afa158015611b9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bbe9190612784565b8061163857506006546001600160a01b03858116911614949350505050565b5f825f190484118302158202611bf1575f80fd5b5091020490565b5f825f190484118302158202611c0c575f80fd5b50910281810615159190040190565b5f611c2542611a51565b90508015611ca35760405163140e25ad60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a0712d68906024015f604051808303815f87803b158015611c8c575f80fd5b505af1158015611c9e573d5f803e3d5ffd5b505050505b5042600d55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051611cda919061279f565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060025f828254611d53919061269c565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f8051602061283e83398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611dc0908490612744565b90915550506002805482900390556040518181525f906001600160a01b038416905f8051602061283e83398151915290602001611d8d565b5f611e02836119cb565b9050805f03611e415760405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f53484152455360a81b604482015260640161096b565b611e766001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866121bf565b611e808282611d42565b60408051848152602081018390526001600160a01b0384169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d791015b60405180910390a3610b17565b5f611ed683611606565b9050611f0d6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330846121bf565b611f178284611d42565b60408051828152602081018590526001600160a01b0384169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79101611ebf565b5f611f6484610b1d565b9050336001600160a01b03831614611fd1576001600160a01b0382165f9081526004602090815260408083203384529091529020545f198114611fcf57611fab8282612744565b6001600160a01b0384165f9081526004602090815260408083203384529091529020555b505b611fdb8282611d99565b60408051858152602081018390526001600160a01b03808516929086169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a4610a4e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612257565b5f336001600160a01b038316146120c6576001600160a01b0382165f9081526004602090815260408083203384529091529020545f1981146120c4576120a08582612744565b6001600160a01b0384165f9081526004602090815260408083203384529091529020555b505b6120cf8461106b565b9050805f0361210e5760405162461bcd60e51b815260206004820152600b60248201526a5a45524f5f41535345545360a81b604482015260640161096b565b6121188285611d99565b60408051828152602081018690526001600160a01b03808516929086169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a4610a4e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483612257565b5f610a4e83670de0b6b3a764000084611bdd565b5f610a4e8383670de0b6b3a7640000611bdd565b5f6040516323b872dd60e01b81526001600160a01b03851660048201526001600160a01b038416602482015282604482015260205f6064835f8a5af13d15601f3d1160015f5114161716915050806122505760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b604482015260640161096b565b5050505050565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f5114161716915050806122d45760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b604482015260640161096b565b50505050565b6001600160a01b0381168114610fd8575f80fd5b8015158114610fd8575f80fd5b5f806040838503121561230c575f80fd5b8235612317816122da565b91506020830135612327816122ee565b809150509250929050565b5f60208284031215612342575f80fd5b8135610a4e816122da565b5f602080835283518060208501525f5b818110156123795785810183015185820160400152820161235d565b505f604082860101526040601f19601f8301168501019250505092915050565b5f602082840312156123a9575f80fd5b5035919050565b5f80604083850312156123c1575f80fd5b82356123cc816122da565b946020939093013593505050565b80356001600160e01b0319811681146123f1575f80fd5b919050565b5f60208284031215612406575f80fd5b610a4e826123da565b803560ff811681146123f1575f80fd5b5f805f60608486031215612431575f80fd5b61243a8461240f565b9250612448602085016123da565b91506040840135612458816122ee565b809150509250925092565b5f805f60608486031215612475575f80fd5b8335612480816122da565b92506020840135612490816122da565b929592945050506040919091013590565b5f80604083850312156124b2575f80fd5b612317836123da565b5f805f606084860312156124cd575f80fd5b83356124d8816122da565b92506124486020850161240f565b5f80604083850312156124f7575f80fd5b823591506020830135612327816122da565b5f806040838503121561251a575f80fd5b8235612525816122da565b91506020830135612327816122da565b5f805f60608486031215612547575f80fd5b833592506020840135612559816122da565b91506040840135612458816122da565b5f805f6060848603121561257b575f80fd5b8335612586816122da565b92506020840135612596816122da565b91506125a4604085016123da565b90509250925092565b5f805f805f805f60e0888a0312156125c3575f80fd5b87356125ce816122da565b965060208801356125de816122da565b955060408801359450606088013593506125fa6080890161240f565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215612627575f80fd5b6126308361240f565b915061263e602084016123da565b90509250929050565b5f8060408385031215612658575f80fd5b8235612663816122da565b915061263e6020840161240f565b5f60208284031215612681575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610b1757610b17612688565b6020808252601b908201527f4d6f636b455243343632363a206e6f7420617574686f72697a65640000000000604082015260600190565b600181811c908216806126fa57607f821691505b60208210810361271857634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b81810381811115610b1757610b17612688565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215612794575f80fd5b8151610a4e816122ee565b5f8083545f60018260011c915060018316806127bc57607f831692505b602080841082036127db57634e487b7160e01b5f52602260045260245ffd5b8180156127ef57600181146128045761282f565b60ff198616895284151585028901965061282f565b5f8a8152602090205f5b868110156128275781548b82015290850190830161280e565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b220b2d5d9ce4fd8847df228ec894fd939f3199032d19ba586c75609726f1c8364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "asset()": "38d52e0f", + "authority()": "bf7e214f", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "burn(uint256)": "42966c68", + "canCall(address,address,bytes4)": "b7009613", + "convertToAssets(uint256)": "07a2d13a", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "deposit(uint256,address)": "6e553f65", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "getRate()": "679aefce", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getTargetCustomAuthority(address)": "c53a3985", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "isCompetitionMode()": "7a8c63b5", + "isUnrestricted(address)": "aed30777", + "maxDeposit(address)": "402d267d", + "maxMint(address)": "c63d75b6", + "maxMintAmount()": "239c70ae", + "maxRedeem(address)": "d905777e", + "maxWithdraw(address)": "ce96cb77", + "mint(address,uint256)": "40c10f19", + "mint(uint256)": "a0712d68", + "mint(uint256,address)": "94bf804d", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "owner()": "8da5cb5b", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "previewDeposit(uint256)": "ef8b30f7", + "previewMint(uint256)": "b3d7f6b9", + "previewRedeem(uint256)": "4cdad506", + "previewWithdraw(uint256)": "0a28a477", + "redeem(uint256,address,address)": "ba087652", + "setAuthority(address)": "7a9e5e4b", + "setMaxMintAmount(uint256)": "088a4ed0", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRate(uint256)": "34fcf437", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUnrestrictedMintStatus(address,bool)": "05f05a94", + "setUserRole(address,uint8,bool)": "67aff484", + "symbol()": "95d89b41", + "totalAssets()": "01e1d114", + "totalAssets(uint256)": "94605857", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "withdraw(uint256,address,address)": "b460af94" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockERC4626Hyperdrive.ts b/packages/hyperdrive-artifacts/src/MockERC4626Hyperdrive.ts new file mode 100644 index 000000000..a7d449f90 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockERC4626Hyperdrive.ts @@ -0,0 +1,1822 @@ +export const MockERC4626Hyperdrive = { + name: 'MockERC4626Hyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "sharesMinted", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "pricePerVaultShare", + "inputs": [], + "outputs": [ + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "_shares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_sharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "amountWithdrawn", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620025c9380380620025c98339810160408190526200003491620006be565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890889088908890889088908890889088906200010a898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b5162000150955090911692509050600162000166565b5050505050505050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001c090859083906200023116565b6200022b57604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200021f918691620002db16565b6200022b8482620002db565b50505050565b5f805f846001600160a01b0316846040516200024e919062000934565b5f604051808303815f865af19150503d805f811462000289576040519150601f19603f3d011682016040523d82523d5f602084013e6200028e565b606091505b5091509150818015620002bc575080511580620002bc575080806020019051810190620002bc919062000951565b8015620002d257505f856001600160a01b03163b115b95945050505050565b5f620002f16001600160a01b038416836200034c565b905080515f141580156200031857508080602001905181019062000316919062000951565b155b156200034757604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200035b83835f62000362565b9392505050565b606081471015620003895760405163cd78605960e01b81523060048201526024016200033e565b5f80856001600160a01b03168486604051620003a6919062000934565b5f6040518083038185875af1925050503d805f8114620003e2576040519150601f19603f3d011682016040523d82523d5f602084013e620003e7565b606091505b509092509050620003fa86838362000404565b9695505050505050565b6060826200041d57620004178262000468565b6200035b565b81511580156200043557506001600160a01b0384163b155b156200046057604051639996b31560e01b81526001600160a01b03851660048201526024016200033e565b50806200035b565b805115620004795780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004cc57620004cc62000492565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004fd57620004fd62000492565b604052919050565b5f5b838110156200052157818101518382015260200162000507565b50505f910152565b80516001600160a01b038116811462000540575f80fd5b919050565b5f6080828403121562000556575f80fd5b604051608081016001600160401b03811182821017156200057b576200057b62000492565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005be575f80fd5b620005c8620004a6565b9050620005d58262000529565b8152620005e56020830162000529565b6020820152620005f86040830162000529565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200066381840162000529565b908201526101806200067783820162000529565b908201526101a06200068b83820162000529565b908201526101c06200069f83820162000529565b908201526101e0620006b48484830162000545565b9082015292915050565b5f805f805f805f80610340898b031215620006d7575f80fd5b88516001600160401b0380821115620006ee575f80fd5b818b0191508b601f83011262000702575f80fd5b81518181111562000717576200071762000492565b6200072c601f8201601f1916602001620004d2565b91508082528c602082850101111562000743575f80fd5b6200075681602084016020860162000505565b5098506200076a90508a60208b01620005ac565b96506200077b6102808a0162000529565b95506200078c6102a08a0162000529565b94506200079d6102c08a0162000529565b9350620007ae6102e08a0162000529565b9250620007bf6103008a0162000529565b9150620007d06103208a0162000529565b90509295985092959890939650565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200034757805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000492565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200094781846020870162000505565b9190910192915050565b5f6020828403121562000962575f80fd5b815180151581146200035b575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611afb62000ace5f395f8181610646015281816106b001526107a701525f81816105ad015281816107d6015261083301525f818161056701526109f701525f8181610613015261074501525f81816101eb015281816103a301528181610681015281816106e20152818161071401528181610778015281816108090152818161087b015281816109b00152610a3801525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f8181610cbc01528181610d3501528181610dc001528181610e0b01528181610eeb01528181611016015261104301525f8181610c8f01528181610cf001528181610e530152610f820152611afb5ff3fe6080604052600436106101d7575f3560e01c80639032c72611610101578063d899e11211610094578063e44808bc11610063578063e44808bc146105e3578063eac3e79914610602578063f3f7070714610635578063f698da2514610668576101d7565b8063d899e1121461059c578063daaa35fe146105cf578063dbbe807014610589578063ded06231146103dd576101d7565b8063a6e8a859116100d0578063a6e8a85914610556578063ab033ea9146102e0578063cba2e58d14610589578063cbc134341461031b576101d7565b80639032c726146104f95780639cd241af14610518578063a22cb465146104a8578063a314453114610537576101d7565b806330adf81f116101795780634ed2d6ac116101485780634ed2d6ac1461048e5780637180c8ca146104a857806377d05ff4146104c7578063829555d4146104da576101d7565b806330adf81f1461040a5780633e691db91461043d578063414f826d1461045c5780634c2ac1d91461047b576101d7565b806317fad7fc116101b557806317fad7fc146103545780631c0f12b61461037357806321b57d531461039257806329b23fc1146103dd576101d7565b806301681a62146102e057806302329a2914610301578063074a6de91461031b575b3480156101e2575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161022392919061144f565b5f60405180830381855af49150503d805f811461025b576040519150601f19603f3d011682016040523d82523d5f602084013e610260565b606091505b5091509150811561028457604051638bb0a34b60e01b815260040160405180910390fd5b5f61028e8261145e565b90506001600160e01b03198116636e64089360e11b146102b057815160208301fd5b8151600319810160048401908152926102d1918101602001906024016114cb565b80519650602001945050505050f35b3480156102eb575f80fd5b506102ff6102fa366004611587565b61067c565b005b34801561030c575f80fd5b506102ff6102fa3660046115af565b348015610326575f80fd5b5061033a6103353660046115da565b6106a9565b604080519283526020830191909152015b60405180910390f35b34801561035f575f80fd5b506102ff61036e366004611667565b6106dd565b34801561037e575f80fd5b506102ff61038d3660046116f6565b61070f565b34801561039d575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161034b565b3480156103e8575f80fd5b506103fc6103f736600461173b565b61073f565b60405190815260200161034b565b348015610415575f80fd5b506103fc7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610448575f80fd5b506103fc610457366004611791565b610772565b348015610467575f80fd5b506102ff6104763660046117cb565b6107a2565b6103fc6104893660046117eb565b6107d0565b348015610499575f80fd5b506102ff61038d36600461184a565b3480156104b3575f80fd5b506102ff6104c2366004611891565b610804565b6103fc6104d53660046115da565b61082d565b3480156104e5575f80fd5b5061033a6104f43660046118c8565b61085f565b348015610504575f80fd5b506102ff61051336600461190c565b610877565b348015610523575f80fd5b506102ff610532366004611986565b6109ab565b348015610542575f80fd5b506103fc6105513660046115da565b6109da565b348015610561575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b61033a61059736600461173b565b6109f0565b3480156105a7575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156105da575f80fd5b506103fc610a25565b3480156105ee575f80fd5b506102ff6105fd3660046119bb565b610a33565b34801561060d575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b348015610640575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b348015610673575f80fd5b506103fc610a64565b6106a57f0000000000000000000000000000000000000000000000000000000000000000610af2565b5050565b5f806106d47f0000000000000000000000000000000000000000000000000000000000000000610af2565b50935093915050565b6107067f0000000000000000000000000000000000000000000000000000000000000000610af2565b50505050505050565b6107387f0000000000000000000000000000000000000000000000000000000000000000610af2565b5050505050565b5f6107697f0000000000000000000000000000000000000000000000000000000000000000610af2565b50949350505050565b5f61079c7f0000000000000000000000000000000000000000000000000000000000000000610af2565b50919050565b6107cb7f0000000000000000000000000000000000000000000000000000000000000000610af2565b505050565b5f6107fa7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5095945050505050565b6107cb7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5f6108577f0000000000000000000000000000000000000000000000000000000000000000610af2565b509392505050565b5f8061086b8484610b10565b915091505b9250929050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108ab610a64565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109549190611a16565b5f60405180830381855af49150503d805f811461098c576040519150601f19603f3d011682016040523d82523d5f602084013e610991565b606091505b5091509150816109a357805160208201fd5b805160208201f35b6109d47f0000000000000000000000000000000000000000000000000000000000000000610af2565b50505050565b5f6109e6848484610be0565b90505b9392505050565b5f80610a1b7f0000000000000000000000000000000000000000000000000000000000000000610af2565b5094509492505050565b5f610a2e610c6e565b905090565b610a5c7f0000000000000000000000000000000000000000000000000000000000000000610af2565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161095492919061144f565b815f80610b2360408501602086016115af565b15610b4857610b3e85610b396040870187611a31565b610c80565b9093509050610b60565b5034610b6085610b5b6040870187611a31565b610db3565b610b68610c6e565b91508015610bd8576040515f90339083908381818185875af1925050503d805f8114610baf576040519150601f19603f3d011682016040523d82523d5f602084013e610bb4565b606091505b5050905080610bd6576040516312171d8360e31b815260040160405180910390fd5b505b509250929050565b5f80610bec8585610de8565b9050610bf781610e05565b9450845f03610c09575f9150506109e9565b849150610c1c60408401602085016115af565b15610c4b57610c4485610c326020860186611587565b610c3f6040870187611a31565b610e30565b9150610857565b61085785610c5c6020860186611587565b610c696040870187611a31565b611009565b5f610a2e670de0b6b3a764000061103d565b5f80610cb76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088611068565b610d177f0000000000000000000000000000000000000000000000000000000000000000610ce6876001611a74565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906110cf565b604051636e553f6560e01b8152600481018690523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015610d83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da79190611a93565b965f9650945050505050565b6107cb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086611068565b5f610dfc8383670de0b6b3a764000061115e565b90505b92915050565b5f610dff7f000000000000000000000000000000000000000000000000000000000000000083611179565b6040516370a0823160e01b81526001600160a01b0384811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610e98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebc9190611a93565b604051635d043b2960e11b8152600481018890526001600160a01b0387811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015610f33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f579190611a93565b9150610f638282611a74565b6040516370a0823160e01b81526001600160a01b0387811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610fc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610feb9190611a93565b146107695760405163350b944160e11b815260040160405180910390fd5b6109d46001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866111e3565b5f610dff7f000000000000000000000000000000000000000000000000000000000000000083611214565b6040516001600160a01b0384811660248301528381166044830152606482018390526109d49186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611243565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261112084826112a9565b6109d4576040516001600160a01b0384811660248301525f604483015261115491869182169063095ea7b39060640161109d565b6109d48482611243565b5f825f190484118302158202611172575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f906001600160a01b0384169063c6e6f592906024015b602060405180830381865afa1580156111bf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dfc9190611a93565b6040516001600160a01b038381166024830152604482018390526107cb91859182169063a9059cbb9060640161109d565b6040516303d1689d60e11b8152600481018290525f906001600160a01b038416906307a2d13a906024016111a4565b5f6112576001600160a01b0384168361134a565b905080515f1415801561127b5750808060200190518101906112799190611aaa565b155b156107cb57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516112c49190611a16565b5f604051808303815f865af19150503d805f81146112fd576040519150601f19603f3d011682016040523d82523d5f602084013e611302565b606091505b509150915081801561132c57508051158061132c57508080602001905181019061132c9190611aaa565b801561134157505f856001600160a01b03163b115b95945050505050565b6060610dfc83835f845f80856001600160a01b0316848660405161136e9190611a16565b5f6040518083038185875af1925050503d805f81146113a8576040519150601f19603f3d011682016040523d82523d5f602084013e6113ad565b606091505b50915091506113bd8683836113c7565b9695505050505050565b6060826113dc576113d782611423565b6109e9565b81511580156113f357506001600160a01b0384163b155b1561141c57604051639996b31560e01b81526001600160a01b03851660048201526024016112a0565b50806109e9565b8051156114335780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b818382375f9101908152919050565b805160208201516001600160e01b0319808216929190600483101561148d5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156114c35781810151838201526020016114ab565b50505f910152565b5f602082840312156114db575f80fd5b815167ffffffffffffffff808211156114f2575f80fd5b818401915084601f830112611505575f80fd5b81518181111561151757611517611495565b604051601f8201601f19908116603f0116810190838211818310171561153f5761153f611495565b81604052828152876020848701011115611557575f80fd5b6115688360208301602088016114a9565b979650505050505050565b6001600160a01b038116811461144c575f80fd5b5f60208284031215611597575f80fd5b81356109e981611573565b801515811461144c575f80fd5b5f602082840312156115bf575f80fd5b81356109e9816115a2565b5f6060828403121561079c575f80fd5b5f805f606084860312156115ec575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115611610575f80fd5b61161c868287016115ca565b9150509250925092565b5f8083601f840112611636575f80fd5b50813567ffffffffffffffff81111561164d575f80fd5b6020830191508360208260051b8501011115610870575f80fd5b5f805f805f806080878903121561167c575f80fd5b863561168781611573565b9550602087013561169781611573565b9450604087013567ffffffffffffffff808211156116b3575f80fd5b6116bf8a838b01611626565b909650945060608901359150808211156116d7575f80fd5b506116e489828a01611626565b979a9699509497509295939492505050565b5f805f8060808587031215611709575f80fd5b84359350602085013561171b81611573565b9250604085013561172b81611573565b9396929550929360600135925050565b5f805f806080858703121561174e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115611779575f80fd5b611785878288016115ca565b91505092959194509250565b5f602082840312156117a1575f80fd5b813567ffffffffffffffff8111156117b7575f80fd5b6117c3848285016115ca565b949350505050565b5f80604083850312156117dc575f80fd5b50508035926020909101359150565b5f805f805f60a086880312156117ff575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115611831575f80fd5b61183d888289016115ca565b9150509295509295909350565b5f805f806080858703121561185d575f80fd5b84359350602085013561186f81611573565b925060408501359150606085013561188681611573565b939692955090935050565b5f80604083850312156118a2575f80fd5b82356118ad81611573565b915060208301356118bd816115a2565b809150509250929050565b5f80604083850312156118d9575f80fd5b82359150602083013567ffffffffffffffff8111156118f6575f80fd5b611902858286016115ca565b9150509250929050565b5f805f805f805f60e0888a031215611922575f80fd5b873561192d81611573565b9650602088013561193d81611573565b9550604088013561194d816115a2565b945060608801359350608088013560ff81168114611969575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611998575f80fd5b8335925060208401356119aa81611573565b929592945050506040919091013590565b5f805f805f60a086880312156119cf575f80fd5b8535945060208601356119e181611573565b935060408601356119f181611573565b9250606086013591506080860135611a0881611573565b809150509295509295909350565b5f8251611a278184602087016114a9565b9190910192915050565b5f808335601e19843603018112611a46575f80fd5b83018035915067ffffffffffffffff821115611a60575f80fd5b602001915036819003821315610870575f80fd5b80820180821115610dff57634e487b7160e01b5f52601160045260245ffd5b5f60208284031215611aa3575f80fd5b5051919050565b5f60208284031215611aba575f80fd5b81516109e9816115a256fea26469706673582212207c231f2cb3620baef7f333a17ff482b4f7b89048663d79acd00d77967563590964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "deposit(uint256,(address,bool,bytes))": "829555d4", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "pricePerVaultShare()": "daaa35fe", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "withdraw(uint256,uint256,(address,bool,bytes))": "a3144531" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockERC721.ts b/packages/hyperdrive-artifacts/src/MockERC721.ts new file mode 100644 index 000000000..6f02b5cdb --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockERC721.ts @@ -0,0 +1,370 @@ +export const MockERC721 = { + name: 'MockERC721' as const, + abi: [ + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "name_", + "type": "string", + "internalType": "string" + }, + { + "name": "symbol_", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenURI", + "inputs": [ + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "_owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "_from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "_tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50610f1d8061001d5f395ff3fe6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610238578063b88d4fde14610257578063c87b56dd1461026a578063e985e9c51461028a575f80fd5b80636352211e146101d857806370a08231146101f757806395d89b4114610224575f80fd5b8063095ea7b3116100b7578063095ea7b31461017e57806323b872dd1461019357806342842e0e146101a65780634cd88b76146101b9575f80fd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610a08565b6102d1565b60405190151581526020015b60405180910390f35b34801561011c575f80fd5b50610125610322565b6040516101089190610a6d565b34801561013d575f80fd5b5061016661014c366004610a7f565b5f908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610108565b61019161018c366004610aac565b6103b1565b005b6101916101a1366004610ad4565b610495565b6101916101b4366004610ad4565b610688565b3480156101c4575f80fd5b506101916101d3366004610bb2565b610773565b3480156101e3575f80fd5b506101666101f2366004610a7f565b6107e6565b348015610202575f80fd5b50610216610211366004610c12565b61083c565b604051908152602001610108565b34801561022f575f80fd5b5061012561089d565b348015610243575f80fd5b50610191610252366004610c2b565b6108ac565b610191610265366004610c64565b610917565b348015610275575f80fd5b50610125610284366004610a7f565b50606090565b348015610295575f80fd5b506100fc6102a4366004610cdb565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6301ffc9a760e01b6001600160e01b03198316148061030157506380ac58cd60e01b6001600160e01b03198316145b8061031c5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60605f805461033090610d0c565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90610d0c565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b5f818152600260205260409020546001600160a01b0316338114806103f857506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff165b61043a5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b5f8281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600260205260409020546001600160a01b038481169116146104ea5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610431565b6001600160a01b0382166105345760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610431565b336001600160a01b038416148061056d57506001600160a01b0383165f90815260056020908152604080832033845290915290205460ff165b8061058d57505f818152600460205260409020546001600160a01b031633145b6105ca5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610431565b6001600160a01b0383165f9081526003602052604081208054916105ed83610d58565b90915550506001600160a01b0382165f90815260036020526040812080549161061583610d6d565b90915550505f81815260026020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610693838383610495565b813b158061072f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af11580156106ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107239190610d85565b6001600160e01b031916145b61076e5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b505050565b60065460ff16156107bc5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610431565b5f6107c78382610deb565b5060016107d48282610deb565b50506006805460ff1916600117905550565b5f818152600260205260409020546001600160a01b0316806108375760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610431565b919050565b5f6001600160a01b0382166108825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610431565b506001600160a01b03165f9081526003602052604090205490565b60606001805461033090610d0c565b335f8181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610922848484610495565b823b15806109ab5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a029061095f903390899088908890600401610eab565b6020604051808303815f875af115801561097b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099f9190610d85565b6001600160e01b031916145b6109ea5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b50505050565b6001600160e01b031981168114610a05575f80fd5b50565b5f60208284031215610a18575f80fd5b8135610a23816109f0565b9392505050565b5f81518084525f5b81811015610a4e57602081850181015186830182015201610a32565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610a236020830184610a2a565b5f60208284031215610a8f575f80fd5b5035919050565b80356001600160a01b0381168114610837575f80fd5b5f8060408385031215610abd575f80fd5b610ac683610a96565b946020939093013593505050565b5f805f60608486031215610ae6575f80fd5b610aef84610a96565b9250610afd60208501610a96565b9150604084013590509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff80841115610b3b57610b3b610b0d565b604051601f8501601f19908116603f01168101908282118183101715610b6357610b63610b0d565b81604052809350858152868686011115610b7b575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112610ba3575f80fd5b610a2383833560208501610b21565b5f8060408385031215610bc3575f80fd5b823567ffffffffffffffff80821115610bda575f80fd5b610be686838701610b94565b93506020850135915080821115610bfb575f80fd5b50610c0885828601610b94565b9150509250929050565b5f60208284031215610c22575f80fd5b610a2382610a96565b5f8060408385031215610c3c575f80fd5b610c4583610a96565b915060208301358015158114610c59575f80fd5b809150509250929050565b5f805f8060808587031215610c77575f80fd5b610c8085610a96565b9350610c8e60208601610a96565b925060408501359150606085013567ffffffffffffffff811115610cb0575f80fd5b8501601f81018713610cc0575f80fd5b610ccf87823560208401610b21565b91505092959194509250565b5f8060408385031215610cec575f80fd5b610cf583610a96565b9150610d0360208401610a96565b90509250929050565b600181811c90821680610d2057607f821691505b602082108103610d3e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f81610d6657610d66610d44565b505f190190565b5f60018201610d7e57610d7e610d44565b5060010190565b5f60208284031215610d95575f80fd5b8151610a23816109f0565b601f82111561076e57805f5260205f20601f840160051c81016020851015610dc55750805b601f840160051c820191505b81811015610de4575f8155600101610dd1565b5050505050565b815167ffffffffffffffff811115610e0557610e05610b0d565b610e1981610e138454610d0c565b84610da0565b602080601f831160018114610e4c575f8415610e355750858301515b5f19600386901b1c1916600185901b178555610ea3565b5f85815260208120601f198616915b82811015610e7a57888601518255948401946001909101908401610e5b565b5085821015610e9757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610edd90830184610a2a565b969550505050505056fea264697066735822122015ab2d91ba179a98a4548c58a6a84336822568110fb4d83426b6684c7e80d96d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "initialize(string,string)": "4cd88b76", + "isApprovedForAll(address,address)": "e985e9c5", + "name()": "06fdde03", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockEzEthPool.ts b/packages/hyperdrive-artifacts/src/MockEzEthPool.ts new file mode 100644 index 000000000..176b7f65d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockEzEthPool.ts @@ -0,0 +1,1351 @@ +export const MockEzEthPool = { + name: 'MockEzEthPool' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_initialRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + }, + { + "name": "_isCompetitionMode", + "type": "bool", + "internalType": "bool" + }, + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "calculateMintAmount", + "inputs": [ + { + "name": "_currentValueInProtocol", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_newValueAdded", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_existingEzETHSupply", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateRedeemAmount", + "inputs": [ + { + "name": "_ezETHBeingBurned", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_existingEzETHSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_currentValueInProtocol", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateTVLs", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256[][]", + "internalType": "uint256[][]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositETH", + "inputs": [], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ezETH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBufferedEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getPooledEthByShares", + "inputs": [ + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSharesByPooledEth", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompetitionMode", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isUnrestricted", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lookupTokenAmountFromValue", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lookupTokenValue", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lookupTokenValues", + "inputs": [ + { + "name": "", + "type": "address[]", + "internalType": "contract IERC20[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "maxMintAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "renzoOracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMaxMintAmount", + "inputs": [ + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRate", + "inputs": [ + { + "name": "_rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUnrestrictedMintStatus", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sharesOf", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "submit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferShares", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferSharesFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "InvalidTokenAmount", + "inputs": [] + } +] as const, + bytecode: '0x61010060405234801562000011575f80fd5b5060405162002ab338038062002ab383398101604081905262000034916200020b565b6040518060400160405280600b81526020016a0a4cadcf4de40caf48aa8960ab1b815250604051806040016040528060058152602001640caf48aa8960db1b815250601285858582308181898989825f908162000092919062000302565b506001620000a1838262000302565b5060ff81166080524660a052620000b762000171565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55505050600e94909455505042600f5550620004489050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001a39190620003ce565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f805f80608085870312156200021f575f80fd5b845160208601519094506001600160a01b03811681146200023e575f80fd5b6040860151909350801515811462000254575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200028d57607f821691505b602082108103620002ac57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002fd57805f5260205f20601f840160051c81016020851015620002d95750805b601f840160051c820191505b81811015620002fa575f8155600101620002e5565b50505b505050565b81516001600160401b038111156200031e576200031e62000264565b62000336816200032f845462000278565b84620002b2565b602080601f8311600181146200036c575f8415620003545750858301515b5f19600386901b1c1916600185901b178555620003c6565b5f85815260208120601f198616915b828110156200039c578886015182559484019460019091019084016200037b565b5085821015620003ba57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620003dd8162000278565b60018281168015620003f857600181146200040e576200043c565b60ff19841687528215158302870194506200043c565b875f526020805f205f5b85811015620004335781548a82015290840190820162000418565b50505082870194505b50929695505050505050565b60805160a05160c05160e051612606620004ad5f395f818161072d01528181610b2e01528181610c3a01528181610ed001528181610fa4015281816110410152818161148f01526114f001525f610f6a01525f610f3501525f61054d01526126065ff3fe608060405260043610610370575f3560e01c80637a28fb88116101c8578063b7009613116100fd578063dd62ed3e1161009d578063f2fde38b1161006d578063f2fde38b14610a6a578063f5eb42dc14610a89578063f6326fb314610aa8578063ff9969cd14610ab0575f80fd5b8063dd62ed3e14610986578063e688747b146109bc578063ea7ca276146109fd578063ed0d0efb14610a3f575f80fd5b8063c53a3985116100d8578063c53a398514610900578063c5c83cb014610934578063d5002f2e14610953578063d505accf14610967575f80fd5b8063b7009613146108a8578063ba28a571146108c7578063bf7e214f146108e1575f80fd5b80638fcb4e5b11610168578063a0712d6811610143578063a0712d6814610829578063a1903eab14610848578063a9059cbb1461085b578063aed307771461087a575f80fd5b80638fcb4e5b146107d757806395d89b41146107f65780639dc29fac1461080a575f80fd5b80637ecebe00116101a35780637ecebe001461076e578063892866a4146104ae5780638da5cb5b146107995780638f686e6a146107b8575f80fd5b80637a28fb88146106fd5780637a8c63b51461071c5780637a9e5e4b1461074f575f80fd5b806334fcf437116102a957806347b714e01161024957806369415b861161021957806369415b861461067f5780636d7804591461069457806370a08231146106b3578063728b952b146106de575f80fd5b806347b714e01461061b5780634b5159da1461062d578063679aefce1461064c57806367aff48414610660575f80fd5b806337cfdaca1161028457806337cfdaca146105b45780633a98ef39146105c857806340c10f19146105dd57806342966c68146105fc575f80fd5b806334fcf437146105815780633644e515146105a05780633793362514610374575f80fd5b80630ea9b75b1161031457806319208451116102ef57806319208451146104e9578063239c70ae1461050857806323b872dd1461051d578063313ce5671461053c575f80fd5b80630ea9b75b1461048f57806313a73c78146104ae57806318160ddd146104d4575f80fd5b806306fdde031161034f57806306fdde03146103f2578063088a4ed014610413578063095ea7b3146104325780630bade8a414610461575f80fd5b806252e3fd1461037457806305f05a94146103a657806306a36aee146103c7575b5f80fd5b34801561037f575f80fd5b5061039361038e366004611de7565b610ad3565b6040519081526020015b60405180910390f35b3480156103b1575f80fd5b506103c56103c0366004611e1e565b610b2c565b005b3480156103d2575f80fd5b506103936103e1366004611e55565b60096020525f908152604090205481565b3480156103fd575f80fd5b50610406610bad565b60405161039d9190611e70565b34801561041e575f80fd5b506103c561042d366004611ebc565b610c38565b34801561043d575f80fd5b5061045161044c366004611de7565b610c94565b604051901515815260200161039d565b34801561046c575f80fd5b5061045161047b366004611eef565b600a6020525f908152604090205460ff1681565b34801561049a575f80fd5b506103c56104a9366004611f18565b610d00565b3480156104b9575f80fd5b50305b6040516001600160a01b03909116815260200161039d565b3480156104df575f80fd5b5061039360025481565b3480156104f4575f80fd5b50610393610503366004611ebc565b610dd5565b348015610513575f80fd5b50610393600c5481565b348015610528575f80fd5b50610451610537366004611f5c565b610df2565b348015610547575f80fd5b5061056f7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161039d565b34801561058c575f80fd5b506103c561059b366004611ebc565b610ece565b3480156105ab575f80fd5b50610393610f32565b3480156105bf575f80fd5b50610393610f8c565b3480156105d3575f80fd5b5061039360115481565b3480156105e8575f80fd5b506103c56105f7366004611de7565b610fa2565b348015610607575f80fd5b506103c5610616366004611ebc565b61103f565b348015610626575f80fd5b505f610393565b348015610638575f80fd5b506103c5610647366004611f9a565b6110a3565b348015610657575f80fd5b50600e54610393565b34801561066b575f80fd5b506103c561067a366004611fb4565b611133565b34801561068a575f80fd5b5061039360105481565b34801561069f575f80fd5b506103936106ae366004611f5c565b6111f8565b3480156106be575f80fd5b506103936106cd366004611e55565b60036020525f908152604090205481565b3480156106e9575f80fd5b506103c56106f8366004611fdf565b61122e565b348015610708575f80fd5b50610393610717366004611ebc565b6112b5565b348015610727575f80fd5b506104517f000000000000000000000000000000000000000000000000000000000000000081565b34801561075a575f80fd5b506103c5610769366004611e55565b6112c9565b348015610779575f80fd5b50610393610788366004611e55565b60056020525f908152604090205481565b3480156107a4575f80fd5b506006546104bc906001600160a01b031681565b3480156107c3575f80fd5b506103936107d236600461200b565b6113ae565b3480156107e2575f80fd5b506103936107f1366004611de7565b611457565b348015610801575f80fd5b50610406611480565b348015610815575f80fd5b506103c5610824366004611de7565b61148d565b348015610834575f80fd5b506103c5610843366004611ebc565b6114ee565b610393610856366004611e55565b611587565b348015610866575f80fd5b50610451610875366004611de7565b61160e565b348015610885575f80fd5b50610451610894366004611e55565b600d6020525f908152604090205460ff1681565b3480156108b3575f80fd5b506104516108c2366004612034565b611671565b3480156108d2575f80fd5b5061039361038e36600461214c565b3480156108ec575f80fd5b506007546104bc906001600160a01b031681565b34801561090b575f80fd5b506104bc61091a366004611e55565b60086020525f90815260409020546001600160a01b031681565b34801561093f575f80fd5b5061039361094e36600461200b565b61176a565b34801561095e575f80fd5b50601154610393565b348015610972575f80fd5b506103c5610981366004612208565b6117ab565b348015610991575f80fd5b506103936109a0366004611fdf565b600460209081525f928352604080842090915290825290205481565b3480156109c7575f80fd5b506104516109d6366004612271565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b348015610a08575f80fd5b50610451610a173660046122a2565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b348015610a4a575f80fd5b50610393610a59366004611eef565b600b6020525f908152604090205481565b348015610a75575f80fd5b506103c5610a84366004611e55565b6119e9565b348015610a94575f80fd5b50610393610aa3366004611e55565b611a65565b6103c5611a99565b348015610abb575f80fd5b50610ac4611ae1565b60405161039d93929190612306565b60405162461bcd60e51b815260206004820152602160248201527f6c6f6f6b7570546f6b656e56616c75653a204e6f7420496d706c656d656e74656044820152601960fa1b60648201525f906084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610b8357610b67335f356001600160e01b031916611b0e565b610b835760405162461bcd60e51b8152600401610b2390612383565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f8054610bb9906123ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610be5906123ba565b8015610c305780601f10610c0757610100808354040283529160200191610c30565b820191905f5260205f20905b815481529060010190602001808311610c1357829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000015610c8f57610c73335f356001600160e01b031916611b0e565b610c8f5760405162461bcd60e51b8152600401610b2390612383565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610cee9086815260200190565b60405180910390a35060015b92915050565b610d15335f356001600160e01b031916611b0e565b610d315760405162461bcd60e51b8152600401610b23906123f2565b8015610d60576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610d86565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610dc8911515815260200190565b60405180910390a3505050565b5f610cfa610de260115490565b610dea610f8c565b849190611bb4565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610e4b57610e27838261242c565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610e7290849061242c565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f805160206125b183398151915290610eb99087815260200190565b60405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610f2557610f09335f356001600160e01b031916611b0e565b610f255760405162461bcd60e51b8152600401610b2390612383565b610f2d611bcf565b600e55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610f6757610f62611bfe565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f610f95611c96565b601054610f62919061243f565b7f000000000000000000000000000000000000000000000000000000000000000015610ff957610fdd335f356001600160e01b031916611b0e565b610ff95760405162461bcd60e51b8152600401610b2390612383565b335f908152600d602052604090205460ff1661103157600c548111156110315760405162461bcd60e51b8152600401610b2390612452565b61103b8282611cf5565b5050565b7f0000000000000000000000000000000000000000000000000000000000000000156110965761107a335f356001600160e01b031916611b0e565b6110965760405162461bcd60e51b8152600401610b2390612383565b6110a03382611d4c565b50565b6110b8335f356001600160e01b031916611b0e565b6110d45760405162461bcd60e51b8152600401610b23906123f2565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b611148335f356001600160e01b031916611b0e565b6111645760405162461bcd60e51b8152600401610b23906123f2565b8015611192576001600160a01b0383165f9081526009602052604090208054600160ff85161b1790556111b7565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610dc8911515815260200190565b5f611201611bcf565b5f61121861120d610f8c565b601154859190611bb4565b9050611225858583610df2565b50949350505050565b611243335f356001600160e01b031916611b0e565b61125f5760405162461bcd60e51b8152600401610b23906123f2565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f610cfa6112c1610f8c565b601154610dea565b6006546001600160a01b031633148061135b575060075460405163b700961360e01b81526001600160a01b039091169063b70096139061131c90339030906001600160e01b03195f351690600401612494565b602060405180830381865afa158015611337573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135b91906124c1565b611363575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f8315806113ba575081155b156113c6575081610ec7565b5f6113d1848661243f565b6113e385670de0b6b3a76400006124dc565b6113ed91906124f3565b90505f61140282670de0b6b3a764000061242c565b611414670de0b6b3a7640000866124dc565b61141e91906124f3565b90505f61142b858361242c565b9050805f0361144d57604051632160733960e01b815260040160405180910390fd5b9695505050505050565b5f611460611bcf565b5f61146c61120d610f8c565b9050611478848261160e565b509392505050565b60018054610bb9906123ba565b7f0000000000000000000000000000000000000000000000000000000000000000156114e4576114c8335f356001600160e01b031916611b0e565b6114e45760405162461bcd60e51b8152600401610b2390612383565b61103b8282611d4c565b7f00000000000000000000000000000000000000000000000000000000000000001561154557611529335f356001600160e01b031916611b0e565b6115455760405162461bcd60e51b8152600401610b2390612383565b335f908152600d602052604090205460ff1661157d57600c5481111561157d5760405162461bcd60e51b8152600401610b2390612452565b6110a03382611cf5565b5f611590611bcf565b6011545f036115b65734601181905560108190556115af903390611cf5565b5034919050565b5f6115d36115c360115490565b6115cb610f8c565b349190611bb4565b90503460105f8282546115e6919061243f565b925050819055508060115f8282546115fe919061243f565b90915550610cfa90503334611cf5565b335f9081526003602052604081208054839190839061162e90849061242c565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f805160206125b183398151915290610cee9086815260200190565b6001600160a01b038083165f90815260086020526040812054909116801561170a5760405163b700961360e01b81526001600160a01b0382169063b7009613906116c390889088908890600401612494565b602060405180830381865afa1580156116de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061170291906124c1565b915050610ec7565b6001600160e01b031983165f908152600a602052604090205460ff168061176157506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b5f808361177786856124dc565b61178191906124f3565b9050805f036117a357604051632160733960e01b815260040160405180910390fd5b949350505050565b428410156117fb5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610b23565b5f6001611806610f32565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561190e573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906119445750876001600160a01b0316816001600160a01b0316145b6119815760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b23565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6119fe335f356001600160e01b031916611b0e565b611a1a5760405162461bcd60e51b8152600401610b23906123f2565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6001600160a01b0381165f90815260036020526040812054610ec7611a8960115490565b611a91610f8c565b839190611bb4565b60405162461bcd60e51b815260206004820152601b60248201527f6465706f7369744554483a204e6f7420496d706c656d656e74656400000000006044820152606401610b23565b6060805f6060805f611b01611af4610f8c565b6011546002549190611bb4565b9296919550919350915050565b6007545f906001600160a01b03168015801590611b95575060405163b700961360e01b81526001600160a01b0382169063b700961390611b5690879030908890600401612494565b602060405180830381865afa158015611b71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9591906124c1565b806117a357506006546001600160a01b03858116911614949350505050565b5f825f190484118302158202611bc8575f80fd5b5091020490565b5f611bd8611c96565b90508015611bf7578060105f828254611bf1919061243f565b90915550505b5042600f55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051611c2e9190612512565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f600e545f03611ca557505f90565b600f54421015611cb457505f90565b5f611cd16301e13380600f5442611ccb919061242c565b90611dab565b90505f610ec7611cec83600e54611dbf90919063ffffffff16565b60105490611dbf565b8060025f828254611d06919061243f565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f805160206125b183398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611d7390849061242c565b90915550506002805482900390556040518181525f906001600160a01b038416905f805160206125b183398151915290602001611d40565b5f610ec783670de0b6b3a764000084611bb4565b5f610ec78383670de0b6b3a7640000611bb4565b6001600160a01b03811681146110a0575f80fd5b5f8060408385031215611df8575f80fd5b8235611e0381611dd3565b946020939093013593505050565b80151581146110a0575f80fd5b5f8060408385031215611e2f575f80fd5b8235611e3a81611dd3565b91506020830135611e4a81611e11565b809150509250929050565b5f60208284031215611e65575f80fd5b8135610ec781611dd3565b5f602080835283518060208501525f5b81811015611e9c57858101830151858201604001528201611e80565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611ecc575f80fd5b5035919050565b80356001600160e01b031981168114611eea575f80fd5b919050565b5f60208284031215611eff575f80fd5b610ec782611ed3565b803560ff81168114611eea575f80fd5b5f805f60608486031215611f2a575f80fd5b611f3384611f08565b9250611f4160208501611ed3565b91506040840135611f5181611e11565b809150509250925092565b5f805f60608486031215611f6e575f80fd5b8335611f7981611dd3565b92506020840135611f8981611dd3565b929592945050506040919091013590565b5f8060408385031215611fab575f80fd5b611e3a83611ed3565b5f805f60608486031215611fc6575f80fd5b8335611fd181611dd3565b9250611f4160208501611f08565b5f8060408385031215611ff0575f80fd5b8235611ffb81611dd3565b91506020830135611e4a81611dd3565b5f805f6060848603121561201d575f80fd5b505081359360208301359350604090920135919050565b5f805f60608486031215612046575f80fd5b833561205181611dd3565b9250602084013561206181611dd3565b915061206f60408501611ed3565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156120b5576120b5612078565b604052919050565b5f67ffffffffffffffff8211156120d6576120d6612078565b5060051b60200190565b5f82601f8301126120ef575f80fd5b813560206121046120ff836120bd565b61208c565b8083825260208201915060208460051b870101935086841115612125575f80fd5b602086015b84811015612141578035835291830191830161212a565b509695505050505050565b5f806040838503121561215d575f80fd5b823567ffffffffffffffff80821115612174575f80fd5b818501915085601f830112612187575f80fd5b813560206121976120ff836120bd565b82815260059290921b840181019181810190898411156121b5575f80fd5b948201945b838610156121dc5785356121cd81611dd3565b825294820194908201906121ba565b965050860135925050808211156121f1575f80fd5b506121fe858286016120e0565b9150509250929050565b5f805f805f805f60e0888a03121561221e575f80fd5b873561222981611dd3565b9650602088013561223981611dd3565b9550604088013594506060880135935061225560808901611f08565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215612282575f80fd5b61228b83611f08565b915061229960208401611ed3565b90509250929050565b5f80604083850312156122b3575f80fd5b82356122be81611dd3565b915061229960208401611f08565b5f815180845260208085019450602084015f5b838110156122fb578151875295820195908201906001016122df565b509495945050505050565b5f606082016060835280865180835260808501915060808160051b860101925060208089015f5b8381101561235b57607f198887030185526123498683516122cc565b9550938201939082019060010161232d565b5050505050828103602084015261237281866122cc565b915050826040830152949350505050565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c908216806123ce57607f821691505b6020821081036123ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610cfa57610cfa612418565b80820180821115610cfa57610cfa612418565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f602082840312156124d1575f80fd5b8151610ec781611e11565b8082028115828204841417610cfa57610cfa612418565b5f8261250d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f8083545f60018260011c9150600183168061252f57607f831692505b6020808410820361254e57634e487b7160e01b5f52602260045260245ffd5b8180156125625760018114612577576125a2565b60ff19861689528415158502890196506125a2565b5f8a8152602090205f5b8681101561259a5781548b820152908501908301612581565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207154da725d6f461fbef0efcf8b3dc2c552d02fa4a8150398fbbd6cacba65289864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "authority()": "bf7e214f", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "burn(uint256)": "42966c68", + "calculateMintAmount(uint256,uint256,uint256)": "8f686e6a", + "calculateRedeemAmount(uint256,uint256,uint256)": "c5c83cb0", + "calculateTVLs()": "ff9969cd", + "canCall(address,address,bytes4)": "b7009613", + "decimals()": "313ce567", + "depositETH()": "f6326fb3", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "ezETH()": "13a73c78", + "getBufferedEther()": "47b714e0", + "getPooledEthByShares(uint256)": "7a28fb88", + "getRate()": "679aefce", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getSharesByPooledEth(uint256)": "19208451", + "getTargetCustomAuthority(address)": "c53a3985", + "getTotalPooledEther()": "37cfdaca", + "getTotalShares()": "d5002f2e", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "isCompetitionMode()": "7a8c63b5", + "isUnrestricted(address)": "aed30777", + "lookupTokenAmountFromValue(address,uint256)": "37933625", + "lookupTokenValue(address,uint256)": "0052e3fd", + "lookupTokenValues(address[],uint256[])": "ba28a571", + "maxMintAmount()": "239c70ae", + "mint(address,uint256)": "40c10f19", + "mint(uint256)": "a0712d68", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "owner()": "8da5cb5b", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "renzoOracle()": "892866a4", + "setAuthority(address)": "7a9e5e4b", + "setMaxMintAmount(uint256)": "088a4ed0", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRate(uint256)": "34fcf437", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUnrestrictedMintStatus(address,bool)": "05f05a94", + "setUserRole(address,uint8,bool)": "67aff484", + "sharesOf(address)": "f5eb42dc", + "submit(address)": "a1903eab", + "symbol()": "95d89b41", + "totalPooledEther()": "69415b86", + "totalShares()": "3a98ef39", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "transferShares(address,uint256)": "8fcb4e5b", + "transferSharesFrom(address,address,uint256)": "6d780459" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockFixedPointMath.ts b/packages/hyperdrive-artifacts/src/MockFixedPointMath.ts new file mode 100644 index 000000000..40f22fda1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockFixedPointMath.ts @@ -0,0 +1,288 @@ +export const MockFixedPointMath = { + name: 'MockFixedPointMath' as const, + abi: [ + { + "type": "function", + "name": "divDown", + "inputs": [ + { + "name": "a", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "b", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "divUp", + "inputs": [ + { + "name": "a", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "b", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "exp", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "r", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "ln", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "mulDivDown", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "d", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "z", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "mulDivUp", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "d", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "z", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "mulDown", + "inputs": [ + { + "name": "a", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "b", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "mulUp", + "inputs": [ + { + "name": "a", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "b", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "pow", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "updateWeightedAverage", + "inputs": [ + { + "name": "_average", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_totalWeight", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_delta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_deltaWeight", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isAdding", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "average", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506108fe8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c80639ba5f52e116100635780639ba5f52e14610110578063b67bee0414610123578063cbe8623f14610136578063e46751e314610149578063f3e4f87c1461015c575f80fd5b80630c9b98811461009f57806312bd6ac0146100c45780632e4c697f146100d757806381e5f7c9146100ea5780638e6f2353146100fd575b5f80fd5b6100b26100ad3660046107a9565b61016f565b60405190815260200160405180910390f35b6100b26100d23660046107c9565b610185565b6100b26100e53660046107a9565b61019b565b6100b26100f83660046107f2565b6101a7565b6100b261010b36600461083f565b6101c1565b6100b261011e3660046107a9565b6101d3565b6100b26101313660046107c9565b6101df565b6100b26101443660046107a9565b6101ec565b6100b261015736600461083f565b6101f8565b6100b261016a3660046107a9565b610203565b5f8061017b848461020f565b9150505b92915050565b5f80610192858585610223565b95945050505050565b5f8061017b8484610246565b5f806101b687878787876102b5565b979650505050505050565b5f806101cc83610355565b9392505050565b5f8061017b8484610583565b5f80610192858585610593565b5f8061017b84846105ae565b5f806101cc836105c2565b5f8061017b8484610754565b5f6101cc8383670de0b6b3a7640000610593565b5f825f190484118302158202610237575f80fd5b50910281810615159190040190565b5f815f0361025d5750670de0b6b3a764000061017f565b825f0361026b57505f61017f565b5f61027583610768565b90505f61028961028486610768565b610355565b90508181026102a0670de0b6b3a76400008261086a565b90506102ab816105c2565b9695505050505050565b5f825f036102c4575084610192565b811561031c576102fb6102d784876108a2565b6102e1858761020f565b6102eb888a61020f565b6102f591906108a2565b90610583565b90505f6103088588610795565b905080821015610316578091505b50610192565b82850361032a57505f610192565b6102ab61033784876108b5565b6103418587610754565b61034b888a61020f565b6102f591906108b5565b5f8082136103765760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906104029084901c610768565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f6101cc83670de0b6b3a7640000845b5f825f1904841183021582026105a7575f80fd5b5091020490565b5f6101cc83670de0b6b3a764000084610223565b5f680248ce36a70cb26b3e1982136105db57505f919050565b680755bf798b4a1bf1e58212610604576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906102ab74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c610768565b5f6101cc8383670de0b6b3a7640000610223565b5f6001600160ff1b038211156107915760405163396ea70160e11b815260040160405180910390fd5b5090565b5f8183116107a357826101cc565b50919050565b5f80604083850312156107ba575f80fd5b50508035926020909101359150565b5f805f606084860312156107db575f80fd5b505081359360208301359350604090920135919050565b5f805f805f60a08688031215610806575f80fd5b8535945060208601359350604086013592506060860135915060808601358015158114610831575f80fd5b809150509295509295909350565b5f6020828403121561084f575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f8261088457634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f198414161561089d5761089d610856565b500590565b8082018082111561017f5761017f610856565b8181038181111561017f5761017f61085656fea2646970667358221220e9a9948213c0830a3cbced12e8a4599d9bf7589c0963e04bcdafe6babf23056064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "divDown(uint256,uint256)": "9ba5f52e", + "divUp(uint256,uint256)": "cbe8623f", + "exp(int256)": "e46751e3", + "ln(int256)": "8e6f2353", + "mulDivDown(uint256,uint256,uint256)": "b67bee04", + "mulDivUp(uint256,uint256,uint256)": "12bd6ac0", + "mulDown(uint256,uint256)": "0c9b9881", + "mulUp(uint256,uint256)": "f3e4f87c", + "pow(uint256,uint256)": "2e4c697f", + "updateWeightedAverage(uint256,uint256,uint256,uint256,bool)": "81e5f7c9" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdrive.ts b/packages/hyperdrive-artifacts/src/MockHyperdrive.ts new file mode 100644 index 000000000..1555dc20a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdrive.ts @@ -0,0 +1,2156 @@ +export const MockHyperdrive = { + name: 'MockHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "__external_transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "__setBalanceOf", + "inputs": [ + { + "name": "_tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_who", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "accrue", + "inputs": [ + { + "name": "time", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "apr", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "calculateFeesGivenBonds", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_normalizedTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_spotPrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "totalCurveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalFlatFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceCurveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalGovernanceFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateFeesGivenShares", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_spotPrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "curveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceCurveFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateIdleShareReserves", + "inputs": [ + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateOpenLong", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shareReservesDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReservesDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalGovernanceFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "spotPrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateTimeRemaining", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "timeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "calculateTimeRemainingScaled", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "timeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "latestCheckpoint", + "inputs": [], + "outputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLongExposure", + "inputs": [ + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMarketState", + "inputs": [ + { + "name": "_marketState_", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserves", + "inputs": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTotalShares", + "inputs": [ + { + "name": "_totalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateLiquidity", + "inputs": [ + { + "name": "_shareReservesDelta", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b506040516201732c3803806201732c833981016040819052620000349162000369565b6040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b815250828284846040516200006d9062000260565b6200007a929190620004a3565b604051809103905ff08015801562000094573d5f803e3d5ffd5b508585604051620000a5906200026e565b620000b2929190620004a3565b604051809103905ff080158015620000cc573d5f803e3d5ffd5b508686604051620000dd906200027c565b620000ea929190620004a3565b604051809103905ff08015801562000104573d5f803e3d5ffd5b50878760405162000115906200028a565b62000122929190620004a3565b604051809103905ff0801580156200013c573d5f803e3d5ffd5b5088886040516200014d9062000298565b6200015a929190620004a3565b604051809103905ff08015801562000174573d5f803e3d5ffd5b5060015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a0151821661024052890151610260528716610220526200022b898262000661565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e0521661030052506200072d9350505050565b6140d7806200355c83390190565b614103806200763383390190565b614390806200b73683390190565b614328806200fac683390190565b61353e8062013dee83390190565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620002e057620002e0620002a6565b60405290565b80516001600160a01b0381168114620002fd575f80fd5b919050565b5f6080828403121562000313575f80fd5b604051608081016001600160401b0381118282101715620003385762000338620002a6565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f808284036102808112156200037d575f80fd5b610260808212156200038d575f80fd5b62000397620002ba565b9150620003a485620002e6565b8252620003b460208601620002e6565b6020830152620003c760408601620002e6565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016062000432818701620002e6565b9083015261018062000446868201620002e6565b908301526101a06200045a868201620002e6565b908301526101c06200046e868201620002e6565b908301526101e0620004838787830162000302565b818401525081935062000498818601620002e6565b925050509250929050565b82516001600160a01b0316815261028081016020840151620004d060208401826001600160a01b03169052565b506040840151620004ec60408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e0830152610100808501518184015250610120808501518184015250610140808501518184015250610160808501516200055f828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e09485015180519584019590955260208501516102008401526040850151610220840152606090940151610240830152919092166102609092019190915290565b600181811c90821680620005ec57607f821691505b6020821081036200060b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200065c57805f5260205f20601f840160051c81016020851015620006385750805b601f840160051c820191505b8181101562000659575f815560010162000644565b50505b505050565b81516001600160401b038111156200067d576200067d620002a6565b62000695816200068e8454620005d7565b8462000611565b602080601f831160018114620006cb575f8415620006b35750858301515b5f19600386901b1c1916600185901b17855562000725565b5f85815260208120601f198616915b82811015620006fb57888601518255948401946001909101908401620006da565b50858210156200071957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051612c9b620008c15f395f818161090301528181610a490152610b6201525f818161087e01528181610b910152610dae01525f818161078b0152610fa601525f81816108d00152610b0001525f81816102900152818161044801528181610a1a01528181610a7b01528181610aad01528181610b3301528181610d6901528181610df501528181610f560152610fd901525f50505f50505f50505f50505f50505f81816118b2015281816118ee0152611bf101525f818161163201528181611674015261176601525f50505f818161110f0152818161118701526114bf01525f818161115b01526116e701525f81816110d50152818161147b01526116c601525f818161161001528181611695015261178701525f8181611443015261197501525f6115c001525f50505f8181610bef01528181610c860152610cf40152612c9b5ff3fe60806040526004361061027c575f3560e01c8063907c0f921161014e578063ca6d38f7116100c0578063ded0623111610079578063ded06231146104c1578063e44808bc146108a0578063eac3e799146108bf578063f3f70707146108f2578063f45cf2e014610925578063f698da2514610a015761027c565b8063ca6d38f714610827578063cba2e58d14610846578063cbc13434146103c0578063d5002f2e14610859578063d899e1121461086d578063dbbe8070146108465761027c565b8063a22cb46511610112578063a22cb4651461061c578063a6e8a8591461077a578063a77384c1146107ad578063ab033ea914610385578063b1b4b170146107cc578063b4f8da39146107eb5761027c565b8063907c0f92146106ca57806394a97cdb146106de5780639bd334981461071d5780639cd241af1461073c5780639eea5f661461075b5761027c565b80634c2ac1d9116101f25780637180c8ca116101ab5780637180c8ca1461061c57806371f88b7c1461063b57806377d05ff41461065a5780638120a3e21461066d578063836a10401461068c5780639032c726146106ab5761027c565b80634c2ac1d91461055f5780634ed2d6ac1461057257806358af4a0a1461058c57806368096239146105ab57806368c2ecb8146105ca578063702db0eb146105e95761027c565b806321b57d531161024457806321b57d531461043757806322d5506b1461048257806329b23fc1146104c157806330adf81f146104ee5780633e691db914610521578063414f826d146105405761027c565b806301681a621461038557806302329a29146103a6578063074a6de9146103c057806317fad7fc146103f95780631c0f12b614610418575b348015610287575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031685856040516102c8929190612399565b5f60405180830381855af49150503d805f8114610300576040519150601f19603f3d011682016040523d82523d5f602084013e610305565b606091505b5091509150811561032957604051638bb0a34b60e01b815260040160405180910390fd5b5f610333826123a8565b90506001600160e01b03198116636e64089360e11b1461035557815160208301fd5b8151600319810160048401908152926103769181016020019060240161243f565b80519650602001945050505050f35b348015610390575f80fd5b506103a461039f3660046124f0565b610a15565b005b3480156103b1575f80fd5b506103a461039f366004612528565b3480156103cb575f80fd5b506103df6103da366004612553565b610a42565b604080519283526020830191909152015b60405180910390f35b348015610404575f80fd5b506103a46104133660046125e0565b610a76565b348015610423575f80fd5b506103a461043236600461266f565b610aa8565b348015610442575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103f0565b34801561048d575f80fd5b506104a161049c3660046126b4565b610ad8565b6040805194855260208501939093529183015260608201526080016103f0565b3480156104cc575f80fd5b506104e06104db3660046126e3565b610afa565b6040519081526020016103f0565b3480156104f9575f80fd5b506104e07f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b34801561052c575f80fd5b506104e061053b366004612739565b610b2d565b34801561054b575f80fd5b506103a461055a36600461276b565b610b5d565b6104e061056d36600461278b565b610b8b565b34801561057d575f80fd5b506103a46104323660046127ea565b348015610597575f80fd5b506103a46105a6366004612831565b610bbf565b3480156105b6575f80fd5b506103a46105c536600461276b565b610bcc565b3480156105d5575f80fd5b506104e06105e436600461288c565b610d54565b3480156105f4575f80fd5b506103a46106033660046128b9565b6001600160801b03908116600160801b02911617600255565b348015610627575f80fd5b506103a46106363660046128ea565b610d64565b348015610646575f80fd5b506103df610655366004612921565b610d8d565b6104e0610668366004612553565b610da8565b348015610678575f80fd5b506103a461068736600461288c565b610dda565b348015610697575f80fd5b506103a46106a636600461294a565b610de6565b3480156106b6575f80fd5b506103a46106c536600461297f565b610df1565b3480156106d5575f80fd5b506104e0610f25565b3480156106e9575f80fd5b506103a46106f836600461294a565b5f928352600a602090815260408085206001600160a01b039094168552929052912055565b348015610728575f80fd5b506104a161073736600461276b565b610f33565b348015610747575f80fd5b506103a461075636600461294a565b610f51565b348015610766575f80fd5b506103a461077536600461294a565b610f80565b348015610785575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107b8575f80fd5b506103a46107c736600461288c565b600f55565b3480156107d7575f80fd5b506104e06107e636600461288c565b610f8b565b3480156107f6575f80fd5b506103a46108053660046129f9565b600380546001600160801b0319166001600160801b0392909216919091179055565b348015610832575f80fd5b506104e061084136600461288c565b610f95565b6103df6108543660046126e3565b610f9f565b348015610864575f80fd5b50600f546104e0565b348015610878575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108ab575f80fd5b506103a46108ba366004612831565b610fd4565b3480156108ca575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108fd575f80fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610930575f80fd5b506103a461093f366004612a39565b805160208201516001600160801b03918216600160801b91831682021760025560408301516060840151908316908316820217600355608083015160a084015190831690831682021760045560c083015160e084015190831690831682021760055561010080840151600680546101208701516101408801516101609098015161ffff1990921693151561ff001916939093179215159093029190911761ffff16620100006001600160701b0390961695909502841694909417921602179055565b348015610a0c575f80fd5b506104e0611005565b610a3e7f0000000000000000000000000000000000000000000000000000000000000000611093565b5050565b5f80610a6d7f0000000000000000000000000000000000000000000000000000000000000000611093565b50935093915050565b610a9f7f0000000000000000000000000000000000000000000000000000000000000000611093565b50505050505050565b610ad17f0000000000000000000000000000000000000000000000000000000000000000611093565b5050505050565b5f805f80610ae8888888886110b1565b929b919a509850909650945050505050565b5f610b247f0000000000000000000000000000000000000000000000000000000000000000611093565b50949350505050565b5f610b577f0000000000000000000000000000000000000000000000000000000000000000611093565b50919050565b610b867f0000000000000000000000000000000000000000000000000000000000000000611093565b505050565b5f610bb57f0000000000000000000000000000000000000000000000000000000000000000611093565b5095945050505050565b610ad185858585856111c3565b6040516370a0823160e01b81523060048201525f90610c5f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610c34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c589190612b23565b838561137e565b9150505f811315610ce2576040516340c10f1960e01b8152306004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f19906044015b5f604051808303815f87803b158015610cd0575f80fd5b505af1158015610a9f573d5f803e3d5ffd5b5f811215610b86576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639dc29fac30610d2384612b4e565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401610cb9565b5f610d5e82611418565b92915050565b610b867f0000000000000000000000000000000000000000000000000000000000000000611093565b5f80610d9a85858561146e565b90925090505b935093915050565b5f610dd27f0000000000000000000000000000000000000000000000000000000000000000611093565b509392505050565b610de3816114ed565b50565b610b86838383611513565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e25611005565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b17905251610ece9190612b68565b5f60405180830381855af49150503d805f8114610f06576040519150601f19603f3d011682016040523d82523d5f602084013e610f0b565b606091505b509150915081610f1d57805160208201fd5b805160208201f35b5f610f2e6115b9565b905090565b5f805f80610f4186866115e4565b9299919850965090945092505050565b610f7a7f0000000000000000000000000000000000000000000000000000000000000000611093565b50505050565b610b868383836117c3565b5f610d5e82611891565b5f610d5e8261192c565b5f80610fca7f0000000000000000000000000000000000000000000000000000000000000000611093565b5094509492505050565b610ffd7f0000000000000000000000000000000000000000000000000000000000000000611093565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f36604051610ece929190612399565b5f80808061110787866111008b6110fa6110d38c670de0b6b3a7640000612b83565b7f0000000000000000000000000000000000000000000000000000000000000000906119a0565b906119a0565b91906119b0565b9350611133847f00000000000000000000000000000000000000000000000000000000000000006119d3565b91505f61115361114b89670de0b6b3a7640000612b83565b8a90886119b0565b905061117f817f00000000000000000000000000000000000000000000000000000000000000006119a0565b93506111ab847f00000000000000000000000000000000000000000000000000000000000000006119d3565b6111b59084612b96565b915050945094509450949050565b6001600160a01b03841615806111e057506001600160a01b038316155b156111fe5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b0316146112be576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff166112be575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f1981146112bc575f868152600d602090815260408083206001600160a01b03808a1685529083528184209086168452909152812080548592906112b6908490612b83565b90915550505b505b5f858152600a602090815260408083206001600160a01b0388168452909152812080548492906112ef908490612b83565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611325908490612b96565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f808061138f846301e133806119e7565b90505f6113b2825f88126113a357876113ac565b6113ac88612b4e565b906119d3565b90505f8613156113e4576113cf6113c8826119fb565b88906119d3565b93506113db8785612b83565b92505050610da0565b5f86121561140b576113ff6113f8826119fb565b88906119e7565b93506113db8785612ba9565b5094955f95509350505050565b5f806114226115b9565b9050808311611431575f61143b565b61143b8184612b83565b9150611467827f00000000000000000000000000000000000000000000000000000000000000006119e7565b9392505050565b5f806114b7856110fa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006114ad818c611b97565b6110fa9190612b83565b91506114e3827f00000000000000000000000000000000000000000000000000000000000000006119d3565b9050935093915050565b6114f681611bab565b610de357604051635044b7f560e01b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611544908490612b96565b90915550505f838152600b602052604081208054839290611566908490612b96565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f610f2e427f0000000000000000000000000000000000000000000000000000000000000000611d3f565b5f805f805f6115f1611d54565b600254909150611656908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000611d74565b6002549094506116b9908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611d9f565b9150611710878561170b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611dbe565b611e30565b1561171d5761171d611e71565b61172987858885611e8a565b91965094509250670de0b6b3a76400006117ab6117468784612b96565b600254611764908890600160801b90046001600160801b0316612b83565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611d9f565b11156117b9576117b9611e71565b5092959194509250565b5f838152600a602090815260408083206001600160a01b038616845290915290205481111561180557604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290611847908490612b83565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291016115ac565b6003545f9081906118ab906001600160801b031684611b97565b90506118d77f000000000000000000000000000000000000000000000000000000000000000082612b96565b6002546001600160801b03161115610b57576002547f0000000000000000000000000000000000000000000000000000000000000000906119229083906001600160801b0316612b83565b6114679190612b83565b5f80670de0b6b3a764000061193f6115b9565b6119499190612bc8565b9050808311611958575f611962565b6119628184612b83565b9150611467611999670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612bc8565b83906119e7565b5f6114678383670de0b6b3a76400005b5f825f1904841183021582026119c4575f80fd5b50910281810615159190040190565b5f6114678383670de0b6b3a7640000611ed2565b5f61146783670de0b6b3a764000084611ed2565b5f680248ce36a70cb26b3e198213611a1457505f919050565b680755bf798b4a1bf1e58212611a3d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190611b8d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611eed565b9695505050505050565b5f61146783670de0b6b3a7640000846119b0565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611c61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c859190612bf3565b935093509350935080611ca057505f98975050505050505050565b868414611cd157611cb084611f1a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611d0257611ce183611f43565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611d3057611d1282611f1a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b5f611d4a8284612c26565b6114679084612b83565b6002546004545f91610f2e916001600160801b0390911690600f0b611f90565b5f611d94878787611d8d88670de0b6b3a7640000612b83565b8787611fb5565b979650505050505050565b5f611db582611daf858888611ed2565b90611fe2565b95945050505050565b5f611e28611dfe611dd784670de0b6b3a7640000612b83565b6110fa670de0b6b3a7640000611ded818a611b97565b611df79190612b83565b87906119a0565b611e1090670de0b6b3a7640000612b96565b611e2284670de0b6b3a7640000612b83565b906119e7565b949350505050565b5f80611e6685611e3e611d54565b611e489190612b96565b600254611764908790600160801b90046001600160801b0316612b83565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f611e9a89878961146e565b9092509050611ea98289612b83565b97505f611eb782888a611ed2565b9050611ec3818b612b83565b9a989950979650505050505050565b5f825f190484118302158202611ee6575f80fd5b5091020490565b5f6001600160ff1b03821115611f165760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6001600160801b03821115611f1657604051630f0af95160e11b815260040160405180910390fd5b5f6f7fffffffffffffffffffffffffffffff19821280611f7257506f7fffffffffffffffffffffffffffffff82135b15611f165760405163a5353be560e01b815260040160405180910390fd5b5f80611f9c8484612047565b909250905080611fae57611fae611e71565b5092915050565b5f80611fc5888888888888612082565b909250905080611fd757611fd7611e71565b509695505050505050565b5f815f03611ff95750670de0b6b3a7640000610d5e565b825f0361200757505f610d5e565b5f61201183611eed565b90505f61202561202086611eed565b612146565b905081810261203c670de0b6b3a764000082612c39565b9050611b8d816119fb565b5f805f8361205486611eed565b61205e9190612ba9565b90505f811215612074575f80925092505061207b565b9150600190505b9250929050565b5f805f612092898988888861236b565b90506120ac86611daf6120a58a8d612b96565b87906119d3565b98506120b9858a86611ed2565b9850888110156120cf575f80925092505061213b565b888103670de0b6b3a76400008110612104576120fd6120f6670de0b6b3a764000089611b97565b8290611fe2565b905061211c565b6121196120f6670de0b6b3a7640000896119e7565b90505b80891015612131575f8093509350505061213b565b8803925060019150505b965096945050505050565b5f8082136121675760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906121ea9084901c611eed565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f6123768585611fe2565b61238f61238786611daf868b6119a0565b8590856119b0565b611b8d9190612b96565b818382375f9101908152919050565b805160208201516001600160e01b031980821692919060048310156123d75780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b604051610180810167ffffffffffffffff81118282101715612417576124176123df565b60405290565b5f5b8381101561243757818101518382015260200161241f565b50505f910152565b5f6020828403121561244f575f80fd5b815167ffffffffffffffff80821115612466575f80fd5b818401915084601f830112612479575f80fd5b81518181111561248b5761248b6123df565b604051601f8201601f19908116603f011681019083821181831017156124b3576124b36123df565b816040528281528760208487010111156124cb575f80fd5b611d9483602083016020880161241d565b6001600160a01b0381168114610de3575f80fd5b5f60208284031215612500575f80fd5b8135611467816124dc565b8015158114610de3575f80fd5b80356125238161250b565b919050565b5f60208284031215612538575f80fd5b81356114678161250b565b5f60608284031215610b57575f80fd5b5f805f60608486031215612565575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612589575f80fd5b61259586828701612543565b9150509250925092565b5f8083601f8401126125af575f80fd5b50813567ffffffffffffffff8111156125c6575f80fd5b6020830191508360208260051b850101111561207b575f80fd5b5f805f805f80608087890312156125f5575f80fd5b8635612600816124dc565b95506020870135612610816124dc565b9450604087013567ffffffffffffffff8082111561262c575f80fd5b6126388a838b0161259f565b90965094506060890135915080821115612650575f80fd5b5061265d89828a0161259f565b979a9699509497509295939492505050565b5f805f8060808587031215612682575f80fd5b843593506020850135612694816124dc565b925060408501356126a4816124dc565b9396929550929360600135925050565b5f805f80608085870312156126c7575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f80608085870312156126f6575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115612721575f80fd5b61272d87828801612543565b91505092959194509250565b5f60208284031215612749575f80fd5b813567ffffffffffffffff81111561275f575f80fd5b611e2884828501612543565b5f806040838503121561277c575f80fd5b50508035926020909101359150565b5f805f805f60a0868803121561279f575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156127d1575f80fd5b6127dd88828901612543565b9150509295509295909350565b5f805f80608085870312156127fd575f80fd5b84359350602085013561280f816124dc565b9250604085013591506060850135612826816124dc565b939692955090935050565b5f805f805f60a08688031215612845575f80fd5b853594506020860135612857816124dc565b93506040860135612867816124dc565b925060608601359150608086013561287e816124dc565b809150509295509295909350565b5f6020828403121561289c575f80fd5b5035919050565b80356001600160801b0381168114612523575f80fd5b5f80604083850312156128ca575f80fd5b6128d3836128a3565b91506128e1602084016128a3565b90509250929050565b5f80604083850312156128fb575f80fd5b8235612906816124dc565b915060208301356129168161250b565b809150509250929050565b5f805f60608486031215612933575f80fd5b505081359360208301359350604090920135919050565b5f805f6060848603121561295c575f80fd5b83359250602084013561296e816124dc565b929592945050506040919091013590565b5f805f805f805f60e0888a031215612995575f80fd5b87356129a0816124dc565b965060208801356129b0816124dc565b955060408801356129c08161250b565b945060608801359350608088013560ff811681146129dc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f60208284031215612a09575f80fd5b611467826128a3565b8035600f81900b8114612523575f80fd5b80356001600160701b0381168114612523575f80fd5b5f6101808284031215612a4a575f80fd5b612a526123f3565b612a5b836128a3565b8152612a69602084016128a3565b6020820152612a7a604084016128a3565b6040820152612a8b606084016128a3565b6060820152612a9c60808401612a12565b6080820152612aad60a084016128a3565b60a0820152612abe60c084016128a3565b60c0820152612acf60e084016128a3565b60e0820152610100612ae2818501612518565b90820152610120612af4848201612518565b90820152610140612b06848201612a23565b90820152610160612b188482016128a3565b908201529392505050565b5f60208284031215612b33575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8201612b6257612b62612b3a565b505f0390565b5f8251612b7981846020870161241d565b9190910192915050565b81810381811115610d5e57610d5e612b3a565b80820180821115610d5e57610d5e612b3a565b8181035f831280158383131683831282161715611fae57611fae612b3a565b8082028115828204841417610d5e57610d5e612b3a565b634e487b7160e01b5f52601260045260245ffd5b5f805f8060808587031215612c06575f80fd5b84519350602085015192506040850151915060608501516128268161250b565b5f82612c3457612c34612bdf565b500690565b5f82612c4757612c47612bdf565b600160ff1b82145f1984141615612c6057612c60612b3a565b50059056fea26469706673582212200c2ceb5350630b57ee6744a11efdf3865d3d67a62c0e0390d4cd7f3e3594547264736f6c6343000816003361028060405234801562000011575f80fd5b50604051620040d7380380620040d78339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c73620004645f395f8181610d7b015261233401525f8181610d4c01526122f701525f8181610c2801528181610eab01528181610f3901528181610fc70152818161105501528181611645015281816116db0152818161189d01528181611ebe01528181611f9201526120e301525f610e1301525f8181610ded01526124d901525f8181610dc701526124b301525f8181610da1015261248d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e8501526124ff01525f8181610e39015281816112d20152612a0201525f8181610e5f0152612e2601525f81816106110152610d1d01525f818161073b01528181610cee0152818161128801528181611e36015281816125c001528181612609015281816126b6015281816126ff01528181612b5c01528181612c0501528181612ceb0152612d940152613c735ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104e7578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad1461042a578063c6e6f592146104d4575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe00146104175780638e67f87e1461042a578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a61024536600461305e565b610564565b60405161025791906130c2565b60405180910390f35b61027361026e3660046130e8565b61059b565b005b610273610283366004613110565b6105a4565b61024a6105ad565b61024a6105ec565b6102a0610603565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613139565b610642565b6102736102d936600461320a565b61065e565b6102736102ec366004613299565b610674565b6103046102ff36600461305e565b610687565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046132de565b6106f0565b604051908152602001610257565b61035f610735565b60405160ff9091168152602001610257565b61034961037f36600461331d565b6107cd565b610349610805565b61034961039a36600461334b565b610823565b6103b26103ad3660046130e8565b61082d565b6040519015158152602001610257565b61024a6103d036600461305e565b61084c565b6102736103e3366004613382565b61085a565b61024a6108a8565b6103f86108dd565b60405161025791906133c9565b61027361041336600461346a565b5050565b6103496104253660046130e8565b610bd6565b610349610c01565b6102a0610c1a565b610273610448366004613496565b610c59565b61027361045b36600461346a565b610c6a565b61027361046e3660046130e8565b50565b610479610cd5565b60405161025791906134cb565b61034961049436600461305e565b611195565b6103496104a736600461305e565b6111a2565b6104bf6104ba3660046135f1565b6111c3565b6040516102579190613630565b6102a061127a565b6103496104e236600461305e565b6112b9565b6103496104f536600461305e565b6112c6565b6105026112fc565b6040516102579190613673565b61027361051d366004613784565b611407565b6103b26105303660046137df565b61144f565b61053d611492565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6060610596610572836114f0565b60405160200161058291906130c2565b604051602081830303815290604052611616565b919050565b61046e8161163a565b61046e8161189b565b60606105e96040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b81525060405160200161058291906130c2565b90565b60606105e96001604051602001610582919061380b565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b6106538989898989898989896119b3565b505050505050505050565b61066c868686868686611ba5565b505050505050565b6106818484848433611c58565b50505050565b604080516060810182525f808252602082018190529181019190915261059660085f8481526020019081526020015f20604051602001610582919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261072e9101610582565b9392505050565b5f6105e97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610795573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b991906138b8565b6040805160ff909216602083015201610582565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ff9101610582565b92915050565b5f6105e9610811611e13565b60405160200161058291815260200190565b5f6107ff82611ea9565b5f61059661083a836120df565b60408051911515602083015201610582565b6060610596610572836121bd565b83610864816122b9565b6001600160a01b0316336001600160a01b03161461089557604051632aab8bd360e01b815260040160405180910390fd5b6108a185858585612376565b5050505050565b60606105e960405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058291906130c2565b610947604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109506123e2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109ba91906138fb565b6109c4919061390e565b90505f8215610ad35773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f0856123f4565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac39190613921565b509050610ad0818461257e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610ba357610b9e8486612592565b610ba5565b5f5b81526003546001600160801b0316602091820152604051919250610bcf91610582918491016133c9565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105969101610582565b5f6105e960095460405160200161058291815260200190565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b610c6583838333612376565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612f8a565b6105e96040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f29919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb7919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611045919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d3919061394f565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058291906134cb565b5f610596610811836125a6565b5f818152600b60209081526040808320548151928301526105969101610582565b60605f8267ffffffffffffffff8111156111df576111df61396a565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f8585838181106112285761122861397e565b9050602002013590505f81549050808484815181106112495761124961397e565b6020908102919091010152505060010161120d565b50611273816040516020016105829190613630565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b5f6105966108118361269c565b5f6105966108116112f77f0000000000000000000000000000000000000000000000000000000000000000856138fb565b612782565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e96002604051602001610582919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611411816122b9565b6001600160a01b0316336001600160a01b03161461144257604051632aab8bd360e01b815260040160405180910390fd5b61066c8686868686611c58565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ff9101610582565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e990606001610582565b606060f882901c6001600160f81b0383165f61150b826127c2565b90505f836003811115611520576115206138d3565b03611552576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061160e565b6001836003811115611566576115666138d3565b03611592578060405160200161157c9190613992565b604051602081830303815290604052935061160e565b60028360038111156115a6576115a66138d3565b036115bc578060405160200161157c91906139ca565b60038360038111156115d0576115d06138d3565b0361160e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161163191906130c2565b60405180910390fd5b611642612874565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c3919061394f565b9050336001600160a01b0382161480159061176f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611735573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611759919061394f565b6001600160a01b0316336001600160a01b031614155b8015611781575061177f336120df565b155b1561179e576040516282b42960e81b815260040160405180910390fd5b5f6117a7611e13565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613a03565b90506118286001600160a01b038516848361289c565b81611831611e13565b1461184f576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191b919061394f565b6001600160a01b0316336001600160a01b0316141580156119425750611940336120df565b155b1561195f576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a890831515815260200190565b60405180910390a150565b834211156119d45760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119fb5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ae5573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b2357604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bc257506001600160a01b038516155b15611be05760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c005760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4f57611c47858583818110611c1f57611c1f61397e565b905060200201358888868686818110611c3a57611c3a61397e565b9050602002013533611c58565b600101611c02565b50505050505050565b6001600160a01b0384161580611c7557506001600160a01b038316155b15611c935760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d53576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d53575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d51575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d4b90849061390e565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d8490849061390e565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dba9084906138fb565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ea4906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611e7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9f9190613a03565b61269c565b905090565b5f611eb2612874565b611ebb826128ee565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3c919061394f565b90506001600160a01b038116611f5560208501856130e8565b6001600160a01b031614611f7c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061202657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612010919061394f565b6001600160a01b0316336001600160a01b031614155b80156120385750612036336120df565b155b15612055576040516282b42960e81b815260040160405180910390fd5b5f61205e6123e2565b600980545f909155909150612074818387612923565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120b360408a0160208b01613110565b60408051938452602084019290925215159082015260600160405180910390a250505061059660015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561213c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121639190810190613a1a565b90505f5b81518110156121b457836001600160a01b031682828151811061218c5761218c61397e565b60200260200101516001600160a01b0316036121ac575060019392505050565b600101612167565b505f9392505050565b606060f882901c6001600160f81b0383165f6121d8826127c2565b90505f8360038111156121ed576121ed6138d3565b0361221f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061160e565b6001836003811115612233576122336138d3565b03612249578060405160200161157c9190613ada565b600283600381111561225d5761225d6138d3565b03612273578060405160200161157c9190613b11565b6003836003811115612287576122876138d3565b0361160e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ea4670de0b6b3a76400006125a6565b61244c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161254491166129b9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612576929004166129b9565b905292915050565b5f61072e8383670de0b6b3a7640000612a2d565b5f61072e83670de0b6b3a764000084612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125f457504761267d565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612656573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267a9190613a03565b90505b600f545f0361268c575f61072e565b600f5461072e9084908390612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126ea575047612773565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561274c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127709190613a03565b90505b600f5461072e90849083612a2d565b5f6127a7600b5f612794600286612a48565b81526020019081526020015f2054612a7c565b6127b8600b5f612794600187612a48565b6107ff9190613b3c565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612866576127fb600a86613b6f565b6128069060306138fb565b60f81b826001612816848761390e565b612820919061390e565b815181106128305761283061397e565b60200101906001600160f81b03191690815f1a9053508061285081613b82565b915061285f9050600a86613b9a565b94506127ea565b918290030190815292915050565b60025f540361289657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612aa9565b5f6128fc60208301836130e8565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061292f858561257e565b905061293a8161269c565b9450845f0361294c575f91505061072e565b84915061295f6040840160208501613110565b1561298e576129878561297560208601866130e8565b6129826040870187613bad565b612b0a565b91506129b1565b6129b18561299f60208601866130e8565b6129ac6040870187613bad565b612c9a565b509392505050565b5f80670de0b6b3a76400006129cc612e1f565b6129d69190613bf0565b90508083116129e5575f6129ef565b6129ef818461390e565b915061072e612a26670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bf0565b8390612592565b5f825f190484118302158202612a41575f80fd5b5091020490565b5f6001600160f81b03821115612a715760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aa55760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612abd6001600160a01b03841683612e4a565b905080515f14158015612ae1575080806020019051810190612adf9190613c07565b155b15610c6557604051635274afe760e01b81526001600160a01b0384166004820152602401611631565b5f600f548511612b1a5784612b1e565b600f545b94505f612b2a866125a6565b905085600f5f828254612b3d919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612bdf576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612bcf576040519150601f19603f3d011682016040523d82523d5f602084013e612bd4565b606091505b505080915050612c72565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6f9190613c07565b90505b80612c90576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612ca95783612cad565b600f545b93505f612cb9856125a6565b905084600f5f828254612ccc919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612d6e576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612d5e576040519150601f19603f3d011682016040523d82523d5f602084013e612d63565b606091505b505080915050612e01565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612dda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dfe9190613c07565b90505b8061066c576040516312171d8360e31b815260040160405180910390fd5b5f611ea4427f0000000000000000000000000000000000000000000000000000000000000000612e57565b606061072e83835f612e6c565b5f612e628284613b6f565b61072e908461390e565b606081471015612e915760405163cd78605960e01b8152306004820152602401611631565b5f80856001600160a01b03168486604051612eac9190613c22565b5f6040518083038185875af1925050503d805f8114612ee6576040519150601f19603f3d011682016040523d82523d5f602084013e612eeb565b606091505b5091509150612efb868383612f05565b9695505050505050565b606082612f1a57612f1582612f61565b61072e565b8151158015612f3157506001600160a01b0384163b155b15612f5a57604051639996b31560e01b81526001600160a01b0385166004820152602401611631565b508061072e565b805115612f715780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161305960405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561306e575f80fd5b5035919050565b5f5b8381101561308f578181015183820152602001613077565b50505f910152565b5f81518084526130ae816020860160208601613075565b601f01601f19169290920160200192915050565b602081525f61072e6020830184613097565b6001600160a01b038116811461046e575f80fd5b5f602082840312156130f8575f80fd5b813561072e816130d4565b801515811461046e575f80fd5b5f60208284031215613120575f80fd5b813561072e81613103565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215613152575f80fd5b8935985060208a0135975060408a013561316b816130d4565b965060608a013561317b816130d4565b955060808a013561318b81613103565b945060a08a0135935060c08a01356131a28161312b565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126131d2575f80fd5b50813567ffffffffffffffff8111156131e9575f80fd5b6020830191508360208260051b8501011115613203575f80fd5b9250929050565b5f805f805f806080878903121561321f575f80fd5b863561322a816130d4565b9550602087013561323a816130d4565b9450604087013567ffffffffffffffff80821115613256575f80fd5b6132628a838b016131c2565b9096509450606089013591508082111561327a575f80fd5b5061328789828a016131c2565b979a9699509497509295939492505050565b5f805f80608085870312156132ac575f80fd5b8435935060208501356132be816130d4565b925060408501356132ce816130d4565b9396929550929360600135925050565b5f805f606084860312156132f0575f80fd5b833592506020840135613302816130d4565b91506040840135613312816130d4565b809150509250925092565b5f806040838503121561332e575f80fd5b823591506020830135613340816130d4565b809150509250929050565b5f6020828403121561335b575f80fd5b813567ffffffffffffffff811115613371575f80fd5b82016060818503121561072e575f80fd5b5f805f8060808587031215613395575f80fd5b8435935060208501356133a7816130d4565b92506040850135915060608501356133be816130d4565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561347b575f80fd5b8235613486816130d4565b9150602083013561334081613103565b5f805f606084860312156134a8575f80fd5b8335925060208401356134ba816130d4565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516134f760208401826001600160a01b03169052565b50604083015161351260408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613584828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613602575f80fd5b823567ffffffffffffffff811115613618575f80fd5b613624858286016131c2565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156136675783518352928401929184019160010161364b565b50909695505050505050565b81516001600160801b031681526101808101602083015161369f60208401826001600160801b03169052565b5060408301516136ba60408401826001600160801b03169052565b5060608301516136d560608401826001600160801b03169052565b5060808301516136ea6080840182600f0b9052565b5060a083015161370560a08401826001600160801b03169052565b5060c083015161372060c08401826001600160801b03169052565b5060e083015161373b60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526135e9565b5f805f805f60a08688031215613798575f80fd5b8535945060208601356137aa816130d4565b935060408601356137ba816130d4565b92506060860135915060808601356137d1816130d4565b809150509295509295909350565b5f80604083850312156137f0575f80fd5b82356137fb816130d4565b91506020830135613340816130d4565b5f60208083525f84545f60018260011c9150600183168061382d57607f831692505b60208310810361384b57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561386a5760018114613880576138a9565b60ff198616825284151560051b820196506138a9565b5f8b8152602090205f5b868110156138a35781548482015290850190890161388a565b83019750505b50949998505050505050505050565b5f602082840312156138c8575f80fd5b815161072e8161312b565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ff576107ff6138e7565b818103818111156107ff576107ff6138e7565b5f8060408385031215613932575f80fd5b82519150602083015161334081613103565b8051610596816130d4565b5f6020828403121561395f575f80fd5b815161072e816130d4565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516139bd816011850160208701613075565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516139f6816012850160208701613075565b9190910160120192915050565b5f60208284031215613a13575f80fd5b5051919050565b5f6020808385031215613a2b575f80fd5b825167ffffffffffffffff80821115613a42575f80fd5b818501915085601f830112613a55575f80fd5b815181811115613a6757613a6761396a565b8060051b604051601f19603f83011681018181108582111715613a8c57613a8c61396a565b604052918252848201925083810185019188831115613aa9575f80fd5b938501935b82851015613ace57613abf85613944565b84529385019392850192613aae565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613b04816010850160208701613075565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516139bd816011850160208701613075565b8181035f831280158383131683831282161715611273576112736138e7565b634e487b7160e01b5f52601260045260245ffd5b5f82613b7d57613b7d613b5b565b500690565b5f60018201613b9357613b936138e7565b5060010190565b5f82613ba857613ba8613b5b565b500490565b5f808335601e19843603018112613bc2575f80fd5b83018035915067ffffffffffffffff821115613bdc575f80fd5b602001915036819003821315613203575f80fd5b80820281158282048414176107ff576107ff6138e7565b5f60208284031215613c17575f80fd5b815161072e81613103565b5f8251613c33818460208701613075565b919091019291505056fea264697066735822122021b09f56eae2e6401e682ea513847aab1fe9991d765a55efc881bef2565b0f3b64736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004103380380620041038339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c666200049d5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612f3c01525f818161139301528181611791015281816117f401528181612b2501528181612b6101528181612d590152612f1601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ef001525f611ba501525f8181611cc601528181612307015261237f01525f81816108a901528181610f4301528181611c9a015261235301525f8181610e3e01526122cd01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612f6201525f81816107e701528181610ec4015281816116ef015281816121a6015261348601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f8181611984015281816119cd015281816125e30152818161262c01528181612701015281816127aa0152818161289001526129390152613c665ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613716565b610070565b60405190815260200160405180910390f35b61004b61006b366004613716565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613784565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613797565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836137ca565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137f2565b6102bd8a6102b78d8f613784565b90611584565b8d6102cb60408c018c61380d565b6040516102df989796959493929190613878565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613784565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836138bf565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836137ca565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137f2565b8a61050260408b018b61380d565b60405161051597969594939291906138e6565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836137ca565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611a60565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613784565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a75565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b92505b5061073e83611aab565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613926565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613784565b4290611ad4565b8461102b565b6107db88611ae8565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613926565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c85565b915091508060095f8282546108789190613784565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613784565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d52565b91506108e16108dc8385611584565b611d9b565b600680546002906109029084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611aab565b60068054601090610951908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c85565b915091508060095f8282546109c49190613784565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613926565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611aab565b60068054601090610a68908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613797565b5f61134e565b8e610ac58482611dc4565b50505b5f610ad284611fb3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613979565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120f5565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613926565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a75565b90505f610d5f8a61217b565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121ca565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612239565b612268565b15610e7457610e746113ec565b5f805f610e8385878b876122a9565b9c5091945092509050610e968184613926565b610ea09089613784565b9750610eac8284613784565b610eb6908d613784565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613926565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d52565b9950610f73878a613926565b9850670de0b6b3a7640000610ff0610f8b8787613784565b600254610fa9908f90600160801b90046001600160801b0316613926565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6123bb565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613926565b6110d19190613994565b85670de0b6b3a76400006110e5878a613926565b6110ef9190613994565b859291906001612457565b611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611aab565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613994565b600554600160801b90046001600160801b031691908a5f612457565b600580546001600160801b03928316600160801b0292169190911790556111d286611aab565b6111dc90826139ab565b600480546001600160801b03928316600160801b02921691909117905561120284611aab565b600280545f9061121c9084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611249836124fd565b600480545f9061125d908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611aab565b600280546010906112af908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613797565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612538565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361259a565b6003546113ce91906001600160801b0316613784565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611dc4565b5f805f61141d84611ae8565b90925090505f61142d8686611584565b905081831115611445576114428683856125ae565b95505b8281101561145757808303925061145b565b5f92505b61146483611d9b565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611aab565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816125c9565b9450845f03611516575f91505061157d565b84915061152960408401602085016137f2565b15611558576115518561153f60208601866137ca565b61154c604087018761380d565b6126af565b915061157b565b61157b8561156960208601866137ca565b611576604087018761380d565b61283f565b505b9392505050565b5f61157d8383670de0b6b3a76400006125ae565b5f805f805f805f806115a8611a75565b90505f6115b48a61217b565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006129cc565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b985061169a84878b886122a9565b9c5091945090925090506116ae8284613926565b6116b89089613926565b97506116c48184613784565b6116ce908e613926565b9c506116da8a8e613784565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613926565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016123bb565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613926565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613797565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612a1f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613994565b6005546001600160801b031691908c5f612457565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613926565b90506118a281611aab565b600380546001600160801b03928316600160801b0292169190911790556118c883611aab565b600280546001600160801b0319166001600160801b03929092169190911790556118f1826124fd565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611aab565b6002805460109061193c908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119b8575047611a41565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a3e91906139f8565b90505b600f545f03611a50575f61157d565b600f5461157d90849083906125ae565b5f611a6b8284613a23565b61157d9084613926565b6002546004545f916105a6916001600160801b0390911690600f0b612a1f565b5f61007d82611aa58588886125ae565b90612a44565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611ae2578261157d565b50919050565b6006545f908190611b0a908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c80575f611b338383613926565b9050611b426110fa8286612ab3565b60068054601090611b64908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b9c8583612ac790919063ffffffff16565b90505f611bc9827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611bdc9190613784565b90915550611bec90508183613926565b9150611bf782611aab565b600280545f90611c119084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3e82612adb565b600480545f90611c52908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c918785612ac7565b91505f611cbe837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611cea817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d0d57611cfc8282613926565b611d069084613926565b9250611d24565b611d178282613926565b611d219084613784565b92505b86861015611d4757611d378387896125ae565b9250611d448287896125ae565b91505b509550959350505050565b5f80611d6984611d638a888a6125ae565b90612ac7565b9050611d768884866125ae565b611d809082613784565b905086811115611d905786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e0e916001600160801b031690613926565b9050805f03611e2157600191505061131b565b5f611e2b85612b04565b9050805f03611e3f5760019250505061131b565b5f80611e4c838589612b9f565b9150915080611e61575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e9c929190613ab4565b6040805180830381865af4158015611eb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eda9190613b29565b91509150611ef8611eea82611321565b611ef390613b4b565b612d13565b925082611f0d575f965050505050505061131b565b611f1682611aab565b600780545f90611f309084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5d81611aab565b60078054601090611f7f908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fda87612ea7565b6040518263ffffffff1660e01b8152600401611ff69190613b65565b6040805180830381865af4158015612010573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120349190613b74565b915091508061204957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120ae91613784565b6120b89190613926565b9050805f036120ce57505f958695509350505050565b5f8087116120dc575f6120e7565b6120e78488846125ae565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561211857612118613ba2565b6040519080825280601f01601f191660200182016040528015612142576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612162578692505b828152825f602083013e90999098509650505050505050565b5f806121856105ab565b9050808311612194575f61219e565b61219e8184613926565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612ac7565b5f80806121ea6121e288670de0b6b3a7640000613926565b899087612fe1565b9050861561222c576121fc888861259a565b915061221d8a8a846122168a670de0b6b3a7640000613926565b8989613004565b92506122298382613784565b90505b9750975097945050505050565b5f61225661224f84670de0b6b3a7640000613926565b839061259a565b61157d90670de0b6b3a7640000613926565b5f8061229e85612276611a75565b6122809190613784565b600254610fa9908790600160801b90046001600160801b0316613926565b909210949350505050565b5f8080806122ff87866122f88b6122f26122cb8c670de0b6b3a7640000613926565b7f00000000000000000000000000000000000000000000000000000000000000009061259a565b9061259a565b9190612fe1565b935061232b847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61234b61234389670de0b6b3a7640000613926565b8a9088612fe1565b9050612377817f000000000000000000000000000000000000000000000000000000000000000061259a565b93506123a3847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123ad9084613784565b915050945094509450949050565b5f805f805f80888810156124275786156123dd576123da8d898b6125ae565b9c505b6123e88c898b6125ae565b9b506123f38b611321565b6123fc8d611321565b6124069190613797565b90506124138b898b6125ae565b9a506124208a898b6125ae565b9950612446565b6124308b611321565b6124398d611321565b6124439190613797565b90505b9b9c9a9b999a975050505050505050565b5f825f036124665750846124f4565b81156124b8576124976124798487613784565b6124838587611584565b61248d888a611584565b611d639190613784565b90505f6124a48588611ad4565b9050808210156124b2578091505b506124f4565b8285036124c657505f6124f4565b6124f16124d38487613926565b6124dd858761259a565b6124e7888a611584565b611d639190613926565b90505b95945050505050565b5f60016001607f1b031982128061251a575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612544845f613026565b61254e845f613026565b6125589190613797565b90505f8113156125735761256c8186613784565b9450612591565b5f8112156125915761258481613b4b565b61258e9086613926565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612fe1565b5f825f1904841183021582026125c2575f80fd5b5091020490565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126175750476126a0565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612679573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269d91906139f8565b90505b600f5461157d908490836125ae565b5f600f5485116126bf57846126c3565b600f545b94505f6126cf8661196a565b905085600f5f8282546126e29190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612784576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612774576040519150601f19603f3d011682016040523d82523d5f602084013e612779565b606091505b505080915050612817565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156127f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128149190613bb6565b90505b80612835576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f54841161284e5783612852565b600f545b93505f61285e8561196a565b905084600f5f8282546128719190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612913576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612903576040519150601f19603f3d011682016040523d82523d5f602084013e612908565b606091505b5050809150506129a6565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561297f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a39190613bb6565b90505b806129c4576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806129ec6129e488670de0b6b3a7640000613926565b8990876125ae565b9050861561222c576129fe8888611584565b915061221d8a8a84612a188a670de0b6b3a7640000613926565b898961303b565b5f80612a2b848461304b565b909250905080612a3d57612a3d6113ec565b5092915050565b5f815f03612a5b5750670de0b6b3a764000061131b565b825f03612a6957505f61131b565b5f612a7383611321565b90505f612a87612a8286611321565b613086565b9050818102612a9e670de0b6b3a764000082613bd1565b9050612aa9816132ab565b9695505050505050565b5f61157d83670de0b6b3a764000084612fe1565b5f61157d83670de0b6b3a7640000846125ae565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612b1e906001600160801b031684612ab3565b9050612b4a7f000000000000000000000000000000000000000000000000000000000000000082613784565b6002546001600160801b03161115611ae2576002547f000000000000000000000000000000000000000000000000000000000000000090612b959083906001600160801b0316613926565b61157d9190613926565b612ba7613677565b5f80612bb284612ea7565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612bec9190613b65565b6040805180830381865af4158015612c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c2a9190613b74565b9350905082612c3e57505f9150612d0b9050565b5f612c64612c5f84610160015185610140015161158490919063ffffffff16565b611321565b612c84612c5f85610120015186610100015161259a90919063ffffffff16565b612c8e9190613797565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612dc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ded9190613bfd565b935093509350935080612e0857505f98975050505050505050565b868414612e3957612e1884611aab565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612e6a57612e49836124fd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e9857612e7a82611aab565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612eaf6136c1565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fa7911661343d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612fd99290041661343d565b905292915050565b5f825f190484118302158202612ff5575f80fd5b50910281810615159190040190565b5f806130148888888888886134b1565b909250905080611d9057611d906113ec565b5f818313613034578161157d565b5090919050565b5f8061301488888888888861358d565b5f805f8361305886611321565b6130629190613797565b90505f811215613078575f80925092505061307f565b9150600190505b9250929050565b5f8082136130a75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061312a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132c457505f919050565b680755bf798b4a1bf1e582126132ed576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612aa974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006134506105ab565b61345a9190613994565b9050808311613469575f613473565b6134738184613926565b915061157d6134aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613994565b8390612ac7565b5f805f6134c18989888888613649565b9050868810156134d7575f809250925050613582565b96869003966134e68887612a44565b9750878110156134fc575f809250925050613582565b87810361350a818688612fe1565b9050670de0b6b3a7640000811061353e57613537613530670de0b6b3a764000089612ab3565b8290612a44565b9050613556565b613553613530670de0b6b3a764000089612ac7565b90505b6135608186612ab3565b905089811015613577575f80935093505050613582565b899003925060019150505b965096945050505050565b5f805f61359d8989888888613649565b90506135ad86611aa5898b613784565b9750878110156135c3575f809250925050613582565b8781036135d1818688612fe1565b9050670de0b6b3a764000081106135fe576135f7613530670de0b6b3a764000089612ab3565b9050613616565b613613613530670de0b6b3a764000089612ac7565b90505b6136208186612ab3565b9050808a1015613637575f80935093505050613582565b90980398600198509650505050505050565b5f6136548585612a44565b61366d61366586611aa5868b61259a565b859085612fe1565b6124f19190613784565b60405180610120016040528061368b6136c1565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613729575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613754575f80fd5b850160608188031215613765575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613770565b8181035f831280158383131683831282161715612a3d57612a3d613770565b6001600160a01b0381168114610591575f80fd5b5f602082840312156137da575f80fd5b813561157d816137b6565b8015158114610591575f80fd5b5f60208284031215613802575f80fd5b813561157d816137e5565b5f808335601e19843603018112613822575f80fd5b83018035915067ffffffffffffffff82111561383c575f80fd5b60200191503681900382131561307f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6138b160e083018486613850565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138de576138de613770565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61391960c083018486613850565b9998505050505050505050565b8181038181111561131b5761131b613770565b6001600160701b03818116838216019080821115612a3d57612a3d613770565b6001600160801b03818116838216019080821115612a3d57612a3d613770565b5f60208284031215613989575f80fd5b815161157d816137b6565b808202811582820484141761131b5761131b613770565b6001600160801b03828116828216039080821115612a3d57612a3d613770565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613770565b5f60208284031215613a08575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a3157613a31613a0f565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ac7828551613a36565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b3a575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b5f57613b5f613770565b505f0390565b610180810161131b8284613a36565b5f8060408385031215613b85575f80fd5b825191506020830151613b97816137e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613bc6575f80fd5b815161157d816137e5565b5f82613bdf57613bdf613a0f565b600160ff1b82145f1984141615613bf857613bf8613770565b500590565b5f805f8060808587031215613c10575f80fd5b8451935060208501519250604085015191506060850151613765816137e556fea264697066735822122034da2b5732f62280d0c6e2269d467a1f7828d6d5aff85ef3b012edddfc43472564736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004390380380620043908339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ebb620004d55f395f50505f50505f610c7301525f50505f818160f901528181610302015261315701525f81816115f9015281816120f501528181612158015281816128df01528181612d4701528181612d8301528181612f74015261313101525f818161083101528181610dcd01528181610e0f01528181610f0101528181611367015281816113c50152818161199c01528181611a2b015261310b01525f611d1f01525f8181611e40015281816129d001528181612a48015261326f01525f81816109ee01528181610e820152818161146001528181611e140152612a1c01525f8181610e610152818161299c015261322b01525f818161085201528181610dab01528181610e3001528181610f2201528181611345015281816113e6015261317d01525f81816101d3015281816103960152818161092c01526136f301525f81816106f20152818161076e015281816107e2015281816108ad01526108e501525f50505f818161055b015281816114c901528181611512015281816117a1015281816117ea01528181611879015281816118fa01528181611a9601528181611b1701528181612b2f0152612b780152613ebb5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461396b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461396b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d9836105c5565b5f806100e588866105fd565b90925090505f6100f583836106ce565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106eb565b905061017281846004600161071b565b505f805f6101808787610d7f565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139d9565b909155506101ce9050844283610f5e565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139d9565b98506102068389888c611097565b5f61021260018b61122e565b905061022b8161022560208e018e613a00565b8b611262565b8d8a8a898e8561023e6020830183613a00565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a28565b8961028960408a018a613a43565b60405161029c9796959493929190613aae565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b610300836105c5565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a611307565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106eb565b90505f61038e6103846106eb565b846004600161071b565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139d9565b90505f805f806103cc8e8988611319565b60098054949850929650909450925083915f906103ea9084906139d9565b909155506103fb9050874283610f5e565b61040d610408858a61149b565b6114af565b6104189060016139d9565b9350505f61042784898d6115ac565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105fd565b508e905061046481858b896115d3565b5f61047060028861122e565b90508c61048a826104846020840184613a00565b85611262565b858b868461049b6020860186613a00565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a28565b6104ec896104e68a8d613aee565b906106ce565b8d6104fa60408e018e613a43565b60405161050e989796959493929190613b01565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906105a557503415155b156105c357604051631574f9f360e01b815260040160405180910390fd5b565b5f6105d36020830183613a00565b6001600160a01b0316036105fa5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806106106040850160208601613a28565b156106355761062b856106266040870187613a43565b611786565b909350905061064d565b503461064d856106486040870187613a43565b611a10565b610655611307565b915080156106c5576040515f90339083908381818185875af1925050503d805f811461069c576040519150601f19603f3d011682016040523d82523d5f602084013e6106a1565b606091505b50509050806106c3576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106e28383670de0b6b3a7640000611bb2565b90505b92915050565b5f610716427f0000000000000000000000000000000000000000000000000000000000000000611bcd565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074257504286115b1561075b57600101546001600160801b03169050610d77565b5f805f6107666106eb565b90505f6107937f00000000000000000000000000000000000000000000000000000000000000008b6139d9565b90505b81811015610807575f818152600860205260409020600101546001600160801b031680156107df575f828152600860205260409020549094506001600160801b03169250610807565b507f000000000000000000000000000000000000000000000000000000000000000001610796565b835f036108795788935061087661081c611be2565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b92505b5061088383611c21565b6001850180546001600160801b0319166001600160801b03929092169190911790556108d96108d27f00000000000000000000000000000000000000000000000000000000000000008b613aee565b8a84610f5e565b6109178961091161090a7f0000000000000000000000000000000000000000000000000000000000000000836139d9565b4290611c4e565b84610f5e565b61092088611c62565b505f90506008816109517f00000000000000000000000000000000000000000000000000000000000000008d613aee565b815260208101919091526040015f908120600101546001600160801b0316915061097c60028c61122e565b5f818152600b60205260408120549192508c8c8315610abd57600192505f806109a886898d865f611dff565b915091508060095f8282546109bd91906139d9565b909155506109d89050865f846109d281611ecc565b88611ef5565b6109e281836139d9565b9150610a1286838a8e877f000000000000000000000000000000000000000000000000000000000000000061206c565b9150610a26610a2183856106ce565b6120b5565b60068054600290610a479084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7482611c21565b60068054601090610a96908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ac960018461122e565b5f818152600b60205260409020549091508015610bd457600194505f80610af4838b8f886001611dff565b915091508060095f828254610b0991906139d9565b90915550610b249050835f84610b1e81611ecc565b8a6120de565b610b2e8183613aee565b9150610b3d610a2183876106ce565b60068054600290610b5e9084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b8b82611c21565b60068054601090610bad908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c0d57610bff610be687611ecc565b610bef83611ecc565b610bf99190613b88565b5f6122ce565b8e610c0a848261230d565b50505b5f610c17846124fc565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf19190613ba7565b90506001600160a01b03811615610d6557610d625a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061263e565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d8c611be2565b600254909150610df1908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006126c4565b600254909450610e54908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b9150610eab8785610ea6857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006126ef565b612753565b15610eb857610eb8612794565b610ec4878588856127ad565b91965094509250670de0b6b3a7640000610f46610ee187846139d9565b600254610eff908890600160801b90046001600160801b0316613aee565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b1115610f5457610f54612794565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f895750505050565b5f848152600860205260408120546001600160801b031690819003610fe157610fb183611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561105e565b61103261102d670de0b6b3a7640000610ffa8886613aee565b6110049190613bc2565b85670de0b6b3a7640000611018878a613aee565b6110229190613bc2565b8592919060016127f5565b611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106784611c21565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110d961102d826110c3670de0b6b3a764000086613bc2565b6005546001600160801b031691908860016127f5565b600580546001600160801b0319166001600160801b039290921691909117905561110285611c21565b600280545f9061111c9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114984611c21565b6002805460109061116b908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061119884611c21565b6111a29082613b68565b600380546001600160801b03808416600160801b02911617905590505f6111c883612899565b90506111e6816111d787611ecc565b6111e19084613bf9565b6122ce565b6111ef846128d9565b6111fb576111fb612794565b5f61120585612938565b90508061122557604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112939084906139d9565b90915550505f838152600b6020526040812080548392906112b59084906139d9565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f610716670de0b6b3a76400006114af565b5f805f805f611326611be2565b60025490915061138b908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612944565b9350876113988589612964565b11156113a6576113a6612794565b6002545f90819061140a908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b93506114208a670de0b6b3a7640000868c612978565b5091935090915061143390508183613aee565b61143d9087613aee565b95508861148a816114848d611452868c613aee565b8d61145d8782612a84565b877f0000000000000000000000000000000000000000000000000000000000000000612a99565b90612964565b975090945050505093509350935093565b5f6106e283670de0b6b3a764000084612ab9565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016114fd575047611586565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561155f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115839190613c20565b90505b600f545f03611595575f6115a5565b600f546115a59084908390611bb2565b9392505050565b5f6115bd6040830160208401613a28565b156115c95750826115a5565b610d778484612adc565b6002546001600160801b0316838110156115ef576115ef612794565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611627908390600f0b612af0565b101561163557611635612794565b60045461167f9061102d90600160801b90046001600160801b0316611662670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908960016127f5565b600580546001600160801b03928316600160801b0292169190911790556116a581611c21565b600280546001600160801b0319166001600160801b03929092169190911790556116ce85611c21565b600280546010906116f0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061171d85611c21565b6004805460109061173f908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61176d83612899565b90506111e68161177c88611ecc565b6111e19084613b88565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016117d557504761185e565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613c20565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016118d857873410156118c7576040516312171d8360e31b815260040160405180910390fd5b6118d18834613aee565b905061196f565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190613c37565b91505b8161198d576040516312171d8360e31b815260040160405180910390fd5b600f545f036119d1576119c0887f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f81905594509250611a08915050565b600f545f906119e2908a9086611bb2565b905080600f5f8282546119f591906139d9565b90915550909550909350611a0892505050565b935093915050565b5f611a1a846114af565b9050600f545f03611a5757611a4f817f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f55611a7b565b5f611a6182612b15565b905080600f5f828254611a7491906139d9565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611af55782341015611ae4576040516312171d8360e31b815260040160405180910390fd5b611aee8334613aee565b9050611b8c565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b899190613c37565b91505b81611baa576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202611bc6575f80fd5b5091020490565b5f611bd88284613c66565b6106e29084613aee565b6002546004545f91610716916001600160801b0390911690600f0b612af0565b5f611c1882611c12858888611bb2565b90612bfb565b95945050505050565b5f6001600160801b03821115611c4a57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611c5c57826106e2565b50919050565b6006545f908190611c84908490600160801b90046001600160801b03166106ce565b6006546201000090046001600160701b03169250905081811115611dfa575f611cad8383613aee565b9050611cbc61102d828661149b565b60068054601090611cde908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d168583612adc90919063ffffffff16565b90505f611d43827f00000000000000000000000000000000000000000000000000000000000000006106ce565b90508060095f828254611d5691906139d9565b90915550611d6690508183613aee565b9150611d7182611c21565b600280545f90611d8b9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611db882612c60565b600480545f90611dcc908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611e0b8785612adc565b91505f611e38837f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050611e64817f00000000000000000000000000000000000000000000000000000000000000006106ce565b91508315611e8757611e768282613aee565b611e809084613aee565b9250611e9e565b611e918282613aee565b611e9b90846139d9565b92505b86861015611ec157611eb1838789611bb2565b9250611ebe828789611bb2565b91505b509550959350505050565b5f6001600160ff1b03821115611c4a5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611f3d61102d82611f21670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908a5f6127f5565b600580546001600160801b03928316600160801b029216919091179055611f6386611c21565b611f6d9082613bd9565b600480546001600160801b03928316600160801b029216919091179055611f9384611c21565b600280545f90611fad9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fda83612c89565b600480545f90611fee908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061201e85611c21565b60028054601090612040908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120838461207d8a888a611bb2565b90612adc565b9050612090888486611bb2565b61209a90826139d9565b9050868111156120aa5786810391505b509695505050505050565b5f6001600160701b03821115611c4a5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061212057507f000000000000000000000000000000000000000000000000000000000000000061211e8583613aee565b105b1561212d5761212d612794565b6004549084900390600f0b6121428482613b88565b90508361214e86611ecc565b13801561218357507f00000000000000000000000000000000000000000000000000000000000000006121818383612af0565b105b1561219057612190612794565b600354600160801b90046001600160801b03166121d161102d826121bc670de0b6b3a764000088613bc2565b6005546001600160801b031691908c5f6127f5565b600580546001600160801b0319166001600160801b03929092169190911790556121fb8882613aee565b905061220681611c21565b600380546001600160801b03928316600160801b02921691909117905561222c83611c21565b600280546001600160801b0319166001600160801b039290921691909117905561225582612c89565b600480546001600160801b0319166001600160801b039290921691909117905561227e87611c21565b600280546010906122a0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122e99061102d906001600160801b03168484612cc4565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612357916001600160801b031690613aee565b9050805f0361236a5760019150506106e5565b5f61237485612d26565b9050805f03612388576001925050506106e5565b5f80612395838589612dc1565b91509150806123aa575f9450505050506106e5565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123e5929190613d24565b6040805180830381865af41580156123ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124239190613d99565b9150915061244161243382611ecc565b61243c90613dbb565b612f2e565b925082612456575f96505050505050506106e5565b61245f82611c21565b600780545f906124799084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124a681611c21565b600780546010906124c8908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612523876130c2565b6040518263ffffffff1660e01b815260040161253f9190613dd5565b6040805180830381865af4158015612559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061257d9190613de4565b915091508061259257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125f7916139d9565b6126019190613aee565b9050805f0361261757505f958695509350505050565b5f808711612625575f612630565b612630848884611bb2565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561266157612661613e12565b6040519080825280601f01601f19166020018201604052801561268b576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126ab578692505b828152825f602083013e90999098509650505050505050565b5f6126e48787876126dd88670de0b6b3a7640000613aee565b87876131fc565b979650505050505050565b5f610d7761272f61270884670de0b6b3a7640000613aee565b611484670de0b6b3a764000061271e818a61149b565b6127289190613aee565b8790612964565b61274190670de0b6b3a76400006139d9565b61207d84670de0b6b3a7640000613aee565b5f8061278985612761611be2565b61276b91906139d9565b600254610eff908790600160801b90046001600160801b0316613aee565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6127bd89878961321e565b90925090506127cc8289613aee565b97505f6127da82888a611bb2565b90506127e6818b613aee565b9a989950979650505050505050565b5f825f03612804575084611c18565b81156128565761283561281784876139d9565b61282185876106ce565b61282b888a6106ce565b61207d91906139d9565b90505f6128428588611c4e565b905080821015612850578091505b50611c18565b82850361286457505f611c18565b61288f6128718487613aee565b61287b8587612964565b612885888a6106ce565b61207d9190613aee565b9695505050505050565b5f6128be600b5f6128ab60028661122e565b81526020019081526020015f2054611ecc565b6128cf600b5f6128ab60018761122e565b6106e59190613b88565b5f6129047f000000000000000000000000000000000000000000000000000000000000000083612964565b60035461291a91906001600160801b03166139d9565b600254612930906001600160801b0316846106ce565b101592915050565b5f6106e582600461230d565b5f6126e487878761295d88670de0b6b3a7640000613aee565b878761329d565b5f6106e28383670de0b6b3a7640000612ab9565b5f8080806129c887866129c18b61148461299a8c670de0b6b3a7640000613aee565b7f000000000000000000000000000000000000000000000000000000000000000090612964565b9190612ab9565b93506129f4847f00000000000000000000000000000000000000000000000000000000000000006106ce565b91505f612a14612a0c89670de0b6b3a7640000613aee565b8a9088612ab9565b9050612a40817f0000000000000000000000000000000000000000000000000000000000000000612964565b9350612a6c847f00000000000000000000000000000000000000000000000000000000000000006106ce565b612a7690846139d9565b915050945094509450949050565b5f818311612a9257816106e2565b5090919050565b5f80612ab084612aaa8a888a612ab9565b9061149b565b90506120908884865b5f825f190484118302158202612acd575f80fd5b50910281810615159190040190565b5f6106e283670de0b6b3a764000084611bb2565b5f80612afc84846132ad565b909250905080612b0e57612b0e612794565b5092915050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612b63575047612bec565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612bc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be99190613c20565b90505b600f546115a590849083611bb2565b5f815f03612c125750670de0b6b3a76400006106e5565b825f03612c2057505f6106e5565b5f612c2a83611ecc565b90505f612c3e612c3986611ecc565b6132e5565b9050818102612c55670de0b6b3a764000082613e26565b905061288f8161350a565b5f60016001607f1b03821115611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ca6575060016001607f1b0382135b15611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f80612cd0845f61369c565b612cda845f61369c565b612ce49190613b88565b90505f811315612cff57612cf881866139d9565b9450612d1d565b5f811215612d1d57612d1081613dbb565b612d1a9086613aee565b94505b50929392505050565b6003545f908190612d40906001600160801b03168461149b565b9050612d6c7f0000000000000000000000000000000000000000000000000000000000000000826139d9565b6002546001600160801b03161115611c5c576002547f000000000000000000000000000000000000000000000000000000000000000090612db79083906001600160801b0316613aee565b6115a59190613aee565b612dc96138cc565b5f80612dd4846130c2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e0e9190613dd5565b6040805180830381865af4158015612e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4c9190613de4565b9350905082612e6057505f9150611a089050565b5f612e86612e818461016001518561014001516106ce90919063ffffffff16565b611ecc565b612ea6612e8185610120015186610100015161296490919063ffffffff16565b612eb09190613b88565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612fe4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130089190613e52565b93509350935093508061302357505f98975050505050505050565b8684146130545761303384611c21565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146130855761306483612c89565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146130b35761309582611c21565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b6130ca613916565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916131c291166136aa565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926131f4929004166136aa565b905292915050565b5f8061320c88888888888861371e565b9092509050806120aa576120aa612794565b5f806132678561148485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061325d818c61149b565b6114849190613aee565b9150613293827f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050935093915050565b5f8061320c8888888888886137e2565b5f805f836132ba86611ecc565b6132c49190613b88565b90505f8112156132da575f8092509250506106c7565b946001945092505050565b5f8082136133065760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133899084901c611ecc565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361352357505f919050565b680755bf798b4a1bf1e5821261354c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ecc565b5f818313612a9257816106e2565b5f80670de0b6b3a76400006136bd6106eb565b6136c79190613bc2565b90508083116136d6575f6136e0565b6136e08184613aee565b91506115a5613717670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc2565b8390612adc565b5f805f61372e898988888861389e565b905061374886611c126137418a8d6139d9565b87906106ce565b9850613755858a86611bb2565b98508881101561376b575f8092509250506137d7565b888103670de0b6b3a764000081106137a057613799613792670de0b6b3a76400008961149b565b8290612bfb565b90506137b8565b6137b5613792670de0b6b3a764000089612adc565b90505b808910156137cd575f809350935050506137d7565b8803925060019150505b965096945050505050565b5f805f6137f2898988888861389e565b905061380286611c12898b6139d9565b975087811015613818575f8092509250506137d7565b878103613826818688612ab9565b9050670de0b6b3a764000081106138535761384c613792670de0b6b3a76400008961149b565b905061386b565b613868613792670de0b6b3a764000089612adc565b90505b613875818661149b565b9050808a101561388c575f809350935050506137d7565b90980398600198509650505050505050565b5f6138a98585612bfb565b6138c26138ba86611c12868b612964565b859085612ab9565b61288f91906139d9565b6040518061012001604052806138e0613916565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561397e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139a9575f80fd5b8501606081880312156139ba575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106e5576106e56139c5565b6001600160a01b03811681146105fa575f80fd5b5f60208284031215613a10575f80fd5b81356115a5816139ec565b80151581146105fa575f80fd5b5f60208284031215613a38575f80fd5b81356115a581613a1b565b5f808335601e19843603018112613a58575f80fd5b83018035915067ffffffffffffffff821115613a72575f80fd5b6020019150368190038213156106c7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613ae160c083018486613a86565b9998505050505050505050565b818103818111156106e5576106e56139c5565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b3a60e083018486613a86565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612b0e57612b0e6139c5565b6001600160801b03818116838216019080821115612b0e57612b0e6139c5565b8181035f831280158383131683831282161715612b0e57612b0e6139c5565b5f60208284031215613bb7575f80fd5b81516115a5816139ec565b80820281158282048414176106e5576106e56139c5565b6001600160801b03828116828216039080821115612b0e57612b0e6139c5565b8082018281125f831280158216821582161715613c1857613c186139c5565b505092915050565b5f60208284031215613c30575f80fd5b5051919050565b5f60208284031215613c47575f80fd5b81516115a581613a1b565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7457613c74613c52565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106e5576106e56139c5565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d37828551613ca6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613daa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dcf57613dcf6139c5565b505f0390565b61018081016106e58284613ca6565b5f8060408385031215613df5575f80fd5b825191506020830151613e0781613a1b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3457613e34613c52565b600160ff1b82145f1984141615613e4d57613e4d6139c5565b500590565b5f805f8060808587031215613e65575f80fd5b84519350602085015192506040850151915060608501516139ba81613a1b56fea2646970667358221220866c28df534d8c8a6e0f290d5c82cfde44a3eecea72f04a3e4f9fe6dc2d78f5f64736f6c6343000816003361028060405234801562000011575f80fd5b5060405162004328380380620043288339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613e42620004e65f395f50505f50505f6112f601525f81816102f801528181610327015261035401525f818160d901528181610596015261170c01525f81816108320152818161091d015281816109ad01528181610ab2015281816115de015281816116e6015281816123dd0152818161244001528181612ce90152818161319301526131cf01525f8181610139015281816108a201528181610eb4015281816114a70152818161150a0152818161154f015281816116c001528181611bad0152611c3c01525f611fee01525f8181612143015261341e01525f8181611071015261211701525f6133d401525f818161017b015281816108f501528181610ed501528181611477015281816114da01528181611570015261173201525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610faf0152612c7f01525f818161028d01528181610d7a01528181610df101528181610e6501528181610f300152610f6801525f50505f8181610bb6015281816119b2015281816119fb01528181611a8a01528181611b0b01528181611ca701528181611d2801528181612ed901528181612f2201528181612fcf01526130180152613e425ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138c7565b610064565b60405190815260200160405180910390f35b61003f61005f366004613926565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610c20565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c7d565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610ca2565b915091505f6101e5610d73565b90506101f5818360046001610d9e565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613986565b611402565b611448565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613999565b815260208101919091526040015f20546001600160801b03167f000000000000000000000000000000000000000000000000000000000000000061164c565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613986565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613999565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613999565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613986565b90505f805f61042d8a611677565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a2a565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a39565b91506104b96104b48c6117b1565b6117de565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a2a565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a39565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613999565b9190611804565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e61181f565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a64565b8e611833565b610625896118d8565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613986565b9b5090508a158061071857506107158c5f6118e4565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b611804565b61074f565b5f5b905061075e6020850185613a64565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613a8c565b866107a960408c018c613aa7565b6040516107bc9796959493929190613aea565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610c20565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610ca2565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b3d565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b54565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118f8565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f80611448565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c8561191d565b600280546001600160801b0319166001600160801b0392909216919091179055610a6584611946565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e8361191d565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f0000000000000000000000000000000000000000000000000000000000000000611833565b610aed5f610ae760208c018c613a64565b8a611833565b610b02610af8610d73565b8760046001610d9e565b508a8a8a610b136020820182613a64565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613a8c565b87610b5e6040890189613aa7565b604051610b719796959493929190613aea565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590610c0057503415155b15610c1e57604051631574f9f360e01b815260040160405180910390fd5b565b5f610c2e6020830183613a64565b6001600160a01b031603610c555760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c78916001600160801b0390911690600f0b6118f8565b905090565b5f80610c8b87878786611981565b9050610c97818561164c565b979650505050505050565b815f80610cb56040850160208601613a8c565b15610cda57610cd085610ccb6040870187613aa7565b611997565b9093509050610cf2565b5034610cf285610ced6040870187613aa7565b611c21565b610cfa611dc3565b91508015610d6a576040515f90339083908381818185875af1925050503d805f8114610d41576040519150601f19603f3d011682016040523d82523d5f602084013e610d46565b606091505b5050905080610d68576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c78427f0000000000000000000000000000000000000000000000000000000000000000611dd5565b5f84815260086020526040812060018101546001600160801b0316151580610dc557504286115b15610dde57600101546001600160801b031690506113fa565b5f805f610de9610d73565b90505f610e167f00000000000000000000000000000000000000000000000000000000000000008b613986565b90505b81811015610e8a575f818152600860205260409020600101546001600160801b03168015610e62575f828152600860205260409020549094506001600160801b03169250610e8a565b507f000000000000000000000000000000000000000000000000000000000000000001610e19565b835f03610efc57889350610ef9610e9f610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b92505b50610f068361191d565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f5c610f557f00000000000000000000000000000000000000000000000000000000000000008b613999565b8a84611dea565b610f9a89610f94610f8d7f000000000000000000000000000000000000000000000000000000000000000083613986565b4290611f23565b84611dea565b610fa388611f31565b505f9050600881610fd47f00000000000000000000000000000000000000000000000000000000000000008d613999565b815260208101919091526040015f908120600101546001600160801b03169150610fff60028c6120ce565b5f818152600b60205260408120549192508c8c831561114057600192505f8061102b86898d865f612102565b915091508060095f8282546110409190613986565b9091555061105b9050865f84611055816117b1565b886121cf565b6110658183613986565b915061109586838a8e877f0000000000000000000000000000000000000000000000000000000000000000612346565b91506110a96110a48385612389565b61239d565b600680546002906110ca9084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110f78261191d565b60068054601090611119908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61114c6001846120ce565b5f818152600b6020526040902054909150801561125757600194505f80611177838b8f886001612102565b915091508060095f82825461118c9190613986565b909155506111a79050835f846111a1816117b1565b8a6123c6565b6111b18183613999565b91506111c06110a48387612389565b600680546002906111e19084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061120e8261191d565b60068054601090611230908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561129057611282611269876117b1565b611272836117b1565b61127c9190613bbf565b5f6125b6565b8e61128d84826125f5565b50505b5f61129a846127e4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611350573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113749190613bde565b90506001600160a01b038116156113e8576113e55a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612926565b50505b509b9d50505050505050505050505050505b949350505050565b5f611427600b5f6114146002866120ce565b81526020019081526020015f20546117b1565b611438600b5f6114146001876120ce565b6114429190613bbf565b92915050565b5f805f806114568a8a6129ae565b915091508061146c575f80935093505050611641565b5f6114cb838a6114a47f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8b7f00000000000000000000000000000000000000000000000000000000000000006129e6565b5090505f61152e848b846115077f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8d7f0000000000000000000000000000000000000000000000000000000000000000612a9f565b50905081158061153c575080155b1561154757505f9050805b5f611594858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b90506115a283838c84612b59565b509093505f90506115b3848f613986565b90505f6115d38b8b6115c4876117b1565b6115ce908e613bf9565b612ba1565b90508b6116086116037f000000000000000000000000000000000000000000000000000000000000000083612c03565b6117b1565b611611836117b1565b61161e6116038685612389565b6116289190613bbf565b6116329190613bbf565b60019950995050505050505050505b965096945050505050565b5f61008d61165f84846301e13380612c13565b61167185670de0b6b3a7640000613999565b9061181f565b61167f613818565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916117779116612c36565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117a992900416612c36565b905292915050565b5f6001600160ff1b038211156117da5760405163396ea70160e11b815260040160405180910390fd5b5090565b6117e781612ca3565b610c5557604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611818575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611804565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611864908490613986565b90915550505f838152600b602052604081208054839290611886908490613986565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6114428260046125f5565b5f8183136118f2578261008d565b50919050565b5f8061190484846129ae565b90925090508061191657611916612e37565b5092915050565b5f6001600160801b038211156117da57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611963575060016001607f1b0382135b156117da5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611991858888611804565b90612e50565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119e6575047611a6f565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613a39565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611ae95787341015611ad8576040516312171d8360e31b815260040160405180910390fd5b611ae28834613999565b9050611b80565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b7d9190613c20565b91505b81611b9e576040516312171d8360e31b815260040160405180910390fd5b600f545f03611be257611bd1887f000000000000000000000000000000000000000000000000000000000000000061181f565b600f81905594509250611c19915050565b600f545f90611bf3908a9086611804565b905080600f5f828254611c069190613986565b90915550909550909350611c1992505050565b935093915050565b5f611c2b84612ebf565b9050600f545f03611c6857611c60817f000000000000000000000000000000000000000000000000000000000000000061181f565b600f55611c8c565b5f611c7282612fb5565b905080600f5f828254611c859190613986565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611d065782341015611cf5576040516312171d8360e31b815260040160405180910390fd5b611cff8334613999565b9050611d9d565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611d76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9a9190613c20565b91505b81611dbb576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f610c78670de0b6b3a7640000612ebf565b5f611de08284613c4f565b61008d9084613999565b5f83815260086020526040902054600160801b90046001600160801b0316808303611e155750505050565b5f848152600860205260408120546001600160801b031690819003611e6d57611e3d8361191d565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611eea565b611ebe611eb9670de0b6b3a7640000611e868886613999565b611e909190613b3d565b85670de0b6b3a7640000611ea4878a613999565b611eae9190613b3d565b85929190600161309b565b61191d565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ef38461191d565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118f2578261008d565b6006545f908190611f53908490600160801b90046001600160801b0316612389565b6006546201000090046001600160701b031692509050818111156120c9575f611f7c8383613999565b9050611f8b611eb98286613135565b60068054601090611fad908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611fe5858361181f90919063ffffffff16565b90505f612012827f0000000000000000000000000000000000000000000000000000000000000000612389565b90508060095f8282546120259190613986565b9091555061203590508183613999565b91506120408261191d565b600280545f9061205a9084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061208782613149565b600480545f9061209b908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156120f75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061210e878561181f565b91505f61213b837f0000000000000000000000000000000000000000000000000000000000000000612389565b9050612167817f0000000000000000000000000000000000000000000000000000000000000000612389565b9150831561218a576121798282613999565b6121839084613999565b92506121a1565b6121948282613999565b61219e9084613986565b92505b868610156121c4576121b4838789611804565b92506121c1828789611804565b91505b509550959350505050565b600454600160801b90046001600160801b0316612217611eb9826121fb670de0b6b3a764000086613b3d565b600554600160801b90046001600160801b031691908a5f61309b565b600580546001600160801b03928316600160801b02921691909117905561223d8661191d565b6122479082613c62565b600480546001600160801b03928316600160801b02921691909117905561226d8461191d565b600280545f906122879084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506122b483611946565b600480545f906122c8908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506122f88561191d565b6002805460109061231a908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612357846116718a888a611804565b9050612364888486611804565b61236e9082613986565b90508681111561237e5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611804565b5f6001600160701b038211156117da5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061240857507f00000000000000000000000000000000000000000000000000000000000000006124068583613999565b105b1561241557612415612e37565b6004549084900390600f0b61242a8482613bbf565b905083612436866117b1565b13801561246b57507f000000000000000000000000000000000000000000000000000000000000000061246983836118f8565b105b1561247857612478612e37565b600354600160801b90046001600160801b03166124b9611eb9826124a4670de0b6b3a764000088613b3d565b6005546001600160801b031691908c5f61309b565b600580546001600160801b0319166001600160801b03929092169190911790556124e38882613999565b90506124ee8161191d565b600380546001600160801b03928316600160801b0292169190911790556125148361191d565b600280546001600160801b0319166001600160801b039290921691909117905561253d82611946565b600480546001600160801b0319166001600160801b03929092169190911790556125668761191d565b60028054601090612588908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546125d190611eb9906001600160801b03168484612ba1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161263f916001600160801b031690613999565b9050805f03612652576001915050611442565b5f61265c85613172565b9050805f0361267057600192505050611442565b5f8061267d83858961320d565b9150915080612692575f945050505050611442565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016126cd929190613caf565b6040805180830381865af41580156126e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061270b9190613d24565b9150915061272961271b826117b1565b61272490613d46565b612ca3565b92508261273e575f9650505050505050611442565b6127478261191d565b600780545f906127619084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061278e8161191d565b600780546010906127b0908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61280b87611677565b6040518263ffffffff1660e01b81526004016128279190613a2a565b6040805180830381865af4158015612841573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128659190613d60565b915091508061287a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916128df91613986565b6128e99190613999565b9050805f036128ff57505f958695509350505050565b5f80871161290d575f612918565b612918848884611804565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561294957612949613d8e565b6040519080825280601f01601f191660200182016040528015612973576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612993578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836129bb866117b1565b6129c59190613bbf565b90505f8112156129db575f809250925050610d6c565b946001945092505050565b5f805f6129f68888888888613375565b90505f612a20670de0b6b3a7640000612a0f8888613135565b612a199190613986565b839061181f565b9050670de0b6b3a76400008110612a5457612a4d612a46670de0b6b3a76400008961181f565b8290612e50565b9050612a6c565b612a69612a46670de0b6b3a764000089613135565b90505b612a76818661181f565b905088811015612a8d575f809350935050506129a4565b97909703976001975095505050505050565b5f805f612aaf89898888886133a3565b9050612ac986611991612ac28a8d613986565b8790612389565b9850612ad6858a86611804565b985088811015612aec575f809250925050611641565b888103670de0b6b3a76400008110612b1a57612b13612a46670de0b6b3a764000089613135565b9050612b32565b612b2f612a46670de0b6b3a76400008961181f565b90505b80891015612b47575f80935093505050611641565b90970398600198509650505050505050565b5f805f805f612b698987896133c7565b9092509050612b788289613999565b97505f612b8682888a611804565b9050612b92818b613999565b9a989950979650505050505050565b5f80612bad845f61344c565b612bb7845f61344c565b612bc19190613bbf565b90505f811315612bdc57612bd58186613986565b9450612bfa565b5f811215612bfa57612bed81613d46565b612bf79086613999565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612c27575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612c49610d73565b612c539190613b3d565b9050808311612c62575f612c6c565b612c6c8184613999565b915061008d612a19670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b3d565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7d9190613da2565b935093509350935080612d9857505f98975050505050505050565b868414612dc957612da88461191d565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dfa57612dd983611946565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e2857612e0a8261191d565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612e675750670de0b6b3a7640000611442565b825f03612e7557505f611442565b5f612e7f836117b1565b90505f612e93612e8e866117b1565b613461565b9050818102612eaa670de0b6b3a764000082613de0565b9050612eb581613686565b9695505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612f0d575047612f96565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612f6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f939190613a39565b90505b600f545f03612fa5575f61008d565b600f5461008d9084908390611804565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161300357504761308c565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015613065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130899190613a39565b90505b600f5461008d90849083611804565b5f825f036130aa575084610075565b81156130fc576130db6130bd8487613986565b6130c78587612389565b6130d1888a612389565b6116719190613986565b90505f6130e88588611f23565b9050808210156130f6578091505b50610075565b82850361310a57505f610075565b6100726131178487613999565b6131218587612c03565b61312b888a612389565b6116719190613999565b5f61008d83670de0b6b3a764000084612c13565b5f60016001607f1b038211156117da5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061318c906001600160801b031684613135565b90506131b87f000000000000000000000000000000000000000000000000000000000000000082613986565b6002546001600160801b031611156118f2576002547f0000000000000000000000000000000000000000000000000000000000000000906132039083906001600160801b0316613999565b61008d9190613999565b61321561386d565b5f8061322084611677565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161325a9190613a2a565b6040805180830381865af4158015613274573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132989190613d60565b93509050826132ac57505f9150611c199050565b5f6132cd61160384610160015185610140015161238990919063ffffffff16565b6132ed611603856101200151866101000151612c0390919063ffffffff16565b6132f79190613bbf565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6133808585612e50565b61339961339186611991868b612389565b859085611804565b6100729190613986565b5f6133ae8585612e50565b6133996133bf86611991868b612c03565b859085612c13565b5f806134168561341085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613406818c613135565b6134109190613999565b90612c03565b9150613442827f0000000000000000000000000000000000000000000000000000000000000000612389565b9050935093915050565b5f81831361345a578161008d565b5090919050565b5f8082136134825760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906135059084901c6117b1565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361369f57505f919050565b680755bf798b4a1bf1e582126136c8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612eb574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b1565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613881613818565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118f2575f80fd5b5f805f805f60a086880312156138db575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561390d575f80fd5b613919888289016138b7565b9150509295509295909350565b5f805f60608486031215613938575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561395c575f80fd5b613968868287016138b7565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144257611442613972565b8181038181111561144257611442613972565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144282846139ac565b5f60208284031215613a49575f80fd5b5051919050565b6001600160a01b0381168114610c55575f80fd5b5f60208284031215613a74575f80fd5b813561008d81613a50565b8015158114610c55575f80fd5b5f60208284031215613a9c575f80fd5b813561008d81613a7f565b5f808335601e19843603018112613abc575f80fd5b83018035915067ffffffffffffffff821115613ad6575f80fd5b602001915036819003821315610d6c575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144257611442613972565b5f805f60608486031215613b66575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191657611916613972565b6001600160801b0381811683821601908082111561191657611916613972565b8181035f83128015838313168383128216171561191657611916613972565b5f60208284031215613bee575f80fd5b815161008d81613a50565b8082018281125f831280158216821582161715613c1857613c18613972565b505092915050565b5f60208284031215613c30575f80fd5b815161008d81613a7f565b634e487b7160e01b5f52601260045260245ffd5b5f82613c5d57613c5d613c3b565b500690565b6001600160801b0382811682821603908082111561191657611916613972565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144257611442613972565b5f6102a082019050613cc28285516139ac565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d35575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d5a57613d5a613972565b505f0390565b5f8060408385031215613d71575f80fd5b825191506020830151613d8381613a7f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613db5575f80fd5b8451935060208501519250604085015191506060850151613dd581613a7f565b939692955090935050565b5f82613dee57613dee613c3b565b600160ff1b82145f1984141615613e0757613e07613972565b50059056fea2646970667358221220d426ba5f7020e09bbfea80f6e77d21cc660f32b25d7e2adec3c6a8f1dc6df22d64736f6c6343000816003361028060405234801562000011575f80fd5b506040516200353e3803806200353e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613128620004165f395f50505f50505f61099201525f50505f818161025f0152611fc901525f81816118290152818161188c01528181611bb901528181611bf501528181611de60152611fa301525f81816105500152611f7d01525f61140b01525f61156001525f818161070d015261153401525f50505f81816105710152611fef01525f818161064b015261271201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f818161109d015281816110e6015281816122bd01528181612306015281816123db015281816124840152818161256a015261261301526131285ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612be3565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612c35565b6100b1565b005b610056610092366004612be3565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c69565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c91565b61016a60408c018c612cac565b60405161017c96959493929190612d17565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d64565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c69565b88610ea4565b5f6102f56102ec6020870187612c69565b88848989610a9e565b90945090506103048188612d8b565b92505f61031083610f41565b5090506103206020870187612c69565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c91565b8a888e80604001906103709190612cac565b604051610384989796959493929190612d9e565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c69565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f0000000000000000000000000000000000000000000000000000000000000000611180565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612de5565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611195565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b5565b92505b506105a2836111d4565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d8b565b8a84611201565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612de5565b429061133a565b84611201565b61063f8861134e565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d8b565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6114eb565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61151f565b915091508060095f8282546106dc9190612de5565b909155506106f79050865f846106f1816115ec565b88611615565b6107018183612de5565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061178c565b915061074561074083856117d5565b6117e9565b600680546002906107669084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826111d4565b600680546010906107b5908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846114eb565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161151f565b915091508060095f8282546108289190612de5565b909155506108439050835f8461083d816115ec565b8a611812565b61084d8183612d8b565b915061085c61074083876117d5565b6006805460029061087d9084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826111d4565b600680546010906108cc908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876115ec565b61090e836115ec565b6109189190612e38565b5f611a02565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e57565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a41565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611ac7565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611ad3565b9050610b20836111d4565b610b2a9083612e72565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816111d4565b60078054601090610b75908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611aee565b9350610bb08684611b84565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d8b565b9050805f03610c3a576001915050610dc7565b5f610c4485611b98565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c33565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612f10565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f85565b91509150610d11610d03826115ec565b610d0c90612fa7565b611da0565b925082610d26575f9650505050505050610dc7565b610d2f826111d4565b600780545f90610d499084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816111d4565b60078054601090610d98908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d8b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612de5565b90915550505f838152600b602052604081208054839290610ef7908490612de5565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f34565b6040518263ffffffff1660e01b8152600401610f849190612fc1565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612fd0565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612de5565b6110469190612d8b565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611ad3565b976001975095505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016110d157504761115a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612ffe565b90505b600f545f03611169575f611179565b600f546111799084908390611ad3565b9392505050565b5f61118b8284612d64565b6111799084612d8b565b6002546004545f9161040a916001600160801b0390911690600f0b61206e565b5f6111cb826111c5858888611ad3565b90612093565b95945050505050565b5f6001600160801b038211156111fd57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361122c5750505050565b5f848152600860205260408120546001600160801b03169081900361128457611254836111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611301565b6112d56112d0670de0b6b3a764000061129d8886612d8b565b6112a79190613015565b85670de0b6b3a76400006112bb878a612d8b565b6112c59190613015565b859291906001612102565b6111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61130a846111d4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116113485782611179565b50919050565b6006545f908190611370908490600160801b90046001600160801b03166117d5565b6006546201000090046001600160701b031692509050818111156114e6575f6113998383612d8b565b90506113a86112d0828661219c565b600680546010906113ca908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61140285836121b090919063ffffffff16565b90505f61142f827f00000000000000000000000000000000000000000000000000000000000000006117d5565b90508060095f8282546114429190612de5565b9091555061145290508183612d8b565b915061145d826111d4565b600280545f906114779084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a4826121c4565b600480545f906114b8908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115145760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152b87856121b0565b91505f611558837f00000000000000000000000000000000000000000000000000000000000000006117d5565b9050611584817f00000000000000000000000000000000000000000000000000000000000000006117d5565b915083156115a7576115968282612d8b565b6115a09084612d8b565b92506115be565b6115b18282612d8b565b6115bb9084612de5565b92505b868610156115e1576115d1838789611ad3565b92506115de828789611ad3565b91505b509550959350505050565b5f6001600160ff1b038211156111fd5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165d6112d082611641670de0b6b3a764000086613015565b600554600160801b90046001600160801b031691908a5f612102565b600580546001600160801b03928316600160801b029216919091179055611683866111d4565b61168d9082612e72565b600480546001600160801b03928316600160801b0292169190911790556116b3846111d4565b600280545f906116cd9084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116fa836121ed565b600480545f9061170e908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173e856111d4565b60028054601090611760908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a38461179d8a888a611ad3565b906121b0565b90506117b0888486611ad3565b6117ba9082612de5565b9050868111156117ca5786810391505b509695505050505050565b5f6111798383670de0b6b3a7640000611ad3565b5f6001600160701b038211156111fd5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185457507f00000000000000000000000000000000000000000000000000000000000000006118528583612d8b565b105b1561186157611861612228565b6004549084900390600f0b6118768482612e38565b905083611882866115ec565b1380156118b757507f00000000000000000000000000000000000000000000000000000000000000006118b5838361206e565b105b156118c4576118c4612228565b600354600160801b90046001600160801b03166119056112d0826118f0670de0b6b3a764000088613015565b6005546001600160801b031691908c5f612102565b600580546001600160801b0319166001600160801b039290921691909117905561192f8882612d8b565b905061193a816111d4565b600380546001600160801b03928316600160801b029216919091179055611960836111d4565b600280546001600160801b0319166001600160801b0392909216919091179055611989826121ed565b600480546001600160801b0319166001600160801b03929092169190911790556119b2876111d4565b600280546010906119d4908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1d906112d0906001600160801b03168484612241565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6457611a64613059565b6040519080825280601f01601f191660200182016040528015611a8e576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aae578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611ae7575f80fd5b5091020490565b5f80611afa85856117d5565b9050611b05816122a3565b9450845f03611b17575f915050611179565b849150611b2a6040840160208501612c91565b15611b5957611b5285611b406020860186612c69565b611b4d6040870187612cac565b612389565b9150611b7c565b611b7c85611b6a6020860186612c69565b611b776040870187612cac565b612519565b509392505050565b5f6111798383670de0b6b3a76400006126a6565b6003545f908190611bb2906001600160801b03168461219c565b9050611bde7f000000000000000000000000000000000000000000000000000000000000000082612de5565b6002546001600160801b03161115611348576002547f000000000000000000000000000000000000000000000000000000000000000090611c299083906001600160801b0316612d8b565b6111799190612d8b565b611c3b612b44565b5f80611c4684611f34565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c809190612fc1565b6040805180830381865af4158015611c9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbe9190612fd0565b9350905082611cd257505f91506100a99050565b5f611cf8611cf38461016001518561014001516117d590919063ffffffff16565b6115ec565b611d18611cf3856101200151866101000151611b8490919063ffffffff16565b611d229190612e38565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a919061306d565b935093509350935080611e9557505f98975050505050505050565b868414611ec657611ea5846111d4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef757611ed6836121ed565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2557611f07826111d4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f3c612b8e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161203491166126c9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612066929004166126c9565b905292915050565b5f8061207a848461273d565b90925090508061208c5761208c612228565b5092915050565b5f815f036120aa5750670de0b6b3a7640000610dc7565b825f036120b857505f610dc7565b5f6120c2836115ec565b90505f6120d66120d1866115ec565b612778565b90508181026120ed670de0b6b3a7640000826130ab565b90506120f88161299d565b9695505050505050565b5f825f036121115750846111cb565b8115612163576121426121248487612de5565b61212e85876117d5565b612138888a6117d5565b61179d9190612de5565b90505f61214f858861133a565b90508082101561215d578091505b506111cb565b82850361217157505f6111cb565b6120f861217e8487612d8b565b6121888587611b84565b612192888a6117d5565b61179d9190612d8b565b5f61117983670de0b6b3a7640000846126a6565b5f61117983670de0b6b3a764000084611ad3565b5f60016001607f1b038211156111fd5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061220a575060016001607f1b0382135b156111fd5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224d845f612b2f565b612257845f612b2f565b6122619190612e38565b90505f81131561227c576122758186612de5565b945061229a565b5f81121561229a5761228d81612fa7565b6122979086612d8b565b94505b50929392505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016122f157504761237a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123779190612ffe565b90505b600f5461117990849083611ad3565b5f600f548511612399578461239d565b600f545b94505f6123a986611083565b905085600f5f8282546123bc9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161245e576040516001600160a01b0387169083905f81818185875af1925050503d805f811461244e576040519150601f19603f3d011682016040523d82523d5f602084013e612453565b606091505b5050809150506124f1565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156124ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ee91906130d7565b90505b8061250f576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612528578361252c565b600f545b93505f61253885611083565b905084600f5f82825461254b9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125ed576040516001600160a01b0386169083905f81818185875af1925050503d805f81146125dd576040519150601f19603f3d011682016040523d82523d5f602084013e6125e2565b606091505b505080915050612680565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612659573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267d91906130d7565b90505b8061269e576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f1904841183021582026126ba575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006126dc61040f565b6126e69190613015565b90508083116126f5575f6126ff565b6126ff8184612d8b565b9150611179612736670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613015565b83906121b0565b5f805f8361274a866115ec565b6127549190612e38565b90505f81121561276a575f809250925050612771565b9150600190505b9250929050565b5f8082136127995760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061281c9084901c6115ec565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136129b657505f919050565b680755bf798b4a1bf1e582126129df576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115ec565b5f818313612b3d5781611179565b5090919050565b604051806101200160405280612b58612b8e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bf5575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612c19575f80fd5b840160608187031215612c2a575f80fd5b809150509250925092565b5f8060408385031215612c46575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c79575f80fd5b813561117981612c55565b80151581146103f5575f80fd5b5f60208284031215612ca1575f80fd5b813561117981612c84565b5f808335601e19843603018112612cc1575f80fd5b83018035915067ffffffffffffffff821115612cdb575f80fd5b602001915036819003821315612771575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d4460a083018486612cef565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d7257612d72612d50565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d77565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612dd760e083018486612cef565b9a9950505050505050505050565b80820180821115610dc757610dc7612d77565b6001600160701b0381811683821601908082111561208c5761208c612d77565b6001600160801b0381811683821601908082111561208c5761208c612d77565b8181035f83128015838313168383128216171561208c5761208c612d77565b5f60208284031215612e67575f80fd5b815161117981612c55565b6001600160801b0382811682821603908082111561208c5761208c612d77565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612f23828551612e92565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f96575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612fbb57612fbb612d77565b505f0390565b6101808101610dc78284612e92565b5f8060408385031215612fe1575f80fd5b825191506020830151612ff381612c84565b809150509250929050565b5f6020828403121561300e575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612d77565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d77565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613080575f80fd5b84519350602085015192506040850151915060608501516130a081612c84565b939692955090935050565b5f826130b9576130b9612d50565b600160ff1b82145f19841416156130d2576130d2612d77565b500590565b5f602082840312156130e7575f80fd5b815161117981612c8456fea2646970667358221220447241d7c17f715a7a63f28f726648ecebf427bf0f52c23015bdee4f602c749c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "__external_transferFrom(uint256,address,address,uint256,address)": "58af4a0a", + "__setBalanceOf(uint256,address,uint256)": "94a97cdb", + "accrue(uint256,int256)": "68096239", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "burn(uint256,address,uint256)": "9eea5f66", + "calculateFeesGivenBonds(uint256,uint256,uint256,uint256)": "22d5506b", + "calculateFeesGivenShares(uint256,uint256,uint256)": "71f88b7c", + "calculateIdleShareReserves(uint256)": "b1b4b170", + "calculateOpenLong(uint256,uint256)": "9bd33498", + "calculateTimeRemaining(uint256)": "68c2ecb8", + "calculateTimeRemainingScaled(uint256)": "ca6d38f7", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "getTotalShares()": "d5002f2e", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "latestCheckpoint()": "907c0f92", + "mint(uint256,address,uint256)": "836a1040", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setLongExposure(uint128)": "b4f8da39", + "setMarketState((uint128,uint128,uint128,uint128,int128,uint128,uint128,uint128,bool,bool,uint112,uint128))": "f45cf2e0", + "setPauser(address,bool)": "7180c8ca", + "setReserves(uint128,uint128)": "702db0eb", + "setTotalShares(uint256)": "a77384c1", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "updateLiquidity(int256)": "8120a3e2" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveAdminController.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveAdminController.ts new file mode 100644 index 000000000..4cbbd7040 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveAdminController.ts @@ -0,0 +1,165 @@ +export const MockHyperdriveAdminController = { + name: 'MockHyperdriveAdminController' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_hyperdriveGovernance", + "type": "address", + "internalType": "address" + }, + { + "name": "_feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "_sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "_checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "__defaultPausers", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpointRewarder", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "defaultPausers", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "feeCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hyperdriveGovernance", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sweepCollector", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateCheckpointRewarder", + "inputs": [ + { + "name": "_checkpointRewarder", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFeeCollector", + "inputs": [ + { + "name": "_feeCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateHyperdriveGovernance", + "inputs": [ + { + "name": "_hyperdriveGovernance", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateSweepCollector", + "inputs": [ + { + "name": "_sweepCollector", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5060405161052c38038061052c83398101604081905261002e9161013b565b5f80546001600160a01b038088166001600160a01b03199283161790925560018054878416908316179055600280548684169083161790556003805492851692909116919091179055805161008a906004906020840190610095565b50505050505061023e565b828054828255905f5260205f209081019282156100e8579160200282015b828111156100e857825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906100b3565b506100f49291506100f8565b5090565b5b808211156100f4575f81556001016100f9565b80516001600160a01b0381168114610122575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f805f805f60a0868803121561014f575f80fd5b6101588661010c565b9450602061016781880161010c565b94506101756040880161010c565b93506101836060880161010c565b60808801519093506001600160401b038082111561019f575f80fd5b818901915089601f8301126101b2575f80fd5b8151818111156101c4576101c4610127565b8060051b604051601f19603f830116810181811085821117156101e9576101e9610127565b60405291825284820192508381018501918c831115610206575f80fd5b938501935b8285101561022b5761021c8561010c565b8452938501939285019261020b565b8096505050505050509295509295909350565b6102e18061024b5f395ff3fe608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063c415b95c11610063578063c415b95c1461013b578063d2c35ce81461014e578063dd2b8fbb1461017e578063e3331555146101ad578063f2596458146101bf575f80fd5b806310780f73146100945780633e2d2014146100c45780638627a4f0146100f6578063a64c90bf14610126575b5f80fd5b6002546100a7906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f46100d2366004610232565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b005b6100f4610104366004610232565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61012e6101d2565b6040516100bb919061025f565b6001546100a7906001600160a01b031681565b6100f461015c366004610232565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6100f461018c366004610232565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546100a7906001600160a01b031681565b6003546100a7906001600160a01b031681565b6060600480548060200260200160405190810160405280929190818152602001828054801561022857602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161020a575b5050505050905090565b5f60208284031215610242575f80fd5b81356001600160a01b0381168114610258575f80fd5b9392505050565b602080825282518282018190525f9190848201906040850190845b8181101561029f5783516001600160a01b03168352928401929184019160010161027a565b5090969550505050505056fea2646970667358221220ecebc112f559d4259664259f658bf0e8ed76476292be39978b092c6551ce150a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpointRewarder()": "f2596458", + "defaultPausers()": "a64c90bf", + "feeCollector()": "c415b95c", + "hyperdriveGovernance()": "e3331555", + "sweepCollector()": "10780f73", + "updateCheckpointRewarder(address)": "3e2d2014", + "updateFeeCollector(address)": "d2c35ce8", + "updateHyperdriveGovernance(address)": "dd2b8fbb", + "updateSweepCollector(address)": "8627a4f0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveBase.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveBase.ts new file mode 100644 index 000000000..1bcf6fd93 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveBase.ts @@ -0,0 +1,657 @@ +export const MockHyperdriveBase = { + name: 'MockHyperdriveBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveMath.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveMath.ts new file mode 100644 index 000000000..c8e78a059 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveMath.ts @@ -0,0 +1,809 @@ +export const MockHyperdriveMath = { + name: 'MockHyperdriveMath' as const, + abi: [ + { + "type": "function", + "name": "calculateAbsoluteMaxLong", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct HyperdriveUtils.MaxTradeParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "curveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flatFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLPFee", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_spotPrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateCloseLong", + "inputs": [ + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_normalizedTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateCloseShort", + "inputs": [ + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_amountOut", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_normalizedTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateEffectiveShareReserves", + "inputs": [ + { + "name": "_shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAdjustment", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxLong", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct HyperdriveUtils.MaxTradeParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "curveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flatFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLPFee", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_checkpointExposure", + "type": "int256", + "internalType": "int256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxShort", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct HyperdriveUtils.MaxTradeParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "curveFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flatFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLPFee", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_checkpointExposure", + "type": "int256", + "internalType": "int256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateNegativeInterestOnClose", + "inputs": [ + { + "name": "_shareProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareReservesDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareCurveDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_totalGovernanceFee", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_openVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_closeVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_isLong", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "int256", + "internalType": "int256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateOpenLong", + "inputs": [ + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateOpenShort", + "inputs": [ + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateShortProceedsDown", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_openVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_closeVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_flatFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateShortProceedsUp", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_openVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_closeVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_flatFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSpotAPR", + "inputs": [ + { + "name": "_effectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSpotPrice", + "inputs": [ + { + "name": "_shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateTimeStretch", + "inputs": [ + { + "name": "apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506122b88061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c806394169d4911610088578063bc1e106511610063578063bc1e106514610212578063dbab851214610225578063e7acd3ad14610238578063f87845f21461024b575f80fd5b806394169d49146101be5780639e489b99146101ec578063a280a282146101ff575f80fd5b80635e6d9d36116100c35780635e6d9d361461014a5780636ceebe1d1461015d5780637ef99f8714610170578063902b1099146101ab575f80fd5b80632471caed146100e95780632810a0361461010f5780633f77b61714610122575b5f80fd5b6100fc6100f7366004611f50565b61025e565b6040519081526020015b60405180910390f35b6100fc61011d366004611f7f565b610276565b610135610130366004612087565b610290565b60408051928352602083019190915201610106565b6100fc6101583660046120bb565b6102af565b6100fc61016b3660046120bb565b6102cb565b61018361017e3660046120fa565b6102db565b604080519586526020860194909452928401919091526060830152608082015260a001610106565b6100fc6101b93660046120bb565b610357565b6101d16101cc366004612159565b610367565b60408051938452602084019290925290820152606001610106565b6100fc6101fa366004612087565b610394565b61013561020d366004612087565b6103aa565b6100fc6102203660046121a0565b6103b9565b6100fc6102333660046121a0565b6103cf565b6100fc6102463660046120bb565b6103db565b6101d1610259366004612159565b6103eb565b5f8061026c86868686610400565b9695505050505050565b5f80610285878787878761041f565b979650505050505050565b5f805f8061029f878787610439565b909450925050505b935093915050565b5f806102bf88888888888861063c565b98975050505050505050565b5f806102bf88888888888861065c565b5f805f805f61030d6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b61031c8d8d8d8d8d8d8d61067c565b608086018190526060860182905260408601839052602086018490529484905292985090965094509250905097509750975097509792505050565b5f806102bf888888888888610718565b5f805f805f8061037c8d8d8d8d8d8d8d610761565b919750955093505050505b9750975097945050505050565b5f6103a08484846107cf565b90505b9392505050565b5f805f8061029f878787610971565b5f806103c58484610bc9565b9150505b92915050565b5f806103c58484610bee565b5f806102bf888888888888610c84565b5f805f805f8061037c8d8d8d8d8d8d8d610ca2565b5f61041682610410858888610cf5565b90610d10565b95945050505050565b5f8061042d87878786610400565b90506102858185610d70565b5f805f61044d865f01518760200151610bc9565b90505f6104688288604001518960e001518a60a00151610400565b90505f80610477898585610971565b90925090505f61048a8a8a858588610d95565b91505080156104a1575090945092506102a7915050565b506104ae89838a86610ec7565b95506104bc89878686610f64565b94505f806104cd8b8b8a8a89610d95565b915091508061053d5760405162461bcd60e51b815260206004820152603160248201527f496e697469616c20677565737320696e206063616c63756c6174654d61784c6f6044820152703733b01034b99034b739b7b63b32b73a1760791b60648201526084015b60405180910390fd5b5f5b8981101561062d578489106105b25760405162461bcd60e51b815260206004820152603360248201527f52656163686564206162736f6c757465206d617820626f6e6420616d6f756e746044820152721034b7103033b2ba2fb6b0bc2fb637b733b01760691b6064820152608401610534565b5f6105bf8d8b8a8a610fb6565b93509050826105ce575061062d565b5f6105d9858361104d565b6105e3908c6121d4565b90505f6105f28f838c8c610f64565b90506106018f8f84848d610d95565b9096509450841561061757819b50809a5061061f565b50505061062d565b50505080600101905061053f565b50505050505050935093915050565b5f61028587878761065588670de0b6b3a76400006121e7565b8787611061565b5f61028587878761067588670de0b6b3a76400006121e7565b8787611083565b5f805f805f80888810156106e857861561069e5761069b8d898b610cf5565b9c505b6106a98c898b610cf5565b9b506106b48b611093565b6106bd8d611093565b6106c791906121fa565b90506106d48b898b610cf5565b9a506106e18a898b610cf5565b9950610707565b6106f18b611093565b6106fa8d611093565b61070491906121fa565b90505b9b9c9a9b999a975050505050505050565b5f8061072f846107298a888a6110c0565b906110e3565b905061073c8884866110c0565b61074690826121d4565b9050868111156107565786810391505b509695505050505050565b5f808061078161077988670de0b6b3a76400006121e7565b899087610cf5565b905086156103875761079388886110f7565b91506107b48a8a846107ad8a670de0b6b3a76400006121e7565b8989611083565b92506107c083826121d4565b90509750975097945050505050565b604080516060810182525f808252602082018190529181018290525f6107fc865f01518760200151610bc9565b90505f6108178288604001518960e001518a60a00151610400565b90505f610824888461110b565b9050610833888285858b61122c565b158015604087015290855261084d5793506103a392505050565b5f61085989848a611380565b9050610868898286868c61122c565b1515604087018190529086526108da5760405162461bcd60e51b815260206004820152603160248201527f496e697469616c20677565737320696e206063616c63756c6174654d617853686044820152701bdc9d18081a5cc81a5b9cdbdb1d995b9d607a1b6064820152608401610534565b5f5b87811015610964576108f08a838688611453565b1580156040890152602088019190915261096457602086015186515f91610917919061104d565b61092190846121d4565b9050838111156109315750610964565b61093e8b8288888e61122c565b15801560408a01529088526109555780925061095b565b50610964565b506001016108dc565b5098975050505050505050565b5f805f806109a58688604001518960a00151670de0b6b3a764000061099691906121e7565b8a60c001518b60e001516114d6565b90506109f5876101400151670de0b6b3a76400006109c391906121e7565b6109ef670de0b6b3a76400006109d9818a6110e3565b6109e391906121e7565b6101208b015190611504565b90611504565b9150610a25876101400151670de0b6b3a7640000610a1391906121e7565b61072984670de0b6b3a76400006121d4565b60a0880151909250610a5490610a4d90610a4781670de0b6b3a76400006121e7565b9061104d565b8390610d10565b9150610a718760e001518860c001516110e390919063ffffffff16565b610a7b90836121d4565b9150610a87818361104d565b9150610ab6610a4d8860a00151670de0b6b3a7640000610aa791906121e7565b670de0b6b3a76400009061104d565b9150505f610ad18760e001518361104d90919063ffffffff16565b90505f80610b23896101400151670de0b6b3a7640000610af191906121e7565b610b1d670de0b6b3a7640000610b07818c61104d565b610b1191906121e7565b6101208d0151906110f7565b906110f7565b9050610b7984610b1d610b4b8c60a00151670de0b6b3a76400006110e390919063ffffffff16565b6104108d6101400151670de0b6b3a7640000610b6791906121e7565b610a4787670de0b6b3a76400006121d4565b915050610b908860c001518884610b1d91906121e7565b9450610ba285878a6101200151611518565b818960400151610bb291906121e7565b610bbc91906121e7565b9350505050935093915050565b5f80610bd58484611544565b909250905080610be757610be761157f565b5092915050565b5f80610c1e610c0f610c01866064612219565b66a5bbed86c5a000906110f7565b6748cd4072281e00009061104d565b9050610c32670de0b6b3a76400008261104d565b90506103c581610b1d610c5d610c58610c5389670de0b6b3a76400006121d4565b611093565b611598565b610a47610c58610c728a8a6301e13380610cf5565b610c5390670de0b6b3a76400006121d4565b5f80610c9584610a478a888a610cf5565b905061073c888486610cf5565b5f8080610cc2610cba88670de0b6b3a76400006121e7565b8990876110c0565b9050861561038757610cd48888611504565b91506107b48a8a84610cee8a670de0b6b3a76400006121e7565b89896117c6565b5f825f190484118302158202610d09575f80fd5b5091020490565b5f815f03610d275750670de0b6b3a76400006103c9565b825f03610d3557505f6103c9565b5f610d3f83611093565b90505f610d4e610c5886611093565b9050818102610d65670de0b6b3a764000082612230565b905061026c816117d6565b5f6103a3610d8384846301e133806110c0565b610a4785670de0b6b3a76400006121e7565b5f805f610dae86858a61012001518b6101600151611968565b90505f610dc88960c001518361104d90919063ffffffff16565b60c08a0151610dd890899061104d565b8a51610de491906121d4565b610dee91906121e7565b90505f868a60800151610e0191906121d4565b90505f610e0e8a8261197c565b610e1790612268565b90508a6101000151610e368c60c001518461104d90919063ffffffff16565b610e4091906121d4565b60c08c0151610e5090839061104d565b610e5a90856121d4565b10610eb2576101008b015160c08c0151610e7590849061104d565b60c08d0151610e8590849061104d565b610e8f90866121d4565b610e9991906121e7565b610ea391906121e7565b60019550955050505050610ebd565b5f8095509550505050505b9550959350505050565b5f80610ed586858586611990565b90505f610f1b670b1a2bc2ec500000610b1d610f118a60a00151670de0b6b3a7640000610f0291906121e7565b670de0b6b3a7640000906110e3565b610410868b61104d565b90505f610f30670de0b6b3a7640000836110f7565b610f4c610f4584670de0b6b3a76400006121e7565b87906110f7565b610f5691906121d4565b90506102bf88878784611990565b5f80610f9a848760400151610f868960c001518961104d90919063ffffffff16565b8960a001518a60c001518b60e0015161063c565b9050610fac8584886101200151611518565b61026c90826121e7565b5f80610fc486868686611a91565b909250905080610fd6575f9150611044565b611000610feb84670de0b6b3a76400006121e7565b610120880151610160890151610b1d916110f7565b61100a90836121d4565b915061101e670de0b6b3a7640000836121e7565b9150611041670de0b6b3a76400008760c0015184610cf59092919063ffffffff16565b91505b94509492505050565b5f6103a383670de0b6b3a764000084610cf5565b5f80611071888888888888611bdb565b9092509050806107565761075661157f565b5f80611071888888888888611c91565b5f6001600160ff1b038211156110bc5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f825f1904841183021582026110d4575f80fd5b50910281810615159190040190565b5f6103a383670de0b6b3a7640000846110c0565b5f6103a38383670de0b6b3a7640000610cf5565b5f806111245f8560200151611d4d90919063ffffffff16565b84610100015161113491906121d4565b90505f6111678486604001518760a00151670de0b6b3a764000061115891906121e7565b8860c001518960e001516114d6565b90505f6111b56111a48760a00151670de0b6b3a764000061118891906121e7565b610410611199878b60200151610bc9565b60e08b015190611504565b60e088015160c089015191906110c0565b6111bf90836121e7565b9050670de0b6b3a764000081106111fc576111f56111ee8760a00151670de0b6b3a7640000610aa791906121e7565b8290610d10565b905061121d565b61121a6111ee8760a00151670de0b6b3a7640000610f0291906121e7565b90505b604086015161026c90826121e7565b5f805f80611261878a604001518a8c60a00151670de0b6b3a764000061125291906121e7565b8d60c001518e60e00151611c91565b9150915080611277575f80935093505050610ebd565b5f6112b08a60c001516112968b8a8e61012001518f6101600151611d62565b6112a68c8b8f6101200151611d6e565b61072991906121e7565b9050808310156112c8575f8094509450505050610ebd565b5f6112d382856121e7565b9050808b5f015110156112ef575f809550955050505050610ebd565b8a515f906112fe9083906121e7565b90505f61132b8d60c0015161131c5f8c611d4d90919063ffffffff16565b8f60800151610a4791906121e7565b90508c61010001518161133e91906121d4565b821061136f576101008d015161135482846121e7565b61135e91906121e7565b600197509750505050505050610ebd565b5f8097509750505050505050610ebd565b5f808390505f6113e88661010001516113aa8860c00151896080015161104d90919063ffffffff16565b60c08901516113bd90610a47895f611d4d565b89516113c991906121d4565b6113d391906121e7565b6113dd91906121e7565b60c0880151906110f7565b905061026c61141761140287670de0b6b3a76400006121e7565b6101208901516101608a0151610b1d916110f7565b61143861142c88670de0b6b3a76400006121e7565b6101208a0151906110f7565b61144290856121e7565b61144c91906121d4565b829061104d565b5f805f611461878786611d88565b90505f6114a98860c00151610a478a6101600151670de0b6b3a764000061148891906121e7565b610b1d61149d8b670de0b6b3a76400006121e7565b6101208e0151906110f7565b90508082106114c9576114bc81836121e7565b6001935093505050611044565b5f80935093505050611044565b5f6114e18585610d10565b6114fa6114f286610410868b6110f7565b859085610cf5565b61026c91906121d4565b5f6103a38383670de0b6b3a76400006110c0565b5f6103a0846109ef670de0b6b3a764000061153381886110e3565b61153d91906121e7565b8590611504565b5f805f8361155186611093565b61155b91906121fa565b90505f811215611571575f809250925050611578565b9150600190505b9250929050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f8082136115b95760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906116459084901c611093565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f80611071888888888888611e5a565b5f680248ce36a70cb26b3e1982136117ef57505f919050565b680755bf798b4a1bf1e58212611818576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061026c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611093565b5f61041684610b1d84610b1d898989611518565b5f81831361198a57826103a3565b50919050565b5f8061199c858261197c565b6119a590612268565b90505f611a118760c00151671bc16d674ec800008961010001516119da8b60c001518c6080015161104d90919063ffffffff16565b60c08c01516119ea90889061104d565b8c516119f691906121d4565b611a0091906121e7565b611a0a91906121e7565b9190610cf5565b9050610285611a36670de0b6b3a7640000611a2c818961104d565b61142c91906121e7565b670de0b6b3a7640000611a61611a4c89836121e7565b6101208c01516101608d0151610b1d916110f7565b611a73670de0b6b3a76400008961104d565b611a7d91906121d4565b611a8791906121e7565b61144c91906121e7565b5f805f611aab8760c001518761104d90919063ffffffff16565b90505f611ac6611abb83886121d4565b60e08a0151906110f7565b90505f611af9878a604001518b60a00151670de0b6b3a7640000611aea91906121e7565b8c60c001518d60e001516114d6565b9050611b15610aa78a60a0015184610d1090919063ffffffff16565b94505f611b43611b328b60a0015185610d1090919063ffffffff16565b60e08c015160c08d01519190610cf5565b905080821015611b5c575f809550955050505050611044565b611b92610f45611b888c60a00151670de0b6b3a7640000611b7d91906121e7565b60a08e0151906110e3565b61041084866121e7565b9550611bc0670de0b6b3a7640000611baa818a61104d565b611bb491906121e7565b6101208c0151906110f7565b611bca90876121e7565b9a60019a5098505050505050505050565b5f805f611beb8989888888611f2c565b9050611bfe86610410610f458a8d6121d4565b9850611c0b858a86610cf5565b985088811015611c21575f809250925050611c86565b888103670de0b6b3a76400008110611c4f57611c486111ee670de0b6b3a7640000896110e3565b9050611c67565b611c646111ee670de0b6b3a76400008961104d565b90505b80891015611c7c575f80935093505050611c86565b8803925060019150505b965096945050505050565b5f805f611ca18989888888611f2c565b9050611cb186610410898b6121d4565b975087811015611cc7575f809250925050611c86565b878103611cd58186886110c0565b9050670de0b6b3a76400008110611d0257611cfb6111ee670de0b6b3a7640000896110e3565b9050611d1a565b611d176111ee670de0b6b3a76400008961104d565b90505b611d2481866110e3565b9050808a1015611d3b575f80935093505050611c86565b90980398600198509650505050505050565b5f818313611d5b57816103a3565b5090919050565b5f61041682610b1d8787875b5f6103a0846109ef61153d86670de0b6b3a76400006121e7565b5f80611dab8386604001518760a00151670de0b6b3a764000061115891906121e7565b90505f611dd7610aa7611dcc8860a00151888a6040015161041091906121d4565b60c089015190611504565b90505f611e4e611e038860a00151670de0b6b3a7640000611df891906121e7565b60a08a0151906110e3565b610410611e318a60a00151670de0b6b3a7640000611e2191906121e7565b8a8c6040015161041091906121d4565b611e3b90876121e7565b60c08b015160e08c0151610b1d9161104d565b905061028582826110f7565b5f805f611e6a8989888888611f2c565b905086881015611e80575f809250925050611c86565b9686900396611e8f8887610d10565b975087811015611ea5575f809250925050611c86565b878103611eb38186886110c0565b9050670de0b6b3a76400008110611ee057611ed96111ee670de0b6b3a7640000896110e3565b9050611ef8565b611ef56111ee670de0b6b3a76400008961104d565b90505b611f0281866110e3565b905089811015611f19575f80935093505050611c86565b9890980398600198509650505050505050565b5f611f378585610d10565b6114fa611f4886610410868b611504565b8590856110c0565b5f805f8060808587031215611f63575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f805f60a08688031215611f93575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b604051610180810167ffffffffffffffff81118282101715611fe657634e487b7160e01b5f52604160045260245ffd5b60405290565b5f6101808284031215611ffd575f80fd5b612005611fb6565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f805f6101c0848603121561209a575f80fd5b6120a48585611fec565b9561018085013595506101a0909401359392505050565b5f805f805f8060c087890312156120d0575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f805f60e0888a031215612110575f80fd5b873596506020880135955060408801359450606088013593506080880135925060a0880135915060c08801358015158114612149575f80fd5b8091505092959891949750929550565b5f805f805f805f60e0888a03121561216f575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f80604083850312156121b1575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103c9576103c96121c0565b818103818111156103c9576103c96121c0565b8181035f831280158383131683831282161715610be757610be76121c0565b80820281158282048414176103c9576103c96121c0565b5f8261224a57634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f1984141615612263576122636121c0565b500590565b5f600160ff1b820161227c5761227c6121c0565b505f039056fea26469706673582212208bfc08777a9a04f3b337ab46ccfb98f61996d6b8ac9d9faf7e0ce777cce7cc6364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "calculateAbsoluteMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256)": "a280a282", + "calculateCloseLong(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "94169d49", + "calculateCloseShort(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": "f87845f2", + "calculateEffectiveShareReserves(uint256,int256)": "bc1e1065", + "calculateMaxLong((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "3f77b617", + "calculateMaxShort((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),int256,uint256)": "9e489b99", + "calculateNegativeInterestOnClose(uint256,uint256,uint256,uint256,uint256,uint256,bool)": "7ef99f87", + "calculateOpenLong(uint256,uint256,uint256,uint256,uint256,uint256)": "5e6d9d36", + "calculateOpenShort(uint256,uint256,uint256,uint256,uint256,uint256)": "6ceebe1d", + "calculateShortProceedsDown(uint256,uint256,uint256,uint256,uint256,uint256)": "e7acd3ad", + "calculateShortProceedsUp(uint256,uint256,uint256,uint256,uint256,uint256)": "902b1099", + "calculateSpotAPR(uint256,uint256,uint256,uint256,uint256)": "2810a036", + "calculateSpotPrice(uint256,uint256,uint256,uint256)": "2471caed", + "calculateTimeStretch(uint256,uint256)": "dbab8512" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveTarget0.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget0.ts new file mode 100644 index 000000000..222007443 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget0.ts @@ -0,0 +1,1946 @@ +export const MockHyperdriveTarget0 = { + name: 'MockHyperdriveTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getGovernanceFeesAccrued", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b50604051620040d7380380620040d78339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c73620004645f395f8181610d7b015261233401525f8181610d4c01526122f701525f8181610c2801528181610eab01528181610f3901528181610fc70152818161105501528181611645015281816116db0152818161189d01528181611ebe01528181611f9201526120e301525f610e1301525f8181610ded01526124d901525f8181610dc701526124b301525f8181610da1015261248d01525f61116001525f61113a01525f61111401525f6110ee01525f8181610e8501526124ff01525f8181610e39015281816112d20152612a0201525f8181610e5f0152612e2601525f81816106110152610d1d01525f818161073b01528181610cee0152818161128801528181611e36015281816125c001528181612609015281816126b6015281816126ff01528181612b5c01528181612c0501528181612ceb0152612d940152613c735ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104e7578063d8165743146104fa578063e44808bc1461050f578063e985e9c514610522578063fba5600814610535575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad1461042a578063c6e6f592146104d4575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637ecebe00146104175780638e67f87e1461042a578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a61024536600461305e565b610564565b60405161025791906130c2565b60405180910390f35b61027361026e3660046130e8565b61059b565b005b610273610283366004613110565b6105a4565b61024a6105ad565b61024a6105ec565b6102a0610603565b6040516001600160a01b039091168152602001610257565b6102736102c6366004613139565b610642565b6102736102d936600461320a565b61065e565b6102736102ec366004613299565b610674565b6103046102ff36600461305e565b610687565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b6103496103443660046132de565b6106f0565b604051908152602001610257565b61035f610735565b60405160ff9091168152602001610257565b61034961037f36600461331d565b6107cd565b610349610805565b61034961039a36600461334b565b610823565b6103b26103ad3660046130e8565b61082d565b6040519015158152602001610257565b61024a6103d036600461305e565b61084c565b6102736103e3366004613382565b61085a565b61024a6108a8565b6103f86108dd565b60405161025791906133c9565b61027361041336600461346a565b5050565b6103496104253660046130e8565b610bd6565b610349610c01565b6102a0610c1a565b610273610448366004613496565b610c59565b61027361045b36600461346a565b610c6a565b61027361046e3660046130e8565b50565b610479610cd5565b60405161025791906134cb565b61034961049436600461305e565b611195565b6103496104a736600461305e565b6111a2565b6104bf6104ba3660046135f1565b6111c3565b6040516102579190613630565b6102a061127a565b6103496104e236600461305e565b6112b9565b6103496104f536600461305e565b6112c6565b6105026112fc565b6040516102579190613673565b61027361051d366004613784565b611407565b6103b26105303660046137df565b61144f565b61053d611492565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b6060610596610572836114f0565b60405160200161058291906130c2565b604051602081830303815290604052611616565b919050565b61046e8161163a565b61046e8161189b565b60606105e96040518060400160405280600e81526020016d4d6f636b4879706572647269766560901b81525060405160200161058291906130c2565b90565b60606105e96001604051602001610582919061380b565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b6106538989898989898989896119b3565b505050505050505050565b61066c868686868686611ba5565b505050505050565b6106818484848433611c58565b50505050565b604080516060810182525f808252602082018190529181019190915261059660085f8481526020019081526020015f20604051602001610582919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261072e9101610582565b9392505050565b5f6105e97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610795573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b991906138b8565b6040805160ff909216602083015201610582565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107ff9101610582565b92915050565b5f6105e9610811611e13565b60405160200161058291815260200190565b5f6107ff82611ea9565b5f61059661083a836120df565b60408051911515602083015201610582565b6060610596610572836121bd565b83610864816122b9565b6001600160a01b0316336001600160a01b03161461089557604051632aab8bd360e01b815260040160405180910390fd5b6108a185858585612376565b5050505050565b60606105e960405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058291906130c2565b610947604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109506123e2565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109ba91906138fb565b6109c4919061390e565b90505f8215610ad35773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109f0856123f4565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac39190613921565b509050610ad0818461257e565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610ba357610b9e8486612592565b610ba5565b5f5b81526003546001600160801b0316602091820152604051919250610bcf91610582918491016133c9565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105969101610582565b5f6105e960095460405160200161058291815260200190565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b610c6583838333612376565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cdd612f8a565b6105e96040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f29919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb7919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611021573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611045919061394f565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d3919061394f565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058291906134cb565b5f610596610811836125a6565b5f818152600b60209081526040808320548151928301526105969101610582565b60605f8267ffffffffffffffff8111156111df576111df61396a565b604051908082528060200260200182016040528015611208578160200160208202803683370190505b5090505f5b8381101561125e575f8585838181106112285761122861397e565b9050602002013590505f81549050808484815181106112495761124961397e565b6020908102919091010152505060010161120d565b50611273816040516020016105829190613630565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105e99101610582565b5f6105966108118361269c565b5f6105966108116112f77f0000000000000000000000000000000000000000000000000000000000000000856138fb565b612782565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105e96002604051602001610582919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b84611411816122b9565b6001600160a01b0316336001600160a01b03161461144257604051632aab8bd360e01b815260040160405180910390fd5b61066c8686868686611c58565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107ff9101610582565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105e990606001610582565b606060f882901c6001600160f81b0383165f61150b826127c2565b90505f836003811115611520576115206138d3565b03611552576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061160e565b6001836003811115611566576115666138d3565b03611592578060405160200161157c9190613992565b604051602081830303815290604052935061160e565b60028360038111156115a6576115a66138d3565b036115bc578060405160200161157c91906139ca565b60038360038111156115d0576115d06138d3565b0361160e576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161163191906130c2565b60405180910390fd5b611642612874565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c3919061394f565b9050336001600160a01b0382161480159061176f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611735573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611759919061394f565b6001600160a01b0316336001600160a01b031614155b8015611781575061177f336120df565b155b1561179e576040516282b42960e81b815260040160405180910390fd5b5f6117a7611e13565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613a03565b90506118286001600160a01b038516848361289c565b81611831611e13565b1461184f576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191b919061394f565b6001600160a01b0316336001600160a01b0316141580156119425750611940336120df565b155b1561195f576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119a890831515815260200190565b60405180910390a150565b834211156119d45760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119fb5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ae5573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b2357604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611bc257506001600160a01b038516155b15611be05760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c005760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c4f57611c47858583818110611c1f57611c1f61397e565b905060200201358888868686818110611c3a57611c3a61397e565b9050602002013533611c58565b600101611c02565b50505050505050565b6001600160a01b0384161580611c7557506001600160a01b038316155b15611c935760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d53576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d53575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d51575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d4b90849061390e565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d8490849061390e565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611dba9084906138fb565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ea4906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611e7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e9f9190613a03565b61269c565b905090565b5f611eb2612874565b611ebb826128ee565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f3c919061394f565b90506001600160a01b038116611f5560208501856130e8565b6001600160a01b031614611f7c57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061202657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612010919061394f565b6001600160a01b0316336001600160a01b031614155b80156120385750612036336120df565b155b15612055576040516282b42960e81b815260040160405180910390fd5b5f61205e6123e2565b600980545f909155909150612074818387612923565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a603836185846120b360408a0160208b01613110565b60408051938452602084019290925215159082015260600160405180910390a250505061059660015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561213c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121639190810190613a1a565b90505f5b81518110156121b457836001600160a01b031682828151811061218c5761218c61397e565b60200260200101516001600160a01b0316036121ac575060019392505050565b600101612167565b505f9392505050565b606060f882901c6001600160f81b0383165f6121d8826127c2565b90505f8360038111156121ed576121ed6138d3565b0361221f576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061160e565b6001836003811115612233576122336138d3565b03612249578060405160200161157c9190613ada565b600283600381111561225d5761225d6138d3565b03612273578060405160200161157c9190613b11565b6003836003811115612287576122876138d3565b0361160e57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ea4670de0b6b3a76400006125a6565b61244c6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161254491166129b9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612576929004166129b9565b905292915050565b5f61072e8383670de0b6b3a7640000612a2d565b5f61072e83670de0b6b3a764000084612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125f457504761267d565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612656573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267a9190613a03565b90505b600f545f0361268c575f61072e565b600f5461072e9084908390612a2d565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126ea575047612773565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561274c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127709190613a03565b90505b600f5461072e90849083612a2d565b5f6127a7600b5f612794600286612a48565b81526020019081526020015f2054612a7c565b6127b8600b5f612794600187612a48565b6107ff9190613b3c565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612866576127fb600a86613b6f565b6128069060306138fb565b60f81b826001612816848761390e565b612820919061390e565b815181106128305761283061397e565b60200101906001600160f81b03191690815f1a9053508061285081613b82565b915061285f9050600a86613b9a565b94506127ea565b918290030190815292915050565b60025f540361289657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c65908490612aa9565b5f6128fc60208301836130e8565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061292f858561257e565b905061293a8161269c565b9450845f0361294c575f91505061072e565b84915061295f6040840160208501613110565b1561298e576129878561297560208601866130e8565b6129826040870187613bad565b612b0a565b91506129b1565b6129b18561299f60208601866130e8565b6129ac6040870187613bad565b612c9a565b509392505050565b5f80670de0b6b3a76400006129cc612e1f565b6129d69190613bf0565b90508083116129e5575f6129ef565b6129ef818461390e565b915061072e612a26670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bf0565b8390612592565b5f825f190484118302158202612a41575f80fd5b5091020490565b5f6001600160f81b03821115612a715760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612aa55760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612abd6001600160a01b03841683612e4a565b905080515f14158015612ae1575080806020019051810190612adf9190613c07565b155b15610c6557604051635274afe760e01b81526001600160a01b0384166004820152602401611631565b5f600f548511612b1a5784612b1e565b600f545b94505f612b2a866125a6565b905085600f5f828254612b3d919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612bdf576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612bcf576040519150601f19603f3d011682016040523d82523d5f602084013e612bd4565b606091505b505080915050612c72565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6f9190613c07565b90505b80612c90576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612ca95783612cad565b600f545b93505f612cb9856125a6565b905084600f5f828254612ccc919061390e565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612d6e576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612d5e576040519150601f19603f3d011682016040523d82523d5f602084013e612d63565b606091505b505080915050612e01565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612dda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dfe9190613c07565b90505b8061066c576040516312171d8360e31b815260040160405180910390fd5b5f611ea4427f0000000000000000000000000000000000000000000000000000000000000000612e57565b606061072e83835f612e6c565b5f612e628284613b6f565b61072e908461390e565b606081471015612e915760405163cd78605960e01b8152306004820152602401611631565b5f80856001600160a01b03168486604051612eac9190613c22565b5f6040518083038185875af1925050503d805f8114612ee6576040519150601f19603f3d011682016040523d82523d5f602084013e612eeb565b606091505b5091509150612efb868383612f05565b9695505050505050565b606082612f1a57612f1582612f61565b61072e565b8151158015612f3157506001600160a01b0384163b155b15612f5a57604051639996b31560e01b81526001600160a01b0385166004820152602401611631565b508061072e565b805115612f715780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161305960405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561306e575f80fd5b5035919050565b5f5b8381101561308f578181015183820152602001613077565b50505f910152565b5f81518084526130ae816020860160208601613075565b601f01601f19169290920160200192915050565b602081525f61072e6020830184613097565b6001600160a01b038116811461046e575f80fd5b5f602082840312156130f8575f80fd5b813561072e816130d4565b801515811461046e575f80fd5b5f60208284031215613120575f80fd5b813561072e81613103565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215613152575f80fd5b8935985060208a0135975060408a013561316b816130d4565b965060608a013561317b816130d4565b955060808a013561318b81613103565b945060a08a0135935060c08a01356131a28161312b565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126131d2575f80fd5b50813567ffffffffffffffff8111156131e9575f80fd5b6020830191508360208260051b8501011115613203575f80fd5b9250929050565b5f805f805f806080878903121561321f575f80fd5b863561322a816130d4565b9550602087013561323a816130d4565b9450604087013567ffffffffffffffff80821115613256575f80fd5b6132628a838b016131c2565b9096509450606089013591508082111561327a575f80fd5b5061328789828a016131c2565b979a9699509497509295939492505050565b5f805f80608085870312156132ac575f80fd5b8435935060208501356132be816130d4565b925060408501356132ce816130d4565b9396929550929360600135925050565b5f805f606084860312156132f0575f80fd5b833592506020840135613302816130d4565b91506040840135613312816130d4565b809150509250925092565b5f806040838503121561332e575f80fd5b823591506020830135613340816130d4565b809150509250929050565b5f6020828403121561335b575f80fd5b813567ffffffffffffffff811115613371575f80fd5b82016060818503121561072e575f80fd5b5f805f8060808587031215613395575f80fd5b8435935060208501356133a7816130d4565b92506040850135915060608501356133be816130d4565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561347b575f80fd5b8235613486816130d4565b9150602083013561334081613103565b5f805f606084860312156134a8575f80fd5b8335925060208401356134ba816130d4565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516134f760208401826001600160a01b03169052565b50604083015161351260408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613584828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613602575f80fd5b823567ffffffffffffffff811115613618575f80fd5b613624858286016131c2565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156136675783518352928401929184019160010161364b565b50909695505050505050565b81516001600160801b031681526101808101602083015161369f60208401826001600160801b03169052565b5060408301516136ba60408401826001600160801b03169052565b5060608301516136d560608401826001600160801b03169052565b5060808301516136ea6080840182600f0b9052565b5060a083015161370560a08401826001600160801b03169052565b5060c083015161372060c08401826001600160801b03169052565b5060e083015161373b60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526135e9565b5f805f805f60a08688031215613798575f80fd5b8535945060208601356137aa816130d4565b935060408601356137ba816130d4565b92506060860135915060808601356137d1816130d4565b809150509295509295909350565b5f80604083850312156137f0575f80fd5b82356137fb816130d4565b91506020830135613340816130d4565b5f60208083525f84545f60018260011c9150600183168061382d57607f831692505b60208310810361384b57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561386a5760018114613880576138a9565b60ff198616825284151560051b820196506138a9565b5f8b8152602090205f5b868110156138a35781548482015290850190890161388a565b83019750505b50949998505050505050505050565b5f602082840312156138c8575f80fd5b815161072e8161312b565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107ff576107ff6138e7565b818103818111156107ff576107ff6138e7565b5f8060408385031215613932575f80fd5b82519150602083015161334081613103565b8051610596816130d4565b5f6020828403121561395f575f80fd5b815161072e816130d4565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516139bd816011850160208701613075565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516139f6816012850160208701613075565b9190910160120192915050565b5f60208284031215613a13575f80fd5b5051919050565b5f6020808385031215613a2b575f80fd5b825167ffffffffffffffff80821115613a42575f80fd5b818501915085601f830112613a55575f80fd5b815181811115613a6757613a6761396a565b8060051b604051601f19603f83011681018181108582111715613a8c57613a8c61396a565b604052918252848201925083810185019188831115613aa9575f80fd5b938501935b82851015613ace57613abf85613944565b84529385019392850192613aae565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613b04816010850160208701613075565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516139bd816011850160208701613075565b8181035f831280158383131683831282161715611273576112736138e7565b634e487b7160e01b5f52601260045260245ffd5b5f82613b7d57613b7d613b5b565b500690565b5f60018201613b9357613b936138e7565b5060010190565b5f82613ba857613ba8613b5b565b500490565b5f808335601e19843603018112613bc2575f80fd5b83018035915067ffffffffffffffff821115613bdc575f80fd5b602001915036819003821315613203575f80fd5b80820281158282048414176107ff576107ff6138e7565b5f60208284031215613c17575f80fd5b815161072e81613103565b5f8251613c33818460208701613075565b919091019291505056fea264697066735822122021b09f56eae2e6401e682ea513847aab1fe9991d765a55efc881bef2565b0f3b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getGovernanceFeesAccrued()": "8e67f87e", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveTarget1.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget1.ts new file mode 100644 index 000000000..d28ab8ddf --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget1.ts @@ -0,0 +1,952 @@ +export const MockHyperdriveTarget1 = { + name: 'MockHyperdriveTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004103380380620041038339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c666200049d5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612f3c01525f818161139301528181611791015281816117f401528181612b2501528181612b6101528181612d590152612f1601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612ef001525f611ba501525f8181611cc601528181612307015261237f01525f81816108a901528181610f4301528181611c9a015261235301525f8181610e3e01526122cd01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612f6201525f81816107e701528181610ec4015281816116ef015281816121a6015261348601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f8181611984015281816119cd015281816125e30152818161262c01528181612701015281816127aa0152818161289001526129390152613c665ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613716565b610070565b60405190815260200160405180910390f35b61004b61006b366004613716565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613784565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613797565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836137ca565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016137f2565b6102bd8a6102b78d8f613784565b90611584565b8d6102cb60408c018c61380d565b6040516102df989796959493929190613878565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613784565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836138bf565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836137ca565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016137f2565b8a61050260408b018b61380d565b60405161051597969594939291906138e6565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836137ca565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611a60565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613784565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a75565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b92505b5061073e83611aab565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613926565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613784565b4290611ad4565b8461102b565b6107db88611ae8565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613926565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c85565b915091508060095f8282546108789190613784565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613784565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d52565b91506108e16108dc8385611584565b611d9b565b600680546002906109029084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611aab565b60068054601090610951908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c85565b915091508060095f8282546109c49190613784565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613926565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613939565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611aab565b60068054601090610a68908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613797565b5f61134e565b8e610ac58482611dc4565b50505b5f610ad284611fb3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613979565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120f5565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613926565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a75565b90505f610d5f8a61217b565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121ca565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612239565b612268565b15610e7457610e746113ec565b5f805f610e8385878b876122a9565b9c5091945092509050610e968184613926565b610ea09089613784565b9750610eac8284613784565b610eb6908d613784565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613926565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d52565b9950610f73878a613926565b9850670de0b6b3a7640000610ff0610f8b8787613784565b600254610fa9908f90600160801b90046001600160801b0316613926565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6123bb565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613926565b6110d19190613994565b85670de0b6b3a76400006110e5878a613926565b6110ef9190613994565b859291906001612457565b611aab565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611aab565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613994565b600554600160801b90046001600160801b031691908a5f612457565b600580546001600160801b03928316600160801b0292169190911790556111d286611aab565b6111dc90826139ab565b600480546001600160801b03928316600160801b02921691909117905561120284611aab565b600280545f9061121c9084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611249836124fd565b600480545f9061125d908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611aab565b600280546010906112af908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613797565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612538565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361259a565b6003546113ce91906001600160801b0316613784565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611dc4565b5f805f61141d84611ae8565b90925090505f61142d8686611584565b905081831115611445576114428683856125ae565b95505b8281101561145757808303925061145b565b5f92505b61146483611d9b565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611aab565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816125c9565b9450845f03611516575f91505061157d565b84915061152960408401602085016137f2565b15611558576115518561153f60208601866137ca565b61154c604087018761380d565b6126af565b915061157b565b61157b8561156960208601866137ca565b611576604087018761380d565b61283f565b505b9392505050565b5f61157d8383670de0b6b3a76400006125ae565b5f805f805f805f806115a8611a75565b90505f6115b48a61217b565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006129cc565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a95565b985061169a84878b886122a9565b9c5091945090925090506116ae8284613926565b6116b89089613926565b97506116c48184613784565b6116ce908e613926565b9c506116da8a8e613784565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613926565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016123bb565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613926565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613797565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612a1f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613994565b6005546001600160801b031691908c5f612457565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613926565b90506118a281611aab565b600380546001600160801b03928316600160801b0292169190911790556118c883611aab565b600280546001600160801b0319166001600160801b03929092169190911790556118f1826124fd565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611aab565b6002805460109061193c908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119b8575047611a41565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a3e91906139f8565b90505b600f545f03611a50575f61157d565b600f5461157d90849083906125ae565b5f611a6b8284613a23565b61157d9084613926565b6002546004545f916105a6916001600160801b0390911690600f0b612a1f565b5f61007d82611aa58588886125ae565b90612a44565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611ae2578261157d565b50919050565b6006545f908190611b0a908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c80575f611b338383613926565b9050611b426110fa8286612ab3565b60068054601090611b64908490600160801b90046001600160801b03166139ab565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b9c8583612ac790919063ffffffff16565b90505f611bc9827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611bdc9190613784565b90915550611bec90508183613926565b9150611bf782611aab565b600280545f90611c119084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3e82612adb565b600480545f90611c52908490600f0b6139cb565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c918785612ac7565b91505f611cbe837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611cea817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d0d57611cfc8282613926565b611d069084613926565b9250611d24565b611d178282613926565b611d219084613784565b92505b86861015611d4757611d378387896125ae565b9250611d448287896125ae565b91505b509550959350505050565b5f80611d6984611d638a888a6125ae565b90612ac7565b9050611d768884866125ae565b611d809082613784565b905086811115611d905786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e0e916001600160801b031690613926565b9050805f03611e2157600191505061131b565b5f611e2b85612b04565b9050805f03611e3f5760019250505061131b565b5f80611e4c838589612b9f565b9150915080611e61575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e9c929190613ab4565b6040805180830381865af4158015611eb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eda9190613b29565b91509150611ef8611eea82611321565b611ef390613b4b565b612d13565b925082611f0d575f965050505050505061131b565b611f1682611aab565b600780545f90611f309084906001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5d81611aab565b60078054601090611f7f908490600160801b90046001600160801b0316613959565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fda87612ea7565b6040518263ffffffff1660e01b8152600401611ff69190613b65565b6040805180830381865af4158015612010573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120349190613b74565b915091508061204957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120ae91613784565b6120b89190613926565b9050805f036120ce57505f958695509350505050565b5f8087116120dc575f6120e7565b6120e78488846125ae565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561211857612118613ba2565b6040519080825280601f01601f191660200182016040528015612142576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612162578692505b828152825f602083013e90999098509650505050505050565b5f806121856105ab565b9050808311612194575f61219e565b61219e8184613926565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612ac7565b5f80806121ea6121e288670de0b6b3a7640000613926565b899087612fe1565b9050861561222c576121fc888861259a565b915061221d8a8a846122168a670de0b6b3a7640000613926565b8989613004565b92506122298382613784565b90505b9750975097945050505050565b5f61225661224f84670de0b6b3a7640000613926565b839061259a565b61157d90670de0b6b3a7640000613926565b5f8061229e85612276611a75565b6122809190613784565b600254610fa9908790600160801b90046001600160801b0316613926565b909210949350505050565b5f8080806122ff87866122f88b6122f26122cb8c670de0b6b3a7640000613926565b7f00000000000000000000000000000000000000000000000000000000000000009061259a565b9061259a565b9190612fe1565b935061232b847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61234b61234389670de0b6b3a7640000613926565b8a9088612fe1565b9050612377817f000000000000000000000000000000000000000000000000000000000000000061259a565b93506123a3847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123ad9084613784565b915050945094509450949050565b5f805f805f80888810156124275786156123dd576123da8d898b6125ae565b9c505b6123e88c898b6125ae565b9b506123f38b611321565b6123fc8d611321565b6124069190613797565b90506124138b898b6125ae565b9a506124208a898b6125ae565b9950612446565b6124308b611321565b6124398d611321565b6124439190613797565b90505b9b9c9a9b999a975050505050505050565b5f825f036124665750846124f4565b81156124b8576124976124798487613784565b6124838587611584565b61248d888a611584565b611d639190613784565b90505f6124a48588611ad4565b9050808210156124b2578091505b506124f4565b8285036124c657505f6124f4565b6124f16124d38487613926565b6124dd858761259a565b6124e7888a611584565b611d639190613926565b90505b95945050505050565b5f60016001607f1b031982128061251a575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612544845f613026565b61254e845f613026565b6125589190613797565b90505f8113156125735761256c8186613784565b9450612591565b5f8112156125915761258481613b4b565b61258e9086613926565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612fe1565b5f825f1904841183021582026125c2575f80fd5b5091020490565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016126175750476126a0565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612679573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269d91906139f8565b90505b600f5461157d908490836125ae565b5f600f5485116126bf57846126c3565b600f545b94505f6126cf8661196a565b905085600f5f8282546126e29190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612784576040516001600160a01b0387169083905f81818185875af1925050503d805f8114612774576040519150601f19603f3d011682016040523d82523d5f602084013e612779565b606091505b505080915050612817565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156127f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128149190613bb6565b90505b80612835576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f54841161284e5783612852565b600f545b93505f61285e8561196a565b905084600f5f8282546128719190613926565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612913576040516001600160a01b0386169083905f81818185875af1925050503d805f8114612903576040519150601f19603f3d011682016040523d82523d5f602084013e612908565b606091505b5050809150506129a6565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561297f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a39190613bb6565b90505b806129c4576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f80806129ec6129e488670de0b6b3a7640000613926565b8990876125ae565b9050861561222c576129fe8888611584565b915061221d8a8a84612a188a670de0b6b3a7640000613926565b898961303b565b5f80612a2b848461304b565b909250905080612a3d57612a3d6113ec565b5092915050565b5f815f03612a5b5750670de0b6b3a764000061131b565b825f03612a6957505f61131b565b5f612a7383611321565b90505f612a87612a8286611321565b613086565b9050818102612a9e670de0b6b3a764000082613bd1565b9050612aa9816132ab565b9695505050505050565b5f61157d83670de0b6b3a764000084612fe1565b5f61157d83670de0b6b3a7640000846125ae565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612b1e906001600160801b031684612ab3565b9050612b4a7f000000000000000000000000000000000000000000000000000000000000000082613784565b6002546001600160801b03161115611ae2576002547f000000000000000000000000000000000000000000000000000000000000000090612b959083906001600160801b0316613926565b61157d9190613926565b612ba7613677565b5f80612bb284612ea7565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612bec9190613b65565b6040805180830381865af4158015612c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c2a9190613b74565b9350905082612c3e57505f9150612d0b9050565b5f612c64612c5f84610160015185610140015161158490919063ffffffff16565b611321565b612c84612c5f85610120015186610100015161259a90919063ffffffff16565b612c8e9190613797565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612dc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ded9190613bfd565b935093509350935080612e0857505f98975050505050505050565b868414612e3957612e1884611aab565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612e6a57612e49836124fd565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e9857612e7a82611aab565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612eaf6136c1565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612fa7911661343d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612fd99290041661343d565b905292915050565b5f825f190484118302158202612ff5575f80fd5b50910281810615159190040190565b5f806130148888888888886134b1565b909250905080611d9057611d906113ec565b5f818313613034578161157d565b5090919050565b5f8061301488888888888861358d565b5f805f8361305886611321565b6130629190613797565b90505f811215613078575f80925092505061307f565b9150600190505b9250929050565b5f8082136130a75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061312a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132c457505f919050565b680755bf798b4a1bf1e582126132ed576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612aa974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006134506105ab565b61345a9190613994565b9050808311613469575f613473565b6134738184613926565b915061157d6134aa670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613994565b8390612ac7565b5f805f6134c18989888888613649565b9050868810156134d7575f809250925050613582565b96869003966134e68887612a44565b9750878110156134fc575f809250925050613582565b87810361350a818688612fe1565b9050670de0b6b3a7640000811061353e57613537613530670de0b6b3a764000089612ab3565b8290612a44565b9050613556565b613553613530670de0b6b3a764000089612ac7565b90505b6135608186612ab3565b905089811015613577575f80935093505050613582565b899003925060019150505b965096945050505050565b5f805f61359d8989888888613649565b90506135ad86611aa5898b613784565b9750878110156135c3575f809250925050613582565b8781036135d1818688612fe1565b9050670de0b6b3a764000081106135fe576135f7613530670de0b6b3a764000089612ab3565b9050613616565b613613613530670de0b6b3a764000089612ac7565b90505b6136208186612ab3565b9050808a1015613637575f80935093505050613582565b90980398600198509650505050505050565b5f6136548585612a44565b61366d61366586611aa5868b61259a565b859085612fe1565b6124f19190613784565b60405180610120016040528061368b6136c1565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613729575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613754575f80fd5b850160608188031215613765575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613770565b8181035f831280158383131683831282161715612a3d57612a3d613770565b6001600160a01b0381168114610591575f80fd5b5f602082840312156137da575f80fd5b813561157d816137b6565b8015158114610591575f80fd5b5f60208284031215613802575f80fd5b813561157d816137e5565b5f808335601e19843603018112613822575f80fd5b83018035915067ffffffffffffffff82111561383c575f80fd5b60200191503681900382131561307f575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6138b160e083018486613850565b9a9950505050505050505050565b8082018281125f8312801582168215821617156138de576138de613770565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61391960c083018486613850565b9998505050505050505050565b8181038181111561131b5761131b613770565b6001600160701b03818116838216019080821115612a3d57612a3d613770565b6001600160801b03818116838216019080821115612a3d57612a3d613770565b5f60208284031215613989575f80fd5b815161157d816137b6565b808202811582820484141761131b5761131b613770565b6001600160801b03828116828216039080821115612a3d57612a3d613770565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613770565b5f60208284031215613a08575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a3157613a31613a0f565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ac7828551613a36565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b3a575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b5f57613b5f613770565b505f0390565b610180810161131b8284613a36565b5f8060408385031215613b85575f80fd5b825191506020830151613b97816137e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613bc6575f80fd5b815161157d816137e5565b5f82613bdf57613bdf613a0f565b600160ff1b82145f1984141615613bf857613bf8613770565b500590565b5f805f8060808587031215613c10575f80fd5b8451935060208501519250604085015191506060850151613765816137e556fea264697066735822122034da2b5732f62280d0c6e2269d467a1f7828d6d5aff85ef3b012edddfc43472564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveTarget2.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget2.ts new file mode 100644 index 000000000..250bba287 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget2.ts @@ -0,0 +1,972 @@ +export const MockHyperdriveTarget2 = { + name: 'MockHyperdriveTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004390380380620043908339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ebb620004d55f395f50505f50505f610c7301525f50505f818160f901528181610302015261315701525f81816115f9015281816120f501528181612158015281816128df01528181612d4701528181612d8301528181612f74015261313101525f818161083101528181610dcd01528181610e0f01528181610f0101528181611367015281816113c50152818161199c01528181611a2b015261310b01525f611d1f01525f8181611e40015281816129d001528181612a48015261326f01525f81816109ee01528181610e820152818161146001528181611e140152612a1c01525f8181610e610152818161299c015261322b01525f818161085201528181610dab01528181610e3001528181610f2201528181611345015281816113e6015261317d01525f81816101d3015281816103960152818161092c01526136f301525f81816106f20152818161076e015281816107e2015281816108ad01526108e501525f50505f818161055b015281816114c901528181611512015281816117a1015281816117ea01528181611879015281816118fa01528181611a9601528181611b1701528181612b2f0152612b780152613ebb5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a36600461396b565b61006b565b6040805192835260208301919091520160405180910390f35b61003f61006636600461396b565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d9836105c5565b5f806100e588866105fd565b90925090505f6100f583836106ce565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106eb565b905061017281846004600161071b565b505f805f6101808787610d7f565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd91906139d9565b909155506101ce9050844283610f5e565b6101f87f0000000000000000000000000000000000000000000000000000000000000000856139d9565b98506102068389888c611097565b5f61021260018b61122e565b905061022b8161022560208e018e613a00565b8b611262565b8d8a8a898e8561023e6020830183613a00565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613a28565b8961028960408a018a613a43565b60405161029c9796959493929190613aae565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b610300836105c5565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a611307565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106eb565b90505f61038e6103846106eb565b846004600161071b565b90505f6103bb7f0000000000000000000000000000000000000000000000000000000000000000846139d9565b90505f805f806103cc8e8988611319565b60098054949850929650909450925083915f906103ea9084906139d9565b909155506103fb9050874283610f5e565b61040d610408858a61149b565b6114af565b6104189060016139d9565b9350505f61042784898d6115ac565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105fd565b508e905061046481858b896115d3565b5f61047060028861122e565b90508c61048a826104846020840184613a00565b85611262565b858b868461049b6020860186613a00565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613a28565b6104ec896104e68a8d613aee565b906106ce565b8d6104fa60408e018e613a43565b60405161050e989796959493929190613b01565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906105a557503415155b156105c357604051631574f9f360e01b815260040160405180910390fd5b565b5f6105d36020830183613a00565b6001600160a01b0316036105fa5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806106106040850160208601613a28565b156106355761062b856106266040870187613a43565b611786565b909350905061064d565b503461064d856106486040870187613a43565b611a10565b610655611307565b915080156106c5576040515f90339083908381818185875af1925050503d805f811461069c576040519150601f19603f3d011682016040523d82523d5f602084013e6106a1565b606091505b50509050806106c3576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106e28383670de0b6b3a7640000611bb2565b90505b92915050565b5f610716427f0000000000000000000000000000000000000000000000000000000000000000611bcd565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074257504286115b1561075b57600101546001600160801b03169050610d77565b5f805f6107666106eb565b90505f6107937f00000000000000000000000000000000000000000000000000000000000000008b6139d9565b90505b81811015610807575f818152600860205260409020600101546001600160801b031680156107df575f828152600860205260409020549094506001600160801b03169250610807565b507f000000000000000000000000000000000000000000000000000000000000000001610796565b835f036108795788935061087661081c611be2565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b92505b5061088383611c21565b6001850180546001600160801b0319166001600160801b03929092169190911790556108d96108d27f00000000000000000000000000000000000000000000000000000000000000008b613aee565b8a84610f5e565b6109178961091161090a7f0000000000000000000000000000000000000000000000000000000000000000836139d9565b4290611c4e565b84610f5e565b61092088611c62565b505f90506008816109517f00000000000000000000000000000000000000000000000000000000000000008d613aee565b815260208101919091526040015f908120600101546001600160801b0316915061097c60028c61122e565b5f818152600b60205260408120549192508c8c8315610abd57600192505f806109a886898d865f611dff565b915091508060095f8282546109bd91906139d9565b909155506109d89050865f846109d281611ecc565b88611ef5565b6109e281836139d9565b9150610a1286838a8e877f000000000000000000000000000000000000000000000000000000000000000061206c565b9150610a26610a2183856106ce565b6120b5565b60068054600290610a479084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7482611c21565b60068054601090610a96908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ac960018461122e565b5f818152600b60205260409020549091508015610bd457600194505f80610af4838b8f886001611dff565b915091508060095f828254610b0991906139d9565b90915550610b249050835f84610b1e81611ecc565b8a6120de565b610b2e8183613aee565b9150610b3d610a2183876106ce565b60068054600290610b5e9084906201000090046001600160701b0316613b48565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b8b82611c21565b60068054601090610bad908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c0d57610bff610be687611ecc565b610bef83611ecc565b610bf99190613b88565b5f6122ce565b8e610c0a848261230d565b50505b5f610c17846124fc565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf19190613ba7565b90506001600160a01b03811615610d6557610d625a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061263e565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d8c611be2565b600254909150610df1908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006126c4565b600254909450610e54908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b9150610eab8785610ea6857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006126ef565b612753565b15610eb857610eb8612794565b610ec4878588856127ad565b91965094509250670de0b6b3a7640000610f46610ee187846139d9565b600254610eff908890600160801b90046001600160801b0316613aee565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b1115610f5457610f54612794565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f895750505050565b5f848152600860205260408120546001600160801b031690819003610fe157610fb183611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561105e565b61103261102d670de0b6b3a7640000610ffa8886613aee565b6110049190613bc2565b85670de0b6b3a7640000611018878a613aee565b6110229190613bc2565b8592919060016127f5565b611c21565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106784611c21565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110d961102d826110c3670de0b6b3a764000086613bc2565b6005546001600160801b031691908860016127f5565b600580546001600160801b0319166001600160801b039290921691909117905561110285611c21565b600280545f9061111c9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114984611c21565b6002805460109061116b908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061119884611c21565b6111a29082613b68565b600380546001600160801b03808416600160801b02911617905590505f6111c883612899565b90506111e6816111d787611ecc565b6111e19084613bf9565b6122ce565b6111ef846128d9565b6111fb576111fb612794565b5f61120585612938565b90508061122557604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156112575760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112939084906139d9565b90915550505f838152600b6020526040812080548392906112b59084906139d9565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f610716670de0b6b3a76400006114af565b5f805f805f611326611be2565b60025490915061138b908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612944565b9350876113988589612964565b11156113a6576113a6612794565b6002545f90819061140a908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611c02565b93506114208a670de0b6b3a7640000868c612978565b5091935090915061143390508183613aee565b61143d9087613aee565b95508861148a816114848d611452868c613aee565b8d61145d8782612a84565b877f0000000000000000000000000000000000000000000000000000000000000000612a99565b90612964565b975090945050505093509350935093565b5f6106e283670de0b6b3a764000084612ab9565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016114fd575047611586565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561155f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115839190613c20565b90505b600f545f03611595575f6115a5565b600f546115a59084908390611bb2565b9392505050565b5f6115bd6040830160208401613a28565b156115c95750826115a5565b610d778484612adc565b6002546001600160801b0316838110156115ef576115ef612794565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611627908390600f0b612af0565b101561163557611635612794565b60045461167f9061102d90600160801b90046001600160801b0316611662670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908960016127f5565b600580546001600160801b03928316600160801b0292169190911790556116a581611c21565b600280546001600160801b0319166001600160801b03929092169190911790556116ce85611c21565b600280546010906116f0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061171d85611c21565b6004805460109061173f908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61176d83612899565b90506111e68161177c88611ecc565b6111e19084613b88565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016117d557504761185e565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190613c20565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016118d857873410156118c7576040516312171d8360e31b815260040160405180910390fd5b6118d18834613aee565b905061196f565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190613c37565b91505b8161198d576040516312171d8360e31b815260040160405180910390fd5b600f545f036119d1576119c0887f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f81905594509250611a08915050565b600f545f906119e2908a9086611bb2565b905080600f5f8282546119f591906139d9565b90915550909550909350611a0892505050565b935093915050565b5f611a1a846114af565b9050600f545f03611a5757611a4f817f0000000000000000000000000000000000000000000000000000000000000000612adc565b600f55611a7b565b5f611a6182612b15565b905080600f5f828254611a7491906139d9565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611af55782341015611ae4576040516312171d8360e31b815260040160405180910390fd5b611aee8334613aee565b9050611b8c565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b899190613c37565b91505b81611baa576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f190484118302158202611bc6575f80fd5b5091020490565b5f611bd88284613c66565b6106e29084613aee565b6002546004545f91610716916001600160801b0390911690600f0b612af0565b5f611c1882611c12858888611bb2565b90612bfb565b95945050505050565b5f6001600160801b03821115611c4a57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611c5c57826106e2565b50919050565b6006545f908190611c84908490600160801b90046001600160801b03166106ce565b6006546201000090046001600160701b03169250905081811115611dfa575f611cad8383613aee565b9050611cbc61102d828661149b565b60068054601090611cde908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d168583612adc90919063ffffffff16565b90505f611d43827f00000000000000000000000000000000000000000000000000000000000000006106ce565b90508060095f828254611d5691906139d9565b90915550611d6690508183613aee565b9150611d7182611c21565b600280545f90611d8b9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611db882612c60565b600480545f90611dcc908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611e0b8785612adc565b91505f611e38837f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050611e64817f00000000000000000000000000000000000000000000000000000000000000006106ce565b91508315611e8757611e768282613aee565b611e809084613aee565b9250611e9e565b611e918282613aee565b611e9b90846139d9565b92505b86861015611ec157611eb1838789611bb2565b9250611ebe828789611bb2565b91505b509550959350505050565b5f6001600160ff1b03821115611c4a5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611f3d61102d82611f21670de0b6b3a764000086613bc2565b600554600160801b90046001600160801b031691908a5f6127f5565b600580546001600160801b03928316600160801b029216919091179055611f6386611c21565b611f6d9082613bd9565b600480546001600160801b03928316600160801b029216919091179055611f9384611c21565b600280545f90611fad9084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fda83612c89565b600480545f90611fee908490600f0b613c79565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061201e85611c21565b60028054601090612040908490600160801b90046001600160801b0316613bd9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120838461207d8a888a611bb2565b90612adc565b9050612090888486611bb2565b61209a90826139d9565b9050868111156120aa5786810391505b509695505050505050565b5f6001600160701b03821115611c4a5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061212057507f000000000000000000000000000000000000000000000000000000000000000061211e8583613aee565b105b1561212d5761212d612794565b6004549084900390600f0b6121428482613b88565b90508361214e86611ecc565b13801561218357507f00000000000000000000000000000000000000000000000000000000000000006121818383612af0565b105b1561219057612190612794565b600354600160801b90046001600160801b03166121d161102d826121bc670de0b6b3a764000088613bc2565b6005546001600160801b031691908c5f6127f5565b600580546001600160801b0319166001600160801b03929092169190911790556121fb8882613aee565b905061220681611c21565b600380546001600160801b03928316600160801b02921691909117905561222c83611c21565b600280546001600160801b0319166001600160801b039290921691909117905561225582612c89565b600480546001600160801b0319166001600160801b039290921691909117905561227e87611c21565b600280546010906122a0908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122e99061102d906001600160801b03168484612cc4565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612357916001600160801b031690613aee565b9050805f0361236a5760019150506106e5565b5f61237485612d26565b9050805f03612388576001925050506106e5565b5f80612395838589612dc1565b91509150806123aa575f9450505050506106e5565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123e5929190613d24565b6040805180830381865af41580156123ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124239190613d99565b9150915061244161243382611ecc565b61243c90613dbb565b612f2e565b925082612456575f96505050505050506106e5565b61245f82611c21565b600780545f906124799084906001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124a681611c21565b600780546010906124c8908490600160801b90046001600160801b0316613b68565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612523876130c2565b6040518263ffffffff1660e01b815260040161253f9190613dd5565b6040805180830381865af4158015612559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061257d9190613de4565b915091508061259257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125f7916139d9565b6126019190613aee565b9050805f0361261757505f958695509350505050565b5f808711612625575f612630565b612630848884611bb2565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561266157612661613e12565b6040519080825280601f01601f19166020018201604052801561268b576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126ab578692505b828152825f602083013e90999098509650505050505050565b5f6126e48787876126dd88670de0b6b3a7640000613aee565b87876131fc565b979650505050505050565b5f610d7761272f61270884670de0b6b3a7640000613aee565b611484670de0b6b3a764000061271e818a61149b565b6127289190613aee565b8790612964565b61274190670de0b6b3a76400006139d9565b61207d84670de0b6b3a7640000613aee565b5f8061278985612761611be2565b61276b91906139d9565b600254610eff908790600160801b90046001600160801b0316613aee565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6127bd89878961321e565b90925090506127cc8289613aee565b97505f6127da82888a611bb2565b90506127e6818b613aee565b9a989950979650505050505050565b5f825f03612804575084611c18565b81156128565761283561281784876139d9565b61282185876106ce565b61282b888a6106ce565b61207d91906139d9565b90505f6128428588611c4e565b905080821015612850578091505b50611c18565b82850361286457505f611c18565b61288f6128718487613aee565b61287b8587612964565b612885888a6106ce565b61207d9190613aee565b9695505050505050565b5f6128be600b5f6128ab60028661122e565b81526020019081526020015f2054611ecc565b6128cf600b5f6128ab60018761122e565b6106e59190613b88565b5f6129047f000000000000000000000000000000000000000000000000000000000000000083612964565b60035461291a91906001600160801b03166139d9565b600254612930906001600160801b0316846106ce565b101592915050565b5f6106e582600461230d565b5f6126e487878761295d88670de0b6b3a7640000613aee565b878761329d565b5f6106e28383670de0b6b3a7640000612ab9565b5f8080806129c887866129c18b61148461299a8c670de0b6b3a7640000613aee565b7f000000000000000000000000000000000000000000000000000000000000000090612964565b9190612ab9565b93506129f4847f00000000000000000000000000000000000000000000000000000000000000006106ce565b91505f612a14612a0c89670de0b6b3a7640000613aee565b8a9088612ab9565b9050612a40817f0000000000000000000000000000000000000000000000000000000000000000612964565b9350612a6c847f00000000000000000000000000000000000000000000000000000000000000006106ce565b612a7690846139d9565b915050945094509450949050565b5f818311612a9257816106e2565b5090919050565b5f80612ab084612aaa8a888a612ab9565b9061149b565b90506120908884865b5f825f190484118302158202612acd575f80fd5b50910281810615159190040190565b5f6106e283670de0b6b3a764000084611bb2565b5f80612afc84846132ad565b909250905080612b0e57612b0e612794565b5092915050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612b63575047612bec565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612bc5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be99190613c20565b90505b600f546115a590849083611bb2565b5f815f03612c125750670de0b6b3a76400006106e5565b825f03612c2057505f6106e5565b5f612c2a83611ecc565b90505f612c3e612c3986611ecc565b6132e5565b9050818102612c55670de0b6b3a764000082613e26565b905061288f8161350a565b5f60016001607f1b03821115611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612ca6575060016001607f1b0382135b15611c4a5760405163a5353be560e01b815260040160405180910390fd5b5f80612cd0845f61369c565b612cda845f61369c565b612ce49190613b88565b90505f811315612cff57612cf881866139d9565b9450612d1d565b5f811215612d1d57612d1081613dbb565b612d1a9086613aee565b94505b50929392505050565b6003545f908190612d40906001600160801b03168461149b565b9050612d6c7f0000000000000000000000000000000000000000000000000000000000000000826139d9565b6002546001600160801b03161115611c5c576002547f000000000000000000000000000000000000000000000000000000000000000090612db79083906001600160801b0316613aee565b6115a59190613aee565b612dc96138cc565b5f80612dd4846130c2565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e0e9190613dd5565b6040805180830381865af4158015612e28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4c9190613de4565b9350905082612e6057505f9150611a089050565b5f612e86612e818461016001518561014001516106ce90919063ffffffff16565b611ecc565b612ea6612e8185610120015186610100015161296490919063ffffffff16565b612eb09190613b88565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612fe4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130089190613e52565b93509350935093508061302357505f98975050505050505050565b8684146130545761303384611c21565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146130855761306483612c89565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146130b35761309582611c21565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b6130ca613916565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916131c291166136aa565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926131f4929004166136aa565b905292915050565b5f8061320c88888888888861371e565b9092509050806120aa576120aa612794565b5f806132678561148485817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061325d818c61149b565b6114849190613aee565b9150613293827f00000000000000000000000000000000000000000000000000000000000000006106ce565b9050935093915050565b5f8061320c8888888888886137e2565b5f805f836132ba86611ecc565b6132c49190613b88565b90505f8112156132da575f8092509250506106c7565b946001945092505050565b5f8082136133065760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133899084901c611ecc565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361352357505f919050565b680755bf798b4a1bf1e5821261354c576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061288f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ecc565b5f818313612a9257816106e2565b5f80670de0b6b3a76400006136bd6106eb565b6136c79190613bc2565b90508083116136d6575f6136e0565b6136e08184613aee565b91506115a5613717670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc2565b8390612adc565b5f805f61372e898988888861389e565b905061374886611c126137418a8d6139d9565b87906106ce565b9850613755858a86611bb2565b98508881101561376b575f8092509250506137d7565b888103670de0b6b3a764000081106137a057613799613792670de0b6b3a76400008961149b565b8290612bfb565b90506137b8565b6137b5613792670de0b6b3a764000089612adc565b90505b808910156137cd575f809350935050506137d7565b8803925060019150505b965096945050505050565b5f805f6137f2898988888861389e565b905061380286611c12898b6139d9565b975087811015613818575f8092509250506137d7565b878103613826818688612ab9565b9050670de0b6b3a764000081106138535761384c613792670de0b6b3a76400008961149b565b905061386b565b613868613792670de0b6b3a764000089612adc565b90505b613875818661149b565b9050808a101561388c575f809350935050506137d7565b90980398600198509650505050505050565b5f6138a98585612bfb565b6138c26138ba86611c12868b612964565b859085612ab9565b61288f91906139d9565b6040518061012001604052806138e0613916565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561397e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156139a9575f80fd5b8501606081880312156139ba575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106e5576106e56139c5565b6001600160a01b03811681146105fa575f80fd5b5f60208284031215613a10575f80fd5b81356115a5816139ec565b80151581146105fa575f80fd5b5f60208284031215613a38575f80fd5b81356115a581613a1b565b5f808335601e19843603018112613a58575f80fd5b83018035915067ffffffffffffffff821115613a72575f80fd5b6020019150368190038213156106c7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613ae160c083018486613a86565b9998505050505050505050565b818103818111156106e5576106e56139c5565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613b3a60e083018486613a86565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612b0e57612b0e6139c5565b6001600160801b03818116838216019080821115612b0e57612b0e6139c5565b8181035f831280158383131683831282161715612b0e57612b0e6139c5565b5f60208284031215613bb7575f80fd5b81516115a5816139ec565b80820281158282048414176106e5576106e56139c5565b6001600160801b03828116828216039080821115612b0e57612b0e6139c5565b8082018281125f831280158216821582161715613c1857613c186139c5565b505092915050565b5f60208284031215613c30575f80fd5b5051919050565b5f60208284031215613c47575f80fd5b81516115a581613a1b565b634e487b7160e01b5f52601260045260245ffd5b5f82613c7457613c74613c52565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106e5576106e56139c5565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613d37828551613ca6565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613daa575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613dcf57613dcf6139c5565b505f0390565b61018081016106e58284613ca6565b5f8060408385031215613df5575f80fd5b825191506020830151613e0781613a1b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613e3457613e34613c52565b600160ff1b82145f1984141615613e4d57613e4d6139c5565b500590565b5f805f8060808587031215613e65575f80fd5b84519350602085015192506040850151915060608501516139ba81613a1b56fea2646970667358221220866c28df534d8c8a6e0f290d5c82cfde44a3eecea72f04a3e4f9fe6dc2d78f5f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveTarget3.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget3.ts new file mode 100644 index 000000000..6b34c1f1e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget3.ts @@ -0,0 +1,992 @@ +export const MockHyperdriveTarget3 = { + name: 'MockHyperdriveTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004328380380620043288339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613e42620004e65f395f50505f50505f6112f601525f81816102f801528181610327015261035401525f818160d901528181610596015261170c01525f81816108320152818161091d015281816109ad01528181610ab2015281816115de015281816116e6015281816123dd0152818161244001528181612ce90152818161319301526131cf01525f8181610139015281816108a201528181610eb4015281816114a70152818161150a0152818161154f015281816116c001528181611bad0152611c3c01525f611fee01525f8181612143015261341e01525f8181611071015261211701525f6133d401525f818161017b015281816108f501528181610ed501528181611477015281816114da01528181611570015261173201525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610faf0152612c7f01525f818161028d01528181610d7a01528181610df101528181610e6501528181610f300152610f6801525f50505f8181610bb6015281816119b2015281816119fb01528181611a8a01528181611b0b01528181611ca701528181611d2801528181612ed901528181612f2201528181612fcf01526130180152613e425ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046138c7565b610064565b60405190815260200160405180910390f35b61003f61005f366004613926565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610c20565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c7d565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610ca2565b915091505f6101e5610d73565b90506101f5818360046001610d9e565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613986565b611402565b611448565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613999565b815260208101919091526040015f20546001600160801b03167f000000000000000000000000000000000000000000000000000000000000000061164c565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613986565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613999565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613999565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613986565b90505f805f61042d8a611677565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613a2a565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613a39565b91506104b96104b48c6117b1565b6117de565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613a2a565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613a39565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613999565b9190611804565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e61181f565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613a64565b8e611833565b610625896118d8565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613986565b9b5090508a158061071857506107158c5f6118e4565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b611804565b61074f565b5f5b905061075e6020850185613a64565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613a8c565b866107a960408c018c613aa7565b6040516107bc9796959493929190613aea565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610c20565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610ca2565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613b3d565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613b54565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118f8565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f80611448565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c8561191d565b600280546001600160801b0319166001600160801b0392909216919091179055610a6584611946565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e8361191d565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f0000000000000000000000000000000000000000000000000000000000000000611833565b610aed5f610ae760208c018c613a64565b8a611833565b610b02610af8610d73565b8760046001610d9e565b508a8a8a610b136020820182613a64565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613a8c565b87610b5e6040890189613aa7565b604051610b719796959493929190613aea565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590610c0057503415155b15610c1e57604051631574f9f360e01b815260040160405180910390fd5b565b5f610c2e6020830183613a64565b6001600160a01b031603610c555760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c78916001600160801b0390911690600f0b6118f8565b905090565b5f80610c8b87878786611981565b9050610c97818561164c565b979650505050505050565b815f80610cb56040850160208601613a8c565b15610cda57610cd085610ccb6040870187613aa7565b611997565b9093509050610cf2565b5034610cf285610ced6040870187613aa7565b611c21565b610cfa611dc3565b91508015610d6a576040515f90339083908381818185875af1925050503d805f8114610d41576040519150601f19603f3d011682016040523d82523d5f602084013e610d46565b606091505b5050905080610d68576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c78427f0000000000000000000000000000000000000000000000000000000000000000611dd5565b5f84815260086020526040812060018101546001600160801b0316151580610dc557504286115b15610dde57600101546001600160801b031690506113fa565b5f805f610de9610d73565b90505f610e167f00000000000000000000000000000000000000000000000000000000000000008b613986565b90505b81811015610e8a575f818152600860205260409020600101546001600160801b03168015610e62575f828152600860205260409020549094506001600160801b03169250610e8a565b507f000000000000000000000000000000000000000000000000000000000000000001610e19565b835f03610efc57889350610ef9610e9f610c58565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b92505b50610f068361191d565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f5c610f557f00000000000000000000000000000000000000000000000000000000000000008b613999565b8a84611dea565b610f9a89610f94610f8d7f000000000000000000000000000000000000000000000000000000000000000083613986565b4290611f23565b84611dea565b610fa388611f31565b505f9050600881610fd47f00000000000000000000000000000000000000000000000000000000000000008d613999565b815260208101919091526040015f908120600101546001600160801b03169150610fff60028c6120ce565b5f818152600b60205260408120549192508c8c831561114057600192505f8061102b86898d865f612102565b915091508060095f8282546110409190613986565b9091555061105b9050865f84611055816117b1565b886121cf565b6110658183613986565b915061109586838a8e877f0000000000000000000000000000000000000000000000000000000000000000612346565b91506110a96110a48385612389565b61239d565b600680546002906110ca9084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110f78261191d565b60068054601090611119908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f61114c6001846120ce565b5f818152600b6020526040902054909150801561125757600194505f80611177838b8f886001612102565b915091508060095f82825461118c9190613986565b909155506111a79050835f846111a1816117b1565b8a6123c6565b6111b18183613999565b91506111c06110a48387612389565b600680546002906111e19084906201000090046001600160701b0316613b7f565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061120e8261191d565b60068054601090611230908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561129057611282611269876117b1565b611272836117b1565b61127c9190613bbf565b5f6125b6565b8e61128d84826125f5565b50505b5f61129a846127e4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611350573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113749190613bde565b90506001600160a01b038116156113e8576113e55a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612926565b50505b509b9d50505050505050505050505050505b949350505050565b5f611427600b5f6114146002866120ce565b81526020019081526020015f20546117b1565b611438600b5f6114146001876120ce565b6114429190613bbf565b92915050565b5f805f806114568a8a6129ae565b915091508061146c575f80935093505050611641565b5f6114cb838a6114a47f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8b7f00000000000000000000000000000000000000000000000000000000000000006129e6565b5090505f61152e848b846115077f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613999565b8d7f0000000000000000000000000000000000000000000000000000000000000000612a9f565b50905081158061153c575080155b1561154757505f9050805b5f611594858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611981565b90506115a283838c84612b59565b509093505f90506115b3848f613986565b90505f6115d38b8b6115c4876117b1565b6115ce908e613bf9565b612ba1565b90508b6116086116037f000000000000000000000000000000000000000000000000000000000000000083612c03565b6117b1565b611611836117b1565b61161e6116038685612389565b6116289190613bbf565b6116329190613bbf565b60019950995050505050505050505b965096945050505050565b5f61008d61165f84846301e13380612c13565b61167185670de0b6b3a7640000613999565b9061181f565b61167f613818565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916117779116612c36565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117a992900416612c36565b905292915050565b5f6001600160ff1b038211156117da5760405163396ea70160e11b815260040160405180910390fd5b5090565b6117e781612ca3565b610c5557604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611818575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611804565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611864908490613986565b90915550505f838152600b602052604081208054839290611886908490613986565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6114428260046125f5565b5f8183136118f2578261008d565b50919050565b5f8061190484846129ae565b90925090508061191657611916612e37565b5092915050565b5f6001600160801b038211156117da57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611963575060016001607f1b0382135b156117da5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611991858888611804565b90612e50565b5f808073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016119e6575047611a6f565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6c9190613a39565b90505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611ae95787341015611ad8576040516312171d8360e31b815260040160405180910390fd5b611ae28834613999565b9050611b80565b6040516323b872dd60e01b8152336004820152306024820152604481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b7d9190613c20565b91505b81611b9e576040516312171d8360e31b815260040160405180910390fd5b600f545f03611be257611bd1887f000000000000000000000000000000000000000000000000000000000000000061181f565b600f81905594509250611c19915050565b600f545f90611bf3908a9086611804565b905080600f5f828254611c069190613986565b90915550909550909350611c1992505050565b935093915050565b5f611c2b84612ebf565b9050600f545f03611c6857611c60817f000000000000000000000000000000000000000000000000000000000000000061181f565b600f55611c8c565b5f611c7282612fb5565b905080600f5f828254611c859190613986565b9091555050505b60015f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601611d065782341015611cf5576040516312171d8360e31b815260040160405180910390fd5b611cff8334613999565b9050611d9d565b6040516323b872dd60e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611d76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9a9190613c20565b91505b81611dbb576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f610c78670de0b6b3a7640000612ebf565b5f611de08284613c4f565b61008d9084613999565b5f83815260086020526040902054600160801b90046001600160801b0316808303611e155750505050565b5f848152600860205260408120546001600160801b031690819003611e6d57611e3d8361191d565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611eea565b611ebe611eb9670de0b6b3a7640000611e868886613999565b611e909190613b3d565b85670de0b6b3a7640000611ea4878a613999565b611eae9190613b3d565b85929190600161309b565b61191d565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611ef38461191d565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118f2578261008d565b6006545f908190611f53908490600160801b90046001600160801b0316612389565b6006546201000090046001600160701b031692509050818111156120c9575f611f7c8383613999565b9050611f8b611eb98286613135565b60068054601090611fad908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611fe5858361181f90919063ffffffff16565b90505f612012827f0000000000000000000000000000000000000000000000000000000000000000612389565b90508060095f8282546120259190613986565b9091555061203590508183613999565b91506120408261191d565b600280545f9061205a9084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061208782613149565b600480545f9061209b908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156120f75760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061210e878561181f565b91505f61213b837f0000000000000000000000000000000000000000000000000000000000000000612389565b9050612167817f0000000000000000000000000000000000000000000000000000000000000000612389565b9150831561218a576121798282613999565b6121839084613999565b92506121a1565b6121948282613999565b61219e9084613986565b92505b868610156121c4576121b4838789611804565b92506121c1828789611804565b91505b509550959350505050565b600454600160801b90046001600160801b0316612217611eb9826121fb670de0b6b3a764000086613b3d565b600554600160801b90046001600160801b031691908a5f61309b565b600580546001600160801b03928316600160801b02921691909117905561223d8661191d565b6122479082613c62565b600480546001600160801b03928316600160801b02921691909117905561226d8461191d565b600280545f906122879084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506122b483611946565b600480545f906122c8908490600f0b613c82565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506122f88561191d565b6002805460109061231a908490600160801b90046001600160801b0316613c62565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612357846116718a888a611804565b9050612364888486611804565b61236e9082613986565b90508681111561237e5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611804565b5f6001600160701b038211156117da5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061240857507f00000000000000000000000000000000000000000000000000000000000000006124068583613999565b105b1561241557612415612e37565b6004549084900390600f0b61242a8482613bbf565b905083612436866117b1565b13801561246b57507f000000000000000000000000000000000000000000000000000000000000000061246983836118f8565b105b1561247857612478612e37565b600354600160801b90046001600160801b03166124b9611eb9826124a4670de0b6b3a764000088613b3d565b6005546001600160801b031691908c5f61309b565b600580546001600160801b0319166001600160801b03929092169190911790556124e38882613999565b90506124ee8161191d565b600380546001600160801b03928316600160801b0292169190911790556125148361191d565b600280546001600160801b0319166001600160801b039290921691909117905561253d82611946565b600480546001600160801b0319166001600160801b03929092169190911790556125668761191d565b60028054601090612588908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546125d190611eb9906001600160801b03168484612ba1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161263f916001600160801b031690613999565b9050805f03612652576001915050611442565b5f61265c85613172565b9050805f0361267057600192505050611442565b5f8061267d83858961320d565b9150915080612692575f945050505050611442565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016126cd929190613caf565b6040805180830381865af41580156126e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061270b9190613d24565b9150915061272961271b826117b1565b61272490613d46565b612ca3565b92508261273e575f9650505050505050611442565b6127478261191d565b600780545f906127619084906001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061278e8161191d565b600780546010906127b0908490600160801b90046001600160801b0316613b9f565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61280b87611677565b6040518263ffffffff1660e01b81526004016128279190613a2a565b6040805180830381865af4158015612841573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128659190613d60565b915091508061287a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916128df91613986565b6128e99190613999565b9050805f036128ff57505f958695509350505050565b5f80871161290d575f612918565b612918848884611804565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561294957612949613d8e565b6040519080825280601f01601f191660200182016040528015612973576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612993578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836129bb866117b1565b6129c59190613bbf565b90505f8112156129db575f809250925050610d6c565b946001945092505050565b5f805f6129f68888888888613375565b90505f612a20670de0b6b3a7640000612a0f8888613135565b612a199190613986565b839061181f565b9050670de0b6b3a76400008110612a5457612a4d612a46670de0b6b3a76400008961181f565b8290612e50565b9050612a6c565b612a69612a46670de0b6b3a764000089613135565b90505b612a76818661181f565b905088811015612a8d575f809350935050506129a4565b97909703976001975095505050505050565b5f805f612aaf89898888886133a3565b9050612ac986611991612ac28a8d613986565b8790612389565b9850612ad6858a86611804565b985088811015612aec575f809250925050611641565b888103670de0b6b3a76400008110612b1a57612b13612a46670de0b6b3a764000089613135565b9050612b32565b612b2f612a46670de0b6b3a76400008961181f565b90505b80891015612b47575f80935093505050611641565b90970398600198509650505050505050565b5f805f805f612b698987896133c7565b9092509050612b788289613999565b97505f612b8682888a611804565b9050612b92818b613999565b9a989950979650505050505050565b5f80612bad845f61344c565b612bb7845f61344c565b612bc19190613bbf565b90505f811315612bdc57612bd58186613986565b9450612bfa565b5f811215612bfa57612bed81613d46565b612bf79086613999565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612c27575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612c49610d73565b612c539190613b3d565b9050808311612c62575f612c6c565b612c6c8184613999565b915061008d612a19670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613b3d565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7d9190613da2565b935093509350935080612d9857505f98975050505050505050565b868414612dc957612da88461191d565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dfa57612dd983611946565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612e2857612e0a8261191d565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612e675750670de0b6b3a7640000611442565b825f03612e7557505f611442565b5f612e7f836117b1565b90505f612e93612e8e866117b1565b613461565b9050818102612eaa670de0b6b3a764000082613de0565b9050612eb581613686565b9695505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601612f0d575047612f96565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612f6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f939190613a39565b90505b600f545f03612fa5575f61008d565b600f5461008d9084908390611804565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161300357504761308c565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015613065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130899190613a39565b90505b600f5461008d90849083611804565b5f825f036130aa575084610075565b81156130fc576130db6130bd8487613986565b6130c78587612389565b6130d1888a612389565b6116719190613986565b90505f6130e88588611f23565b9050808210156130f6578091505b50610075565b82850361310a57505f610075565b6100726131178487613999565b6131218587612c03565b61312b888a612389565b6116719190613999565b5f61008d83670de0b6b3a764000084612c13565b5f60016001607f1b038211156117da5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061318c906001600160801b031684613135565b90506131b87f000000000000000000000000000000000000000000000000000000000000000082613986565b6002546001600160801b031611156118f2576002547f0000000000000000000000000000000000000000000000000000000000000000906132039083906001600160801b0316613999565b61008d9190613999565b61321561386d565b5f8061322084611677565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161325a9190613a2a565b6040805180830381865af4158015613274573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132989190613d60565b93509050826132ac57505f9150611c199050565b5f6132cd61160384610160015185610140015161238990919063ffffffff16565b6132ed611603856101200151866101000151612c0390919063ffffffff16565b6132f79190613bbf565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6133808585612e50565b61339961339186611991868b612389565b859085611804565b6100729190613986565b5f6133ae8585612e50565b6133996133bf86611991868b612c03565b859085612c13565b5f806134168561341085817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613406818c613135565b6134109190613999565b90612c03565b9150613442827f0000000000000000000000000000000000000000000000000000000000000000612389565b9050935093915050565b5f81831361345a578161008d565b5090919050565b5f8082136134825760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906135059084901c6117b1565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361369f57505f919050565b680755bf798b4a1bf1e582126136c8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612eb574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b1565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613881613818565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118f2575f80fd5b5f805f805f60a086880312156138db575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561390d575f80fd5b613919888289016138b7565b9150509295509295909350565b5f805f60608486031215613938575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561395c575f80fd5b613968868287016138b7565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144257611442613972565b8181038181111561144257611442613972565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144282846139ac565b5f60208284031215613a49575f80fd5b5051919050565b6001600160a01b0381168114610c55575f80fd5b5f60208284031215613a74575f80fd5b813561008d81613a50565b8015158114610c55575f80fd5b5f60208284031215613a9c575f80fd5b813561008d81613a7f565b5f808335601e19843603018112613abc575f80fd5b83018035915067ffffffffffffffff821115613ad6575f80fd5b602001915036819003821315610d6c575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144257611442613972565b5f805f60608486031215613b66575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191657611916613972565b6001600160801b0381811683821601908082111561191657611916613972565b8181035f83128015838313168383128216171561191657611916613972565b5f60208284031215613bee575f80fd5b815161008d81613a50565b8082018281125f831280158216821582161715613c1857613c18613972565b505092915050565b5f60208284031215613c30575f80fd5b815161008d81613a7f565b634e487b7160e01b5f52601260045260245ffd5b5f82613c5d57613c5d613c3b565b500690565b6001600160801b0382811682821603908082111561191657611916613972565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144257611442613972565b5f6102a082019050613cc28285516139ac565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613d35575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613d5a57613d5a613972565b505f0390565b5f8060408385031215613d71575f80fd5b825191506020830151613d8381613a7f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613db5575f80fd5b8451935060208501519250604085015191506060850151613dd581613a7f565b939692955090935050565b5f82613dee57613dee613c3b565b600160ff1b82145f1984141615613e0757613e07613972565b50059056fea2646970667358221220d426ba5f7020e09bbfea80f6e77d21cc660f32b25d7e2adec3c6a8f1dc6df22d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockHyperdriveTarget4.ts b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget4.ts new file mode 100644 index 000000000..b23d68346 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockHyperdriveTarget4.ts @@ -0,0 +1,971 @@ +export const MockHyperdriveTarget4 = { + name: 'MockHyperdriveTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b506040516200353e3803806200353e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613128620004165f395f50505f50505f61099201525f50505f818161025f0152611fc901525f81816118290152818161188c01528181611bb901528181611bf501528181611de60152611fa301525f81816105500152611f7d01525f61140b01525f61156001525f818161070d015261153401525f50505f81816105710152611fef01525f818161064b015261271201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f818161109d015281816110e6015281816122bd01528181612306015281816123db015281816124840152818161256a015261261301526131285ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612be3565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612c35565b6100b1565b005b610056610092366004612be3565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612c69565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612c91565b61016a60408c018c612cac565b60405161017c96959493929190612d17565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612d64565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612c69565b88610ea4565b5f6102f56102ec6020870187612c69565b88848989610a9e565b90945090506103048188612d8b565b92505f61031083610f41565b5090506103206020870187612c69565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612c91565b8a888e80604001906103709190612cac565b604051610384989796959493929190612d9e565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612c69565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f0000000000000000000000000000000000000000000000000000000000000000611180565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612de5565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611195565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b5565b92505b506105a2836111d4565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612d8b565b8a84611201565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612de5565b429061133a565b84611201565b61063f8861134e565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612d8b565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6114eb565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61151f565b915091508060095f8282546106dc9190612de5565b909155506106f79050865f846106f1816115ec565b88611615565b6107018183612de5565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061178c565b915061074561074083856117d5565b6117e9565b600680546002906107669084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826111d4565b600680546010906107b5908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846114eb565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161151f565b915091508060095f8282546108289190612de5565b909155506108439050835f8461083d816115ec565b8a611812565b61084d8183612d8b565b915061085c61074083876117d5565b6006805460029061087d9084906201000090046001600160701b0316612df8565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826111d4565b600680546010906108cc908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876115ec565b61090e836115ec565b6109189190612e38565b5f611a02565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612e57565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a41565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611ac7565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611ad3565b9050610b20836111d4565b610b2a9083612e72565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816111d4565b60078054601090610b75908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611aee565b9350610bb08684611b84565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612d8b565b9050805f03610c3a576001915050610dc7565b5f610c4485611b98565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c33565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612f10565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612f85565b91509150610d11610d03826115ec565b610d0c90612fa7565b611da0565b925082610d26575f9650505050505050610dc7565b610d2f826111d4565b600780545f90610d499084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816111d4565b60078054601090610d98908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612d8b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612de5565b90915550505f838152600b602052604081208054839290610ef7908490612de5565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f34565b6040518263ffffffff1660e01b8152600401610f849190612fc1565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612fd0565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612de5565b6110469190612d8b565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611ad3565b976001975095505050505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016110d157504761115a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612ffe565b90505b600f545f03611169575f611179565b600f546111799084908390611ad3565b9392505050565b5f61118b8284612d64565b6111799084612d8b565b6002546004545f9161040a916001600160801b0390911690600f0b61206e565b5f6111cb826111c5858888611ad3565b90612093565b95945050505050565b5f6001600160801b038211156111fd57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361122c5750505050565b5f848152600860205260408120546001600160801b03169081900361128457611254836111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611301565b6112d56112d0670de0b6b3a764000061129d8886612d8b565b6112a79190613015565b85670de0b6b3a76400006112bb878a612d8b565b6112c59190613015565b859291906001612102565b6111d4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61130a846111d4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116113485782611179565b50919050565b6006545f908190611370908490600160801b90046001600160801b03166117d5565b6006546201000090046001600160701b031692509050818111156114e6575f6113998383612d8b565b90506113a86112d0828661219c565b600680546010906113ca908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61140285836121b090919063ffffffff16565b90505f61142f827f00000000000000000000000000000000000000000000000000000000000000006117d5565b90508060095f8282546114429190612de5565b9091555061145290508183612d8b565b915061145d826111d4565b600280545f906114779084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a4826121c4565b600480545f906114b8908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115145760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152b87856121b0565b91505f611558837f00000000000000000000000000000000000000000000000000000000000000006117d5565b9050611584817f00000000000000000000000000000000000000000000000000000000000000006117d5565b915083156115a7576115968282612d8b565b6115a09084612d8b565b92506115be565b6115b18282612d8b565b6115bb9084612de5565b92505b868610156115e1576115d1838789611ad3565b92506115de828789611ad3565b91505b509550959350505050565b5f6001600160ff1b038211156111fd5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165d6112d082611641670de0b6b3a764000086613015565b600554600160801b90046001600160801b031691908a5f612102565b600580546001600160801b03928316600160801b029216919091179055611683866111d4565b61168d9082612e72565b600480546001600160801b03928316600160801b0292169190911790556116b3846111d4565b600280545f906116cd9084906001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116fa836121ed565b600480545f9061170e908490600f0b61302c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173e856111d4565b60028054601090611760908490600160801b90046001600160801b0316612e72565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a38461179d8a888a611ad3565b906121b0565b90506117b0888486611ad3565b6117ba9082612de5565b9050868111156117ca5786810391505b509695505050505050565b5f6111798383670de0b6b3a7640000611ad3565b5f6001600160701b038211156111fd5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185457507f00000000000000000000000000000000000000000000000000000000000000006118528583612d8b565b105b1561186157611861612228565b6004549084900390600f0b6118768482612e38565b905083611882866115ec565b1380156118b757507f00000000000000000000000000000000000000000000000000000000000000006118b5838361206e565b105b156118c4576118c4612228565b600354600160801b90046001600160801b03166119056112d0826118f0670de0b6b3a764000088613015565b6005546001600160801b031691908c5f612102565b600580546001600160801b0319166001600160801b039290921691909117905561192f8882612d8b565b905061193a816111d4565b600380546001600160801b03928316600160801b029216919091179055611960836111d4565b600280546001600160801b0319166001600160801b0392909216919091179055611989826121ed565b600480546001600160801b0319166001600160801b03929092169190911790556119b2876111d4565b600280546010906119d4908490600160801b90046001600160801b0316612e18565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1d906112d0906001600160801b03168484612241565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6457611a64613059565b6040519080825280601f01601f191660200182016040528015611a8e576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aae578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611ae7575f80fd5b5091020490565b5f80611afa85856117d5565b9050611b05816122a3565b9450845f03611b17575f915050611179565b849150611b2a6040840160208501612c91565b15611b5957611b5285611b406020860186612c69565b611b4d6040870187612cac565b612389565b9150611b7c565b611b7c85611b6a6020860186612c69565b611b776040870187612cac565b612519565b509392505050565b5f6111798383670de0b6b3a76400006126a6565b6003545f908190611bb2906001600160801b03168461219c565b9050611bde7f000000000000000000000000000000000000000000000000000000000000000082612de5565b6002546001600160801b03161115611348576002547f000000000000000000000000000000000000000000000000000000000000000090611c299083906001600160801b0316612d8b565b6111799190612d8b565b611c3b612b44565b5f80611c4684611f34565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c809190612fc1565b6040805180830381865af4158015611c9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbe9190612fd0565b9350905082611cd257505f91506100a99050565b5f611cf8611cf38461016001518561014001516117d590919063ffffffff16565b6115ec565b611d18611cf3856101200151866101000151611b8490919063ffffffff16565b611d229190612e38565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a919061306d565b935093509350935080611e9557505f98975050505050505050565b868414611ec657611ea5846111d4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef757611ed6836121ed565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2557611f07826111d4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f3c612b8e565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161203491166126c9565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612066929004166126c9565b905292915050565b5f8061207a848461273d565b90925090508061208c5761208c612228565b5092915050565b5f815f036120aa5750670de0b6b3a7640000610dc7565b825f036120b857505f610dc7565b5f6120c2836115ec565b90505f6120d66120d1866115ec565b612778565b90508181026120ed670de0b6b3a7640000826130ab565b90506120f88161299d565b9695505050505050565b5f825f036121115750846111cb565b8115612163576121426121248487612de5565b61212e85876117d5565b612138888a6117d5565b61179d9190612de5565b90505f61214f858861133a565b90508082101561215d578091505b506111cb565b82850361217157505f6111cb565b6120f861217e8487612d8b565b6121888587611b84565b612192888a6117d5565b61179d9190612d8b565b5f61117983670de0b6b3a7640000846126a6565b5f61117983670de0b6b3a764000084611ad3565b5f60016001607f1b038211156111fd5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061220a575060016001607f1b0382135b156111fd5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224d845f612b2f565b612257845f612b2f565b6122619190612e38565b90505f81131561227c576122758186612de5565b945061229a565b5f81121561229a5761228d81612fa7565b6122979086612d8b565b94505b50929392505050565b5f8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016122f157504761237a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123779190612ffe565b90505b600f5461117990849083611ad3565b5f600f548511612399578461239d565b600f545b94505f6123a986611083565b905085600f5f8282546123bc9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03160161245e576040516001600160a01b0387169083905f81818185875af1925050503d805f811461244e576040519150601f19603f3d011682016040523d82523d5f602084013e612453565b606091505b5050809150506124f1565b60405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156124ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ee91906130d7565b90505b8061250f576040516312171d8360e31b815260040160405180910390fd5b5095945050505050565b600f548411612528578361252c565b600f545b93505f61253885611083565b905084600f5f82825461254b9190612d8b565b909155505f905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316016125ed576040516001600160a01b0386169083905f81818185875af1925050503d805f81146125dd576040519150601f19603f3d011682016040523d82523d5f602084013e6125e2565b606091505b505080915050612680565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015612659573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267d91906130d7565b90505b8061269e576040516312171d8360e31b815260040160405180910390fd5b505050505050565b5f825f1904841183021582026126ba575f80fd5b50910281810615159190040190565b5f80670de0b6b3a76400006126dc61040f565b6126e69190613015565b90508083116126f5575f6126ff565b6126ff8184612d8b565b9150611179612736670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613015565b83906121b0565b5f805f8361274a866115ec565b6127549190612e38565b90505f81121561276a575f809250925050612771565b9150600190505b9250929050565b5f8082136127995760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061281c9084901c6115ec565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136129b657505f919050565b680755bf798b4a1bf1e582126129df576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115ec565b5f818313612b3d5781611179565b5090919050565b604051806101200160405280612b58612b8e565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612bf5575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612c19575f80fd5b840160608187031215612c2a575f80fd5b809150509250925092565b5f8060408385031215612c46575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612c79575f80fd5b813561117981612c55565b80151581146103f5575f80fd5b5f60208284031215612ca1575f80fd5b813561117981612c84565b5f808335601e19843603018112612cc1575f80fd5b83018035915067ffffffffffffffff821115612cdb575f80fd5b602001915036819003821315612771575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612d4460a083018486612cef565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612d7257612d72612d50565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612d77565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612dd760e083018486612cef565b9a9950505050505050505050565b80820180821115610dc757610dc7612d77565b6001600160701b0381811683821601908082111561208c5761208c612d77565b6001600160801b0381811683821601908082111561208c5761208c612d77565b8181035f83128015838313168383128216171561208c5761208c612d77565b5f60208284031215612e67575f80fd5b815161117981612c55565b6001600160801b0382811682821603908082111561208c5761208c612d77565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612f23828551612e92565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612f96575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612fbb57612fbb612d77565b505f0390565b6101808101610dc78284612e92565b5f8060408385031215612fe1575f80fd5b825191506020830151612ff381612c84565b809150509250929050565b5f6020828403121561300e575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612d77565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612d77565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613080575f80fd5b84519350602085015192506040850151915060608501516130a081612c84565b939692955090935050565b5f826130b9576130b9612d50565b600160ff1b82145f19841416156130d2576130d2612d77565b500590565b5f602082840312156130e7575f80fd5b815161117981612c8456fea2646970667358221220447241d7c17f715a7a63f28f726648ecebf427bf0f52c23015bdee4f602c749c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockL2Pool.ts b/packages/hyperdrive-artifacts/src/MockL2Pool.ts new file mode 100644 index 000000000..ea5c2b62d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockL2Pool.ts @@ -0,0 +1,2337 @@ +export const MockL2Pool = { + name: 'MockL2Pool' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "addressesProvider", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TOTAL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_NUMBER_RESERVES", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "backUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "configureEModeCategory", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "category", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeTransfer", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceFromBefore", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceToBefore", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRateModes", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoanSimple", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getBridgeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeCategoryData", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getFlashLoanLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getPoolLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getReserveAddressById", + "inputs": [ + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveData", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveDataLegacy", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveDataExtended", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveData", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationGracePeriodUntil", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "virtualUnderlyingBalance", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedIncome", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedVariableDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesCount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getUserAccountData", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "totalCollateralBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalDebtBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "availableBorrowsBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "currentLiquidationThreshold", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "healthFactor", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserConfiguration", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.UserConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserEMode", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVirtualUnderlyingBalance", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiveAToken", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "args1", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "args2", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resetIsolationModeTotalDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "until", + "type": "uint40", + "internalType": "uint40" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserveInterestRateStrategyAddress", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "rateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserEMode", + "inputs": [ + { + "name": "categoryId", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "useAsCollateral", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapToVariable", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncIndexesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncRatesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateBridgeProtocolFee", + "inputs": [ + { + "name": "protocolFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFlashloanPremiums", + "inputs": [ + { + "name": "flashLoanPremiumTotal", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "flashLoanPremiumToProtocol", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "args", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Borrow", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "borrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceStableBorrowRate", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Repay", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "repayer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "useATokens", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SwapBorrowRateMode", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x60a06040525f805534801562000013575f80fd5b5060405162005c4e38038062005c4e833981016040819052620000369162000048565b6001600160a01b031660805262000077565b5f6020828403121562000059575f80fd5b81516001600160a01b038116811462000070575f80fd5b9392505050565b608051615b63620000eb5f395f818161043c01528181610d2f01528181610deb015281816112090152818161196d01528181611c24015281816122840152818161232c0152818161255d015281816128ac01528181612dbb015281816132bb015281816134a50152613b8d0152615b635ff3fe608060405234801561000f575f80fd5b506004361061040b575f3560e01c8063870e774411610221578063d1946dbc1161012a578063e82fec2f116100b4578063f32b9a7311610084578063f32b9a7314610c48578063f51e435b14610c62578063f7a7384014610c75578063f8119d5114610c88578063fd21ecff14610c97575f80fd5b8063e82fec2f14610bf9578063e8eda9df146106c8578063eddf1b7914610c0a578063ee3e210b14610c35575f80fd5b8063d5eed868116100fa578063d5eed86814610b93578063d65dc7a114610ba6578063dc7c0bff14610bb9578063df374c3614610bcc578063e43e88a114610be6575f80fd5b8063d1946dbc14610b3e578063d335015514610b53578063d579ea7d14610b6d578063d5ed393314610b80575f80fd5b8063ab9c4b5d116101ab578063c44b11f71161017b578063c44b11f714610ab3578063c4d66de814610af4578063cd11238214610b05578063cea9d26f14610b18578063d15e005314610b2b575f80fd5b8063ab9c4b5d14610a3a578063b1a99e2614610a4d578063bcb6e52214610a60578063bf92857c14610a73575f80fd5b806394ba89a2116101f157806394ba89a2146109db57806398c7da4e146109ee5780639cd1999614610a01578063a415bcad14610a14578063ab2b51f614610a27575f80fd5b8063870e7744146109815780638e19899e1461099b578063911a3413146109ae57806394b576de146109c8575f80fd5b80634417a58311610323578063680dd47c116102ad5780636c6f6ae11161027d5780636c6f6ae11461073f5780636fb07f961461075f57806372218d041461079a5780637a708e92146107ad5780638381995f146107c0575f80fd5b8063680dd47c146106ee57806369328dec1461070157806369a933a5146107145780636a99c03614610727575f80fd5b8063573ade81116102f3578063573ade81146106535780635a3b74b9146106665780635c9a8b1814610679578063617ba037146106c857806363c9b860146106db575f80fd5b80634417a583146105b15780634d013f03146106015780635275179714610614578063563dd61314610640575f80fd5b806328530a47116103a4578063348fde0f11610374578063348fde0f1461053e57806335ea6a7514610558578063386497fd14610578578063427da1771461058b57806342b0b77c1461059e575f80fd5b806328530a47146104eb5780632be29fa7146104fe5780632dad97d4146105185780633036b4391461052b575f80fd5b80631d2118f9116103df5780631d2118f9146104a05780631fe3c6f3146104b35780632520d5ee146104c6578063272d9072146104d9575f80fd5b8062a718a91461040f57806302c205f0146104245780630542975c14610437578063074b2e431461047b575b5f80fd5b61042261041d3660046143cd565b610caa565b005b610422610432366004614452565b610eb5565b61045e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b603a546001600160801b03165b6040516001600160801b039091168152602001610472565b6104226104ae3660046144cc565b610fc6565b6104226104c1366004614503565b6110e9565b6104226104d43660046144cc565b611109565b6039545b604051908152602001610472565b6104226104f936600461451a565b61119d565b73__$5f76d850ac254f0697945c46b13dedf9fb$__61045e565b6104dd610526366004614533565b611333565b610422610539366004614503565b611433565b73__$8adee7547342d537bcdcaeb7c748cfa5c0$__61045e565b61056b610566366004614565565b611440565b6040516104729190614580565b6104dd610586366004614565565b61164c565b610422610599366004614503565b611672565b6104226105ac3660046146fc565b6116a1565b6105f26105bf366004614565565b60408051602080820183525f918290526001600160a01b0393909316815260358352819020815192830190915254815290565b60405190518152602001610472565b61042261060f366004614503565b6117bf565b61045e610622366004614778565b61ffff165f908152603660205260409020546001600160a01b031690565b6104dd61064e366004614503565b6117ed565b6104dd610661366004614791565b611817565b6104226106743660046147d8565b611915565b6106b2610687366004614565565b6001600160a01b03165f90815260346020526040902060030154600160b81b900464ffffffffff1690565b60405164ffffffffff9091168152602001610472565b6104226106d6366004614804565b611a69565b6104226106e9366004614565565b611b15565b6104226106fc366004614852565b611b6b565b6104dd61070f36600461487b565b611b95565b610422610722366004614804565b611d48565b603a54600160801b90046001600160801b0316610488565b61075261074d36600461451a565b611dce565b60405161047291906148fd565b61048861076d366004614565565b6001600160a01b03165f90815260346020526040902060090154600160801b90046001600160801b031690565b603b54600160401b900461ffff166104dd565b6104226107bb366004614951565b611ef7565b6109746107ce366004614565565b60408051610240810182525f6102208201818152825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810191909152506001600160a01b039081165f9081526034602090815260409182902082516102408101845281546102208201908152815260018201546001600160801b0380821694830194909452600160801b908190048416948201949094526002820154808416606083015284900483166080820152600382015480841660a083015264ffffffffff858204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015485166101208201526005820154851661014082015260068201548516610160820152600782015490941661018085015260088101548083166101a086015283900482166101c0850152600901548082166101e0850152919091041661020082015290565b60405161047291906149b0565b73__$283efb0a967bb30ce182c750a4aff98297$__61045e565b6104dd6109a9366004614503565b61203b565b73__$589bdd19231b917beb0692fb1391cc382d$__61045e565b6104dd6109d6366004614852565b612060565b6104226109e9366004614b0a565b612098565b6104226109fc366004614565565b612110565b610422610a0f366004614b74565b612148565b610422610a22366004614bb2565b612184565b610422610a35366004614565565b6123c3565b610422610a48366004614bed565b6123f8565b610422610a5b366004614ced565b612702565b610422610a6e366004614d2f565b6127ff565b610a86610a81366004614565565b612820565b604080519687526020870195909552938501929092526060840152608083015260a082015260c001610472565b6105f2610ac1366004614565565b60408051602080820183525f918290526001600160a01b0393909316815260348352819020815192830190915254815290565b610422610b02366004614565565b50565b610422610b133660046144cc565b6129f9565b610422610b26366004614d60565b612a5b565b6104dd610b39366004614565565b612ade565b610b46612afe565b6040516104729190614d9e565b73__$eb5517a650f544fa14961d696410147857$__61045e565b610422610b7b366004614e56565b612bf2565b610422610b8e366004614f67565b612cd6565b610422610ba1366004614503565b612eba565b6104dd610bb4366004614533565b612f18565b6104dd610bc7366004614503565b612f90565b73__$3176f8b4007c03a59557e1c69343378539$__61045e565b610422610bf4366004614565565b612fb0565b603b546001600160401b03166104dd565b6104dd610c18366004614565565b6001600160a01b03165f9081526038602052604090205460ff1690565b6104dd610c43366004614fc8565b612fff565b73__$65f2e84d14e08abb971fea4350599006ac$__61045e565b610422610c70366004615009565b613159565b610422610c83366004614503565b613267565b60405160808152602001610472565b610422610ca5366004615047565b613287565b73__$589bdd19231b917beb0692fb1391cc382d$__6383c1087d6034603660356037604051806101200160405280603b60089054906101000a900461ffff1661ffff1681526020018981526020018c6001600160a01b031681526020018b6001600160a01b031681526020018a6001600160a01b0316815260200188151581526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dad9190615067565b6001600160a01b0390811682528b81165f908152603860209081526040918290205460ff16818501528151635eb88d3d60e01b8152825192909401937f000000000000000000000000000000000000000000000000000000000000000090931692635eb88d3d92600480830193928290030181865afa158015610e32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e569190615067565b6001600160a01b03168152506040518663ffffffff1660e01b8152600401610e82959493929190615082565b5f6040518083038186803b158015610e98575f80fd5b505af4158015610eaa573d5f803e3d5ffd5b505050505050505050565b60405163d505accf60e01b81526001600160a01b0389169063d505accf90610eed90339030908c908a908a908a908a9060040161513a565b5f604051808303815f87803b158015610f04575f80fd5b505af1925050508015610f15575060015b506001600160a01b038087165f818152603560209081526040918290208251608081018452948d1685529084018b90528382019290925261ffff8816606084015251631913f16160e01b815273__$283efb0a967bb30ce182c750a4aff98297$__92631913f16192610f90926034926036929160040161517b565b5f6040518083038186803b158015610fa6575f80fd5b505af4158015610fb8573d5f803e3d5ffd5b505050505050505050505050565b610fce6132af565b604080518082019091526002815261373760f01b60208201526001600160a01b0383166110175760405162461bcd60e51b815260040161100e91906151cc565b60405180910390fd5b506001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061107f57505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906110b85760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b039182165f90815260346020526040902060070180546001600160a01b03191691909216179055565b5f806110f660368461337c565b915091506111048282612098565b505050565b6001600160a01b038083165f90815260346020908152604080832093851683526035909152908190209051631210e32760e11b815273__$5f76d850ac254f0697945c46b13dedf9fb$__92632421c64e9261116d9287908790600190600401615212565b5f6040518083038186803b158015611183575f80fd5b505af4158015611195573d5f803e3d5ffd5b505050505050565b73__$65f2e84d14e08abb971fea4350599006ac$__635d5dc313603460366037603860355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060600160405280603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611263573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112879190615067565b6001600160a01b031681526020018960ff168152506040518763ffffffff1660e01b81526004016113049695949392919095865260208087019590955260408087019490945260608601929092526080850152805160a0850152918201516001600160a01b031660c0840152015160ff1660e08201526101000190565b5f6040518083038186803b15801561131a575f80fd5b505af415801561132c573d5f803e3d5ffd5b5050505050565b5f73__$5f76d850ac254f0697945c46b13dedf9fb$__6340e95de66034603660355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060a001604052808a6001600160a01b031681526020018981526020018860028111156113a7576113a76151de565b60028111156113b8576113b86151de565b81523360208201526001604091820152516001600160e01b031960e087901b1681526113ea949392919060040161524e565b602060405180830381865af4158015611405573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142991906152b4565b90505b9392505050565b61143b6132af565b603955565b61144861427d565b6001600160a01b038083165f9081526034602090815260409182902082516102408101845281546102208201908152815260018201546001600160801b0380821694830194909452600160801b908190048416948201949094526002820154808416606083015284900483166080820152600382015480841660a083015264ffffffffff858204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015485166101208201526005820154851661014082015260068201548516610160820152600782015490941661018085015260088101548083166101a086015283900482166101c0850152600901548082166101e0850152919091041661020082015261156361427d565b815181526020808301516001600160801b039081169183019190915260408084015182169083015260608084015182169083015260808084015182169083015260a08084015182169083015260c08084015164ffffffffff169083015260e08084015161ffff1690830152610120808401516001600160a01b03908116610100850152610140808601518216928501929092526101608086015182169285019290925261018080860151909116918401919091526101a0808501518316918401919091526101c0808501518316918401919091526101e090930151169181019190915292915050565b6001600160a01b0381165f90815260346020526040812061166c906133a8565b92915050565b61ffff81165f908152603660205260409020546001600160a01b0390811690601083901c1661110482826129f9565b5f6040518060e00160405280886001600160a01b03168152602001876001600160a01b0316815260200186815260200185858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093855250505061ffff8516602080840191909152603a546001600160801b03600160801b8204811660408087019190915291166060909401939093526001600160a01b038a16825260349052819020905163a1fe0e8d60e01b815291925073__$8adee7547342d537bcdcaeb7c748cfa5c0$__9163a1fe0e8d9161178a9185906004016152cb565b5f6040518083038186803b1580156117a0575f80fd5b505af41580156117b2573d5f803e3d5ffd5b5050505050505050505050565b61ffff81165f908152603660205260409020546001600160a01b0316601082901c6001166111048282611915565b5f805f806117fc60368661340a565b92509250925061180e83838333611817565b95945050505050565b5f73__$5f76d850ac254f0697945c46b13dedf9fb$__6340e95de66034603660355f876001600160a01b03166001600160a01b031681526020019081526020015f206040518060a001604052808b6001600160a01b031681526020018a815260200189600281111561188b5761188b6151de565b600281111561189c5761189c6151de565b81526001600160a01b03891660208201525f604091820152516001600160e01b031960e087901b1681526118d6949392919060040161524e565b602060405180830381865af41580156118f1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180e91906152b4565b73__$283efb0a967bb30ce182c750a4aff98297$__63bf697a2660346036603760355f336001600160a01b03166001600160a01b031681526020019081526020015f208787603b60089054906101000a900461ffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119eb9190615067565b335f908152603860205260409081902054905160e08b901b6001600160e01b031916815260048101999099526024890197909752604488019590955260648701939093526001600160a01b039182166084870152151560a486015261ffff90911660c48501521660e483015260ff166101048201526101240161116d565b6001600160a01b038083165f81815260356020908152604091829020825160808101845294891685529084018790528382019290925261ffff8416606084015251631913f16160e01b815273__$283efb0a967bb30ce182c750a4aff98297$__92631913f16192611ae3926034926036929160040161517b565b5f6040518083038186803b158015611af9575f80fd5b505af4158015611b0b573d5f803e3d5ffd5b5050505050505050565b611b1d6132af565b604051639cf5702360e01b815260346004820152603660248201526001600160a01b038216604482015273__$eb5517a650f544fa14961d696410147857$__90639cf5702390606401611304565b5f805f805f611b7b603689613466565b94509450945094509450611b0b8585338686868d8d610eb5565b5f73__$283efb0a967bb30ce182c750a4aff98297$__63186dea4460346036603760355f336001600160a01b03166001600160a01b031681526020019081526020015f206040518060c001604052808b6001600160a01b031681526020018a8152602001896001600160a01b03168152602001603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca29190615067565b6001600160a01b039081168252335f908152603860209081526040918290205460ff90811694820194909452815160e08b901b6001600160e01b031916815260048101999099526024890197909752604488019590955260648701939093528151831660848701529381015160a486015291820151811660c4850152606082015160e485015260808201511661010484015260a0015116610124820152610144016113ea565b611d506134a3565b6001600160a01b038281165f81815260356020526040908190209051630413c86f60e01b81526034600482015260366024820152604481019190915291861660648301526084820185905260a482015261ffff821660c482015273__$3176f8b4007c03a59557e1c69343378539$__90630413c86f9060e401611ae3565b6040805160a0810182525f80825260208201819052918101829052606080820192909252608081019190915260ff82165f90815260376020908152604091829020825160a081018452815461ffff808216835262010000820481169483019490945264010000000081049093169381019390935266010000000000009091046001600160a01b03166060830152600181018054608084019190611e7090615347565b80601f0160208091040260200160405190810160405280929190818152602001828054611e9c90615347565b8015611ee75780601f10611ebe57610100808354040283529160200191611ee7565b820191905f5260205f20905b815481529060010190602001808311611eca57829003601f168201915b5050505050815250509050919050565b611eff6132af565b73__$eb5517a650f544fa14961d696410147857$__6369fc1bdf603460366040518060e001604052808a6001600160a01b03168152602001896001600160a01b03168152602001886001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b03168152602001603b60089054906101000a900461ffff1661ffff168152602001611f95608090565b61ffff168152506040518463ffffffff1660e01b8152600401611fba93929190615379565b602060405180830381865af4158015611fd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff991906153fa565b1561132c57603b8054600160401b900461ffff1690600861201983615429565b91906101000a81548161ffff021916908361ffff160217905550505050505050565b5f805f6120496036856135c3565b91509150612058828233611b95565b949350505050565b5f805f805f8061207160368a613612565b9450945094509450945061208b8585853386868e8e612fff565b9998505050505050505050565b6001600160a01b0382165f908152603460209081526040808320338085526035909352922073__$5f76d850ac254f0697945c46b13dedf9fb$__92632421c64e9290919086908660028111156120f0576120f06151de565b6040518663ffffffff1660e01b815260040161116d959493929190615212565b6121186132af565b6001600160a01b0381165f908152603460205260408120906121398261364d565b90506111048282855f80613818565b604051631230b2a360e21b815273__$eb5517a650f544fa14961d696410147857$__906348c2ca8c9061116d9060349086908690600401615449565b73__$5f76d850ac254f0697945c46b13dedf9fb$__631e6473f960346036603760355f876001600160a01b03166001600160a01b031681526020019081526020015f206040518061018001604052808c6001600160a01b03168152602001336001600160a01b03168152602001886001600160a01b031681526020018b81526020018a6002811115612218576122186151de565b6002811115612229576122296151de565b815261ffff808b166020808401919091526001604080850191909152603b546001600160401b0381166060860152600160401b900490921660808401528151631f94a27560e31b8152915160a0909301926001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263fca513a89260048083019391928290030181865afa1580156122ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ee9190615067565b6001600160a01b0390811682528981165f908152603860209081526040918290205460ff16818501528151635eb88d3d60e01b8152825192909401937f000000000000000000000000000000000000000000000000000000000000000090931692635eb88d3d92600480830193928290030181865afa158015612373573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123979190615067565b6001600160a01b03168152506040518663ffffffff1660e01b8152600401610e829594939291906154a0565b6123cb6132af565b6001600160a01b0381165f908152603460205260408120906123ec8261364d565b90506111048282613b33565b5f604051806101e001604052808d6001600160a01b031681526020018c8c808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506040805160208c810282810182019093528c82529283019290918d918d9182918501908490808284375f920191909152505050908252506040805160208a810282810182019093528a82529283019290918b918b9182918501908490808284375f920191909152505050908252506001600160a01b03871660208083019190915260408051601f880183900483028101830182528781529201919087908790819084018382808284375f92018290525093855250505061ffff808616602080850191909152603a546001600160801b03600160801b8204811660408088019190915291166060860152603b546001600160401b0381166080870152600160401b900490921660a08501526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660c086018190523060e0870152908b16845260388252928290205460ff16610100850152815163383e6b8b60e11b815291516101209094019363707cd7169260048082019392918290030181865afa1580156125dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126009190615067565b60405163fa50f29760e01b81523360048201526001600160a01b03919091169063fa50f29790602401602060405180830381865afa158015612644573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266891906153fa565b151590526001600160a01b0386165f9081526035602052604090819020905163173931f560e11b815291925073__$8adee7547342d537bcdcaeb7c748cfa5c0$__91632e7263ea916126c891603491603691603791908890600401615606565b5f6040518083038186803b1580156126de575f80fd5b505af41580156126f0573d5f803e3d5ffd5b50505050505050505050505050505050565b61270a6132af565b6001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061277157505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906127aa5760405162461bcd60e51b815260040161100e91906151cc565b50604051636ae4381360e01b8152603460048201526001600160a01b038316602482015264ffffffffff8216604482015273__$eb5517a650f544fa14961d696410147857$__90636ae438139060640161116d565b6128076132af565b6001600160801b03908116600160801b02911617603a55565b604080516001600160a01b038381165f8181526035602090815285822060c0860187525460a086019081528552603b54600160401b900461ffff1681860152848601929092528451631f94a27560e31b8152945190948594859485948594859473__$eb5517a650f544fa14961d696410147857$__946326ec273f9460349460369460379460608501937f0000000000000000000000000000000000000000000000000000000000000000169263fca513a8926004808401938290030181865afa1580156128f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129149190615067565b6001600160a01b0390811682528e81165f908152603860209081526040918290205460ff90811694820194909452815160e08a901b6001600160e01b0319168152600481019890985260248801969096526044870194909452825151606487015293820151608486015291810151831660a4850152606081015190921660c48401526080909101511660e48201526101040160c060405180830381865af41580156129c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129e5919061577e565b949c939b5091995097509550909350915050565b6001600160a01b038281165f81815260346020526040908190209051631a5cfdd160e21b815260048101919091526024810191909152908216604482015273__$5f76d850ac254f0697945c46b13dedf9fb$__90636973f7449060640161116d565b612a63613b8b565b6040516343d9915960e11b81526001600160a01b038085166004830152831660248201526044810182905273__$eb5517a650f544fa14961d696410147857$__906387b322b2906064015f6040518083038186803b158015612ac3575f80fd5b505af4158015612ad5573d5f803e3d5ffd5b50505050505050565b6001600160a01b0381165f90815260346020526040812061166c90613cab565b603b54606090600160401b900461ffff165f80826001600160401b03811115612b2957612b29614dea565b604051908082528060200260200182016040528015612b52578160200160208202803683370190505b5090505f5b83811015612be8575f818152603660205260409020546001600160a01b031615612bd2575f818152603660205260409020546001600160a01b031682612b9d85846157c4565b81518110612bad57612bad6157d7565b60200260200101906001600160a01b031690816001600160a01b031681525050612be0565b82612bdc816157eb565b9350505b600101612b57565b5091038152919050565b612bfa6132af565b604080518082019091526002815261189b60f11b602082015260ff8316612c345760405162461bcd60e51b815260040161100e91906151cc565b5060ff82165f9081526037602090815260409182902083518154928501519385015160608601516001600160a01b03166601000000000000026601000000000000600160d01b031961ffff9283166401000000000216640100000000600160d01b0319968316620100000263ffffffff1990961692909316919091179390931793909316929092171781556080820151829190600182019061132c9082615847565b6001600160a01b038681165f908152603460209081526040918290206004015482518084019093526002835261313160f01b918301919091529091163314612d315760405162461bcd60e51b815260040161100e91906151cc565b5073__$283efb0a967bb30ce182c750a4aff98297$__638a5dadd160346036603760356040518061012001604052808d6001600160a01b031681526020018c6001600160a01b031681526020018b6001600160a01b031681526020018a8152602001898152602001888152602001603b60089054906101000a900461ffff1661ffff1681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e399190615067565b6001600160a01b0390811682528d165f908152603860209081526040918290205460ff16920191909152516001600160e01b031960e088901b168152612e86959493929190600401615902565b5f6040518083038186803b158015612e9c575f80fd5b505af4158015612eae573d5f803e3d5ffd5b50505050505050505050565b5f805f80612f0360368661ffff8181165f9081526020939093526040909220546001600160a01b0316926001600160801b03601083901c169260ff609084901c169260981c1690565b935093509350935061132c8484848433612184565b5f612f216134a3565b6001600160a01b0384165f818152603460205260409081902060395491516311ce864960e31b8152600481019190915260248101929092526044820185905260648201849052608482015273__$3176f8b4007c03a59557e1c69343378539$__90638e7432489060a4016113ea565b5f805f80612f9f60368661340a565b92509250925061180e838383611333565b612fb86132af565b604051631e3b414560e01b8152603460048201526001600160a01b038216602482015273__$eb5517a650f544fa14961d696410147857$__90631e3b414590604401611304565b60405163d505accf60e01b81525f906001600160a01b038a169063d505accf9061303990339030908d908b908b908b908b9060040161513a565b5f604051808303815f87803b158015613050575f80fd5b505af1925050508015613061575060015b505f6040518060a001604052808b6001600160a01b031681526020018a8152602001896002811115613095576130956151de565b60028111156130a6576130a66151de565b81526001600160a01b03891660208083018290525f6040938401819052918252603590528190209051632074aef360e11b815291925073__$5f76d850ac254f0697945c46b13dedf9fb$__916340e95de69161310c91603491603691879060040161524e565b602060405180830381865af4158015613127573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061314b91906152b4565b9a9950505050505050505050565b6131616132af565b604080518082019091526002815261373760f01b60208201526001600160a01b0383166131a15760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b0382165f90815260346020526040902060030154600160a81b900461ffff1615158061320957505f805260366020527f4cb2b152c1b54ce671907a93c300fd5aa72383a9d4ec19a81e3333632ae92e00546001600160a01b038381169116145b604051806040016040528060028152602001611c1960f11b815250906132425760405162461bcd60e51b815260040161100e91906151cc565b506001600160a01b0382165f9081526034602052604090208135815581905b50505050565b5f805f613275603685613d01565b92509250925061326183833384611a69565b5f805f805f61329860368888613d3b565b94509450945094509450612ad58585858585610caa565b336001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663631adfca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133399190615067565b6001600160a01b03161460405180604001604052806002815260200161031360f41b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b61ffff81165f908152602083905260409020546001600160a01b0316601082901c60ff165b9250929050565b60038101545f90600160801b900464ffffffffff164281036133d6575050600201546001600160801b031690565b600283015461142c906001600160801b03808216916133fe91600160801b9091041684613dc0565b90613dcc565b50919050565b5f808061ffff8416601085901c6001600160801b0316609086901c60ff166002600160801b0319820161343c575f1991505b61ffff9092165f908152602088905260409020546001600160a01b03169450925090509250925092565b5f8080808060a086901c63ffffffff1660c087901c60ff1682808061348b8c8c613d01565b919e909d50909b509499509297509295505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135239190615067565b604051633933006760e11b81523360048201526001600160a01b03919091169063726600ce90602401602060405180830381865afa158015613567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061358b91906153fa565b604051806040016040528060018152602001601b60f91b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b5f8061ffff8316601084901c6001600160801b03166002600160801b031981016135eb57505f195b61ffff919091165f9081526020959095526040909420546001600160a01b03169492505050565b5f805f805f805f805f806136268c8c61340a565b919e909d50909b609881901c63ffffffff169b5060b81c60ff169950975050505050505050565b6136556142ff565b61365d6142ff565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa15801561374c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061377091906152b4565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa1580156137c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137e591906159a9565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b61383f60405180608001604052805f81526020015f81526020015f81526020015f81525090565b610140850151602086015161385391613dcc565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e9161391a916004016159dc565b606060405180830381865afa158015613935573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139599190615a5e565b6040840152602083015280825261396f90613e0e565b6001870180546001600160801b03928316600160801b029216919091179055602081015161399c90613e0e565b6003870180546001600160801b0319166001600160801b039290921691909117905560408101516139cc90613e0e565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152613a0a9051600160fc1b16151590565b15613abf578215613a6757613a1e83613e0e565b600987018054601090613a42908490600160801b90046001600160801b0316615a89565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8115613abf57613a7682613e0e565b600987018054601090613a9a908490600160801b90046001600160801b0316615ab0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b600382015464ffffffffff428116600160801b9092041603613b53575050565b613b5d8282613e7a565b613b678282613f57565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015613be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c0b9190615067565b604051637be53ca160e01b81523360048201526001600160a01b039190911690637be53ca190602401602060405180830381865afa158015613c4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c7391906153fa565b604051806040016040528060018152602001603160f81b81525090610b025760405162461bcd60e51b815260040161100e91906151cc565b60038101545f90600160801b900464ffffffffff16428103613cd9575050600101546001600160801b031690565b600183015461142c906001600160801b03808216916133fe91600160801b90910416846140bb565b61ffff8181165f908152602084905260409020546001600160a01b031690601083901c6001600160801b031690609084901c169250925092565b5f8080808061ffff87811690601089901c16602089901c6001600160a01b03166001600160801b03891660808a901c6001166002600160801b03198201613d81575f1991505b61ffff9485165f90815260209d909d526040808e2054949095168d5293909b20546001600160a01b039283169c92169a90995097509095509350505050565b5f61142c8383426140f7565b5f81156b019d971e4fe8401e740000001983900484111517613dec575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b5f6001600160801b03821115613e765760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161100e565b5090565b61016081015115613ee8575f613e9a8261016001518361024001516140bb565b9050613eb38260e0015182613dcc90919063ffffffff16565b6101008301819052613ec490613e0e565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115613f53575f613f04826101800151836102400151613dc0565b9050613f1e82610120015182613dcc90919063ffffffff16565b6101408301819052613f2f90613e0e565b6002840180546001600160801b0319166001600160801b0392909216919091179055505b5050565b613f8a6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03613f9b57505050565b6101208201518251613fac91613dcc565b60208201526101408201518251613fc291613dcc565b60408201526060820151610260830151610240840151613fea92919064ffffffffff166140f7565b606082018190526040830151613fff91613dcc565b80825260208201516080840151604084015161401b9190615ad0565b61402591906157c4565b61402f91906157c4565b608082018190526101a0830151614046919061421c565b60a0820181905215611104576140766140718361010001518360a0015161424090919063ffffffff16565b613e0e565b6008840180545f906140929084906001600160801b0316615a89565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050565b5f806140ce64ffffffffff8416426157c4565b6140d89085615ae3565b6301e1338090049050612058816b033b2e3c9fd0803ce8000000615ad0565b5f8061410a64ffffffffff8516846157c4565b9050805f03614128576b033b2e3c9fd0803ce800000091505061142c565b5f1981015f80806002851161413d575f614142565b600285035b925066038882915c40006141568a80613dcc565b8161416357614163615afa565b0491506301e13380614175838b613dcc565b8161418257614182615afa565b0490505f826141918688615ae3565b61419b9190615ae3565b6002900490505f82856141ae888a615ae3565b6141b89190615ae3565b6141c29190615ae3565b60069004905080826301e133806141d98a8f615ae3565b6141e39190615b0e565b6141f9906b033b2e3c9fd0803ce8000000615ad0565b6142039190615ad0565b61420d9190615ad0565b9b9a5050505050505050505050565b5f81156113881983900484111517614232575f80fd5b506127109102611388010490565b5f81156b033b2e3c9fd0803ce800000060028404190484111715614262575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b60408051610200810182525f6101e08201818152825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081019190915290565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161437460405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6001600160a01b0381168114610b02575f80fd5b80356143bb8161439c565b919050565b8015158114610b02575f80fd5b5f805f805f60a086880312156143e1575f80fd5b85356143ec8161439c565b945060208601356143fc8161439c565b9350604086013561440c8161439c565b9250606086013591506080860135614423816143c0565b809150509295509295909350565b803561ffff811681146143bb575f80fd5b803560ff811681146143bb575f80fd5b5f805f805f805f80610100898b03121561446a575f80fd5b88356144758161439c565b975060208901359650604089013561448c8161439c565b955061449a60608a01614431565b9450608089013593506144af60a08a01614442565b925060c0890135915060e089013590509295985092959890939650565b5f80604083850312156144dd575f80fd5b82356144e88161439c565b915060208301356144f88161439c565b809150509250929050565b5f60208284031215614513575f80fd5b5035919050565b5f6020828403121561452a575f80fd5b61142c82614442565b5f805f60608486031215614545575f80fd5b83356145508161439c565b95602085013595506040909401359392505050565b5f60208284031215614575575f80fd5b813561142c8161439c565b81515181526101e0810160208301516145a460208401826001600160801b03169052565b5060408301516145bf60408401826001600160801b03169052565b5060608301516145da60608401826001600160801b03169052565b5060808301516145f560808401826001600160801b03169052565b5060a083015161461060a08401826001600160801b03169052565b5060c083015161462960c084018264ffffffffff169052565b5060e083015161463f60e084018261ffff169052565b50610100838101516001600160a01b039081169184019190915261012080850151821690840152610140808501518216908401526101608085015190911690830152610180808401516001600160801b03908116918401919091526101a0808501518216908401526101c08085015191821681850152905b505092915050565b5f8083601f8401126146cf575f80fd5b5081356001600160401b038111156146e5575f80fd5b6020830191508360208285010111156133a1575f80fd5b5f805f805f8060a08789031215614711575f80fd5b863561471c8161439c565b9550602087013561472c8161439c565b94506040870135935060608701356001600160401b0381111561474d575f80fd5b61475989828a016146bf565b909450925061476c905060808801614431565b90509295509295509295565b5f60208284031215614788575f80fd5b61142c82614431565b5f805f80608085870312156147a4575f80fd5b84356147af8161439c565b9350602085013592506040850135915060608501356147cd8161439c565b939692955090935050565b5f80604083850312156147e9575f80fd5b82356147f48161439c565b915060208301356144f8816143c0565b5f805f8060808587031215614817575f80fd5b84356148228161439c565b93506020850135925060408501356148398161439c565b915061484760608601614431565b905092959194509250565b5f805f60608486031215614864575f80fd5b505081359360208301359350604090920135919050565b5f805f6060848603121561488d575f80fd5b83356148988161439c565b92506020840135915060408401356148af8161439c565b809150509250925092565b5f81518084525f5b818110156148de576020818501810151868301820152016148c2565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61ffff8084511660208401528060208501511660408401528060408501511660608401525060018060a01b036060840151166080830152608083015160a08084015261205860c08401826148ba565b5f805f805f60a08688031215614965575f80fd5b85356149708161439c565b945060208601356149808161439c565b935060408601356149908161439c565b925060608601356149a08161439c565b915060808601356144238161439c565b8151518152610220810160208301516149d460208401826001600160801b03169052565b5060408301516149ef60408401826001600160801b03169052565b506060830151614a0a60608401826001600160801b03169052565b506080830151614a2560808401826001600160801b03169052565b5060a0830151614a4060a08401826001600160801b03169052565b5060c0830151614a5960c084018264ffffffffff169052565b5060e0830151614a6f60e084018261ffff169052565b506101008381015164ffffffffff1690830152610120808401516001600160a01b0390811691840191909152610140808501518216908401526101608085015182169084015261018080850151909116908301526101a0808401516001600160801b03908116918401919091526101c0808501518216908401526101e0808501518216908401526102008085015191821681850152906146b7565b5f8060408385031215614b1b575f80fd5b8235614b268161439c565b946020939093013593505050565b5f8083601f840112614b44575f80fd5b5081356001600160401b03811115614b5a575f80fd5b6020830191508360208260051b85010111156133a1575f80fd5b5f8060208385031215614b85575f80fd5b82356001600160401b03811115614b9a575f80fd5b614ba685828601614b34565b90969095509350505050565b5f805f805f60a08688031215614bc6575f80fd5b8535614bd18161439c565b945060208601359350604086013592506149a060608701614431565b5f805f805f805f805f805f60e08c8e031215614c07575f80fd5b614c108c6143b0565b9a506001600160401b038060208e01351115614c2a575f80fd5b614c3a8e60208f01358f01614b34565b909b50995060408d0135811015614c4f575f80fd5b614c5f8e60408f01358f01614b34565b909950975060608d0135811015614c74575f80fd5b614c848e60608f01358f01614b34565b9097509550614c9560808e016143b0565b94508060a08e01351115614ca7575f80fd5b50614cb88d60a08e01358e016146bf565b9093509150614cc960c08d01614431565b90509295989b509295989b9093969950565b64ffffffffff81168114610b02575f80fd5b5f8060408385031215614cfe575f80fd5b8235614d098161439c565b915060208301356144f881614cdb565b80356001600160801b03811681146143bb575f80fd5b5f8060408385031215614d40575f80fd5b614d4983614d19565b9150614d5760208401614d19565b90509250929050565b5f805f60608486031215614d72575f80fd5b8335614d7d8161439c565b92506020840135614d8d8161439c565b929592945050506040919091013590565b602080825282518282018190525f9190848201906040850190845b81811015614dde5783516001600160a01b031683529284019291840191600101614db9565b50909695505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715614e2057614e20614dea565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614e4e57614e4e614dea565b604052919050565b5f8060408385031215614e67575f80fd5b614e7083614442565b91506020808401356001600160401b0380821115614e8c575f80fd5b9085019060a08288031215614e9f575f80fd5b614ea7614dfe565b614eb083614431565b8152614ebd848401614431565b84820152614ecd60408401614431565b60408201526060830135614ee08161439c565b6060820152608083013582811115614ef6575f80fd5b80840193505087601f840112614f0a575f80fd5b823582811115614f1c57614f1c614dea565b614f2e601f8201601f19168601614e26565b92508083528885828601011115614f43575f80fd5b80858501868501375f85828501015250816080820152809450505050509250929050565b5f805f805f8060c08789031215614f7c575f80fd5b8635614f878161439c565b95506020870135614f978161439c565b94506040870135614fa78161439c565b959894975094956060810135955060808101359460a0909101359350915050565b5f805f805f805f80610100898b031215614fe0575f80fd5b8835614feb8161439c565b97506020890135965060408901359550606089013561449a8161439c565b5f80828403604081121561501b575f80fd5b83356150268161439c565b92506020601f1982011215615039575f80fd5b506020830190509250929050565b5f8060408385031215615058575f80fd5b50508035926020909101359150565b5f60208284031215615077575f80fd5b815161142c8161439c565b5f6101a08201905086825285602083015284604083015283606083015282516080830152602083015160a0830152604083015160018060a01b0380821660c08501528060608601511660e0850152505060808301516101006150ee818501836001600160a01b03169052565b60a0850151151561012085015260c08501516001600160a01b0390811661014086015260e086015160ff166101608601529085015190811661018085015290505b509695505050505050565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b93845260208085019390935260408085019290925280516001600160a01b039081166060808701919091529382015160808601529181015190911660a0840152015161ffff1660c082015260e00190565b602081525f61142c60208301846148ba565b634e487b7160e01b5f52602160045260245ffd5b6003811061520e57634e487b7160e01b5f52602160045260245ffd5b9052565b858152602081018590526001600160a01b0384811660408301528316606082015260a0810161524460808301846151f2565b9695505050505050565b8481526020808201859052604080830185905283516001600160a01b0390811660608501529184015160808401528301516101008301919061529360a08501826151f2565b5060608401511660c0830152608090920151151560e0909101529392505050565b5f602082840312156152c4575f80fd5b5051919050565b828152604060208201525f60018060a01b038084511660408401528060208501511660608401525060408301516080830152606083015160e060a08401526153176101208401826148ba565b905061ffff60808501511660c084015260a084015160e084015260c0840151610100840152809150509392505050565b600181811c9082168061535b57607f821691505b60208210810361340457634e487b7160e01b5f52602260045260245ffd5b5f6101208201905084825283602083015260018060a01b038084511660408401528060208501511660608401528060408501511660808401528060608501511660a08401528060808501511660c08401525060a08301516153e060e084018261ffff169052565b5060c083015161ffff811661010084015250949350505050565b5f6020828403121561540a575f80fd5b815161142c816143c0565b634e487b7160e01b5f52601160045260245ffd5b5f61ffff80831681810361543f5761543f615415565b6001019392505050565b838152604060208083018290529082018390525f90849060608401835b868110156154945783356154798161439c565b6001600160a01b031682529282019290820190600101615466565b50979650505050505050565b85815260208101859052604081018490526060810183905281516001600160a01b03166080820152610200810160208301516001600160a01b03811660a08401525060408301516001600160a01b03811660c084015250606083015160e08301526080830151610100615515818501836151f2565b60a0850151915061012061552e8186018461ffff169052565b60c086015192506101406155458187018515159052565b60e08701516101608781019190915292870151610180870152908601516001600160a01b039081166101a08701529086015160ff166101c0860152908501519081166101e0850152905061512f565b5f815180845260208085019450602084015f5b838110156155cc5781516001600160a01b0316875295820195908201906001016155a7565b509495945050505050565b5f815180845260208085019450602084015f5b838110156155cc578151875295820195908201906001016155ea565b85815284602082015283604082015282606082015260a0608082015261563860a0820183516001600160a01b03169052565b5f60208301516101e08060c0850152615655610280850183615594565b91506040850151609f19808685030160e087015261567384836155d7565b93506060870151915061010081878603018188015261569285846155d7565b9450608088015192506101206156b2818901856001600160a01b03169052565b60a089015193506101408389880301818a01526156cf87866148ba565b965060c08a0151945061016093506156ec848a018661ffff169052565b60e08a0151945061018085818b0152838b015195506101a0935085848b0152828b015195506101c0925085838b0152818b0151878b0152848b0151965061573f6102008b01886001600160a01b03169052565b8a01516001600160a01b0381166102208b0152955061575b9050565b9088015160ff166102408801528701518015156102608801529250615494915050565b5f805f805f8060c08789031215615793575f80fd5b865195506020870151945060408701519350606087015192506080870151915060a087015190509295509295509295565b8181038181111561166c5761166c615415565b634e487b7160e01b5f52603260045260245ffd5b5f600182016157fc576157fc615415565b5060010190565b601f82111561110457805f5260205f20601f840160051c810160208510156158285750805b601f840160051c820191505b8181101561132c575f8155600101615834565b81516001600160401b0381111561586057615860614dea565b6158748161586e8454615347565b84615803565b602080601f8311600181146158a7575f84156158905750858301515b5f19600386901b1c1916600185901b178555611195565b5f85815260208120601f198616915b828110156158d5578886015182559484019460019091019084016158b6565b50858210156158f257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b858152602080820186905260408083018690526060830185905283516001600160a01b03908116608085015291840151821660a084015283015190811660c08301526101a082019050606083015160e08301526080830151610100818185015260a085015161012085015260c085015161014085015260e085015191506159956101608501836001600160a01b03169052565b84015160ff8116610180850152905061512f565b5f805f80608085870312156159bc575f80fd5b84519350602085015192506040850151915060608501516147cd81614cdb565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151615a3e60e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215615a70575f80fd5b8351925060208401519150604084015190509250925092565b6001600160801b03818116838216019080821115615aa957615aa9615415565b5092915050565b6001600160801b03828116828216039080821115615aa957615aa9615415565b8082018082111561166c5761166c615415565b808202811582820484141761166c5761166c615415565b634e487b7160e01b5f52601260045260245ffd5b5f82615b2857634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212204793bf1919cd1991d18e25326db47014c7d5e4809660a16fa3e2bc0504f0939f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "BRIDGE_PROTOCOL_FEE()": "272d9072", + "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", + "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", + "MAX_NUMBER_RESERVES()": "f8119d51", + "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", + "backUnbacked(address,uint256,uint256)": "d65dc7a1", + "borrow(address,uint256,uint256,uint16,address)": "a415bcad", + "borrow(bytes32)": "d5eed868", + "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", + "deposit(address,uint256,address,uint16)": "e8eda9df", + "dropReserve(address)": "63c9b860", + "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", + "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", + "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", + "getBorrowLogic()": "2be29fa7", + "getBridgeLogic()": "df374c36", + "getConfiguration(address)": "c44b11f7", + "getEModeCategoryData(uint8)": "6c6f6ae1", + "getEModeLogic()": "f32b9a73", + "getFlashLoanLogic()": "348fde0f", + "getLiquidationGracePeriod(address)": "5c9a8b18", + "getLiquidationLogic()": "911a3413", + "getPoolLogic()": "d3350155", + "getReserveAddressById(uint16)": "52751797", + "getReserveData(address)": "35ea6a75", + "getReserveDataExtended(address)": "8381995f", + "getReserveNormalizedIncome(address)": "d15e0053", + "getReserveNormalizedVariableDebt(address)": "386497fd", + "getReservesCount()": "72218d04", + "getReservesList()": "d1946dbc", + "getSupplyLogic()": "870e7744", + "getUserAccountData(address)": "bf92857c", + "getUserConfiguration(address)": "4417a583", + "getUserEMode(address)": "eddf1b79", + "getVirtualUnderlyingBalance(address)": "6fb07f96", + "initReserve(address,address,address,address,address)": "7a708e92", + "initialize(address)": "c4d66de8", + "liquidationCall(address,address,address,uint256,bool)": "00a718a9", + "liquidationCall(bytes32,bytes32)": "fd21ecff", + "mintToTreasury(address[])": "9cd19996", + "mintUnbacked(address,uint256,address,uint16)": "69a933a5", + "rebalanceStableBorrowRate(address,address)": "cd112382", + "rebalanceStableBorrowRate(bytes32)": "427da177", + "repay(address,uint256,uint256,address)": "573ade81", + "repay(bytes32)": "563dd613", + "repayWithATokens(address,uint256,uint256)": "2dad97d4", + "repayWithATokens(bytes32)": "dc7c0bff", + "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", + "repayWithPermit(bytes32,bytes32,bytes32)": "94b576de", + "rescueTokens(address,address,uint256)": "cea9d26f", + "resetIsolationModeTotalDebt(address)": "e43e88a1", + "setConfiguration(address,(uint256))": "f51e435b", + "setLiquidationGracePeriod(address,uint40)": "b1a99e26", + "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", + "setUserEMode(uint8)": "28530a47", + "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", + "setUserUseReserveAsCollateral(bytes32)": "4d013f03", + "supply(address,uint256,address,uint16)": "617ba037", + "supply(bytes32)": "f7a73840", + "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", + "supplyWithPermit(bytes32,bytes32,bytes32)": "680dd47c", + "swapBorrowRateMode(address,uint256)": "94ba89a2", + "swapBorrowRateMode(bytes32)": "1fe3c6f3", + "swapToVariable(address,address)": "2520d5ee", + "syncIndexesState(address)": "ab2b51f6", + "syncRatesState(address)": "98c7da4e", + "updateBridgeProtocolFee(uint256)": "3036b439", + "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", + "withdraw(address,uint256,address)": "69328dec", + "withdraw(bytes32)": "8e19899e" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockLPMath.ts b/packages/hyperdrive-artifacts/src/MockLPMath.ts new file mode 100644 index 000000000..f3d27c36d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockLPMath.ts @@ -0,0 +1,1347 @@ +export const MockLPMath = { + name: 'MockLPMath' as const, + abi: [ + { + "type": "function", + "name": "calculateDistributeExcessIdle", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateDistributeExcessIdleShareProceeds", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_originalEffectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxShareReservesDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateDistributeExcessIdleWithdrawalSharesRedeemed", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shareReservesDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateInitialReserves", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_targetApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretch", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxShareReservesDeltaSafe", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_originalEffectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateNetCurveTrade", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateNetFlatTrade", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculatePresentValue", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSharesDeltaGivenBondsDeltaDerivativeSafe", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_originalEffectiveShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateUpdateLiquidity", + "inputs": [ + { + "name": "_shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "_bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareReservesDelta", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "shouldShortCircuitDistributeExcessIdleShareProceeds", + "inputs": [ + { + "name": "_params", + "type": "tuple", + "internalType": "struct LPMath.DistributeExcessIdleParams", + "components": [ + { + "name": "presentValueParams", + "type": "tuple", + "internalType": "struct LPMath.PresentValueParams", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageTimeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "startingPresentValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "activeLpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "idle", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "netCurveTrade", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "originalShareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "originalBondReserves", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_presentValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPresentValue", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061251a8061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100b1575f3560e01c8063a4fc6f811161006e578063a4fc6f8114610174578063b29e1d1e14610187578063b500f3cb146101b5578063c00b11d3146101c8578063c615b2d9146101db578063cefef8b7146101ee575f80fd5b806332c5dec4146100b55780633f9ccc01146100db578063865d65a2146100ee5780638f1505fa146101165780639e5fc16b14610139578063a0d1643c14610161575b5f80fd5b6100c86100c33660046120d9565b610201565b6040519081526020015b60405180910390f35b6100c86100e936600461217a565b610211565b6101016100fc3660046121ae565b610227565b604080519283526020830191909152016100d2565b61012961012436600461217a565b6102ac565b60405190151581526020016100d2565b61014c6101473660046121ae565b6102b8565b604080519283529015156020830152016100d2565b6100c861016f3660046121ae565b6102c4565b6100c86101823660046120d9565b6102d6565b61019a6101953660046121d9565b610355565b604080519384526020840192909252908201526060016100d2565b61019a6101c3366004612218565b610402565b6100c86101d63660046120d9565b610513565b61014c6101e936600461217a565b61058b565b61014c6101fc36600461224f565b6105a5565b5f61020b826105b9565b92915050565b5f61021f848484600461062b565b949350505050565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef6885856040518363ffffffff1660e01b81526004016102629291906122e8565b6040805180830381865af415801561027c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a0919061235d565b915091505b9250929050565b5f61021f848484610b32565b5f806102a08484610b9d565b5f6102cf8383610ca4565b9392505050565b5f805f6102e284610d69565b915091508061034e5760405162461bcd60e51b815260206004820152602d60248201527f4d6f636b4c504d6174683a2063616c63756c6174654e6574437572766554726160448201526c191954d859994819985a5b1959609a1b60648201526084015b60405180910390fd5b5092915050565b60405163594f0e8f60e11b8152600481018790526024810186905260448101859052606481018490526084810183905260a481018290525f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156103cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f0919061237f565b919b909a509098509650505050505050565b60405163685a2be760e11b815260048101869052602481018590526044810184905260648101839052608481018290525f9081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015610474573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049891906123aa565b92965090945092509050806105075760405162461bcd60e51b815260206004820152602f60248201527f4d6f636b4c504d6174683a2063616c63756c6174655570646174654c6971756960448201526e191a5d1e54d859994819985a5b1959608a1b6064820152608401610345565b50955095509592505050565b604051635f9d50ab60e11b81525f9073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061054c9085906004016123ec565b602060405180830381865af4158015610567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b91906123fb565b5f80610598858585611080565b915091505b935093915050565b5f806105b0836113d5565b91509150915091565b5f6105f06105eb836101200151670de0b6b3a76400006105d99190612426565b606085015161010086015191906114a2565b6114c5565b6106216105eb846101600151670de0b6b3a764000061060f9190612426565b606086015161014087015191906114f2565b61020b9190612439565b5f80856060015186604001516106419190612458565b602087015160608801519192505f9161065a91846114f2565b90508660a001515f0361067057915061021f9050565b5f808089600488101561068257600497505b5f5b888110156109db57610696868b61150d565b95505f6106cb8360c001518460e00151856101000151865f015160a001516106bd8c6114c5565b6106c69061246b565b611521565b865160408101929092526020820192909252919091529050806106f8575f9850505050505050505061021f565b5f6107058e5f015161162c565b925090508161071f575f995050505050505050505061021f565b61072a84828b610b32565b156107405787995050505050505050505061021f565b5f8460a0015113156108a257835180516020820151604083015160a084015160e0909401515f946107929493929161078090670de0b6b3a7640000612426565b8a5160608101516080909101516116b2565b93509050826107ad575f9a505050505050505050505061021f565b808560a00151106108a0576107c1856113d5565b9099509250826107dd575f9a505050505050505050505061021f565b6108018560c001518660e00151876101000151885f015160a001516106bd8e6114c5565b88516040810192909252602082019290925291909152925082610830575f9a505050505050505050505061021f565b845180516020820151604083015160a084015160e090940151610860949061078090670de0b6b3a7640000612426565b935090508261087b575f9a505050505050505050505061021f565b8e60a00151811161089857889a505050505050505050505061021f565b5050506109d3565b505b5f6108b2858f8760a00151611080565b935090508215806108cb5750670de0b6b3a76400008110155b156108e2575f9a505050505050505050505061021f565b80670de0b6b3a76400000390505f61090e6105eb876040015188602001516117af90919063ffffffff16565b61091b6105eb858e6117c3565b6109259190612439565b90508815806109435750610938896117d7565b610941826117d7565b105b15610952578098508997508296505b5f81131561097f5761096e8b61096883856117e8565b906117e8565b610978908b612458565b99506109ce565b5f8112156109c5575f6109978c61096885818661246b565b90508a8110156109ab57808b039a506109bf565b5f9c5050505050505050505050505061021f565b506109ce565b505050506109db565b505050505b600101610684565b505f610a018260c001518360e00151846101000151855f015160a001516106bd8b6114c5565b85516040810192909252602082019290925291909152905080610a2d575f97505050505050505061021f565b5f610a3a835f01516117fc565b90505f610a5b6105eb856040015186602001516117af90919063ffffffff16565b610a686105eb848c6117c3565b610a729190612439565b9050610a7d876117d7565b610a86826117d7565b1015610a93578795508194505b610aba610aae655af3107a4000670de0b6b3a7640000612426565b6020860151908b6114a2565b6040850151610aca9087906117e8565b1080610b0a5750610af8610aec655af3107a4000670de0b6b3a7640000612458565b6020860151908b6114f2565b6040850151610b0890879061182a565b115b15610b20575f995050505050505050505061021f565b50939c9b505050505050505050505050565b60208301515f90610b43908461182a565b6040850151610b539084906117e8565b1015801561021f57506020840151610b839084610b7c633b9aca00670de0b6b3a7640000612458565b91906114f2565b6040850151610b9390849061182a565b1115949350505050565b5f805f8460a0015112610bb8575050608082015160016102a5565b5f8460a00151610bc79061246b565b90505f610c0185876101000151885f015160e00151670de0b6b3a7640000610bef9190612426565b8951606081015160809091015161183e565b93509050821580610c10575080155b15610c22575f809350935050506102a5565b5f610c2d838361182a565b9050670de0b6b3a76400008111610c695780670de0b6b3a7640000039450610c628760c00151866117c390919063ffffffff16565b9450610c77565b5f80945094505050506102a5565b8660800151851115610c965786608001516001945094505050506102a5565b506001925050509250929050565b5f80610cca8460c001518560e00151866101000151875f015160a001516106bd886114c5565b87516040810192909252602082019290925291909152905080610cf0575f91505061020b565b5f610cfd855f015161162c565b9250905081610d10575f9250505061020b565b84602001518110610d25575f9250505061020b565b5f85606001518660400151610d3a9190612458565b9050610d55828760200151836114f29092919063ffffffff16565b610d5f9082612426565b9695505050505050565b5f805f610d8c6105eb8561016001518661014001516117c390919063ffffffff16565b610dac6105eb8661012001518761010001516117af90919063ffffffff16565b610db69190612439565b90505f80610dcb865f015187602001516118e6565b9150915080610de157505f958695509350505050565b5f831315610f28575f8390505f610e2b885f015189602001518a604001518b60a001518c60e00151670de0b6b3a7640000610e1c9190612426565b8d606001518e608001516116b2565b9350905082610e4357505f9788975095505050505050565b818110610ede575f610e7c858a60400151858c60e00151670de0b6b3a7640000610e6d9190612426565b8d606001518e6080015161191e565b9450905083158015610e9157508860c0015183105b15610ea757505f98600198509650505050505050565b83610ebc57505f988998509650505050505050565b610ec5816114c5565b610ece9061246b565b9960019950975050505050505050565b5f886020015112610f1457610efc8860a00151856105eb9190612426565b610f059061246b565b98600198509650505050505050565b60a08801518851610efc916105eb91612426565b5f831215611072575f610f3a8461246b565b90505f610f6d8489604001518a60e00151670de0b6b3a7640000610f5e9190612426565b8b606001518c6080015161183e565b9350905082610f8557505f9788975095505050505050565b818110611007575f610fbe858a60400151858c60e00151670de0b6b3a7640000610faf9190612426565b8d606001518e608001516119dd565b9450905083158015610fd357508860c0015183105b15610fe957505f98600198509650505050505050565b83610ffe57505f988998509650505050505050565b610ece816114c5565b5f611038858a604001518b60e00151670de0b6b3a76400006110299190612426565b8c606001518d60800151611aaf565b945090508361105157505f988998509650505050505050565b610ece6110688a6060015184866109689190612426565b6105eb9083612458565b505f95600195509350505050565b5f805f8084126110a25785516040015161109b908590612458565b90506110db565b5f6110ac8561246b565b8751604001519091508110156110cc5786516040015181900391506110d9565b5f8093509350505061059d565b505b855180516020909101515f9182916110f391906118e6565b915091508061110a575f809450945050505061059d565b875160e08101516040909101515f9161113e916111329161112b9190611b61565b8a906117c3565b6101008b01519061182a565b895160e081015160809091015161116f916111639161115d90886117c3565b90611b61565b8b51606001519061182a565b6111799190612458565b90505f6111af6111a361119c8c5f015160e0015188611b6190919063ffffffff16565b8b906117af565b6101008c0151906117e8565b9050808210156111c9575f8096509650505050505061059d565b80820391505f611208858c5f0151604001518d5f015160e00151670de0b6b3a76400006111f69190612426565b8e516060810151608090910151611bc6565b90505f6112308c5f015160e00151670de0b6b3a76400006112299190612426565b8890611b61565b90508082101561124c575f80985098505050505050505061059d565b8b516080810151606090910151918303916112689183916114a2565b9050670de0b6b3a764000081106112b3578b5160e001516112ac906112a59061129990670de0b6b3a7640000612426565b8e5160e001519061182a565b8290611b61565b90506112e2565b8b5160e001516112df906112a5906112d390670de0b6b3a7640000612426565b8e5160e00151906117e8565b90505b8b51606001516112f590859083906114a2565b935083670de0b6b3a764000011156113195783670de0b6b3a764000003935061132c565b5f6001985098505050505050505061059d565b5f8c60e001511261138d5760c08c015160e08d015161134a9161182a565b9250670de0b6b3a764000083111561136e575f80985098505050505050505061059d565b670de0b6b3a7640000929092039161138684846117c3565b93506113c2565b6113bf6113a68d60c001518e60e001516109689061246b565b6113b890670de0b6b3a7640000612458565b85906117c3565b93505b50919a60019a5098505050505050505050565b5f805f8360e00151136113ec57505f928392509050565b5f6113f9845f01516105b9565b90505f6114248560400151866060015187604001516114189190612458565b602088015191906114a2565b90505f8212611449578082101561143d5781900361145f565b505f9485945092505050565b6114528261246b565b61145c9082612458565b90505b60e085015160c08601516114749183906114a2565b9050808560c00151101561148e57505f9485945092505050565b808560c00151036001935093505050915091565b5f825f1904841183021582026114b6575f80fd5b50910281810615159190040190565b5f6001600160ff1b038211156114ee5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f825f190484118302158202611506575f80fd5b5091020490565b5f81831161151b57826102cf565b50919050565b5f805f80845f0361153d57508792508691508590506001611620565b5f856115488b6114c5565b6115529190612485565b905061155d876114c5565b811215611576575f805f80945094509450945050611620565b8094505f89126115955761158e6105eb868b8d6114f2565b93506115b8565b6115ac6105eb6115a48b61246b565b87908d6114a2565b6115b59061246b565b93505b5f806115c48c8c6118e6565b91509150806115e1575f805f809650965096509650505050611620565b5f6115ec88886118e6565b925090508161160a575f805f80975097509750975050505050611620565b6116158b82856114f2565b955060019450505050505b95509550955095915050565b5f805f805f61163a86610d69565b915091508061165057505f958695509350505050565b61165d8660a001516114c5565b611666876105b9565b83611673895f01516114c5565b61167d9190612485565b6116879190612485565b6116919190612439565b925050505f8112156116a857505f93849350915050565b9360019350915050565b5f805f8812156116d2576116c58861246b565b6116cf9087612458565b95505b5f806116de8b8b6118e6565b91509150806116f4575f809350935050506117a3565b5f611702838b8a8a8a611bf4565b90505f61171e6117168a61115d8a8e6117af565b8990896114a2565b905080821015611737575f8095509550505050506117a3565b808203670de0b6b3a764000081106117655761175e6112a5670de0b6b3a76400008c6117e8565b905061177d565b61177a6112a5670de0b6b3a76400008c61182a565b90505b8b811015611795575f809650965050505050506117a3565b8b9003955060019450505050505b97509795505050505050565b5f6102cf8383670de0b6b3a76400006114a2565b5f6102cf8383670de0b6b3a76400006114f2565b5f808212156114ee57815f0361020b565b5f6102cf83670de0b6b3a7640000846114f2565b5f805f6118088461162c565b915091508061034e57604051635516328b60e11b815260040160405180910390fd5b5f6102cf83670de0b6b3a7640000846114a2565b5f805f61184e8888888888611bc6565b90505f611878670de0b6b3a764000061186788886117e8565b6118719190612458565b839061182a565b9050670de0b6b3a764000081106118a55761189e6112a5670de0b6b3a76400008961182a565b90506118bd565b6118ba6112a5670de0b6b3a7640000896117e8565b90505b808810156118d2575f809350935050506118dc565b8703925060019150505b9550959350505050565b5f805f836118f3866114c5565b6118fd9190612439565b90505f811215611913575f8092509250506102a5565b946001945092505050565b5f805f61192e8989888888611bc6565b905061193e8661115d898b612458565b975087811015611954575f8092509250506119d2565b8781036119628186886114a2565b9050670de0b6b3a7640000811061198f576119886112a5670de0b6b3a76400008961182a565b90506119a7565b6119a46112a5670de0b6b3a7640000896117e8565b90505b6119b1818661182a565b9050808a10156119c8575f809350935050506119d2565b8903925060019150505b965096945050505050565b5f805f6119ed8989888888611bc6565b905086881015611a03575f8092509250506119d2565b9686900396611a128887611b61565b975087811015611a28575f8092509250506119d2565b878103611a368186886114a2565b9050670de0b6b3a76400008110611a6357611a5c6112a5670de0b6b3a76400008961182a565b9050611a7b565b611a786112a5670de0b6b3a7640000896117e8565b90505b611a85818661182a565b905089811015611a9c575f809350935050506119d2565b9890980398600198509650505050505050565b5f805f611abf8888888888611bf4565b90505f611ae9670de0b6b3a7640000611ad8888861182a565b611ae29190612458565b83906117e8565b9050670de0b6b3a76400008110611b1657611b0f6112a5670de0b6b3a7640000896117e8565b9050611b2e565b611b2b6112a5670de0b6b3a76400008961182a565b90505b611b3881866117e8565b905088811015611b4f575f809350935050506118dc565b97909703976001975095505050505050565b5f815f03611b785750670de0b6b3a764000061020b565b825f03611b8657505f61020b565b5f611b90836114c5565b90505f611ba4611b9f866114c5565b611c18565b9050818102611bbb670de0b6b3a7640000826124ac565b9050610d5f81611e46565b5f611bd18585611b61565b611bea611be28661115d868b6117af565b8590856114a2565b610d5f9190612458565b5f611bff8585611b61565b611bea611c108661115d868b6117c3565b8590856114f2565b5f808213611c395760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190611cc59084901c6114c5565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213611e5f57505f919050565b680755bf798b4a1bf1e58212611e88576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190610d5f74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114c5565b604051610180810167ffffffffffffffff8111828210171561200857634e487b7160e01b5f52604160045260245ffd5b60405290565b604051610120810167ffffffffffffffff8111828210171561200857634e487b7160e01b5f52604160045260245ffd5b5f610180828403121561204f575f80fd5b612057611fd8565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b5f61018082840312156120ea575f80fd5b6102cf838361203e565b5f6102808284031215612105575f80fd5b61210d61200e565b9050612119838361203e565b815261018082013560208201526101a082013560408201526101c082013560608201526101e0820135608082015261020082013560a082015261022082013560c082015261024082013560e082015261026082013561010082015292915050565b5f805f6102c0848603121561218d575f80fd5b61219785856120f4565b9561028085013595506102a0909401359392505050565b5f806102a083850312156121c0575f80fd5b6121ca84846120f4565b94610280939093013593505050565b5f805f805f8060c087890312156121ee575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f60a0868803121561222c575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f6102808284031215612260575f80fd5b6102cf83836120f4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506122fb82855161226a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561236e575f80fd5b505080516020909101519092909150565b5f805f60608486031215612391575f80fd5b8351925060208401519150604084015190509250925092565b5f805f80608085870312156123bd575f80fd5b845193506020850151925060408501519150606085015180151581146123e1575f80fd5b939692955090935050565b610180810161020b828461226a565b5f6020828403121561240b575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561020b5761020b612412565b8181035f83128015838313168383128216171561034e5761034e612412565b8082018082111561020b5761020b612412565b5f600160ff1b820161247f5761247f612412565b505f0390565b8082018281125f8312801582168215821617156124a4576124a4612412565b505092915050565b5f826124c657634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156124df576124df612412565b50059056fea2646970667358221220c1489ea17c5fc61a3b455bb2f0d398358386a0beec6f70da990abbdd8dc3c07e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "calculateDistributeExcessIdle(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "865d65a2", + "calculateDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "3f9ccc01", + "calculateDistributeExcessIdleShareProceedsNetLongEdgeCaseSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256))": "cefef8b7", + "calculateDistributeExcessIdleWithdrawalSharesRedeemed(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "a0d1643c", + "calculateInitialReserves(uint256,uint256,uint256,uint256,uint256,uint256)": "b29e1d1e", + "calculateMaxShareReservesDeltaSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256)": "9e5fc16b", + "calculateNetCurveTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "a4fc6f81", + "calculateNetFlatTrade((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "32c5dec4", + "calculatePresentValue((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": "c00b11d3", + "calculateSharesDeltaGivenBondsDeltaDerivativeSafe(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,int256)": "c615b2d9", + "calculateUpdateLiquidity(uint256,int256,uint256,uint256,int256)": "b500f3cb", + "shouldShortCircuitDistributeExcessIdleShareProceeds(((uint256,int256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256,uint256,int256,uint256,int256,uint256),uint256,uint256)": "8f1505fa" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockLido.ts b/packages/hyperdrive-artifacts/src/MockLido.ts new file mode 100644 index 000000000..4282d29e4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockLido.ts @@ -0,0 +1,1156 @@ +export const MockLido = { + name: 'MockLido' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_initialRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + }, + { + "name": "_isCompetitionMode", + "type": "bool", + "internalType": "bool" + }, + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBufferedEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getPooledEthByShares", + "inputs": [ + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSharesByPooledEth", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompetitionMode", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isUnrestricted", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMintAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMaxMintAmount", + "inputs": [ + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRate", + "inputs": [ + { + "name": "_rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUnrestrictedMintStatus", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sharesOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "submit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferShares", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferSharesFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferShares", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "sharesValue", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ERC20InsufficientAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "allowance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InsufficientBalance", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSpender", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x60a060405234801562000010575f80fd5b506040516200211b3803806200211b833981016040819052620000339162000159565b604080518082018252601781527f4c6971756964207374616b656420457468657220322e300000000000000000006020808301919091528251808401845260058152640e6e88aa8960db1b918101919091525f80546001600160a01b03199081166001600160a01b038916908117835560018054309316831790559451939492938893919284928492909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505081600990816200012e919062000250565b50600a6200013d828262000250565b505050600d9390935542600e55151560805250600b556200031c565b5f805f80608085870312156200016d575f80fd5b845160208601519094506001600160a01b03811681146200018c575f80fd5b60408601519093508015158114620001a2575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001db57607f821691505b602082108103620001fa57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200024b57805f5260205f20601f840160051c81016020851015620002275750805b601f840160051c820191505b8181101562000248575f815560010162000233565b50505b505050565b81516001600160401b038111156200026c576200026c620001b2565b62000284816200027d8454620001c6565b8462000200565b602080601f831160018114620002ba575f8415620002a25750858301515b5f19600386901b1c1916600185901b17855562000314565b5f85815260208120601f198616915b82811015620002ea57888601518255948401946001909101908401620002c9565b50858210156200030857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b608051611db5620003665f395f81816105620152818161086e0152818161098801528181610b7701528181610bf601528181610c5b015281816110e401526111450152611db55ff3fe60806040526004361061025f575f3560e01c8063728b952b1161013f578063aed30777116100b3578063dd62ed3e11610078578063dd62ed3e14610730578063e688747b14610774578063ea7ca276146107b5578063ed0d0efb146107f7578063f2fde38b14610822578063f5eb42dc14610841575f80fd5b8063aed307771461067c578063b7009613146106aa578063bf7e214f146106c9578063c53a3985146106e8578063d5002f2e1461071c575f80fd5b80638fcb4e5b116101045780638fcb4e5b146105d957806395d89b41146105f85780639dc29fac1461060c578063a0712d681461062b578063a1903eab1461064a578063a9059cbb1461065d575f80fd5b8063728b952b146105135780637a28fb88146105325780637a8c63b5146105515780637a9e5e4b146105845780638da5cb5b146105a3575f80fd5b8063313ce567116101d657806347b714e01161019b57806347b714e0146104715780634b5159da14610483578063679aefce146104a257806367aff484146104b65780636d780459146104d557806370a08231146104f4575f80fd5b8063313ce567146103e557806334fcf4371461040057806337cfdaca1461041f57806340c10f191461043357806342966c6814610452575f80fd5b80630bade8a4116102275780630bade8a4146103315780630ea9b75b1461035f57806318160ddd1461037e5780631920845114610392578063239c70ae146103b157806323b872dd146103c6575f80fd5b806305f05a941461026357806306a36aee1461028457806306fdde03146102c2578063088a4ed0146102e3578063095ea7b314610302575b5f80fd5b34801561026e575f80fd5b5061028261027d366004611972565b61086c565b005b34801561028f575f80fd5b506102af61029e3660046119a9565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b3480156102cd575f80fd5b506102d66108f6565b6040516102b991906119c4565b3480156102ee575f80fd5b506102826102fd366004611a10565b610986565b34801561030d575f80fd5b5061032161031c366004611a27565b6109e2565b60405190151581526020016102b9565b34801561033c575f80fd5b5061032161034b366004611a6d565b60046020525f908152604090205460ff1681565b34801561036a575f80fd5b50610282610379366004611a96565b6109fb565b348015610389575f80fd5b506008546102af565b34801561039d575f80fd5b506102af6103ac366004611a10565b610ad0565b3480156103bc575f80fd5b506102af600b5481565b3480156103d1575f80fd5b506103216103e0366004611ada565b610aed565b3480156103f0575f80fd5b50604051601281526020016102b9565b34801561040b575f80fd5b5061028261041a366004611a10565b610b75565b34801561042a575f80fd5b506102af610bd9565b34801561043e575f80fd5b5061028261044d366004611a27565b610bf4565b34801561045d575f80fd5b5061028261046c366004611a10565b610c59565b34801561047c575f80fd5b505f6102af565b34801561048e575f80fd5b5061028261049d366004611b18565b610cbd565b3480156104ad575f80fd5b50600d546102af565b3480156104c1575f80fd5b506102826104d0366004611b32565b610d4d565b3480156104e0575f80fd5b506102af6104ef366004611ada565b610e12565b3480156104ff575f80fd5b506102af61050e3660046119a9565b610ea5565b34801561051e575f80fd5b5061028261052d366004611b5d565b610ec6565b34801561053d575f80fd5b506102af61054c366004611a10565b610f4d565b34801561055c575f80fd5b506103217f000000000000000000000000000000000000000000000000000000000000000081565b34801561058f575f80fd5b5061028261059e3660046119a9565b610f61565b3480156105ae575f80fd5b505f546105c1906001600160a01b031681565b6040516001600160a01b0390911681526020016102b9565b3480156105e4575f80fd5b506102af6105f3366004611a27565b611045565b348015610603575f80fd5b506102d66110d3565b348015610617575f80fd5b50610282610626366004611a27565b6110e2565b348015610636575f80fd5b50610282610645366004611a10565b611143565b6102af6106583660046119a9565b6111a4565b348015610668575f80fd5b50610321610677366004611a27565b611262565b348015610687575f80fd5b506103216106963660046119a9565b600c6020525f908152604090205460ff1681565b3480156106b5575f80fd5b506103216106c4366004611b89565b6112e6565b3480156106d4575f80fd5b506001546105c1906001600160a01b031681565b3480156106f3575f80fd5b506105c16107023660046119a9565b60026020525f90815260409020546001600160a01b031681565b348015610727575f80fd5b506010546102af565b34801561073b575f80fd5b506102af61074a366004611b5d565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b34801561077f575f80fd5b5061032161078e366004611bcd565b6001600160e01b0319165f9081526005602052604090205460ff919091161c600116151590565b3480156107c0575f80fd5b506103216107cf366004611bfe565b6001600160a01b03919091165f90815260036020526040902054600160ff9092161c16151590565b348015610802575f80fd5b506102af610811366004611a6d565b60056020525f908152604090205481565b34801561082d575f80fd5b5061028261083c3660046119a9565b6113df565b34801561084c575f80fd5b506102af61085b3660046119a9565b60116020525f908152604090205481565b7f0000000000000000000000000000000000000000000000000000000000000000156108cc576108a7335f356001600160e01b03191661145a565b6108cc5760405162461bcd60e51b81526004016108c390611c28565b60405180910390fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b60606009805461090590611c5f565b80601f016020809104026020016040519081016040528092919081815260200182805461093190611c5f565b801561097c5780601f106109535761010080835404028352916020019161097c565b820191905f5260205f20905b81548152906001019060200180831161095f57829003601f168201915b5050505050905090565b7f0000000000000000000000000000000000000000000000000000000000000000156109dd576109c1335f356001600160e01b03191661145a565b6109dd5760405162461bcd60e51b81526004016108c390611c28565b600b55565b5f336109ef818585611500565b60019150505b92915050565b610a10335f356001600160e01b03191661145a565b610a2c5760405162461bcd60e51b81526004016108c390611c97565b8015610a5b576001600160e01b031982165f9081526005602052604090208054600160ff86161b179055610a81565b6001600160e01b031982165f9081526005602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610ac3911515815260200190565b60405180910390a3505050565b5f6109f5610add60105490565b610ae5610bd9565b849190611512565b5f610af661152d565b5f610b0083610ad0565b9050610b0d85858361155c565b506040518381526001600160a01b0385169033905f80516020611d608339815191529060200160405180910390a36040518181526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610bcc57610bb0335f356001600160e01b03191661145a565b610bcc5760405162461bcd60e51b81526004016108c390611c28565b610bd461152d565b600d55565b5f610be26115d5565b600f54610bef9190611cd1565b905090565b7f000000000000000000000000000000000000000000000000000000000000000015610c4b57610c2f335f356001600160e01b03191661145a565b610c4b5760405162461bcd60e51b81526004016108c390611c28565b610c558282611634565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610cb057610c94335f356001600160e01b03191661145a565b610cb05760405162461bcd60e51b81526004016108c390611c28565b610cba3382611720565b50565b610cd2335f356001600160e01b03191661145a565b610cee5760405162461bcd60e51b81526004016108c390611c97565b6001600160e01b031982165f81815260046020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610d62335f356001600160e01b03191661145a565b610d7e5760405162461bcd60e51b81526004016108c390611c97565b8015610dac576001600160a01b0383165f9081526003602052604090208054600160ff85161b179055610dd1565b6001600160a01b0383165f9081526003602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610ac3911515815260200190565b5f610e1b61152d565b5f610e2785858561155c565b9050836001600160a01b0316856001600160a01b03165f80516020611d6083398151915283604051610e5b91815260200190565b60405180910390a3836001600160a01b0316856001600160a01b03165f80516020611d4083398151915285604051610e9591815260200190565b60405180910390a3949350505050565b6001600160a01b0381165f908152601160205260408120546109f590610f4d565b610edb335f356001600160e01b03191661145a565b610ef75760405162461bcd60e51b81526004016108c390611c97565b6001600160a01b038281165f8181526002602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f6109f5610f59610bd9565b601054610ae5565b5f546001600160a01b0316331480610ff2575060015460405163b700961360e01b81526001600160a01b039091169063b700961390610fb390339030906001600160e01b03195f351690600401611ce4565b602060405180830381865afa158015610fce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff29190611d11565b610ffa575f80fd5b600180546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f61104e61152d565b5f6110598484611786565b9050836001600160a01b0316336001600160a01b03165f80516020611d608339815191528360405161108d91815260200190565b60405180910390a36040518381526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a36110cb83610f4d565b949350505050565b6060600a805461090590611c5f565b7f0000000000000000000000000000000000000000000000000000000000000000156111395761111d335f356001600160e01b03191661145a565b6111395760405162461bcd60e51b81526004016108c390611c28565b610c558282611720565b7f00000000000000000000000000000000000000000000000000000000000000001561119a5761117e335f356001600160e01b03191661145a565b61119a5760405162461bcd60e51b81526004016108c390611c28565b610cba3382611634565b5f6111ad61152d565b6010545f036111eb57346010819055600f819055335f90815260116020526040812080549091906111df908490611cd1565b90915550349392505050565b5f6112086111f860105490565b611200610bd9565b349190611512565b905034600f5f82825461121b9190611cd1565b925050819055508060105f8282546112339190611cd1565b9091555050335f9081526011602052604081208054839290611256908490611cd1565b90915550909392505050565b5f61126b61152d565b5f61127583610ad0565b90506112818482611786565b506040518381526001600160a01b0385169033905f80516020611d608339815191529060200160405180910390a36040518181526001600160a01b0385169033905f80516020611d408339815191529060200160405180910390a35060019392505050565b6001600160a01b038083165f90815260026020526040812054909116801561137f5760405163b700961360e01b81526001600160a01b0382169063b70096139061133890889088908890600401611ce4565b602060405180830381865afa158015611353573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113779190611d11565b915050610b6e565b6001600160e01b031983165f9081526004602052604090205460ff16806113d657506001600160e01b031983165f908152600560209081526040808320546001600160a01b03891684526003909252909120541615155b95945050505050565b6113f4335f356001600160e01b03191661145a565b6114105760405162461bcd60e51b81526004016108c390611c97565b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001545f906001600160a01b031680158015906114e1575060405163b700961360e01b81526001600160a01b0382169063b7009613906114a290879030908890600401611ce4565b602060405180830381865afa1580156114bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e19190611d11565b806110cb57505f546001600160a01b0385811691161491505092915050565b61150d83838360016117e1565b505050565b5f825f190484118302158202611526575f80fd5b5091020490565b5f6115366115d5565b905080156115555780600f5f82825461154f9190611cd1565b90915550505b5042600e55565b5f8061156783610f4d565b90506115748533836118b4565b6001600160a01b0385165f908152601160205260408120805485929061159b908490611d2c565b90915550506001600160a01b0384165f90815260116020526040812080548592906115c7908490611cd1565b909155509095945050505050565b5f600d545f036115e457505f90565b600e544210156115f357505f90565b5f6116106301e13380600e544261160a9190611d2c565b90611929565b90505f610b6e61162b83600d5461193d90919063ffffffff16565b600f549061193d565b335f908152600c602052604090205460ff1661169c57600b5481111561169c5760405162461bcd60e51b815260206004820152601d60248201527f4d6f636b4c69646f3a20496e76616c6964206d696e7420616d6f756e7400000060448201526064016108c3565b5f6116a660105490565b5f036116b35750806116bf565b6116bc82610ad0565b90505b6001600160a01b0383165f90815260116020526040812080548392906116e6908490611cd1565b9250508190555081600f5f8282546116fe9190611cd1565b925050819055508060105f8282546117169190611cd1565b9091555050505050565b5f61172a82610ad0565b6001600160a01b0384165f90815260116020526040812080549293508392909190611756908490611d2c565b9250508190555081600f5f82825461176e9190611d2c565b925050819055508060105f8282546117169190611d2c565b335f908152601160205260408120805483919083906117a6908490611d2c565b90915550506001600160a01b0383165f90815260116020526040812080548492906117d2908490611cd1565b90915550610b6e905082610f4d565b6001600160a01b03841661180a5760405163e602df0560e01b81525f60048201526024016108c3565b6001600160a01b03831661183357604051634a1406b160e11b81525f60048201526024016108c3565b6001600160a01b038085165f90815260076020908152604080832093871683529290522082905580156118ae57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516118a591815260200190565b60405180910390a35b50505050565b6001600160a01b038381165f908152600760209081526040808320938616835292905220545f1981146118ae578181101561191b57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016108c3565b6118ae84848484035f6117e1565b5f610b6e83670de0b6b3a764000084611512565b5f610b6e8383670de0b6b3a7640000611512565b6001600160a01b0381168114610cba575f80fd5b8015158114610cba575f80fd5b5f8060408385031215611983575f80fd5b823561198e81611951565b9150602083013561199e81611965565b809150509250929050565b5f602082840312156119b9575f80fd5b8135610b6e81611951565b5f602080835283518060208501525f5b818110156119f0578581018301518582016040015282016119d4565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611a20575f80fd5b5035919050565b5f8060408385031215611a38575f80fd5b8235611a4381611951565b946020939093013593505050565b80356001600160e01b031981168114611a68575f80fd5b919050565b5f60208284031215611a7d575f80fd5b610b6e82611a51565b803560ff81168114611a68575f80fd5b5f805f60608486031215611aa8575f80fd5b611ab184611a86565b9250611abf60208501611a51565b91506040840135611acf81611965565b809150509250925092565b5f805f60608486031215611aec575f80fd5b8335611af781611951565b92506020840135611b0781611951565b929592945050506040919091013590565b5f8060408385031215611b29575f80fd5b61198e83611a51565b5f805f60608486031215611b44575f80fd5b8335611b4f81611951565b9250611abf60208501611a86565b5f8060408385031215611b6e575f80fd5b8235611b7981611951565b9150602083013561199e81611951565b5f805f60608486031215611b9b575f80fd5b8335611ba681611951565b92506020840135611bb681611951565b9150611bc460408501611a51565b90509250925092565b5f8060408385031215611bde575f80fd5b611be783611a86565b9150611bf560208401611a51565b90509250929050565b5f8060408385031215611c0f575f80fd5b8235611c1a81611951565b9150611bf560208401611a86565b60208082526018908201527f4d6f636b4c69646f3a206e6f7420617574686f72697a65640000000000000000604082015260600190565b600181811c90821680611c7357607f821691505b602082108103611c9157634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156109f5576109f5611cbd565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611d21575f80fd5b8151610b6e81611965565b818103818111156109f5576109f5611cbd56fe9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcbddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c64c96e3308b8e17d92ad04d2f2a29ffc25a8efc4027bf469d829c7c609dd6d364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "authority()": "bf7e214f", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "burn(uint256)": "42966c68", + "canCall(address,address,bytes4)": "b7009613", + "decimals()": "313ce567", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "getBufferedEther()": "47b714e0", + "getPooledEthByShares(uint256)": "7a28fb88", + "getRate()": "679aefce", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getSharesByPooledEth(uint256)": "19208451", + "getTargetCustomAuthority(address)": "c53a3985", + "getTotalPooledEther()": "37cfdaca", + "getTotalShares()": "d5002f2e", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "isCompetitionMode()": "7a8c63b5", + "isUnrestricted(address)": "aed30777", + "maxMintAmount()": "239c70ae", + "mint(address,uint256)": "40c10f19", + "mint(uint256)": "a0712d68", + "name()": "06fdde03", + "owner()": "8da5cb5b", + "setAuthority(address)": "7a9e5e4b", + "setMaxMintAmount(uint256)": "088a4ed0", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRate(uint256)": "34fcf437", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUnrestrictedMintStatus(address,bool)": "05f05a94", + "setUserRole(address,uint8,bool)": "67aff484", + "sharesOf(address)": "f5eb42dc", + "submit(address)": "a1903eab", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "transferShares(address,uint256)": "8fcb4e5b", + "transferSharesFrom(address,address,uint256)": "6d780459" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockRocketPool.ts b/packages/hyperdrive-artifacts/src/MockRocketPool.ts new file mode 100644 index 000000000..51afac119 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockRocketPool.ts @@ -0,0 +1,1089 @@ +export const MockRocketPool = { + name: 'MockRocketPool' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_initialRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_admin", + "type": "address", + "internalType": "address" + }, + { + "name": "_isCompetitionMode", + "type": "bool", + "internalType": "bool" + }, + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEthValue", + "inputs": [ + { + "name": "_rethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRate", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRethValue", + "inputs": [ + { + "name": "_ethAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalPooledEther", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTotalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompetitionMode", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isUnrestricted", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxMintAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setMaxMintAmount", + "inputs": [ + { + "name": "_maxMintAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRate", + "inputs": [ + { + "name": "_rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUnrestrictedMintStatus", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "address" + }, + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "submit", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferShares", + "inputs": [ + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferSharesFrom", + "inputs": [ + { + "name": "_sender", + "type": "address", + "internalType": "address" + }, + { + "name": "_recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "_sharesAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x61010060405234801562000011575f80fd5b506040516200241c3803806200241c83398101604081905262000034916200020d565b6040518060400160405280600e81526020016d0a4dec6d6cae8a0deded8408aa8960931b815250604051806040016040528060048152602001630a48aa8960e31b815250601285858582308181898989825f908162000094919062000304565b506001620000a3838262000304565b5060ff81166080524660a052620000b962000173565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a35050505090151560e052600c55505050600e94909455505042600f55506200044a9050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051620001a59190620003d0565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f805f806080858703121562000221575f80fd5b845160208601519094506001600160a01b038116811462000240575f80fd5b6040860151909350801515811462000256575f80fd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200028f57607f821691505b602082108103620002ae57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002ff57805f5260205f20601f840160051c81016020851015620002db5750805b601f840160051c820191505b81811015620002fc575f8155600101620002e7565b50505b505050565b81516001600160401b0381111562000320576200032062000266565b62000338816200033184546200027a565b84620002b4565b602080601f8311600181146200036e575f8415620003565750858301515b5f19600386901b1c1916600185901b178555620003c8565b5f85815260208120601f198616915b828110156200039e578886015182559484019460019091019084016200037d565b5085821015620003bc57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f808354620003df816200027a565b60018281168015620003fa576001811462000410576200043e565b60ff19841687528215158302870194506200043e565b875f526020805f205f5b85811015620004355781548a8201529084019082016200041a565b50505082870194505b50929695505050505050565b60805160a05160c05160e051611f6d620004af5f395f8181610587015281816108c4015281816109d901528181610c5201528181610d2601528181610dc30152818161118501526111e601525f610cec01525f610cb701525f6103e30152611f6d5ff3fe60806040526004361061026a575f3560e01c8063728b952b1161014a578063a9059cbb116100be578063d505accf11610078578063d505accf146107a0578063dd62ed3e146107bf578063e688747b146107f5578063ea7ca27614610836578063ed0d0efb14610878578063f2fde38b146108a3575f80fd5b8063a9059cbb146106cd578063aed30777146106ec578063b70096131461071a578063bf7e214f14610739578063c53a398514610758578063d5002f2e1461078c575f80fd5b80638da5cb5b1161010f5780638da5cb5b146106125780638fcb4e5b1461064957806395d89b41146106685780639dc29fac1461067c578063a0712d681461069b578063a1903eab146106ba575f80fd5b8063728b952b146105575780637a8c63b5146105765780637a9e5e4b146105a95780637ecebe00146105c85780638b32fa23146105f3575f80fd5b806334fcf437116101e15780634346f03e116101a65780634346f03e1461049c5780634b5159da146104bb578063679aefce146104da57806367aff484146104ee5780636d7804591461050d57806370a082311461052c575f80fd5b806334fcf437146104175780633644e5151461043657806337cfdaca1461044a57806340c10f191461045e57806342966c681461047d575f80fd5b80630bade8a4116102325780630bade8a41461033c5780630ea9b75b1461036a57806318160ddd14610389578063239c70ae1461039e57806323b872dd146103b3578063313ce567146103d2575f80fd5b806305f05a941461026e57806306a36aee1461028f57806306fdde03146102cd578063088a4ed0146102ee578063095ea7b31461030d575b5f80fd5b348015610279575f80fd5b5061028d610288366004611a01565b6108c2565b005b34801561029a575f80fd5b506102ba6102a9366004611a38565b60096020525f908152604090205481565b6040519081526020015b60405180910390f35b3480156102d8575f80fd5b506102e161094c565b6040516102c49190611a53565b3480156102f9575f80fd5b5061028d610308366004611a9f565b6109d7565b348015610318575f80fd5b5061032c610327366004611ab6565b610a33565b60405190151581526020016102c4565b348015610347575f80fd5b5061032c610356366004611afc565b600a6020525f908152604090205460ff1681565b348015610375575f80fd5b5061028d610384366004611b25565b610a9f565b348015610394575f80fd5b506102ba60025481565b3480156103a9575f80fd5b506102ba600c5481565b3480156103be575f80fd5b5061032c6103cd366004611b69565b610b74565b3480156103dd575f80fd5b506104057f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102c4565b348015610422575f80fd5b5061028d610431366004611a9f565b610c50565b348015610441575f80fd5b506102ba610cb4565b348015610455575f80fd5b506102ba610d0e565b348015610469575f80fd5b5061028d610478366004611ab6565b610d24565b348015610488575f80fd5b5061028d610497366004611a9f565b610dc1565b3480156104a7575f80fd5b506102ba6104b6366004611a9f565b610e25565b3480156104c6575f80fd5b5061028d6104d5366004611ba7565b610e42565b3480156104e5575f80fd5b50600e546102ba565b3480156104f9575f80fd5b5061028d610508366004611bc1565b610ed2565b348015610518575f80fd5b506102ba610527366004611b69565b610f97565b348015610537575f80fd5b506102ba610546366004611a38565b60036020525f908152604090205481565b348015610562575f80fd5b5061028d610571366004611bec565b610fcd565b348015610581575f80fd5b5061032c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b4575f80fd5b5061028d6105c3366004611a38565b611054565b3480156105d3575f80fd5b506102ba6105e2366004611a38565b60056020525f908152604090205481565b3480156105fe575f80fd5b506102ba61060d366004611a9f565b611139565b34801561061d575f80fd5b50600654610631906001600160a01b031681565b6040516001600160a01b0390911681526020016102c4565b348015610654575f80fd5b506102ba610663366004611ab6565b61114d565b348015610673575f80fd5b506102e1611176565b348015610687575f80fd5b5061028d610696366004611ab6565b611183565b3480156106a6575f80fd5b5061028d6106b5366004611a9f565b6111e4565b6102ba6106c8366004611a38565b61127d565b3480156106d8575f80fd5b5061032c6106e7366004611ab6565b611304565b3480156106f7575f80fd5b5061032c610706366004611a38565b600d6020525f908152604090205460ff1681565b348015610725575f80fd5b5061032c610734366004611c18565b611367565b348015610744575f80fd5b50600754610631906001600160a01b031681565b348015610763575f80fd5b50610631610772366004611a38565b60086020525f90815260409020546001600160a01b031681565b348015610797575f80fd5b506011546102ba565b3480156107ab575f80fd5b5061028d6107ba366004611c5c565b611460565b3480156107ca575f80fd5b506102ba6107d9366004611bec565b600460209081525f928352604080842090915290825290205481565b348015610800575f80fd5b5061032c61080f366004611cc5565b6001600160e01b0319165f908152600b602052604090205460ff919091161c600116151590565b348015610841575f80fd5b5061032c610850366004611cf6565b6001600160a01b03919091165f90815260096020526040902054600160ff9092161c16151590565b348015610883575f80fd5b506102ba610892366004611afc565b600b6020525f908152604090205481565b3480156108ae575f80fd5b5061028d6108bd366004611a38565b61169e565b7f000000000000000000000000000000000000000000000000000000000000000015610922576108fd335f356001600160e01b03191661171a565b6109225760405162461bcd60e51b815260040161091990611d20565b60405180910390fd5b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f805461095890611d57565b80601f016020809104026020016040519081016040528092919081815260200182805461098490611d57565b80156109cf5780601f106109a6576101008083540402835291602001916109cf565b820191905f5260205f20905b8154815290600101906020018083116109b257829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000015610a2e57610a12335f356001600160e01b03191661171a565b610a2e5760405162461bcd60e51b815260040161091990611d20565b600c55565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a8d9086815260200190565b60405180910390a35060015b92915050565b610ab4335f356001600160e01b03191661171a565b610ad05760405162461bcd60e51b815260040161091990611d8f565b8015610aff576001600160e01b031982165f908152600b602052604090208054600160ff86161b179055610b25565b6001600160e01b031982165f908152600b602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b15183604051610b67911515815260200190565b60405180910390a3505050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f198114610bcd57610ba98382611dc9565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610bf4908490611dc9565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f80516020611f1883398151915290610c3b9087815260200190565b60405180910390a360019150505b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000015610ca757610c8b335f356001600160e01b03191661171a565b610ca75760405162461bcd60e51b815260040161091990611d20565b610caf6117c1565b600e55565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610ce957610ce46117f0565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b5f610d17611888565b601054610ce49190611ddc565b7f000000000000000000000000000000000000000000000000000000000000000015610d7b57610d5f335f356001600160e01b03191661171a565b610d7b5760405162461bcd60e51b815260040161091990611d20565b335f908152600d602052604090205460ff16610db357600c54811115610db35760405162461bcd60e51b815260040161091990611def565b610dbd82826118e7565b5050565b7f000000000000000000000000000000000000000000000000000000000000000015610e1857610dfc335f356001600160e01b03191661171a565b610e185760405162461bcd60e51b815260040161091990611d20565b610e22338261193e565b50565b5f610a99610e3260115490565b610e3a610d0e565b84919061199d565b610e57335f356001600160e01b03191661171a565b610e735760405162461bcd60e51b815260040161091990611d8f565b6001600160e01b031982165f818152600a6020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610ee7335f356001600160e01b03191661171a565b610f035760405162461bcd60e51b815260040161091990611d8f565b8015610f31576001600160a01b0383165f9081526009602052604090208054600160ff85161b179055610f56565b6001600160a01b0383165f9081526009602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf283604051610b67911515815260200190565b5f610fa06117c1565b5f610fb7610fac610d0e565b60115485919061199d565b9050610fc4858583610b74565b50949350505050565b610fe2335f356001600160e01b03191661171a565b610ffe5760405162461bcd60e51b815260040161091990611d8f565b6001600160a01b038281165f8181526008602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b6006546001600160a01b03163314806110e6575060075460405163b700961360e01b81526001600160a01b039091169063b7009613906110a790339030906001600160e01b03195f351690600401611e31565b602060405180830381865afa1580156110c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e69190611e5e565b6110ee575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b5f610a99611145610d0e565b601154610e3a565b5f6111566117c1565b5f611162610fac610d0e565b905061116e8482611304565b509392505050565b6001805461095890611d57565b7f0000000000000000000000000000000000000000000000000000000000000000156111da576111be335f356001600160e01b03191661171a565b6111da5760405162461bcd60e51b815260040161091990611d20565b610dbd828261193e565b7f00000000000000000000000000000000000000000000000000000000000000001561123b5761121f335f356001600160e01b03191661171a565b61123b5760405162461bcd60e51b815260040161091990611d20565b335f908152600d602052604090205460ff1661127357600c548111156112735760405162461bcd60e51b815260040161091990611def565b610e2233826118e7565b5f6112866117c1565b6011545f036112ac5734601181905560108190556112a59033906118e7565b5034919050565b5f6112c96112b960115490565b6112c1610d0e565b34919061199d565b90503460105f8282546112dc9190611ddc565b925050819055508060115f8282546112f49190611ddc565b90915550610a99905033346118e7565b335f90815260036020526040812080548391908390611324908490611dc9565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f80516020611f1883398151915290610a8d9086815260200190565b6001600160a01b038083165f9081526008602052604081205490911680156114005760405163b700961360e01b81526001600160a01b0382169063b7009613906113b990889088908890600401611e31565b602060405180830381865afa1580156113d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f89190611e5e565b915050610c49565b6001600160e01b031983165f908152600a602052604090205460ff168061145757506001600160e01b031983165f908152600b60209081526040808320546001600160a01b03891684526009909252909120541615155b95945050505050565b428410156114b05760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610919565b5f60016114bb610cb4565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156115c3573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906115f95750876001600160a01b0316816001600160a01b0316145b6116365760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610919565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6116b3335f356001600160e01b03191661171a565b6116cf5760405162461bcd60e51b815260040161091990611d8f565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6007545f906001600160a01b031680158015906117a1575060405163b700961360e01b81526001600160a01b0382169063b70096139061176290879030908890600401611e31565b602060405180830381865afa15801561177d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a19190611e5e565b806117b957506006546001600160a01b038581169116145b949350505050565b5f6117ca611888565b905080156117e9578060105f8282546117e39190611ddc565b90915550505b5042600f55565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516118209190611e79565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f600e545f0361189757505f90565b600f544210156118a657505f90565b5f6118c36301e13380600f54426118bd9190611dc9565b906119b8565b90505f610c496118de83600e546119cc90919063ffffffff16565b601054906119cc565b8060025f8282546118f89190611ddc565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f80516020611f1883398151915291015b60405180910390a35050565b6001600160a01b0382165f9081526003602052604081208054839290611965908490611dc9565b90915550506002805482900390556040518181525f906001600160a01b038416905f80516020611f1883398151915290602001611932565b5f825f1904841183021582026119b1575f80fd5b5091020490565b5f610c4983670de0b6b3a76400008461199d565b5f610c498383670de0b6b3a764000061199d565b6001600160a01b0381168114610e22575f80fd5b8015158114610e22575f80fd5b5f8060408385031215611a12575f80fd5b8235611a1d816119e0565b91506020830135611a2d816119f4565b809150509250929050565b5f60208284031215611a48575f80fd5b8135610c49816119e0565b5f602080835283518060208501525f5b81811015611a7f57858101830151858201604001528201611a63565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215611aaf575f80fd5b5035919050565b5f8060408385031215611ac7575f80fd5b8235611ad2816119e0565b946020939093013593505050565b80356001600160e01b031981168114611af7575f80fd5b919050565b5f60208284031215611b0c575f80fd5b610c4982611ae0565b803560ff81168114611af7575f80fd5b5f805f60608486031215611b37575f80fd5b611b4084611b15565b9250611b4e60208501611ae0565b91506040840135611b5e816119f4565b809150509250925092565b5f805f60608486031215611b7b575f80fd5b8335611b86816119e0565b92506020840135611b96816119e0565b929592945050506040919091013590565b5f8060408385031215611bb8575f80fd5b611a1d83611ae0565b5f805f60608486031215611bd3575f80fd5b8335611bde816119e0565b9250611b4e60208501611b15565b5f8060408385031215611bfd575f80fd5b8235611c08816119e0565b91506020830135611a2d816119e0565b5f805f60608486031215611c2a575f80fd5b8335611c35816119e0565b92506020840135611c45816119e0565b9150611c5360408501611ae0565b90509250925092565b5f805f805f805f60e0888a031215611c72575f80fd5b8735611c7d816119e0565b96506020880135611c8d816119e0565b95506040880135945060608801359350611ca960808901611b15565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215611cd6575f80fd5b611cdf83611b15565b9150611ced60208401611ae0565b90509250929050565b5f8060408385031215611d07575f80fd5b8235611d12816119e0565b9150611ced60208401611b15565b6020808252601d908201527f45524332304d696e7461626c653a206e6f7420617574686f72697a6564000000604082015260600190565b600181811c90821680611d6b57607f821691505b602082108103611d8957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610a9957610a99611db5565b80820180821115610a9957610a99611db5565b60208082526022908201527f45524332304d696e7461626c653a20496e76616c6964206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611e6e575f80fd5b8151610c49816119f4565b5f8083545f60018260011c91506001831680611e9657607f831692505b60208084108203611eb557634e487b7160e01b5f52602260045260245ffd5b818015611ec95760018114611ede57611f09565b60ff1986168952841515850289019650611f09565b5f8a8152602090205f5b86811015611f015781548b820152908501908301611ee8565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e8e9ccbe437120ca4c0e1197fab17ff508ebe5606158c7b314115a9315adb80764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "authority()": "bf7e214f", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "burn(uint256)": "42966c68", + "canCall(address,address,bytes4)": "b7009613", + "decimals()": "313ce567", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "getEthValue(uint256)": "8b32fa23", + "getRate()": "679aefce", + "getRethValue(uint256)": "4346f03e", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getTargetCustomAuthority(address)": "c53a3985", + "getTotalPooledEther()": "37cfdaca", + "getTotalShares()": "d5002f2e", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "isCompetitionMode()": "7a8c63b5", + "isUnrestricted(address)": "aed30777", + "maxMintAmount()": "239c70ae", + "mint(address,uint256)": "40c10f19", + "mint(uint256)": "a0712d68", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "owner()": "8da5cb5b", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "setAuthority(address)": "7a9e5e4b", + "setMaxMintAmount(uint256)": "088a4ed0", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRate(uint256)": "34fcf437", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUnrestrictedMintStatus(address,bool)": "05f05a94", + "setUserRole(address,uint8,bool)": "67aff484", + "submit(address)": "a1903eab", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "transferShares(address,uint256)": "8fcb4e5b", + "transferSharesFrom(address,address,uint256)": "6d780459" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockSafeCast.ts b/packages/hyperdrive-artifacts/src/MockSafeCast.ts new file mode 100644 index 000000000..1fe4b0348 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockSafeCast.ts @@ -0,0 +1,153 @@ +export const MockSafeCast = { + name: 'MockSafeCast' as const, + abi: [ + { + "type": "function", + "name": "toInt128", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "y", + "type": "int128", + "internalType": "int128" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toInt128", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "y", + "type": "int128", + "internalType": "int128" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toInt256", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "y", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toUint112", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "y", + "type": "uint112", + "internalType": "uint112" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toUint128", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "y", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toUint256", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint256", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506102c98061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c80630f2422d11461006457806341d2aa641461008f578063809fdd33146100ba578063dd2a0316146100e5578063dfbe873b146100f8578063fdcf791b14610119575b5f80fd5b61007761007236600461027c565b61012c565b604051600f9190910b81526020015b60405180910390f35b6100a261009d36600461027c565b61013c565b6040516001600160701b039091168152602001610086565b6100cd6100c836600461027c565b610146565b6040516001600160801b039091168152602001610086565b6100776100f336600461027c565b610150565b61010b61010636600461027c565b61015a565b604051908152602001610086565b61010b61012736600461027c565b610164565b5f6101368261016e565b92915050565b5f6101368261019b565b5f610136826101c4565b5f610136826101ed565b5f61013682610231565b5f6101368261025a565b5f60016001607f1b038211156101975760405163a5353be560e01b815260040160405180910390fd5b5090565b5f6001600160701b038211156101975760405163086b151760e11b815260040160405180910390fd5b5f6001600160801b0382111561019757604051630f0af95160e11b815260040160405180910390fd5b5f6f7fffffffffffffffffffffffffffffff19821280610213575060016001607f1b0382135b156101975760405163a5353be560e01b815260040160405180910390fd5b5f6001600160ff1b038211156101975760405163396ea70160e11b815260040160405180910390fd5b5f808212156101975760405163071d137160e51b815260040160405180910390fd5b5f6020828403121561028c575f80fd5b503591905056fea2646970667358221220ee597d4098da170f7e901684c207eab3859a0e6ecf567171473642fc1601f40f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "toInt128(int256)": "dd2a0316", + "toInt128(uint256)": "0f2422d1", + "toInt256(uint256)": "dfbe873b", + "toUint112(uint256)": "41d2aa64", + "toUint128(uint256)": "809fdd33", + "toUint256(int256)": "fdcf791b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MockYieldSpaceMath.ts b/packages/hyperdrive-artifacts/src/MockYieldSpaceMath.ts new file mode 100644 index 000000000..14dd9143f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MockYieldSpaceMath.ts @@ -0,0 +1,483 @@ +export const MockYieldSpaceMath = { + name: 'MockYieldSpaceMath' as const, + abi: [ + { + "type": "function", + "name": "calculateBondsOutGivenSharesInDown", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "dz", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxBuyBondsOutSafe", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxBuySharesInSafe", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateMaxSellBondsInSafe", + "inputs": [ + { + "name": "z", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zeta", + "type": "int256", + "internalType": "int256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zMin", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSharesInGivenBondsOutDown", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "dy", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSharesInGivenBondsOutUp", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "dy", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSharesOutGivenBondsInDown", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "dy", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "calculateSharesOutGivenBondsInDownSafe", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "dy", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "kDown", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "kUp", + "inputs": [ + { + "name": "ze", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "y", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "c", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mu", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50610f628061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c806386c85e101161006357806386c85e1014610126578063a4a6f9d914610139578063a9afa3731461014c578063bc50ebe61461015f578063d79d083514610172575f80fd5b80630aea75631461009f57806327d0e265146100c55780632e74108c146100d85780633ee4114a146100eb5780635880b9fd14610113575b5f80fd5b6100b26100ad366004610dd0565b610185565b6040519081526020015b60405180910390f35b6100b26100d3366004610e07565b61019f565b6100b26100e6366004610e07565b6101bb565b6100fe6100f9366004610e07565b6101cb565b604080519283529015156020830152016100bc565b6100fe610121366004610dd0565b6101f0565b6100b2610134366004610e07565b610213565b6100b2610147366004610e07565b610223565b6100fe61015a366004610dd0565b610233565b6100fe61016d366004610e46565b610244565b6100b2610180366004610dd0565b61026b565b5f80610194878787878761027a565b979650505050505050565b5f806101af8888888888886102b8565b98975050505050505050565b5f806101af8888888888886102e5565b5f805f806101dd8a8a8a8a8a8a6102f5565b909450925050505b965096945050505050565b5f805f8061020189898989896103b8565b909450925050505b9550959350505050565b5f806101af88888888888861046a565b5f806101af88888888888861047a565b5f805f80610201898989898961053a565b5f805f806102578b8b8b8b8b8b8b6105df565b909450925050505b97509795505050505050565b5f8061019487878787876106d9565b5f61028585856106fd565b6102a461029c86610296868b61076e565b906106fd565b859085610789565b6102ae9190610ea1565b9695505050505050565b5f806102c88888888888886102f5565b9092509050806102da576102da6107ac565b509695505050505050565b5f806102c88888888888886107c5565b5f805f610305898988888861027a565b905061031586610296898b610ea1565b97508781101561032b575f8092509250506101e5565b878103610339818688610789565b9050670de0b6b3a7640000811061036d5761036661035f670de0b6b3a764000089610897565b82906106fd565b9050610385565b61038261035f670de0b6b3a7640000896108ab565b90505b61038f8186610897565b9050808a10156103a6575f809350935050506101e5565b90980398600198509650505050505050565b5f805f6103c888888888886106d9565b90505f6103f2670de0b6b3a76400006103e18888610897565b6103eb9190610ea1565b83906108ab565b9050670de0b6b3a7640000811061041f5761041861035f670de0b6b3a7640000896108ab565b9050610437565b61043461035f670de0b6b3a764000089610897565b90505b61044181866108ab565b905088811015610458575f80935093505050610209565b97909703976001975095505050505050565b5f806102c88888888888886108bf565b5f8061048988888787876106d9565b90508587101561049b5761049b6107ac565b95859003956104aa87866106fd565b9650868110156104bc576104bc6107ac565b8681036104ca818587610979565b9050670de0b6b3a764000081106104f7576104f061035f670de0b6b3a7640000886108ab565b905061050f565b61050c61035f670de0b6b3a764000088610897565b90505b61051981856108ab565b90508881101561052b5761052b6107ac565b97909703979650505050505050565b5f805f61054a888888888861027a565b90505f610574670de0b6b3a764000061056388886108ab565b61056d9190610ea1565b8390610897565b9050670de0b6b3a764000081106105a15761059a61035f670de0b6b3a764000089610897565b90506105b9565b6105b661035f670de0b6b3a7640000896108ab565b90505b808810156105ce575f80935093505050610209565b909603976001975095505050505050565b5f805f8812156105ff576105f288610eb4565b6105fc9087610ea1565b95505b5f8061060b8b8b610994565b9150915080610621575f8093509350505061025f565b5f61062f838b8a8a8a6106d9565b90505f61064b6106438a6102968a8e61076e565b899089610789565b905080821015610664575f80955095505050505061025f565b808203670de0b6b3a764000081106106925761068b61035f670de0b6b3a76400008c6108ab565b90506106aa565b6106a761035f670de0b6b3a76400008c610897565b90505b8b8110156106c2575f8096509650505050505061025f565b9a909a039c60019c509a5050505050505050505050565b5f6106e485856106fd565b6102a46106f586610296868b6109cf565b859085610979565b5f815f036107145750670de0b6b3a7640000610768565b825f0361072257505f610768565b5f61072c836109e3565b90505f61074061073b866109e3565b610a10565b9050818102610757670de0b6b3a764000082610ece565b905061076281610c3e565b93505050505b92915050565b5f6107828383670de0b6b3a7640000610789565b9392505050565b5f825f19048411830215820261079d575f80fd5b50910281810615159190040190565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f6107d5898988888861027a565b9050868810156107eb575f8092509250506101e5565b96869003966107fa88876106fd565b975087811015610810575f8092509250506101e5565b87810361081e818688610789565b9050670de0b6b3a7640000811061084b5761084461035f670de0b6b3a764000089610897565b9050610863565b61086061035f670de0b6b3a7640000896108ab565b90505b61086d8186610897565b905089811015610884575f809350935050506101e5565b9890980398600198509650505050505050565b5f61078283670de0b6b3a764000084610789565b5f61078283670de0b6b3a764000084610979565b5f805f6108cf898988888861027a565b90506108e9866102966108e28a8d610ea1565b87906109cf565b98506108f6858a86610979565b98508881101561090c575f8092509250506101e5565b888103670de0b6b3a7640000811061093a5761093361035f670de0b6b3a764000089610897565b9050610952565b61094f61035f670de0b6b3a7640000896108ab565b90505b80891015610967575f809350935050506101e5565b90970398600198509650505050505050565b5f825f19048411830215820261098d575f80fd5b5091020490565b5f805f836109a1866109e3565b6109ab9190610f06565b90505f8112156109c1575f8092509250506109c8565b9150600190505b9250929050565b5f6107828383670de0b6b3a7640000610979565b5f6001600160ff1b03821115610a0c5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f808213610a315760405163e61b497560e01b815260040160405180910390fd5b506fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190610abd9084901c6109e3565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213610c5757505f919050565b680755bf798b4a1bf1e58212610c80576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906102ae74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6109e3565b5f805f805f60a08688031215610de4575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f805f805f8060c08789031215610e1c575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f805f805f60e0888a031215610e5c575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561076857610768610e8d565b5f600160ff1b8201610ec857610ec8610e8d565b505f0390565b5f82610ee857634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f1984141615610f0157610f01610e8d565b500590565b8181035f831280158383131683831282161715610f2557610f25610e8d565b509291505056fea26469706673582212201b6ebf319b478060656bdde40834bcafbec7f2ca884537c9804844fd7d27f4a564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "calculateBondsOutGivenSharesInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "86c85e10", + "calculateMaxBuyBondsOutSafe(uint256,uint256,uint256,uint256,uint256)": "a9afa373", + "calculateMaxBuySharesInSafe(uint256,uint256,uint256,uint256,uint256)": "5880b9fd", + "calculateMaxSellBondsInSafe(uint256,int256,uint256,uint256,uint256,uint256,uint256)": "bc50ebe6", + "calculateSharesInGivenBondsOutDown(uint256,uint256,uint256,uint256,uint256,uint256)": "a4a6f9d9", + "calculateSharesInGivenBondsOutUp(uint256,uint256,uint256,uint256,uint256,uint256)": "2e74108c", + "calculateSharesOutGivenBondsInDown(uint256,uint256,uint256,uint256,uint256,uint256)": "27d0e265", + "calculateSharesOutGivenBondsInDownSafe(uint256,uint256,uint256,uint256,uint256,uint256)": "3ee4114a", + "kDown(uint256,uint256,uint256,uint256,uint256)": "d79d0835", + "kUp(uint256,uint256,uint256,uint256,uint256)": "0aea7563" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBalancesLib.ts b/packages/hyperdrive-artifacts/src/MorphoBalancesLib.ts new file mode 100644 index 000000000..89ee40b97 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBalancesLib.ts @@ -0,0 +1,6 @@ +export const MorphoBalancesLib = { + name: 'MorphoBalancesLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220fb45a935ff9586055cfa2ec28d13f1a0b562ff62c9fbb03cbfd08d84a248bac764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueBase.ts b/packages/hyperdrive-artifacts/src/MorphoBlueBase.ts new file mode 100644 index 000000000..39c1ba142 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueBase.ts @@ -0,0 +1,695 @@ +export const MorphoBlueBase = { + name: 'MorphoBlueBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueConversions.ts b/packages/hyperdrive-artifacts/src/MorphoBlueConversions.ts new file mode 100644 index 000000000..27584a749 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueConversions.ts @@ -0,0 +1,108 @@ +export const MorphoBlueConversions = { + name: 'MorphoBlueConversions' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vault", + "type": "IMorpho", + "internalType": "contract IMorpho" + }, + { + "name": "_baseToken", + "type": "IERC20", + "internalType": "contract IERC20" + }, + { + "name": "_collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "_oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "_irm", + "type": "address", + "internalType": "address" + }, + { + "name": "_lltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vault", + "type": "IMorpho", + "internalType": "contract IMorpho" + }, + { + "name": "_baseToken", + "type": "IERC20", + "internalType": "contract IERC20" + }, + { + "name": "_collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "_oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "_irm", + "type": "address", + "internalType": "address" + }, + { + "name": "_lltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x61080b610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061003f575f3560e01c80633c2063f01461004357806349124ca314610068575b5f80fd5b610056610051366004610599565b61007b565b60405190815260200160405180910390f35b610056610076366004610599565b6100aa565b5f805f61008c8a8a8a8a8a8a6100cb565b909250905061009c848383610144565b9a9950505050505050505050565b5f805f6100bb8a8a8a8a8a8a6100cb565b909250905061009c848383610170565b5f806101336040518060a00160405280896001600160a01b03168152602001886001600160a01b03168152602001876001600160a01b03168152602001866001600160a01b0316815260200185815250896001600160a01b031661018c90919063ffffffff16565b50919a909950975050505050505050565b5f61016861015360018561062b565b610160620f42408561062b565b869190610482565b949350505050565b5f610168610181620f42408461062b565b61016060018661062b565b5f805f805f61019c8660a0902090565b604051632e3071cd60e11b8152600481018290529091505f906001600160a01b03891690635c60e39a9060240160c060405180830381865afa1580156101e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102089190610659565b90505f81608001516001600160801b0316426102249190610702565b90508015801590610241575060408201516001600160801b031615155b8015610259575060608801516001600160a01b031615155b1561044e576060888101805160408051638c00bf6b60e01b81528c516001600160a01b0390811660048301526020808f015182166024840152838f0151821660448401529451811660648301526080808f0151608484015288516001600160801b0390811660a485015295890151861660c484015292880151851660e483015294870151841661010482015290860151831661012482015260a08601519092166101448301525f921690638c00bf6b9061016401602060405180830381865afa158015610328573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034c9190610715565b90505f61037061035c8385610498565b60408601516001600160801b031690610502565b905061037b8161051d565b8460400181815161038c919061072c565b6001600160801b03169052506103a18161051d565b845185906103b090839061072c565b6001600160801b0390811690915260a08601511615905061044b575f6103ec8560a001516001600160801b03168361050290919063ffffffff16565b90505f61042082875f01516001600160801b031661040a9190610702565b60208801518491906001600160801b0316610170565b905061042b8161051d565b8660200181815161043c919061072c565b6001600160801b031690525050505b50505b508051602082015160408301516060909301516001600160801b039283169b9183169a509282169850911695509350505050565b5f8161048e8486610753565b610168919061076a565b5f806104a48385610753565b90505f6104c482806104bf670de0b6b3a76400006002610753565b610482565b90505f6104df82846104bf670de0b6b3a76400006003610753565b9050806104ec838561062b565b6104f6919061062b565b93505050505b92915050565b5f6105168383670de0b6b3a7640000610482565b9392505050565b6040805180820190915260148152731b585e081d5a5b9d0c4c8e08195e18d95959195960621b60208201525f906001600160801b0383111561057b5760405162461bcd60e51b81526004016105729190610789565b60405180910390fd5b5090919050565b6001600160a01b0381168114610596575f80fd5b50565b5f805f805f805f60e0888a0312156105af575f80fd5b87356105ba81610582565b965060208801356105ca81610582565b955060408801356105da81610582565b945060608801356105ea81610582565b935060808801356105fa81610582565b9699959850939692959460a0840135945060c09093013592915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104fc576104fc610617565b80516001600160801b0381168114610654575f80fd5b919050565b5f60c08284031215610669575f80fd5b60405160c0810181811067ffffffffffffffff8211171561069857634e487b7160e01b5f52604160045260245ffd5b6040526106a48361063e565b81526106b26020840161063e565b60208201526106c36040840161063e565b60408201526106d46060840161063e565b60608201526106e56080840161063e565b60808201526106f660a0840161063e565b60a08201529392505050565b818103818111156104fc576104fc610617565b5f60208284031215610725575f80fd5b5051919050565b6001600160801b0381811683821601908082111561074c5761074c610617565b5092915050565b80820281158282048414176104fc576104fc610617565b5f8261078457634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b818110156107b557858101830151858201604001528201610799565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220e95ecd2e1b666fcfc5a7211be25dfe2c423aa4a4882aa1f05e47576792bf6e3164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(IMorpho,IERC20,address,address,address,uint256,uint256)": "3c2063f0", + "convertToShares(IMorpho,IERC20,address,address,address,uint256,uint256)": "49124ca3" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueHyperdrive.ts b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdrive.ts new file mode 100644 index 000000000..46444a7aa --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdrive.ts @@ -0,0 +1,1736 @@ +export const MorphoBlueHyperdrive = { + name: 'MorphoBlueHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x6103c060405234801562000011575f80fd5b5060405162001bc638038062001bc6833981016040819052620000349162000784565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000941565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052845181166103208190526020860151821661034052604086015182166103605260608601518216610380526080808701516103a0525162000171955090911692509050600162000181565b5050505050505050505062000a4b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001db90859083906200024c16565b6200024657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200023a918691620002f616565b620002468482620002f6565b50505050565b5f805f846001600160a01b03168460405162000269919062000a0d565b5f604051808303815f865af19150503d805f8114620002a4576040519150601f19603f3d011682016040523d82523d5f602084013e620002a9565b606091505b5091509150818015620002d7575080511580620002d7575080806020019051810190620002d7919062000a2a565b8015620002ed57505f856001600160a01b03163b115b95945050505050565b5f6200030c6001600160a01b0384168362000367565b905080515f141580156200033357508080602001905181019062000331919062000a2a565b155b156200036257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200037683835f6200037d565b9392505050565b606081471015620003a45760405163cd78605960e01b815230600482015260240162000359565b5f80856001600160a01b03168486604051620003c1919062000a0d565b5f6040518083038185875af1925050503d805f8114620003fd576040519150601f19603f3d011682016040523d82523d5f602084013e62000402565b606091505b509092509050620004158683836200041f565b9695505050505050565b6060826200043857620004328262000483565b62000376565b81511580156200045057506001600160a01b0384163b155b156200047b57604051639996b31560e01b81526001600160a01b038516600482015260240162000359565b508062000376565b805115620004945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ea57620004ea620004b0565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200051b576200051b620004b0565b604052919050565b5f5b838110156200053f57818101518382015260200162000525565b50505f910152565b6001600160a01b0381168114620004ad575f80fd5b8051620005698162000547565b919050565b5f608082840312156200057f575f80fd5b604051608081016001600160401b0381118282101715620005a457620005a4620004b0565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005e7575f80fd5b620005f1620004c4565b9050620005fe826200055c565b81526200060e602083016200055c565b602082015262000621604083016200055c565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200068c8184016200055c565b90820152610180620006a08382016200055c565b908201526101a0620006b48382016200055c565b908201526101c0620006c88382016200055c565b908201526101e0620006dd848483016200056e565b9082015292915050565b5f60a08284031215620006f8575f80fd5b60405160a081016001600160401b03811182821017156200071d576200071d620004b0565b80604052508091508251620007328162000547565b81526020830151620007448162000547565b60208201526040830151620007598162000547565b604082015260608301516200076e8162000547565b6060820152608092830151920191909152919050565b5f805f805f805f805f6103e08a8c0312156200079e575f80fd5b89516001600160401b0380821115620007b5575f80fd5b818c0191508c601f830112620007c9575f80fd5b815181811115620007de57620007de620004b0565b620007f3601f8201601f1916602001620004f0565b91508082528d60208285010111156200080a575f80fd5b6200081d81602084016020860162000523565b5099506200083190508b60208c01620005d5565b9750620008426102808b016200055c565b9650620008536102a08b016200055c565b9550620008646102c08b016200055c565b9450620008756102e08b016200055c565b9350620008866103008b016200055c565b9250620008976103208b016200055c565b9150620008a98b6103408c01620006e7565b90509295985092959850929598565b600181811c90821680620008cd57607f821691505b602082108103620008ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200036257805f5260205f20601f840160051c81016020851015620009195750805b601f840160051c820191505b818110156200093a575f815560010162000925565b5050505050565b81516001600160401b038111156200095d576200095d620004b0565b62000975816200096e8454620008b8565b84620008f2565b602080601f831160018114620009ab575f8415620009935750858301515b5f19600386901b1c1916600185901b17855562000a05565b5f85815260208120601f198616915b82811015620009db57888601518255948401946001909101908401620009ba565b5085821015620009f957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000a2081846020870162000523565b9190910192915050565b5f6020828403121562000a3b575f80fd5b8151801515811462000376575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a05161104162000b855f395f50505f50505f50505f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212200d8196f95a1a51f359d1eddbb91236c7cd2eb0ff49311c64d4bcb61e046c2a3064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..d15d8c290 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const MorphoBlueHyperdriveCoreDeployer = { + name: 'MorphoBlueHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506123168061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b620000476200004136600462000387565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80888060200190518101906200007b91906200047f565b60408051336020820152908101859052909150606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b89604051620000be9062000103565b620000d2999897969594939291906200063a565b8190604051809103905ff5905080158015620000f0573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b611bc6806200071b83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200014c576200014c62000111565b60405290565b5f82601f83011262000162575f80fd5b813567ffffffffffffffff8082111562000180576200018062000111565b604051601f8301601f19908116603f01168101908282118183101715620001ab57620001ab62000111565b81604052838152866020858801011115620001c4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001f8575f80fd5b50565b80356200020881620001e3565b919050565b5f608082840312156200021e575f80fd5b6040516080810181811067ffffffffffffffff8211171562000244576200024462000111565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610260828403121562000287575f80fd5b6200029162000125565b90506200029e82620001fb565b8152620002ae60208301620001fb565b6020820152620002c160408301620001fb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200032c818401620001fb565b9082015261018062000340838201620001fb565b908201526101a062000354838201620001fb565b908201526101c062000368838201620001fb565b908201526101e06200037d848483016200020d565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a2575f80fd5b8a3567ffffffffffffffff80821115620003ba575f80fd5b620003c88e838f0162000152565b9b50620003d98e60208f0162000275565b9a50620003ea6102808e01620001fb565b99506102a08d013591508082111562000401575f80fd5b50620004108d828e0162000152565b975050620004226102c08c01620001fb565b9550620004336102e08c01620001fb565b9450620004446103008c01620001fb565b9350620004556103208c01620001fb565b9250620004666103408c01620001fb565b91506103608b013590509295989b9194979a5092959850565b5f60a0828403121562000490575f80fd5b60405160a0810181811067ffffffffffffffff82111715620004b657620004b662000111565b6040528251620004c681620001e3565b81526020830151620004d881620001e3565b60208201526040830151620004ed81620001e3565b604082015260608301516200050281620001e3565b60608201526080928301519281019290925250919050565b80516001600160a01b0316825260208101516200054260208401826001600160a01b03169052565b5060408101516200055e60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151620005d1828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103e08083528b5180828501525f91505b8082101562000670576020828e01015161040083860101526020820191506200064c565b61040091505f82828601015281601f19601f830116850101925050506200069b602083018b6200051a565b6001600160a01b038981166102808401528881166102a08401528781166102c08401528681166102e08401528581166103008401528481166103208401528351811661034084015260208401518116610360840152604084015181166103808401526060840151166103a083015260808301516103c0830152620000f556fe6103c060405234801562000011575f80fd5b5060405162001bc638038062001bc6833981016040819052620000349162000784565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000941565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052845181166103208190526020860151821661034052604086015182166103605260608601518216610380526080808701516103a0525162000171955090911692509050600162000181565b5050505050505050505062000a4b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001db90859083906200024c16565b6200024657604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200023a918691620002f616565b620002468482620002f6565b50505050565b5f805f846001600160a01b03168460405162000269919062000a0d565b5f604051808303815f865af19150503d805f8114620002a4576040519150601f19603f3d011682016040523d82523d5f602084013e620002a9565b606091505b5091509150818015620002d7575080511580620002d7575080806020019051810190620002d7919062000a2a565b8015620002ed57505f856001600160a01b03163b115b95945050505050565b5f6200030c6001600160a01b0384168362000367565b905080515f141580156200033357508080602001905181019062000331919062000a2a565b155b156200036257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200037683835f6200037d565b9392505050565b606081471015620003a45760405163cd78605960e01b815230600482015260240162000359565b5f80856001600160a01b03168486604051620003c1919062000a0d565b5f6040518083038185875af1925050503d805f8114620003fd576040519150601f19603f3d011682016040523d82523d5f602084013e62000402565b606091505b509092509050620004158683836200041f565b9695505050505050565b6060826200043857620004328262000483565b62000376565b81511580156200045057506001600160a01b0384163b155b156200047b57604051639996b31560e01b81526001600160a01b038516600482015260240162000359565b508062000376565b805115620004945780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ea57620004ea620004b0565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200051b576200051b620004b0565b604052919050565b5f5b838110156200053f57818101518382015260200162000525565b50505f910152565b6001600160a01b0381168114620004ad575f80fd5b8051620005698162000547565b919050565b5f608082840312156200057f575f80fd5b604051608081016001600160401b0381118282101715620005a457620005a4620004b0565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005e7575f80fd5b620005f1620004c4565b9050620005fe826200055c565b81526200060e602083016200055c565b602082015262000621604083016200055c565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200068c8184016200055c565b90820152610180620006a08382016200055c565b908201526101a0620006b48382016200055c565b908201526101c0620006c88382016200055c565b908201526101e0620006dd848483016200056e565b9082015292915050565b5f60a08284031215620006f8575f80fd5b60405160a081016001600160401b03811182821017156200071d576200071d620004b0565b80604052508091508251620007328162000547565b81526020830151620007448162000547565b60208201526040830151620007598162000547565b604082015260608301516200076e8162000547565b6060820152608092830151920191909152919050565b5f805f805f805f805f6103e08a8c0312156200079e575f80fd5b89516001600160401b0380821115620007b5575f80fd5b818c0191508c601f830112620007c9575f80fd5b815181811115620007de57620007de620004b0565b620007f3601f8201601f1916602001620004f0565b91508082528d60208285010111156200080a575f80fd5b6200081d81602084016020860162000523565b5099506200083190508b60208c01620005d5565b9750620008426102808b016200055c565b9650620008536102a08b016200055c565b9550620008646102c08b016200055c565b9450620008756102e08b016200055c565b9350620008866103008b016200055c565b9250620008976103208b016200055c565b9150620008a98b6103408c01620006e7565b90509295985092959850929598565b600181811c90821680620008cd57607f821691505b602082108103620008ec57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200036257805f5260205f20601f840160051c81016020851015620009195750805b601f840160051c820191505b818110156200093a575f815560010162000925565b5050505050565b81516001600160401b038111156200095d576200095d620004b0565b62000975816200096e8454620008b8565b84620008f2565b602080601f831160018114620009ab575f8415620009935750858301515b5f19600386901b1c1916600185901b17855562000a05565b5f85815260208120601f198616915b82811015620009db57888601518255948401946001909101908401620009ba565b5085821015620009f957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000a2081846020870162000523565b9190910192915050565b5f6020828403121562000a3b575f80fd5b8151801515811462000376575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a05161104162000b855f395f50505f50505f50505f50505f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212200d8196f95a1a51f359d1eddbb91236c7cd2eb0ff49311c64d4bcb61e046c2a3064736f6c63430008160033a2646970667358221220e94d0d23ef5df14ab957a6f4886cb39cdf32f3dd583faa7e593f8b381a1b83b264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..fbe42ce2b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueHyperdriveDeployerCoordinator.ts @@ -0,0 +1,858 @@ +export const MorphoBlueHyperdriveDeployerCoordinator = { + name: 'MorphoBlueHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vault", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "_oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "_irm", + "type": "address", + "internalType": "address" + }, + { + "name": "_lltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vault", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "_baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "_oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "_irm", + "type": "address", + "internalType": "address" + }, + { + "name": "_lltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b5060405162002bcb38038062002bcb8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516127b16200041a5f395f81816102b80152610de501525f81816103360152610cb201525f818161039c0152610b7f01525f81816103030152610a4c01525f8181610369015261084301525f8181610421015261117901525f81816103ee015281816105470152818161076c0152818161087301528181610a7c01528181610baf01528181610ce201528181610e1501528181610f4d01526111aa01526127b15ff3fe6080604052600436106100fa575f3560e01c8063aa8cd6c411610092578063c45a015511610062578063c45a0155146103dd578063c83e1f5114610410578063e71c2aa114610443578063e990eba814610462578063e99be39614610481575f80fd5b8063aa8cd6c414610325578063ab71905f14610358578063b6cb11181461038b578063c1510618146103be575f80fd5b806343dd8fef116100cd57806343dd8fef1461025957806354fd4d5014610278578063966ecd1c146102a7578063a085fa30146102f2575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bb6565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ceb565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611da9565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611dc0565b348015610264575f80fd5b5061014f610273366004611e3d565b6106d0565b348015610283575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102b2575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102fd575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610330575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610363575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610396575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c9575f80fd5b506102da6103d8366004612012565b610760565b3480156103e8575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b5061014f61045d366004611e3d565b610efc565b34801561046d575f80fd5b506102da61047c36600461207b565b610f41565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602781526020016127556027913981565b5f80546104bc90612115565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612115565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6112b4565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112d5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016106059392919061214d565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612192565b92505f61065382346121bd565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090610715908b908b908b908b908b908b908b906004016121d0565b602060405180830381865af4158015610730573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107549190612192565b98975050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107aa57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361095a578054156107df57604051633be1b34d60e11b815260040160405180910390fd5b6107e9868661138f565b5f6107f4878761152d565b90505f876040516020016108089190612213565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108358a61157a565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c6040516020016108af929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108e49493929190612446565b6020604051808303815f875af1158015610900573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610924919061248b565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109865760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109989190612213565b60405160208183030381529060405280519060200120146109cc5760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109f657604051631a3272d160e31b815260040160405180910390fd5b610a00878761138f565b5f610a0a8861157a565b6002840154608082015290506001869003610b4a5760058301546001600160a01b031615610a4a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ab1939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ae69493929190612446565b6020604051808303815f875af1158015610b02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b26919061248b565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c7d5760068301546001600160a01b031615610b7d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610be4939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c199493929190612446565b6020604051808303815f875af1158015610c35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c59919061248b565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610db05760078301546001600160a01b031615610cb05760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d17939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d4c9493929190612446565b6020604051808303815f875af1158015610d68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8c919061248b565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ee35760088301546001600160a01b031615610de35760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e4a939291906124a6565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e7f9493929190612446565b6020604051808303815f875af1158015610e9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebf919061248b565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390610715908b908b908b908b908b908b908b906004016121d0565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561103357604051632c95caeb60e01b815260040160405180910390fd5b80516110525760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611077575060a08101516001600160a01b0316155b8061108d575060c08101516001600160a01b0316155b806110a3575060e08101516001600160a01b0316155b806110ba57506101008101516001600160a01b0316155b156110d85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110eb908790602001612213565b604051602081830303815290604052805190602001201461111f5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461114a57604051631a3272d160e31b815260040160405180910390fd5b611154858561138f565b5f61115e8661157a565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611200929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161123b9a999897969594939291906124c7565b6020604051808303815f875af1158015611257573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127b919061248b565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112d357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112f85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611335573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611359919061248b565b90506113706001600160a01b038216863087611648565b6113846001600160a01b03821687866116b5565b505f95945050505050565b6113998282611744565b60208201516001600160a01b0316156113c55760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b03166113ed57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114529190612549565b61145c9190612569565b61146790600a612662565b8260800151101561148b576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114f09190612549565b6114fa9190612569565b61150590600a612662565b8260a001511015611529576040516318c9522360e11b815260040160405180910390fd5b5050565b5f80828060200190518101906115439190612670565b80518551602083015160408401516060850151608086015195965061157095670de0b6b3a76400006106d0565b9150505b92915050565b611582611a95565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526116af9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611858565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261170684826118c3565b6116af576040516001600160a01b0384811660248301525f604483015261173a91869182169063095ea7b39060640161167d565b6116af8482611858565b6103e88260800151101561176b576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361179057604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806117ba57508161010001518260e001516117b791906126ff565b15155b156117d85760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118045750670de0b6b3a7640000826101c0015160200151115b8061181f5750670de0b6b3a7640000826101c0015160400151115b8061183a5750670de0b6b3a7640000826101c0015160600151115b15611529576040516322f72cc360e11b815260040160405180910390fd5b5f61186c6001600160a01b03841683611960565b905080515f1415801561189057508080602001905181019061188e919061271e565b155b156118be57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516118de9190612739565b5f604051808303815f865af19150503d805f8114611917576040519150601f19603f3d011682016040523d82523d5f602084013e61191c565b606091505b5091509150818015611946575080511580611946575080806020019051810190611946919061271e565b80156106c75750505050506001600160a01b03163b151590565b606061196d83835f611974565b9392505050565b6060814710156119995760405163cd78605960e01b81523060048201526024016118b5565b5f80856001600160a01b031684866040516119b49190612739565b5f6040518083038185875af1925050503d805f81146119ee576040519150601f19603f3d011682016040523d82523d5f602084013e6119f3565b606091505b5091509150611a03868383611a0d565b9695505050505050565b606082611a2257611a1d82611a69565b61196d565b8151158015611a3957506001600160a01b0384163b155b15611a6257604051639996b31560e01b81526001600160a01b03851660048201526024016118b5565b508061196d565b805115611a795780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611b6460405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611b83578181015183820152602001611b6b565b50505f910152565b5f8151808452611ba2816020860160208601611b69565b601f01601f19169290920160200192915050565b602081525f61196d6020830184611b8b565b6001600160a01b0381168114611a92575f80fd5b8035611be781611bc8565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c2357611c23611bec565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c2357611c23611bec565b8015158114611a92575f80fd5b5f67ffffffffffffffff80841115611c7457611c74611bec565b604051601f8501601f19908116603f01168101908282118183101715611c9c57611c9c611bec565b81604052809350858152868686011115611cb4575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611cdc575f80fd5b61196d83833560208501611c5a565b5f805f805f60a08688031215611cff575f80fd5b853594506020860135611d1181611bc8565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d3b575f80fd5b908701906060828a031215611d4e575f80fd5b611d56611c00565b8235611d6181611bc8565b81526020830135611d7181611c4d565b6020820152604083013582811115611d87575f80fd5b611d938b828601611ccd565b6040830152508093505050509295509295909350565b5f60208284031215611db9575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f805f805f805f60e0888a031215611e53575f80fd5b8735611e5e81611bc8565b96506020880135611e6e81611bc8565b95506040880135611e7e81611bc8565b94506060880135611e8e81611bc8565b93506080880135611e9e81611bc8565b9699959850939692959460a0840135945060c09093013592915050565b5f60808284031215611ecb575f80fd5b6040516080810181811067ffffffffffffffff82111715611eee57611eee611bec565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611f30575f80fd5b611f38611c29565b9050611f4382611bdc565b8152611f5160208301611bdc565b6020820152611f6260408301611bdc565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611fbf818401611bdc565b90820152610160611fd1838201611bdc565b90820152610180611fe3838201611bdc565b908201526101a0611ff5838201611bdc565b908201526101c061200884848301611ebb565b9082015292915050565b5f805f805f6102c08688031215612027575f80fd5b853594506120388760208801611f1f565b935061026086013567ffffffffffffffff811115612054575f80fd5b61206088828901611ccd565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215612090575f80fd5b85359450602086013567ffffffffffffffff808211156120ae575f80fd5b818801915088601f8301126120c1575f80fd5b6120d089833560208501611c5a565b95506120df8960408a01611f1f565b94506102808801359150808211156120f5575f80fd5b5061210288828901611ccd565b959894975092956102a001359392505050565b600181811c9082168061212957607f821691505b60208210810361214757634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611a0360c0840182611b8b565b5f602082840312156121a2575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611574576115746121a9565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b81516001600160a01b031681526102408101602083015161223f60208401826001600160a01b03169052565b50604083015161225a60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516122c0828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e35565b80516001600160a01b03168252602081015161235060208401826001600160a01b03169052565b50604081015161236b60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516123dd828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526116af565b5f6102c06124548388612329565b6001600160a01b038616610260840152610280830181905261247881840186611b8b565b915050826102a083015295945050505050565b5f6020828403121561249b575f80fd5b815161196d81611bc8565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526124da8184018e611b8b565b90506124e9602084018d612329565b6001600160a01b038b81166102808501528382036102a085015261250d828c611b8b565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612559575f80fd5b815160ff8116811461196d575f80fd5b60ff8281168282160390811115611574576115746121a9565b600181815b808511156125bc57815f19048211156125a2576125a26121a9565b808516156125af57918102915b93841c9390800290612587565b509250929050565b5f826125d257506001611574565b816125de57505f611574565b81600181146125f457600281146125fe5761261a565b6001915050611574565b60ff84111561260f5761260f6121a9565b50506001821b611574565b5060208310610133831016604e8410600b841016171561263d575081810a611574565b6126478383612582565b805f190482111561265a5761265a6121a9565b029392505050565b5f61196d60ff8416836125c4565b5f60a08284031215612680575f80fd5b60405160a0810181811067ffffffffffffffff821117156126a3576126a3611bec565b60405282516126b181611bc8565b815260208301516126c181611bc8565b602082015260408301516126d481611bc8565b604082015260608301516126e781611bc8565b60608201526080928301519281019290925250919050565b5f8261271957634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561272e575f80fd5b815161196d81611c4d565b5f825161274a818460208701611b69565b919091019291505056fe4d6f7270686f426c7565487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122088f5dc35393f002df524f63936fa93aa619fb65868e078cd28d496dc269cebe764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,address,address,address,address,uint256,uint256)": "43dd8fef", + "convertToShares(address,address,address,address,address,uint256,uint256)": "e71c2aa1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget0.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget0.ts new file mode 100644 index 000000000..312d79efd --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget0.ts @@ -0,0 +1,2048 @@ +export const MorphoBlueTarget0 = { + name: 'MorphoBlueTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collateralToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "id", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "Id" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "irm", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lltv", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "oracle", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vault", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IMorpho" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b5060405162004a0a38038062004a0a8339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051614063620009a75f395f818161076301528181610eae015281816121a801528181612a1801528181612b5c015261301901525f81816107e701528181610e7f01528181612179015281816129f601528181612b3a0152612fea01525f8181610cc701528181610e500152818161214a015281816129d401528181612b180152612fbb01525f8181610e21015281816113a50152818161211b015281816129b201528181612af60152612f8c01525f8181611758015281816120af0152818161296e01528181612ab20152612f2301525f8181610f7d01526126c601525f8181610f4e015261268901525f8181610d31015281816110ad0152818161113b015281816111c901528181611257015281816118de0152818161197401528181611b360152818161225001528181612324015261247501525f61101501525f8181610fef015261287001525f8181610fc9015261284a01525f8181610fa3015261282401525f61136201525f61133c01525f61131601525f6112f001525f8181611087015261289601525f818161103b0152818161152c0152612e0601525f8181611061015261312501525f818161067e0152610f1f01525f818161081e01528181610df201528181610ef0015281816114c9015281816120ec0152818161299001528181612ad40152612f5d01526140635ff3fe608060405234801561000f575f80fd5b506004361061026a575f3560e01c80637180c8ca1161014b578063bd85b039116100bf578063cf210e6511610084578063cf210e6514610546578063d816574314610559578063e44808bc1461056e578063e985e9c514610581578063fba5600814610594578063fbfa77cf146105c3575f80fd5b8063bd85b039146104f0578063becee9c314610503578063c55dae6314610523578063c69e16ad1461052b578063c6e6f59214610533575f80fd5b8063a22cb46511610110578063a22cb46514610494578063ab033ea9146104a7578063af640d0f146104b8578063b0d96580146104c0578063b2016bd4146104d5578063b88fed9f146104dd575f80fd5b80637180c8ca1461044c5780637dc0d1d01461045e5780637ecebe0014610466578063950c5d03146104795780639cd241af14610481575f80fd5b806321ff32a9116101e25780633e691db9116101a75780633e691db9146103d357806346fbf68e146103e65780634e41a1fb146104095780634ed2d6ac1461041c57806354fd4d501461042f57806360246c8814610437575f80fd5b806321ff32a91461038357806328e8fe7d14610396578063313ce5671461039e5780633656eec2146103b85780633a98ef39146103cb575f80fd5b80630a4e1493116102335780630a4e1493146102cf57806314e5f07b146102ef57806317fad7fc146103025780631c0f12b61461031557806320fc488114610328578063217b7ffe1461036d575f80fd5b8062ad800c1461026e57806301681a621461029757806302329a29146102ac57806304baa00b146102bf57806306fdde03146102c7575b5f80fd5b61028161027c36600461335d565b6105cb565b60405161028e91906133c1565b60405180910390f35b6102aa6102a53660046133e7565b610602565b005b6102aa6102ba36600461340f565b61060b565b610281610614565b610281610659565b6102d7610670565b6040516001600160a01b03909116815260200161028e565b6102aa6102fd366004613438565b6106af565b6102aa610310366004613509565b6106cb565b6102aa610323366004613598565b6106e1565b61033b61033636600461335d565b6106f4565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161028e565b61037561075d565b60405190815260200161028e565b6103756103913660046135dd565b610794565b6102d76107d9565b6103a6610818565b60405160ff909116815260200161028e565b6103756103c636600461361c565b6108b0565b6103756108e8565b6103756103e136600461364a565b610906565b6103f96103f43660046133e7565b610910565b604051901515815260200161028e565b61028161041736600461335d565b61092f565b6102aa61042a366004613681565b61093d565b61028161098b565b61043f6109c0565b60405161028e91906136c8565b6102aa61045a366004613769565b5050565b6102d7610cb9565b6103756104743660046133e7565b610cf8565b6102d7610d23565b6102aa61048f366004613795565b610d62565b6102aa6104a2366004613769565b610d73565b6102aa6104b53660046133e7565b50565b610375610dde565b6104c8610ed7565b60405161028e91906137ca565b6102d7611397565b6103756104eb36600461335d565b6113d6565b6103756104fe36600461335d565b6113e3565b6105166105113660046138f0565b611404565b60405161028e919061392f565b6102d76114bb565b6103756114fa565b61037561054136600461335d565b611513565b61037561055436600461335d565b611520565b610561611556565b60405161028e9190613972565b6102aa61057c366004613a83565b611661565b6103f961058f366004613ade565b6116a9565b61059c6116ec565b6040805182516001600160801b03908116825260209384015116928101929092520161028e565b6102d761174a565b60606105fd6105d983611789565b6040516020016105e991906133c1565b6040516020818303038152906040526118af565b919050565b6104b5816118d3565b6104b581611b34565b6060610656604051806040016040528060148152602001734d6f7270686f426c75654879706572647269766560601b8152506040516020016105e991906133c1565b90565b606061065660016040516020016105e99190613b0a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6106c0898989898989898989611c4c565b505050505050505050565b6106d9868686868686611e3e565b505050505050565b6106ee8484848433611ef1565b50505050565b604080516060810182525f80825260208201819052918101919091526105fd60085f8481526020019081526020015f206040516020016105e9919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006040516020016105e991815260200190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107d291016105e9565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190613bb7565b6040805160ff9092166020830152016105e9565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526108e291016105e9565b92915050565b5f6106566108f46120ac565b6040516020016105e991815260200190565b5f6108e28261223b565b5f6105fd61091d83612471565b604080519115156020830152016105e9565b60606105fd6105d98361254f565b836109478161264b565b6001600160a01b0316336001600160a01b03161461097857604051632aab8bd360e01b815260040160405180910390fd5b61098485858585612708565b5050505050565b606061065660405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105e991906133c1565b610a2a604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610a33612774565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a9d9190613bfa565b610aa79190613c0d565b90505f8215610bb65773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610ad38561278b565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610b82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190613c20565b509050610bb38184612915565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610c8657610c818486612929565b610c88565b5f5b81526003546001600160801b0316602091820152604051919250610cb2916105e9918491016136c8565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105fd91016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b610d6e83838333612708565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f6106566108f46040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b610edf613289565b6106566040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611195573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b99190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112479190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190613c43565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105e991906137ca565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6105fd6108f48361293d565b5f818152600b60209081526040808320548151928301526105fd91016105e9565b60605f8267ffffffffffffffff81111561142057611420613c5e565b604051908082528060200260200182016040528015611449578160200160208202803683370190505b5090505f5b8381101561149f575f85858381811061146957611469613c72565b9050602002013590505f815490508084848151811061148a5761148a613c72565b6020908102919091010152505060010161144e565b506114b4816040516020016105e9919061392f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106566009546040516020016105e991815260200190565b5f6105fd6108f483612a81565b5f6105fd6108f46115517f000000000000000000000000000000000000000000000000000000000000000085613bfa565b612b86565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261065660026040516020016105e9919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461166b8161264b565b6001600160a01b0316336001600160a01b03161461169c57604051632aab8bd360e01b815260040160405180910390fd5b6106d98686868686611ef1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916108e291016105e9565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610656906060016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b606060f882901c6001600160f81b0383165f6117a482612bc6565b90505f8360038111156117b9576117b9613bd2565b036117eb576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506118a7565b60018360038111156117ff576117ff613bd2565b0361182b57806040516020016118159190613c86565b60405160208183030381529060405293506118a7565b600283600381111561183f5761183f613bd2565b0361185557806040516020016118159190613cbe565b600383600381111561186957611869613bd2565b036118a7576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016118ca91906133c1565b60405180910390fd5b6118db612c78565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611938573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195c9190613c43565b9050336001600160a01b03821614801590611a0857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f29190613c43565b6001600160a01b0316336001600160a01b031614155b8015611a1a5750611a1833612471565b155b15611a37576040516282b42960e81b815260040160405180910390fd5b5f611a406120ac565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aab9190613cf7565b9050611ac16001600160a01b0385168483612ca0565b81611aca6120ac565b14611ae8576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104b560015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb49190613c43565b6001600160a01b0316336001600160a01b031614158015611bdb5750611bd933612471565b155b15611bf8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611c4190831515815260200190565b60405180910390a150565b83421115611c6d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611c945760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611d7e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611dbc57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611e5b57506001600160a01b038516155b15611e795760405163f0dd15fd60e01b815260040160405180910390fd5b828114611e995760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611ee857611ee0858583818110611eb857611eb8613c72565b905060200201358888868686818110611ed357611ed3613c72565b9050602002013533611ef1565b600101611e9b565b50505050505050565b6001600160a01b0384161580611f0e57506001600160a01b038316155b15611f2c5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611fec576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611fec575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611fea575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611fe4908490613c0d565b90915550505b505b5f858152600a602090815260408083206001600160a01b03881684529091528120805484929061201d908490613c0d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290612053908490613bfa565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166393c520626121d16040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b6040516001600160e01b031960e084901b1681526004810191909152306024820152604401606060405180830381865afa158015612211573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122359190613d55565b51919050565b5f612244612c78565b61224d82612cf2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ce9190613c43565b90506001600160a01b0381166122e760208501856133e7565b6001600160a01b03161461230e57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b038216148015906123b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561237e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a29190613c43565b6001600160a01b0316336001600160a01b031614155b80156123ca57506123c833612471565b155b156123e7576040516282b42960e81b815260040160405180910390fd5b5f6123f0612774565b600980545f909155909150612406818387612d27565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461244560408a0160208b0161340f565b60408051938452602084019290925215159082015260600160405180910390a25050506105fd60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156124ce573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124f59190810190613db8565b90505f5b815181101561254657836001600160a01b031682828151811061251e5761251e613c72565b60200260200101516001600160a01b03160361253e575060019392505050565b6001016124f9565b505f9392505050565b606060f882901c6001600160f81b0383165f61256a82612bc6565b90505f83600381111561257f5761257f613bd2565b036125b1576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506118a7565b60018360038111156125c5576125c5613bd2565b036125db57806040516020016118159190613e65565b60028360038111156125ef576125ef613bd2565b0361260557806040516020016118159190613e9c565b600383600381111561261957612619613bd2565b036118a757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f612786670de0b6b3a764000061293d565b905090565b6127e36040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916128db9116612dbd565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261290d92900416612dbd565b905292915050565b5f6107d28383670de0b6b3a7640000612e31565b5f6107d283670de0b6b3a764000084612e31565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b602060405180830381865af4158015612a5d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190613cf7565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b5f612bab600b5f612b98600286612e4c565b81526020019081526020015f2054612e80565b612bbc600b5f612b98600187612e4c565b6108e29190613f0a565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612c6a57612bff600a86613f3d565b612c0a906030613bfa565b60f81b826001612c1a8487613c0d565b612c249190613c0d565b81518110612c3457612c34613c72565b60200101906001600160f81b03191690815f1a90535080612c5481613f50565b9150612c639050600a86613f68565b9450612bee565b918290030190815292915050565b60025f5403612c9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d6e908490612ead565b5f612d0060208301836133e7565b6001600160a01b0316036104b55760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612d338585612915565b9050612d3e81612a81565b9450845f03612d50575f9150506107d2565b849150612d63604084016020850161340f565b15612d9257612d8b85612d7960208601866133e7565b612d866040870187613f7b565b612f0e565b9150612db5565b612db585612da360208601866133e7565b612db06040870187613f7b565b613105565b509392505050565b5f80670de0b6b3a7640000612dd061311e565b612dda9190613fbe565b9050808311612de9575f612df3565b612df38184613c0d565b91506107d2612e2a670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613fbe565b8390612929565b5f825f190484118302158202612e45575f80fd5b5091020490565b5f6001600160f81b03821115612e755760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612ea95760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612ec16001600160a01b03841683613149565b905080515f14158015612ee5575080806020019051810190612ee39190613fd5565b155b15610d6e57604051635274afe760e01b81526001600160a01b03841660048201526024016118ca565b5f80612f198661293d565b905080156130fc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506130448961293d565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156130d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f89190613ff0565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f612786427f0000000000000000000000000000000000000000000000000000000000000000613156565b60606107d283835f61316b565b5f6131618284613f3d565b6107d29084613c0d565b6060814710156131905760405163cd78605960e01b81523060048201526024016118ca565b5f80856001600160a01b031684866040516131ab9190614012565b5f6040518083038185875af1925050503d805f81146131e5576040519150601f19603f3d011682016040523d82523d5f602084013e6131ea565b606091505b50915091506131fa868383613204565b9695505050505050565b6060826132195761321482613260565b6107d2565b815115801561323057506001600160a01b0384163b155b1561325957604051639996b31560e01b81526001600160a01b03851660048201526024016118ca565b50806107d2565b8051156132705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161335860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561336d575f80fd5b5035919050565b5f5b8381101561338e578181015183820152602001613376565b50505f910152565b5f81518084526133ad816020860160208601613374565b601f01601f19169290920160200192915050565b602081525f6107d26020830184613396565b6001600160a01b03811681146104b5575f80fd5b5f602082840312156133f7575f80fd5b81356107d2816133d3565b80151581146104b5575f80fd5b5f6020828403121561341f575f80fd5b81356107d281613402565b60ff811681146104b5575f80fd5b5f805f805f805f805f6101208a8c031215613451575f80fd5b8935985060208a0135975060408a013561346a816133d3565b965060608a013561347a816133d3565b955060808a013561348a81613402565b945060a08a0135935060c08a01356134a18161342a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126134d1575f80fd5b50813567ffffffffffffffff8111156134e8575f80fd5b6020830191508360208260051b8501011115613502575f80fd5b9250929050565b5f805f805f806080878903121561351e575f80fd5b8635613529816133d3565b95506020870135613539816133d3565b9450604087013567ffffffffffffffff80821115613555575f80fd5b6135618a838b016134c1565b90965094506060890135915080821115613579575f80fd5b5061358689828a016134c1565b979a9699509497509295939492505050565b5f805f80608085870312156135ab575f80fd5b8435935060208501356135bd816133d3565b925060408501356135cd816133d3565b9396929550929360600135925050565b5f805f606084860312156135ef575f80fd5b833592506020840135613601816133d3565b91506040840135613611816133d3565b809150509250925092565b5f806040838503121561362d575f80fd5b82359150602083013561363f816133d3565b809150509250929050565b5f6020828403121561365a575f80fd5b813567ffffffffffffffff811115613670575f80fd5b8201606081850312156107d2575f80fd5b5f805f8060808587031215613694575f80fd5b8435935060208501356136a6816133d3565b92506040850135915060608501356136bd816133d3565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561377a575f80fd5b8235613785816133d3565b9150602083013561363f81613402565b5f805f606084860312156137a7575f80fd5b8335925060208401356137b9816133d3565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516137f660208401826001600160a01b03169052565b50604083015161381160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613883828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613901575f80fd5b823567ffffffffffffffff811115613917575f80fd5b613923858286016134c1565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156139665783518352928401929184019160010161394a565b50909695505050505050565b81516001600160801b031681526101808101602083015161399e60208401826001600160801b03169052565b5060408301516139b960408401826001600160801b03169052565b5060608301516139d460608401826001600160801b03169052565b5060808301516139e96080840182600f0b9052565b5060a0830151613a0460a08401826001600160801b03169052565b5060c0830151613a1f60c08401826001600160801b03169052565b5060e0830151613a3a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526138e8565b5f805f805f60a08688031215613a97575f80fd5b853594506020860135613aa9816133d3565b93506040860135613ab9816133d3565b9250606086013591506080860135613ad0816133d3565b809150509295509295909350565b5f8060408385031215613aef575f80fd5b8235613afa816133d3565b9150602083013561363f816133d3565b5f60208083525f84545f60018260011c91506001831680613b2c57607f831692505b602083108103613b4a57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613b695760018114613b7f57613ba8565b60ff198616825284151560051b82019650613ba8565b5f8b8152602090205f5b86811015613ba257815484820152908501908901613b89565b83019750505b50949998505050505050505050565b5f60208284031215613bc7575f80fd5b81516107d28161342a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156108e2576108e2613be6565b818103818111156108e2576108e2613be6565b5f8060408385031215613c31575f80fd5b82519150602083015161363f81613402565b5f60208284031215613c53575f80fd5b81516107d2816133d3565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613cb1816011850160208701613374565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613cea816012850160208701613374565b9190910160120192915050565b5f60208284031215613d07575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d3757613d37613c5e565b604052919050565b80516001600160801b03811681146105fd575f80fd5b5f60608284031215613d65575f80fd5b6040516060810181811067ffffffffffffffff82111715613d8857613d88613c5e565b60405282518152613d9b60208401613d3f565b6020820152613dac60408401613d3f565b60408201529392505050565b5f6020808385031215613dc9575f80fd5b825167ffffffffffffffff80821115613de0575f80fd5b818501915085601f830112613df3575f80fd5b815181811115613e0557613e05613c5e565b8060051b9150613e16848301613d0e565b8181529183018401918481019088841115613e2f575f80fd5b938501935b83851015613e595784519250613e49836133d3565b8282529385019390850190613e34565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613e8f816010850160208701613374565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613cb1816011850160208701613374565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b8181035f8312801583831316838312821617156114b4576114b4613be6565b634e487b7160e01b5f52601260045260245ffd5b5f82613f4b57613f4b613f29565b500690565b5f60018201613f6157613f61613be6565b5060010190565b5f82613f7657613f76613f29565b500490565b5f808335601e19843603018112613f90575f80fd5b83018035915067ffffffffffffffff821115613faa575f80fd5b602001915036819003821315613502575f80fd5b80820281158282048414176108e2576108e2613be6565b5f60208284031215613fe5575f80fd5b81516107d281613402565b5f8060408385031215614001575f80fd5b505080516020909101519092909150565b5f8251614023818460208701613374565b919091019291505056fea26469706673582212204cc79012074297f68544d022452c11f2196c5affb9c9eb9e24d2474f9fa30fb464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collateralToken()": "b2016bd4", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "id()": "af640d0f", + "irm()": "28e8fe7d", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "lltv()": "217b7ffe", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "oracle()": "7dc0d1d0", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vault()": "fbfa77cf", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget0Deployer.ts new file mode 100644 index 000000000..92ee4753b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const MorphoBlueTarget0Deployer = { + name: 'MorphoBlueTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506150188061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614a0a80620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004a0a38038062004a0a8339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051614063620009a75f395f818161076301528181610eae015281816121a801528181612a1801528181612b5c015261301901525f81816107e701528181610e7f01528181612179015281816129f601528181612b3a0152612fea01525f8181610cc701528181610e500152818161214a015281816129d401528181612b180152612fbb01525f8181610e21015281816113a50152818161211b015281816129b201528181612af60152612f8c01525f8181611758015281816120af0152818161296e01528181612ab20152612f2301525f8181610f7d01526126c601525f8181610f4e015261268901525f8181610d31015281816110ad0152818161113b015281816111c901528181611257015281816118de0152818161197401528181611b360152818161225001528181612324015261247501525f61101501525f8181610fef015261287001525f8181610fc9015261284a01525f8181610fa3015261282401525f61136201525f61133c01525f61131601525f6112f001525f8181611087015261289601525f818161103b0152818161152c0152612e0601525f8181611061015261312501525f818161067e0152610f1f01525f818161081e01528181610df201528181610ef0015281816114c9015281816120ec0152818161299001528181612ad40152612f5d01526140635ff3fe608060405234801561000f575f80fd5b506004361061026a575f3560e01c80637180c8ca1161014b578063bd85b039116100bf578063cf210e6511610084578063cf210e6514610546578063d816574314610559578063e44808bc1461056e578063e985e9c514610581578063fba5600814610594578063fbfa77cf146105c3575f80fd5b8063bd85b039146104f0578063becee9c314610503578063c55dae6314610523578063c69e16ad1461052b578063c6e6f59214610533575f80fd5b8063a22cb46511610110578063a22cb46514610494578063ab033ea9146104a7578063af640d0f146104b8578063b0d96580146104c0578063b2016bd4146104d5578063b88fed9f146104dd575f80fd5b80637180c8ca1461044c5780637dc0d1d01461045e5780637ecebe0014610466578063950c5d03146104795780639cd241af14610481575f80fd5b806321ff32a9116101e25780633e691db9116101a75780633e691db9146103d357806346fbf68e146103e65780634e41a1fb146104095780634ed2d6ac1461041c57806354fd4d501461042f57806360246c8814610437575f80fd5b806321ff32a91461038357806328e8fe7d14610396578063313ce5671461039e5780633656eec2146103b85780633a98ef39146103cb575f80fd5b80630a4e1493116102335780630a4e1493146102cf57806314e5f07b146102ef57806317fad7fc146103025780631c0f12b61461031557806320fc488114610328578063217b7ffe1461036d575f80fd5b8062ad800c1461026e57806301681a621461029757806302329a29146102ac57806304baa00b146102bf57806306fdde03146102c7575b5f80fd5b61028161027c36600461335d565b6105cb565b60405161028e91906133c1565b60405180910390f35b6102aa6102a53660046133e7565b610602565b005b6102aa6102ba36600461340f565b61060b565b610281610614565b610281610659565b6102d7610670565b6040516001600160a01b03909116815260200161028e565b6102aa6102fd366004613438565b6106af565b6102aa610310366004613509565b6106cb565b6102aa610323366004613598565b6106e1565b61033b61033636600461335d565b6106f4565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161028e565b61037561075d565b60405190815260200161028e565b6103756103913660046135dd565b610794565b6102d76107d9565b6103a6610818565b60405160ff909116815260200161028e565b6103756103c636600461361c565b6108b0565b6103756108e8565b6103756103e136600461364a565b610906565b6103f96103f43660046133e7565b610910565b604051901515815260200161028e565b61028161041736600461335d565b61092f565b6102aa61042a366004613681565b61093d565b61028161098b565b61043f6109c0565b60405161028e91906136c8565b6102aa61045a366004613769565b5050565b6102d7610cb9565b6103756104743660046133e7565b610cf8565b6102d7610d23565b6102aa61048f366004613795565b610d62565b6102aa6104a2366004613769565b610d73565b6102aa6104b53660046133e7565b50565b610375610dde565b6104c8610ed7565b60405161028e91906137ca565b6102d7611397565b6103756104eb36600461335d565b6113d6565b6103756104fe36600461335d565b6113e3565b6105166105113660046138f0565b611404565b60405161028e919061392f565b6102d76114bb565b6103756114fa565b61037561054136600461335d565b611513565b61037561055436600461335d565b611520565b610561611556565b60405161028e9190613972565b6102aa61057c366004613a83565b611661565b6103f961058f366004613ade565b6116a9565b61059c6116ec565b6040805182516001600160801b03908116825260209384015116928101929092520161028e565b6102d761174a565b60606105fd6105d983611789565b6040516020016105e991906133c1565b6040516020818303038152906040526118af565b919050565b6104b5816118d3565b6104b581611b34565b6060610656604051806040016040528060148152602001734d6f7270686f426c75654879706572647269766560601b8152506040516020016105e991906133c1565b90565b606061065660016040516020016105e99190613b0a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6106c0898989898989898989611c4c565b505050505050505050565b6106d9868686868686611e3e565b505050505050565b6106ee8484848433611ef1565b50505050565b604080516060810182525f80825260208201819052918101919091526105fd60085f8481526020019081526020015f206040516020016105e9919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006040516020016105e991815260200190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107d291016105e9565b9392505050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106567f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190613bb7565b6040805160ff9092166020830152016105e9565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526108e291016105e9565b92915050565b5f6106566108f46120ac565b6040516020016105e991815260200190565b5f6108e28261223b565b5f6105fd61091d83612471565b604080519115156020830152016105e9565b60606105fd6105d98361254f565b836109478161264b565b6001600160a01b0316336001600160a01b03161461097857604051632aab8bd360e01b815260040160405180910390fd5b61098485858585612708565b5050505050565b606061065660405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105e991906133c1565b610a2a604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610a33612774565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a9d9190613bfa565b610aa79190613c0d565b90505f8215610bb65773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610ad38561278b565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610b82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190613c20565b509050610bb38184612915565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610c8657610c818486612929565b610c88565b5f5b81526003546001600160801b0316602091820152604051919250610cb2916105e9918491016136c8565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105fd91016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b610d6e83838333612708565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f6106566108f46040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b610edf613289565b6106566040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611195573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b99190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611223573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112479190613c43565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d59190613c43565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105e991906137ca565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6105fd6108f48361293d565b5f818152600b60209081526040808320548151928301526105fd91016105e9565b60605f8267ffffffffffffffff81111561142057611420613c5e565b604051908082528060200260200182016040528015611449578160200160208202803683370190505b5090505f5b8381101561149f575f85858381811061146957611469613c72565b9050602002013590505f815490508084848151811061148a5761148a613c72565b6020908102919091010152505060010161144e565b506114b4816040516020016105e9919061392f565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b5f6106566009546040516020016105e991815260200190565b5f6105fd6108f483612a81565b5f6105fd6108f46115517f000000000000000000000000000000000000000000000000000000000000000085613bfa565b612b86565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915261065660026040516020016105e9919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461166b8161264b565b6001600160a01b0316336001600160a01b03161461169c57604051632aab8bd360e01b815260040160405180910390fd5b6106d98686868686611ef1565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916108e291016105e9565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b9092048116602093840190815284519384019290925290511691810191909152610656906060016105e9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f9161065691016105e9565b606060f882901c6001600160f81b0383165f6117a482612bc6565b90505f8360038111156117b9576117b9613bd2565b036117eb576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506118a7565b60018360038111156117ff576117ff613bd2565b0361182b57806040516020016118159190613c86565b60405160208183030381529060405293506118a7565b600283600381111561183f5761183f613bd2565b0361185557806040516020016118159190613cbe565b600383600381111561186957611869613bd2565b036118a7576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016118ca91906133c1565b60405180910390fd5b6118db612c78565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611938573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195c9190613c43565b9050336001600160a01b03821614801590611a0857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f29190613c43565b6001600160a01b0316336001600160a01b031614155b8015611a1a5750611a1833612471565b155b15611a37576040516282b42960e81b815260040160405180910390fd5b5f611a406120ac565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611a87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aab9190613cf7565b9050611ac16001600160a01b0385168483612ca0565b81611aca6120ac565b14611ae8576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506104b560015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb49190613c43565b6001600160a01b0316336001600160a01b031614158015611bdb5750611bd933612471565b155b15611bf8576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611c4190831515815260200190565b60405180910390a150565b83421115611c6d5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611c945760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611d7e573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611dbc57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611e5b57506001600160a01b038516155b15611e795760405163f0dd15fd60e01b815260040160405180910390fd5b828114611e995760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611ee857611ee0858583818110611eb857611eb8613c72565b905060200201358888868686818110611ed357611ed3613c72565b9050602002013533611ef1565b600101611e9b565b50505050505050565b6001600160a01b0384161580611f0e57506001600160a01b038316155b15611f2c5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611fec576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611fec575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611fea575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611fe4908490613c0d565b90915550505b505b5f858152600a602090815260408083206001600160a01b03881684529091528120805484929061201d908490613c0d565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290612053908490613bfa565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166393c520626121d16040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525060a0902090565b6040516001600160e01b031960e084901b1681526004810191909152306024820152604401606060405180830381865afa158015612211573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122359190613d55565b51919050565b5f612244612c78565b61224d82612cf2565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ce9190613c43565b90506001600160a01b0381166122e760208501856133e7565b6001600160a01b03161461230e57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b038216148015906123b857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561237e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a29190613c43565b6001600160a01b0316336001600160a01b031614155b80156123ca57506123c833612471565b155b156123e7576040516282b42960e81b815260040160405180910390fd5b5f6123f0612774565b600980545f909155909150612406818387612d27565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461244560408a0160208b0161340f565b60408051938452602084019290925215159082015260600160405180910390a25050506105fd60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156124ce573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124f59190810190613db8565b90505f5b815181101561254657836001600160a01b031682828151811061251e5761251e613c72565b60200260200101516001600160a01b03160361253e575060019392505050565b6001016124f9565b505f9392505050565b606060f882901c6001600160f81b0383165f61256a82612bc6565b90505f83600381111561257f5761257f613bd2565b036125b1576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506118a7565b60018360038111156125c5576125c5613bd2565b036125db57806040516020016118159190613e65565b60028360038111156125ef576125ef613bd2565b0361260557806040516020016118159190613e9c565b600383600381111561261957612619613bd2565b036118a757505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f612786670de0b6b3a764000061293d565b905090565b6127e36040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916128db9116612dbd565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261290d92900416612dbd565b905292915050565b5f6107d28383670de0b6b3a7640000612e31565b5f6107d283670de0b6b3a764000084612e31565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b602060405180830381865af4158015612a5d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190613cf7565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390612a42907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613ec7565b5f612bab600b5f612b98600286612e4c565b81526020019081526020015f2054612e80565b612bbc600b5f612b98600187612e4c565b6108e29190613f0a565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612c6a57612bff600a86613f3d565b612c0a906030613bfa565b60f81b826001612c1a8487613c0d565b612c249190613c0d565b81518110612c3457612c34613c72565b60200101906001600160f81b03191690815f1a90535080612c5481613f50565b9150612c639050600a86613f68565b9450612bee565b918290030190815292915050565b60025f5403612c9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d6e908490612ead565b5f612d0060208301836133e7565b6001600160a01b0316036104b55760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612d338585612915565b9050612d3e81612a81565b9450845f03612d50575f9150506107d2565b849150612d63604084016020850161340f565b15612d9257612d8b85612d7960208601866133e7565b612d866040870187613f7b565b612f0e565b9150612db5565b612db585612da360208601866133e7565b612db06040870187613f7b565b613105565b509392505050565b5f80670de0b6b3a7640000612dd061311e565b612dda9190613fbe565b9050808311612de9575f612df3565b612df38184613c0d565b91506107d2612e2a670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613fbe565b8390612929565b5f825f190484118302158202612e45575f80fd5b5091020490565b5f6001600160f81b03821115612e755760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612ea95760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612ec16001600160a01b03841683613149565b905080515f14158015612ee5575080806020019051810190612ee39190613fd5565b155b15610d6e57604051635274afe760e01b81526001600160a01b03841660048201526024016118ca565b5f80612f198661293d565b905080156130fc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506130448961293d565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156130d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f89190613ff0565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f612786427f0000000000000000000000000000000000000000000000000000000000000000613156565b60606107d283835f61316b565b5f6131618284613f3d565b6107d29084613c0d565b6060814710156131905760405163cd78605960e01b81523060048201526024016118ca565b5f80856001600160a01b031684866040516131ab9190614012565b5f6040518083038185875af1925050503d805f81146131e5576040519150601f19603f3d011682016040523d82523d5f602084013e6131ea565b606091505b50915091506131fa868383613204565b9695505050505050565b6060826132195761321482613260565b6107d2565b815115801561323057506001600160a01b0384163b155b1561325957604051639996b31560e01b81526001600160a01b03851660048201526024016118ca565b50806107d2565b8051156132705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b0316815260200161335860405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f6020828403121561336d575f80fd5b5035919050565b5f5b8381101561338e578181015183820152602001613376565b50505f910152565b5f81518084526133ad816020860160208601613374565b601f01601f19169290920160200192915050565b602081525f6107d26020830184613396565b6001600160a01b03811681146104b5575f80fd5b5f602082840312156133f7575f80fd5b81356107d2816133d3565b80151581146104b5575f80fd5b5f6020828403121561341f575f80fd5b81356107d281613402565b60ff811681146104b5575f80fd5b5f805f805f805f805f6101208a8c031215613451575f80fd5b8935985060208a0135975060408a013561346a816133d3565b965060608a013561347a816133d3565b955060808a013561348a81613402565b945060a08a0135935060c08a01356134a18161342a565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f8401126134d1575f80fd5b50813567ffffffffffffffff8111156134e8575f80fd5b6020830191508360208260051b8501011115613502575f80fd5b9250929050565b5f805f805f806080878903121561351e575f80fd5b8635613529816133d3565b95506020870135613539816133d3565b9450604087013567ffffffffffffffff80821115613555575f80fd5b6135618a838b016134c1565b90965094506060890135915080821115613579575f80fd5b5061358689828a016134c1565b979a9699509497509295939492505050565b5f805f80608085870312156135ab575f80fd5b8435935060208501356135bd816133d3565b925060408501356135cd816133d3565b9396929550929360600135925050565b5f805f606084860312156135ef575f80fd5b833592506020840135613601816133d3565b91506040840135613611816133d3565b809150509250925092565b5f806040838503121561362d575f80fd5b82359150602083013561363f816133d3565b809150509250929050565b5f6020828403121561365a575f80fd5b813567ffffffffffffffff811115613670575f80fd5b8201606081850312156107d2575f80fd5b5f805f8060808587031215613694575f80fd5b8435935060208501356136a6816133d3565b92506040850135915060608501356136bd816133d3565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561377a575f80fd5b8235613785816133d3565b9150602083013561363f81613402565b5f805f606084860312156137a7575f80fd5b8335925060208401356137b9816133d3565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516137f660208401826001600160a01b03169052565b50604083015161381160408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613883828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613901575f80fd5b823567ffffffffffffffff811115613917575f80fd5b613923858286016134c1565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156139665783518352928401929184019160010161394a565b50909695505050505050565b81516001600160801b031681526101808101602083015161399e60208401826001600160801b03169052565b5060408301516139b960408401826001600160801b03169052565b5060608301516139d460608401826001600160801b03169052565b5060808301516139e96080840182600f0b9052565b5060a0830151613a0460a08401826001600160801b03169052565b5060c0830151613a1f60c08401826001600160801b03169052565b5060e0830151613a3a60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526138e8565b5f805f805f60a08688031215613a97575f80fd5b853594506020860135613aa9816133d3565b93506040860135613ab9816133d3565b9250606086013591506080860135613ad0816133d3565b809150509295509295909350565b5f8060408385031215613aef575f80fd5b8235613afa816133d3565b9150602083013561363f816133d3565b5f60208083525f84545f60018260011c91506001831680613b2c57607f831692505b602083108103613b4a57634e487b7160e01b5f52602260045260245ffd5b6020880183905260408801818015613b695760018114613b7f57613ba8565b60ff198616825284151560051b82019650613ba8565b5f8b8152602090205f5b86811015613ba257815484820152908501908901613b89565b83019750505b50949998505050505050505050565b5f60208284031215613bc7575f80fd5b81516107d28161342a565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156108e2576108e2613be6565b818103818111156108e2576108e2613be6565b5f8060408385031215613c31575f80fd5b82519150602083015161363f81613402565b5f60208284031215613c53575f80fd5b81516107d2816133d3565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613cb1816011850160208701613374565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613cea816012850160208701613374565b9190910160120192915050565b5f60208284031215613d07575f80fd5b5051919050565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d3757613d37613c5e565b604052919050565b80516001600160801b03811681146105fd575f80fd5b5f60608284031215613d65575f80fd5b6040516060810181811067ffffffffffffffff82111715613d8857613d88613c5e565b60405282518152613d9b60208401613d3f565b6020820152613dac60408401613d3f565b60408201529392505050565b5f6020808385031215613dc9575f80fd5b825167ffffffffffffffff80821115613de0575f80fd5b818501915085601f830112613df3575f80fd5b815181811115613e0557613e05613c5e565b8060051b9150613e16848301613d0e565b8181529183018401918481019088841115613e2f575f80fd5b938501935b83851015613e595784519250613e49836133d3565b8282529385019390850190613e34565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613e8f816010850160208701613374565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613cb1816011850160208701613374565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b8181035f8312801583831316838312821617156114b4576114b4613be6565b634e487b7160e01b5f52601260045260245ffd5b5f82613f4b57613f4b613f29565b500690565b5f60018201613f6157613f61613be6565b5060010190565b5f82613f7657613f76613f29565b500490565b5f808335601e19843603018112613f90575f80fd5b83018035915067ffffffffffffffff821115613faa575f80fd5b602001915036819003821315613502575f80fd5b80820281158282048414176108e2576108e2613be6565b5f60208284031215613fe5575f80fd5b81516107d281613402565b5f8060408385031215614001575f80fd5b505080516020909101519092909150565b5f8251614023818460208701613374565b919091019291505056fea26469706673582212204cc79012074297f68544d022452c11f2196c5affb9c9eb9e24d2474f9fa30fb464736f6c63430008160033a264697066735822122089a1d95b8b8eddb97725d4560a4d5ebc605708075377d3efc93f5ba8c9b9250964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget1.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget1.ts new file mode 100644 index 000000000..4f5b2ac63 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget1.ts @@ -0,0 +1,1022 @@ +export const MorphoBlueTarget1 = { + name: 'MorphoBlueTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b5060405162004565380380620045658339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613bee620009775f395f8181611a45015281816126f2015261282701525f8181611a23015281816126d001526127f801525f8181611a01015281816126ae01526127c901525f81816119df0152818161268c015261279a01525f818161199b01528181612648015261273101525f50505f50505f610b2e01525f50505f818160a9015281816103140152612e9c01525f818161139301528181611791015281816117f401528181612a8501528181612ac101528181612cb90152612e7601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612e5001525f611bf301525f8181611d140152818161235501526123cd01525f81816108a901528181610f4301528181611ce801526123a101525f8181610e3e015261231b01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ec201525f81816107e701528181610ec4015281816116ef015281816121f401526133e601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f81816119bd0152818161266a015261276b0152613bee5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613676565b610070565b60405190815260200160405180910390f35b61004b61006b366004613676565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906136e4565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136f7565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361372a565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613752565b6102bd8a6102b78d8f6136e4565b90611584565b8d6102cb60408c018c61376d565b6040516102df9897969594939291906137d8565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906136e4565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361381f565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361372a565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613752565b8a61050260408b018b61376d565b6040516105159796959493929190613846565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361372a565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611aae565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6136e4565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611ac3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b92505b5061073e83611af9565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613886565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836136e4565b4290611b22565b8461102b565b6107db88611b36565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613886565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611cd3565b915091508060095f82825461087891906136e4565b909155506108939050865f8461088d81611321565b88611164565b61089d81836136e4565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611da0565b91506108e16108dc8385611584565b611de9565b600680546002906109029084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611af9565b60068054601090610951908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611cd3565b915091508060095f8282546109c491906136e4565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613886565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611af9565b60068054601090610a68908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136f7565b5f61134e565b8e610ac58482611e12565b50505b5f610ad284612001565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906138d9565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612143565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613886565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611ac3565b90505f610d5f8a6121c9565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612218565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612287565b6122b6565b15610e7457610e746113ec565b5f805f610e8385878b876122f7565b9c5091945092509050610e968184613886565b610ea090896136e4565b9750610eac82846136e4565b610eb6908d6136e4565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613886565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611da0565b9950610f73878a613886565b9850670de0b6b3a7640000610ff0610f8b87876136e4565b600254610fa9908f90600160801b90046001600160801b0316613886565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612409565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613886565b6110d191906138f4565b85670de0b6b3a76400006110e5878a613886565b6110ef91906138f4565b8592919060016124a5565b611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611af9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138f4565b600554600160801b90046001600160801b031691908a5f6124a5565b600580546001600160801b03928316600160801b0292169190911790556111d286611af9565b6111dc908261390b565b600480546001600160801b03928316600160801b02921691909117905561120284611af9565b600280545f9061121c9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361254b565b600480545f9061125d908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611af9565b600280546010906112af908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136f7565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612586565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836125e8565b6003546113ce91906001600160801b03166136e4565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611e12565b5f805f61141d84611b36565b90925090505f61142d8686611584565b905081831115611445576114428683856125fc565b95505b8281101561145757808303925061145b565b5f92505b61146483611de9565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611af9565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612617565b9450845f03611516575f91505061157d565b8491506115296040840160208501613752565b15611558576115518561153f602086018661372a565b61154c604087018761376d565b61271c565b915061157b565b61157b85611569602086018661372a565b611576604087018761376d565b612913565b505b9392505050565b5f61157d8383670de0b6b3a76400006125fc565b5f805f805f805f806115a8611ac3565b90505f6115b48a6121c9565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061292c565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b985061169a84878b886122f7565b9c5091945090925090506116ae8284613886565b6116b89089613886565b97506116c481846136e4565b6116ce908e613886565b9c506116da8a8e6136e4565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613886565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612409565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613886565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136f7565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361297f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138f4565b6005546001600160801b031691908c5f6124a5565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613886565b90506118a281611af9565b600380546001600160801b03928316600160801b0292169190911790556118c883611af9565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261254b565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611af9565b6002805460109061193c908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b602060405180830381865af4158015611a8a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061399b565b5f611ab982846139c6565b61157d9084613886565b6002546004545f916105a6916001600160801b0390911690600f0b61297f565b5f61007d82611af38588886125fc565b906129a4565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611b30578261157d565b50919050565b6006545f908190611b58908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611cce575f611b818383613886565b9050611b906110fa8286612a13565b60068054601090611bb2908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bea8583612a2790919063ffffffff16565b90505f611c17827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611c2a91906136e4565b90915550611c3a90508183613886565b9150611c4582611af9565b600280545f90611c5f9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c8c82612a3b565b600480545f90611ca0908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611cdf8785612a27565b91505f611d0c837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611d38817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d5b57611d4a8282613886565b611d549084613886565b9250611d72565b611d658282613886565b611d6f90846136e4565b92505b86861015611d9557611d858387896125fc565b9250611d928287896125fc565b91505b509550959350505050565b5f80611db784611db18a888a6125fc565b90612a27565b9050611dc48884866125fc565b611dce90826136e4565b905086811115611dde5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e5c916001600160801b031690613886565b9050805f03611e6f57600191505061131b565b5f611e7985612a64565b9050805f03611e8d5760019250505061131b565b5f80611e9a838589612aff565b9150915080611eaf575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611eea929190613a57565b6040805180830381865af4158015611f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f289190613acc565b91509150611f46611f3882611321565b611f4190613aee565b612c73565b925082611f5b575f965050505050505061131b565b611f6482611af9565b600780545f90611f7e9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fab81611af9565b60078054601090611fcd908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61202887612e07565b6040518263ffffffff1660e01b81526004016120449190613b08565b6040805180830381865af415801561205e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120829190613b17565b915091508061209757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120fc916136e4565b6121069190613886565b9050805f0361211c57505f958695509350505050565b5f80871161212a575f612135565b6121358488846125fc565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561216657612166613b45565b6040519080825280601f01601f191660200182016040528015612190576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121b0578692505b828152825f602083013e90999098509650505050505050565b5f806121d36105ab565b90508083116121e2575f6121ec565b6121ec8184613886565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612a27565b5f808061223861223088670de0b6b3a7640000613886565b899087612f41565b9050861561227a5761224a88886125e8565b915061226b8a8a846122648a670de0b6b3a7640000613886565b8989612f64565b925061227783826136e4565b90505b9750975097945050505050565b5f6122a461229d84670de0b6b3a7640000613886565b83906125e8565b61157d90670de0b6b3a7640000613886565b5f806122ec856122c4611ac3565b6122ce91906136e4565b600254610fa9908790600160801b90046001600160801b0316613886565b909210949350505050565b5f80808061234d87866123468b6123406123198c670de0b6b3a7640000613886565b7f0000000000000000000000000000000000000000000000000000000000000000906125e8565b906125e8565b9190612f41565b9350612379847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61239961239189670de0b6b3a7640000613886565b8a9088612f41565b90506123c5817f00000000000000000000000000000000000000000000000000000000000000006125e8565b93506123f1847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123fb90846136e4565b915050945094509450949050565b5f805f805f808888101561247557861561242b576124288d898b6125fc565b9c505b6124368c898b6125fc565b9b506124418b611321565b61244a8d611321565b61245491906136f7565b90506124618b898b6125fc565b9a5061246e8a898b6125fc565b9950612494565b61247e8b611321565b6124878d611321565b61249191906136f7565b90505b9b9c9a9b999a975050505050505050565b5f825f036124b4575084612542565b8115612506576124e56124c784876136e4565b6124d18587611584565b6124db888a611584565b611db191906136e4565b90505f6124f28588611b22565b905080821015612500578091505b50612542565b82850361251457505f612542565b61253f6125218487613886565b61252b85876125e8565b612535888a611584565b611db19190613886565b90505b95945050505050565b5f60016001607f1b0319821280612568575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612592845f612f86565b61259c845f612f86565b6125a691906136f7565b90505f8113156125c1576125ba81866136e4565b94506125df565b5f8112156125df576125d281613aee565b6125dc9086613886565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612f41565b5f825f190484118302158202612610575f80fd5b5091020490565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b5f806127278661196a565b9050801561290a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506128528961196a565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156128e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129069190613acc565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f808061294c61294488670de0b6b3a7640000613886565b8990876125fc565b9050861561227a5761295e8888611584565b915061226b8a8a846129788a670de0b6b3a7640000613886565b8989612f9b565b5f8061298b8484612fab565b90925090508061299d5761299d6113ec565b5092915050565b5f815f036129bb5750670de0b6b3a764000061131b565b825f036129c957505f61131b565b5f6129d383611321565b90505f6129e76129e286611321565b612fe6565b90508181026129fe670de0b6b3a764000082613b59565b9050612a098161320b565b9695505050505050565b5f61157d83670de0b6b3a764000084612f41565b5f61157d83670de0b6b3a7640000846125fc565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612a7e906001600160801b031684612a13565b9050612aaa7f0000000000000000000000000000000000000000000000000000000000000000826136e4565b6002546001600160801b03161115611b30576002547f000000000000000000000000000000000000000000000000000000000000000090612af59083906001600160801b0316613886565b61157d9190613886565b612b076135d7565b5f80612b1284612e07565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b4c9190613b08565b6040805180830381865af4158015612b66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8a9190613b17565b9350905082612b9e57505f9150612c6b9050565b5f612bc4612bbf84610160015185610140015161158490919063ffffffff16565b611321565b612be4612bbf8561012001518661010001516125e890919063ffffffff16565b612bee91906136f7565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d4d9190613b85565b935093509350935080612d6857505f98975050505050505050565b868414612d9957612d7884611af9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dca57612da98361254b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612df857612dda82611af9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e0f613621565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f07911661339d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f399290041661339d565b905292915050565b5f825f190484118302158202612f55575f80fd5b50910281810615159190040190565b5f80612f74888888888888613411565b909250905080611dde57611dde6113ec565b5f818313612f94578161157d565b5090919050565b5f80612f748888888888886134ed565b5f805f83612fb886611321565b612fc291906136f7565b90505f811215612fd8575f809250925050612fdf565b9150600190505b9250929050565b5f8082136130075760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061308a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361322457505f919050565b680755bf798b4a1bf1e5821261324d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a0974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133b06105ab565b6133ba91906138f4565b90508083116133c9575f6133d3565b6133d38184613886565b915061157d61340a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138f4565b8390612a27565b5f805f61342189898888886135a9565b905086881015613437575f8092509250506134e2565b968690039661344688876129a4565b97508781101561345c575f8092509250506134e2565b87810361346a818688612f41565b9050670de0b6b3a7640000811061349e57613497613490670de0b6b3a764000089612a13565b82906129a4565b90506134b6565b6134b3613490670de0b6b3a764000089612a27565b90505b6134c08186612a13565b9050898110156134d7575f809350935050506134e2565b899003925060019150505b965096945050505050565b5f805f6134fd89898888886135a9565b905061350d86611af3898b6136e4565b975087811015613523575f8092509250506134e2565b878103613531818688612f41565b9050670de0b6b3a7640000811061355e57613557613490670de0b6b3a764000089612a13565b9050613576565b613573613490670de0b6b3a764000089612a27565b90505b6135808186612a13565b9050808a1015613597575f809350935050506134e2565b90980398600198509650505050505050565b5f6135b485856129a4565b6135cd6135c586611af3868b6125e8565b859085612f41565b61253f91906136e4565b6040518061012001604052806135eb613621565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613689575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136b4575f80fd5b8501606081880312156136c5575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6136d0565b8181035f83128015838313168383128216171561299d5761299d6136d0565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561373a575f80fd5b813561157d81613716565b8015158114610591575f80fd5b5f60208284031215613762575f80fd5b813561157d81613745565b5f808335601e19843603018112613782575f80fd5b83018035915067ffffffffffffffff82111561379c575f80fd5b602001915036819003821315612fdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61381160e0830184866137b0565b9a9950505050505050505050565b8082018281125f83128015821682158216171561383e5761383e6136d0565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61387960c0830184866137b0565b9998505050505050505050565b8181038181111561131b5761131b6136d0565b6001600160701b0381811683821601908082111561299d5761299d6136d0565b6001600160801b0381811683821601908082111561299d5761299d6136d0565b5f602082840312156138e9575f80fd5b815161157d81613716565b808202811582820484141761131b5761131b6136d0565b6001600160801b0382811682821603908082111561299d5761299d6136d0565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6136d0565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f602082840312156139ab575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826139d4576139d46139b2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a6a8285516139d9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613add575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0257613b026136d0565b505f0390565b610180810161131b82846139d9565b5f8060408385031215613b28575f80fd5b825191506020830151613b3a81613745565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b6757613b676139b2565b600160ff1b82145f1984141615613b8057613b806136d0565b500590565b5f805f8060808587031215613b98575f80fd5b84519350602085015192506040850151915060608501516136c58161374556fea264697066735822122001c4ba6afe118458024ff398fcad07cc71cdc619ef6d859bbcc2953d78563d6864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget1Deployer.ts new file mode 100644 index 000000000..f57822e31 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const MorphoBlueTarget1Deployer = { + name: 'MorphoBlueTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50614b738061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b61456580620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004565380380620045658339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613bee620009775f395f8181611a45015281816126f2015261282701525f8181611a23015281816126d001526127f801525f8181611a01015281816126ae01526127c901525f81816119df0152818161268c015261279a01525f818161199b01528181612648015261273101525f50505f50505f610b2e01525f50505f818160a9015281816103140152612e9c01525f818161139301528181611791015281816117f401528181612a8501528181612ac101528181612cb90152612e7601525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612e5001525f611bf301525f8181611d140152818161235501526123cd01525f81816108a901528181610f4301528181611ce801526123a101525f8181610e3e015261231b01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ec201525f81816107e701528181610ec4015281816116ef015281816121f401526133e601525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f81816119bd0152818161266a015261276b0152613bee5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613676565b610070565b60405190815260200160405180910390f35b61004b61006b366004613676565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906136e4565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836136f7565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361372a565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613752565b6102bd8a6102b78d8f6136e4565b90611584565b8d6102cb60408c018c61376d565b6040516102df9897969594939291906137d8565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906136e4565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc908361381f565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361372a565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613752565b8a61050260408b018b61376d565b6040516105159796959493929190613846565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361372a565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611aae565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6136e4565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611ac3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b92505b5061073e83611af9565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613886565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836136e4565b4290611b22565b8461102b565b6107db88611b36565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613886565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611cd3565b915091508060095f82825461087891906136e4565b909155506108939050865f8461088d81611321565b88611164565b61089d81836136e4565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611da0565b91506108e16108dc8385611584565b611de9565b600680546002906109029084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611af9565b60068054601090610951908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611cd3565b915091508060095f8282546109c491906136e4565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613886565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b0316613899565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611af9565b60068054601090610a68908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906136f7565b5f61134e565b8e610ac58482611e12565b50505b5f610ad284612001565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906138d9565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612143565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613886565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611ac3565b90505f610d5f8a6121c9565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612218565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b9550610e67858c610e62897f0000000000000000000000000000000000000000000000000000000000000000612287565b6122b6565b15610e7457610e746113ec565b5f805f610e8385878b876122f7565b9c5091945092509050610e968184613886565b610ea090896136e4565b9750610eac82846136e4565b610eb6908d6136e4565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613886565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611da0565b9950610f73878a613886565b9850670de0b6b3a7640000610ff0610f8b87876136e4565b600254610fa9908f90600160801b90046001600160801b0316613886565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f612409565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613886565b6110d191906138f4565b85670de0b6b3a76400006110e5878a613886565b6110ef91906138f4565b8592919060016124a5565b611af9565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611af9565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866138f4565b600554600160801b90046001600160801b031691908a5f6124a5565b600580546001600160801b03928316600160801b0292169190911790556111d286611af9565b6111dc908261390b565b600480546001600160801b03928316600160801b02921691909117905561120284611af9565b600280545f9061121c9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361254b565b600480545f9061125d908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611af9565b600280546010906112af908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906136f7565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612586565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836125e8565b6003546113ce91906001600160801b03166136e4565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611e12565b5f805f61141d84611b36565b90925090505f61142d8686611584565b905081831115611445576114428683856125fc565b95505b8281101561145757808303925061145b565b5f92505b61146483611de9565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611af9565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612617565b9450845f03611516575f91505061157d565b8491506115296040840160208501613752565b15611558576115518561153f602086018661372a565b61154c604087018761376d565b61271c565b915061157b565b61157b85611569602086018661372a565b611576604087018761376d565b612913565b505b9392505050565b5f61157d8383670de0b6b3a76400006125fc565b5f805f805f805f806115a8611ac3565b90505f6115b48a6121c9565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061292c565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611ae3565b985061169a84878b886122f7565b9c5091945090925090506116ae8284613886565b6116b89089613886565b97506116c481846136e4565b6116ce908e613886565b9c506116da8a8e6136e4565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613886565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b6001612409565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613886565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826136f7565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d838361297f565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886138f4565b6005546001600160801b031691908c5f6124a5565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613886565b90506118a281611af9565b600380546001600160801b03928316600160801b0292169190911790556118c883611af9565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261254b565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611af9565b6002805460109061193c908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b602060405180830381865af4158015611a8a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061399b565b5f611ab982846139c6565b61157d9084613886565b6002546004545f916105a6916001600160801b0390911690600f0b61297f565b5f61007d82611af38588886125fc565b906129a4565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611b30578261157d565b50919050565b6006545f908190611b58908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611cce575f611b818383613886565b9050611b906110fa8286612a13565b60068054601090611bb2908490600160801b90046001600160801b031661390b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611bea8583612a2790919063ffffffff16565b90505f611c17827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611c2a91906136e4565b90915550611c3a90508183613886565b9150611c4582611af9565b600280545f90611c5f9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c8c82612a3b565b600480545f90611ca0908490600f0b61392b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611cdf8785612a27565b91505f611d0c837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611d38817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611d5b57611d4a8282613886565b611d549084613886565b9250611d72565b611d658282613886565b611d6f90846136e4565b92505b86861015611d9557611d858387896125fc565b9250611d928287896125fc565b91505b509550959350505050565b5f80611db784611db18a888a6125fc565b90612a27565b9050611dc48884866125fc565b611dce90826136e4565b905086811115611dde5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e5c916001600160801b031690613886565b9050805f03611e6f57600191505061131b565b5f611e7985612a64565b9050805f03611e8d5760019250505061131b565b5f80611e9a838589612aff565b9150915080611eaf575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611eea929190613a57565b6040805180830381865af4158015611f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f289190613acc565b91509150611f46611f3882611321565b611f4190613aee565b612c73565b925082611f5b575f965050505050505061131b565b611f6482611af9565b600780545f90611f7e9084906001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611fab81611af9565b60078054601090611fcd908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61202887612e07565b6040518263ffffffff1660e01b81526004016120449190613b08565b6040805180830381865af415801561205e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120829190613b17565b915091508061209757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120fc916136e4565b6121069190613886565b9050805f0361211c57505f958695509350505050565b5f80871161212a575f612135565b6121358488846125fc565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561216657612166613b45565b6040519080825280601f01601f191660200182016040528015612190576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156121b0578692505b828152825f602083013e90999098509650505050505050565b5f806121d36105ab565b90508083116121e2575f6121ec565b6121ec8184613886565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612a27565b5f808061223861223088670de0b6b3a7640000613886565b899087612f41565b9050861561227a5761224a88886125e8565b915061226b8a8a846122648a670de0b6b3a7640000613886565b8989612f64565b925061227783826136e4565b90505b9750975097945050505050565b5f6122a461229d84670de0b6b3a7640000613886565b83906125e8565b61157d90670de0b6b3a7640000613886565b5f806122ec856122c4611ac3565b6122ce91906136e4565b600254610fa9908790600160801b90046001600160801b0316613886565b909210949350505050565b5f80808061234d87866123468b6123406123198c670de0b6b3a7640000613886565b7f0000000000000000000000000000000000000000000000000000000000000000906125e8565b906125e8565b9190612f41565b9350612379847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61239961239189670de0b6b3a7640000613886565b8a9088612f41565b90506123c5817f00000000000000000000000000000000000000000000000000000000000000006125e8565b93506123f1847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123fb90846136e4565b915050945094509450949050565b5f805f805f808888101561247557861561242b576124288d898b6125fc565b9c505b6124368c898b6125fc565b9b506124418b611321565b61244a8d611321565b61245491906136f7565b90506124618b898b6125fc565b9a5061246e8a898b6125fc565b9950612494565b61247e8b611321565b6124878d611321565b61249191906136f7565b90505b9b9c9a9b999a975050505050505050565b5f825f036124b4575084612542565b8115612506576124e56124c784876136e4565b6124d18587611584565b6124db888a611584565b611db191906136e4565b90505f6124f28588611b22565b905080821015612500578091505b50612542565b82850361251457505f612542565b61253f6125218487613886565b61252b85876125e8565b612535888a611584565b611db19190613886565b90505b95945050505050565b5f60016001607f1b0319821280612568575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612592845f612f86565b61259c845f612f86565b6125a691906136f7565b90505f8113156125c1576125ba81866136e4565b94506125df565b5f8112156125df576125d281613aee565b6125dc9086613886565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612f41565b5f825f190484118302158202612610575f80fd5b5091020490565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611a6f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401613958565b5f806127278661196a565b9050801561290a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152506128528961196a565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156128e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129069190613acc565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f808061294c61294488670de0b6b3a7640000613886565b8990876125fc565b9050861561227a5761295e8888611584565b915061226b8a8a846129788a670de0b6b3a7640000613886565b8989612f9b565b5f8061298b8484612fab565b90925090508061299d5761299d6113ec565b5092915050565b5f815f036129bb5750670de0b6b3a764000061131b565b825f036129c957505f61131b565b5f6129d383611321565b90505f6129e76129e286611321565b612fe6565b90508181026129fe670de0b6b3a764000082613b59565b9050612a098161320b565b9695505050505050565b5f61157d83670de0b6b3a764000084612f41565b5f61157d83670de0b6b3a7640000846125fc565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612a7e906001600160801b031684612a13565b9050612aaa7f0000000000000000000000000000000000000000000000000000000000000000826136e4565b6002546001600160801b03161115611b30576002547f000000000000000000000000000000000000000000000000000000000000000090612af59083906001600160801b0316613886565b61157d9190613886565b612b076135d7565b5f80612b1284612e07565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612b4c9190613b08565b6040805180830381865af4158015612b66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8a9190613b17565b9350905082612b9e57505f9150612c6b9050565b5f612bc4612bbf84610160015185610140015161158490919063ffffffff16565b611321565b612be4612bbf8561012001518661010001516125e890919063ffffffff16565b612bee91906136f7565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612d29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d4d9190613b85565b935093509350935080612d6857505f98975050505050505050565b868414612d9957612d7884611af9565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612dca57612da98361254b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612df857612dda82611af9565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612e0f613621565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612f07911661339d565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612f399290041661339d565b905292915050565b5f825f190484118302158202612f55575f80fd5b50910281810615159190040190565b5f80612f74888888888888613411565b909250905080611dde57611dde6113ec565b5f818313612f94578161157d565b5090919050565b5f80612f748888888888886134ed565b5f805f83612fb886611321565b612fc291906136f7565b90505f811215612fd8575f809250925050612fdf565b9150600190505b9250929050565b5f8082136130075760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061308a9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361322457505f919050565b680755bf798b4a1bf1e5821261324d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612a0974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006133b06105ab565b6133ba91906138f4565b90508083116133c9575f6133d3565b6133d38184613886565b915061157d61340a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138f4565b8390612a27565b5f805f61342189898888886135a9565b905086881015613437575f8092509250506134e2565b968690039661344688876129a4565b97508781101561345c575f8092509250506134e2565b87810361346a818688612f41565b9050670de0b6b3a7640000811061349e57613497613490670de0b6b3a764000089612a13565b82906129a4565b90506134b6565b6134b3613490670de0b6b3a764000089612a27565b90505b6134c08186612a13565b9050898110156134d7575f809350935050506134e2565b899003925060019150505b965096945050505050565b5f805f6134fd89898888886135a9565b905061350d86611af3898b6136e4565b975087811015613523575f8092509250506134e2565b878103613531818688612f41565b9050670de0b6b3a7640000811061355e57613557613490670de0b6b3a764000089612a13565b9050613576565b613573613490670de0b6b3a764000089612a27565b90505b6135808186612a13565b9050808a1015613597575f809350935050506134e2565b90980398600198509650505050505050565b5f6135b485856129a4565b6135cd6135c586611af3868b6125e8565b859085612f41565b61253f91906136e4565b6040518061012001604052806135eb613621565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613689575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156136b4575f80fd5b8501606081880312156136c5575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6136d0565b8181035f83128015838313168383128216171561299d5761299d6136d0565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561373a575f80fd5b813561157d81613716565b8015158114610591575f80fd5b5f60208284031215613762575f80fd5b813561157d81613745565b5f808335601e19843603018112613782575f80fd5b83018035915067ffffffffffffffff82111561379c575f80fd5b602001915036819003821315612fdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61381160e0830184866137b0565b9a9950505050505050505050565b8082018281125f83128015821682158216171561383e5761383e6136d0565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61387960c0830184866137b0565b9998505050505050505050565b8181038181111561131b5761131b6136d0565b6001600160701b0381811683821601908082111561299d5761299d6136d0565b6001600160801b0381811683821601908082111561299d5761299d6136d0565b5f602082840312156138e9575f80fd5b815161157d81613716565b808202811582820484141761131b5761131b6136d0565b6001600160801b0382811682821603908082111561299d5761299d6136d0565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6136d0565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f602082840312156139ab575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826139d4576139d46139b2565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613a6a8285516139d9565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613add575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b0257613b026136d0565b505f0390565b610180810161131b82846139d9565b5f8060408385031215613b28575f80fd5b825191506020830151613b3a81613745565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613b6757613b676139b2565b600160ff1b82145f1984141615613b8057613b806136d0565b500590565b5f805f8060808587031215613b98575f80fd5b84519350602085015192506040850151915060608501516136c58161374556fea264697066735822122001c4ba6afe118458024ff398fcad07cc71cdc619ef6d859bbcc2953d78563d6864736f6c63430008160033a2646970667358221220860f45da025c3855311a86276e544d2660a31e40c82c1160de973e42324f98aa64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget2.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget2.ts new file mode 100644 index 000000000..09c9f1763 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget2.ts @@ -0,0 +1,1047 @@ +export const MorphoBlueTarget2 = { + name: 'MorphoBlueTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620049b6380380620049b68339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161403f620009775f395f8181611542015261194001525f818161151b015261191101525f81816114f301526118e201525f81816114cb01526118b301525f818161147b015281816117ed015261184a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612feb01525f818161162401528181611f7301528181611fd60152818161275d01528181612bdb01528181612c1701528181612e080152612fc501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f9f01525f611b9d01525f8181611cbe0152818161284e015281816128c6015261310301525f81816109a301528181610e370152818161141501528181611c92015261289a01525f8181610e160152818161281a01526130bf01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b015261301101525f81816101d301528181610396015281816108e1015261368f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816114a3015281816117c0015281816118210152611884015261403f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a23565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a23565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613a91565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613a91565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ab8565b8b611217565b8d8a8a898e8561023e6020830183613ab8565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613ae0565b8961028960408a018a613afb565b60405161029c9796959493929190613b66565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613a91565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613a91565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613a91565b9350505f61042784898d6115cd565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896115fe565b5f6104706002886111e3565b90508c61048a826104846020840184613ab8565b85611217565b858b868461049b6020860186613ab8565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613ae0565b6104ec896104e68a8d613ba6565b90610683565b8d6104fa60408e018e613afb565b60405161050e989796959493929190613bb9565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ab8565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613ae0565b156105ea576105e0856105db6040870187613afb565b6117b1565b9093509050610602565b5034610602856105fd6040870187613afb565b611a17565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a7640000611a30565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611a4b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613a91565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611a60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b92505b5061083883611a9f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613ba6565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613a91565b4290611acc565b84610f13565b6108d588611ae0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613ba6565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611c7d565b915091508060095f8282546109729190613a91565b9091555061098d9050865f8461098781611d4a565b88611d73565b6109978183613a91565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611eea565b91506109db6109d68385610683565b611f33565b600680546002906109fc9084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611a9f565b60068054601090610a4b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611c7d565b915091508060095f828254610abe9190613a91565b90915550610ad99050835f84610ad381611d4a565b8a611f5c565b610ae38183613ba6565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611a9f565b60068054601090610b62908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611d4a565b610ba483611d4a565b610bae9190613c40565b5f61214c565b8e610bbf848261218b565b50505b5f610bcc8461237a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c5f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906124bc565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611a60565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612542565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061256d565b6125d1565b15610e6d57610e6d612612565b610e798785888561262b565b91965094509250670de0b6b3a7640000610efb610e968784613a91565b600254610eb4908890600160801b90046001600160801b0316613ba6565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b1115610f0957610f09612612565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613ba6565b610fb99190613c7a565b85670de0b6b3a7640000610fcd878a613ba6565b610fd79190613c7a565b859291906001612673565b611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611a9f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613c7a565b6005546001600160801b03169190886001612673565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611a9f565b600280545f906110d19084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611a9f565b60028054601090611120908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611a9f565b6111579082613c20565b600380546001600160801b03808416600160801b02911617905590505f61117d83612717565b905061119b8161118c87611d4a565b6111969084613cb1565b61214c565b6111a484612757565b6111b0576111b0612612565b5f6111ba856127b6565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613a91565b90915550505f838152600b60205260408120805483929061126a908490613a91565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611a60565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006127c2565b93508761134d85896127e2565b111561135b5761135b612612565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b93506113d58a670de0b6b3a7640000868c6127f6565b509193509091506113e890508183613ba6565b6113f29087613ba6565b95508861143f816114398d611407868c613ba6565b8d6114128782612902565b877f0000000000000000000000000000000000000000000000000000000000000000612917565b906127e2565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612937565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af41580156115a9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613cd8565b5f6115de6040830160208401613ae0565b156115ea5750826115f7565b6115f4848461295a565b90505b9392505050565b6002546001600160801b03168381101561161a5761161a612612565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611652908390600f0b61296e565b101561166057611660612612565b6004546116aa90610fe290600160801b90046001600160801b031661168d670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b03169190896001612673565b600580546001600160801b03928316600160801b0292169190911790556116d081611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556116f985611a9f565b6002805460109061171b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061174885611a9f565b6004805460109061176a908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61179883612717565b905061119b816117a788611d4a565b6111969084613c40565b5f806117e86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612993565b6118487f0000000000000000000000000000000000000000000000000000000000000000611817876001613a91565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612a00565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff81111561197e5761197e613cef565b6040519080825280601f01601f1916602001820160405280156119a8576020820181803683370190505b506040518663ffffffff1660e01b81526004016119c9959493929190613d25565b60408051808303815f875af11580156119e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a089190613db4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611a44575f80fd5b5091020490565b5f611a568284613dea565b6106979084613ba6565b6002546004545f916106cb916001600160801b0390911690600f0b61296e565b5f611a9682611a90858888611a30565b90612a8f565b95945050505050565b5f6001600160801b03821115611ac857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611ada5782610697565b50919050565b6006545f908190611b02908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611c78575f611b2b8383613ba6565b9050611b3a610fe28286611450565b60068054601090611b5c908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b94858361295a90919063ffffffff16565b90505f611bc1827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611bd49190613a91565b90915550611be490508183613ba6565b9150611bef82611a9f565b600280545f90611c099084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3682612af4565b600480545f90611c4a908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c89878561295a565b91505f611cb6837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ce2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611d0557611cf48282613ba6565b611cfe9084613ba6565b9250611d1c565b611d0f8282613ba6565b611d199084613a91565b92505b86861015611d3f57611d2f838789611a30565b9250611d3c828789611a30565b91505b509550959350505050565b5f6001600160ff1b03821115611ac85760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611dbb610fe282611d9f670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b031691908a5f612673565b600580546001600160801b03928316600160801b029216919091179055611de186611a9f565b611deb9082613c91565b600480546001600160801b03928316600160801b029216919091179055611e1184611a9f565b600280545f90611e2b9084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e5883612b1d565b600480545f90611e6c908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611e9c85611a9f565b60028054601090611ebe908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f0184611efb8a888a611a30565b9061295a565b9050611f0e888486611a30565b611f189082613a91565b905086811115611f285786810391505b509695505050505050565b5f6001600160701b03821115611ac85760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611f9e57507f0000000000000000000000000000000000000000000000000000000000000000611f9c8583613ba6565b105b15611fab57611fab612612565b6004549084900390600f0b611fc08482613c40565b905083611fcc86611d4a565b13801561200157507f0000000000000000000000000000000000000000000000000000000000000000611fff838361296e565b105b1561200e5761200e612612565b600354600160801b90046001600160801b031661204f610fe28261203a670de0b6b3a764000088613c7a565b6005546001600160801b031691908c5f612673565b600580546001600160801b0319166001600160801b03929092169190911790556120798882613ba6565b905061208481611a9f565b600380546001600160801b03928316600160801b0292169190911790556120aa83611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556120d382612b1d565b600480546001600160801b0319166001600160801b03929092169190911790556120fc87611a9f565b6002805460109061211e908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461216790610fe2906001600160801b03168484612b58565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916121d5916001600160801b031690613ba6565b9050805f036121e857600191505061069a565b5f6121f285612bba565b9050805f036122065760019250505061069a565b5f80612213838589612c55565b9150915080612228575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612263929190613ea8565b6040805180830381865af415801561227d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a19190613db4565b915091506122bf6122b182611d4a565b6122ba90613f1d565b612dc2565b9250826122d4575f965050505050505061069a565b6122dd82611a9f565b600780545f906122f79084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061232481611a9f565b60078054601090612346908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123a187612f56565b6040518263ffffffff1660e01b81526004016123bd9190613f37565b6040805180830381865af41580156123d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123fb9190613f46565b915091508061241057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161247591613a91565b61247f9190613ba6565b9050805f0361249557505f958695509350505050565b5f8087116124a3575f6124ae565b6124ae848884611a30565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156124df576124df613cef565b6040519080825280601f01601f191660200182016040528015612509576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612529578692505b828152825f602083013e90999098509650505050505050565b5f61256287878761255b88670de0b6b3a7640000613ba6565b8787613090565b979650505050505050565b5f6115f46125ad61258684670de0b6b3a7640000613ba6565b611439670de0b6b3a764000061259c818a611450565b6125a69190613ba6565b87906127e2565b6125bf90670de0b6b3a7640000613a91565b611efb84670de0b6b3a7640000613ba6565b5f80612607856125df611a60565b6125e99190613a91565b600254610eb4908790600160801b90046001600160801b0316613ba6565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61263b8987896130b2565b909250905061264a8289613ba6565b97505f61265882888a611a30565b9050612664818b613ba6565b9a989950979650505050505050565b5f825f03612682575084611a96565b81156126d4576126b36126958487613a91565b61269f8587610683565b6126a9888a610683565b611efb9190613a91565b90505f6126c08588611acc565b9050808210156126ce578091505b50611a96565b8285036126e257505f611a96565b61270d6126ef8487613ba6565b6126f985876127e2565b612703888a610683565b611efb9190613ba6565b9695505050505050565b5f61273c600b5f6127296002866111e3565b81526020019081526020015f2054611d4a565b61274d600b5f6127296001876111e3565b61069a9190613c40565b5f6127827f0000000000000000000000000000000000000000000000000000000000000000836127e2565b60035461279891906001600160801b0316613a91565b6002546127ae906001600160801b031684610683565b101592915050565b5f61069a82600461218b565b5f6125628787876127db88670de0b6b3a7640000613ba6565b8787613131565b5f6106978383670de0b6b3a7640000612937565b5f808080612846878661283f8b6114396128188c670de0b6b3a7640000613ba6565b7f0000000000000000000000000000000000000000000000000000000000000000906127e2565b9190612937565b9350612872847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61289261288a89670de0b6b3a7640000613ba6565b8a9088612937565b90506128be817f00000000000000000000000000000000000000000000000000000000000000006127e2565b93506128ea847f0000000000000000000000000000000000000000000000000000000000000000610683565b6128f49084613a91565b915050945094509450949050565b5f8183116129105781610697565b5090919050565b5f8061292e846129288a888a612937565b90611450565b9050611f0e8884865b5f825f19048411830215820261294b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a764000084611a30565b5f8061297a8484613141565b90925090508061298c5761298c612612565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526129fa9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613179565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612a5184826131e4565b6129fa576040516001600160a01b0384811660248301525f6044830152612a8591869182169063095ea7b3906064016129c8565b6129fa8482613179565b5f815f03612aa65750670de0b6b3a764000061069a565b825f03612ab457505f61069a565b5f612abe83611d4a565b90505f612ad2612acd86611d4a565b613281565b9050818102612ae9670de0b6b3a764000082613f74565b905061270d816134a6565b5f60016001607f1b03821115611ac85760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612b3a575060016001607f1b0382135b15611ac85760405163a5353be560e01b815260040160405180910390fd5b5f80612b64845f613638565b612b6e845f613638565b612b789190613c40565b90505f811315612b9357612b8c8186613a91565b9450612bb1565b5f811215612bb157612ba481613f1d565b612bae9086613ba6565b94505b50929392505050565b6003545f908190612bd4906001600160801b031684611450565b9050612c007f000000000000000000000000000000000000000000000000000000000000000082613a91565b6002546001600160801b03161115611ada576002547f000000000000000000000000000000000000000000000000000000000000000090612c4b9083906001600160801b0316613ba6565b6115f79190613ba6565b612c5d613984565b5f80612c6884612f56565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ca29190613f37565b6040805180830381865af4158015612cbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce09190613f46565b9350905082612cf457505f9150611a0f9050565b5f612d1a612d1584610160015185610140015161068390919063ffffffff16565b611d4a565b612d3a612d158561012001518661010001516127e290919063ffffffff16565b612d449190613c40565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9c9190613fa0565b935093509350935080612eb757505f98975050505050505050565b868414612ee857612ec784611a9f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612f1957612ef883612b1d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612f4757612f2982611a9f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612f5e6139ce565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916130569116613646565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261308892900416613646565b905292915050565b5f806130a08888888888886136ba565b909250905080611f2857611f28612612565b5f806130fb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006130f1818c611450565b6114399190613ba6565b9150613127827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f806130a088888888888861377e565b5f805f8361314e86611d4a565b6131589190613c40565b90505f81121561316e575f80925092505061067c565b946001945092505050565b5f61318d6001600160a01b0384168361383a565b905080515f141580156131b15750808060200190518101906131af9190613fd3565b155b156131df57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131ff9190613fee565b5f604051808303815f865af19150503d805f8114613238576040519150601f19603f3d011682016040523d82523d5f602084013e61323d565b606091505b50915091508180156132675750805115806132675750808060200190518101906132679190613fd3565b8015611a965750505050506001600160a01b03163b151590565b5f8082136132a25760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133259084901c611d4a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134bf57505f919050565b680755bf798b4a1bf1e582126134e8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061270d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611d4a565b5f8183136129105781610697565b5f80670de0b6b3a76400006136596106a0565b6136639190613c7a565b9050808311613672575f61367c565b61367c8184613ba6565b91506115f76136b3670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c7a565b839061295a565b5f805f6136ca8989888888613847565b90506136e486611a906136dd8a8d613a91565b8790610683565b98506136f1858a86611a30565b985088811015613707575f809250925050613773565b888103670de0b6b3a7640000811061373c5761373561372e670de0b6b3a764000089611450565b8290612a8f565b9050613754565b61375161372e670de0b6b3a76400008961295a565b90505b80891015613769575f80935093505050613773565b8803925060019150505b965096945050505050565b5f805f61378e8989888888613847565b905061379e86611a90898b613a91565b9750878110156137b4575f809250925050613773565b8781036137c2818688612937565b9050670de0b6b3a764000081106137ef576137e861372e670de0b6b3a764000089611450565b9050613807565b61380461372e670de0b6b3a76400008961295a565b90505b6138118186611450565b9050808a1015613828575f80935093505050613773565b90980398600198509650505050505050565b606061069783835f613875565b5f6138528585612a8f565b61386b61386386611a90868b6127e2565b859085612937565b61270d9190613a91565b60608147101561389a5760405163cd78605960e01b81523060048201526024016131d6565b5f80856001600160a01b031684866040516138b59190613fee565b5f6040518083038185875af1925050503d805f81146138ef576040519150601f19603f3d011682016040523d82523d5f602084013e6138f4565b606091505b509150915061270d8683836060826139145761390f8261395b565b6115f7565b815115801561392b57506001600160a01b0384163b155b1561395457604051639996b31560e01b81526001600160a01b03851660048201526024016131d6565b50806115f7565b80511561396b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139986139ce565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a36575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a61575f80fd5b850160608188031215613a72575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a7d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ac8575f80fd5b81356115f781613aa4565b80151581146105af575f80fd5b5f60208284031215613af0575f80fd5b81356115f781613ad3565b5f808335601e19843603018112613b10575f80fd5b83018035915067ffffffffffffffff821115613b2a575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613b9960c083018486613b3e565b9998505050505050505050565b8181038181111561069a5761069a613a7d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613bf260e083018486613b3e565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561298c5761298c613a7d565b6001600160801b0381811683821601908082111561298c5761298c613a7d565b8181035f83128015838313168383128216171561298c5761298c613a7d565b5f60208284031215613c6f575f80fd5b81516115f781613aa4565b808202811582820484141761069a5761069a613a7d565b6001600160801b0382811682821603908082111561298c5761298c613a7d565b8082018281125f831280158216821582161715613cd057613cd0613a7d565b505092915050565b5f60208284031215613ce8575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613d1d578181015183820152602001613d05565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d9c8183860160208801613d03565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613dc5575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613df857613df8613dd6565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a7d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ebb828551613e2a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613f3157613f31613a7d565b505f0390565b610180810161069a8284613e2a565b5f8060408385031215613f57575f80fd5b825191506020830151613f6981613ad3565b809150509250929050565b5f82613f8257613f82613dd6565b600160ff1b82145f1984141615613f9b57613f9b613a7d565b500590565b5f805f8060808587031215613fb3575f80fd5b8451935060208501519250604085015191506060850151613a7281613ad3565b5f60208284031215613fe3575f80fd5b81516115f781613ad3565b5f8251613fff818460208701613d03565b919091019291505056fea2646970667358221220b68378afd3ccf010f62bd895c4f729a302b35ca37011dcaafe55e441a7cd844664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget2Deployer.ts new file mode 100644 index 000000000..4a3c86f38 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const MorphoBlueTarget2Deployer = { + name: 'MorphoBlueTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50614fc48061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6149b680620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b50604051620049b6380380620049b68339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161403f620009775f395f8181611542015261194001525f818161151b015261191101525f81816114f301526118e201525f81816114cb01526118b301525f818161147b015281816117ed015261184a01525f50505f50505f610c2801525f50505f818160f9015281816103020152612feb01525f818161162401528181611f7301528181611fd60152818161275d01528181612bdb01528181612c1701528181612e080152612fc501525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612f9f01525f611b9d01525f8181611cbe0152818161284e015281816128c6015261310301525f81816109a301528181610e370152818161141501528181611c92015261289a01525f8181610e160152818161281a01526130bf01525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b015261301101525f81816101d301528181610396015281816108e1015261368f01525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816114a3015281816117c0015281816118210152611884015261403f5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613a23565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613a23565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613a91565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613a91565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e613ab8565b8b611217565b8d8a8a898e8561023e6020830183613ab8565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613ae0565b8961028960408a018a613afb565b60405161029c9796959493929190613b66565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613a91565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613a91565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613a91565b9350505f61042784898d6115cd565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b896115fe565b5f6104706002886111e3565b90508c61048a826104846020840184613ab8565b85611217565b858b868461049b6020860186613ab8565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613ae0565b6104ec896104e68a8d613ba6565b90610683565b8d6104fa60408e018e613afb565b60405161050e989796959493929190613bb9565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f6105886020830183613ab8565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613ae0565b156105ea576105e0856105db6040870187613afb565b6117b1565b9093509050610602565b5034610602856105fd6040870187613afb565b611a17565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a7640000611a30565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611a4b565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613a91565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611a60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b92505b5061083883611a9f565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b613ba6565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613a91565b4290611acc565b84610f13565b6108d588611ae0565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d613ba6565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611c7d565b915091508060095f8282546109729190613a91565b9091555061098d9050865f8461098781611d4a565b88611d73565b6109978183613a91565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611eea565b91506109db6109d68385610683565b611f33565b600680546002906109fc9084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611a9f565b60068054601090610a4b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611c7d565b915091508060095f828254610abe9190613a91565b90915550610ad99050835f84610ad381611d4a565b8a611f5c565b610ae38183613ba6565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613c00565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611a9f565b60068054601090610b62908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611d4a565b610ba483611d4a565b610bae9190613c40565b5f61214c565b8e610bbf848261218b565b50505b5f610bcc8461237a565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613c5f565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906124bc565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611a60565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612542565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061256d565b6125d1565b15610e6d57610e6d612612565b610e798785888561262b565b91965094509250670de0b6b3a7640000610efb610e968784613a91565b600254610eb4908890600160801b90046001600160801b0316613ba6565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b1115610f0957610f09612612565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf8886613ba6565b610fb99190613c7a565b85670de0b6b3a7640000610fcd878a613ba6565b610fd79190613c7a565b859291906001612673565b611a9f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611a9f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613c7a565b6005546001600160801b03169190886001612673565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611a9f565b600280545f906110d19084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611a9f565b60028054601090611120908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611a9f565b6111579082613c20565b600380546001600160801b03808416600160801b02911617905590505f61117d83612717565b905061119b8161118c87611d4a565b6111969084613cb1565b61214c565b6111a484612757565b6111b0576111b0612612565b5f6111ba856127b6565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613a91565b90915550505f838152600b60205260408120805483929061126a908490613a91565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611a60565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006127c2565b93508761134d85896127e2565b111561135b5761135b612612565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a80565b93506113d58a670de0b6b3a7640000868c6127f6565b509193509091506113e890508183613ba6565b6113f29087613ba6565b95508861143f816114398d611407868c613ba6565b8d6114128782612902565b877f0000000000000000000000000000000000000000000000000000000000000000612917565b906127e2565b975090945050505093509350935093565b5f61069783670de0b6b3a764000084612937565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af41580156115a9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613cd8565b5f6115de6040830160208401613ae0565b156115ea5750826115f7565b6115f4848461295a565b90505b9392505050565b6002546001600160801b03168381101561161a5761161a612612565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611652908390600f0b61296e565b101561166057611660612612565b6004546116aa90610fe290600160801b90046001600160801b031661168d670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b03169190896001612673565b600580546001600160801b03928316600160801b0292169190911790556116d081611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556116f985611a9f565b6002805460109061171b908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061174885611a9f565b6004805460109061176a908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61179883612717565b905061119b816117a788611d4a565b6111969084613c40565b5f806117e86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612993565b6118487f0000000000000000000000000000000000000000000000000000000000000000611817876001613a91565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612a00565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff81111561197e5761197e613cef565b6040519080825280601f01601f1916602001820160405280156119a8576020820181803683370190505b506040518663ffffffff1660e01b81526004016119c9959493929190613d25565b60408051808303815f875af11580156119e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a089190613db4565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f190484118302158202611a44575f80fd5b5091020490565b5f611a568284613dea565b6106979084613ba6565b6002546004545f916106cb916001600160801b0390911690600f0b61296e565b5f611a9682611a90858888611a30565b90612a8f565b95945050505050565b5f6001600160801b03821115611ac857604051630f0af95160e11b815260040160405180910390fd5b5090565b5f818311611ada5782610697565b50919050565b6006545f908190611b02908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611c78575f611b2b8383613ba6565b9050611b3a610fe28286611450565b60068054601090611b5c908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b94858361295a90919063ffffffff16565b90505f611bc1827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f828254611bd49190613a91565b90915550611be490508183613ba6565b9150611bef82611a9f565b600280545f90611c099084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3682612af4565b600480545f90611c4a908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c89878561295a565b91505f611cb6837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611ce2817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611d0557611cf48282613ba6565b611cfe9084613ba6565b9250611d1c565b611d0f8282613ba6565b611d199084613a91565b92505b86861015611d3f57611d2f838789611a30565b9250611d3c828789611a30565b91505b509550959350505050565b5f6001600160ff1b03821115611ac85760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611dbb610fe282611d9f670de0b6b3a764000086613c7a565b600554600160801b90046001600160801b031691908a5f612673565b600580546001600160801b03928316600160801b029216919091179055611de186611a9f565b611deb9082613c91565b600480546001600160801b03928316600160801b029216919091179055611e1184611a9f565b600280545f90611e2b9084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e5883612b1d565b600480545f90611e6c908490600f0b613dfd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611e9c85611a9f565b60028054601090611ebe908490600160801b90046001600160801b0316613c91565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f0184611efb8a888a611a30565b9061295a565b9050611f0e888486611a30565b611f189082613a91565b905086811115611f285786810391505b509695505050505050565b5f6001600160701b03821115611ac85760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611f9e57507f0000000000000000000000000000000000000000000000000000000000000000611f9c8583613ba6565b105b15611fab57611fab612612565b6004549084900390600f0b611fc08482613c40565b905083611fcc86611d4a565b13801561200157507f0000000000000000000000000000000000000000000000000000000000000000611fff838361296e565b105b1561200e5761200e612612565b600354600160801b90046001600160801b031661204f610fe28261203a670de0b6b3a764000088613c7a565b6005546001600160801b031691908c5f612673565b600580546001600160801b0319166001600160801b03929092169190911790556120798882613ba6565b905061208481611a9f565b600380546001600160801b03928316600160801b0292169190911790556120aa83611a9f565b600280546001600160801b0319166001600160801b03929092169190911790556120d382612b1d565b600480546001600160801b0319166001600160801b03929092169190911790556120fc87611a9f565b6002805460109061211e908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461216790610fe2906001600160801b03168484612b58565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e754354909182916121d5916001600160801b031690613ba6565b9050805f036121e857600191505061069a565b5f6121f285612bba565b9050805f036122065760019250505061069a565b5f80612213838589612c55565b9150915080612228575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612263929190613ea8565b6040805180830381865af415801561227d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a19190613db4565b915091506122bf6122b182611d4a565b6122ba90613f1d565b612dc2565b9250826122d4575f965050505050505061069a565b6122dd82611a9f565b600780545f906122f79084906001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061232481611a9f565b60078054601090612346908490600160801b90046001600160801b0316613c20565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6123a187612f56565b6040518263ffffffff1660e01b81526004016123bd9190613f37565b6040805180830381865af41580156123d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123fb9190613f46565b915091508061241057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161247591613a91565b61247f9190613ba6565b9050805f0361249557505f958695509350505050565b5f8087116124a3575f6124ae565b6124ae848884611a30565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156124df576124df613cef565b6040519080825280601f01601f191660200182016040528015612509576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612529578692505b828152825f602083013e90999098509650505050505050565b5f61256287878761255b88670de0b6b3a7640000613ba6565b8787613090565b979650505050505050565b5f6115f46125ad61258684670de0b6b3a7640000613ba6565b611439670de0b6b3a764000061259c818a611450565b6125a69190613ba6565b87906127e2565b6125bf90670de0b6b3a7640000613a91565b611efb84670de0b6b3a7640000613ba6565b5f80612607856125df611a60565b6125e99190613a91565b600254610eb4908790600160801b90046001600160801b0316613ba6565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f61263b8987896130b2565b909250905061264a8289613ba6565b97505f61265882888a611a30565b9050612664818b613ba6565b9a989950979650505050505050565b5f825f03612682575084611a96565b81156126d4576126b36126958487613a91565b61269f8587610683565b6126a9888a610683565b611efb9190613a91565b90505f6126c08588611acc565b9050808210156126ce578091505b50611a96565b8285036126e257505f611a96565b61270d6126ef8487613ba6565b6126f985876127e2565b612703888a610683565b611efb9190613ba6565b9695505050505050565b5f61273c600b5f6127296002866111e3565b81526020019081526020015f2054611d4a565b61274d600b5f6127296001876111e3565b61069a9190613c40565b5f6127827f0000000000000000000000000000000000000000000000000000000000000000836127e2565b60035461279891906001600160801b0316613a91565b6002546127ae906001600160801b031684610683565b101592915050565b5f61069a82600461218b565b5f6125628787876127db88670de0b6b3a7640000613ba6565b8787613131565b5f6106978383670de0b6b3a7640000612937565b5f808080612846878661283f8b6114396128188c670de0b6b3a7640000613ba6565b7f0000000000000000000000000000000000000000000000000000000000000000906127e2565b9190612937565b9350612872847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61289261288a89670de0b6b3a7640000613ba6565b8a9088612937565b90506128be817f00000000000000000000000000000000000000000000000000000000000000006127e2565b93506128ea847f0000000000000000000000000000000000000000000000000000000000000000610683565b6128f49084613a91565b915050945094509450949050565b5f8183116129105781610697565b5090919050565b5f8061292e846129288a888a612937565b90611450565b9050611f0e8884865b5f825f19048411830215820261294b575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a764000084611a30565b5f8061297a8484613141565b90925090508061298c5761298c612612565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526129fa9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613179565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612a5184826131e4565b6129fa576040516001600160a01b0384811660248301525f6044830152612a8591869182169063095ea7b3906064016129c8565b6129fa8482613179565b5f815f03612aa65750670de0b6b3a764000061069a565b825f03612ab457505f61069a565b5f612abe83611d4a565b90505f612ad2612acd86611d4a565b613281565b9050818102612ae9670de0b6b3a764000082613f74565b905061270d816134a6565b5f60016001607f1b03821115611ac85760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612b3a575060016001607f1b0382135b15611ac85760405163a5353be560e01b815260040160405180910390fd5b5f80612b64845f613638565b612b6e845f613638565b612b789190613c40565b90505f811315612b9357612b8c8186613a91565b9450612bb1565b5f811215612bb157612ba481613f1d565b612bae9086613ba6565b94505b50929392505050565b6003545f908190612bd4906001600160801b031684611450565b9050612c007f000000000000000000000000000000000000000000000000000000000000000082613a91565b6002546001600160801b03161115611ada576002547f000000000000000000000000000000000000000000000000000000000000000090612c4b9083906001600160801b0316613ba6565b6115f79190613ba6565b612c5d613984565b5f80612c6884612f56565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612ca29190613f37565b6040805180830381865af4158015612cbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce09190613f46565b9350905082612cf457505f9150611a0f9050565b5f612d1a612d1584610160015185610140015161068390919063ffffffff16565b611d4a565b612d3a612d158561012001518661010001516127e290919063ffffffff16565b612d449190613c40565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612e78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9c9190613fa0565b935093509350935080612eb757505f98975050505050505050565b868414612ee857612ec784611a9f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612f1957612ef883612b1d565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612f4757612f2982611a9f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612f5e6139ce565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916130569116613646565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261308892900416613646565b905292915050565b5f806130a08888888888886136ba565b909250905080611f2857611f28612612565b5f806130fb8561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006130f1818c611450565b6114399190613ba6565b9150613127827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f806130a088888888888861377e565b5f805f8361314e86611d4a565b6131589190613c40565b90505f81121561316e575f80925092505061067c565b946001945092505050565b5f61318d6001600160a01b0384168361383a565b905080515f141580156131b15750808060200190518101906131af9190613fd3565b155b156131df57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516131ff9190613fee565b5f604051808303815f865af19150503d805f8114613238576040519150601f19603f3d011682016040523d82523d5f602084013e61323d565b606091505b50915091508180156132675750805115806132675750808060200190518101906132679190613fd3565b8015611a965750505050506001600160a01b03163b151590565b5f8082136132a25760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133259084901c611d4a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136134bf57505f919050565b680755bf798b4a1bf1e582126134e8576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061270d74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611d4a565b5f8183136129105781610697565b5f80670de0b6b3a76400006136596106a0565b6136639190613c7a565b9050808311613672575f61367c565b61367c8184613ba6565b91506115f76136b3670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613c7a565b839061295a565b5f805f6136ca8989888888613847565b90506136e486611a906136dd8a8d613a91565b8790610683565b98506136f1858a86611a30565b985088811015613707575f809250925050613773565b888103670de0b6b3a7640000811061373c5761373561372e670de0b6b3a764000089611450565b8290612a8f565b9050613754565b61375161372e670de0b6b3a76400008961295a565b90505b80891015613769575f80935093505050613773565b8803925060019150505b965096945050505050565b5f805f61378e8989888888613847565b905061379e86611a90898b613a91565b9750878110156137b4575f809250925050613773565b8781036137c2818688612937565b9050670de0b6b3a764000081106137ef576137e861372e670de0b6b3a764000089611450565b9050613807565b61380461372e670de0b6b3a76400008961295a565b90505b6138118186611450565b9050808a1015613828575f80935093505050613773565b90980398600198509650505050505050565b606061069783835f613875565b5f6138528585612a8f565b61386b61386386611a90868b6127e2565b859085612937565b61270d9190613a91565b60608147101561389a5760405163cd78605960e01b81523060048201526024016131d6565b5f80856001600160a01b031684866040516138b59190613fee565b5f6040518083038185875af1925050503d805f81146138ef576040519150601f19603f3d011682016040523d82523d5f602084013e6138f4565b606091505b509150915061270d8683836060826139145761390f8261395b565b6115f7565b815115801561392b57506001600160a01b0384163b155b1561395457604051639996b31560e01b81526001600160a01b03851660048201526024016131d6565b50806115f7565b80511561396b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806139986139ce565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613a36575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613a61575f80fd5b850160608188031215613a72575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613a7d565b6001600160a01b03811681146105af575f80fd5b5f60208284031215613ac8575f80fd5b81356115f781613aa4565b80151581146105af575f80fd5b5f60208284031215613af0575f80fd5b81356115f781613ad3565b5f808335601e19843603018112613b10575f80fd5b83018035915067ffffffffffffffff821115613b2a575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f613b9960c083018486613b3e565b9998505050505050505050565b8181038181111561069a5761069a613a7d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f613bf260e083018486613b3e565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561298c5761298c613a7d565b6001600160801b0381811683821601908082111561298c5761298c613a7d565b8181035f83128015838313168383128216171561298c5761298c613a7d565b5f60208284031215613c6f575f80fd5b81516115f781613aa4565b808202811582820484141761069a5761069a613a7d565b6001600160801b0382811682821603908082111561298c5761298c613a7d565b8082018281125f831280158216821582161715613cd057613cd0613a7d565b505092915050565b5f60208284031215613ce8575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613d1d578181015183820152602001613d05565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d9c8183860160208801613d03565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613dc5575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613df857613df8613dd6565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613a7d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613ebb828551613e2a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613f3157613f31613a7d565b505f0390565b610180810161069a8284613e2a565b5f8060408385031215613f57575f80fd5b825191506020830151613f6981613ad3565b809150509250929050565b5f82613f8257613f82613dd6565b600160ff1b82145f1984141615613f9b57613f9b613a7d565b500590565b5f805f8060808587031215613fb3575f80fd5b8451935060208501519250604085015191506060850151613a7281613ad3565b5f60208284031215613fe3575f80fd5b81516115f781613ad3565b5f8251613fff818460208701613d03565b919091019291505056fea2646970667358221220b68378afd3ccf010f62bd895c4f729a302b35ca37011dcaafe55e441a7cd844664736f6c63430008160033a264697066735822122049e2b51e85330f3bc49ae1094bf8909df564ea9d14d61794c69b795c578fd7b864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget3.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget3.ts new file mode 100644 index 000000000..0297b8c47 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget3.ts @@ -0,0 +1,1067 @@ +export const MorphoBlueTarget3 = { + name: 'MorphoBlueTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b5060405162004922380380620049228339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613f9a620009885f395f8181611adb0152612ea101525f8181611aac0152612e7a01525f8181611a7d0152612e5201525f8181611a4e0152612e2a01525f8181611988015281816119e50152612dda01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816121e50152818161224801528181612af101528181613024015261306001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611df601525f8181611f4b01526132af01525f81816110260152611f1f01525f61326501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a8701525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01528181611a1f0152612e020152613f9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613953565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139b2565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a12565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a25565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a12565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a25565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a25565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a12565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613ab6565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613ac5565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613ab6565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613ac5565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a25565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613af0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a12565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613af0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b18565b866107a960408c018c613b33565b6040516107bc9796959493929190613b76565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613bc9565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613be0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613af0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613af0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b18565b87610b5e6040890189613b33565b604051610b719796959493929190613b76565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613af0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b18565b15610c8f57610c8585610c806040870187613b33565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b33565b611bb2565b610caf611bcb565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611bdd565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a12565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a25565b8a84611bf2565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a12565b4290611d2b565b84611bf2565b610f5888611d39565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a25565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611ed6565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611f0a565b915091508060095f828254610ff59190613a12565b909155506110109050865f8461100a81611766565b88611fd7565b61101a8183613a12565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061214e565b915061105e6110598385612191565b6121a5565b6006805460029061107f9084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611ed6565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611f0a565b915091508060095f8282546111419190613a12565b9091555061115c9050835f8461115681611766565b8a6121ce565b6111668183613a25565b91506111756110598387612191565b600680546002906111969084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c4b565b5f6123be565b8e61124284826123fd565b50505b5f61124f846125ec565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613c6a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061272e565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611ed6565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611ed6565b6113f79190613c4b565b92915050565b5f805f8061140b8a8a6127b6565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8b7f00000000000000000000000000000000000000000000000000000000000000006127ee565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8d7f00000000000000000000000000000000000000000000000000000000000000006128a7565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612961565b509093505f9050611568848f613a12565b90505f6115888b8b61157987611766565b611583908e613c85565b6129a9565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612a0b565b611766565b6115c683611766565b6115d36115b88685612191565b6115dd9190613c4b565b6115e79190613c4b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612a1b565b61162685670de0b6b3a7640000613a25565b906117d4565b6116346138a4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612a3e565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612a3e565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612aab565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a12565b90915550505f838152600b60205260408120805483929061183b908490613a12565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046123fd565b5f8183136118a7578261008d565b50919050565b5f806118b984846127b6565b9092509050806118cb576118cb612c3f565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612c58565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612cc7565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a12565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612d34565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff811115611b1957611b19613cac565b6040519080825280601f01601f191660200182016040528015611b43576020820181803683370190505b506040518663ffffffff1660e01b8152600401611b64959493929190613ce2565b60408051808303815f875af1158015611b7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba39190613d71565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612dc3565b5f611be88284613da7565b61008d9084613a25565b5f83815260086020526040902054600160801b90046001600160801b0316808303611c1d5750505050565b5f848152600860205260408120546001600160801b031690819003611c7557611c45836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cf2565b611cc6611cc1670de0b6b3a7640000611c8e8886613a25565b611c989190613bc9565b85670de0b6b3a7640000611cac878a613a25565b611cb69190613bc9565b859291906001612f2c565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cfb846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611d5b908490600160801b90046001600160801b0316612191565b6006546201000090046001600160701b03169250905081811115611ed1575f611d848383613a25565b9050611d93611cc18286612fc6565b60068054601090611db5908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ded85836117d490919063ffffffff16565b90505f611e1a827f0000000000000000000000000000000000000000000000000000000000000000612191565b90508060095f828254611e2d9190613a12565b90915550611e3d90508183613a25565b9150611e48826118d2565b600280545f90611e629084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e8f82612fda565b600480545f90611ea3908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611eff5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611f1687856117d4565b91505f611f43837f0000000000000000000000000000000000000000000000000000000000000000612191565b9050611f6f817f0000000000000000000000000000000000000000000000000000000000000000612191565b91508315611f9257611f818282613a25565b611f8b9084613a25565b9250611fa9565b611f9c8282613a25565b611fa69084613a12565b92505b86861015611fcc57611fbc8387896117b9565b9250611fc98287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b031661201f611cc182612003670de0b6b3a764000086613bc9565b600554600160801b90046001600160801b031691908a5f612f2c565b600580546001600160801b03928316600160801b029216919091179055612045866118d2565b61204f9082613dba565b600480546001600160801b03928316600160801b029216919091179055612075846118d2565b600280545f9061208f9084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120bc836118fb565b600480545f906120d0908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612100856118d2565b60028054601090612122908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061215f846116268a888a6117b9565b905061216c8884866117b9565b6121769082613a12565b9050868111156121865786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061221057507f000000000000000000000000000000000000000000000000000000000000000061220e8583613a25565b105b1561221d5761221d612c3f565b6004549084900390600f0b6122328482613c4b565b90508361223e86611766565b13801561227357507f000000000000000000000000000000000000000000000000000000000000000061227183836118ad565b105b1561228057612280612c3f565b600354600160801b90046001600160801b03166122c1611cc1826122ac670de0b6b3a764000088613bc9565b6005546001600160801b031691908c5f612f2c565b600580546001600160801b0319166001600160801b03929092169190911790556122eb8882613a25565b90506122f6816118d2565b600380546001600160801b03928316600160801b02921691909117905561231c836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612345826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561236e876118d2565b60028054601090612390908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546123d990611cc1906001600160801b031684846129a9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612447916001600160801b031690613a25565b9050805f0361245a5760019150506113f7565b5f61246485613003565b9050805f03612478576001925050506113f7565b5f8061248583858961309e565b915091508061249a575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124d5929190613e07565b6040805180830381865af41580156124ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125139190613d71565b9150915061253161252382611766565b61252c90613e7c565b612aab565b925082612546575f96505050505050506113f7565b61254f826118d2565b600780545f906125699084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612596816118d2565b600780546010906125b8908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6126138761162c565b6040518263ffffffff1660e01b815260040161262f9190613ab6565b6040805180830381865af4158015612649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266d9190613e96565b915091508061268257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126e791613a12565b6126f19190613a25565b9050805f0361270757505f958695509350505050565b5f808711612715575f612720565b6127208488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561275157612751613cac565b6040519080825280601f01601f19166020018201604052801561277b576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561279b578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836127c386611766565b6127cd9190613c4b565b90505f8112156127e3575f809250925050610d21565b946001945092505050565b5f805f6127fe8888888888613206565b90505f612828670de0b6b3a76400006128178888612fc6565b6128219190613a12565b83906117d4565b9050670de0b6b3a7640000811061285c5761285561284e670de0b6b3a7640000896117d4565b8290612c58565b9050612874565b61287161284e670de0b6b3a764000089612fc6565b90505b61287e81866117d4565b905088811015612895575f809350935050506127ac565b97909703976001975095505050505050565b5f805f6128b78989888888613234565b90506128d1866119466128ca8a8d613a12565b8790612191565b98506128de858a866117b9565b9850888110156128f4575f8092509250506115f6565b888103670de0b6b3a764000081106129225761291b61284e670de0b6b3a764000089612fc6565b905061293a565b61293761284e670de0b6b3a7640000896117d4565b90505b8089101561294f575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612971898789613258565b90925090506129808289613a25565b97505f61298e82888a6117b9565b905061299a818b613a25565b9a989950979650505050505050565b5f806129b5845f6132dd565b6129bf845f6132dd565b6129c99190613c4b565b90505f8113156129e4576129dd8186613a12565b9450612a02565b5f811215612a02576129f581613e7c565b6129ff9086613a25565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612a2f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a51610d28565b612a5b9190613bc9565b9050808311612a6a575f612a74565b612a748184613a25565b915061008d612821670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc9565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b859190613ec4565b935093509350935080612ba057505f98975050505050505050565b868414612bd157612bb0846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c0257612be1836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c3057612c12826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c6f5750670de0b6b3a76400006113f7565b825f03612c7d57505f6113f7565b5f612c8783611766565b90505f612c9b612c9686611766565b6132f2565b9050818102612cb2670de0b6b3a764000082613f02565b9050612cbd81613517565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612d2e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506136a9565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d858482613714565b612d2e576040516001600160a01b0384811660248301525f6044830152612db991869182169063095ea7b390606401612cfc565b612d2e84826136a9565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af4158015612f08573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613ac5565b5f825f03612f3b575084610075565b8115612f8d57612f6c612f4e8487613a12565b612f588587612191565b612f62888a612191565b6116269190613a12565b90505f612f798588611d2b565b905080821015612f87578091505b50610075565b828503612f9b57505f610075565b610072612fa88487613a25565b612fb28587612a0b565b612fbc888a612191565b6116269190613a25565b5f61008d83670de0b6b3a764000084612a1b565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061301d906001600160801b031684612fc6565b90506130497f000000000000000000000000000000000000000000000000000000000000000082613a12565b6002546001600160801b031611156118a7576002547f0000000000000000000000000000000000000000000000000000000000000000906130949083906001600160801b0316613a25565b61008d9190613a25565b6130a66138f9565b5f806130b18461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130eb9190613ab6565b6040805180830381865af4158015613105573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131299190613e96565b935090508261313d57505f9150611baa9050565b5f61315e6115b884610160015185610140015161219190919063ffffffff16565b61317e6115b8856101200151866101000151612a0b90919063ffffffff16565b6131889190613c4b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6132118585612c58565b61322a61322286611946868b612191565b8590856117b9565b6100729190613a12565b5f61323f8585612c58565b61322a61325086611946868b612a0b565b859085612a1b565b5f806132a7856132a185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613297818c612fc6565b6132a19190613a25565b90612a0b565b91506132d3827f0000000000000000000000000000000000000000000000000000000000000000612191565b9050935093915050565b5f8183136132eb578161008d565b5090919050565b5f8082136133135760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133969084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361353057505f919050565b680755bf798b4a1bf1e58212613559576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612cbd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136bd6001600160a01b038416836137b1565b905080515f141580156136e15750808060200190518101906136df9190613f2e565b155b1561370f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161372f9190613f49565b5f604051808303815f865af19150503d805f8114613768576040519150601f19603f3d011682016040523d82523d5f602084013e61376d565b606091505b50915091508180156137975750805115806137975750808060200190518101906137979190613f2e565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516137d59190613f49565b5f6040518083038185875af1925050503d805f811461380f576040519150601f19603f3d011682016040523d82523d5f602084013e613814565b606091505b5091509150612cbd8683836060826138345761382f8261387b565b61008d565b815115801561384b57506001600160a01b0384163b155b1561387457604051639996b31560e01b81526001600160a01b0385166004820152602401613706565b508061008d565b80511561388b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061390d6138a4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613967575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613999575f80fd5b6139a588828901613943565b9150509295509295909350565b5f805f606084860312156139c4575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156139e8575f80fd5b6139f486828701613943565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76139fe565b818103818111156113f7576113f76139fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a38565b5f60208284031215613ad5575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b00575f80fd5b813561008d81613adc565b8015158114610c0a575f80fd5b5f60208284031215613b28575f80fd5b813561008d81613b0b565b5f808335601e19843603018112613b48575f80fd5b83018035915067ffffffffffffffff821115613b62575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76139fe565b5f805f60608486031215613bf2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6139fe565b6001600160801b038181168382160190808211156118cb576118cb6139fe565b8181035f8312801583831316838312821617156118cb576118cb6139fe565b5f60208284031215613c7a575f80fd5b815161008d81613adc565b8082018281125f831280158216821582161715613ca457613ca46139fe565b505092915050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613cda578181015183820152602001613cc2565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d598183860160208801613cc0565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613d82575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613db557613db5613d93565b500690565b6001600160801b038281168282160390808211156118cb576118cb6139fe565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76139fe565b5f6102a082019050613e1a828551613a38565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613e9057613e906139fe565b505f0390565b5f8060408385031215613ea7575f80fd5b825191506020830151613eb981613b0b565b809150509250929050565b5f805f8060808587031215613ed7575f80fd5b8451935060208501519250604085015191506060850151613ef781613b0b565b939692955090935050565b5f82613f1057613f10613d93565b600160ff1b82145f1984141615613f2957613f296139fe565b500590565b5f60208284031215613f3e575f80fd5b815161008d81613b0b565b5f8251613f5a818460208701613cc0565b919091019291505056fea2646970667358221220ec306bb8f4343276c8def9dcf6f7c4a9933054a7f4b0480cee211ce23a8b741764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget3Deployer.ts new file mode 100644 index 000000000..e232c29af --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const MorphoBlueTarget3Deployer = { + name: 'MorphoBlueTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50614f308061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b61492280620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b5060405162004922380380620049228339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051613f9a620009885f395f8181611adb0152612ea101525f8181611aac0152612e7a01525f8181611a7d0152612e5201525f8181611a4e0152612e2a01525f8181611988015281816119e50152612dda01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816121e50152818161224801528181612af101528181613024015261306001525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611df601525f8181611f4b01526132af01525f81816110260152611f1f01525f61326501525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f640152612a8701525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b015281816119bc01528181611a1f0152612e020152613f9a5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613953565b610064565b60405190815260200160405180910390f35b61003f61005f3660046139b2565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613a12565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f000000000000000000000000000000000000000000000000000000000000000089613a25565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613a12565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f000000000000000000000000000000000000000000000000000000000000000082613a25565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b0390911690613a25565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613a12565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa15690610467908490600401613ab6565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a69190613ac5565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a91859101613ab6565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105599190613ac5565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b8187613a25565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613af0565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613a12565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613af0565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b01613b18565b866107a960408c018c613b33565b6040516107bc9796959493929190613b76565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f00000000000000000000000000000000000000000000000000000000000000006002613bc9565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613be0565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613af0565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613af0565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b506040870160208801613b18565b87610b5e6040890189613b33565b604051610b719796959493929190613b76565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613af0565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a6040850160208601613b18565b15610c8f57610c8585610c806040870187613b33565b61194c565b9093509050610ca7565b5034610ca785610ca26040870187613b33565b611bb2565b610caf611bcb565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611bdd565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613a12565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b613a25565b8a84611bf2565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613a12565b4290611d2b565b84611bf2565b610f5888611d39565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d613a25565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611ed6565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611f0a565b915091508060095f828254610ff59190613a12565b909155506110109050865f8461100a81611766565b88611fd7565b61101a8183613a12565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061214e565b915061105e6110598385612191565b6121a5565b6006805460029061107f9084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611ed6565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611f0a565b915091508060095f8282546111419190613a12565b9091555061115c9050835f8461115681611766565b8a6121ce565b6111668183613a25565b91506111756110598387612191565b600680546002906111969084906201000090046001600160701b0316613c0b565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613c4b565b5f6123be565b8e61124284826123fd565b50505b5f61124f846125ec565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613c6a565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061272e565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611ed6565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611ed6565b6113f79190613c4b565b92915050565b5f805f8061140b8a8a6127b6565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8b7f00000000000000000000000000000000000000000000000000000000000000006127ee565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613a25565b8d7f00000000000000000000000000000000000000000000000000000000000000006128a7565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c84612961565b509093505f9050611568848f613a12565b90505f6115888b8b61157987611766565b611583908e613c85565b6129a9565b90508b6115bd6115b87f000000000000000000000000000000000000000000000000000000000000000083612a0b565b611766565b6115c683611766565b6115d36115b88685612191565b6115dd9190613c4b565b6115e79190613c4b565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e13380612a1b565b61162685670de0b6b3a7640000613a25565b906117d4565b6116346138a4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c9116612a3e565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e92900416612a3e565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612aab565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613a12565b90915550505f838152600b60205260408120805483929061183b908490613a12565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046123fd565b5f8183136118a7578261008d565b50919050565b5f806118b984846127b6565b9092509050806118cb576118cb612c3f565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612c58565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612cc7565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613a12565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612d34565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a99aad896040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f0000000000000000000000000000000000000000000000000000000000000000815250875f305f67ffffffffffffffff811115611b1957611b19613cac565b6040519080825280601f01601f191660200182016040528015611b43576020820181803683370190505b506040518663ffffffff1660e01b8152600401611b64959493929190613ce2565b60408051808303815f875af1158015611b7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba39190613d71565b92505f9150505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612dc3565b5f611be88284613da7565b61008d9084613a25565b5f83815260086020526040902054600160801b90046001600160801b0316808303611c1d5750505050565b5f848152600860205260408120546001600160801b031690819003611c7557611c45836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611cf2565b611cc6611cc1670de0b6b3a7640000611c8e8886613a25565b611c989190613bc9565b85670de0b6b3a7640000611cac878a613a25565b611cb69190613bc9565b859291906001612f2c565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611cfb846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611d5b908490600160801b90046001600160801b0316612191565b6006546201000090046001600160701b03169250905081811115611ed1575f611d848383613a25565b9050611d93611cc18286612fc6565b60068054601090611db5908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ded85836117d490919063ffffffff16565b90505f611e1a827f0000000000000000000000000000000000000000000000000000000000000000612191565b90508060095f828254611e2d9190613a12565b90915550611e3d90508183613a25565b9150611e48826118d2565b600280545f90611e629084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e8f82612fda565b600480545f90611ea3908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611eff5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611f1687856117d4565b91505f611f43837f0000000000000000000000000000000000000000000000000000000000000000612191565b9050611f6f817f0000000000000000000000000000000000000000000000000000000000000000612191565b91508315611f9257611f818282613a25565b611f8b9084613a25565b9250611fa9565b611f9c8282613a25565b611fa69084613a12565b92505b86861015611fcc57611fbc8387896117b9565b9250611fc98287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b031661201f611cc182612003670de0b6b3a764000086613bc9565b600554600160801b90046001600160801b031691908a5f612f2c565b600580546001600160801b03928316600160801b029216919091179055612045866118d2565b61204f9082613dba565b600480546001600160801b03928316600160801b029216919091179055612075846118d2565b600280545f9061208f9084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120bc836118fb565b600480545f906120d0908490600f0b613dda565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612100856118d2565b60028054601090612122908490600160801b90046001600160801b0316613dba565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061215f846116268a888a6117b9565b905061216c8884866117b9565b6121769082613a12565b9050868111156121865786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061221057507f000000000000000000000000000000000000000000000000000000000000000061220e8583613a25565b105b1561221d5761221d612c3f565b6004549084900390600f0b6122328482613c4b565b90508361223e86611766565b13801561227357507f000000000000000000000000000000000000000000000000000000000000000061227183836118ad565b105b1561228057612280612c3f565b600354600160801b90046001600160801b03166122c1611cc1826122ac670de0b6b3a764000088613bc9565b6005546001600160801b031691908c5f612f2c565b600580546001600160801b0319166001600160801b03929092169190911790556122eb8882613a25565b90506122f6816118d2565b600380546001600160801b03928316600160801b02921691909117905561231c836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612345826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561236e876118d2565b60028054601090612390908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546123d990611cc1906001600160801b031684846129a9565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612447916001600160801b031690613a25565b9050805f0361245a5760019150506113f7565b5f61246485613003565b9050805f03612478576001925050506113f7565b5f8061248583858961309e565b915091508061249a575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016124d5929190613e07565b6040805180830381865af41580156124ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125139190613d71565b9150915061253161252382611766565b61252c90613e7c565b612aab565b925082612546575f96505050505050506113f7565b61254f826118d2565b600780545f906125699084906001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612596816118d2565b600780546010906125b8908490600160801b90046001600160801b0316613c2b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6126138761162c565b6040518263ffffffff1660e01b815260040161262f9190613ab6565b6040805180830381865af4158015612649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266d9190613e96565b915091508061268257505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916126e791613a12565b6126f19190613a25565b9050805f0361270757505f958695509350505050565b5f808711612715575f612720565b6127208488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561275157612751613cac565b6040519080825280601f01601f19166020018201604052801561277b576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561279b578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836127c386611766565b6127cd9190613c4b565b90505f8112156127e3575f809250925050610d21565b946001945092505050565b5f805f6127fe8888888888613206565b90505f612828670de0b6b3a76400006128178888612fc6565b6128219190613a12565b83906117d4565b9050670de0b6b3a7640000811061285c5761285561284e670de0b6b3a7640000896117d4565b8290612c58565b9050612874565b61287161284e670de0b6b3a764000089612fc6565b90505b61287e81866117d4565b905088811015612895575f809350935050506127ac565b97909703976001975095505050505050565b5f805f6128b78989888888613234565b90506128d1866119466128ca8a8d613a12565b8790612191565b98506128de858a866117b9565b9850888110156128f4575f8092509250506115f6565b888103670de0b6b3a764000081106129225761291b61284e670de0b6b3a764000089612fc6565b905061293a565b61293761284e670de0b6b3a7640000896117d4565b90505b8089101561294f575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f612971898789613258565b90925090506129808289613a25565b97505f61298e82888a6117b9565b905061299a818b613a25565b9a989950979650505050505050565b5f806129b5845f6132dd565b6129bf845f6132dd565b6129c99190613c4b565b90505f8113156129e4576129dd8186613a12565b9450612a02565b5f811215612a02576129f581613e7c565b6129ff9086613a25565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612a2f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612a51610d28565b612a5b9190613bc9565b9050808311612a6a575f612a74565b612a748184613a25565b915061008d612821670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613bc9565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b859190613ec4565b935093509350935080612ba057505f98975050505050505050565b868414612bd157612bb0846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c0257612be1836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c3057612c12826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612c6f5750670de0b6b3a76400006113f7565b825f03612c7d57505f6113f7565b5f612c8783611766565b90505f612c9b612c9686611766565b6132f2565b9050818102612cb2670de0b6b3a764000082613f02565b9050612cbd81613517565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612d2e9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506136a9565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d858482613714565b612d2e576040516001600160a01b0384811660248301525f6044830152612db991869182169063095ea7b390606401612cfc565b612d2e84826136a9565b6040516303c2063f60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301527f0000000000000000000000000000000000000000000000000000000000000000811660648301527f00000000000000000000000000000000000000000000000000000000000000001660848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260c481018290525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f09060e401602060405180830381865af4158015612f08573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f79190613ac5565b5f825f03612f3b575084610075565b8115612f8d57612f6c612f4e8487613a12565b612f588587612191565b612f62888a612191565b6116269190613a12565b90505f612f798588611d2b565b905080821015612f87578091505b50610075565b828503612f9b57505f610075565b610072612fa88487613a25565b612fb28587612a0b565b612fbc888a612191565b6116269190613a25565b5f61008d83670de0b6b3a764000084612a1b565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061301d906001600160801b031684612fc6565b90506130497f000000000000000000000000000000000000000000000000000000000000000082613a12565b6002546001600160801b031611156118a7576002547f0000000000000000000000000000000000000000000000000000000000000000906130949083906001600160801b0316613a25565b61008d9190613a25565b6130a66138f9565b5f806130b18461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016130eb9190613ab6565b6040805180830381865af4158015613105573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131299190613e96565b935090508261313d57505f9150611baa9050565b5f61315e6115b884610160015185610140015161219190919063ffffffff16565b61317e6115b8856101200151866101000151612a0b90919063ffffffff16565b6131889190613c4b565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f6132118585612c58565b61322a61322286611946868b612191565b8590856117b9565b6100729190613a12565b5f61323f8585612c58565b61322a61325086611946868b612a0b565b859085612a1b565b5f806132a7856132a185817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613297818c612fc6565b6132a19190613a25565b90612a0b565b91506132d3827f0000000000000000000000000000000000000000000000000000000000000000612191565b9050935093915050565b5f8183136132eb578161008d565b5090919050565b5f8082136133135760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906133969084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361353057505f919050565b680755bf798b4a1bf1e58212613559576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612cbd74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6136bd6001600160a01b038416836137b1565b905080515f141580156136e15750808060200190518101906136df9190613f2e565b155b1561370f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161372f9190613f49565b5f604051808303815f865af19150503d805f8114613768576040519150601f19603f3d011682016040523d82523d5f602084013e61376d565b606091505b50915091508180156137975750805115806137975750808060200190518101906137979190613f2e565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b031684866040516137d59190613f49565b5f6040518083038185875af1925050503d805f811461380f576040519150601f19603f3d011682016040523d82523d5f602084013e613814565b606091505b5091509150612cbd8683836060826138345761382f8261387b565b61008d565b815115801561384b57506001600160a01b0384163b155b1561387457604051639996b31560e01b81526001600160a01b0385166004820152602401613706565b508061008d565b80511561388b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061390d6138a4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a08688031215613967575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613999575f80fd5b6139a588828901613943565b9150509295509295909350565b5f805f606084860312156139c4575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156139e8575f80fd5b6139f486828701613943565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76139fe565b818103818111156113f7576113f76139fe565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f78284613a38565b5f60208284031215613ad5575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613b00575f80fd5b813561008d81613adc565b8015158114610c0a575f80fd5b5f60208284031215613b28575f80fd5b813561008d81613b0b565b5f808335601e19843603018112613b48575f80fd5b83018035915067ffffffffffffffff821115613b62575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76139fe565b5f805f60608486031215613bf2575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6139fe565b6001600160801b038181168382160190808211156118cb576118cb6139fe565b8181035f8312801583831316838312821617156118cb576118cb6139fe565b5f60208284031215613c7a575f80fd5b815161008d81613adc565b8082018281125f831280158216821582161715613ca457613ca46139fe565b505092915050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015613cda578181015183820152602001613cc2565b50505f910152565b5f61012060018060a01b038089511684528060208a01511660208501528060408a01511660408501528060608a0151166060850152608089015160808501528760a08501528660c085015280861660e08501525080610100840152835180828501526101409150613d598183860160208801613cc0565b601f01601f1916929092019091019695505050505050565b5f8060408385031215613d82575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601260045260245ffd5b5f82613db557613db5613d93565b500690565b6001600160801b038281168282160390808211156118cb576118cb6139fe565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76139fe565b5f6102a082019050613e1a828551613a38565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f600160ff1b8201613e9057613e906139fe565b505f0390565b5f8060408385031215613ea7575f80fd5b825191506020830151613eb981613b0b565b809150509250929050565b5f805f8060808587031215613ed7575f80fd5b8451935060208501519250604085015191506060850151613ef781613b0b565b939692955090935050565b5f82613f1057613f10613d93565b600160ff1b82145f1984141615613f2957613f296139fe565b500590565b5f60208284031215613f3e575f80fd5b815161008d81613b0b565b5f8251613f5a818460208701613cc0565b919091019291505056fea2646970667358221220ec306bb8f4343276c8def9dcf6f7c4a9933054a7f4b0480cee211ce23a8b741764736f6c63430008160033a26469706673582212208bd6f632107a959b0326a7792c5ef24e521727ad77537fdc6ce2d7480445bb5064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget4.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget4.ts new file mode 100644 index 000000000..a74805403 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget4.ts @@ -0,0 +1,1041 @@ +export const MorphoBlueTarget4 = { + name: 'MorphoBlueTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_params", + "type": "tuple", + "internalType": "struct IMorphoBlueHyperdrive.MorphoBlueParams", + "components": [ + { + "name": "morpho", + "type": "address", + "internalType": "contract IMorpho" + }, + { + "name": "collateralToken", + "type": "address", + "internalType": "address" + }, + { + "name": "oracle", + "type": "address", + "internalType": "address" + }, + { + "name": "irm", + "type": "address", + "internalType": "address" + }, + { + "name": "lltv", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620039a0380380620039a08339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516130b0620008f05f395f818161115e015281816123cc015261250101525f818161113c015281816123aa01526124d201525f818161111a0152818161238801526124a301525f81816110f801528181612366015261247401525f81816110b401528181612322015261240b01525f50505f50505f61099201525f50505f818161025f015261201701525f8181611877015281816118da01528181611c0701528181611c4301528181611e340152611ff101525f81816105500152611fcb01525f61145901525f6115ae01525f818161070d015261158201525f50505f8181610571015261203d01525f818161064b015261267201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f81816110d601528181612344015261244501526130b05ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612b43565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b95565b6100b1565b005b610056610092366004612b43565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612bc9565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612bf1565b61016a60408c018c612c0c565b60405161017c96959493929190612c77565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612cc4565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612bc9565b88610ea4565b5f6102f56102ec6020870187612bc9565b88848989610a9e565b90945090506103048188612ceb565b92505f61031083610f41565b5090506103206020870187612bc9565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612bf1565b8a888e80604001906103709190612c0c565b604051610384989796959493929190612cfe565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612bc9565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006111c7565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612d45565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6111e3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611203565b92505b506105a283611222565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ceb565b8a8461124f565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612d45565b4290611388565b8461124f565b61063f8861139c565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ceb565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611539565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61156d565b915091508060095f8282546106dc9190612d45565b909155506106f79050865f846106f18161163a565b88611663565b6107018183612d45565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006117da565b91506107456107408385611823565b611837565b600680546002906107669084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611222565b600680546010906107b5908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611539565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161156d565b915091508060095f8282546108289190612d45565b909155506108439050835f8461083d8161163a565b8a611860565b61084d8183612ceb565b915061085c6107408387611823565b6006805460029061087d9084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611222565b600680546010906108cc908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761163a565b61090e8361163a565b6109189190612d98565b5f611a50565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612db7565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a8f565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611b15565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611b21565b9050610b2083611222565b610b2a9083612dd2565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611222565b60078054601090610b75908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611b3c565b9350610bb08684611bd2565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ceb565b9050805f03610c3a576001915050610dc7565b5f610c4485611be6565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c81565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e70565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612ee5565b91509150610d11610d038261163a565b610d0c90612f07565b611dee565b925082610d26575f9650505050505050610dc7565b610d2f82611222565b600780545f90610d499084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611222565b60078054601090610d98908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ceb565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612d45565b90915550505f838152600b602052604081208054839290610ef7908490612d45565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f82565b6040518263ffffffff1660e01b8152600401610f849190612f21565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f30565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612d45565b6110469190612ceb565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611b21565b976001975095505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b602060405180830381865af41580156111a3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612fa1565b5f6111d28284612cc4565b6111dc9084612ceb565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b6120bc565b5f61121982611213858888611b21565b906120e1565b95945050505050565b5f6001600160801b0382111561124b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361127a5750505050565b5f848152600860205260408120546001600160801b0316908190036112d2576112a283611222565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561134f565b61132361131e670de0b6b3a76400006112eb8886612ceb565b6112f59190612fb8565b85670de0b6b3a7640000611309878a612ceb565b6113139190612fb8565b859291906001612150565b611222565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61135884611222565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161139657826111dc565b50919050565b6006545f9081906113be908490600160801b90046001600160801b0316611823565b6006546201000090046001600160701b03169250905081811115611534575f6113e78383612ceb565b90506113f661131e82866121ea565b60068054601090611418908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61145085836121fe90919063ffffffff16565b90505f61147d827f0000000000000000000000000000000000000000000000000000000000000000611823565b90508060095f8282546114909190612d45565b909155506114a090508183612ceb565b91506114ab82611222565b600280545f906114c59084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114f282612212565b600480545f90611506908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061157987856121fe565b91505f6115a6837f0000000000000000000000000000000000000000000000000000000000000000611823565b90506115d2817f0000000000000000000000000000000000000000000000000000000000000000611823565b915083156115f5576115e48282612ceb565b6115ee9084612ceb565b925061160c565b6115ff8282612ceb565b6116099084612d45565b92505b8686101561162f5761161f838789611b21565b925061162c828789611b21565b91505b509550959350505050565b5f6001600160ff1b0382111561124b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166116ab61131e8261168f670de0b6b3a764000086612fb8565b600554600160801b90046001600160801b031691908a5f612150565b600580546001600160801b03928316600160801b0292169190911790556116d186611222565b6116db9082612dd2565b600480546001600160801b03928316600160801b02921691909117905561170184611222565b600280545f9061171b9084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506117488361223b565b600480545f9061175c908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061178c85611222565b600280546010906117ae908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117f1846117eb8a888a611b21565b906121fe565b90506117fe888486611b21565b6118089082612d45565b9050868111156118185786810391505b509695505050505050565b5f6111dc8383670de0b6b3a7640000611b21565b5f6001600160701b0382111561124b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806118a257507f00000000000000000000000000000000000000000000000000000000000000006118a08583612ceb565b105b156118af576118af612276565b6004549084900390600f0b6118c48482612d98565b9050836118d08661163a565b13801561190557507f000000000000000000000000000000000000000000000000000000000000000061190383836120bc565b105b1561191257611912612276565b600354600160801b90046001600160801b031661195361131e8261193e670de0b6b3a764000088612fb8565b6005546001600160801b031691908c5f612150565b600580546001600160801b0319166001600160801b039290921691909117905561197d8882612ceb565b905061198881611222565b600380546001600160801b03928316600160801b0292169190911790556119ae83611222565b600280546001600160801b0319166001600160801b03929092169190911790556119d78261223b565b600480546001600160801b0319166001600160801b0392909216919091179055611a0087611222565b60028054601090611a22908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a6b9061131e906001600160801b0316848461228f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611ab257611ab2612ffc565b6040519080825280601f01601f191660200182016040528015611adc576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611afc578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611b35575f80fd5b5091020490565b5f80611b488585611823565b9050611b53816122f1565b9450845f03611b65575f9150506111dc565b849150611b786040840160208501612bf1565b15611ba757611ba085611b8e6020860186612bc9565b611b9b6040870187612c0c565b6123f6565b9150611bca565b611bca85611bb86020860186612bc9565b611bc56040870187612c0c565b6125ed565b509392505050565b5f6111dc8383670de0b6b3a7640000612606565b6003545f908190611c00906001600160801b0316846121ea565b9050611c2c7f000000000000000000000000000000000000000000000000000000000000000082612d45565b6002546001600160801b03161115611396576002547f000000000000000000000000000000000000000000000000000000000000000090611c779083906001600160801b0316612ceb565b6111dc9190612ceb565b611c89612aa4565b5f80611c9484611f82565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611cce9190612f21565b6040805180830381865af4158015611ce8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0c9190612f30565b9350905082611d2057505f91506100a99050565b5f611d46611d4184610160015185610140015161182390919063ffffffff16565b61163a565b611d66611d41856101200151866101000151611bd290919063ffffffff16565b611d709190612d98565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611ea4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ec89190613010565b935093509350935080611ee357505f98975050505050505050565b868414611f1457611ef384611222565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611f4557611f248361223b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f7357611f5582611222565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f8a612aee565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916120829116612629565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120b492900416612629565b905292915050565b5f806120c8848461269d565b9092509050806120da576120da612276565b5092915050565b5f815f036120f85750670de0b6b3a7640000610dc7565b825f0361210657505f610dc7565b5f6121108361163a565b90505f61212461211f8661163a565b6126d8565b905081810261213b670de0b6b3a76400008261304e565b9050612146816128fd565b9695505050505050565b5f825f0361215f575084611219565b81156121b1576121906121728487612d45565b61217c8587611823565b612186888a611823565b6117eb9190612d45565b90505f61219d8588611388565b9050808210156121ab578091505b50611219565b8285036121bf57505f611219565b6121466121cc8487612ceb565b6121d68587611bd2565b6121e0888a611823565b6117eb9190612ceb565b5f6111dc83670de0b6b3a764000084612606565b5f6111dc83670de0b6b3a764000084611b21565b5f60016001607f1b0382111561124b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612258575060016001607f1b0382135b1561124b5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061229b845f612a8f565b6122a5845f612a8f565b6122af9190612d98565b90505f8113156122ca576122c38186612d45565b94506122e8565b5f8112156122e8576122db81612f07565b6122e59086612ceb565b94505b50929392505050565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b5f8061240186611083565b905080156125e4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525061252c89611083565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156125bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e09190612ee5565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261261a575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061263c61040f565b6126469190612fb8565b9050808311612655575f61265f565b61265f8184612ceb565b91506111dc612696670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fb8565b83906121fe565b5f805f836126aa8661163a565b6126b49190612d98565b90505f8112156126ca575f8092509250506126d1565b9150600190505b9250929050565b5f8082136126f95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061277c9084901c61163a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361291657505f919050565b680755bf798b4a1bf1e5821261293f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061214674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61163a565b5f818313612a9d57816111dc565b5090919050565b604051806101200160405280612ab8612aee565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b55575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b79575f80fd5b840160608187031215612b8a575f80fd5b809150509250925092565b5f8060408385031215612ba6575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612bd9575f80fd5b81356111dc81612bb5565b80151581146103f5575f80fd5b5f60208284031215612c01575f80fd5b81356111dc81612be4565b5f808335601e19843603018112612c21575f80fd5b83018035915067ffffffffffffffff821115612c3b575f80fd5b6020019150368190038213156126d1575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ca460a083018486612c4f565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612cd257612cd2612cb0565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612cd7565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d3760e083018486612c4f565b9a9950505050505050505050565b80820180821115610dc757610dc7612cd7565b6001600160701b038181168382160190808211156120da576120da612cd7565b6001600160801b038181168382160190808211156120da576120da612cd7565b8181035f8312801583831316838312821617156120da576120da612cd7565b5f60208284031215612dc7575f80fd5b81516111dc81612bb5565b6001600160801b038281168282160390808211156120da576120da612cd7565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e83828551612df2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ef6575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f1b57612f1b612cd7565b505f0390565b6101808101610dc78284612df2565b5f8060408385031215612f41575f80fd5b825191506020830151612f5381612be4565b809150509250929050565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f60208284031215612fb1575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612cd7565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612cd7565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613023575f80fd5b845193506020850151925060408501519150606085015161304381612be4565b939692955090935050565b5f8261305c5761305c612cb0565b600160ff1b82145f198414161561307557613075612cd7565b50059056fea2646970667358221220c40995ac1c605ad12ca7f12a2a65167a8ac489f50c9b2b93ecb6c361547e7d3164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoBlueTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/MorphoBlueTarget4Deployer.ts new file mode 100644 index 000000000..9d9435bfb --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoBlueTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const MorphoBlueTarget4Deployer = { + name: 'MorphoBlueTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50613fae8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c6939291906200046e565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6139a080620005d983390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60a08284031215620003e4575f80fd5b60405160a0810181811067ffffffffffffffff821117156200040a576200040a620000ff565b60405282516200041a8162000140565b815260208301516200042c8162000140565b60208201526040830151620004418162000140565b60408201526060830151620004568162000140565b60608201526080928301519281019290925250919050565b83516001600160a01b03168152610320810160208501516200049b60208401826001600160a01b03169052565b506040850151620004b760408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e0830152610100808601518184015250610120808601518184015250610140808601518184015250610160808601516200052a828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e080870151805191850191909152602080820151610200860152604080830151610220870152606092830151610240870152878416610260870152865184166102808701529086015183166102a086015285015182166102c0850152840151166102e08301526080830151610300830152620000e956fe61032060405234801562000011575f80fd5b50604051620039a0380380620039a08339810160408190526200003491620005c8565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152828901516101a0528801516101c05260c0808901516101e090815260e0808b015161020052610120808c0151909352610100808c0151909152610140808c0151909152908a0180515190925281518301519052805160409081015161016052905160609081015161018052818a0151861661024052808a01516102605285891661022052875186166102808190529288015186166102a0529087015185166102c0528601519093166102e0528401516103005283926200011a929062000124565b5050505062000764565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200017e9085908390620001ef16565b620001e957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001dd9186916200029916565b620001e9848262000299565b50505050565b5f805f846001600160a01b0316846040516200020c919062000715565b5f604051808303815f865af19150503d805f811462000247576040519150601f19603f3d011682016040523d82523d5f602084013e6200024c565b606091505b50915091508180156200027a5750805115806200027a5750808060200190518101906200027a919062000743565b80156200029057505f856001600160a01b03163b115b95945050505050565b5f620002af6001600160a01b038416836200030a565b905080515f14158015620002d6575080806020019051810190620002d4919062000743565b155b156200030557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200031983835f62000320565b9392505050565b606081471015620003475760405163cd78605960e01b8152306004820152602401620002fc565b5f80856001600160a01b0316848660405162000364919062000715565b5f6040518083038185875af1925050503d805f8114620003a0576040519150601f19603f3d011682016040523d82523d5f602084013e620003a5565b606091505b509092509050620003b8868383620003c2565b9695505050505050565b606082620003db57620003d58262000426565b62000319565b8151158015620003f357506001600160a01b0384163b155b156200041e57604051639996b31560e01b81526001600160a01b0385166004820152602401620002fc565b508062000319565b805115620004375780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60405161020081016001600160401b03811182821017156200048357634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b038116811462000450575f80fd5b8051620004ab8162000489565b919050565b5f60808284031215620004c1575f80fd5b604051608081016001600160401b0381118282101715620004f057634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f60a0828403121562000532575f80fd5b60405160a081016001600160401b03811182821017156200056157634e487b7160e01b5f52604160045260245ffd5b80604052508091508251620005768162000489565b81526020830151620005888162000489565b602082015260408301516200059d8162000489565b60408201526060830151620005b28162000489565b6060820152608092830151920191909152919050565b5f805f838503610320811215620005dd575f80fd5b61026080821215620005ed575f80fd5b620005f762000453565b915062000604866200049e565b825262000614602087016200049e565b602083015262000627604087016200049e565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620006928188016200049e565b90830152610180620006a68782016200049e565b908301526101a0620006ba8782016200049e565b908301526101c0620006ce8782016200049e565b908301526101e0620006e388888301620004b0565b8184015250819450620006f88187016200049e565b935050506200070c85610280860162000521565b90509250925092565b5f82515f5b818110156200073657602081860181015185830152016200071a565b505f920191825250919050565b5f6020828403121562000754575f80fd5b8151801515811462000319575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516130b0620008f05f395f818161115e015281816123cc015261250101525f818161113c015281816123aa01526124d201525f818161111a0152818161238801526124a301525f81816110f801528181612366015261247401525f81816110b401528181612322015261240b01525f50505f50505f61099201525f50505f818161025f015261201701525f8181611877015281816118da01528181611c0701528181611c4301528181611e340152611ff101525f81816105500152611fcb01525f61145901525f6115ae01525f818161070d015261158201525f50505f8181610571015261203d01525f818161064b015261267201525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f81816110d601528181612344015261244501526130b05ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612b43565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612b95565b6100b1565b005b610056610092366004612b43565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612bc9565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612bf1565b61016a60408c018c612c0c565b60405161017c96959493929190612c77565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612cc4565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612bc9565b88610ea4565b5f6102f56102ec6020870187612bc9565b88848989610a9e565b90945090506103048188612ceb565b92505f61031083610f41565b5090506103206020870187612bc9565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612bf1565b8a888e80604001906103709190612c0c565b604051610384989796959493929190612cfe565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612bc9565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006111c7565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612d45565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6111e3565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611203565b92505b506105a283611222565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612ceb565b8a8461124f565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612d45565b4290611388565b8461124f565b61063f8861139c565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612ceb565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611539565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61156d565b915091508060095f8282546106dc9190612d45565b909155506106f79050865f846106f18161163a565b88611663565b6107018183612d45565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006117da565b91506107456107408385611823565b611837565b600680546002906107669084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611222565b600680546010906107b5908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611539565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161156d565b915091508060095f8282546108289190612d45565b909155506108439050835f8461083d8161163a565b8a611860565b61084d8183612ceb565b915061085c6107408387611823565b6006805460029061087d9084906201000090046001600160701b0316612d58565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611222565b600680546010906108cc908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761163a565b61090e8361163a565b6109189190612d98565b5f611a50565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612db7565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a8f565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611b15565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611b21565b9050610b2083611222565b610b2a9083612dd2565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611222565b60078054601090610b75908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611b3c565b9350610bb08684611bd2565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612ceb565b9050805f03610c3a576001915050610dc7565b5f610c4485611be6565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611c81565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612e70565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612ee5565b91509150610d11610d038261163a565b610d0c90612f07565b611dee565b925082610d26575f9650505050505050610dc7565b610d2f82611222565b600780545f90610d499084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611222565b60078054601090610d98908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612ceb565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612d45565b90915550505f838152600b602052604081208054839290610ef7908490612d45565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611f82565b6040518263ffffffff1660e01b8152600401610f849190612f21565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612f30565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612d45565b6110469190612ceb565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611b21565b976001975095505050505050565b6040516303c2063f60e41b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__90633c2063f090611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b602060405180830381865af41580156111a3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612fa1565b5f6111d28284612cc4565b6111dc9084612ceb565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b6120bc565b5f61121982611213858888611b21565b906120e1565b95945050505050565b5f6001600160801b0382111561124b57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361127a5750505050565b5f848152600860205260408120546001600160801b0316908190036112d2576112a283611222565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561134f565b61132361131e670de0b6b3a76400006112eb8886612ceb565b6112f59190612fb8565b85670de0b6b3a7640000611309878a612ceb565b6113139190612fb8565b859291906001612150565b611222565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61135884611222565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161139657826111dc565b50919050565b6006545f9081906113be908490600160801b90046001600160801b0316611823565b6006546201000090046001600160701b03169250905081811115611534575f6113e78383612ceb565b90506113f661131e82866121ea565b60068054601090611418908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61145085836121fe90919063ffffffff16565b90505f61147d827f0000000000000000000000000000000000000000000000000000000000000000611823565b90508060095f8282546114909190612d45565b909155506114a090508183612ceb565b91506114ab82611222565b600280545f906114c59084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114f282612212565b600480545f90611506908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061157987856121fe565b91505f6115a6837f0000000000000000000000000000000000000000000000000000000000000000611823565b90506115d2817f0000000000000000000000000000000000000000000000000000000000000000611823565b915083156115f5576115e48282612ceb565b6115ee9084612ceb565b925061160c565b6115ff8282612ceb565b6116099084612d45565b92505b8686101561162f5761161f838789611b21565b925061162c828789611b21565b91505b509550959350505050565b5f6001600160ff1b0382111561124b5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166116ab61131e8261168f670de0b6b3a764000086612fb8565b600554600160801b90046001600160801b031691908a5f612150565b600580546001600160801b03928316600160801b0292169190911790556116d186611222565b6116db9082612dd2565b600480546001600160801b03928316600160801b02921691909117905561170184611222565b600280545f9061171b9084906001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506117488361223b565b600480545f9061175c908490600f0b612fcf565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061178c85611222565b600280546010906117ae908490600160801b90046001600160801b0316612dd2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117f1846117eb8a888a611b21565b906121fe565b90506117fe888486611b21565b6118089082612d45565b9050868111156118185786810391505b509695505050505050565b5f6111dc8383670de0b6b3a7640000611b21565b5f6001600160701b0382111561124b5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806118a257507f00000000000000000000000000000000000000000000000000000000000000006118a08583612ceb565b105b156118af576118af612276565b6004549084900390600f0b6118c48482612d98565b9050836118d08661163a565b13801561190557507f000000000000000000000000000000000000000000000000000000000000000061190383836120bc565b105b1561191257611912612276565b600354600160801b90046001600160801b031661195361131e8261193e670de0b6b3a764000088612fb8565b6005546001600160801b031691908c5f612150565b600580546001600160801b0319166001600160801b039290921691909117905561197d8882612ceb565b905061198881611222565b600380546001600160801b03928316600160801b0292169190911790556119ae83611222565b600280546001600160801b0319166001600160801b03929092169190911790556119d78261223b565b600480546001600160801b0319166001600160801b0392909216919091179055611a0087611222565b60028054601090611a22908490600160801b90046001600160801b0316612d78565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a6b9061131e906001600160801b0316848461228f565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611ab257611ab2612ffc565b6040519080825280601f01601f191660200182016040528015611adc576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611afc578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611b35575f80fd5b5091020490565b5f80611b488585611823565b9050611b53816122f1565b9450845f03611b65575f9150506111dc565b849150611b786040840160208501612bf1565b15611ba757611ba085611b8e6020860186612bc9565b611b9b6040870187612c0c565b6123f6565b9150611bca565b611bca85611bb86020860186612bc9565b611bc56040870187612c0c565b6125ed565b509392505050565b5f6111dc8383670de0b6b3a7640000612606565b6003545f908190611c00906001600160801b0316846121ea565b9050611c2c7f000000000000000000000000000000000000000000000000000000000000000082612d45565b6002546001600160801b03161115611396576002547f000000000000000000000000000000000000000000000000000000000000000090611c779083906001600160801b0316612ceb565b6111dc9190612ceb565b611c89612aa4565b5f80611c9484611f82565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611cce9190612f21565b6040805180830381865af4158015611ce8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0c9190612f30565b9350905082611d2057505f91506100a99050565b5f611d46611d4184610160015185610140015161182390919063ffffffff16565b61163a565b611d66611d41856101200151866101000151611bd290919063ffffffff16565b611d709190612d98565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611ea4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ec89190613010565b935093509350935080611ee357505f98975050505050505050565b868414611f1457611ef384611222565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611f4557611f248361223b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f7357611f5582611222565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f8a612aee565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916120829116612629565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120b492900416612629565b905292915050565b5f806120c8848461269d565b9092509050806120da576120da612276565b5092915050565b5f815f036120f85750670de0b6b3a7640000610dc7565b825f0361210657505f610dc7565b5f6121108361163a565b90505f61212461211f8661163a565b6126d8565b905081810261213b670de0b6b3a76400008261304e565b9050612146816128fd565b9695505050505050565b5f825f0361215f575084611219565b81156121b1576121906121728487612d45565b61217c8587611823565b612186888a611823565b6117eb9190612d45565b90505f61219d8588611388565b9050808210156121ab578091505b50611219565b8285036121bf57505f611219565b6121466121cc8487612ceb565b6121d68587611bd2565b6121e0888a611823565b6117eb9190612ceb565b5f6111dc83670de0b6b3a764000084612606565b5f6111dc83670de0b6b3a764000084611b21565b5f60016001607f1b0382111561124b5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612258575060016001607f1b0382135b1561124b5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061229b845f612a8f565b6122a5845f612a8f565b6122af9190612d98565b90505f8113156122ca576122c38186612d45565b94506122e8565b5f8112156122e8576122db81612f07565b6122e59086612ceb565b94505b50929392505050565b6040516349124ca360e01b81525f9073__$04b283107449142c3a86c88d1d4ad5a326$__906349124ca390611188907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908b90600401612f5e565b5f8061240186611083565b905080156125e4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c2bea496040518060a001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081525061252c89611083565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020850151811660248301529184015182166044820152606084015182166064820152608090930151608484015260a48301919091525f60c48301523060e483015288166101048201526101240160408051808303815f875af11580156125bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e09190612ee5565b5091505b50949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261261a575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061263c61040f565b6126469190612fb8565b9050808311612655575f61265f565b61265f8184612ceb565b91506111dc612696670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612fb8565b83906121fe565b5f805f836126aa8661163a565b6126b49190612d98565b90505f8112156126ca575f8092509250506126d1565b9150600190505b9250929050565b5f8082136126f95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061277c9084901c61163a565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361291657505f919050565b680755bf798b4a1bf1e5821261293f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061214674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61163a565b5f818313612a9d57816111dc565b5090919050565b604051806101200160405280612ab8612aee565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b55575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b79575f80fd5b840160608187031215612b8a575f80fd5b809150509250925092565b5f8060408385031215612ba6575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612bd9575f80fd5b81356111dc81612bb5565b80151581146103f5575f80fd5b5f60208284031215612c01575f80fd5b81356111dc81612be4565b5f808335601e19843603018112612c21575f80fd5b83018035915067ffffffffffffffff821115612c3b575f80fd5b6020019150368190038213156126d1575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612ca460a083018486612c4f565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612cd257612cd2612cb0565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612cd7565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612d3760e083018486612c4f565b9a9950505050505050505050565b80820180821115610dc757610dc7612cd7565b6001600160701b038181168382160190808211156120da576120da612cd7565b6001600160801b038181168382160190808211156120da576120da612cd7565b8181035f8312801583831316838312821617156120da576120da612cd7565b5f60208284031215612dc7575f80fd5b81516111dc81612bb5565b6001600160801b038281168282160390808211156120da576120da612cd7565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e83828551612df2565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ef6575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612f1b57612f1b612cd7565b505f0390565b6101808101610dc78284612df2565b5f8060408385031215612f41575f80fd5b825191506020830151612f5381612be4565b809150509250929050565b6001600160a01b039788168152958716602087015293861660408601529185166060850152909316608083015260a082019290925260c081019190915260e00190565b5f60208284031215612fb1575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612cd7565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612cd7565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613023575f80fd5b845193506020850151925060408501519150606085015161304381612be4565b939692955090935050565b5f8261305c5761305c612cb0565b600160ff1b82145f198414161561307557613075612cd7565b50059056fea2646970667358221220c40995ac1c605ad12ca7f12a2a65167a8ac489f50c9b2b93ecb6c361547e7d3164736f6c63430008160033a264697066735822122055787ed88c507cf6faab755aa505beccda2f8998ae45813edea01fb0c82d187c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoLib.ts b/packages/hyperdrive-artifacts/src/MorphoLib.ts new file mode 100644 index 000000000..c64dbbc8a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoLib.ts @@ -0,0 +1,6 @@ +export const MorphoLib = { + name: 'MorphoLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220562a6fdcba722903f2f8921f1035f2cc0dd9260daedb7db2a81db2ccc29f7fac64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MorphoStorageLib.ts b/packages/hyperdrive-artifacts/src/MorphoStorageLib.ts new file mode 100644 index 000000000..3bed1b22c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MorphoStorageLib.ts @@ -0,0 +1,6 @@ +export const MorphoStorageLib = { + name: 'MorphoStorageLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220dc75cf1a04a2fd61a5937941943ce9f7382240e1179a6ba1fa4a5ad43b39b07d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/MultiRolesAuthority.ts b/packages/hyperdrive-artifacts/src/MultiRolesAuthority.ts new file mode 100644 index 000000000..37a061ede --- /dev/null +++ b/packages/hyperdrive-artifacts/src/MultiRolesAuthority.ts @@ -0,0 +1,452 @@ +export const MultiRolesAuthority = { + name: 'MultiRolesAuthority' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_owner", + "type": "address", + "internalType": "address" + }, + { + "name": "_authority", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "canCall", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesRoleHaveCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "doesUserHaveRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRolesWithCapability", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTargetCustomAuthority", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Authority" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserRoles", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCapabilityPublic", + "inputs": [ + { + "name": "", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [ + { + "name": "newAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPublicCapability", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRoleCapability", + "inputs": [ + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetCustomAuthority", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "customAuthority", + "type": "address", + "internalType": "contract Authority" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserRole", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newAuthority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PublicCapabilityUpdated", + "inputs": [ + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleCapabilityUpdated", + "inputs": [ + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "functionSig", + "type": "bytes4", + "indexed": true, + "internalType": "bytes4" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetCustomAuthorityUpdated", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "authority", + "type": "address", + "indexed": true, + "internalType": "contract Authority" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserRoleUpdated", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "role", + "type": "uint8", + "indexed": true, + "internalType": "uint8" + }, + { + "name": "enabled", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50604051610c41380380610c4183398101604081905261002e916100dd565b5f80546001600160a01b03199081166001600160a01b0385811691821784556001805490931690851617909155604051849284929133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350505050610115565b6001600160a01b03811681146100da575f80fd5b50565b5f80604083850312156100ee575f80fd5b82516100f9816100c6565b602084015190925061010a816100c6565b809150509250929050565b610b1f806101225f395ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c80638da5cb5b11610093578063e688747b11610063578063e688747b14610231578063ea7ca27614610266578063ed0d0efb1461029c578063f2fde38b146102bb575f80fd5b80638da5cb5b146101b9578063b7009613146101e3578063bf7e214f146101f6578063c53a398514610209575f80fd5b80634b5159da116100ce5780634b5159da1461016d57806367aff48414610180578063728b952b146101935780637a9e5e4b146101a6575f80fd5b806306a36aee146100f45780630bade8a4146101265780630ea9b75b14610158575b5f80fd5b61011361010236600461089f565b60036020525f908152604090205481565b6040519081526020015b60405180910390f35b6101486101343660046108d6565b60046020525f908152604090205460ff1681565b604051901515815260200161011d565b61016b61016636600461090c565b6102ce565b005b61016b61017b366004610950565b6103ac565b61016b61018e366004610985565b61043c565b61016b6101a13660046109b0565b610501565b61016b6101b436600461089f565b610588565b5f546101cb906001600160a01b031681565b6040516001600160a01b03909116815260200161011d565b6101486101f13660046109dc565b61066c565b6001546101cb906001600160a01b031681565b6101cb61021736600461089f565b60026020525f90815260409020546001600160a01b031681565b61014861023f366004610a20565b6001600160e01b0319165f9081526005602052604090205460ff919091161c600116151590565b610148610274366004610a51565b6001600160a01b03919091165f90815260036020526040902054600160ff9092161c16151590565b6101136102aa3660046108d6565b60056020525f908152604090205481565b61016b6102c936600461089f565b610767565b6102e3335f356001600160e01b0319166107e2565b6103085760405162461bcd60e51b81526004016102ff90610a7b565b60405180910390fd5b8015610337576001600160e01b031982165f9081526005602052604090208054600160ff86161b17905561035d565b6001600160e01b031982165f9081526005602052604090208054600160ff86161b191690555b816001600160e01b0319168360ff167fbfe16b2c35ce23dfd1ab0e7b5d086a10060c9b52d1574e1680c881b3b3a2b1518360405161039f911515815260200190565b60405180910390a3505050565b6103c1335f356001600160e01b0319166107e2565b6103dd5760405162461bcd60e51b81526004016102ff90610a7b565b6001600160e01b031982165f81815260046020908152604091829020805460ff191685151590811790915591519182527f36d28126bef21a4f3765d7fcb7c45cead463ae4c41094ef3b771ede598544103910160405180910390a25050565b610451335f356001600160e01b0319166107e2565b61046d5760405162461bcd60e51b81526004016102ff90610a7b565b801561049b576001600160a01b0383165f9081526003602052604090208054600160ff85161b1790556104c0565b6001600160a01b0383165f9081526003602052604090208054600160ff85161b191690555b8160ff16836001600160a01b03167f4c9bdd0c8e073eb5eda2250b18d8e5121ff27b62064fbeeeed4869bb99bc5bf28360405161039f911515815260200190565b610516335f356001600160e01b0319166107e2565b6105325760405162461bcd60e51b81526004016102ff90610a7b565b6001600160a01b038281165f8181526002602052604080822080546001600160a01b0319169486169485179055517fa4908e11a5f895b13d51526c331ac93cdd30e59772361c5d07874eb36bff20659190a35050565b5f546001600160a01b0316331480610619575060015460405163b700961360e01b81526001600160a01b039091169063b7009613906105da90339030906001600160e01b03195f351690600401610aa1565b602060405180830381865afa1580156105f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106199190610ace565b610621575f80fd5b600180546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b6001600160a01b038083165f9081526002602052604081205490911680156107055760405163b700961360e01b81526001600160a01b0382169063b7009613906106be90889088908890600401610aa1565b602060405180830381865afa1580156106d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106fd9190610ace565b915050610760565b6001600160e01b031983165f9081526004602052604090205460ff168061075c57506001600160e01b031983165f908152600560209081526040808320546001600160a01b03891684526003909252909120541615155b9150505b9392505050565b61077c335f356001600160e01b0319166107e2565b6107985760405162461bcd60e51b81526004016102ff90610a7b565b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001545f906001600160a01b03168015801590610869575060405163b700961360e01b81526001600160a01b0382169063b70096139061082a90879030908890600401610aa1565b602060405180830381865afa158015610845573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108699190610ace565b8061088057505f546001600160a01b038581169116145b949350505050565b6001600160a01b038116811461089c575f80fd5b50565b5f602082840312156108af575f80fd5b813561076081610888565b80356001600160e01b0319811681146108d1575f80fd5b919050565b5f602082840312156108e6575f80fd5b610760826108ba565b803560ff811681146108d1575f80fd5b801515811461089c575f80fd5b5f805f6060848603121561091e575f80fd5b610927846108ef565b9250610935602085016108ba565b91506040840135610945816108ff565b809150509250925092565b5f8060408385031215610961575f80fd5b61096a836108ba565b9150602083013561097a816108ff565b809150509250929050565b5f805f60608486031215610997575f80fd5b83356109a281610888565b9250610935602085016108ef565b5f80604083850312156109c1575f80fd5b82356109cc81610888565b9150602083013561097a81610888565b5f805f606084860312156109ee575f80fd5b83356109f981610888565b92506020840135610a0981610888565b9150610a17604085016108ba565b90509250925092565b5f8060408385031215610a31575f80fd5b610a3a836108ef565b9150610a48602084016108ba565b90509250929050565b5f8060408385031215610a62575f80fd5b8235610a6d81610888565b9150610a48602084016108ef565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215610ade575f80fd5b8151610760816108ff56fea26469706673582212201f9fcb2e91ae2b59a6844cb685bf251770d615c60cfc9612aa76d28eafda347464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "authority()": "bf7e214f", + "canCall(address,address,bytes4)": "b7009613", + "doesRoleHaveCapability(uint8,bytes4)": "e688747b", + "doesUserHaveRole(address,uint8)": "ea7ca276", + "getRolesWithCapability(bytes4)": "ed0d0efb", + "getTargetCustomAuthority(address)": "c53a3985", + "getUserRoles(address)": "06a36aee", + "isCapabilityPublic(bytes4)": "0bade8a4", + "owner()": "8da5cb5b", + "setAuthority(address)": "7a9e5e4b", + "setPublicCapability(bytes4,bool)": "4b5159da", + "setRoleCapability(uint8,bytes4,bool)": "0ea9b75b", + "setTargetCustomAuthority(address,address)": "728b952b", + "setUserRole(address,uint8,bool)": "67aff484", + "transferOwnership(address)": "f2fde38b" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/NonPayableDeployer.ts b/packages/hyperdrive-artifacts/src/NonPayableDeployer.ts new file mode 100644 index 000000000..c8d8db033 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/NonPayableDeployer.ts @@ -0,0 +1,341 @@ +export const NonPayableDeployer = { + name: 'NonPayableDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployAndInitialize", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "contract HyperdriveFactory" + }, + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_factory", + "type": "address", + "internalType": "contract HyperdriveFactory" + }, + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployerCoordinator", + "type": "address", + "internalType": "address" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_fixedAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_timeStretchAPR", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061089a8061001d5f395ff3fe608060405260043610610028575f3560e01c8063606b55631461002c57806373c871b314610041575b5f80fd5b61003f61003a36600461044b565b610060565b005b34801561004c575f80fd5b5061003f61005b366004610539565b6100ef565b604051632e7cd97160e01b81526001600160a01b038c1690632e7cd9719034906100a0908e908d908f908e908e908e908e908e908e908e9060040161072d565b60206040518083038185885af11580156100bc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906100e191906107e0565b505050505050505050505050565b6040516349f13de760e01b81526001600160a01b038a16906349f13de790610129908b908b908b908b908b908b908b908b90600401610802565b6020604051808303815f875af1158015610145573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061016991906107e0565b50505050505050505050565b6001600160a01b0381168114610189575f80fd5b50565b803561019781610175565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff811182821017156101d4576101d461019c565b60405290565b5f82601f8301126101e9575f80fd5b813567ffffffffffffffff808211156102045761020461019c565b604051601f8301601f19908116603f0116810190828211818310171561022c5761022c61019c565b81604052838152866020858801011115610244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f60808284031215610273575f80fd5b6040516080810181811067ffffffffffffffff821117156102965761029661019c565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61024082840312156102d8575f80fd5b6102e06101b0565b90506102eb8261018c565b81526102f96020830161018c565b602082015261030a6040830161018c565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014061036781840161018c565b9082015261016061037983820161018c565b9082015261018061038b83820161018c565b908201526101a061039d83820161018c565b908201526101c06103b084848301610263565b9082015292915050565b5f606082840312156103ca575f80fd5b6040516060810167ffffffffffffffff82821081831117156103ee576103ee61019c565b816040528293508435915061040282610175565b9082526020840135908115158214610418575f80fd5b8160208401526040850135915080821115610431575f80fd5b5061043e858286016101da565b6040830152505092915050565b5f805f805f805f805f805f6103808c8e031215610466575f80fd5b61046f8c61018c565b9a5060208c0135995067ffffffffffffffff8060408e01351115610491575f80fd5b6104a18e60408f01358f016101da565b99506104af60608e0161018c565b98506104be8e60808f016102c7565b9750806102c08e013511156104d1575f80fd5b6104e28e6102c08f01358f016101da565b96506102e08d013595506103008d013594506103208d01359350806103408e0135111561050d575f80fd5b5061051f8d6103408e01358e016103ba565b91506103608c013590509295989b509295989b9093969950565b5f805f805f805f805f6103408a8c031215610552575f80fd5b893561055d81610175565b985060208a0135975060408a013561057481610175565b96506105838b60608c016102c7565b95506102a08a013567ffffffffffffffff81111561059f575f80fd5b6105ab8c828d016101da565b999c989b5096999598976102c087013597506102e08701359661030081013596506103200135945092505050565b5f81518084525f5b818110156105fd576020818501810151868301820152016105e1565b505f602082860101526020601f19601f83011685010191505092915050565b80516001600160a01b03168252602081015161064360208401826001600160a01b03169052565b50604081015161065e60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201516106c4828501826001600160a01b03169052565b5050610160818101516001600160a01b0390811691840191909152610180808301518216908401526101a080830151909116908301526101c09081015180519183019190915260208101516101e083015260408101516102008301526060015161022090910152565b8a81526001600160a01b038a81166020830152610360604083018190525f916107588483018d6105d9565b9150610767606085018c61061c565b8382036102a085015261077a828b6105d9565b9150886102c0850152876102e085015286610300850152838203610320850152808651168252506020850151151560208201526040850151606060408301526107c660608301826105d9565b92505050826103408301529b9a5050505050505050505050565b5f602082840312156107f0575f80fd5b81516107fb81610175565b9392505050565b8881526001600160a01b03881660208201525f610320610825604084018a61061c565b80610280840152610838818401896105d9565b915050856102a0830152846102c0830152836102e083015282610300830152999850505050505050505056fea2646970667358221220ca9a91b70e77f5739668d14b7df089956c09daaee911ca1196963d5e9a4afa0e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployAndInitialize(address,bytes32,string,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)": "606b5563", + "deployTarget(address,bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)": "73c871b3" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/PercentageMath.ts b/packages/hyperdrive-artifacts/src/PercentageMath.ts new file mode 100644 index 000000000..6ba550974 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/PercentageMath.ts @@ -0,0 +1,6 @@ +export const PercentageMath = { + name: 'PercentageMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e884d10a40db003cd248bac8dede05200cc4e7da0d339456a392543bea54e2b564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Pool.ts b/packages/hyperdrive-artifacts/src/Pool.ts new file mode 100644 index 000000000..2f10c616b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Pool.ts @@ -0,0 +1,2123 @@ +export const Pool = { + name: 'Pool' as const, + abi: [ + { + "type": "function", + "name": "ADDRESSES_PROVIDER", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "BRIDGE_PROTOCOL_FEE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TOTAL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_NUMBER_RESERVES", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "backUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "borrow", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "configureEModeCategory", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "category", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dropReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeTransfer", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceFromBefore", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "balanceToBefore", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRateModes", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "flashLoanSimple", + "inputs": [ + { + "name": "receiverAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "params", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getBridgeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeCategoryData", + "inputs": [ + { + "name": "id", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.EModeCategory", + "components": [ + { + "name": "ltv", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationThreshold", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationBonus", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "priceSource", + "type": "address", + "internalType": "address" + }, + { + "name": "label", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEModeLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getFlashLoanLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint40", + "internalType": "uint40" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getLiquidationLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getPoolLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getReserveAddressById", + "inputs": [ + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveData", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveDataLegacy", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveDataExtended", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.ReserveData", + "components": [ + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "liquidityIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentLiquidityRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "variableBorrowIndex", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentVariableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "currentStableBorrowRate", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastUpdateTimestamp", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "id", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "liquidationGracePeriodUntil", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "accruedToTreasury", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "unbacked", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isolationModeTotalDebt", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "virtualUnderlyingBalance", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedIncome", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReserveNormalizedVariableDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesCount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getReservesList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSupplyLogic", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getUserAccountData", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "totalCollateralBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "totalDebtBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "availableBorrowsBase", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "currentLiquidationThreshold", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "ltv", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "healthFactor", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserConfiguration", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct DataTypes.UserConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUserEMode", + "inputs": [ + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVirtualUnderlyingBalance", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initReserve", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "aTokenAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "stableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "variableDebtAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "internalType": "contract IPoolAddressesProvider" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "liquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "receiveAToken", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintToTreasury", + "inputs": [ + { + "name": "assets", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mintUnbacked", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rebalanceStableBorrowRate", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repay", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithATokens", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rescueTokens", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resetIsolationModeTotalDebt", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setConfiguration", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "configuration", + "type": "tuple", + "internalType": "struct DataTypes.ReserveConfigurationMap", + "components": [ + { + "name": "data", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setLiquidationGracePeriod", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "until", + "type": "uint40", + "internalType": "uint40" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setReserveInterestRateStrategyAddress", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "rateStrategyAddress", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserEMode", + "inputs": [ + { + "name": "categoryId", + "type": "uint8", + "internalType": "uint8" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUserUseReserveAsCollateral", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "useAsCollateral", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supply", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supplyWithPermit", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "onBehalfOf", + "type": "address", + "internalType": "address" + }, + { + "name": "referralCode", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "permitV", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "permitR", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitS", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapBorrowRateMode", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapToVariable", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncIndexesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "syncRatesState", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateBridgeProtocolFee", + "inputs": [ + { + "name": "protocolFee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateFlashloanPremiums", + "inputs": [ + { + "name": "flashLoanPremiumTotal", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "flashLoanPremiumToProtocol", + "type": "uint128", + "internalType": "uint128" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { + "name": "asset", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BackUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "backer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Borrow", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "borrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FlashLoan", + "inputs": [ + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "initiator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + }, + { + "name": "premium", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LiquidationCall", + "inputs": [ + { + "name": "collateralAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtAsset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debtToCover", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidatedCollateralAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidator", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "receiveAToken", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintUnbacked", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RebalanceStableBorrowRate", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Repay", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "repayer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "useATokens", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "SwapBorrowRateMode", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "interestRateMode", + "type": "uint8", + "indexed": false, + "internalType": "enum DataTypes.InterestRateMode" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UserEModeSet", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "categoryId", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "ADDRESSES_PROVIDER()": "0542975c", + "BRIDGE_PROTOCOL_FEE()": "272d9072", + "FLASHLOAN_PREMIUM_TOTAL()": "074b2e43", + "FLASHLOAN_PREMIUM_TO_PROTOCOL()": "6a99c036", + "MAX_NUMBER_RESERVES()": "f8119d51", + "MAX_STABLE_RATE_BORROW_SIZE_PERCENT()": "e82fec2f", + "backUnbacked(address,uint256,uint256)": "d65dc7a1", + "borrow(address,uint256,uint256,uint16,address)": "a415bcad", + "configureEModeCategory(uint8,(uint16,uint16,uint16,address,string))": "d579ea7d", + "deposit(address,uint256,address,uint16)": "e8eda9df", + "dropReserve(address)": "63c9b860", + "finalizeTransfer(address,address,address,uint256,uint256,uint256)": "d5ed3933", + "flashLoan(address,address[],uint256[],uint256[],address,bytes,uint16)": "ab9c4b5d", + "flashLoanSimple(address,address,uint256,bytes,uint16)": "42b0b77c", + "getBorrowLogic()": "2be29fa7", + "getBridgeLogic()": "df374c36", + "getConfiguration(address)": "c44b11f7", + "getEModeCategoryData(uint8)": "6c6f6ae1", + "getEModeLogic()": "f32b9a73", + "getFlashLoanLogic()": "348fde0f", + "getLiquidationGracePeriod(address)": "5c9a8b18", + "getLiquidationLogic()": "911a3413", + "getPoolLogic()": "d3350155", + "getReserveAddressById(uint16)": "52751797", + "getReserveData(address)": "35ea6a75", + "getReserveDataExtended(address)": "8381995f", + "getReserveNormalizedIncome(address)": "d15e0053", + "getReserveNormalizedVariableDebt(address)": "386497fd", + "getReservesCount()": "72218d04", + "getReservesList()": "d1946dbc", + "getSupplyLogic()": "870e7744", + "getUserAccountData(address)": "bf92857c", + "getUserConfiguration(address)": "4417a583", + "getUserEMode(address)": "eddf1b79", + "getVirtualUnderlyingBalance(address)": "6fb07f96", + "initReserve(address,address,address,address,address)": "7a708e92", + "initialize(address)": "c4d66de8", + "liquidationCall(address,address,address,uint256,bool)": "00a718a9", + "mintToTreasury(address[])": "9cd19996", + "mintUnbacked(address,uint256,address,uint16)": "69a933a5", + "rebalanceStableBorrowRate(address,address)": "cd112382", + "repay(address,uint256,uint256,address)": "573ade81", + "repayWithATokens(address,uint256,uint256)": "2dad97d4", + "repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32)": "ee3e210b", + "rescueTokens(address,address,uint256)": "cea9d26f", + "resetIsolationModeTotalDebt(address)": "e43e88a1", + "setConfiguration(address,(uint256))": "f51e435b", + "setLiquidationGracePeriod(address,uint40)": "b1a99e26", + "setReserveInterestRateStrategyAddress(address,address)": "1d2118f9", + "setUserEMode(uint8)": "28530a47", + "setUserUseReserveAsCollateral(address,bool)": "5a3b74b9", + "supply(address,uint256,address,uint16)": "617ba037", + "supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32)": "02c205f0", + "swapBorrowRateMode(address,uint256)": "94ba89a2", + "swapToVariable(address,address)": "2520d5ee", + "syncIndexesState(address)": "ab2b51f6", + "syncRatesState(address)": "98c7da4e", + "updateBridgeProtocolFee(uint256)": "3036b439", + "updateFlashloanPremiums(uint128,uint128)": "bcb6e522", + "withdraw(address,uint256,address)": "69328dec" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/PoolLogic.ts b/packages/hyperdrive-artifacts/src/PoolLogic.ts new file mode 100644 index 000000000..4531312d7 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/PoolLogic.ts @@ -0,0 +1,53 @@ +export const PoolLogic = { + name: 'PoolLogic' as const, + abi: [ + { + "type": "event", + "name": "IsolationModeTotalDebtUpdated", + "inputs": [ + { + "name": "asset", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "totalDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MintedToTreasury", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountMinted", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x611c52610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c806369fc1bdf1161006357806369fc1bdf1461010e5780636ae438131461013d57806387b322b21461019a5780639cf57023146101b9575f80fd5b80631e3b41451461008957806326ec273f146100aa57806348c2ca8c146100ef575b5f80fd5b818015610094575f80fd5b506100a86100a33660046117a3565b6101d8565b005b6100bd6100b8366004611860565b6102a7565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0015b60405180910390f35b8180156100fa575f80fd5b506100a8610109366004611915565b6102e1565b818015610119575f80fd5b5061012d61012836600461199e565b610452565b60405190151581526020016100e6565b818015610148575f80fd5b506100a8610157366004611a57565b6001600160a01b039091165f9081526020929092526040909120600301805464ffffffffff909216600160b81b0264ffffffffff60b81b19909216919091179055565b8180156101a5575f80fd5b506100a86101b4366004611a9d565b6106b1565b8180156101c4575f80fd5b506100a86101d3366004611ad6565b6106ca565b6001600160a01b0381165f9081526020838152604091829020825191820190925290549081905260d41c64ffffffffff16604080518082019091526002815261383160f01b6020820152901561024a5760405162461bcd60e51b81526004016102419190611b08565b60405180910390fd5b506001600160a01b0381165f8181526020848152604080832060090180546001600160801b0319169055519182527faef84d3b40895fd58c561f3998000f0583abb992a52fbdc99ace8e8de4d676a5910160405180910390a25050565b5f805f805f806102b98a8a8a8a61078c565b50939950919750909450925090506102d2868684610c4e565b93509499939850945094509450565b5f5b8181101561044c575f8383838181106102fe576102fe611b54565b90506020020160208101906103139190611b68565b6001600160a01b0381165f908152602087815260409182902082519182019092528154908190529192509067010000000000000016610353575050610444565b60088101546001600160801b03168015610440576008820180546001600160801b03191690555f61038383610c80565b90505f6103908383610ce2565b600480860154604051637df5bd3b60e01b81529293506001600160a01b031691637df5bd3b916103cd918591879101918252602082015260400190565b5f604051808303815f87803b1580156103e4575f80fd5b505af11580156103f6573d5f803e3d5ffd5b50505050846001600160a01b03167fbfa21aa5d5f9a1f0120a95e7c0749f389863cbdbfff531aa7339077a5bc919de8260405161043591815260200190565b60405180910390a250505b5050505b6001016102e3565b50505050565b80516040805180820190915260018152603960f81b60208201525f913b61048c5760405162461bcd60e51b81526004016102419190611b08565b506020808301516040808501516060860151608087015187516001600160a01b03165f908152958a9052929094206104c694909392610d24565b81516001600160a01b03165f90815260208590526040812060030154600160a81b900461ffff16151580610514575082515f808052602086905260409020546001600160a01b039081169116145b90508015604051806040016040528060028152602001610c4d60f21b815250906105515760405162461bcd60e51b81526004016102419190611b08565b505f5b8360a0015161ffff168161ffff1610156105f45761ffff81165f908152602086905260409020546001600160a01b03166105ec5783516001600160a01b039081165f90815260208881526040808320600301805461ffff60a81b1916600160a81b61ffff97909716968702179055875194835290889052812080546001600160a01b0319169390921692909217905591506106aa9050565b600101610554565b508260c0015161ffff168360a0015161ffff161060405180604001604052806002815260200161313560f01b815250906106415760405162461bcd60e51b81526004016102419190611b08565b50505060a08101805182516001600160a01b039081165f90815260208781526040808320600301805461ffff60a81b1916600160a81b61ffff978816021790558651955190941682528690529190912080546001600160a01b0319169290911691909117905560015b9392505050565b6106c56001600160a01b0384168383610df8565b505050565b6001600160a01b0381165f9081526020849052604090206106ec838284610e80565b506001600160a01b03165f81815260208481526040808320600381018054600160a81b900461ffff16855295835290832080546001600160a01b0319908116909155938352949052808455600184018190556002840181905582546001600160e01b031916909255600483018054821690556005830180548216905560068301805482169055600783018054909116905560088201819055600990910155565b5f805f805f8061079e875f0151511590565b156107ba57505f94508493508392508291505f19905081610c41565b6108496040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff161561088d57608088015160ff165f90815260208a905260409020606089015161087a919061114a565b6101808401526101c08301526101a08201525b87602001518160c001511015610b665760c081015188516108ad916111f3565b6108c15760c081018051600101905261088d565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526108f95760c081018051600101905261088d565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906109815750816101e00151896080015160ff16145b6109fd57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa1580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f89190611b81565b610a04565b8161018001515b825260a082015115801590610a24575060c08201518951610a2491611245565b15610b1357610a40896040015182845f01518560200151611293565b6040830181905261010083018051610a59908390611bac565b90525060808901516101e0830151610a749160ff1690611342565b1515610240830152608082015115610aca57816102400151610a9a578160800151610aa1565b816101a001515b8260400151610ab09190611bbf565b8261014001818151610ac29190611bac565b905250610ad3565b60016102208301525b816102400151610ae7578160a00151610aee565b816101c001515b8260400151610afd9190611bbf565b8261016001818151610b0f9190611bac565b9052505b60c08201518951610b2391611352565b15610b5557610b3f896040015182845f0151856020015161139e565b8261012001818151610b519190611bac565b9052505b5060c081018051600101905261088d565b8061010001515f03610b78575f610b93565b80610100015181610140015181610b9157610b91611bd6565b045b6101408201526101008101515f03610bab575f610bc6565b80610100015181610160015181610bc457610bc4611bd6565b045b61016082015261012081015115610c0857610c03816101200151610bfd8361016001518461010001516114cd90919063ffffffff16565b906114f1565b610c0b565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b5f80610c5a85846114cd565b905083811015610c6d575f9150506106aa565b610c778482611bea565b95945050505050565b60038101545f90600160801b900464ffffffffff16428103610cae575050600101546001600160801b031690565b60018301546106aa906001600160801b0380821691610cd691600160801b9091041684611526565b90610ce2565b50919050565b5f81156b019d971e4fe8401e740000001983900484111517610d02575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b6004850154604080518082019091526002815261363160f01b6020820152906001600160a01b031615610d6a5760405162461bcd60e51b81526004016102419190611b08565b506001850180546b033b2e3c9fd0803ce80000006001600160801b0319918216811790925560028701805490911690911790556004850180546001600160a01b03199081166001600160a01b03968716179091556005860180548216948616949094179093556006850180548416928516929092179091556007909301805490911692909116919091179055565b60405163a9059cbb60e01b8082526001600160a01b038416600483015260248201839052905f8060448382895af1610e32573d5f803e3d5ffd5b50610e3c8461156a565b61044c5760405162461bcd60e51b815260206004820152601560248201527423a83b191d103330b4b632b2103a3930b739b332b960591b6044820152606401610241565b604080518082019091526002815261373760f01b60208201526001600160a01b038216610ec05760405162461bcd60e51b81526004016102419190611b08565b506003820154600160a81b900461ffff16151580610ef657505f808052602084905260409020546001600160a01b038281169116145b604051806040016040528060028152602001611c1960f11b81525090610f2f5760405162461bcd60e51b81526004016102419190611b08565b50816005015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa69190611b81565b604080518082019091526002815261353560f01b60208201529015610fde5760405162461bcd60e51b81526004016102419190611b08565b50816006015f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611031573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110559190611b81565b6040805180820190915260028152611a9b60f11b6020820152901561108d5760405162461bcd60e51b81526004016102419190611b08565b50600480830154604080516318160ddd60e01b815290516001600160a01b03909216926318160ddd9282820192602092908290030181865afa1580156110d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f99190611b81565b158015611111575060088201546001600160801b0316155b604051806040016040528060028152602001610d4d60f21b8152509061044c5760405162461bcd60e51b81526004016102419190611b08565b81545f90819081908190660100000000000090046001600160a01b031680156111d85760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa1580156111b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d59190611b81565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f906080831061122f5760405162461bcd60e51b81526004016102419190611b08565b50508151600182901b1c60031615155b92915050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106112815760405162461bcd60e51b81526004016102419190611b08565b50509051600191821b82011c16151590565b5f8061129e85610c80565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f92879261131b928692911690631da24f3e90602401602060405180830381865afa1580156112f7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd69190611b81565b6113259190611bbf565b905083818161133657611336611bd6565b04979650505050505050565b5f82158015906106aa5750501490565b6040805180820190915260028152610dcd60f21b60208201525f906080831061138e5760405162461bcd60e51b81526004016102419190611b08565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa1580156113eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140f9190611b81565b9050801561142d5761142a6114238661160b565b8290610ce2565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa158015611477573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149b9190611b81565b6114a59082611bac565b90506114b18185611bbf565b90508281816114c2576114c2611bd6565b049695505050505050565b5f811561138819839004841115176114e3575f80fd5b506127109102611388010490565b5f8115670de0b6b3a76400006002840419048411171561150f575f80fd5b50670de0b6b3a76400009190910260028204010490565b5f8061153964ffffffffff841642611bea565b6115439085611bbf565b6301e1338090049050611562816b033b2e3c9fd0803ce8000000611bac565b949350505050565b5f61158c565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d80156115cb57602081146115fc576115c67f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611570565b610cdc565b823b6115f3576115f37311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611570565b60019150610cdc565b3d5f803e50505f511515919050565b60038101545f90600160801b900464ffffffffff16428103611639575050600201546001600160801b031690565b60028301546106aa906001600160801b0380821691610cd691600160801b90910416845f6106aa8383425f8061167664ffffffffff851684611bea565b9050805f03611694576b033b2e3c9fd0803ce80000009150506106aa565b5f1981015f8080600285116116a9575f6116ae565b600285035b925066038882915c40006116c28a80610ce2565b816116cf576116cf611bd6565b0491506301e133806116e1838b610ce2565b816116ee576116ee611bd6565b0490505f826116fd8688611bbf565b6117079190611bbf565b6002900490505f828561171a888a611bbf565b6117249190611bbf565b61172e9190611bbf565b60069004905080826301e133806117458a8f611bbf565b61174f9190611bfd565b611765906b033b2e3c9fd0803ce8000000611bac565b61176f9190611bac565b6117799190611bac565b9b9a5050505050505050505050565b80356001600160a01b038116811461179e575f80fd5b919050565b5f80604083850312156117b4575f80fd5b823591506117c460208401611788565b90509250929050565b60405160a0810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b60405290565b6040516020810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff811182821017156117fc57634e487b7160e01b5f52604160045260245ffd5b5f805f80848603610100811215611875575f80fd5b853594506020860135935060408601359250605f190160a0811215611898575f80fd5b6118a06117cd565b60208212156118ad575f80fd5b6118b5611802565b915060608701358252818152608087013560208201526118d760a08801611788565b60408201526118e860c08801611788565b606082015260e0870135915060ff82168214611902575f80fd5b6080810191909152939692955090935050565b5f805f60408486031215611927575f80fd5b83359250602084013567ffffffffffffffff80821115611945575f80fd5b818601915086601f830112611958575f80fd5b813581811115611966575f80fd5b8760208260051b850101111561197a575f80fd5b6020830194508093505050509250925092565b803561ffff8116811461179e575f80fd5b5f805f8385036101208112156119b2575f80fd5b843593506020850135925060e0603f19820112156119ce575f80fd5b506119d7611831565b6119e360408601611788565b81526119f160608601611788565b6020820152611a0260808601611788565b6040820152611a1360a08601611788565b6060820152611a2460c08601611788565b6080820152611a3560e0860161198d565b60a0820152611a47610100860161198d565b60c0820152809150509250925092565b5f805f60608486031215611a69575f80fd5b83359250611a7960208501611788565b9150604084013564ffffffffff81168114611a92575f80fd5b809150509250925092565b5f805f60608486031215611aaf575f80fd5b611ab884611788565b9250611ac660208501611788565b9150604084013590509250925092565b5f805f60608486031215611ae8575f80fd5b8335925060208401359150611aff60408501611788565b90509250925092565b5f602080835283518060208501525f5b81811015611b3457858101830151858201604001528201611b18565b505f604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b78575f80fd5b6106aa82611788565b5f60208284031215611b91575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561123f5761123f611b98565b808202811582820484141761123f5761123f611b98565b634e487b7160e01b5f52601260045260245ffd5b8181038181111561123f5761123f611b98565b5f82611c1757634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220da97a534552f600eb99730163caf62c84abbc8f1a6ade8dbfd20361e6a88732064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "executeDropReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,address)": "9cf57023", + "executeGetUserAccountData(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.CalculateUserAccountDataParams)": "26ec273f", + "executeInitReserve(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.InitReserveParams)": "69fc1bdf", + "executeMintToTreasury(mapping(address => DataTypes.ReserveData) storage,address[])": "48c2ca8c", + "executeRescueTokens(address,address,uint256)": "87b322b2", + "executeResetIsolationModeTotalDebt(mapping(address => DataTypes.ReserveData) storage,address)": "1e3b4145", + "executeSetLiquidationGracePeriod(mapping(address => DataTypes.ReserveData) storage,address,uint40)": "6ae43813" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/PoolStorage.ts b/packages/hyperdrive-artifacts/src/PoolStorage.ts new file mode 100644 index 000000000..50db7e28b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/PoolStorage.ts @@ -0,0 +1,6 @@ +export const PoolStorage = { + name: 'PoolStorage' as const, + abi: [] as const, + bytecode: '0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea26469706673582212205d2cec9f978061dc89a9af418a81db81441933b7ce0f6d7491f8c6227ff9fd4764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHBase.ts b/packages/hyperdrive-artifacts/src/RETHBase.ts new file mode 100644 index 000000000..41f80f1e8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHBase.ts @@ -0,0 +1,666 @@ +export const RETHBase = { + name: 'RETHBase' as const, + abi: [ + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHConversions.ts b/packages/hyperdrive-artifacts/src/RETHConversions.ts new file mode 100644 index 000000000..70562586c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHConversions.ts @@ -0,0 +1,6 @@ +export const RETHConversions = { + name: 'RETHConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f82ad7598291ee5d6c427f37de0529ffa10740d981dda43515b9c45d6afadb6a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/RETHHyperdrive.ts new file mode 100644 index 000000000..665bd3ded --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHHyperdrive.ts @@ -0,0 +1,1675 @@ +export const RETHHyperdrive = { + name: 'RETHHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620017763803806200177683398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611093620006e35f395f81816106250152818161068f015261078601525f81816105a0015281816107b5015261081201525f818161055a01526109a801525f81816105f2015261072401525f818161021e015281816103d401528181610660015281816106c1015281816106f301528181610757015281816107e8015281816108420152818161097701526109db01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f6101ca01525f50506110935ff3fe6080604052600436106101ba575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc146105c2578063eac3e799146105e1578063f3f7070714610614578063f698da25146106475761020a565b8063d899e1121461058f578063dbbe80701461057c578063ded062311461040e5761020a565b8063a6e8a859116100c5578063a6e8a85914610549578063ab033ea914610313578063cba2e58d1461057c578063cbc134341461034c5761020a565b80639032c7261461050b5780639cd241af1461052a578063a22cb465146104d95761020a565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d9146104ac5780634ed2d6ac146104bf5780637180c8ca146104d957806377d05ff4146104f85761020a565b806330adf81f1461043b5780633e691db91461046e578063414f826d1461048d5761020a565b806317fad7fc1161019457806317fad7fc146103855780631c0f12b6146103a457806321b57d53146103c357806329b23fc11461040e5761020a565b806301681a621461031357806302329a2914610332578063074a6de91461034c5761020a565b3661020a57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610208576040516312171d8360e31b815260040160405180910390fd5b005b348015610215575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610256929190610aaf565b5f60405180830381855af49150503d805f811461028e576040519150601f19603f3d011682016040523d82523d5f602084013e610293565b606091505b509150915081156102b757604051638bb0a34b60e01b815260040160405180910390fd5b5f6102c182610abe565b90506001600160e01b03198116636e64089360e11b146102e357815160208301fd5b81516003198101600484019081529261030491810160200190602401610b2b565b80519650602001945050505050f35b34801561031e575f80fd5b5061020861032d366004610bea565b61065b565b34801561033d575f80fd5b5061020861032d366004610c20565b348015610357575f80fd5b5061036b610366366004610c49565b610688565b604080519283526020830191909152015b60405180910390f35b348015610390575f80fd5b5061020861039f366004610cdd565b6106bc565b3480156103af575f80fd5b506102086103be366004610d6c565b6106ee565b3480156103ce575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161037c565b348015610419575f80fd5b5061042d610428366004610db1565b61071e565b60405190815260200161037c565b348015610446575f80fd5b5061042d7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610479575f80fd5b5061042d610488366004610e07565b610751565b348015610498575f80fd5b506102086104a7366004610e41565b610781565b61042d6104ba366004610e61565b6107af565b3480156104ca575f80fd5b506102086103be366004610ec0565b3480156104e4575f80fd5b506102086104f3366004610f07565b6107e3565b61042d610506366004610c49565b61080c565b348015610516575f80fd5b50610208610525366004610f3a565b61083e565b348015610535575f80fd5b50610208610544366004610fb2565b610972565b348015610554575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b61036b61058a366004610db1565b6109a1565b34801561059a575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506102086105dc366004610fe7565b6109d6565b3480156105ec575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b348015610652575f80fd5b5061042d610a07565b6106847f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050565b5f806106b37f0000000000000000000000000000000000000000000000000000000000000000610a95565b50935093915050565b6106e57f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050505050565b6107177f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050505050565b5f6107487f0000000000000000000000000000000000000000000000000000000000000000610a95565b50949350505050565b5f61077b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50919050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050565b5f6107d97f0000000000000000000000000000000000000000000000000000000000000000610a95565b5095945050505050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5f6108367f0000000000000000000000000000000000000000000000000000000000000000610a95565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610872610a07565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161091b9190611042565b5f60405180830381855af49150503d805f8114610953576040519150601f19603f3d011682016040523d82523d5f602084013e610958565b606091505b50915091508161096a57805160208201fd5b805160208201f35b61099b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050565b5f806109cc7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5094509492505050565b6109ff7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161091b9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610aed5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b23578181015183820152602001610b0b565b50505f910152565b5f60208284031215610b3b575f80fd5b815167ffffffffffffffff80821115610b52575f80fd5b818401915084601f830112610b65575f80fd5b815181811115610b7757610b77610af5565b604051601f8201601f19908116603f01168101908382118183101715610b9f57610b9f610af5565b81604052828152876020848701011115610bb7575f80fd5b610bc8836020830160208801610b09565b979650505050505050565b6001600160a01b0381168114610be7575f80fd5b50565b5f60208284031215610bfa575f80fd5b8135610c0581610bd3565b9392505050565b80358015158114610c1b575f80fd5b919050565b5f60208284031215610c30575f80fd5b610c0582610c0c565b5f6060828403121561077b575f80fd5b5f805f60608486031215610c5b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c7f575f80fd5b610c8b86828701610c39565b9150509250925092565b5f8083601f840112610ca5575f80fd5b50813567ffffffffffffffff811115610cbc575f80fd5b6020830191508360208260051b8501011115610cd6575f80fd5b9250929050565b5f805f805f8060808789031215610cf2575f80fd5b8635610cfd81610bd3565b95506020870135610d0d81610bd3565b9450604087013567ffffffffffffffff80821115610d29575f80fd5b610d358a838b01610c95565b90965094506060890135915080821115610d4d575f80fd5b50610d5a89828a01610c95565b979a9699509497509295939492505050565b5f805f8060808587031215610d7f575f80fd5b843593506020850135610d9181610bd3565b92506040850135610da181610bd3565b9396929550929360600135925050565b5f805f8060808587031215610dc4575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610def575f80fd5b610dfb87828801610c39565b91505092959194509250565b5f60208284031215610e17575f80fd5b813567ffffffffffffffff811115610e2d575f80fd5b610e3984828501610c39565b949350505050565b5f8060408385031215610e52575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e75575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ea7575f80fd5b610eb388828901610c39565b9150509295509295909350565b5f805f8060808587031215610ed3575f80fd5b843593506020850135610ee581610bd3565b9250604085013591506060850135610efc81610bd3565b939692955090935050565b5f8060408385031215610f18575f80fd5b8235610f2381610bd3565b9150610f3160208401610c0c565b90509250929050565b5f805f805f805f60e0888a031215610f50575f80fd5b8735610f5b81610bd3565b96506020880135610f6b81610bd3565b9550610f7960408901610c0c565b945060608801359350608088013560ff81168114610f95575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fc4575f80fd5b833592506020840135610fd681610bd3565b929592945050506040919091013590565b5f805f805f60a08688031215610ffb575f80fd5b85359450602086013561100d81610bd3565b9350604086013561101d81610bd3565b925060608601359150608086013561103481610bd3565b809150509295509295909350565b5f8251611053818460208701610b09565b919091019291505056fea2646970667358221220a5dab6235340bb3a7807a8f7bea5be6cd7c396c95685fe5b43fef9d6a0c09fdd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/RETHHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..0084fd214 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const RETHHyperdriveCoreDeployer = { + name: 'RETHHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50611dca8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035e565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f908190606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b604051620000a690620000e8565b620000b998979695949392919062000576565b8190604051809103905ff5905080158015620000d7573d5f803e3d5ffd5b509c9b505050505050505050505050565b611776806200061f83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff81118282101715620001315762000131620000f6565b60405290565b5f82601f83011262000147575f80fd5b813567ffffffffffffffff80821115620001655762000165620000f6565b604051601f8301601f19908116603f01168101908282118183101715620001905762000190620000f6565b81604052838152866020858801011115620001a9575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001df575f80fd5b919050565b5f60808284031215620001f5575f80fd5b6040516080810181811067ffffffffffffffff821117156200021b576200021b620000f6565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025e575f80fd5b620002686200010a565b90506200027582620001c8565b81526200028560208301620001c8565b60208201526200029860408301620001c8565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000303818401620001c8565b9082015261018062000317838201620001c8565b908201526101a06200032b838201620001c8565b908201526101c06200033f838201620001c8565b908201526101e06200035484848301620001e4565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000379575f80fd5b8a3567ffffffffffffffff8082111562000391575f80fd5b6200039f8e838f0162000137565b9b50620003b08e60208f016200024c565b9a50620003c16102808e01620001c8565b99506102a08d0135915080821115620003d8575f80fd5b50620003e78d828e0162000137565b975050620003f96102c08c01620001c8565b95506200040a6102e08c01620001c8565b94506200041b6103008c01620001c8565b93506200042c6103208c01620001c8565b92506200043d6103408c01620001c8565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047e60208401826001600160a01b03169052565b5060408101516200049a60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050d828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005ac576020828d010151610360838601015260208201915062000588565b61036091505f82828601015281601f19601f83011685010192505050620005d7602083018a62000456565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017763803806200177683398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611093620006e35f395f81816106250152818161068f015261078601525f81816105a0015281816107b5015261081201525f818161055a01526109a801525f81816105f2015261072401525f818161021e015281816103d401528181610660015281816106c1015281816106f301528181610757015281816107e8015281816108420152818161097701526109db01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f6101ca01525f50506110935ff3fe6080604052600436106101ba575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc146105c2578063eac3e799146105e1578063f3f7070714610614578063f698da25146106475761020a565b8063d899e1121461058f578063dbbe80701461057c578063ded062311461040e5761020a565b8063a6e8a859116100c5578063a6e8a85914610549578063ab033ea914610313578063cba2e58d1461057c578063cbc134341461034c5761020a565b80639032c7261461050b5780639cd241af1461052a578063a22cb465146104d95761020a565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d9146104ac5780634ed2d6ac146104bf5780637180c8ca146104d957806377d05ff4146104f85761020a565b806330adf81f1461043b5780633e691db91461046e578063414f826d1461048d5761020a565b806317fad7fc1161019457806317fad7fc146103855780631c0f12b6146103a457806321b57d53146103c357806329b23fc11461040e5761020a565b806301681a621461031357806302329a2914610332578063074a6de91461034c5761020a565b3661020a57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610208576040516312171d8360e31b815260040160405180910390fd5b005b348015610215575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610256929190610aaf565b5f60405180830381855af49150503d805f811461028e576040519150601f19603f3d011682016040523d82523d5f602084013e610293565b606091505b509150915081156102b757604051638bb0a34b60e01b815260040160405180910390fd5b5f6102c182610abe565b90506001600160e01b03198116636e64089360e11b146102e357815160208301fd5b81516003198101600484019081529261030491810160200190602401610b2b565b80519650602001945050505050f35b34801561031e575f80fd5b5061020861032d366004610bea565b61065b565b34801561033d575f80fd5b5061020861032d366004610c20565b348015610357575f80fd5b5061036b610366366004610c49565b610688565b604080519283526020830191909152015b60405180910390f35b348015610390575f80fd5b5061020861039f366004610cdd565b6106bc565b3480156103af575f80fd5b506102086103be366004610d6c565b6106ee565b3480156103ce575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161037c565b348015610419575f80fd5b5061042d610428366004610db1565b61071e565b60405190815260200161037c565b348015610446575f80fd5b5061042d7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610479575f80fd5b5061042d610488366004610e07565b610751565b348015610498575f80fd5b506102086104a7366004610e41565b610781565b61042d6104ba366004610e61565b6107af565b3480156104ca575f80fd5b506102086103be366004610ec0565b3480156104e4575f80fd5b506102086104f3366004610f07565b6107e3565b61042d610506366004610c49565b61080c565b348015610516575f80fd5b50610208610525366004610f3a565b61083e565b348015610535575f80fd5b50610208610544366004610fb2565b610972565b348015610554575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b61036b61058a366004610db1565b6109a1565b34801561059a575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506102086105dc366004610fe7565b6109d6565b3480156105ec575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b348015610652575f80fd5b5061042d610a07565b6106847f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050565b5f806106b37f0000000000000000000000000000000000000000000000000000000000000000610a95565b50935093915050565b6106e57f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050505050565b6107177f0000000000000000000000000000000000000000000000000000000000000000610a95565b5050505050565b5f6107487f0000000000000000000000000000000000000000000000000000000000000000610a95565b50949350505050565b5f61077b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50919050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050565b5f6107d97f0000000000000000000000000000000000000000000000000000000000000000610a95565b5095945050505050565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5f6108367f0000000000000000000000000000000000000000000000000000000000000000610a95565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610872610a07565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b1790525161091b9190611042565b5f60405180830381855af49150503d805f8114610953576040519150601f19603f3d011682016040523d82523d5f602084013e610958565b606091505b50915091508161096a57805160208201fd5b805160208201f35b61099b7f0000000000000000000000000000000000000000000000000000000000000000610a95565b50505050565b5f806109cc7f0000000000000000000000000000000000000000000000000000000000000000610a95565b5094509492505050565b6109ff7f0000000000000000000000000000000000000000000000000000000000000000610a95565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f3660405161091b9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610aed5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b23578181015183820152602001610b0b565b50505f910152565b5f60208284031215610b3b575f80fd5b815167ffffffffffffffff80821115610b52575f80fd5b818401915084601f830112610b65575f80fd5b815181811115610b7757610b77610af5565b604051601f8201601f19908116603f01168101908382118183101715610b9f57610b9f610af5565b81604052828152876020848701011115610bb7575f80fd5b610bc8836020830160208801610b09565b979650505050505050565b6001600160a01b0381168114610be7575f80fd5b50565b5f60208284031215610bfa575f80fd5b8135610c0581610bd3565b9392505050565b80358015158114610c1b575f80fd5b919050565b5f60208284031215610c30575f80fd5b610c0582610c0c565b5f6060828403121561077b575f80fd5b5f805f60608486031215610c5b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c7f575f80fd5b610c8b86828701610c39565b9150509250925092565b5f8083601f840112610ca5575f80fd5b50813567ffffffffffffffff811115610cbc575f80fd5b6020830191508360208260051b8501011115610cd6575f80fd5b9250929050565b5f805f805f8060808789031215610cf2575f80fd5b8635610cfd81610bd3565b95506020870135610d0d81610bd3565b9450604087013567ffffffffffffffff80821115610d29575f80fd5b610d358a838b01610c95565b90965094506060890135915080821115610d4d575f80fd5b50610d5a89828a01610c95565b979a9699509497509295939492505050565b5f805f8060808587031215610d7f575f80fd5b843593506020850135610d9181610bd3565b92506040850135610da181610bd3565b9396929550929360600135925050565b5f805f8060808587031215610dc4575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610def575f80fd5b610dfb87828801610c39565b91505092959194509250565b5f60208284031215610e17575f80fd5b813567ffffffffffffffff811115610e2d575f80fd5b610e3984828501610c39565b949350505050565b5f8060408385031215610e52575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e75575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ea7575f80fd5b610eb388828901610c39565b9150509295509295909350565b5f805f8060808587031215610ed3575f80fd5b843593506020850135610ee581610bd3565b9250604085013591506060850135610efc81610bd3565b939692955090935050565b5f8060408385031215610f18575f80fd5b8235610f2381610bd3565b9150610f3160208401610c0c565b90509250929050565b5f805f805f805f60e0888a031215610f50575f80fd5b8735610f5b81610bd3565b96506020880135610f6b81610bd3565b9550610f7960408901610c0c565b945060608801359350608088013560ff81168114610f95575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610fc4575f80fd5b833592506020840135610fd681610bd3565b929592945050506040919091013590565b5f805f805f60a08688031215610ffb575f80fd5b85359450602086013561100d81610bd3565b9350604086013561101d81610bd3565b925060608601359150608086013561103481610bd3565b809150509295509295909350565b5f8251611053818460208701610b09565b919091019291505056fea2646970667358221220a5dab6235340bb3a7807a8f7bea5be6cd7c396c95685fe5b43fef9d6a0c09fdd64736f6c63430008160033a264697066735822122096884f212e90667c88bf5b0579182f56913f972a5baf71c76ca3fcbde68773b964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/RETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..820105011 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,818 @@ +export const RETHHyperdriveDeployerCoordinator = { + name: 'RETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_rocketTokenReth", + "type": "address", + "internalType": "contract IRocketTokenRETH" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b5060405162002863380380620028638339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516124166200044d5f395f818161125001528181611285015261139901525f81816102d70152610d7401525f81816103550152610c4101525f81816103bb0152610b0e01525f818161032201526109db01525f818161038801526107d201525f818161044001526110c301525f818161040d01528181610547015281816106fb0152818161080201528181610a0b01528181610b3e01528181610c7101528181610da401528181610e9701526110f401526124165ff3fe6080604052600436106100fa575f3560e01c8063a085fa3011610092578063c151061811610062578063c1510618146103dd578063c45a0155146103fc578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063a085fa3014610311578063aa8cd6c414610344578063ab71905f14610377578063b6cb1118146103aa575f80fd5b806337404017116100cd578063374040171461017c5780633e5541f11461027857806354fd4d5014610297578063966ecd1c146102c6575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063251f6c421461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611a6c565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611ba1565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061014f610177366004611c5f565b6106d0565b348015610187575f80fd5b5061026b610196366004611c89565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611ca0565b348015610283575f80fd5b5061014f610292366004611c5f565b6106e4565b3480156102a2575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b3480156102d1575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b34801561031c575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b506102f96103f7366004611e74565b6106ef565b348015610407575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561043a575f80fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102f961047c366004611edd565b610e8b565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602181526020016123c06021913981565b5f80546104bc90611f77565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890611f77565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d6111fe565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d28288888761121f565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161060593929190611faf565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190611ffe565b92505f6106538234612015565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6106db83836112b6565b90505b92915050565b5f6106db8383611320565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073957604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108e95780541561076e57604051633be1b34d60e11b815260040160405180910390fd5b610778868661134f565b5f6107838787611447565b90505f876040516020016107979190612034565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107c48a61145e565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161083e929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108739493929190612267565b6020604051808303815f875af115801561088f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b391906122ac565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109155760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109279190612034565b604051602081830303815290604052805190602001201461095b5760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461098557604051631a3272d160e31b815260040160405180910390fd5b61098f878761134f565b5f6109998861145e565b6002840154608082015290506001869003610ad95760058301546001600160a01b0316156109d95760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a40939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a759493929190612267565b6020604051808303815f875af1158015610a91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab591906122ac565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c0c5760068301546001600160a01b031615610b0c5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b73939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ba89493929190612267565b6020604051808303815f875af1158015610bc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be891906122ac565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d3f5760078301546001600160a01b031615610c3f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ca6939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610cdb9493929190612267565b6020604051808303815f875af1158015610cf7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906122ac565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610e725760088301546001600160a01b031615610d725760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610dd9939291906122c7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e0e9493929190612267565b6020604051808303815f875af1158015610e2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4e91906122ac565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed557604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f7d57604051632c95caeb60e01b815260040160405180910390fd5b8051610f9c5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610fc1575060a08101516001600160a01b0316155b80610fd7575060c08101516001600160a01b0316155b80610fed575060e08101516001600160a01b0316155b8061100457506101008101516001600160a01b0316155b156110225760405163e97cc2bf60e01b815260040160405180910390fd5b8051604051611035908790602001612034565b60405160208183030381529060405280519060200120146110695760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461109457604051631a3272d160e31b815260040160405180910390fd5b61109e858561134f565b5f6110a88661145e565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d60405160200161114a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111859a999897969594939291906122e8565b6020604051808303815f875af11580156111a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c591906122ac565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b341561121d57604051631574f9f360e01b815260040160405180910390fd5b565b5f8160200151156112435760405163350b944160e11b815260040160405180910390fd5b6112786001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685308661152c565b6112ac6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168685611599565b505f949350505050565b604051638b32fa2360e01b8152600481018290525f906001600160a01b03841690638b32fa23906024015b602060405180830381865afa1580156112fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190611ffe565b6040516321a3781f60e11b8152600481018290525f906001600160a01b03841690634346f03e906024016112e1565b6113598282611628565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461139757604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146113ed5760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611418576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611443576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6106db8360200151670de0b6b3a76400006106d0565b61146661194b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526115939186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061173c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115ea84826117a7565b611593576040516001600160a01b0384811660248301525f604483015261161e91869182169063095ea7b390606401611561565b611593848261173c565b6103e88260800151101561164f576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361167457604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061169e57508161010001518260e0015161169b919061236a565b15155b156116bc5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116e85750670de0b6b3a7640000826101c0015160200151115b806117035750670de0b6b3a7640000826101c0015160400151115b8061171e5750670de0b6b3a7640000826101c0015160600151115b15611443576040516322f72cc360e11b815260040160405180910390fd5b5f6117506001600160a01b03841683611844565b905080515f141580156117745750808060200190518101906117729190612389565b155b156117a257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516117c291906123a4565b5f604051808303815f865af19150503d805f81146117fb576040519150601f19603f3d011682016040523d82523d5f602084013e611800565b606091505b509150915081801561182a57508051158061182a57508080602001905181019061182a9190612389565b80156106c75750505050506001600160a01b03163b151590565b60606106db83835f845f80856001600160a01b0316848660405161186891906123a4565b5f6040518083038185875af1925050503d805f81146118a2576040519150601f19603f3d011682016040523d82523d5f602084013e6118a7565b606091505b50915091506118b78683836118c3565b925050505b9392505050565b6060826118d8576118d38261191f565b6118bc565b81511580156118ef57506001600160a01b0384163b155b1561191857604051639996b31560e01b81526001600160a01b0385166004820152602401611799565b50806118bc565b80511561192f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611a1a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611a39578181015183820152602001611a21565b50505f910152565b5f8151808452611a58816020860160208601611a1f565b601f01601f19169290920160200192915050565b602081525f6106db6020830184611a41565b6001600160a01b0381168114611948575f80fd5b8035611a9d81611a7e565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611ad957611ad9611aa2565b8015158114611948575f80fd5b5f67ffffffffffffffff80841115611b2a57611b2a611aa2565b604051601f8501601f19908116603f01168101908282118183101715611b5257611b52611aa2565b81604052809350858152868686011115611b6a575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b92575f80fd5b6106db83833560208501611b10565b5f805f805f60a08688031215611bb5575f80fd5b853594506020860135611bc781611a7e565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611bf1575f80fd5b908701906060828a031215611c04575f80fd5b611c0c611ab6565b8235611c1781611a7e565b81526020830135611c2781611b03565b6020820152604083013582811115611c3d575f80fd5b611c498b828601611b83565b6040830152508093505050509295509295909350565b5f8060408385031215611c70575f80fd5b8235611c7b81611a7e565b946020939093013593505050565b5f60208284031215611c99575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611d2d575f80fd5b6040516080810181811067ffffffffffffffff82111715611d5057611d50611aa2565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d92575f80fd5b611d9a611adf565b9050611da582611a92565b8152611db360208301611a92565b6020820152611dc460408301611a92565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611e21818401611a92565b90820152610160611e33838201611a92565b90820152610180611e45838201611a92565b908201526101a0611e57838201611a92565b908201526101c0611e6a84848301611d1d565b9082015292915050565b5f805f805f6102c08688031215611e89575f80fd5b85359450611e9a8760208801611d81565b935061026086013567ffffffffffffffff811115611eb6575f80fd5b611ec288828901611b83565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ef2575f80fd5b85359450602086013567ffffffffffffffff80821115611f10575f80fd5b818801915088601f830112611f23575f80fd5b611f3289833560208501611b10565b9550611f418960408a01611d81565b9450610280880135915080821115611f57575f80fd5b50611f6488828901611b83565b959894975092956102a001359392505050565b600181811c90821680611f8b57607f821691505b602082108103611fa957634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611ff460c0840182611a41565b9695505050505050565b5f6020828403121561200e575f80fd5b5051919050565b818103818111156106de57634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b031681526102408101602083015161206060208401826001600160a01b03169052565b50604083015161207b60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516120e1828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611d15565b80516001600160a01b03168252602081015161217160208401826001600160a01b03169052565b50604081015161218c60408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516121fe828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e080820151805182850152602081015161020085015260408101516102208501526060810151610240850152611593565b5f6102c0612275838861214a565b6001600160a01b038616610260840152610280830181905261229981840186611a41565b915050826102a083015295945050505050565b5f602082840312156122bc575f80fd5b81516118bc81611a7e565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122fb8184018e611a41565b905061230a602084018d61214a565b6001600160a01b038b81166102808501528382036102a085015261232e828c611a41565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f8261238457634e487b7160e01b5f52601260045260245ffd5b500690565b5f60208284031215612399575f80fd5b81516118bc81611b03565b5f82516123b5818460208701611a1f565b919091019291505056fe52455448487970657264726976654465706c6f796572436f6f7264696e61746f72a264697066735822122095bb8599516e66fe1b62af33bc72e0ed79e4dc2071f847162b6cda8c3e99826164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget0.ts b/packages/hyperdrive-artifacts/src/RETHTarget0.ts new file mode 100644 index 000000000..dfba1163d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget0.ts @@ -0,0 +1,1936 @@ +export const RETHTarget0 = { + name: 'RETHTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f1e38038062003f1e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ad6620004485f395f8181610ee301526124ac01525f8181610eb4015261246f01525f8181610d9001528181611013015281816110a10152818161112f015281816111bd015281816117c60152818161185c01528181611a1e015281816120360152818161210a015261225b01525f610f7b01525f8181610f55015261265101525f8181610f2f015261262b01525f8181610f09015261260501525f6112c801525f6112a201525f61127c01525f61125601525f8181610fed015261267701525f8181610fa1015281816114530152612a7701525f8181610fc70152612cad01525f818161022f0152818161081301528181610e8501528181611fab01528181612736015281816127c001528181612b970152612c7f01525f8181610e5601526113f00152613ad65ff3fe60806040526004361061021f575f3560e01c806360246c881161011e578063bd85b039116100a8578063cf210e651161006d578063cf210e65146106ad578063d8165743146106cc578063e44808bc146106ed578063e985e9c51461070c578063fba560081461072b575f80fd5b8063bd85b0391461061b578063becee9c31461063a578063c55dae6314610666578063c69e16ad1461067a578063c6e6f5921461068e575f80fd5b80639cd241af116100ee5780639cd241af14610580578063a22cb4651461059f578063ab033ea9146105be578063b0d96580146105db578063b88fed9f146105fc575f80fd5b806360246c881461050e5780637180c8ca1461052f5780637ecebe001461054d578063950c5d031461056c575f80fd5b806320fc4881116101aa5780633e691db91161016f5780633e691db91461046e57806346fbf68e1461048d5780634e41a1fb146104bc5780634ed2d6ac146104db57806354fd4d50146104fa575f80fd5b806320fc48811461039757806321ff32a9146103e8578063313ce567146104155780633656eec21461043b5780633a98ef391461045a575f80fd5b806306fdde03116101f057806306fdde03146102fa5780630a4e14931461030e57806314e5f07b1461033a57806317fad7fc146103595780631c0f12b614610378575f80fd5b8062ad800c1461027357806301681a62146102a857806302329a29146102c757806304baa00b146102e6575f80fd5b3661026f57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026d576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561027e575f80fd5b5061029261028d366004612ee5565b610766565b60405161029f9190612f49565b60405180910390f35b3480156102b3575f80fd5b5061026d6102c2366004612f6f565b61079d565b3480156102d2575f80fd5b5061026d6102e1366004612f97565b6107a6565b3480156102f1575f80fd5b506102926107af565b348015610305575f80fd5b506102926107ee565b348015610319575f80fd5b50610322610805565b6040516001600160a01b03909116815260200161029f565b348015610345575f80fd5b5061026d610354366004612fb2565b610844565b348015610364575f80fd5b5061026d610373366004613088565b610860565b348015610383575f80fd5b5061026d610392366004613117565b610876565b3480156103a2575f80fd5b506103b66103b1366004612ee5565b610889565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161029f565b3480156103f3575f80fd5b5061040761040236600461315c565b6108f2565b60405190815260200161029f565b348015610420575f80fd5b50610429610937565b60405160ff909116815260200161029f565b348015610446575f80fd5b5061040761045536600461319b565b61094e565b348015610465575f80fd5b50610407610986565b348015610479575f80fd5b506104076104883660046131c9565b6109a4565b348015610498575f80fd5b506104ac6104a7366004612f6f565b6109ae565b604051901515815260200161029f565b3480156104c7575f80fd5b506102926104d6366004612ee5565b6109cd565b3480156104e6575f80fd5b5061026d6104f5366004613200565b6109db565b348015610505575f80fd5b50610292610a29565b348015610519575f80fd5b50610522610a5e565b60405161029f9190613247565b34801561053a575f80fd5b5061026d6105493660046132e8565b5050565b348015610558575f80fd5b50610407610567366004612f6f565b610d57565b348015610577575f80fd5b50610322610d82565b34801561058b575f80fd5b5061026d61059a366004613314565b610dc1565b3480156105aa575f80fd5b5061026d6105b93660046132e8565b610dd2565b3480156105c9575f80fd5b5061026d6105d8366004612f6f565b50565b3480156105e6575f80fd5b506105ef610e3d565b60405161029f9190613349565b348015610607575f80fd5b50610407610616366004612ee5565b6112fd565b348015610626575f80fd5b50610407610635366004612ee5565b61130a565b348015610645575f80fd5b5061065961065436600461346f565b61132b565b60405161029f91906134ae565b348015610671575f80fd5b506103226113e2565b348015610685575f80fd5b50610407611421565b348015610699575f80fd5b506104076106a8366004612ee5565b61143a565b3480156106b8575f80fd5b506104076106c7366004612ee5565b611447565b3480156106d7575f80fd5b506106e061147d565b60405161029f91906134f1565b3480156106f8575f80fd5b5061026d610707366004613602565b611588565b348015610717575f80fd5b506104ac61072636600461365d565b6115d0565b348015610736575f80fd5b5061073f611613565b6040805182516001600160801b03908116825260209384015116928101929092520161029f565b606061079861077483611671565b6040516020016107849190612f49565b604051602081830303815290604052611797565b919050565b6105d8816117bb565b6105d881611a1c565b60606107eb6040518060400160405280600e81526020016d524554484879706572647269766560901b8152506040516020016107849190612f49565b90565b60606107eb60016040516020016107849190613689565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610855898989898989898989611b34565b505050505050505050565b61086e868686868686611d26565b505050505050565b6108838484848433611dd9565b50505050565b604080516060810182525f808252602082018190529181019190915261079860085f8481526020019081526020015f20604051602001610784919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526109309101610784565b9392505050565b60408051601260208201525f916107eb9101610784565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526109809101610784565b92915050565b5f6107eb610992611f94565b60405160200161078491815260200190565b5f61098082612021565b5f6107986109bb83612257565b60408051911515602083015201610784565b606061079861077483612335565b836109e581612431565b6001600160a01b0316336001600160a01b031614610a1657604051632aab8bd360e01b815260040160405180910390fd5b610a22858585856124ee565b5050505050565b60606107eb60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016107849190612f49565b610ac8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610ad161255a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610b3b919061375e565b610b459190613771565b90505f8215610c545773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610b718561256c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190613784565b509050610c5181846126f6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610d2457610d1f848661270a565b610d26565b5f5b81526003546001600160801b0316602091820152604051919250610d509161078491849101613247565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526107989101610784565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610dcd838383336124ee565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610e45612e11565b6107eb6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109191906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111f91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611189573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ad91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906137b2565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016107849190613349565b5f6107986109928361271e565b5f818152600b60209081526040808320548151928301526107989101610784565b60605f8267ffffffffffffffff811115611347576113476137cd565b604051908082528060200260200182016040528015611370578160200160208202803683370190505b5090505f5b838110156113c6575f858583818110611390576113906137e1565b9050602002013590505f81549050808484815181106113b1576113b16137e1565b60209081029190910101525050600101611375565b506113db8160405160200161078491906134ae565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b5f6107eb60095460405160200161078491815260200190565b5f610798610992836127a8565b5f6107986109926114787f00000000000000000000000000000000000000000000000000000000000000008561375e565b6127f7565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526107eb6002604051602001610784919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461159281612431565b6001600160a01b0316336001600160a01b0316146115c357604051632aab8bd360e01b815260040160405180910390fd5b61086e8686868686611dd9565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916109809101610784565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526107eb90606001610784565b606060f882901c6001600160f81b0383165f61168c82612837565b90505f8360038111156116a1576116a1613736565b036116d3576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061178f565b60018360038111156116e7576116e7613736565b0361171357806040516020016116fd91906137f5565b604051602081830303815290604052935061178f565b600283600381111561172757611727613736565b0361173d57806040516020016116fd919061382d565b600383600381111561175157611751613736565b0361178f576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016117b29190612f49565b60405180910390fd5b6117c36128e9565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611820573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184491906137b2565b9050336001600160a01b038216148015906118f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118da91906137b2565b6001600160a01b0316336001600160a01b031614155b8015611902575061190033612257565b155b1561191f576040516282b42960e81b815260040160405180910390fd5b5f611928611f94565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561196f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119939190613866565b90506119a96001600160a01b0385168483612911565b816119b2611f94565b146119d0576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506105d860015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9c91906137b2565b6001600160a01b0316336001600160a01b031614158015611ac35750611ac133612257565b155b15611ae0576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611b2990831515815260200190565b60405180910390a150565b83421115611b555760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611b7c5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611c66573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611ca457604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611d4357506001600160a01b038516155b15611d615760405163f0dd15fd60e01b815260040160405180910390fd5b828114611d815760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611dd057611dc8858583818110611da057611da06137e1565b905060200201358888868686818110611dbb57611dbb6137e1565b9050602002013533611dd9565b600101611d83565b50505050505050565b6001600160a01b0384161580611df657506001600160a01b038316155b15611e145760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611ed4576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611ed4575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611ed2575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611ecc908490613771565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611f05908490613771565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611f3b90849061375e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201c9190613866565b905090565b5f61202a6128e9565b61203382612963565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612090573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b491906137b2565b90506001600160a01b0381166120cd6020850185612f6f565b6001600160a01b0316146120f457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061219e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612164573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061218891906137b2565b6001600160a01b0316336001600160a01b031614155b80156121b057506121ae33612257565b155b156121cd576040516282b42960e81b815260040160405180910390fd5b5f6121d661255a565b600980545f9091559091506121ec818387612998565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461222b60408a0160208b01612f97565b60408051938452602084019290925215159082015260600160405180910390a250505061079860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156122b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122db919081019061387d565b90505f5b815181101561232c57836001600160a01b0316828281518110612304576123046137e1565b60200260200101516001600160a01b031603612324575060019392505050565b6001016122df565b505f9392505050565b606060f882901c6001600160f81b0383165f61235082612837565b90505f83600381111561236557612365613736565b03612397576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061178f565b60018360038111156123ab576123ab613736565b036123c157806040516020016116fd919061393d565b60028360038111156123d5576123d5613736565b036123eb57806040516020016116fd9190613974565b60038360038111156123ff576123ff613736565b0361178f57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f61201c670de0b6b3a764000061271e565b6125c46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916126bc9116612a2e565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926126ee92900416612a2e565b905292915050565b5f6109308383670de0b6b3a7640000612aa2565b5f61093083670de0b6b3a764000084612aa2565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015612784573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109809190613866565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401612769565b5f61281c600b5f612809600286612abd565b81526020019081526020015f2054612af1565b61282d600b5f612809600187612abd565b610980919061399f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156128db57612870600a866139d2565b61287b90603061375e565b60f81b82600161288b8487613771565b6128959190613771565b815181106128a5576128a56137e1565b60200101906001600160f81b03191690815f1a905350806128c5816139e5565b91506128d49050600a866139fd565b945061285f565b918290030190815292915050565b60025f540361290b57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610dcd908490612b1e565b5f6129716020830183612f6f565b6001600160a01b0316036105d85760405163f0dd15fd60e01b815260040160405180910390fd5b5f806129a485856126f6565b90506129af816127a8565b9450845f036129c1575f915050610930565b8491506129d46040840160208501612f97565b15612a03576129fc856129ea6020860186612f6f565b6129f76040870187613a10565b612b7f565b9150612a26565b612a2685612a146020860186612f6f565b612a216040870187613a10565b612c72565b509392505050565b5f80670de0b6b3a7640000612a41612ca6565b612a4b9190613a53565b9050808311612a5a575f612a64565b612a648184613771565b9150610930612a9b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a53565b839061270a565b5f825f190484118302158202612ab6575f80fd5b5091020490565b5f6001600160f81b03821115612ae65760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612b1a5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b326001600160a01b03841683612cd1565b905080515f14158015612b56575080806020019051810190612b549190613a6a565b155b15610dcd57604051635274afe760e01b81526001600160a01b03841660048201526024016117b2565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612be0575f80fd5b505af1158015612bf2573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612c42576040519150601f19603f3d011682016040523d82523d5f602084013e612c47565b606091505b5050905080612c69576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6108836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612911565b5f61201c427f0000000000000000000000000000000000000000000000000000000000000000612cde565b606061093083835f612cf3565b5f612ce982846139d2565b6109309084613771565b606081471015612d185760405163cd78605960e01b81523060048201526024016117b2565b5f80856001600160a01b03168486604051612d339190613a85565b5f6040518083038185875af1925050503d805f8114612d6d576040519150601f19603f3d011682016040523d82523d5f602084013e612d72565b606091505b5091509150612d82868383612d8c565b9695505050505050565b606082612da157612d9c82612de8565b610930565b8151158015612db857506001600160a01b0384163b155b15612de157604051639996b31560e01b81526001600160a01b03851660048201526024016117b2565b5080610930565b805115612df85780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ee060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ef5575f80fd5b5035919050565b5f5b83811015612f16578181015183820152602001612efe565b50505f910152565b5f8151808452612f35816020860160208601612efc565b601f01601f19169290920160200192915050565b602081525f6109306020830184612f1e565b6001600160a01b03811681146105d8575f80fd5b5f60208284031215612f7f575f80fd5b813561093081612f5b565b80151581146105d8575f80fd5b5f60208284031215612fa7575f80fd5b813561093081612f8a565b5f805f805f805f805f6101208a8c031215612fcb575f80fd5b8935985060208a0135975060408a0135612fe481612f5b565b965060608a0135612ff481612f5b565b955060808a013561300481612f8a565b945060a08a0135935060c08a013560ff81168114613020575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613050575f80fd5b50813567ffffffffffffffff811115613067575f80fd5b6020830191508360208260051b8501011115613081575f80fd5b9250929050565b5f805f805f806080878903121561309d575f80fd5b86356130a881612f5b565b955060208701356130b881612f5b565b9450604087013567ffffffffffffffff808211156130d4575f80fd5b6130e08a838b01613040565b909650945060608901359150808211156130f8575f80fd5b5061310589828a01613040565b979a9699509497509295939492505050565b5f805f806080858703121561312a575f80fd5b84359350602085013561313c81612f5b565b9250604085013561314c81612f5b565b9396929550929360600135925050565b5f805f6060848603121561316e575f80fd5b83359250602084013561318081612f5b565b9150604084013561319081612f5b565b809150509250925092565b5f80604083850312156131ac575f80fd5b8235915060208301356131be81612f5b565b809150509250929050565b5f602082840312156131d9575f80fd5b813567ffffffffffffffff8111156131ef575f80fd5b820160608185031215610930575f80fd5b5f805f8060808587031215613213575f80fd5b84359350602085013561322581612f5b565b925060408501359150606085013561323c81612f5b565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156132f9575f80fd5b823561330481612f5b565b915060208301356131be81612f8a565b5f805f60608486031215613326575f80fd5b83359250602084013561333881612f5b565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161337560208401826001600160a01b03169052565b50604083015161339060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613402828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613480575f80fd5b823567ffffffffffffffff811115613496575f80fd5b6134a285828601613040565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134e5578351835292840192918401916001016134c9565b50909695505050505050565b81516001600160801b031681526101808101602083015161351d60208401826001600160801b03169052565b50604083015161353860408401826001600160801b03169052565b50606083015161355360608401826001600160801b03169052565b5060808301516135686080840182600f0b9052565b5060a083015161358360a08401826001600160801b03169052565b5060c083015161359e60c08401826001600160801b03169052565b5060e08301516135b960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613467565b5f805f805f60a08688031215613616575f80fd5b85359450602086013561362881612f5b565b9350604086013561363881612f5b565b925060608601359150608086013561364f81612f5b565b809150509295509295909350565b5f806040838503121561366e575f80fd5b823561367981612f5b565b915060208301356131be81612f5b565b5f60208083525f84545f60018260011c915060018316806136ab57607f831692505b6020831081036136c957634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156136e857600181146136fe57613727565b60ff198616825284151560051b82019650613727565b5f8b8152602090205f5b8681101561372157815484820152908501908901613708565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156109805761098061374a565b818103818111156109805761098061374a565b5f8060408385031215613795575f80fd5b8251915060208301516131be81612f8a565b805161079881612f5b565b5f602082840312156137c2575f80fd5b815161093081612f5b565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613820816011850160208701612efc565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613859816012850160208701612efc565b9190910160120192915050565b5f60208284031215613876575f80fd5b5051919050565b5f602080838503121561388e575f80fd5b825167ffffffffffffffff808211156138a5575f80fd5b818501915085601f8301126138b8575f80fd5b8151818111156138ca576138ca6137cd565b8060051b604051601f19603f830116810181811085821117156138ef576138ef6137cd565b60405291825284820192508381018501918883111561390c575f80fd5b938501935b8285101561393157613922856137a7565b84529385019392850192613911565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613967816010850160208701612efc565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613820816011850160208701612efc565b8181035f8312801583831316838312821617156113db576113db61374a565b634e487b7160e01b5f52601260045260245ffd5b5f826139e0576139e06139be565b500690565b5f600182016139f6576139f661374a565b5060010190565b5f82613a0b57613a0b6139be565b500490565b5f808335601e19843603018112613a25575f80fd5b83018035915067ffffffffffffffff821115613a3f575f80fd5b602001915036819003821315613081575f80fd5b80820281158282048414176109805761098061374a565b5f60208284031215613a7a575f80fd5b815161093081612f8a565b5f8251613a96818460208701612efc565b919091019291505056fea26469706673582212205635ffdb595f622a4a876e1c3bdc25b3ffcc8f074660c4b424e7c06eaee9d35064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/RETHTarget0Deployer.ts new file mode 100644 index 000000000..1f779fb44 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const RETHTarget0Deployer = { + name: 'RETHTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506143f68061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f1e806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f1e38038062003f1e8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613ad6620004485f395f8181610ee301526124ac01525f8181610eb4015261246f01525f8181610d9001528181611013015281816110a10152818161112f015281816111bd015281816117c60152818161185c01528181611a1e015281816120360152818161210a015261225b01525f610f7b01525f8181610f55015261265101525f8181610f2f015261262b01525f8181610f09015261260501525f6112c801525f6112a201525f61127c01525f61125601525f8181610fed015261267701525f8181610fa1015281816114530152612a7701525f8181610fc70152612cad01525f818161022f0152818161081301528181610e8501528181611fab01528181612736015281816127c001528181612b970152612c7f01525f8181610e5601526113f00152613ad65ff3fe60806040526004361061021f575f3560e01c806360246c881161011e578063bd85b039116100a8578063cf210e651161006d578063cf210e65146106ad578063d8165743146106cc578063e44808bc146106ed578063e985e9c51461070c578063fba560081461072b575f80fd5b8063bd85b0391461061b578063becee9c31461063a578063c55dae6314610666578063c69e16ad1461067a578063c6e6f5921461068e575f80fd5b80639cd241af116100ee5780639cd241af14610580578063a22cb4651461059f578063ab033ea9146105be578063b0d96580146105db578063b88fed9f146105fc575f80fd5b806360246c881461050e5780637180c8ca1461052f5780637ecebe001461054d578063950c5d031461056c575f80fd5b806320fc4881116101aa5780633e691db91161016f5780633e691db91461046e57806346fbf68e1461048d5780634e41a1fb146104bc5780634ed2d6ac146104db57806354fd4d50146104fa575f80fd5b806320fc48811461039757806321ff32a9146103e8578063313ce567146104155780633656eec21461043b5780633a98ef391461045a575f80fd5b806306fdde03116101f057806306fdde03146102fa5780630a4e14931461030e57806314e5f07b1461033a57806317fad7fc146103595780631c0f12b614610378575f80fd5b8062ad800c1461027357806301681a62146102a857806302329a29146102c757806304baa00b146102e6575f80fd5b3661026f57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026d576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561027e575f80fd5b5061029261028d366004612ee5565b610766565b60405161029f9190612f49565b60405180910390f35b3480156102b3575f80fd5b5061026d6102c2366004612f6f565b61079d565b3480156102d2575f80fd5b5061026d6102e1366004612f97565b6107a6565b3480156102f1575f80fd5b506102926107af565b348015610305575f80fd5b506102926107ee565b348015610319575f80fd5b50610322610805565b6040516001600160a01b03909116815260200161029f565b348015610345575f80fd5b5061026d610354366004612fb2565b610844565b348015610364575f80fd5b5061026d610373366004613088565b610860565b348015610383575f80fd5b5061026d610392366004613117565b610876565b3480156103a2575f80fd5b506103b66103b1366004612ee5565b610889565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161029f565b3480156103f3575f80fd5b5061040761040236600461315c565b6108f2565b60405190815260200161029f565b348015610420575f80fd5b50610429610937565b60405160ff909116815260200161029f565b348015610446575f80fd5b5061040761045536600461319b565b61094e565b348015610465575f80fd5b50610407610986565b348015610479575f80fd5b506104076104883660046131c9565b6109a4565b348015610498575f80fd5b506104ac6104a7366004612f6f565b6109ae565b604051901515815260200161029f565b3480156104c7575f80fd5b506102926104d6366004612ee5565b6109cd565b3480156104e6575f80fd5b5061026d6104f5366004613200565b6109db565b348015610505575f80fd5b50610292610a29565b348015610519575f80fd5b50610522610a5e565b60405161029f9190613247565b34801561053a575f80fd5b5061026d6105493660046132e8565b5050565b348015610558575f80fd5b50610407610567366004612f6f565b610d57565b348015610577575f80fd5b50610322610d82565b34801561058b575f80fd5b5061026d61059a366004613314565b610dc1565b3480156105aa575f80fd5b5061026d6105b93660046132e8565b610dd2565b3480156105c9575f80fd5b5061026d6105d8366004612f6f565b50565b3480156105e6575f80fd5b506105ef610e3d565b60405161029f9190613349565b348015610607575f80fd5b50610407610616366004612ee5565b6112fd565b348015610626575f80fd5b50610407610635366004612ee5565b61130a565b348015610645575f80fd5b5061065961065436600461346f565b61132b565b60405161029f91906134ae565b348015610671575f80fd5b506103226113e2565b348015610685575f80fd5b50610407611421565b348015610699575f80fd5b506104076106a8366004612ee5565b61143a565b3480156106b8575f80fd5b506104076106c7366004612ee5565b611447565b3480156106d7575f80fd5b506106e061147d565b60405161029f91906134f1565b3480156106f8575f80fd5b5061026d610707366004613602565b611588565b348015610717575f80fd5b506104ac61072636600461365d565b6115d0565b348015610736575f80fd5b5061073f611613565b6040805182516001600160801b03908116825260209384015116928101929092520161029f565b606061079861077483611671565b6040516020016107849190612f49565b604051602081830303815290604052611797565b919050565b6105d8816117bb565b6105d881611a1c565b60606107eb6040518060400160405280600e81526020016d524554484879706572647269766560901b8152506040516020016107849190612f49565b90565b60606107eb60016040516020016107849190613689565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610855898989898989898989611b34565b505050505050505050565b61086e868686868686611d26565b505050505050565b6108838484848433611dd9565b50505050565b604080516060810182525f808252602082018190529181019190915261079860085f8481526020019081526020015f20604051602001610784919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526109309101610784565b9392505050565b60408051601260208201525f916107eb9101610784565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526109809101610784565b92915050565b5f6107eb610992611f94565b60405160200161078491815260200190565b5f61098082612021565b5f6107986109bb83612257565b60408051911515602083015201610784565b606061079861077483612335565b836109e581612431565b6001600160a01b0316336001600160a01b031614610a1657604051632aab8bd360e01b815260040160405180910390fd5b610a22858585856124ee565b5050505050565b60606107eb60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016107849190612f49565b610ac8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f610ad161255a565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610b3b919061375e565b610b459190613771565b90505f8215610c545773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610b718561256c565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c449190613784565b509050610c5181846126f6565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610d2457610d1f848661270a565b610d26565b5f5b81526003546001600160801b0316602091820152604051919250610d509161078491849101613247565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526107989101610784565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b610dcd838383336124ee565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610e45612e11565b6107eb6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109191906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111f91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611189573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ad91906137b2565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906137b2565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016107849190613349565b5f6107986109928361271e565b5f818152600b60209081526040808320548151928301526107989101610784565b60605f8267ffffffffffffffff811115611347576113476137cd565b604051908082528060200260200182016040528015611370578160200160208202803683370190505b5090505f5b838110156113c6575f858583818110611390576113906137e1565b9050602002013590505f81549050808484815181106113b1576113b16137e1565b60209081029190910101525050600101611375565b506113db8160405160200161078491906134ae565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916107eb9101610784565b5f6107eb60095460405160200161078491815260200190565b5f610798610992836127a8565b5f6107986109926114787f00000000000000000000000000000000000000000000000000000000000000008561375e565b6127f7565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526107eb6002604051602001610784919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461159281612431565b6001600160a01b0316336001600160a01b0316146115c357604051632aab8bd360e01b815260040160405180910390fd5b61086e8686868686611dd9565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916109809101610784565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526107eb90606001610784565b606060f882901c6001600160f81b0383165f61168c82612837565b90505f8360038111156116a1576116a1613736565b036116d3576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061178f565b60018360038111156116e7576116e7613736565b0361171357806040516020016116fd91906137f5565b604051602081830303815290604052935061178f565b600283600381111561172757611727613736565b0361173d57806040516020016116fd919061382d565b600383600381111561175157611751613736565b0361178f576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016117b29190612f49565b60405180910390fd5b6117c36128e9565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611820573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061184491906137b2565b9050336001600160a01b038216148015906118f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118da91906137b2565b6001600160a01b0316336001600160a01b031614155b8015611902575061190033612257565b155b1561191f576040516282b42960e81b815260040160405180910390fd5b5f611928611f94565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561196f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119939190613866565b90506119a96001600160a01b0385168483612911565b816119b2611f94565b146119d0576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a35050506105d860015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9c91906137b2565b6001600160a01b0316336001600160a01b031614158015611ac35750611ac133612257565b155b15611ae0576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a590611b2990831515815260200190565b60405180910390a150565b83421115611b555760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611b7c5760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611c66573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611ca457604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611d4357506001600160a01b038516155b15611d615760405163f0dd15fd60e01b815260040160405180910390fd5b828114611d815760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611dd057611dc8858583818110611da057611da06137e1565b905060200201358888868686818110611dbb57611dbb6137e1565b9050602002013533611dd9565b600101611d83565b50505050505050565b6001600160a01b0384161580611df657506001600160a01b038316155b15611e145760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611ed4576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611ed4575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611ed2575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611ecc908490613771565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611f05908490613771565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611f3b90849061375e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201c9190613866565b905090565b5f61202a6128e9565b61203382612963565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612090573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b491906137b2565b90506001600160a01b0381166120cd6020850185612f6f565b6001600160a01b0316146120f457604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061219e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612164573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061218891906137b2565b6001600160a01b0316336001600160a01b031614155b80156121b057506121ae33612257565b155b156121cd576040516282b42960e81b815260040160405180910390fd5b5f6121d661255a565b600980545f9091559091506121ec818387612998565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461222b60408a0160208b01612f97565b60408051938452602084019290925215159082015260600160405180910390a250505061079860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156122b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122db919081019061387d565b90505f5b815181101561232c57836001600160a01b0316828281518110612304576123046137e1565b60200260200101516001600160a01b031603612324575060019392505050565b6001016122df565b505f9392505050565b606060f882901c6001600160f81b0383165f61235082612837565b90505f83600381111561236557612365613736565b03612397576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061178f565b60018360038111156123ab576123ab613736565b036123c157806040516020016116fd919061393d565b60028360038111156123d5576123d5613736565b036123eb57806040516020016116fd9190613974565b60038360038111156123ff576123ff613736565b0361178f57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f61201c670de0b6b3a764000061271e565b6125c46040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916126bc9116612a2e565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926126ee92900416612a2e565b905292915050565b5f6109308383670de0b6b3a7640000612aa2565b5f61093083670de0b6b3a764000084612aa2565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015612784573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109809190613866565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401612769565b5f61281c600b5f612809600286612abd565b81526020019081526020015f2054612af1565b61282d600b5f612809600187612abd565b610980919061399f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156128db57612870600a866139d2565b61287b90603061375e565b60f81b82600161288b8487613771565b6128959190613771565b815181106128a5576128a56137e1565b60200101906001600160f81b03191690815f1a905350806128c5816139e5565b91506128d49050600a866139fd565b945061285f565b918290030190815292915050565b60025f540361290b57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610dcd908490612b1e565b5f6129716020830183612f6f565b6001600160a01b0316036105d85760405163f0dd15fd60e01b815260040160405180910390fd5b5f806129a485856126f6565b90506129af816127a8565b9450845f036129c1575f915050610930565b8491506129d46040840160208501612f97565b15612a03576129fc856129ea6020860186612f6f565b6129f76040870187613a10565b612b7f565b9150612a26565b612a2685612a146020860186612f6f565b612a216040870187613a10565b612c72565b509392505050565b5f80670de0b6b3a7640000612a41612ca6565b612a4b9190613a53565b9050808311612a5a575f612a64565b612a648184613771565b9150610930612a9b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a53565b839061270a565b5f825f190484118302158202612ab6575f80fd5b5091020490565b5f6001600160f81b03821115612ae65760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b03821115612b1a5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f612b326001600160a01b03841683612cd1565b905080515f14158015612b56575080806020019051810190612b549190613a6a565b155b15610dcd57604051635274afe760e01b81526001600160a01b03841660048201526024016117b2565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612be0575f80fd5b505af1158015612bf2573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612c42576040519150601f19603f3d011682016040523d82523d5f602084013e612c47565b606091505b5050905080612c69576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6108836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612911565b5f61201c427f0000000000000000000000000000000000000000000000000000000000000000612cde565b606061093083835f612cf3565b5f612ce982846139d2565b6109309084613771565b606081471015612d185760405163cd78605960e01b81523060048201526024016117b2565b5f80856001600160a01b03168486604051612d339190613a85565b5f6040518083038185875af1925050503d805f8114612d6d576040519150601f19603f3d011682016040523d82523d5f602084013e612d72565b606091505b5091509150612d82868383612d8c565b9695505050505050565b606082612da157612d9c82612de8565b610930565b8151158015612db857506001600160a01b0384163b155b15612de157604051639996b31560e01b81526001600160a01b03851660048201526024016117b2565b5080610930565b805115612df85780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ee060405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ef5575f80fd5b5035919050565b5f5b83811015612f16578181015183820152602001612efe565b50505f910152565b5f8151808452612f35816020860160208601612efc565b601f01601f19169290920160200192915050565b602081525f6109306020830184612f1e565b6001600160a01b03811681146105d8575f80fd5b5f60208284031215612f7f575f80fd5b813561093081612f5b565b80151581146105d8575f80fd5b5f60208284031215612fa7575f80fd5b813561093081612f8a565b5f805f805f805f805f6101208a8c031215612fcb575f80fd5b8935985060208a0135975060408a0135612fe481612f5b565b965060608a0135612ff481612f5b565b955060808a013561300481612f8a565b945060a08a0135935060c08a013560ff81168114613020575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112613050575f80fd5b50813567ffffffffffffffff811115613067575f80fd5b6020830191508360208260051b8501011115613081575f80fd5b9250929050565b5f805f805f806080878903121561309d575f80fd5b86356130a881612f5b565b955060208701356130b881612f5b565b9450604087013567ffffffffffffffff808211156130d4575f80fd5b6130e08a838b01613040565b909650945060608901359150808211156130f8575f80fd5b5061310589828a01613040565b979a9699509497509295939492505050565b5f805f806080858703121561312a575f80fd5b84359350602085013561313c81612f5b565b9250604085013561314c81612f5b565b9396929550929360600135925050565b5f805f6060848603121561316e575f80fd5b83359250602084013561318081612f5b565b9150604084013561319081612f5b565b809150509250925092565b5f80604083850312156131ac575f80fd5b8235915060208301356131be81612f5b565b809150509250929050565b5f602082840312156131d9575f80fd5b813567ffffffffffffffff8111156131ef575f80fd5b820160608185031215610930575f80fd5b5f805f8060808587031215613213575f80fd5b84359350602085013561322581612f5b565b925060408501359150606085013561323c81612f5b565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156132f9575f80fd5b823561330481612f5b565b915060208301356131be81612f8a565b5f805f60608486031215613326575f80fd5b83359250602084013561333881612f5b565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161337560208401826001600160a01b03169052565b50604083015161339060408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613402828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613480575f80fd5b823567ffffffffffffffff811115613496575f80fd5b6134a285828601613040565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156134e5578351835292840192918401916001016134c9565b50909695505050505050565b81516001600160801b031681526101808101602083015161351d60208401826001600160801b03169052565b50604083015161353860408401826001600160801b03169052565b50606083015161355360608401826001600160801b03169052565b5060808301516135686080840182600f0b9052565b5060a083015161358360a08401826001600160801b03169052565b5060c083015161359e60c08401826001600160801b03169052565b5060e08301516135b960e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b03811682850152613467565b5f805f805f60a08688031215613616575f80fd5b85359450602086013561362881612f5b565b9350604086013561363881612f5b565b925060608601359150608086013561364f81612f5b565b809150509295509295909350565b5f806040838503121561366e575f80fd5b823561367981612f5b565b915060208301356131be81612f5b565b5f60208083525f84545f60018260011c915060018316806136ab57607f831692505b6020831081036136c957634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156136e857600181146136fe57613727565b60ff198616825284151560051b82019650613727565b5f8b8152602090205f5b8681101561372157815484820152908501908901613708565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156109805761098061374a565b818103818111156109805761098061374a565b5f8060408385031215613795575f80fd5b8251915060208301516131be81612f8a565b805161079881612f5b565b5f602082840312156137c2575f80fd5b815161093081612f5b565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613820816011850160208701612efc565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613859816012850160208701612efc565b9190910160120192915050565b5f60208284031215613876575f80fd5b5051919050565b5f602080838503121561388e575f80fd5b825167ffffffffffffffff808211156138a5575f80fd5b818501915085601f8301126138b8575f80fd5b8151818111156138ca576138ca6137cd565b8060051b604051601f19603f830116810181811085821117156138ef576138ef6137cd565b60405291825284820192508381018501918883111561390c575f80fd5b938501935b8285101561393157613922856137a7565b84529385019392850192613911565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613967816010850160208701612efc565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613820816011850160208701612efc565b8181035f8312801583831316838312821617156113db576113db61374a565b634e487b7160e01b5f52601260045260245ffd5b5f826139e0576139e06139be565b500690565b5f600182016139f6576139f661374a565b5060010190565b5f82613a0b57613a0b6139be565b500490565b5f808335601e19843603018112613a25575f80fd5b83018035915067ffffffffffffffff821115613a3f575f80fd5b602001915036819003821315613081575f80fd5b80820281158282048414176109805761098061374a565b5f60208284031215613a7a575f80fd5b815161093081612f8a565b5f8251613a96818460208701612efc565b919091019291505056fea26469706673582212205635ffdb595f622a4a876e1c3bdc25b3ffcc8f074660c4b424e7c06eaee9d35064736f6c63430008160033a2646970667358221220322c16593b2a67a08b1495a21a41d4248bd6fc4576f81961101081e35c67304564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget1.ts b/packages/hyperdrive-artifacts/src/RETHTarget1.ts new file mode 100644 index 000000000..abfc08dba --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget1.ts @@ -0,0 +1,994 @@ +export const RETHTarget1 = { + name: 'RETHTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004036380380620040368339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bae620004885f395f50505f50505f610b8d01525f50505f8181610108015281816103730152612ca801525f81816113f2015281816117f00152818161185301528181612891015281816128cd01528181612ac50152612c8201525f818161074b01528181610e0401528181610e4b0152818161100a01528181611659015281816116a60152612c5c01525f611b9801525f8181611cb9015281816122fa015261237201525f818161090801528181610fa201528181611c8d015261234601525f8181610e9d01526122c001525f818161076c01528181610de201528181610e6c0152818161102b01528181611637015281816116c70152612cce01525f818161084601528181610f230152818161174e01528181612199015261324901525f818161061101528181610688015281816106fc015281816107c701526107ff01525f8181603b015281816119e1015281816125d401528181612623015261270b01525f5050613bae5ff3fe60806040526004361061002b575f3560e01c806329b23fc11461007f578063ded06231146100b0575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561008a575f80fd5b5061009e610099366004613632565b6100cf565b60405190815260200160405180910390f35b3480156100bb575f80fd5b5061009e6100ca366004613632565b6100e7565b5f6100dc858585856100f4565b90505b949350505050565b5f6100dc8585858561035f565b5f6100fd610593565b610106826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156101475760405163211ddda360e11b815260040160405180910390fd5b5f6101506105f3565b9050854210156101755761016f61016561060a565b8260046001610635565b50610185565b610183868260046001610635565b505b61019a610193600288610c98565b3387610ccc565b5f805f805f806101ab8b888e610da2565b9550955095509550955095505f8c90508c421015610267578260095f8282546101d491906136a0565b909155506101ec90506101e561060a565b428461108a565b6101f98c888787856111c3565b5f6102038e61133a565b90506102216102118e611380565b61021b90836136b3565b826113ad565b61022a896113ec565b6102365761023661144b565b5f6102408a611464565b90508061026057604051638bdf918d60e01b815260040160405180910390fd5b505061027e565b6102718689611470565b955061027c88611464565b505b5f61028a878a8d61154c565b90508b8110156102ad5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102bd600288610c98565b6102ca60208301836136e6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876103086040890160208a0161370e565b61031c8a6103168d8f6136a0565b906115e3565b8d61032a60408c018c613729565b60405161033e989796959493929190613794565b60405180910390a450939c505050505050505050505050506100df60015f55565b5f610368610593565b610371826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156103b25760405163211ddda360e11b815260040160405180910390fd5b5f6103bb6105f3565b9050854210156103d6576103d061016561060a565b506103e6565b6103e4868260046001610635565b505b6103f4610193600188610c98565b5f805f805f806104058b888e6115f7565b9550955095509550955095505f8c90508c4210156104b4578260095f82825461042e91906136a0565b9091555061043f90506101e561060a565b61044c8c888787856117d9565b5f6104568261133a565b905061046e6104648e611380565b61021b90836137db565b610477896113ec565b6104835761048361144b565b5f61048d8a611464565b9050806104ad57604051638bdf918d60e01b815260040160405180910390fd5b50506104cb565b6104be8689611470565b95506104c988611464565b505b5f6104d7878a8d61154c565b90508b8110156104fa5760405163c972651760e01b815260040160405180910390fd5b8c898c610508600186610c98565b61051560208301836136e6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876105536040890160208a0161370e565b8a61056160408b018b613729565b6040516105749796959493929190613802565b60405180910390a450919a50505050505050505050506100df60015f55565b60025f54036105b557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105c960208301836136e6565b6001600160a01b0316036105f05760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610605670de0b6b3a76400006119c9565b905090565b5f610605427f0000000000000000000000000000000000000000000000000000000000000000611a53565b5f84815260086020526040812060018101546001600160801b031615158061065c57504286115b1561067557600101546001600160801b031690506100df565b5f805f61068061060a565b90505f6106ad7f00000000000000000000000000000000000000000000000000000000000000008b6136a0565b90505b81811015610721575f818152600860205260409020600101546001600160801b031680156106f9575f828152600860205260409020549094506001600160801b03169250610721565b507f0000000000000000000000000000000000000000000000000000000000000000016106b0565b835f0361079357889350610790610736611a68565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b92505b5061079d83611a9e565b6001850180546001600160801b0319166001600160801b03929092169190911790556107f36107ec7f00000000000000000000000000000000000000000000000000000000000000008b613842565b8a8461108a565b6108318961082b6108247f0000000000000000000000000000000000000000000000000000000000000000836136a0565b4290611ac7565b8461108a565b61083a88611adb565b505f905060088161086b7f00000000000000000000000000000000000000000000000000000000000000008d613842565b815260208101919091526040015f908120600101546001600160801b0316915061089660028c610c98565b5f818152600b60205260408120549192508c8c83156109d757600192505f806108c286898d865f611c78565b915091508060095f8282546108d791906136a0565b909155506108f29050865f846108ec81611380565b886111c3565b6108fc81836136a0565b915061092c86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d45565b915061094061093b83856115e3565b611d8e565b600680546002906109619084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061098e82611a9e565b600680546010906109b0908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109e3600184610c98565b5f818152600b60205260409020549091508015610aee57600194505f80610a0e838b8f886001611c78565b915091508060095f828254610a2391906136a0565b90915550610a3e9050835f84610a3881611380565b8a6117d9565b610a488183613842565b9150610a5761093b83876115e3565b60068054600290610a789084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610aa582611a9e565b60068054601090610ac7908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b2757610b19610b0087611380565b610b0983611380565b610b1391906136b3565b5f6113ad565b8e610b248482611db7565b50505b5f610b3184611fa6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b9190613895565b90506001600160a01b03811615610c7f57610c7c5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120e8565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cc15760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610d0e57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d50908490613842565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610db2611a68565b90505f610dbe8a61216e565b6002549091508c908c90610e28908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121bd565b600254919d509a50909550610e90908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b9550610ec6858c610ec1897f000000000000000000000000000000000000000000000000000000000000000061222c565b61225b565b15610ed357610ed361144b565b5f805f610ee285878b8761229c565b9c5091945092509050610ef58184613842565b610eff90896136a0565b9750610f0b82846136a0565b610f15908d6136a0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f4d9190613842565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f93575f8b8152600860205260409020600101546001600160801b0316610f95565b8b5b90508b610fc68e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d45565b9950610fd2878a613842565b9850670de0b6b3a764000061104f610fea87876136a0565b600254611008908f90600160801b90046001600160801b0316613842565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b111561105d5761105d61144b565b61106c8a8a878a87875f6123ae565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110b55750505050565b5f848152600860205260408120546001600160801b03169081900361110d576110dd83611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561118a565b61115e611159670de0b6b3a76400006111268886613842565b61113091906138b0565b85670de0b6b3a7640000611144878a613842565b61114e91906138b0565b85929190600161244a565b611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61119384611a9e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b031661120b611159826111ef670de0b6b3a7640000866138b0565b600554600160801b90046001600160801b031691908a5f61244a565b600580546001600160801b03928316600160801b02921691909117905561123186611a9e565b61123b90826138c7565b600480546001600160801b03928316600160801b02921691909117905561126184611a9e565b600280545f9061127b9084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112a8836124f0565b600480545f906112bc908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112ec85611a9e565b6002805460109061130e908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61135f600b5f61134c600286610c98565b81526020019081526020015f2054611380565b611370600b5f61134c600187610c98565b61137a91906136b3565b92915050565b5f6001600160ff1b038211156113a95760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113c890611159906001600160801b0316848461252b565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114177f00000000000000000000000000000000000000000000000000000000000000008361258d565b60035461142d91906001600160801b03166136a0565b600254611443906001600160801b0316846115e3565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61137a826004611db7565b5f805f61147c84611adb565b90925090505f61148c86866115e3565b9050818311156114a4576114a18683856125a1565b95505b828110156114b65780830392506114ba565b5f92505b6114c383611d8e565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561151657869003611519565b505f5b61152281611a9e565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061155885856115e3565b9050611563816125bc565b9450845f03611575575f9150506115dc565b849150611588604084016020850161370e565b156115b7576115b08561159e60208601866136e6565b6115ab6040870187613729565b61260b565b91506115da565b6115da856115c860208601866136e6565b6115d56040870187613729565b6126fe565b505b9392505050565b5f6115dc8383670de0b6b3a76400006125a1565b5f805f805f805f80611607611a68565b90505f6116138a61216e565b6002549091508b908d9061167d908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612738565b600254919d509b509095505f90819081906116eb908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b98506116f984878b8861229c565b9c50919450909250905061170d8284613842565b6117179089613842565b975061172381846136a0565b61172d908e613842565b9c506117398a8e6136a0565b9b50505050505050506117c38686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117789190613842565b815260208101919091526040015f20600101546001600160801b0316428e116117ba575f8e8152600860205260409020600101546001600160801b03166117bc565b8e5b60016123ae565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061181b57507f00000000000000000000000000000000000000000000000000000000000000006118198583613842565b105b156118285761182861144b565b6004549084900390600f0b61183d84826136b3565b90508361184986611380565b13801561187e57507f000000000000000000000000000000000000000000000000000000000000000061187c838361278b565b105b1561188b5761188b61144b565b600354600160801b90046001600160801b03166118cc611159826118b7670de0b6b3a7640000886138b0565b6005546001600160801b031691908c5f61244a565b600580546001600160801b0319166001600160801b03929092169190911790556118f68882613842565b905061190181611a9e565b600380546001600160801b03928316600160801b02921691909117905561192783611a9e565b600280546001600160801b0319166001600160801b0392909216919091179055611950826124f0565b600480546001600160801b0319166001600160801b039290921691909117905561197987611a9e565b6002805460109061199b908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611a2f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137a9190613914565b5f611a5e828461393f565b6115dc9084613842565b6002546004545f91610605916001600160801b0390911690600f0b61278b565b5f6100dc82611a988588886125a1565b906127b0565b5f6001600160801b038211156113a957604051630f0af95160e11b815260040160405180910390fd5b5f818311611ad557826115dc565b50919050565b6006545f908190611afd908490600160801b90046001600160801b03166115e3565b6006546201000090046001600160701b03169250905081811115611c73575f611b268383613842565b9050611b35611159828661281f565b60068054601090611b57908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b8f858361283390919063ffffffff16565b90505f611bbc827f00000000000000000000000000000000000000000000000000000000000000006115e3565b90508060095f828254611bcf91906136a0565b90915550611bdf90508183613842565b9150611bea82611a9e565b600280545f90611c049084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3182612847565b600480545f90611c45908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c848785612833565b91505f611cb1837f00000000000000000000000000000000000000000000000000000000000000006115e3565b9050611cdd817f00000000000000000000000000000000000000000000000000000000000000006115e3565b91508315611d0057611cef8282613842565b611cf99084613842565b9250611d17565b611d0a8282613842565b611d1490846136a0565b92505b86861015611d3a57611d2a8387896125a1565b9250611d378287896125a1565b91505b509550959350505050565b5f80611d5c84611d568a888a6125a1565b90612833565b9050611d698884866125a1565b611d7390826136a0565b905086811115611d835786810391505b509695505050505050565b5f6001600160701b038211156113a95760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e01916001600160801b031690613842565b9050805f03611e1457600191505061137a565b5f611e1e85612870565b9050805f03611e325760019250505061137a565b5f80611e3f83858961290b565b9150915080611e54575f94505050505061137a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e8f9291906139d0565b6040805180830381865af4158015611ea9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ecd9190613a45565b91509150611eeb611edd82611380565b611ee690613a67565b612a7f565b925082611f00575f965050505050505061137a565b611f0982611a9e565b600780545f90611f239084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5081611a9e565b60078054601090611f72908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fcd87612c13565b6040518263ffffffff1660e01b8152600401611fe99190613a81565b6040805180830381865af4158015612003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120279190613a90565b915091508061203c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120a1916136a0565b6120ab9190613842565b9050805f036120c157505f958695509350505050565b5f8087116120cf575f6120da565b6120da8488846125a1565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561210b5761210b613abe565b6040519080825280601f01601f191660200182016040528015612135576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612155578692505b828152825f602083013e90999098509650505050505050565b5f8061217861060a565b9050808311612187575f612191565b6121918184613842565b91506115dc827f0000000000000000000000000000000000000000000000000000000000000000612833565b5f80806121dd6121d588670de0b6b3a7640000613842565b899087612d4d565b9050861561221f576121ef888861258d565b91506122108a8a846122098a670de0b6b3a7640000613842565b8989612d70565b925061221c83826136a0565b90505b9750975097945050505050565b5f61224961224284670de0b6b3a7640000613842565b839061258d565b6115dc90670de0b6b3a7640000613842565b5f8061229185612269611a68565b61227391906136a0565b600254611008908790600160801b90046001600160801b0316613842565b909210949350505050565b5f8080806122f287866122eb8b6122e56122be8c670de0b6b3a7640000613842565b7f00000000000000000000000000000000000000000000000000000000000000009061258d565b9061258d565b9190612d4d565b935061231e847f00000000000000000000000000000000000000000000000000000000000000006115e3565b91505f61233e61233689670de0b6b3a7640000613842565b8a9088612d4d565b905061236a817f000000000000000000000000000000000000000000000000000000000000000061258d565b9350612396847f00000000000000000000000000000000000000000000000000000000000000006115e3565b6123a090846136a0565b915050945094509450949050565b5f805f805f808888101561241a5786156123d0576123cd8d898b6125a1565b9c505b6123db8c898b6125a1565b9b506123e68b611380565b6123ef8d611380565b6123f991906136b3565b90506124068b898b6125a1565b9a506124138a898b6125a1565b9950612439565b6124238b611380565b61242c8d611380565b61243691906136b3565b90505b9b9c9a9b999a975050505050505050565b5f825f036124595750846124e7565b81156124ab5761248a61246c84876136a0565b61247685876115e3565b612480888a6115e3565b611d5691906136a0565b90505f6124978588611ac7565b9050808210156124a5578091505b506124e7565b8285036124b957505f6124e7565b6124e46124c68487613842565b6124d0858761258d565b6124da888a6115e3565b611d569190613842565b90505b95945050505050565b5f60016001607f1b031982128061250d575060016001607f1b0382135b156113a95760405163a5353be560e01b815260040160405180910390fd5b5f80612537845f612d92565b612541845f612d92565b61254b91906136b3565b90505f8113156125665761255f81866136a0565b9450612584565b5f8112156125845761257781613a67565b6125819086613842565b94505b50929392505050565b5f6115dc8383670de0b6b3a7640000612d4d565b5f825f1904841183021582026125b5575f80fd5b5091020490565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611a14565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b15801561266c575f80fd5b505af115801561267e573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146126ce576040519150601f19603f3d011682016040523d82523d5f602084013e6126d3565b606091505b50509050806126f5576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6127326001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612da7565b50505050565b5f808061275861275088670de0b6b3a7640000613842565b8990876125a1565b9050861561221f5761276a88886115e3565b91506122108a8a846127848a670de0b6b3a7640000613842565b8989612dfe565b5f806127978484612e0e565b9092509050806127a9576127a961144b565b5092915050565b5f815f036127c75750670de0b6b3a764000061137a565b825f036127d557505f61137a565b5f6127df83611380565b90505f6127f36127ee86611380565b612e49565b905081810261280a670de0b6b3a764000082613ad2565b90506128158161306e565b9695505050505050565b5f6115dc83670de0b6b3a764000084612d4d565b5f6115dc83670de0b6b3a7640000846125a1565b5f60016001607f1b038211156113a95760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061288a906001600160801b03168461281f565b90506128b67f0000000000000000000000000000000000000000000000000000000000000000826136a0565b6002546001600160801b03161115611ad5576002547f0000000000000000000000000000000000000000000000000000000000000000906129019083906001600160801b0316613842565b6115dc9190613842565b612913613593565b5f8061291e84612c13565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129589190613a81565b6040805180830381865af4158015612972573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129969190613a90565b93509050826129aa57505f9150612a779050565b5f6129d06129cb8461016001518561014001516115e390919063ffffffff16565b611380565b6129f06129cb85610120015186610100015161258d90919063ffffffff16565b6129fa91906136b3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b599190613afe565b935093509350935080612b7457505f98975050505050505050565b868414612ba557612b8484611a9e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bd657612bb5836124f0565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c0457612be682611a9e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c1b6135dd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d139116613200565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d4592900416613200565b905292915050565b5f825f190484118302158202612d61575f80fd5b50910281810615159190040190565b5f80612d80888888888888613274565b909250905080611d8357611d8361144b565b5f818313612da057816115dc565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612df9908490613350565b505050565b5f80612d808888888888886133b6565b5f805f83612e1b86611380565b612e2591906136b3565b90505f811215612e3b575f809250925050612e42565b9150600190505b9250929050565b5f808213612e6a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eed9084901c611380565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308757505f919050565b680755bf798b4a1bf1e582126130b0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061281574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611380565b5f80670de0b6b3a764000061321361060a565b61321d91906138b0565b905080831161322c575f613236565b6132368184613842565b91506115dc61326d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138b0565b8390612833565b5f805f6132848989888888613472565b90508688101561329a575f809250925050613345565b96869003966132a988876127b0565b9750878110156132bf575f809250925050613345565b8781036132cd818688612d4d565b9050670de0b6b3a76400008110613301576132fa6132f3670de0b6b3a76400008961281f565b82906127b0565b9050613319565b6133166132f3670de0b6b3a764000089612833565b90505b613323818661281f565b90508981101561333a575f80935093505050613345565b899003925060019150505b965096945050505050565b5f6133646001600160a01b038416836134a0565b905080515f141580156133885750808060200190518101906133869190613b31565b155b15612df957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6133c68989888888613472565b90506133d686611a98898b6136a0565b9750878110156133ec575f809250925050613345565b8781036133fa818688612d4d565b9050670de0b6b3a76400008110613427576134206132f3670de0b6b3a76400008961281f565b905061343f565b61343c6132f3670de0b6b3a764000089612833565b90505b613449818661281f565b9050808a1015613460575f80935093505050613345565b90980398600198509650505050505050565b5f61347d85856127b0565b61349661348e86611a98868b61258d565b859085612d4d565b6124e491906136a0565b60606115dc83835f845f80856001600160a01b031684866040516134c49190613b4c565b5f6040518083038185875af1925050503d805f81146134fe576040519150601f19603f3d011682016040523d82523d5f602084013e613503565b606091505b50915091506128158683836060826135235761351e8261356a565b6115dc565b815115801561353a57506001600160a01b0384163b155b1561356357604051639996b31560e01b81526001600160a01b03851660048201526024016133ad565b50806115dc565b80511561357a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a76135dd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613645575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613670575f80fd5b850160608188031215613681575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561137a5761137a61368c565b8181035f8312801583831316838312821617156127a9576127a961368c565b6001600160a01b03811681146105f0575f80fd5b5f602082840312156136f6575f80fd5b81356115dc816136d2565b80151581146105f0575f80fd5b5f6020828403121561371e575f80fd5b81356115dc81613701565b5f808335601e1984360301811261373e575f80fd5b83018035915067ffffffffffffffff821115613758575f80fd5b602001915036819003821315612e42575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137cd60e08301848661376c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137fa576137fa61368c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61383560c08301848661376c565b9998505050505050505050565b8181038181111561137a5761137a61368c565b6001600160701b038181168382160190808211156127a9576127a961368c565b6001600160801b038181168382160190808211156127a9576127a961368c565b5f602082840312156138a5575f80fd5b81516115dc816136d2565b808202811582820484141761137a5761137a61368c565b6001600160801b038281168282160390808211156127a9576127a961368c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561137a5761137a61368c565b5f60208284031215613924575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261394d5761394d61392b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e3828551613952565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a56575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7b57613a7b61368c565b505f0390565b610180810161137a8284613952565b5f8060408385031215613aa1575f80fd5b825191506020830151613ab381613701565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae057613ae061392b565b600160ff1b82145f1984141615613af957613af961368c565b500590565b5f805f8060808587031215613b11575f80fd5b845193506020850151925060408501519150606085015161368181613701565b5f60208284031215613b41575f80fd5b81516115dc81613701565b5f82515f5b81811015613b6b5760208186018101518583015201613b51565b505f92019182525091905056fea264697066735822122053c59466b50b176de5e5f7cb37544af90bf60514632bb631cdff5f5ece78c39464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/RETHTarget1Deployer.ts new file mode 100644 index 000000000..8f03f9dde --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const RETHTarget1Deployer = { + name: 'RETHTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061450e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614036806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004036380380620040368339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bae620004885f395f50505f50505f610b8d01525f50505f8181610108015281816103730152612ca801525f81816113f2015281816117f00152818161185301528181612891015281816128cd01528181612ac50152612c8201525f818161074b01528181610e0401528181610e4b0152818161100a01528181611659015281816116a60152612c5c01525f611b9801525f8181611cb9015281816122fa015261237201525f818161090801528181610fa201528181611c8d015261234601525f8181610e9d01526122c001525f818161076c01528181610de201528181610e6c0152818161102b01528181611637015281816116c70152612cce01525f818161084601528181610f230152818161174e01528181612199015261324901525f818161061101528181610688015281816106fc015281816107c701526107ff01525f8181603b015281816119e1015281816125d401528181612623015261270b01525f5050613bae5ff3fe60806040526004361061002b575f3560e01c806329b23fc11461007f578063ded06231146100b0575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b34801561008a575f80fd5b5061009e610099366004613632565b6100cf565b60405190815260200160405180910390f35b3480156100bb575f80fd5b5061009e6100ca366004613632565b6100e7565b5f6100dc858585856100f4565b90505b949350505050565b5f6100dc8585858561035f565b5f6100fd610593565b610106826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156101475760405163211ddda360e11b815260040160405180910390fd5b5f6101506105f3565b9050854210156101755761016f61016561060a565b8260046001610635565b50610185565b610183868260046001610635565b505b61019a610193600288610c98565b3387610ccc565b5f805f805f806101ab8b888e610da2565b9550955095509550955095505f8c90508c421015610267578260095f8282546101d491906136a0565b909155506101ec90506101e561060a565b428461108a565b6101f98c888787856111c3565b5f6102038e61133a565b90506102216102118e611380565b61021b90836136b3565b826113ad565b61022a896113ec565b6102365761023661144b565b5f6102408a611464565b90508061026057604051638bdf918d60e01b815260040160405180910390fd5b505061027e565b6102718689611470565b955061027c88611464565b505b5f61028a878a8d61154c565b90508b8110156102ad5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e6102bd600288610c98565b6102ca60208301836136e6565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876103086040890160208a0161370e565b61031c8a6103168d8f6136a0565b906115e3565b8d61032a60408c018c613729565b60405161033e989796959493929190613794565b60405180910390a450939c505050505050505050505050506100df60015f55565b5f610368610593565b610371826105bb565b7f00000000000000000000000000000000000000000000000000000000000000008410156103b25760405163211ddda360e11b815260040160405180910390fd5b5f6103bb6105f3565b9050854210156103d6576103d061016561060a565b506103e6565b6103e4868260046001610635565b505b6103f4610193600188610c98565b5f805f805f806104058b888e6115f7565b9550955095509550955095505f8c90508c4210156104b4578260095f82825461042e91906136a0565b9091555061043f90506101e561060a565b61044c8c888787856117d9565b5f6104568261133a565b905061046e6104648e611380565b61021b90836137db565b610477896113ec565b6104835761048361144b565b5f61048d8a611464565b9050806104ad57604051638bdf918d60e01b815260040160405180910390fd5b50506104cb565b6104be8689611470565b95506104c988611464565b505b5f6104d7878a8d61154c565b90508b8110156104fa5760405163c972651760e01b815260040160405180910390fd5b8c898c610508600186610c98565b61051560208301836136e6565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876105536040890160208a0161370e565b8a61056160408b018b613729565b6040516105749796959493929190613802565b60405180910390a450919a50505050505050505050506100df60015f55565b60025f54036105b557604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6105c960208301836136e6565b6001600160a01b0316036105f05760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610605670de0b6b3a76400006119c9565b905090565b5f610605427f0000000000000000000000000000000000000000000000000000000000000000611a53565b5f84815260086020526040812060018101546001600160801b031615158061065c57504286115b1561067557600101546001600160801b031690506100df565b5f805f61068061060a565b90505f6106ad7f00000000000000000000000000000000000000000000000000000000000000008b6136a0565b90505b81811015610721575f818152600860205260409020600101546001600160801b031680156106f9575f828152600860205260409020549094506001600160801b03169250610721565b507f0000000000000000000000000000000000000000000000000000000000000000016106b0565b835f0361079357889350610790610736611a68565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b92505b5061079d83611a9e565b6001850180546001600160801b0319166001600160801b03929092169190911790556107f36107ec7f00000000000000000000000000000000000000000000000000000000000000008b613842565b8a8461108a565b6108318961082b6108247f0000000000000000000000000000000000000000000000000000000000000000836136a0565b4290611ac7565b8461108a565b61083a88611adb565b505f905060088161086b7f00000000000000000000000000000000000000000000000000000000000000008d613842565b815260208101919091526040015f908120600101546001600160801b0316915061089660028c610c98565b5f818152600b60205260408120549192508c8c83156109d757600192505f806108c286898d865f611c78565b915091508060095f8282546108d791906136a0565b909155506108f29050865f846108ec81611380565b886111c3565b6108fc81836136a0565b915061092c86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d45565b915061094061093b83856115e3565b611d8e565b600680546002906109619084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061098e82611a9e565b600680546010906109b0908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6109e3600184610c98565b5f818152600b60205260409020549091508015610aee57600194505f80610a0e838b8f886001611c78565b915091508060095f828254610a2391906136a0565b90915550610a3e9050835f84610a3881611380565b8a6117d9565b610a488183613842565b9150610a5761093b83876115e3565b60068054600290610a789084906201000090046001600160701b0316613855565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610aa582611a9e565b60068054601090610ac7908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b2757610b19610b0087611380565b610b0983611380565b610b1391906136b3565b5f6113ad565b8e610b248482611db7565b50505b5f610b3184611fa6565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b9190613895565b90506001600160a01b03811615610c7f57610c7c5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906120e8565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610cc15760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610d0e57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610d50908490613842565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610db2611a68565b90505f610dbe8a61216e565b6002549091508c908c90610e28908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006121bd565b600254919d509a50909550610e90908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b9550610ec6858c610ec1897f000000000000000000000000000000000000000000000000000000000000000061222c565b61225b565b15610ed357610ed361144b565b5f805f610ee285878b8761229c565b9c5091945092509050610ef58184613842565b610eff90896136a0565b9750610f0b82846136a0565b610f15908d6136a0565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610f4d9190613842565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f93575f8b8152600860205260409020600101546001600160801b0316610f95565b8b5b90508b610fc68e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611d45565b9950610fd2878a613842565b9850670de0b6b3a764000061104f610fea87876136a0565b600254611008908f90600160801b90046001600160801b0316613842565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b111561105d5761105d61144b565b61106c8a8a878a87875f6123ae565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110b55750505050565b5f848152600860205260408120546001600160801b03169081900361110d576110dd83611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561118a565b61115e611159670de0b6b3a76400006111268886613842565b61113091906138b0565b85670de0b6b3a7640000611144878a613842565b61114e91906138b0565b85929190600161244a565b611a9e565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61119384611a9e565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b031661120b611159826111ef670de0b6b3a7640000866138b0565b600554600160801b90046001600160801b031691908a5f61244a565b600580546001600160801b03928316600160801b02921691909117905561123186611a9e565b61123b90826138c7565b600480546001600160801b03928316600160801b02921691909117905561126184611a9e565b600280545f9061127b9084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112a8836124f0565b600480545f906112bc908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506112ec85611a9e565b6002805460109061130e908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f61135f600b5f61134c600286610c98565b81526020019081526020015f2054611380565b611370600b5f61134c600187610c98565b61137a91906136b3565b92915050565b5f6001600160ff1b038211156113a95760405163396ea70160e11b815260040160405180910390fd5b5090565b6003546113c890611159906001600160801b0316848461252b565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6114177f00000000000000000000000000000000000000000000000000000000000000008361258d565b60035461142d91906001600160801b03166136a0565b600254611443906001600160801b0316846115e3565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61137a826004611db7565b5f805f61147c84611adb565b90925090505f61148c86866115e3565b9050818311156114a4576114a18683856125a1565b95505b828110156114b65780830392506114ba565b5f92505b6114c383611d8e565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b909104168087101561151657869003611519565b505f5b61152281611a9e565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f8061155885856115e3565b9050611563816125bc565b9450845f03611575575f9150506115dc565b849150611588604084016020850161370e565b156115b7576115b08561159e60208601866136e6565b6115ab6040870187613729565b61260b565b91506115da565b6115da856115c860208601866136e6565b6115d56040870187613729565b6126fe565b505b9392505050565b5f6115dc8383670de0b6b3a76400006125a1565b5f805f805f805f80611607611a68565b90505f6116138a61216e565b6002549091508b908d9061167d908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612738565b600254919d509b509095505f90819081906116eb908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a88565b98506116f984878b8861229c565b9c50919450909250905061170d8284613842565b6117179089613842565b975061172381846136a0565b61172d908e613842565b9c506117398a8e6136a0565b9b50505050505050506117c38686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117789190613842565b815260208101919091526040015f20600101546001600160801b0316428e116117ba575f8e8152600860205260409020600101546001600160801b03166117bc565b8e5b60016123ae565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b03168381108061181b57507f00000000000000000000000000000000000000000000000000000000000000006118198583613842565b105b156118285761182861144b565b6004549084900390600f0b61183d84826136b3565b90508361184986611380565b13801561187e57507f000000000000000000000000000000000000000000000000000000000000000061187c838361278b565b105b1561188b5761188b61144b565b600354600160801b90046001600160801b03166118cc611159826118b7670de0b6b3a7640000886138b0565b6005546001600160801b031691908c5f61244a565b600580546001600160801b0319166001600160801b03929092169190911790556118f68882613842565b905061190181611a9e565b600380546001600160801b03928316600160801b02921691909117905561192783611a9e565b600280546001600160801b0319166001600160801b0392909216919091179055611950826124f0565b600480546001600160801b0319166001600160801b039290921691909117905561197987611a9e565b6002805460109061199b908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611a2f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137a9190613914565b5f611a5e828461393f565b6115dc9084613842565b6002546004545f91610605916001600160801b0390911690600f0b61278b565b5f6100dc82611a988588886125a1565b906127b0565b5f6001600160801b038211156113a957604051630f0af95160e11b815260040160405180910390fd5b5f818311611ad557826115dc565b50919050565b6006545f908190611afd908490600160801b90046001600160801b03166115e3565b6006546201000090046001600160701b03169250905081811115611c73575f611b268383613842565b9050611b35611159828661281f565b60068054601090611b57908490600160801b90046001600160801b03166138c7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b8f858361283390919063ffffffff16565b90505f611bbc827f00000000000000000000000000000000000000000000000000000000000000006115e3565b90508060095f828254611bcf91906136a0565b90915550611bdf90508183613842565b9150611bea82611a9e565b600280545f90611c049084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c3182612847565b600480545f90611c45908490600f0b6138e7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c848785612833565b91505f611cb1837f00000000000000000000000000000000000000000000000000000000000000006115e3565b9050611cdd817f00000000000000000000000000000000000000000000000000000000000000006115e3565b91508315611d0057611cef8282613842565b611cf99084613842565b9250611d17565b611d0a8282613842565b611d1490846136a0565b92505b86861015611d3a57611d2a8387896125a1565b9250611d378287896125a1565b91505b509550959350505050565b5f80611d5c84611d568a888a6125a1565b90612833565b9050611d698884866125a1565b611d7390826136a0565b905086811115611d835786810391505b509695505050505050565b5f6001600160701b038211156113a95760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611e01916001600160801b031690613842565b9050805f03611e1457600191505061137a565b5f611e1e85612870565b9050805f03611e325760019250505061137a565b5f80611e3f83858961290b565b9150915080611e54575f94505050505061137a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e8f9291906139d0565b6040805180830381865af4158015611ea9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ecd9190613a45565b91509150611eeb611edd82611380565b611ee690613a67565b612a7f565b925082611f00575f965050505050505061137a565b611f0982611a9e565b600780545f90611f239084906001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f5081611a9e565b60078054601090611f72908490600160801b90046001600160801b0316613875565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611fcd87612c13565b6040518263ffffffff1660e01b8152600401611fe99190613a81565b6040805180830381865af4158015612003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120279190613a90565b915091508061203c57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916120a1916136a0565b6120ab9190613842565b9050805f036120c157505f958695509350505050565b5f8087116120cf575f6120da565b6120da8488846125a1565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561210b5761210b613abe565b6040519080825280601f01601f191660200182016040528015612135576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612155578692505b828152825f602083013e90999098509650505050505050565b5f8061217861060a565b9050808311612187575f612191565b6121918184613842565b91506115dc827f0000000000000000000000000000000000000000000000000000000000000000612833565b5f80806121dd6121d588670de0b6b3a7640000613842565b899087612d4d565b9050861561221f576121ef888861258d565b91506122108a8a846122098a670de0b6b3a7640000613842565b8989612d70565b925061221c83826136a0565b90505b9750975097945050505050565b5f61224961224284670de0b6b3a7640000613842565b839061258d565b6115dc90670de0b6b3a7640000613842565b5f8061229185612269611a68565b61227391906136a0565b600254611008908790600160801b90046001600160801b0316613842565b909210949350505050565b5f8080806122f287866122eb8b6122e56122be8c670de0b6b3a7640000613842565b7f00000000000000000000000000000000000000000000000000000000000000009061258d565b9061258d565b9190612d4d565b935061231e847f00000000000000000000000000000000000000000000000000000000000000006115e3565b91505f61233e61233689670de0b6b3a7640000613842565b8a9088612d4d565b905061236a817f000000000000000000000000000000000000000000000000000000000000000061258d565b9350612396847f00000000000000000000000000000000000000000000000000000000000000006115e3565b6123a090846136a0565b915050945094509450949050565b5f805f805f808888101561241a5786156123d0576123cd8d898b6125a1565b9c505b6123db8c898b6125a1565b9b506123e68b611380565b6123ef8d611380565b6123f991906136b3565b90506124068b898b6125a1565b9a506124138a898b6125a1565b9950612439565b6124238b611380565b61242c8d611380565b61243691906136b3565b90505b9b9c9a9b999a975050505050505050565b5f825f036124595750846124e7565b81156124ab5761248a61246c84876136a0565b61247685876115e3565b612480888a6115e3565b611d5691906136a0565b90505f6124978588611ac7565b9050808210156124a5578091505b506124e7565b8285036124b957505f6124e7565b6124e46124c68487613842565b6124d0858761258d565b6124da888a6115e3565b611d569190613842565b90505b95945050505050565b5f60016001607f1b031982128061250d575060016001607f1b0382135b156113a95760405163a5353be560e01b815260040160405180910390fd5b5f80612537845f612d92565b612541845f612d92565b61254b91906136b3565b90505f8113156125665761255f81866136a0565b9450612584565b5f8112156125845761257781613a67565b6125819086613842565b94505b50929392505050565b5f6115dc8383670de0b6b3a7640000612d4d565b5f825f1904841183021582026125b5575f80fd5b5091020490565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611a14565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b15801561266c575f80fd5b505af115801561267e573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146126ce576040519150601f19603f3d011682016040523d82523d5f602084013e6126d3565b606091505b50509050806126f5576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6127326001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612da7565b50505050565b5f808061275861275088670de0b6b3a7640000613842565b8990876125a1565b9050861561221f5761276a88886115e3565b91506122108a8a846127848a670de0b6b3a7640000613842565b8989612dfe565b5f806127978484612e0e565b9092509050806127a9576127a961144b565b5092915050565b5f815f036127c75750670de0b6b3a764000061137a565b825f036127d557505f61137a565b5f6127df83611380565b90505f6127f36127ee86611380565b612e49565b905081810261280a670de0b6b3a764000082613ad2565b90506128158161306e565b9695505050505050565b5f6115dc83670de0b6b3a764000084612d4d565b5f6115dc83670de0b6b3a7640000846125a1565b5f60016001607f1b038211156113a95760405163a5353be560e01b815260040160405180910390fd5b6003545f90819061288a906001600160801b03168461281f565b90506128b67f0000000000000000000000000000000000000000000000000000000000000000826136a0565b6002546001600160801b03161115611ad5576002547f0000000000000000000000000000000000000000000000000000000000000000906129019083906001600160801b0316613842565b6115dc9190613842565b612913613593565b5f8061291e84612c13565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129589190613a81565b6040805180830381865af4158015612972573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129969190613a90565b93509050826129aa57505f9150612a779050565b5f6129d06129cb8461016001518561014001516115e390919063ffffffff16565b611380565b6129f06129cb85610120015186610100015161258d90919063ffffffff16565b6129fa91906136b3565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b599190613afe565b935093509350935080612b7457505f98975050505050505050565b868414612ba557612b8484611a9e565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bd657612bb5836124f0565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c0457612be682611a9e565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c1b6135dd565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d139116613200565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d4592900416613200565b905292915050565b5f825f190484118302158202612d61575f80fd5b50910281810615159190040190565b5f80612d80888888888888613274565b909250905080611d8357611d8361144b565b5f818313612da057816115dc565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612df9908490613350565b505050565b5f80612d808888888888886133b6565b5f805f83612e1b86611380565b612e2591906136b3565b90505f811215612e3b575f809250925050612e42565b9150600190505b9250929050565b5f808213612e6a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612eed9084901c611380565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361308757505f919050565b680755bf798b4a1bf1e582126130b0576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061281574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611380565b5f80670de0b6b3a764000061321361060a565b61321d91906138b0565b905080831161322c575f613236565b6132368184613842565b91506115dc61326d670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138b0565b8390612833565b5f805f6132848989888888613472565b90508688101561329a575f809250925050613345565b96869003966132a988876127b0565b9750878110156132bf575f809250925050613345565b8781036132cd818688612d4d565b9050670de0b6b3a76400008110613301576132fa6132f3670de0b6b3a76400008961281f565b82906127b0565b9050613319565b6133166132f3670de0b6b3a764000089612833565b90505b613323818661281f565b90508981101561333a575f80935093505050613345565b899003925060019150505b965096945050505050565b5f6133646001600160a01b038416836134a0565b905080515f141580156133885750808060200190518101906133869190613b31565b155b15612df957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6133c68989888888613472565b90506133d686611a98898b6136a0565b9750878110156133ec575f809250925050613345565b8781036133fa818688612d4d565b9050670de0b6b3a76400008110613427576134206132f3670de0b6b3a76400008961281f565b905061343f565b61343c6132f3670de0b6b3a764000089612833565b90505b613449818661281f565b9050808a1015613460575f80935093505050613345565b90980398600198509650505050505050565b5f61347d85856127b0565b61349661348e86611a98868b61258d565b859085612d4d565b6124e491906136a0565b60606115dc83835f845f80856001600160a01b031684866040516134c49190613b4c565b5f6040518083038185875af1925050503d805f81146134fe576040519150601f19603f3d011682016040523d82523d5f602084013e613503565b606091505b50915091506128158683836060826135235761351e8261356a565b6115dc565b815115801561353a57506001600160a01b0384163b155b1561356357604051639996b31560e01b81526001600160a01b03851660048201526024016133ad565b50806115dc565b80511561357a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135a76135dd565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613645575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613670575f80fd5b850160608188031215613681575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561137a5761137a61368c565b8181035f8312801583831316838312821617156127a9576127a961368c565b6001600160a01b03811681146105f0575f80fd5b5f602082840312156136f6575f80fd5b81356115dc816136d2565b80151581146105f0575f80fd5b5f6020828403121561371e575f80fd5b81356115dc81613701565b5f808335601e1984360301811261373e575f80fd5b83018035915067ffffffffffffffff821115613758575f80fd5b602001915036819003821315612e42575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6137cd60e08301848661376c565b9a9950505050505050505050565b8082018281125f8312801582168215821617156137fa576137fa61368c565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61383560c08301848661376c565b9998505050505050505050565b8181038181111561137a5761137a61368c565b6001600160701b038181168382160190808211156127a9576127a961368c565b6001600160801b038181168382160190808211156127a9576127a961368c565b5f602082840312156138a5575f80fd5b81516115dc816136d2565b808202811582820484141761137a5761137a61368c565b6001600160801b038281168282160390808211156127a9576127a961368c565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561137a5761137a61368c565b5f60208284031215613924575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261394d5761394d61392b565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e3828551613952565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a56575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7b57613a7b61368c565b505f0390565b610180810161137a8284613952565b5f8060408385031215613aa1575f80fd5b825191506020830151613ab381613701565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae057613ae061392b565b600160ff1b82145f1984141615613af957613af961368c565b500590565b5f805f8060808587031215613b11575f80fd5b845193506020850151925060408501519150606085015161368181613701565b5f60208284031215613b41575f80fd5b81516115dc81613701565b5f82515f5b81811015613b6b5760208186018101518583015201613b51565b505f92019182525091905056fea264697066735822122053c59466b50b176de5e5f7cb37544af90bf60514632bb631cdff5f5ece78c39464736f6c63430008160033a2646970667358221220afcf4be5087f0dc30e7cdea3e31310f8f73d592af2547546b9da163c9528143764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget2.ts b/packages/hyperdrive-artifacts/src/RETHTarget2.ts new file mode 100644 index 000000000..55a672a40 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget2.ts @@ -0,0 +1,1019 @@ +export const RETHTarget2 = { + name: 'RETHTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004040380380620040408339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bb16200048f5f395f50505f50505f610c7b01525f50505f818161014c015281816103550152612c9f01525f818161159701528181611cbc01528181611d1f015281816124a601528181612888015281816128c401528181612abc0152612c7901525f818161083901528181610dd501528181610e1701528181610f090152818161136f015281816113cd0152612c5301525f6118e601525f8181611a07015281816125970152818161260f0152612db701525f81816109f601528181610e8a01528181611468015281816119db01526125e301525f8181610e69015281816125630152612d7301525f818161085a01528181610db301528181610e3801528181610f2a0152818161134d015281816113ee0152612cc501525f8181610226015281816103e90152818161093401526132a101525f81816106fa01528181610776015281816107ea015281816108b501526108ed01525f8181603b015281816114cf015261174c01525f5050613bb15ff3fe60806040526004361061002b575f3560e01c8063cba2e58d1461007f578063dbbe8070146100ab575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613635565b6100be565b6040805192835260208301919091520160405180910390f35b6100926100b9366004613635565b6100da565b5f806100cc868686866100e8565b915091505b94509492505050565b5f806100cc8686868661030f565b5f806100f2610584565b600654610100900460ff161561011b576040516321081abf60e01b815260040160405180910390fd5b6101236105ac565b61012c836105cd565b5f806101388886610605565b90925090505f61014883836106d6565b90507f000000000000000000000000000000000000000000000000000000000000000081101561018b5760405163211ddda360e11b815260040160405180910390fd5b868210156101ac576040516342af972b60e01b815260040160405180910390fd5b5f6101b56106f3565b90506101c5818460046001610723565b505f805f6101d38787610d87565b919a5091945090925090508b8810156101ff5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461021091906136a3565b909155506102219050844283610f66565b61024b7f0000000000000000000000000000000000000000000000000000000000000000856136a3565b98506102598389888c61109f565b5f61026560018b611236565b905061027e8161027860208e018e6136ca565b8b61126a565b8d8a8a898e8561029160208301836136ca565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ce60408801602089016136f2565b896102dc60408a018a61370d565b6040516102ef9796959493929190613778565b60405180910390a350909b5050505050505050505050506100d160015f55565b5f80610319610584565b600654610100900460ff1615610342576040516321081abf60e01b815260040160405180910390fd5b61034a6105ac565b610353836105cd565b7f00000000000000000000000000000000000000000000000000000000000000008610156103945760405163211ddda360e11b815260040160405180910390fd5b5f61039d61130f565b9050848110156103c0576040516342af972b60e01b815260040160405180910390fd5b5f6103c96106f3565b90505f6103e16103d76106f3565b8460046001610723565b90505f61040e7f0000000000000000000000000000000000000000000000000000000000000000846136a3565b90505f805f8061041f8e8988611321565b60098054949850929650909450925083915f9061043d9084906136a3565b9091555061044e9050874283610f66565b61046061045b858a6114a3565b6114b7565b61046b9060016136a3565b9350505f61047a84898d611540565b9050808d101561049d5760405163c972651760e01b815260040160405180910390fd5b6104a7818c610605565b508e90506104b781858b89611571565b5f6104c3600288611236565b90508c6104dd826104d760208401846136ca565b8561126a565b858b86846104ee60208601866136ca565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661052b60408b0160208c016136f2565b61053f896105398a8d6137b8565b906106d6565b8d61054d60408e018e61370d565b6040516105619897969594939291906137cb565b60405180910390a350989d50939b5050505050505050505050506100d160015f55565b60025f54036105a657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b34156105cb57604051631574f9f360e01b815260040160405180910390fd5b565b5f6105db60208301836136ca565b6001600160a01b0316036106025760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f8061061860408501602086016136f2565b1561063d576106338561062e604087018761370d565b611724565b9093509050610655565b503461065585610650604087018761370d565b61173f565b61065d61130f565b915080156106cd576040515f90339083908381818185875af1925050503d805f81146106a4576040519150601f19603f3d011682016040523d82523d5f602084013e6106a9565b606091505b50509050806106cb576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106ea8383670de0b6b3a7640000611779565b90505b92915050565b5f61071e427f0000000000000000000000000000000000000000000000000000000000000000611794565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074a57504286115b1561076357600101546001600160801b03169050610d7f565b5f805f61076e6106f3565b90505f61079b7f00000000000000000000000000000000000000000000000000000000000000008b6136a3565b90505b8181101561080f575f818152600860205260409020600101546001600160801b031680156107e7575f828152600860205260409020549094506001600160801b0316925061080f565b507f00000000000000000000000000000000000000000000000000000000000000000161079e565b835f036108815788935061087e6108246117a9565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b92505b5061088b836117e8565b6001850180546001600160801b0319166001600160801b03929092169190911790556108e16108da7f00000000000000000000000000000000000000000000000000000000000000008b6137b8565b8a84610f66565b61091f896109196109127f0000000000000000000000000000000000000000000000000000000000000000836136a3565b4290611815565b84610f66565b61092888611829565b505f90506008816109597f00000000000000000000000000000000000000000000000000000000000000008d6137b8565b815260208101919091526040015f908120600101546001600160801b0316915061098460028c611236565b5f818152600b60205260408120549192508c8c8315610ac557600192505f806109b086898d865f6119c6565b915091508060095f8282546109c591906136a3565b909155506109e09050865f846109da81611a93565b88611abc565b6109ea81836136a3565b9150610a1a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c33565b9150610a2e610a2983856106d6565b611c7c565b60068054600290610a4f9084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7c826117e8565b60068054601090610a9e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ad1600184611236565b5f818152600b60205260409020549091508015610bdc57600194505f80610afc838b8f8860016119c6565b915091508060095f828254610b1191906136a3565b90915550610b2c9050835f84610b2681611a93565b8a611ca5565b610b3681836137b8565b9150610b45610a2983876106d6565b60068054600290610b669084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b93826117e8565b60068054601090610bb5908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c1557610c07610bee87611a93565b610bf783611a93565b610c019190613852565b5f611e95565b8e610c128482611ed4565b50505b5f610c1f846120c3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf99190613871565b90506001600160a01b03811615610d6d57610d6a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612205565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d946117a9565b600254909150610df9908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061228b565b600254909450610e5c908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b9150610eb38785610eae857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122b6565b61231a565b15610ec057610ec061235b565b610ecc87858885612374565b91965094509250670de0b6b3a7640000610f4e610ee987846136a3565b600254610f07908890600160801b90046001600160801b03166137b8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b1115610f5c57610f5c61235b565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f915750505050565b5f848152600860205260408120546001600160801b031690819003610fe957610fb9836117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611066565b61103a611035670de0b6b3a764000061100288866137b8565b61100c919061388c565b85670de0b6b3a7640000611020878a6137b8565b61102a919061388c565b8592919060016123bc565b6117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106f846117e8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110e1611035826110cb670de0b6b3a76400008661388c565b6005546001600160801b031691908860016123bc565b600580546001600160801b0319166001600160801b039290921691909117905561110a856117e8565b600280545f906111249084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611151846117e8565b60028054601090611173908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111a0846117e8565b6111aa9082613832565b600380546001600160801b03808416600160801b02911617905590505f6111d083612460565b90506111ee816111df87611a93565b6111e990846138c3565b611e95565b6111f7846124a0565b6112035761120361235b565b5f61120d856124ff565b90508061122d57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561125f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061129b9084906136a3565b90915550505f838152600b6020526040812080548392906112bd9084906136a3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61071e670de0b6b3a76400006114b7565b5f805f805f61132e6117a9565b600254909150611393908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061250b565b9350876113a0858961252b565b11156113ae576113ae61235b565b6002545f908190611412908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b93506114288a670de0b6b3a7640000868c61253f565b5091935090915061143b905081836137b8565b61144590876137b8565b9550886114928161148c8d61145a868c6137b8565b8d611465878261264b565b877f0000000000000000000000000000000000000000000000000000000000000000612660565b9061252b565b975090945050505093509350935093565b5f6106ea83670de0b6b3a764000084612680565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa15801561151c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ed91906138ea565b5f61155160408301602084016136f2565b1561155d57508261156a565b61156784846126a3565b90505b9392505050565b6002546001600160801b03168381101561158d5761158d61235b565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906115c5908390600f0b6126b7565b10156115d3576115d361235b565b60045461161d9061103590600160801b90046001600160801b0316611600670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908960016123bc565b600580546001600160801b03928316600160801b029216919091179055611643816117e8565b600280546001600160801b0319166001600160801b039290921691909117905561166c856117e8565b6002805460109061168e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116bb856117e8565b600480546010906116dd908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61170b83612460565b90506111ee8161171a88611a93565b6111e99084613852565b5f8060405163350b944160e11b815260040160405180910390fd5b6117746001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866126dc565b505050565b5f825f19048411830215820261178d575f80fd5b5091020490565b5f61179f8284613915565b6106ea90846137b8565b6002546004545f9161071e916001600160801b0390911690600f0b6126b7565b5f6117df826117d9858888611779565b9061273c565b95945050505050565b5f6001600160801b0382111561181157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161182357826106ea565b50919050565b6006545f90819061184b908490600160801b90046001600160801b03166106d6565b6006546201000090046001600160701b031692509050818111156119c1575f61187483836137b8565b905061188361103582866114a3565b600680546010906118a5908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118dd85836126a390919063ffffffff16565b90505f61190a827f00000000000000000000000000000000000000000000000000000000000000006106d6565b90508060095f82825461191d91906136a3565b9091555061192d905081836137b8565b9150611938826117e8565b600280545f906119529084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197f826127a1565b600480545f90611993908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119d287856126a3565b91505f6119ff837f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050611a2b817f00000000000000000000000000000000000000000000000000000000000000006106d6565b91508315611a4e57611a3d82826137b8565b611a4790846137b8565b9250611a65565b611a5882826137b8565b611a6290846136a3565b92505b86861015611a8857611a78838789611779565b9250611a85828789611779565b91505b509550959350505050565b5f6001600160ff1b038211156118115760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b0461103582611ae8670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908a5f6123bc565b600580546001600160801b03928316600160801b029216919091179055611b2a866117e8565b611b3490826138a3565b600480546001600160801b03928316600160801b029216919091179055611b5a846117e8565b600280545f90611b749084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ba1836127ca565b600480545f90611bb5908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611be5856117e8565b60028054601090611c07908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c4a84611c448a888a611779565b906126a3565b9050611c57888486611779565b611c6190826136a3565b905086811115611c715786810391505b509695505050505050565b5f6001600160701b038211156118115760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611ce757507f0000000000000000000000000000000000000000000000000000000000000000611ce585836137b8565b105b15611cf457611cf461235b565b6004549084900390600f0b611d098482613852565b905083611d1586611a93565b138015611d4a57507f0000000000000000000000000000000000000000000000000000000000000000611d4883836126b7565b105b15611d5757611d5761235b565b600354600160801b90046001600160801b0316611d9861103582611d83670de0b6b3a76400008861388c565b6005546001600160801b031691908c5f6123bc565b600580546001600160801b0319166001600160801b0392909216919091179055611dc288826137b8565b9050611dcd816117e8565b600380546001600160801b03928316600160801b029216919091179055611df3836117e8565b600280546001600160801b0319166001600160801b0392909216919091179055611e1c826127ca565b600480546001600160801b0319166001600160801b0392909216919091179055611e45876117e8565b60028054601090611e67908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611eb090611035906001600160801b03168484612805565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f1e916001600160801b0316906137b8565b9050805f03611f315760019150506106ed565b5f611f3b85612867565b9050805f03611f4f576001925050506106ed565b5f80611f5c838589612902565b9150915080611f71575f9450505050506106ed565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fac9291906139d3565b6040805180830381865af4158015611fc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fea9190613a48565b91509150612008611ffa82611a93565b61200390613a6a565b612a76565b92508261201d575f96505050505050506106ed565b612026826117e8565b600780545f906120409084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061206d816117e8565b6007805460109061208f908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120ea87612c0a565b6040518263ffffffff1660e01b81526004016121069190613a84565b6040805180830381865af4158015612120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121449190613a93565b915091508061215957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121be916136a3565b6121c891906137b8565b9050805f036121de57505f958695509350505050565b5f8087116121ec575f6121f7565b6121f7848884611779565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561222857612228613ac1565b6040519080825280601f01601f191660200182016040528015612252576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612272578692505b828152825f602083013e90999098509650505050505050565b5f6122ab8787876122a488670de0b6b3a76400006137b8565b8787612d44565b979650505050505050565b5f6115676122f66122cf84670de0b6b3a76400006137b8565b61148c670de0b6b3a76400006122e5818a6114a3565b6122ef91906137b8565b879061252b565b61230890670de0b6b3a76400006136a3565b611c4484670de0b6b3a76400006137b8565b5f80612350856123286117a9565b61233291906136a3565b600254610f07908790600160801b90046001600160801b03166137b8565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612384898789612d66565b909250905061239382896137b8565b97505f6123a182888a611779565b90506123ad818b6137b8565b9a989950979650505050505050565b5f825f036123cb5750846117df565b811561241d576123fc6123de84876136a3565b6123e885876106d6565b6123f2888a6106d6565b611c4491906136a3565b90505f6124098588611815565b905080821015612417578091505b506117df565b82850361242b57505f6117df565b61245661243884876137b8565b612442858761252b565b61244c888a6106d6565b611c4491906137b8565b9695505050505050565b5f612485600b5f612472600286611236565b81526020019081526020015f2054611a93565b612496600b5f612472600187611236565b6106ed9190613852565b5f6124cb7f00000000000000000000000000000000000000000000000000000000000000008361252b565b6003546124e191906001600160801b03166136a3565b6002546124f7906001600160801b0316846106d6565b101592915050565b5f6106ed826004611ed4565b5f6122ab87878761252488670de0b6b3a76400006137b8565b8787612de5565b5f6106ea8383670de0b6b3a7640000612680565b5f80808061258f87866125888b61148c6125618c670de0b6b3a76400006137b8565b7f00000000000000000000000000000000000000000000000000000000000000009061252b565b9190612680565b93506125bb847f00000000000000000000000000000000000000000000000000000000000000006106d6565b91505f6125db6125d389670de0b6b3a76400006137b8565b8a9088612680565b9050612607817f000000000000000000000000000000000000000000000000000000000000000061252b565b9350612633847f00000000000000000000000000000000000000000000000000000000000000006106d6565b61263d90846136a3565b915050945094509450949050565b5f81831161265957816106ea565b5090919050565b5f80612677846126718a888a612680565b906114a3565b9050611c578884865b5f825f190484118302158202612694575f80fd5b50910281810615159190040190565b5f6106ea83670de0b6b3a764000084611779565b5f806126c38484612df5565b9092509050806126d5576126d561235b565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612736908590612e2d565b50505050565b5f815f036127535750670de0b6b3a76400006106ed565b825f0361276157505f6106ed565b5f61276b83611a93565b90505f61277f61277a86611a93565b612e93565b9050818102612796670de0b6b3a764000082613ad5565b9050612456816130b8565b5f60016001607f1b038211156118115760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806127e7575060016001607f1b0382135b156118115760405163a5353be560e01b815260040160405180910390fd5b5f80612811845f61324a565b61281b845f61324a565b6128259190613852565b90505f8113156128405761283981866136a3565b945061285e565b5f81121561285e5761285181613a6a565b61285b90866137b8565b94505b50929392505050565b6003545f908190612881906001600160801b0316846114a3565b90506128ad7f0000000000000000000000000000000000000000000000000000000000000000826136a3565b6002546001600160801b03161115611823576002547f0000000000000000000000000000000000000000000000000000000000000000906128f89083906001600160801b03166137b8565b61156a91906137b8565b61290a613596565b5f8061291584612c0a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161294f9190613a84565b6040805180830381865af4158015612969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061298d9190613a93565b93509050826129a157505f9150612a6e9050565b5f6129c76129c28461016001518561014001516106d690919063ffffffff16565b611a93565b6129e76129c285610120015186610100015161252b90919063ffffffff16565b6129f19190613852565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b509190613b01565b935093509350935080612b6b57505f98975050505050505050565b868414612b9c57612b7b846117e8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bcd57612bac836127ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bfb57612bdd826117e8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c126135e0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d0a9116613258565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d3c92900416613258565b905292915050565b5f80612d548888888888886132cc565b909250905080611c7157611c7161235b565b5f80612daf8561148c85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612da5818c6114a3565b61148c91906137b8565b9150612ddb827f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050935093915050565b5f80612d54888888888888613390565b5f805f83612e0286611a93565b612e0c9190613852565b90505f811215612e22575f8092509250506106cf565b946001945092505050565b5f612e416001600160a01b0384168361344c565b905080515f14158015612e65575080806020019051810190612e639190613b34565b155b1561177457604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612eb45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f379084901c611a93565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130d157505f919050565b680755bf798b4a1bf1e582126130fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061245674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a93565b5f81831361265957816106ea565b5f80670de0b6b3a764000061326b6106f3565b613275919061388c565b9050808311613284575f61328e565b61328e81846137b8565b915061156a6132c5670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061388c565b83906126a3565b5f805f6132dc8989888888613459565b90506132f6866117d96132ef8a8d6136a3565b87906106d6565b9850613303858a86611779565b985088811015613319575f809250925050613385565b888103670de0b6b3a7640000811061334e57613347613340670de0b6b3a7640000896114a3565b829061273c565b9050613366565b613363613340670de0b6b3a7640000896126a3565b90505b8089101561337b575f80935093505050613385565b8803925060019150505b965096945050505050565b5f805f6133a08989888888613459565b90506133b0866117d9898b6136a3565b9750878110156133c6575f809250925050613385565b8781036133d4818688612680565b9050670de0b6b3a76400008110613401576133fa613340670de0b6b3a7640000896114a3565b9050613419565b613416613340670de0b6b3a7640000896126a3565b90505b61342381866114a3565b9050808a101561343a575f80935093505050613385565b90980398600198509650505050505050565b60606106ea83835f613487565b5f613464858561273c565b61347d613475866117d9868b61252b565b859085612680565b61245691906136a3565b6060814710156134ac5760405163cd78605960e01b8152306004820152602401612e8a565b5f80856001600160a01b031684866040516134c79190613b4f565b5f6040518083038185875af1925050503d805f8114613501576040519150601f19603f3d011682016040523d82523d5f602084013e613506565b606091505b5091509150612456868383606082613526576135218261356d565b61156a565b815115801561353d57506001600160a01b0384163b155b1561356657604051639996b31560e01b81526001600160a01b0385166004820152602401612e8a565b508061156a565b80511561357d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135aa6135e0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613648575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613673575f80fd5b850160608188031215613684575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106ed576106ed61368f565b6001600160a01b0381168114610602575f80fd5b5f602082840312156136da575f80fd5b813561156a816136b6565b8015158114610602575f80fd5b5f60208284031215613702575f80fd5b813561156a816136e5565b5f808335601e19843603018112613722575f80fd5b83018035915067ffffffffffffffff82111561373c575f80fd5b6020019150368190038213156106cf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ab60c083018486613750565b9998505050505050505050565b818103818111156106ed576106ed61368f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61380460e083018486613750565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126d5576126d561368f565b6001600160801b038181168382160190808211156126d5576126d561368f565b8181035f8312801583831316838312821617156126d5576126d561368f565b5f60208284031215613881575f80fd5b815161156a816136b6565b80820281158282048414176106ed576106ed61368f565b6001600160801b038281168282160390808211156126d5576126d561368f565b8082018281125f8312801582168215821617156138e2576138e261368f565b505092915050565b5f602082840312156138fa575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261392357613923613901565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106ed576106ed61368f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e6828551613955565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a59575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7e57613a7e61368f565b505f0390565b61018081016106ed8284613955565b5f8060408385031215613aa4575f80fd5b825191506020830151613ab6816136e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae357613ae3613901565b600160ff1b82145f1984141615613afc57613afc61368f565b500590565b5f805f8060808587031215613b14575f80fd5b8451935060208501519250604085015191506060850151613684816136e5565b5f60208284031215613b44575f80fd5b815161156a816136e5565b5f82515f5b81811015613b6e5760208186018101518583015201613b54565b505f92019182525091905056fea264697066735822122047b238710ac289c637a699cb1c245d96419af6fc92d3a63ea6dfddea4568736864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/RETHTarget2Deployer.ts new file mode 100644 index 000000000..d1d2d5924 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const RETHTarget2Deployer = { + name: 'RETHTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506145188061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614040806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004040380380620040408339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613bb16200048f5f395f50505f50505f610c7b01525f50505f818161014c015281816103550152612c9f01525f818161159701528181611cbc01528181611d1f015281816124a601528181612888015281816128c401528181612abc0152612c7901525f818161083901528181610dd501528181610e1701528181610f090152818161136f015281816113cd0152612c5301525f6118e601525f8181611a07015281816125970152818161260f0152612db701525f81816109f601528181610e8a01528181611468015281816119db01526125e301525f8181610e69015281816125630152612d7301525f818161085a01528181610db301528181610e3801528181610f2a0152818161134d015281816113ee0152612cc501525f8181610226015281816103e90152818161093401526132a101525f81816106fa01528181610776015281816107ea015281816108b501526108ed01525f8181603b015281816114cf015261174c01525f5050613bb15ff3fe60806040526004361061002b575f3560e01c8063cba2e58d1461007f578063dbbe8070146100ab575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613635565b6100be565b6040805192835260208301919091520160405180910390f35b6100926100b9366004613635565b6100da565b5f806100cc868686866100e8565b915091505b94509492505050565b5f806100cc8686868661030f565b5f806100f2610584565b600654610100900460ff161561011b576040516321081abf60e01b815260040160405180910390fd5b6101236105ac565b61012c836105cd565b5f806101388886610605565b90925090505f61014883836106d6565b90507f000000000000000000000000000000000000000000000000000000000000000081101561018b5760405163211ddda360e11b815260040160405180910390fd5b868210156101ac576040516342af972b60e01b815260040160405180910390fd5b5f6101b56106f3565b90506101c5818460046001610723565b505f805f6101d38787610d87565b919a5091945090925090508b8810156101ff5760405163c972651760e01b815260040160405180910390fd5b8160095f82825461021091906136a3565b909155506102219050844283610f66565b61024b7f0000000000000000000000000000000000000000000000000000000000000000856136a3565b98506102598389888c61109f565b5f61026560018b611236565b905061027e8161027860208e018e6136ca565b8b61126a565b8d8a8a898e8561029160208301836136ca565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102ce60408801602089016136f2565b896102dc60408a018a61370d565b6040516102ef9796959493929190613778565b60405180910390a350909b5050505050505050505050506100d160015f55565b5f80610319610584565b600654610100900460ff1615610342576040516321081abf60e01b815260040160405180910390fd5b61034a6105ac565b610353836105cd565b7f00000000000000000000000000000000000000000000000000000000000000008610156103945760405163211ddda360e11b815260040160405180910390fd5b5f61039d61130f565b9050848110156103c0576040516342af972b60e01b815260040160405180910390fd5b5f6103c96106f3565b90505f6103e16103d76106f3565b8460046001610723565b90505f61040e7f0000000000000000000000000000000000000000000000000000000000000000846136a3565b90505f805f8061041f8e8988611321565b60098054949850929650909450925083915f9061043d9084906136a3565b9091555061044e9050874283610f66565b61046061045b858a6114a3565b6114b7565b61046b9060016136a3565b9350505f61047a84898d611540565b9050808d101561049d5760405163c972651760e01b815260040160405180910390fd5b6104a7818c610605565b508e90506104b781858b89611571565b5f6104c3600288611236565b90508c6104dd826104d760208401846136ca565b8561126a565b858b86846104ee60208601866136ca565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a8661052b60408b0160208c016136f2565b61053f896105398a8d6137b8565b906106d6565b8d61054d60408e018e61370d565b6040516105619897969594939291906137cb565b60405180910390a350989d50939b5050505050505050505050506100d160015f55565b60025f54036105a657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b34156105cb57604051631574f9f360e01b815260040160405180910390fd5b565b5f6105db60208301836136ca565b6001600160a01b0316036106025760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f8061061860408501602086016136f2565b1561063d576106338561062e604087018761370d565b611724565b9093509050610655565b503461065585610650604087018761370d565b61173f565b61065d61130f565b915080156106cd576040515f90339083908381818185875af1925050503d805f81146106a4576040519150601f19603f3d011682016040523d82523d5f602084013e6106a9565b606091505b50509050806106cb576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106ea8383670de0b6b3a7640000611779565b90505b92915050565b5f61071e427f0000000000000000000000000000000000000000000000000000000000000000611794565b905090565b5f84815260086020526040812060018101546001600160801b031615158061074a57504286115b1561076357600101546001600160801b03169050610d7f565b5f805f61076e6106f3565b90505f61079b7f00000000000000000000000000000000000000000000000000000000000000008b6136a3565b90505b8181101561080f575f818152600860205260409020600101546001600160801b031680156107e7575f828152600860205260409020549094506001600160801b0316925061080f565b507f00000000000000000000000000000000000000000000000000000000000000000161079e565b835f036108815788935061087e6108246117a9565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b92505b5061088b836117e8565b6001850180546001600160801b0319166001600160801b03929092169190911790556108e16108da7f00000000000000000000000000000000000000000000000000000000000000008b6137b8565b8a84610f66565b61091f896109196109127f0000000000000000000000000000000000000000000000000000000000000000836136a3565b4290611815565b84610f66565b61092888611829565b505f90506008816109597f00000000000000000000000000000000000000000000000000000000000000008d6137b8565b815260208101919091526040015f908120600101546001600160801b0316915061098460028c611236565b5f818152600b60205260408120549192508c8c8315610ac557600192505f806109b086898d865f6119c6565b915091508060095f8282546109c591906136a3565b909155506109e09050865f846109da81611a93565b88611abc565b6109ea81836136a3565b9150610a1a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c33565b9150610a2e610a2983856106d6565b611c7c565b60068054600290610a4f9084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a7c826117e8565b60068054601090610a9e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610ad1600184611236565b5f818152600b60205260409020549091508015610bdc57600194505f80610afc838b8f8860016119c6565b915091508060095f828254610b1191906136a3565b90915550610b2c9050835f84610b2681611a93565b8a611ca5565b610b3681836137b8565b9150610b45610a2983876106d6565b60068054600290610b669084906201000090046001600160701b0316613812565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b93826117e8565b60068054601090610bb5908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610c1557610c07610bee87611a93565b610bf783611a93565b610c019190613852565b5f611e95565b8e610c128482611ed4565b50505b5f610c1f846120c3565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf99190613871565b90506001600160a01b03811615610d6d57610d6a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612205565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d946117a9565b600254909150610df9908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061228b565b600254909450610e5c908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b9150610eb38785610eae857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122b6565b61231a565b15610ec057610ec061235b565b610ecc87858885612374565b91965094509250670de0b6b3a7640000610f4e610ee987846136a3565b600254610f07908890600160801b90046001600160801b03166137b8565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b1115610f5c57610f5c61235b565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f915750505050565b5f848152600860205260408120546001600160801b031690819003610fe957610fb9836117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611066565b61103a611035670de0b6b3a764000061100288866137b8565b61100c919061388c565b85670de0b6b3a7640000611020878a6137b8565b61102a919061388c565b8592919060016123bc565b6117e8565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61106f846117e8565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b03166110e1611035826110cb670de0b6b3a76400008661388c565b6005546001600160801b031691908860016123bc565b600580546001600160801b0319166001600160801b039290921691909117905561110a856117e8565b600280545f906111249084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611151846117e8565b60028054601090611173908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506111a0846117e8565b6111aa9082613832565b600380546001600160801b03808416600160801b02911617905590505f6111d083612460565b90506111ee816111df87611a93565b6111e990846138c3565b611e95565b6111f7846124a0565b6112035761120361235b565b5f61120d856124ff565b90508061122d57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561125f5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061129b9084906136a3565b90915550505f838152600b6020526040812080548392906112bd9084906136a3565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61071e670de0b6b3a76400006114b7565b5f805f805f61132e6117a9565b600254909150611393908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061250b565b9350876113a0858961252b565b11156113ae576113ae61235b565b6002545f908190611412908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117c9565b93506114288a670de0b6b3a7640000868c61253f565b5091935090915061143b905081836137b8565b61144590876137b8565b9550886114928161148c8d61145a868c6137b8565b8d611465878261264b565b877f0000000000000000000000000000000000000000000000000000000000000000612660565b9061252b565b975090945050505093509350935093565b5f6106ea83670de0b6b3a764000084612680565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa15801561151c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ed91906138ea565b5f61155160408301602084016136f2565b1561155d57508261156a565b61156784846126a3565b90505b9392505050565b6002546001600160801b03168381101561158d5761158d61235b565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906115c5908390600f0b6126b7565b10156115d3576115d361235b565b60045461161d9061103590600160801b90046001600160801b0316611600670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908960016123bc565b600580546001600160801b03928316600160801b029216919091179055611643816117e8565b600280546001600160801b0319166001600160801b039290921691909117905561166c856117e8565b6002805460109061168e908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116bb856117e8565b600480546010906116dd908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61170b83612460565b90506111ee8161171a88611a93565b6111e99084613852565b5f8060405163350b944160e11b815260040160405180910390fd5b6117746001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330866126dc565b505050565b5f825f19048411830215820261178d575f80fd5b5091020490565b5f61179f8284613915565b6106ea90846137b8565b6002546004545f9161071e916001600160801b0390911690600f0b6126b7565b5f6117df826117d9858888611779565b9061273c565b95945050505050565b5f6001600160801b0382111561181157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161182357826106ea565b50919050565b6006545f90819061184b908490600160801b90046001600160801b03166106d6565b6006546201000090046001600160701b031692509050818111156119c1575f61187483836137b8565b905061188361103582866114a3565b600680546010906118a5908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6118dd85836126a390919063ffffffff16565b90505f61190a827f00000000000000000000000000000000000000000000000000000000000000006106d6565b90508060095f82825461191d91906136a3565b9091555061192d905081836137b8565b9150611938826117e8565b600280545f906119529084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061197f826127a1565b600480545f90611993908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f806119d287856126a3565b91505f6119ff837f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050611a2b817f00000000000000000000000000000000000000000000000000000000000000006106d6565b91508315611a4e57611a3d82826137b8565b611a4790846137b8565b9250611a65565b611a5882826137b8565b611a6290846136a3565b92505b86861015611a8857611a78838789611779565b9250611a85828789611779565b91505b509550959350505050565b5f6001600160ff1b038211156118115760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b0461103582611ae8670de0b6b3a76400008661388c565b600554600160801b90046001600160801b031691908a5f6123bc565b600580546001600160801b03928316600160801b029216919091179055611b2a866117e8565b611b3490826138a3565b600480546001600160801b03928316600160801b029216919091179055611b5a846117e8565b600280545f90611b749084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ba1836127ca565b600480545f90611bb5908490600f0b613928565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611be5856117e8565b60028054601090611c07908490600160801b90046001600160801b03166138a3565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c4a84611c448a888a611779565b906126a3565b9050611c57888486611779565b611c6190826136a3565b905086811115611c715786810391505b509695505050505050565b5f6001600160701b038211156118115760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611ce757507f0000000000000000000000000000000000000000000000000000000000000000611ce585836137b8565b105b15611cf457611cf461235b565b6004549084900390600f0b611d098482613852565b905083611d1586611a93565b138015611d4a57507f0000000000000000000000000000000000000000000000000000000000000000611d4883836126b7565b105b15611d5757611d5761235b565b600354600160801b90046001600160801b0316611d9861103582611d83670de0b6b3a76400008861388c565b6005546001600160801b031691908c5f6123bc565b600580546001600160801b0319166001600160801b0392909216919091179055611dc288826137b8565b9050611dcd816117e8565b600380546001600160801b03928316600160801b029216919091179055611df3836117e8565b600280546001600160801b0319166001600160801b0392909216919091179055611e1c826127ca565b600480546001600160801b0319166001600160801b0392909216919091179055611e45876117e8565b60028054601090611e67908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611eb090611035906001600160801b03168484612805565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f1e916001600160801b0316906137b8565b9050805f03611f315760019150506106ed565b5f611f3b85612867565b9050805f03611f4f576001925050506106ed565b5f80611f5c838589612902565b9150915080611f71575f9450505050506106ed565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fac9291906139d3565b6040805180830381865af4158015611fc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fea9190613a48565b91509150612008611ffa82611a93565b61200390613a6a565b612a76565b92508261201d575f96505050505050506106ed565b612026826117e8565b600780545f906120409084906001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061206d816117e8565b6007805460109061208f908490600160801b90046001600160801b0316613832565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6120ea87612c0a565b6040518263ffffffff1660e01b81526004016121069190613a84565b6040805180830381865af4158015612120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121449190613a93565b915091508061215957505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121be916136a3565b6121c891906137b8565b9050805f036121de57505f958695509350505050565b5f8087116121ec575f6121f7565b6121f7848884611779565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561222857612228613ac1565b6040519080825280601f01601f191660200182016040528015612252576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612272578692505b828152825f602083013e90999098509650505050505050565b5f6122ab8787876122a488670de0b6b3a76400006137b8565b8787612d44565b979650505050505050565b5f6115676122f66122cf84670de0b6b3a76400006137b8565b61148c670de0b6b3a76400006122e5818a6114a3565b6122ef91906137b8565b879061252b565b61230890670de0b6b3a76400006136a3565b611c4484670de0b6b3a76400006137b8565b5f80612350856123286117a9565b61233291906136a3565b600254610f07908790600160801b90046001600160801b03166137b8565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612384898789612d66565b909250905061239382896137b8565b97505f6123a182888a611779565b90506123ad818b6137b8565b9a989950979650505050505050565b5f825f036123cb5750846117df565b811561241d576123fc6123de84876136a3565b6123e885876106d6565b6123f2888a6106d6565b611c4491906136a3565b90505f6124098588611815565b905080821015612417578091505b506117df565b82850361242b57505f6117df565b61245661243884876137b8565b612442858761252b565b61244c888a6106d6565b611c4491906137b8565b9695505050505050565b5f612485600b5f612472600286611236565b81526020019081526020015f2054611a93565b612496600b5f612472600187611236565b6106ed9190613852565b5f6124cb7f00000000000000000000000000000000000000000000000000000000000000008361252b565b6003546124e191906001600160801b03166136a3565b6002546124f7906001600160801b0316846106d6565b101592915050565b5f6106ed826004611ed4565b5f6122ab87878761252488670de0b6b3a76400006137b8565b8787612de5565b5f6106ea8383670de0b6b3a7640000612680565b5f80808061258f87866125888b61148c6125618c670de0b6b3a76400006137b8565b7f00000000000000000000000000000000000000000000000000000000000000009061252b565b9190612680565b93506125bb847f00000000000000000000000000000000000000000000000000000000000000006106d6565b91505f6125db6125d389670de0b6b3a76400006137b8565b8a9088612680565b9050612607817f000000000000000000000000000000000000000000000000000000000000000061252b565b9350612633847f00000000000000000000000000000000000000000000000000000000000000006106d6565b61263d90846136a3565b915050945094509450949050565b5f81831161265957816106ea565b5090919050565b5f80612677846126718a888a612680565b906114a3565b9050611c578884865b5f825f190484118302158202612694575f80fd5b50910281810615159190040190565b5f6106ea83670de0b6b3a764000084611779565b5f806126c38484612df5565b9092509050806126d5576126d561235b565b5092915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612736908590612e2d565b50505050565b5f815f036127535750670de0b6b3a76400006106ed565b825f0361276157505f6106ed565b5f61276b83611a93565b90505f61277f61277a86611a93565b612e93565b9050818102612796670de0b6b3a764000082613ad5565b9050612456816130b8565b5f60016001607f1b038211156118115760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806127e7575060016001607f1b0382135b156118115760405163a5353be560e01b815260040160405180910390fd5b5f80612811845f61324a565b61281b845f61324a565b6128259190613852565b90505f8113156128405761283981866136a3565b945061285e565b5f81121561285e5761285181613a6a565b61285b90866137b8565b94505b50929392505050565b6003545f908190612881906001600160801b0316846114a3565b90506128ad7f0000000000000000000000000000000000000000000000000000000000000000826136a3565b6002546001600160801b03161115611823576002547f0000000000000000000000000000000000000000000000000000000000000000906128f89083906001600160801b03166137b8565b61156a91906137b8565b61290a613596565b5f8061291584612c0a565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161294f9190613a84565b6040805180830381865af4158015612969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061298d9190613a93565b93509050826129a157505f9150612a6e9050565b5f6129c76129c28461016001518561014001516106d690919063ffffffff16565b611a93565b6129e76129c285610120015186610100015161252b90919063ffffffff16565b6129f19190613852565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612b2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b509190613b01565b935093509350935080612b6b57505f98975050505050505050565b868414612b9c57612b7b846117e8565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612bcd57612bac836127ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612bfb57612bdd826117e8565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612c126135e0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612d0a9116613258565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612d3c92900416613258565b905292915050565b5f80612d548888888888886132cc565b909250905080611c7157611c7161235b565b5f80612daf8561148c85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612da5818c6114a3565b61148c91906137b8565b9150612ddb827f00000000000000000000000000000000000000000000000000000000000000006106d6565b9050935093915050565b5f80612d54888888888888613390565b5f805f83612e0286611a93565b612e0c9190613852565b90505f811215612e22575f8092509250506106cf565b946001945092505050565b5f612e416001600160a01b0384168361344c565b905080515f14158015612e65575080806020019051810190612e639190613b34565b155b1561177457604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f808213612eb45760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f379084901c611a93565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136130d157505f919050565b680755bf798b4a1bf1e582126130fa576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061245674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611a93565b5f81831361265957816106ea565b5f80670de0b6b3a764000061326b6106f3565b613275919061388c565b9050808311613284575f61328e565b61328e81846137b8565b915061156a6132c5670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061388c565b83906126a3565b5f805f6132dc8989888888613459565b90506132f6866117d96132ef8a8d6136a3565b87906106d6565b9850613303858a86611779565b985088811015613319575f809250925050613385565b888103670de0b6b3a7640000811061334e57613347613340670de0b6b3a7640000896114a3565b829061273c565b9050613366565b613363613340670de0b6b3a7640000896126a3565b90505b8089101561337b575f80935093505050613385565b8803925060019150505b965096945050505050565b5f805f6133a08989888888613459565b90506133b0866117d9898b6136a3565b9750878110156133c6575f809250925050613385565b8781036133d4818688612680565b9050670de0b6b3a76400008110613401576133fa613340670de0b6b3a7640000896114a3565b9050613419565b613416613340670de0b6b3a7640000896126a3565b90505b61342381866114a3565b9050808a101561343a575f80935093505050613385565b90980398600198509650505050505050565b60606106ea83835f613487565b5f613464858561273c565b61347d613475866117d9868b61252b565b859085612680565b61245691906136a3565b6060814710156134ac5760405163cd78605960e01b8152306004820152602401612e8a565b5f80856001600160a01b031684866040516134c79190613b4f565b5f6040518083038185875af1925050503d805f8114613501576040519150601f19603f3d011682016040523d82523d5f602084013e613506565b606091505b5091509150612456868383606082613526576135218261356d565b61156a565b815115801561353d57506001600160a01b0384163b155b1561356657604051639996b31560e01b81526001600160a01b0385166004820152602401612e8a565b508061156a565b80511561357d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806135aa6135e0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f8060808587031215613648575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613673575f80fd5b850160608188031215613684575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106ed576106ed61368f565b6001600160a01b0381168114610602575f80fd5b5f602082840312156136da575f80fd5b813561156a816136b6565b8015158114610602575f80fd5b5f60208284031215613702575f80fd5b813561156a816136e5565b5f808335601e19843603018112613722575f80fd5b83018035915067ffffffffffffffff82111561373c575f80fd5b6020019150368190038213156106cf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6137ab60c083018486613750565b9998505050505050505050565b818103818111156106ed576106ed61368f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61380460e083018486613750565b9a9950505050505050505050565b6001600160701b038181168382160190808211156126d5576126d561368f565b6001600160801b038181168382160190808211156126d5576126d561368f565b8181035f8312801583831316838312821617156126d5576126d561368f565b5f60208284031215613881575f80fd5b815161156a816136b6565b80820281158282048414176106ed576106ed61368f565b6001600160801b038281168282160390808211156126d5576126d561368f565b8082018281125f8312801582168215821617156138e2576138e261368f565b505092915050565b5f602082840312156138fa575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261392357613923613901565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106ed576106ed61368f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506139e6828551613955565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a59575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a7e57613a7e61368f565b505f0390565b61018081016106ed8284613955565b5f8060408385031215613aa4575f80fd5b825191506020830151613ab6816136e5565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613ae357613ae3613901565b600160ff1b82145f1984141615613afc57613afc61368f565b500590565b5f805f8060808587031215613b14575f80fd5b8451935060208501519250604085015191506060850151613684816136e5565b5f60208284031215613b44575f80fd5b815161156a816136e5565b5f82515f5b81811015613b6e5760208186018101518583015201613b54565b505f92019182525091905056fea264697066735822122047b238710ac289c637a699cb1c245d96419af6fc92d3a63ea6dfddea4568736864736f6c63430008160033a26469706673582212205e38f4bb581b2f4dd8a1c3f7bd7a99e8db14d2ff74e8f26ef1ebd846b904948664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget3.ts b/packages/hyperdrive-artifacts/src/RETHTarget3.ts new file mode 100644 index 000000000..cd0af39f4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget3.ts @@ -0,0 +1,1039 @@ +export const RETHTarget3 = { + name: 'RETHTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003fac38038062003fac8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b0c620004a05f395f50505f50505f6112fe01525f818161034b0152818161037a01526103a701525f818161012c015281816105e9015261171401525f81816108850152818161097001528181610a0001528181610b05015281816115e6015281816116ee0152818161200e015281816120710152818161291a01528181612cd10152612d0d01525f818161018c015281816108f501528181610ebc015281816114af015281816115120152818161155701526116c801525f611c1f01525f8181611d740152612f6301525f81816110790152611d4801525f612f1901525f81816101ce0152818161094801528181610edd0152818161147f015281816114e201528181611578015261173a01525f81816101ad0152818161028201528181610320015281816107280152818161092201528181610fb701526128b001525f81816102e001528181610d8201528181610df901528181610e6d01528181610f380152610f7001525f8181603b015281816119c70152612b6801525f5050613b0c5ff3fe60806040526004361061002b575f3560e01c80634c2ac1d91461007f57806377d05ff4146100a4575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613565565b6100b7565b60405190815260200160405180910390f35b6100926100b23660046135c4565b6100d1565b5f6100c586868686866100e7565b90505b95945050505050565b5f6100dd848484610831565b90505b9392505050565b5f6100f0610bdf565b600654610100900460ff1615610119576040516321081abf60e01b815260040160405180910390fd5b610121610c07565b61012a82610c28565b7f000000000000000000000000000000000000000000000000000000000000000086101561016b5760405163211ddda360e11b815260040160405180910390fd5b5f6101f2610177610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c85565b90508481108061020157508381115b1561021f57604051633b61151160e11b815260040160405180910390fd5b5f8061022b8986610caa565b915091505f610238610d7b565b9050610248818360046001610da6565b506002546004546003545f9283926102b1926001600160801b0380841693600f9390930b92600160801b90048116918991166102ac6102a77f00000000000000000000000000000000000000000000000000000000000000008b613624565b61140a565b611450565b91509150806102d357604051630552b01360e31b815260040160405180910390fd5b8b5f6103446008826103057f000000000000000000000000000000000000000000000000000000000000000089613637565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611654565b90506103707f000000000000000000000000000000000000000000000000000000000000000082613624565b8811806103cf57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cf57506103cc7f000000000000000000000000000000000000000000000000000000000000000082613637565b88105b156103ed57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610438916001600160801b0390911690613637565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610472908390613624565b90505f805f6104808a61167f565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104ba9084906004016136c8565b602060405180830381865af41580156104d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f991906136d7565b915061050c6105078c6117b9565b6117e6565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161056d918591016136c8565b602060405180830381865af4158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906136d7565b9250818310156105cf5760405163184d952160e11b815260040160405180910390fd5b6105e584836105de8187613637565b919061180c565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106285760405163211ddda360e11b815260040160405180910390fd5b508f610634868e611827565b10156106535760405163c972651760e01b815260040160405180910390fd5b61066f5f8e5f0160208101906106699190613702565b8e61183b565b610678896118e0565b95508561069857604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61075260025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102ac7f00000000000000000000000000000000000000000000000000000000000000008c6102a79190613624565b9b5090508a158061076b57506107688c5f6118ec565b81125b1561078957604051630552b01360e31b815260040160405180910390fd5b5f88156107a05761079b87848b61180c565b6107a2565b5f5b90506107b16020850185613702565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ee60408a0160208b0161372a565b866107fc60408c018c613745565b60405161080f9796959493929190613788565b60405180910390a250505050505050505050505050505050506100c860015f55565b5f61083a610bdf565b610842610c07565b61084b82610c28565b60065460ff161561086f57604051637983c05160e01b815260040160405180910390fd5b5f8061087b8685610caa565b90925090506108ab7f000000000000000000000000000000000000000000000000000000000000000060026137db565b8210156108cb57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f891906137f2565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a298484611900565b1015610a485760405163216f4ab160e21b815260040160405180910390fd5b5f80610a58858585895f80611450565b91509150801580610a6857505f82125b15610a8657604051630552b01360e31b815260040160405180910390fd5b610a8f85611925565b600280546001600160801b0319166001600160801b0392909216919091179055610ab88461194e565b600480546001600160801b0319166001600160801b0392909216919091179055610ae183611925565b600280546001600160801b03928316600160801b029216919091179055610b295f807f000000000000000000000000000000000000000000000000000000000000000061183b565b610b405f610b3a60208c018c613702565b8a61183b565b610b55610b4b610d7b565b8760046001610da6565b508a8a8a610b666020820182613702565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610ba3604087016020880161372a565b87610bb16040890189613745565b604051610bc49796959493929190613788565b60405180910390a2505050505050505050506100e060015f55565b60025f5403610c0157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610c2657604051631574f9f360e01b815260040160405180910390fd5b565b5f610c366020830183613702565b6001600160a01b031603610c5d5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c80916001600160801b0390911690600f0b611900565b905090565b5f80610c9387878786611989565b9050610c9f8185611654565b979650505050505050565b815f80610cbd604085016020860161372a565b15610ce257610cd885610cd36040870187613745565b61199f565b9093509050610cfa565b5034610cfa85610cf56040870187613745565b6119ba565b610d026119f4565b91508015610d72576040515f90339083908381818185875af1925050503d805f8114610d49576040519150601f19603f3d011682016040523d82523d5f602084013e610d4e565b606091505b5050905080610d70576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c80427f0000000000000000000000000000000000000000000000000000000000000000611a06565b5f84815260086020526040812060018101546001600160801b0316151580610dcd57504286115b15610de657600101546001600160801b03169050611402565b5f805f610df1610d7b565b90505f610e1e7f00000000000000000000000000000000000000000000000000000000000000008b613624565b90505b81811015610e92575f818152600860205260409020600101546001600160801b03168015610e6a575f828152600860205260409020549094506001600160801b03169250610e92565b507f000000000000000000000000000000000000000000000000000000000000000001610e21565b835f03610f0457889350610f01610ea7610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b92505b50610f0e83611925565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f64610f5d7f00000000000000000000000000000000000000000000000000000000000000008b613637565b8a84611a1b565b610fa289610f9c610f957f000000000000000000000000000000000000000000000000000000000000000083613624565b4290611b54565b84611a1b565b610fab88611b62565b505f9050600881610fdc7f00000000000000000000000000000000000000000000000000000000000000008d613637565b815260208101919091526040015f908120600101546001600160801b0316915061100760028c611cff565b5f818152600b60205260408120549192508c8c831561114857600192505f8061103386898d865f611d33565b915091508060095f8282546110489190613624565b909155506110639050865f8461105d816117b9565b88611e00565b61106d8183613624565b915061109d86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f77565b91506110b16110ac8385611fba565b611fce565b600680546002906110d29084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ff82611925565b60068054601090611121908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611154600184611cff565b5f818152600b6020526040902054909150801561125f57600194505f8061117f838b8f886001611d33565b915091508060095f8282546111949190613624565b909155506111af9050835f846111a9816117b9565b8a611ff7565b6111b98183613637565b91506111c86110ac8387611fba565b600680546002906111e99084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061121682611925565b60068054601090611238908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112985761128a611271876117b9565b61127a836117b9565b611284919061385d565b5f6121e7565b8e6112958482612226565b50505b5f6112a284612415565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611358573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137c919061387c565b90506001600160a01b038116156113f0576113ed5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612557565b50505b509b9d50505050505050505050505050505b949350505050565b5f61142f600b5f61141c600286611cff565b81526020019081526020015f20546117b9565b611440600b5f61141c600187611cff565b61144a919061385d565b92915050565b5f805f8061145e8a8a6125df565b9150915080611474575f80935093505050611649565b5f6114d3838a6114ac7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8b7f0000000000000000000000000000000000000000000000000000000000000000612617565b5090505f611536848b8461150f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8d7f00000000000000000000000000000000000000000000000000000000000000006126d0565b509050811580611544575080155b1561154f57505f9050805b5f61159c858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b90506115aa83838c8461278a565b509093505f90506115bb848f613624565b90505f6115db8b8b6115cc876117b9565b6115d6908e613897565b6127d2565b90508b61161061160b7f000000000000000000000000000000000000000000000000000000000000000083612834565b6117b9565b611619836117b9565b61162661160b8685611fba565b611630919061385d565b61163a919061385d565b60019950995050505050505050505b965096945050505050565b5f6100e061166784846301e13380612844565b61167985670de0b6b3a7640000613637565b90611827565b6116876134b6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161177f9116612867565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117b192900416612867565b905292915050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b5090565b6117ef816128d4565b610c5d57604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611820575f80fd5b5091020490565b5f6100e083670de0b6b3a76400008461180c565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061186c908490613624565b90915550505f838152600b60205260408120805483929061188e908490613624565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61144a826004612226565b5f8183136118fa57826100e0565b50919050565b5f8061190c84846125df565b90925090508061191e5761191e612a68565b5092915050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061196b575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f6100c88261199985888861180c565b90612a81565b5f8060405163350b944160e11b815260040160405180910390fd5b6119ef6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612af0565b505050565b5f610c80670de0b6b3a7640000612b50565b5f611a1182846138d2565b6100e09084613637565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a465750505050565b5f848152600860205260408120546001600160801b031690819003611a9e57611a6e83611925565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b1b565b611aef611aea670de0b6b3a7640000611ab78886613637565b611ac191906137db565b85670de0b6b3a7640000611ad5878a613637565b611adf91906137db565b859291906001612bd9565b611925565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b2484611925565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118fa57826100e0565b6006545f908190611b84908490600160801b90046001600160801b0316611fba565b6006546201000090046001600160701b03169250905081811115611cfa575f611bad8383613637565b9050611bbc611aea8286612c73565b60068054601090611bde908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c16858361182790919063ffffffff16565b90505f611c43827f0000000000000000000000000000000000000000000000000000000000000000611fba565b90508060095f828254611c569190613624565b90915550611c6690508183613637565b9150611c7182611925565b600280545f90611c8b9084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cb882612c87565b600480545f90611ccc908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d285760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d3f8785611827565b91505f611d6c837f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050611d98817f0000000000000000000000000000000000000000000000000000000000000000611fba565b91508315611dbb57611daa8282613637565b611db49084613637565b9250611dd2565b611dc58282613637565b611dcf9084613624565b92505b86861015611df557611de583878961180c565b9250611df282878961180c565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e48611aea82611e2c670de0b6b3a7640000866137db565b600554600160801b90046001600160801b031691908a5f612bd9565b600580546001600160801b03928316600160801b029216919091179055611e6e86611925565b611e7890826138e5565b600480546001600160801b03928316600160801b029216919091179055611e9e84611925565b600280545f90611eb89084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ee58361194e565b600480545f90611ef9908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f2985611925565b60028054601090611f4b908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f88846116798a888a61180c565b9050611f9588848661180c565b611f9f9082613624565b905086811115611faf5786810391505b509695505050505050565b5f6100e08383670de0b6b3a764000061180c565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061203957507f00000000000000000000000000000000000000000000000000000000000000006120378583613637565b105b1561204657612046612a68565b6004549084900390600f0b61205b848261385d565b905083612067866117b9565b13801561209c57507f000000000000000000000000000000000000000000000000000000000000000061209a8383611900565b105b156120a9576120a9612a68565b600354600160801b90046001600160801b03166120ea611aea826120d5670de0b6b3a7640000886137db565b6005546001600160801b031691908c5f612bd9565b600580546001600160801b0319166001600160801b03929092169190911790556121148882613637565b905061211f81611925565b600380546001600160801b03928316600160801b02921691909117905561214583611925565b600280546001600160801b0319166001600160801b039290921691909117905561216e8261194e565b600480546001600160801b0319166001600160801b039290921691909117905561219787611925565b600280546010906121b9908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220290611aea906001600160801b031684846127d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612270916001600160801b031690613637565b9050805f0361228357600191505061144a565b5f61228d85612cb0565b9050805f036122a15760019250505061144a565b5f806122ae838589612d4b565b91509150806122c3575f94505050505061144a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122fe929190613932565b6040805180830381865af4158015612318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061233c91906139a7565b9150915061235a61234c826117b9565b612355906139c9565b6128d4565b92508261236f575f965050505050505061144a565b61237882611925565b600780545f906123929084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123bf81611925565b600780546010906123e1908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61243c8761167f565b6040518263ffffffff1660e01b815260040161245891906136c8565b6040805180830381865af4158015612472573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249691906139e3565b91509150806124ab57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251091613624565b61251a9190613637565b9050805f0361253057505f958695509350505050565b5f80871161253e575f612549565b61254984888461180c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561257a5761257a613a11565b6040519080825280601f01601f1916602001820160405280156125a4576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125c4578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125ec866117b9565b6125f6919061385d565b90505f81121561260c575f809250925050610d74565b946001945092505050565b5f805f6126278888888888612eba565b90505f612651670de0b6b3a76400006126408888612c73565b61264a9190613624565b8390611827565b9050670de0b6b3a764000081106126855761267e612677670de0b6b3a764000089611827565b8290612a81565b905061269d565b61269a612677670de0b6b3a764000089612c73565b90505b6126a78186611827565b9050888110156126be575f809350935050506125d5565b97909703976001975095505050505050565b5f805f6126e08989888888612ee8565b90506126fa866119996126f38a8d613624565b8790611fba565b9850612707858a8661180c565b98508881101561271d575f809250925050611649565b888103670de0b6b3a7640000811061274b57612744612677670de0b6b3a764000089612c73565b9050612763565b612760612677670de0b6b3a764000089611827565b90505b80891015612778575f80935093505050611649565b90970398600198509650505050505050565b5f805f805f61279a898789612f0c565b90925090506127a98289613637565b97505f6127b782888a61180c565b90506127c3818b613637565b9a989950979650505050505050565b5f806127de845f612f91565b6127e8845f612f91565b6127f2919061385d565b90505f81131561280d576128068186613624565b945061282b565b5f81121561282b5761281e816139c9565b6128289086613637565b94505b50929392505050565b5f6100e08383670de0b6b3a76400005b5f825f190484118302158202612858575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061287a610d7b565b61288491906137db565b9050808311612893575f61289d565b61289d8184613637565b91506100e061264a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137db565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ae9190613a25565b9350935093509350806129c957505f98975050505050505050565b8684146129fa576129d984611925565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2b57612a0a8361194e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5957612a3b82611925565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a985750670de0b6b3a764000061144a565b825f03612aa657505f61144a565b5f612ab0836117b9565b90505f612ac4612abf866117b9565b612fa6565b9050818102612adb670de0b6b3a764000082613a63565b9050612ae6816131cb565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612b4a90859061335d565b50505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa158015612bb5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144a91906136d7565b5f825f03612be85750846100c8565b8115612c3a57612c19612bfb8487613624565b612c058587611fba565b612c0f888a611fba565b6116799190613624565b90505f612c268588611b54565b905080821015612c34578091505b506100c8565b828503612c4857505f6100c8565b6100c5612c558487613637565b612c5f8587612834565b612c69888a611fba565b6116799190613637565b5f6100e083670de0b6b3a764000084612844565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612cca906001600160801b031684612c73565b9050612cf67f000000000000000000000000000000000000000000000000000000000000000082613624565b6002546001600160801b031611156118fa576002547f000000000000000000000000000000000000000000000000000000000000000090612d419083906001600160801b0316613637565b6100e09190613637565b612d5361350b565b5f80612d5e8461167f565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d9891906136c8565b6040805180830381865af4158015612db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd691906139e3565b9350905082612dea57505f9150612eb29050565b5f612e0b61160b846101600151856101400151611fba90919063ffffffff16565b612e2b61160b85610120015186610100015161283490919063ffffffff16565b612e35919061385d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612ec58585612a81565b612ede612ed686611999868b611fba565b85908561180c565b6100c59190613624565b5f612ef38585612a81565b612ede612f0486611999868b612834565b859085612844565b5f80612f5b85612f5585817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f4b818c612c73565b612f559190613637565b90612834565b9150612f87827f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050935093915050565b5f818313612f9f57816100e0565b5090919050565b5f808213612fc75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061304a9084901c6117b9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131e457505f919050565b680755bf798b4a1bf1e5821261320d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612ae674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b9565b5f6133716001600160a01b038416836133c3565b905080515f141580156133955750808060200190518101906133939190613a8f565b155b156119ef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606100e083835f845f80856001600160a01b031684866040516133e79190613aaa565b5f6040518083038185875af1925050503d805f8114613421576040519150601f19603f3d011682016040523d82523d5f602084013e613426565b606091505b5091509150612ae6868383606082613446576134418261348d565b6100e0565b815115801561345d57506001600160a01b0384163b155b1561348657604051639996b31560e01b81526001600160a01b03851660048201526024016133ba565b50806100e0565b80511561349d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061351f6134b6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118fa575f80fd5b5f805f805f60a08688031215613579575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135ab575f80fd5b6135b788828901613555565b9150509295509295909350565b5f805f606084860312156135d6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135fa575f80fd5b61360686828701613555565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144a5761144a613610565b8181038181111561144a5761144a613610565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144a828461364a565b5f602082840312156136e7575f80fd5b5051919050565b6001600160a01b0381168114610c5d575f80fd5b5f60208284031215613712575f80fd5b81356100e0816136ee565b8015158114610c5d575f80fd5b5f6020828403121561373a575f80fd5b81356100e08161371d565b5f808335601e1984360301811261375a575f80fd5b83018035915067ffffffffffffffff821115613774575f80fd5b602001915036819003821315610d74575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144a5761144a613610565b5f805f60608486031215613804575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191e5761191e613610565b6001600160801b0381811683821601908082111561191e5761191e613610565b8181035f83128015838313168383128216171561191e5761191e613610565b5f6020828403121561388c575f80fd5b81516100e0816136ee565b8082018281125f8312801582168215821617156138b6576138b6613610565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138e0576138e06138be565b500690565b6001600160801b0382811682821603908082111561191e5761191e613610565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144a5761144a613610565b5f6102a08201905061394582855161364a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139b8575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139dd576139dd613610565b505f0390565b5f80604083850312156139f4575f80fd5b825191506020830151613a068161371d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a38575f80fd5b8451935060208501519250604085015191506060850151613a588161371d565b939692955090935050565b5f82613a7157613a716138be565b600160ff1b82145f1984141615613a8a57613a8a613610565b500590565b5f60208284031215613a9f575f80fd5b81516100e08161371d565b5f82515f5b81811015613ac95760208186018101518583015201613aaf565b505f92019182525091905056fea264697066735822122016bc1dd98e1cdb81a8b81346581ae20cf8640245ca4af02c7ccba487fe5c401864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/RETHTarget3Deployer.ts new file mode 100644 index 000000000..45b060381 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const RETHTarget3Deployer = { + name: 'RETHTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506144848061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613fac806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003fac38038062003fac8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613b0c620004a05f395f50505f50505f6112fe01525f818161034b0152818161037a01526103a701525f818161012c015281816105e9015261171401525f81816108850152818161097001528181610a0001528181610b05015281816115e6015281816116ee0152818161200e015281816120710152818161291a01528181612cd10152612d0d01525f818161018c015281816108f501528181610ebc015281816114af015281816115120152818161155701526116c801525f611c1f01525f8181611d740152612f6301525f81816110790152611d4801525f612f1901525f81816101ce0152818161094801528181610edd0152818161147f015281816114e201528181611578015261173a01525f81816101ad0152818161028201528181610320015281816107280152818161092201528181610fb701526128b001525f81816102e001528181610d8201528181610df901528181610e6d01528181610f380152610f7001525f8181603b015281816119c70152612b6801525f5050613b0c5ff3fe60806040526004361061002b575f3560e01c80634c2ac1d91461007f57806377d05ff4146100a4575f80fd5b3661007b57336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610079576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b61009261008d366004613565565b6100b7565b60405190815260200160405180910390f35b6100926100b23660046135c4565b6100d1565b5f6100c586868686866100e7565b90505b95945050505050565b5f6100dd848484610831565b90505b9392505050565b5f6100f0610bdf565b600654610100900460ff1615610119576040516321081abf60e01b815260040160405180910390fd5b610121610c07565b61012a82610c28565b7f000000000000000000000000000000000000000000000000000000000000000086101561016b5760405163211ddda360e11b815260040160405180910390fd5b5f6101f2610177610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c85565b90508481108061020157508381115b1561021f57604051633b61151160e11b815260040160405180910390fd5b5f8061022b8986610caa565b915091505f610238610d7b565b9050610248818360046001610da6565b506002546004546003545f9283926102b1926001600160801b0380841693600f9390930b92600160801b90048116918991166102ac6102a77f00000000000000000000000000000000000000000000000000000000000000008b613624565b61140a565b611450565b91509150806102d357604051630552b01360e31b815260040160405180910390fd5b8b5f6103446008826103057f000000000000000000000000000000000000000000000000000000000000000089613637565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611654565b90506103707f000000000000000000000000000000000000000000000000000000000000000082613624565b8811806103cf57507f0000000000000000000000000000000000000000000000000000000000000000811180156103cf57506103cc7f000000000000000000000000000000000000000000000000000000000000000082613637565b88105b156103ed57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091610438916001600160801b0390911690613637565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610472908390613624565b90505f805f6104808a61167f565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa156906104ba9084906004016136c8565b602060405180830381865af41580156104d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f991906136d7565b915061050c6105078c6117b9565b6117e6565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161056d918591016136c8565b602060405180830381865af4158015610588573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ac91906136d7565b9250818310156105cf5760405163184d952160e11b815260040160405180910390fd5b6105e584836105de8187613637565b919061180c565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156106285760405163211ddda360e11b815260040160405180910390fd5b508f610634868e611827565b10156106535760405163c972651760e01b815260040160405180910390fd5b61066f5f8e5f0160208101906106699190613702565b8e61183b565b610678896118e0565b95508561069857604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f61075260025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102ac7f00000000000000000000000000000000000000000000000000000000000000008c6102a79190613624565b9b5090508a158061076b57506107688c5f6118ec565b81125b1561078957604051630552b01360e31b815260040160405180910390fd5b5f88156107a05761079b87848b61180c565b6107a2565b5f5b90506107b16020850185613702565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d866107ee60408a0160208b0161372a565b866107fc60408c018c613745565b60405161080f9796959493929190613788565b60405180910390a250505050505050505050505050505050506100c860015f55565b5f61083a610bdf565b610842610c07565b61084b82610c28565b60065460ff161561086f57604051637983c05160e01b815260040160405180910390fd5b5f8061087b8685610caa565b90925090506108ab7f000000000000000000000000000000000000000000000000000000000000000060026137db565b8210156108cb57604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af41580156109d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f891906137f2565b9250925092507f0000000000000000000000000000000000000000000000000000000000000000610a298484611900565b1015610a485760405163216f4ab160e21b815260040160405180910390fd5b5f80610a58858585895f80611450565b91509150801580610a6857505f82125b15610a8657604051630552b01360e31b815260040160405180910390fd5b610a8f85611925565b600280546001600160801b0319166001600160801b0392909216919091179055610ab88461194e565b600480546001600160801b0319166001600160801b0392909216919091179055610ae183611925565b600280546001600160801b03928316600160801b029216919091179055610b295f807f000000000000000000000000000000000000000000000000000000000000000061183b565b610b405f610b3a60208c018c613702565b8a61183b565b610b55610b4b610d7b565b8760046001610da6565b508a8a8a610b666020820182613702565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610ba3604087016020880161372a565b87610bb16040890189613745565b604051610bc49796959493929190613788565b60405180910390a2505050505050505050506100e060015f55565b60025f5403610c0157604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610c2657604051631574f9f360e01b815260040160405180910390fd5b565b5f610c366020830183613702565b6001600160a01b031603610c5d5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c80916001600160801b0390911690600f0b611900565b905090565b5f80610c9387878786611989565b9050610c9f8185611654565b979650505050505050565b815f80610cbd604085016020860161372a565b15610ce257610cd885610cd36040870187613745565b61199f565b9093509050610cfa565b5034610cfa85610cf56040870187613745565b6119ba565b610d026119f4565b91508015610d72576040515f90339083908381818185875af1925050503d805f8114610d49576040519150601f19603f3d011682016040523d82523d5f602084013e610d4e565b606091505b5050905080610d70576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c80427f0000000000000000000000000000000000000000000000000000000000000000611a06565b5f84815260086020526040812060018101546001600160801b0316151580610dcd57504286115b15610de657600101546001600160801b03169050611402565b5f805f610df1610d7b565b90505f610e1e7f00000000000000000000000000000000000000000000000000000000000000008b613624565b90505b81811015610e92575f818152600860205260409020600101546001600160801b03168015610e6a575f828152600860205260409020549094506001600160801b03169250610e92565b507f000000000000000000000000000000000000000000000000000000000000000001610e21565b835f03610f0457889350610f01610ea7610c60565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b92505b50610f0e83611925565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f64610f5d7f00000000000000000000000000000000000000000000000000000000000000008b613637565b8a84611a1b565b610fa289610f9c610f957f000000000000000000000000000000000000000000000000000000000000000083613624565b4290611b54565b84611a1b565b610fab88611b62565b505f9050600881610fdc7f00000000000000000000000000000000000000000000000000000000000000008d613637565b815260208101919091526040015f908120600101546001600160801b0316915061100760028c611cff565b5f818152600b60205260408120549192508c8c831561114857600192505f8061103386898d865f611d33565b915091508060095f8282546110489190613624565b909155506110639050865f8461105d816117b9565b88611e00565b61106d8183613624565b915061109d86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611f77565b91506110b16110ac8385611fba565b611fce565b600680546002906110d29084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ff82611925565b60068054601090611121908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611154600184611cff565b5f818152600b6020526040902054909150801561125f57600194505f8061117f838b8f886001611d33565b915091508060095f8282546111949190613624565b909155506111af9050835f846111a9816117b9565b8a611ff7565b6111b98183613637565b91506111c86110ac8387611fba565b600680546002906111e99084906201000090046001600160701b031661381d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061121682611925565b60068054601090611238908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112985761128a611271876117b9565b61127a836117b9565b611284919061385d565b5f6121e7565b8e6112958482612226565b50505b5f6112a284612415565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611358573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137c919061387c565b90506001600160a01b038116156113f0576113ed5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612557565b50505b509b9d50505050505050505050505050505b949350505050565b5f61142f600b5f61141c600286611cff565b81526020019081526020015f20546117b9565b611440600b5f61141c600187611cff565b61144a919061385d565b92915050565b5f805f8061145e8a8a6125df565b9150915080611474575f80935093505050611649565b5f6114d3838a6114ac7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8b7f0000000000000000000000000000000000000000000000000000000000000000612617565b5090505f611536848b8461150f7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613637565b8d7f00000000000000000000000000000000000000000000000000000000000000006126d0565b509050811580611544575080155b1561154f57505f9050805b5f61159c858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611989565b90506115aa83838c8461278a565b509093505f90506115bb848f613624565b90505f6115db8b8b6115cc876117b9565b6115d6908e613897565b6127d2565b90508b61161061160b7f000000000000000000000000000000000000000000000000000000000000000083612834565b6117b9565b611619836117b9565b61162661160b8685611fba565b611630919061385d565b61163a919061385d565b60019950995050505050505050505b965096945050505050565b5f6100e061166784846301e13380612844565b61167985670de0b6b3a7640000613637565b90611827565b6116876134b6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161177f9116612867565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926117b192900416612867565b905292915050565b5f6001600160ff1b038211156117e25760405163396ea70160e11b815260040160405180910390fd5b5090565b6117ef816128d4565b610c5d57604051635044b7f560e01b815260040160405180910390fd5b5f825f190484118302158202611820575f80fd5b5091020490565b5f6100e083670de0b6b3a76400008461180c565b5f838152600a602090815260408083206001600160a01b03861684529091528120805483929061186c908490613624565b90915550505f838152600b60205260408120805483929061188e908490613624565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61144a826004612226565b5f8183136118fa57826100e0565b50919050565b5f8061190c84846125df565b90925090508061191e5761191e612a68565b5092915050565b5f6001600160801b038211156117e257604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b031982128061196b575060016001607f1b0382135b156117e25760405163a5353be560e01b815260040160405180910390fd5b5f6100c88261199985888861180c565b90612a81565b5f8060405163350b944160e11b815260040160405180910390fd5b6119ef6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612af0565b505050565b5f610c80670de0b6b3a7640000612b50565b5f611a1182846138d2565b6100e09084613637565b5f83815260086020526040902054600160801b90046001600160801b0316808303611a465750505050565b5f848152600860205260408120546001600160801b031690819003611a9e57611a6e83611925565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611b1b565b611aef611aea670de0b6b3a7640000611ab78886613637565b611ac191906137db565b85670de0b6b3a7640000611ad5878a613637565b611adf91906137db565b859291906001612bd9565b611925565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611b2484611925565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118fa57826100e0565b6006545f908190611b84908490600160801b90046001600160801b0316611fba565b6006546201000090046001600160701b03169250905081811115611cfa575f611bad8383613637565b9050611bbc611aea8286612c73565b60068054601090611bde908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c16858361182790919063ffffffff16565b90505f611c43827f0000000000000000000000000000000000000000000000000000000000000000611fba565b90508060095f828254611c569190613624565b90915550611c6690508183613637565b9150611c7182611925565b600280545f90611c8b9084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cb882612c87565b600480545f90611ccc908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611d285760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611d3f8785611827565b91505f611d6c837f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050611d98817f0000000000000000000000000000000000000000000000000000000000000000611fba565b91508315611dbb57611daa8282613637565b611db49084613637565b9250611dd2565b611dc58282613637565b611dcf9084613624565b92505b86861015611df557611de583878961180c565b9250611df282878961180c565b91505b509550959350505050565b600454600160801b90046001600160801b0316611e48611aea82611e2c670de0b6b3a7640000866137db565b600554600160801b90046001600160801b031691908a5f612bd9565b600580546001600160801b03928316600160801b029216919091179055611e6e86611925565b611e7890826138e5565b600480546001600160801b03928316600160801b029216919091179055611e9e84611925565b600280545f90611eb89084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ee58361194e565b600480545f90611ef9908490600f0b613905565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611f2985611925565b60028054601090611f4b908490600160801b90046001600160801b03166138e5565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611f88846116798a888a61180c565b9050611f9588848661180c565b611f9f9082613624565b905086811115611faf5786810391505b509695505050505050565b5f6100e08383670de0b6b3a764000061180c565b5f6001600160701b038211156117e25760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061203957507f00000000000000000000000000000000000000000000000000000000000000006120378583613637565b105b1561204657612046612a68565b6004549084900390600f0b61205b848261385d565b905083612067866117b9565b13801561209c57507f000000000000000000000000000000000000000000000000000000000000000061209a8383611900565b105b156120a9576120a9612a68565b600354600160801b90046001600160801b03166120ea611aea826120d5670de0b6b3a7640000886137db565b6005546001600160801b031691908c5f612bd9565b600580546001600160801b0319166001600160801b03929092169190911790556121148882613637565b905061211f81611925565b600380546001600160801b03928316600160801b02921691909117905561214583611925565b600280546001600160801b0319166001600160801b039290921691909117905561216e8261194e565b600480546001600160801b0319166001600160801b039290921691909117905561219787611925565b600280546010906121b9908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461220290611aea906001600160801b031684846127d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612270916001600160801b031690613637565b9050805f0361228357600191505061144a565b5f61228d85612cb0565b9050805f036122a15760019250505061144a565b5f806122ae838589612d4b565b91509150806122c3575f94505050505061144a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016122fe929190613932565b6040805180830381865af4158015612318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061233c91906139a7565b9150915061235a61234c826117b9565b612355906139c9565b6128d4565b92508261236f575f965050505050505061144a565b61237882611925565b600780545f906123929084906001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506123bf81611925565b600780546010906123e1908490600160801b90046001600160801b031661383d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61243c8761167f565b6040518263ffffffff1660e01b815260040161245891906136c8565b6040805180830381865af4158015612472573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061249691906139e3565b91509150806124ab57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161251091613624565b61251a9190613637565b9050805f0361253057505f958695509350505050565b5f80871161253e575f612549565b61254984888461180c565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561257a5761257a613a11565b6040519080825280601f01601f1916602001820160405280156125a4576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156125c4578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836125ec866117b9565b6125f6919061385d565b90505f81121561260c575f809250925050610d74565b946001945092505050565b5f805f6126278888888888612eba565b90505f612651670de0b6b3a76400006126408888612c73565b61264a9190613624565b8390611827565b9050670de0b6b3a764000081106126855761267e612677670de0b6b3a764000089611827565b8290612a81565b905061269d565b61269a612677670de0b6b3a764000089612c73565b90505b6126a78186611827565b9050888110156126be575f809350935050506125d5565b97909703976001975095505050505050565b5f805f6126e08989888888612ee8565b90506126fa866119996126f38a8d613624565b8790611fba565b9850612707858a8661180c565b98508881101561271d575f809250925050611649565b888103670de0b6b3a7640000811061274b57612744612677670de0b6b3a764000089612c73565b9050612763565b612760612677670de0b6b3a764000089611827565b90505b80891015612778575f80935093505050611649565b90970398600198509650505050505050565b5f805f805f61279a898789612f0c565b90925090506127a98289613637565b97505f6127b782888a61180c565b90506127c3818b613637565b9a989950979650505050505050565b5f806127de845f612f91565b6127e8845f612f91565b6127f2919061385d565b90505f81131561280d576128068186613624565b945061282b565b5f81121561282b5761281e816139c9565b6128289086613637565b94505b50929392505050565b5f6100e08383670de0b6b3a76400005b5f825f190484118302158202612858575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061287a610d7b565b61288491906137db565b9050808311612893575f61289d565b61289d8184613637565b91506100e061264a670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137db565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561298a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ae9190613a25565b9350935093509350806129c957505f98975050505050505050565b8684146129fa576129d984611925565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612a2b57612a0a8361194e565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612a5957612a3b82611925565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612a985750670de0b6b3a764000061144a565b825f03612aa657505f61144a565b5f612ab0836117b9565b90505f612ac4612abf866117b9565b612fa6565b9050818102612adb670de0b6b3a764000082613a63565b9050612ae6816131cb565b9695505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612b4a90859061335d565b50505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa2390602401602060405180830381865afa158015612bb5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144a91906136d7565b5f825f03612be85750846100c8565b8115612c3a57612c19612bfb8487613624565b612c058587611fba565b612c0f888a611fba565b6116799190613624565b90505f612c268588611b54565b905080821015612c34578091505b506100c8565b828503612c4857505f6100c8565b6100c5612c558487613637565b612c5f8587612834565b612c69888a611fba565b6116799190613637565b5f6100e083670de0b6b3a764000084612844565b5f60016001607f1b038211156117e25760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612cca906001600160801b031684612c73565b9050612cf67f000000000000000000000000000000000000000000000000000000000000000082613624565b6002546001600160801b031611156118fa576002547f000000000000000000000000000000000000000000000000000000000000000090612d419083906001600160801b0316613637565b6100e09190613637565b612d5361350b565b5f80612d5e8461167f565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612d9891906136c8565b6040805180830381865af4158015612db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd691906139e3565b9350905082612dea57505f9150612eb29050565b5f612e0b61160b846101600151856101400151611fba90919063ffffffff16565b612e2b61160b85610120015186610100015161283490919063ffffffff16565b612e35919061385d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b5f612ec58585612a81565b612ede612ed686611999868b611fba565b85908561180c565b6100c59190613624565b5f612ef38585612a81565b612ede612f0486611999868b612834565b859085612844565b5f80612f5b85612f5585817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612f4b818c612c73565b612f559190613637565b90612834565b9150612f87827f0000000000000000000000000000000000000000000000000000000000000000611fba565b9050935093915050565b5f818313612f9f57816100e0565b5090919050565b5f808213612fc75760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061304a9084901c6117b9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136131e457505f919050565b680755bf798b4a1bf1e5821261320d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612ae674029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6117b9565b5f6133716001600160a01b038416836133c3565b905080515f141580156133955750808060200190518101906133939190613a8f565b155b156119ef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606100e083835f845f80856001600160a01b031684866040516133e79190613aaa565b5f6040518083038185875af1925050503d805f8114613421576040519150601f19603f3d011682016040523d82523d5f602084013e613426565b606091505b5091509150612ae6868383606082613446576134418261348d565b6100e0565b815115801561345d57506001600160a01b0384163b155b1561348657604051639996b31560e01b81526001600160a01b03851660048201526024016133ba565b50806100e0565b80511561349d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061351f6134b6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118fa575f80fd5b5f805f805f60a08688031215613579575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156135ab575f80fd5b6135b788828901613555565b9150509295509295909350565b5f805f606084860312156135d6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135fa575f80fd5b61360686828701613555565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561144a5761144a613610565b8181038181111561144a5761144a613610565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b610180810161144a828461364a565b5f602082840312156136e7575f80fd5b5051919050565b6001600160a01b0381168114610c5d575f80fd5b5f60208284031215613712575f80fd5b81356100e0816136ee565b8015158114610c5d575f80fd5b5f6020828403121561373a575f80fd5b81356100e08161371d565b5f808335601e1984360301811261375a575f80fd5b83018035915067ffffffffffffffff821115613774575f80fd5b602001915036819003821315610d74575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b808202811582820484141761144a5761144a613610565b5f805f60608486031215613804575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561191e5761191e613610565b6001600160801b0381811683821601908082111561191e5761191e613610565b8181035f83128015838313168383128216171561191e5761191e613610565b5f6020828403121561388c575f80fd5b81516100e0816136ee565b8082018281125f8312801582168215821617156138b6576138b6613610565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826138e0576138e06138be565b500690565b6001600160801b0382811682821603908082111561191e5761191e613610565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561144a5761144a613610565b5f6102a08201905061394582855161364a565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156139b8575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139dd576139dd613610565b505f0390565b5f80604083850312156139f4575f80fd5b825191506020830151613a068161371d565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a38575f80fd5b8451935060208501519250604085015191506060850151613a588161371d565b939692955090935050565b5f82613a7157613a716138be565b600160ff1b82145f1984141615613a8a57613a8a613610565b500590565b5f60208284031215613a9f575f80fd5b81516100e08161371d565b5f82515f5b81811015613ac95760208186018101518583015201613aaf565b505f92019182525091905056fea264697066735822122016bc1dd98e1cdb81a8b81346581ae20cf8640245ca4af02c7ccba487fe5c401864736f6c63430008160033a26469706673582212204c906024ac6278d68c5e0a8ef16424c366c4456589047ab87e3068df604f922464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget4.ts b/packages/hyperdrive-artifacts/src/RETHTarget4.ts new file mode 100644 index 000000000..c94669853 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget4.ts @@ -0,0 +1,1013 @@ +export const RETHTarget4 = { + name: 'RETHTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b506040516200347a3803806200347a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161307a620004005f395f50505f50505f6109fb01525f50505f81816102c80152611fc601525f81816118260152818161188901528181611bb601528181611bf201528181611de30152611fa001525f81816105b90152611f7a01525f61140801525f61155d01525f8181610776015261153101525f50505f81816105da0152611fec01525f81816106b4015261248801525f818161024b0152818161047f015281816104f60152818161056a01528181610635015261066d01525f8181604601528181611104015281816122b80152818161230701526123ef01525f505061307a5ff3fe608060405260043610610036575f3560e01c8063074a6de91461008a578063414f826d146100c2578063cbc13434146100e1575f80fd5b3661008657336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610084576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b348015610095575f80fd5b506100a96100a4366004612b09565b610100565b6040805192835260208301919091520160405180910390f35b3480156100cd575f80fd5b506100846100dc366004612b5b565b61011a565b3480156100ec575f80fd5b506100a96100fb366004612b09565b610128565b5f8061010d858585610135565b915091505b935093915050565b61012482826101f7565b5050565b5f8061010d8585856102b3565b5f8061013f610401565b61014883610429565b5f610151610461565b905061016861015e610478565b82600460016104a3565b506101763387838888610b07565b90935091506101886020850185612b8f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101c660408b0160208c01612bb7565b6101d360408c018c612bd2565b6040516101e596959493929190612c3d565b60405180910390a35061011260015f55565b6101ff610401565b5f610208610461565b5f848152600860205260409020600101549091506001600160801b03161561023b576102348183610c46565b50506102aa565b5f610244610478565b90506102707f000000000000000000000000000000000000000000000000000000000000000085612c8a565b15158061027c57508381105b1561029a5760405163ecd29e8160e01b815260040160405180910390fd5b6102a68483855f6104a3565b5050505b61012460015f55565b5f806102bd610401565b6102c683610429565b7f00000000000000000000000000000000000000000000000000000000000000008510156103075760405163211ddda360e11b815260040160405180910390fd5b5f610310610461565b905061031d61015e610478565b506103295f3388610e36565b610344600360f81b61033e6020870187612b8f565b88610f0d565b5f61035e6103556020870187612b8f565b88848989610b07565b909450905061036d8188612cb1565b92505f61037983610faa565b5090506103896020870187612b8f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103c760408d0160208e01612bb7565b8a888e80604001906103d99190612bd2565b6040516103ed989796959493929190612cc4565b60405180910390a350505061011260015f55565b60025f540361042357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104376020830183612b8f565b6001600160a01b03160361045e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610473670de0b6b3a76400006110ec565b905090565b5f610473427f0000000000000000000000000000000000000000000000000000000000000000611176565b5f84815260086020526040812060018101546001600160801b03161515806104ca57504286115b156104e357600101546001600160801b03169050610aff565b5f805f6104ee610478565b90505f61051b7f00000000000000000000000000000000000000000000000000000000000000008b612d0b565b90505b8181101561058f575f818152600860205260409020600101546001600160801b03168015610567575f828152600860205260409020549094506001600160801b0316925061058f565b507f00000000000000000000000000000000000000000000000000000000000000000161051e565b835f03610601578893506105fe6105a4611192565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b2565b92505b5061060b836111d1565b6001850180546001600160801b0319166001600160801b039290921691909117905561066161065a7f00000000000000000000000000000000000000000000000000000000000000008b612cb1565b8a846111fe565b61069f896106996106927f000000000000000000000000000000000000000000000000000000000000000083612d0b565b4290611337565b846111fe565b6106a88861134b565b505f90506008816106d97f00000000000000000000000000000000000000000000000000000000000000008d612cb1565b815260208101919091526040015f908120600101546001600160801b0316915061070460028c6114e8565b5f818152600b60205260408120549192508c8c831561084557600192505f8061073086898d865f61151c565b915091508060095f8282546107459190612d0b565b909155506107609050865f8461075a816115e9565b88611612565b61076a8183612d0b565b915061079a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611789565b91506107ae6107a983856117d2565b6117e6565b600680546002906107cf9084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107fc826111d1565b6006805460109061081e908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6108516001846114e8565b5f818152600b6020526040902054909150801561095c57600194505f8061087c838b8f88600161151c565b915091508060095f8282546108919190612d0b565b909155506108ac9050835f846108a6816115e9565b8a61180f565b6108b68183612cb1565b91506108c56107a983876117d2565b600680546002906108e69084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610913826111d1565b60068054601090610935908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156109955761098761096e876115e9565b610977836115e9565b6109819190612d5e565b5f6119ff565b8e6109928482610c46565b50505b5f61099f84610faa565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a799190612d7d565b90506001600160a01b03811615610aed57610aea5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a3e565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610b1285611ac4565b505060075485906001600160801b031680821115610b3757806001600160801b031691505b815f03610b4a575f809250925050610c3c565b610b59600360f81b8984610e36565b6007545f90610b7e9084906001600160801b03600160801b9091048116908516611ad0565b9050610b89836111d1565b610b939083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610bbc816111d1565b60078054601090610bde908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610c0d818887611aeb565b9350610c198684611b81565b841015610c395760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c90916001600160801b031690612cb1565b9050805f03610ca3576001915050610e30565b5f610cad85611b95565b9050805f03610cc157600192505050610e30565b5f80610cce838589611c30565b9150915080610ce3575f945050505050610e30565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d1e929190612e36565b6040805180830381865af4158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c9190612eab565b91509150610d7a610d6c826115e9565b610d7590612ecd565b611d9d565b925082610d8f575f9650505050505050610e30565b610d98826111d1565b600780545f90610db29084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ddf816111d1565b60078054601090610e01908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e7857604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610eba908490612cb1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f3e908490612d0b565b90915550505f838152600b602052604081208054839290610f60908490612d0b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610f00565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fd187611f31565b6040518263ffffffff1660e01b8152600401610fed9190612ee7565b6040805180830381865af4158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190612ef6565b915091508061104057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916110a591612d0b565b6110af9190612cb1565b9050805f036110c557505f958695509350505050565b5f8087116110d3575f6110de565b6110de848884611ad0565b976001975095505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611152573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190612f24565b5f6111818284612c8a565b61118b9084612cb1565b9392505050565b6002546004545f91610473916001600160801b0390911690600f0b61206b565b5f6111c8826111c2858888611ad0565b90612090565b95945050505050565b5f6001600160801b038211156111fa57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036112295750505050565b5f848152600860205260408120546001600160801b03169081900361128157611251836111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112fe565b6112d26112cd670de0b6b3a764000061129a8886612cb1565b6112a49190612f3b565b85670de0b6b3a76400006112b8878a612cb1565b6112c29190612f3b565b8592919060016120ff565b6111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611307846111d1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611345578261118b565b50919050565b6006545f90819061136d908490600160801b90046001600160801b03166117d2565b6006546201000090046001600160701b031692509050818111156114e3575f6113968383612cb1565b90506113a56112cd8286612199565b600680546010906113c7908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113ff85836121ad90919063ffffffff16565b90505f61142c827f00000000000000000000000000000000000000000000000000000000000000006117d2565b90508060095f82825461143f9190612d0b565b9091555061144f90508183612cb1565b915061145a826111d1565b600280545f906114749084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a1826121c1565b600480545f906114b5908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115115760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152887856121ad565b91505f611555837f00000000000000000000000000000000000000000000000000000000000000006117d2565b9050611581817f00000000000000000000000000000000000000000000000000000000000000006117d2565b915083156115a4576115938282612cb1565b61159d9084612cb1565b92506115bb565b6115ae8282612cb1565b6115b89084612d0b565b92505b868610156115de576115ce838789611ad0565b92506115db828789611ad0565b91505b509550959350505050565b5f6001600160ff1b038211156111fa5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165a6112cd8261163e670de0b6b3a764000086612f3b565b600554600160801b90046001600160801b031691908a5f6120ff565b600580546001600160801b03928316600160801b029216919091179055611680866111d1565b61168a9082612d98565b600480546001600160801b03928316600160801b0292169190911790556116b0846111d1565b600280545f906116ca9084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116f7836121ea565b600480545f9061170b908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173b856111d1565b6002805460109061175d908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a08461179a8a888a611ad0565b906121ad565b90506117ad888486611ad0565b6117b79082612d0b565b9050868111156117c75786810391505b509695505050505050565b5f61118b8383670de0b6b3a7640000611ad0565b5f6001600160701b038211156111fa5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185157507f000000000000000000000000000000000000000000000000000000000000000061184f8583612cb1565b105b1561185e5761185e612225565b6004549084900390600f0b6118738482612d5e565b90508361187f866115e9565b1380156118b457507f00000000000000000000000000000000000000000000000000000000000000006118b2838361206b565b105b156118c1576118c1612225565b600354600160801b90046001600160801b03166119026112cd826118ed670de0b6b3a764000088612f3b565b6005546001600160801b031691908c5f6120ff565b600580546001600160801b0319166001600160801b039290921691909117905561192c8882612cb1565b9050611937816111d1565b600380546001600160801b03928316600160801b02921691909117905561195d836111d1565b600280546001600160801b0319166001600160801b0392909216919091179055611986826121ea565b600480546001600160801b0319166001600160801b03929092169190911790556119af876111d1565b600280546010906119d1908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1a906112cd906001600160801b0316848461223e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6157611a61612f7f565b6040519080825280601f01601f191660200182016040528015611a8b576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aab578692505b828152825f602083013e90999098509650505050505050565b5f610e30826004610c46565b5f825f190484118302158202611ae4575f80fd5b5091020490565b5f80611af785856117d2565b9050611b02816122a0565b9450845f03611b14575f91505061118b565b849150611b276040840160208501612bb7565b15611b5657611b4f85611b3d6020860186612b8f565b611b4a6040870187612bd2565b6122ef565b9150611b79565b611b7985611b676020860186612b8f565b611b746040870187612bd2565b6123e2565b509392505050565b5f61118b8383670de0b6b3a764000061241c565b6003545f908190611baf906001600160801b031684612199565b9050611bdb7f000000000000000000000000000000000000000000000000000000000000000082612d0b565b6002546001600160801b03161115611345576002547f000000000000000000000000000000000000000000000000000000000000000090611c269083906001600160801b0316612cb1565b61118b9190612cb1565b611c38612a6a565b5f80611c4384611f31565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c7d9190612ee7565b6040805180830381865af4158015611c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbb9190612ef6565b9350905082611ccf57505f91506101129050565b5f611cf5611cf08461016001518561014001516117d290919063ffffffff16565b6115e9565b611d15611cf0856101200151866101000151611b8190919063ffffffff16565b611d1f9190612d5e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e779190612f93565b935093509350935080611e9257505f98975050505050505050565b868414611ec357611ea2846111d1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef457611ed3836121ea565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2257611f04826111d1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f39612ab4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612031911661243f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120639290041661243f565b905292915050565b5f8061207784846124b3565b90925090508061208957612089612225565b5092915050565b5f815f036120a75750670de0b6b3a7640000610e30565b825f036120b557505f610e30565b5f6120bf836115e9565b90505f6120d36120ce866115e9565b6124ee565b90508181026120ea670de0b6b3a764000082612fd1565b90506120f581612713565b9695505050505050565b5f825f0361210e5750846111c8565b81156121605761213f6121218487612d0b565b61212b85876117d2565b612135888a6117d2565b61179a9190612d0b565b90505f61214c8588611337565b90508082101561215a578091505b506111c8565b82850361216e57505f6111c8565b6120f561217b8487612cb1565b6121858587611b81565b61218f888a6117d2565b61179a9190612cb1565b5f61118b83670de0b6b3a76400008461241c565b5f61118b83670de0b6b3a764000084611ad0565b5f60016001607f1b038211156111fa5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612207575060016001607f1b0382135b156111fa5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224a845f6128a5565b612254845f6128a5565b61225e9190612d5e565b90505f811315612279576122728186612d0b565b9450612297565b5f8112156122975761228a81612ecd565b6122949086612cb1565b94505b50929392505050565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611137565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612350575f80fd5b505af1158015612362573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146123b2576040519150601f19603f3d011682016040523d82523d5f602084013e6123b7565b606091505b50509050806123d9576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6124166001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866128ba565b50505050565b5f825f190484118302158202612430575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612452610478565b61245c9190612f3b565b905080831161246b575f612475565b6124758184612cb1565b915061118b6124ac670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f3b565b83906121ad565b5f805f836124c0866115e9565b6124ca9190612d5e565b90505f8112156124e0575f8092509250506124e7565b9150600190505b9250929050565b5f80821361250f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125929084901c6115e9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361272c57505f919050565b680755bf798b4a1bf1e58212612755576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115e9565b5f8183136128b3578161118b565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261290c908490612911565b505050565b5f6129256001600160a01b03841683612977565b905080515f141580156129495750808060200190518101906129479190612ffd565b155b1561290c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061118b83835f845f80856001600160a01b0316848660405161299b9190613018565b5f6040518083038185875af1925050503d805f81146129d5576040519150601f19603f3d011682016040523d82523d5f602084013e6129da565b606091505b50915091506120f58683836060826129fa576129f582612a41565b61118b565b8151158015612a1157506001600160a01b0384163b155b15612a3a57604051639996b31560e01b81526001600160a01b038516600482015260240161296e565b508061118b565b805115612a515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612a7e612ab4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b1b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b3f575f80fd5b840160608187031215612b50575f80fd5b809150509250925092565b5f8060408385031215612b6c575f80fd5b50508035926020909101359150565b6001600160a01b038116811461045e575f80fd5b5f60208284031215612b9f575f80fd5b813561118b81612b7b565b801515811461045e575f80fd5b5f60208284031215612bc7575f80fd5b813561118b81612baa565b5f808335601e19843603018112612be7575f80fd5b83018035915067ffffffffffffffff821115612c01575f80fd5b6020019150368190038213156124e7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c6a60a083018486612c15565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c9857612c98612c76565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e3057610e30612c9d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cfd60e083018486612c15565b9a9950505050505050505050565b80820180821115610e3057610e30612c9d565b6001600160701b0381811683821601908082111561208957612089612c9d565b6001600160801b0381811683821601908082111561208957612089612c9d565b8181035f83128015838313168383128216171561208957612089612c9d565b5f60208284031215612d8d575f80fd5b815161118b81612b7b565b6001600160801b0382811682821603908082111561208957612089612c9d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c9d565b505f0390565b6101808101610e308284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612baa565b809150509250929050565b5f60208284031215612f34575f80fd5b5051919050565b8082028115828204841417610e3057610e30612c9d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e3057610e30612c9d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612fa6575f80fd5b8451935060208501519250604085015191506060850151612fc681612baa565b939692955090935050565b5f82612fdf57612fdf612c76565b600160ff1b82145f1984141615612ff857612ff8612c9d565b500590565b5f6020828403121561300d575f80fd5b815161118b81612baa565b5f82515f5b81811015613037576020818601810151858301520161301d565b505f92019182525091905056fea2646970667358221220c16c759df72c05ed1ec85de39eaa73d89abddbbf590a5fbbced3e5b55130147864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RETHTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/RETHTarget4Deployer.ts new file mode 100644 index 000000000..3cd44c8c9 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RETHTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const RETHTarget4Deployer = { + name: 'RETHTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506139528061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b61347a806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b506040516200347a3803806200347a8339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161307a620004005f395f50505f50505f6109fb01525f50505f81816102c80152611fc601525f81816118260152818161188901528181611bb601528181611bf201528181611de30152611fa001525f81816105b90152611f7a01525f61140801525f61155d01525f8181610776015261153101525f50505f81816105da0152611fec01525f81816106b4015261248801525f818161024b0152818161047f015281816104f60152818161056a01528181610635015261066d01525f8181604601528181611104015281816122b80152818161230701526123ef01525f505061307a5ff3fe608060405260043610610036575f3560e01c8063074a6de91461008a578063414f826d146100c2578063cbc13434146100e1575f80fd5b3661008657336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610084576040516312171d8360e31b815260040160405180910390fd5b005b5f80fd5b348015610095575f80fd5b506100a96100a4366004612b09565b610100565b6040805192835260208301919091520160405180910390f35b3480156100cd575f80fd5b506100846100dc366004612b5b565b61011a565b3480156100ec575f80fd5b506100a96100fb366004612b09565b610128565b5f8061010d858585610135565b915091505b935093915050565b61012482826101f7565b5050565b5f8061010d8585856102b3565b5f8061013f610401565b61014883610429565b5f610151610461565b905061016861015e610478565b82600460016104a3565b506101763387838888610b07565b90935091506101886020850185612b8f565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b588486856101c660408b0160208c01612bb7565b6101d360408c018c612bd2565b6040516101e596959493929190612c3d565b60405180910390a35061011260015f55565b6101ff610401565b5f610208610461565b5f848152600860205260409020600101549091506001600160801b03161561023b576102348183610c46565b50506102aa565b5f610244610478565b90506102707f000000000000000000000000000000000000000000000000000000000000000085612c8a565b15158061027c57508381105b1561029a5760405163ecd29e8160e01b815260040160405180910390fd5b6102a68483855f6104a3565b5050505b61012460015f55565b5f806102bd610401565b6102c683610429565b7f00000000000000000000000000000000000000000000000000000000000000008510156103075760405163211ddda360e11b815260040160405180910390fd5b5f610310610461565b905061031d61015e610478565b506103295f3388610e36565b610344600360f81b61033e6020870187612b8f565b88610f0d565b5f61035e6103556020870187612b8f565b88848989610b07565b909450905061036d8188612cb1565b92505f61037983610faa565b5090506103896020870187612b8f565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a88876103c760408d0160208e01612bb7565b8a888e80604001906103d99190612bd2565b6040516103ed989796959493929190612cc4565b60405180910390a350505061011260015f55565b60025f540361042357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6104376020830183612b8f565b6001600160a01b03160361045e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f610473670de0b6b3a76400006110ec565b905090565b5f610473427f0000000000000000000000000000000000000000000000000000000000000000611176565b5f84815260086020526040812060018101546001600160801b03161515806104ca57504286115b156104e357600101546001600160801b03169050610aff565b5f805f6104ee610478565b90505f61051b7f00000000000000000000000000000000000000000000000000000000000000008b612d0b565b90505b8181101561058f575f818152600860205260409020600101546001600160801b03168015610567575f828152600860205260409020549094506001600160801b0316925061058f565b507f00000000000000000000000000000000000000000000000000000000000000000161051e565b835f03610601578893506105fe6105a4611192565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006111b2565b92505b5061060b836111d1565b6001850180546001600160801b0319166001600160801b039290921691909117905561066161065a7f00000000000000000000000000000000000000000000000000000000000000008b612cb1565b8a846111fe565b61069f896106996106927f000000000000000000000000000000000000000000000000000000000000000083612d0b565b4290611337565b846111fe565b6106a88861134b565b505f90506008816106d97f00000000000000000000000000000000000000000000000000000000000000008d612cb1565b815260208101919091526040015f908120600101546001600160801b0316915061070460028c6114e8565b5f818152600b60205260408120549192508c8c831561084557600192505f8061073086898d865f61151c565b915091508060095f8282546107459190612d0b565b909155506107609050865f8461075a816115e9565b88611612565b61076a8183612d0b565b915061079a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611789565b91506107ae6107a983856117d2565b6117e6565b600680546002906107cf9084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506107fc826111d1565b6006805460109061081e908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6108516001846114e8565b5f818152600b6020526040902054909150801561095c57600194505f8061087c838b8f88600161151c565b915091508060095f8282546108919190612d0b565b909155506108ac9050835f846108a6816115e9565b8a61180f565b6108b68183612cb1565b91506108c56107a983876117d2565b600680546002906108e69084906201000090046001600160701b0316612d1e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610913826111d1565b60068054601090610935908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156109955761098761096e876115e9565b610977836115e9565b6109819190612d5e565b5f6119ff565b8e6109928482610c46565b50505b5f61099f84610faa565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a799190612d7d565b90506001600160a01b03811615610aed57610aea5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611a3e565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610b1285611ac4565b505060075485906001600160801b031680821115610b3757806001600160801b031691505b815f03610b4a575f809250925050610c3c565b610b59600360f81b8984610e36565b6007545f90610b7e9084906001600160801b03600160801b9091048116908516611ad0565b9050610b89836111d1565b610b939083612d98565b600780546001600160801b0319166001600160801b0392909216919091179055610bbc816111d1565b60078054601090610bde908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610c0d818887611aeb565b9350610c198684611b81565b841015610c395760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c90916001600160801b031690612cb1565b9050805f03610ca3576001915050610e30565b5f610cad85611b95565b9050805f03610cc157600192505050610e30565b5f80610cce838589611c30565b9150915080610ce3575f945050505050610e30565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610d1e929190612e36565b6040805180830381865af4158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c9190612eab565b91509150610d7a610d6c826115e9565b610d7590612ecd565b611d9d565b925082610d8f575f9650505050505050610e30565b610d98826111d1565b600780545f90610db29084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ddf816111d1565b60078054601090610e01908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e7857604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610eba908490612cb1565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610f3e908490612d0b565b90915550505f838152600b602052604081208054839290610f60908490612d0b565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610f00565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610fd187611f31565b6040518263ffffffff1660e01b8152600401610fed9190612ee7565b6040805180830381865af4158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190612ef6565b915091508061104057505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916110a591612d0b565b6110af9190612cb1565b9050805f036110c557505f958695509350505050565b5f8087116110d3575f6110de565b6110de848884611ad0565b976001975095505050505050565b604051638b32fa2360e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638b32fa23906024015b602060405180830381865afa158015611152573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e309190612f24565b5f6111818284612c8a565b61118b9084612cb1565b9392505050565b6002546004545f91610473916001600160801b0390911690600f0b61206b565b5f6111c8826111c2858888611ad0565b90612090565b95945050505050565b5f6001600160801b038211156111fa57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036112295750505050565b5f848152600860205260408120546001600160801b03169081900361128157611251836111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790556112fe565b6112d26112cd670de0b6b3a764000061129a8886612cb1565b6112a49190612f3b565b85670de0b6b3a76400006112b8878a612cb1565b6112c29190612f3b565b8592919060016120ff565b6111d1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611307846111d1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611345578261118b565b50919050565b6006545f90819061136d908490600160801b90046001600160801b03166117d2565b6006546201000090046001600160701b031692509050818111156114e3575f6113968383612cb1565b90506113a56112cd8286612199565b600680546010906113c7908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6113ff85836121ad90919063ffffffff16565b90505f61142c827f00000000000000000000000000000000000000000000000000000000000000006117d2565b90508060095f82825461143f9190612d0b565b9091555061144f90508183612cb1565b915061145a826111d1565b600280545f906114749084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506114a1826121c1565b600480545f906114b5908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156115115760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061152887856121ad565b91505f611555837f00000000000000000000000000000000000000000000000000000000000000006117d2565b9050611581817f00000000000000000000000000000000000000000000000000000000000000006117d2565b915083156115a4576115938282612cb1565b61159d9084612cb1565b92506115bb565b6115ae8282612cb1565b6115b89084612d0b565b92505b868610156115de576115ce838789611ad0565b92506115db828789611ad0565b91505b509550959350505050565b5f6001600160ff1b038211156111fa5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661165a6112cd8261163e670de0b6b3a764000086612f3b565b600554600160801b90046001600160801b031691908a5f6120ff565b600580546001600160801b03928316600160801b029216919091179055611680866111d1565b61168a9082612d98565b600480546001600160801b03928316600160801b0292169190911790556116b0846111d1565b600280545f906116ca9084906001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116f7836121ea565b600480545f9061170b908490600f0b612f52565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061173b856111d1565b6002805460109061175d908490600160801b90046001600160801b0316612d98565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117a08461179a8a888a611ad0565b906121ad565b90506117ad888486611ad0565b6117b79082612d0b565b9050868111156117c75786810391505b509695505050505050565b5f61118b8383670de0b6b3a7640000611ad0565b5f6001600160701b038211156111fa5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061185157507f000000000000000000000000000000000000000000000000000000000000000061184f8583612cb1565b105b1561185e5761185e612225565b6004549084900390600f0b6118738482612d5e565b90508361187f866115e9565b1380156118b457507f00000000000000000000000000000000000000000000000000000000000000006118b2838361206b565b105b156118c1576118c1612225565b600354600160801b90046001600160801b03166119026112cd826118ed670de0b6b3a764000088612f3b565b6005546001600160801b031691908c5f6120ff565b600580546001600160801b0319166001600160801b039290921691909117905561192c8882612cb1565b9050611937816111d1565b600380546001600160801b03928316600160801b02921691909117905561195d836111d1565b600280546001600160801b0319166001600160801b0392909216919091179055611986826121ea565b600480546001600160801b0319166001600160801b03929092169190911790556119af876111d1565b600280546010906119d1908490600160801b90046001600160801b0316612d3e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611a1a906112cd906001600160801b0316848461223e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff811115611a6157611a61612f7f565b6040519080825280601f01601f191660200182016040528015611a8b576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611aab578692505b828152825f602083013e90999098509650505050505050565b5f610e30826004610c46565b5f825f190484118302158202611ae4575f80fd5b5091020490565b5f80611af785856117d2565b9050611b02816122a0565b9450845f03611b14575f91505061118b565b849150611b276040840160208501612bb7565b15611b5657611b4f85611b3d6020860186612b8f565b611b4a6040870187612bd2565b6122ef565b9150611b79565b611b7985611b676020860186612b8f565b611b746040870187612bd2565b6123e2565b509392505050565b5f61118b8383670de0b6b3a764000061241c565b6003545f908190611baf906001600160801b031684612199565b9050611bdb7f000000000000000000000000000000000000000000000000000000000000000082612d0b565b6002546001600160801b03161115611345576002547f000000000000000000000000000000000000000000000000000000000000000090611c269083906001600160801b0316612cb1565b61118b9190612cb1565b611c38612a6a565b5f80611c4384611f31565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c7d9190612ee7565b6040805180830381865af4158015611c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbb9190612ef6565b9350905082611ccf57505f91506101129050565b5f611cf5611cf08461016001518561014001516117d290919063ffffffff16565b6115e9565b611d15611cf0856101200151866101000151611b8190919063ffffffff16565b611d1f9190612d5e565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611e53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e779190612f93565b935093509350935080611e9257505f98975050505050505050565b868414611ec357611ea2846111d1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611ef457611ed3836121ea565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611f2257611f04826111d1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611f39612ab4565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612031911661243f565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926120639290041661243f565b905292915050565b5f8061207784846124b3565b90925090508061208957612089612225565b5092915050565b5f815f036120a75750670de0b6b3a7640000610e30565b825f036120b557505f610e30565b5f6120bf836115e9565b90505f6120d36120ce866115e9565b6124ee565b90508181026120ea670de0b6b3a764000082612fd1565b90506120f581612713565b9695505050505050565b5f825f0361210e5750846111c8565b81156121605761213f6121218487612d0b565b61212b85876117d2565b612135888a6117d2565b61179a9190612d0b565b90505f61214c8588611337565b90508082101561215a578091505b506111c8565b82850361216e57505f6111c8565b6120f561217b8487612cb1565b6121858587611b81565b61218f888a6117d2565b61179a9190612cb1565b5f61118b83670de0b6b3a76400008461241c565b5f61118b83670de0b6b3a764000084611ad0565b5f60016001607f1b038211156111fa5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612207575060016001607f1b0382135b156111fa5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061224a845f6128a5565b612254845f6128a5565b61225e9190612d5e565b90505f811315612279576122728186612d0b565b9450612297565b5f8112156122975761228a81612ecd565b6122949086612cb1565b94505b50929392505050565b6040516321a3781f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634346f03e90602401611137565b604051630852cd8d60e31b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c68906024015f604051808303815f87803b158015612350575f80fd5b505af1158015612362573d5f803e3d5ffd5b505050504790505f846001600160a01b0316826040515f6040518083038185875af1925050503d805f81146123b2576040519150601f19603f3d011682016040523d82523d5f602084013e6123b7565b606091505b50509050806123d9576040516312171d8360e31b815260040160405180910390fd5b50949350505050565b6124166001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866128ba565b50505050565b5f825f190484118302158202612430575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612452610478565b61245c9190612f3b565b905080831161246b575f612475565b6124758184612cb1565b915061118b6124ac670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612f3b565b83906121ad565b5f805f836124c0866115e9565b6124ca9190612d5e565b90505f8112156124e0575f8092509250506124e7565b9150600190505b9250929050565b5f80821361250f5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906125929084901c6115e9565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361272c57505f919050565b680755bf798b4a1bf1e58212612755576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906120f574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6115e9565b5f8183136128b3578161118b565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261290c908490612911565b505050565b5f6129256001600160a01b03841683612977565b905080515f141580156129495750808060200190518101906129479190612ffd565b155b1561290c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061118b83835f845f80856001600160a01b0316848660405161299b9190613018565b5f6040518083038185875af1925050503d805f81146129d5576040519150601f19603f3d011682016040523d82523d5f602084013e6129da565b606091505b50915091506120f58683836060826129fa576129f582612a41565b61118b565b8151158015612a1157506001600160a01b0384163b155b15612a3a57604051639996b31560e01b81526001600160a01b038516600482015260240161296e565b508061118b565b805115612a515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b604051806101200160405280612a7e612ab4565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612b1b575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612b3f575f80fd5b840160608187031215612b50575f80fd5b809150509250925092565b5f8060408385031215612b6c575f80fd5b50508035926020909101359150565b6001600160a01b038116811461045e575f80fd5b5f60208284031215612b9f575f80fd5b813561118b81612b7b565b801515811461045e575f80fd5b5f60208284031215612bc7575f80fd5b813561118b81612baa565b5f808335601e19843603018112612be7575f80fd5b83018035915067ffffffffffffffff821115612c01575f80fd5b6020019150368190038213156124e7575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612c6a60a083018486612c15565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612c9857612c98612c76565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e3057610e30612c9d565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612cfd60e083018486612c15565b9a9950505050505050505050565b80820180821115610e3057610e30612c9d565b6001600160701b0381811683821601908082111561208957612089612c9d565b6001600160801b0381811683821601908082111561208957612089612c9d565b8181035f83128015838313168383128216171561208957612089612c9d565b5f60208284031215612d8d575f80fd5b815161118b81612b7b565b6001600160801b0382811682821603908082111561208957612089612c9d565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612e49828551612db8565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ebc575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ee157612ee1612c9d565b505f0390565b6101808101610e308284612db8565b5f8060408385031215612f07575f80fd5b825191506020830151612f1981612baa565b809150509250929050565b5f60208284031215612f34575f80fd5b5051919050565b8082028115828204841417610e3057610e30612c9d565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610e3057610e30612c9d565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612fa6575f80fd5b8451935060208501519250604085015191506060850151612fc681612baa565b939692955090935050565b5f82612fdf57612fdf612c76565b600160ff1b82145f1984141615612ff857612ff8612c9d565b500590565b5f6020828403121561300d575f80fd5b815161118b81612baa565b5f82515f5b81811015613037576020818601810151858301520161301d565b505f92019182525091905056fea2646970667358221220c16c759df72c05ed1ec85de39eaa73d89abddbbf590a5fbbced3e5b55130147864736f6c63430008160033a2646970667358221220ca1a74f1f7335b326c92123b52b9d97cd6eb018d015fbaedf6a7a9c1ebac5f3b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ReentrancyGuard.ts b/packages/hyperdrive-artifacts/src/ReentrancyGuard.ts new file mode 100644 index 000000000..e4b51cbd1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ReentrancyGuard.ts @@ -0,0 +1,12 @@ +export const ReentrancyGuard = { + name: 'ReentrancyGuard' as const, + abi: [ + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ReserveConfiguration.ts b/packages/hyperdrive-artifacts/src/ReserveConfiguration.ts new file mode 100644 index 000000000..c1020d65b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ReserveConfiguration.ts @@ -0,0 +1,36 @@ +export const ReserveConfiguration = { + name: 'ReserveConfiguration' as const, + abi: [ + { + "type": "function", + "name": "DEBT_CEILING_DECIMALS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_RESERVES_COUNT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint16", + "internalType": "uint16" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a9610033600b8282823980515f1a607314602757634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063280d5de914604057806331b561ba14605a575b5f80fd5b6047600281565b6040519081526020015b60405180910390f35b6061608081565b60405161ffff9091168152602001605156fea2646970667358221220185f218523f10c6fc06eb406e7f6b85117d140bb33652bc3edf7f783969ccb1b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "DEBT_CEILING_DECIMALS()": "280d5de9", + "MAX_RESERVES_COUNT()": "31b561ba" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ReserveLogic.ts b/packages/hyperdrive-artifacts/src/ReserveLogic.ts new file mode 100644 index 000000000..864a86fac --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ReserveLogic.ts @@ -0,0 +1,50 @@ +export const ReserveLogic = { + name: 'ReserveLogic' as const, + abi: [ + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220649567c74e7f8112bbcfcd979bfe83753bd705e5a883f230badb8f081c5b6a9064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaBase.ts b/packages/hyperdrive-artifacts/src/RsETHLineaBase.ts new file mode 100644 index 000000000..0a693043b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaBase.ts @@ -0,0 +1,657 @@ +export const RsETHLineaBase = { + name: 'RsETHLineaBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaConversions.ts b/packages/hyperdrive-artifacts/src/RsETHLineaConversions.ts new file mode 100644 index 000000000..425f0a4ca --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaConversions.ts @@ -0,0 +1,6 @@ +export const RsETHLineaConversions = { + name: 'RsETHLineaConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220d29e0c3ca18233368d5ffd8ab77f47ad4a5dc623e1e210a7ebe1b9088fe58bcf64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaHyperdrive.ts b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdrive.ts new file mode 100644 index 000000000..ad1a811bc --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdrive.ts @@ -0,0 +1,1671 @@ +export const RsETHLineaHyperdrive = { + name: 'RsETHLineaHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212205abe366cc56bebffd4c522dc46f2a5b27893d7f96167978fca65751069a84ccb64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..ee499dcb4 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveCoreDeployer.ts @@ -0,0 +1,202 @@ +export const RsETHLineaHyperdriveCoreDeployer = { + name: 'RsETHLineaHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b50604051611ea1380380611ea183398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051611e186100895f395f81816042015260c60152611e185ff3fe608060405234801562000010575f80fd5b506004361062000038575f3560e01c80637df91ba8146200003c5780638cc23ce01462000080575b5f80fd5b620000647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6200006462000091366004620003ad565b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a7f0000000000000000000000000000000000000000000000000000000000000000604051620000f39062000137565b6200010799989796959493929190620005c5565b8190604051809103905ff590508015801562000125573d5f803e3d5ffd5b5090505b9a9950505050505050505050565b611746806200069d83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171562000180576200018062000145565b60405290565b5f82601f83011262000196575f80fd5b813567ffffffffffffffff80821115620001b457620001b462000145565b604051601f8301601f19908116603f01168101908282118183101715620001df57620001df62000145565b81604052838152866020858801011115620001f8575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b03811681146200022e575f80fd5b919050565b5f6080828403121562000244575f80fd5b6040516080810181811067ffffffffffffffff821117156200026a576200026a62000145565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102608284031215620002ad575f80fd5b620002b762000159565b9050620002c48262000217565b8152620002d46020830162000217565b6020820152620002e76040830162000217565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200035281840162000217565b908201526101806200036683820162000217565b908201526101a06200037a83820162000217565b908201526101c06200038e83820162000217565b908201526101e0620003a38484830162000233565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003c8575f80fd5b8a3567ffffffffffffffff80821115620003e0575f80fd5b620003ee8e838f0162000186565b9b50620003ff8e60208f016200029b565b9a50620004106102808e0162000217565b99506102a08d013591508082111562000427575f80fd5b50620004368d828e0162000186565b975050620004486102c08c0162000217565b9550620004596102e08c0162000217565b94506200046a6103008c0162000217565b93506200047b6103208c0162000217565b92506200048c6103408c0162000217565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b031682526020810151620004cd60208401826001600160a01b03169052565b506040810151620004e960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055c828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fb576020828e0101516103808386010152602082019150620005d7565b61038091505f82828601015281601f19601f8301168501019250505062000626602083018b620004a5565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b0383166103408301526200012956fe61034060405234801562000011575f80fd5b506040516200174638038062001746833981016040819052620000349162000349565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc89826200051b565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052811661030052939093166103205250620005e79a5050505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200017b576200017b62000141565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001ac57620001ac62000141565b604052919050565b80516001600160a01b0381168114620001cb575f80fd5b919050565b5f60808284031215620001e1575f80fd5b604051608081016001600160401b038111828210171562000206576200020662000141565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f610260828403121562000249575f80fd5b6200025362000155565b90506200026082620001b4565b81526200027060208301620001b4565b60208201526200028360408301620001b4565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002ee818401620001b4565b9082015261018062000302838201620001b4565b908201526101a062000316838201620001b4565b908201526101c06200032a838201620001b4565b908201526101e06200033f84848301620001d0565b9082015292915050565b5f805f805f805f805f6103608a8c03121562000363575f80fd5b89516001600160401b03808211156200037a575f80fd5b818c0191508c601f8301126200038e575f80fd5b815181811115620003a357620003a362000141565b60209150620003bb601f8201601f1916830162000181565b8181528e83838601011115620003cf575f80fd5b5f5b82811015620003ee578481018401518282018501528301620003d1565b505f838383010152809c505050620004098d828e0162000237565b995050506200041c6102808b01620001b4565b96506200042d6102a08b01620001b4565b95506200043e6102c08b01620001b4565b94506200044f6102e08b01620001b4565b9350620004606103008b01620001b4565b9250620004716103208b01620001b4565b9150620004826103408b01620001b4565b90509295985092959850929598565b600181811c90821680620004a657607f821691505b602082108103620004c557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200051657805f5260205f20601f840160051c81016020851015620004f25750805b601f840160051c820191505b8181101562000513575f8155600101620004fe565b50505b505050565b81516001600160401b0381111562000537576200053762000141565b6200054f8162000548845462000491565b84620004cb565b602080601f83116001811462000585575f84156200056d5750858301515b5f19600386901b1c1916600185901b178555620005df565b5f85815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161032051611041620007055f395f50505f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea26469706673582212205abe366cc56bebffd4c522dc46f2a5b27893d7f96167978fca65751069a84ccb64736f6c63430008160033a2646970667358221220931d98306704a1e83b3426a1adb697012979d85037caeef55f9f9302ec10258d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..0e56a49ae --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaHyperdriveDeployerCoordinator.ts @@ -0,0 +1,779 @@ +export const RsETHLineaHyperdriveDeployerCoordinator = { + name: 'RsETHLineaHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b50604051620027e8380380620027e88339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516101605161238d6200045b5f395f81816102a40152818161070c01528181610ed901528181611281015261150b01525f81816102ef0152610dbc01525f81816103550152610c8901525f81816103bb0152610b5601525f81816103220152610a2301525f8181610388015261081a01525f818161047e015261113601525f818161042c01528181610585015281816107430152818161084a01528181610a5301528181610b8601528181610cb901528181610dec01528181610f0a0152611167015261238d5ff3fe608060405260043610610105575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a01551461041b578063c6e6f5921461044e578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063ab71905f14610377578063b6cb1118146103aa578063b88fed9f146103dd578063c1510618146103fc575f80fd5b806354fd4d50116100d857806354fd4d50146102645780637df91ba814610293578063966ecd1c146102de578063a085fa3014610311578063aa8cd6c414610344575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc70146101475780633740401714610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611a1f565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a610155366004611b57565b610579565b60405190815260200161012a565b348015610173575f80fd5b50610257610182366004611c15565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611c2c565b34801561026f575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b34801561029e575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b3480156102e9575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b34801561031c575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b34801561034f575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b348015610382575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b5575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e8575f80fd5b5061015a6103f7366004611c15565b610706565b348015610407575f80fd5b506102c6610416366004611e00565b610737565b348015610426575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b348015610459575f80fd5b5061015a610468366004611c15565b610ed3565b348015610478575f80fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b506102c66104ba366004611e69565b610efe565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602781526020016123316027913981565b5f80546104fa90611f03565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611f03565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611271565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611f3b565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611f8a565b92505f6106898234611fa1565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f6107317f0000000000000000000000000000000000000000000000000000000000000000836114e8565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461078157604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610931578054156107b657604051633be1b34d60e11b815260040160405180910390fd5b6107c086866114ff565b5f6107cb8787611656565b90505f876040516020016107df9190611fc0565b6040516020818303038152906040528051906020012090505f878051906020012090505f61080c8a61166f565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610886929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108bb94939291906121f3565b6020604051808303815f875af11580156108d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb9190612238565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061095d5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161096f9190611fc0565b60405160208183030381529060405280519060200120146109a35760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109cd57604051631a3272d160e31b815260040160405180910390fd5b6109d787876114ff565b5f6109e18861166f565b6002840154608082015290506001869003610b215760058301546001600160a01b031615610a215760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a8893929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610abd94939291906121f3565b6020604051808303815f875af1158015610ad9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afd9190612238565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c545760068301546001600160a01b031615610b545760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bbb93929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bf094939291906121f3565b6020604051808303815f875af1158015610c0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c309190612238565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610d875760078301546001600160a01b031615610c875760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cee93929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d2394939291906121f3565b6020604051808303815f875af1158015610d3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d639190612238565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610eba5760088301546001600160a01b031615610dba5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e2193929190612253565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e5694939291906121f3565b6020604051808303815f875af1158015610e72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e969190612238565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f6107317f00000000000000000000000000000000000000000000000000000000000000008361173d565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f4857604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610ff057604051632c95caeb60e01b815260040160405180910390fd5b805161100f5760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611034575060a08101516001600160a01b0316155b8061104a575060c08101516001600160a01b0316155b80611060575060e08101516001600160a01b0316155b8061107757506101008101516001600160a01b0316155b156110955760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110a8908790602001611fc0565b60405160208183030381529060405280519060200120146110dc5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461110757604051631a3272d160e31b815260040160405180910390fd5b61111185856114ff565b5f61111b8661166f565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111bd929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111f89a99989796959493929190612274565b6020604051808303815f875af1158015611214573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112389190612238565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f8160200151801561130157505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ff9190611f8a565b115b1561131f5760405163350b944160e11b815260040160405180910390fd5b816020015115611351578234101561134a5760405163044044a560e21b815260040160405180910390fd5b50816114e0565b5f856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561138e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b29190612238565b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018790529192505f918316906323b872dd906064016020604051808303815f875af1158015611409573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142d91906122f6565b90508061144d576040516312171d8360e31b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0388811660048301526024820187905283169063095ea7b3906044016020604051808303815f875af1158015611499573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114bd91906122f6565b9050806114dd576040516340b27c2160e11b815260040160405180910390fd5b50505b949350505050565b5f806114f384611754565b90506114e083826117b5565b61150982826117c9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e129200f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611565573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115899190612238565b6001600160a01b031682602001516001600160a01b0316146115be5760405163073f739d60e51b815260040160405180910390fd5b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146115fc57604051630722152560e11b815260040160405180910390fd5b816080015166038d7ea4c6800014611627576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c6800014611652576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611668670de0b6b3a7640000610706565b9392505050565b611677611908565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b5f8061174884611754565b90506114e083826118dd565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611791573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107319190611f8a565b5f6116688383670de0b6b3a76400006118ed565b6103e8826080015110156117f0576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361181557604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061183f57508161010001518260e0015161183c9190612311565b15155b1561185d5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118895750670de0b6b3a7640000826101c0015160200151115b806118a45750670de0b6b3a7640000826101c0015160400151115b806118bf5750670de0b6b3a7640000826101c0015160600151115b15611652576040516322f72cc360e11b815260040160405180910390fd5b5f61166883670de0b6b3a7640000845b5f825f190484118302158202611901575f80fd5b5091020490565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016119d760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b81811015611a00576020818501810151868301820152016119e4565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61166860208301846119dc565b6001600160a01b0381168114611a45575f80fd5b50565b8035611a5381611a31565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611a8f57611a8f611a58565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611a8f57611a8f611a58565b8015158114611a45575f80fd5b5f67ffffffffffffffff80841115611ae057611ae0611a58565b604051601f8501601f19908116603f01168101908282118183101715611b0857611b08611a58565b81604052809350858152868686011115611b20575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611b48575f80fd5b61166883833560208501611ac6565b5f805f805f60a08688031215611b6b575f80fd5b853594506020860135611b7d81611a31565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ba7575f80fd5b908701906060828a031215611bba575f80fd5b611bc2611a6c565b8235611bcd81611a31565b81526020830135611bdd81611ab9565b6020820152604083013582811115611bf3575f80fd5b611bff8b828601611b39565b6040830152508093505050509295509295909350565b5f60208284031215611c25575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611cb9575f80fd5b6040516080810181811067ffffffffffffffff82111715611cdc57611cdc611a58565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611d1e575f80fd5b611d26611a95565b9050611d3182611a48565b8152611d3f60208301611a48565b6020820152611d5060408301611a48565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611dad818401611a48565b90820152610160611dbf838201611a48565b90820152610180611dd1838201611a48565b908201526101a0611de3838201611a48565b908201526101c0611df684848301611ca9565b9082015292915050565b5f805f805f6102c08688031215611e15575f80fd5b85359450611e268760208801611d0d565b935061026086013567ffffffffffffffff811115611e42575f80fd5b611e4e88828901611b39565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611e7e575f80fd5b85359450602086013567ffffffffffffffff80821115611e9c575f80fd5b818801915088601f830112611eaf575f80fd5b611ebe89833560208501611ac6565b9550611ecd8960408a01611d0d565b9450610280880135915080821115611ee3575f80fd5b50611ef088828901611b39565b959894975092956102a001359392505050565b600181811c90821680611f1757607f821691505b602082108103611f3557634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611f8060c08401826119dc565b9695505050505050565b5f60208284031215611f9a575f80fd5b5051919050565b8181038181111561073157634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611fec60208401826001600160a01b03169052565b50604083015161200760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161206d828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611ca1565b80516001600160a01b0316825260208101516120fd60208401826001600160a01b03169052565b50604081015161211860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161218a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061220183886120d6565b6001600160a01b0386166102608401526102808301819052612225818401866119dc565b915050826102a083015295945050505050565b5f60208284031215612248575f80fd5b815161166881611a31565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526122878184018e6119dc565b9050612296602084018d6120d6565b6001600160a01b038b81166102808501528382036102a08501526122ba828c6119dc565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612306575f80fd5b815161166881611ab9565b5f8261232b57634e487b7160e01b5f52601260045260245ffd5b50069056fe52734554484c696e6561487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212208629029789b2afd2eb796238d831aed8a8a0062a8a2ad26cb5e401bdb323118a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "rsETHPool()": "7df91ba8", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget0.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget0.ts new file mode 100644 index 000000000..d7252871a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget0.ts @@ -0,0 +1,1956 @@ +export const RsETHLineaTarget0 = { + name: 'RsETHLineaTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003d3938038062003d398339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138dc6200045d5f395f8181610b710152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138dc5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637df91ba8146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612db8565b610650565b6102736102d9366004612e8e565b61066c565b6102736102ec366004612f1d565b610682565b6103046102ff366004612ceb565b610695565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f62565b6106fe565b604051908152602001610257565b61035f610743565b60405160ff9091168152602001610257565b61034961037f366004612fa1565b61075a565b610349610792565b61034961039a366004612fcf565b6107b0565b6103b26103ad366004612d75565b6107ba565b6040519015158152602001610257565b61024a6103d0366004612ceb565b6107d9565b6102736103e3366004613006565b6107e7565b61024a610835565b6103f861086a565b604051610257919061304d565b6102736104133660046130ee565b5050565b6102a0610b63565b61034961042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610349610494366004612ceb565b611148565b6103496104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61034961126c565b6103496104ea366004612ceb565b611285565b6103496104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103b2610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f76040518060400160405280601481526020017352734554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b61066189898989898989898961197f565b505050505050505050565b61067a868686868686611b71565b505050505050565b61068f8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073c910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261078c910161058a565b92915050565b5f6105f761079e611ddf565b60405160200161058a91815260200190565b5f61078c82611e6c565b5f61059e6107c7836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836107f18161227c565b6001600160a01b0316336001600160a01b03161461082257604051632aab8bd360e01b815260040160405180910390fd5b61082e85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b6108d4604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108dd6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109479190613564565b6109519190613577565b90505f8215610a605773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61097d856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a50919061358a565b509050610a5d8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3057610b2b8486612555565b610b32565b5f5b81526003546001600160801b0316602091820152604051919250610b5c9161058a9184910161304d565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e61079e83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e61079e83612594565b5f61059e61079e6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b61067a8686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161078c910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61073c8383670de0b6b3a764000061286a565b5f61073c83670de0b6b3a76400008461286a565b5f61078c7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f61078c7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b61078c91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061073c565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061073c612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061082e576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c919061366c565b606061073c83835f612af9565b5f612aef82846137d8565b61073c9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b39919061388b565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61073c565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061073c565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61073c6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561073c81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561073c81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561073c575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561078c5761078c613550565b8181038181111561078c5761078c613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161073c81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b808202811582820484141761078c5761078c613550565b5f60208284031215613880575f80fd5b815161073c81612d90565b5f825161389c818460208701612d02565b919091019291505056fea26469706673582212203f26185ce2a2ae99886b30a4afa47c44b1713944633f8767753e1366e383b5f764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "rsETHPool()": "7df91ba8", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget0Deployer.ts new file mode 100644 index 000000000..5827d79f1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget0Deployer.ts @@ -0,0 +1,172 @@ +export const RsETHLineaTarget0Deployer = { + name: 'RsETHLineaTarget0Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516142ee3803806142ee83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142656100895f395f8181603d015260b801526142655ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613d39806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003d3938038062003d398339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516138dc6200045d5f395f8181610b710152818161256f015261259a01525f8181610d2e01526122f701525f8181610cff01526122ba01525f8181610bdb01528181610e5e01528181610eec01528181610f7a0152818161100801528181611611015281816116a70152818161186901528181611e8101528181611f5501526120a601525f610dc601525f8181610da0015261249c01525f8181610d7a015261247601525f8181610d54015261245001525f61111301525f6110ed01525f6110c701525f6110a101525f8181610e3801526124c201525f8181610dec0152818161129e015261283f01525f8181610e120152612a5201525f818161061f01528181610cd001528181611df601526129bf01525f8181610ca1015261123b01526138dc5ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806360246c8811610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806360246c88146103f05780637180c8ca146104055780637df91ba8146104175780637ecebe001461041f578063950c5d0314610432575f80fd5b806320fc4881116101c15780633e691db9116101865780633e691db91461038c57806346fbf68e1461039f5780634e41a1fb146103c25780634ed2d6ac146103d557806354fd4d50146103e8575f80fd5b806320fc4881146102f157806321ff32a914610336578063313ce567146103575780633656eec2146103715780633a98ef3914610384575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806314e5f07b146102b857806317fad7fc146102cb5780631c0f12b6146102de575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612ceb565b61056c565b6040516102579190612d4f565b60405180910390f35b61027361026e366004612d75565b6105a3565b005b610273610283366004612d9d565b6105ac565b61024a6105b5565b61024a6105fa565b6102a0610611565b6040516001600160a01b039091168152602001610257565b6102736102c6366004612db8565b610650565b6102736102d9366004612e8e565b61066c565b6102736102ec366004612f1d565b610682565b6103046102ff366004612ceb565b610695565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b610349610344366004612f62565b6106fe565b604051908152602001610257565b61035f610743565b60405160ff9091168152602001610257565b61034961037f366004612fa1565b61075a565b610349610792565b61034961039a366004612fcf565b6107b0565b6103b26103ad366004612d75565b6107ba565b6040519015158152602001610257565b61024a6103d0366004612ceb565b6107d9565b6102736103e3366004613006565b6107e7565b61024a610835565b6103f861086a565b604051610257919061304d565b6102736104133660046130ee565b5050565b6102a0610b63565b61034961042d366004612d75565b610ba2565b6102a0610bcd565b61027361044836600461311a565b610c0c565b61027361045b3660046130ee565b610c1d565b61027361046e366004612d75565b50565b610479610c88565b604051610257919061314f565b610349610494366004612ceb565b611148565b6103496104a7366004612ceb565b611155565b6104bf6104ba366004613275565b611176565b60405161025791906132b4565b6102a061122d565b61034961126c565b6103496104ea366004612ceb565b611285565b6103496104fd366004612ceb565b611292565b61050a6112c8565b60405161025791906132f7565b610273610525366004613408565b6113d3565b6103b2610538366004613463565b61141b565b61054561145e565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a836114bc565b60405160200161058a9190612d4f565b6040516020818303038152906040526115e2565b919050565b61046e81611606565b61046e81611867565b60606105f76040518060400160405280601481526020017352734554484c696e65614879706572647269766560601b81525060405160200161058a9190612d4f565b90565b60606105f7600160405160200161058a919061348f565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b61066189898989898989898961197f565b505050505050505050565b61067a868686868686611b71565b505050505050565b61068f8484848433611c24565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261073c910161058a565b9392505050565b60408051601260208201525f916105f7910161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261078c910161058a565b92915050565b5f6105f761079e611ddf565b60405160200161058a91815260200190565b5f61078c82611e6c565b5f61059e6107c7836120a2565b6040805191151560208301520161058a565b606061059e61057a83612180565b836107f18161227c565b6001600160a01b0316336001600160a01b03161461082257604051632aab8bd360e01b815260040160405180910390fd5b61082e85858585612339565b5050505050565b60606105f760405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612d4f565b6108d4604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108dd6123a5565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b03909216916109479190613564565b6109519190613577565b90505f8215610a605773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61097d856123b7565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a50919061358a565b509050610a5d8184612541565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b3057610b2b8486612555565b610b32565b5f5b81526003546001600160801b0316602091820152604051919250610b5c9161058a9184910161304d565b5050505090565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b610c1883838333612339565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c90612c17565b6105f76040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edc91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6a91906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff891906135b8565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108691906135b8565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a919061314f565b5f61059e61079e83612569565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff811115611192576111926135d3565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b5090505f5b83811015611211575f8585838181106111db576111db6135e7565b9050602002013590505f81549050808484815181106111fc576111fc6135e7565b602090810291909101015250506001016111c0565b506112268160405160200161058a91906132b4565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f7910161058a565b5f6105f760095460405160200161058a91815260200190565b5f61059e61079e83612594565b5f61059e61079e6112c37f000000000000000000000000000000000000000000000000000000000000000085613564565b6125bf565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f7600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113dd8161227c565b6001600160a01b0316336001600160a01b03161461140e57604051632aab8bd360e01b815260040160405180910390fd5b61067a8686868686611c24565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161078c910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f79060600161058a565b606060f882901c6001600160f81b0383165f6114d7826125ff565b90505f8360038111156114ec576114ec61353c565b0361151e576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115da565b60018360038111156115325761153261353c565b0361155e578060405160200161154891906135fb565b60405160208183030381529060405293506115da565b60028360038111156115725761157261353c565b0361158857806040516020016115489190613633565b600383600381111561159c5761159c61353c565b036115da576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115fd9190612d4f565b60405180910390fd5b61160e6126b1565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061168f91906135b8565b9050336001600160a01b0382161480159061173b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611701573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172591906135b8565b6001600160a01b0316336001600160a01b031614155b801561174d575061174b336120a2565b155b1561176a576040516282b42960e81b815260040160405180910390fd5b5f611773611ddf565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117de919061366c565b90506117f46001600160a01b03851684836126d9565b816117fd611ddf565b1461181b576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e791906135b8565b6001600160a01b0316336001600160a01b03161415801561190e575061190c336120a2565b155b1561192b576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061197490831515815260200190565b60405180910390a150565b834211156119a05760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119c75760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611ab1573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611aef57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b8e57506001600160a01b038516155b15611bac5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bcc5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c1b57611c13858583818110611beb57611beb6135e7565b905060200201358888868686818110611c0657611c066135e7565b9050602002013533611c24565b600101611bce565b50505050505050565b6001600160a01b0384161580611c4157506001600160a01b038316155b15611c5f5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d1f576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d1f575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d1d575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d17908490613577565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d50908490613577565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d86908490613564565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e67919061366c565b905090565b5f611e756126b1565b611e7e8261272b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611edb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eff91906135b8565b90506001600160a01b038116611f186020850185612d75565b6001600160a01b031614611f3f57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611fe957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd391906135b8565b6001600160a01b0316336001600160a01b031614155b8015611ffb5750611ff9336120a2565b155b15612018576040516282b42960e81b815260040160405180910390fd5b5f6120216123a5565b600980545f909155909150612037818387612760565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461207660408a0160208b01612d9d565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120ff573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121269190810190613683565b90505f5b815181101561217757836001600160a01b031682828151811061214f5761214f6135e7565b60200260200101516001600160a01b03160361216f575060019392505050565b60010161212a565b505f9392505050565b606060f882901c6001600160f81b0383165f61219b826125ff565b90505f8360038111156121b0576121b061353c565b036121e2576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115da565b60018360038111156121f6576121f661353c565b0361220c57806040516020016115489190613743565b60028360038111156122205761222061353c565b036122365780604051602001611548919061377a565b600383600381111561224a5761224a61353c565b036115da57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e67670de0b6b3a7640000612569565b61240f6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161250791166127f6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612539929004166127f6565b905292915050565b5f61073c8383670de0b6b3a764000061286a565b5f61073c83670de0b6b3a76400008461286a565b5f61078c7f000000000000000000000000000000000000000000000000000000000000000083612885565b5f61078c7f0000000000000000000000000000000000000000000000000000000000000000836128a4565b5f6125e4600b5f6125d16002866128bb565b81526020019081526020015f20546128ef565b6125f5600b5f6125d16001876128bb565b61078c91906137a5565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126a357612638600a866137d8565b612643906030613564565b60f81b8260016126538487613577565b61265d9190613577565b8151811061266d5761266d6135e7565b60200101906001600160f81b03191690815f1a9053508061268d816137eb565b915061269c9050600a86613803565b9450612627565b918290030190815292915050565b60025f54036126d357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c1890849061291c565b5f6127396020830183612d75565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061276c8585612541565b905061277781612594565b9450845f03612789575f91505061073c565b84915061279c6040840160208501612d9d565b156127cb576127c4856127b26020860186612d75565b6127bf6040870187613816565b61297d565b91506127ee565b6127ee856127dc6020860186612d75565b6127e96040870187613816565b612997565b509392505050565b5f80670de0b6b3a7640000612809612a4b565b6128139190613859565b9050808311612822575f61282c565b61282c8184613577565b915061073c612863670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613859565b8390612555565b5f825f19048411830215820261287e575f80fd5b5091020490565b5f8061289084612a76565b905061289c8382612541565b949350505050565b5f806128af84612a76565b905061289c8382612555565b5f6001600160f81b038211156128e45760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129185760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129306001600160a01b03841683612ad7565b905080515f141580156129545750808060200190518101906129529190613870565b155b15610c1857604051635274afe760e01b81526001600160a01b03841660048201526024016115fd565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af1158015612a07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2b9190613870565b90508061082e576040516312171d8360e31b815260040160405180910390fd5b5f611e67427f0000000000000000000000000000000000000000000000000000000000000000612ae4565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c919061366c565b606061073c83835f612af9565b5f612aef82846137d8565b61073c9084613577565b606081471015612b1e5760405163cd78605960e01b81523060048201526024016115fd565b5f80856001600160a01b03168486604051612b39919061388b565b5f6040518083038185875af1925050503d805f8114612b73576040519150601f19603f3d011682016040523d82523d5f602084013e612b78565b606091505b5091509150612b88868383612b92565b9695505050505050565b606082612ba757612ba282612bee565b61073c565b8151158015612bbe57506001600160a01b0384163b155b15612be757604051639996b31560e01b81526001600160a01b03851660048201526024016115fd565b508061073c565b805115612bfe5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612ce660405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612cfb575f80fd5b5035919050565b5f5b83811015612d1c578181015183820152602001612d04565b50505f910152565b5f8151808452612d3b816020860160208601612d02565b601f01601f19169290920160200192915050565b602081525f61073c6020830184612d24565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612d85575f80fd5b813561073c81612d61565b801515811461046e575f80fd5b5f60208284031215612dad575f80fd5b813561073c81612d90565b5f805f805f805f805f6101208a8c031215612dd1575f80fd5b8935985060208a0135975060408a0135612dea81612d61565b965060608a0135612dfa81612d61565b955060808a0135612e0a81612d90565b945060a08a0135935060c08a013560ff81168114612e26575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612e56575f80fd5b50813567ffffffffffffffff811115612e6d575f80fd5b6020830191508360208260051b8501011115612e87575f80fd5b9250929050565b5f805f805f8060808789031215612ea3575f80fd5b8635612eae81612d61565b95506020870135612ebe81612d61565b9450604087013567ffffffffffffffff80821115612eda575f80fd5b612ee68a838b01612e46565b90965094506060890135915080821115612efe575f80fd5b50612f0b89828a01612e46565b979a9699509497509295939492505050565b5f805f8060808587031215612f30575f80fd5b843593506020850135612f4281612d61565b92506040850135612f5281612d61565b9396929550929360600135925050565b5f805f60608486031215612f74575f80fd5b833592506020840135612f8681612d61565b91506040840135612f9681612d61565b809150509250925092565b5f8060408385031215612fb2575f80fd5b823591506020830135612fc481612d61565b809150509250929050565b5f60208284031215612fdf575f80fd5b813567ffffffffffffffff811115612ff5575f80fd5b82016060818503121561073c575f80fd5b5f805f8060808587031215613019575f80fd5b84359350602085013561302b81612d61565b925060408501359150606085013561304281612d61565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f80604083850312156130ff575f80fd5b823561310a81612d61565b91506020830135612fc481612d90565b5f805f6060848603121561312c575f80fd5b83359250602084013561313e81612d61565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161317b60208401826001600160a01b03169052565b50604083015161319660408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613208828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613286575f80fd5b823567ffffffffffffffff81111561329c575f80fd5b6132a885828601612e46565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b818110156132eb578351835292840192918401916001016132cf565b50909695505050505050565b81516001600160801b031681526101808101602083015161332360208401826001600160801b03169052565b50604083015161333e60408401826001600160801b03169052565b50606083015161335960608401826001600160801b03169052565b50608083015161336e6080840182600f0b9052565b5060a083015161338960a08401826001600160801b03169052565b5060c08301516133a460c08401826001600160801b03169052565b5060e08301516133bf60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261326d565b5f805f805f60a0868803121561341c575f80fd5b85359450602086013561342e81612d61565b9350604086013561343e81612d61565b925060608601359150608086013561345581612d61565b809150509295509295909350565b5f8060408385031215613474575f80fd5b823561347f81612d61565b91506020830135612fc481612d61565b5f60208083525f84545f60018260011c915060018316806134b157607f831692505b6020831081036134cf57634e487b7160e01b5f52602260045260245ffd5b60208801839052604088018180156134ee57600181146135045761352d565b60ff198616825284151560051b8201965061352d565b5f8b8152602090205f5b868110156135275781548482015290850190890161350e565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561078c5761078c613550565b8181038181111561078c5761078c613550565b5f806040838503121561359b575f80fd5b825191506020830151612fc481612d90565b805161059e81612d61565b5f602082840312156135c8575f80fd5b815161073c81612d61565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613626816011850160208701612d02565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f825161365f816012850160208701612d02565b9190910160120192915050565b5f6020828403121561367c575f80fd5b5051919050565b5f6020808385031215613694575f80fd5b825167ffffffffffffffff808211156136ab575f80fd5b818501915085601f8301126136be575f80fd5b8151818111156136d0576136d06135d3565b8060051b604051601f19603f830116810181811085821117156136f5576136f56135d3565b604052918252848201925083810185019188831115613712575f80fd5b938501935b8285101561373757613728856135ad565b84529385019392850192613717565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f825161376d816010850160208701612d02565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613626816011850160208701612d02565b8181035f83128015838313168383128216171561122657611226613550565b634e487b7160e01b5f52601260045260245ffd5b5f826137e6576137e66137c4565b500690565b5f600182016137fc576137fc613550565b5060010190565b5f82613811576138116137c4565b500490565b5f808335601e1984360301811261382b575f80fd5b83018035915067ffffffffffffffff821115613845575f80fd5b602001915036819003821315612e87575f80fd5b808202811582820484141761078c5761078c613550565b5f60208284031215613880575f80fd5b815161073c81612d90565b5f825161389c818460208701612d02565b919091019291505056fea26469706673582212203f26185ce2a2ae99886b30a4afa47c44b1713944633f8767753e1366e383b5f764736f6c63430008160033a264697066735822122026f6f158d8dbfde5ab58a801ce75222d3db81c3e319750b0f595fd532070f97e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget1.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget1.ts new file mode 100644 index 000000000..91f66eeb1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget1.ts @@ -0,0 +1,962 @@ +export const RsETHLineaTarget1 = { + name: 'RsETHLineaTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003dbd38038062003dbd8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613927620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139275ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b91906138da565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a6565b5f602082840312156138ea575f80fd5b505191905056fea264697066735822122045c9d0d47d6d3a6b92855918e8981bd5fa184aa3e5754a9291119c4d9122026564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget1Deployer.ts new file mode 100644 index 000000000..dbc9ef2ef --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget1Deployer.ts @@ -0,0 +1,172 @@ +export const RsETHLineaTarget1Deployer = { + name: 'RsETHLineaTarget1Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161437238038061437283398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516142e96100895f395f8181603d015260b801526142e95ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613dbd806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003dbd38038062003dbd8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613927620004965f395f8181611970015261250401525f50505f50505f610b2e01525f50505f818160a9015281816103140152612b8501525f818161139301528181611791015281816117f40152818161276e015281816127aa015281816129a20152612b5f01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b3901525f611ada01525f8181611bfb0152818161223c01526122b401525f81816108a901528181610f4301528181611bcf015261228801525f8181610e3e015261220201525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bab01525f81816107e701528181610ec4015281816116ef015281816120db015261314701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61256b01525f50506139275ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133d7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133d7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613445565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613458565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361348b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a016134b3565b6102bd8a6102b78d8f613445565b90611584565b8d6102cb60408c018c6134ce565b6040516102df989796959493929190613539565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613445565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613580565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361348b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a016134b3565b8a61050260408b018b6134ce565b60405161051597969594939291906135a7565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361348b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611995565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613445565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119aa565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b92505b5061073e836119e0565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135e7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613445565b4290611a09565b8461102b565b6107db88611a1d565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135e7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611bba565b915091508060095f8282546108789190613445565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613445565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c87565b91506108e16108dc8385611584565b611cd0565b600680546002906109029084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119e0565b60068054601090610951908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611bba565b915091508060095f8282546109c49190613445565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135e7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135fa565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119e0565b60068054601090610a68908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613458565b5f61134e565b8e610ac58482611cf9565b50505b5f610ad284611ee8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061363a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061202a565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135e7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119aa565b90505f610d5f8a6120b0565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120ff565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061216e565b61219d565b15610e7457610e746113ec565b5f805f610e8385878b876121de565b9c5091945092509050610e9681846135e7565b610ea09089613445565b9750610eac8284613445565b610eb6908d613445565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135e7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c87565b9950610f73878a6135e7565b9850670de0b6b3a7640000610ff0610f8b8787613445565b600254610fa9908f90600160801b90046001600160801b03166135e7565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122f0565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135e7565b6110d19190613655565b85670de0b6b3a76400006110e5878a6135e7565b6110ef9190613655565b85929190600161238c565b6119e0565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119e0565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613655565b600554600160801b90046001600160801b031691908a5f61238c565b600580546001600160801b03928316600160801b0292169190911790556111d2866119e0565b6111dc908261366c565b600480546001600160801b03928316600160801b029216919091179055611202846119e0565b600280545f9061121c9084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612432565b600480545f9061125d908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119e0565b600280546010906112af908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613458565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b0316848461246d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124cf565b6003546113ce91906001600160801b0316613445565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cf9565b5f805f61141d84611a1d565b90925090505f61142d8686611584565b905081831115611445576114428683856124e3565b95505b8281101561145757808303925061145b565b5f92505b61146483611cd0565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119e0565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b9050611504816124fe565b9450845f03611516575f91505061157d565b84915061152960408401602085016134b3565b15611558576115518561153f602086018661348b565b61154c60408701876134ce565b612529565b915061157b565b61157b85611569602086018661348b565b61157660408701876134ce565b612543565b505b9392505050565b5f61157d8383670de0b6b3a76400006124e3565b5f805f805f805f806115a86119aa565b90505f6115b48a6120b0565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f00000000000000000000000000000000000000000000000000000000000000006125fe565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119ca565b985061169a84878b886121de565b9c5091945090925090506116ae82846135e7565b6116b890896135e7565b97506116c48184613445565b6116ce908e6135e7565b9c506116da8a8e613445565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135e7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122f0565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135e7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613458565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612651565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613655565b6005546001600160801b031691908c5f61238c565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135e7565b90506118a2816119e0565b600380546001600160801b03928316600160801b0292169190911790556118c8836119e0565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612432565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119e0565b6002805460109061193c908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612676565b5f6119a082846136cd565b61157d90846135e7565b6002546004545f916105a6916001600160801b0390911690600f0b612651565b5f61007d826119da8588886124e3565b9061268d565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a17578261157d565b50919050565b6006545f908190611a3f908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bb5575f611a6883836135e7565b9050611a776110fa82866126fc565b60068054601090611a99908490600160801b90046001600160801b031661366c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ad1858361271090919063ffffffff16565b90505f611afe827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b119190613445565b90915550611b21905081836135e7565b9150611b2c826119e0565b600280545f90611b469084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b7382612724565b600480545f90611b87908490600f0b61368c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611bc68785612710565b91505f611bf3837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c1f817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c4257611c3182826135e7565b611c3b90846135e7565b9250611c59565b611c4c82826135e7565b611c569084613445565b92505b86861015611c7c57611c6c8387896124e3565b9250611c798287896124e3565b91505b509550959350505050565b5f80611c9e84611c988a888a6124e3565b90612710565b9050611cab8884866124e3565b611cb59082613445565b905086811115611cc55786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d43916001600160801b0316906135e7565b9050805f03611d5657600191505061131b565b5f611d608561274d565b9050805f03611d745760019250505061131b565b5f80611d818385896127e8565b9150915080611d96575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dd192919061375e565b6040805180830381865af4158015611deb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0f91906137d3565b91509150611e2d611e1f82611321565b611e28906137f5565b61295c565b925082611e42575f965050505050505061131b565b611e4b826119e0565b600780545f90611e659084906001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e92816119e0565b60078054601090611eb4908490600160801b90046001600160801b031661361a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f0f87612af0565b6040518263ffffffff1660e01b8152600401611f2b919061380f565b6040805180830381865af4158015611f45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f69919061381e565b9150915080611f7e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fe391613445565b611fed91906135e7565b9050805f0361200357505f958695509350505050565b5f808711612011575f61201c565b61201c8488846124e3565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561204d5761204d61384c565b6040519080825280601f01601f191660200182016040528015612077576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612097578692505b828152825f602083013e90999098509650505050505050565b5f806120ba6105ab565b90508083116120c9575f6120d3565b6120d381846135e7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612710565b5f808061211f61211788670de0b6b3a76400006135e7565b899087612c2a565b905086156121615761213188886124cf565b91506121528a8a8461214b8a670de0b6b3a76400006135e7565b8989612c4d565b925061215e8382613445565b90505b9750975097945050505050565b5f61218b61218484670de0b6b3a76400006135e7565b83906124cf565b61157d90670de0b6b3a76400006135e7565b5f806121d3856121ab6119aa565b6121b59190613445565b600254610fa9908790600160801b90046001600160801b03166135e7565b909210949350505050565b5f808080612234878661222d8b6122276122008c670de0b6b3a76400006135e7565b7f0000000000000000000000000000000000000000000000000000000000000000906124cf565b906124cf565b9190612c2a565b9350612260847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61228061227889670de0b6b3a76400006135e7565b8a9088612c2a565b90506122ac817f00000000000000000000000000000000000000000000000000000000000000006124cf565b93506122d8847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122e29084613445565b915050945094509450949050565b5f805f805f808888101561235c5786156123125761230f8d898b6124e3565b9c505b61231d8c898b6124e3565b9b506123288b611321565b6123318d611321565b61233b9190613458565b90506123488b898b6124e3565b9a506123558a898b6124e3565b995061237b565b6123658b611321565b61236e8d611321565b6123789190613458565b90505b9b9c9a9b999a975050505050505050565b5f825f0361239b575084612429565b81156123ed576123cc6123ae8487613445565b6123b88587611584565b6123c2888a611584565b611c989190613445565b90505f6123d98588611a09565b9050808210156123e7578091505b50612429565b8285036123fb57505f612429565b61242661240884876135e7565b61241285876124cf565b61241c888a611584565b611c9891906135e7565b90505b95945050505050565b5f60016001607f1b031982128061244f575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612479845f612c6f565b612483845f612c6f565b61248d9190613458565b90505f8113156124a8576124a18186613445565b94506124c6565b5f8112156124c6576124b9816137f5565b6124c390866135e7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c2a565b5f825f1904841183021582026124f7575f80fd5b5091020490565b5f61131b7f000000000000000000000000000000000000000000000000000000000000000083612c84565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156125b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d79190613860565b9050806125f7576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f808061261e61261688670de0b6b3a76400006135e7565b8990876124e3565b90508615612161576126308888611584565b91506121528a8a8461264a8a670de0b6b3a76400006135e7565b8989612c9b565b5f8061265d8484612cab565b90925090508061266f5761266f6113ec565b5092915050565b5f8061268184612ce6565b90506100808382611584565b5f815f036126a45750670de0b6b3a764000061131b565b825f036126b257505f61131b565b5f6126bc83611321565b90505f6126d06126cb86611321565b612d47565b90508181026126e7670de0b6b3a76400008261387b565b90506126f281612f6c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c2a565b5f61157d83670de0b6b3a7640000846124e3565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612767906001600160801b0316846126fc565b90506127937f000000000000000000000000000000000000000000000000000000000000000082613445565b6002546001600160801b03161115611a17576002547f0000000000000000000000000000000000000000000000000000000000000000906127de9083906001600160801b03166135e7565b61157d91906135e7565b6127f0613338565b5f806127fb84612af0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612835919061380f565b6040805180830381865af415801561284f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612873919061381e565b935090508261288757505f91506129549050565b5f6128ad6128a884610160015185610140015161158490919063ffffffff16565b611321565b6128cd6128a88561012001518661010001516124cf90919063ffffffff16565b6128d79190613458565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3691906138a7565b935093509350935080612a5157505f98975050505050505050565b868414612a8257612a61846119e0565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ab357612a9283612432565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ae157612ac3826119e0565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612af8613382565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612bf091166130fe565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c22929004166130fe565b905292915050565b5f825f190484118302158202612c3e575f80fd5b50910281810615159190040190565b5f80612c5d888888888888613172565b909250905080611cc557611cc56113ec565b5f818313612c7d578161157d565b5090919050565b5f80612c8f84612ce6565b90506100808382612710565b5f80612c5d88888888888861324e565b5f805f83612cb886611321565b612cc29190613458565b90505f811215612cd8575f809250925050612cdf565b9150600190505b9250929050565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d23573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b91906138da565b5f808213612d685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612deb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f8557505f919050565b680755bf798b4a1bf1e58212612fae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906126f274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006131116105ab565b61311b9190613655565b905080831161312a575f613134565b61313481846135e7565b915061157d61316b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613655565b8390612710565b5f805f613182898988888861330a565b905086881015613198575f809250925050613243565b96869003966131a7888761268d565b9750878110156131bd575f809250925050613243565b8781036131cb818688612c2a565b9050670de0b6b3a764000081106131ff576131f86131f1670de0b6b3a7640000896126fc565b829061268d565b9050613217565b6132146131f1670de0b6b3a764000089612710565b90505b61322181866126fc565b905089811015613238575f80935093505050613243565b899003925060019150505b965096945050505050565b5f805f61325e898988888861330a565b905061326e866119da898b613445565b975087811015613284575f809250925050613243565b878103613292818688612c2a565b9050670de0b6b3a764000081106132bf576132b86131f1670de0b6b3a7640000896126fc565b90506132d7565b6132d46131f1670de0b6b3a764000089612710565b90505b6132e181866126fc565b9050808a10156132f8575f80935093505050613243565b90980398600198509650505050505050565b5f613315858561268d565b61332e613326866119da868b6124cf565b859085612c2a565b6124269190613445565b60405180610120016040528061334c613382565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ea575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613415575f80fd5b850160608188031215613426575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613431565b8181035f83128015838313168383128216171561266f5761266f613431565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561349b575f80fd5b813561157d81613477565b8015158114610591575f80fd5b5f602082840312156134c3575f80fd5b813561157d816134a6565b5f808335601e198436030181126134e3575f80fd5b83018035915067ffffffffffffffff8211156134fd575f80fd5b602001915036819003821315612cdf575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61357260e083018486613511565b9a9950505050505050505050565b8082018281125f83128015821682158216171561359f5761359f613431565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135da60c083018486613511565b9998505050505050505050565b8181038181111561131b5761131b613431565b6001600160701b0381811683821601908082111561266f5761266f613431565b6001600160801b0381811683821601908082111561266f5761266f613431565b5f6020828403121561364a575f80fd5b815161157d81613477565b808202811582820484141761131b5761131b613431565b6001600160801b0382811682821603908082111561266f5761266f613431565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613431565b634e487b7160e01b5f52601260045260245ffd5b5f826136db576136db6136b9565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137718285516136e0565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137e4575f80fd5b505080516020909101519092909150565b5f600160ff1b820161380957613809613431565b505f0390565b610180810161131b82846136e0565b5f806040838503121561382f575f80fd5b825191506020830151613841816134a6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613870575f80fd5b815161157d816134a6565b5f82613889576138896136b9565b600160ff1b82145f19841416156138a2576138a2613431565b500590565b5f805f80608085870312156138ba575f80fd5b8451935060208501519250604085015191506060850151613426816134a6565b5f602082840312156138ea575f80fd5b505191905056fea264697066735822122045c9d0d47d6d3a6b92855918e8981bd5fa184aa3e5754a9291119c4d9122026564736f6c63430008160033a2646970667358221220bc37488b4cb8f211ba36f1f207b451553bd5f3dec3824cd377ec21a24d29efe464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget2.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget2.ts new file mode 100644 index 000000000..5535c9daf --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget2.ts @@ -0,0 +1,977 @@ +export const RsETHLineaTarget2 = { + name: 'RsETHLineaTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003fce38038062003fce8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b15620004b95f395f8181611439015281816116470152818161170e01526127b801525f50505f50505f610bf701525f50505f818160f1015281816102f20152612d3901525f81816114b501528181611d7b01528181611dde01528181612565015281816129290152818161296501528181612b560152612d1301525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612ced01525f6119a501525f8181611ac601528181612656015281816126ce0152612e5101525f818161097201528181610e06015281816113e401528181611a9a01526126a201525f8181610de5015281816126220152612e0d01525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d5f01525f81816101cb01528181610386015281816108b0015261334d01525f8181610676015281816106f20152818161076601528181610831015261086901525f6117a001525f5050613b155ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135c5565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135c5565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b59190613633565b909155506101c69050844283610ee2565b6101f07f000000000000000000000000000000000000000000000000000000000000000085613633565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e61365a565b8b6111e6565b8d8a8a898e85610236602083018361365a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613682565b8961028160408a018a61369d565b6040516102949796959493929190613708565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f000000000000000000000000000000000000000000000000000000000000000084613633565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da908490613633565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b610408906001613633565b9350505f61041784898d61145e565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b8961148f565b5f6104606002886111b2565b90508c61047a82610474602084018461365a565b856111e6565b858b868461048b602086018661365a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613682565b6104dc896104d68a8d613748565b90610652565b8d6104ea60408e018e61369d565b6040516104fe98979695949392919061375b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610557602083018361365a565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613682565b156105b9576105af856105aa604087018761369d565b611642565b90935090506105d1565b50346105d1856105cc604087018761369d565b61177c565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611838565b90505b92915050565b5f61069a427f0000000000000000000000000000000000000000000000000000000000000000611853565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b613633565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a0611868565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b92505b50610807836118a7565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b613748565b8a84610ee2565b61089b8961089561088e7f000000000000000000000000000000000000000000000000000000000000000083613633565b42906118d4565b84610ee2565b6108a4886118e8565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d613748565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611a85565b915091508060095f8282546109419190613633565b9091555061095c9050865f8461095681611b52565b88611b7b565b6109668183613633565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf2565b91506109aa6109a58385610652565b611d3b565b600680546002906109cb9084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118a7565b60068054601090610a1a908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611a85565b915091508060095f828254610a8d9190613633565b90915550610aa89050835f84610aa281611b52565b8a611d64565b610ab28183613748565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118a7565b60068054601090610b31908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b52565b610b7383611b52565b610b7d91906137e2565b5f611f54565b8e610b8e8482611f93565b50505b5f610b9b84612182565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613801565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122c4565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d10611868565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061234a565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612375565b6123d9565b15610e3c57610e3c61241a565b610e4887858885612433565b91965094509250670de0b6b3a7640000610eca610e658784613633565b600254610e83908890600160801b90046001600160801b0316613748565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b1115610ed857610ed861241a565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e8886613748565b610f88919061381c565b85670de0b6b3a7640000610f9c878a613748565b610fa6919061381c565b85929190600161247b565b6118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118a7565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a76400008661381c565b6005546001600160801b0316919088600161247b565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118a7565b600280545f906110a09084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118a7565b600280546010906110ef908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118a7565b61112690826137c2565b600380546001600160801b03808416600160801b02911617905590505f61114c8361251f565b905061116a8161115b87611b52565b6111659084613853565b611f54565b6111738461255f565b61117f5761117f61241a565b5f611189856125be565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611217908490613633565b90915550505f838152600b602052604081208054839290611239908490613633565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa611868565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125ca565b93508761131c85896125ea565b111561132a5761132a61241a565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b93506113a48a670de0b6b3a7640000868c6125fe565b509193509091506113b790508183613748565b6113c19087613748565b95508861140e816114088d6113d6868c613748565b8d6113e1878261270a565b877f000000000000000000000000000000000000000000000000000000000000000061271f565b906125ea565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461273f565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612762565b5f61146f6040830160208401613682565b1561147b575082611488565b6114858484612779565b90505b9392505050565b6002546001600160801b0316838110156114ab576114ab61241a565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114e3908390600f0b61278d565b10156114f1576114f161241a565b60045461153b90610fb190600160801b90046001600160801b031661151e670de0b6b3a76400008661381c565b600554600160801b90046001600160801b0316919089600161247b565b600580546001600160801b03928316600160801b029216919091179055611561816118a7565b600280546001600160801b0319166001600160801b039290921691909117905561158a856118a7565b600280546010906115ac908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115d9856118a7565b600480546010906115fb908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116298361251f565b905061116a8161163888611b52565b61116590846137e2565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c5919061387a565b11156116e45760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611751575f80fd5b505af1158015611763573d5f803e3d5ffd5b5050505050611771856127b2565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613891565b905080611832576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261184c575f80fd5b5091020490565b5f61185e82846138c0565b6106669084613748565b6002546004545f9161069a916001600160801b0390911690600f0b61278d565b5f61189e82611898858888611838565b906127dd565b95945050505050565b5f6001600160801b038211156118d057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118e25782610666565b50919050565b6006545f90819061190a908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611a80575f6119338383613748565b9050611942610fb1828661141f565b60068054601090611964908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61199c858361277990919063ffffffff16565b90505f6119c9827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f8282546119dc9190613633565b909155506119ec90508183613748565b91506119f7826118a7565b600280545f90611a119084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a3e82612842565b600480545f90611a52908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a918785612779565b91505f611abe837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611aea817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b0d57611afc8282613748565b611b069084613748565b9250611b24565b611b178282613748565b611b219084613633565b92505b86861015611b4757611b37838789611838565b9250611b44828789611838565b91505b509550959350505050565b5f6001600160ff1b038211156118d05760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bc3610fb182611ba7670de0b6b3a76400008661381c565b600554600160801b90046001600160801b031691908a5f61247b565b600580546001600160801b03928316600160801b029216919091179055611be9866118a7565b611bf39082613833565b600480546001600160801b03928316600160801b029216919091179055611c19846118a7565b600280545f90611c339084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c608361286b565b600480545f90611c74908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ca4856118a7565b60028054601090611cc6908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0984611d038a888a611838565b90612779565b9050611d16888486611838565b611d209082613633565b905086811115611d305786810391505b509695505050505050565b5f6001600160701b038211156118d05760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611da657507f0000000000000000000000000000000000000000000000000000000000000000611da48583613748565b105b15611db357611db361241a565b6004549084900390600f0b611dc884826137e2565b905083611dd486611b52565b138015611e0957507f0000000000000000000000000000000000000000000000000000000000000000611e07838361278d565b105b15611e1657611e1661241a565b600354600160801b90046001600160801b0316611e57610fb182611e42670de0b6b3a76400008861381c565b6005546001600160801b031691908c5f61247b565b600580546001600160801b0319166001600160801b0392909216919091179055611e818882613748565b9050611e8c816118a7565b600380546001600160801b03928316600160801b029216919091179055611eb2836118a7565b600280546001600160801b0319166001600160801b0392909216919091179055611edb8261286b565b600480546001600160801b0319166001600160801b0392909216919091179055611f04876118a7565b60028054601090611f26908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6f90610fb1906001600160801b031684846128a6565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fdd916001600160801b031690613748565b9050805f03611ff0576001915050610669565b5f611ffa85612908565b9050805f0361200e57600192505050610669565b5f8061201b8385896129a3565b9150915080612030575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161206b92919061397e565b6040805180830381865af4158015612085573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a991906139f3565b915091506120c76120b982611b52565b6120c290613a15565b612b10565b9250826120dc575f9650505050505050610669565b6120e5826118a7565b600780545f906120ff9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061212c816118a7565b6007805460109061214e908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a987612ca4565b6040518263ffffffff1660e01b81526004016121c59190613a2f565b6040805180830381865af41580156121df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122039190613a3e565b915091508061221857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227d91613633565b6122879190613748565b9050805f0361229d57505f958695509350505050565b5f8087116122ab575f6122b6565b6122b6848884611838565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122e7576122e7613a6c565b6040519080825280601f01601f191660200182016040528015612311576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612331578692505b828152825f602083013e90999098509650505050505050565b5f61236a87878761236388670de0b6b3a7640000613748565b8787612dde565b979650505050505050565b5f6114856123b561238e84670de0b6b3a7640000613748565b611408670de0b6b3a76400006123a4818a61141f565b6123ae9190613748565b87906125ea565b6123c790670de0b6b3a7640000613633565b611d0384670de0b6b3a7640000613748565b5f8061240f856123e7611868565b6123f19190613633565b600254610e83908790600160801b90046001600160801b0316613748565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612443898789612e00565b90925090506124528289613748565b97505f61246082888a611838565b905061246c818b613748565b9a989950979650505050505050565b5f825f0361248a57508461189e565b81156124dc576124bb61249d8487613633565b6124a78587610652565b6124b1888a610652565b611d039190613633565b90505f6124c885886118d4565b9050808210156124d6578091505b5061189e565b8285036124ea57505f61189e565b6125156124f78487613748565b61250185876125ea565b61250b888a610652565b611d039190613748565b9695505050505050565b5f612544600b5f6125316002866111b2565b81526020019081526020015f2054611b52565b612555600b5f6125316001876111b2565b61066991906137e2565b5f61258a7f0000000000000000000000000000000000000000000000000000000000000000836125ea565b6003546125a091906001600160801b0316613633565b6002546125b6906001600160801b031684610652565b101592915050565b5f610669826004611f93565b5f61236a8787876125e388670de0b6b3a7640000613748565b8787612e7f565b5f6106668383670de0b6b3a764000061273f565b5f80808061264e87866126478b6114086126208c670de0b6b3a7640000613748565b7f0000000000000000000000000000000000000000000000000000000000000000906125ea565b919061273f565b935061267a847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f61269a61269289670de0b6b3a7640000613748565b8a908861273f565b90506126c6817f00000000000000000000000000000000000000000000000000000000000000006125ea565b93506126f2847f0000000000000000000000000000000000000000000000000000000000000000610652565b6126fc9084613633565b915050945094509450949050565b5f8183116127185781610666565b5090919050565b5f80612736846127308a888a61273f565b9061141f565b9050611d168884865b5f825f190484118302158202612753575f80fd5b50910281810615159190040190565b5f8061276d84612e8f565b9050610cfb8382610652565b5f61066683670de0b6b3a764000084611838565b5f806127998484612ef0565b9092509050806127ab576127ab61241a565b5092915050565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612f28565b5f815f036127f45750670de0b6b3a7640000610669565b825f0361280257505f610669565b5f61280c83611b52565b90505f61282061281b86611b52565b612f3f565b9050818102612837670de0b6b3a764000082613a80565b905061251581613164565b5f60016001607f1b038211156118d05760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612888575060016001607f1b0382135b156118d05760405163a5353be560e01b815260040160405180910390fd5b5f806128b2845f6132f6565b6128bc845f6132f6565b6128c691906137e2565b90505f8113156128e1576128da8186613633565b94506128ff565b5f8112156128ff576128f281613a15565b6128fc9086613748565b94505b50929392505050565b6003545f908190612922906001600160801b03168461141f565b905061294e7f000000000000000000000000000000000000000000000000000000000000000082613633565b6002546001600160801b031611156118e2576002547f0000000000000000000000000000000000000000000000000000000000000000906129999083906001600160801b0316613748565b6114889190613748565b6129ab613526565b5f806129b684612ca4565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129f09190613a2f565b6040805180830381865af4158015612a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2e9190613a3e565b9350905082612a4257505f91506117749050565b5f612a68612a6384610160015185610140015161065290919063ffffffff16565b611b52565b612a88612a638561012001518661010001516125ea90919063ffffffff16565b612a9291906137e2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bea9190613aac565b935093509350935080612c0557505f98975050505050505050565b868414612c3657612c15846118a7565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c6757612c468361286b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c9557612c77826118a7565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cac613570565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612da49116613304565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dd692900416613304565b905292915050565b5f80612dee888888888888613378565b909250905080611d3057611d3061241a565b5f80612e498561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e3f818c61141f565b6114089190613748565b9150612e75827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612dee88888888888861343c565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ecc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061387a565b5f805f83612efd86611b52565b612f0791906137e2565b90505f811215612f1d575f80925092505061064b565b946001945092505050565b5f80612f3384612e8f565b9050610cfb8382612779565b5f808213612f605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fe39084901c611b52565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317d57505f919050565b680755bf798b4a1bf1e582126131a6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061251574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b52565b5f8183136127185781610666565b5f80670de0b6b3a764000061331761066f565b613321919061381c565b9050808311613330575f61333a565b61333a8184613748565b9150611488613371670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061381c565b8390612779565b5f805f61338889898888886134f8565b90506133a28661189861339b8a8d613633565b8790610652565b98506133af858a86611838565b9850888110156133c5575f809250925050613431565b888103670de0b6b3a764000081106133fa576133f36133ec670de0b6b3a76400008961141f565b82906127dd565b9050613412565b61340f6133ec670de0b6b3a764000089612779565b90505b80891015613427575f80935093505050613431565b8803925060019150505b965096945050505050565b5f805f61344c89898888886134f8565b905061345c86611898898b613633565b975087811015613472575f809250925050613431565b87810361348081868861273f565b9050670de0b6b3a764000081106134ad576134a66133ec670de0b6b3a76400008961141f565b90506134c5565b6134c26133ec670de0b6b3a764000089612779565b90505b6134cf818661141f565b9050808a10156134e6575f80935093505050613431565b90980398600198509650505050505050565b5f61350385856127dd565b61351c61351486611898868b6125ea565b85908561273f565b6125159190613633565b60405180610120016040528061353a613570565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156135d8575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613603575f80fd5b850160608188031215613614575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106695761066961361f565b6001600160a01b038116811461057e575f80fd5b5f6020828403121561366a575f80fd5b813561148881613646565b801515811461057e575f80fd5b5f60208284031215613692575f80fd5b813561148881613675565b5f808335601e198436030181126136b2575f80fd5b83018035915067ffffffffffffffff8211156136cc575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61373b60c0830184866136e0565b9998505050505050505050565b818103818111156106695761066961361f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379460e0830184866136e0565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127ab576127ab61361f565b6001600160801b038181168382160190808211156127ab576127ab61361f565b8181035f8312801583831316838312821617156127ab576127ab61361f565b5f60208284031215613811575f80fd5b815161148881613646565b80820281158282048414176106695761066961361f565b6001600160801b038281168282160390808211156127ab576127ab61361f565b8082018281125f8312801582168215821617156138725761387261361f565b505092915050565b5f6020828403121561388a575f80fd5b5051919050565b5f602082840312156138a1575f80fd5b815161148881613675565b634e487b7160e01b5f52601260045260245ffd5b5f826138ce576138ce6138ac565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106695761066961361f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613991828551613900565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a04575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2957613a2961361f565b505f0390565b61018081016106698284613900565b5f8060408385031215613a4f575f80fd5b825191506020830151613a6181613675565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a8e57613a8e6138ac565b600160ff1b82145f1984141615613aa757613aa761361f565b500590565b5f805f8060808587031215613abf575f80fd5b84519350602085015192506040850151915060608501516136148161367556fea264697066735822122074fe8f43e81dfbc897490f4ff8ade25a151ae10fac46dde0dc5d1542d22aa4c564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget2Deployer.ts new file mode 100644 index 000000000..61b13ade3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget2Deployer.ts @@ -0,0 +1,172 @@ +export const RsETHLineaTarget2Deployer = { + name: 'RsETHLineaTarget2Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161458338038061458383398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516144fa6100895f395f8181603d015260b801526144fa5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613fce806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003fce38038062003fce8339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613b15620004b95f395f8181611439015281816116470152818161170e01526127b801525f50505f50505f610bf701525f50505f818160f1015281816102f20152612d3901525f81816114b501528181611d7b01528181611dde01528181612565015281816129290152818161296501528181612b560152612d1301525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612ced01525f6119a501525f8181611ac601528181612656015281816126ce0152612e5101525f818161097201528181610e06015281816113e401528181611a9a01526126a201525f8181610de5015281816126220152612e0d01525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d5f01525f81816101cb01528181610386015281816108b0015261334d01525f8181610676015281816106f20152818161076601528181610831015261086901525f6117a001525f5050613b155ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046135c5565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046135c5565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b59190613633565b909155506101c69050844283610ee2565b6101f07f000000000000000000000000000000000000000000000000000000000000000085613633565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e61365a565b8b6111e6565b8d8a8a898e85610236602083018361365a565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613682565b8961028160408a018a61369d565b6040516102949796959493929190613708565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f000000000000000000000000000000000000000000000000000000000000000084613633565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da908490613633565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b610408906001613633565b9350505f61041784898d61145e565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b8961148f565b5f6104606002886111b2565b90508c61047a82610474602084018461365a565b856111e6565b858b868461048b602086018661365a565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613682565b6104dc896104d68a8d613748565b90610652565b8d6104ea60408e018e61369d565b6040516104fe98979695949392919061375b565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610557602083018361365a565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613682565b156105b9576105af856105aa604087018761369d565b611642565b90935090506105d1565b50346105d1856105cc604087018761369d565b61177c565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611838565b90505b92915050565b5f61069a427f0000000000000000000000000000000000000000000000000000000000000000611853565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b613633565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a0611868565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b92505b50610807836118a7565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b613748565b8a84610ee2565b61089b8961089561088e7f000000000000000000000000000000000000000000000000000000000000000083613633565b42906118d4565b84610ee2565b6108a4886118e8565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d613748565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611a85565b915091508060095f8282546109419190613633565b9091555061095c9050865f8461095681611b52565b88611b7b565b6109668183613633565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cf2565b91506109aa6109a58385610652565b611d3b565b600680546002906109cb9084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118a7565b60068054601090610a1a908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611a85565b915091508060095f828254610a8d9190613633565b90915550610aa89050835f84610aa281611b52565b8a611d64565b610ab28183613748565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b03166137a2565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118a7565b60068054601090610b31908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b52565b610b7383611b52565b610b7d91906137e2565b5f611f54565b8e610b8e8482611f93565b50505b5f610b9b84612182565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613801565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906122c4565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d10611868565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f000000000000000000000000000000000000000000000000000000000000000061234a565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612375565b6123d9565b15610e3c57610e3c61241a565b610e4887858885612433565b91965094509250670de0b6b3a7640000610eca610e658784613633565b600254610e83908890600160801b90046001600160801b0316613748565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b1115610ed857610ed861241a565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e8886613748565b610f88919061381c565b85670de0b6b3a7640000610f9c878a613748565b610fa6919061381c565b85929190600161247b565b6118a7565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118a7565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a76400008661381c565b6005546001600160801b0316919088600161247b565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118a7565b600280545f906110a09084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118a7565b600280546010906110ef908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118a7565b61112690826137c2565b600380546001600160801b03808416600160801b02911617905590505f61114c8361251f565b905061116a8161115b87611b52565b6111659084613853565b611f54565b6111738461255f565b61117f5761117f61241a565b5f611189856125be565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611217908490613633565b90915550505f838152600b602052604081208054839290611239908490613633565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa611868565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f00000000000000000000000000000000000000000000000000000000000000006125ca565b93508761131c85896125ea565b111561132a5761132a61241a565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611888565b93506113a48a670de0b6b3a7640000868c6125fe565b509193509091506113b790508183613748565b6113c19087613748565b95508861140e816114088d6113d6868c613748565b8d6113e1878261270a565b877f000000000000000000000000000000000000000000000000000000000000000061271f565b906125ea565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461273f565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612762565b5f61146f6040830160208401613682565b1561147b575082611488565b6114858484612779565b90505b9392505050565b6002546001600160801b0316838110156114ab576114ab61241a565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114e3908390600f0b61278d565b10156114f1576114f161241a565b60045461153b90610fb190600160801b90046001600160801b031661151e670de0b6b3a76400008661381c565b600554600160801b90046001600160801b0316919089600161247b565b600580546001600160801b03928316600160801b029216919091179055611561816118a7565b600280546001600160801b0319166001600160801b039290921691909117905561158a856118a7565b600280546010906115ac908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115d9856118a7565b600480546010906115fb908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116298361251f565b905061116a8161163888611b52565b61116590846137e2565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c5919061387a565b11156116e45760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611751575f80fd5b505af1158015611763573d5f803e3d5ffd5b5050505050611771856127b2565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156117ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118129190613891565b905080611832576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f825f19048411830215820261184c575f80fd5b5091020490565b5f61185e82846138c0565b6106669084613748565b6002546004545f9161069a916001600160801b0390911690600f0b61278d565b5f61189e82611898858888611838565b906127dd565b95945050505050565b5f6001600160801b038211156118d057604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118e25782610666565b50919050565b6006545f90819061190a908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611a80575f6119338383613748565b9050611942610fb1828661141f565b60068054601090611964908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61199c858361277990919063ffffffff16565b90505f6119c9827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f8282546119dc9190613633565b909155506119ec90508183613748565b91506119f7826118a7565b600280545f90611a119084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a3e82612842565b600480545f90611a52908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a918785612779565b91505f611abe837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611aea817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b0d57611afc8282613748565b611b069084613748565b9250611b24565b611b178282613748565b611b219084613633565b92505b86861015611b4757611b37838789611838565b9250611b44828789611838565b91505b509550959350505050565b5f6001600160ff1b038211156118d05760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611bc3610fb182611ba7670de0b6b3a76400008661381c565b600554600160801b90046001600160801b031691908a5f61247b565b600580546001600160801b03928316600160801b029216919091179055611be9866118a7565b611bf39082613833565b600480546001600160801b03928316600160801b029216919091179055611c19846118a7565b600280545f90611c339084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c608361286b565b600480545f90611c74908490600f0b6138d3565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611ca4856118a7565b60028054601090611cc6908490600160801b90046001600160801b0316613833565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d0984611d038a888a611838565b90612779565b9050611d16888486611838565b611d209082613633565b905086811115611d305786810391505b509695505050505050565b5f6001600160701b038211156118d05760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611da657507f0000000000000000000000000000000000000000000000000000000000000000611da48583613748565b105b15611db357611db361241a565b6004549084900390600f0b611dc884826137e2565b905083611dd486611b52565b138015611e0957507f0000000000000000000000000000000000000000000000000000000000000000611e07838361278d565b105b15611e1657611e1661241a565b600354600160801b90046001600160801b0316611e57610fb182611e42670de0b6b3a76400008861381c565b6005546001600160801b031691908c5f61247b565b600580546001600160801b0319166001600160801b0392909216919091179055611e818882613748565b9050611e8c816118a7565b600380546001600160801b03928316600160801b029216919091179055611eb2836118a7565b600280546001600160801b0319166001600160801b0392909216919091179055611edb8261286b565b600480546001600160801b0319166001600160801b0392909216919091179055611f04876118a7565b60028054601090611f26908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f6f90610fb1906001600160801b031684846128a6565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611fdd916001600160801b031690613748565b9050805f03611ff0576001915050610669565b5f611ffa85612908565b9050805f0361200e57600192505050610669565b5f8061201b8385896129a3565b9150915080612030575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161206b92919061397e565b6040805180830381865af4158015612085573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120a991906139f3565b915091506120c76120b982611b52565b6120c290613a15565b612b10565b9250826120dc575f9650505050505050610669565b6120e5826118a7565b600780545f906120ff9084906001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061212c816118a7565b6007805460109061214e908490600160801b90046001600160801b03166137c2565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121a987612ca4565b6040518263ffffffff1660e01b81526004016121c59190613a2f565b6040805180830381865af41580156121df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122039190613a3e565b915091508061221857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161227d91613633565b6122879190613748565b9050805f0361229d57505f958695509350505050565b5f8087116122ab575f6122b6565b6122b6848884611838565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122e7576122e7613a6c565b6040519080825280601f01601f191660200182016040528015612311576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612331578692505b828152825f602083013e90999098509650505050505050565b5f61236a87878761236388670de0b6b3a7640000613748565b8787612dde565b979650505050505050565b5f6114856123b561238e84670de0b6b3a7640000613748565b611408670de0b6b3a76400006123a4818a61141f565b6123ae9190613748565b87906125ea565b6123c790670de0b6b3a7640000613633565b611d0384670de0b6b3a7640000613748565b5f8061240f856123e7611868565b6123f19190613633565b600254610e83908790600160801b90046001600160801b0316613748565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612443898789612e00565b90925090506124528289613748565b97505f61246082888a611838565b905061246c818b613748565b9a989950979650505050505050565b5f825f0361248a57508461189e565b81156124dc576124bb61249d8487613633565b6124a78587610652565b6124b1888a610652565b611d039190613633565b90505f6124c885886118d4565b9050808210156124d6578091505b5061189e565b8285036124ea57505f61189e565b6125156124f78487613748565b61250185876125ea565b61250b888a610652565b611d039190613748565b9695505050505050565b5f612544600b5f6125316002866111b2565b81526020019081526020015f2054611b52565b612555600b5f6125316001876111b2565b61066991906137e2565b5f61258a7f0000000000000000000000000000000000000000000000000000000000000000836125ea565b6003546125a091906001600160801b0316613633565b6002546125b6906001600160801b031684610652565b101592915050565b5f610669826004611f93565b5f61236a8787876125e388670de0b6b3a7640000613748565b8787612e7f565b5f6106668383670de0b6b3a764000061273f565b5f80808061264e87866126478b6114086126208c670de0b6b3a7640000613748565b7f0000000000000000000000000000000000000000000000000000000000000000906125ea565b919061273f565b935061267a847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f61269a61269289670de0b6b3a7640000613748565b8a908861273f565b90506126c6817f00000000000000000000000000000000000000000000000000000000000000006125ea565b93506126f2847f0000000000000000000000000000000000000000000000000000000000000000610652565b6126fc9084613633565b915050945094509450949050565b5f8183116127185781610666565b5090919050565b5f80612736846127308a888a61273f565b9061141f565b9050611d168884865b5f825f190484118302158202612753575f80fd5b50910281810615159190040190565b5f8061276d84612e8f565b9050610cfb8382610652565b5f61066683670de0b6b3a764000084611838565b5f806127998484612ef0565b9092509050806127ab576127ab61241a565b5092915050565b5f6106697f000000000000000000000000000000000000000000000000000000000000000083612f28565b5f815f036127f45750670de0b6b3a7640000610669565b825f0361280257505f610669565b5f61280c83611b52565b90505f61282061281b86611b52565b612f3f565b9050818102612837670de0b6b3a764000082613a80565b905061251581613164565b5f60016001607f1b038211156118d05760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612888575060016001607f1b0382135b156118d05760405163a5353be560e01b815260040160405180910390fd5b5f806128b2845f6132f6565b6128bc845f6132f6565b6128c691906137e2565b90505f8113156128e1576128da8186613633565b94506128ff565b5f8112156128ff576128f281613a15565b6128fc9086613748565b94505b50929392505050565b6003545f908190612922906001600160801b03168461141f565b905061294e7f000000000000000000000000000000000000000000000000000000000000000082613633565b6002546001600160801b031611156118e2576002547f0000000000000000000000000000000000000000000000000000000000000000906129999083906001600160801b0316613748565b6114889190613748565b6129ab613526565b5f806129b684612ca4565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129f09190613a2f565b6040805180830381865af4158015612a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2e9190613a3e565b9350905082612a4257505f91506117749050565b5f612a68612a6384610160015185610140015161065290919063ffffffff16565b611b52565b612a88612a638561012001518661010001516125ea90919063ffffffff16565b612a9291906137e2565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bea9190613aac565b935093509350935080612c0557505f98975050505050505050565b868414612c3657612c15846118a7565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c6757612c468361286b565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612c9557612c77826118a7565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cac613570565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612da49116613304565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612dd692900416613304565b905292915050565b5f80612dee888888888888613378565b909250905080611d3057611d3061241a565b5f80612e498561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e3f818c61141f565b6114089190613748565b9150612e75827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612dee88888888888861343c565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ecc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061387a565b5f805f83612efd86611b52565b612f0791906137e2565b90505f811215612f1d575f80925092505061064b565b946001945092505050565b5f80612f3384612e8f565b9050610cfb8382612779565b5f808213612f605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612fe39084901c611b52565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361317d57505f919050565b680755bf798b4a1bf1e582126131a6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061251574029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b52565b5f8183136127185781610666565b5f80670de0b6b3a764000061331761066f565b613321919061381c565b9050808311613330575f61333a565b61333a8184613748565b9150611488613371670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061381c565b8390612779565b5f805f61338889898888886134f8565b90506133a28661189861339b8a8d613633565b8790610652565b98506133af858a86611838565b9850888110156133c5575f809250925050613431565b888103670de0b6b3a764000081106133fa576133f36133ec670de0b6b3a76400008961141f565b82906127dd565b9050613412565b61340f6133ec670de0b6b3a764000089612779565b90505b80891015613427575f80935093505050613431565b8803925060019150505b965096945050505050565b5f805f61344c89898888886134f8565b905061345c86611898898b613633565b975087811015613472575f809250925050613431565b87810361348081868861273f565b9050670de0b6b3a764000081106134ad576134a66133ec670de0b6b3a76400008961141f565b90506134c5565b6134c26133ec670de0b6b3a764000089612779565b90505b6134cf818661141f565b9050808a10156134e6575f80935093505050613431565b90980398600198509650505050505050565b5f61350385856127dd565b61351c61351486611898868b6125ea565b85908561273f565b6125159190613633565b60405180610120016040528061353a613570565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156135d8575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613603575f80fd5b850160608188031215613614575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106695761066961361f565b6001600160a01b038116811461057e575f80fd5b5f6020828403121561366a575f80fd5b813561148881613646565b801515811461057e575f80fd5b5f60208284031215613692575f80fd5b813561148881613675565b5f808335601e198436030181126136b2575f80fd5b83018035915067ffffffffffffffff8211156136cc575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61373b60c0830184866136e0565b9998505050505050505050565b818103818111156106695761066961361f565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61379460e0830184866136e0565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127ab576127ab61361f565b6001600160801b038181168382160190808211156127ab576127ab61361f565b8181035f8312801583831316838312821617156127ab576127ab61361f565b5f60208284031215613811575f80fd5b815161148881613646565b80820281158282048414176106695761066961361f565b6001600160801b038281168282160390808211156127ab576127ab61361f565b8082018281125f8312801582168215821617156138725761387261361f565b505092915050565b5f6020828403121561388a575f80fd5b5051919050565b5f602082840312156138a1575f80fd5b815161148881613675565b634e487b7160e01b5f52601260045260245ffd5b5f826138ce576138ce6138ac565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106695761066961361f565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613991828551613900565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613a04575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613a2957613a2961361f565b505f0390565b61018081016106698284613900565b5f8060408385031215613a4f575f80fd5b825191506020830151613a6181613675565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a8e57613a8e6138ac565b600160ff1b82145f1984141615613aa757613aa761361f565b500590565b5f805f8060808587031215613abf575f80fd5b84519350602085015192506040850151915060608501516136148161367556fea264697066735822122074fe8f43e81dfbc897490f4ff8ade25a151ae10fac46dde0dc5d1542d22aa4c564736f6c63430008160033a2646970667358221220b2b712c46de27929bf637823d3ce2a032de94c1d971a6c04c911427e6809a06964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget3.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget3.ts new file mode 100644 index 000000000..506f32467 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget3.ts @@ -0,0 +1,997 @@ +export const RsETHLineaTarget3 = { + name: 'RsETHLineaTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003f6338038062003f638339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a99620004ca5f395f8181611920015281816119e701528181612c130152612c3e01525f50505f50505f61127a01525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161212b0152818161218e01528181612a3701528181612d5b0152612d9701525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d3c01525f8181611e910152612fe601525f8181610ff50152611e6501525f612f9c01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129cd01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f611a7901525f5050613a995ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351e565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f0000000000000000000000000000000000000000000000000000000000000000896135f0565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f0000000000000000000000000000000000000000000000000000000000000000826135dd565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f0000000000000000000000000000000000000000000000000000000000000000826135f0565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b03909116906135f0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654919250906104179083906135dd565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613681565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613690565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613681565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613690565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a848361058381876135f0565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e91906136bb565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c91906135dd565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b905061075660208501856136bb565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b016136e3565b866107a160408c018c6136fe565b6040516107b49796959493929190613741565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613794565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099591906137ab565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c6136bb565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b0360208201826136bb565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b4060408701602088016136e3565b87610b4e60408901896136fe565b604051610b619796959493929190613741565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb260208301836136bb565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c3960408501602086016136e3565b15610c5e57610c5485610c4f60408701876136fe565b61191b565b9093509050610c76565b5034610c7685610c7160408701876136fe565b611a55565b610c7e611b11565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b23565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b6135f0565b8a84611b38565b610f1e89610f18610f117f0000000000000000000000000000000000000000000000000000000000000000836135dd565b4290611c71565b84611b38565b610f2788611c7f565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d6135f0565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e1c565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e50565b915091508060095f828254610fc491906135dd565b90915550610fdf9050865f84610fd981611735565b88611f1d565b610fe981836135dd565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612094565b915061102d61102883856120d7565b6120eb565b6006805460029061104e9084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e1c565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e50565b915091508060095f82825461111091906135dd565b9091555061112b9050835f8461112581611735565b8a612114565b61113581836135f0565b915061114461102883876120d7565b600680546002906111659084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b6112009190613816565b5f612304565b8e6112118482612343565b50505b5f61121e84612532565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f89190613835565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612674565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e1c565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e1c565b6113c69190613816565b92915050565b5f805f806113da8a8a6126fc565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612734565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8d7f00000000000000000000000000000000000000000000000000000000000000006127ed565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c846128a7565b509093505f9050611537848f6135dd565b90505f6115578b8b61154887611735565b611552908e613850565b6128ef565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612951565b611735565b61159583611735565b6115a261158786856120d7565b6115ac9190613816565b6115b69190613816565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612961565b6115f585670de0b6b3a76400006135f0565b906117a3565b61160361346f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612984565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612984565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129f1565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e89084906135dd565b90915550505f838152600b60205260408120805483929061180a9084906135dd565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612343565b5f818313611876578261008d565b50919050565b5f8061188884846126fc565b90925090508061189a5761189a612b85565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b9e565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561197a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061199e9190613690565b11156119bd5760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611a2a575f80fd5b505af1158015611a3c573d5f803e3d5ffd5b5050505050611a4a85612c0d565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aeb9190613877565b905080611b0b576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610bfc670de0b6b3a7640000612c38565b5f611b2e82846138a6565b61008d90846135f0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b635750505050565b5f848152600860205260408120546001600160801b031690819003611bbb57611b8b836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c38565b611c0c611c07670de0b6b3a7640000611bd488866135f0565b611bde9190613794565b85670de0b6b3a7640000611bf2878a6135f0565b611bfc9190613794565b859291906001612c63565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c41846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611ca1908490600160801b90046001600160801b03166120d7565b6006546201000090046001600160701b03169250905081811115611e17575f611cca83836135f0565b9050611cd9611c078286612cfd565b60068054601090611cfb908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d3385836117a390919063ffffffff16565b90505f611d60827f00000000000000000000000000000000000000000000000000000000000000006120d7565b90508060095f828254611d7391906135dd565b90915550611d83905081836135f0565b9150611d8e826118a1565b600280545f90611da89084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dd582612d11565b600480545f90611de9908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e455760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e5c87856117a3565b91505f611e89837f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050611eb5817f00000000000000000000000000000000000000000000000000000000000000006120d7565b91508315611ed857611ec782826135f0565b611ed190846135f0565b9250611eef565b611ee282826135f0565b611eec90846135dd565b92505b86861015611f1257611f02838789611788565b9250611f0f828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f65611c0782611f49670de0b6b3a764000086613794565b600554600160801b90046001600160801b031691908a5f612c63565b600580546001600160801b03928316600160801b029216919091179055611f8b866118a1565b611f9590826138b9565b600480546001600160801b03928316600160801b029216919091179055611fbb846118a1565b600280545f90611fd59084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612002836118ca565b600480545f90612016908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612046856118a1565b60028054601090612068908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120a5846115f58a888a611788565b90506120b2888486611788565b6120bc90826135dd565b9050868111156120cc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061215657507f000000000000000000000000000000000000000000000000000000000000000061215485836135f0565b105b1561216357612163612b85565b6004549084900390600f0b6121788482613816565b90508361218486611735565b1380156121b957507f00000000000000000000000000000000000000000000000000000000000000006121b7838361187c565b105b156121c6576121c6612b85565b600354600160801b90046001600160801b0316612207611c07826121f2670de0b6b3a764000088613794565b6005546001600160801b031691908c5f612c63565b600580546001600160801b0319166001600160801b039290921691909117905561223188826135f0565b905061223c816118a1565b600380546001600160801b03928316600160801b029216919091179055612262836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561228b826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122b4876118a1565b600280546010906122d6908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461231f90611c07906001600160801b031684846128ef565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161238d916001600160801b0316906135f0565b9050805f036123a05760019150506113c6565b5f6123aa85612d3a565b9050805f036123be576001925050506113c6565b5f806123cb838589612dd5565b91509150806123e0575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161241b929190613906565b6040805180830381865af4158015612435573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612459919061397b565b9150915061247761246982611735565b6124729061399d565b6129f1565b92508261248c575f96505050505050506113c6565b612495826118a1565b600780545f906124af9084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124dc816118a1565b600780546010906124fe908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612559876115fb565b6040518263ffffffff1660e01b81526004016125759190613681565b6040805180830381865af415801561258f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b391906139b7565b91509150806125c857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161262d916135dd565b61263791906135f0565b9050805f0361264d57505f958695509350505050565b5f80871161265b575f612666565b612666848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612697576126976139e5565b6040519080825280601f01601f1916602001820160405280156126c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126e1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361270986611735565b6127139190613816565b90505f811215612729575f809250925050610cf0565b946001945092505050565b5f805f6127448888888888612f3d565b90505f61276e670de0b6b3a764000061275d8888612cfd565b61276791906135dd565b83906117a3565b9050670de0b6b3a764000081106127a25761279b612794670de0b6b3a7640000896117a3565b8290612b9e565b90506127ba565b6127b7612794670de0b6b3a764000089612cfd565b90505b6127c481866117a3565b9050888110156127db575f809350935050506126f2565b97909703976001975095505050505050565b5f805f6127fd8989888888612f6b565b9050612817866119156128108a8d6135dd565b87906120d7565b9850612824858a86611788565b98508881101561283a575f8092509250506115c5565b888103670de0b6b3a7640000811061286857612861612794670de0b6b3a764000089612cfd565b9050612880565b61287d612794670de0b6b3a7640000896117a3565b90505b80891015612895575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128b7898789612f8f565b90925090506128c682896135f0565b97505f6128d482888a611788565b90506128e0818b6135f0565b9a989950979650505050505050565b5f806128fb845f613014565b612905845f613014565b61290f9190613816565b90505f81131561292a5761292381866135dd565b9450612948565b5f8112156129485761293b8161399d565b61294590866135f0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612975575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612997610cf7565b6129a19190613794565b90508083116129b0575f6129ba565b6129ba81846135f0565b915061008d612767670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613794565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612acb91906139f9565b935093509350935080612ae657505f98975050505050505050565b868414612b1757612af6846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b4857612b27836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b7657612b58826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bb55750670de0b6b3a76400006113c6565b825f03612bc357505f6113c6565b5f612bcd83611735565b90505f612be1612bdc86611735565b613029565b9050818102612bf8670de0b6b3a764000082613a37565b9050612c038161324e565b9695505050505050565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133e0565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133f7565b5f825f03612c72575084610075565b8115612cc457612ca3612c8584876135dd565b612c8f85876120d7565b612c99888a6120d7565b6115f591906135dd565b90505f612cb08588611c71565b905080821015612cbe578091505b50610075565b828503612cd257505f610075565b610072612cdf84876135f0565b612ce98587612951565b612cf3888a6120d7565b6115f591906135f0565b5f61008d83670de0b6b3a764000084612961565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d54906001600160801b031684612cfd565b9050612d807f0000000000000000000000000000000000000000000000000000000000000000826135dd565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612dcb9083906001600160801b03166135f0565b61008d91906135f0565b612ddd6134c4565b5f80612de8846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e229190613681565b6040805180830381865af4158015612e3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6091906139b7565b9350905082612e7457505f9150611a4d9050565b5f612e956115878461016001518561014001516120d790919063ffffffff16565b612eb561158785610120015186610100015161295190919063ffffffff16565b612ebf9190613816565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f488585612b9e565b612f61612f5986611915868b6120d7565b859085611788565b61007291906135dd565b5f612f768585612b9e565b612f61612f8786611915868b612951565b859085612961565b5f80612fde85612fd885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fce818c612cfd565b612fd891906135f0565b90612951565b915061300a827f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050935093915050565b5f818313613022578161008d565b5090919050565b5f80821361304a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130cd9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361326757505f919050565b680755bf798b4a1bf1e58212613290576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c0374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b5f806133eb8461340e565b905061137e83826117a3565b5f806134028461340e565b905061137e83826120d7565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561344b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613690565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d861346f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a08688031215613532575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613564575f80fd5b6135708882890161350e565b9150509295509295909350565b5f805f6060848603121561358f575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b3575f80fd5b6135bf8682870161350e565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c66135c9565b818103818111156113c6576113c66135c9565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613603565b5f602082840312156136a0575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f602082840312156136cb575f80fd5b813561008d816136a7565b8015158114610bd9575f80fd5b5f602082840312156136f3575f80fd5b813561008d816136d6565b5f808335601e19843603018112613713575f80fd5b83018035915067ffffffffffffffff82111561372d575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c66135c9565b5f805f606084860312156137bd575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a6135c9565b6001600160801b0381811683821601908082111561189a5761189a6135c9565b8181035f83128015838313168383128216171561189a5761189a6135c9565b5f60208284031215613845575f80fd5b815161008d816136a7565b8082018281125f83128015821682158216171561386f5761386f6135c9565b505092915050565b5f60208284031215613887575f80fd5b815161008d816136d6565b634e487b7160e01b5f52601260045260245ffd5b5f826138b4576138b4613892565b500690565b6001600160801b0382811682821603908082111561189a5761189a6135c9565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c66135c9565b5f6102a082019050613919828551613603565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561398c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139b1576139b16135c9565b505f0390565b5f80604083850312156139c8575f80fd5b8251915060208301516139da816136d6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a0c575f80fd5b8451935060208501519250604085015191506060850151613a2c816136d6565b939692955090935050565b5f82613a4557613a45613892565b600160ff1b82145f1984141615613a5e57613a5e6135c9565b50059056fea2646970667358221220f6492646ef2414bf5d4886d958f9bb3abbc92236f439b1f85f26aba9e2526dd564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget3Deployer.ts new file mode 100644 index 000000000..20da06666 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget3Deployer.ts @@ -0,0 +1,172 @@ +export const RsETHLineaTarget3Deployer = { + name: 'RsETHLineaTarget3Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b5060405161451838038061451883398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161448f6100895f395f8181603d015260b8015261448f5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b613f63806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b5060405162003f6338038062003f638339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613a99620004ca5f395f8181611920015281816119e701528181612c130152612c3e01525f50505f50505f61127a01525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161212b0152818161218e01528181612a3701528181612d5b0152612d9701525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d3c01525f8181611e910152612fe601525f8181610ff50152611e6501525f612f9c01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129cd01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f611a7901525f5050613a995ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a36600461351e565b610064565b60405190815260200160405180910390f35b61003f61005f36600461357d565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f0000000000000000000000000000000000000000000000000000000000000000896135f0565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f0000000000000000000000000000000000000000000000000000000000000000826135dd565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f0000000000000000000000000000000000000000000000000000000000000000826135f0565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b03909116906135f0565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654919250906104179083906135dd565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613681565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613690565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613681565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613690565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a848361058381876135f0565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e91906136bb565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c91906135dd565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b905061075660208501856136bb565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b016136e3565b866107a160408c018c6136fe565b6040516107b49796959493929190613741565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613794565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099591906137ab565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c6136bb565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b0360208201826136bb565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b4060408701602088016136e3565b87610b4e60408901896136fe565b604051610b619796959493929190613741565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb260208301836136bb565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c3960408501602086016136e3565b15610c5e57610c5485610c4f60408701876136fe565b61191b565b9093509050610c76565b5034610c7685610c7160408701876136fe565b611a55565b610c7e611b11565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b23565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b6135dd565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b6135f0565b8a84611b38565b610f1e89610f18610f117f0000000000000000000000000000000000000000000000000000000000000000836135dd565b4290611c71565b84611b38565b610f2788611c7f565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d6135f0565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e1c565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e50565b915091508060095f828254610fc491906135dd565b90915550610fdf9050865f84610fd981611735565b88611f1d565b610fe981836135dd565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612094565b915061102d61102883856120d7565b6120eb565b6006805460029061104e9084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e1c565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e50565b915091508060095f82825461111091906135dd565b9091555061112b9050835f8461112581611735565b8a612114565b61113581836135f0565b915061114461102883876120d7565b600680546002906111659084906201000090046001600160701b03166137d6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b6112009190613816565b5f612304565b8e6112118482612343565b50505b5f61121e84612532565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f89190613835565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612674565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e1c565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e1c565b6113c69190613816565b92915050565b5f805f806113da8a8a6126fc565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8b7f0000000000000000000000000000000000000000000000000000000000000000612734565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006135f0565b8d7f00000000000000000000000000000000000000000000000000000000000000006127ed565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c846128a7565b509093505f9050611537848f6135dd565b90505f6115578b8b61154887611735565b611552908e613850565b6128ef565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612951565b611735565b61159583611735565b6115a261158786856120d7565b6115ac9190613816565b6115b69190613816565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612961565b6115f585670de0b6b3a76400006135f0565b906117a3565b61160361346f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612984565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612984565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129f1565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e89084906135dd565b90915550505f838152600b60205260408120805483929061180a9084906135dd565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612343565b5f818313611876578261008d565b50919050565b5f8061188884846126fc565b90925090508061189a5761189a612b85565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b9e565b5f805f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561197a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061199e9190613690565b11156119bd5760405163350b944160e11b815260040160405180910390fd5b5060405163513708c360e11b8152602060048201525f602482015234859003906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a26e11869087906044015f604051808303818588803b158015611a2a575f80fd5b505af1158015611a3c573d5f803e3d5ffd5b5050505050611a4a85612c0d565b91505b935093915050565b6040516323b872dd60e01b8152336004820152306024820152604481018490525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aeb9190613877565b905080611b0b576040516312171d8360e31b815260040160405180910390fd5b50505050565b5f610bfc670de0b6b3a7640000612c38565b5f611b2e82846138a6565b61008d90846135f0565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b635750505050565b5f848152600860205260408120546001600160801b031690819003611bbb57611b8b836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c38565b611c0c611c07670de0b6b3a7640000611bd488866135f0565b611bde9190613794565b85670de0b6b3a7640000611bf2878a6135f0565b611bfc9190613794565b859291906001612c63565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c41846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611ca1908490600160801b90046001600160801b03166120d7565b6006546201000090046001600160701b03169250905081811115611e17575f611cca83836135f0565b9050611cd9611c078286612cfd565b60068054601090611cfb908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d3385836117a390919063ffffffff16565b90505f611d60827f00000000000000000000000000000000000000000000000000000000000000006120d7565b90508060095f828254611d7391906135dd565b90915550611d83905081836135f0565b9150611d8e826118a1565b600280545f90611da89084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dd582612d11565b600480545f90611de9908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e455760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e5c87856117a3565b91505f611e89837f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050611eb5817f00000000000000000000000000000000000000000000000000000000000000006120d7565b91508315611ed857611ec782826135f0565b611ed190846135f0565b9250611eef565b611ee282826135f0565b611eec90846135dd565b92505b86861015611f1257611f02838789611788565b9250611f0f828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f65611c0782611f49670de0b6b3a764000086613794565b600554600160801b90046001600160801b031691908a5f612c63565b600580546001600160801b03928316600160801b029216919091179055611f8b866118a1565b611f9590826138b9565b600480546001600160801b03928316600160801b029216919091179055611fbb846118a1565b600280545f90611fd59084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612002836118ca565b600480545f90612016908490600f0b6138d9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612046856118a1565b60028054601090612068908490600160801b90046001600160801b03166138b9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806120a5846115f58a888a611788565b90506120b2888486611788565b6120bc90826135dd565b9050868111156120cc5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061215657507f000000000000000000000000000000000000000000000000000000000000000061215485836135f0565b105b1561216357612163612b85565b6004549084900390600f0b6121788482613816565b90508361218486611735565b1380156121b957507f00000000000000000000000000000000000000000000000000000000000000006121b7838361187c565b105b156121c6576121c6612b85565b600354600160801b90046001600160801b0316612207611c07826121f2670de0b6b3a764000088613794565b6005546001600160801b031691908c5f612c63565b600580546001600160801b0319166001600160801b039290921691909117905561223188826135f0565b905061223c816118a1565b600380546001600160801b03928316600160801b029216919091179055612262836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561228b826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122b4876118a1565b600280546010906122d6908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461231f90611c07906001600160801b031684846128ef565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161238d916001600160801b0316906135f0565b9050805f036123a05760019150506113c6565b5f6123aa85612d3a565b9050805f036123be576001925050506113c6565b5f806123cb838589612dd5565b91509150806123e0575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161241b929190613906565b6040805180830381865af4158015612435573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612459919061397b565b9150915061247761246982611735565b6124729061399d565b6129f1565b92508261248c575f96505050505050506113c6565b612495826118a1565b600780545f906124af9084906001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124dc816118a1565b600780546010906124fe908490600160801b90046001600160801b03166137f6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612559876115fb565b6040518263ffffffff1660e01b81526004016125759190613681565b6040805180830381865af415801561258f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b391906139b7565b91509150806125c857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161262d916135dd565b61263791906135f0565b9050805f0361264d57505f958695509350505050565b5f80871161265b575f612666565b612666848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612697576126976139e5565b6040519080825280601f01601f1916602001820160405280156126c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126e1578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361270986611735565b6127139190613816565b90505f811215612729575f809250925050610cf0565b946001945092505050565b5f805f6127448888888888612f3d565b90505f61276e670de0b6b3a764000061275d8888612cfd565b61276791906135dd565b83906117a3565b9050670de0b6b3a764000081106127a25761279b612794670de0b6b3a7640000896117a3565b8290612b9e565b90506127ba565b6127b7612794670de0b6b3a764000089612cfd565b90505b6127c481866117a3565b9050888110156127db575f809350935050506126f2565b97909703976001975095505050505050565b5f805f6127fd8989888888612f6b565b9050612817866119156128108a8d6135dd565b87906120d7565b9850612824858a86611788565b98508881101561283a575f8092509250506115c5565b888103670de0b6b3a7640000811061286857612861612794670de0b6b3a764000089612cfd565b9050612880565b61287d612794670de0b6b3a7640000896117a3565b90505b80891015612895575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128b7898789612f8f565b90925090506128c682896135f0565b97505f6128d482888a611788565b90506128e0818b6135f0565b9a989950979650505050505050565b5f806128fb845f613014565b612905845f613014565b61290f9190613816565b90505f81131561292a5761292381866135dd565b9450612948565b5f8112156129485761293b8161399d565b61294590866135f0565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612975575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612997610cf7565b6129a19190613794565b90508083116129b0575f6129ba565b6129ba81846135f0565b915061008d612767670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613794565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612acb91906139f9565b935093509350935080612ae657505f98975050505050505050565b868414612b1757612af6846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b4857612b27836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b7657612b58826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612bb55750670de0b6b3a76400006113c6565b825f03612bc357505f6113c6565b5f612bcd83611735565b90505f612be1612bdc86611735565b613029565b9050818102612bf8670de0b6b3a764000082613a37565b9050612c038161324e565b9695505050505050565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133e0565b5f6113c67f0000000000000000000000000000000000000000000000000000000000000000836133f7565b5f825f03612c72575084610075565b8115612cc457612ca3612c8584876135dd565b612c8f85876120d7565b612c99888a6120d7565b6115f591906135dd565b90505f612cb08588611c71565b905080821015612cbe578091505b50610075565b828503612cd257505f610075565b610072612cdf84876135f0565b612ce98587612951565b612cf3888a6120d7565b6115f591906135f0565b5f61008d83670de0b6b3a764000084612961565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d54906001600160801b031684612cfd565b9050612d807f0000000000000000000000000000000000000000000000000000000000000000826135dd565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612dcb9083906001600160801b03166135f0565b61008d91906135f0565b612ddd6134c4565b5f80612de8846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e229190613681565b6040805180830381865af4158015612e3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e6091906139b7565b9350905082612e7457505f9150611a4d9050565b5f612e956115878461016001518561014001516120d790919063ffffffff16565b612eb561158785610120015186610100015161295190919063ffffffff16565b612ebf9190613816565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f488585612b9e565b612f61612f5986611915868b6120d7565b859085611788565b61007291906135dd565b5f612f768585612b9e565b612f61612f8786611915868b612951565b859085612961565b5f80612fde85612fd885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612fce818c612cfd565b612fd891906135f0565b90612951565b915061300a827f00000000000000000000000000000000000000000000000000000000000000006120d7565b9050935093915050565b5f818313613022578161008d565b5090919050565b5f80821361304a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130cd9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361326757505f919050565b680755bf798b4a1bf1e58212613290576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612c0374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b5f806133eb8461340e565b905061137e83826117a3565b5f806134028461340e565b905061137e83826120d7565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561344b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613690565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806134d861346f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a08688031215613532575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115613564575f80fd5b6135708882890161350e565b9150509295509295909350565b5f805f6060848603121561358f575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156135b3575f80fd5b6135bf8682870161350e565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c66135c9565b818103818111156113c6576113c66135c9565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613603565b5f602082840312156136a0575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f602082840312156136cb575f80fd5b813561008d816136a7565b8015158114610bd9575f80fd5b5f602082840312156136f3575f80fd5b813561008d816136d6565b5f808335601e19843603018112613713575f80fd5b83018035915067ffffffffffffffff82111561372d575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c66135c9565b5f805f606084860312156137bd575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a6135c9565b6001600160801b0381811683821601908082111561189a5761189a6135c9565b8181035f83128015838313168383128216171561189a5761189a6135c9565b5f60208284031215613845575f80fd5b815161008d816136a7565b8082018281125f83128015821682158216171561386f5761386f6135c9565b505092915050565b5f60208284031215613887575f80fd5b815161008d816136d6565b634e487b7160e01b5f52601260045260245ffd5b5f826138b4576138b4613892565b500690565b6001600160801b0382811682821603908082111561189a5761189a6135c9565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c66135c9565b5f6102a082019050613919828551613603565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561398c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139b1576139b16135c9565b505f0390565b5f80604083850312156139c8575f80fd5b8251915060208301516139da816136d6565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613a0c575f80fd5b8451935060208501519250604085015191506060850151613a2c816136d6565b939692955090935050565b5f82613a4557613a45613892565b600160ff1b82145f1984141615613a5e57613a5e6135c9565b50059056fea2646970667358221220f6492646ef2414bf5d4886d958f9bb3abbc92236f439b1f85f26aba9e2526dd564736f6c63430008160033a2646970667358221220d15c9a46bb2b04686ad9ee313b1d6a9289a9684468a1286fd8da57c79066d1b064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget4.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget4.ts new file mode 100644 index 000000000..e34e9e3eb --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget4.ts @@ -0,0 +1,981 @@ +export const RsETHLineaTarget4 = { + name: 'RsETHLineaTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620031f8380380620031f88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612de96200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612de95ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612d9c565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c381612945565b5f60208284031215612dac575f80fd5b505191905056fea2646970667358221220929fe2a5c8256aceea52af7669ccc0a89ada88f9cb3384ed4afb03ef095c282a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/RsETHLineaTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/RsETHLineaTarget4Deployer.ts new file mode 100644 index 000000000..71aea7b23 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/RsETHLineaTarget4Deployer.ts @@ -0,0 +1,172 @@ +export const RsETHLineaTarget4Deployer = { + name: 'RsETHLineaTarget4Deployer' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_rsETHPool", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rsETHPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IRSETHPoolV2" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60a060405234801561000f575f80fd5b506040516137ad3803806137ad83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516137246100895f395f8181603d015260b801526137245ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80637df91ba8146100385780638c98b3c61461007b575b5f80fd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61005f61008936600461026b565b604080513360208201529081018290525f906060016040516020818303038152906040528051906020012085857f00000000000000000000000000000000000000000000000000000000000000006040516100e390610118565b6100ef939291906103c2565b8190604051809103905ff590508015801561010c573d5f803e3d5ffd5b5090505b949350505050565b6131f8806104f783390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561015d5761015d610125565b60405290565b80356001600160a01b0381168114610179575f80fd5b919050565b5f6080828403121561018e575f80fd5b6040516080810181811067ffffffffffffffff821117156101b1576101b1610125565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101f1575f80fd5b813567ffffffffffffffff8082111561020c5761020c610125565b604051601f8301601f19908116603f0116810190828211818310171561023457610234610125565b8160405283815286602085880101111561024c575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c0811215610280575f80fd5b6102608082121561028f575f80fd5b610297610139565b91506102a287610163565b82526102b060208801610163565b60208301526102c160408801610163565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e083015261010080880135818401525061012080880135818401525061014080880135818401525061016061032a818901610163565b9083015261018061033c888201610163565b908301526101a061034e888201610163565b908301526101c0610360888201610163565b908301526101e06103738989830161017e565b8184015250819550610386818801610163565b9450505061028085013567ffffffffffffffff8111156103a4575f80fd5b6103b0878288016101e2565b949793965093946102a0013593505050565b83516001600160a01b031681526102a0810160208501516103ee60208401826001600160a01b03169052565b50604085015161040960408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101608086015161047b828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e0808701518051918501919091526020810151610200850152604081015161022085015260600151610240840152848116610260840152831661028083015261011056fe6102a060405234801562000011575f80fd5b50604051620031f8380380620031f88339810160408190526200003491620001ac565b60015f5582516001600160a01b039081166080908152602080860151831660a0908152918601516101a052908501516101c05260c0808601516101e090815260e08088015161020052610120808901519093526101008089015190915261014080890151909152908701805151909252815190920151909152805160409081015161016052905160609081015161018052908501518216610240529093015161026052908216610220521661028052620002f8565b60405161020081016001600160401b03811182821017156200011957634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000136575f80fd5b919050565b5f608082840312156200014c575f80fd5b604051608081016001600160401b03811182821017156200017b57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a0811215620001c1575f80fd5b61026080821215620001d1575f80fd5b620001db620000e9565b9150620001e8866200011f565b8252620001f8602087016200011f565b60208301526200020b604087016200011f565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620002768188016200011f565b908301526101806200028a8782016200011f565b908301526101a06200029e8782016200011f565b908301526101c0620002b28782016200011f565b908301526101e0620002c7888883016200013b565b8184015250819450620002dc8187016200011f565b93505050620002ef61028085016200011f565b90509250925092565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612de96200040f5f395f818161108901526121f501525f50505f50505f61099201525f50505f818161025f0152611efe01525f818161175e015281816117c101528181611aee01528181611b2a01528181611d1b0152611ed801525f81816105500152611eb201525f61134001525f61149501525f818161070d015261146901525f50505f81816105710152611f2401525f818161064b015261235b01525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f61225c01525f5050612de95ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128a4565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128f6565b6100b1565b005b6100566100923660046128a4565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561292a565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612952565b61016a60408c018c61296d565b60405161017c969594939291906129d8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a25565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761292a565b88610ea4565b5f6102f56102ec602087018761292a565b88848989610a9e565b90945090506103048188612a4c565b92505f61031083610f41565b509050610320602087018761292a565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612952565b8a888e8060400190610370919061296d565b604051610384989796959493929190612a5f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361292a565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110ae565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612aa6565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110ca565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110ea565b92505b506105a283611109565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a4c565b8a84611136565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612aa6565b429061126f565b84611136565b61063f88611283565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a4c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c611420565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611454565b915091508060095f8282546106dc9190612aa6565b909155506106f79050865f846106f181611521565b8861154a565b6107018183612aa6565b915061073186838a8e877f00000000000000000000000000000000000000000000000000000000000000006116c1565b9150610745610740838561170a565b61171e565b600680546002906107669084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611109565b600680546010906107b5908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e8600184611420565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611454565b915091508060095f8282546108289190612aa6565b909155506108439050835f8461083d81611521565b8a611747565b61084d8183612a4c565b915061085c610740838761170a565b6006805460029061087d9084906201000090046001600160701b0316612ab9565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611109565b600680546010906108cc908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611521565b61090e83611521565b6109189190612af9565b5f611937565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b18565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611976565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119fc565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a08565b9050610b2083611109565b610b2a9083612b33565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611109565b60078054601090610b75908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a23565b9350610bb08684611ab9565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a4c565b9050805f03610c3a576001915050610dc7565b5f610c4485611acd565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b68565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612bd1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c46565b91509150610d11610d0382611521565b610d0c90612c68565b611cd5565b925082610d26575f9650505050505050610dc7565b610d2f82611109565b600780545f90610d499084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611109565b60078054601090610d98908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a4c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612aa6565b90915550505f838152600b602052604081208054839290610ef7908490612aa6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e69565b6040518263ffffffff1660e01b8152600401610f849190612c82565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c91565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612aa6565b6110469190612a4c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a08565b976001975095505050505050565b5f610dc77f000000000000000000000000000000000000000000000000000000000000000083611fa3565b5f6110b98284612a25565b6110c39084612a4c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fba565b5f611100826110fa858888611a08565b90611fdf565b95945050505050565b5f6001600160801b0382111561113257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111615750505050565b5f848152600860205260408120546001600160801b0316908190036111b95761118983611109565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611236565b61120a611205670de0b6b3a76400006111d28886612a4c565b6111dc9190612cbf565b85670de0b6b3a76400006111f0878a612a4c565b6111fa9190612cbf565b85929190600161204e565b611109565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61123f84611109565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f81831161127d57826110c3565b50919050565b6006545f9081906112a5908490600160801b90046001600160801b031661170a565b6006546201000090046001600160701b0316925090508181111561141b575f6112ce8383612a4c565b90506112dd61120582866120e8565b600680546010906112ff908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61133785836120fc90919063ffffffff16565b90505f611364827f000000000000000000000000000000000000000000000000000000000000000061170a565b90508060095f8282546113779190612aa6565b9091555061138790508183612a4c565b915061139282611109565b600280545f906113ac9084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113d982612110565b600480545f906113ed908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114495760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061146087856120fc565b91505f61148d837f000000000000000000000000000000000000000000000000000000000000000061170a565b90506114b9817f000000000000000000000000000000000000000000000000000000000000000061170a565b915083156114dc576114cb8282612a4c565b6114d59084612a4c565b92506114f3565b6114e68282612a4c565b6114f09084612aa6565b92505b8686101561151657611506838789611a08565b9250611513828789611a08565b91505b509550959350505050565b5f6001600160ff1b038211156111325760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661159261120582611576670de0b6b3a764000086612cbf565b600554600160801b90046001600160801b031691908a5f61204e565b600580546001600160801b03928316600160801b0292169190911790556115b886611109565b6115c29082612b33565b600480546001600160801b03928316600160801b0292169190911790556115e884611109565b600280545f906116029084906001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061162f83612139565b600480545f90611643908490600f0b612cd6565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061167385611109565b60028054601090611695908490600160801b90046001600160801b0316612b33565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116d8846116d28a888a611a08565b906120fc565b90506116e5888486611a08565b6116ef9082612aa6565b9050868111156116ff5786810391505b509695505050505050565b5f6110c38383670de0b6b3a7640000611a08565b5f6001600160701b038211156111325760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061178957507f00000000000000000000000000000000000000000000000000000000000000006117878583612a4c565b105b1561179657611796612174565b6004549084900390600f0b6117ab8482612af9565b9050836117b786611521565b1380156117ec57507f00000000000000000000000000000000000000000000000000000000000000006117ea8383611fba565b105b156117f9576117f9612174565b600354600160801b90046001600160801b031661183a61120582611825670de0b6b3a764000088612cbf565b6005546001600160801b031691908c5f61204e565b600580546001600160801b0319166001600160801b03929092169190911790556118648882612a4c565b905061186f81611109565b600380546001600160801b03928316600160801b02921691909117905561189583611109565b600280546001600160801b0319166001600160801b03929092169190911790556118be82612139565b600480546001600160801b0319166001600160801b03929092169190911790556118e787611109565b60028054601090611909908490600160801b90046001600160801b0316612ad9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461195290611205906001600160801b0316848461218d565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561199957611999612d03565b6040519080825280601f01601f1916602001820160405280156119c3576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119e3578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a1c575f80fd5b5091020490565b5f80611a2f858561170a565b9050611a3a816121ef565b9450845f03611a4c575f9150506110c3565b849150611a5f6040840160208501612952565b15611a8e57611a8785611a75602086018661292a565b611a82604087018761296d565b61221a565b9150611ab1565b611ab185611a9f602086018661292a565b611aac604087018761296d565b612234565b509392505050565b5f6110c38383670de0b6b3a76400006122ef565b6003545f908190611ae7906001600160801b0316846120e8565b9050611b137f000000000000000000000000000000000000000000000000000000000000000082612aa6565b6002546001600160801b0316111561127d576002547f000000000000000000000000000000000000000000000000000000000000000090611b5e9083906001600160801b0316612a4c565b6110c39190612a4c565b611b70612805565b5f80611b7b84611e69565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bb59190612c82565b6040805180830381865af4158015611bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf39190612c91565b9350905082611c0757505f91506100a99050565b5f611c2d611c2884610160015185610140015161170a90919063ffffffff16565b611521565b611c4d611c28856101200151866101000151611ab990919063ffffffff16565b611c579190612af9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611daf9190612d17565b935093509350935080611dca57505f98975050505050505050565b868414611dfb57611dda84611109565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e2c57611e0b83612139565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e5a57611e3c82611109565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e7161284f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f699116612312565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f9b92900416612312565b905292915050565b5f80611fae84612386565b9050610a96838261170a565b5f80611fc684846123e7565b909250905080611fd857611fd8612174565b5092915050565b5f815f03611ff65750670de0b6b3a7640000610dc7565b825f0361200457505f610dc7565b5f61200e83611521565b90505f61202261201d86611521565b612422565b9050818102612039670de0b6b3a764000082612d55565b905061204481612647565b9695505050505050565b5f825f0361205d575084611100565b81156120af5761208e6120708487612aa6565b61207a858761170a565b612084888a61170a565b6116d29190612aa6565b90505f61209b858861126f565b9050808210156120a9578091505b50611100565b8285036120bd57505f611100565b6120446120ca8487612a4c565b6120d48587611ab9565b6120de888a61170a565b6116d29190612a4c565b5f6110c383670de0b6b3a7640000846122ef565b5f6110c383670de0b6b3a764000084611a08565b5f60016001607f1b038211156111325760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612156575060016001607f1b0382135b156111325760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f80612199845f6127d9565b6121a3845f6127d9565b6121ad9190612af9565b90505f8113156121c8576121c18186612aa6565b94506121e6565b5f8112156121e6576121d981612c68565b6121e39086612a4c565b94505b50929392505050565b5f610dc77f0000000000000000000000000000000000000000000000000000000000000000836127ee565b5f60405163350b944160e11b815260040160405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690525f917f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303815f875af11580156122a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c89190612d81565b9050806122e8576040516312171d8360e31b815260040160405180910390fd5b5050505050565b5f825f190484118302158202612303575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061232561040f565b61232f9190612cbf565b905080831161233e575f612348565b6123488184612a4c565b91506110c361237f670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612cbf565b83906120fc565b5f816001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612d9c565b5f805f836123f486611521565b6123fe9190612af9565b90505f811215612414575f80925092505061241b565b9150600190505b9250929050565b5f8082136124435760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124c69084901c611521565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361266057505f919050565b680755bf798b4a1bf1e58212612689576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061204474029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611521565b5f8183136127e757816110c3565b5090919050565b5f806127f984612386565b9050610a9683826120fc565b60405180610120016040528061281961284f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f606084860312156128b6575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128da575f80fd5b8401606081870312156128eb575f80fd5b809150509250925092565b5f8060408385031215612907575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561293a575f80fd5b81356110c381612916565b80151581146103f5575f80fd5b5f60208284031215612962575f80fd5b81356110c381612945565b5f808335601e19843603018112612982575f80fd5b83018035915067ffffffffffffffff82111561299c575f80fd5b60200191503681900382131561241b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a0560a0830184866129b0565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a3357612a33612a11565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a38565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a9860e0830184866129b0565b9a9950505050505050505050565b80820180821115610dc757610dc7612a38565b6001600160701b03818116838216019080821115611fd857611fd8612a38565b6001600160801b03818116838216019080821115611fd857611fd8612a38565b8181035f831280158383131683831282161715611fd857611fd8612a38565b5f60208284031215612b28575f80fd5b81516110c381612916565b6001600160801b03828116828216039080821115611fd857611fd8612a38565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612be4828551612b53565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c57575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c7c57612c7c612a38565b505f0390565b6101808101610dc78284612b53565b5f8060408385031215612ca2575f80fd5b825191506020830151612cb481612945565b809150509250929050565b8082028115828204841417610dc757610dc7612a38565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a38565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d2a575f80fd5b8451935060208501519250604085015191506060850151612d4a81612945565b939692955090935050565b5f82612d6357612d63612a11565b600160ff1b82145f1984141615612d7c57612d7c612a38565b500590565b5f60208284031215612d91575f80fd5b81516110c381612945565b5f60208284031215612dac575f80fd5b505191905056fea2646970667358221220929fe2a5c8256aceea52af7669ccc0a89ada88f9cb3384ed4afb03ef095c282a64736f6c63430008160033a26469706673582212202c295e4ec03343b5fef28aa752233531fb8a580a9281927af47b6163c4a51f3a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6", + "rsETHPool()": "7df91ba8" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SafeCast.ts b/packages/hyperdrive-artifacts/src/SafeCast.ts new file mode 100644 index 000000000..a2b5e7219 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SafeCast.ts @@ -0,0 +1,6 @@ +export const SafeCast = { + name: 'SafeCast' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220fa8ccec70f213d5ab699d9b77ee160f8d81198b98b1404ac7d191b53b68c42ab64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SafeERC20.ts b/packages/hyperdrive-artifacts/src/SafeERC20.ts new file mode 100644 index 000000000..ef2205197 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SafeERC20.ts @@ -0,0 +1,39 @@ +export const SafeERC20 = { + name: 'SafeERC20' as const, + abi: [ + { + "type": "error", + "name": "SafeERC20FailedDecreaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "currentAllowance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "requestedDecrease", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ddf22d7484dfd3b9c779783c9251d0f68696014afb1a6f60115ccfa8fa3e16e764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SafeTransferLib.ts b/packages/hyperdrive-artifacts/src/SafeTransferLib.ts new file mode 100644 index 000000000..6169be065 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SafeTransferLib.ts @@ -0,0 +1,6 @@ +export const SafeTransferLib = { + name: 'SafeTransferLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220cef0b0aa5ac5b4fc46c9cf3c1c4596251f9a8cc20915d95de1c155fd1731b5a964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ScriptBase.ts b/packages/hyperdrive-artifacts/src/ScriptBase.ts new file mode 100644 index 000000000..9c331239a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ScriptBase.ts @@ -0,0 +1,6 @@ +export const ScriptBase = { + name: 'ScriptBase' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SharesMathLib.ts b/packages/hyperdrive-artifacts/src/SharesMathLib.ts new file mode 100644 index 000000000..c6848b78d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SharesMathLib.ts @@ -0,0 +1,6 @@ +export const SharesMathLib = { + name: 'SharesMathLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212209e65d3014dc34feda303c17d668e3f5f418c0ed1b894d727d1935370575d045864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SignedMath.ts b/packages/hyperdrive-artifacts/src/SignedMath.ts new file mode 100644 index 000000000..ec60bab68 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SignedMath.ts @@ -0,0 +1,6 @@ +export const SignedMath = { + name: 'SignedMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f3c22f65c1712287d5379b4f1b3395d8263aa4f201dcde2ccd0710b78ec4539564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHBase.ts b/packages/hyperdrive-artifacts/src/StETHBase.ts new file mode 100644 index 000000000..f763c9aa0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHBase.ts @@ -0,0 +1,657 @@ +export const StETHBase = { + name: 'StETHBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHConversions.ts b/packages/hyperdrive-artifacts/src/StETHConversions.ts new file mode 100644 index 000000000..2be6cd84a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHConversions.ts @@ -0,0 +1,6 @@ +export const StETHConversions = { + name: 'StETHConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122049fe8f84dbd19a4135244c899716a64cb4c7ff1f05e032078ce1bcc9e4759e5f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHHyperdrive.ts b/packages/hyperdrive-artifacts/src/StETHHyperdrive.ts new file mode 100644 index 000000000..dff5ade0b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHHyperdrive.ts @@ -0,0 +1,1666 @@ +export const StETHHyperdrive = { + name: 'StETHHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122042e7f224b1c249ccfecf4f8cf6253bce8670e6c3ac8c5e95bdb1e14d5de87d4a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/StETHHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..7ac4cf230 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const StETHHyperdriveCoreDeployer = { + name: 'StETHHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50611d728061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611721806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b50604051620017213803806200172183398101604081905262000034916200033d565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa8982620004fd565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e052166103005250620005c99950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b03811182821017156200016f576200016f62000135565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001a057620001a062000135565b604052919050565b80516001600160a01b0381168114620001bf575f80fd5b919050565b5f60808284031215620001d5575f80fd5b604051608081016001600160401b0381118282101715620001fa57620001fa62000135565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f61026082840312156200023d575f80fd5b6200024762000149565b90506200025482620001a8565b81526200026460208301620001a8565b60208201526200027760408301620001a8565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e0820152610100808301518183015250610120808301518183015250610140808301518183015250610160620002e2818401620001a8565b90820152610180620002f6838201620001a8565b908201526101a06200030a838201620001a8565b908201526101c06200031e838201620001a8565b908201526101e06200033384848301620001c4565b9082015292915050565b5f805f805f805f80610340898b03121562000356575f80fd5b88516001600160401b03808211156200036d575f80fd5b818b0191508b601f83011262000381575f80fd5b81518181111562000396576200039662000135565b60209150620003ae601f8201601f1916830162000175565b8181528d83838601011115620003c2575f80fd5b5f5b82811015620003e1578481018401518282018501528301620003c4565b505f838383010152809b505050620003fc8c828d016200022b565b985050506200040f6102808a01620001a8565b9550620004206102a08a01620001a8565b9450620004316102c08a01620001a8565b9350620004426102e08a01620001a8565b9250620004536103008a01620001a8565b9150620004646103208a01620001a8565b90509295985092959890939650565b600181811c908216806200048857607f821691505b602082108103620004a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004f857805f5260205f20601f840160051c81016020851015620004d45750805b601f840160051c820191505b81811015620004f5575f8155600101620004e0565b50505b505050565b81516001600160401b0381111562000519576200051962000135565b62000531816200052a845462000473565b84620004ad565b602080601f83116001811462000567575f84156200054f5750858301515b5f19600386901b1c1916600185901b178555620005c1565b5f85815260208120601f198616915b82811015620005975788860151825594840194600190910190840162000576565b5085821015620005b557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051611041620006e05f395f81816105d30152818161063d015261073401525f818161054e0152818161076301526107c001525f8181610508015261095601525f81816105a001526106d201525f81816101ca015281816103820152818161060e0152818161066f015281816106a10152818161070501528181610796015281816107f001528181610925015261098901525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110415ff3fe6080604052600436106101b6575f3560e01c80639032c726116100eb578063d899e11211610089578063e44808bc11610063578063e44808bc14610570578063eac3e7991461058f578063f3f70707146105c2578063f698da25146105f5576101b6565b8063d899e1121461053d578063dbbe80701461052a578063ded06231146103bc576101b6565b8063a6e8a859116100c5578063a6e8a859146104f7578063ab033ea9146102bf578063cba2e58d1461052a578063cbc13434146102fa576101b6565b80639032c726146104b95780639cd241af146104d8578063a22cb46514610487576101b6565b806330adf81f116101585780634c2ac1d9116101325780634c2ac1d91461045a5780634ed2d6ac1461046d5780637180c8ca1461048757806377d05ff4146104a6576101b6565b806330adf81f146103e95780633e691db91461041c578063414f826d1461043b576101b6565b806317fad7fc1161019457806317fad7fc146103335780631c0f12b61461035257806321b57d531461037157806329b23fc1146103bc576101b6565b806301681a62146102bf57806302329a29146102e0578063074a6de9146102fa575b3480156101c1575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585604051610202929190610a5d565b5f60405180830381855af49150503d805f811461023a576040519150601f19603f3d011682016040523d82523d5f602084013e61023f565b606091505b5091509150811561026357604051638bb0a34b60e01b815260040160405180910390fd5b5f61026d82610a6c565b90506001600160e01b03198116636e64089360e11b1461028f57815160208301fd5b8151600319810160048401908152926102b091810160200190602401610ad9565b80519650602001945050505050f35b3480156102ca575f80fd5b506102de6102d9366004610b98565b610609565b005b3480156102eb575f80fd5b506102de6102d9366004610bce565b348015610305575f80fd5b50610319610314366004610bf7565b610636565b604080519283526020830191909152015b60405180910390f35b34801561033e575f80fd5b506102de61034d366004610c8b565b61066a565b34801561035d575f80fd5b506102de61036c366004610d1a565b61069c565b34801561037c575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161032a565b3480156103c7575f80fd5b506103db6103d6366004610d5f565b6106cc565b60405190815260200161032a565b3480156103f4575f80fd5b506103db7f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610427575f80fd5b506103db610436366004610db5565b6106ff565b348015610446575f80fd5b506102de610455366004610def565b61072f565b6103db610468366004610e0f565b61075d565b348015610478575f80fd5b506102de61036c366004610e6e565b348015610492575f80fd5b506102de6104a1366004610eb5565b610791565b6103db6104b4366004610bf7565b6107ba565b3480156104c4575f80fd5b506102de6104d3366004610ee8565b6107ec565b3480156104e3575f80fd5b506102de6104f2366004610f60565b610920565b348015610502575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b610319610538366004610d5f565b61094f565b348015610548575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b34801561057b575f80fd5b506102de61058a366004610f95565b610984565b34801561059a575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd575f80fd5b506103a47f000000000000000000000000000000000000000000000000000000000000000081565b348015610600575f80fd5b506103db6109b5565b6106327f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050565b5f806106617f0000000000000000000000000000000000000000000000000000000000000000610a43565b50935093915050565b6106937f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050505050565b6106c57f0000000000000000000000000000000000000000000000000000000000000000610a43565b5050505050565b5f6106f67f0000000000000000000000000000000000000000000000000000000000000000610a43565b50949350505050565b5f6107297f0000000000000000000000000000000000000000000000000000000000000000610a43565b50919050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050565b5f6107877f0000000000000000000000000000000000000000000000000000000000000000610a43565b5095945050505050565b6107587f0000000000000000000000000000000000000000000000000000000000000000610a43565b5f6107e47f0000000000000000000000000000000000000000000000000000000000000000610a43565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108206109b5565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516108c99190610ff0565b5f60405180830381855af49150503d805f8114610901576040519150601f19603f3d011682016040523d82523d5f602084013e610906565b606091505b50915091508161091857805160208201fd5b805160208201f35b6109497f0000000000000000000000000000000000000000000000000000000000000000610a43565b50505050565b5f8061097a7f0000000000000000000000000000000000000000000000000000000000000000610a43565b5094509492505050565b6109ad7f0000000000000000000000000000000000000000000000000000000000000000610a43565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516108c99291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610a9b5780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610ad1578181015183820152602001610ab9565b50505f910152565b5f60208284031215610ae9575f80fd5b815167ffffffffffffffff80821115610b00575f80fd5b818401915084601f830112610b13575f80fd5b815181811115610b2557610b25610aa3565b604051601f8201601f19908116603f01168101908382118183101715610b4d57610b4d610aa3565b81604052828152876020848701011115610b65575f80fd5b610b76836020830160208801610ab7565b979650505050505050565b6001600160a01b0381168114610b95575f80fd5b50565b5f60208284031215610ba8575f80fd5b8135610bb381610b81565b9392505050565b80358015158114610bc9575f80fd5b919050565b5f60208284031215610bde575f80fd5b610bb382610bba565b5f60608284031215610729575f80fd5b5f805f60608486031215610c09575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610c2d575f80fd5b610c3986828701610be7565b9150509250925092565b5f8083601f840112610c53575f80fd5b50813567ffffffffffffffff811115610c6a575f80fd5b6020830191508360208260051b8501011115610c84575f80fd5b9250929050565b5f805f805f8060808789031215610ca0575f80fd5b8635610cab81610b81565b95506020870135610cbb81610b81565b9450604087013567ffffffffffffffff80821115610cd7575f80fd5b610ce38a838b01610c43565b90965094506060890135915080821115610cfb575f80fd5b50610d0889828a01610c43565b979a9699509497509295939492505050565b5f805f8060808587031215610d2d575f80fd5b843593506020850135610d3f81610b81565b92506040850135610d4f81610b81565b9396929550929360600135925050565b5f805f8060808587031215610d72575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d9d575f80fd5b610da987828801610be7565b91505092959194509250565b5f60208284031215610dc5575f80fd5b813567ffffffffffffffff811115610ddb575f80fd5b610de784828501610be7565b949350505050565b5f8060408385031215610e00575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610e23575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610e55575f80fd5b610e6188828901610be7565b9150509295509295909350565b5f805f8060808587031215610e81575f80fd5b843593506020850135610e9381610b81565b9250604085013591506060850135610eaa81610b81565b939692955090935050565b5f8060408385031215610ec6575f80fd5b8235610ed181610b81565b9150610edf60208401610bba565b90509250929050565b5f805f805f805f60e0888a031215610efe575f80fd5b8735610f0981610b81565b96506020880135610f1981610b81565b9550610f2760408901610bba565b945060608801359350608088013560ff81168114610f43575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610f72575f80fd5b833592506020840135610f8481610b81565b929592945050506040919091013590565b5f805f805f60a08688031215610fa9575f80fd5b853594506020860135610fbb81610b81565b93506040860135610fcb81610b81565b9250606086013591506080860135610fe281610b81565b809150509295509295909350565b5f8251611001818460208701610ab7565b919091019291505056fea264697066735822122042e7f224b1c249ccfecf4f8cf6253bce8670e6c3ac8c5e95bdb1e14d5de87d4a64736f6c63430008160033a2646970667358221220ce500abdb26fd09504c7516bbbc5b524289c74c871bd57a6f434efa0595297be64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/StETHHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..a7176a128 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHHyperdriveDeployerCoordinator.ts @@ -0,0 +1,784 @@ +export const StETHHyperdriveDeployerCoordinator = { + name: 'StETHHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_lido", + "type": "address", + "internalType": "contract ILido" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lido", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ILido" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x61018060405234801562000011575f80fd5b5060405162002630380380620026308339810160408190526200003491620000c4565b88888888888888885f620000498982620002ae565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120528116610140529190911661016052506200037a975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000bf575f80fd5b919050565b5f805f805f805f805f6101208a8c031215620000de575f80fd5b89516001600160401b0380821115620000f5575f80fd5b818c0191508c601f83011262000109575f80fd5b8151818111156200011e576200011e62000094565b604051601f8201601f19908116603f0116810190838211818310171562000149576200014962000094565b81604052828152602093508f8484870101111562000165575f80fd5b5f91505b8282101562000188578482018401518183018501529083019062000169565b5f848483010152809d50505050620001a2818d01620000a8565b99505050620001b460408b01620000a8565b9650620001c460608b01620000a8565b9550620001d460808b01620000a8565b9450620001e460a08b01620000a8565b9350620001f460c08b01620000a8565b92506200020460e08b01620000a8565b9150620002156101008b01620000a8565b90509295985092959850929598565b600181811c908216806200023957607f821691505b6020821081036200025857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002a957805f5260205f20601f840160051c81016020851015620002855750805b601f840160051c820191505b81811015620002a6575f815560010162000291565b50505b505050565b81516001600160401b03811115620002ca57620002ca62000094565b620002e281620002db845462000224565b846200025e565b602080601f83116001811462000318575f8415620003005750858301515b5f19600386901b1c1916600185901b17855562000372565b5f85815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b50858210156200036657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516101205161014051610160516121dc620004545f395f8181610179015281816112950152818161132a015261148401525f818161032d0152610daa01525f81816103930152610c7701525f81816103f90152610b4401525f81816103600152610a1101525f81816103c6015261080801525f818161047e01526110f901525f818161044b01528181610585015281816107310152818161083801528181610a4101528181610b7401528181610ca701528181610dda01528181610ecd015261112a01526121dc5ff3fe608060405260043610610105575f3560e01c8063a085fa3011610092578063c151061811610062578063c15106181461041b578063c45a01551461043a578063c83e1f511461046d578063e990eba8146104a0578063e99be396146104bf575f80fd5b8063a085fa301461034f578063aa8cd6c414610382578063ab71905f146103b5578063b6cb1118146103e8575f80fd5b8063251f6c42116100d8578063251f6c42146101b357806337404017146101d25780633e5541f1146102ce57806354fd4d50146102ed578063966ecd1c1461031c575f80fd5b806304baa00b1461010957806306fdde031461013357806316abfc701461014757806323509a2d14610168575b5f80fd5b348015610114575f80fd5b5061011d6104d2565b60405161012a9190611842565b60405180910390f35b34801561013e575f80fd5b5061011d6104ee565b61015a61015536600461197a565b610579565b60405190815260200161012a565b348015610173575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161012a565b3480156101be575f80fd5b5061015a6101cd366004611a38565b610706565b3480156101dd575f80fd5b506102c16101ec366004611a62565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161012a9190611a79565b3480156102d9575f80fd5b5061015a6102e8366004611a38565b61071a565b3480156102f8575f80fd5b50604080518082019091526007815266076312e302e32360cc1b602082015261011d565b348015610327575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561035a575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561038d575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c0575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f3575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610426575f80fd5b5061019b610435366004611c4d565b610725565b348015610445575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610478575f80fd5b5061019b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ab575f80fd5b5061019b6104ba366004611cb6565b610ec1565b3480156104ca575f80fd5b50600561015a565b6040518060600160405280602281526020016121856022913981565b5f80546104fa90611d50565b80601f016020809104026020016040519081016040528092919081815260200182805461052690611d50565b80156105715780601f1061054857610100808354040283529160200191610571565b820191905f5260205f20905b81548152906001019060200180831161055457829003601f168201915b505050505081565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c357604051634084351160e01b815260040160405180910390fd5b5f868152600160205260409020600301546001600160a01b0316806105fb5760405163952b05cb60e01b815260040160405180910390fd5b5f61060882888887611234565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b815260040161063b93929190611d88565b60206040518083038185885af1158015610657573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061067c9190611dd7565b92505f6106898234611dee565b905080156106f9576040515f90339083908381818185875af1925050503d805f81146106d0576040519150601f19603f3d011682016040523d82523d5f602084013e6106d5565b606091505b50509050806106f7576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f61071183836113a1565b90505b92915050565b5f610711838361140b565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076f57604051634084351160e01b815260040160405180910390fd5b5f8681526001602052604081209084900361091f578054156107a457604051633be1b34d60e11b815260040160405180910390fd5b6107ae868661143a565b5f6107b98787611532565b90505f876040516020016107cd9190611e0d565b6040516020818303038152906040528051906020012090505f878051906020012090505f6107fa8a611549565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610874929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108a99493929190612040565b6020604051808303815f875af11580156108c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e99190612085565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106fd565b5f878152600160205260409020548061094b5760405163398b1c0960e21b815260040160405180910390fd5b808760405160200161095d9190611e0d565b60405160208183030381529060405280519060200120146109915760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109bb57604051631a3272d160e31b815260040160405180910390fd5b6109c5878761143a565b5f6109cf88611549565b6002840154608082015290506001869003610b0f5760058301546001600160a01b031615610a0f5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a76939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610aab9493929190612040565b6020604051808303815f875af1158015610ac7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aeb9190612085565b6005840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600203610c425760068301546001600160a01b031615610b425760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610ba9939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610bde9493929190612040565b6020604051808303815f875af1158015610bfa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1e9190612085565b6006840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600303610d755760078301546001600160a01b031615610c755760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610cdc939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d119493929190612040565b6020604051808303815f875af1158015610d2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d519190612085565b6007840180546001600160a01b0319166001600160a01b03831617905593506106f9565b85600403610ea85760088301546001600160a01b031615610da85760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e0f939291906120a7565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e449493929190612040565b6020604051808303815f875af1158015610e60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e849190612085565b6008840180546001600160a01b0319166001600160a01b03831617905593506106f9565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f0b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610fb357604051632c95caeb60e01b815260040160405180910390fd5b8051610fd25760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610ff7575060a08101516001600160a01b0316155b8061100d575060c08101516001600160a01b0316155b80611023575060e08101516001600160a01b0316155b8061103a57506101008101516001600160a01b0316155b156110585760405163e97cc2bf60e01b815260040160405180910390fd5b805160405161106b908790602001611e0d565b604051602081830303815290604052805190602001201461109f5760405163332ee11f60e01b815260040160405180910390fd5b80602001518480519060200120146110ca57604051631a3272d160e31b815260040160405180910390fd5b6110d4858561143a565b5f6110de86611549565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611180929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111bb9a999897969594939291906120c8565b6020604051808303815f875af11580156111d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111fb9190612085565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b5f81602001511561126757823410156112605760405163044044a560e21b815260040160405180910390fd5b5081611399565b604051636d78045960e01b81526001600160a01b038581166004830152306024830152604482018590525f917f000000000000000000000000000000000000000000000000000000000000000090911690636d780459906064016020604051808303815f875af11580156112dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113019190611dd7565b60405163095ea7b360e01b81526001600160a01b038881166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af1158015611372573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611396919061214a565b50505b949350505050565b604051630f451f7160e31b8152600481018290525f906001600160a01b03841690637a28fb88906024015b602060405180830381865afa1580156113e7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107119190611dd7565b604051631920845160e01b8152600481018290525f906001600160a01b038416906319208451906024016113cc565b6114448282611617565b81516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461148257604051630722152560e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682602001516001600160a01b0316146114d85760405163073f739d60e51b815260040160405180910390fd5b816080015166038d7ea4c6800014611503576040516349db44f560e01b815260040160405180910390fd5b8160a0015166038d7ea4c680001461152e576040516318c9522360e11b815260040160405180910390fd5b5050565b5f6107118360200151670de0b6b3a7640000610706565b61155161172b565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6103e88260800151101561163e576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361166357604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061168d57508161010001518260e0015161168a9190612165565b15155b156116ab5760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806116d75750670de0b6b3a7640000826101c0015160200151115b806116f25750670de0b6b3a7640000826101c0015160400151115b8061170d5750670de0b6b3a7640000826101c0015160600151115b1561152e576040516322f72cc360e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020016117fa60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f81518084525f5b8181101561182357602081850181015186830182015201611807565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61071160208301846117ff565b6001600160a01b0381168114611868575f80fd5b50565b803561187681611854565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156118b2576118b261187b565b60405290565b6040516101e0810167ffffffffffffffff811182821017156118b2576118b261187b565b8015158114611868575f80fd5b5f67ffffffffffffffff808411156119035761190361187b565b604051601f8501601f19908116603f0116810190828211818310171561192b5761192b61187b565b81604052809350858152868686011115611943575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f83011261196b575f80fd5b610711838335602085016118e9565b5f805f805f60a0868803121561198e575f80fd5b8535945060208601356119a081611854565b93506040860135925060608601359150608086013567ffffffffffffffff808211156119ca575f80fd5b908701906060828a0312156119dd575f80fd5b6119e561188f565b82356119f081611854565b81526020830135611a00816118dc565b6020820152604083013582811115611a16575f80fd5b611a228b82860161195c565b6040830152508093505050509295509295909350565b5f8060408385031215611a49575f80fd5b8235611a5481611854565b946020939093013593505050565b5f60208284031215611a72575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611b06575f80fd5b6040516080810181811067ffffffffffffffff82111715611b2957611b2961187b565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611b6b575f80fd5b611b736118b8565b9050611b7e8261186b565b8152611b8c6020830161186b565b6020820152611b9d6040830161186b565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611bfa81840161186b565b90820152610160611c0c83820161186b565b90820152610180611c1e83820161186b565b908201526101a0611c3083820161186b565b908201526101c0611c4384848301611af6565b9082015292915050565b5f805f805f6102c08688031215611c62575f80fd5b85359450611c738760208801611b5a565b935061026086013567ffffffffffffffff811115611c8f575f80fd5b611c9b8882890161195c565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611ccb575f80fd5b85359450602086013567ffffffffffffffff80821115611ce9575f80fd5b818801915088601f830112611cfc575f80fd5b611d0b898335602085016118e9565b9550611d1a8960408a01611b5a565b9450610280880135915080821115611d30575f80fd5b50611d3d8882890161195c565b959894975092956102a001359392505050565b600181811c90821680611d6457607f821691505b602082108103611d8257634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611dcd60c08401826117ff565b9695505050505050565b5f60208284031215611de7575f80fd5b5051919050565b8181038181111561071457634e487b7160e01b5f52601160045260245ffd5b81516001600160a01b0316815261024081016020830151611e3960208401826001600160a01b03169052565b506040830151611e5460408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151611eba828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611aee565b80516001600160a01b031682526020810151611f4a60208401826001600160a01b03169052565b506040810151611f6560408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151611fd7828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6102c061204e8388611f23565b6001600160a01b0386166102608401526102808301819052612072818401866117ff565b915050826102a083015295945050505050565b5f60208284031215612095575f80fd5b81516120a081611854565b9392505050565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526120db8184018e6117ff565b90506120ea602084018d611f23565b6001600160a01b038b81166102808501528382036102a085015261210e828c6117ff565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f6020828403121561215a575f80fd5b81516120a0816118dc565b5f8261217f57634e487b7160e01b5f52601260045260245ffd5b50069056fe5374455448487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212206424e2c6a2d37f7dbd5215cc1b2da7bda2910f0a609e426fae656d20b8f0930d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(address,uint256)": "251f6c42", + "convertToShares(address,uint256)": "3e5541f1", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "lido()": "23509a2d", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget0.ts b/packages/hyperdrive-artifacts/src/StETHTarget0.ts new file mode 100644 index 000000000..9ef247d87 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget0.ts @@ -0,0 +1,1932 @@ +export const StETHTarget0 = { + name: 'StETHTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003c8738038062003c878339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161384d6200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d9501528181611247015261286b01525f8181610dbb0152612a2401525f818161060701528181610c7901528181611d9f0152818161252a015281816125b401526129b301525f8181610c4a01526111e4015261384d5ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c5c565b610559565b60405161024c9190612cc0565b60405180910390f35b610268610263366004612ce6565b610590565b005b610268610278366004612d0e565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612d29565b610638565b6102686102ce366004612dff565b610654565b6102686102e1366004612e8e565b61066a565b6102f96102f4366004612c5c565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612ed3565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612f12565b610742565b61033e61077a565b61033e61038f366004612f40565b610798565b6103a76103a2366004612ce6565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c5c565b6107c1565b6102686103d8366004612f77565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612fbe565b61026861040836600461305f565b5050565b61033e61041a366004612ce6565b610b4b565b610295610b76565b61026861043536600461308b565b610bb5565b61026861044836600461305f565b610bc6565b61026861045b366004612ce6565b50565b610466610c31565b60405161024c91906130c0565b61033e610481366004612c5c565b6110f1565b61033e610494366004612c5c565b6110fe565b6104ac6104a73660046131e6565b61111f565b60405161024c9190613225565b6102956111d6565b61033e611215565b61033e6104d7366004612c5c565b61122e565b61033e6104ea366004612c5c565b61123b565b6104f7611271565b60405161024c9190613268565b610268610512366004613379565b61137c565b6103a76105253660046133d4565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612cc0565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e53744554484879706572647269766560881b8152506040516020016105779190612cc0565b90565b60606105df60016040516020016105779190613400565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612cc0565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f91906134d5565b61093991906134e8565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134fb565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612fbe565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b88565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa19190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f9190613529565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906130c0565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b613544565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613558565b9050602002013590505f81549050808484815181106111a5576111a5613558565b60209081029190910101525050600101611169565b506111cf816040516020016105779190613225565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361259c565b5f61058b61078661126c7f0000000000000000000000000000000000000000000000000000000000000000856134d5565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f6114808261262b565b90505f836003811115611495576114956134ad565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db6134ad565b0361150757806040516020016114f1919061356c565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b6134ad565b0361153157806040516020016114f191906135a4565b6003836003811115611545576115456134ad565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612cc0565b60405180910390fd5b6115b76126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116389190613529565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce9190613529565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178791906135dd565b905061179d6001600160a01b0385168483612705565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118909190613529565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613558565b905060200201358888868686818110611baf57611baf613558565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134e8565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134e8565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f9084906134d5565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051633d7ad0b760e21b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f5eb42dc90602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1091906135dd565b905090565b5f611e1e6126dd565b611e2782612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea89190613529565b90506001600160a01b038116611ec16020850185612ce6565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c9190613529565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe081838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612d0e565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135f4565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613558565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f6121448261262b565b90505f836003811115612159576121596134ad565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f6134ad565b036121b557806040516020016114f191906136b4565b60028360038111156121c9576121c96134ad565b036121df57806040516020016114f191906136eb565b60038360038111156121f3576121f36134ad565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b09116612822565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e292900416612822565b905292915050565b5f6107248383670de0b6b3a7640000612896565b5f61072483670de0b6b3a764000084612896565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa158015612578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077491906135dd565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063192084519060240161255d565b5f612610600b5f6125fd6002866128b1565b81526020019081526020015f20546128e5565b612621600b5f6125fd6001876128b1565b6107749190613716565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613749565b61266f9060306134d5565b60f81b82600161267f84876134e8565b61268991906134e8565b8151811061269957612699613558565b60200101906001600160f81b03191690815f1a905350806126b98161375c565b91506126c89050600a86613774565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612912565b5f6127656020830183612ce6565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061279885856124ea565b90506127a38161259c565b9450845f036127b5575f915050610724565b8491506127c86040840160208501612d0e565b156127f7576127f0856127de6020860186612ce6565b6127eb6040870187613787565b612973565b915061281a565b61281a856128086020860186612ce6565b6128156040870187613787565b61298d565b509392505050565b5f80670de0b6b3a7640000612835612a1d565b61283f91906137ca565b905080831161284e575f612858565b61285881846134e8565b915061072461288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ca565b83906124fe565b5f825f1904841183021582026128aa575f80fd5b5091020490565b5f6001600160f81b038211156128da5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561290e5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129266001600160a01b03841683612a48565b905080515f1415801561294a57508080602001905181019061294891906137e1565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af11580156129f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081691906135dd565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a55565b606061072483835f612a6a565b5f612a608284613749565b61072490846134e8565b606081471015612a8f5760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612aaa91906137fc565b5f6040518083038185875af1925050503d805f8114612ae4576040519150601f19603f3d011682016040523d82523d5f602084013e612ae9565b606091505b5091509150612af9868383612b03565b9695505050505050565b606082612b1857612b1382612b5f565b610724565b8151158015612b2f57506001600160a01b0384163b155b15612b5857604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b6f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c5760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c6c575f80fd5b5035919050565b5f5b83811015612c8d578181015183820152602001612c75565b50505f910152565b5f8151808452612cac816020860160208601612c73565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c95565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cf6575f80fd5b813561072481612cd2565b801515811461045b575f80fd5b5f60208284031215612d1e575f80fd5b813561072481612d01565b5f805f805f805f805f6101208a8c031215612d42575f80fd5b8935985060208a0135975060408a0135612d5b81612cd2565b965060608a0135612d6b81612cd2565b955060808a0135612d7b81612d01565b945060a08a0135935060c08a013560ff81168114612d97575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612dc7575f80fd5b50813567ffffffffffffffff811115612dde575f80fd5b6020830191508360208260051b8501011115612df8575f80fd5b9250929050565b5f805f805f8060808789031215612e14575f80fd5b8635612e1f81612cd2565b95506020870135612e2f81612cd2565b9450604087013567ffffffffffffffff80821115612e4b575f80fd5b612e578a838b01612db7565b90965094506060890135915080821115612e6f575f80fd5b50612e7c89828a01612db7565b979a9699509497509295939492505050565b5f805f8060808587031215612ea1575f80fd5b843593506020850135612eb381612cd2565b92506040850135612ec381612cd2565b9396929550929360600135925050565b5f805f60608486031215612ee5575f80fd5b833592506020840135612ef781612cd2565b91506040840135612f0781612cd2565b809150509250925092565b5f8060408385031215612f23575f80fd5b823591506020830135612f3581612cd2565b809150509250929050565b5f60208284031215612f50575f80fd5b813567ffffffffffffffff811115612f66575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f8a575f80fd5b843593506020850135612f9c81612cd2565b9250604085013591506060850135612fb381612cd2565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613070575f80fd5b823561307b81612cd2565b91506020830135612f3581612d01565b5f805f6060848603121561309d575f80fd5b8335925060208401356130af81612cd2565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130ec60208401826001600160a01b03169052565b50604083015161310760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613179828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131f7575f80fd5b823567ffffffffffffffff81111561320d575f80fd5b61321985828601612db7565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561325c57835183529284019291840191600101613240565b50909695505050505050565b81516001600160801b031681526101808101602083015161329460208401826001600160801b03169052565b5060408301516132af60408401826001600160801b03169052565b5060608301516132ca60608401826001600160801b03169052565b5060808301516132df6080840182600f0b9052565b5060a08301516132fa60a08401826001600160801b03169052565b5060c083015161331560c08401826001600160801b03169052565b5060e083015161333060e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526131de565b5f805f805f60a0868803121561338d575f80fd5b85359450602086013561339f81612cd2565b935060408601356133af81612cd2565b92506060860135915060808601356133c681612cd2565b809150509295509295909350565b5f80604083850312156133e5575f80fd5b82356133f081612cd2565b91506020830135612f3581612cd2565b5f60208083525f84545f60018260011c9150600183168061342257607f831692505b60208310810361344057634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561345f57600181146134755761349e565b60ff198616825284151560051b8201965061349e565b5f8b8152602090205f5b868110156134985781548482015290850190890161347f565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610774576107746134c1565b81810381811115610774576107746134c1565b5f806040838503121561350c575f80fd5b825191506020830151612f3581612d01565b805161058b81612cd2565b5f60208284031215613539575f80fd5b815161072481612cd2565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613597816011850160208701612c73565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516135d0816012850160208701612c73565b9190910160120192915050565b5f602082840312156135ed575f80fd5b5051919050565b5f6020808385031215613605575f80fd5b825167ffffffffffffffff8082111561361c575f80fd5b818501915085601f83011261362f575f80fd5b81518181111561364157613641613544565b8060051b604051601f19603f8301168101818110858211171561366657613666613544565b604052918252848201925083810185019188831115613683575f80fd5b938501935b828510156136a8576136998561351e565b84529385019392850192613688565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516136de816010850160208701612c73565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613597816011850160208701612c73565b8181035f8312801583831316838312821617156111cf576111cf6134c1565b634e487b7160e01b5f52601260045260245ffd5b5f8261375757613757613735565b500690565b5f6001820161376d5761376d6134c1565b5060010190565b5f8261378257613782613735565b500490565b5f808335601e1984360301811261379c575f80fd5b83018035915067ffffffffffffffff8211156137b6575f80fd5b602001915036819003821315612df8575f80fd5b8082028115828204841417610774576107746134c1565b5f602082840312156137f1575f80fd5b815161072481612d01565b5f825161380d818460208701612c73565b919091019291505056fea2646970667358221220edb70dd688afd606fe9a73570608b61d7fb2ae71929661f7c63db0a13d98b33364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/StETHTarget0Deployer.ts new file mode 100644 index 000000000..d22662245 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const StETHTarget0Deployer = { + name: 'StETHTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061415f8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613c87806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003c8738038062003c878339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161384d6200043a5f395f8181610cd701526122a001525f8181610ca8015261226301525f8181610b8401528181610e0701528181610e9501528181610f2301528181610fb1015281816115ba015281816116500152818161181201528181611e2a01528181611efe015261204f01525f610d6f01525f8181610d49015261244501525f8181610d23015261241f01525f8181610cfd01526123f901525f6110bc01525f61109601525f61107001525f61104a01525f8181610de1015261246b01525f8181610d9501528181611247015261286b01525f8181610dbb0152612a2401525f818161060701528181610c7901528181611d9f0152818161252a015281816125b401526129b301525f8181610c4a01526111e4015261384d5ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104dc578063d8165743146104ef578063e44808bc14610504578063e985e9c514610517578063fba560081461052a575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f592146104c9575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612c5c565b610559565b60405161024c9190612cc0565b60405180910390f35b610268610263366004612ce6565b610590565b005b610268610278366004612d0e565b610599565b61023f6105a2565b61023f6105e2565b6102956105f9565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612d29565b610638565b6102686102ce366004612dff565b610654565b6102686102e1366004612e8e565b61066a565b6102f96102f4366004612c5c565b61067d565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612ed3565b6106e6565b60405190815260200161024c565b61035461072b565b60405160ff909116815260200161024c565b61033e610374366004612f12565b610742565b61033e61077a565b61033e61038f366004612f40565b610798565b6103a76103a2366004612ce6565b6107a2565b604051901515815260200161024c565b61023f6103c5366004612c5c565b6107c1565b6102686103d8366004612f77565b6107cf565b61023f61081d565b6103ed610852565b60405161024c9190612fbe565b61026861040836600461305f565b5050565b61033e61041a366004612ce6565b610b4b565b610295610b76565b61026861043536600461308b565b610bb5565b61026861044836600461305f565b610bc6565b61026861045b366004612ce6565b50565b610466610c31565b60405161024c91906130c0565b61033e610481366004612c5c565b6110f1565b61033e610494366004612c5c565b6110fe565b6104ac6104a73660046131e6565b61111f565b60405161024c9190613225565b6102956111d6565b61033e611215565b61033e6104d7366004612c5c565b61122e565b61033e6104ea366004612c5c565b61123b565b6104f7611271565b60405161024c9190613268565b610268610512366004613379565b61137c565b6103a76105253660046133d4565b6113c4565b610532611407565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b606061058b61056783611465565b6040516020016105779190612cc0565b60405160208183030381529060405261158b565b919050565b61045b816115af565b61045b81611810565b60606105df6040518060400160405280600f81526020016e53744554484879706572647269766560881b8152506040516020016105779190612cc0565b90565b60606105df60016040516020016105779190613400565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610649898989898989898989611928565b505050505050505050565b610662868686868686611b1a565b505050505050565b6106778484848433611bcd565b50505050565b604080516060810182525f808252602082018190529181019190915261058b60085f8481526020019081526020015f20604051602001610577919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107249101610577565b9392505050565b60408051601260208201525f916105df9101610577565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107749101610577565b92915050565b5f6105df610786611d88565b60405160200161057791815260200190565b5f61077482611e15565b5f61058b6107af8361204b565b60408051911515602083015201610577565b606061058b61056783612129565b836107d981612225565b6001600160a01b0316336001600160a01b03161461080a57604051632aab8bd360e01b815260040160405180910390fd5b610816858585856122e2565b5050505050565b60606105df60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105779190612cc0565b6108bc604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6108c561234e565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161092f91906134d5565b61093991906134e8565b90505f8215610a485773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61096585612360565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906134fb565b509050610a4581846124ea565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b1857610b1384866124fe565b610b1a565b5f5b81526003546001600160801b0316602091820152604051919250610b449161057791849101612fbe565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261058b9101610577565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b610bc1838383336122e2565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c39612b88565b6105df6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa19190613529565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102f9190613529565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161057791906130c0565b5f61058b61078683612512565b5f818152600b602090815260408083205481519283015261058b9101610577565b60605f8267ffffffffffffffff81111561113b5761113b613544565b604051908082528060200260200182016040528015611164578160200160208202803683370190505b5090505f5b838110156111ba575f85858381811061118457611184613558565b9050602002013590505f81549050808484815181106111a5576111a5613558565b60209081029190910101525050600101611169565b506111cf816040516020016105779190613225565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105df9101610577565b5f6105df60095460405160200161057791815260200190565b5f61058b6107868361259c565b5f61058b61078661126c7f0000000000000000000000000000000000000000000000000000000000000000856134d5565b6125eb565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105df6002604051602001610577919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461138681612225565b6001600160a01b0316336001600160a01b0316146113b757604051632aab8bd360e01b815260040160405180910390fd5b6106628686868686611bcd565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107749101610577565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105df90606001610577565b606060f882901c6001600160f81b0383165f6114808261262b565b90505f836003811115611495576114956134ad565b036114c7576040518060400160405280600d81526020016c048797065726472697665204c5609c1b8152509350611583565b60018360038111156114db576114db6134ad565b0361150757806040516020016114f1919061356c565b6040516020818303038152906040529350611583565b600283600381111561151b5761151b6134ad565b0361153157806040516020016114f191906135a4565b6003836003811115611545576115456134ad565b03611583576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016115a69190612cc0565b60405180910390fd5b6115b76126dd565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611614573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116389190613529565b9050336001600160a01b038216148015906116e457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ce9190613529565b6001600160a01b0316336001600160a01b031614155b80156116f657506116f43361204b565b155b15611713576040516282b42960e81b815260040160405180910390fd5b5f61171c611d88565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611763573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178791906135dd565b905061179d6001600160a01b0385168483612705565b816117a6611d88565b146117c4576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561186c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118909190613529565b6001600160a01b0316336001600160a01b0316141580156118b757506118b53361204b565b155b156118d4576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061191d90831515815260200190565b60405180910390a150565b834211156119495760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119705760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a5a573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611a9857604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b3757506001600160a01b038516155b15611b555760405163f0dd15fd60e01b815260040160405180910390fd5b828114611b755760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611bc457611bbc858583818110611b9457611b94613558565b905060200201358888868686818110611baf57611baf613558565b9050602002013533611bcd565b600101611b77565b50505050505050565b6001600160a01b0384161580611bea57506001600160a01b038316155b15611c085760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611cc8576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611cc8575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611cc6575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611cc09084906134e8565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611cf99084906134e8565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d2f9084906134d5565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b604051633d7ad0b760e21b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f5eb42dc90602401602060405180830381865afa158015611dec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e1091906135dd565b905090565b5f611e1e6126dd565b611e2782612757565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea89190613529565b90506001600160a01b038116611ec16020850185612ce6565b6001600160a01b031614611ee857604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611f9257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c9190613529565b6001600160a01b0316336001600160a01b031614155b8015611fa45750611fa23361204b565b155b15611fc1576040516282b42960e81b815260040160405180910390fd5b5f611fca61234e565b600980545f909155909150611fe081838761278c565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461201f60408a0160208b01612d0e565b60408051938452602084019290925215159082015260600160405180910390a250505061058b60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120cf91908101906135f4565b90505f5b815181101561212057836001600160a01b03168282815181106120f8576120f8613558565b60200260200101516001600160a01b031603612118575060019392505050565b6001016120d3565b505f9392505050565b606060f882901c6001600160f81b0383165f6121448261262b565b90505f836003811115612159576121596134ad565b0361218b576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b8152509350611583565b600183600381111561219f5761219f6134ad565b036121b557806040516020016114f191906136b4565b60028360038111156121c9576121c96134ad565b036121df57806040516020016114f191906136eb565b60038360038111156121f3576121f36134ad565b0361158357505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e10670de0b6b3a7640000612512565b6123b86040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916124b09116612822565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926124e292900416612822565b905292915050565b5f6107248383670de0b6b3a7640000612896565b5f61072483670de0b6b3a764000084612896565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa158015612578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077491906135dd565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063192084519060240161255d565b5f612610600b5f6125fd6002866128b1565b81526020019081526020015f20546128e5565b612621600b5f6125fd6001876128b1565b6107749190613716565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156126cf57612664600a86613749565b61266f9060306134d5565b60f81b82600161267f84876134e8565b61268991906134e8565b8151811061269957612699613558565b60200101906001600160f81b03191690815f1a905350806126b98161375c565b91506126c89050600a86613774565b9450612653565b918290030190815292915050565b60025f54036126ff57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bc1908490612912565b5f6127656020830183612ce6565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061279885856124ea565b90506127a38161259c565b9450845f036127b5575f915050610724565b8491506127c86040840160208501612d0e565b156127f7576127f0856127de6020860186612ce6565b6127eb6040870187613787565b612973565b915061281a565b61281a856128086020860186612ce6565b6128156040870187613787565b61298d565b509392505050565b5f80670de0b6b3a7640000612835612a1d565b61283f91906137ca565b905080831161284e575f612858565b61285881846134e8565b915061072461288f670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137ca565b83906124fe565b5f825f1904841183021582026128aa575f80fd5b5091020490565b5f6001600160f81b038211156128da5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561290e5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129266001600160a01b03841683612a48565b905080515f1415801561294a57508080602001905181019061294891906137e1565b155b15610bc157604051635274afe760e01b81526001600160a01b03841660048201526024016115a6565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af11580156129f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081691906135dd565b5f611e10427f0000000000000000000000000000000000000000000000000000000000000000612a55565b606061072483835f612a6a565b5f612a608284613749565b61072490846134e8565b606081471015612a8f5760405163cd78605960e01b81523060048201526024016115a6565b5f80856001600160a01b03168486604051612aaa91906137fc565b5f6040518083038185875af1925050503d805f8114612ae4576040519150601f19603f3d011682016040523d82523d5f602084013e612ae9565b606091505b5091509150612af9868383612b03565b9695505050505050565b606082612b1857612b1382612b5f565b610724565b8151158015612b2f57506001600160a01b0384163b155b15612b5857604051639996b31560e01b81526001600160a01b03851660048201526024016115a6565b5080610724565b805115612b6f5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612c5760405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612c6c575f80fd5b5035919050565b5f5b83811015612c8d578181015183820152602001612c75565b50505f910152565b5f8151808452612cac816020860160208601612c73565b601f01601f19169290920160200192915050565b602081525f6107246020830184612c95565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612cf6575f80fd5b813561072481612cd2565b801515811461045b575f80fd5b5f60208284031215612d1e575f80fd5b813561072481612d01565b5f805f805f805f805f6101208a8c031215612d42575f80fd5b8935985060208a0135975060408a0135612d5b81612cd2565b965060608a0135612d6b81612cd2565b955060808a0135612d7b81612d01565b945060a08a0135935060c08a013560ff81168114612d97575f80fd5b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612dc7575f80fd5b50813567ffffffffffffffff811115612dde575f80fd5b6020830191508360208260051b8501011115612df8575f80fd5b9250929050565b5f805f805f8060808789031215612e14575f80fd5b8635612e1f81612cd2565b95506020870135612e2f81612cd2565b9450604087013567ffffffffffffffff80821115612e4b575f80fd5b612e578a838b01612db7565b90965094506060890135915080821115612e6f575f80fd5b50612e7c89828a01612db7565b979a9699509497509295939492505050565b5f805f8060808587031215612ea1575f80fd5b843593506020850135612eb381612cd2565b92506040850135612ec381612cd2565b9396929550929360600135925050565b5f805f60608486031215612ee5575f80fd5b833592506020840135612ef781612cd2565b91506040840135612f0781612cd2565b809150509250925092565b5f8060408385031215612f23575f80fd5b823591506020830135612f3581612cd2565b809150509250929050565b5f60208284031215612f50575f80fd5b813567ffffffffffffffff811115612f66575f80fd5b820160608185031215610724575f80fd5b5f805f8060808587031215612f8a575f80fd5b843593506020850135612f9c81612cd2565b9250604085013591506060850135612fb381612cd2565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215613070575f80fd5b823561307b81612cd2565b91506020830135612f3581612d01565b5f805f6060848603121561309d575f80fd5b8335925060208401356130af81612cd2565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516130ec60208401826001600160a01b03169052565b50604083015161310760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613179828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156131f7575f80fd5b823567ffffffffffffffff81111561320d575f80fd5b61321985828601612db7565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561325c57835183529284019291840191600101613240565b50909695505050505050565b81516001600160801b031681526101808101602083015161329460208401826001600160801b03169052565b5060408301516132af60408401826001600160801b03169052565b5060608301516132ca60608401826001600160801b03169052565b5060808301516132df6080840182600f0b9052565b5060a08301516132fa60a08401826001600160801b03169052565b5060c083015161331560c08401826001600160801b03169052565b5060e083015161333060e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526131de565b5f805f805f60a0868803121561338d575f80fd5b85359450602086013561339f81612cd2565b935060408601356133af81612cd2565b92506060860135915060808601356133c681612cd2565b809150509295509295909350565b5f80604083850312156133e5575f80fd5b82356133f081612cd2565b91506020830135612f3581612cd2565b5f60208083525f84545f60018260011c9150600183168061342257607f831692505b60208310810361344057634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561345f57600181146134755761349e565b60ff198616825284151560051b8201965061349e565b5f8b8152602090205f5b868110156134985781548482015290850190890161347f565b83019750505b50949998505050505050505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610774576107746134c1565b81810381811115610774576107746134c1565b5f806040838503121561350c575f80fd5b825191506020830151612f3581612d01565b805161058b81612cd2565b5f60208284031215613539575f80fd5b815161072481612cd2565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f8251613597816011850160208701612c73565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516135d0816012850160208701612c73565b9190910160120192915050565b5f602082840312156135ed575f80fd5b5051919050565b5f6020808385031215613605575f80fd5b825167ffffffffffffffff8082111561361c575f80fd5b818501915085601f83011261362f575f80fd5b81518181111561364157613641613544565b8060051b604051601f19603f8301168101818110858211171561366657613666613544565b604052918252848201925083810185019188831115613683575f80fd5b938501935b828510156136a8576136998561351e565b84529385019392850192613688565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516136de816010850160208701612c73565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f8251613597816011850160208701612c73565b8181035f8312801583831316838312821617156111cf576111cf6134c1565b634e487b7160e01b5f52601260045260245ffd5b5f8261375757613757613735565b500690565b5f6001820161376d5761376d6134c1565b5060010190565b5f8261378257613782613735565b500490565b5f808335601e1984360301811261379c575f80fd5b83018035915067ffffffffffffffff8211156137b6575f80fd5b602001915036819003821315612df8575f80fd5b8082028115828204841417610774576107746134c1565b5f602082840312156137f1575f80fd5b815161072481612d01565b5f825161380d818460208701612c73565b919091019291505056fea2646970667358221220edb70dd688afd606fe9a73570608b61d7fb2ae71929661f7c63db0a13d98b33364736f6c63430008160033a2646970667358221220a28ce4f5c23a29185a86ba379c4d4e916556fcaae8a5823fd42bdadcc9e1359a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget1.ts b/packages/hyperdrive-artifacts/src/StETHTarget1.ts new file mode 100644 index 000000000..7c75161a3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget1.ts @@ -0,0 +1,952 @@ +export const StETHTarget1 = { + name: 'StETHTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003d5638038062003d568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138dc6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612bcd01525f818161139301528181611791015281816117f4015281816127b6015281816127f2015281816129ea0152612ba701525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b8101525f611b3901525f8181611c5a0152818161229b015261231301525f81816108a901528181610f4301528181611c2e01526122e701525f8181610e3e015261226101525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bf301525f81816107e701528181610ec4015281816116ef0152818161213a015261311701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119820152818161257501526125ec01525f50506138dc5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133a7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133a7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613415565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613428565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361345b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613483565b6102bd8a6102b78d8f613415565b90611584565b8d6102cb60408c018c61349e565b6040516102df989796959493929190613509565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613415565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613550565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361345b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613483565b8a61050260408b018b61349e565b6040516105159796959493929190613577565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361345b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119f4565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613415565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a09565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b92505b5061073e83611a3f565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135b7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613415565b4290611a68565b8461102b565b6107db88611a7c565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135b7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c19565b915091508060095f8282546108789190613415565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613415565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce6565b91506108e16108dc8385611584565b611d2f565b600680546002906109029084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a3f565b60068054601090610951908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c19565b915091508060095f8282546109c49190613415565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135b7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a3f565b60068054601090610a68908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613428565b5f61134e565b8e610ac58482611d58565b50505b5f610ad284611f47565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061360a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612089565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135b7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a09565b90505f610d5f8a61210f565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061215e565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121cd565b6121fc565b15610e7457610e746113ec565b5f805f610e8385878b8761223d565b9c5091945092509050610e9681846135b7565b610ea09089613415565b9750610eac8284613415565b610eb6908d613415565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135b7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ce6565b9950610f73878a6135b7565b9850670de0b6b3a7640000610ff0610f8b8787613415565b600254610fa9908f90600160801b90046001600160801b03166135b7565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61234f565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135b7565b6110d19190613625565b85670de0b6b3a76400006110e5878a6135b7565b6110ef9190613625565b8592919060016123eb565b611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a3f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613625565b600554600160801b90046001600160801b031691908a5f6123eb565b600580546001600160801b03928316600160801b0292169190911790556111d286611a3f565b6111dc908261363c565b600480546001600160801b03928316600160801b02921691909117905561120284611a3f565b600280545f9061121c9084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612491565b600480545f9061125d908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a3f565b600280546010906112af908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613428565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124cc565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361252e565b6003546113ce91906001600160801b0316613415565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d58565b5f805f61141d84611a7c565b90925090505f61142d8686611584565b90508183111561144557611442868385612542565b95505b8281101561145757808303925061145b565b5f92505b61146483611d2f565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a3f565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161255d565b9450845f03611516575f91505061157d565b8491506115296040840160208501613483565b15611558576115518561153f602086018661345b565b61154c604087018761349e565b6125ac565b915061157b565b61157b85611569602086018661345b565b611576604087018761349e565b6125c6565b505b9392505050565b5f61157d8383670de0b6b3a7640000612542565b5f805f805f805f806115a8611a09565b90505f6115b48a61210f565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b985061169a84878b8861223d565b9c5091945090925090506116ae82846135b7565b6116b890896135b7565b97506116c48184613415565b6116ce908e6135b7565b9c506116da8a8e613415565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135b7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161234f565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135b7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613428565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613625565b6005546001600160801b031691908c5f6123eb565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135b7565b90506118a281611a3f565b600380546001600160801b03928316600160801b0292169190911790556118c883611a3f565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612491565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a3f565b6002805460109061193c908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156119d0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613689565b5f6119ff82846136b4565b61157d90846135b7565b6002546004545f916105a6916001600160801b0390911690600f0b6126b0565b5f61007d82611a39858888612542565b906126d5565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a76578261157d565b50919050565b6006545f908190611a9e908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c14575f611ac783836135b7565b9050611ad66110fa8286612744565b60068054601090611af8908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b30858361275890919063ffffffff16565b90505f611b5d827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b709190613415565b90915550611b80905081836135b7565b9150611b8b82611a3f565b600280545f90611ba59084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd28261276c565b600480545f90611be6908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c258785612758565b91505f611c52837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c7e817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611ca157611c9082826135b7565b611c9a90846135b7565b9250611cb8565b611cab82826135b7565b611cb59084613415565b92505b86861015611cdb57611ccb838789612542565b9250611cd8828789612542565b91505b509550959350505050565b5f80611cfd84611cf78a888a612542565b90612758565b9050611d0a888486612542565b611d149082613415565b905086811115611d245786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611da2916001600160801b0316906135b7565b9050805f03611db557600191505061131b565b5f611dbf85612795565b9050805f03611dd35760019250505061131b565b5f80611de0838589612830565b9150915080611df5575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e30929190613745565b6040805180830381865af4158015611e4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6e91906137ba565b91509150611e8c611e7e82611321565b611e87906137dc565b6129a4565b925082611ea1575f965050505050505061131b565b611eaa82611a3f565b600780545f90611ec49084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef181611a3f565b60078054601090611f13908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f6e87612b38565b6040518263ffffffff1660e01b8152600401611f8a91906137f6565b6040805180830381865af4158015611fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc89190613805565b9150915080611fdd57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204291613415565b61204c91906135b7565b9050805f0361206257505f958695509350505050565b5f808711612070575f61207b565b61207b848884612542565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120ac576120ac613833565b6040519080825280601f01601f1916602001820160405280156120d6576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120f6578692505b828152825f602083013e90999098509650505050505050565b5f806121196105ab565b9050808311612128575f612132565b61213281846135b7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612758565b5f808061217e61217688670de0b6b3a76400006135b7565b899087612c72565b905086156121c057612190888861252e565b91506121b18a8a846121aa8a670de0b6b3a76400006135b7565b8989612c95565b92506121bd8382613415565b90505b9750975097945050505050565b5f6121ea6121e384670de0b6b3a76400006135b7565b839061252e565b61157d90670de0b6b3a76400006135b7565b5f806122328561220a611a09565b6122149190613415565b600254610fa9908790600160801b90046001600160801b03166135b7565b909210949350505050565b5f808080612293878661228c8b61228661225f8c670de0b6b3a76400006135b7565b7f00000000000000000000000000000000000000000000000000000000000000009061252e565b9061252e565b9190612c72565b93506122bf847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122df6122d789670de0b6b3a76400006135b7565b8a9088612c72565b905061230b817f000000000000000000000000000000000000000000000000000000000000000061252e565b9350612337847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123419084613415565b915050945094509450949050565b5f805f805f80888810156123bb5786156123715761236e8d898b612542565b9c505b61237c8c898b612542565b9b506123878b611321565b6123908d611321565b61239a9190613428565b90506123a78b898b612542565b9a506123b48a898b612542565b99506123da565b6123c48b611321565b6123cd8d611321565b6123d79190613428565b90505b9b9c9a9b999a975050505050505050565b5f825f036123fa575084612488565b811561244c5761242b61240d8487613415565b6124178587611584565b612421888a611584565b611cf79190613415565b90505f6124388588611a68565b905080821015612446578091505b50612488565b82850361245a57505f612488565b61248561246784876135b7565b612471858761252e565b61247b888a611584565b611cf791906135b7565b90505b95945050505050565b5f60016001607f1b03198212806124ae575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124d8845f612cb7565b6124e2845f612cb7565b6124ec9190613428565b90505f811315612507576125008186613415565b9450612525565b5f81121561252557612518816137dc565b61252290866135b7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c72565b5f825f190484118302158202612556575f80fd5b5091020490565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016119b5565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af1158015612632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126569190613689565b5050505050565b5f808061267d61267588670de0b6b3a76400006135b7565b899087612542565b905086156121c05761268f8888611584565b91506121b18a8a846126a98a670de0b6b3a76400006135b7565b8989612ccc565b5f806126bc8484612cdc565b9092509050806126ce576126ce6113ec565b5092915050565b5f815f036126ec5750670de0b6b3a764000061131b565b825f036126fa57505f61131b565b5f61270483611321565b90505f61271861271386611321565b612d17565b905081810261272f670de0b6b3a764000082613847565b905061273a81612f3c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c72565b5f61157d83670de0b6b3a764000084612542565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127af906001600160801b031684612744565b90506127db7f000000000000000000000000000000000000000000000000000000000000000082613415565b6002546001600160801b03161115611a76576002547f0000000000000000000000000000000000000000000000000000000000000000906128269083906001600160801b03166135b7565b61157d91906135b7565b612838613308565b5f8061284384612b38565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161287d91906137f6565b6040805180830381865af4158015612897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bb9190613805565b93509050826128cf57505f915061299c9050565b5f6128f56128f084610160015185610140015161158490919063ffffffff16565b611321565b6129156128f085610120015186610100015161252e90919063ffffffff16565b61291f9190613428565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a7e9190613873565b935093509350935080612a9957505f98975050505050505050565b868414612aca57612aa984611a3f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612afb57612ada83612491565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2957612b0b82611a3f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b40613352565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c3891166130ce565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c6a929004166130ce565b905292915050565b5f825f190484118302158202612c86575f80fd5b50910281810615159190040190565b5f80612ca5888888888888613142565b909250905080611d2457611d246113ec565b5f818313612cc5578161157d565b5090919050565b5f80612ca588888888888861321e565b5f805f83612ce986611321565b612cf39190613428565b90505f811215612d09575f809250925050612d10565b9150600190505b9250929050565b5f808213612d385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dbb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f5557505f919050565b680755bf798b4a1bf1e58212612f7e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061273a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130e16105ab565b6130eb9190613625565b90508083116130fa575f613104565b61310481846135b7565b915061157d61313b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613625565b8390612758565b5f805f61315289898888886132da565b905086881015613168575f809250925050613213565b968690039661317788876126d5565b97508781101561318d575f809250925050613213565b87810361319b818688612c72565b9050670de0b6b3a764000081106131cf576131c86131c1670de0b6b3a764000089612744565b82906126d5565b90506131e7565b6131e46131c1670de0b6b3a764000089612758565b90505b6131f18186612744565b905089811015613208575f80935093505050613213565b899003925060019150505b965096945050505050565b5f805f61322e89898888886132da565b905061323e86611a39898b613415565b975087811015613254575f809250925050613213565b878103613262818688612c72565b9050670de0b6b3a7640000811061328f576132886131c1670de0b6b3a764000089612744565b90506132a7565b6132a46131c1670de0b6b3a764000089612758565b90505b6132b18186612744565b9050808a10156132c8575f80935093505050613213565b90980398600198509650505050505050565b5f6132e585856126d5565b6132fe6132f686611a39868b61252e565b859085612c72565b6124859190613415565b60405180610120016040528061331c613352565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ba575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156133e5575f80fd5b8501606081880312156133f6575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613401565b8181035f8312801583831316838312821617156126ce576126ce613401565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561346b575f80fd5b813561157d81613447565b8015158114610591575f80fd5b5f60208284031215613493575f80fd5b813561157d81613476565b5f808335601e198436030181126134b3575f80fd5b83018035915067ffffffffffffffff8211156134cd575f80fd5b602001915036819003821315612d10575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61354260e0830184866134e1565b9a9950505050505050505050565b8082018281125f83128015821682158216171561356f5761356f613401565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135aa60c0830184866134e1565b9998505050505050505050565b8181038181111561131b5761131b613401565b6001600160701b038181168382160190808211156126ce576126ce613401565b6001600160801b038181168382160190808211156126ce576126ce613401565b5f6020828403121561361a575f80fd5b815161157d81613447565b808202811582820484141761131b5761131b613401565b6001600160801b038281168282160390808211156126ce576126ce613401565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613401565b5f60208284031215613699575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826136c2576136c26136a0565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137588285516136c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137cb575f80fd5b505080516020909101519092909150565b5f600160ff1b82016137f0576137f0613401565b505f0390565b610180810161131b82846136c7565b5f8060408385031215613816575f80fd5b82519150602083015161382881613476565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613855576138556136a0565b600160ff1b82145f198414161561386e5761386e613401565b500590565b5f805f8060808587031215613886575f80fd5b84519350602085015192506040850151915060608501516133f68161347656fea264697066735822122028bac119ff6a81c135cd345078ef9cf512a9be0e5a530a95d9745ae8b9952f1864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/StETHTarget1Deployer.ts new file mode 100644 index 000000000..1d5334689 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const StETHTarget1Deployer = { + name: 'StETHTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061422e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613d56806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003d5638038062003d568339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516138dc6200047a5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612bcd01525f818161139301528181611791015281816117f4015281816127b6015281816127f2015281816129ea0152612ba701525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b8101525f611b3901525f8181611c5a0152818161229b015261231301525f81816108a901528181610f4301528181611c2e01526122e701525f8181610e3e015261226101525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612bf301525f81816107e701528181610ec4015281816116ef0152818161213a015261311701525f81816105b2015281816106290152818161069d0152818161076801526107a001525f81816119820152818161257501526125ec01525f50506138dc5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b6100463660046133a7565b610070565b60405190815260200160405180910390f35b61004b61006b3660046133a7565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613415565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc9083613428565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b602083018361345b565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613483565b6102bd8a6102b78d8f613415565b90611584565b8d6102cb60408c018c61349e565b6040516102df989796959493929190613509565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613415565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc9083613550565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b6602083018361345b565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613483565b8a61050260408b018b61349e565b6040516105159796959493929190613577565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a602083018361345b565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119f4565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613415565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611a09565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b92505b5061073e83611a3f565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b6135b7565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613415565b4290611a68565b8461102b565b6107db88611a7c565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d6135b7565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c19565b915091508060095f8282546108789190613415565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613415565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611ce6565b91506108e16108dc8385611584565b611d2f565b600680546002906109029084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a3f565b60068054601090610951908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c19565b915091508060095f8282546109c49190613415565b909155506109df9050835f846109d981611321565b8a61177a565b6109e981836135b7565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b03166135ca565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a3f565b60068054601090610a68908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab49190613428565b5f61134e565b8e610ac58482611d58565b50505b5f610ad284611f47565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061360a565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612089565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf19084906135b7565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611a09565b90505f610d5f8a61210f565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f000000000000000000000000000000000000000000000000000000000000000061215e565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121cd565b6121fc565b15610e7457610e746113ec565b5f805f610e8385878b8761223d565b9c5091945092509050610e9681846135b7565b610ea09089613415565b9750610eac8284613415565b610eb6908d613415565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee91906135b7565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611ce6565b9950610f73878a6135b7565b9850670de0b6b3a7640000610ff0610f8b8787613415565b600254610fa9908f90600160801b90046001600160801b03166135b7565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61234f565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c788866135b7565b6110d19190613625565b85670de0b6b3a76400006110e5878a6135b7565b6110ef9190613625565b8592919060016123eb565b611a3f565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a3f565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a764000086613625565b600554600160801b90046001600160801b031691908a5f6123eb565b600580546001600160801b03928316600160801b0292169190911790556111d286611a3f565b6111dc908261363c565b600480546001600160801b03928316600160801b02921691909117905561120284611a3f565b600280545f9061121c9084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061124983612491565b600480545f9061125d908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a3f565b600280546010906112af908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b9190613428565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124cc565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f00000000000000000000000000000000000000000000000000000000000000008361252e565b6003546113ce91906001600160801b0316613415565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d58565b5f805f61141d84611a7c565b90925090505f61142d8686611584565b90508183111561144557611442868385612542565b95505b8281101561145757808303925061145b565b5f92505b61146483611d2f565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a3f565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161255d565b9450845f03611516575f91505061157d565b8491506115296040840160208501613483565b15611558576115518561153f602086018661345b565b61154c604087018761349e565b6125ac565b915061157b565b61157b85611569602086018661345b565b611576604087018761349e565b6125c6565b505b9392505050565b5f61157d8383670de0b6b3a7640000612542565b5f805f805f805f806115a8611a09565b90505f6115b48a61210f565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061265d565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a29565b985061169a84878b8861223d565b9c5091945090925090506116ae82846135b7565b6116b890896135b7565b97506116c48184613415565b6116ce908e6135b7565b9c506116da8a8e613415565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f61171991906135b7565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161234f565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba85836135b7565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de8482613428565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126b0565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a764000088613625565b6005546001600160801b031691908c5f6123eb565b600580546001600160801b0319166001600160801b039290921691909117905561189788826135b7565b90506118a281611a3f565b600380546001600160801b03928316600160801b0292169190911790556118c883611a3f565b600280546001600160801b0319166001600160801b03929092169190911790556118f182612491565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a3f565b6002805460109061193c908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156119d0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190613689565b5f6119ff82846136b4565b61157d90846135b7565b6002546004545f916105a6916001600160801b0390911690600f0b6126b0565b5f61007d82611a39858888612542565b906126d5565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a76578261157d565b50919050565b6006545f908190611a9e908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611c14575f611ac783836135b7565b9050611ad66110fa8286612744565b60068054601090611af8908490600160801b90046001600160801b031661363c565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b30858361275890919063ffffffff16565b90505f611b5d827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b709190613415565b90915550611b80905081836135b7565b9150611b8b82611a3f565b600280545f90611ba59084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd28261276c565b600480545f90611be6908490600f0b61365c565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c258785612758565b91505f611c52837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c7e817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611ca157611c9082826135b7565b611c9a90846135b7565b9250611cb8565b611cab82826135b7565b611cb59084613415565b92505b86861015611cdb57611ccb838789612542565b9250611cd8828789612542565b91505b509550959350505050565b5f80611cfd84611cf78a888a612542565b90612758565b9050611d0a888486612542565b611d149082613415565b905086811115611d245786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611da2916001600160801b0316906135b7565b9050805f03611db557600191505061131b565b5f611dbf85612795565b9050805f03611dd35760019250505061131b565b5f80611de0838589612830565b9150915080611df5575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e30929190613745565b6040805180830381865af4158015611e4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6e91906137ba565b91509150611e8c611e7e82611321565b611e87906137dc565b6129a4565b925082611ea1575f965050505050505061131b565b611eaa82611a3f565b600780545f90611ec49084906001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ef181611a3f565b60078054601090611f13908490600160801b90046001600160801b03166135ea565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f6e87612b38565b6040518263ffffffff1660e01b8152600401611f8a91906137f6565b6040805180830381865af4158015611fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc89190613805565b9150915080611fdd57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161204291613415565b61204c91906135b7565b9050805f0361206257505f958695509350505050565b5f808711612070575f61207b565b61207b848884612542565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120ac576120ac613833565b6040519080825280601f01601f1916602001820160405280156120d6576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120f6578692505b828152825f602083013e90999098509650505050505050565b5f806121196105ab565b9050808311612128575f612132565b61213281846135b7565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612758565b5f808061217e61217688670de0b6b3a76400006135b7565b899087612c72565b905086156121c057612190888861252e565b91506121b18a8a846121aa8a670de0b6b3a76400006135b7565b8989612c95565b92506121bd8382613415565b90505b9750975097945050505050565b5f6121ea6121e384670de0b6b3a76400006135b7565b839061252e565b61157d90670de0b6b3a76400006135b7565b5f806122328561220a611a09565b6122149190613415565b600254610fa9908790600160801b90046001600160801b03166135b7565b909210949350505050565b5f808080612293878661228c8b61228661225f8c670de0b6b3a76400006135b7565b7f00000000000000000000000000000000000000000000000000000000000000009061252e565b9061252e565b9190612c72565b93506122bf847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122df6122d789670de0b6b3a76400006135b7565b8a9088612c72565b905061230b817f000000000000000000000000000000000000000000000000000000000000000061252e565b9350612337847f0000000000000000000000000000000000000000000000000000000000000000611584565b6123419084613415565b915050945094509450949050565b5f805f805f80888810156123bb5786156123715761236e8d898b612542565b9c505b61237c8c898b612542565b9b506123878b611321565b6123908d611321565b61239a9190613428565b90506123a78b898b612542565b9a506123b48a898b612542565b99506123da565b6123c48b611321565b6123cd8d611321565b6123d79190613428565b90505b9b9c9a9b999a975050505050505050565b5f825f036123fa575084612488565b811561244c5761242b61240d8487613415565b6124178587611584565b612421888a611584565b611cf79190613415565b90505f6124388588611a68565b905080821015612446578091505b50612488565b82850361245a57505f612488565b61248561246784876135b7565b612471858761252e565b61247b888a611584565b611cf791906135b7565b90505b95945050505050565b5f60016001607f1b03198212806124ae575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124d8845f612cb7565b6124e2845f612cb7565b6124ec9190613428565b90505f811315612507576125008186613415565b9450612525565b5f81121561252557612518816137dc565b61252290866135b7565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c72565b5f825f190484118302158202612556575f80fd5b5091020490565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016119b5565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af1158015612632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126569190613689565b5050505050565b5f808061267d61267588670de0b6b3a76400006135b7565b899087612542565b905086156121c05761268f8888611584565b91506121b18a8a846126a98a670de0b6b3a76400006135b7565b8989612ccc565b5f806126bc8484612cdc565b9092509050806126ce576126ce6113ec565b5092915050565b5f815f036126ec5750670de0b6b3a764000061131b565b825f036126fa57505f61131b565b5f61270483611321565b90505f61271861271386611321565b612d17565b905081810261272f670de0b6b3a764000082613847565b905061273a81612f3c565b9695505050505050565b5f61157d83670de0b6b3a764000084612c72565b5f61157d83670de0b6b3a764000084612542565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127af906001600160801b031684612744565b90506127db7f000000000000000000000000000000000000000000000000000000000000000082613415565b6002546001600160801b03161115611a76576002547f0000000000000000000000000000000000000000000000000000000000000000906128269083906001600160801b03166135b7565b61157d91906135b7565b612838613308565b5f8061284384612b38565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161287d91906137f6565b6040805180830381865af4158015612897573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bb9190613805565b93509050826128cf57505f915061299c9050565b5f6128f56128f084610160015185610140015161158490919063ffffffff16565b611321565b6129156128f085610120015186610100015161252e90919063ffffffff16565b61291f9190613428565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a7e9190613873565b935093509350935080612a9957505f98975050505050505050565b868414612aca57612aa984611a3f565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612afb57612ada83612491565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b2957612b0b82611a3f565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b40613352565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c3891166130ce565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c6a929004166130ce565b905292915050565b5f825f190484118302158202612c86575f80fd5b50910281810615159190040190565b5f80612ca5888888888888613142565b909250905080611d2457611d246113ec565b5f818313612cc5578161157d565b5090919050565b5f80612ca588888888888861321e565b5f805f83612ce986611321565b612cf39190613428565b90505f811215612d09575f809250925050612d10565b9150600190505b9250929050565b5f808213612d385760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612dbb9084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612f5557505f919050565b680755bf798b4a1bf1e58212612f7e576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061273a74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130e16105ab565b6130eb9190613625565b90508083116130fa575f613104565b61310481846135b7565b915061157d61313b670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613625565b8390612758565b5f805f61315289898888886132da565b905086881015613168575f809250925050613213565b968690039661317788876126d5565b97508781101561318d575f809250925050613213565b87810361319b818688612c72565b9050670de0b6b3a764000081106131cf576131c86131c1670de0b6b3a764000089612744565b82906126d5565b90506131e7565b6131e46131c1670de0b6b3a764000089612758565b90505b6131f18186612744565b905089811015613208575f80935093505050613213565b899003925060019150505b965096945050505050565b5f805f61322e89898888886132da565b905061323e86611a39898b613415565b975087811015613254575f809250925050613213565b878103613262818688612c72565b9050670de0b6b3a7640000811061328f576132886131c1670de0b6b3a764000089612744565b90506132a7565b6132a46131c1670de0b6b3a764000089612758565b90505b6132b18186612744565b9050808a10156132c8575f80935093505050613213565b90980398600198509650505050505050565b5f6132e585856126d5565b6132fe6132f686611a39868b61252e565b859085612c72565b6124859190613415565b60405180610120016040528061331c613352565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156133ba575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156133e5575f80fd5b8501606081880312156133f6575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613401565b8181035f8312801583831316838312821617156126ce576126ce613401565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561346b575f80fd5b813561157d81613447565b8015158114610591575f80fd5b5f60208284031215613493575f80fd5b813561157d81613476565b5f808335601e198436030181126134b3575f80fd5b83018035915067ffffffffffffffff8211156134cd575f80fd5b602001915036819003821315612d10575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61354260e0830184866134e1565b9a9950505050505050505050565b8082018281125f83128015821682158216171561356f5761356f613401565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6135aa60c0830184866134e1565b9998505050505050505050565b8181038181111561131b5761131b613401565b6001600160701b038181168382160190808211156126ce576126ce613401565b6001600160801b038181168382160190808211156126ce576126ce613401565b5f6020828403121561361a575f80fd5b815161157d81613447565b808202811582820484141761131b5761131b613401565b6001600160801b038281168282160390808211156126ce576126ce613401565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613401565b5f60208284031215613699575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826136c2576136c26136a0565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137588285516136c7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f80604083850312156137cb575f80fd5b505080516020909101519092909150565b5f600160ff1b82016137f0576137f0613401565b505f0390565b610180810161131b82846136c7565b5f8060408385031215613816575f80fd5b82519150602083015161382881613476565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613855576138556136a0565b600160ff1b82145f198414161561386e5761386e613401565b500590565b5f805f8060808587031215613886575f80fd5b84519350602085015192506040850151915060608501516133f68161347656fea264697066735822122028bac119ff6a81c135cd345078ef9cf512a9be0e5a530a95d9745ae8b9952f1864736f6c63430008160033a2646970667358221220047dbbfc243edeaf30514802f02b8d578cfae0a57b88026da62816695123b12464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget2.ts b/packages/hyperdrive-artifacts/src/StETHTarget2.ts new file mode 100644 index 000000000..931cb6e9b --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget2.ts @@ -0,0 +1,967 @@ +export const StETHTarget2 = { + name: 'StETHTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003f2338038062003f238339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8d620004965f395f50505f50505f8181610bf701526116fa01525f50505f818160f1015281816102f20152612d4401525f818161151301528181611dc801528181611e2b015281816125b2015281816129340152818161297001528181612b610152612d1e01525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612cf801525f6119f201525f8181611b13015281816126a30152818161271b0152612e5c01525f818161097201528181610e06015281816113e401528181611ae701526126ef01525f8181610de50152818161266f0152612e1801525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d6a01525f81816101cb01528181610386015281816108b001526132e001525f8181610676015281816106f20152818161076601528181610831015261086901525f818161144b015281816116ca015261180d01525f5050613a8d5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613558565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613558565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b591906135c6565b909155506101c69050844283610ee2565b6101f07f0000000000000000000000000000000000000000000000000000000000000000856135c6565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e6135ed565b8b6111e6565b8d8a8a898e8561023660208301836135ed565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613615565b8961028160408a018a613630565b604051610294979695949392919061369b565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f0000000000000000000000000000000000000000000000000000000000000000846135c6565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da9084906135c6565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b6104089060016135c6565b9350505f61041784898d6114bc565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b896114ed565b5f6104606002886111b2565b90508c61047a8261047460208401846135ed565b856111e6565b858b868461048b60208601866135ed565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613615565b6104dc896104d68a8d6136db565b90610652565b8d6104ea60408e018e613630565b6040516104fe9897969594939291906136ee565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61055760208301836135ed565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613615565b156105b9576105af856105aa6040870187613630565b6116a0565b90935090506105d1565b50346105d1856105cc6040870187613630565b6117eb565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611885565b90505b92915050565b5f61069a427f00000000000000000000000000000000000000000000000000000000000000006118a0565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b6135c6565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a06118b5565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b92505b50610807836118f4565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b6136db565b8a84610ee2565b61089b8961089561088e7f0000000000000000000000000000000000000000000000000000000000000000836135c6565b4290611921565b84610ee2565b6108a488611935565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d6136db565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611ad2565b915091508060095f82825461094191906135c6565b9091555061095c9050865f8461095681611b9f565b88611bc8565b61096681836135c6565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d3f565b91506109aa6109a58385610652565b611d88565b600680546002906109cb9084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118f4565b60068054601090610a1a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611ad2565b915091508060095f828254610a8d91906135c6565b90915550610aa89050835f84610aa281611b9f565b8a611db1565b610ab281836136db565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118f4565b60068054601090610b31908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b9f565b610b7383611b9f565b610b7d9190613775565b5f611fa1565b8e610b8e8482611fe0565b50505b5f610b9b846121cf565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613794565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612311565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d106118b5565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612397565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123c2565b612426565b15610e3c57610e3c612467565b610e4887858885612480565b91965094509250670de0b6b3a7640000610eca610e6587846135c6565b600254610e83908890600160801b90046001600160801b03166136db565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b1115610ed857610ed8612467565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e88866136db565b610f8891906137af565b85670de0b6b3a7640000610f9c878a6136db565b610fa691906137af565b8592919060016124c8565b6118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118f4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a7640000866137af565b6005546001600160801b031691908860016124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118f4565b600280545f906110a09084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118f4565b600280546010906110ef908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118f4565b6111269082613755565b600380546001600160801b03808416600160801b02911617905590505f61114c8361256c565b905061116a8161115b87611b9f565b61116590846137e6565b611fa1565b611173846125ac565b61117f5761117f612467565b5f6111898561260b565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112179084906135c6565b90915550505f838152600b6020526040812080548392906112399084906135c6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa6118b5565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612617565b93508761131c8589612637565b111561132a5761132a612467565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b93506113a48a670de0b6b3a7640000868c61264b565b509193509091506113b7905081836136db565b6113c190876136db565b95508861140e816114088d6113d6868c6136db565b8d6113e18782612757565b877f000000000000000000000000000000000000000000000000000000000000000061276c565b90612637565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461278c565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015611498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061380d565b5f6114cd6040830160208401613615565b156114d95750826114e6565b6114e384846127af565b90505b9392505050565b6002546001600160801b03168381101561150957611509612467565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611541908390600f0b6127c3565b101561154f5761154f612467565b60045461159990610fb190600160801b90046001600160801b031661157c670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908960016124c8565b600580546001600160801b03928316600160801b0292169190911790556115bf816118f4565b600280546001600160801b0319166001600160801b03929092169190911790556115e8856118f4565b6002805460109061160a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611637856118f4565b60048054601090611659908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116878361256c565b905061116a8161169688611b9f565b6111659084613775565b5f80843410156116c3576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611754573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117789190613794565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117bb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117e0919061380d565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af115801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f919061380d565b50505050565b5f825f190484118302158202611899575f80fd5b5091020490565b5f6118ab8284613838565b61066690846136db565b6002546004545f9161069a916001600160801b0390911690600f0b6127c3565b5f6118eb826118e5858888611885565b906127e8565b95945050505050565b5f6001600160801b0382111561191d57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161192f5782610666565b50919050565b6006545f908190611957908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611acd575f61198083836136db565b905061198f610fb1828661141f565b600680546010906119b1908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6119e985836127af90919063ffffffff16565b90505f611a16827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f828254611a2991906135c6565b90915550611a39905081836136db565b9150611a44826118f4565b600280545f90611a5e9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a8b8261284d565b600480545f90611a9f908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ade87856127af565b91505f611b0b837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611b37817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b5a57611b4982826136db565b611b5390846136db565b9250611b71565b611b6482826136db565b611b6e90846135c6565b92505b86861015611b9457611b84838789611885565b9250611b91828789611885565b91505b509550959350505050565b5f6001600160ff1b0382111561191d5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c10610fb182611bf4670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908a5f6124c8565b600580546001600160801b03928316600160801b029216919091179055611c36866118f4565b611c4090826137c6565b600480546001600160801b03928316600160801b029216919091179055611c66846118f4565b600280545f90611c809084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cad83612876565b600480545f90611cc1908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611cf1856118f4565b60028054601090611d13908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d5684611d508a888a611885565b906127af565b9050611d63888486611885565b611d6d90826135c6565b905086811115611d7d5786810391505b509695505050505050565b5f6001600160701b0382111561191d5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611df357507f0000000000000000000000000000000000000000000000000000000000000000611df185836136db565b105b15611e0057611e00612467565b6004549084900390600f0b611e158482613775565b905083611e2186611b9f565b138015611e5657507f0000000000000000000000000000000000000000000000000000000000000000611e5483836127c3565b105b15611e6357611e63612467565b600354600160801b90046001600160801b0316611ea4610fb182611e8f670de0b6b3a7640000886137af565b6005546001600160801b031691908c5f6124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611ece88826136db565b9050611ed9816118f4565b600380546001600160801b03928316600160801b029216919091179055611eff836118f4565b600280546001600160801b0319166001600160801b0392909216919091179055611f2882612876565b600480546001600160801b0319166001600160801b0392909216919091179055611f51876118f4565b60028054601090611f73908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fbc90610fb1906001600160801b031684846128b1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161202a916001600160801b0316906136db565b9050805f0361203d576001915050610669565b5f61204785612913565b9050805f0361205b57600192505050610669565b5f806120688385896129ae565b915091508061207d575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120b89291906138f6565b6040805180830381865af41580156120d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f6919061396b565b9150915061211461210682611b9f565b61210f9061398d565b612b1b565b925082612129575f9650505050505050610669565b612132826118f4565b600780545f9061214c9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612179816118f4565b6007805460109061219b908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121f687612caf565b6040518263ffffffff1660e01b815260040161221291906139a7565b6040805180830381865af415801561222c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225091906139b6565b915091508061226557505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122ca916135c6565b6122d491906136db565b9050805f036122ea57505f958695509350505050565b5f8087116122f8575f612303565b612303848884611885565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612334576123346139e4565b6040519080825280601f01601f19166020018201604052801561235e576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561237e578692505b828152825f602083013e90999098509650505050505050565b5f6123b78787876123b088670de0b6b3a76400006136db565b8787612de9565b979650505050505050565b5f6114e36124026123db84670de0b6b3a76400006136db565b611408670de0b6b3a76400006123f1818a61141f565b6123fb91906136db565b8790612637565b61241490670de0b6b3a76400006135c6565b611d5084670de0b6b3a76400006136db565b5f8061245c856124346118b5565b61243e91906135c6565b600254610e83908790600160801b90046001600160801b03166136db565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612490898789612e0b565b909250905061249f82896136db565b97505f6124ad82888a611885565b90506124b9818b6136db565b9a989950979650505050505050565b5f825f036124d75750846118eb565b8115612529576125086124ea84876135c6565b6124f48587610652565b6124fe888a610652565b611d5091906135c6565b90505f6125158588611921565b905080821015612523578091505b506118eb565b82850361253757505f6118eb565b61256261254484876136db565b61254e8587612637565b612558888a610652565b611d5091906136db565b9695505050505050565b5f612591600b5f61257e6002866111b2565b81526020019081526020015f2054611b9f565b6125a2600b5f61257e6001876111b2565b6106699190613775565b5f6125d77f000000000000000000000000000000000000000000000000000000000000000083612637565b6003546125ed91906001600160801b03166135c6565b600254612603906001600160801b031684610652565b101592915050565b5f610669826004611fe0565b5f6123b787878761263088670de0b6b3a76400006136db565b8787612e8a565b5f6106668383670de0b6b3a764000061278c565b5f80808061269b87866126948b61140861266d8c670de0b6b3a76400006136db565b7f000000000000000000000000000000000000000000000000000000000000000090612637565b919061278c565b93506126c7847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f6126e76126df89670de0b6b3a76400006136db565b8a908861278c565b9050612713817f0000000000000000000000000000000000000000000000000000000000000000612637565b935061273f847f0000000000000000000000000000000000000000000000000000000000000000610652565b61274990846135c6565b915050945094509450949050565b5f8183116127655781610666565b5090919050565b5f806127838461277d8a888a61278c565b9061141f565b9050611d638884865b5f825f1904841183021582026127a0575f80fd5b50910281810615159190040190565b5f61066683670de0b6b3a764000084611885565b5f806127cf8484612e9a565b9092509050806127e1576127e1612467565b5092915050565b5f815f036127ff5750670de0b6b3a7640000610669565b825f0361280d57505f610669565b5f61281783611b9f565b90505f61282b61282686611b9f565b612ed2565b9050818102612842670de0b6b3a7640000826139f8565b9050612562816130f7565b5f60016001607f1b0382111561191d5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612893575060016001607f1b0382135b1561191d5760405163a5353be560e01b815260040160405180910390fd5b5f806128bd845f613289565b6128c7845f613289565b6128d19190613775565b90505f8113156128ec576128e581866135c6565b945061290a565b5f81121561290a576128fd8161398d565b61290790866136db565b94505b50929392505050565b6003545f90819061292d906001600160801b03168461141f565b90506129597f0000000000000000000000000000000000000000000000000000000000000000826135c6565b6002546001600160801b0316111561192f576002547f0000000000000000000000000000000000000000000000000000000000000000906129a49083906001600160801b03166136db565b6114e691906136db565b6129b66134b9565b5f806129c184612caf565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129fb91906139a7565b6040805180830381865af4158015612a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3991906139b6565b9350905082612a4d57505f91506117e39050565b5f612a73612a6e84610160015185610140015161065290919063ffffffff16565b611b9f565b612a93612a6e85610120015186610100015161263790919063ffffffff16565b612a9d9190613775565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bd1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf59190613a24565b935093509350935080612c1057505f98975050505050505050565b868414612c4157612c20846118f4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c7257612c5183612876565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ca057612c82826118f4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cb7613503565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612daf9116613297565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612de192900416613297565b905292915050565b5f80612df988888888888861330b565b909250905080611d7d57611d7d612467565b5f80612e548561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e4a818c61141f565b61140891906136db565b9150612e80827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612df98888888888886133cf565b5f805f83612ea786611b9f565b612eb19190613775565b90505f811215612ec7575f80925092505061064b565b946001945092505050565b5f808213612ef35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f769084901c611b9f565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361311057505f919050565b680755bf798b4a1bf1e58212613139576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061256274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b9f565b5f8183136127655781610666565b5f80670de0b6b3a76400006132aa61066f565b6132b491906137af565b90508083116132c3575f6132cd565b6132cd81846136db565b91506114e6613304670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137af565b83906127af565b5f805f61331b898988888861348b565b9050613335866118e561332e8a8d6135c6565b8790610652565b9850613342858a86611885565b985088811015613358575f8092509250506133c4565b888103670de0b6b3a7640000811061338d5761338661337f670de0b6b3a76400008961141f565b82906127e8565b90506133a5565b6133a261337f670de0b6b3a7640000896127af565b90505b808910156133ba575f809350935050506133c4565b8803925060019150505b965096945050505050565b5f805f6133df898988888861348b565b90506133ef866118e5898b6135c6565b975087811015613405575f8092509250506133c4565b87810361341381868861278c565b9050670de0b6b3a764000081106134405761343961337f670de0b6b3a76400008961141f565b9050613458565b61345561337f670de0b6b3a7640000896127af565b90505b613462818661141f565b9050808a1015613479575f809350935050506133c4565b90980398600198509650505050505050565b5f61349685856127e8565b6134af6134a7866118e5868b612637565b85908561278c565b61256291906135c6565b6040518061012001604052806134cd613503565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561356b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613596575f80fd5b8501606081880312156135a7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610669576106696135b2565b6001600160a01b038116811461057e575f80fd5b5f602082840312156135fd575f80fd5b81356114e6816135d9565b801515811461057e575f80fd5b5f60208284031215613625575f80fd5b81356114e681613608565b5f808335601e19843603018112613645575f80fd5b83018035915067ffffffffffffffff82111561365f575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136ce60c083018486613673565b9998505050505050505050565b81810381811115610669576106696135b2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61372760e083018486613673565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127e1576127e16135b2565b6001600160801b038181168382160190808211156127e1576127e16135b2565b8181035f8312801583831316838312821617156127e1576127e16135b2565b5f602082840312156137a4575f80fd5b81516114e6816135d9565b8082028115828204841417610669576106696135b2565b6001600160801b038281168282160390808211156127e1576127e16135b2565b8082018281125f831280158216821582161715613805576138056135b2565b505092915050565b5f6020828403121561381d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261384657613846613824565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610669576106696135b2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613909828551613878565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561397c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a1576139a16135b2565b505f0390565b61018081016106698284613878565b5f80604083850312156139c7575f80fd5b8251915060208301516139d981613608565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a0657613a06613824565b600160ff1b82145f1984141615613a1f57613a1f6135b2565b500590565b5f805f8060808587031215613a37575f80fd5b84519350602085015192506040850151915060608501516135a78161360856fea26469706673582212204b0f5c410487b49731b8a68b5623f369dfbe74c911b1098ff8614c700245147e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/StETHTarget2Deployer.ts new file mode 100644 index 000000000..c70ff59a1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const StETHTarget2Deployer = { + name: 'StETHTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506143fb8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613f23806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003f2338038062003f238339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a8d620004965f395f50505f50505f8181610bf701526116fa01525f50505f818160f1015281816102f20152612d4401525f818161151301528181611dc801528181611e2b015281816125b2015281816129340152818161297001528181612b610152612d1e01525f81816107b501528181610d5101528181610d9301528181610e85015281816112eb015281816113490152612cf801525f6119f201525f8181611b13015281816126a30152818161271b0152612e5c01525f818161097201528181610e06015281816113e401528181611ae701526126ef01525f8181610de50152818161266f0152612e1801525f81816107d601528181610d2f01528181610db401528181610ea6015281816112c90152818161136a0152612d6a01525f81816101cb01528181610386015281816108b001526132e001525f8181610676015281816106f20152818161076601528181610831015261086901525f818161144b015281816116ca015261180d01525f5050613a8d5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613558565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613558565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102b4565b5f8061009f610521565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d183610549565b5f806100dd8886610581565b90925090505f6100ed8383610652565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101305760405163211ddda360e11b815260040160405180910390fd5b86821015610151576040516342af972b60e01b815260040160405180910390fd5b5f61015a61066f565b905061016a81846004600161069f565b505f805f6101788787610d03565b919a5091945090925090508b8810156101a45760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101b591906135c6565b909155506101c69050844283610ee2565b6101f07f0000000000000000000000000000000000000000000000000000000000000000856135c6565b98506101fe8389888c61101b565b5f61020a60018b6111b2565b90506102238161021d60208e018e6135ed565b8b6111e6565b8d8a8a898e8561023660208301836135ed565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a8688866102736040880160208901613615565b8961028160408a018a613630565b604051610294979695949392919061369b565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102be610521565b600654610100900460ff16156102e7576040516321081abf60e01b815260040160405180910390fd5b6102f083610549565b7f00000000000000000000000000000000000000000000000000000000000000008610156103315760405163211ddda360e11b815260040160405180910390fd5b5f61033a61128b565b90508481101561035d576040516342af972b60e01b815260040160405180910390fd5b5f61036661066f565b90505f61037e61037461066f565b846004600161069f565b90505f6103ab7f0000000000000000000000000000000000000000000000000000000000000000846135c6565b90505f805f806103bc8e898861129d565b60098054949850929650909450925083915f906103da9084906135c6565b909155506103eb9050874283610ee2565b6103fd6103f8858a61141f565b611433565b6104089060016135c6565b9350505f61041784898d6114bc565b9050808d101561043a5760405163c972651760e01b815260040160405180910390fd5b610444818c610581565b508e905061045481858b896114ed565b5f6104606002886111b2565b90508c61047a8261047460208401846135ed565b856111e6565b858b868461048b60208601866135ed565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104c860408b0160208c01613615565b6104dc896104d68a8d6136db565b90610652565b8d6104ea60408e018e613630565b6040516104fe9897969594939291906136ee565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361054357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61055760208301836135ed565b6001600160a01b03160361057e5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105946040850160208601613615565b156105b9576105af856105aa6040870187613630565b6116a0565b90935090506105d1565b50346105d1856105cc6040870187613630565b6117eb565b6105d961128b565b91508015610649576040515f90339083908381818185875af1925050503d805f8114610620576040519150601f19603f3d011682016040523d82523d5f602084013e610625565b606091505b5050905080610647576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106668383670de0b6b3a7640000611885565b90505b92915050565b5f61069a427f00000000000000000000000000000000000000000000000000000000000000006118a0565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106c657504286115b156106df57600101546001600160801b03169050610cfb565b5f805f6106ea61066f565b90505f6107177f00000000000000000000000000000000000000000000000000000000000000008b6135c6565b90505b8181101561078b575f818152600860205260409020600101546001600160801b03168015610763575f828152600860205260409020549094506001600160801b0316925061078b565b507f00000000000000000000000000000000000000000000000000000000000000000161071a565b835f036107fd578893506107fa6107a06118b5565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b92505b50610807836118f4565b6001850180546001600160801b0319166001600160801b039290921691909117905561085d6108567f00000000000000000000000000000000000000000000000000000000000000008b6136db565b8a84610ee2565b61089b8961089561088e7f0000000000000000000000000000000000000000000000000000000000000000836135c6565b4290611921565b84610ee2565b6108a488611935565b505f90506008816108d57f00000000000000000000000000000000000000000000000000000000000000008d6136db565b815260208101919091526040015f908120600101546001600160801b0316915061090060028c6111b2565b5f818152600b60205260408120549192508c8c8315610a4157600192505f8061092c86898d865f611ad2565b915091508060095f82825461094191906135c6565b9091555061095c9050865f8461095681611b9f565b88611bc8565b61096681836135c6565b915061099686838a8e877f0000000000000000000000000000000000000000000000000000000000000000611d3f565b91506109aa6109a58385610652565b611d88565b600680546002906109cb9084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506109f8826118f4565b60068054601090610a1a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a4d6001846111b2565b5f818152600b60205260409020549091508015610b5857600194505f80610a78838b8f886001611ad2565b915091508060095f828254610a8d91906135c6565b90915550610aa89050835f84610aa281611b9f565b8a611db1565b610ab281836136db565b9150610ac16109a58387610652565b60068054600290610ae29084906201000090046001600160701b0316613735565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b0f826118f4565b60068054601090610b31908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610b9157610b83610b6a87611b9f565b610b7383611b9f565b610b7d9190613775565b5f611fa1565b8e610b8e8482611fe0565b50505b5f610b9b846121cf565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c759190613794565b90506001600160a01b03811615610ce957610ce65a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612311565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d106118b5565b600254909150610d75908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612397565b600254909450610dd8908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b9150610e2f8785610e2a857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006123c2565b612426565b15610e3c57610e3c612467565b610e4887858885612480565b91965094509250670de0b6b3a7640000610eca610e6587846135c6565b600254610e83908890600160801b90046001600160801b03166136db565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b1115610ed857610ed8612467565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f0d5750505050565b5f848152600860205260408120546001600160801b031690819003610f6557610f35836118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055610fe2565b610fb6610fb1670de0b6b3a7640000610f7e88866136db565b610f8891906137af565b85670de0b6b3a7640000610f9c878a6136db565b610fa691906137af565b8592919060016124c8565b6118f4565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b610feb846118f4565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661105d610fb182611047670de0b6b3a7640000866137af565b6005546001600160801b031691908860016124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611086856118f4565b600280545f906110a09084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110cd846118f4565b600280546010906110ef908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061111c846118f4565b6111269082613755565b600380546001600160801b03808416600160801b02911617905590505f61114c8361256c565b905061116a8161115b87611b9f565b61116590846137e6565b611fa1565b611173846125ac565b61117f5761117f612467565b5f6111898561260b565b9050806111a957604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b038211156111db5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906112179084906135c6565b90915550505f838152600b6020526040812080548392906112399084906135c6565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f61069a670de0b6b3a7640000611433565b5f805f805f6112aa6118b5565b60025490915061130f908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612617565b93508761131c8589612637565b111561132a5761132a612467565b6002545f90819061138e908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006118d5565b93506113a48a670de0b6b3a7640000868c61264b565b509193509091506113b7905081836136db565b6113c190876136db565b95508861140e816114088d6113d6868c6136db565b8d6113e18782612757565b877f000000000000000000000000000000000000000000000000000000000000000061276c565b90612637565b975090945050505093509350935093565b5f61066683670de0b6b3a76400008461278c565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015611498573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610669919061380d565b5f6114cd6040830160208401613615565b156114d95750826114e6565b6114e384846127af565b90505b9392505050565b6002546001600160801b03168381101561150957611509612467565b60045490849003907f000000000000000000000000000000000000000000000000000000000000000090611541908390600f0b6127c3565b101561154f5761154f612467565b60045461159990610fb190600160801b90046001600160801b031661157c670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908960016124c8565b600580546001600160801b03928316600160801b0292169190911790556115bf816118f4565b600280546001600160801b0319166001600160801b03929092169190911790556115e8856118f4565b6002805460109061160a908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611637856118f4565b60048054601090611659908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116878361256c565b905061116a8161169688611b9f565b6111659084613775565b5f80843410156116c3576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611754573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117789190613794565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af11580156117bb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906117e0919061380d565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af115801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f919061380d565b50505050565b5f825f190484118302158202611899575f80fd5b5091020490565b5f6118ab8284613838565b61066690846136db565b6002546004545f9161069a916001600160801b0390911690600f0b6127c3565b5f6118eb826118e5858888611885565b906127e8565b95945050505050565b5f6001600160801b0382111561191d57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f81831161192f5782610666565b50919050565b6006545f908190611957908490600160801b90046001600160801b0316610652565b6006546201000090046001600160701b03169250905081811115611acd575f61198083836136db565b905061198f610fb1828661141f565b600680546010906119b1908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6119e985836127af90919063ffffffff16565b90505f611a16827f0000000000000000000000000000000000000000000000000000000000000000610652565b90508060095f828254611a2991906135c6565b90915550611a39905081836136db565b9150611a44826118f4565b600280545f90611a5e9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611a8b8261284d565b600480545f90611a9f908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ade87856127af565b91505f611b0b837f0000000000000000000000000000000000000000000000000000000000000000610652565b9050611b37817f0000000000000000000000000000000000000000000000000000000000000000610652565b91508315611b5a57611b4982826136db565b611b5390846136db565b9250611b71565b611b6482826136db565b611b6e90846135c6565b92505b86861015611b9457611b84838789611885565b9250611b91828789611885565b91505b509550959350505050565b5f6001600160ff1b0382111561191d5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611c10610fb182611bf4670de0b6b3a7640000866137af565b600554600160801b90046001600160801b031691908a5f6124c8565b600580546001600160801b03928316600160801b029216919091179055611c36866118f4565b611c4090826137c6565b600480546001600160801b03928316600160801b029216919091179055611c66846118f4565b600280545f90611c809084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611cad83612876565b600480545f90611cc1908490600f0b61384b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611cf1856118f4565b60028054601090611d13908490600160801b90046001600160801b03166137c6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611d5684611d508a888a611885565b906127af565b9050611d63888486611885565b611d6d90826135c6565b905086811115611d7d5786810391505b509695505050505050565b5f6001600160701b0382111561191d5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611df357507f0000000000000000000000000000000000000000000000000000000000000000611df185836136db565b105b15611e0057611e00612467565b6004549084900390600f0b611e158482613775565b905083611e2186611b9f565b138015611e5657507f0000000000000000000000000000000000000000000000000000000000000000611e5483836127c3565b105b15611e6357611e63612467565b600354600160801b90046001600160801b0316611ea4610fb182611e8f670de0b6b3a7640000886137af565b6005546001600160801b031691908c5f6124c8565b600580546001600160801b0319166001600160801b0392909216919091179055611ece88826136db565b9050611ed9816118f4565b600380546001600160801b03928316600160801b029216919091179055611eff836118f4565b600280546001600160801b0319166001600160801b0392909216919091179055611f2882612876565b600480546001600160801b0319166001600160801b0392909216919091179055611f51876118f4565b60028054601090611f73908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611fbc90610fb1906001600160801b031684846128b1565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161202a916001600160801b0316906136db565b9050805f0361203d576001915050610669565b5f61204785612913565b9050805f0361205b57600192505050610669565b5f806120688385896129ae565b915091508061207d575f945050505050610669565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016120b89291906138f6565b6040805180830381865af41580156120d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f6919061396b565b9150915061211461210682611b9f565b61210f9061398d565b612b1b565b925082612129575f9650505050505050610669565b612132826118f4565b600780545f9061214c9084906001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612179816118f4565b6007805460109061219b908490600160801b90046001600160801b0316613755565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6121f687612caf565b6040518263ffffffff1660e01b815260040161221291906139a7565b6040805180830381865af415801561222c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225091906139b6565b915091508061226557505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916122ca916135c6565b6122d491906136db565b9050805f036122ea57505f958695509350505050565b5f8087116122f8575f612303565b612303848884611885565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612334576123346139e4565b6040519080825280601f01601f19166020018201604052801561235e576020820181803683370190505b5090505f808751602089018b8e8ef191503d92508683111561237e578692505b828152825f602083013e90999098509650505050505050565b5f6123b78787876123b088670de0b6b3a76400006136db565b8787612de9565b979650505050505050565b5f6114e36124026123db84670de0b6b3a76400006136db565b611408670de0b6b3a76400006123f1818a61141f565b6123fb91906136db565b8790612637565b61241490670de0b6b3a76400006135c6565b611d5084670de0b6b3a76400006136db565b5f8061245c856124346118b5565b61243e91906135c6565b600254610e83908790600160801b90046001600160801b03166136db565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612490898789612e0b565b909250905061249f82896136db565b97505f6124ad82888a611885565b90506124b9818b6136db565b9a989950979650505050505050565b5f825f036124d75750846118eb565b8115612529576125086124ea84876135c6565b6124f48587610652565b6124fe888a610652565b611d5091906135c6565b90505f6125158588611921565b905080821015612523578091505b506118eb565b82850361253757505f6118eb565b61256261254484876136db565b61254e8587612637565b612558888a610652565b611d5091906136db565b9695505050505050565b5f612591600b5f61257e6002866111b2565b81526020019081526020015f2054611b9f565b6125a2600b5f61257e6001876111b2565b6106699190613775565b5f6125d77f000000000000000000000000000000000000000000000000000000000000000083612637565b6003546125ed91906001600160801b03166135c6565b600254612603906001600160801b031684610652565b101592915050565b5f610669826004611fe0565b5f6123b787878761263088670de0b6b3a76400006136db565b8787612e8a565b5f6106668383670de0b6b3a764000061278c565b5f80808061269b87866126948b61140861266d8c670de0b6b3a76400006136db565b7f000000000000000000000000000000000000000000000000000000000000000090612637565b919061278c565b93506126c7847f0000000000000000000000000000000000000000000000000000000000000000610652565b91505f6126e76126df89670de0b6b3a76400006136db565b8a908861278c565b9050612713817f0000000000000000000000000000000000000000000000000000000000000000612637565b935061273f847f0000000000000000000000000000000000000000000000000000000000000000610652565b61274990846135c6565b915050945094509450949050565b5f8183116127655781610666565b5090919050565b5f806127838461277d8a888a61278c565b9061141f565b9050611d638884865b5f825f1904841183021582026127a0575f80fd5b50910281810615159190040190565b5f61066683670de0b6b3a764000084611885565b5f806127cf8484612e9a565b9092509050806127e1576127e1612467565b5092915050565b5f815f036127ff5750670de0b6b3a7640000610669565b825f0361280d57505f610669565b5f61281783611b9f565b90505f61282b61282686611b9f565b612ed2565b9050818102612842670de0b6b3a7640000826139f8565b9050612562816130f7565b5f60016001607f1b0382111561191d5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612893575060016001607f1b0382135b1561191d5760405163a5353be560e01b815260040160405180910390fd5b5f806128bd845f613289565b6128c7845f613289565b6128d19190613775565b90505f8113156128ec576128e581866135c6565b945061290a565b5f81121561290a576128fd8161398d565b61290790866136db565b94505b50929392505050565b6003545f90819061292d906001600160801b03168461141f565b90506129597f0000000000000000000000000000000000000000000000000000000000000000826135c6565b6002546001600160801b0316111561192f576002547f0000000000000000000000000000000000000000000000000000000000000000906129a49083906001600160801b03166136db565b6114e691906136db565b6129b66134b9565b5f806129c184612caf565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b81526004016129fb91906139a7565b6040805180830381865af4158015612a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a3991906139b6565b9350905082612a4d57505f91506117e39050565b5f612a73612a6e84610160015185610140015161065290919063ffffffff16565b611b9f565b612a93612a6e85610120015186610100015161263790919063ffffffff16565b612a9d9190613775565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bd1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf59190613a24565b935093509350935080612c1057505f98975050505050505050565b868414612c4157612c20846118f4565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c7257612c5183612876565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612ca057612c82826118f4565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cb7613503565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612daf9116613297565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612de192900416613297565b905292915050565b5f80612df988888888888861330b565b909250905080611d7d57611d7d612467565b5f80612e548561140885817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e4a818c61141f565b61140891906136db565b9150612e80827f0000000000000000000000000000000000000000000000000000000000000000610652565b9050935093915050565b5f80612df98888888888886133cf565b5f805f83612ea786611b9f565b612eb19190613775565b90505f811215612ec7575f80925092505061064b565b946001945092505050565b5f808213612ef35760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612f769084901c611b9f565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361311057505f919050565b680755bf798b4a1bf1e58212613139576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061256274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b9f565b5f8183136127655781610666565b5f80670de0b6b3a76400006132aa61066f565b6132b491906137af565b90508083116132c3575f6132cd565b6132cd81846136db565b91506114e6613304670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137af565b83906127af565b5f805f61331b898988888861348b565b9050613335866118e561332e8a8d6135c6565b8790610652565b9850613342858a86611885565b985088811015613358575f8092509250506133c4565b888103670de0b6b3a7640000811061338d5761338661337f670de0b6b3a76400008961141f565b82906127e8565b90506133a5565b6133a261337f670de0b6b3a7640000896127af565b90505b808910156133ba575f809350935050506133c4565b8803925060019150505b965096945050505050565b5f805f6133df898988888861348b565b90506133ef866118e5898b6135c6565b975087811015613405575f8092509250506133c4565b87810361341381868861278c565b9050670de0b6b3a764000081106134405761343961337f670de0b6b3a76400008961141f565b9050613458565b61345561337f670de0b6b3a7640000896127af565b90505b613462818661141f565b9050808a1015613479575f809350935050506133c4565b90980398600198509650505050505050565b5f61349685856127e8565b6134af6134a7866118e5868b612637565b85908561278c565b61256291906135c6565b6040518061012001604052806134cd613503565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561356b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613596575f80fd5b8501606081880312156135a7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610669576106696135b2565b6001600160a01b038116811461057e575f80fd5b5f602082840312156135fd575f80fd5b81356114e6816135d9565b801515811461057e575f80fd5b5f60208284031215613625575f80fd5b81356114e681613608565b5f808335601e19843603018112613645575f80fd5b83018035915067ffffffffffffffff82111561365f575f80fd5b60200191503681900382131561064b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f6136ce60c083018486613673565b9998505050505050505050565b81810381811115610669576106696135b2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61372760e083018486613673565b9a9950505050505050505050565b6001600160701b038181168382160190808211156127e1576127e16135b2565b6001600160801b038181168382160190808211156127e1576127e16135b2565b8181035f8312801583831316838312821617156127e1576127e16135b2565b5f602082840312156137a4575f80fd5b81516114e6816135d9565b8082028115828204841417610669576106696135b2565b6001600160801b038281168282160390808211156127e1576127e16135b2565b8082018281125f831280158216821582161715613805576138056135b2565b505092915050565b5f6020828403121561381d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261384657613846613824565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610669576106696135b2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613909828551613878565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561397c575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139a1576139a16135b2565b505f0390565b61018081016106698284613878565b5f80604083850312156139c7575f80fd5b8251915060208301516139d981613608565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613a0657613a06613824565b600160ff1b82145f1984141615613a1f57613a1f6135b2565b500590565b5f805f8060808587031215613a37575f80fd5b84519350602085015192506040850151915060608501516135a78161360856fea26469706673582212204b0f5c410487b49731b8a68b5623f369dfbe74c911b1098ff8614c700245147e64736f6c63430008160033a26469706673582212208f9663bcdb18f79e2a6bdcfc71bc2be7938aeeae1f292f0056aa41a60f2b68cb64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget3.ts b/packages/hyperdrive-artifacts/src/StETHTarget3.ts new file mode 100644 index 000000000..0aafd031a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget3.ts @@ -0,0 +1,987 @@ +export const StETHTarget3 = { + name: 'StETHTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003eb838038062003eb88339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a11620004a75f395f50505f50505f818161127a015261197501525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161211a0152818161217d01528181612a2601528181612d7d0152612db901525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d2b01525f8181611e80015261300801525f8181610ff50152611e5401525f612fbe01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129bc01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f818161194501528181611a880152612c1401525f5050613a115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134b1565b610064565b60405190815260200160405180910390f35b61003f61005f366004613510565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b613570565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f000000000000000000000000000000000000000000000000000000000000000089613583565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f000000000000000000000000000000000000000000000000000000000000000082613570565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f000000000000000000000000000000000000000000000000000000000000000082613583565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b0390911690613583565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610417908390613570565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613614565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613623565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613614565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613623565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a84836105838187613583565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e919061364e565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c9190613570565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b9050610756602085018561364e565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b01613676565b866107a160408c018c613691565b6040516107b497969594939291906136d4565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613727565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610995919061373e565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c61364e565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b03602082018261364e565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b406040870160208801613676565b87610b4e6040890189613691565b604051610b6197969594939291906136d4565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb2602083018361364e565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c396040850160208601613676565b15610c5e57610c5485610c4f6040870187613691565b61191b565b9093509050610c76565b5034610c7685610c716040870187613691565b611a66565b610c7e611b00565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b12565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b613570565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b613583565b8a84611b27565b610f1e89610f18610f117f000000000000000000000000000000000000000000000000000000000000000083613570565b4290611c60565b84611b27565b610f2788611c6e565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d613583565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e0b565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e3f565b915091508060095f828254610fc49190613570565b90915550610fdf9050865f84610fd981611735565b88611f0c565b610fe98183613570565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612083565b915061102d61102883856120c6565b6120da565b6006805460029061104e9084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e0b565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e3f565b915091508060095f8282546111109190613570565b9091555061112b9050835f8461112581611735565b8a612103565b6111358183613583565b915061114461102883876120c6565b600680546002906111659084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b61120091906137a9565b5f6122f3565b8e6112118482612332565b50505b5f61121e84612521565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f891906137c8565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612663565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e0b565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e0b565b6113c691906137a9565b92915050565b5f805f806113da8a8a6126eb565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8b7f0000000000000000000000000000000000000000000000000000000000000000612723565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8d7f00000000000000000000000000000000000000000000000000000000000000006127dc565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c84612896565b509093505f9050611537848f613570565b90505f6115578b8b61154887611735565b611552908e6137e3565b6128de565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612940565b611735565b61159583611735565b6115a261158786856120c6565b6115ac91906137a9565b6115b691906137a9565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612950565b6115f585670de0b6b3a7640000613583565b906117a3565b611603613402565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612973565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612973565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129e0565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e8908490613570565b90915550505f838152600b60205260408120805483929061180a908490613570565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612332565b5f818313611876578261008d565b50919050565b5f8061188884846126eb565b90925090508061189a5761189a612b74565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b8d565b5f808434101561193e576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f391906137c8565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a5b9190613623565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af1158015611ad6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611afa9190613623565b50505050565b5f610bfc670de0b6b3a7640000612bfc565b5f611b1d828461381e565b61008d9084613583565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b525750505050565b5f848152600860205260408120546001600160801b031690819003611baa57611b7a836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c27565b611bfb611bf6670de0b6b3a7640000611bc38886613583565b611bcd9190613727565b85670de0b6b3a7640000611be1878a613583565b611beb9190613727565b859291906001612c85565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c30846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611c90908490600160801b90046001600160801b03166120c6565b6006546201000090046001600160701b03169250905081811115611e06575f611cb98383613583565b9050611cc8611bf68286612d1f565b60068054601090611cea908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d2285836117a390919063ffffffff16565b90505f611d4f827f00000000000000000000000000000000000000000000000000000000000000006120c6565b90508060095f828254611d629190613570565b90915550611d7290508183613583565b9150611d7d826118a1565b600280545f90611d979084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dc482612d33565b600480545f90611dd8908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e345760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e4b87856117a3565b91505f611e78837f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050611ea4817f00000000000000000000000000000000000000000000000000000000000000006120c6565b91508315611ec757611eb68282613583565b611ec09084613583565b9250611ede565b611ed18282613583565b611edb9084613570565b92505b86861015611f0157611ef1838789611788565b9250611efe828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f54611bf682611f38670de0b6b3a764000086613727565b600554600160801b90046001600160801b031691908a5f612c85565b600580546001600160801b03928316600160801b029216919091179055611f7a866118a1565b611f849082613831565b600480546001600160801b03928316600160801b029216919091179055611faa846118a1565b600280545f90611fc49084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ff1836118ca565b600480545f90612005908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612035856118a1565b60028054601090612057908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612094846115f58a888a611788565b90506120a1888486611788565b6120ab9082613570565b9050868111156120bb5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061214557507f00000000000000000000000000000000000000000000000000000000000000006121438583613583565b105b1561215257612152612b74565b6004549084900390600f0b61216784826137a9565b90508361217386611735565b1380156121a857507f00000000000000000000000000000000000000000000000000000000000000006121a6838361187c565b105b156121b5576121b5612b74565b600354600160801b90046001600160801b03166121f6611bf6826121e1670de0b6b3a764000088613727565b6005546001600160801b031691908c5f612c85565b600580546001600160801b0319166001600160801b03929092169190911790556122208882613583565b905061222b816118a1565b600380546001600160801b03928316600160801b029216919091179055612251836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561227a826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122a3876118a1565b600280546010906122c5908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461230e90611bf6906001600160801b031684846128de565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161237c916001600160801b031690613583565b9050805f0361238f5760019150506113c6565b5f61239985612d5c565b9050805f036123ad576001925050506113c6565b5f806123ba838589612df7565b91509150806123cf575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161240a92919061387e565b6040805180830381865af4158015612424573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061244891906138f3565b9150915061246661245882611735565b61246190613915565b6129e0565b92508261247b575f96505050505050506113c6565b612484826118a1565b600780545f9061249e9084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124cb816118a1565b600780546010906124ed908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612548876115fb565b6040518263ffffffff1660e01b81526004016125649190613614565b6040805180830381865af415801561257e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a2919061392f565b91509150806125b757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161261c91613570565b6126269190613583565b9050805f0361263c57505f958695509350505050565b5f80871161264a575f612655565b612655848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126865761268661395d565b6040519080825280601f01601f1916602001820160405280156126b0576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126d0578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126f886611735565b61270291906137a9565b90505f811215612718575f809250925050610cf0565b946001945092505050565b5f805f6127338888888888612f5f565b90505f61275d670de0b6b3a764000061274c8888612d1f565b6127569190613570565b83906117a3565b9050670de0b6b3a764000081106127915761278a612783670de0b6b3a7640000896117a3565b8290612b8d565b90506127a9565b6127a6612783670de0b6b3a764000089612d1f565b90505b6127b381866117a3565b9050888110156127ca575f809350935050506126e1565b97909703976001975095505050505050565b5f805f6127ec8989888888612f8d565b9050612806866119156127ff8a8d613570565b87906120c6565b9850612813858a86611788565b985088811015612829575f8092509250506115c5565b888103670de0b6b3a7640000811061285757612850612783670de0b6b3a764000089612d1f565b905061286f565b61286c612783670de0b6b3a7640000896117a3565b90505b80891015612884575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128a6898789612fb1565b90925090506128b58289613583565b97505f6128c382888a611788565b90506128cf818b613583565b9a989950979650505050505050565b5f806128ea845f613036565b6128f4845f613036565b6128fe91906137a9565b90505f811315612919576129128186613570565b9450612937565b5f8112156129375761292a81613915565b6129349086613583565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612964575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612986610cf7565b6129909190613727565b905080831161299f575f6129a9565b6129a98184613583565b915061008d612756670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613727565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aba9190613971565b935093509350935080612ad557505f98975050505050505050565b868414612b0657612ae5846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3757612b16836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b6557612b47826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ba45750670de0b6b3a76400006113c6565b825f03612bb257505f6113c6565b5f612bbc83611735565b90505f612bd0612bcb86611735565b61304b565b9050818102612be7670de0b6b3a7640000826139af565b9050612bf281613270565b9695505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015612c61573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613623565b5f825f03612c94575084610075565b8115612ce657612cc5612ca78487613570565b612cb185876120c6565b612cbb888a6120c6565b6115f59190613570565b90505f612cd28588611c60565b905080821015612ce0578091505b50610075565b828503612cf457505f610075565b610072612d018487613583565b612d0b8587612940565b612d15888a6120c6565b6115f59190613583565b5f61008d83670de0b6b3a764000084612950565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d76906001600160801b031684612d1f565b9050612da27f000000000000000000000000000000000000000000000000000000000000000082613570565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612ded9083906001600160801b0316613583565b61008d9190613583565b612dff613457565b5f80612e0a846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e449190613614565b6040805180830381865af4158015612e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e82919061392f565b9350905082612e9657505f9150611a5e9050565b5f612eb76115878461016001518561014001516120c690919063ffffffff16565b612ed761158785610120015186610100015161294090919063ffffffff16565b612ee191906137a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f6a8585612b8d565b612f83612f7b86611915868b6120c6565b859085611788565b6100729190613570565b5f612f988585612b8d565b612f83612fa986611915868b612940565b859085612950565b5f8061300085612ffa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ff0818c612d1f565b612ffa9190613583565b90612940565b915061302c827f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050935093915050565b5f818313613044578161008d565b5090919050565b5f80821361306c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130ef9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328957505f919050565b680755bf798b4a1bf1e582126132b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bf274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061346b613402565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a086880312156134c5575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156134f7575f80fd5b613503888289016134a1565b9150509295509295909350565b5f805f60608486031215613522575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613546575f80fd5b613552868287016134a1565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c661355c565b818103818111156113c6576113c661355c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613596565b5f60208284031215613633575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f6020828403121561365e575f80fd5b813561008d8161363a565b8015158114610bd9575f80fd5b5f60208284031215613686575f80fd5b813561008d81613669565b5f808335601e198436030181126136a6575f80fd5b83018035915067ffffffffffffffff8211156136c0575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c661355c565b5f805f60608486031215613750575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a61355c565b6001600160801b0381811683821601908082111561189a5761189a61355c565b8181035f83128015838313168383128216171561189a5761189a61355c565b5f602082840312156137d8575f80fd5b815161008d8161363a565b8082018281125f8312801582168215821617156138025761380261355c565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261382c5761382c61380a565b500690565b6001600160801b0382811682821603908082111561189a5761189a61355c565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c661355c565b5f6102a082019050613891828551613596565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613904575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139295761392961355c565b505f0390565b5f8060408385031215613940575f80fd5b82519150602083015161395281613669565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613984575f80fd5b84519350602085015192506040850151915060608501516139a481613669565b939692955090935050565b5f826139bd576139bd61380a565b600160ff1b82145f19841416156139d6576139d661355c565b50059056fea26469706673582212208458dfed66f8b87f8b7842cb4fd793a0429b184dce770725fe150df075b96c2a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/StETHTarget3Deployer.ts new file mode 100644 index 000000000..4151b79d9 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const StETHTarget3Deployer = { + name: 'StETHTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506143908061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613eb8806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003eb838038062003eb88339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613a11620004a75f395f50505f50505f818161127a015261197501525f81816102f00152818161031f015261034c01525f818160d10152818161058e015261169001525f81816108220152818161090d0152818161099d01528181610aa2015281816115620152818161166a0152818161211a0152818161217d01528181612a2601528181612d7d0152612db901525f81816101310152818161089201528181610e380152818161142b0152818161148e015281816114d3015261164401525f611d2b01525f8181611e80015261300801525f8181610ff50152611e5401525f612fbe01525f8181610173015281816108e501528181610e59015281816113fb0152818161145e015281816114f401526116b601525f818161015201528181610227015281816102c5015281816106cd015281816108bf01528181610f3301526129bc01525f818161028501528181610cfe01528181610d7501528181610de901528181610eb40152610eec01525f818161194501528181611a880152612c1401525f5050613a115ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046134b1565b610064565b60405190815260200160405180910390f35b61003f61005f366004613510565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107d6565b90505b9392505050565b5f61009d610b7c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100cf82610ba4565b7f00000000000000000000000000000000000000000000000000000000000000008610156101105760405163211ddda360e11b815260040160405180910390fd5b5f61019761011c610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c01565b9050848110806101a657508381115b156101c457604051633b61151160e11b815260040160405180910390fd5b5f806101d08986610c26565b915091505f6101dd610cf7565b90506101ed818360046001610d22565b506002546004546003545f928392610256926001600160801b0380841693600f9390930b92600160801b900481169189911661025161024c7f00000000000000000000000000000000000000000000000000000000000000008b613570565b611386565b6113cc565b915091508061027857604051630552b01360e31b815260040160405180910390fd5b8b5f6102e96008826102aa7f000000000000000000000000000000000000000000000000000000000000000089613583565b815260208101919091526040015f20546001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006115d0565b90506103157f000000000000000000000000000000000000000000000000000000000000000082613570565b88118061037457507f00000000000000000000000000000000000000000000000000000000000000008111801561037457506103717f000000000000000000000000000000000000000000000000000000000000000082613583565b88105b1561039257604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103dd916001600160801b0390911690613583565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765491925090610417908390613570565b90505f805f6104258a6115fb565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061045f908490600401613614565b602060405180830381865af415801561047a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049e9190613623565b91506104b16104ac8c611735565b611762565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051291859101613614565b602060405180830381865af415801561052d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105519190613623565b9250818310156105745760405163184d952160e11b815260040160405180910390fd5b61058a84836105838187613583565b9190611788565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105cd5760405163211ddda360e11b815260040160405180910390fd5b508f6105d9868e6117a3565b10156105f85760405163c972651760e01b815260040160405180910390fd5b6106145f8e5f01602081019061060e919061364e565b8e6117b7565b61061d8961185c565b95508561063d57604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106f760025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102517f00000000000000000000000000000000000000000000000000000000000000008c61024c9190613570565b9b5090508a1580610710575061070d8c5f611868565b81125b1561072e57604051630552b01360e31b815260040160405180910390fd5b5f88156107455761074087848b611788565b610747565b5f5b9050610756602085018561364e565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079360408a0160208b01613676565b866107a160408c018c613691565b6040516107b497969594939291906136d4565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107df610b7c565b6107e882610ba4565b60065460ff161561080c57604051637983c05160e01b815260040160405180910390fd5b5f806108188685610c26565b90925090506108487f00000000000000000000000000000000000000000000000000000000000000006002613727565b82101561086857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610971573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610995919061373e565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109c6848461187c565b10156109e55760405163216f4ab160e21b815260040160405180910390fd5b5f806109f5858585895f806113cc565b91509150801580610a0557505f82125b15610a2357604051630552b01360e31b815260040160405180910390fd5b610a2c856118a1565b600280546001600160801b0319166001600160801b0392909216919091179055610a55846118ca565b600480546001600160801b0319166001600160801b0392909216919091179055610a7e836118a1565b600280546001600160801b03928316600160801b029216919091179055610ac65f807f00000000000000000000000000000000000000000000000000000000000000006117b7565b610add5f610ad760208c018c61364e565b8a6117b7565b610af2610ae8610cf7565b8760046001610d22565b508a8a8a610b03602082018261364e565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b406040870160208801613676565b87610b4e6040890189613691565b604051610b6197969594939291906136d4565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610b9e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f610bb2602083018361364e565b6001600160a01b031603610bd95760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610bfc916001600160801b0390911690600f0b61187c565b905090565b5f80610c0f87878786611905565b9050610c1b81856115d0565b979650505050505050565b815f80610c396040850160208601613676565b15610c5e57610c5485610c4f6040870187613691565b61191b565b9093509050610c76565b5034610c7685610c716040870187613691565b611a66565b610c7e611b00565b91508015610cee576040515f90339083908381818185875af1925050503d805f8114610cc5576040519150601f19603f3d011682016040523d82523d5f602084013e610cca565b606091505b5050905080610cec576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610bfc427f0000000000000000000000000000000000000000000000000000000000000000611b12565b5f84815260086020526040812060018101546001600160801b0316151580610d4957504286115b15610d6257600101546001600160801b0316905061137e565b5f805f610d6d610cf7565b90505f610d9a7f00000000000000000000000000000000000000000000000000000000000000008b613570565b90505b81811015610e0e575f818152600860205260409020600101546001600160801b03168015610de6575f828152600860205260409020549094506001600160801b03169250610e0e565b507f000000000000000000000000000000000000000000000000000000000000000001610d9d565b835f03610e8057889350610e7d610e23610bdc565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b92505b50610e8a836118a1565b6001850180546001600160801b0319166001600160801b0392909216919091179055610ee0610ed97f00000000000000000000000000000000000000000000000000000000000000008b613583565b8a84611b27565b610f1e89610f18610f117f000000000000000000000000000000000000000000000000000000000000000083613570565b4290611c60565b84611b27565b610f2788611c6e565b505f9050600881610f587f00000000000000000000000000000000000000000000000000000000000000008d613583565b815260208101919091526040015f908120600101546001600160801b03169150610f8360028c611e0b565b5f818152600b60205260408120549192508c8c83156110c457600192505f80610faf86898d865f611e3f565b915091508060095f828254610fc49190613570565b90915550610fdf9050865f84610fd981611735565b88611f0c565b610fe98183613570565b915061101986838a8e877f0000000000000000000000000000000000000000000000000000000000000000612083565b915061102d61102883856120c6565b6120da565b6006805460029061104e9084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061107b826118a1565b6006805460109061109d908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6110d0600184611e0b565b5f818152600b602052604090205490915080156111db57600194505f806110fb838b8f886001611e3f565b915091508060095f8282546111109190613570565b9091555061112b9050835f8461112581611735565b8a612103565b6111358183613583565b915061114461102883876120c6565b600680546002906111659084906201000090046001600160701b0316613769565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550611192826118a1565b600680546010906111b4908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415611214576112066111ed87611735565b6111f683611735565b61120091906137a9565b5f6122f3565b8e6112118482612332565b50505b5f61121e84612521565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f891906137c8565b90506001600160a01b0381161561136c576113695a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612663565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113ab600b5f611398600286611e0b565b81526020019081526020015f2054611735565b6113bc600b5f611398600187611e0b565b6113c691906137a9565b92915050565b5f805f806113da8a8a6126eb565b91509150806113f0575f809350935050506115c5565b5f61144f838a6114287f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8b7f0000000000000000000000000000000000000000000000000000000000000000612723565b5090505f6114b2848b8461148b7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613583565b8d7f00000000000000000000000000000000000000000000000000000000000000006127dc565b5090508115806114c0575080155b156114cb57505f9050805b5f611518858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611905565b905061152683838c84612896565b509093505f9050611537848f613570565b90505f6115578b8b61154887611735565b611552908e6137e3565b6128de565b90508b61158c6115877f000000000000000000000000000000000000000000000000000000000000000083612940565b611735565b61159583611735565b6115a261158786856120c6565b6115ac91906137a9565b6115b691906137a9565b60019950995050505050505050505b965096945050505050565b5f61008d6115e384846301e13380612950565b6115f585670de0b6b3a7640000613583565b906117a3565b611603613402565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e083015260035404821661010082015260055490916101208301916116fb9116612973565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261172d92900416612973565b905292915050565b5f6001600160ff1b0382111561175e5760405163396ea70160e11b815260040160405180910390fd5b5090565b61176b816129e0565b610bd957604051635044b7f560e01b815260040160405180910390fd5b5f825f19048411830215820261179c575f80fd5b5091020490565b5f61008d83670de0b6b3a764000084611788565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906117e8908490613570565b90915550505f838152600b60205260408120805483929061180a908490613570565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113c6826004612332565b5f818313611876578261008d565b50919050565b5f8061188884846126eb565b90925090508061189a5761189a612b74565b5092915050565b5f6001600160801b0382111561175e57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b03198212806118e7575060016001607f1b0382135b1561175e5760405163a5353be560e01b815260040160405180910390fd5b5f61007582611915858888611788565b90612b8d565b5f808434101561193e576040516312171d8360e31b815260040160405180910390fd5b84340390507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a1903eab867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f391906137c8565b6040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611a36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a5b9190613623565b91505b935093915050565b604051636d78045960e01b8152336004820152306024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636d780459906064016020604051808303815f875af1158015611ad6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611afa9190613623565b50505050565b5f610bfc670de0b6b3a7640000612bfc565b5f611b1d828461381e565b61008d9084613583565b5f83815260086020526040902054600160801b90046001600160801b0316808303611b525750505050565b5f848152600860205260408120546001600160801b031690819003611baa57611b7a836118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611c27565b611bfb611bf6670de0b6b3a7640000611bc38886613583565b611bcd9190613727565b85670de0b6b3a7640000611be1878a613583565b611beb9190613727565b859291906001612c85565b6118a1565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611c30846118a1565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611876578261008d565b6006545f908190611c90908490600160801b90046001600160801b03166120c6565b6006546201000090046001600160701b03169250905081811115611e06575f611cb98383613583565b9050611cc8611bf68286612d1f565b60068054601090611cea908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611d2285836117a390919063ffffffff16565b90505f611d4f827f00000000000000000000000000000000000000000000000000000000000000006120c6565b90508060095f828254611d629190613570565b90915550611d7290508183613583565b9150611d7d826118a1565b600280545f90611d979084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611dc482612d33565b600480545f90611dd8908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611e345760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611e4b87856117a3565b91505f611e78837f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050611ea4817f00000000000000000000000000000000000000000000000000000000000000006120c6565b91508315611ec757611eb68282613583565b611ec09084613583565b9250611ede565b611ed18282613583565b611edb9084613570565b92505b86861015611f0157611ef1838789611788565b9250611efe828789611788565b91505b509550959350505050565b600454600160801b90046001600160801b0316611f54611bf682611f38670de0b6b3a764000086613727565b600554600160801b90046001600160801b031691908a5f612c85565b600580546001600160801b03928316600160801b029216919091179055611f7a866118a1565b611f849082613831565b600480546001600160801b03928316600160801b029216919091179055611faa846118a1565b600280545f90611fc49084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611ff1836118ca565b600480545f90612005908490600f0b613851565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550612035856118a1565b60028054601090612057908490600160801b90046001600160801b0316613831565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80612094846115f58a888a611788565b90506120a1888486611788565b6120ab9082613570565b9050868111156120bb5786810391505b509695505050505050565b5f61008d8383670de0b6b3a7640000611788565b5f6001600160701b0382111561175e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061214557507f00000000000000000000000000000000000000000000000000000000000000006121438583613583565b105b1561215257612152612b74565b6004549084900390600f0b61216784826137a9565b90508361217386611735565b1380156121a857507f00000000000000000000000000000000000000000000000000000000000000006121a6838361187c565b105b156121b5576121b5612b74565b600354600160801b90046001600160801b03166121f6611bf6826121e1670de0b6b3a764000088613727565b6005546001600160801b031691908c5f612c85565b600580546001600160801b0319166001600160801b03929092169190911790556122208882613583565b905061222b816118a1565b600380546001600160801b03928316600160801b029216919091179055612251836118a1565b600280546001600160801b0319166001600160801b039290921691909117905561227a826118ca565b600480546001600160801b0319166001600160801b03929092169190911790556122a3876118a1565b600280546010906122c5908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461230e90611bf6906001600160801b031684846128de565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543549091829161237c916001600160801b031690613583565b9050805f0361238f5760019150506113c6565b5f61239985612d5c565b9050805f036123ad576001925050506113c6565b5f806123ba838589612df7565b91509150806123cf575f9450505050506113c6565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b815260040161240a92919061387e565b6040805180830381865af4158015612424573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061244891906138f3565b9150915061246661245882611735565b61246190613915565b6129e0565b92508261247b575f96505050505050506113c6565b612484826118a1565b600780545f9061249e9084906001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506124cb816118a1565b600780546010906124ed908490600160801b90046001600160801b0316613789565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e612548876115fb565b6040518263ffffffff1660e01b81526004016125649190613614565b6040805180830381865af415801561257e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125a2919061392f565b91509150806125b757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161261c91613570565b6126269190613583565b9050805f0361263c57505f958695509350505050565b5f80871161264a575f612655565b612655848884611788565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156126865761268661395d565b6040519080825280601f01601f1916602001820160405280156126b0576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156126d0578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f836126f886611735565b61270291906137a9565b90505f811215612718575f809250925050610cf0565b946001945092505050565b5f805f6127338888888888612f5f565b90505f61275d670de0b6b3a764000061274c8888612d1f565b6127569190613570565b83906117a3565b9050670de0b6b3a764000081106127915761278a612783670de0b6b3a7640000896117a3565b8290612b8d565b90506127a9565b6127a6612783670de0b6b3a764000089612d1f565b90505b6127b381866117a3565b9050888110156127ca575f809350935050506126e1565b97909703976001975095505050505050565b5f805f6127ec8989888888612f8d565b9050612806866119156127ff8a8d613570565b87906120c6565b9850612813858a86611788565b985088811015612829575f8092509250506115c5565b888103670de0b6b3a7640000811061285757612850612783670de0b6b3a764000089612d1f565b905061286f565b61286c612783670de0b6b3a7640000896117a3565b90505b80891015612884575f809350935050506115c5565b90970398600198509650505050505050565b5f805f805f6128a6898789612fb1565b90925090506128b58289613583565b97505f6128c382888a611788565b90506128cf818b613583565b9a989950979650505050505050565b5f806128ea845f613036565b6128f4845f613036565b6128fe91906137a9565b90505f811315612919576129128186613570565b9450612937565b5f8112156129375761292a81613915565b6129349086613583565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f190484118302158202612964575f80fd5b50910281810615159190040190565b5f80670de0b6b3a7640000612986610cf7565b6129909190613727565b905080831161299f575f6129a9565b6129a98184613583565b915061008d612756670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613727565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aba9190613971565b935093509350935080612ad557505f98975050505050505050565b868414612b0657612ae5846118a1565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612b3757612b16836118ca565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b6557612b47826118a1565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612ba45750670de0b6b3a76400006113c6565b825f03612bb257505f6113c6565b5f612bbc83611735565b90505f612bd0612bcb86611735565b61304b565b9050818102612be7670de0b6b3a7640000826139af565b9050612bf281613270565b9695505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb8890602401602060405180830381865afa158015612c61573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c69190613623565b5f825f03612c94575084610075565b8115612ce657612cc5612ca78487613570565b612cb185876120c6565b612cbb888a6120c6565b6115f59190613570565b90505f612cd28588611c60565b905080821015612ce0578091505b50610075565b828503612cf457505f610075565b610072612d018487613583565b612d0b8587612940565b612d15888a6120c6565b6115f59190613583565b5f61008d83670de0b6b3a764000084612950565b5f60016001607f1b0382111561175e5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d76906001600160801b031684612d1f565b9050612da27f000000000000000000000000000000000000000000000000000000000000000082613570565b6002546001600160801b03161115611876576002547f000000000000000000000000000000000000000000000000000000000000000090612ded9083906001600160801b0316613583565b61008d9190613583565b612dff613457565b5f80612e0a846115fb565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e449190613614565b6040805180830381865af4158015612e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e82919061392f565b9350905082612e9657505f9150611a5e9050565b5f612eb76115878461016001518561014001516120c690919063ffffffff16565b612ed761158785610120015186610100015161294090919063ffffffff16565b612ee191906137a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f6a8585612b8d565b612f83612f7b86611915868b6120c6565b859085611788565b6100729190613570565b5f612f988585612b8d565b612f83612fa986611915868b612940565b859085612950565b5f8061300085612ffa85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612ff0818c612d1f565b612ffa9190613583565b90612940565b915061302c827f00000000000000000000000000000000000000000000000000000000000000006120c6565b9050935093915050565b5f818313613044578161008d565b5090919050565b5f80821361306c5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130ef9084901c611735565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328957505f919050565b680755bf798b4a1bf1e582126132b2576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612bf274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611735565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180610120016040528061346b613402565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60608284031215611876575f80fd5b5f805f805f60a086880312156134c5575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156134f7575f80fd5b613503888289016134a1565b9150509295509295909350565b5f805f60608486031215613522575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115613546575f80fd5b613552868287016134a1565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113c6576113c661355c565b818103818111156113c6576113c661355c565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113c68284613596565b5f60208284031215613633575f80fd5b5051919050565b6001600160a01b0381168114610bd9575f80fd5b5f6020828403121561365e575f80fd5b813561008d8161363a565b8015158114610bd9575f80fd5b5f60208284031215613686575f80fd5b813561008d81613669565b5f808335601e198436030181126136a6575f80fd5b83018035915067ffffffffffffffff8211156136c0575f80fd5b602001915036819003821315610cf0575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113c6576113c661355c565b5f805f60608486031215613750575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b0381811683821601908082111561189a5761189a61355c565b6001600160801b0381811683821601908082111561189a5761189a61355c565b8181035f83128015838313168383128216171561189a5761189a61355c565b5f602082840312156137d8575f80fd5b815161008d8161363a565b8082018281125f8312801582168215821617156138025761380261355c565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261382c5761382c61380a565b500690565b6001600160801b0382811682821603908082111561189a5761189a61355c565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113c6576113c661355c565b5f6102a082019050613891828551613596565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613904575f80fd5b505080516020909101519092909150565b5f600160ff1b82016139295761392961355c565b505f0390565b5f8060408385031215613940575f80fd5b82519150602083015161395281613669565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613984575f80fd5b84519350602085015192506040850151915060608501516139a481613669565b939692955090935050565b5f826139bd576139bd61380a565b600160ff1b82145f19841416156139d6576139d661355c565b50059056fea26469706673582212208458dfed66f8b87f8b7842cb4fd793a0429b184dce770725fe150df075b96c2a64736f6c63430008160033a264697066735822122037be4f2b1027034bc94dd996b1fa853dc58d1758fe04ca6e95fc2a2025d01fd664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget4.ts b/packages/hyperdrive-artifacts/src/StETHTarget4.ts new file mode 100644 index 000000000..c47c37dae --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget4.ts @@ -0,0 +1,971 @@ +export const StETHTarget4 = { + name: 'StETHTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003191380380620031918339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612d9e620003f35f395f50505f50505f61099201525f50505f818161025f0152611f5d01525f81816117bd0152818161182001528181611b4d01528181611b8901528181611d7a0152611f3701525f81816105500152611f1101525f61139f01525f6114f401525f818161070d01526114c801525f50505f81816105710152611f8301525f818161064b01526123a301525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161109b0152818161224f01526122c601525f5050612d9e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612874565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128c6565b6100b1565b005b610056610092366004612874565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f60208501856128fa565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612922565b61016a60408c018c61293d565b60405161017c969594939291906129a8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f0000000000000000000000000000000000000000000000000000000000000000856129f5565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d560208701876128fa565b88610ea4565b5f6102f56102ec60208701876128fa565b88848989610a9e565b90945090506103048188612a1c565b92505f61031083610f41565b50905061032060208701876128fa565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612922565b8a888e8060400190610370919061293d565b604051610384989796959493929190612a2f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce60208301836128fa565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061110d565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612a76565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611129565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611149565b92505b506105a283611168565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a1c565b8a84611195565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612a76565b42906112ce565b84611195565b61063f886112e2565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a1c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61147f565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f6114b3565b915091508060095f8282546106dc9190612a76565b909155506106f79050865f846106f181611580565b886115a9565b6107018183612a76565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611720565b91506107456107408385611769565b61177d565b600680546002906107669084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611168565b600680546010906107b5908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461147f565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f8860016114b3565b915091508060095f8282546108289190612a76565b909155506108439050835f8461083d81611580565b8a6117a6565b61084d8183612a1c565b915061085c6107408387611769565b6006805460029061087d9084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611168565b600680546010906108cc908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611580565b61090e83611580565b6109189190612ac9565b5f611996565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612ae8565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119d5565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a5b565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a67565b9050610b2083611168565b610b2a9083612b03565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611168565b60078054601090610b75908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a82565b9350610bb08684611b18565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a1c565b9050805f03610c3a576001915050610dc7565b5f610c4485611b2c565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bc7565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ba1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c16565b91509150610d11610d0382611580565b610d0c90612c38565b611d34565b925082610d26575f9650505050505050610dc7565b610d2f82611168565b600780545f90610d499084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611168565b60078054601090610d98908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a1c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612a76565b90915550505f838152600b602052604081208054839290610ef7908490612a76565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611ec8565b6040518263ffffffff1660e01b8152600401610f849190612c52565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c61565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612a76565b6110469190612a1c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a67565b976001975095505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156110e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612c8f565b5f61111882846129f5565b6111229084612a1c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612002565b5f61115f82611159858888611a67565b90612027565b95945050505050565b5f6001600160801b0382111561119157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111c05750505050565b5f848152600860205260408120546001600160801b031690819003611218576111e883611168565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611295565b611269611264670de0b6b3a76400006112318886612a1c565b61123b9190612ca6565b85670de0b6b3a764000061124f878a612a1c565b6112599190612ca6565b859291906001612096565b611168565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61129e84611168565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112dc5782611122565b50919050565b6006545f908190611304908490600160801b90046001600160801b0316611769565b6006546201000090046001600160701b0316925090508181111561147a575f61132d8383612a1c565b905061133c6112648286612130565b6006805460109061135e908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611396858361214490919063ffffffff16565b90505f6113c3827f0000000000000000000000000000000000000000000000000000000000000000611769565b90508060095f8282546113d69190612a76565b909155506113e690508183612a1c565b91506113f182611168565b600280545f9061140b9084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061143882612158565b600480545f9061144c908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114a85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114bf8785612144565b91505f6114ec837f0000000000000000000000000000000000000000000000000000000000000000611769565b9050611518817f0000000000000000000000000000000000000000000000000000000000000000611769565b9150831561153b5761152a8282612a1c565b6115349084612a1c565b9250611552565b6115458282612a1c565b61154f9084612a76565b92505b8686101561157557611565838789611a67565b9250611572828789611a67565b91505b509550959350505050565b5f6001600160ff1b038211156111915760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115f1611264826115d5670de0b6b3a764000086612ca6565b600554600160801b90046001600160801b031691908a5f612096565b600580546001600160801b03928316600160801b02921691909117905561161786611168565b6116219082612b03565b600480546001600160801b03928316600160801b02921691909117905561164784611168565b600280545f906116619084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061168e83612181565b600480545f906116a2908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116d285611168565b600280546010906116f4908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611737846117318a888a611a67565b90612144565b9050611744888486611a67565b61174e9082612a76565b90508681111561175e5786810391505b509695505050505050565b5f6111228383670de0b6b3a7640000611a67565b5f6001600160701b038211156111915760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117e857507f00000000000000000000000000000000000000000000000000000000000000006117e68583612a1c565b105b156117f5576117f56121bc565b6004549084900390600f0b61180a8482612ac9565b90508361181686611580565b13801561184b57507f00000000000000000000000000000000000000000000000000000000000000006118498383612002565b105b15611858576118586121bc565b600354600160801b90046001600160801b031661189961126482611884670de0b6b3a764000088612ca6565b6005546001600160801b031691908c5f612096565b600580546001600160801b0319166001600160801b03929092169190911790556118c38882612a1c565b90506118ce81611168565b600380546001600160801b03928316600160801b0292169190911790556118f483611168565b600280546001600160801b0319166001600160801b039290921691909117905561191d82612181565b600480546001600160801b0319166001600160801b039290921691909117905561194687611168565b60028054601090611968908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119b190611264906001600160801b031684846121d5565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119f8576119f8612cea565b6040519080825280601f01601f191660200182016040528015611a22576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a42578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a7b575f80fd5b5091020490565b5f80611a8e8585611769565b9050611a9981612237565b9450845f03611aab575f915050611122565b849150611abe6040840160208501612922565b15611aed57611ae685611ad460208601866128fa565b611ae1604087018761293d565b612286565b9150611b10565b611b1085611afe60208601866128fa565b611b0b604087018761293d565b6122a0565b509392505050565b5f6111228383670de0b6b3a7640000612337565b6003545f908190611b46906001600160801b031684612130565b9050611b727f000000000000000000000000000000000000000000000000000000000000000082612a76565b6002546001600160801b031611156112dc576002547f000000000000000000000000000000000000000000000000000000000000000090611bbd9083906001600160801b0316612a1c565b6111229190612a1c565b611bcf6127d5565b5f80611bda84611ec8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c149190612c52565b6040805180830381865af4158015611c2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c529190612c61565b9350905082611c6657505f91506100a99050565b5f611c8c611c8784610160015185610140015161176990919063ffffffff16565b611580565b611cac611c87856101200151866101000151611b1890919063ffffffff16565b611cb69190612ac9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0e9190612cfe565b935093509350935080611e2957505f98975050505050505050565b868414611e5a57611e3984611168565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e8b57611e6a83612181565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611eb957611e9b82611168565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ed061281f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fc8911661235a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611ffa9290041661235a565b905292915050565b5f8061200e84846123ce565b909250905080612020576120206121bc565b5092915050565b5f815f0361203e5750670de0b6b3a7640000610dc7565b825f0361204c57505f610dc7565b5f61205683611580565b90505f61206a61206586611580565b612409565b9050818102612081670de0b6b3a764000082612d3c565b905061208c8161262e565b9695505050505050565b5f825f036120a557508461115f565b81156120f7576120d66120b88487612a76565b6120c28587611769565b6120cc888a611769565b6117319190612a76565b90505f6120e385886112ce565b9050808210156120f1578091505b5061115f565b82850361210557505f61115f565b61208c6121128487612a1c565b61211c8587611b18565b612126888a611769565b6117319190612a1c565b5f61112283670de0b6b3a764000084612337565b5f61112283670de0b6b3a764000084611a67565b5f60016001607f1b038211156111915760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061219e575060016001607f1b0382135b156111915760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121e1845f6127c0565b6121eb845f6127c0565b6121f59190612ac9565b90505f811315612210576122098186612a76565b945061222e565b5f81121561222e5761222181612c38565b61222b9086612a1c565b94505b50929392505050565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016110ce565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af115801561230c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123309190612c8f565b5050505050565b5f825f19048411830215820261234b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236d61040f565b6123779190612ca6565b9050808311612386575f612390565b6123908184612a1c565b91506111226123c7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ca6565b8390612144565b5f805f836123db86611580565b6123e59190612ac9565b90505f8112156123fb575f809250925050612402565b9150600190505b9250929050565b5f80821361242a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124ad9084901c611580565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361264757505f919050565b680755bf798b4a1bf1e58212612670576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061208c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611580565b5f8183136127ce5781611122565b5090919050565b6040518061012001604052806127e961281f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612886575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128aa575f80fd5b8401606081870312156128bb575f80fd5b809150509250925092565b5f80604083850312156128d7575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561290a575f80fd5b8135611122816128e6565b80151581146103f5575f80fd5b5f60208284031215612932575f80fd5b813561112281612915565b5f808335601e19843603018112612952575f80fd5b83018035915067ffffffffffffffff82111561296c575f80fd5b602001915036819003821315612402575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f6129d560a083018486612980565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a0357612a036129e1565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a08565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a6860e083018486612980565b9a9950505050505050505050565b80820180821115610dc757610dc7612a08565b6001600160701b0381811683821601908082111561202057612020612a08565b6001600160801b0381811683821601908082111561202057612020612a08565b8181035f83128015838313168383128216171561202057612020612a08565b5f60208284031215612af8575f80fd5b8151611122816128e6565b6001600160801b0382811682821603908082111561202057612020612a08565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612bb4828551612b23565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c27575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c4c57612c4c612a08565b505f0390565b6101808101610dc78284612b23565b5f8060408385031215612c72575f80fd5b825191506020830151612c8481612915565b809150509250929050565b5f60208284031215612c9f575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612a08565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a08565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d11575f80fd5b8451935060208501519250604085015191506060850151612d3181612915565b939692955090935050565b5f82612d4a57612d4a6129e1565b600160ff1b82145f1984141615612d6357612d63612a08565b50059056fea2646970667358221220be7a22da37318f020356b9ab49167cd7b14be322f414bf80b573bd522816defc64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StETHTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/StETHTarget4Deployer.ts new file mode 100644 index 000000000..c89c29b9a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StETHTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const StETHTarget4Deployer = { + name: 'StETHTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506136698061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613191806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003191380380620031918339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612d9e620003f35f395f50505f50505f61099201525f50505f818161025f0152611f5d01525f81816117bd0152818161182001528181611b4d01528181611b8901528181611d7a0152611f3701525f81816105500152611f1101525f61139f01525f6114f401525f818161070d01526114c801525f50505f81816105710152611f8301525f818161064b01526123a301525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f818161109b0152818161224f01526122c601525f5050612d9e5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612874565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d3660046128c6565b6100b1565b005b610056610092366004612874565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f60208501856128fa565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612922565b61016a60408c018c61293d565b60405161017c969594939291906129a8565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f0000000000000000000000000000000000000000000000000000000000000000856129f5565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d560208701876128fa565b88610ea4565b5f6102f56102ec60208701876128fa565b88848989610a9e565b90945090506103048188612a1c565b92505f61031083610f41565b50905061032060208701876128fa565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612922565b8a888e8060400190610370919061293d565b604051610384989796959493929190612a2f565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce60208301836128fa565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061110d565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612a76565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611129565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611149565b92505b506105a283611168565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a1c565b8a84611195565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612a76565b42906112ce565b84611195565b61063f886112e2565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a1c565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61147f565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f6114b3565b915091508060095f8282546106dc9190612a76565b909155506106f79050865f846106f181611580565b886115a9565b6107018183612a76565b915061073186838a8e877f0000000000000000000000000000000000000000000000000000000000000000611720565b91506107456107408385611769565b61177d565b600680546002906107669084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611168565b600680546010906107b5908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461147f565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f8860016114b3565b915091508060095f8282546108289190612a76565b909155506108439050835f8461083d81611580565b8a6117a6565b61084d8183612a1c565b915061085c6107408387611769565b6006805460029061087d9084906201000090046001600160701b0316612a89565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611168565b600680546010906108cc908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e61090587611580565b61090e83611580565b6109189190612ac9565b5f611996565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612ae8565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119d5565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a5b565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a67565b9050610b2083611168565b610b2a9083612b03565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611168565b60078054601090610b75908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a82565b9350610bb08684611b18565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a1c565b9050805f03610c3a576001915050610dc7565b5f610c4485611b2c565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bc7565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612ba1565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c16565b91509150610d11610d0382611580565b610d0c90612c38565b611d34565b925082610d26575f9650505050505050610dc7565b610d2f82611168565b600780545f90610d499084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611168565b60078054601090610d98908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a1c565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612a76565b90915550505f838152600b602052604081208054839290610ef7908490612a76565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611ec8565b6040518263ffffffff1660e01b8152600401610f849190612c52565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612c61565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612a76565b6110469190612a1c565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a67565b976001975095505050505050565b604051630f451f7160e31b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637a28fb88906024015b602060405180830381865afa1580156110e9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612c8f565b5f61111882846129f5565b6111229084612a1c565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b612002565b5f61115f82611159858888611a67565b90612027565b95945050505050565b5f6001600160801b0382111561119157604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111c05750505050565b5f848152600860205260408120546001600160801b031690819003611218576111e883611168565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611295565b611269611264670de0b6b3a76400006112318886612a1c565b61123b9190612ca6565b85670de0b6b3a764000061124f878a612a1c565b6112599190612ca6565b859291906001612096565b611168565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61129e84611168565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112dc5782611122565b50919050565b6006545f908190611304908490600160801b90046001600160801b0316611769565b6006546201000090046001600160701b0316925090508181111561147a575f61132d8383612a1c565b905061133c6112648286612130565b6006805460109061135e908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611396858361214490919063ffffffff16565b90505f6113c3827f0000000000000000000000000000000000000000000000000000000000000000611769565b90508060095f8282546113d69190612a76565b909155506113e690508183612a1c565b91506113f182611168565b600280545f9061140b9084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061143882612158565b600480545f9061144c908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114a85760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114bf8785612144565b91505f6114ec837f0000000000000000000000000000000000000000000000000000000000000000611769565b9050611518817f0000000000000000000000000000000000000000000000000000000000000000611769565b9150831561153b5761152a8282612a1c565b6115349084612a1c565b9250611552565b6115458282612a1c565b61154f9084612a76565b92505b8686101561157557611565838789611a67565b9250611572828789611a67565b91505b509550959350505050565b5f6001600160ff1b038211156111915760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115f1611264826115d5670de0b6b3a764000086612ca6565b600554600160801b90046001600160801b031691908a5f612096565b600580546001600160801b03928316600160801b02921691909117905561161786611168565b6116219082612b03565b600480546001600160801b03928316600160801b02921691909117905561164784611168565b600280545f906116619084906001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061168e83612181565b600480545f906116a2908490600f0b612cbd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116d285611168565b600280546010906116f4908490600160801b90046001600160801b0316612b03565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611737846117318a888a611a67565b90612144565b9050611744888486611a67565b61174e9082612a76565b90508681111561175e5786810391505b509695505050505050565b5f6111228383670de0b6b3a7640000611a67565b5f6001600160701b038211156111915760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117e857507f00000000000000000000000000000000000000000000000000000000000000006117e68583612a1c565b105b156117f5576117f56121bc565b6004549084900390600f0b61180a8482612ac9565b90508361181686611580565b13801561184b57507f00000000000000000000000000000000000000000000000000000000000000006118498383612002565b105b15611858576118586121bc565b600354600160801b90046001600160801b031661189961126482611884670de0b6b3a764000088612ca6565b6005546001600160801b031691908c5f612096565b600580546001600160801b0319166001600160801b03929092169190911790556118c38882612a1c565b90506118ce81611168565b600380546001600160801b03928316600160801b0292169190911790556118f483611168565b600280546001600160801b0319166001600160801b039290921691909117905561191d82612181565b600480546001600160801b0319166001600160801b039290921691909117905561194687611168565b60028054601090611968908490600160801b90046001600160801b0316612aa9565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546119b190611264906001600160801b031684846121d5565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119f8576119f8612cea565b6040519080825280601f01601f191660200182016040528015611a22576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a42578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a7b575f80fd5b5091020490565b5f80611a8e8585611769565b9050611a9981612237565b9450845f03611aab575f915050611122565b849150611abe6040840160208501612922565b15611aed57611ae685611ad460208601866128fa565b611ae1604087018761293d565b612286565b9150611b10565b611b1085611afe60208601866128fa565b611b0b604087018761293d565b6122a0565b509392505050565b5f6111228383670de0b6b3a7640000612337565b6003545f908190611b46906001600160801b031684612130565b9050611b727f000000000000000000000000000000000000000000000000000000000000000082612a76565b6002546001600160801b031611156112dc576002547f000000000000000000000000000000000000000000000000000000000000000090611bbd9083906001600160801b0316612a1c565b6111229190612a1c565b611bcf6127d5565b5f80611bda84611ec8565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611c149190612c52565b6040805180830381865af4158015611c2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c529190612c61565b9350905082611c6657505f91506100a99050565b5f611c8c611c8784610160015185610140015161176990919063ffffffff16565b611580565b611cac611c87856101200151866101000151611b1890919063ffffffff16565b611cb69190612ac9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0e9190612cfe565b935093509350935080611e2957505f98975050505050505050565b868414611e5a57611e3984611168565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e8b57611e6a83612181565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611eb957611e9b82611168565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ed061281f565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fc8911661235a565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611ffa9290041661235a565b905292915050565b5f8061200e84846123ce565b909250905080612020576120206121bc565b5092915050565b5f815f0361203e5750670de0b6b3a7640000610dc7565b825f0361204c57505f610dc7565b5f61205683611580565b90505f61206a61206586611580565b612409565b9050818102612081670de0b6b3a764000082612d3c565b905061208c8161262e565b9695505050505050565b5f825f036120a557508461115f565b81156120f7576120d66120b88487612a76565b6120c28587611769565b6120cc888a611769565b6117319190612a76565b90505f6120e385886112ce565b9050808210156120f1578091505b5061115f565b82850361210557505f61115f565b61208c6121128487612a1c565b61211c8587611b18565b612126888a611769565b6117319190612a1c565b5f61112283670de0b6b3a764000084612337565b5f61112283670de0b6b3a764000084611a67565b5f60016001607f1b038211156111915760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061219e575060016001607f1b0382135b156111915760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121e1845f6127c0565b6121eb845f6127c0565b6121f59190612ac9565b90505f811315612210576122098186612a76565b945061222e565b5f81121561222e5761222181612c38565b61222b9086612a1c565b94505b50929392505050565b604051631920845160e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906319208451906024016110ce565b5f60405163350b944160e11b815260040160405180910390fd5b604051638fcb4e5b60e01b81526001600160a01b038481166004830152602482018690527f00000000000000000000000000000000000000000000000000000000000000001690638fcb4e5b906044016020604051808303815f875af115801561230c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123309190612c8f565b5050505050565b5f825f19048411830215820261234b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236d61040f565b6123779190612ca6565b9050808311612386575f612390565b6123908184612a1c565b91506111226123c7670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612ca6565b8390612144565b5f805f836123db86611580565b6123e59190612ac9565b90505f8112156123fb575f809250925050612402565b9150600190505b9250929050565b5f80821361242a5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124ad9084901c611580565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361264757505f919050565b680755bf798b4a1bf1e58212612670576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061208c74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611580565b5f8183136127ce5781611122565b5090919050565b6040518061012001604052806127e961281f565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612886575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156128aa575f80fd5b8401606081870312156128bb575f80fd5b809150509250925092565b5f80604083850312156128d7575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561290a575f80fd5b8135611122816128e6565b80151581146103f5575f80fd5b5f60208284031215612932575f80fd5b813561112281612915565b5f808335601e19843603018112612952575f80fd5b83018035915067ffffffffffffffff82111561296c575f80fd5b602001915036819003821315612402575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f6129d560a083018486612980565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a0357612a036129e1565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a08565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612a6860e083018486612980565b9a9950505050505050505050565b80820180821115610dc757610dc7612a08565b6001600160701b0381811683821601908082111561202057612020612a08565b6001600160801b0381811683821601908082111561202057612020612a08565b8181035f83128015838313168383128216171561202057612020612a08565b5f60208284031215612af8575f80fd5b8151611122816128e6565b6001600160801b0382811682821603908082111561202057612020612a08565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612bb4828551612b23565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612c27575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612c4c57612c4c612a08565b505f0390565b6101808101610dc78284612b23565b5f8060408385031215612c72575f80fd5b825191506020830151612c8481612915565b809150509250929050565b5f60208284031215612c9f575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612a08565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a08565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d11575f80fd5b8451935060208501519250604085015191506060850151612d3181612915565b939692955090935050565b5f82612d4a57612d4a6129e1565b600160ff1b82145f1984141615612d6357612d63612a08565b50059056fea2646970667358221220be7a22da37318f020356b9ab49167cd7b14be322f414bf80b573bd522816defc64736f6c63430008160033a2646970667358221220d99eb9c620eae3748d77048cce1406f8ea25e96f5517ac30ce6e697b952e285c64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSBase.ts b/packages/hyperdrive-artifacts/src/StakingUSDSBase.ts new file mode 100644 index 000000000..bc2ff26f8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSBase.ts @@ -0,0 +1,695 @@ +export const StakingUSDSBase = { + name: 'StakingUSDSBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSConversions.ts b/packages/hyperdrive-artifacts/src/StakingUSDSConversions.ts new file mode 100644 index 000000000..73d1868b0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSConversions.ts @@ -0,0 +1,48 @@ +export const StakingUSDSConversions = { + name: 'StakingUSDSConversions' as const, + abi: [ + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + } +] as const, + bytecode: '0x60ac610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603c575f3560e01c8063b88fed9f146040578063c6e6f592146040575b5f80fd5b604e604b3660046060565b90565b60405190815260200160405180910390f35b5f60208284031215606f575f80fd5b503591905056fea26469706673582212200ae303be395ad152744557ee203fbfe5feb59aac112c9eac3c648b7fb6e1234a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSHyperdrive.ts b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdrive.ts new file mode 100644 index 000000000..774d5c1f8 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdrive.ts @@ -0,0 +1,1717 @@ +export const StakingUSDSHyperdrive = { + name: 'StakingUSDSHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "claimRewards", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61034060405234801562000011575f80fd5b5060405162001b5d38038062001b5d8339810160408190526200003491620006ac565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284811661032052608051620001449450169150839050600162000154565b5050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ae90859083906200021f16565b6200021957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020d918691620002c916565b620002198482620002c9565b50505050565b5f805f846001600160a01b0316846040516200023c919062000934565b5f604051808303815f865af19150503d805f811462000277576040519150601f19603f3d011682016040523d82523d5f602084013e6200027c565b606091505b5091509150818015620002aa575080511580620002aa575080806020019051810190620002aa919062000951565b8015620002c057505f856001600160a01b03163b115b95945050505050565b5f620002df6001600160a01b038416836200033a565b905080515f141580156200030657508080602001905181019062000304919062000951565b155b156200033557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034983835f62000350565b9392505050565b606081471015620003775760405163cd78605960e01b81523060048201526024016200032c565b5f80856001600160a01b0316848660405162000394919062000934565b5f6040518083038185875af1925050503d805f8114620003d0576040519150601f19603f3d011682016040523d82523d5f602084013e620003d5565b606091505b509092509050620003e8868383620003f2565b9695505050505050565b6060826200040b57620004058262000456565b62000349565b81511580156200042357506001600160a01b0384163b155b156200044e57604051639996b31560e01b81526001600160a01b03851660048201526024016200032c565b508062000349565b805115620004675780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ba57620004ba62000480565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004eb57620004eb62000480565b604052919050565b5f5b838110156200050f578181015183820152602001620004f5565b50505f910152565b80516001600160a01b03811681146200052e575f80fd5b919050565b5f6080828403121562000544575f80fd5b604051608081016001600160401b038111828210171562000569576200056962000480565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005ac575f80fd5b620005b662000494565b9050620005c38262000517565b8152620005d36020830162000517565b6020820152620005e66040830162000517565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200065181840162000517565b908201526101806200066583820162000517565b908201526101a06200067983820162000517565b908201526101c06200068d83820162000517565b908201526101e0620006a28484830162000533565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c6575f80fd5b89516001600160401b0380821115620006dd575f80fd5b818c0191508c601f830112620006f1575f80fd5b81518181111562000706576200070662000480565b6200071b601f8201601f1916602001620004c0565b91508082528d602082850101111562000732575f80fd5b62000745816020840160208601620004f3565b5099506200075990508b60208c016200059a565b97506200076a6102808b0162000517565b96506200077b6102a08b0162000517565b95506200078c6102c08b0162000517565b94506200079d6102e08b0162000517565b9350620007ae6103008b0162000517565b9250620007bf6103208b0162000517565b9150620007d06103408b0162000517565b90509295985092959850929598565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033557805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000480565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000947818460208701620004f3565b9190910192915050565b5f6020828403121562000962575f80fd5b8151801515811462000349575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110ca62000a935f395f61072001525f81816105f20152818161065c01526107c301525f818161056d015281816107f2015261084f01525f818161052701526109df01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c001528181610794015281816108250152818161087f015281816109b40152610a1201525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110ca5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610ae6565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610af5565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b62565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c21565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c57565b348015610310575f80fd5b5061032461031f366004610c80565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d14565b610689565b348015610368575f80fd5b506102e9610377366004610da3565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610de8565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e3e565b61078e565b348015610465575f80fd5b506102e9610474366004610e78565b6107be565b6103e6610487366004610e98565b6107ec565b348015610497575f80fd5b506102e9610377366004610ef7565b3480156104b1575f80fd5b506102e96104c0366004610f3e565b610820565b6103e66104d3366004610c80565b610849565b3480156104e3575f80fd5b506102e96104f2366004610f71565b61087b565b348015610502575f80fd5b506102e9610511366004610fe9565b6109af565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610de8565b6109d8565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461101e565b610a0d565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a3e565b6106517f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610acc565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610acc565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610acc565b50949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610776575f80fd5b505af1158015610788573d5f803e3d5ffd5b50505050565b5f6107b87f0000000000000000000000000000000000000000000000000000000000000000610acc565b50919050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050565b5f6108167f0000000000000000000000000000000000000000000000000000000000000000610acc565b5095945050505050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f6108737f0000000000000000000000000000000000000000000000000000000000000000610acc565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108af610a3e565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109589190611079565b5f60405180830381855af49150503d805f8114610990576040519150601f19603f3d011682016040523d82523d5f602084013e610995565b606091505b5091509150816109a757805160208201fd5b805160208201f35b6107887f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f80610a037f0000000000000000000000000000000000000000000000000000000000000000610acc565b5094509492505050565b610a367f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109589291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b245780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b5a578181015183820152602001610b42565b50505f910152565b5f60208284031215610b72575f80fd5b815167ffffffffffffffff80821115610b89575f80fd5b818401915084601f830112610b9c575f80fd5b815181811115610bae57610bae610b2c565b604051601f8201601f19908116603f01168101908382118183101715610bd657610bd6610b2c565b81604052828152876020848701011115610bee575f80fd5b610bff836020830160208801610b40565b979650505050505050565b6001600160a01b0381168114610c1e575f80fd5b50565b5f60208284031215610c31575f80fd5b8135610c3c81610c0a565b9392505050565b80358015158114610c52575f80fd5b919050565b5f60208284031215610c67575f80fd5b610c3c82610c43565b5f606082840312156107b8575f80fd5b5f805f60608486031215610c92575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cb6575f80fd5b610cc286828701610c70565b9150509250925092565b5f8083601f840112610cdc575f80fd5b50813567ffffffffffffffff811115610cf3575f80fd5b6020830191508360208260051b8501011115610d0d575f80fd5b9250929050565b5f805f805f8060808789031215610d29575f80fd5b8635610d3481610c0a565b95506020870135610d4481610c0a565b9450604087013567ffffffffffffffff80821115610d60575f80fd5b610d6c8a838b01610ccc565b90965094506060890135915080821115610d84575f80fd5b50610d9189828a01610ccc565b979a9699509497509295939492505050565b5f805f8060808587031215610db6575f80fd5b843593506020850135610dc881610c0a565b92506040850135610dd881610c0a565b9396929550929360600135925050565b5f805f8060808587031215610dfb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e26575f80fd5b610e3287828801610c70565b91505092959194509250565b5f60208284031215610e4e575f80fd5b813567ffffffffffffffff811115610e64575f80fd5b610e7084828501610c70565b949350505050565b5f8060408385031215610e89575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eac575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ede575f80fd5b610eea88828901610c70565b9150509295509295909350565b5f805f8060808587031215610f0a575f80fd5b843593506020850135610f1c81610c0a565b9250604085013591506060850135610f3381610c0a565b939692955090935050565b5f8060408385031215610f4f575f80fd5b8235610f5a81610c0a565b9150610f6860208401610c43565b90509250929050565b5f805f805f805f60e0888a031215610f87575f80fd5b8735610f9281610c0a565b96506020880135610fa281610c0a565b9550610fb060408901610c43565b945060608801359350608088013560ff81168114610fcc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610ffb575f80fd5b83359250602084013561100d81610c0a565b929592945050506040919091013590565b5f805f805f60a08688031215611032575f80fd5b85359450602086013561104481610c0a565b9350604086013561105481610c0a565b925060608601359150608086013561106b81610c0a565b809150509295509295909350565b5f825161108a818460208701610b40565b919091019291505056fea2646970667358221220148f01b3d5d9281e495e93c29dd46580ed72cd70f06b04f46203bd26f3718aad64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "claimRewards()": "372500ab", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..ecca2658a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const StakingUSDSHyperdriveCoreDeployer = { + name: 'StakingUSDSHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061222e8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b620000476200004136600462000387565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80888060200190518101906200007b91906200047f565b60408051336020820152908101859052909150606001604051602081830303815290604052805190602001208c8c8c8b8b8b8b8b89604051620000be9062000103565b620000d299989796959493929190620005c4565b8190604051809103905ff5905080158015620000f0573d5f803e3d5ffd5b509150505b9a9950505050505050505050565b611b5d806200069c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200014c576200014c62000111565b60405290565b5f82601f83011262000162575f80fd5b813567ffffffffffffffff8082111562000180576200018062000111565b604051601f8301601f19908116603f01168101908282118183101715620001ab57620001ab62000111565b81604052838152866020858801011115620001c4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b6001600160a01b0381168114620001f8575f80fd5b50565b80356200020881620001e3565b919050565b5f608082840312156200021e575f80fd5b6040516080810181811067ffffffffffffffff8211171562000244576200024462000111565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f610260828403121562000287575f80fd5b6200029162000125565b90506200029e82620001fb565b8152620002ae60208301620001fb565b6020820152620002c160408301620001fb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013581830152506101606200032c818401620001fb565b9082015261018062000340838201620001fb565b908201526101a062000354838201620001fb565b908201526101c062000368838201620001fb565b908201526101e06200037d848483016200020d565b9082015292915050565b5f805f805f805f805f806103808b8d031215620003a2575f80fd5b8a3567ffffffffffffffff80821115620003ba575f80fd5b620003c88e838f0162000152565b9b50620003d98e60208f0162000275565b9a50620003ea6102808e01620001fb565b99506102a08d013591508082111562000401575f80fd5b50620004108d828e0162000152565b975050620004226102c08c01620001fb565b9550620004336102e08c01620001fb565b9450620004446103008c01620001fb565b9350620004556103208c01620001fb565b9250620004666103408c01620001fb565b91506103608b013590509295989b9194979a5092959850565b5f6020828403121562000490575f80fd5b81516200049d81620001e3565b9392505050565b80516001600160a01b031682526020810151620004cc60208401826001600160a01b03169052565b506040810151620004e860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200055b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103608083528b5180828501525f91505b80821015620005fa576020828e0101516103808386010152602082019150620005d6565b61038091505f82828601015281601f19601f8301168501019250505062000625602083018b620004a4565b6001600160a01b0389166102808301526001600160a01b0388166102a08301526001600160a01b0387166102c08301526001600160a01b0386166102e08301526001600160a01b0385166103008301526001600160a01b0384166103208301526001600160a01b038316610340830152620000f556fe61034060405234801562000011575f80fd5b5060405162001b5d38038062001b5d8339810160408190526200003491620006ac565b60015f81905588516001600160a01b0390811660809081526020808c0151831660a0908152918c01516101a052908b01516101c05260c0808c01516101e090815260e0808e015161020052610120808f0151909352610100808f0151909152610140808f0151909152908d01805151909252815190920151909152805160409081015161016052905160609081015161018052908b01518216610240528a01516102605288166102205281908a908a908a908a908a908a908a908a90620000fc898262000868565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005284811661032052608051620001449450169150839050600162000154565b5050505050505050505062000972565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001ae90859083906200021f16565b6200021957604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200020d918691620002c916565b620002198482620002c9565b50505050565b5f805f846001600160a01b0316846040516200023c919062000934565b5f604051808303815f865af19150503d805f811462000277576040519150601f19603f3d011682016040523d82523d5f602084013e6200027c565b606091505b5091509150818015620002aa575080511580620002aa575080806020019051810190620002aa919062000951565b8015620002c057505f856001600160a01b03163b115b95945050505050565b5f620002df6001600160a01b038416836200033a565b905080515f141580156200030657508080602001905181019062000304919062000951565b155b156200033557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034983835f62000350565b9392505050565b606081471015620003775760405163cd78605960e01b81523060048201526024016200032c565b5f80856001600160a01b0316848660405162000394919062000934565b5f6040518083038185875af1925050503d805f8114620003d0576040519150601f19603f3d011682016040523d82523d5f602084013e620003d5565b606091505b509092509050620003e8868383620003f2565b9695505050505050565b6060826200040b57620004058262000456565b62000349565b81511580156200042357506001600160a01b0384163b155b156200044e57604051639996b31560e01b81526001600160a01b03851660048201526024016200032c565b508062000349565b805115620004675780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004ba57620004ba62000480565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004eb57620004eb62000480565b604052919050565b5f5b838110156200050f578181015183820152602001620004f5565b50505f910152565b80516001600160a01b03811681146200052e575f80fd5b919050565b5f6080828403121562000544575f80fd5b604051608081016001600160401b038111828210171562000569576200056962000480565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005ac575f80fd5b620005b662000494565b9050620005c38262000517565b8152620005d36020830162000517565b6020820152620005e66040830162000517565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200065181840162000517565b908201526101806200066583820162000517565b908201526101a06200067983820162000517565b908201526101c06200068d83820162000517565b908201526101e0620006a28484830162000533565b9082015292915050565b5f805f805f805f805f6103608a8c031215620006c6575f80fd5b89516001600160401b0380821115620006dd575f80fd5b818c0191508c601f830112620006f1575f80fd5b81518181111562000706576200070662000480565b6200071b601f8201601f1916602001620004c0565b91508082528d602082850101111562000732575f80fd5b62000745816020840160208601620004f3565b5099506200075990508b60208c016200059a565b97506200076a6102808b0162000517565b96506200077b6102a08b0162000517565b95506200078c6102c08b0162000517565b94506200079d6102e08b0162000517565b9350620007ae6103008b0162000517565b9250620007bf6103208b0162000517565b9150620007d06103408b0162000517565b90509295985092959850929598565b600181811c90821680620007f457607f821691505b6020821081036200081357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200033557805f5260205f20601f840160051c81016020851015620008405750805b601f840160051c820191505b8181101562000861575f81556001016200084c565b5050505050565b81516001600160401b0381111562000884576200088462000480565b6200089c81620008958454620007df565b8462000819565b602080601f831160018114620008d2575f8415620008ba5750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b828110156200090257888601518255948401946001909101908401620008e1565b50858210156200092057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825162000947818460208701620004f3565b9190910192915050565b5f6020828403121562000962575f80fd5b8151801515811462000349575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516110ca62000a935f395f61072001525f81816105f20152818161065c01526107c301525f818161056d015281816107f2015261084f01525f818161052701526109df01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c001528181610794015281816108250152818161087f015281816109b40152610a1201525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50506110ca5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610ae6565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610af5565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610b62565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c21565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610c57565b348015610310575f80fd5b5061032461031f366004610c80565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d14565b610689565b348015610368575f80fd5b506102e9610377366004610da3565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610de8565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610e3e565b61078e565b348015610465575f80fd5b506102e9610474366004610e78565b6107be565b6103e6610487366004610e98565b6107ec565b348015610497575f80fd5b506102e9610377366004610ef7565b3480156104b1575f80fd5b506102e96104c0366004610f3e565b610820565b6103e66104d3366004610c80565b610849565b3480156104e3575f80fd5b506102e96104f2366004610f71565b61087b565b348015610502575f80fd5b506102e9610511366004610fe9565b6109af565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610de8565b6109d8565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461101e565b610a0d565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610a3e565b6106517f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610acc565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610acc565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610acc565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610acc565b50949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610776575f80fd5b505af1158015610788573d5f803e3d5ffd5b50505050565b5f6107b87f0000000000000000000000000000000000000000000000000000000000000000610acc565b50919050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050565b5f6108167f0000000000000000000000000000000000000000000000000000000000000000610acc565b5095945050505050565b6107e77f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f6108737f0000000000000000000000000000000000000000000000000000000000000000610acc565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108af610a3e565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109589190611079565b5f60405180830381855af49150503d805f8114610990576040519150601f19603f3d011682016040523d82523d5f602084013e610995565b606091505b5091509150816109a757805160208201fd5b805160208201f35b6107887f0000000000000000000000000000000000000000000000000000000000000000610acc565b5f80610a037f0000000000000000000000000000000000000000000000000000000000000000610acc565b5094509492505050565b610a367f0000000000000000000000000000000000000000000000000000000000000000610acc565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109589291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610b245780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610b5a578181015183820152602001610b42565b50505f910152565b5f60208284031215610b72575f80fd5b815167ffffffffffffffff80821115610b89575f80fd5b818401915084601f830112610b9c575f80fd5b815181811115610bae57610bae610b2c565b604051601f8201601f19908116603f01168101908382118183101715610bd657610bd6610b2c565b81604052828152876020848701011115610bee575f80fd5b610bff836020830160208801610b40565b979650505050505050565b6001600160a01b0381168114610c1e575f80fd5b50565b5f60208284031215610c31575f80fd5b8135610c3c81610c0a565b9392505050565b80358015158114610c52575f80fd5b919050565b5f60208284031215610c67575f80fd5b610c3c82610c43565b5f606082840312156107b8575f80fd5b5f805f60608486031215610c92575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610cb6575f80fd5b610cc286828701610c70565b9150509250925092565b5f8083601f840112610cdc575f80fd5b50813567ffffffffffffffff811115610cf3575f80fd5b6020830191508360208260051b8501011115610d0d575f80fd5b9250929050565b5f805f805f8060808789031215610d29575f80fd5b8635610d3481610c0a565b95506020870135610d4481610c0a565b9450604087013567ffffffffffffffff80821115610d60575f80fd5b610d6c8a838b01610ccc565b90965094506060890135915080821115610d84575f80fd5b50610d9189828a01610ccc565b979a9699509497509295939492505050565b5f805f8060808587031215610db6575f80fd5b843593506020850135610dc881610c0a565b92506040850135610dd881610c0a565b9396929550929360600135925050565b5f805f8060808587031215610dfb575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610e26575f80fd5b610e3287828801610c70565b91505092959194509250565b5f60208284031215610e4e575f80fd5b813567ffffffffffffffff811115610e64575f80fd5b610e7084828501610c70565b949350505050565b5f8060408385031215610e89575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610eac575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610ede575f80fd5b610eea88828901610c70565b9150509295509295909350565b5f805f8060808587031215610f0a575f80fd5b843593506020850135610f1c81610c0a565b9250604085013591506060850135610f3381610c0a565b939692955090935050565b5f8060408385031215610f4f575f80fd5b8235610f5a81610c0a565b9150610f6860208401610c43565b90509250929050565b5f805f805f805f60e0888a031215610f87575f80fd5b8735610f9281610c0a565b96506020880135610fa281610c0a565b9550610fb060408901610c43565b945060608801359350608088013560ff81168114610fcc575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215610ffb575f80fd5b83359250602084013561100d81610c0a565b929592945050506040919091013590565b5f805f805f60a08688031215611032575f80fd5b85359450602086013561104481610c0a565b9350604086013561105481610c0a565b925060608601359150608086013561106b81610c0a565b809150509295509295909350565b5f825161108a818460208701610b40565b919091019291505056fea2646970667358221220148f01b3d5d9281e495e93c29dd46580ed72cd70f06b04f46203bd26f3718aad64736f6c63430008160033a2646970667358221220e94fed4f90e55acdf8f46e257e6323197e5bc0fbc32985963628b6613ae1d22164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..5f3db1d7f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSHyperdriveDeployerCoordinator.ts @@ -0,0 +1,798 @@ +export const StakingUSDSHyperdriveDeployerCoordinator = { + name: 'StakingUSDSHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b5060405162002a7b38038062002a7b8339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516126616200041a5f395f81816102990152610dd001525f81816103170152610c9d01525f818161037d0152610b6a01525f81816102e40152610a3701525f818161034a015261082e01525f8181610440015261115901525f81816103ee01528181610547015281816107570152818161085e01528181610a6701528181610b9a01528181610ccd01528181610e0001528181610f2d015261118a01526126615ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f59214610410578063c83e1f511461042f578063e990eba814610462578063e99be39614610481575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610494565b60405161011f9190611bb5565b60405180910390f35b348015610133575f80fd5b506101126104b0565b61014f61014a366004611cea565b61053b565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611da8565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611dbf565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611da8565b6106d0565b3480156103c9575f80fd5b506102bb6103d8366004611f93565b61074b565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b5061014f61042a366004611da8565b610ee7565b34801561043a575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046d575f80fd5b506102bb61047c366004611ffc565b610f21565b34801561048c575f80fd5b50600561014f565b6040518060600160405280602881526020016126046028913981565b5f80546104bc90612096565b80601f01602080910402602001604051908101604052809291908181526020018280546104e890612096565b80156105335780601f1061050a57610100808354040283529160200191610533565b820191905f5260205f20905b81548152906001019060200180831161051657829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058557604051634084351160e01b815260040160405180910390fd5b61058d611294565b5f868152600160205260409020600301546001600160a01b0316806105c55760405163952b05cb60e01b815260040160405180910390fd5b5f6105d2828888876112b5565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b8152600401610605939291906120ce565b60206040518083038185885af1158015610621573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106469190612113565b92505f610653823461213e565b905080156106c3576040515f90339083908381818185875af1925050503d805f811461069a576040519150601f19603f3d011682016040523d82523d5f602084013e61069f565b606091505b50509050806106c1576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015610721573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107459190612113565b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079557604051634084351160e01b815260040160405180910390fd5b5f86815260016020526040812090849003610945578054156107ca57604051633be1b34d60e11b815260040160405180910390fd5b6107d4868661136f565b5f6107df8787611591565b90505f876040516020016107f39190612151565b6040516020818303038152906040528051906020012090505f878051906020012090505f6108208a6115aa565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c60405160200161089a929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016108cf9493929190612384565b6020604051808303815f875af11580156108eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090f91906123c9565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106c7565b5f87815260016020526040902054806109715760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016109839190612151565b60405160208183030381529060405280519060200120146109b75760405163332ee11f60e01b815260040160405180910390fd5b600182015486516020880120146109e157604051631a3272d160e31b815260040160405180910390fd5b6109eb878761136f565b5f6109f5886115aa565b6002840154608082015290506001869003610b355760058301546001600160a01b031615610a355760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a9c939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ad19493929190612384565b6020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1191906123c9565b6005840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600203610c685760068301546001600160a01b031615610b685760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610bcf939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610c049493929190612384565b6020604051808303815f875af1158015610c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4491906123c9565b6006840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600303610d9b5760078301546001600160a01b031615610c9b5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610d02939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610d379493929190612384565b6020604051808303815f875af1158015610d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7791906123c9565b6007840180546001600160a01b0319166001600160a01b03831617905593506106c3565b85600403610ece5760088301546001600160a01b031615610dce5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610e35939291906123e4565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610e6a9493929190612384565b6020604051808303815f875af1158015610e86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaa91906123c9565b6008840180546001600160a01b0319166001600160a01b03831617905593506106c3565b604051631d9f815960e11b815260040160405180910390fd5b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f59290602401610706565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6b57604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e084015260089093015416610100820152901561101357604051632c95caeb60e01b815260040160405180910390fd5b80516110325760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580611057575060a08101516001600160a01b0316155b8061106d575060c08101516001600160a01b0316155b80611083575060e08101516001600160a01b0316155b8061109a57506101008101516001600160a01b0316155b156110b85760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110cb908790602001612151565b60405160208183030381529060405280519060200120146110ff5760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461112a57604051631a3272d160e31b815260040160405180910390fd5b611134858561136f565b5f61113e866115aa565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d6040516020016111e0929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b815260040161121b9a99989796959493929190612405565b6020604051808303815f875af1158015611237573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125b91906123c9565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156112b357604051631574f9f360e01b815260040160405180910390fd5b565b5f81602001516112d85760405163350b944160e11b815260040160405180910390fd5b5f856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611315573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133991906123c9565b90506113506001600160a01b038216863087611678565b6113646001600160a01b03821687866116e5565b505f95945050505050565b6113798282611774565b5f8180602001905181019061138e91906123c9565b9050806001600160a01b03166372f702f36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f091906123c9565b6001600160a01b0316835f01516001600160a01b03161461142457604051630722152560e11b815260040160405180910390fd5b60208301516001600160a01b0316156114505760405163073f739d60e51b815260040160405180910390fd5b6003835f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611491573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b59190612487565b6114bf91906124a7565b6114ca90600a6125a0565b836080015110156114ee576040516349db44f560e01b815260040160405180910390fd5b6003835f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115539190612487565b61155d91906124a7565b61156890600a6125a0565b8360a00151101561158c576040516318c9522360e11b815260040160405180910390fd5b505050565b5f6115a3670de0b6b3a76400006106d0565b9392505050565b6115b2611a94565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b0384811660248301528381166044830152606482018390526116df9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061188c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261173684826118f2565b6116df576040516001600160a01b0384811660248301525f604483015261176a91869182169063095ea7b3906064016116ad565b6116df848261188c565b6103e88260800151101561179b576040516349db44f560e01b815260040160405180910390fd5b8161010001515f036117c057604051635428734d60e01b815260040160405180910390fd5b8161010001518260e0015110806117ea57508161010001518260e001516117e791906125ae565b15155b156118085760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806118345750670de0b6b3a7640000826101c0015160200151115b8061184f5750670de0b6b3a7640000826101c0015160400151115b8061186a5750670de0b6b3a7640000826101c0015160600151115b15611888576040516322f72cc360e11b815260040160405180910390fd5b5050565b5f6118a06001600160a01b0384168361198f565b905080515f141580156118c45750808060200190518101906118c291906125cd565b155b1561158c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b03168460405161190d91906125e8565b5f604051808303815f865af19150503d805f8114611946576040519150601f19603f3d011682016040523d82523d5f602084013e61194b565b606091505b509150915081801561197557508051158061197557508080602001905181019061197591906125cd565b80156106c75750505050506001600160a01b03163b151590565b60606115a383835f845f80856001600160a01b031684866040516119b391906125e8565b5f6040518083038185875af1925050503d805f81146119ed576040519150601f19603f3d011682016040523d82523d5f602084013e6119f2565b606091505b5091509150611a02868383611a0c565b9695505050505050565b606082611a2157611a1c82611a68565b6115a3565b8151158015611a3857506001600160a01b0384163b155b15611a6157604051639996b31560e01b81526001600160a01b03851660048201526024016118e9565b50806115a3565b805115611a785780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611b6360405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611b82578181015183820152602001611b6a565b50505f910152565b5f8151808452611ba1816020860160208601611b68565b601f01601f19169290920160200192915050565b602081525f6115a36020830184611b8a565b6001600160a01b0381168114611a91575f80fd5b8035611be681611bc7565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611c2257611c22611beb565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611c2257611c22611beb565b8015158114611a91575f80fd5b5f67ffffffffffffffff80841115611c7357611c73611beb565b604051601f8501601f19908116603f01168101908282118183101715611c9b57611c9b611beb565b81604052809350858152868686011115611cb3575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611cdb575f80fd5b6115a383833560208501611c59565b5f805f805f60a08688031215611cfe575f80fd5b853594506020860135611d1081611bc7565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611d3a575f80fd5b908701906060828a031215611d4d575f80fd5b611d55611bff565b8235611d6081611bc7565b81526020830135611d7081611c4c565b6020820152604083013582811115611d86575f80fd5b611d928b828601611ccc565b6040830152508093505050509295509295909350565b5f60208284031215611db8575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611e4c575f80fd5b6040516080810181811067ffffffffffffffff82111715611e6f57611e6f611beb565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611eb1575f80fd5b611eb9611c28565b9050611ec482611bdb565b8152611ed260208301611bdb565b6020820152611ee360408301611bdb565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611f40818401611bdb565b90820152610160611f52838201611bdb565b90820152610180611f64838201611bdb565b908201526101a0611f76838201611bdb565b908201526101c0611f8984848301611e3c565b9082015292915050565b5f805f805f6102c08688031215611fa8575f80fd5b85359450611fb98760208801611ea0565b935061026086013567ffffffffffffffff811115611fd5575f80fd5b611fe188828901611ccc565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215612011575f80fd5b85359450602086013567ffffffffffffffff8082111561202f575f80fd5b818801915088601f830112612042575f80fd5b61205189833560208501611c59565b95506120608960408a01611ea0565b9450610280880135915080821115612076575f80fd5b5061208388828901611ccc565b959894975092956102a001359392505050565b600181811c908216806120aa57607f821691505b6020821081036120c857634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a0840152611a0260c0840182611b8a565b5f60208284031215612123575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107455761074561212a565b81516001600160a01b031681526102408101602083015161217d60208401826001600160a01b03169052565b50604083015161219860408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516121fe828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611e34565b80516001600160a01b03168252602081015161228e60208401826001600160a01b03169052565b5060408101516122a960408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161231b828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e0808201518051828501526020810151610200850152604081015161022085015260608101516102408501526116df565b5f6102c06123928388612267565b6001600160a01b03861661026084015261028083018190526123b681840186611b8a565b915050826102a083015295945050505050565b5f602082840312156123d9575f80fd5b81516115a381611bc7565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526124188184018e611b8a565b9050612427602084018d612267565b6001600160a01b038b81166102808501528382036102a085015261244b828c611b8a565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612497575f80fd5b815160ff811681146115a3575f80fd5b60ff82811682821603908111156107455761074561212a565b600181815b808511156124fa57815f19048211156124e0576124e061212a565b808516156124ed57918102915b93841c93908002906124c5565b509250929050565b5f8261251057506001610745565b8161251c57505f610745565b8160018114612532576002811461253c57612558565b6001915050610745565b60ff84111561254d5761254d61212a565b50506001821b610745565b5060208310610133831016604e8410600b841016171561257b575081810a610745565b61258583836124c0565b805f19048211156125985761259861212a565b029392505050565b5f6115a360ff841683612502565b5f826125c857634e487b7160e01b5f52601260045260245ffd5b500690565b5f602082840312156125dd575f80fd5b81516115a381611c4c565b5f82516125f9818460208701611b68565b919091019291505056fe5374616b696e6755534453487970657264726976654465706c6f796572436f6f7264696e61746f72a2646970667358221220f8e3dbc71fbcda0461ac63ee6546e0baea3a203ed5f053b8d066f366bb4d4f2464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget0.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget0.ts new file mode 100644 index 000000000..de698f177 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget0.ts @@ -0,0 +1,1951 @@ +export const StakingUSDSTarget0 = { + name: 'StakingUSDSTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stakingUSDS", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004145380380620041458339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613956620007ef5f395f818161065f01528181611e840152612a4301525f8181610db0015261238201525f8181610d81015261234501525f8181610c5d01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0c01528181611fe0015261213101525f610e4801525f8181610e22015261252701525f8181610dfc015261250101525f8181610dd601526124db01525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254d01525f8181610e6e01528181611320015261292301525f8181610e940152612b0901525f81816106200152610d5201525f818161078901528181610d23015281816112bd0152612aba01526139565ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806310cded21146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d41565b61056c565b6040516102579190612da5565b60405180910390f35b61027361026e366004612dcb565b6105a3565b005b610273610283366004612df3565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102a0610651565b6102736102ce366004612e1c565b610690565b6102736102e1366004612eed565b6106ac565b6102736102f4366004612f7c565b6106c2565b61030c610307366004612d41565b6106d5565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612fc1565b61073e565b604051908152602001610257565b610367610783565b60405160ff9091168152602001610257565b610351610387366004613000565b61081b565b610351610853565b6103516103a236600461302e565b610871565b6103ba6103b5366004612dcb565b61087b565b6040519015158152602001610257565b61024a6103d8366004612d41565b61089a565b6102736103eb366004613065565b6108a8565b61024a6108f6565b61040061092b565b60405161025791906130ac565b61027361041b36600461314d565b5050565b61035161042d366004612dcb565b610c24565b6102a0610c4f565b610273610448366004613179565b610c8e565b61027361045b36600461314d565b610c9f565b61027361046e366004612dcb565b50565b610479610d0a565b60405161025791906131ae565b610351610494366004612d41565b6111ca565b6103516104a7366004612d41565b6111d7565b6104bf6104ba3660046132d4565b6111f8565b6040516102579190613313565b6102a06112af565b6103516112ee565b6103516104ea366004612d41565b611307565b6103516104fd366004612d41565b611314565b61050a61134a565b6040516102579190613356565b610273610525366004613467565b611455565b6103ba6105383660046134c2565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612da5565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001745374616b696e67555344534879706572647269766560581b81525060405160200161058a9190612da5565b90565b60606105f8600160405160200161058a91906134ee565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b6106a1898989898989898989611a01565b505050505050505050565b6106ba868686868686611bf3565b505050505050565b6106cf8484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077c910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610807919061359b565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261084d910161058a565b92915050565b5f6105f861085f611e61565b60405160200161058a91815260200190565b5f61084d82611ef7565b5f61059e6108888361212d565b6040805191151560208301520161058a565b606061059e61057a8361220b565b836108b281612307565b6001600160a01b0316336001600160a01b0316146108e357604051632aab8bd360e01b815260040160405180910390fd5b6108ef858585856123c4565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612da5565b610995604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61099e612430565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a0891906135de565b610a1291906135f1565b90505f8215610b215773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610a3e85612442565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190613604565b509050610b1e81846125cc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bf157610bec84866125e0565b610bf3565b5f5b81526003546001600160801b0316602091820152604051919250610c1d9161058a918491016130ac565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c9a838383336123c4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d12612c6d565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613632565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131ae565b5f61059e61085f836125f4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461364d565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613661565b9050602002013590505f815490508084848151811061127e5761127e613661565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613313565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61085f83612669565b5f61059e61085f6113457f0000000000000000000000000000000000000000000000000000000000000000856135de565b6126a3565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f81612307565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b6106ba8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161084d910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126e3565b90505f83600381111561156e5761156e6135b6565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135b6565b036115e057806040516020016115ca9190613675565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135b6565b0361160a57806040516020016115ca91906136ad565b600383600381111561161e5761161e6135b6565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612da5565b60405180910390fd5b611690612795565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613632565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613632565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd3361212d565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136e6565b90506118766001600160a01b03851684836127bd565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613632565b6001600160a01b0316336001600160a01b031614158015611990575061198e3361212d565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613661565b905060200201358888868686818110611c8857611c88613661565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135f1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135f1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135de565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ef2906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611ec9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eed91906136e6565b612669565b905090565b5f611f00612795565b611f098261280f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613632565b90506001600160a01b038116611fa36020850185612dcb565b6001600160a01b031614611fca57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061207457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561203a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205e9190613632565b6001600160a01b0316336001600160a01b031614155b801561208657506120843361212d565b155b156120a3576040516282b42960e81b815260040160405180910390fd5b5f6120ac612430565b600980545f9091559091506120c2818387612844565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461210160408a0160208b01612df3565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561218a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121b191908101906136fd565b90505f5b815181101561220257836001600160a01b03168282815181106121da576121da613661565b60200260200101516001600160a01b0316036121fa575060019392505050565b6001016121b5565b505f9392505050565b606060f882901c6001600160f81b0383165f612226826126e3565b90505f83600381111561223b5761223b6135b6565b0361226d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612281576122816135b6565b0361229757806040516020016115ca91906137bd565b60028360038111156122ab576122ab6135b6565b036122c157806040516020016115ca91906137f4565b60038360038111156122d5576122d56135b6565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ef2670de0b6b3a76400006125f4565b61249a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161259291166128da565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125c4929004166128da565b905292915050565b5f61077c8383670de0b6b3a764000061294e565b5f61077c83670de0b6b3a76400008461294e565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015612645573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084d91906136e6565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f5929060240161262a565b5f6126c8600b5f6126b5600286612969565b81526020019081526020015f205461299d565b6126d9600b5f6126b5600187612969565b61084d919061381f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127875761271c600a86613852565b6127279060306135de565b60f81b82600161273784876135f1565b61274191906135f1565b8151811061275157612751613661565b60200101906001600160f81b03191690815f1a9053508061277181613865565b91506127809050600a8661387d565b945061270b565b918290030190815292915050565b60025f54036127b757604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c9a9084906129ca565b5f61281d6020830183612dcb565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061285085856125cc565b905061285b81612669565b9450845f0361286d575f91505061077c565b8491506128806040840160208501612df3565b156128af576128a8856128966020860186612dcb565b6128a36040870187613890565b612a2b565b91506128d2565b6128d2856128c06020860186612dcb565b6128cd6040870187613890565b612ae9565b509392505050565b5f80670de0b6b3a76400006128ed612b02565b6128f791906138d3565b9050808311612906575f612910565b61291081846135f1565b915061077c612947670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d3565b83906125e0565b5f825f190484118302158202612962575f80fd5b5091020490565b5f6001600160f81b038211156129925760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129c65760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129de6001600160a01b03841683612b2d565b905080515f14158015612a02575080806020019051810190612a0091906138ea565b155b15610c9a57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a8c575f80fd5b505af1158015612a9e573d5f803e3d5ffd5b50505050612aab856125f4565b9050612ae16001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127bd565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ef2427f0000000000000000000000000000000000000000000000000000000000000000612b3a565b606061077c83835f612b4f565b5f612b458284613852565b61077c90846135f1565b606081471015612b745760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b8f9190613905565b5f6040518083038185875af1925050503d805f8114612bc9576040519150601f19603f3d011682016040523d82523d5f602084013e612bce565b606091505b5091509150612bde868383612be8565b9695505050505050565b606082612bfd57612bf882612c44565b61077c565b8151158015612c1457506001600160a01b0384163b155b15612c3d57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061077c565b805115612c545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d3c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d51575f80fd5b5035919050565b5f5b83811015612d72578181015183820152602001612d5a565b50505f910152565b5f8151808452612d91816020860160208601612d58565b601f01601f19169290920160200192915050565b602081525f61077c6020830184612d7a565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612ddb575f80fd5b813561077c81612db7565b801515811461046e575f80fd5b5f60208284031215612e03575f80fd5b813561077c81612de6565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e35575f80fd5b8935985060208a0135975060408a0135612e4e81612db7565b965060608a0135612e5e81612db7565b955060808a0135612e6e81612de6565b945060a08a0135935060c08a0135612e8581612e0e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612eb5575f80fd5b50813567ffffffffffffffff811115612ecc575f80fd5b6020830191508360208260051b8501011115612ee6575f80fd5b9250929050565b5f805f805f8060808789031215612f02575f80fd5b8635612f0d81612db7565b95506020870135612f1d81612db7565b9450604087013567ffffffffffffffff80821115612f39575f80fd5b612f458a838b01612ea5565b90965094506060890135915080821115612f5d575f80fd5b50612f6a89828a01612ea5565b979a9699509497509295939492505050565b5f805f8060808587031215612f8f575f80fd5b843593506020850135612fa181612db7565b92506040850135612fb181612db7565b9396929550929360600135925050565b5f805f60608486031215612fd3575f80fd5b833592506020840135612fe581612db7565b91506040840135612ff581612db7565b809150509250925092565b5f8060408385031215613011575f80fd5b82359150602083013561302381612db7565b809150509250929050565b5f6020828403121561303e575f80fd5b813567ffffffffffffffff811115613054575f80fd5b82016060818503121561077c575f80fd5b5f805f8060808587031215613078575f80fd5b84359350602085013561308a81612db7565b92506040850135915060608501356130a181612db7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561315e575f80fd5b823561316981612db7565b9150602083013561302381612de6565b5f805f6060848603121561318b575f80fd5b83359250602084013561319d81612db7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131da60208401826001600160a01b03169052565b5060408301516131f560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613267828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132e5575f80fd5b823567ffffffffffffffff8111156132fb575f80fd5b61330785828601612ea5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561334a5783518352928401929184019160010161332e565b50909695505050505050565b81516001600160801b031681526101808101602083015161338260208401826001600160801b03169052565b50604083015161339d60408401826001600160801b03169052565b5060608301516133b860608401826001600160801b03169052565b5060808301516133cd6080840182600f0b9052565b5060a08301516133e860a08401826001600160801b03169052565b5060c083015161340360c08401826001600160801b03169052565b5060e083015161341e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132cc565b5f805f805f60a0868803121561347b575f80fd5b85359450602086013561348d81612db7565b9350604086013561349d81612db7565b92506060860135915060808601356134b481612db7565b809150509295509295909350565b5f80604083850312156134d3575f80fd5b82356134de81612db7565b9150602083013561302381612db7565b5f60208083525f84545f60018260011c9150600183168061351057607f831692505b60208310810361352e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561354d57600181146135635761358c565b60ff198616825284151560051b8201965061358c565b5f8b8152602090205f5b868110156135865781548482015290850190890161356d565b83019750505b50949998505050505050505050565b5f602082840312156135ab575f80fd5b815161077c81612e0e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561084d5761084d6135ca565b8181038181111561084d5761084d6135ca565b5f8060408385031215613615575f80fd5b82519150602083015161302381612de6565b805161059e81612db7565b5f60208284031215613642575f80fd5b815161077c81612db7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136a0816011850160208701612d58565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136d9816012850160208701612d58565b9190910160120192915050565b5f602082840312156136f6575f80fd5b5051919050565b5f602080838503121561370e575f80fd5b825167ffffffffffffffff80821115613725575f80fd5b818501915085601f830112613738575f80fd5b81518181111561374a5761374a61364d565b8060051b604051601f19603f8301168101818110858211171561376f5761376f61364d565b60405291825284820192508381018501918883111561378c575f80fd5b938501935b828510156137b1576137a285613627565b84529385019392850192613791565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137e7816010850160208701612d58565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136a0816011850160208701612d58565b8181035f8312801583831316838312821617156112a8576112a86135ca565b634e487b7160e01b5f52601260045260245ffd5b5f826138605761386061383e565b500690565b5f60018201613876576138766135ca565b5060010190565b5f8261388b5761388b61383e565b500490565b5f808335601e198436030181126138a5575f80fd5b83018035915067ffffffffffffffff8211156138bf575f80fd5b602001915036819003821315612ee6575f80fd5b808202811582820484141761084d5761084d6135ca565b5f602082840312156138fa575f80fd5b815161077c81612de6565b5f8251613916818460208701612d58565b919091019291505056fea26469706673582212200089b3b744b4839e293dee142b1ff3995f5352bc527e32755694c11b7bdcf83164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "stakingUSDS()": "10cded21", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget0Deployer.ts new file mode 100644 index 000000000..df8d9f459 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const StakingUSDSTarget0Deployer = { + name: 'StakingUSDSTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506146ab8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614145806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162004145380380620041458339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613956620007ef5f395f818161065f01528181611e840152612a4301525f8181610db0015261238201525f8181610d81015261234501525f8181610c5d01528181610ee001528181610f6e01528181610ffc0152818161108a0152818161169301528181611729015281816118eb01528181611f0c01528181611fe0015261213101525f610e4801525f8181610e22015261252701525f8181610dfc015261250101525f8181610dd601526124db01525f61119501525f61116f01525f61114901525f61112301525f8181610eba015261254d01525f8181610e6e01528181611320015261292301525f8181610e940152612b0901525f81816106200152610d5201525f818161078901528181610d23015281816112bd0152612aba01526139565ff3fe608060405234801561000f575f80fd5b5060043610610233575f3560e01c806354fd4d5011610135578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104ef578063d816574314610502578063e44808bc14610517578063e985e9c51461052a578063fba560081461053d575f80fd5b8063bd85b03914610499578063becee9c3146104ac578063c55dae63146104cc578063c69e16ad146104d4578063c6e6f592146104dc575f80fd5b80639cd241af116100fa5780639cd241af1461043a578063a22cb4651461044d578063ab033ea914610460578063b0d9658014610471578063b88fed9f14610486575f80fd5b806354fd4d50146103f057806360246c88146103f85780637180c8ca1461040d5780637ecebe001461041f578063950c5d0314610432575f80fd5b80631c0f12b6116101c15780633a98ef39116101865780633a98ef391461038c5780633e691db91461039457806346fbf68e146103a75780634e41a1fb146103ca5780634ed2d6ac146103dd575f80fd5b80631c0f12b6146102e657806320fc4881146102f957806321ff32a91461033e578063313ce5671461035f5780633656eec214610379575f80fd5b806306fdde031161020757806306fdde03146102905780630a4e14931461029857806310cded21146102b857806314e5f07b146102c057806317fad7fc146102d3575f80fd5b8062ad800c1461023757806301681a621461026057806302329a291461027557806304baa00b14610288575b5f80fd5b61024a610245366004612d41565b61056c565b6040516102579190612da5565b60405180910390f35b61027361026e366004612dcb565b6105a3565b005b610273610283366004612df3565b6105ac565b61024a6105b5565b61024a6105fb565b6102a0610612565b6040516001600160a01b039091168152602001610257565b6102a0610651565b6102736102ce366004612e1c565b610690565b6102736102e1366004612eed565b6106ac565b6102736102f4366004612f7c565b6106c2565b61030c610307366004612d41565b6106d5565b6040805182516001600160801b0390811682526020808501518216908301529282015190921690820152606001610257565b61035161034c366004612fc1565b61073e565b604051908152602001610257565b610367610783565b60405160ff9091168152602001610257565b610351610387366004613000565b61081b565b610351610853565b6103516103a236600461302e565b610871565b6103ba6103b5366004612dcb565b61087b565b6040519015158152602001610257565b61024a6103d8366004612d41565b61089a565b6102736103eb366004613065565b6108a8565b61024a6108f6565b61040061092b565b60405161025791906130ac565b61027361041b36600461314d565b5050565b61035161042d366004612dcb565b610c24565b6102a0610c4f565b610273610448366004613179565b610c8e565b61027361045b36600461314d565b610c9f565b61027361046e366004612dcb565b50565b610479610d0a565b60405161025791906131ae565b610351610494366004612d41565b6111ca565b6103516104a7366004612d41565b6111d7565b6104bf6104ba3660046132d4565b6111f8565b6040516102579190613313565b6102a06112af565b6103516112ee565b6103516104ea366004612d41565b611307565b6103516104fd366004612d41565b611314565b61050a61134a565b6040516102579190613356565b610273610525366004613467565b611455565b6103ba6105383660046134c2565b61149d565b6105456114e0565b6040805182516001600160801b039081168252602093840151169281019290925201610257565b606061059e61057a8361153e565b60405160200161058a9190612da5565b604051602081830303815290604052611664565b919050565b61046e81611688565b61046e816118e9565b60606105f8604051806040016040528060158152602001745374616b696e67555344534879706572647269766560581b81525060405160200161058a9190612da5565b90565b60606105f8600160405160200161058a91906134ee565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b6106a1898989898989898989611a01565b505050505050505050565b6106ba868686868686611bf3565b505050505050565b6106cf8484848433611ca6565b50505050565b604080516060810182525f808252602082018190529181019190915261059e60085f8481526020019081526020015f2060405160200161058a919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b038681168552908352818420908516845282528083205481519283015261077c910161058a565b9392505050565b5f6105f87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610807919061359b565b6040805160ff90921660208301520161058a565b5f828152600a602090815260408083206001600160a01b038516845282528083205481519283015261084d910161058a565b92915050565b5f6105f861085f611e61565b60405160200161058a91815260200190565b5f61084d82611ef7565b5f61059e6108888361212d565b6040805191151560208301520161058a565b606061059e61057a8361220b565b836108b281612307565b6001600160a01b0316336001600160a01b0316146108e357604051632aab8bd360e01b815260040160405180910390fd5b6108ef858585856123c4565b5050505050565b60606105f860405180604001604052806007815260200166076312e302e32360cc1b81525060405160200161058a9190612da5565b610995604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61099e612430565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b0390921691610a0891906135de565b610a1291906135f1565b90505f8215610b215773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610a3e85612442565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190613604565b509050610b1e81846125cc565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610bf157610bec84866125e0565b610bf3565b5f5b81526003546001600160801b0316602091820152604051919250610c1d9161058a918491016130ac565b5050505090565b6001600160a01b0381165f908152600e602090815260408083205481519283015261059e910161058a565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b610c9a838383336123c4565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610d12612c6d565b6105f86040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fec9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107a9190613632565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111089190613632565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081525060405160200161058a91906131ae565b5f61059e61085f836125f4565b5f818152600b602090815260408083205481519283015261059e910161058a565b60605f8267ffffffffffffffff8111156112145761121461364d565b60405190808252806020026020018201604052801561123d578160200160208202803683370190505b5090505f5b83811015611293575f85858381811061125d5761125d613661565b9050602002013590505f815490508084848151811061127e5761127e613661565b60209081029190910101525050600101611242565b506112a88160405160200161058a9190613313565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105f8910161058a565b5f6105f860095460405160200161058a91815260200190565b5f61059e61085f83612669565b5f61059e61085f6113457f0000000000000000000000000000000000000000000000000000000000000000856135de565b6126a3565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105f8600260405160200161058a919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b8461145f81612307565b6001600160a01b0316336001600160a01b03161461149057604051632aab8bd360e01b815260040160405180910390fd5b6106ba8686868686611ca6565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff909116151591810191909152909161084d910161058a565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105f89060600161058a565b606060f882901c6001600160f81b0383165f611559826126e3565b90505f83600381111561156e5761156e6135b6565b036115a0576040518060400160405280600d81526020016c048797065726472697665204c5609c1b815250935061165c565b60018360038111156115b4576115b46135b6565b036115e057806040516020016115ca9190613675565b604051602081830303815290604052935061165c565b60028360038111156115f4576115f46135b6565b0361160a57806040516020016115ca91906136ad565b600383600381111561161e5761161e6135b6565b0361165c576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b815260040161167f9190612da5565b60405180910390fd5b611690612795565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117119190613632565b9050336001600160a01b038216148015906117bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a79190613632565b6001600160a01b0316336001600160a01b031614155b80156117cf57506117cd3361212d565b155b156117ec576040516282b42960e81b815260040160405180910390fd5b5f6117f5611e61565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561183c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186091906136e6565b90506118766001600160a01b03851684836127bd565b8161187f611e61565b1461189d576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061046e60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190613632565b6001600160a01b0316336001600160a01b031614158015611990575061198e3361212d565b155b156119ad576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a5906119f690831515815260200190565b60405180910390a150565b83421115611a225760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b038716611a495760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611b33573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611b7157604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611c1057506001600160a01b038516155b15611c2e5760405163f0dd15fd60e01b815260040160405180910390fd5b828114611c4e5760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c9d57611c95858583818110611c6d57611c6d613661565b905060200201358888868686818110611c8857611c88613661565b9050602002013533611ca6565b600101611c50565b50505050505050565b6001600160a01b0384161580611cc357506001600160a01b038316155b15611ce15760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611da1576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611da1575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d9f575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d999084906135f1565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611dd29084906135f1565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611e089084906135de565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f90611ef2906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611ec9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eed91906136e6565b612669565b905090565b5f611f00612795565b611f098261280f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8a9190613632565b90506001600160a01b038116611fa36020850185612dcb565b6001600160a01b031614611fca57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b0382161480159061207457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561203a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205e9190613632565b6001600160a01b0316336001600160a01b031614155b801561208657506120843361212d565b155b156120a3576040516282b42960e81b815260040160405180910390fd5b5f6120ac612430565b600980545f9091559091506120c2818387612844565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461210160408a0160208b01612df3565b60408051938452602084019290925215159082015260600160405180910390a250505061059e60015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561218a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121b191908101906136fd565b90505f5b815181101561220257836001600160a01b03168282815181106121da576121da613661565b60200260200101516001600160a01b0316036121fa575060019392505050565b6001016121b5565b505f9392505050565b606060f882901c6001600160f81b0383165f612226826126e3565b90505f83600381111561223b5761223b6135b6565b0361226d576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b815250935061165c565b6001836003811115612281576122816135b6565b0361229757806040516020016115ca91906137bd565b60028360038111156122ab576122ab6135b6565b036122c157806040516020016115ca91906137f4565b60038360038111156122d5576122d56135b6565b0361165c57505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611ef2670de0b6b3a76400006125f4565b61249a6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161259291166128da565b81526004546001600160801b03600160801b91829004811660208401526005546040909301926125c4929004166128da565b905292915050565b5f61077c8383670de0b6b3a764000061294e565b5f61077c83670de0b6b3a76400008461294e565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af4158015612645573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084d91906136e6565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f5929060240161262a565b5f6126c8600b5f6126b5600286612969565b81526020019081526020015f205461299d565b6126d9600b5f6126b5600187612969565b61084d919061381f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b84156127875761271c600a86613852565b6127279060306135de565b60f81b82600161273784876135f1565b61274191906135f1565b8151811061275157612751613661565b60200101906001600160f81b03191690815f1a9053508061277181613865565b91506127809050600a8661387d565b945061270b565b918290030190815292915050565b60025f54036127b757604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c9a9084906129ca565b5f61281d6020830183612dcb565b6001600160a01b03160361046e5760405163f0dd15fd60e01b815260040160405180910390fd5b5f8061285085856125cc565b905061285b81612669565b9450845f0361286d575f91505061077c565b8491506128806040840160208501612df3565b156128af576128a8856128966020860186612dcb565b6128a36040870187613890565b612a2b565b91506128d2565b6128d2856128c06020860186612dcb565b6128cd6040870187613890565b612ae9565b509392505050565b5f80670de0b6b3a76400006128ed612b02565b6128f791906138d3565b9050808311612906575f612910565b61291081846135f1565b915061077c612947670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006138d3565b83906125e0565b5f825f190484118302158202612962575f80fd5b5091020490565b5f6001600160f81b038211156129925760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b038211156129c65760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6129de6001600160a01b03841683612b2d565b905080515f14158015612a02575080806020019051810190612a0091906138ea565b155b15610c9a57604051635274afe760e01b81526001600160a01b038416600482015260240161167f565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015612a8c575f80fd5b505af1158015612a9e573d5f803e3d5ffd5b50505050612aab856125f4565b9050612ae16001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127bd565b949350505050565b60405163350b944160e11b815260040160405180910390fd5b5f611ef2427f0000000000000000000000000000000000000000000000000000000000000000612b3a565b606061077c83835f612b4f565b5f612b458284613852565b61077c90846135f1565b606081471015612b745760405163cd78605960e01b815230600482015260240161167f565b5f80856001600160a01b03168486604051612b8f9190613905565b5f6040518083038185875af1925050503d805f8114612bc9576040519150601f19603f3d011682016040523d82523d5f602084013e612bce565b606091505b5091509150612bde868383612be8565b9695505050505050565b606082612bfd57612bf882612c44565b61077c565b8151158015612c1457506001600160a01b0384163b155b15612c3d57604051639996b31560e01b81526001600160a01b038516600482015260240161167f565b508061077c565b805115612c545780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612d3c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612d51575f80fd5b5035919050565b5f5b83811015612d72578181015183820152602001612d5a565b50505f910152565b5f8151808452612d91816020860160208601612d58565b601f01601f19169290920160200192915050565b602081525f61077c6020830184612d7a565b6001600160a01b038116811461046e575f80fd5b5f60208284031215612ddb575f80fd5b813561077c81612db7565b801515811461046e575f80fd5b5f60208284031215612e03575f80fd5b813561077c81612de6565b60ff8116811461046e575f80fd5b5f805f805f805f805f6101208a8c031215612e35575f80fd5b8935985060208a0135975060408a0135612e4e81612db7565b965060608a0135612e5e81612db7565b955060808a0135612e6e81612de6565b945060a08a0135935060c08a0135612e8581612e0e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612eb5575f80fd5b50813567ffffffffffffffff811115612ecc575f80fd5b6020830191508360208260051b8501011115612ee6575f80fd5b9250929050565b5f805f805f8060808789031215612f02575f80fd5b8635612f0d81612db7565b95506020870135612f1d81612db7565b9450604087013567ffffffffffffffff80821115612f39575f80fd5b612f458a838b01612ea5565b90965094506060890135915080821115612f5d575f80fd5b50612f6a89828a01612ea5565b979a9699509497509295939492505050565b5f805f8060808587031215612f8f575f80fd5b843593506020850135612fa181612db7565b92506040850135612fb181612db7565b9396929550929360600135925050565b5f805f60608486031215612fd3575f80fd5b833592506020840135612fe581612db7565b91506040840135612ff581612db7565b809150509250925092565b5f8060408385031215613011575f80fd5b82359150602083013561302381612db7565b809150509250929050565b5f6020828403121561303e575f80fd5b813567ffffffffffffffff811115613054575f80fd5b82016060818503121561077c575f80fd5b5f805f8060808587031215613078575f80fd5b84359350602085013561308a81612db7565b92506040850135915060608501356130a181612db7565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f806040838503121561315e575f80fd5b823561316981612db7565b9150602083013561302381612de6565b5f805f6060848603121561318b575f80fd5b83359250602084013561319d81612db7565b929592945050506040919091013590565b81516001600160a01b03168152610260810160208301516131da60208401826001600160a01b03169052565b5060408301516131f560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151613267828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f80602083850312156132e5575f80fd5b823567ffffffffffffffff8111156132fb575f80fd5b61330785828601612ea5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561334a5783518352928401929184019160010161332e565b50909695505050505050565b81516001600160801b031681526101808101602083015161338260208401826001600160801b03169052565b50604083015161339d60408401826001600160801b03169052565b5060608301516133b860608401826001600160801b03169052565b5060808301516133cd6080840182600f0b9052565b5060a08301516133e860a08401826001600160801b03169052565b5060c083015161340360c08401826001600160801b03169052565b5060e083015161341e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b038116828501526132cc565b5f805f805f60a0868803121561347b575f80fd5b85359450602086013561348d81612db7565b9350604086013561349d81612db7565b92506060860135915060808601356134b481612db7565b809150509295509295909350565b5f80604083850312156134d3575f80fd5b82356134de81612db7565b9150602083013561302381612db7565b5f60208083525f84545f60018260011c9150600183168061351057607f831692505b60208310810361352e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561354d57600181146135635761358c565b60ff198616825284151560051b8201965061358c565b5f8b8152602090205f5b868110156135865781548482015290850190890161356d565b83019750505b50949998505050505050505050565b5f602082840312156135ab575f80fd5b815161077c81612e0e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561084d5761084d6135ca565b8181038181111561084d5761084d6135ca565b5f8060408385031215613615575f80fd5b82519150602083015161302381612de6565b805161059e81612db7565b5f60208284031215613642575f80fd5b815161077c81612db7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516136a0816011850160208701612d58565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f82516136d9816012850160208701612d58565b9190910160120192915050565b5f602082840312156136f6575f80fd5b5051919050565b5f602080838503121561370e575f80fd5b825167ffffffffffffffff80821115613725575f80fd5b818501915085601f830112613738575f80fd5b81518181111561374a5761374a61364d565b8060051b604051601f19603f8301168101818110858211171561376f5761376f61364d565b60405291825284820192508381018501918883111561378c575f80fd5b938501935b828510156137b1576137a285613627565b84529385019392850192613791565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f82516137e7816010850160208701612d58565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516136a0816011850160208701612d58565b8181035f8312801583831316838312821617156112a8576112a86135ca565b634e487b7160e01b5f52601260045260245ffd5b5f826138605761386061383e565b500690565b5f60018201613876576138766135ca565b5060010190565b5f8261388b5761388b61383e565b500490565b5f808335601e198436030181126138a5575f80fd5b83018035915067ffffffffffffffff8211156138bf575f80fd5b602001915036819003821315612ee6575f80fd5b808202811582820484141761084d5761084d6135ca565b5f602082840312156138fa575f80fd5b815161077c81612de6565b5f8251613916818460208701612d58565b919091019291505056fea26469706673582212200089b3b744b4839e293dee142b1ff3995f5352bc527e32755694c11b7bdcf83164736f6c63430008160033a26469706673582212201db6b5a4b66bfbba56b9adb73484978d4701ecb6e360c559ef30ac82a4f81d6d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget1.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget1.ts new file mode 100644 index 000000000..e9c719e79 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget1.ts @@ -0,0 +1,995 @@ +export const StakingUSDSTarget1 = { + name: 'StakingUSDSTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620042e8380380620042e88339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac7620008215f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bc101525f818161139301528181611791015281816117f4015281816127aa015281816127e6015281816129de0152612b9b01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b7501525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612be701525f81816107e701528181610ec4015281816116ef01528181612125015261316201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126110152613ac75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461354b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461354b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b9565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135cc565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135ff565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613627565b6102bd8a6102b78d8f6135b9565b90611584565b8d6102cb60408c018c613642565b6040516102df9897969594939291906136ad565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b9565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136f4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135ff565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613627565b8a61050260408b018b613642565b604051610515979695949392919061371b565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135ff565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b9565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61375b565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b9565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61375b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b9565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b9565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b9565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361375b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135cc565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137ae565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061375b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461375b565b610ea090896135b9565b9750610eac82846135b9565b610eb6908d6135b9565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061375b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61375b565b9850670de0b6b3a7640000610ff0610f8b87876135b9565b600254610fa9908f90600160801b90046001600160801b031661375b565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661375b565b6110d191906137c9565b85670de0b6b3a76400006110e5878a61375b565b6110ef91906137c9565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c9565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137e0565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135cc565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b9565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b8491506115296040840160208501613627565b15611558576115518561153f60208601866135ff565b61154c6040870187613642565b612582565b915061157b565b61157b8561156960208601866135ff565b6115766040870187613642565b612638565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612651565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461375b565b6116b8908961375b565b97506116c481846135b9565b6116ce908e61375b565b9c506116da8a8e6135b9565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061375b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361375b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135cc565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126a4565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c9565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261375b565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061382d565b5f6119ea8284613858565b61157d908461375b565b6002546004545f916105a6916001600160801b0390911690600f0b6126a4565b5f61007d82611a2485888861252d565b906126c9565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361375b565b9050611ac16110fa8286612738565b60068054601090611ae3908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274c90919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b9565b90915550611b6b9050818361375b565b9150611b7682611a2a565b600280545f90611b909084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612760565b600480545f90611bd1908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c10878561274c565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261375b565b611c85908461375b565b9250611ca3565b611c96828261375b565b611ca090846135b9565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b9061274c565b9050611cf588848661252d565b611cff90826135b9565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061375b565b9050805f03611da057600191505061131b565b5f611daa85612789565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612824565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e9565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e59919061395e565b91509150611e77611e6982611321565b611e7290613980565b612998565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b2c565b6040518263ffffffff1660e01b8152600401611f75919061399a565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a9565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b9565b612037919061375b565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139d7565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461375b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061274c565b5f808061216961216188670de0b6b3a764000061375b565b899087612c66565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061375b565b8989612c89565b92506121a883826135b9565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061375b565b8390612519565b61157d90670de0b6b3a764000061375b565b5f8061221d856121f56119f4565b6121ff91906135b9565b600254610fa9908790600160801b90046001600160801b031661375b565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061375b565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c66565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061375b565b8a9088612c66565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b9565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135cc565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135cc565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b9565b6124028587611584565b61240c888a611584565b611ce291906135b9565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761375b565b61245c8587612519565b612466888a611584565b611ce2919061375b565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cab565b6124cd845f612cab565b6124d791906135cc565b90505f8113156124f2576124eb81866135b9565b9450612510565b5f8112156125105761250381613980565b61250d908661375b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c66565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b505050506126028561196a565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cc0565b60405163350b944160e11b815260040160405180910390fd5b5f808061267161266988670de0b6b3a764000061375b565b89908761252d565b905086156121ab576126838888611584565b915061219c8a8a8461269d8a670de0b6b3a764000061375b565b8989612d17565b5f806126b08484612d27565b9092509050806126c2576126c26113ec565b5092915050565b5f815f036126e05750670de0b6b3a764000061131b565b825f036126ee57505f61131b565b5f6126f883611321565b90505f61270c61270786611321565b612d62565b9050818102612723670de0b6b3a7640000826139eb565b905061272e81612f87565b9695505050505050565b5f61157d83670de0b6b3a764000084612c66565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127a3906001600160801b031684612738565b90506127cf7f0000000000000000000000000000000000000000000000000000000000000000826135b9565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061281a9083906001600160801b031661375b565b61157d919061375b565b61282c6134ac565b5f8061283784612b2c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612871919061399a565b6040805180830381865af415801561288b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128af91906139a9565b93509050826128c357505f91506129909050565b5f6128e96128e484610160015185610140015161158490919063ffffffff16565b611321565b6129096128e485610120015186610100015161251990919063ffffffff16565b61291391906135cc565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a729190613a17565b935093509350935080612a8d57505f98975050505050505050565b868414612abe57612a9d84611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612aef57612ace8361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1d57612aff82611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b346134f6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c2c9116613119565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5e92900416613119565b905292915050565b5f825f190484118302158202612c7a575f80fd5b50910281810615159190040190565b5f80612c9988888888888861318d565b909250905080611d0f57611d0f6113ec565b5f818313612cb9578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d12908490613269565b505050565b5f80612c998888888888886132cf565b5f805f83612d3486611321565b612d3e91906135cc565b90505f811215612d54575f809250925050612d5b565b9150600190505b9250929050565b5f808213612d835760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e069084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fa057505f919050565b680755bf798b4a1bf1e58212612fc9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061312c6105ab565b61313691906137c9565b9050808311613145575f61314f565b61314f818461375b565b915061157d613186670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c9565b839061274c565b5f805f61319d898988888861338b565b9050868810156131b3575f80925092505061325e565b96869003966131c288876126c9565b9750878110156131d8575f80925092505061325e565b8781036131e6818688612c66565b9050670de0b6b3a7640000811061321a5761321361320c670de0b6b3a764000089612738565b82906126c9565b9050613232565b61322f61320c670de0b6b3a76400008961274c565b90505b61323c8186612738565b905089811015613253575f8093509350505061325e565b899003925060019150505b965096945050505050565b5f61327d6001600160a01b038416836133b9565b905080515f141580156132a157508080602001905181019061329f9190613a4a565b155b15612d1257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132df898988888861338b565b90506132ef86611a24898b6135b9565b975087811015613305575f80925092505061325e565b878103613313818688612c66565b9050670de0b6b3a764000081106133405761333961320c670de0b6b3a764000089612738565b9050613358565b61335561320c670de0b6b3a76400008961274c565b90505b6133628186612738565b9050808a1015613379575f8093509350505061325e565b90980398600198509650505050505050565b5f61339685856126c9565b6133af6133a786611a24868b612519565b859085612c66565b61247091906135b9565b606061157d83835f845f80856001600160a01b031684866040516133dd9190613a65565b5f6040518083038185875af1925050503d805f8114613417576040519150601f19603f3d011682016040523d82523d5f602084013e61341c565b606091505b509150915061272e86838360608261343c5761343782613483565b61157d565b815115801561345357506001600160a01b0384163b155b1561347c57604051639996b31560e01b81526001600160a01b03851660048201526024016132c6565b508061157d565b8051156134935780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134c06134f6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561355e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613589575f80fd5b85016060818803121561359a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135a5565b8181035f8312801583831316838312821617156126c2576126c26135a5565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561360f575f80fd5b813561157d816135eb565b8015158114610591575f80fd5b5f60208284031215613637575f80fd5b813561157d8161361a565b5f808335601e19843603018112613657575f80fd5b83018035915067ffffffffffffffff821115613671575f80fd5b602001915036819003821315612d5b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136e660e083018486613685565b9a9950505050505050505050565b8082018281125f831280158216821582161715613713576137136135a5565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374e60c083018486613685565b9998505050505050505050565b8181038181111561131b5761131b6135a5565b6001600160701b038181168382160190808211156126c2576126c26135a5565b6001600160801b038181168382160190808211156126c2576126c26135a5565b5f602082840312156137be575f80fd5b815161157d816135eb565b808202811582820484141761131b5761131b6135a5565b6001600160801b038281168282160390808211156126c2576126c26135a5565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135a5565b5f6020828403121561383d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261386657613866613844565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138fc82855161386b565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561396f575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613994576139946135a5565b505f0390565b610180810161131b828461386b565b5f80604083850312156139ba575f80fd5b8251915060208301516139cc8161361a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f9576139f9613844565b600160ff1b82145f1984141615613a1257613a126135a5565b500590565b5f805f8060808587031215613a2a575f80fd5b845193506020850151925060408501519150606085015161359a8161361a565b5f60208284031215613a5a575f80fd5b815161157d8161361a565b5f82515f5b81811015613a845760208186018101518583015201613a6a565b505f92019182525091905056fea26469706673582212200173bd7545cd27b4a9728b29985fadba0f54ed9a0ebc434d05160ad1c694059464736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget1Deployer.ts new file mode 100644 index 000000000..f7df2cda6 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const StakingUSDSTarget1Deployer = { + name: 'StakingUSDSTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061484e8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6142e8806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b50604051620042e8380380620042e88339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613ac7620008215f395f61259a01525f50505f50505f610b2e01525f50505f818160a9015281816103140152612bc101525f818161139301528181611791015281816117f4015281816127aa015281816127e6015281816129de0152612b9b01525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612b7501525f611b2401525f8181611c450152818161228601526122fe01525f81816108a901528181610f4301528181611c1901526122d201525f8181610e3e015261224c01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612be701525f81816107e701528181610ec4015281816116ef01528181612125015261316201525f81816105b2015281816106290152818161069d0152818161076801526107a001525f50505f6126110152613ac75ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b61004636600461354b565b610070565b60405190815260200160405180910390f35b61004b61006b36600461354b565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f82825461017591906135b9565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836135cc565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836135ff565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613627565b6102bd8a6102b78d8f6135b9565b90611584565b8d6102cb60408c018c613642565b6040516102df9897969594939291906136ad565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf91906135b9565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836136f4565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836135ff565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613627565b8a61050260408b018b613642565b604051610515979695949392919061371b565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836135ff565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f00000000000000000000000000000000000000000000000000000000000000006119df565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b6135b9565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d76119f4565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b92505b5061073e83611a2a565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b61375b565b8a8461102b565b6107d2896107cc6107c57f0000000000000000000000000000000000000000000000000000000000000000836135b9565b4290611a53565b8461102b565b6107db88611a67565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d61375b565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611c04565b915091508060095f82825461087891906135b9565b909155506108939050865f8461088d81611321565b88611164565b61089d81836135b9565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cd1565b91506108e16108dc8385611584565b611d1a565b600680546002906109029084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f82611a2a565b60068054601090610951908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611c04565b915091508060095f8282546109c491906135b9565b909155506109df9050835f846109d981611321565b8a61177a565b6109e9818361375b565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661376e565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a4682611a2a565b60068054601090610a68908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906135cc565b5f61134e565b8e610ac58482611d43565b50505b5f610ad284611f32565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac91906137ae565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612074565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf190849061375b565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d536119f4565b90505f610d5f8a6120fa565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000612149565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b9550610e67858c610e62897f00000000000000000000000000000000000000000000000000000000000000006121b8565b6121e7565b15610e7457610e746113ec565b5f805f610e8385878b87612228565b9c5091945092509050610e96818461375b565b610ea090896135b9565b9750610eac82846135b9565b610eb6908d6135b9565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee919061375b565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611cd1565b9950610f73878a61375b565b9850670de0b6b3a7640000610ff0610f8b87876135b9565b600254610fa9908f90600160801b90046001600160801b031661375b565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f61233a565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e83611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c7888661375b565b6110d191906137c9565b85670de0b6b3a76400006110e5878a61375b565b6110ef91906137c9565b8592919060016123d6565b611a2a565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61113484611a2a565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866137c9565b600554600160801b90046001600160801b031691908a5f6123d6565b600580546001600160801b03928316600160801b0292169190911790556111d286611a2a565b6111dc90826137e0565b600480546001600160801b03928316600160801b02921691909117905561120284611a2a565b600280545f9061121c9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361247c565b600480545f9061125d908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d85611a2a565b600280546010906112af908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906135cc565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b031684846124b7565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f000000000000000000000000000000000000000000000000000000000000000083612519565b6003546113ce91906001600160801b03166135b9565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611d43565b5f805f61141d84611a67565b90925090505f61142d8686611584565b9050818311156114455761144286838561252d565b95505b8281101561145757808303925061145b565b5f92505b61146483611d1a565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c381611a2a565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b905061150481612548565b9450845f03611516575f91505061157d565b8491506115296040840160208501613627565b15611558576115518561153f60208601866135ff565b61154c6040870187613642565b612582565b915061157b565b61157b8561156960208601866135ff565b6115766040870187613642565b612638565b505b9392505050565b5f61157d8383670de0b6b3a764000061252d565b5f805f805f805f806115a86119f4565b90505f6115b48a6120fa565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f0000000000000000000000000000000000000000000000000000000000000000612651565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611a14565b985061169a84878b88612228565b9c5091945090925090506116ae828461375b565b6116b8908961375b565b97506116c481846135b9565b6116ce908e61375b565b9c506116da8a8e6135b9565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f611719919061375b565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b600161233a565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba858361375b565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826135cc565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d83836126a4565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886137c9565b6005546001600160801b031691908c5f6123d6565b600580546001600160801b0319166001600160801b0392909216919091179055611897888261375b565b90506118a281611a2a565b600380546001600160801b03928316600160801b0292169190911790556118c883611a2a565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261247c565b600480546001600160801b0319166001600160801b039290921691909117905561191a87611a2a565b6002805460109061193c908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156119bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b919061382d565b5f6119ea8284613858565b61157d908461375b565b6002546004545f916105a6916001600160801b0390911690600f0b6126a4565b5f61007d82611a2485888861252d565b906126c9565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f818311611a61578261157d565b50919050565b6006545f908190611a89908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611bff575f611ab2838361375b565b9050611ac16110fa8286612738565b60068054601090611ae3908490600160801b90046001600160801b03166137e0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611b1b858361274c90919063ffffffff16565b90505f611b48827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611b5b91906135b9565b90915550611b6b9050818361375b565b9150611b7682611a2a565b600280545f90611b909084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bbd82612760565b600480545f90611bd1908490600f0b613800565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611c10878561274c565b91505f611c3d837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611c69817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c8c57611c7b828261375b565b611c85908461375b565b9250611ca3565b611c96828261375b565b611ca090846135b9565b92505b86861015611cc657611cb683878961252d565b9250611cc382878961252d565b91505b509550959350505050565b5f80611ce884611ce28a888a61252d565b9061274c565b9050611cf588848661252d565b611cff90826135b9565b905086811115611d0f5786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d8d916001600160801b03169061375b565b9050805f03611da057600191505061131b565b5f611daa85612789565b9050805f03611dbe5760019250505061131b565b5f80611dcb838589612824565b9150915080611de0575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611e1b9291906138e9565b6040805180830381865af4158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e59919061395e565b91509150611e77611e6982611321565b611e7290613980565b612998565b925082611e8c575f965050505050505061131b565b611e9582611a2a565b600780545f90611eaf9084906001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611edc81611a2a565b60078054601090611efe908490600160801b90046001600160801b031661378e565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611f5987612b2c565b6040518263ffffffff1660e01b8152600401611f75919061399a565b6040805180830381865af4158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb391906139a9565b9150915080611fc857505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161202d916135b9565b612037919061375b565b9050805f0361204d57505f958695509350505050565b5f80871161205b575f612066565b61206684888461252d565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff811115612097576120976139d7565b6040519080825280601f01601f1916602001820160405280156120c1576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156120e1578692505b828152825f602083013e90999098509650505050505050565b5f806121046105ab565b9050808311612113575f61211d565b61211d818461375b565b915061157d827f000000000000000000000000000000000000000000000000000000000000000061274c565b5f808061216961216188670de0b6b3a764000061375b565b899087612c66565b905086156121ab5761217b8888612519565b915061219c8a8a846121958a670de0b6b3a764000061375b565b8989612c89565b92506121a883826135b9565b90505b9750975097945050505050565b5f6121d56121ce84670de0b6b3a764000061375b565b8390612519565b61157d90670de0b6b3a764000061375b565b5f8061221d856121f56119f4565b6121ff91906135b9565b600254610fa9908790600160801b90046001600160801b031661375b565b909210949350505050565b5f80808061227e87866122778b61227161224a8c670de0b6b3a764000061375b565b7f000000000000000000000000000000000000000000000000000000000000000090612519565b90612519565b9190612c66565b93506122aa847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f6122ca6122c289670de0b6b3a764000061375b565b8a9088612c66565b90506122f6817f0000000000000000000000000000000000000000000000000000000000000000612519565b9350612322847f0000000000000000000000000000000000000000000000000000000000000000611584565b61232c90846135b9565b915050945094509450949050565b5f805f805f80888810156123a657861561235c576123598d898b61252d565b9c505b6123678c898b61252d565b9b506123728b611321565b61237b8d611321565b61238591906135cc565b90506123928b898b61252d565b9a5061239f8a898b61252d565b99506123c5565b6123af8b611321565b6123b88d611321565b6123c291906135cc565b90505b9b9c9a9b999a975050505050505050565b5f825f036123e5575084612473565b8115612437576124166123f884876135b9565b6124028587611584565b61240c888a611584565b611ce291906135b9565b90505f6124238588611a53565b905080821015612431578091505b50612473565b82850361244557505f612473565b612470612452848761375b565b61245c8587612519565b612466888a611584565b611ce2919061375b565b90505b95945050505050565b5f60016001607f1b0319821280612499575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f806124c3845f612cab565b6124cd845f612cab565b6124d791906135cc565b90505f8113156124f2576124eb81866135b9565b9450612510565b5f8112156125105761250381613980565b61250d908661375b565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612c66565b5f825f190484118302158202612541575f80fd5b5091020490565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016119a0565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156125e3575f80fd5b505af11580156125f5573d5f803e3d5ffd5b505050506126028561196a565b90506100806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168583612cc0565b60405163350b944160e11b815260040160405180910390fd5b5f808061267161266988670de0b6b3a764000061375b565b89908761252d565b905086156121ab576126838888611584565b915061219c8a8a8461269d8a670de0b6b3a764000061375b565b8989612d17565b5f806126b08484612d27565b9092509050806126c2576126c26113ec565b5092915050565b5f815f036126e05750670de0b6b3a764000061131b565b825f036126ee57505f61131b565b5f6126f883611321565b90505f61270c61270786611321565b612d62565b9050818102612723670de0b6b3a7640000826139eb565b905061272e81612f87565b9695505050505050565b5f61157d83670de0b6b3a764000084612c66565b5f61157d83670de0b6b3a76400008461252d565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f9081906127a3906001600160801b031684612738565b90506127cf7f0000000000000000000000000000000000000000000000000000000000000000826135b9565b6002546001600160801b03161115611a61576002547f00000000000000000000000000000000000000000000000000000000000000009061281a9083906001600160801b031661375b565b61157d919061375b565b61282c6134ac565b5f8061283784612b2c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612871919061399a565b6040805180830381865af415801561288b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128af91906139a9565b93509050826128c357505f91506129909050565b5f6128e96128e484610160015185610140015161158490919063ffffffff16565b611321565b6129096128e485610120015186610100015161251990919063ffffffff16565b61291391906135cc565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a4e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a729190613a17565b935093509350935080612a8d57505f98975050505050505050565b868414612abe57612a9d84611a2a565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612aef57612ace8361247c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b1d57612aff82611a2a565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612b346134f6565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612c2c9116613119565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612c5e92900416613119565b905292915050565b5f825f190484118302158202612c7a575f80fd5b50910281810615159190040190565b5f80612c9988888888888861318d565b909250905080611d0f57611d0f6113ec565b5f818313612cb9578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d12908490613269565b505050565b5f80612c998888888888886132cf565b5f805f83612d3486611321565b612d3e91906135cc565b90505f811215612d54575f809250925050612d5b565b9150600190505b9250929050565b5f808213612d835760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612e069084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612fa057505f919050565b680755bf798b4a1bf1e58212612fc9576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061272e74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a764000061312c6105ab565b61313691906137c9565b9050808311613145575f61314f565b61314f818461375b565b915061157d613186670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006137c9565b839061274c565b5f805f61319d898988888861338b565b9050868810156131b3575f80925092505061325e565b96869003966131c288876126c9565b9750878110156131d8575f80925092505061325e565b8781036131e6818688612c66565b9050670de0b6b3a7640000811061321a5761321361320c670de0b6b3a764000089612738565b82906126c9565b9050613232565b61322f61320c670de0b6b3a76400008961274c565b90505b61323c8186612738565b905089811015613253575f8093509350505061325e565b899003925060019150505b965096945050505050565b5f61327d6001600160a01b038416836133b9565b905080515f141580156132a157508080602001905181019061329f9190613a4a565b155b15612d1257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6132df898988888861338b565b90506132ef86611a24898b6135b9565b975087811015613305575f80925092505061325e565b878103613313818688612c66565b9050670de0b6b3a764000081106133405761333961320c670de0b6b3a764000089612738565b9050613358565b61335561320c670de0b6b3a76400008961274c565b90505b6133628186612738565b9050808a1015613379575f8093509350505061325e565b90980398600198509650505050505050565b5f61339685856126c9565b6133af6133a786611a24868b612519565b859085612c66565b61247091906135b9565b606061157d83835f845f80856001600160a01b031684866040516133dd9190613a65565b5f6040518083038185875af1925050503d805f8114613417576040519150601f19603f3d011682016040523d82523d5f602084013e61341c565b606091505b509150915061272e86838360608261343c5761343782613483565b61157d565b815115801561345357506001600160a01b0384163b155b1561347c57604051639996b31560e01b81526001600160a01b03851660048201526024016132c6565b508061157d565b8051156134935780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061012001604052806134c06134f6565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561355e575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613589575f80fd5b85016060818803121561359a575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b6135a5565b8181035f8312801583831316838312821617156126c2576126c26135a5565b6001600160a01b0381168114610591575f80fd5b5f6020828403121561360f575f80fd5b813561157d816135eb565b8015158114610591575f80fd5b5f60208284031215613637575f80fd5b813561157d8161361a565b5f808335601e19843603018112613657575f80fd5b83018035915067ffffffffffffffff821115613671575f80fd5b602001915036819003821315612d5b575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6136e660e083018486613685565b9a9950505050505050505050565b8082018281125f831280158216821582161715613713576137136135a5565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61374e60c083018486613685565b9998505050505050505050565b8181038181111561131b5761131b6135a5565b6001600160701b038181168382160190808211156126c2576126c26135a5565b6001600160801b038181168382160190808211156126c2576126c26135a5565b5f602082840312156137be575f80fd5b815161157d816135eb565b808202811582820484141761131b5761131b6135a5565b6001600160801b038281168282160390808211156126c2576126c26135a5565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b6135a5565b5f6020828403121561383d575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f8261386657613866613844565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506138fc82855161386b565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f806040838503121561396f575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613994576139946135a5565b505f0390565b610180810161131b828461386b565b5f80604083850312156139ba575f80fd5b8251915060208301516139cc8161361a565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826139f9576139f9613844565b600160ff1b82145f1984141615613a1257613a126135a5565b500590565b5f805f8060808587031215613a2a575f80fd5b845193506020850151925060408501519150606085015161359a8161361a565b5f60208284031215613a5a575f80fd5b815161157d8161361a565b5f82515f5b81811015613a845760208186018101518583015201613a6a565b505f92019182525091905056fea26469706673582212200173bd7545cd27b4a9728b29985fadba0f54ed9a0ebc434d05160ad1c694059464736f6c63430008160033a2646970667358221220b2b0668b3baf7b2c103a8853f069a393531ec4433737cc7f89c57fc5ac4dab5764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget2.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget2.ts new file mode 100644 index 000000000..abc389a20 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget2.ts @@ -0,0 +1,1020 @@ +export const StakingUSDSTarget2 = { + name: 'StakingUSDSTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b50604051620045a9380380620045a98339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d65620008445f395f81816116f8015261176f01525f50505f50505f610c2801525f50505f818160f9015281816103020152612db101525f818161152f01528181611d3901528181611d9c01528181612523015281816129a1015281816129dd01528181612bce0152612d8b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d6501525f61196301525f8181611a84015281816126140152818161268c0152612ec901525f81816109a301528181610e370152818161141501528181611a58015261266001525f8181610e16015281816125e00152612e8501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd701525f81816101d301528181610396015281816108e1015261345501525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d655ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e9565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e9565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613857565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613857565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61387e565b8b611217565b8d8a8a898e8561023e602083018361387e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a6565b8961028960408a018a6138c1565b60405161029c979695949392919061392c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613857565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613857565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613857565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a82610484602084018461387e565b85611217565b858b868461049b602086018661387e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a6565b6104ec896104e68a8d61396c565b90610683565b8d6104fa60408e018e6138c1565b60405161050e98979695949392919061397f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361387e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a6565b156105ea576105e0856105db60408701876138c1565b6116bc565b9093509050610602565b5034610602856105fd60408701876138c1565b6117dd565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f6565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611811565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613857565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611826565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b92505b5061083883611865565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61396c565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613857565b4290611892565b84610f13565b6108d5886118a6565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61396c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a43565b915091508060095f8282546109729190613857565b9091555061098d9050865f8461098781611b10565b88611b39565b6109978183613857565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cb0565b91506109db6109d68385610683565b611cf9565b600680546002906109fc9084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611865565b60068054601090610a4b908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a43565b915091508060095f828254610abe9190613857565b90915550610ad99050835f84610ad381611b10565b8a611d22565b610ae3818361396c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611865565b60068054601090610b62908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b10565b610ba483611b10565b610bae9190613a06565b5f611f12565b8e610bbf8482611f51565b50505b5f610bcc84612140565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a25565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612282565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611826565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612308565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612333565b612397565b15610e6d57610e6d6123d8565b610e79878588856123f1565b91965094509250670de0b6b3a7640000610efb610e968784613857565b600254610eb4908890600160801b90046001600160801b031661396c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b1115610f0957610f096123d8565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611865565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661396c565b610fb99190613a40565b85670de0b6b3a7640000610fcd878a61396c565b610fd79190613a40565b859291906001612439565b611865565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611865565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a40565b6005546001600160801b03169190886001612439565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611865565b600280545f906110d19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611865565b60028054601090611120908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611865565b61115790826139e6565b600380546001600160801b03808416600160801b02911617905590505f61117d836124dd565b905061119b8161118c87611b10565b6111969084613a77565b611f12565b6111a48461251d565b6111b0576111b06123d8565b5f6111ba8561257c565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613857565b90915550505f838152600b60205260408120805483929061126a908490613857565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611826565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612588565b93508761134d85896125a8565b111561135b5761135b6123d8565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b93506113d58a670de0b6b3a7640000868c6125bc565b509193509091506113e89050818361396c565b6113f2908761396c565b95508861143f816114398d611407868c61396c565b8d61141287826126c8565b877f00000000000000000000000000000000000000000000000000000000000000006126dd565b906125a8565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126fd565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a9e565b5f6114e960408301602084016138a6565b156114f5575082611502565b6114ff8484612720565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d8565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b612734565b101561156b5761156b6123d8565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a40565b600554600160801b90046001600160801b03169190896001612439565b600580546001600160801b03928316600160801b0292169190911790556115db81611865565b600280546001600160801b0319166001600160801b039290921691909117905561160485611865565b60028054601090611626908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165385611865565b60048054601090611675908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124dd565b905061119b816116b288611b10565b6111969084613a06565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612759565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613857565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c6565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b1580156117b8575f80fd5b505af11580156117ca573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261180a575f80fd5b5091020490565b5f61181c8284613ac9565b610697908461396c565b6002546004545f916106cb916001600160801b0390911690600f0b612734565b5f61185c826118568588886117f6565b90612855565b95945050505050565b5f6001600160801b0382111561188e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118a05782610697565b50919050565b6006545f9081906118c8908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a3e575f6118f1838361396c565b9050611900610fe28286611450565b60068054601090611922908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61195a858361272090919063ffffffff16565b90505f611987827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461199a9190613857565b909155506119aa9050818361396c565b91506119b582611865565b600280545f906119cf9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119fc826128ba565b600480545f90611a10908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a4f8785612720565b91505f611a7c837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa8817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611acb57611aba828261396c565b611ac4908461396c565b9250611ae2565b611ad5828261396c565b611adf9084613857565b92505b86861015611b0557611af58387896117f6565b9250611b028287896117f6565b91505b509550959350505050565b5f6001600160ff1b0382111561188e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b81610fe282611b65670de0b6b3a764000086613a40565b600554600160801b90046001600160801b031691908a5f612439565b600580546001600160801b03928316600160801b029216919091179055611ba786611865565b611bb19082613a57565b600480546001600160801b03928316600160801b029216919091179055611bd784611865565b600280545f90611bf19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c1e836128e3565b600480545f90611c32908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c6285611865565b60028054601090611c84908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc784611cc18a888a6117f6565b90612720565b9050611cd48884866117f6565b611cde9082613857565b905086811115611cee5786810391505b509695505050505050565b5f6001600160701b0382111561188e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d6457507f0000000000000000000000000000000000000000000000000000000000000000611d62858361396c565b105b15611d7157611d716123d8565b6004549084900390600f0b611d868482613a06565b905083611d9286611b10565b138015611dc757507f0000000000000000000000000000000000000000000000000000000000000000611dc58383612734565b105b15611dd457611dd46123d8565b600354600160801b90046001600160801b0316611e15610fe282611e00670de0b6b3a764000088613a40565b6005546001600160801b031691908c5f612439565b600580546001600160801b0319166001600160801b0392909216919091179055611e3f888261396c565b9050611e4a81611865565b600380546001600160801b03928316600160801b029216919091179055611e7083611865565b600280546001600160801b0319166001600160801b0392909216919091179055611e99826128e3565b600480546001600160801b0319166001600160801b0392909216919091179055611ec287611865565b60028054601090611ee4908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2d90610fe2906001600160801b0316848461291e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f9b916001600160801b03169061396c565b9050805f03611fae57600191505061069a565b5f611fb885612980565b9050805f03611fcc5760019250505061069a565b5f80611fd9838589612a1b565b9150915080611fee575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612029929190613b87565b6040805180830381865af4158015612043573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120679190613bfc565b9150915061208561207782611b10565b61208090613c1e565b612b88565b92508261209a575f965050505050505061069a565b6120a382611865565b600780545f906120bd9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120ea81611865565b6007805460109061210c908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216787612d1c565b6040518263ffffffff1660e01b81526004016121839190613c38565b6040805180830381865af415801561219d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121c19190613c47565b91509150806121d657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223b91613857565b612245919061396c565b9050805f0361225b57505f958695509350505050565b5f808711612269575f612274565b6122748488846117f6565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122a5576122a5613c75565b6040519080825280601f01601f1916602001820160405280156122cf576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122ef578692505b828152825f602083013e90999098509650505050505050565b5f61232887878761232188670de0b6b3a764000061396c565b8787612e56565b979650505050505050565b5f6114ff61237361234c84670de0b6b3a764000061396c565b611439670de0b6b3a7640000612362818a611450565b61236c919061396c565b87906125a8565b61238590670de0b6b3a7640000613857565b611cc184670de0b6b3a764000061396c565b5f806123cd856123a5611826565b6123af9190613857565b600254610eb4908790600160801b90046001600160801b031661396c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612401898789612e78565b9092509050612410828961396c565b97505f61241e82888a6117f6565b905061242a818b61396c565b9a989950979650505050505050565b5f825f0361244857508461185c565b811561249a5761247961245b8487613857565b6124658587610683565b61246f888a610683565b611cc19190613857565b90505f6124868588611892565b905080821015612494578091505b5061185c565b8285036124a857505f61185c565b6124d36124b5848761396c565b6124bf85876125a8565b6124c9888a610683565b611cc1919061396c565b9695505050505050565b5f612502600b5f6124ef6002866111e3565b81526020019081526020015f2054611b10565b612513600b5f6124ef6001876111e3565b61069a9190613a06565b5f6125487f0000000000000000000000000000000000000000000000000000000000000000836125a8565b60035461255e91906001600160801b0316613857565b600254612574906001600160801b031684610683565b101592915050565b5f61069a826004611f51565b5f6123288787876125a188670de0b6b3a764000061396c565b8787612ef7565b5f6106978383670de0b6b3a76400006126fd565b5f80808061260c87866126058b6114396125de8c670de0b6b3a764000061396c565b7f0000000000000000000000000000000000000000000000000000000000000000906125a8565b91906126fd565b9350612638847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265861265089670de0b6b3a764000061396c565b8a90886126fd565b9050612684817f00000000000000000000000000000000000000000000000000000000000000006125a8565b93506126b0847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126ba9084613857565b915050945094509450949050565b5f8183116126d65781610697565b5090919050565b5f806126f4846126ee8a888a6126fd565b90611450565b9050611cd48884865b5f825f190484118302158202612711575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f6565b5f806127408484612f07565b909250905080612752576127526123d8565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127c09186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f3f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128178482612faa565b6127c0576040516001600160a01b0384811660248301525f604483015261284b91869182169063095ea7b39060640161278e565b6127c08482612f3f565b5f815f0361286c5750670de0b6b3a764000061069a565b825f0361287a57505f61069a565b5f61288483611b10565b90505f61289861289386611b10565b613047565b90508181026128af670de0b6b3a764000082613c89565b90506124d38161326c565b5f60016001607f1b0382111561188e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612900575060016001607f1b0382135b1561188e5760405163a5353be560e01b815260040160405180910390fd5b5f8061292a845f6133fe565b612934845f6133fe565b61293e9190613a06565b90505f811315612959576129528186613857565b9450612977565b5f8112156129775761296a81613c1e565b612974908661396c565b94505b50929392505050565b6003545f90819061299a906001600160801b031684611450565b90506129c67f000000000000000000000000000000000000000000000000000000000000000082613857565b6002546001600160801b031611156118a0576002547f000000000000000000000000000000000000000000000000000000000000000090612a119083906001600160801b031661396c565b611502919061396c565b612a2361374a565b5f80612a2e84612d1c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a689190613c38565b6040805180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613c47565b9350905082612aba57505f91506117d59050565b5f612ae0612adb84610160015185610140015161068390919063ffffffff16565b611b10565b612b00612adb8561012001518661010001516125a890919063ffffffff16565b612b0a9190613a06565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c629190613cb5565b935093509350935080612c7d57505f98975050505050505050565b868414612cae57612c8d84611865565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cdf57612cbe836128e3565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0d57612cef82611865565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d24613794565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e1c911661340c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4e9290041661340c565b905292915050565b5f80612e66888888888888613480565b909250905080611cee57611cee6123d8565b5f80612ec18561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb7818c611450565b611439919061396c565b9150612eed827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e66888888888888613544565b5f805f83612f1486611b10565b612f1e9190613a06565b90505f811215612f34575f80925092505061067c565b946001945092505050565b5f612f536001600160a01b03841683613600565b905080515f14158015612f77575080806020019051810190612f759190613ce8565b155b15612fa557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fc59190613d03565b5f604051808303815f865af19150503d805f8114612ffe576040519150601f19603f3d011682016040523d82523d5f602084013e613003565b606091505b509150915081801561302d57508051158061302d57508080602001905181019061302d9190613ce8565b801561185c5750505050506001600160a01b03163b151590565b5f8082136130685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130eb9084901c611b10565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328557505f919050565b680755bf798b4a1bf1e582126132ae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124d374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b10565b5f8183136126d65781610697565b5f80670de0b6b3a764000061341f6106a0565b6134299190613a40565b9050808311613438575f613442565b613442818461396c565b9150611502613479670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a40565b8390612720565b5f805f613490898988888861360d565b90506134aa866118566134a38a8d613857565b8790610683565b98506134b7858a866117f6565b9850888110156134cd575f809250925050613539565b888103670de0b6b3a76400008110613502576134fb6134f4670de0b6b3a764000089611450565b8290612855565b905061351a565b6135176134f4670de0b6b3a764000089612720565b90505b8089101561352f575f80935093505050613539565b8803925060019150505b965096945050505050565b5f805f613554898988888861360d565b905061356486611856898b613857565b97508781101561357a575f809250925050613539565b8781036135888186886126fd565b9050670de0b6b3a764000081106135b5576135ae6134f4670de0b6b3a764000089611450565b90506135cd565b6135ca6134f4670de0b6b3a764000089612720565b90505b6135d78186611450565b9050808a10156135ee575f80935093505050613539565b90980398600198509650505050505050565b606061069783835f61363b565b5f6136188585612855565b61363161362986611856868b6125a8565b8590856126fd565b6124d39190613857565b6060814710156136605760405163cd78605960e01b8152306004820152602401612f9c565b5f80856001600160a01b0316848660405161367b9190613d03565b5f6040518083038185875af1925050503d805f81146136b5576040519150601f19603f3d011682016040523d82523d5f602084013e6136ba565b606091505b50915091506124d38683836060826136da576136d582613721565b611502565b81511580156136f157506001600160a01b0384163b155b1561371a57604051639996b31560e01b81526001600160a01b0385166004820152602401612f9c565b5080611502565b8051156137315780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375e613794565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137fc575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613827575f80fd5b850160608188031215613838575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613843565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561388e575f80fd5b81356115028161386a565b80151581146105af575f80fd5b5f602082840312156138b6575f80fd5b813561150281613899565b5f808335601e198436030181126138d6575f80fd5b83018035915067ffffffffffffffff8211156138f0575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395f60c083018486613904565b9998505050505050505050565b8181038181111561069a5761069a613843565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b860e083018486613904565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561275257612752613843565b6001600160801b0381811683821601908082111561275257612752613843565b8181035f83128015838313168383128216171561275257612752613843565b5f60208284031215613a35575f80fd5b81516115028161386a565b808202811582820484141761069a5761069a613843565b6001600160801b0382811682821603908082111561275257612752613843565b8082018281125f831280158216821582161715613a9657613a96613843565b505092915050565b5f60208284031215613aae575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad757613ad7613ab5565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613843565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b9a828551613b09565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c0d575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c3257613c32613843565b505f0390565b610180810161069a8284613b09565b5f8060408385031215613c58575f80fd5b825191506020830151613c6a81613899565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9757613c97613ab5565b600160ff1b82145f1984141615613cb057613cb0613843565b500590565b5f805f8060808587031215613cc8575f80fd5b845193506020850151925060408501519150606085015161383881613899565b5f60208284031215613cf8575f80fd5b815161150281613899565b5f82515f5b81811015613d225760208186018101518583015201613d08565b505f92019182525091905056fea2646970667358221220c7e2feba07542200016a39155ae6061f21c5e701d8284d1b5bc5b64dd882b4ed64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget2Deployer.ts new file mode 100644 index 000000000..635bb3f7a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const StakingUSDSTarget2Deployer = { + name: 'StakingUSDSTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50614b0f8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b6145a9806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b50604051620045a9380380620045a98339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613d65620008445f395f81816116f8015261176f01525f50505f50505f610c2801525f50505f818160f9015281816103020152612db101525f818161152f01528181611d3901528181611d9c01528181612523015281816129a1015281816129dd01528181612bce0152612d8b01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d6501525f61196301525f8181611a84015281816126140152818161268c0152612ec901525f81816109a301528181610e370152818161141501528181611a58015261266001525f8181610e16015281816125e00152612e8501525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612dd701525f81816101d301528181610396015281816108e1015261345501525f81816106a7015281816107230152818161079701528181610862015261089a01525f50505f81816116cb015261172c0152613d655ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a3660046137e9565b61006b565b6040805192835260208301919091520160405180910390f35b61003f6100663660046137e9565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613857565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613857565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61387e565b8b611217565b8d8a8a898e8561023e602083018361387e565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b60408801602089016138a6565b8961028960408a018a6138c1565b60405161029c979695949392919061392c565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613857565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613857565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613857565b9350505f61042784898d6114d8565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b89611509565b5f6104706002886111e3565b90508c61048a82610484602084018461387e565b85611217565b858b868461049b602086018661387e565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c016138a6565b6104ec896104e68a8d61396c565b90610683565b8d6104fa60408e018e6138c1565b60405161050e98979695949392919061397f565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361387e565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c560408501602086016138a6565b156105ea576105e0856105db60408701876138c1565b6116bc565b9093509050610602565b5034610602856105fd60408701876138c1565b6117dd565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117f6565b90505b92915050565b5f6106cb427f0000000000000000000000000000000000000000000000000000000000000000611811565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613857565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d1611826565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b92505b5061083883611865565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61396c565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613857565b4290611892565b84610f13565b6108d5886118a6565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61396c565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f611a43565b915091508060095f8282546109729190613857565b9091555061098d9050865f8461098781611b10565b88611b39565b6109978183613857565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611cb0565b91506109db6109d68385610683565b611cf9565b600680546002906109fc9084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611865565b60068054601090610a4b908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f886001611a43565b915091508060095f828254610abe9190613857565b90915550610ad99050835f84610ad381611b10565b8a611d22565b610ae3818361396c565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b03166139c6565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611865565b60068054601090610b62908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611b10565b610ba483611b10565b610bae9190613a06565b5f611f12565b8e610bbf8482611f51565b50505b5f610bcc84612140565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca69190613a25565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612282565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d41611826565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f0000000000000000000000000000000000000000000000000000000000000000612308565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612333565b612397565b15610e6d57610e6d6123d8565b610e79878588856123f1565b91965094509250670de0b6b3a7640000610efb610e968784613857565b600254610eb4908890600160801b90046001600160801b031661396c565b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b1115610f0957610f096123d8565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611865565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661396c565b610fb99190613a40565b85670de0b6b3a7640000610fcd878a61396c565b610fd79190613a40565b859291906001612439565b611865565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611865565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a764000086613a40565b6005546001600160801b03169190886001612439565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611865565b600280545f906110d19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611865565b60028054601090611120908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611865565b61115790826139e6565b600380546001600160801b03808416600160801b02911617905590505f61117d836124dd565b905061119b8161118c87611b10565b6111969084613a77565b611f12565b6111a48461251d565b6111b0576111b06123d8565b5f6111ba8561257c565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613857565b90915550505f838152600b60205260408120805483929061126a908490613857565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db611826565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f0000000000000000000000000000000000000000000000000000000000000000612588565b93508761134d85896125a8565b111561135b5761135b6123d8565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611846565b93506113d58a670de0b6b3a7640000868c6125bc565b509193509091506113e89050818361396c565b6113f2908761396c565b95508861143f816114398d611407868c61396c565b8d61141287826126c8565b877f00000000000000000000000000000000000000000000000000000000000000006126dd565b906125a8565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126fd565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af41580156114b4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069a9190613a9e565b5f6114e960408301602084016138a6565b156114f5575082611502565b6114ff8484612720565b90505b9392505050565b6002546001600160801b031683811015611525576115256123d8565b60045490849003907f00000000000000000000000000000000000000000000000000000000000000009061155d908390600f0b612734565b101561156b5761156b6123d8565b6004546115b590610fe290600160801b90046001600160801b0316611598670de0b6b3a764000086613a40565b600554600160801b90046001600160801b03169190896001612439565b600580546001600160801b03928316600160801b0292169190911790556115db81611865565b600280546001600160801b0319166001600160801b039290921691909117905561160485611865565b60028054601090611626908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061165385611865565b60048054601090611675908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f6116a3836124dd565b905061119b816116b288611b10565b6111969084613a06565b5f806116f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612759565b6117537f0000000000000000000000000000000000000000000000000000000000000000611722876001613857565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906127c6565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b1580156117b8575f80fd5b505af11580156117ca573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261180a575f80fd5b5091020490565b5f61181c8284613ac9565b610697908461396c565b6002546004545f916106cb916001600160801b0390911690600f0b612734565b5f61185c826118568588886117f6565b90612855565b95945050505050565b5f6001600160801b0382111561188e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118a05782610697565b50919050565b6006545f9081906118c8908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b03169250905081811115611a3e575f6118f1838361396c565b9050611900610fe28286611450565b60068054601090611922908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61195a858361272090919063ffffffff16565b90505f611987827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461199a9190613857565b909155506119aa9050818361396c565b91506119b582611865565b600280545f906119cf9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119fc826128ba565b600480545f90611a10908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a4f8785612720565b91505f611a7c837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611aa8817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611acb57611aba828261396c565b611ac4908461396c565b9250611ae2565b611ad5828261396c565b611adf9084613857565b92505b86861015611b0557611af58387896117f6565b9250611b028287896117f6565b91505b509550959350505050565b5f6001600160ff1b0382111561188e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b81610fe282611b65670de0b6b3a764000086613a40565b600554600160801b90046001600160801b031691908a5f612439565b600580546001600160801b03928316600160801b029216919091179055611ba786611865565b611bb19082613a57565b600480546001600160801b03928316600160801b029216919091179055611bd784611865565b600280545f90611bf19084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611c1e836128e3565b600480545f90611c32908490600f0b613adc565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c6285611865565b60028054601090611c84908490600160801b90046001600160801b0316613a57565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611cc784611cc18a888a6117f6565b90612720565b9050611cd48884866117f6565b611cde9082613857565b905086811115611cee5786810391505b509695505050505050565b5f6001600160701b0382111561188e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d6457507f0000000000000000000000000000000000000000000000000000000000000000611d62858361396c565b105b15611d7157611d716123d8565b6004549084900390600f0b611d868482613a06565b905083611d9286611b10565b138015611dc757507f0000000000000000000000000000000000000000000000000000000000000000611dc58383612734565b105b15611dd457611dd46123d8565b600354600160801b90046001600160801b0316611e15610fe282611e00670de0b6b3a764000088613a40565b6005546001600160801b031691908c5f612439565b600580546001600160801b0319166001600160801b0392909216919091179055611e3f888261396c565b9050611e4a81611865565b600380546001600160801b03928316600160801b029216919091179055611e7083611865565b600280546001600160801b0319166001600160801b0392909216919091179055611e99826128e3565b600480546001600160801b0319166001600160801b0392909216919091179055611ec287611865565b60028054601090611ee4908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611f2d90610fe2906001600160801b0316848461291e565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f9b916001600160801b03169061396c565b9050805f03611fae57600191505061069a565b5f611fb885612980565b9050805f03611fcc5760019250505061069a565b5f80611fd9838589612a1b565b9150915080611fee575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612029929190613b87565b6040805180830381865af4158015612043573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120679190613bfc565b9150915061208561207782611b10565b61208090613c1e565b612b88565b92508261209a575f965050505050505061069a565b6120a382611865565b600780545f906120bd9084906001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120ea81611865565b6007805460109061210c908490600160801b90046001600160801b03166139e6565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61216787612d1c565b6040518263ffffffff1660e01b81526004016121839190613c38565b6040805180830381865af415801561219d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121c19190613c47565b91509150806121d657505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161223b91613857565b612245919061396c565b9050805f0361225b57505f958695509350505050565b5f808711612269575f612274565b6122748488846117f6565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156122a5576122a5613c75565b6040519080825280601f01601f1916602001820160405280156122cf576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122ef578692505b828152825f602083013e90999098509650505050505050565b5f61232887878761232188670de0b6b3a764000061396c565b8787612e56565b979650505050505050565b5f6114ff61237361234c84670de0b6b3a764000061396c565b611439670de0b6b3a7640000612362818a611450565b61236c919061396c565b87906125a8565b61238590670de0b6b3a7640000613857565b611cc184670de0b6b3a764000061396c565b5f806123cd856123a5611826565b6123af9190613857565b600254610eb4908790600160801b90046001600160801b031661396c565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f612401898789612e78565b9092509050612410828961396c565b97505f61241e82888a6117f6565b905061242a818b61396c565b9a989950979650505050505050565b5f825f0361244857508461185c565b811561249a5761247961245b8487613857565b6124658587610683565b61246f888a610683565b611cc19190613857565b90505f6124868588611892565b905080821015612494578091505b5061185c565b8285036124a857505f61185c565b6124d36124b5848761396c565b6124bf85876125a8565b6124c9888a610683565b611cc1919061396c565b9695505050505050565b5f612502600b5f6124ef6002866111e3565b81526020019081526020015f2054611b10565b612513600b5f6124ef6001876111e3565b61069a9190613a06565b5f6125487f0000000000000000000000000000000000000000000000000000000000000000836125a8565b60035461255e91906001600160801b0316613857565b600254612574906001600160801b031684610683565b101592915050565b5f61069a826004611f51565b5f6123288787876125a188670de0b6b3a764000061396c565b8787612ef7565b5f6106978383670de0b6b3a76400006126fd565b5f80808061260c87866126058b6114396125de8c670de0b6b3a764000061396c565b7f0000000000000000000000000000000000000000000000000000000000000000906125a8565b91906126fd565b9350612638847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61265861265089670de0b6b3a764000061396c565b8a90886126fd565b9050612684817f00000000000000000000000000000000000000000000000000000000000000006125a8565b93506126b0847f0000000000000000000000000000000000000000000000000000000000000000610683565b6126ba9084613857565b915050945094509450949050565b5f8183116126d65781610697565b5090919050565b5f806126f4846126ee8a888a6126fd565b90611450565b9050611cd48884865b5f825f190484118302158202612711575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117f6565b5f806127408484612f07565b909250905080612752576127526123d8565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127c09186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612f3f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128178482612faa565b6127c0576040516001600160a01b0384811660248301525f604483015261284b91869182169063095ea7b39060640161278e565b6127c08482612f3f565b5f815f0361286c5750670de0b6b3a764000061069a565b825f0361287a57505f61069a565b5f61288483611b10565b90505f61289861289386611b10565b613047565b90508181026128af670de0b6b3a764000082613c89565b90506124d38161326c565b5f60016001607f1b0382111561188e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612900575060016001607f1b0382135b1561188e5760405163a5353be560e01b815260040160405180910390fd5b5f8061292a845f6133fe565b612934845f6133fe565b61293e9190613a06565b90505f811315612959576129528186613857565b9450612977565b5f8112156129775761296a81613c1e565b612974908661396c565b94505b50929392505050565b6003545f90819061299a906001600160801b031684611450565b90506129c67f000000000000000000000000000000000000000000000000000000000000000082613857565b6002546001600160801b031611156118a0576002547f000000000000000000000000000000000000000000000000000000000000000090612a119083906001600160801b031661396c565b611502919061396c565b612a2361374a565b5f80612a2e84612d1c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a689190613c38565b6040805180830381865af4158015612a82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aa69190613c47565b9350905082612aba57505f91506117d59050565b5f612ae0612adb84610160015185610140015161068390919063ffffffff16565b611b10565b612b00612adb8561012001518661010001516125a890919063ffffffff16565b612b0a9190613a06565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612c3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c629190613cb5565b935093509350935080612c7d57505f98975050505050505050565b868414612cae57612c8d84611865565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612cdf57612cbe836128e3565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612d0d57612cef82611865565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612d24613794565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612e1c911661340c565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e4e9290041661340c565b905292915050565b5f80612e66888888888888613480565b909250905080611cee57611cee6123d8565b5f80612ec18561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612eb7818c611450565b611439919061396c565b9150612eed827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e66888888888888613544565b5f805f83612f1486611b10565b612f1e9190613a06565b90505f811215612f34575f80925092505061067c565b946001945092505050565b5f612f536001600160a01b03841683613600565b905080515f14158015612f77575080806020019051810190612f759190613ce8565b155b15612fa557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b031684604051612fc59190613d03565b5f604051808303815f865af19150503d805f8114612ffe576040519150601f19603f3d011682016040523d82523d5f602084013e613003565b606091505b509150915081801561302d57508051158061302d57508080602001905181019061302d9190613ce8565b801561185c5750505050506001600160a01b03163b151590565b5f8082136130685760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906130eb9084901c611b10565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361328557505f919050565b680755bf798b4a1bf1e582126132ae576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b0181810595509293509091906124d374029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611b10565b5f8183136126d65781610697565b5f80670de0b6b3a764000061341f6106a0565b6134299190613a40565b9050808311613438575f613442565b613442818461396c565b9150611502613479670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613a40565b8390612720565b5f805f613490898988888861360d565b90506134aa866118566134a38a8d613857565b8790610683565b98506134b7858a866117f6565b9850888110156134cd575f809250925050613539565b888103670de0b6b3a76400008110613502576134fb6134f4670de0b6b3a764000089611450565b8290612855565b905061351a565b6135176134f4670de0b6b3a764000089612720565b90505b8089101561352f575f80935093505050613539565b8803925060019150505b965096945050505050565b5f805f613554898988888861360d565b905061356486611856898b613857565b97508781101561357a575f809250925050613539565b8781036135888186886126fd565b9050670de0b6b3a764000081106135b5576135ae6134f4670de0b6b3a764000089611450565b90506135cd565b6135ca6134f4670de0b6b3a764000089612720565b90505b6135d78186611450565b9050808a10156135ee575f80935093505050613539565b90980398600198509650505050505050565b606061069783835f61363b565b5f6136188585612855565b61363161362986611856868b6125a8565b8590856126fd565b6124d39190613857565b6060814710156136605760405163cd78605960e01b8152306004820152602401612f9c565b5f80856001600160a01b0316848660405161367b9190613d03565b5f6040518083038185875af1925050503d805f81146136b5576040519150601f19603f3d011682016040523d82523d5f602084013e6136ba565b606091505b50915091506124d38683836060826136da576136d582613721565b611502565b81511580156136f157506001600160a01b0384163b155b1561371a57604051639996b31560e01b81526001600160a01b0385166004820152602401612f9c565b5080611502565b8051156137315780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061375e613794565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137fc575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613827575f80fd5b850160608188031215613838575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a613843565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561388e575f80fd5b81356115028161386a565b80151581146105af575f80fd5b5f602082840312156138b6575f80fd5b813561150281613899565b5f808335601e198436030181126138d6575f80fd5b83018035915067ffffffffffffffff8211156138f0575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61395f60c083018486613904565b9998505050505050505050565b8181038181111561069a5761069a613843565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6139b860e083018486613904565b9a9950505050505050505050565b6001600160701b0381811683821601908082111561275257612752613843565b6001600160801b0381811683821601908082111561275257612752613843565b8181035f83128015838313168383128216171561275257612752613843565b5f60208284031215613a35575f80fd5b81516115028161386a565b808202811582820484141761069a5761069a613843565b6001600160801b0382811682821603908082111561275257612752613843565b8082018281125f831280158216821582161715613a9657613a96613843565b505092915050565b5f60208284031215613aae575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82613ad757613ad7613ab5565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a613843565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b9a828551613b09565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613c0d575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613c3257613c32613843565b505f0390565b610180810161069a8284613b09565b5f8060408385031215613c58575f80fd5b825191506020830151613c6a81613899565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c9757613c97613ab5565b600160ff1b82145f1984141615613cb057613cb0613843565b500590565b5f805f8060808587031215613cc8575f80fd5b845193506020850151925060408501519150606085015161383881613899565b5f60208284031215613cf8575f80fd5b815161150281613899565b5f82515f5b81811015613d225760208186018101518583015201613d08565b505f92019182525091905056fea2646970667358221220c7e2feba07542200016a39155ae6061f21c5e701d8284d1b5bc5b64dd882b4ed64736f6c63430008160033a2646970667358221220fb7eb2ae17180ffa2855cf88f6bf75f74eff2398ed1e301ddcc2d3cc0e8ce3ff64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget3.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget3.ts new file mode 100644 index 000000000..870f1a8b3 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget3.ts @@ -0,0 +1,1040 @@ +export const StakingUSDSTarget3 = { + name: 'StakingUSDSTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162004515380380620045158339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cc0620008555f395f818161198801526119ff01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120a001528181612103015281816129ac01528181612dea0152612e2601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cb101525f8181611e06015261307501525f81816110260152611dda01525f61302b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261294201525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cc05ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613719565b610064565b60405190815260200160405180910390f35b61003f61005f366004613778565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137eb565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137eb565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137eb565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d8565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161387c565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061388b565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161387c565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061388b565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137eb565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b6565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d8565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b6565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138de565b866107a960408c018c6138f9565b6040516107bc979695949392919061393c565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261398f565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a6565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b6565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b6565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138de565b87610b5e60408901896138f9565b604051610b71979695949392919061393c565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b6565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138de565b15610c8f57610c8585610c8060408701876138f9565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f9565b611a6d565b610caf611a86565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a98565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137eb565b8a84611aad565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d8565b4290611be6565b84611aad565b610f5888611bf4565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137eb565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d91565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dc5565b915091508060095f828254610ff591906137d8565b909155506110109050865f8461100a81611766565b88611e92565b61101a81836137d8565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612009565b915061105e611059838561204c565b612060565b6006805460029061107f9084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d91565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dc5565b915091508060095f82825461114191906137d8565b9091555061115c9050835f8461115681611766565b8a612089565b61116681836137eb565b9150611175611059838761204c565b600680546002906111969084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a11565b5f612279565b8e61124284826122b8565b50505b5f61124f846124a7565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a30565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e9565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d91565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d91565b6113f79190613a11565b92915050565b5f805f8061140b8a8a612671565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a9565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8d7f0000000000000000000000000000000000000000000000000000000000000000612762565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461281c565b509093505f9050611568848f6137d8565b90505f6115888b8b61157987611766565b611583908e613a4b565b612864565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c6565b611766565b6115c683611766565b6115d36115b8868561204c565b6115dd9190613a11565b6115e79190613a11565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d6565b61162685670de0b6b3a76400006137eb565b906117d4565b61163461366a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f9565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f9565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612966565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d8565b90915550505f838152600b60205260408120805483929061183b9084906137d8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b8565b5f8183136118a7578261008d565b50919050565b5f806118b98484612671565b9092509050806118cb576118cb612afa565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b13565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b82565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612bef565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c7e565b5f611aa38284613a86565b61008d90846137eb565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad85750505050565b5f848152600860205260408120546001600160801b031690819003611b3057611b00836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bad565b611b81611b7c670de0b6b3a7640000611b4988866137eb565b611b53919061398f565b85670de0b6b3a7640000611b67878a6137eb565b611b71919061398f565b859291906001612cf2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb6846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c16908490600160801b90046001600160801b031661204c565b6006546201000090046001600160701b03169250905081811115611d8c575f611c3f83836137eb565b9050611c4e611b7c8286612d8c565b60068054601090611c70908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca885836117d490919063ffffffff16565b90505f611cd5827f000000000000000000000000000000000000000000000000000000000000000061204c565b90508060095f828254611ce891906137d8565b90915550611cf8905081836137eb565b9150611d03826118d2565b600280545f90611d1d9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4a82612da0565b600480545f90611d5e908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611dba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dd187856117d4565b91505f611dfe837f000000000000000000000000000000000000000000000000000000000000000061204c565b9050611e2a817f000000000000000000000000000000000000000000000000000000000000000061204c565b91508315611e4d57611e3c82826137eb565b611e4690846137eb565b9250611e64565b611e5782826137eb565b611e6190846137d8565b92505b86861015611e8757611e778387896117b9565b9250611e848287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611eda611b7c82611ebe670de0b6b3a76400008661398f565b600554600160801b90046001600160801b031691908a5f612cf2565b600580546001600160801b03928316600160801b029216919091179055611f00866118d2565b611f0a9082613a99565b600480546001600160801b03928316600160801b029216919091179055611f30846118d2565b600280545f90611f4a9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f77836118fb565b600480545f90611f8b908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fbb856118d2565b60028054601090611fdd908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061201a846116268a888a6117b9565b90506120278884866117b9565b61203190826137d8565b9050868111156120415786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c985836137eb565b105b156120d8576120d8612afa565b6004549084900390600f0b6120ed8482613a11565b9050836120f986611766565b13801561212e57507f000000000000000000000000000000000000000000000000000000000000000061212c83836118ad565b105b1561213b5761213b612afa565b600354600160801b90046001600160801b031661217c611b7c82612167670de0b6b3a76400008861398f565b6005546001600160801b031691908c5f612cf2565b600580546001600160801b0319166001600160801b03929092169190911790556121a688826137eb565b90506121b1816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d7836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612200826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612229876118d2565b6002805460109061224b908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461229490611b7c906001600160801b03168484612864565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612302916001600160801b0316906137eb565b9050805f036123155760019150506113f7565b5f61231f85612dc9565b9050805f03612333576001925050506113f7565b5f80612340838589612e64565b9150915080612355575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612390929190613ae6565b6040805180830381865af41580156123aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ce9190613b5b565b915091506123ec6123de82611766565b6123e790613b7d565b612966565b925082612401575f96505050505050506113f7565b61240a826118d2565b600780545f906124249084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612451816118d2565b60078054601090612473908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ce8761162c565b6040518263ffffffff1660e01b81526004016124ea919061387c565b6040805180830381865af4158015612504573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125289190613b97565b915091508061253d57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125a2916137d8565b6125ac91906137eb565b9050805f036125c257505f958695509350505050565b5f8087116125d0575f6125db565b6125db8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260c5761260c613bc5565b6040519080825280601f01601f191660200182016040528015612636576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612656578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267e86611766565b6126889190613a11565b90505f81121561269e575f809250925050610d21565b946001945092505050565b5f805f6126b98888888888612fcc565b90505f6126e3670de0b6b3a76400006126d28888612d8c565b6126dc91906137d8565b83906117d4565b9050670de0b6b3a7640000811061271757612710612709670de0b6b3a7640000896117d4565b8290612b13565b905061272f565b61272c612709670de0b6b3a764000089612d8c565b90505b61273981866117d4565b905088811015612750575f80935093505050612667565b97909703976001975095505050505050565b5f805f6127728989888888612ffa565b905061278c866119466127858a8d6137d8565b879061204c565b9850612799858a866117b9565b9850888110156127af575f8092509250506115f6565b888103670de0b6b3a764000081106127dd576127d6612709670de0b6b3a764000089612d8c565b90506127f5565b6127f2612709670de0b6b3a7640000896117d4565b90505b8089101561280a575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61282c89878961301e565b909250905061283b82896137eb565b97505f61284982888a6117b9565b9050612855818b6137eb565b9a989950979650505050505050565b5f80612870845f6130a3565b61287a845f6130a3565b6128849190613a11565b90505f81131561289f5761289881866137d8565b94506128bd565b5f8112156128bd576128b081613b7d565b6128ba90866137eb565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128ea575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061290c610d28565b612916919061398f565b9050808311612925575f61292f565b61292f81846137eb565b915061008d6126dc670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061398f565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a409190613bd9565b935093509350935080612a5b57505f98975050505050505050565b868414612a8c57612a6b846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612abd57612a9c836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612aeb57612acd826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b2a5750670de0b6b3a76400006113f7565b825f03612b3857505f6113f7565b5f612b4283611766565b90505f612b56612b5186611766565b6130b8565b9050818102612b6d670de0b6b3a764000082613c17565b9050612b78816132dd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061346f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c4084826134da565b612be9576040516001600160a01b0384811660248301525f6044830152612c7491869182169063095ea7b390606401612bb7565b612be9848261346f565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af4158015612cce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f7919061388b565b5f825f03612d01575084610075565b8115612d5357612d32612d1484876137d8565b612d1e858761204c565b612d28888a61204c565b61162691906137d8565b90505f612d3f8588611be6565b905080821015612d4d578091505b50610075565b828503612d6157505f610075565b610072612d6e84876137eb565b612d7885876128c6565b612d82888a61204c565b61162691906137eb565b5f61008d83670de0b6b3a7640000846128d6565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612de3906001600160801b031684612d8c565b9050612e0f7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e5a9083906001600160801b03166137eb565b61008d91906137eb565b612e6c6136bf565b5f80612e778461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eb1919061387c565b6040805180830381865af4158015612ecb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eef9190613b97565b9350905082612f0357505f9150611a659050565b5f612f246115b884610160015185610140015161204c90919063ffffffff16565b612f446115b88561012001518661010001516128c690919063ffffffff16565b612f4e9190613a11565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd78585612b13565b612ff0612fe886611946868b61204c565b8590856117b9565b61007291906137d8565b5f6130058585612b13565b612ff061301686611946868b6128c6565b8590856128d6565b5f8061306d8561306785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061305d818c612d8c565b61306791906137eb565b906128c6565b9150613099827f000000000000000000000000000000000000000000000000000000000000000061204c565b9050935093915050565b5f8183136130b1578161008d565b5090919050565b5f8082136130d95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061315c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f657505f919050565b680755bf798b4a1bf1e5821261331f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134836001600160a01b03841683613577565b905080515f141580156134a75750808060200190518101906134a59190613c43565b155b156134d557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134f59190613c5e565b5f604051808303815f865af19150503d805f811461352e576040519150601f19603f3d011682016040523d82523d5f602084013e613533565b606091505b509150915081801561355d57508051158061355d57508080602001905181019061355d9190613c43565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161359b9190613c5e565b5f6040518083038185875af1925050503d805f81146135d5576040519150601f19603f3d011682016040523d82523d5f602084013e6135da565b606091505b5091509150612b788683836060826135fa576135f582613641565b61008d565b815115801561361157506001600160a01b0384163b155b1561363a57604051639996b31560e01b81526001600160a01b03851660048201526024016134cc565b508061008d565b8051156136515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136d361366a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561372d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561375f575f80fd5b61376b88828901613709565b9150509295509295909350565b5f805f6060848603121561378a575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ae575f80fd5b6137ba86828701613709565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137c4565b818103818111156113f7576113f76137c4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137fe565b5f6020828403121561389b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c6575f80fd5b813561008d816138a2565b8015158114610c0a575f80fd5b5f602082840312156138ee575f80fd5b813561008d816138d1565b5f808335601e1984360301811261390e575f80fd5b83018035915067ffffffffffffffff821115613928575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137c4565b5f805f606084860312156139b8575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137c4565b6001600160801b038181168382160190808211156118cb576118cb6137c4565b8181035f8312801583831316838312821617156118cb576118cb6137c4565b5f60208284031215613a40575f80fd5b815161008d816138a2565b8082018281125f831280158216821582161715613a6a57613a6a6137c4565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a9457613a94613a72565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137c4565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137c4565b5f6102a082019050613af98285516137fe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b6c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b9157613b916137c4565b505f0390565b5f8060408385031215613ba8575f80fd5b825191506020830151613bba816138d1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613bec575f80fd5b8451935060208501519250604085015191506060850151613c0c816138d1565b939692955090935050565b5f82613c2557613c25613a72565b600160ff1b82145f1984141615613c3e57613c3e6137c4565b500590565b5f60208284031215613c53575f80fd5b815161008d816138d1565b5f82515f5b81811015613c7d5760208186018101518583015201613c63565b505f92019182525091905056fea264697066735822122084046a3a19c2b2d8b4c17c54c1915564308a2418792f4a6f2d3d606546f6f50a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget3Deployer.ts new file mode 100644 index 000000000..b46bd79a5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const StakingUSDSTarget3Deployer = { + name: 'StakingUSDSTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50614a7b8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b614515806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162004515380380620045158339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051613cc0620008555f395f818161198801526119ff01525f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120a001528181612103015281816129ac01528181612dea0152612e2601525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cb101525f8181611e06015261307501525f81816110260152611dda01525f61302b01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261294201525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f50505f818161195b01526119bc0152613cc05ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a366004613719565b610064565b60405190815260200160405180910390f35b61003f61005f366004613778565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f0000000000000000000000000000000000000000000000000000000000000000896137eb565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f0000000000000000000000000000000000000000000000000000000000000000826137eb565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b03909116906137eb565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f9083906137d8565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161387c565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061388b565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161387c565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061388b565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b81876137eb565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f01602081019061061691906138b6565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c61025491906137d8565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e60208501856138b6565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b016138de565b866107a960408c018c6138f9565b6040516107bc979695949392919061393c565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261398f565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a591906139a6565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c6138b6565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b1360208201826138b6565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b5060408701602088016138de565b87610b5e60408901896138f9565b604051610b71979695949392919061393c565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be360208301836138b6565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a60408501602086016138de565b15610c8f57610c8585610c8060408701876138f9565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138f9565b611a6d565b610caf611a86565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611a98565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b6137d8565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b6137eb565b8a84611aad565b610f4f89610f49610f427f0000000000000000000000000000000000000000000000000000000000000000836137d8565b4290611be6565b84611aad565b610f5888611bf4565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d6137eb565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611d91565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611dc5565b915091508060095f828254610ff591906137d8565b909155506110109050865f8461100a81611766565b88611e92565b61101a81836137d8565b915061104a86838a8e877f0000000000000000000000000000000000000000000000000000000000000000612009565b915061105e611059838561204c565b612060565b6006805460029061107f9084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611d91565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611dc5565b915091508060095f82825461114191906137d8565b9091555061115c9050835f8461115681611766565b8a612089565b61116681836137eb565b9150611175611059838761204c565b600680546002906111969084906201000090046001600160701b03166139d1565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b6112319190613a11565b5f612279565b8e61124284826122b8565b50505b5f61124f846124a7565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113299190613a30565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906125e9565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611d91565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611d91565b6113f79190613a11565b92915050565b5f805f8061140b8a8a612671565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8b7f00000000000000000000000000000000000000000000000000000000000000006126a9565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a76400006137eb565b8d7f0000000000000000000000000000000000000000000000000000000000000000612762565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461281c565b509093505f9050611568848f6137d8565b90505f6115888b8b61157987611766565b611583908e613a4b565b612864565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128c6565b611766565b6115c683611766565b6115d36115b8868561204c565b6115dd9190613a11565b6115e79190613a11565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128d6565b61162685670de0b6b3a76400006137eb565b906117d4565b61163461366a565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c91166128f9565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e929004166128f9565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612966565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b0386168452909152812080548392906118199084906137d8565b90915550505f838152600b60205260408120805483929061183b9084906137d8565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122b8565b5f8183136118a7578261008d565b50919050565b5f806118b98484612671565b9092509050806118cb576118cb612afa565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b13565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612b82565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b28760016137d8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612bef565b6040516342ea02c160e01b8152600481018690525f60248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342ea02c1906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b50505050845f915091505b935093915050565b60405163350b944160e11b815260040160405180910390fd5b5f610c2d670de0b6b3a7640000612c7e565b5f611aa38284613a86565b61008d90846137eb565b5f83815260086020526040902054600160801b90046001600160801b0316808303611ad85750505050565b5f848152600860205260408120546001600160801b031690819003611b3057611b00836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bad565b611b81611b7c670de0b6b3a7640000611b4988866137eb565b611b53919061398f565b85670de0b6b3a7640000611b67878a6137eb565b611b71919061398f565b859291906001612cf2565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bb6846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c16908490600160801b90046001600160801b031661204c565b6006546201000090046001600160701b03169250905081811115611d8c575f611c3f83836137eb565b9050611c4e611b7c8286612d8c565b60068054601090611c70908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611ca885836117d490919063ffffffff16565b90505f611cd5827f000000000000000000000000000000000000000000000000000000000000000061204c565b90508060095f828254611ce891906137d8565b90915550611cf8905081836137eb565b9150611d03826118d2565b600280545f90611d1d9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d4a82612da0565b600480545f90611d5e908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611dba5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611dd187856117d4565b91505f611dfe837f000000000000000000000000000000000000000000000000000000000000000061204c565b9050611e2a817f000000000000000000000000000000000000000000000000000000000000000061204c565b91508315611e4d57611e3c82826137eb565b611e4690846137eb565b9250611e64565b611e5782826137eb565b611e6190846137d8565b92505b86861015611e8757611e778387896117b9565b9250611e848287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611eda611b7c82611ebe670de0b6b3a76400008661398f565b600554600160801b90046001600160801b031691908a5f612cf2565b600580546001600160801b03928316600160801b029216919091179055611f00866118d2565b611f0a9082613a99565b600480546001600160801b03928316600160801b029216919091179055611f30846118d2565b600280545f90611f4a9084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f77836118fb565b600480545f90611f8b908490600f0b613ab9565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fbb856118d2565b60028054601090611fdd908490600160801b90046001600160801b0316613a99565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061201a846116268a888a6117b9565b90506120278884866117b9565b61203190826137d8565b9050868111156120415786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120cb57507f00000000000000000000000000000000000000000000000000000000000000006120c985836137eb565b105b156120d8576120d8612afa565b6004549084900390600f0b6120ed8482613a11565b9050836120f986611766565b13801561212e57507f000000000000000000000000000000000000000000000000000000000000000061212c83836118ad565b105b1561213b5761213b612afa565b600354600160801b90046001600160801b031661217c611b7c82612167670de0b6b3a76400008861398f565b6005546001600160801b031691908c5f612cf2565b600580546001600160801b0319166001600160801b03929092169190911790556121a688826137eb565b90506121b1816118d2565b600380546001600160801b03928316600160801b0292169190911790556121d7836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612200826118fb565b600480546001600160801b0319166001600160801b0392909216919091179055612229876118d2565b6002805460109061224b908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461229490611b7c906001600160801b03168484612864565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612302916001600160801b0316906137eb565b9050805f036123155760019150506113f7565b5f61231f85612dc9565b9050805f03612333576001925050506113f7565b5f80612340838589612e64565b9150915080612355575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401612390929190613ae6565b6040805180830381865af41580156123aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ce9190613b5b565b915091506123ec6123de82611766565b6123e790613b7d565b612966565b925082612401575f96505050505050506113f7565b61240a826118d2565b600780545f906124249084906001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612451816118d2565b60078054601090612473908490600160801b90046001600160801b03166139f1565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ce8761162c565b6040518263ffffffff1660e01b81526004016124ea919061387c565b6040805180830381865af4158015612504573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125289190613b97565b915091508061253d57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125a2916137d8565b6125ac91906137eb565b9050805f036125c257505f958695509350505050565b5f8087116125d0575f6125db565b6125db8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561260c5761260c613bc5565b6040519080825280601f01601f191660200182016040528015612636576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612656578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361267e86611766565b6126889190613a11565b90505f81121561269e575f809250925050610d21565b946001945092505050565b5f805f6126b98888888888612fcc565b90505f6126e3670de0b6b3a76400006126d28888612d8c565b6126dc91906137d8565b83906117d4565b9050670de0b6b3a7640000811061271757612710612709670de0b6b3a7640000896117d4565b8290612b13565b905061272f565b61272c612709670de0b6b3a764000089612d8c565b90505b61273981866117d4565b905088811015612750575f80935093505050612667565b97909703976001975095505050505050565b5f805f6127728989888888612ffa565b905061278c866119466127858a8d6137d8565b879061204c565b9850612799858a866117b9565b9850888110156127af575f8092509250506115f6565b888103670de0b6b3a764000081106127dd576127d6612709670de0b6b3a764000089612d8c565b90506127f5565b6127f2612709670de0b6b3a7640000896117d4565b90505b8089101561280a575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61282c89878961301e565b909250905061283b82896137eb565b97505f61284982888a6117b9565b9050612855818b6137eb565b9a989950979650505050505050565b5f80612870845f6130a3565b61287a845f6130a3565b6128849190613a11565b90505f81131561289f5761289881866137d8565b94506128bd565b5f8112156128bd576128b081613b7d565b6128ba90866137eb565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f1904841183021582026128ea575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061290c610d28565b612916919061398f565b9050808311612925575f61292f565b61292f81846137eb565b915061008d6126dc670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061398f565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a409190613bd9565b935093509350935080612a5b57505f98975050505050505050565b868414612a8c57612a6b846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612abd57612a9c836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612aeb57612acd826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b2a5750670de0b6b3a76400006113f7565b825f03612b3857505f6113f7565b5f612b4283611766565b90505f612b56612b5186611766565b6130b8565b9050818102612b6d670de0b6b3a764000082613c17565b9050612b78816132dd565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612be99186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061346f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c4084826134da565b612be9576040516001600160a01b0384811660248301525f6044830152612c7491869182169063095ea7b390606401612bb7565b612be9848261346f565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f90602401602060405180830381865af4158015612cce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f7919061388b565b5f825f03612d01575084610075565b8115612d5357612d32612d1484876137d8565b612d1e858761204c565b612d28888a61204c565b61162691906137d8565b90505f612d3f8588611be6565b905080821015612d4d578091505b50610075565b828503612d6157505f610075565b610072612d6e84876137eb565b612d7885876128c6565b612d82888a61204c565b61162691906137eb565b5f61008d83670de0b6b3a7640000846128d6565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612de3906001600160801b031684612d8c565b9050612e0f7f0000000000000000000000000000000000000000000000000000000000000000826137d8565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e5a9083906001600160801b03166137eb565b61008d91906137eb565b612e6c6136bf565b5f80612e778461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612eb1919061387c565b6040805180830381865af4158015612ecb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eef9190613b97565b9350905082612f0357505f9150611a659050565b5f612f246115b884610160015185610140015161204c90919063ffffffff16565b612f446115b88561012001518661010001516128c690919063ffffffff16565b612f4e9190613a11565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612fd78585612b13565b612ff0612fe886611946868b61204c565b8590856117b9565b61007291906137d8565b5f6130058585612b13565b612ff061301686611946868b6128c6565b8590856128d6565b5f8061306d8561306785817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061305d818c612d8c565b61306791906137eb565b906128c6565b9150613099827f000000000000000000000000000000000000000000000000000000000000000061204c565b9050935093915050565b5f8183136130b1578161008d565b5090919050565b5f8082136130d95760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061315c9084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132f657505f919050565b680755bf798b4a1bf1e5821261331f576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b7874029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134836001600160a01b03841683613577565b905080515f141580156134a75750808060200190518101906134a59190613c43565b155b156134d557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b0316846040516134f59190613c5e565b5f604051808303815f865af19150503d805f811461352e576040519150601f19603f3d011682016040523d82523d5f602084013e613533565b606091505b509150915081801561355d57508051158061355d57508080602001905181019061355d9190613c43565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161359b9190613c5e565b5f6040518083038185875af1925050503d805f81146135d5576040519150601f19603f3d011682016040523d82523d5f602084013e6135da565b606091505b5091509150612b788683836060826135fa576135f582613641565b61008d565b815115801561361157506001600160a01b0384163b155b1561363a57604051639996b31560e01b81526001600160a01b03851660048201526024016134cc565b508061008d565b8051156136515780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061012001604052806136d361366a565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a0868803121561372d575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561375f575f80fd5b61376b88828901613709565b9150509295509295909350565b5f805f6060848603121561378a575f80fd5b8335925060208401359150604084013567ffffffffffffffff8111156137ae575f80fd5b6137ba86828701613709565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f76137c4565b818103818111156113f7576113f76137c4565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137fe565b5f6020828403121561389b575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f602082840312156138c6575f80fd5b813561008d816138a2565b8015158114610c0a575f80fd5b5f602082840312156138ee575f80fd5b813561008d816138d1565b5f808335601e1984360301811261390e575f80fd5b83018035915067ffffffffffffffff821115613928575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f76137c4565b5f805f606084860312156139b8575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb6137c4565b6001600160801b038181168382160190808211156118cb576118cb6137c4565b8181035f8312801583831316838312821617156118cb576118cb6137c4565b5f60208284031215613a40575f80fd5b815161008d816138a2565b8082018281125f831280158216821582161715613a6a57613a6a6137c4565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a9457613a94613a72565b500690565b6001600160801b038281168282160390808211156118cb576118cb6137c4565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f76137c4565b5f6102a082019050613af98285516137fe565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b6c575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b9157613b916137c4565b505f0390565b5f8060408385031215613ba8575f80fd5b825191506020830151613bba816138d1565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613bec575f80fd5b8451935060208501519250604085015191506060850151613c0c816138d1565b939692955090935050565b5f82613c2557613c25613a72565b600160ff1b82145f1984141615613c3e57613c3e6137c4565b500590565b5f60208284031215613c53575f80fd5b815161008d816138d1565b5f82515f5b81811015613c7d5760208186018101518583015201613c63565b505f92019182525091905056fea264697066735822122084046a3a19c2b2d8b4c17c54c1915564308a2418792f4a6f2d3d606546f6f50a64736f6c63430008160033a26469706673582212206c1ff461d3e197a4c9725eaabbfb597da63f0bbbb24e74b700ceec367452919364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget4.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget4.ts new file mode 100644 index 000000000..2b9c9ca9a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget4.ts @@ -0,0 +1,1014 @@ +export const StakingUSDSTarget4 = { + name: 'StakingUSDSTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "__stakingUSDS", + "type": "address", + "internalType": "contract IStakingUSDS" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x6102a060405234801562000011575f80fd5b5060405162003723380380620037238339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f896200079a5f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261239701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122eb0152612f895ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a18565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a6a565b6100b1565b005b610056610092366004612a18565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a9e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ac6565b61016a60408c018c612ae1565b60405161017c96959493929190612b4c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b99565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a9e565b88610ea4565b5f6102f56102ec6020870187612a9e565b88848989610a9e565b90945090506103048188612bc0565b92505f61031083610f41565b5090506103206020870187612a9e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ac6565b8a888e80604001906103709190612ae1565b604051610384989796959493929190612bd3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a9e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c1a565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bc0565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c1a565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bc0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c1a565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c1a565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c1a565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bc0565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c6d565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c8c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612ca7565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bc0565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d45565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dba565b91509150610d11610d038261156b565b610d0c90612ddc565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bc0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c1a565b90915550505f838152600b602052604081208054839290610ef7908490612c1a565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612df6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e05565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c1a565b6110469190612bc0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e33565b5f6111038284612b99565b61110d9084612bc0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bc0565b6112269190612e4a565b85670de0b6b3a764000061123a878a612bc0565b6112449190612e4a565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bc0565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c1a565b909155506113d190508183612bc0565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bc0565b61151f9084612bc0565b925061153d565b6115308282612bc0565b61153a9084612c1a565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e4a565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612ca7565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c1a565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bc0565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c6d565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e4a565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bc0565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e8e565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612ac6565b15611ad857611ad185611abf6020860186612a9e565b611acc6040870187612ae1565b61225c565b9150611afb565b611afb85611ae96020860186612a9e565b611af66040870187612ae1565b612312565b509392505050565b5f61110d8383670de0b6b3a764000061232b565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c1a565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bc0565b61110d9190612bc0565b611bba612979565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612df6565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e05565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c6d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ea2565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129c3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb3911661234e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe59290041661234e565b905292915050565b5f80611ff984846123c2565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123fd565b905081810261206c670de0b6b3a764000082612ee0565b905061207781612622565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c1a565b6120ad8587611754565b6120b7888a611754565b61171c9190612c1a565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bc0565b6121078587611b03565b612111888a611754565b61171c9190612bc0565b5f61110d83670de0b6b3a76400008461232b565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127b4565b6121d6845f6127b4565b6121e09190612c6d565b90505f8113156121fb576121f48186612c1a565b9450612219565b5f8112156122195761220c81612ddc565b6122169086612bc0565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b505050506122dc85611083565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127c9565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261233f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236161040f565b61236b9190612e4a565b905080831161237a575f612384565b6123848184612bc0565b915061110d6123bb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e4a565b839061212f565b5f805f836123cf8661156b565b6123d99190612c6d565b90505f8112156123ef575f8092509250506123f6565b9150600190505b9250929050565b5f80821361241e5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124a19084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263b57505f919050565b680755bf798b4a1bf1e58212612664576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127c2578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261281b908490612820565b505050565b5f6128346001600160a01b03841683612886565b905080515f141580156128585750808060200190518101906128569190612f0c565b155b1561281b57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128aa9190612f27565b5f6040518083038185875af1925050503d805f81146128e4576040519150601f19603f3d011682016040523d82523d5f602084013e6128e9565b606091505b50915091506120778683836060826129095761290482612950565b61110d565b815115801561292057506001600160a01b0384163b155b1561294957604051639996b31560e01b81526001600160a01b038516600482015260240161287d565b508061110d565b8051156129605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061298d6129c3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a2a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a4e575f80fd5b840160608187031215612a5f575f80fd5b809150509250925092565b5f8060408385031215612a7b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aae575f80fd5b813561110d81612a8a565b80151581146103f5575f80fd5b5f60208284031215612ad6575f80fd5b813561110d81612ab9565b5f808335601e19843603018112612af6575f80fd5b83018035915067ffffffffffffffff821115612b10575f80fd5b6020019150368190038213156123f6575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7960a083018486612b24565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612ba757612ba7612b85565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612bac565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0c60e083018486612b24565b9a9950505050505050505050565b80820180821115610dc757610dc7612bac565b6001600160701b0381811683821601908082111561200b5761200b612bac565b6001600160801b0381811683821601908082111561200b5761200b612bac565b8181035f83128015838313168383128216171561200b5761200b612bac565b5f60208284031215612c9c575f80fd5b815161110d81612a8a565b6001600160801b0382811682821603908082111561200b5761200b612bac565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d58828551612cc7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dcb575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612df057612df0612bac565b505f0390565b6101808101610dc78284612cc7565b5f8060408385031215612e16575f80fd5b825191506020830151612e2881612ab9565b809150509250929050565b5f60208284031215612e43575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612bac565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612bac565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eb5575f80fd5b8451935060208501519250604085015191506060850151612ed581612ab9565b939692955090935050565b5f82612eee57612eee612b85565b600160ff1b82145f1984141615612f0757612f07612bac565b500590565b5f60208284031215612f1c575f80fd5b815161110d81612ab9565b5f82515f5b81811015612f465760208186018101518583015201612f2c565b505f92019182525091905056fea2646970667358221220555a597b865125151842409c259e78b46a3f7acf3eff403a24627082efc0e28f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StakingUSDSTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/StakingUSDSTarget4Deployer.ts new file mode 100644 index 000000000..6a2cd1e45 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StakingUSDSTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const StakingUSDSTarget4Deployer = { + name: 'StakingUSDSTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b50613c898061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638c98b3c61462000030575b5f80fd5b620000476200004136600462000263565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b5f80838060200190518101906200007b9190620003d3565b6040805133602082015290810185905290915060600160405160208183030381529060405280519060200120868683604051620000b890620000f1565b620000c693929190620003f8565b8190604051809103905ff5905080158015620000e4573d5f803e3d5ffd5b509150505b949350505050565b613723806200053183390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200013a576200013a620000ff565b60405290565b6001600160a01b038116811462000155575f80fd5b50565b8035620001658162000140565b919050565b5f608082840312156200017b575f80fd5b6040516080810181811067ffffffffffffffff82111715620001a157620001a1620000ff565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112620001e2575f80fd5b813567ffffffffffffffff80821115620002005762000200620000ff565b604051601f8301601f19908116603f011681019082821181831017156200022b576200022b620000ff565b8160405283815286602085880101111562000244575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121562000279575f80fd5b6102608082121562000289575f80fd5b6200029362000113565b9150620002a08762000158565b8252620002b06020880162000158565b6020830152620002c36040880162000158565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606200032e81890162000158565b908301526101806200034288820162000158565b908301526101a06200035688820162000158565b908301526101c06200036a88820162000158565b908301526101e06200037f898983016200016a565b81840152508195506200039481880162000158565b9450505061028085013567ffffffffffffffff811115620003b3575f80fd5b620003c187828801620001d2565b949793965093946102a0013593505050565b5f60208284031215620003e4575f80fd5b8151620003f18162000140565b9392505050565b83516001600160a01b031681526102a0810160208501516200042560208401826001600160a01b03169052565b5060408501516200044160408401826001600160a01b03169052565b50606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151818401525061014080860151818401525061016080860151620004b4828501826001600160a01b03169052565b5050610180858101516001600160a01b03908116918401919091526101a0808701518216908401526101c0808701518216908401526101e08087015180519185019190915260208101516102008501526040810151610220850152606001516102408401528481166102608401528316610280830152620000e956fe6102a060405234801562000011575f80fd5b5060405162003723380380620037238339810160408190526200003491620004ef565b60015f81905583516001600160a01b039081166080818152602080880151841660a0908152918801516101a052908701516101c05260c0808801516101e090815260e0808a015161020052610120808b0151909352610100808b0151909152610140808b0151909152908901805151909252815190920151909152805160409081015161016052905160609081015161018052908701518316610240528601516102605281851661022052908316610280528291620000f69190839062000100565b505050506200068a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200015a9085908390620001cb16565b620001c557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001b99186916200027516565b620001c5848262000275565b50505050565b5f805f846001600160a01b031684604051620001e891906200063b565b5f604051808303815f865af19150503d805f811462000223576040519150601f19603f3d011682016040523d82523d5f602084013e62000228565b606091505b5091509150818015620002565750805115806200025657508080602001905181019062000256919062000669565b80156200026c57505f856001600160a01b03163b115b95945050505050565b5f6200028b6001600160a01b03841683620002e6565b905080515f14158015620002b2575080806020019051810190620002b0919062000669565b155b15620002e157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b6060620002f583835f620002fc565b9392505050565b606081471015620003235760405163cd78605960e01b8152306004820152602401620002d8565b5f80856001600160a01b031684866040516200034091906200063b565b5f6040518083038185875af1925050503d805f81146200037c576040519150601f19603f3d011682016040523d82523d5f602084013e62000381565b606091505b509092509050620003948683836200039e565b9695505050505050565b606082620003b757620003b18262000402565b620002f5565b8151158015620003cf57506001600160a01b0384163b155b15620003fa57604051639996b31560e01b81526001600160a01b0385166004820152602401620002d8565b5080620002f5565b805115620004135780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405161020081016001600160401b03811182821017156200045c57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b038116811462000479575f80fd5b919050565b5f608082840312156200048f575f80fd5b604051608081016001600160401b0381118282101715620004be57634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f805f8385036102a081121562000504575f80fd5b6102608082121562000514575f80fd5b6200051e6200042c565b91506200052b8662000462565b82526200053b6020870162000462565b60208301526200054e6040870162000462565b6040830152606086015160608301526080860151608083015260a086015160a083015260c086015160c083015260e086015160e0830152610100808701518184015250610120808701518184015250610140808701518184015250610160620005b981880162000462565b90830152610180620005cd87820162000462565b908301526101a0620005e187820162000462565b908301526101c0620005f587820162000462565b908301526101e06200060a888883016200047e565b81840152508194506200061f81870162000462565b9350505062000632610280850162000462565b90509250925092565b5f82515f5b818110156200065c576020818601810151858301520162000640565b505f920191825250919050565b5f602082840312156200067a575f80fd5b81518015158114620002f5575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051612f896200079a5f395f61227401525f50505f50505f61099201525f50505f818161025f0152611f4801525f81816117a80152818161180b01528181611b3801528181611b7401528181611d650152611f2201525f81816105500152611efc01525f61138a01525f6114df01525f818161070d01526114b301525f50505f81816105710152611f6e01525f818161064b015261239701525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f50505f6122eb0152612f895ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b610056610051366004612a18565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612a6a565b6100b1565b005b610056610092366004612a18565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f6020850185612a9e565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c01612ac6565b61016a60408c018c612ae1565b60405161017c96959493929190612b4c565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612b99565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d56020870187612a9e565b88610ea4565b5f6102f56102ec6020870187612a9e565b88848989610a9e565b90945090506103048188612bc0565b92505f61031083610f41565b5090506103206020870187612a9e565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e01612ac6565b8a888e80604001906103709190612ae1565b604051610384989796959493929190612bd3565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce6020830183612a9e565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f00000000000000000000000000000000000000000000000000000000000000006110f8565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612c1a565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b611114565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611134565b92505b506105a283611153565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612bc0565b8a84611180565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612c1a565b42906112b9565b84611180565b61063f886112cd565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612bc0565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c61146a565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f61149e565b915091508060095f8282546106dc9190612c1a565b909155506106f79050865f846106f18161156b565b88611594565b6107018183612c1a565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061170b565b91506107456107408385611754565b611768565b600680546002906107669084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061079382611153565b600680546010906107b5908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e860018461146a565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f88600161149e565b915091508060095f8282546108289190612c1a565b909155506108439050835f8461083d8161156b565b8a611791565b61084d8183612bc0565b915061085c6107408387611754565b6006805460029061087d9084906201000090046001600160701b0316612c2d565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa82611153565b600680546010906108cc908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e6109058761156b565b61090e8361156b565b6109189190612c6d565b5f611981565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612c8c565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b038616939291906119c0565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa985611a46565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b9091048116908516611a52565b9050610b2083611153565b610b2a9083612ca7565b600780546001600160801b0319166001600160801b0392909216919091179055610b5381611153565b60078054601090610b75908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba4818887611a6d565b9350610bb08684611b03565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612bc0565b9050805f03610c3a576001915050610dc7565b5f610c4485611b17565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611bb2565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612d45565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612dba565b91509150610d11610d038261156b565b610d0c90612ddc565b611d1f565b925082610d26575f9650505050505050610dc7565b610d2f82611153565b600780545f90610d499084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d7681611153565b60078054601090610d98908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612bc0565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612c1a565b90915550505f838152600b602052604081208054839290610ef7908490612c1a565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611eb3565b6040518263ffffffff1660e01b8152600401610f849190612df6565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612e05565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612c1a565b6110469190612bc0565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b611075848884611a52565b976001975095505050505050565b60405163b88fed9f60e01b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063b88fed9f906024015b602060405180830381865af41580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc79190612e33565b5f6111038284612b99565b61110d9084612bc0565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611fed565b5f61114a82611144858888611a52565b90612012565b95945050505050565b5f6001600160801b0382111561117c57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b03168083036111ab5750505050565b5f848152600860205260408120546001600160801b031690819003611203576111d383611153565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611280565b61125461124f670de0b6b3a764000061121c8886612bc0565b6112269190612e4a565b85670de0b6b3a764000061123a878a612bc0565b6112449190612e4a565b859291906001612081565b611153565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61128984611153565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116112c7578261110d565b50919050565b6006545f9081906112ef908490600160801b90046001600160801b0316611754565b6006546201000090046001600160701b03169250905081811115611465575f6113188383612bc0565b905061132761124f828661211b565b60068054601090611349908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611381858361212f90919063ffffffff16565b90505f6113ae827f0000000000000000000000000000000000000000000000000000000000000000611754565b90508060095f8282546113c19190612c1a565b909155506113d190508183612bc0565b91506113dc82611153565b600280545f906113f69084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061142382612143565b600480545f90611437908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114935760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f806114aa878561212f565b91505f6114d7837f0000000000000000000000000000000000000000000000000000000000000000611754565b9050611503817f0000000000000000000000000000000000000000000000000000000000000000611754565b91508315611526576115158282612bc0565b61151f9084612bc0565b925061153d565b6115308282612bc0565b61153a9084612c1a565b92505b8686101561156057611550838789611a52565b925061155d828789611a52565b91505b509550959350505050565b5f6001600160ff1b0382111561117c5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b03166115dc61124f826115c0670de0b6b3a764000086612e4a565b600554600160801b90046001600160801b031691908a5f612081565b600580546001600160801b03928316600160801b02921691909117905561160286611153565b61160c9082612ca7565b600480546001600160801b03928316600160801b02921691909117905561163284611153565b600280545f9061164c9084906001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506116798361216c565b600480545f9061168d908490600f0b612e61565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506116bd85611153565b600280546010906116df908490600160801b90046001600160801b0316612ca7565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806117228461171c8a888a611a52565b9061212f565b905061172f888486611a52565b6117399082612c1a565b9050868111156117495786810391505b509695505050505050565b5f61110d8383670de0b6b3a7640000611a52565b5f6001600160701b0382111561117c5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806117d357507f00000000000000000000000000000000000000000000000000000000000000006117d18583612bc0565b105b156117e0576117e06121a7565b6004549084900390600f0b6117f58482612c6d565b9050836118018661156b565b13801561183657507f00000000000000000000000000000000000000000000000000000000000000006118348383611fed565b105b15611843576118436121a7565b600354600160801b90046001600160801b031661188461124f8261186f670de0b6b3a764000088612e4a565b6005546001600160801b031691908c5f612081565b600580546001600160801b0319166001600160801b03929092169190911790556118ae8882612bc0565b90506118b981611153565b600380546001600160801b03928316600160801b0292169190911790556118df83611153565b600280546001600160801b0319166001600160801b03929092169190911790556119088261216c565b600480546001600160801b0319166001600160801b039290921691909117905561193187611153565b60028054601090611953908490600160801b90046001600160801b0316612c4d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461199c9061124f906001600160801b031684846121c0565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff8111156119e3576119e3612e8e565b6040519080825280601f01601f191660200182016040528015611a0d576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115611a2d578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f190484118302158202611a66575f80fd5b5091020490565b5f80611a798585611754565b9050611a8481612222565b9450845f03611a96575f91505061110d565b849150611aa96040840160208501612ac6565b15611ad857611ad185611abf6020860186612a9e565b611acc6040870187612ae1565b61225c565b9150611afb565b611afb85611ae96020860186612a9e565b611af66040870187612ae1565b612312565b509392505050565b5f61110d8383670de0b6b3a764000061232b565b6003545f908190611b31906001600160801b03168461211b565b9050611b5d7f000000000000000000000000000000000000000000000000000000000000000082612c1a565b6002546001600160801b031611156112c7576002547f000000000000000000000000000000000000000000000000000000000000000090611ba89083906001600160801b0316612bc0565b61110d9190612bc0565b611bba612979565b5f80611bc584611eb3565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611bff9190612df6565b6040805180830381865af4158015611c19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3d9190612e05565b9350905082611c5157505f91506100a99050565b5f611c77611c7284610160015185610140015161175490919063ffffffff16565b61156b565b611c97611c72856101200151866101000151611b0390919063ffffffff16565b611ca19190612c6d565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611dd5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df99190612ea2565b935093509350935080611e1457505f98975050505050505050565b868414611e4557611e2484611153565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e7657611e558361216c565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611ea457611e8682611153565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611ebb6129c3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611fb3911661234e565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611fe59290041661234e565b905292915050565b5f80611ff984846123c2565b90925090508061200b5761200b6121a7565b5092915050565b5f815f036120295750670de0b6b3a7640000610dc7565b825f0361203757505f610dc7565b5f6120418361156b565b90505f6120556120508661156b565b6123fd565b905081810261206c670de0b6b3a764000082612ee0565b905061207781612622565b9695505050505050565b5f825f0361209057508461114a565b81156120e2576120c16120a38487612c1a565b6120ad8587611754565b6120b7888a611754565b61171c9190612c1a565b90505f6120ce85886112b9565b9050808210156120dc578091505b5061114a565b8285036120f057505f61114a565b6120776120fd8487612bc0565b6121078587611b03565b612111888a611754565b61171c9190612bc0565b5f61110d83670de0b6b3a76400008461232b565b5f61110d83670de0b6b3a764000084611a52565b5f60016001607f1b0382111561117c5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b0319821280612189575060016001607f1b0382135b1561117c5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f806121cc845f6127b4565b6121d6845f6127b4565b6121e09190612c6d565b90505f8113156121fb576121f48186612c1a565b9450612219565b5f8112156122195761220c81612ddc565b6122169086612bc0565b94505b50929392505050565b6040516363737ac960e11b8152600481018290525f9073__$27b302b103d10b9a6b3339aabd1a10a718$__9063c6e6f592906024016110b9565b604051632e1a7d4d60e01b8152600481018590525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b1580156122bd575f80fd5b505af11580156122cf573d5f803e3d5ffd5b505050506122dc85611083565b9050610a966001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001685836127c9565b60405163350b944160e11b815260040160405180910390fd5b5f825f19048411830215820261233f575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061236161040f565b61236b9190612e4a565b905080831161237a575f612384565b6123848184612bc0565b915061110d6123bb670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612e4a565b839061212f565b5f805f836123cf8661156b565b6123d99190612c6d565b90505f8112156123ef575f8092509250506123f6565b9150600190505b9250929050565b5f80821361241e5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906124a19084901c61156b565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361263b57505f919050565b680755bf798b4a1bf1e58212612664576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061207774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c61156b565b5f8183136127c2578161110d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261281b908490612820565b505050565b5f6128346001600160a01b03841683612886565b905080515f141580156128585750808060200190518101906128569190612f0c565b155b1561281b57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061110d83835f845f80856001600160a01b031684866040516128aa9190612f27565b5f6040518083038185875af1925050503d805f81146128e4576040519150601f19603f3d011682016040523d82523d5f602084013e6128e9565b606091505b50915091506120778683836060826129095761290482612950565b61110d565b815115801561292057506001600160a01b0384163b155b1561294957604051639996b31560e01b81526001600160a01b038516600482015260240161287d565b508061110d565b8051156129605780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061298d6129c3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612a2a575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115612a4e575f80fd5b840160608187031215612a5f575f80fd5b809150509250925092565b5f8060408385031215612a7b575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f60208284031215612aae575f80fd5b813561110d81612a8a565b80151581146103f5575f80fd5b5f60208284031215612ad6575f80fd5b813561110d81612ab9565b5f808335601e19843603018112612af6575f80fd5b83018035915067ffffffffffffffff821115612b10575f80fd5b6020019150368190038213156123f6575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612b7960a083018486612b24565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612ba757612ba7612b85565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612bac565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612c0c60e083018486612b24565b9a9950505050505050505050565b80820180821115610dc757610dc7612bac565b6001600160701b0381811683821601908082111561200b5761200b612bac565b6001600160801b0381811683821601908082111561200b5761200b612bac565b8181035f83128015838313168383128216171561200b5761200b612bac565b5f60208284031215612c9c575f80fd5b815161110d81612a8a565b6001600160801b0382811682821603908082111561200b5761200b612bac565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612d58828551612cc7565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612dcb575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612df057612df0612bac565b505f0390565b6101808101610dc78284612cc7565b5f8060408385031215612e16575f80fd5b825191506020830151612e2881612ab9565b809150509250929050565b5f60208284031215612e43575f80fd5b5051919050565b8082028115828204841417610dc757610dc7612bac565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612bac565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612eb5575f80fd5b8451935060208501519250604085015191506060850151612ed581612ab9565b939692955090935050565b5f82612eee57612eee612b85565b600160ff1b82145f1984141615612f0757612f07612bac565b500590565b5f60208284031215612f1c575f80fd5b815161110d81612ab9565b5f82515f5b81811015612f465760208186018101518583015201612f2c565b505f92019182525091905056fea2646970667358221220555a597b865125151842409c259e78b46a3f7acf3eff403a24627082efc0e28f64736f6c63430008160033a264697066735822122017d381c032eedca8bda6d37d1264c7809a880f552a3ed3b05e94cca4eb5aad9864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdAssertions.ts b/packages/hyperdrive-artifacts/src/StdAssertions.ts new file mode 100644 index 000000000..689878e9c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdAssertions.ts @@ -0,0 +1,386 @@ +export const StdAssertions = { + name: 'StdAssertions' as const, + abi: [ + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "failed()": "ba414fa6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdChains.ts b/packages/hyperdrive-artifacts/src/StdChains.ts new file mode 100644 index 000000000..5b1bc3c5f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdChains.ts @@ -0,0 +1,6 @@ +export const StdChains = { + name: 'StdChains' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdCheats.ts b/packages/hyperdrive-artifacts/src/StdCheats.ts new file mode 100644 index 000000000..5cbc2ae75 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdCheats.ts @@ -0,0 +1,6 @@ +export const StdCheats = { + name: 'StdCheats' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdCheatsSafe.ts b/packages/hyperdrive-artifacts/src/StdCheatsSafe.ts new file mode 100644 index 000000000..0fcb73325 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdCheatsSafe.ts @@ -0,0 +1,6 @@ +export const StdCheatsSafe = { + name: 'StdCheatsSafe' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdInvariant.ts b/packages/hyperdrive-artifacts/src/StdInvariant.ts new file mode 100644 index 000000000..dac6d4049 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdInvariant.ts @@ -0,0 +1,170 @@ +export const StdInvariant = { + name: 'StdInvariant' as const, + abi: [ + { + "type": "function", + "name": "excludeArtifacts", + "inputs": [], + "outputs": [ + { + "name": "excludedArtifacts_", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "excludeContracts", + "inputs": [], + "outputs": [ + { + "name": "excludedContracts_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "excludeSenders", + "inputs": [], + "outputs": [ + { + "name": "excludedSenders_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetArtifactSelectors", + "inputs": [], + "outputs": [ + { + "name": "targetedArtifactSelectors_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzSelector[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "selectors", + "type": "bytes4[]", + "internalType": "bytes4[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetArtifacts", + "inputs": [], + "outputs": [ + { + "name": "targetedArtifacts_", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetContracts", + "inputs": [], + "outputs": [ + { + "name": "targetedContracts_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetInterfaces", + "inputs": [], + "outputs": [ + { + "name": "targetedInterfaces_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzInterface[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "artifacts", + "type": "string[]", + "internalType": "string[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetSelectors", + "inputs": [], + "outputs": [ + { + "name": "targetedSelectors_", + "type": "tuple[]", + "internalType": "struct StdInvariant.FuzzSelector[]", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "selectors", + "type": "bytes4[]", + "internalType": "bytes4[]" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetSenders", + "inputs": [], + "outputs": [ + { + "name": "targetedSenders_", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "excludeArtifacts()": "b5508aa9", + "excludeContracts()": "e20c9f71", + "excludeSenders()": "1ed7831c", + "targetArtifactSelectors()": "66d9a9a0", + "targetArtifacts()": "85226c81", + "targetContracts()": "3f7286f4", + "targetInterfaces()": "2ade3880", + "targetSelectors()": "916a17c6", + "targetSenders()": "3e5e3c23" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdStyle.ts b/packages/hyperdrive-artifacts/src/StdStyle.ts new file mode 100644 index 000000000..7eede32c2 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdStyle.ts @@ -0,0 +1,6 @@ +export const StdStyle = { + name: 'StdStyle' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212208b99f89de3b336590885ce0fa5feb6099968a1fee7a33df67788754dca7f747064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StdUtils.ts b/packages/hyperdrive-artifacts/src/StdUtils.ts new file mode 100644 index 000000000..316e4a498 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StdUtils.ts @@ -0,0 +1,6 @@ +export const StdUtils = { + name: 'StdUtils' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellBase.ts b/packages/hyperdrive-artifacts/src/StkWellBase.ts new file mode 100644 index 000000000..ff8bfbc48 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellBase.ts @@ -0,0 +1,657 @@ +export const StkWellBase = { + name: 'StkWellBase' as const, + abi: [ + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellConversions.ts b/packages/hyperdrive-artifacts/src/StkWellConversions.ts new file mode 100644 index 000000000..3cbd045bc --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellConversions.ts @@ -0,0 +1,6 @@ +export const StkWellConversions = { + name: 'StkWellConversions' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e462a73c01cc4df9430b6eb7c3db10ba597ce33b83c696d792cd3bde8997c19a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellHyperdrive.ts b/packages/hyperdrive-artifacts/src/StkWellHyperdrive.ts new file mode 100644 index 000000000..77cb5b40d --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellHyperdrive.ts @@ -0,0 +1,1712 @@ +export const StkWellHyperdrive = { + name: 'StkWellHyperdrive' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "fallback", + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "claimRewards", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "domainSeparator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "target0", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnexpectedSuccess", + "inputs": [] + } +] as const, + bytecode: '0x61032060405234801562000011575f80fd5b5060405162001bd238038062001bd28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161115e62000a745f395f81816105f20152818161065c015261083a01525f818161056d0152818161086901526108c601525f81816105270152610a5c01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161080b0152818161089c015281816108f601528181610a2b0152610a8f01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f61073501525f505061115e5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610b63565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610b72565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610bdf565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c9e565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610cd4565b348015610310575f80fd5b5061032461031f366004610cfd565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d91565b610689565b348015610368575f80fd5b506102e9610377366004610e20565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610e65565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610ebb565b610805565b348015610465575f80fd5b506102e9610474366004610ef5565b610835565b6103e6610487366004610f15565b610863565b348015610497575f80fd5b506102e9610377366004610f74565b3480156104b1575f80fd5b506102e96104c0366004610fbb565b610897565b6103e66104d3366004610cfd565b6108c0565b3480156104e3575f80fd5b506102e96104f2366004610fee565b6108f2565b348015610502575f80fd5b506102e9610511366004611066565b610a26565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610e65565b610a55565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461109b565b610a8a565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610abb565b6106517f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610b49565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610b49565b50949350505050565b604051637e90d7ef60e01b815230600482018190527f0000000000000000000000000000000000000000000000000000000000000000916001600160a01b03831691639a99b4f0918390637e90d7ef90602401602060405180830381865afa15801561078c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b091906110f6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b1580156107f3575f80fd5b505af11580156106e4573d5f803e3d5ffd5b5f61082f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50919050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050565b5f61088d7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5095945050505050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5f6108ea7f0000000000000000000000000000000000000000000000000000000000000000610b49565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610926610abb565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109cf919061110d565b5f60405180830381855af49150503d805f8114610a07576040519150601f19603f3d011682016040523d82523d5f602084013e610a0c565b606091505b509150915081610a1e57805160208201fd5b805160208201f35b610a4f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050565b5f80610a807f0000000000000000000000000000000000000000000000000000000000000000610b49565b5094509492505050565b610ab37f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109cf9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ba15780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610bd7578181015183820152602001610bbf565b50505f910152565b5f60208284031215610bef575f80fd5b815167ffffffffffffffff80821115610c06575f80fd5b818401915084601f830112610c19575f80fd5b815181811115610c2b57610c2b610ba9565b604051601f8201601f19908116603f01168101908382118183101715610c5357610c53610ba9565b81604052828152876020848701011115610c6b575f80fd5b610c7c836020830160208801610bbd565b979650505050505050565b6001600160a01b0381168114610c9b575f80fd5b50565b5f60208284031215610cae575f80fd5b8135610cb981610c87565b9392505050565b80358015158114610ccf575f80fd5b919050565b5f60208284031215610ce4575f80fd5b610cb982610cc0565b5f6060828403121561082f575f80fd5b5f805f60608486031215610d0f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610d33575f80fd5b610d3f86828701610ced565b9150509250925092565b5f8083601f840112610d59575f80fd5b50813567ffffffffffffffff811115610d70575f80fd5b6020830191508360208260051b8501011115610d8a575f80fd5b9250929050565b5f805f805f8060808789031215610da6575f80fd5b8635610db181610c87565b95506020870135610dc181610c87565b9450604087013567ffffffffffffffff80821115610ddd575f80fd5b610de98a838b01610d49565b90965094506060890135915080821115610e01575f80fd5b50610e0e89828a01610d49565b979a9699509497509295939492505050565b5f805f8060808587031215610e33575f80fd5b843593506020850135610e4581610c87565b92506040850135610e5581610c87565b9396929550929360600135925050565b5f805f8060808587031215610e78575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ea3575f80fd5b610eaf87828801610ced565b91505092959194509250565b5f60208284031215610ecb575f80fd5b813567ffffffffffffffff811115610ee1575f80fd5b610eed84828501610ced565b949350505050565b5f8060408385031215610f06575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610f29575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610f5b575f80fd5b610f6788828901610ced565b9150509295509295909350565b5f805f8060808587031215610f87575f80fd5b843593506020850135610f9981610c87565b9250604085013591506060850135610fb081610c87565b939692955090935050565b5f8060408385031215610fcc575f80fd5b8235610fd781610c87565b9150610fe560208401610cc0565b90509250929050565b5f805f805f805f60e0888a031215611004575f80fd5b873561100f81610c87565b9650602088013561101f81610c87565b955061102d60408901610cc0565b945060608801359350608088013560ff81168114611049575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611078575f80fd5b83359250602084013561108a81610c87565b929592945050506040919091013590565b5f805f805f60a086880312156110af575f80fd5b8535945060208601356110c181610c87565b935060408601356110d181610c87565b92506060860135915060808601356110e881610c87565b809150509295509295909350565b5f60208284031215611106575f80fd5b5051919050565b5f825161111e818460208701610bbd565b919091019291505056fea2646970667358221220bcc93d3447354f818ec80174eac7187339ba7355035efea73ee800fa1455697d64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "PERMIT_TYPEHASH()": "30adf81f", + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "checkpoint(uint256,uint256)": "414f826d", + "claimRewards()": "372500ab", + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "domainSeparator()": "f698da25", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4", + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070", + "pause(bool)": "02329a29", + "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)": "9032c726", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "target0()": "21b57d53", + "target1()": "eac3e799", + "target2()": "a6e8a859", + "target3()": "d899e112", + "target4()": "f3f70707", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellHyperdriveCoreDeployer.ts b/packages/hyperdrive-artifacts/src/StkWellHyperdriveCoreDeployer.ts new file mode 100644 index 000000000..0845da75a --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellHyperdriveCoreDeployer.ts @@ -0,0 +1,177 @@ +export const StkWellHyperdriveCoreDeployer = { + name: 'StkWellHyperdriveCoreDeployer' as const, + abi: [ + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_target0", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4", + "type": "address", + "internalType": "address" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506122238061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c80638cc23ce01462000030575b5f80fd5b62000047620000413660046200035b565b62000063565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208b8b8b8a8a8a8a8a604051620000a490620000e5565b620000b798979695949392919062000573565b8190604051809103905ff5905080158015620000d5573d5f803e3d5ffd5b509b9a5050505050505050505050565b611bd2806200061c83390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff811182821017156200012e576200012e620000f3565b60405290565b5f82601f83011262000144575f80fd5b813567ffffffffffffffff80821115620001625762000162620000f3565b604051601f8301601f19908116603f011681019082821181831017156200018d576200018d620000f3565b81604052838152866020858801011115620001a6575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160a01b0381168114620001dc575f80fd5b919050565b5f60808284031215620001f2575f80fd5b6040516080810181811067ffffffffffffffff82111715620002185762000218620000f3565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f61026082840312156200025b575f80fd5b6200026562000107565b90506200027282620001c5565b81526200028260208301620001c5565b60208201526200029560408301620001c5565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016062000300818401620001c5565b9082015261018062000314838201620001c5565b908201526101a062000328838201620001c5565b908201526101c06200033c838201620001c5565b908201526101e06200035184848301620001e1565b9082015292915050565b5f805f805f805f805f806103808b8d03121562000376575f80fd5b8a3567ffffffffffffffff808211156200038e575f80fd5b6200039c8e838f0162000134565b9b50620003ad8e60208f0162000249565b9a50620003be6102808e01620001c5565b99506102a08d0135915080821115620003d5575f80fd5b50620003e48d828e0162000134565b975050620003f66102c08c01620001c5565b9550620004076102e08c01620001c5565b9450620004186103008c01620001c5565b9350620004296103208c01620001c5565b92506200043a6103408c01620001c5565b91506103608b013590509295989b9194979a5092959850565b80516001600160a01b0316825260208101516200047b60208401826001600160a01b03169052565b5060408101516200049760408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100808201518184015250610120808201518184015250610140808201518184015250610160808201516200050a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e090810151805191830191909152602081015161020083015260408101516102208301526060015161024090910152565b5f6103408083528a5180828501525f91505b80821015620005a9576020828d010151610360838601015260208201915062000585565b61036091505f82828601015281601f19601f83011685010192505050620005d4602083018a62000453565b6001600160a01b039788166102808301529587166102a08201529386166102c08501529185166102e08401528416610300830152909216610320909201919091529291505056fe61032060405234801562000011575f80fd5b5060405162001bd238038062001bd28339810160408190526200003491620006a6565b60015f81905587516001600160a01b0390811660809081526020808b0151831660a0908152918b01516101a052908a01516101c05260c0808b01516101e090815260e0808d015161020052610120808e0151909352610100808e0151909152610140808e0151909152908c01805151909252815190920151909152805160409081015161016052905160609081015161018052908a01518216610240528901516102605287166102205288908890889088908890889088908890620000fa898262000850565b506001600160a01b03948516610280529284166102a0529083166102c05282166102e05281166103005260208b01518b516200014095509091169250905060016200014e565b50505050505050506200095a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001a890859083906200021916565b6200021357604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915262000207918691620002c316565b620002138482620002c3565b50505050565b5f805f846001600160a01b0316846040516200023691906200091c565b5f604051808303815f865af19150503d805f811462000271576040519150601f19603f3d011682016040523d82523d5f602084013e62000276565b606091505b5091509150818015620002a4575080511580620002a4575080806020019051810190620002a4919062000939565b8015620002ba57505f856001600160a01b03163b115b95945050505050565b5f620002d96001600160a01b0384168362000334565b905080515f1415801562000300575080806020019051810190620002fe919062000939565b155b156200032f57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b60606200034383835f6200034a565b9392505050565b606081471015620003715760405163cd78605960e01b815230600482015260240162000326565b5f80856001600160a01b031684866040516200038e91906200091c565b5f6040518083038185875af1925050503d805f8114620003ca576040519150601f19603f3d011682016040523d82523d5f602084013e620003cf565b606091505b509092509050620003e2868383620003ec565b9695505050505050565b6060826200040557620003ff8262000450565b62000343565b81511580156200041d57506001600160a01b0384163b155b156200044857604051639996b31560e01b81526001600160a01b038516600482015260240162000326565b508062000343565b805115620004615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b60405161020081016001600160401b0381118282101715620004b457620004b46200047a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004e557620004e56200047a565b604052919050565b5f5b8381101562000509578181015183820152602001620004ef565b50505f910152565b80516001600160a01b038116811462000528575f80fd5b919050565b5f608082840312156200053e575f80fd5b604051608081016001600160401b03811182821017156200056357620005636200047a565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f6102608284031215620005a6575f80fd5b620005b06200048e565b9050620005bd8262000511565b8152620005cd6020830162000511565b6020820152620005e06040830162000511565b6040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015181830152506101606200064b81840162000511565b908201526101806200065f83820162000511565b908201526101a06200067383820162000511565b908201526101c06200068783820162000511565b908201526101e06200069c848483016200052d565b9082015292915050565b5f805f805f805f80610340898b031215620006bf575f80fd5b88516001600160401b0380821115620006d6575f80fd5b818b0191508b601f830112620006ea575f80fd5b815181811115620006ff57620006ff6200047a565b62000714601f8201601f1916602001620004ba565b91508082528c60208285010111156200072b575f80fd5b6200073e816020840160208601620004ed565b5098506200075290508a60208b0162000594565b9650620007636102808a0162000511565b9550620007746102a08a0162000511565b9450620007856102c08a0162000511565b9350620007966102e08a0162000511565b9250620007a76103008a0162000511565b9150620007b86103208a0162000511565b90509295985092959890939650565b600181811c90821680620007dc57607f821691505b602082108103620007fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200032f57805f5260205f20601f840160051c81016020851015620008285750805b601f840160051c820191505b8181101562000849575f815560010162000834565b5050505050565b81516001600160401b038111156200086c576200086c6200047a565b62000884816200087d8454620007c7565b8462000801565b602080601f831160018114620008ba575f8415620008a25750858301515b5f19600386901b1c1916600185901b17855562000914565b5f85815260208120601f198616915b82811015620008ea57888601518255948401946001909101908401620008c9565b50858210156200090857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f82516200092f818460208701620004ed565b9190910192915050565b5f602082840312156200094a575f80fd5b8151801515811462000343575f80fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516103005161115e62000a745f395f81816105f20152818161065c015261083a01525f818161056d0152818161086901526108c601525f81816105270152610a5c01525f81816105bf01526106f101525f81816101d50152818161038d0152818161062d0152818161068e015281816106c00152818161080b0152818161089c015281816108f601528181610a2b0152610a8f01525f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f50505f61073501525f505061115e5ff3fe6080604052600436106101c1575f3560e01c806377d05ff4116100f6578063cbc1343411610094578063e44808bc11610063578063e44808bc1461058f578063eac3e799146105ae578063f3f70707146105e1578063f698da2514610614576101c1565b8063cbc1343414610305578063d899e1121461055c578063dbbe807014610549578063ded06231146103c7576101c1565b8063a22cb465116100d0578063a22cb465146104a6578063a6e8a85914610516578063ab033ea9146102ca578063cba2e58d14610549576101c1565b806377d05ff4146104c55780639032c726146104d85780639cd241af146104f7576101c1565b806330adf81f11610163578063414f826d1161013d578063414f826d1461045a5780634c2ac1d9146104795780634ed2d6ac1461048c5780637180c8ca146104a6576101c1565b806330adf81f146103f4578063372500ab146104275780633e691db91461043b576101c1565b806317fad7fc1161019f57806317fad7fc1461033e5780631c0f12b61461035d57806321b57d531461037c57806329b23fc1146103c7576101c1565b806301681a62146102ca57806302329a29146102eb578063074a6de914610305575b3480156101cc575f80fd5b505f3660605f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316858560405161020d929190610b63565b5f60405180830381855af49150503d805f8114610245576040519150601f19603f3d011682016040523d82523d5f602084013e61024a565b606091505b5091509150811561026e57604051638bb0a34b60e01b815260040160405180910390fd5b5f61027882610b72565b90506001600160e01b03198116636e64089360e11b1461029a57815160208301fd5b8151600319810160048401908152926102bb91810160200190602401610bdf565b80519650602001945050505050f35b3480156102d5575f80fd5b506102e96102e4366004610c9e565b610628565b005b3480156102f6575f80fd5b506102e96102e4366004610cd4565b348015610310575f80fd5b5061032461031f366004610cfd565b610655565b604080519283526020830191909152015b60405180910390f35b348015610349575f80fd5b506102e9610358366004610d91565b610689565b348015610368575f80fd5b506102e9610377366004610e20565b6106bb565b348015610387575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610335565b3480156103d2575f80fd5b506103e66103e1366004610e65565b6106eb565b604051908152602001610335565b3480156103ff575f80fd5b506103e67f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367381565b348015610432575f80fd5b506102e961071e565b348015610446575f80fd5b506103e6610455366004610ebb565b610805565b348015610465575f80fd5b506102e9610474366004610ef5565b610835565b6103e6610487366004610f15565b610863565b348015610497575f80fd5b506102e9610377366004610f74565b3480156104b1575f80fd5b506102e96104c0366004610fbb565b610897565b6103e66104d3366004610cfd565b6108c0565b3480156104e3575f80fd5b506102e96104f2366004610fee565b6108f2565b348015610502575f80fd5b506102e9610511366004611066565b610a26565b348015610521575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b610324610557366004610e65565b610a55565b348015610567575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a575f80fd5b506102e96105a936600461109b565b610a8a565b3480156105b9575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ec575f80fd5b506103af7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061f575f80fd5b506103e6610abb565b6106517f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050565b5f806106807f0000000000000000000000000000000000000000000000000000000000000000610b49565b50935093915050565b6106b27f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050505050565b6106e47f0000000000000000000000000000000000000000000000000000000000000000610b49565b5050505050565b5f6107157f0000000000000000000000000000000000000000000000000000000000000000610b49565b50949350505050565b604051637e90d7ef60e01b815230600482018190527f0000000000000000000000000000000000000000000000000000000000000000916001600160a01b03831691639a99b4f0918390637e90d7ef90602401602060405180830381865afa15801561078c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b091906110f6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b1580156107f3575f80fd5b505af11580156106e4573d5f803e3d5ffd5b5f61082f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50919050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050565b5f61088d7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5095945050505050565b61085e7f0000000000000000000000000000000000000000000000000000000000000000610b49565b5f6108ea7f0000000000000000000000000000000000000000000000000000000000000000610b49565b509392505050565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610926610abb565b60405160248101919091527f65619c8664d6db8aae8c236ad19598696159942a4245b23b45565cc18e97367360448201526001600160a01b03808c1660648301528a16608482015288151560a482015260c4810188905260ff871660e4820152610104810186905261012481018590526101440160408051601f198184030181529181526020820180516001600160e01b03166314e5f07b60e01b179052516109cf919061110d565b5f60405180830381855af49150503d805f8114610a07576040519150601f19603f3d011682016040523d82523d5f602084013e610a0c565b606091505b509150915081610a1e57805160208201fd5b805160208201f35b610a4f7f0000000000000000000000000000000000000000000000000000000000000000610b49565b50505050565b5f80610a807f0000000000000000000000000000000000000000000000000000000000000000610b49565b5094509492505050565b610ab37f0000000000000000000000000000000000000000000000000000000000000000610b49565b505050505050565b60408051808201825260018152603160f81b60209182015281517f2aef22f9d7df5f9d21c56d14029233f3fdaa91917727e1eb68e504d27072d6cd818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681840152466060820152306080808301919091528351808303909101815260a0909101909252815191012090565b60605f80836001600160a01b03165f366040516109cf9291905b818382375f9101908152919050565b805160208201516001600160e01b03198082169291906004831015610ba15780818460040360031b1b83161693505b505050919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610bd7578181015183820152602001610bbf565b50505f910152565b5f60208284031215610bef575f80fd5b815167ffffffffffffffff80821115610c06575f80fd5b818401915084601f830112610c19575f80fd5b815181811115610c2b57610c2b610ba9565b604051601f8201601f19908116603f01168101908382118183101715610c5357610c53610ba9565b81604052828152876020848701011115610c6b575f80fd5b610c7c836020830160208801610bbd565b979650505050505050565b6001600160a01b0381168114610c9b575f80fd5b50565b5f60208284031215610cae575f80fd5b8135610cb981610c87565b9392505050565b80358015158114610ccf575f80fd5b919050565b5f60208284031215610ce4575f80fd5b610cb982610cc0565b5f6060828403121561082f575f80fd5b5f805f60608486031215610d0f575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115610d33575f80fd5b610d3f86828701610ced565b9150509250925092565b5f8083601f840112610d59575f80fd5b50813567ffffffffffffffff811115610d70575f80fd5b6020830191508360208260051b8501011115610d8a575f80fd5b9250929050565b5f805f805f8060808789031215610da6575f80fd5b8635610db181610c87565b95506020870135610dc181610c87565b9450604087013567ffffffffffffffff80821115610ddd575f80fd5b610de98a838b01610d49565b90965094506060890135915080821115610e01575f80fd5b50610e0e89828a01610d49565b979a9699509497509295939492505050565b5f805f8060808587031215610e33575f80fd5b843593506020850135610e4581610c87565b92506040850135610e5581610c87565b9396929550929360600135925050565b5f805f8060808587031215610e78575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ea3575f80fd5b610eaf87828801610ced565b91505092959194509250565b5f60208284031215610ecb575f80fd5b813567ffffffffffffffff811115610ee1575f80fd5b610eed84828501610ced565b949350505050565b5f8060408385031215610f06575f80fd5b50508035926020909101359150565b5f805f805f60a08688031215610f29575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610f5b575f80fd5b610f6788828901610ced565b9150509295509295909350565b5f805f8060808587031215610f87575f80fd5b843593506020850135610f9981610c87565b9250604085013591506060850135610fb081610c87565b939692955090935050565b5f8060408385031215610fcc575f80fd5b8235610fd781610c87565b9150610fe560208401610cc0565b90509250929050565b5f805f805f805f60e0888a031215611004575f80fd5b873561100f81610c87565b9650602088013561101f81610c87565b955061102d60408901610cc0565b945060608801359350608088013560ff81168114611049575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f805f60608486031215611078575f80fd5b83359250602084013561108a81610c87565b929592945050506040919091013590565b5f805f805f60a086880312156110af575f80fd5b8535945060208601356110c181610c87565b935060408601356110d181610c87565b92506060860135915060808601356110e881610c87565b809150509295509295909350565b5f60208284031215611106575f80fd5b5051919050565b5f825161111e818460208701610bbd565b919091019291505056fea2646970667358221220bcc93d3447354f818ec80174eac7187339ba7355035efea73ee800fa1455697d64736f6c63430008160033a2646970667358221220a3e75d76a98ab508b633ea2af3da84c7c98fde5f823e63c7320037eb3ca9ddbe64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployHyperdrive(string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,address,address,address,address,address,bytes32)": "8cc23ce0" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellHyperdriveDeployerCoordinator.ts b/packages/hyperdrive-artifacts/src/StkWellHyperdriveDeployerCoordinator.ts new file mode 100644 index 000000000..b6e2aff29 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellHyperdriveDeployerCoordinator.ts @@ -0,0 +1,793 @@ +export const StkWellHyperdriveDeployerCoordinator = { + name: 'StkWellHyperdriveDeployerCoordinator' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_factory", + "type": "address", + "internalType": "address" + }, + { + "name": "_coreDeployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target0Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target1Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target2Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target3Deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "_target4Deployer", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "coreDeployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployHyperdrive", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "__name", + "type": "string", + "internalType": "string" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_deployConfig", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolDeployConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_extraData", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_targetIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployments", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct HyperdriveDeployerCoordinator.Deployment", + "components": [ + { + "name": "configHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "extraDataHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hyperdrive", + "type": "address", + "internalType": "address" + }, + { + "name": "target0", + "type": "address", + "internalType": "address" + }, + { + "name": "target1", + "type": "address", + "internalType": "address" + }, + { + "name": "target2", + "type": "address", + "internalType": "address" + }, + { + "name": "target3", + "type": "address", + "internalType": "address" + }, + { + "name": "target4", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "factory", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfTargets", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_deploymentId", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "_lp", + "type": "address", + "internalType": "address" + }, + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target0Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target1Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target2Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target3Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "target4Deployer", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ApprovalFailed", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "DeploymentDoesNotExist", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "HyperdriveIsNotDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "IncompleteDeployment", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeAmounts", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPositionDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetIndex", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVaultSharesToken", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedConfig", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchedExtraData", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SenderIsNotFactory", + "inputs": [] + }, + { + "type": "error", + "name": "TargetAlreadyDeployed", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x61016060405234801562000011575f80fd5b50604051620029e6380380620029e68339810160408190526200003491620000bb565b87878787878787875f62000049898262000293565b506001600160a01b0396871660805294861660a05292851660c05290841660e0528316610100528216610120521661014052506200035f975050505050505050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000b6575f80fd5b919050565b5f805f805f805f80610100898b031215620000d4575f80fd5b88516001600160401b0380821115620000eb575f80fd5b818b0191508b601f830112620000ff575f80fd5b8151818111156200011457620001146200008b565b604051601f8201601f19908116603f011681019083821181831017156200013f576200013f6200008b565b81604052828152602093508e848487010111156200015b575f80fd5b5f91505b828210156200017e57848201840151818301850152908301906200015f565b5f848483010152809c5050505062000198818c016200009f565b98505050620001aa60408a016200009f565b9550620001ba60608a016200009f565b9450620001ca60808a016200009f565b9350620001da60a08a016200009f565b9250620001ea60c08a016200009f565b9150620001fa60e08a016200009f565b90509295985092959890939650565b600181811c908216806200021e57607f821691505b6020821081036200023d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028e57805f5260205f20601f840160051c810160208510156200026a5750805b601f840160051c820191505b818110156200028b575f815560010162000276565b50505b505050565b81516001600160401b03811115620002af57620002af6200008b565b620002c781620002c0845462000209565b8462000243565b602080601f831160018114620002fd575f8415620002e55750858301515b5f19600386901b1c1916600185901b17855562000357565b5f85815260208120601f198616915b828110156200032d578886015182559484019460019091019084016200030c565b50858210156200034b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e0516101005161012051610140516125cc6200041a5f395f81816102990152610d3f01525f81816103170152610c0c01525f818161037d0152610ad901525f81816102e401526109a601525f818161034a015261079d01525f8181610421015261108e01525f81816103ee01528181610528015281816106c6015281816107cd015281816109d601528181610b0901528181610c3c01528181610d6f01528181610e6201526110bf01526125cc5ff3fe6080604052600436106100fa575f3560e01c8063ab71905f11610092578063c45a015511610062578063c45a0155146103dd578063c6e6f5921461039f578063c83e1f5114610410578063e990eba814610443578063e99be39614610462575f80fd5b8063ab71905f14610339578063b6cb11181461036c578063b88fed9f1461039f578063c1510618146103be575f80fd5b806354fd4d50116100cd57806354fd4d5014610259578063966ecd1c14610288578063a085fa30146102d3578063aa8cd6c414610306575f80fd5b806304baa00b146100fe57806306fdde031461012857806316abfc701461013c578063374040171461015d575b5f80fd5b348015610109575f80fd5b50610112610475565b60405161011f9190611b24565b60405180910390f35b348015610133575f80fd5b50610112610491565b61014f61014a366004611c59565b61051c565b60405190815260200161011f565b348015610168575f80fd5b5061024c610177366004611d17565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152505f9081526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b0390811660608301526004830154811660808301526005830154811660a08301526006830154811660c08301526007830154811660e083015260089092015490911661010082015290565b60405161011f9190611d2e565b348015610264575f80fd5b50604080518082019091526007815266076312e302e32360cc1b6020820152610112565b348015610293575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011f565b3480156102de575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610311575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610344575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b348015610377575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103aa575f80fd5b5061014f6103b9366004611d17565b6106b1565b3480156103c9575f80fd5b506102bb6103d8366004611f02565b6106ba565b3480156103e8575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561041b575f80fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561044e575f80fd5b506102bb61045d366004611f6b565b610e56565b34801561046d575f80fd5b50600561014f565b6040518060600160405280602481526020016125736024913981565b5f805461049d90612005565b80601f01602080910402602001604051908101604052809291908181526020018280546104c990612005565b80156105145780601f106104eb57610100808354040283529160200191610514565b820191905f5260205f20905b8154815290600101906020018083116104f757829003601f168201915b505050505081565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461056657604051634084351160e01b815260040160405180910390fd5b61056e6111c9565b5f868152600160205260409020600301546001600160a01b0316806105a65760405163952b05cb60e01b815260040160405180910390fd5b5f6105b3828888876111ea565b9050816001600160a01b03166377d05ff4828888886040518563ffffffff1660e01b81526004016105e69392919061203d565b60206040518083038185885af1158015610602573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106279190612082565b92505f61063482346120ad565b905080156106a4576040515f90339083908381818185875af1925050503d805f811461067b576040519150601f19603f3d011682016040523d82523d5f602084013e610680565b606091505b50509050806106a2576040516312171d8360e31b815260040160405180910390fd5b505b5050505b95945050505050565b5f815b92915050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461070457604051634084351160e01b815260040160405180910390fd5b5f868152600160205260408120908490036108b45780541561073957604051633be1b34d60e11b815260040160405180910390fd5b61074386866112f2565b5f61074e87876114ff565b90505f8760405160200161076291906120c0565b6040516020818303038152906040528051906020012090505f878051906020012090505f61078f8a611518565b9050838160800181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008c8f8c604051602001610809929190918252602082015260400190565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b815260040161083e94939291906122f3565b6020604051808303815f875af115801561085a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087e9190612338565b9285555060018401556002830191909155600490910180546001600160a01b0319166001600160a01b03831617905590506106a8565b5f87815260016020526040902054806108e05760405163398b1c0960e21b815260040160405180910390fd5b80876040516020016108f291906120c0565b60405160208183030381529060405280519060200120146109265760405163332ee11f60e01b815260040160405180910390fd5b6001820154865160208801201461095057604051631a3272d160e31b815260040160405180910390fd5b61095a87876112f2565b5f61096488611518565b6002840154608082015290506001869003610aa45760058301546001600160a01b0316156109a45760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610a0b93929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610a4094939291906122f3565b6020604051808303815f875af1158015610a5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a809190612338565b6005840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600203610bd75760068301546001600160a01b031615610ad75760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610b3e93929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610b7394939291906122f3565b6020604051808303815f875af1158015610b8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb39190612338565b6006840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600303610d0a5760078301546001600160a01b031615610c0a5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610c7193929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610ca694939291906122f3565b6020604051808303815f875af1158015610cc2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce69190612338565b6007840180546001600160a01b0319166001600160a01b03831617905593506106a4565b85600403610e3d5760088301546001600160a01b031615610d3d5760405162e896af60e31b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638c98b3c6827f00000000000000000000000000000000000000000000000000000000000000008a338e8b604051602001610da493929190612353565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b8152600401610dd994939291906122f3565b6020604051808303815f875af1158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e199190612338565b6008840180546001600160a01b0319166001600160a01b03831617905593506106a4565b604051631d9f815960e11b815260040160405180910390fd5b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ea057604051634084351160e01b815260040160405180910390fd5b5f8681526001602081815260409283902083516101208101855281548152928101549183019190915260028101549282019290925260038201546001600160a01b03908116606083018190526004840154821660808401526005840154821660a08401526006840154821660c08401526007840154821660e0840152600890930154166101008201529015610f4857604051632c95caeb60e01b815260040160405180910390fd5b8051610f675760405163398b1c0960e21b815260040160405180910390fd5b60808101516001600160a01b03161580610f8c575060a08101516001600160a01b0316155b80610fa2575060c08101516001600160a01b0316155b80610fb8575060e08101516001600160a01b0316155b80610fcf57506101008101516001600160a01b0316155b15610fed5760405163e97cc2bf60e01b815260040160405180910390fd5b80516040516110009087906020016120c0565b60405160208183030381529060405280519060200120146110345760405163332ee11f60e01b815260040160405180910390fd5b806020015184805190602001201461105f57604051631a3272d160e31b815260040160405180910390fd5b61106985856112f2565b5f61107386611518565b905081604001518160800181815250505f8890505f8590505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638cc23ce08b867f00000000000000000000000000000000000000000000000000000000000000008c8a608001518b60a001518c60c001518d60e001518e61010001518d8d604051602001611115929190918252602082015260400190565b604051602081830303815290604052805190602001206040518b63ffffffff1660e01b81526004016111509a99989796959493929190612374565b6020604051808303815f875af115801561116c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111909190612338565b5f9b8c5260016020526040909b2060030180546001600160a01b0319166001600160a01b038d1617905550989998505050505050505050565b34156111e857604051631574f9f360e01b815260040160405180910390fd5b565b5f8082602001511561125d57856001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015611232573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112569190612338565b90506112c0565b856001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611299573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112bd9190612338565b90505b6112d56001600160a01b0382168630876115e6565b6112e96001600160a01b0382168786611653565b50949350505050565b6112fc82826116e2565b60208201516001600160a01b03166113275760405163073f739d60e51b815260040160405180910390fd5b815f01516001600160a01b031682602001516001600160a01b031663312f6b836040518163ffffffff1660e01b8152600401602060405180830381865afa158015611374573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113989190612338565b6001600160a01b0316146113bf57604051630722152560e11b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611400573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142491906123f6565b61142e9190612416565b61143990600a61250f565b8260800151101561145d576040516349db44f560e01b815260040160405180910390fd5b6003825f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c291906123f6565b6114cc9190612416565b6114d790600a61250f565b8260a0015110156114fb576040516318c9522360e11b815260040160405180910390fd5b5050565b5f611511670de0b6b3a76400006106b1565b9392505050565b611520611a03565b81516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015190830152608083015160a08084019190915283015160c08084019190915283015160e08084019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015181166101608084019190915283015181166101808084019190915283015181166101a080840191909152830151166101c080830191909152909101516101e082015290565b6040516001600160a01b03848116602483015283811660448301526064820183905261164d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506117f6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116a48482611861565b61164d576040516001600160a01b0384811660248301525f60448301526116d891869182169063095ea7b39060640161161b565b61164d84826117f6565b6103e882608001511015611709576040516349db44f560e01b815260040160405180910390fd5b8161010001515f0361172e57604051635428734d60e01b815260040160405180910390fd5b8161010001518260e00151108061175857508161010001518260e00151611755919061251d565b15155b156117765760405163253fffcf60e11b815260040160405180910390fd5b6101c082015151670de0b6b3a764000010806117a25750670de0b6b3a7640000826101c0015160200151115b806117bd5750670de0b6b3a7640000826101c0015160400151115b806117d85750670de0b6b3a7640000826101c0015160600151115b156114fb576040516322f72cc360e11b815260040160405180910390fd5b5f61180a6001600160a01b038416836118fe565b905080515f1415801561182e57508080602001905181019061182c919061253c565b155b1561185c57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b505050565b5f805f846001600160a01b03168460405161187c9190612557565b5f604051808303815f865af19150503d805f81146118b5576040519150601f19603f3d011682016040523d82523d5f602084013e6118ba565b606091505b50915091508180156118e45750805115806118e45750808060200190518101906118e4919061253c565b80156106a85750505050506001600160a01b03163b151590565b606061151183835f845f80856001600160a01b031684866040516119229190612557565b5f6040518083038185875af1925050503d805f811461195c576040519150601f19603f3d011682016040523d82523d5f602084013e611961565b606091505b509150915061197186838361197b565b9695505050505050565b6060826119905761198b826119d7565b611511565b81511580156119a757506001600160a01b0384163b155b156119d057604051639996b31560e01b81526001600160a01b0385166004820152602401611853565b5080611511565b8051156119e75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611ad260405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f5b83811015611af1578181015183820152602001611ad9565b50505f910152565b5f8151808452611b10816020860160208601611ad7565b601f01601f19169290920160200192915050565b602081525f6115116020830184611af9565b6001600160a01b0381168114611a00575f80fd5b8035611b5581611b36565b919050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611b9157611b91611b5a565b60405290565b6040516101e0810167ffffffffffffffff81118282101715611b9157611b91611b5a565b8015158114611a00575f80fd5b5f67ffffffffffffffff80841115611be257611be2611b5a565b604051601f8501601f19908116603f01168101908282118183101715611c0a57611c0a611b5a565b81604052809350858152868686011115611c22575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112611c4a575f80fd5b61151183833560208501611bc8565b5f805f805f60a08688031215611c6d575f80fd5b853594506020860135611c7f81611b36565b93506040860135925060608601359150608086013567ffffffffffffffff80821115611ca9575f80fd5b908701906060828a031215611cbc575f80fd5b611cc4611b6e565b8235611ccf81611b36565b81526020830135611cdf81611bbb565b6020820152604083013582811115611cf5575f80fd5b611d018b828601611c3b565b6040830152508093505050509295509295909350565b5f60208284031215611d27575f80fd5b5035919050565b8151815260208083015190820152604080830151908201526060808301516001600160a01b039081169183019190915260808084015182169083015260a08084015182169083015260c08084015182169083015260e08084015182169083015261010080840151918216818401526101208301915b505092915050565b5f60808284031215611dbb575f80fd5b6040516080810181811067ffffffffffffffff82111715611dde57611dde611b5a565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6102408284031215611e20575f80fd5b611e28611b97565b9050611e3382611b4a565b8152611e4160208301611b4a565b6020820152611e5260408301611b4a565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140611eaf818401611b4a565b90820152610160611ec1838201611b4a565b90820152610180611ed3838201611b4a565b908201526101a0611ee5838201611b4a565b908201526101c0611ef884848301611dab565b9082015292915050565b5f805f805f6102c08688031215611f17575f80fd5b85359450611f288760208801611e0f565b935061026086013567ffffffffffffffff811115611f44575f80fd5b611f5088828901611c3b565b9598949750949561028081013595506102a001359392505050565b5f805f805f6102c08688031215611f80575f80fd5b85359450602086013567ffffffffffffffff80821115611f9e575f80fd5b818801915088601f830112611fb1575f80fd5b611fc089833560208501611bc8565b9550611fcf8960408a01611e0f565b9450610280880135915080821115611fe5575f80fd5b50611ff288828901611c3b565b959894975092956102a001359392505050565b600181811c9082168061201957607f821691505b60208210810361203757634e487b7160e01b5f52602260045260245ffd5b50919050565b8381528260208201526060604082015260018060a01b0382511660608201526020820151151560808201525f6040830151606060a084015261197160c0840182611af9565b5f60208284031215612092575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106b4576106b4612099565b81516001600160a01b03168152610240810160208301516120ec60208401826001600160a01b03169052565b50604083015161210760408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161216d828501826001600160a01b03169052565b5050610160838101516001600160a01b0390811691840191909152610180808501518216908401526101a080850151909116908301526101c08084015180518285015260208101516101e085015260408101516102008501526060810151610220850152611da3565b80516001600160a01b0316825260208101516121fd60208401826001600160a01b03169052565b50604081015161221860408401826001600160a01b03169052565b50606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015161228a828501826001600160a01b03169052565b5050610180818101516001600160a01b03908116918401919091526101a0808301518216908401526101c080830151909116908301526101e08082015180518285015260208101516102008501526040810151610220850152606081015161024085015261164d565b5f6102c061230183886121d6565b6001600160a01b038616610260840152610280830181905261232581840186611af9565b915050826102a083015295945050505050565b5f60208284031215612348575f80fd5b815161151181611b36565b6001600160a01b039390931683526020830191909152604082015260600190565b5f6103808083526123878184018e611af9565b9050612396602084018d6121d6565b6001600160a01b038b81166102808501528382036102a08501526123ba828c611af9565b9981166102c08501529788166102e084015250509385166103008501529184166103208401529092166103408201526103600152949350505050565b5f60208284031215612406575f80fd5b815160ff81168114611511575f80fd5b60ff82811682821603908111156106b4576106b4612099565b600181815b8085111561246957815f190482111561244f5761244f612099565b8085161561245c57918102915b93841c9390800290612434565b509250929050565b5f8261247f575060016106b4565b8161248b57505f6106b4565b81600181146124a157600281146124ab576124c7565b60019150506106b4565b60ff8411156124bc576124bc612099565b50506001821b6106b4565b5060208310610133831016604e8410600b84101617156124ea575081810a6106b4565b6124f4838361242f565b805f190482111561250757612507612099565b029392505050565b5f61151160ff841683612471565b5f8261253757634e487b7160e01b5f52601260045260245ffd5b500690565b5f6020828403121561254c575f80fd5b815161151181611bbb565b5f8251612568818460208701611ad7565b919091019291505056fe53746b57656c6c487970657264726976654465706c6f796572436f6f7264696e61746f72a26469706673582212205f6cbb68e0e1f27022ec484d8932c9beb503129e283c2ef602c051e19e6b92b764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "coreDeployer()": "c83e1f51", + "deployHyperdrive(bytes32,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,bytes32)": "e990eba8", + "deployTarget(bytes32,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,bytes32)": "c1510618", + "deployments(bytes32)": "37404017", + "factory()": "c45a0155", + "getNumberOfTargets()": "e99be396", + "initialize(bytes32,address,uint256,uint256,(address,bool,bytes))": "16abfc70", + "kind()": "04baa00b", + "name()": "06fdde03", + "target0Deployer()": "ab71905f", + "target1Deployer()": "a085fa30", + "target2Deployer()": "b6cb1118", + "target3Deployer()": "aa8cd6c4", + "target4Deployer()": "966ecd1c", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget0.ts b/packages/hyperdrive-artifacts/src/StkWellTarget0.ts new file mode 100644 index 000000000..890080552 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget0.ts @@ -0,0 +1,1932 @@ +export const StkWellTarget0 = { + name: 'StkWellTarget0' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adminController", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "baseToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "batchTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "ids", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectGovernanceFee", + "inputs": [ + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "convertToBase", + "inputs": [ + { + "name": "_shareAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "convertToShares", + "inputs": [ + { + "name": "_baseAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.Checkpoint", + "components": [ + { + "name": "weightedSpotPrice", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "lastWeightedSpotPriceUpdateTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "vaultSharePrice", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCheckpointExposure", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMarketState", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.MarketState", + "components": [ + { + "name": "shareReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "bondReserves", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longExposure", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shareAdjustment", + "type": "int128", + "internalType": "int128" + }, + { + "name": "shortsOutstanding", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "longAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "isInitialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isPaused", + "type": "bool", + "internalType": "bool" + }, + { + "name": "zombieBaseProceeds", + "type": "uint112", + "internalType": "uint112" + }, + { + "name": "zombieShareReserves", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolConfig", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPoolInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolInfo", + "components": [ + { + "name": "shareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shareAdjustment", + "type": "int256", + "internalType": "int256" + }, + { + "name": "zombieBaseProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "zombieShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpTotalSupply", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortsOutstanding", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shortAverageMaturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesReadyToWithdraw", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesProceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longExposure", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getUncollectedGovernanceFees", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getWithdrawPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct IHyperdrive.WithdrawPool", + "components": [ + { + "name": "readyToWithdraw", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "proceeds", + "type": "uint128", + "internalType": "uint128" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPauser", + "inputs": [ + { + "name": "_account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "_slots", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pause", + "inputs": [ + { + "name": "_status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "perTokenApprovals", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitForAll", + "inputs": [ + { + "name": "domainSeparator", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "permitTypeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "_approved", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApproval", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setGovernance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setPauser", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sweep", + "inputs": [ + { + "name": "_target", + "type": "address", + "internalType": "contract IERC20" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "totalShares", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromBridge", + "inputs": [ + { + "name": "tokenID", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "vaultSharesToken", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BatchInputLengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "ExpiredDeadline", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidERC20Bridge", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidFeeDestination", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ReturnData", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SweepFailed", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003bd938038062003bd98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516137a6620004335f395f8181610d47015261230301525f8181610d1801526122c601525f8181610bf401528181610e7701528181610f0501528181610f93015281816110210152818161161d015281816116b30152818161187501528181611e8d01528181611f6101526120b201525f610ddf01525f8181610db901526124a801525f8181610d93015261248201525f8181610d6d015261245c01525f61112c01525f61110601525f6110e001525f6110ba01525f8181610e5101526124ce01525f8181610e05015281816112aa01526127fc01525f8181610e2b015261295901525f81816105f601528181610ce901528181611e02015261292b01525f818161072001528181610cba015261125401526137a65ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104c9578063d8165743146104dc578063e44808bc146104f1578063e985e9c514610504578063fba5600814610517575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f59214610473575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612b91565b610546565b60405161024c9190612bf5565b60405180910390f35b610268610263366004612c1b565b61057d565b005b610268610278366004612c43565b610586565b61023f61058f565b61023f6105d1565b6102956105e8565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612c6c565b610627565b6102686102ce366004612d3d565b610643565b6102686102e1366004612dcc565b610659565b6102f96102f4366004612b91565b61066c565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e11565b6106d5565b60405190815260200161024c565b61035461071a565b60405160ff909116815260200161024c565b61033e610374366004612e50565b6107b2565b61033e6107ea565b61033e61038f366004612e7e565b610808565b6103a76103a2366004612c1b565b610812565b604051901515815260200161024c565b61023f6103c5366004612b91565b610831565b6102686103d8366004612eb5565b61083f565b61023f61088d565b6103ed6108c2565b60405161024c9190612efc565b610268610408366004612f9d565b5050565b61033e61041a366004612c1b565b610bbb565b610295610be6565b610268610435366004612fc9565b610c25565b610268610448366004612f9d565b610c36565b61026861045b366004612c1b565b50565b610466610ca1565b60405161024c9190612ffe565b61033e610481366004612b91565b611161565b61033e610494366004612b91565b61116e565b6104ac6104a7366004613124565b61118f565b60405161024c9190613163565b610295611246565b61033e611285565b61033e6104d7366004612b91565b61129e565b6104e46112d4565b60405161024c91906131a6565b6102686104ff3660046132b7565b6113df565b6103a7610512366004613312565b611427565b61051f61146a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b6060610578610554836114c8565b6040516020016105649190612bf5565b6040516020818303038152906040526115ee565b919050565b61045b81611612565b61045b81611873565b60606105ce6040518060400160405280601181526020017053746b57656c6c4879706572647269766560781b8152506040516020016105649190612bf5565b90565b60606105ce6001604051602001610564919061333e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b61063889898989898989898961198b565b505050505050505050565b610651868686868686611b7d565b505050505050565b6106668484848433611c30565b50505050565b604080516060810182525f808252602082018190529181019190915261057860085f8481526020019081526020015f20604051602001610564919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107139101610564565b9392505050565b5f6105ce7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e91906133eb565b6040805160ff909216602083015201610564565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107e49101610564565b92915050565b5f6105ce6107f6611deb565b60405160200161056491815260200190565b5f6107e482611e78565b5f61057861081f836120ae565b60408051911515602083015201610564565b60606105786105548361218c565b8361084981612288565b6001600160a01b0316336001600160a01b03161461087a57604051632aab8bd360e01b815260040160405180910390fd5b61088685858585612345565b5050505050565b60606105ce60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105649190612bf5565b61092c604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109356123b1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161099f919061342e565b6109a99190613441565b90505f8215610ab85773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109d5856123c3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa89190613454565b509050610ab5818461254d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b8857610b838486612561565b610b8a565b5f5b81526003546001600160801b0316602091820152604051919250610bb49161056491849101612efc565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105789101610564565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b610c3183838333612345565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ca9612abd565b6105ce6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef59190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f839190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110119190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561107b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109f9190613482565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105649190612ffe565b5f6105786107f683612575565b5f818152600b60209081526040808320548151928301526105789101610564565b60605f8267ffffffffffffffff8111156111ab576111ab61349d565b6040519080825280602002602001820160405280156111d4578160200160208202803683370190505b5090505f5b8381101561122a575f8585838181106111f4576111f46134b1565b9050602002013590505f8154905080848481518110611215576112156134b1565b602090810291909101015250506001016111d9565b5061123f816040516020016105649190613163565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b5f6105ce60095460405160200161056491815260200190565b5f6105786107f66112cf7f00000000000000000000000000000000000000000000000000000000000000008561342e565b61257c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105ce6002604051602001610564919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113e981612288565b6001600160a01b0316336001600160a01b03161461141a57604051632aab8bd360e01b815260040160405180910390fd5b6106518686868686611c30565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107e49101610564565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105ce90606001610564565b606060f882901c6001600160f81b0383165f6114e3826125bc565b90505f8360038111156114f8576114f8613406565b0361152a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115e6565b600183600381111561153e5761153e613406565b0361156a578060405160200161155491906134c5565b60405160208183030381529060405293506115e6565b600283600381111561157e5761157e613406565b03611594578060405160200161155491906134fd565b60038360038111156115a8576115a8613406565b036115e6576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116099190612bf5565b60405180910390fd5b61161a61266e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611677573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169b9190613482565b9050336001600160a01b0382161480159061174757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117319190613482565b6001600160a01b0316336001600160a01b031614155b80156117595750611757336120ae565b155b15611776576040516282b42960e81b815260040160405180910390fd5b5f61177f611deb565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ea9190613536565b90506118006001600160a01b0385168483612696565b81611809611deb565b14611827576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f39190613482565b6001600160a01b0316336001600160a01b03161415801561191a5750611918336120ae565b155b15611937576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061198090831515815260200190565b60405180910390a150565b834211156119ac5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119d35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611abd573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611afb57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b9a57506001600160a01b038516155b15611bb85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bd85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c2757611c1f858583818110611bf757611bf76134b1565b905060200201358888868686818110611c1257611c126134b1565b9050602002013533611c30565b600101611bda565b50505050505050565b6001600160a01b0384161580611c4d57506001600160a01b038316155b15611c6b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d2b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d2b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d29575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d23908490613441565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d5c908490613441565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d9290849061342e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e739190613536565b905090565b5f611e8161266e565b611e8a826126e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0b9190613482565b90506001600160a01b038116611f246020850185612c1b565b6001600160a01b031614611f4b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611ff557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdf9190613482565b6001600160a01b0316336001600160a01b031614155b80156120075750612005336120ae565b155b15612024576040516282b42960e81b815260040160405180910390fd5b5f61202d6123b1565b600980545f90915590915061204381838761271d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461208260408a0160208b01612c43565b60408051938452602084019290925215159082015260600160405180910390a250505061057860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561210b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612132919081019061354d565b90505f5b815181101561218357836001600160a01b031682828151811061215b5761215b6134b1565b60200260200101516001600160a01b03160361217b575060019392505050565b600101612136565b505f9392505050565b606060f882901c6001600160f81b0383165f6121a7826125bc565b90505f8360038111156121bc576121bc613406565b036121ee576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115e6565b600183600381111561220257612202613406565b036122185780604051602001611554919061360d565b600283600381111561222c5761222c613406565b0361224257806040516020016115549190613644565b600383600381111561225657612256613406565b036115e657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e73670de0b6b3a7640000612575565b61241b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161251391166127b3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612545929004166127b3565b905292915050565b5f6107138383670de0b6b3a7640000612827565b5f61071383670de0b6b3a764000084612827565b5f816107e4565b5f6125a1600b5f61258e600286612842565b81526020019081526020015f2054612876565b6125b2600b5f61258e600187612842565b6107e4919061366f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612660576125f5600a866136a2565b61260090603061342e565b60f81b8260016126108487613441565b61261a9190613441565b8151811061262a5761262a6134b1565b60200101906001600160f81b03191690815f1a9053508061264a816136b5565b91506126599050600a866136cd565b94506125e4565b918290030190815292915050565b60025f540361269057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c319084906128a3565b5f6126f66020830183612c1b565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612729858561254d565b905061273481612575565b9450845f03612746575f915050610713565b8491506127596040840160208501612c43565b15612788576127818561276f6020860186612c1b565b61277c60408701876136e0565b612904565b91506127ab565b6127ab856127996020860186612c1b565b6127a660408701876136e0565b61291e565b509392505050565b5f80670de0b6b3a76400006127c6612952565b6127d09190613723565b90508083116127df575f6127e9565b6127e98184613441565b9150610713612820670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613723565b8390612561565b5f825f19048411830215820261283b575f80fd5b5091020490565b5f6001600160f81b0382111561286b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561289f5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6128b76001600160a01b0384168361297d565b905080515f141580156128db5750808060200190518101906128d9919061373a565b155b15610c3157604051635274afe760e01b81526001600160a01b0384166004820152602401611609565b5f60405163350b944160e11b815260040160405180910390fd5b6106666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612696565b5f611e73427f000000000000000000000000000000000000000000000000000000000000000061298a565b606061071383835f61299f565b5f61299582846136a2565b6107139084613441565b6060814710156129c45760405163cd78605960e01b8152306004820152602401611609565b5f80856001600160a01b031684866040516129df9190613755565b5f6040518083038185875af1925050503d805f8114612a19576040519150601f19603f3d011682016040523d82523d5f602084013e612a1e565b606091505b5091509150612a2e868383612a38565b9695505050505050565b606082612a4d57612a4882612a94565b610713565b8151158015612a6457506001600160a01b0384163b155b15612a8d57604051639996b31560e01b81526001600160a01b0385166004820152602401611609565b5080610713565b805115612aa45780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612b8c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ba1575f80fd5b5035919050565b5f5b83811015612bc2578181015183820152602001612baa565b50505f910152565b5f8151808452612be1816020860160208601612ba8565b601f01601f19169290920160200192915050565b602081525f6107136020830184612bca565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612c2b575f80fd5b813561071381612c07565b801515811461045b575f80fd5b5f60208284031215612c53575f80fd5b813561071381612c36565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612c85575f80fd5b8935985060208a0135975060408a0135612c9e81612c07565b965060608a0135612cae81612c07565b955060808a0135612cbe81612c36565b945060a08a0135935060c08a0135612cd581612c5e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d05575f80fd5b50813567ffffffffffffffff811115612d1c575f80fd5b6020830191508360208260051b8501011115612d36575f80fd5b9250929050565b5f805f805f8060808789031215612d52575f80fd5b8635612d5d81612c07565b95506020870135612d6d81612c07565b9450604087013567ffffffffffffffff80821115612d89575f80fd5b612d958a838b01612cf5565b90965094506060890135915080821115612dad575f80fd5b50612dba89828a01612cf5565b979a9699509497509295939492505050565b5f805f8060808587031215612ddf575f80fd5b843593506020850135612df181612c07565b92506040850135612e0181612c07565b9396929550929360600135925050565b5f805f60608486031215612e23575f80fd5b833592506020840135612e3581612c07565b91506040840135612e4581612c07565b809150509250925092565b5f8060408385031215612e61575f80fd5b823591506020830135612e7381612c07565b809150509250929050565b5f60208284031215612e8e575f80fd5b813567ffffffffffffffff811115612ea4575f80fd5b820160608185031215610713575f80fd5b5f805f8060808587031215612ec8575f80fd5b843593506020850135612eda81612c07565b9250604085013591506060850135612ef181612c07565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215612fae575f80fd5b8235612fb981612c07565b91506020830135612e7381612c36565b5f805f60608486031215612fdb575f80fd5b833592506020840135612fed81612c07565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161302a60208401826001600160a01b03169052565b50604083015161304560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516130b7828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613135575f80fd5b823567ffffffffffffffff81111561314b575f80fd5b61315785828601612cf5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561319a5783518352928401929184019160010161317e565b50909695505050505050565b81516001600160801b03168152610180810160208301516131d260208401826001600160801b03169052565b5060408301516131ed60408401826001600160801b03169052565b50606083015161320860608401826001600160801b03169052565b50608083015161321d6080840182600f0b9052565b5060a083015161323860a08401826001600160801b03169052565b5060c083015161325360c08401826001600160801b03169052565b5060e083015161326e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261311c565b5f805f805f60a086880312156132cb575f80fd5b8535945060208601356132dd81612c07565b935060408601356132ed81612c07565b925060608601359150608086013561330481612c07565b809150509295509295909350565b5f8060408385031215613323575f80fd5b823561332e81612c07565b91506020830135612e7381612c07565b5f60208083525f84545f60018260011c9150600183168061336057607f831692505b60208310810361337e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561339d57600181146133b3576133dc565b60ff198616825284151560051b820196506133dc565b5f8b8152602090205f5b868110156133d6578154848201529085019089016133bd565b83019750505b50949998505050505050505050565b5f602082840312156133fb575f80fd5b815161071381612c5e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107e4576107e461341a565b818103818111156107e4576107e461341a565b5f8060408385031215613465575f80fd5b825191506020830151612e7381612c36565b805161057881612c07565b5f60208284031215613492575f80fd5b815161071381612c07565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516134f0816011850160208701612ba8565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613529816012850160208701612ba8565b9190910160120192915050565b5f60208284031215613546575f80fd5b5051919050565b5f602080838503121561355e575f80fd5b825167ffffffffffffffff80821115613575575f80fd5b818501915085601f830112613588575f80fd5b81518181111561359a5761359a61349d565b8060051b604051601f19603f830116810181811085821117156135bf576135bf61349d565b6040529182528482019250838101850191888311156135dc575f80fd5b938501935b82851015613601576135f285613477565b845293850193928501926135e1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613637816010850160208701612ba8565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516134f0816011850160208701612ba8565b8181035f83128015838313168383128216171561123f5761123f61341a565b634e487b7160e01b5f52601260045260245ffd5b5f826136b0576136b061368e565b500690565b5f600182016136c6576136c661341a565b5060010190565b5f826136db576136db61368e565b500490565b5f808335601e198436030181126136f5575f80fd5b83018035915067ffffffffffffffff82111561370f575f80fd5b602001915036819003821315612d36575f80fd5b80820281158282048414176107e4576107e461341a565b5f6020828403121561374a575f80fd5b815161071381612c36565b5f8251613766818460208701612ba8565b919091019291505056fea2646970667358221220e664418cc325031b9b73c1a9539a65881349617e81927cfbaafd7c3c21b0310064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "adminController()": "950c5d03", + "balanceOf(uint256,address)": "3656eec2", + "baseToken()": "c55dae63", + "batchTransferFrom(address,address,uint256[],uint256[])": "17fad7fc", + "collectGovernanceFee((address,bool,bytes))": "3e691db9", + "convertToBase(uint256)": "b88fed9f", + "convertToShares(uint256)": "c6e6f592", + "decimals()": "313ce567", + "getCheckpoint(uint256)": "20fc4881", + "getCheckpointExposure(uint256)": "cf210e65", + "getMarketState()": "d8165743", + "getPoolConfig()": "b0d96580", + "getPoolInfo()": "60246c88", + "getUncollectedGovernanceFees()": "c69e16ad", + "getWithdrawPool()": "fba56008", + "isApprovedForAll(address,address)": "e985e9c5", + "isPauser(address)": "46fbf68e", + "kind()": "04baa00b", + "load(uint256[])": "becee9c3", + "name()": "06fdde03", + "name(uint256)": "00ad800c", + "nonces(address)": "7ecebe00", + "pause(bool)": "02329a29", + "perTokenApprovals(uint256,address,address)": "21ff32a9", + "permitForAll(bytes32,bytes32,address,address,bool,uint256,uint8,bytes32,bytes32)": "14e5f07b", + "setApproval(uint256,address,uint256)": "9cd241af", + "setApprovalBridge(uint256,address,uint256,address)": "4ed2d6ac", + "setApprovalForAll(address,bool)": "a22cb465", + "setGovernance(address)": "ab033ea9", + "setPauser(address,bool)": "7180c8ca", + "sweep(address)": "01681a62", + "symbol(uint256)": "4e41a1fb", + "totalShares()": "3a98ef39", + "totalSupply(uint256)": "bd85b039", + "transferFrom(uint256,address,address,uint256)": "1c0f12b6", + "transferFromBridge(uint256,address,address,uint256,address)": "e44808bc", + "vaultSharesToken()": "0a4e1493", + "version()": "54fd4d50" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget0Deployer.ts b/packages/hyperdrive-artifacts/src/StkWellTarget0Deployer.ts new file mode 100644 index 000000000..55022c25f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget0Deployer.ts @@ -0,0 +1,147 @@ +export const StkWellTarget0Deployer = { + name: 'StkWellTarget0Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506140b18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613bd9806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003bd938038062003bd98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516137a6620004335f395f8181610d47015261230301525f8181610d1801526122c601525f8181610bf401528181610e7701528181610f0501528181610f93015281816110210152818161161d015281816116b30152818161187501528181611e8d01528181611f6101526120b201525f610ddf01525f8181610db901526124a801525f8181610d93015261248201525f8181610d6d015261245c01525f61112c01525f61110601525f6110e001525f6110ba01525f8181610e5101526124ce01525f8181610e05015281816112aa01526127fc01525f8181610e2b015261295901525f81816105f601528181610ce901528181611e02015261292b01525f818161072001528181610cba015261125401526137a65ff3fe608060405234801561000f575f80fd5b5060043610610228575f3560e01c806360246c881161012a578063bd85b039116100b4578063cf210e6511610079578063cf210e65146104c9578063d8165743146104dc578063e44808bc146104f1578063e985e9c514610504578063fba5600814610517575f80fd5b8063bd85b03914610486578063becee9c314610499578063c55dae63146104b9578063c69e16ad146104c1578063c6e6f59214610473575f80fd5b80639cd241af116100fa5780639cd241af14610427578063a22cb4651461043a578063ab033ea91461044d578063b0d965801461045e578063b88fed9f14610473575f80fd5b806360246c88146103e55780637180c8ca146103fa5780637ecebe001461040c578063950c5d031461041f575f80fd5b806320fc4881116101b65780633e691db91161017b5780633e691db91461038157806346fbf68e146103945780634e41a1fb146103b75780634ed2d6ac146103ca57806354fd4d50146103dd575f80fd5b806320fc4881146102e657806321ff32a91461032b578063313ce5671461034c5780633656eec2146103665780633a98ef3914610379575f80fd5b806306fdde03116101fc57806306fdde03146102855780630a4e14931461028d57806314e5f07b146102ad57806317fad7fc146102c05780631c0f12b6146102d3575f80fd5b8062ad800c1461022c57806301681a621461025557806302329a291461026a57806304baa00b1461027d575b5f80fd5b61023f61023a366004612b91565b610546565b60405161024c9190612bf5565b60405180910390f35b610268610263366004612c1b565b61057d565b005b610268610278366004612c43565b610586565b61023f61058f565b61023f6105d1565b6102956105e8565b6040516001600160a01b03909116815260200161024c565b6102686102bb366004612c6c565b610627565b6102686102ce366004612d3d565b610643565b6102686102e1366004612dcc565b610659565b6102f96102f4366004612b91565b61066c565b6040805182516001600160801b039081168252602080850151821690830152928201519092169082015260600161024c565b61033e610339366004612e11565b6106d5565b60405190815260200161024c565b61035461071a565b60405160ff909116815260200161024c565b61033e610374366004612e50565b6107b2565b61033e6107ea565b61033e61038f366004612e7e565b610808565b6103a76103a2366004612c1b565b610812565b604051901515815260200161024c565b61023f6103c5366004612b91565b610831565b6102686103d8366004612eb5565b61083f565b61023f61088d565b6103ed6108c2565b60405161024c9190612efc565b610268610408366004612f9d565b5050565b61033e61041a366004612c1b565b610bbb565b610295610be6565b610268610435366004612fc9565b610c25565b610268610448366004612f9d565b610c36565b61026861045b366004612c1b565b50565b610466610ca1565b60405161024c9190612ffe565b61033e610481366004612b91565b611161565b61033e610494366004612b91565b61116e565b6104ac6104a7366004613124565b61118f565b60405161024c9190613163565b610295611246565b61033e611285565b61033e6104d7366004612b91565b61129e565b6104e46112d4565b60405161024c91906131a6565b6102686104ff3660046132b7565b6113df565b6103a7610512366004613312565b611427565b61051f61146a565b6040805182516001600160801b03908116825260209384015116928101929092520161024c565b6060610578610554836114c8565b6040516020016105649190612bf5565b6040516020818303038152906040526115ee565b919050565b61045b81611612565b61045b81611873565b60606105ce6040518060400160405280601181526020017053746b57656c6c4879706572647269766560781b8152506040516020016105649190612bf5565b90565b60606105ce6001604051602001610564919061333e565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b61063889898989898989898961198b565b505050505050505050565b610651868686868686611b7d565b505050505050565b6106668484848433611c30565b50505050565b604080516060810182525f808252602082018190529181019190915261057860085f8481526020019081526020015f20604051602001610564919081546001600160801b03808216835260809190911c6020830152600190920154909116604082015260600190565b5f838152600d602090815260408083206001600160a01b03868116855290835281842090851684528252808320548151928301526107139101610564565b9392505050565b5f6105ce7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e91906133eb565b6040805160ff909216602083015201610564565b5f828152600a602090815260408083206001600160a01b03851684528252808320548151928301526107e49101610564565b92915050565b5f6105ce6107f6611deb565b60405160200161056491815260200190565b5f6107e482611e78565b5f61057861081f836120ae565b60408051911515602083015201610564565b60606105786105548361218c565b8361084981612288565b6001600160a01b0316336001600160a01b03161461087a57604051632aab8bd360e01b815260040160405180910390fd5b61088685858585612345565b5050505050565b60606105ce60405180604001604052806007815260200166076312e302e32360cc1b8152506040516020016105649190612bf5565b61092c604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6109356123b1565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654939450926001600160801b039092169161099f919061342e565b6109a99190613441565b90505f8215610ab85773__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6109d5856123c3565b6040805160e084811b6001600160e01b03191682528351600483015260208401516024830152918301516044820152606083015160648201526080830151608482015260a083015160a482015260c083015160c48201529082015160e482015261010082015161010482015261012082015161012482015261014082015161014482015261016090910151610164820152610184016040805180830381865af4158015610a84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa89190613454565b509050610ab5818461254d565b90505b604080516101e0810182526002546001600160801b038082168352600454600f81900b60208501526006546001600160701b036201000082041695850195909552600160801b9485900482166060850152918490048116608084015260a0830186905260c08301879052600354849004811660e0840152600554808216610100850152918490048116610120840152908390048116610140830152600754808216610160840152929092049091166101808201525f906101a081018415610b8857610b838486612561565b610b8a565b5f5b81526003546001600160801b0316602091820152604051919250610bb49161056491849101612efc565b5050505090565b6001600160a01b0381165f908152600e60209081526040808320548151928301526105789101610564565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b610c3183838333612345565b505050565b335f818152600c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ca9612abd565b6105ce6040518061020001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef59190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f839190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110119190613482565b6001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa15801561107b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109f9190613482565b6001600160a01b0316815260200160405180608001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000008152508152506040516020016105649190612ffe565b5f6105786107f683612575565b5f818152600b60209081526040808320548151928301526105789101610564565b60605f8267ffffffffffffffff8111156111ab576111ab61349d565b6040519080825280602002602001820160405280156111d4578160200160208202803683370190505b5090505f5b8381101561122a575f8585838181106111f4576111f46134b1565b9050602002013590505f8154905080848481518110611215576112156134b1565b602090810291909101015250506001016111d9565b5061123f816040516020016105649190613163565b5092915050565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660208201525f916105ce9101610564565b5f6105ce60095460405160200161056491815260200190565b5f6105786107f66112cf7f00000000000000000000000000000000000000000000000000000000000000008561342e565b61257c565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526105ce6002604051602001610564919081546001600160801b038082168352608091821c602084015260018401548082166040850152821c60608401526002840154600f81900b83850152821c60a0840152600384015490811660c0840152811c60e083015260049092015460ff8082161515610100840152600882901c1615156101208301526001600160701b03601082901c1661014083015290911c6101608201526101800190565b846113e981612288565b6001600160a01b0316336001600160a01b03161461141a57604051632aab8bd360e01b815260040160405180910390fd5b6106518686868686611c30565b6001600160a01b038281165f908152600c60209081526040808320938516835292815282822054835160ff90911615159181019190915290916107e49101610564565b604080518082019091525f80825260208201526040805180820182526007546001600160801b03808216808452600160801b90920481166020938401908152845193840192909252905116918101919091526105ce90606001610564565b606060f882901c6001600160f81b0383165f6114e3826125bc565b90505f8360038111156114f8576114f8613406565b0361152a576040518060400160405280600d81526020016c048797065726472697665204c5609c1b81525093506115e6565b600183600381111561153e5761153e613406565b0361156a578060405160200161155491906134c5565b60405160208183030381529060405293506115e6565b600283600381111561157e5761157e613406565b03611594578060405160200161155491906134fd565b60038360038111156115a8576115a8613406565b036115e6576040518060400160405280601b81526020017f48797065726472697665205769746864726177616c205368617265000000000081525093505b505050919050565b80604051636e64089360e11b81526004016116099190612bf5565b60405180910390fd5b61161a61266e565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310780f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611677573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169b9190613482565b9050336001600160a01b0382161480159061174757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117319190613482565b6001600160a01b0316336001600160a01b031614155b80156117595750611757336120ae565b155b15611776576040516282b42960e81b815260040160405180910390fd5b5f61177f611deb565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156117c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ea9190613536565b90506118006001600160a01b0385168483612696565b81611809611deb565b14611827576040516313dd85ff60e31b815260040160405180910390fd5b836001600160a01b0316836001600160a01b03167f951f51ee88c8e42633698bba90d1e53c0954470938036879e691c0232b47e09660405160405180910390a350505061045b60015f55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f39190613482565b6001600160a01b0316336001600160a01b03161415801561191a5750611918336120ae565b155b15611937576040516282b42960e81b815260040160405180910390fd5b600680548215156101000261ff00199091161790556040517f7c4d1fe30fdbfda9e9c4c43e759ef32e4db5128d4cb58ff3ae9583b89b6242a59061198090831515815260200190565b60405180910390a150565b834211156119ac5760405163f87d927160e01b815260040160405180910390fd5b6001600160a01b0387166119d35760405163f0dd15fd60e01b815260040160405180910390fd5b6001600160a01b038781165f818152600e602090815260408083205481518084018f905280830195909552948b166060850152891515608085015260a084019490945260c08084018990528451808503909101815260e08401909452835193019290922061190160f01b61010083015261010282018c90526101228201526101420160408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611abd573d5f803e3d5ffd5b505050602060405103519050886001600160a01b0316816001600160a01b031614611afb57604051638baa579f60e01b815260040160405180910390fd5b6001600160a01b038981165f818152600e6020908152604080832080546001019055600c8252808320948d1680845294825291829020805460ff19168c151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050505050505050505050565b6001600160a01b0386161580611b9a57506001600160a01b038516155b15611bb85760405163f0dd15fd60e01b815260040160405180910390fd5b828114611bd85760405163174861a760e31b815260040160405180910390fd5b5f5b83811015611c2757611c1f858583818110611bf757611bf76134b1565b905060200201358888868686818110611c1257611c126134b1565b9050602002013533611c30565b600101611bda565b50505050505050565b6001600160a01b0384161580611c4d57506001600160a01b038316155b15611c6b5760405163f0dd15fd60e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031614611d2b576001600160a01b038085165f908152600c602090815260408083209385168352929052205460ff16611d2b575f858152600d602090815260408083206001600160a01b03808916855290835281842090851684529091529020545f198114611d29575f868152600d602090815260408083206001600160a01b03808a168552908352818420908616845290915281208054859290611d23908490613441565b90915550505b505b5f858152600a602090815260408083206001600160a01b038816845290915281208054849290611d5c908490613441565b90915550505f858152600a602090815260408083206001600160a01b038716845290915281208054849290611d9290849061342e565b909155505060408051868152602081018490526001600160a01b038086169287821692918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e739190613536565b905090565b5f611e8161266e565b611e8a826126e8565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0b9190613482565b90506001600160a01b038116611f246020850185612c1b565b6001600160a01b031614611f4b57604051630ad13b3360e21b815260040160405180910390fd5b336001600160a01b03821614801590611ff557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e33315556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdf9190613482565b6001600160a01b0316336001600160a01b031614155b80156120075750612005336120ae565b155b15612024576040516282b42960e81b815260040160405180910390fd5b5f61202d6123b1565b600980545f90915590915061204381838761271d565b93506001600160a01b0383167f3e5eb8642141e29a1b4e5c28b467396f814c1698e1adfc3ff327ddb9a6038361858461208260408a0160208b01612c43565b60408051938452602084019290925215159082015260600160405180910390a250505061057860015f55565b5f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a64c90bf6040518163ffffffff1660e01b81526004015f60405180830381865afa15801561210b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612132919081019061354d565b90505f5b815181101561218357836001600160a01b031682828151811061215b5761215b6134b1565b60200260200101516001600160a01b03160361217b575060019392505050565b600101612136565b505f9392505050565b606060f882901c6001600160f81b0383165f6121a7826125bc565b90505f8360038111156121bc576121bc613406565b036121ee576040518060400160405280600d81526020016c0485950455244524956452d4c5609c1b81525093506115e6565b600183600381111561220257612202613406565b036122185780604051602001611554919061360d565b600283600381111561222c5761222c613406565b0361224257806040516020016115549190613644565b600383600381111561225657612256613406565b036115e657505060408051808201909152600d81526c485950455244524956452d575360981b60208201529392505050565b604080513060208083019190915281830193909352815180820383018152606080830184528151918501919091206001600160f81b031960808401527f000000000000000000000000000000000000000000000000000000000000000090911b6bffffffffffffffffffffffff1916608183015260958201527f000000000000000000000000000000000000000000000000000000000000000060b5808301919091528251808303909101815260d5909101909152805191012090565b5f848152600d602090815260408083206001600160a01b0385811680865291845282852090881680865290845293829020869055905185815290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050565b5f611e73670de0b6b3a7640000612575565b61241b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161251391166127b3565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612545929004166127b3565b905292915050565b5f6107138383670de0b6b3a7640000612827565b5f61071383670de0b6b3a764000084612827565b5f816107e4565b5f6125a1600b5f61258e600286612842565b81526020019081526020015f2054612876565b6125b2600b5f61258e600187612842565b6107e4919061366f565b60408051604e80825260808201909252606091905f90826020820181803683370190505090505f5b8415612660576125f5600a866136a2565b61260090603061342e565b60f81b8260016126108487613441565b61261a9190613441565b8151811061262a5761262a6134b1565b60200101906001600160f81b03191690815f1a9053508061264a816136b5565b91506126599050600a866136cd565b94506125e4565b918290030190815292915050565b60025f540361269057604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c319084906128a3565b5f6126f66020830183612c1b565b6001600160a01b03160361045b5760405163f0dd15fd60e01b815260040160405180910390fd5b5f80612729858561254d565b905061273481612575565b9450845f03612746575f915050610713565b8491506127596040840160208501612c43565b15612788576127818561276f6020860186612c1b565b61277c60408701876136e0565b612904565b91506127ab565b6127ab856127996020860186612c1b565b6127a660408701876136e0565b61291e565b509392505050565b5f80670de0b6b3a76400006127c6612952565b6127d09190613723565b90508083116127df575f6127e9565b6127e98184613441565b9150610713612820670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000613723565b8390612561565b5f825f19048411830215820261283b575f80fd5b5091020490565b5f6001600160f81b0382111561286b5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f6001600160ff1b0382111561289f5760405163396ea70160e11b815260040160405180910390fd5b5090565b5f6128b76001600160a01b0384168361297d565b905080515f141580156128db5750808060200190518101906128d9919061373a565b155b15610c3157604051635274afe760e01b81526001600160a01b0384166004820152602401611609565b5f60405163350b944160e11b815260040160405180910390fd5b6106666001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612696565b5f611e73427f000000000000000000000000000000000000000000000000000000000000000061298a565b606061071383835f61299f565b5f61299582846136a2565b6107139084613441565b6060814710156129c45760405163cd78605960e01b8152306004820152602401611609565b5f80856001600160a01b031684866040516129df9190613755565b5f6040518083038185875af1925050503d805f8114612a19576040519150601f19603f3d011682016040523d82523d5f602084013e612a1e565b606091505b5091509150612a2e868383612a38565b9695505050505050565b606082612a4d57612a4882612a94565b610713565b8151158015612a6457506001600160a01b0384163b155b15612a8d57604051639996b31560e01b81526001600160a01b0385166004820152602401611609565b5080610713565b805115612aa45780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061020001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f80191681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001612b8c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b905290565b5f60208284031215612ba1575f80fd5b5035919050565b5f5b83811015612bc2578181015183820152602001612baa565b50505f910152565b5f8151808452612be1816020860160208601612ba8565b601f01601f19169290920160200192915050565b602081525f6107136020830184612bca565b6001600160a01b038116811461045b575f80fd5b5f60208284031215612c2b575f80fd5b813561071381612c07565b801515811461045b575f80fd5b5f60208284031215612c53575f80fd5b813561071381612c36565b60ff8116811461045b575f80fd5b5f805f805f805f805f6101208a8c031215612c85575f80fd5b8935985060208a0135975060408a0135612c9e81612c07565b965060608a0135612cae81612c07565b955060808a0135612cbe81612c36565b945060a08a0135935060c08a0135612cd581612c5e565b8093505060e08a013591506101008a013590509295985092959850929598565b5f8083601f840112612d05575f80fd5b50813567ffffffffffffffff811115612d1c575f80fd5b6020830191508360208260051b8501011115612d36575f80fd5b9250929050565b5f805f805f8060808789031215612d52575f80fd5b8635612d5d81612c07565b95506020870135612d6d81612c07565b9450604087013567ffffffffffffffff80821115612d89575f80fd5b612d958a838b01612cf5565b90965094506060890135915080821115612dad575f80fd5b50612dba89828a01612cf5565b979a9699509497509295939492505050565b5f805f8060808587031215612ddf575f80fd5b843593506020850135612df181612c07565b92506040850135612e0181612c07565b9396929550929360600135925050565b5f805f60608486031215612e23575f80fd5b833592506020840135612e3581612c07565b91506040840135612e4581612c07565b809150509250925092565b5f8060408385031215612e61575f80fd5b823591506020830135612e7381612c07565b809150509250929050565b5f60208284031215612e8e575f80fd5b813567ffffffffffffffff811115612ea4575f80fd5b820160608185031215610713575f80fd5b5f805f8060808587031215612ec8575f80fd5b843593506020850135612eda81612c07565b9250604085013591506060850135612ef181612c07565b939692955090935050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c091820151918101919091526101e00190565b5f8060408385031215612fae575f80fd5b8235612fb981612c07565b91506020830135612e7381612c36565b5f805f60608486031215612fdb575f80fd5b833592506020840135612fed81612c07565b929592945050506040919091013590565b81516001600160a01b031681526102608101602083015161302a60208401826001600160a01b03169052565b50604083015161304560408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401518184015250610160808401516130b7828501826001600160a01b03169052565b5050610180838101516001600160a01b03908116918401919091526101a0808501518216908401526101c080850151909116908301526101e0808401518051828501526020810151610200850152604081015161022085015260608101516102408501525b505092915050565b5f8060208385031215613135575f80fd5b823567ffffffffffffffff81111561314b575f80fd5b61315785828601612cf5565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b8181101561319a5783518352928401929184019160010161317e565b50909695505050505050565b81516001600160801b03168152610180810160208301516131d260208401826001600160801b03169052565b5060408301516131ed60408401826001600160801b03169052565b50606083015161320860608401826001600160801b03169052565b50608083015161321d6080840182600f0b9052565b5060a083015161323860a08401826001600160801b03169052565b5060c083015161325360c08401826001600160801b03169052565b5060e083015161326e60e08401826001600160801b03169052565b506101008381015115159083015261012080840151151590830152610140808401516001600160701b031690830152610160808401516001600160801b0381168285015261311c565b5f805f805f60a086880312156132cb575f80fd5b8535945060208601356132dd81612c07565b935060408601356132ed81612c07565b925060608601359150608086013561330481612c07565b809150509295509295909350565b5f8060408385031215613323575f80fd5b823561332e81612c07565b91506020830135612e7381612c07565b5f60208083525f84545f60018260011c9150600183168061336057607f831692505b60208310810361337e57634e487b7160e01b5f52602260045260245ffd5b602088018390526040880181801561339d57600181146133b3576133dc565b60ff198616825284151560051b820196506133dc565b5f8b8152602090205f5b868110156133d6578154848201529085019089016133bd565b83019750505b50949998505050505050505050565b5f602082840312156133fb575f80fd5b815161071381612c5e565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156107e4576107e461341a565b818103818111156107e4576107e461341a565b5f8060408385031215613465575f80fd5b825191506020830151612e7381612c36565b805161057881612c07565b5f60208284031215613492575f80fd5b815161071381612c07565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b700243cb832b9323934bb32902637b7339d1607d1b81525f82516134f0816011850160208701612ba8565b9190910160110192915050565b710243cb832b9323934bb329029b437b93a1d160751b81525f8251613529816012850160208701612ba8565b9190910160120192915050565b5f60208284031215613546575f80fd5b5051919050565b5f602080838503121561355e575f80fd5b825167ffffffffffffffff80821115613575575f80fd5b818501915085601f830112613588575f80fd5b81518181111561359a5761359a61349d565b8060051b604051601f19603f830116810181811085821117156135bf576135bf61349d565b6040529182528482019250838101850191888311156135dc575f80fd5b938501935b82851015613601576135f285613477565b845293850193928501926135e1565b98975050505050505050565b6f242ca822a9222924ab2296a627a7239d60811b81525f8251613637816010850160208701612ba8565b9190910160100192915050565b70242ca822a9222924ab2296a9a427a92a1d60791b81525f82516134f0816011850160208701612ba8565b8181035f83128015838313168383128216171561123f5761123f61341a565b634e487b7160e01b5f52601260045260245ffd5b5f826136b0576136b061368e565b500690565b5f600182016136c6576136c661341a565b5060010190565b5f826136db576136db61368e565b500490565b5f808335601e198436030181126136f5575f80fd5b83018035915067ffffffffffffffff82111561370f575f80fd5b602001915036819003821315612d36575f80fd5b80820281158282048414176107e4576107e461341a565b5f6020828403121561374a575f80fd5b815161071381612c36565b5f8251613766818460208701612ba8565b919091019291505056fea2646970667358221220e664418cc325031b9b73c1a9539a65881349617e81927cfbaafd7c3c21b0310064736f6c63430008160033a264697066735822122023c9f04eca2806c10cbfe5947a24f3bae8f758485ea9429b49397e745bfac8b264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget1.ts b/packages/hyperdrive-artifacts/src/StkWellTarget1.ts new file mode 100644 index 000000000..6ba82ead9 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget1.ts @@ -0,0 +1,990 @@ +export const StkWellTarget1 = { + name: 'StkWellTarget1' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeLong", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShort", + "inputs": [ + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003df938038062003df98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161398d6200046c5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612a9e01525f818161139301528181611791015281816117f401528181612687015281816126c3015281816128bb0152612a7801525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612a5201525f611ab601525f8181611bd701528181612218015261229001525f81816108a901528181610f4301528181611bab015261226401525f8181610e3e01526121de01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ac401525f81816107e701528181610ec4015281816116ef015281816120b7015261303f01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61250101525f505061398d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613428565b610070565b60405190815260200160405180910390f35b61004b61006b366004613428565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613496565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836134a9565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836134dc565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613504565b6102bd8a6102b78d8f613496565b90611584565b8d6102cb60408c018c61351f565b6040516102df98979695949392919061358a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613496565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836135d1565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836134dc565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613504565b8a61050260408b018b61351f565b60405161051597969594939291906135f8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836134dc565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611971565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613496565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611986565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b92505b5061073e836119bc565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613638565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613496565b42906119e5565b8461102b565b6107db886119f9565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613638565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611b96565b915091508060095f8282546108789190613496565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613496565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c63565b91506108e16108dc8385611584565b611cac565b600680546002906109029084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119bc565b60068054601090610951908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611b96565b915091508060095f8282546109c49190613496565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613638565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119bc565b60068054601090610a68908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906134a9565b5f61134e565b8e610ac58482611cd5565b50505b5f610ad284611ec4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061368b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612006565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613638565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611986565b90505f610d5f8a61208c565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120db565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061214a565b612179565b15610e7457610e746113ec565b5f805f610e8385878b876121ba565b9c5091945092509050610e968184613638565b610ea09089613496565b9750610eac8284613496565b610eb6908d613496565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613638565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c63565b9950610f73878a613638565b9850670de0b6b3a7640000610ff0610f8b8787613496565b600254610fa9908f90600160801b90046001600160801b0316613638565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122cc565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613638565b6110d191906136a6565b85670de0b6b3a76400006110e5878a613638565b6110ef91906136a6565b859291906001612368565b6119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119bc565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866136a6565b600554600160801b90046001600160801b031691908a5f612368565b600580546001600160801b03928316600160801b0292169190911790556111d2866119bc565b6111dc90826136bd565b600480546001600160801b03928316600160801b029216919091179055611202846119bc565b600280545f9061121c9084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361240e565b600480545f9061125d908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119bc565b600280546010906112af908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906134a9565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612449565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124ab565b6003546113ce91906001600160801b0316613496565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cd5565b5f805f61141d846119f9565b90925090505f61142d8686611584565b905081831115611445576114428683856124bf565b95505b8281101561145757808303925061145b565b5f92505b61146483611cac565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119bc565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161196a565b9450845f03611516575f91505061157d565b8491506115296040840160208501613504565b15611558576115518561153f60208601866134dc565b61154c604087018761351f565b6124da565b915061157b565b61157b8561156960208601866134dc565b611576604087018761351f565b6124f4565b505b9392505050565b5f61157d8383670de0b6b3a76400006124bf565b5f805f805f805f806115a8611986565b90505f6115b48a61208c565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061252e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b985061169a84878b886121ba565b9c5091945090925090506116ae8284613638565b6116b89089613638565b97506116c48184613496565b6116ce908e613638565b9c506116da8a8e613496565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613638565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122cc565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613638565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826134a9565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612581565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886136a6565b6005546001600160801b031691908c5f612368565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613638565b90506118a2816119bc565b600380546001600160801b03928316600160801b0292169190911790556118c8836119bc565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261240e565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119bc565b6002805460109061193c908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8161131b565b5f61197c828461371e565b61157d9084613638565b6002546004545f916105a6916001600160801b0390911690600f0b612581565b5f61007d826119b68588886124bf565b906125a6565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f8183116119f3578261157d565b50919050565b6006545f908190611a1b908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611b91575f611a448383613638565b9050611a536110fa8286612615565b60068054601090611a75908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611aad858361262990919063ffffffff16565b90505f611ada827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611aed9190613496565b90915550611afd90508183613638565b9150611b08826119bc565b600280545f90611b229084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b4f8261263d565b600480545f90611b63908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ba28785612629565b91505f611bcf837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611bfb817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c1e57611c0d8282613638565b611c179084613638565b9250611c35565b611c288282613638565b611c329084613496565b92505b86861015611c5857611c488387896124bf565b9250611c558287896124bf565b91505b509550959350505050565b5f80611c7a84611c748a888a6124bf565b90612629565b9050611c878884866124bf565b611c919082613496565b905086811115611ca15786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d1f916001600160801b031690613638565b9050805f03611d3257600191505061131b565b5f611d3c85612666565b9050805f03611d505760019250505061131b565b5f80611d5d838589612701565b9150915080611d72575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dad9291906137af565b6040805180830381865af4158015611dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611deb9190613824565b91509150611e09611dfb82611321565b611e0490613846565b612875565b925082611e1e575f965050505050505061131b565b611e27826119bc565b600780545f90611e419084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e6e816119bc565b60078054601090611e90908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611eeb87612a09565b6040518263ffffffff1660e01b8152600401611f079190613860565b6040805180830381865af4158015611f21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f45919061386f565b9150915080611f5a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fbf91613496565b611fc99190613638565b9050805f03611fdf57505f958695509350505050565b5f808711611fed575f611ff8565b611ff88488846124bf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120295761202961389d565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612073578692505b828152825f602083013e90999098509650505050505050565b5f806120966105ab565b90508083116120a5575f6120af565b6120af8184613638565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612629565b5f80806120fb6120f388670de0b6b3a7640000613638565b899087612b43565b9050861561213d5761210d88886124ab565b915061212e8a8a846121278a670de0b6b3a7640000613638565b8989612b66565b925061213a8382613496565b90505b9750975097945050505050565b5f61216761216084670de0b6b3a7640000613638565b83906124ab565b61157d90670de0b6b3a7640000613638565b5f806121af85612187611986565b6121919190613496565b600254610fa9908790600160801b90046001600160801b0316613638565b909210949350505050565b5f80808061221087866122098b6122036121dc8c670de0b6b3a7640000613638565b7f0000000000000000000000000000000000000000000000000000000000000000906124ab565b906124ab565b9190612b43565b935061223c847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61225c61225489670de0b6b3a7640000613638565b8a9088612b43565b9050612288817f00000000000000000000000000000000000000000000000000000000000000006124ab565b93506122b4847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122be9084613496565b915050945094509450949050565b5f805f805f80888810156123385786156122ee576122eb8d898b6124bf565b9c505b6122f98c898b6124bf565b9b506123048b611321565b61230d8d611321565b61231791906134a9565b90506123248b898b6124bf565b9a506123318a898b6124bf565b9950612357565b6123418b611321565b61234a8d611321565b61235491906134a9565b90505b9b9c9a9b999a975050505050505050565b5f825f03612377575084612405565b81156123c9576123a861238a8487613496565b6123948587611584565b61239e888a611584565b611c749190613496565b90505f6123b585886119e5565b9050808210156123c3578091505b50612405565b8285036123d757505f612405565b6124026123e48487613638565b6123ee85876124ab565b6123f8888a611584565b611c749190613638565b90505b95945050505050565b5f60016001607f1b031982128061242b575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612455845f612b88565b61245f845f612b88565b61246991906134a9565b90505f8113156124845761247d8186613496565b94506124a2565b5f8112156124a25761249581613846565b61249f9086613638565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612b43565b5f825f1904841183021582026124d3575f80fd5b5091020490565b5f60405163350b944160e11b815260040160405180910390fd5b6125286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612b9d565b50505050565b5f808061254e61254688670de0b6b3a7640000613638565b8990876124bf565b9050861561213d576125608888611584565b915061212e8a8a8461257a8a670de0b6b3a7640000613638565b8989612bf4565b5f8061258d8484612c04565b90925090508061259f5761259f6113ec565b5092915050565b5f815f036125bd5750670de0b6b3a764000061131b565b825f036125cb57505f61131b565b5f6125d583611321565b90505f6125e96125e486611321565b612c3f565b9050818102612600670de0b6b3a7640000826138b1565b905061260b81612e64565b9695505050505050565b5f61157d83670de0b6b3a764000084612b43565b5f61157d83670de0b6b3a7640000846124bf565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612680906001600160801b031684612615565b90506126ac7f000000000000000000000000000000000000000000000000000000000000000082613496565b6002546001600160801b031611156119f3576002547f0000000000000000000000000000000000000000000000000000000000000000906126f79083906001600160801b0316613638565b61157d9190613638565b612709613389565b5f8061271484612a09565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161274e9190613860565b6040805180830381865af4158015612768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278c919061386f565b93509050826127a057505f915061286d9050565b5f6127c66127c184610160015185610140015161158490919063ffffffff16565b611321565b6127e66127c18561012001518661010001516124ab90919063ffffffff16565b6127f091906134a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561292b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061294f91906138dd565b93509350935093508061296a57505f98975050505050505050565b86841461299b5761297a846119bc565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129cc576129ab8361240e565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146129fa576129dc826119bc565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a116133d3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b099116612ff6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b3b92900416612ff6565b905292915050565b5f825f190484118302158202612b57575f80fd5b50910281810615159190040190565b5f80612b7688888888888861306a565b909250905080611ca157611ca16113ec565b5f818313612b96578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612bef908490613146565b505050565b5f80612b768888888888886131ac565b5f805f83612c1186611321565b612c1b91906134a9565b90505f811215612c31575f809250925050612c38565b9150600190505b9250929050565b5f808213612c605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ce39084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612e7d57505f919050565b680755bf798b4a1bf1e58212612ea6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061260b74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130096105ab565b61301391906136a6565b9050808311613022575f61302c565b61302c8184613638565b915061157d613063670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136a6565b8390612629565b5f805f61307a8989888888613268565b905086881015613090575f80925092505061313b565b968690039661309f88876125a6565b9750878110156130b5575f80925092505061313b565b8781036130c3818688612b43565b9050670de0b6b3a764000081106130f7576130f06130e9670de0b6b3a764000089612615565b82906125a6565b905061310f565b61310c6130e9670de0b6b3a764000089612629565b90505b6131198186612615565b905089811015613130575f8093509350505061313b565b899003925060019150505b965096945050505050565b5f61315a6001600160a01b03841683613296565b905080515f1415801561317e57508080602001905181019061317c9190613910565b155b15612bef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6131bc8989888888613268565b90506131cc866119b6898b613496565b9750878110156131e2575f80925092505061313b565b8781036131f0818688612b43565b9050670de0b6b3a7640000811061321d576132166130e9670de0b6b3a764000089612615565b9050613235565b6132326130e9670de0b6b3a764000089612629565b90505b61323f8186612615565b9050808a1015613256575f8093509350505061313b565b90980398600198509650505050505050565b5f61327385856125a6565b61328c613284866119b6868b6124ab565b859085612b43565b6124029190613496565b606061157d83835f845f80856001600160a01b031684866040516132ba919061392b565b5f6040518083038185875af1925050503d805f81146132f4576040519150601f19603f3d011682016040523d82523d5f602084013e6132f9565b606091505b509150915061260b8683836060826133195761331482613360565b61157d565b815115801561333057506001600160a01b0384163b155b1561335957604051639996b31560e01b81526001600160a01b03851660048201526024016131a3565b508061157d565b8051156133705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061339d6133d3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561343b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613466575f80fd5b850160608188031215613477575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613482565b8181035f83128015838313168383128216171561259f5761259f613482565b6001600160a01b0381168114610591575f80fd5b5f602082840312156134ec575f80fd5b813561157d816134c8565b8015158114610591575f80fd5b5f60208284031215613514575f80fd5b813561157d816134f7565b5f808335601e19843603018112613534575f80fd5b83018035915067ffffffffffffffff82111561354e575f80fd5b602001915036819003821315612c38575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6135c360e083018486613562565b9a9950505050505050505050565b8082018281125f8312801582168215821617156135f0576135f0613482565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61362b60c083018486613562565b9998505050505050505050565b8181038181111561131b5761131b613482565b6001600160701b0381811683821601908082111561259f5761259f613482565b6001600160801b0381811683821601908082111561259f5761259f613482565b5f6020828403121561369b575f80fd5b815161157d816134c8565b808202811582820484141761131b5761131b613482565b6001600160801b0382811682821603908082111561259f5761259f613482565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613482565b634e487b7160e01b5f52601260045260245ffd5b5f8261372c5761372c61370a565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137c2828551613731565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613835575f80fd5b505080516020909101519092909150565b5f600160ff1b820161385a5761385a613482565b505f0390565b610180810161131b8284613731565b5f8060408385031215613880575f80fd5b825191506020830151613892816134f7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826138bf576138bf61370a565b600160ff1b82145f19841416156138d8576138d8613482565b500590565b5f805f80608085870312156138f0575f80fd5b8451935060208501519250604085015191506060850151613477816134f7565b5f60208284031215613920575f80fd5b815161157d816134f7565b5f82515f5b8181101561394a5760208186018101518583015201613930565b505f92019182525091905056fea26469706673582212200bbb33ae0b759a7054d31ea526e720fee72a9c86c609543d763cfc662221537a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "closeLong(uint256,uint256,uint256,(address,bool,bytes))": "ded06231", + "closeShort(uint256,uint256,uint256,(address,bool,bytes))": "29b23fc1" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget1Deployer.ts b/packages/hyperdrive-artifacts/src/StkWellTarget1Deployer.ts new file mode 100644 index 000000000..986c57d55 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget1Deployer.ts @@ -0,0 +1,147 @@ +export const StkWellTarget1Deployer = { + name: 'StkWellTarget1Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506142d18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613df9806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003df938038062003df98339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161398d6200046c5f395f50505f50505f610b2e01525f50505f818160a9015281816103140152612a9e01525f818161139301528181611791015281816117f401528181612687015281816126c3015281816128bb0152612a7801525f81816106ec01528181610da501528181610dec01528181610fab015281816115fa015281816116470152612a5201525f611ab601525f8181611bd701528181612218015261229001525f81816108a901528181610f4301528181611bab015261226401525f8181610e3e01526121de01525f818161070d01528181610d8301528181610e0d01528181610fcc015281816115d8015281816116680152612ac401525f81816107e701528181610ec4015281816116ef015281816120b7015261303f01525f81816105b2015281816106290152818161069d0152818161076801526107a001525f61250101525f505061398d5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806329b23fc114610038578063ded062311461005d575b5f80fd5b61004b610046366004613428565b610070565b60405190815260200160405180910390f35b61004b61006b366004613428565b610088565b5f61007d85858585610095565b90505b949350505050565b5f61007d85858585610300565b5f61009e610534565b6100a78261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156100e85760405163211ddda360e11b815260040160405180910390fd5b5f6100f1610594565b905085421015610116576101106101066105ab565b82600460016105d6565b50610126565b6101248682600460016105d6565b505b61013b610134600288610c39565b3387610c6d565b5f805f805f8061014c8b888e610d43565b9550955095509550955095505f8c90508c421015610208578260095f8282546101759190613496565b9091555061018d90506101866105ab565b428461102b565b61019a8c88878785611164565b5f6101a48e6112db565b90506101c26101b28e611321565b6101bc90836134a9565b8261134e565b6101cb8961138d565b6101d7576101d76113ec565b5f6101e18a611405565b90508061020157604051638bdf918d60e01b815260040160405180910390fd5b505061021f565b6102128689611411565b955061021d88611405565b505b5f61022b878a8d6114ed565b90508b81101561024e5760405163c972651760e01b815260040160405180910390fd5b8c86858b8e61025e600288610c39565b61026b60208301836134dc565b6001600160a01b0316337ff87a3de08b9fe89d655d6731088496cf5f5da0abd455e9f7cdc5f0c717f209e58a8a876102a96040890160208a01613504565b6102bd8a6102b78d8f613496565b90611584565b8d6102cb60408c018c61351f565b6040516102df98979695949392919061358a565b60405180910390a450939c5050505050505050505050505061008060015f55565b5f610309610534565b6103128261055c565b7f00000000000000000000000000000000000000000000000000000000000000008410156103535760405163211ddda360e11b815260040160405180910390fd5b5f61035c610594565b905085421015610377576103716101066105ab565b50610387565b6103858682600460016105d6565b505b610395610134600188610c39565b5f805f805f806103a68b888e611598565b9550955095509550955095505f8c90508c421015610455578260095f8282546103cf9190613496565b909155506103e090506101866105ab565b6103ed8c8887878561177a565b5f6103f7826112db565b905061040f6104058e611321565b6101bc90836135d1565b6104188961138d565b610424576104246113ec565b5f61042e8a611405565b90508061044e57604051638bdf918d60e01b815260040160405180910390fd5b505061046c565b61045f8689611411565b955061046a88611405565b505b5f610478878a8d6114ed565b90508b81101561049b5760405163c972651760e01b815260040160405180910390fd5b8c898c6104a9600186610c39565b6104b660208301836134dc565b6001600160a01b0316337f3b2c44173852b22d1ecf7784963c2bab6d4dd07e64ed560f818f144d72ee52678888876104f46040890160208a01613504565b8a61050260408b018b61351f565b60405161051597969594939291906135f8565b60405180910390a450919a505050505050505050505061008060015f55565b60025f540361055657604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f61056a60208301836134dc565b6001600160a01b0316036105915760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f6105a6670de0b6b3a764000061196a565b905090565b5f6105a6427f0000000000000000000000000000000000000000000000000000000000000000611971565b5f84815260086020526040812060018101546001600160801b03161515806105fd57504286115b1561061657600101546001600160801b03169050610080565b5f805f6106216105ab565b90505f61064e7f00000000000000000000000000000000000000000000000000000000000000008b613496565b90505b818110156106c2575f818152600860205260409020600101546001600160801b0316801561069a575f828152600860205260409020549094506001600160801b031692506106c2565b507f000000000000000000000000000000000000000000000000000000000000000001610651565b835f03610734578893506107316106d7611986565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b92505b5061073e836119bc565b6001850180546001600160801b0319166001600160801b039290921691909117905561079461078d7f00000000000000000000000000000000000000000000000000000000000000008b613638565b8a8461102b565b6107d2896107cc6107c57f000000000000000000000000000000000000000000000000000000000000000083613496565b42906119e5565b8461102b565b6107db886119f9565b505f905060088161080c7f00000000000000000000000000000000000000000000000000000000000000008d613638565b815260208101919091526040015f908120600101546001600160801b0316915061083760028c610c39565b5f818152600b60205260408120549192508c8c831561097857600192505f8061086386898d865f611b96565b915091508060095f8282546108789190613496565b909155506108939050865f8461088d81611321565b88611164565b61089d8183613496565b91506108cd86838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c63565b91506108e16108dc8385611584565b611cac565b600680546002906109029084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b0316021790555061092f826119bc565b60068054601090610951908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610984600184610c39565b5f818152600b60205260409020549091508015610a8f57600194505f806109af838b8f886001611b96565b915091508060095f8282546109c49190613496565b909155506109df9050835f846109d981611321565b8a61177a565b6109e98183613638565b91506109f86108dc8387611584565b60068054600290610a199084906201000090046001600160701b031661364b565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a46826119bc565b60068054601090610a68908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610ac857610aba610aa187611321565b610aaa83611321565b610ab491906134a9565b5f61134e565b8e610ac58482611cd5565b50505b5f610ad284611ec4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac919061368b565b90506001600160a01b03811615610c2057610c1d5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612006565b50505b509b9d5050505050505050505050505050949350505050565b5f6001600160f81b03821115610c625760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610caf57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610cf1908490613638565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f805f805f805f80610d53611986565b90505f610d5f8a61208c565b6002549091508c908c90610dc9908590600160801b90046001600160801b031684867f0000000000000000000000000000000000000000000000000000000000000000867f00000000000000000000000000000000000000000000000000000000000000006120db565b600254919d509a50909550610e31908590600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b9550610e67858c610e62897f000000000000000000000000000000000000000000000000000000000000000061214a565b612179565b15610e7457610e746113ec565b5f805f610e8385878b876121ba565b9c5091945092509050610e968184613638565b610ea09089613496565b9750610eac8284613496565b610eb6908d613496565b9b505050505050505f60085f7f00000000000000000000000000000000000000000000000000000000000000008c610eee9190613638565b815260208101919091526040015f908120600101546001600160801b03169150428b11610f34575f8b8152600860205260409020600101546001600160801b0316610f36565b8b5b90508b610f678e8a8585857f0000000000000000000000000000000000000000000000000000000000000000611c63565b9950610f73878a613638565b9850670de0b6b3a7640000610ff0610f8b8787613496565b600254610fa9908f90600160801b90046001600160801b0316613638565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b1115610ffe57610ffe6113ec565b61100d8a8a878a87875f6122cc565b939d50919b5090995090975050505050505093975093979195509350565b5f83815260086020526040902054600160801b90046001600160801b03168083036110565750505050565b5f848152600860205260408120546001600160801b0316908190036110ae5761107e836119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561112b565b6110ff6110fa670de0b6b3a76400006110c78886613638565b6110d191906136a6565b85670de0b6b3a76400006110e5878a613638565b6110ef91906136a6565b859291906001612368565b6119bc565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611134846119bc565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600454600160801b90046001600160801b03166111ac6110fa82611190670de0b6b3a7640000866136a6565b600554600160801b90046001600160801b031691908a5f612368565b600580546001600160801b03928316600160801b0292169190911790556111d2866119bc565b6111dc90826136bd565b600480546001600160801b03928316600160801b029216919091179055611202846119bc565b600280545f9061121c9084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506112498361240e565b600480545f9061125d908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061128d856119bc565b600280546010906112af908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f611300600b5f6112ed600286610c39565b81526020019081526020015f2054611321565b611311600b5f6112ed600187610c39565b61131b91906134a9565b92915050565b5f6001600160ff1b0382111561134a5760405163396ea70160e11b815260040160405180910390fd5b5090565b600354611369906110fa906001600160801b03168484612449565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f6113b87f0000000000000000000000000000000000000000000000000000000000000000836124ab565b6003546113ce91906001600160801b0316613496565b6002546113e4906001600160801b031684611584565b101592915050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f61131b826004611cd5565b5f805f61141d846119f9565b90925090505f61142d8686611584565b905081831115611445576114428683856124bf565b95505b8281101561145757808303925061145b565b5f92505b61146483611cac565b600680546001600160701b039290921662010000026fffffffffffffffffffffffffffff00001990921691909117908190556001600160801b03600160801b90910416808710156114b7578690036114ba565b505f5b6114c3816119bc565b600680546001600160801b03928316600160801b0292169190911790555085935050505092915050565b5f806114f98585611584565b90506115048161196a565b9450845f03611516575f91505061157d565b8491506115296040840160208501613504565b15611558576115518561153f60208601866134dc565b61154c604087018761351f565b6124da565b915061157b565b61157b8561156960208601866134dc565b611576604087018761351f565b6124f4565b505b9392505050565b5f61157d8383670de0b6b3a76400006124bf565b5f805f805f805f806115a8611986565b90505f6115b48a61208c565b6002549091508b908d9061161e908590600160801b90046001600160801b031683867f0000000000000000000000000000000000000000000000000000000000000000877f000000000000000000000000000000000000000000000000000000000000000061252e565b600254919d509b509095505f908190819061168c908890600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006119a6565b985061169a84878b886121ba565b9c5091945090925090506116ae8284613638565b6116b89089613638565b97506116c48184613496565b6116ce908e613638565b9c506116da8a8e613496565b9b50505050505050506117648686838660085f7f00000000000000000000000000000000000000000000000000000000000000008f6117199190613638565b815260208101919091526040015f20600101546001600160801b0316428e1161175b575f8e8152600860205260409020600101546001600160801b031661175d565b8e5b60016122cc565b9a9e939d50919b50909950929650945050505050565b6002546001600160801b0316838110806117bc57507f00000000000000000000000000000000000000000000000000000000000000006117ba8583613638565b105b156117c9576117c96113ec565b6004549084900390600f0b6117de84826134a9565b9050836117ea86611321565b13801561181f57507f000000000000000000000000000000000000000000000000000000000000000061181d8383612581565b105b1561182c5761182c6113ec565b600354600160801b90046001600160801b031661186d6110fa82611858670de0b6b3a7640000886136a6565b6005546001600160801b031691908c5f612368565b600580546001600160801b0319166001600160801b03929092169190911790556118978882613638565b90506118a2816119bc565b600380546001600160801b03928316600160801b0292169190911790556118c8836119bc565b600280546001600160801b0319166001600160801b03929092169190911790556118f18261240e565b600480546001600160801b0319166001600160801b039290921691909117905561191a876119bc565b6002805460109061193c908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b5f8161131b565b5f61197c828461371e565b61157d9084613638565b6002546004545f916105a6916001600160801b0390911690600f0b612581565b5f61007d826119b68588886124bf565b906125a6565b5f6001600160801b0382111561134a57604051630f0af95160e11b815260040160405180910390fd5b5f8183116119f3578261157d565b50919050565b6006545f908190611a1b908490600160801b90046001600160801b0316611584565b6006546201000090046001600160701b03169250905081811115611b91575f611a448383613638565b9050611a536110fa8286612615565b60068054601090611a75908490600160801b90046001600160801b03166136bd565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611aad858361262990919063ffffffff16565b90505f611ada827f0000000000000000000000000000000000000000000000000000000000000000611584565b90508060095f828254611aed9190613496565b90915550611afd90508183613638565b9150611b08826119bc565b600280545f90611b229084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611b4f8261263d565b600480545f90611b63908490600f0b6136dd565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611ba28785612629565b91505f611bcf837f0000000000000000000000000000000000000000000000000000000000000000611584565b9050611bfb817f0000000000000000000000000000000000000000000000000000000000000000611584565b91508315611c1e57611c0d8282613638565b611c179084613638565b9250611c35565b611c288282613638565b611c329084613496565b92505b86861015611c5857611c488387896124bf565b9250611c558287896124bf565b91505b509550959350505050565b5f80611c7a84611c748a888a6124bf565b90612629565b9050611c878884866124bf565b611c919082613496565b905086811115611ca15786810391505b509695505050505050565b5f6001600160701b0382111561134a5760405163086b151760e11b815260040160405180910390fd5b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611d1f916001600160801b031690613638565b9050805f03611d3257600191505061131b565b5f611d3c85612666565b9050805f03611d505760019250505061131b565b5f80611d5d838589612701565b9150915080611d72575f94505050505061131b565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611dad9291906137af565b6040805180830381865af4158015611dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611deb9190613824565b91509150611e09611dfb82611321565b611e0490613846565b612875565b925082611e1e575f965050505050505061131b565b611e27826119bc565b600780545f90611e419084906001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611e6e816119bc565b60078054601090611e90908490600160801b90046001600160801b031661366b565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e611eeb87612a09565b6040518263ffffffff1660e01b8152600401611f079190613860565b6040805180830381865af4158015611f21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f45919061386f565b9150915080611f5a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b031691611fbf91613496565b611fc99190613638565b9050805f03611fdf57505f958695509350505050565b5f808711611fed575f611ff8565b611ff88488846124bf565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff8111156120295761202961389d565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612073578692505b828152825f602083013e90999098509650505050505050565b5f806120966105ab565b90508083116120a5575f6120af565b6120af8184613638565b915061157d827f0000000000000000000000000000000000000000000000000000000000000000612629565b5f80806120fb6120f388670de0b6b3a7640000613638565b899087612b43565b9050861561213d5761210d88886124ab565b915061212e8a8a846121278a670de0b6b3a7640000613638565b8989612b66565b925061213a8382613496565b90505b9750975097945050505050565b5f61216761216084670de0b6b3a7640000613638565b83906124ab565b61157d90670de0b6b3a7640000613638565b5f806121af85612187611986565b6121919190613496565b600254610fa9908790600160801b90046001600160801b0316613638565b909210949350505050565b5f80808061221087866122098b6122036121dc8c670de0b6b3a7640000613638565b7f0000000000000000000000000000000000000000000000000000000000000000906124ab565b906124ab565b9190612b43565b935061223c847f0000000000000000000000000000000000000000000000000000000000000000611584565b91505f61225c61225489670de0b6b3a7640000613638565b8a9088612b43565b9050612288817f00000000000000000000000000000000000000000000000000000000000000006124ab565b93506122b4847f0000000000000000000000000000000000000000000000000000000000000000611584565b6122be9084613496565b915050945094509450949050565b5f805f805f80888810156123385786156122ee576122eb8d898b6124bf565b9c505b6122f98c898b6124bf565b9b506123048b611321565b61230d8d611321565b61231791906134a9565b90506123248b898b6124bf565b9a506123318a898b6124bf565b9950612357565b6123418b611321565b61234a8d611321565b61235491906134a9565b90505b9b9c9a9b999a975050505050505050565b5f825f03612377575084612405565b81156123c9576123a861238a8487613496565b6123948587611584565b61239e888a611584565b611c749190613496565b90505f6123b585886119e5565b9050808210156123c3578091505b50612405565b8285036123d757505f612405565b6124026123e48487613638565b6123ee85876124ab565b6123f8888a611584565b611c749190613638565b90505b95945050505050565b5f60016001607f1b031982128061242b575060016001607f1b0382135b1561134a5760405163a5353be560e01b815260040160405180910390fd5b5f80612455845f612b88565b61245f845f612b88565b61246991906134a9565b90505f8113156124845761247d8186613496565b94506124a2565b5f8112156124a25761249581613846565b61249f9086613638565b94505b50929392505050565b5f61157d8383670de0b6b3a7640000612b43565b5f825f1904841183021582026124d3575f80fd5b5091020490565b5f60405163350b944160e11b815260040160405180910390fd5b6125286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168486612b9d565b50505050565b5f808061254e61254688670de0b6b3a7640000613638565b8990876124bf565b9050861561213d576125608888611584565b915061212e8a8a8461257a8a670de0b6b3a7640000613638565b8989612bf4565b5f8061258d8484612c04565b90925090508061259f5761259f6113ec565b5092915050565b5f815f036125bd5750670de0b6b3a764000061131b565b825f036125cb57505f61131b565b5f6125d583611321565b90505f6125e96125e486611321565b612c3f565b9050818102612600670de0b6b3a7640000826138b1565b905061260b81612e64565b9695505050505050565b5f61157d83670de0b6b3a764000084612b43565b5f61157d83670de0b6b3a7640000846124bf565b5f60016001607f1b0382111561134a5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612680906001600160801b031684612615565b90506126ac7f000000000000000000000000000000000000000000000000000000000000000082613496565b6002546001600160801b031611156119f3576002547f0000000000000000000000000000000000000000000000000000000000000000906126f79083906001600160801b0316613638565b61157d9190613638565b612709613389565b5f8061271484612a09565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b815260040161274e9190613860565b6040805180830381865af4158015612768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278c919061386f565b93509050826127a057505f915061286d9050565b5f6127c66127c184610160015185610140015161158490919063ffffffff16565b611321565b6127e66127c18561012001518661010001516124ab90919063ffffffff16565b6127f091906134a9565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765481830152606081018a9052608081018b905260a0810192909252845160c08301529284015160e08201529290910151610100830152509150600190505b935093915050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af415801561292b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061294f91906138dd565b93509350935093508061296a57505f98975050505050505050565b86841461299b5761297a846119bc565b600280546001600160801b0319166001600160801b03929092169190911790555b8583146129cc576129ab8361240e565b600480546001600160801b0319166001600160801b03929092169190911790555b8482146129fa576129dc826119bc565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612a116133d3565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612b099116612ff6565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612b3b92900416612ff6565b905292915050565b5f825f190484118302158202612b57575f80fd5b50910281810615159190040190565b5f80612b7688888888888861306a565b909250905080611ca157611ca16113ec565b5f818313612b96578161157d565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612bef908490613146565b505050565b5f80612b768888888888886131ac565b5f805f83612c1186611321565b612c1b91906134a9565b90505f811215612c31575f809250925050612c38565b9150600190505b9250929050565b5f808213612c605760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f19820190612ce39084901c611321565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e198213612e7d57505f919050565b680755bf798b4a1bf1e58212612ea6576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061260b74029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611321565b5f80670de0b6b3a76400006130096105ab565b61301391906136a6565b9050808311613022575f61302c565b61302c8184613638565b915061157d613063670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006136a6565b8390612629565b5f805f61307a8989888888613268565b905086881015613090575f80925092505061313b565b968690039661309f88876125a6565b9750878110156130b5575f80925092505061313b565b8781036130c3818688612b43565b9050670de0b6b3a764000081106130f7576130f06130e9670de0b6b3a764000089612615565b82906125a6565b905061310f565b61310c6130e9670de0b6b3a764000089612629565b90505b6131198186612615565b905089811015613130575f8093509350505061313b565b899003925060019150505b965096945050505050565b5f61315a6001600160a01b03841683613296565b905080515f1415801561317e57508080602001905181019061317c9190613910565b155b15612bef57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f6131bc8989888888613268565b90506131cc866119b6898b613496565b9750878110156131e2575f80925092505061313b565b8781036131f0818688612b43565b9050670de0b6b3a7640000811061321d576132166130e9670de0b6b3a764000089612615565b9050613235565b6132326130e9670de0b6b3a764000089612629565b90505b61323f8186612615565b9050808a1015613256575f8093509350505061313b565b90980398600198509650505050505050565b5f61327385856125a6565b61328c613284866119b6868b6124ab565b859085612b43565b6124029190613496565b606061157d83835f845f80856001600160a01b031684866040516132ba919061392b565b5f6040518083038185875af1925050503d805f81146132f4576040519150601f19603f3d011682016040523d82523d5f602084013e6132f9565b606091505b509150915061260b8683836060826133195761331482613360565b61157d565b815115801561333057506001600160a01b0384163b155b1561335957604051639996b31560e01b81526001600160a01b03851660048201526024016131a3565b508061157d565b8051156133705780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061339d6133d3565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f806080858703121561343b575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115613466575f80fd5b850160608188031215613477575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561131b5761131b613482565b8181035f83128015838313168383128216171561259f5761259f613482565b6001600160a01b0381168114610591575f80fd5b5f602082840312156134ec575f80fd5b813561157d816134c8565b8015158114610591575f80fd5b5f60208284031215613514575f80fd5b813561157d816134f7565b5f808335601e19843603018112613534575f80fd5b83018035915067ffffffffffffffff82111561354e575f80fd5b602001915036819003821315612c38575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f6135c360e083018486613562565b9a9950505050505050505050565b8082018281125f8312801582168215821617156135f0576135f0613482565b505092915050565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61362b60c083018486613562565b9998505050505050505050565b8181038181111561131b5761131b613482565b6001600160701b0381811683821601908082111561259f5761259f613482565b6001600160801b0381811683821601908082111561259f5761259f613482565b5f6020828403121561369b575f80fd5b815161157d816134c8565b808202811582820484141761131b5761131b613482565b6001600160801b0382811682821603908082111561259f5761259f613482565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561131b5761131b613482565b634e487b7160e01b5f52601260045260245ffd5b5f8261372c5761372c61370a565b500690565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a0820190506137c2828551613731565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613835575f80fd5b505080516020909101519092909150565b5f600160ff1b820161385a5761385a613482565b505f0390565b610180810161131b8284613731565b5f8060408385031215613880575f80fd5b825191506020830151613892816134f7565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f826138bf576138bf61370a565b600160ff1b82145f19841416156138d8576138d8613482565b500590565b5f805f80608085870312156138f0575f80fd5b8451935060208501519250604085015191506060850151613477816134f7565b5f60208284031215613920575f80fd5b815161157d816134f7565b5f82515f5b8181101561394a5760208186018101518583015201613930565b505f92019182525091905056fea26469706673582212200bbb33ae0b759a7054d31ea526e720fee72a9c86c609543d763cfc662221537a64736f6c63430008160033a2646970667358221220eea69ab4542df2a4ebdf329726f5e2ff19b958d58bd3d975076804cd97a3250764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget2.ts b/packages/hyperdrive-artifacts/src/StkWellTarget2.ts new file mode 100644 index 000000000..cec9f346c --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget2.ts @@ -0,0 +1,1010 @@ +export const StkWellTarget2 = { + name: 'StkWellTarget2' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "openLong", + "inputs": [ + { + "name": "_amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShort", + "inputs": [ + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSharePrice", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004196380380620041968339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613cfd620004995f395f50505f50505f610c2801525f50505f818160f9015281816103020152612d6501525f81816114c201528181611ced01528181611d50015281816124d7015281816129550152818161299101528181612b820152612d3f01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d1901525f61191701525f8181611a38015281816125c8015281816126400152612e7d01525f81816109a301528181610e370152818161141501528181611a0c015261261401525f8181610e16015281816125940152612e3901525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d8b01525f81816101d301528181610396015281816108e1015261340401525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161168b01528181611702015261177d01525f818161165e01526116bf0152613cfd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613798565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613798565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613806565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613806565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61382d565b8b611217565b8d8a8a898e8561023e602083018361382d565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613855565b8961028960408a018a613870565b60405161029c97969594939291906138db565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613806565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613806565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613806565b9350505f61042784898d61146b565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b8961149c565b5f6104706002886111e3565b90508c61048a82610484602084018461382d565b85611217565b858b868461049b602086018661382d565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613855565b6104ec896104e68a8d61391b565b90610683565b8d6104fa60408e018e613870565b60405161050e98979695949392919061392e565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361382d565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613855565b156105ea576105e0856105db6040870187613870565b61164f565b9093509050610602565b5034610602856105fd6040870187613870565b611770565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117aa565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117c5565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613806565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16117da565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b92505b5061083883611819565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61391b565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613806565b4290611846565b84610f13565b6108d58861185a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61391b565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119f7565b915091508060095f8282546109729190613806565b9091555061098d9050865f8461098781611ac4565b88611aed565b6109978183613806565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c64565b91506109db6109d68385610683565b611cad565b600680546002906109fc9084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611819565b60068054601090610a4b908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119f7565b915091508060095f828254610abe9190613806565b90915550610ad99050835f84610ad381611ac4565b8a611cd6565b610ae3818361391b565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611819565b60068054601090610b62908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611ac4565b610ba483611ac4565b610bae91906139b5565b5f611ec6565b8e610bbf8482611f05565b50505b5f610bcc846120f4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906139d4565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612236565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416117da565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122bc565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122e7565b61234b565b15610e6d57610e6d61238c565b610e79878588856123a5565b91965094509250670de0b6b3a7640000610efb610e968784613806565b600254610eb4908890600160801b90046001600160801b031661391b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b1115610f0957610f0961238c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611819565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661391b565b610fb991906139ef565b85670de0b6b3a7640000610fcd878a61391b565b610fd791906139ef565b8592919060016123ed565b611819565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611819565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866139ef565b6005546001600160801b031691908860016123ed565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611819565b600280545f906110d19084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611819565b60028054601090611120908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611819565b6111579082613995565b600380546001600160801b03808416600160801b02911617905590505f61117d83612491565b905061119b8161118c87611ac4565b6111969084613a26565b611ec6565b6111a4846124d1565b6111b0576111b061238c565b5f6111ba85612530565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613806565b90915550505f838152600b60205260408120805483929061126a908490613806565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6117da565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061253c565b93508761134d858961255c565b111561135b5761135b61238c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b93506113d58a670de0b6b3a7640000868c612570565b509193509091506113e89050818361391b565b6113f2908761391b565b95508861143f816114398d611407868c61391b565b8d611412878261267c565b877f0000000000000000000000000000000000000000000000000000000000000000612691565b9061255c565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126b1565b5f8161069a565b5f61147c6040830160208401613855565b15611488575082611495565b61149284846126d4565b90505b9392505050565b6002546001600160801b0316838110156114b8576114b861238c565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114f0908390600f0b6126e8565b10156114fe576114fe61238c565b60045461154890610fe290600160801b90046001600160801b031661152b670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908960016123ed565b600580546001600160801b03928316600160801b02921691909117905561156e81611819565b600280546001600160801b0319166001600160801b039290921691909117905561159785611819565b600280546010906115b9908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115e685611819565b60048054601090611608908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61163683612491565b905061119b8161164588611ac4565b61119690846139b5565b5f806116866001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308861270d565b6116e67f00000000000000000000000000000000000000000000000000000000000000006116b5876001613806565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061277a565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b15801561174b575f80fd5b505af115801561175d573d5f803e3d5ffd5b508794505f93505050505b935093915050565b6117a56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661270d565b505050565b5f825f1904841183021582026117be575f80fd5b5091020490565b5f6117d08284613a61565b610697908461391b565b6002546004545f916106cb916001600160801b0390911690600f0b6126e8565b5f6118108261180a8588886117aa565b90612809565b95945050505050565b5f6001600160801b0382111561184257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118545782610697565b50919050565b6006545f90819061187c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119f2575f6118a5838361391b565b90506118b4610fe28286611450565b600680546010906118d6908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61190e85836126d490919063ffffffff16565b90505f61193b827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461194e9190613806565b9091555061195e9050818361391b565b915061196982611819565b600280545f906119839084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119b08261286e565b600480545f906119c4908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a0387856126d4565b91505f611a30837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a5c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a7f57611a6e828261391b565b611a78908461391b565b9250611a96565b611a89828261391b565b611a939084613806565b92505b86861015611ab957611aa98387896117aa565b9250611ab68287896117aa565b91505b509550959350505050565b5f6001600160ff1b038211156118425760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b35610fe282611b19670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908a5f6123ed565b600580546001600160801b03928316600160801b029216919091179055611b5b86611819565b611b659082613a06565b600480546001600160801b03928316600160801b029216919091179055611b8b84611819565b600280545f90611ba59084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd283612897565b600480545f90611be6908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c1685611819565b60028054601090611c38908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c7b84611c758a888a6117aa565b906126d4565b9050611c888884866117aa565b611c929082613806565b905086811115611ca25786810391505b509695505050505050565b5f6001600160701b038211156118425760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d1857507f0000000000000000000000000000000000000000000000000000000000000000611d16858361391b565b105b15611d2557611d2561238c565b6004549084900390600f0b611d3a84826139b5565b905083611d4686611ac4565b138015611d7b57507f0000000000000000000000000000000000000000000000000000000000000000611d7983836126e8565b105b15611d8857611d8861238c565b600354600160801b90046001600160801b0316611dc9610fe282611db4670de0b6b3a7640000886139ef565b6005546001600160801b031691908c5f6123ed565b600580546001600160801b0319166001600160801b0392909216919091179055611df3888261391b565b9050611dfe81611819565b600380546001600160801b03928316600160801b029216919091179055611e2483611819565b600280546001600160801b0319166001600160801b0392909216919091179055611e4d82612897565b600480546001600160801b0319166001600160801b0392909216919091179055611e7687611819565b60028054601090611e98908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ee190610fe2906001600160801b031684846128d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f4f916001600160801b03169061391b565b9050805f03611f6257600191505061069a565b5f611f6c85612934565b9050805f03611f805760019250505061069a565b5f80611f8d8385896129cf565b9150915080611fa2575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fdd929190613b1f565b6040805180830381865af4158015611ff7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201b9190613b94565b9150915061203961202b82611ac4565b61203490613bb6565b612b3c565b92508261204e575f965050505050505061069a565b61205782611819565b600780545f906120719084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061209e81611819565b600780546010906120c0908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61211b87612cd0565b6040518263ffffffff1660e01b81526004016121379190613bd0565b6040805180830381865af4158015612151573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121759190613bdf565b915091508061218a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121ef91613806565b6121f9919061391b565b9050805f0361220f57505f958695509350505050565b5f80871161221d575f612228565b6122288488846117aa565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561225957612259613c0d565b6040519080825280601f01601f191660200182016040528015612283576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122a3578692505b828152825f602083013e90999098509650505050505050565b5f6122dc8787876122d588670de0b6b3a764000061391b565b8787612e0a565b979650505050505050565b5f61149261232761230084670de0b6b3a764000061391b565b611439670de0b6b3a7640000612316818a611450565b612320919061391b565b879061255c565b61233990670de0b6b3a7640000613806565b611c7584670de0b6b3a764000061391b565b5f80612381856123596117da565b6123639190613806565b600254610eb4908790600160801b90046001600160801b031661391b565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123b5898789612e2c565b90925090506123c4828961391b565b97505f6123d282888a6117aa565b90506123de818b61391b565b9a989950979650505050505050565b5f825f036123fc575084611810565b811561244e5761242d61240f8487613806565b6124198587610683565b612423888a610683565b611c759190613806565b90505f61243a8588611846565b905080821015612448578091505b50611810565b82850361245c57505f611810565b612487612469848761391b565b612473858761255c565b61247d888a610683565b611c75919061391b565b9695505050505050565b5f6124b6600b5f6124a36002866111e3565b81526020019081526020015f2054611ac4565b6124c7600b5f6124a36001876111e3565b61069a91906139b5565b5f6124fc7f00000000000000000000000000000000000000000000000000000000000000008361255c565b60035461251291906001600160801b0316613806565b600254612528906001600160801b031684610683565b101592915050565b5f61069a826004611f05565b5f6122dc87878761255588670de0b6b3a764000061391b565b8787612eab565b5f6106978383670de0b6b3a76400006126b1565b5f8080806125c087866125b98b6114396125928c670de0b6b3a764000061391b565b7f00000000000000000000000000000000000000000000000000000000000000009061255c565b91906126b1565b93506125ec847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61260c61260489670de0b6b3a764000061391b565b8a90886126b1565b9050612638817f000000000000000000000000000000000000000000000000000000000000000061255c565b9350612664847f0000000000000000000000000000000000000000000000000000000000000000610683565b61266e9084613806565b915050945094509450949050565b5f81831161268a5781610697565b5090919050565b5f806126a8846126a28a888a6126b1565b90611450565b9050611c888884865b5f825f1904841183021582026126c5575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117aa565b5f806126f48484612ebb565b9092509050806127065761270661238c565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127749186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612ef3565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526127cb8482612f59565b612774576040516001600160a01b0384811660248301525f60448301526127ff91869182169063095ea7b390606401612742565b6127748482612ef3565b5f815f036128205750670de0b6b3a764000061069a565b825f0361282e57505f61069a565b5f61283883611ac4565b90505f61284c61284786611ac4565b612ff6565b9050818102612863670de0b6b3a764000082613c21565b90506124878161321b565b5f60016001607f1b038211156118425760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b4575060016001607f1b0382135b156118425760405163a5353be560e01b815260040160405180910390fd5b5f806128de845f6133ad565b6128e8845f6133ad565b6128f291906139b5565b90505f81131561290d576129068186613806565b945061292b565b5f81121561292b5761291e81613bb6565b612928908661391b565b94505b50929392505050565b6003545f90819061294e906001600160801b031684611450565b905061297a7f000000000000000000000000000000000000000000000000000000000000000082613806565b6002546001600160801b03161115611854576002547f0000000000000000000000000000000000000000000000000000000000000000906129c59083906001600160801b031661391b565b611495919061391b565b6129d76136f9565b5f806129e284612cd0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a1c9190613bd0565b6040805180830381865af4158015612a36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5a9190613bdf565b9350905082612a6e57505f91506117689050565b5f612a94612a8f84610160015185610140015161068390919063ffffffff16565b611ac4565b612ab4612a8f85610120015186610100015161255c90919063ffffffff16565b612abe91906139b5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c169190613c4d565b935093509350935080612c3157505f98975050505050505050565b868414612c6257612c4184611819565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9357612c7283612897565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612cc157612ca382611819565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cd8613743565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612dd091166133bb565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e02929004166133bb565b905292915050565b5f80612e1a88888888888861342f565b909250905080611ca257611ca261238c565b5f80612e758561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e6b818c611450565b611439919061391b565b9150612ea1827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e1a8888888888886134f3565b5f805f83612ec886611ac4565b612ed291906139b5565b90505f811215612ee8575f80925092505061067c565b946001945092505050565b5f612f076001600160a01b038416836135af565b905080515f14158015612f2b575080806020019051810190612f299190613c80565b155b156117a557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b031684604051612f749190613c9b565b5f604051808303815f865af19150503d805f8114612fad576040519150601f19603f3d011682016040523d82523d5f602084013e612fb2565b606091505b5091509150818015612fdc575080511580612fdc575080806020019051810190612fdc9190613c80565b80156118105750505050506001600160a01b03163b151590565b5f8082136130175760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309a9084901c611ac4565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323457505f919050565b680755bf798b4a1bf1e5821261325d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061248774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ac4565b5f81831361268a5781610697565b5f80670de0b6b3a76400006133ce6106a0565b6133d891906139ef565b90508083116133e7575f6133f1565b6133f1818461391b565b9150611495613428670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139ef565b83906126d4565b5f805f61343f89898888886135bc565b90506134598661180a6134528a8d613806565b8790610683565b9850613466858a866117aa565b98508881101561347c575f8092509250506134e8565b888103670de0b6b3a764000081106134b1576134aa6134a3670de0b6b3a764000089611450565b8290612809565b90506134c9565b6134c66134a3670de0b6b3a7640000896126d4565b90505b808910156134de575f809350935050506134e8565b8803925060019150505b965096945050505050565b5f805f61350389898888886135bc565b90506135138661180a898b613806565b975087811015613529575f8092509250506134e8565b8781036135378186886126b1565b9050670de0b6b3a764000081106135645761355d6134a3670de0b6b3a764000089611450565b905061357c565b6135796134a3670de0b6b3a7640000896126d4565b90505b6135868186611450565b9050808a101561359d575f809350935050506134e8565b90980398600198509650505050505050565b606061069783835f6135ea565b5f6135c78585612809565b6135e06135d88661180a868b61255c565b8590856126b1565b6124879190613806565b60608147101561360f5760405163cd78605960e01b8152306004820152602401612f50565b5f80856001600160a01b0316848660405161362a9190613c9b565b5f6040518083038185875af1925050503d805f8114613664576040519150601f19603f3d011682016040523d82523d5f602084013e613669565b606091505b509150915061248786838360608261368957613684826136d0565b611495565b81511580156136a057506001600160a01b0384163b155b156136c957604051639996b31560e01b81526001600160a01b0385166004820152602401612f50565b5080611495565b8051156136e05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061370d613743565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137ab575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156137d6575f80fd5b8501606081880312156137e7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6137f2565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561383d575f80fd5b813561149581613819565b80151581146105af575f80fd5b5f60208284031215613865575f80fd5b813561149581613848565b5f808335601e19843603018112613885575f80fd5b83018035915067ffffffffffffffff82111561389f575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61390e60c0830184866138b3565b9998505050505050505050565b8181038181111561069a5761069a6137f2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61396760e0830184866138b3565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612706576127066137f2565b6001600160801b03818116838216019080821115612706576127066137f2565b8181035f831280158383131683831282161715612706576127066137f2565b5f602082840312156139e4575f80fd5b815161149581613819565b808202811582820484141761069a5761069a6137f2565b6001600160801b03828116828216039080821115612706576127066137f2565b8082018281125f831280158216821582161715613a4557613a456137f2565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6f57613a6f613a4d565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6137f2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b32828551613aa1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137f2565b505f0390565b610180810161069a8284613aa1565b5f8060408385031215613bf0575f80fd5b825191506020830151613c0281613848565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c2f57613c2f613a4d565b600160ff1b82145f1984141615613c4857613c486137f2565b500590565b5f805f8060808587031215613c60575f80fd5b84519350602085015192506040850151915060608501516137e781613848565b5f60208284031215613c90575f80fd5b815161149581613848565b5f82515f5b81811015613cba5760208186018101518583015201613ca0565b505f92019182525091905056fea26469706673582212202f3840ca9d2d251a546a9a39da85edafecb5271f52281acf5358c2b703b8b7fb64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "openLong(uint256,uint256,uint256,(address,bool,bytes))": "cba2e58d", + "openShort(uint256,uint256,uint256,(address,bool,bytes))": "dbbe8070" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget2Deployer.ts b/packages/hyperdrive-artifacts/src/StkWellTarget2Deployer.ts new file mode 100644 index 000000000..f48d5d6fe --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget2Deployer.ts @@ -0,0 +1,147 @@ +export const StkWellTarget2Deployer = { + name: 'StkWellTarget2Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061466e8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614196806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004196380380620041968339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613cfd620004995f395f50505f50505f610c2801525f50505f818160f9015281816103020152612d6501525f81816114c201528181611ced01528181611d50015281816124d7015281816129550152818161299101528181612b820152612d3f01525f81816107e601528181610d8201528181610dc401528181610eb60152818161131c0152818161137a0152612d1901525f61191701525f8181611a38015281816125c8015281816126400152612e7d01525f81816109a301528181610e370152818161141501528181611a0c015261261401525f8181610e16015281816125940152612e3901525f818161080701528181610d6001528181610de501528181610ed7015281816112fa0152818161139b0152612d8b01525f81816101d301528181610396015281816108e1015261340401525f81816106a7015281816107230152818161079701528181610862015261089a01525f818161168b01528181611702015261177d01525f818161165e01526116bf0152613cfd5ff3fe608060405260043610610028575f3560e01c8063cba2e58d1461002c578063dbbe807014610058575b5f80fd5b61003f61003a366004613798565b61006b565b6040805192835260208301919091520160405180910390f35b61003f610066366004613798565b610087565b5f8061007986868686610095565b915091505b94509492505050565b5f80610079868686866102bc565b5f8061009f610531565b600654610100900460ff16156100c8576040516321081abf60e01b815260040160405180910390fd5b6100d0610559565b6100d98361057a565b5f806100e588866105b2565b90925090505f6100f58383610683565b90507f00000000000000000000000000000000000000000000000000000000000000008110156101385760405163211ddda360e11b815260040160405180910390fd5b86821015610159576040516342af972b60e01b815260040160405180910390fd5b5f6101626106a0565b90506101728184600460016106d0565b505f805f6101808787610d34565b919a5091945090925090508b8810156101ac5760405163c972651760e01b815260040160405180910390fd5b8160095f8282546101bd9190613806565b909155506101ce9050844283610f13565b6101f87f000000000000000000000000000000000000000000000000000000000000000085613806565b98506102068389888c61104c565b5f61021260018b6111e3565b905061022b8161022560208e018e61382d565b8b611217565b8d8a8a898e8561023e602083018361382d565b6001600160a01b03167f7fc9757758f4c7f2eb9f011c4500beb349847d2f2acbdd5ffce3e2f01e79903a86888661027b6040880160208901613855565b8961028960408a018a613870565b60405161029c97969594939291906138db565b60405180910390a350909b50505050505050505050505061007e60015f55565b5f806102c6610531565b600654610100900460ff16156102ef576040516321081abf60e01b815260040160405180910390fd5b6102f7610559565b6103008361057a565b7f00000000000000000000000000000000000000000000000000000000000000008610156103415760405163211ddda360e11b815260040160405180910390fd5b5f61034a6112bc565b90508481101561036d576040516342af972b60e01b815260040160405180910390fd5b5f6103766106a0565b90505f61038e6103846106a0565b84600460016106d0565b90505f6103bb7f000000000000000000000000000000000000000000000000000000000000000084613806565b90505f805f806103cc8e89886112ce565b60098054949850929650909450925083915f906103ea908490613806565b909155506103fb9050874283610f13565b61040d610408858a611450565b611464565b610418906001613806565b9350505f61042784898d61146b565b9050808d101561044a5760405163c972651760e01b815260040160405180910390fd5b610454818c6105b2565b508e905061046481858b8961149c565b5f6104706002886111e3565b90508c61048a82610484602084018461382d565b85611217565b858b868461049b602086018661382d565b6001600160a01b03167ffa6dd2e3e152dbc3fe91196c0b8aa871c26fd7a1d07de126ec3159fd4ede2c758d8a866104d860408b0160208c01613855565b6104ec896104e68a8d61391b565b90610683565b8d6104fa60408e018e613870565b60405161050e98979695949392919061392e565b60405180910390a350989d50939b50505050505050505050505061007e60015f55565b60025f540361055357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b341561057857604051631574f9f360e01b815260040160405180910390fd5b565b5f610588602083018361382d565b6001600160a01b0316036105af5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b815f806105c56040850160208601613855565b156105ea576105e0856105db6040870187613870565b61164f565b9093509050610602565b5034610602856105fd6040870187613870565b611770565b61060a6112bc565b9150801561067a576040515f90339083908381818185875af1925050503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b5050905080610678576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f6106978383670de0b6b3a76400006117aa565b90505b92915050565b5f6106cb427f00000000000000000000000000000000000000000000000000000000000000006117c5565b905090565b5f84815260086020526040812060018101546001600160801b03161515806106f757504286115b1561071057600101546001600160801b03169050610d2c565b5f805f61071b6106a0565b90505f6107487f00000000000000000000000000000000000000000000000000000000000000008b613806565b90505b818110156107bc575f818152600860205260409020600101546001600160801b03168015610794575f828152600860205260409020549094506001600160801b031692506107bc565b507f00000000000000000000000000000000000000000000000000000000000000000161074b565b835f0361082e5788935061082b6107d16117da565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b92505b5061083883611819565b6001850180546001600160801b0319166001600160801b039290921691909117905561088e6108877f00000000000000000000000000000000000000000000000000000000000000008b61391b565b8a84610f13565b6108cc896108c66108bf7f000000000000000000000000000000000000000000000000000000000000000083613806565b4290611846565b84610f13565b6108d58861185a565b505f90506008816109067f00000000000000000000000000000000000000000000000000000000000000008d61391b565b815260208101919091526040015f908120600101546001600160801b0316915061093160028c6111e3565b5f818152600b60205260408120549192508c8c8315610a7257600192505f8061095d86898d865f6119f7565b915091508060095f8282546109729190613806565b9091555061098d9050865f8461098781611ac4565b88611aed565b6109978183613806565b91506109c786838a8e877f0000000000000000000000000000000000000000000000000000000000000000611c64565b91506109db6109d68385610683565b611cad565b600680546002906109fc9084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610a2982611819565b60068054601090610a4b908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f610a7e6001846111e3565b5f818152600b60205260409020549091508015610b8957600194505f80610aa9838b8f8860016119f7565b915091508060095f828254610abe9190613806565b90915550610ad99050835f84610ad381611ac4565b8a611cd6565b610ae3818361391b565b9150610af26109d68387610683565b60068054600290610b139084906201000090046001600160701b0316613975565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610b4082611819565b60068054601090610b62908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b8415610bc257610bb4610b9b87611ac4565b610ba483611ac4565b610bae91906139b5565b5f611ec6565b8e610bbf8482611f05565b50505b5f610bcc846120f4565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca691906139d4565b90506001600160a01b03811615610d1a57610d175a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190612236565b50505b509b9d50505050505050505050505050505b949350505050565b5f805f805f610d416117da565b600254909150610da6908290600160801b90046001600160801b0316897f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000006122bc565b600254909450610e09908290600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b9150610e608785610e5b857f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006122e7565b61234b565b15610e6d57610e6d61238c565b610e79878588856123a5565b91965094509250670de0b6b3a7640000610efb610e968784613806565b600254610eb4908890600160801b90046001600160801b031661391b565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b1115610f0957610f0961238c565b5092959194509250565b5f83815260086020526040902054600160801b90046001600160801b0316808303610f3e5750505050565b5f848152600860205260408120546001600160801b031690819003610f9657610f6683611819565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611013565b610fe7610fe2670de0b6b3a7640000610faf888661391b565b610fb991906139ef565b85670de0b6b3a7640000610fcd878a61391b565b610fd791906139ef565b8592919060016123ed565b611819565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61101c84611819565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b600354600160801b90046001600160801b031661108e610fe282611078670de0b6b3a7640000866139ef565b6005546001600160801b031691908860016123ed565b600580546001600160801b0319166001600160801b03929092169190911790556110b785611819565b600280545f906110d19084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506110fe84611819565b60028054601090611120908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061114d84611819565b6111579082613995565b600380546001600160801b03808416600160801b02911617905590505f61117d83612491565b905061119b8161118c87611ac4565b6111969084613a26565b611ec6565b6111a4846124d1565b6111b0576111b061238c565b5f6111ba85612530565b9050806111da57604051638bdf918d60e01b815260040160405180910390fd5b50505050505050565b5f6001600160f81b0382111561120c5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611248908490613806565b90915550505f838152600b60205260408120805483929061126a908490613806565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6106cb670de0b6b3a7640000611464565b5f805f805f6112db6117da565b600254909150611340908290600160801b90046001600160801b03168a7f00000000000000000000000000000000000000000000000000000000000000008b7f000000000000000000000000000000000000000000000000000000000000000061253c565b93508761134d858961255c565b111561135b5761135b61238c565b6002545f9081906113bf908490600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006117fa565b93506113d58a670de0b6b3a7640000868c612570565b509193509091506113e89050818361391b565b6113f2908761391b565b95508861143f816114398d611407868c61391b565b8d611412878261267c565b877f0000000000000000000000000000000000000000000000000000000000000000612691565b9061255c565b975090945050505093509350935093565b5f61069783670de0b6b3a7640000846126b1565b5f8161069a565b5f61147c6040830160208401613855565b15611488575082611495565b61149284846126d4565b90505b9392505050565b6002546001600160801b0316838110156114b8576114b861238c565b60045490849003907f0000000000000000000000000000000000000000000000000000000000000000906114f0908390600f0b6126e8565b10156114fe576114fe61238c565b60045461154890610fe290600160801b90046001600160801b031661152b670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908960016123ed565b600580546001600160801b03928316600160801b02921691909117905561156e81611819565b600280546001600160801b0319166001600160801b039290921691909117905561159785611819565b600280546010906115b9908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506115e685611819565b60048054601090611608908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61163683612491565b905061119b8161164588611ac4565b61119690846139b5565b5f806116866001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308861270d565b6116e67f00000000000000000000000000000000000000000000000000000000000000006116b5876001613806565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061277a565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b15801561174b575f80fd5b505af115801561175d573d5f803e3d5ffd5b508794505f93505050505b935093915050565b6117a56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661270d565b505050565b5f825f1904841183021582026117be575f80fd5b5091020490565b5f6117d08284613a61565b610697908461391b565b6002546004545f916106cb916001600160801b0390911690600f0b6126e8565b5f6118108261180a8588886117aa565b90612809565b95945050505050565b5f6001600160801b0382111561184257604051630f0af95160e11b815260040160405180910390fd5b5090565b5f8183116118545782610697565b50919050565b6006545f90819061187c908490600160801b90046001600160801b0316610683565b6006546201000090046001600160701b031692509050818111156119f2575f6118a5838361391b565b90506118b4610fe28286611450565b600680546010906118d6908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61190e85836126d490919063ffffffff16565b90505f61193b827f0000000000000000000000000000000000000000000000000000000000000000610683565b90508060095f82825461194e9190613806565b9091555061195e9050818361391b565b915061196982611819565b600280545f906119839084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506119b08261286e565b600480545f906119c4908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f80611a0387856126d4565b91505f611a30837f0000000000000000000000000000000000000000000000000000000000000000610683565b9050611a5c817f0000000000000000000000000000000000000000000000000000000000000000610683565b91508315611a7f57611a6e828261391b565b611a78908461391b565b9250611a96565b611a89828261391b565b611a939084613806565b92505b86861015611ab957611aa98387896117aa565b9250611ab68287896117aa565b91505b509550959350505050565b5f6001600160ff1b038211156118425760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b0316611b35610fe282611b19670de0b6b3a7640000866139ef565b600554600160801b90046001600160801b031691908a5f6123ed565b600580546001600160801b03928316600160801b029216919091179055611b5b86611819565b611b659082613a06565b600480546001600160801b03928316600160801b029216919091179055611b8b84611819565b600280545f90611ba59084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611bd283612897565b600480545f90611be6908490600f0b613a74565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611c1685611819565b60028054601090611c38908490600160801b90046001600160801b0316613a06565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f80611c7b84611c758a888a6117aa565b906126d4565b9050611c888884866117aa565b611c929082613806565b905086811115611ca25786810391505b509695505050505050565b5f6001600160701b038211156118425760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b031683811080611d1857507f0000000000000000000000000000000000000000000000000000000000000000611d16858361391b565b105b15611d2557611d2561238c565b6004549084900390600f0b611d3a84826139b5565b905083611d4686611ac4565b138015611d7b57507f0000000000000000000000000000000000000000000000000000000000000000611d7983836126e8565b105b15611d8857611d8861238c565b600354600160801b90046001600160801b0316611dc9610fe282611db4670de0b6b3a7640000886139ef565b6005546001600160801b031691908c5f6123ed565b600580546001600160801b0319166001600160801b0392909216919091179055611df3888261391b565b9050611dfe81611819565b600380546001600160801b03928316600160801b029216919091179055611e2483611819565b600280546001600160801b0319166001600160801b0392909216919091179055611e4d82612897565b600480546001600160801b0319166001600160801b0392909216919091179055611e7687611819565b60028054601090611e98908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b600354611ee190610fe2906001600160801b031684846128d2565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291611f4f916001600160801b03169061391b565b9050805f03611f6257600191505061069a565b5f611f6c85612934565b9050805f03611f805760019250505061069a565b5f80611f8d8385896129cf565b9150915080611fa2575f94505050505061069a565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401611fdd929190613b1f565b6040805180830381865af4158015611ff7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201b9190613b94565b9150915061203961202b82611ac4565b61203490613bb6565b612b3c565b92508261204e575f965050505050505061069a565b61205782611819565b600780545f906120719084906001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061209e81611819565b600780546010906120c0908490600160801b90046001600160801b0316613995565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e61211b87612cd0565b6040518263ffffffff1660e01b81526004016121379190613bd0565b6040805180830381865af4158015612151573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121759190613bdf565b915091508061218a57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916121ef91613806565b6121f9919061391b565b9050805f0361220f57505f958695509350505050565b5f80871161221d575f612228565b6122288488846117aa565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561225957612259613c0d565b6040519080825280601f01601f191660200182016040528015612283576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156122a3578692505b828152825f602083013e90999098509650505050505050565b5f6122dc8787876122d588670de0b6b3a764000061391b565b8787612e0a565b979650505050505050565b5f61149261232761230084670de0b6b3a764000061391b565b611439670de0b6b3a7640000612316818a611450565b612320919061391b565b879061255c565b61233990670de0b6b3a7640000613806565b611c7584670de0b6b3a764000061391b565b5f80612381856123596117da565b6123639190613806565b600254610eb4908790600160801b90046001600160801b031661391b565b909210949350505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f805f805f6123b5898789612e2c565b90925090506123c4828961391b565b97505f6123d282888a6117aa565b90506123de818b61391b565b9a989950979650505050505050565b5f825f036123fc575084611810565b811561244e5761242d61240f8487613806565b6124198587610683565b612423888a610683565b611c759190613806565b90505f61243a8588611846565b905080821015612448578091505b50611810565b82850361245c57505f611810565b612487612469848761391b565b612473858761255c565b61247d888a610683565b611c75919061391b565b9695505050505050565b5f6124b6600b5f6124a36002866111e3565b81526020019081526020015f2054611ac4565b6124c7600b5f6124a36001876111e3565b61069a91906139b5565b5f6124fc7f00000000000000000000000000000000000000000000000000000000000000008361255c565b60035461251291906001600160801b0316613806565b600254612528906001600160801b031684610683565b101592915050565b5f61069a826004611f05565b5f6122dc87878761255588670de0b6b3a764000061391b565b8787612eab565b5f6106978383670de0b6b3a76400006126b1565b5f8080806125c087866125b98b6114396125928c670de0b6b3a764000061391b565b7f00000000000000000000000000000000000000000000000000000000000000009061255c565b91906126b1565b93506125ec847f0000000000000000000000000000000000000000000000000000000000000000610683565b91505f61260c61260489670de0b6b3a764000061391b565b8a90886126b1565b9050612638817f000000000000000000000000000000000000000000000000000000000000000061255c565b9350612664847f0000000000000000000000000000000000000000000000000000000000000000610683565b61266e9084613806565b915050945094509450949050565b5f81831161268a5781610697565b5090919050565b5f806126a8846126a28a888a6126b1565b90611450565b9050611c888884865b5f825f1904841183021582026126c5575f80fd5b50910281810615159190040190565b5f61069783670de0b6b3a7640000846117aa565b5f806126f48484612ebb565b9092509050806127065761270661238c565b5092915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526127749186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612ef3565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526127cb8482612f59565b612774576040516001600160a01b0384811660248301525f60448301526127ff91869182169063095ea7b390606401612742565b6127748482612ef3565b5f815f036128205750670de0b6b3a764000061069a565b825f0361282e57505f61069a565b5f61283883611ac4565b90505f61284c61284786611ac4565b612ff6565b9050818102612863670de0b6b3a764000082613c21565b90506124878161321b565b5f60016001607f1b038211156118425760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b03198212806128b4575060016001607f1b0382135b156118425760405163a5353be560e01b815260040160405180910390fd5b5f806128de845f6133ad565b6128e8845f6133ad565b6128f291906139b5565b90505f81131561290d576129068186613806565b945061292b565b5f81121561292b5761291e81613bb6565b612928908661391b565b94505b50929392505050565b6003545f90819061294e906001600160801b031684611450565b905061297a7f000000000000000000000000000000000000000000000000000000000000000082613806565b6002546001600160801b03161115611854576002547f0000000000000000000000000000000000000000000000000000000000000000906129c59083906001600160801b031661391b565b611495919061391b565b6129d76136f9565b5f806129e284612cd0565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612a1c9190613bd0565b6040805180830381865af4158015612a36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5a9190613bdf565b9350905082612a6e57505f91506117689050565b5f612a94612a8f84610160015185610140015161068390919063ffffffff16565b611ac4565b612ab4612a8f85610120015186610100015161255c90919063ffffffff16565b612abe91906139b5565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612bf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c169190613c4d565b935093509350935080612c3157505f98975050505050505050565b868414612c6257612c4184611819565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612c9357612c7283612897565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612cc157612ca382611819565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b612cd8613743565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191612dd091166133bb565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192612e02929004166133bb565b905292915050565b5f80612e1a88888888888861342f565b909250905080611ca257611ca261238c565b5f80612e758561143985817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000612e6b818c611450565b611439919061391b565b9150612ea1827f0000000000000000000000000000000000000000000000000000000000000000610683565b9050935093915050565b5f80612e1a8888888888886134f3565b5f805f83612ec886611ac4565b612ed291906139b5565b90505f811215612ee8575f80925092505061067c565b946001945092505050565b5f612f076001600160a01b038416836135af565b905080515f14158015612f2b575080806020019051810190612f299190613c80565b155b156117a557604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b031684604051612f749190613c9b565b5f604051808303815f865af19150503d805f8114612fad576040519150601f19603f3d011682016040523d82523d5f602084013e612fb2565b606091505b5091509150818015612fdc575080511580612fdc575080806020019051810190612fdc9190613c80565b80156118105750505050506001600160a01b03163b151590565b5f8082136130175760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061309a9084901c611ac4565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361323457505f919050565b680755bf798b4a1bf1e5821261325d576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061248774029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611ac4565b5f81831361268a5781610697565b5f80670de0b6b3a76400006133ce6106a0565b6133d891906139ef565b90508083116133e7575f6133f1565b6133f1818461391b565b9150611495613428670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006139ef565b83906126d4565b5f805f61343f89898888886135bc565b90506134598661180a6134528a8d613806565b8790610683565b9850613466858a866117aa565b98508881101561347c575f8092509250506134e8565b888103670de0b6b3a764000081106134b1576134aa6134a3670de0b6b3a764000089611450565b8290612809565b90506134c9565b6134c66134a3670de0b6b3a7640000896126d4565b90505b808910156134de575f809350935050506134e8565b8803925060019150505b965096945050505050565b5f805f61350389898888886135bc565b90506135138661180a898b613806565b975087811015613529575f8092509250506134e8565b8781036135378186886126b1565b9050670de0b6b3a764000081106135645761355d6134a3670de0b6b3a764000089611450565b905061357c565b6135796134a3670de0b6b3a7640000896126d4565b90505b6135868186611450565b9050808a101561359d575f809350935050506134e8565b90980398600198509650505050505050565b606061069783835f6135ea565b5f6135c78585612809565b6135e06135d88661180a868b61255c565b8590856126b1565b6124879190613806565b60608147101561360f5760405163cd78605960e01b8152306004820152602401612f50565b5f80856001600160a01b0316848660405161362a9190613c9b565b5f6040518083038185875af1925050503d805f8114613664576040519150601f19603f3d011682016040523d82523d5f602084013e613669565b606091505b509150915061248786838360608261368957613684826136d0565b611495565b81511580156136a057506001600160a01b0384163b155b156136c957604051639996b31560e01b81526001600160a01b0385166004820152602401612f50565b5080611495565b8051156136e05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061370d613743565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f80608085870312156137ab575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff8111156137d6575f80fd5b8501606081880312156137e7575f80fd5b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069a5761069a6137f2565b6001600160a01b03811681146105af575f80fd5b5f6020828403121561383d575f80fd5b813561149581613819565b80151581146105af575f80fd5b5f60208284031215613865575f80fd5b813561149581613848565b5f808335601e19843603018112613885575f80fd5b83018035915067ffffffffffffffff82111561389f575f80fd5b60200191503681900382131561067c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b878152866020820152856040820152841515606082015283608082015260c060a08201525f61390e60c0830184866138b3565b9998505050505050505050565b8181038181111561069a5761069a6137f2565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f61396760e0830184866138b3565b9a9950505050505050505050565b6001600160701b03818116838216019080821115612706576127066137f2565b6001600160801b03818116838216019080821115612706576127066137f2565b8181035f831280158383131683831282161715612706576127066137f2565b5f602082840312156139e4575f80fd5b815161149581613819565b808202811582820484141761069a5761069a6137f2565b6001600160801b03828116828216039080821115612706576127066137f2565b8082018281125f831280158216821582161715613a4557613a456137f2565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a6f57613a6f613a4d565b500690565b600f81810b9083900b0160016001607f1b03811360016001607f1b03198212171561069a5761069a6137f2565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050613b32828551613aa1565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613ba5575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613bca57613bca6137f2565b505f0390565b610180810161069a8284613aa1565b5f8060408385031215613bf0575f80fd5b825191506020830151613c0281613848565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82613c2f57613c2f613a4d565b600160ff1b82145f1984141615613c4857613c486137f2565b500590565b5f805f8060808587031215613c60575f80fd5b84519350602085015192506040850151915060608501516137e781613848565b5f60208284031215613c90575f80fd5b815161149581613848565b5f82515f5b81811015613cba5760208186018101518583015201613ca0565b505f92019182525091905056fea26469706673582212202f3840ca9d2d251a546a9a39da85edafecb5271f52281acf5358c2b703b8b7fb64736f6c63430008160033a2646970667358221220ee671d51aafb887f4f7b33a56fcd9256ed56e88cc666cb3689e4c98fe5cd8e4664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget3.ts b/packages/hyperdrive-artifacts/src/StkWellTarget3.ts new file mode 100644 index 000000000..a5cddd4f0 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget3.ts @@ -0,0 +1,1030 @@ +export const StkWellTarget3 = { + name: 'StkWellTarget3' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_contribution", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_apr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "BelowMinimumContribution", + "inputs": [] + }, + { + "type": "error", + "name": "CircuitBreakerTriggered", + "inputs": [] + }, + { + "type": "error", + "name": "DecreasedPresentValueWhenAddingLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "DistributeExcessIdleFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidApr", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEffectiveShareReserves", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PoolIsPaused", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UpdateLiquidityFailed", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162004119380380620041198339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c6f620004aa5f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120c101528181612124015281816129cd01528181612d9e0152612dda01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cd201525f8181611e27015261302901525f81816110260152611dfb01525f612fdf01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261296301525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f8181611988015281816119ff0152611a7a01525f818161195b01526119bc0152613c6f5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046136c8565b610064565b60405190815260200160405180910390f35b61003f61005f366004613727565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613787565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961379a565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613787565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261379a565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061379a565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613787565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161382b565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061383a565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161382b565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061383a565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761379a565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613865565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613787565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613865565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161388d565b866107a960408c018c6138a8565b6040516107bc97969594939291906138eb565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261393e565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613955565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613865565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613865565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161388d565b87610b5e60408901896138a8565b604051610b7197969594939291906138eb565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613865565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161388d565b15610c8f57610c8585610c8060408701876138a8565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138a8565b611a6d565b610caf611aa7565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ab9565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613787565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61379a565b8a84611ace565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613787565b4290611c07565b84611ace565b610f5888611c15565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61379a565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611db2565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611de6565b915091508060095f828254610ff59190613787565b909155506110109050865f8461100a81611766565b88611eb3565b61101a8183613787565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061202a565b915061105e611059838561206d565b612081565b6006805460029061107f9084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611db2565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611de6565b915091508060095f8282546111419190613787565b9091555061115c9050835f8461115681611766565b8a6120aa565b611166818361379a565b9150611175611059838761206d565b600680546002906111969084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906139c0565b5f61229a565b8e61124284826122d9565b50505b5f61124f846124c8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906139df565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061260a565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611db2565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611db2565b6113f791906139c0565b92915050565b5f805f8061140b8a8a612692565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8b7f00000000000000000000000000000000000000000000000000000000000000006126ca565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8d7f0000000000000000000000000000000000000000000000000000000000000000612783565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461283d565b509093505f9050611568848f613787565b90505f6115888b8b61157987611766565b611583908e6139fa565b612885565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128e7565b611766565b6115c683611766565b6115d36115b8868561206d565b6115dd91906139c0565b6115e791906139c0565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128f7565b61162685670de0b6b3a764000061379a565b906117d4565b611634613619565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661291a565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661291a565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612987565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613787565b90915550505f838152600b60205260408120805483929061183b908490613787565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122d9565b5f8183136118a7578261008d565b50919050565b5f806118b98484612692565b9092509050806118cb576118cb612b1b565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b34565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612ba3565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613787565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c10565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b508794505f93505050505b935093915050565b611aa26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612ba3565b505050565b5f610c2d670de0b6b3a7640000612c9f565b5f611ac48284613a35565b61008d908461379a565b5f83815260086020526040902054600160801b90046001600160801b0316808303611af95750505050565b5f848152600860205260408120546001600160801b031690819003611b5157611b21836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bce565b611ba2611b9d670de0b6b3a7640000611b6a888661379a565b611b74919061393e565b85670de0b6b3a7640000611b88878a61379a565b611b92919061393e565b859291906001612ca6565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bd7846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c37908490600160801b90046001600160801b031661206d565b6006546201000090046001600160701b03169250905081811115611dad575f611c60838361379a565b9050611c6f611b9d8286612d40565b60068054601090611c91908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cc985836117d490919063ffffffff16565b90505f611cf6827f000000000000000000000000000000000000000000000000000000000000000061206d565b90508060095f828254611d099190613787565b90915550611d199050818361379a565b9150611d24826118d2565b600280545f90611d3e9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d6b82612d54565b600480545f90611d7f908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ddb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611df287856117d4565b91505f611e1f837f000000000000000000000000000000000000000000000000000000000000000061206d565b9050611e4b817f000000000000000000000000000000000000000000000000000000000000000061206d565b91508315611e6e57611e5d828261379a565b611e67908461379a565b9250611e85565b611e78828261379a565b611e829084613787565b92505b86861015611ea857611e988387896117b9565b9250611ea58287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611efb611b9d82611edf670de0b6b3a76400008661393e565b600554600160801b90046001600160801b031691908a5f612ca6565b600580546001600160801b03928316600160801b029216919091179055611f21866118d2565b611f2b9082613a48565b600480546001600160801b03928316600160801b029216919091179055611f51846118d2565b600280545f90611f6b9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f98836118fb565b600480545f90611fac908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fdc856118d2565b60028054601090611ffe908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061203b846116268a888a6117b9565b90506120488884866117b9565b6120529082613787565b9050868111156120625786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120ec57507f00000000000000000000000000000000000000000000000000000000000000006120ea858361379a565b105b156120f9576120f9612b1b565b6004549084900390600f0b61210e84826139c0565b90508361211a86611766565b13801561214f57507f000000000000000000000000000000000000000000000000000000000000000061214d83836118ad565b105b1561215c5761215c612b1b565b600354600160801b90046001600160801b031661219d611b9d82612188670de0b6b3a76400008861393e565b6005546001600160801b031691908c5f612ca6565b600580546001600160801b0319166001600160801b03929092169190911790556121c7888261379a565b90506121d2816118d2565b600380546001600160801b03928316600160801b0292169190911790556121f8836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612221826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561224a876118d2565b6002805460109061226c908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122b590611b9d906001600160801b03168484612885565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612323916001600160801b03169061379a565b9050805f036123365760019150506113f7565b5f61234085612d7d565b9050805f03612354576001925050506113f7565b5f80612361838589612e18565b9150915080612376575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123b1929190613a95565b6040805180830381865af41580156123cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ef9190613b0a565b9150915061240d6123ff82611766565b61240890613b2c565b612987565b925082612422575f96505050505050506113f7565b61242b826118d2565b600780545f906124459084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612472816118d2565b60078054601090612494908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ef8761162c565b6040518263ffffffff1660e01b815260040161250b919061382b565b6040805180830381865af4158015612525573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125499190613b46565b915091508061255e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125c391613787565b6125cd919061379a565b9050805f036125e357505f958695509350505050565b5f8087116125f1575f6125fc565b6125fc8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561262d5761262d613b74565b6040519080825280601f01601f191660200182016040528015612657576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612677578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361269f86611766565b6126a991906139c0565b90505f8112156126bf575f809250925050610d21565b946001945092505050565b5f805f6126da8888888888612f80565b90505f612704670de0b6b3a76400006126f38888612d40565b6126fd9190613787565b83906117d4565b9050670de0b6b3a764000081106127385761273161272a670de0b6b3a7640000896117d4565b8290612b34565b9050612750565b61274d61272a670de0b6b3a764000089612d40565b90505b61275a81866117d4565b905088811015612771575f80935093505050612688565b97909703976001975095505050505050565b5f805f6127938989888888612fae565b90506127ad866119466127a68a8d613787565b879061206d565b98506127ba858a866117b9565b9850888110156127d0575f8092509250506115f6565b888103670de0b6b3a764000081106127fe576127f761272a670de0b6b3a764000089612d40565b9050612816565b61281361272a670de0b6b3a7640000896117d4565b90505b8089101561282b575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61284d898789612fd2565b909250905061285c828961379a565b97505f61286a82888a6117b9565b9050612876818b61379a565b9a989950979650505050505050565b5f80612891845f613057565b61289b845f613057565b6128a591906139c0565b90505f8113156128c0576128b98186613787565b94506128de565b5f8112156128de576128d181613b2c565b6128db908661379a565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f19048411830215820261290b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061292d610d28565b612937919061393e565b9050808311612946575f612950565b612950818461379a565b915061008d6126fd670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061393e565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a619190613b88565b935093509350935080612a7c57505f98975050505050505050565b868414612aad57612a8c846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ade57612abd836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b0c57612aee826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b4b5750670de0b6b3a76400006113f7565b825f03612b5957505f6113f7565b5f612b6383611766565b90505f612b77612b7286611766565b61306c565b9050818102612b8e670de0b6b3a764000082613bc6565b9050612b9981613291565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c0a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613423565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c618482613489565b612c0a576040516001600160a01b0384811660248301525f6044830152612c9591869182169063095ea7b390606401612bd8565b612c0a8482613423565b5f816113f7565b5f825f03612cb5575084610075565b8115612d0757612ce6612cc88487613787565b612cd2858761206d565b612cdc888a61206d565b6116269190613787565b90505f612cf38588611c07565b905080821015612d01578091505b50610075565b828503612d1557505f610075565b610072612d22848761379a565b612d2c85876128e7565b612d36888a61206d565b611626919061379a565b5f61008d83670de0b6b3a7640000846128f7565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d97906001600160801b031684612d40565b9050612dc37f000000000000000000000000000000000000000000000000000000000000000082613787565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e0e9083906001600160801b031661379a565b61008d919061379a565b612e2061366e565b5f80612e2b8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e65919061382b565b6040805180830381865af4158015612e7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea39190613b46565b9350905082612eb757505f9150611a659050565b5f612ed86115b884610160015185610140015161206d90919063ffffffff16565b612ef86115b88561012001518661010001516128e790919063ffffffff16565b612f0291906139c0565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f8b8585612b34565b612fa4612f9c86611946868b61206d565b8590856117b9565b6100729190613787565b5f612fb98585612b34565b612fa4612fca86611946868b6128e7565b8590856128f7565b5f806130218561301b85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613011818c612d40565b61301b919061379a565b906128e7565b915061304d827f000000000000000000000000000000000000000000000000000000000000000061206d565b9050935093915050565b5f818313613065578161008d565b5090919050565b5f80821361308d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131109084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132aa57505f919050565b680755bf798b4a1bf1e582126132d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b9974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134376001600160a01b03841683613526565b905080515f1415801561345b5750808060200190518101906134599190613bf2565b155b15611aa257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134a49190613c0d565b5f604051808303815f865af19150503d805f81146134dd576040519150601f19603f3d011682016040523d82523d5f602084013e6134e2565b606091505b509150915081801561350c57508051158061350c57508080602001905181019061350c9190613bf2565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161354a9190613c0d565b5f6040518083038185875af1925050503d805f8114613584576040519150601f19603f3d011682016040523d82523d5f602084013e613589565b606091505b5091509150612b998683836060826135a9576135a4826135f0565b61008d565b81511580156135c057506001600160a01b0384163b155b156135e957604051639996b31560e01b81526001600160a01b0385166004820152602401613480565b508061008d565b8051156136005780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613682613619565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156136dc575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561370e575f80fd5b61371a888289016136b8565b9150509295509295909350565b5f805f60608486031215613739575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561375d575f80fd5b613769868287016136b8565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613773565b818103818111156113f7576113f7613773565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137ad565b5f6020828403121561384a575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613875575f80fd5b813561008d81613851565b8015158114610c0a575f80fd5b5f6020828403121561389d575f80fd5b813561008d81613880565b5f808335601e198436030181126138bd575f80fd5b83018035915067ffffffffffffffff8211156138d7575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613773565b5f805f60608486031215613967575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613773565b6001600160801b038181168382160190808211156118cb576118cb613773565b8181035f8312801583831316838312821617156118cb576118cb613773565b5f602082840312156139ef575f80fd5b815161008d81613851565b8082018281125f831280158216821582161715613a1957613a19613773565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a4357613a43613a21565b500690565b6001600160801b038281168282160390808211156118cb576118cb613773565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613773565b5f6102a082019050613aa88285516137ad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b1b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b4057613b40613773565b505f0390565b5f8060408385031215613b57575f80fd5b825191506020830151613b6981613880565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613b9b575f80fd5b8451935060208501519250604085015191506060850151613bbb81613880565b939692955090935050565b5f82613bd457613bd4613a21565b600160ff1b82145f1984141615613bed57613bed613773565b500590565b5f60208284031215613c02575f80fd5b815161008d81613880565b5f82515f5b81811015613c2c5760208186018101518583015201613c12565b505f92019182525091905056fea2646970667358221220fe6a7f7adfc55609ab26bec39d48db86801e3163e89b98e7864c4323d37b429e64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))": "4c2ac1d9", + "initialize(uint256,uint256,(address,bool,bytes))": "77d05ff4" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget3Deployer.ts b/packages/hyperdrive-artifacts/src/StkWellTarget3Deployer.ts new file mode 100644 index 000000000..58042ad02 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget3Deployer.ts @@ -0,0 +1,147 @@ +export const StkWellTarget3Deployer = { + name: 'StkWellTarget3Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b506145f18061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b614119806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162004119380380620041198339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051613c6f620004aa5f395f50505f50505f6112ab01525f81816102f801528181610327015261035401525f818160d90152818161059601526116c101525f81816108320152818161091d015281816109ad01528181610ab2015281816115930152818161169b015281816120c101528181612124015281816129cd01528181612d9e0152612dda01525f8181610139015281816108a201528181610e690152818161145c015281816114bf01528181611504015261167501525f611cd201525f8181611e27015261302901525f81816110260152611dfb01525f612fdf01525f818161017b015281816108f501528181610e8a0152818161142c0152818161148f0152818161152501526116e701525f818161015a0152818161022f015281816102cd015281816106d5015281816108cf01528181610f64015261296301525f818161028d01528181610d2f01528181610da601528181610e1a01528181610ee50152610f1d01525f8181611988015281816119ff0152611a7a01525f818161195b01526119bc0152613c6f5ff3fe608060405260043610610028575f3560e01c80634c2ac1d91461002c57806377d05ff414610051575b5f80fd5b61003f61003a3660046136c8565b610064565b60405190815260200160405180910390f35b61003f61005f366004613727565b61007e565b5f6100728686868686610094565b90505b95945050505050565b5f61008a8484846107de565b90505b9392505050565b5f61009d610b8c565b600654610100900460ff16156100c6576040516321081abf60e01b815260040160405180910390fd5b6100ce610bb4565b6100d782610bd5565b7f00000000000000000000000000000000000000000000000000000000000000008610156101185760405163211ddda360e11b815260040160405180910390fd5b5f61019f610124610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610c32565b9050848110806101ae57508381115b156101cc57604051633b61151160e11b815260040160405180910390fd5b5f806101d88986610c57565b915091505f6101e5610d28565b90506101f5818360046001610d53565b506002546004546003545f92839261025e926001600160801b0380841693600f9390930b92600160801b90048116918991166102596102547f00000000000000000000000000000000000000000000000000000000000000008b613787565b6113b7565b6113fd565b915091508061028057604051630552b01360e31b815260040160405180910390fd5b8b5f6102f16008826102b27f00000000000000000000000000000000000000000000000000000000000000008961379a565b815260208101919091526040015f20546001600160801b03167f0000000000000000000000000000000000000000000000000000000000000000611601565b905061031d7f000000000000000000000000000000000000000000000000000000000000000082613787565b88118061037c57507f00000000000000000000000000000000000000000000000000000000000000008111801561037c57506103797f00000000000000000000000000000000000000000000000000000000000000008261379a565b88105b1561039a57604051630552b01360e31b815260040160405180910390fd5b50600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490916103e5916001600160801b039091169061379a565b5f808052600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76549192509061041f908390613787565b90505f805f61042d8a61162c565b604051635f9d50ab60e11b815290915073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063bf3aa1569061046790849060040161382b565b602060405180830381865af4158015610482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a6919061383a565b91506104b96104b48c611766565b611793565b6002546001600160801b03808216835260048054600f0b6020850152600160801b9092041660408084019190915251635f9d50ab60e11b815273__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9163bf3aa1569161051a9185910161382b565b602060405180830381865af4158015610535573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610559919061383a565b92508183101561057c5760405163184d952160e11b815260040160405180910390fd5b610592848361058b818761379a565b91906117b9565b9c507f00000000000000000000000000000000000000000000000000000000000000008d10156105d55760405163211ddda360e11b815260040160405180910390fd5b508f6105e1868e6117d4565b10156106005760405163c972651760e01b815260040160405180910390fd5b61061c5f8e5f0160208101906106169190613865565b8e6117e8565b6106258961188d565b95508561064557604051638bdf918d60e01b815260040160405180910390fd5b5f8890505f8d9050368f90505f8c90505f6106ff60025f015f9054906101000a90046001600160801b03166001600160801b0316600280015f9054906101000a9004600f0b600f0b60025f0160109054906101000a90046001600160801b03166001600160801b03168560026001015f9054906101000a90046001600160801b03166001600160801b03166102597f00000000000000000000000000000000000000000000000000000000000000008c6102549190613787565b9b5090508a158061071857506107158c5f611899565b81125b1561073657604051630552b01360e31b815260040160405180910390fd5b5f881561074d5761074887848b6117b9565b61074f565b5f5b905061075e6020850185613865565b6001600160a01b03167fdcc4a01cea4510bd52201cebc8cd2d47d60429b35d68329abc591a70aa2efabf868d8661079b60408a0160208b0161388d565b866107a960408c018c6138a8565b6040516107bc97969594939291906138eb565b60405180910390a2505050505050505050505050505050505061007560015f55565b5f6107e7610b8c565b6107ef610bb4565b6107f882610bd5565b60065460ff161561081c57604051637983c05160e01b815260040160405180910390fd5b5f806108288685610c57565b90925090506108587f0000000000000000000000000000000000000000000000000000000000000000600261393e565b82101561087857604051632afb507160e21b815260040160405180910390fd5b6006805460ff1916600117905560405163594f0e8f60e11b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606481018690527f000000000000000000000000000000000000000000000000000000000000000060848201527f000000000000000000000000000000000000000000000000000000000000000060a482015260027f000000000000000000000000000000000000000000000000000000000000000002830393505f908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063b29e1d1e9060c401606060405180830381865af4158015610981573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a59190613955565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006109d684846118ad565b10156109f55760405163216f4ab160e21b815260040160405180910390fd5b5f80610a05858585895f806113fd565b91509150801580610a1557505f82125b15610a3357604051630552b01360e31b815260040160405180910390fd5b610a3c856118d2565b600280546001600160801b0319166001600160801b0392909216919091179055610a65846118fb565b600480546001600160801b0319166001600160801b0392909216919091179055610a8e836118d2565b600280546001600160801b03928316600160801b029216919091179055610ad65f807f00000000000000000000000000000000000000000000000000000000000000006117e8565b610aed5f610ae760208c018c613865565b8a6117e8565b610b02610af8610d28565b8760046001610d53565b508a8a8a610b136020820182613865565b6001600160a01b03167f4931b9953a65531203c17d9abe77870a3e49d8b13af522ec3321c18b5abb8af38c858c610b50604087016020880161388d565b87610b5e60408901896138a8565b604051610b7197969594939291906138eb565b60405180910390a25050505050505050505061008d60015f55565b60025f5403610bae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b3415610bd357604051631574f9f360e01b815260040160405180910390fd5b565b5f610be36020830183613865565b6001600160a01b031603610c0a5760405163f0dd15fd60e01b815260040160405180910390fd5b50565b6002546004545f91610c2d916001600160801b0390911690600f0b6118ad565b905090565b5f80610c4087878786611936565b9050610c4c8185611601565b979650505050505050565b815f80610c6a604085016020860161388d565b15610c8f57610c8585610c8060408701876138a8565b61194c565b9093509050610ca7565b5034610ca785610ca260408701876138a8565b611a6d565b610caf611aa7565b91508015610d1f576040515f90339083908381818185875af1925050503d805f8114610cf6576040519150601f19603f3d011682016040523d82523d5f602084013e610cfb565b606091505b5050905080610d1d576040516312171d8360e31b815260040160405180910390fd5b505b505b9250929050565b5f610c2d427f0000000000000000000000000000000000000000000000000000000000000000611ab9565b5f84815260086020526040812060018101546001600160801b0316151580610d7a57504286115b15610d9357600101546001600160801b031690506113af565b5f805f610d9e610d28565b90505f610dcb7f00000000000000000000000000000000000000000000000000000000000000008b613787565b90505b81811015610e3f575f818152600860205260409020600101546001600160801b03168015610e17575f828152600860205260409020549094506001600160801b03169250610e3f565b507f000000000000000000000000000000000000000000000000000000000000000001610dce565b835f03610eb157889350610eae610e54610c0d565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b92505b50610ebb836118d2565b6001850180546001600160801b0319166001600160801b0392909216919091179055610f11610f0a7f00000000000000000000000000000000000000000000000000000000000000008b61379a565b8a84611ace565b610f4f89610f49610f427f000000000000000000000000000000000000000000000000000000000000000083613787565b4290611c07565b84611ace565b610f5888611c15565b505f9050600881610f897f00000000000000000000000000000000000000000000000000000000000000008d61379a565b815260208101919091526040015f908120600101546001600160801b03169150610fb460028c611db2565b5f818152600b60205260408120549192508c8c83156110f557600192505f80610fe086898d865f611de6565b915091508060095f828254610ff59190613787565b909155506110109050865f8461100a81611766565b88611eb3565b61101a8183613787565b915061104a86838a8e877f000000000000000000000000000000000000000000000000000000000000000061202a565b915061105e611059838561206d565b612081565b6006805460029061107f9084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506110ac826118d2565b600680546010906110ce908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f611101600184611db2565b5f818152600b6020526040902054909150801561120c57600194505f8061112c838b8f886001611de6565b915091508060095f8282546111419190613787565b9091555061115c9050835f8461115681611766565b8a6120aa565b611166818361379a565b9150611175611059838761206d565b600680546002906111969084906201000090046001600160701b0316613980565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506111c3826118d2565b600680546010906111e5908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b84156112455761123761121e87611766565b61122783611766565b61123191906139c0565b5f61229a565b8e61124284826122d9565b50505b5f61124f846124c8565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132991906139df565b90506001600160a01b0381161561139d5761139a5a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b0386169392919061260a565b50505b509b9d50505050505050505050505050505b949350505050565b5f6113dc600b5f6113c9600286611db2565b81526020019081526020015f2054611766565b6113ed600b5f6113c9600187611db2565b6113f791906139c0565b92915050565b5f805f8061140b8a8a612692565b9150915080611421575f809350935050506115f6565b5f611480838a6114597f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8b7f00000000000000000000000000000000000000000000000000000000000000006126ca565b5090505f6114e3848b846114bc7f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000061379a565b8d7f0000000000000000000000000000000000000000000000000000000000000000612783565b5090508115806114f1575080155b156114fc57505f9050805b5f611549858c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611936565b905061155783838c8461283d565b509093505f9050611568848f613787565b90505f6115888b8b61157987611766565b611583908e6139fa565b612885565b90508b6115bd6115b87f0000000000000000000000000000000000000000000000000000000000000000836128e7565b611766565b6115c683611766565b6115d36115b8868561206d565b6115dd91906139c0565b6115e791906139c0565b60019950995050505050505050505b965096945050505050565b5f61008d61161484846301e133806128f7565b61162685670de0b6b3a764000061379a565b906117d4565b611634613619565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e0830152600354048216610100820152600554909161012083019161172c911661291a565b81526004546001600160801b03600160801b918290048116602084015260055460409093019261175e9290041661291a565b905292915050565b5f6001600160ff1b0382111561178f5760405163396ea70160e11b815260040160405180910390fd5b5090565b61179c81612987565b610c0a57604051635044b7f560e01b815260040160405180910390fd5b5f825f1904841183021582026117cd575f80fd5b5091020490565b5f61008d83670de0b6b3a7640000846117b9565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290611819908490613787565b90915550505f838152600b60205260408120805483929061183b908490613787565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b5f6113f78260046122d9565b5f8183136118a7578261008d565b50919050565b5f806118b98484612692565b9092509050806118cb576118cb612b1b565b5092915050565b5f6001600160801b0382111561178f57604051630f0af95160e11b815260040160405180910390fd5b5f60016001607f1b0319821280611918575060016001607f1b0382135b1561178f5760405163a5353be560e01b815260040160405180910390fd5b5f610075826119468588886117b9565b90612b34565b5f806119836001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088612ba3565b6119e37f00000000000000000000000000000000000000000000000000000000000000006119b2876001613787565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612c10565b6040516356e4bb9760e11b8152306004820152602481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc9772e906044015f604051808303815f87803b158015611a48575f80fd5b505af1158015611a5a573d5f803e3d5ffd5b508794505f93505050505b935093915050565b611aa26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612ba3565b505050565b5f610c2d670de0b6b3a7640000612c9f565b5f611ac48284613a35565b61008d908461379a565b5f83815260086020526040902054600160801b90046001600160801b0316808303611af95750505050565b5f848152600860205260408120546001600160801b031690819003611b5157611b21836118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611bce565b611ba2611b9d670de0b6b3a7640000611b6a888661379a565b611b74919061393e565b85670de0b6b3a7640000611b88878a61379a565b611b92919061393e565b859291906001612ca6565b6118d2565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b611bd7846118d2565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f8183116118a7578261008d565b6006545f908190611c37908490600160801b90046001600160801b031661206d565b6006546201000090046001600160701b03169250905081811115611dad575f611c60838361379a565b9050611c6f611b9d8286612d40565b60068054601090611c91908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611cc985836117d490919063ffffffff16565b90505f611cf6827f000000000000000000000000000000000000000000000000000000000000000061206d565b90508060095f828254611d099190613787565b90915550611d199050818361379a565b9150611d24826118d2565b600280545f90611d3e9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611d6b82612d54565b600480545f90611d7f908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b03821115611ddb5760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f80611df287856117d4565b91505f611e1f837f000000000000000000000000000000000000000000000000000000000000000061206d565b9050611e4b817f000000000000000000000000000000000000000000000000000000000000000061206d565b91508315611e6e57611e5d828261379a565b611e67908461379a565b9250611e85565b611e78828261379a565b611e829084613787565b92505b86861015611ea857611e988387896117b9565b9250611ea58287896117b9565b91505b509550959350505050565b600454600160801b90046001600160801b0316611efb611b9d82611edf670de0b6b3a76400008661393e565b600554600160801b90046001600160801b031691908a5f612ca6565b600580546001600160801b03928316600160801b029216919091179055611f21866118d2565b611f2b9082613a48565b600480546001600160801b03928316600160801b029216919091179055611f51846118d2565b600280545f90611f6b9084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f98836118fb565b600480545f90611fac908490600f0b613a68565b92506101000a8154816001600160801b030219169083600f0b6001600160801b03160217905550611fdc856118d2565b60028054601090611ffe908490600160801b90046001600160801b0316613a48565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f8061203b846116268a888a6117b9565b90506120488884866117b9565b6120529082613787565b9050868111156120625786810391505b509695505050505050565b5f61008d8383670de0b6b3a76400006117b9565b5f6001600160701b0382111561178f5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b0316838110806120ec57507f00000000000000000000000000000000000000000000000000000000000000006120ea858361379a565b105b156120f9576120f9612b1b565b6004549084900390600f0b61210e84826139c0565b90508361211a86611766565b13801561214f57507f000000000000000000000000000000000000000000000000000000000000000061214d83836118ad565b105b1561215c5761215c612b1b565b600354600160801b90046001600160801b031661219d611b9d82612188670de0b6b3a76400008861393e565b6005546001600160801b031691908c5f612ca6565b600580546001600160801b0319166001600160801b03929092169190911790556121c7888261379a565b90506121d2816118d2565b600380546001600160801b03928316600160801b0292169190911790556121f8836118d2565b600280546001600160801b0319166001600160801b0392909216919091179055612221826118fb565b600480546001600160801b0319166001600160801b039290921691909117905561224a876118d2565b6002805460109061226c908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b6003546122b590611b9d906001600160801b03168484612885565b600380546001600160801b0319166001600160801b03929092169190911790555050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291612323916001600160801b03169061379a565b9050805f036123365760019150506113f7565b5f61234085612d7d565b9050805f03612354576001925050506113f7565b5f80612361838589612e18565b9150915080612376575f9450505050506113f7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b81526004016123b1929190613a95565b6040805180830381865af41580156123cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ef9190613b0a565b9150915061240d6123ff82611766565b61240890613b2c565b612987565b925082612422575f96505050505050506113f7565b61242b826118d2565b600780545f906124459084906001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612472816118d2565b60078054601090612494908490600160801b90046001600160801b03166139a0565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506001965050505050505092915050565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e6124ef8761162c565b6040518263ffffffff1660e01b815260040161250b919061382b565b6040805180830381865af4158015612525573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125499190613b46565b915091508061255e57505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b0316916125c391613787565b6125cd919061379a565b9050805f036125e357505f958695509350505050565b5f8087116125f1575f6125fc565b6125fc8488846117b9565b976001975095505050505050565b5f60605f805f8661ffff1667ffffffffffffffff81111561262d5761262d613b74565b6040519080825280601f01601f191660200182016040528015612657576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115612677578692505b828152825f602083013e9093509150505b9550959350505050565b5f805f8361269f86611766565b6126a991906139c0565b90505f8112156126bf575f809250925050610d21565b946001945092505050565b5f805f6126da8888888888612f80565b90505f612704670de0b6b3a76400006126f38888612d40565b6126fd9190613787565b83906117d4565b9050670de0b6b3a764000081106127385761273161272a670de0b6b3a7640000896117d4565b8290612b34565b9050612750565b61274d61272a670de0b6b3a764000089612d40565b90505b61275a81866117d4565b905088811015612771575f80935093505050612688565b97909703976001975095505050505050565b5f805f6127938989888888612fae565b90506127ad866119466127a68a8d613787565b879061206d565b98506127ba858a866117b9565b9850888110156127d0575f8092509250506115f6565b888103670de0b6b3a764000081106127fe576127f761272a670de0b6b3a764000089612d40565b9050612816565b61281361272a670de0b6b3a7640000896117d4565b90505b8089101561282b575f809350935050506115f6565b90970398600198509650505050505050565b5f805f805f61284d898789612fd2565b909250905061285c828961379a565b97505f61286a82888a6117b9565b9050612876818b61379a565b9a989950979650505050505050565b5f80612891845f613057565b61289b845f613057565b6128a591906139c0565b90505f8113156128c0576128b98186613787565b94506128de565b5f8112156128de576128d181613b2c565b6128db908661379a565b94505b50929392505050565b5f61008d8383670de0b6b3a76400005b5f825f19048411830215820261290b575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061292d610d28565b612937919061393e565b9050808311612946575f612950565b612950818461379a565b915061008d6126fd670de0b6b3a76400007f000000000000000000000000000000000000000000000000000000000000000061393e565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015612a3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a619190613b88565b935093509350935080612a7c57505f98975050505050505050565b868414612aad57612a8c846118d2565b600280546001600160801b0319166001600160801b03929092169190911790555b858314612ade57612abd836118fb565b600480546001600160801b0319166001600160801b03929092169190911790555b848214612b0c57612aee826118d2565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b60405163bb55fd2760e01b815260040160405180910390fd5b5f815f03612b4b5750670de0b6b3a76400006113f7565b825f03612b5957505f6113f7565b5f612b6383611766565b90505f612b77612b7286611766565b61306c565b9050818102612b8e670de0b6b3a764000082613bc6565b9050612b9981613291565b9695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052612c0a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613423565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c618482613489565b612c0a576040516001600160a01b0384811660248301525f6044830152612c9591869182169063095ea7b390606401612bd8565b612c0a8482613423565b5f816113f7565b5f825f03612cb5575084610075565b8115612d0757612ce6612cc88487613787565b612cd2858761206d565b612cdc888a61206d565b6116269190613787565b90505f612cf38588611c07565b905080821015612d01578091505b50610075565b828503612d1557505f610075565b610072612d22848761379a565b612d2c85876128e7565b612d36888a61206d565b611626919061379a565b5f61008d83670de0b6b3a7640000846128f7565b5f60016001607f1b0382111561178f5760405163a5353be560e01b815260040160405180910390fd5b6003545f908190612d97906001600160801b031684612d40565b9050612dc37f000000000000000000000000000000000000000000000000000000000000000082613787565b6002546001600160801b031611156118a7576002547f000000000000000000000000000000000000000000000000000000000000000090612e0e9083906001600160801b031661379a565b61008d919061379a565b612e2061366e565b5f80612e2b8461162c565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401612e65919061382b565b6040805180830381865af4158015612e7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea39190613b46565b9350905082612eb757505f9150611a659050565b5f612ed86115b884610160015185610140015161206d90919063ffffffff16565b612ef86115b88561012001518661010001516128e790919063ffffffff16565b612f0291906139c0565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b5f612f8b8585612b34565b612fa4612f9c86611946868b61206d565b8590856117b9565b6100729190613787565b5f612fb98585612b34565b612fa4612fca86611946868b6128e7565b8590856128f7565b5f806130218561301b85817f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000613011818c612d40565b61301b919061379a565b906128e7565b915061304d827f000000000000000000000000000000000000000000000000000000000000000061206d565b9050935093915050565b5f818313613065578161008d565b5090919050565b5f80821361308d5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f198201906131109084901c611766565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e1982136132aa57505f919050565b680755bf798b4a1bf1e582126132d3576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b018181059550929350909190612b9974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c611766565b5f6134376001600160a01b03841683613526565b905080515f1415801561345b5750808060200190518101906134599190613bf2565b155b15611aa257604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f805f846001600160a01b0316846040516134a49190613c0d565b5f604051808303815f865af19150503d805f81146134dd576040519150601f19603f3d011682016040523d82523d5f602084013e6134e2565b606091505b509150915081801561350c57508051158061350c57508080602001905181019061350c9190613bf2565b80156100755750505050506001600160a01b03163b151590565b606061008d83835f845f80856001600160a01b0316848660405161354a9190613c0d565b5f6040518083038185875af1925050503d805f8114613584576040519150601f19603f3d011682016040523d82523d5f602084013e613589565b606091505b5091509150612b998683836060826135a9576135a4826135f0565b61008d565b81511580156135c057506001600160a01b0384163b155b156135e957604051639996b31560e01b81526001600160a01b0385166004820152602401613480565b508061008d565b8051156136005780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806101200160405280613682613619565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f606082840312156118a7575f80fd5b5f805f805f60a086880312156136dc575f80fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561370e575f80fd5b61371a888289016136b8565b9150509295509295909350565b5f805f60608486031215613739575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561375d575f80fd5b613769868287016136b8565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b808201808211156113f7576113f7613773565b818103818111156113f7576113f7613773565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b61018081016113f782846137ad565b5f6020828403121561384a575f80fd5b5051919050565b6001600160a01b0381168114610c0a575f80fd5b5f60208284031215613875575f80fd5b813561008d81613851565b8015158114610c0a575f80fd5b5f6020828403121561389d575f80fd5b813561008d81613880565b5f808335601e198436030181126138bd575f80fd5b83018035915067ffffffffffffffff8211156138d7575f80fd5b602001915036819003821315610d21575f80fd5b878152866020820152856040820152841515606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f909201601f191601019695505050505050565b80820281158282048414176113f7576113f7613773565b5f805f60608486031215613967575f80fd5b8351925060208401519150604084015190509250925092565b6001600160701b038181168382160190808211156118cb576118cb613773565b6001600160801b038181168382160190808211156118cb576118cb613773565b8181035f8312801583831316838312821617156118cb576118cb613773565b5f602082840312156139ef575f80fd5b815161008d81613851565b8082018281125f831280158216821582161715613a1957613a19613773565b505092915050565b634e487b7160e01b5f52601260045260245ffd5b5f82613a4357613a43613a21565b500690565b6001600160801b038281168282160390808211156118cb576118cb613773565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156113f7576113f7613773565b5f6102a082019050613aa88285516137ad565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215613b1b575f80fd5b505080516020909101519092909150565b5f600160ff1b8201613b4057613b40613773565b505f0390565b5f8060408385031215613b57575f80fd5b825191506020830151613b6981613880565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215613b9b575f80fd5b8451935060208501519250604085015191506060850151613bbb81613880565b939692955090935050565b5f82613bd457613bd4613a21565b600160ff1b82145f1984141615613bed57613bed613773565b500590565b5f60208284031215613c02575f80fd5b815161008d81613880565b5f82515f5b81811015613c2c5760208186018101518583015201613c12565b505f92019182525091905056fea2646970667358221220fe6a7f7adfc55609ab26bec39d48db86801e3163e89b98e7864c4323d37b429e64736f6c63430008160033a264697066735822122087123d5b735c4f782446311ff0d4856f3f29238036d393744424e707d93859c964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget4.ts b/packages/hyperdrive-artifacts/src/StkWellTarget4.ts new file mode 100644 index 000000000..56d2f4b30 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget4.ts @@ -0,0 +1,1009 @@ +export const StkWellTarget4 = { + name: 'StkWellTarget4' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "__adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoint", + "inputs": [ + { + "name": "_checkpointTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxIterations", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "redeemWithdrawalShares", + "inputs": [ + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidity", + "inputs": [ + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CloseShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "basePayment", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CollectGovernanceFee", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "CreateCheckpoint", + "inputs": [ + { + "name": "checkpointTime", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "checkpointVaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedShorts", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "maturedLongs", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "apr", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenLong", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OpenShort", + "inputs": [ + { + "name": "trader", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "assetId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "maturityTime", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "baseProceeds", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "PauseStatusUpdated", + "inputs": [ + { + "name": "isPaused", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemWithdrawalShares", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveLiquidity", + "inputs": [ + { + "name": "provider", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "destination", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "vaultSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "asBase", + "type": "bool", + "indexed": false, + "internalType": "bool" + }, + { + "name": "withdrawalShareAmount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpSharePrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "extraData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Sweep", + "inputs": [ + { + "name": "collector", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "target", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferSingle", + "inputs": [ + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ExpInvalidExponent", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCheckpointTime", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "LnInvalidInput", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumTransactionAmount", + "inputs": [] + }, + { + "type": "error", + "name": "OutputLimit", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "RestrictedZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "UnsafeCastToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint112", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCastToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "UnsupportedToken", + "inputs": [] + } +] as const, + bytecode: '0x61028060405234801562000011575f80fd5b5060405162003234380380620032348339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612e4f620003e55f395f50505f50505f61099201525f50505f818161025f0152611eda01525f818161173a0152818161179d01528181611aca01528181611b0601528181611cf70152611eb401525f81816105500152611e8e01525f61131c01525f61147101525f818161070d015261144501525f50505f81816105710152611f0001525f818161064b015261227401525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6121db01525f5050612e4f5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128f5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612947565b6100b1565b005b6100566100923660046128f5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561297b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c016129a3565b61016a60408c018c6129be565b60405161017c96959493929190612a29565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a76565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761297b565b88610ea4565b5f6102f56102ec602087018761297b565b88848989610a9e565b90945090506103048188612a9d565b92505f61031083610f41565b509050610320602087018761297b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e016129a3565b8a888e806040019061037091906129be565b604051610384989796959493929190612ab0565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361297b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061108a565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612af7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110a6565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110c6565b92505b506105a2836110e5565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a9d565b8a84611112565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612af7565b429061124b565b84611112565b61063f8861125f565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a9d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6113fc565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611430565b915091508060095f8282546106dc9190612af7565b909155506106f79050865f846106f1816114fd565b88611526565b6107018183612af7565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061169d565b915061074561074083856116e6565b6116fa565b600680546002906107669084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826110e5565b600680546010906107b5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846113fc565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611430565b915091508060095f8282546108289190612af7565b909155506108439050835f8461083d816114fd565b8a611723565b61084d8183612a9d565b915061085c61074083876116e6565b6006805460029061087d9084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826110e5565b600680546010906108cc908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876114fd565b61090e836114fd565b6109189190612b4a565b5f611913565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b69565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611952565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119d8565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b90910481169085166119e4565b9050610b20836110e5565b610b2a9083612b84565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816110e5565b60078054601090610b75908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba48188876119ff565b9350610bb08684611a95565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a9d565b9050805f03610c3a576001915050610dc7565b5f610c4485611aa9565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b44565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612c22565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c97565b91509150610d11610d03826114fd565b610d0c90612cb9565b611cb1565b925082610d26575f9650505050505050610dc7565b610d2f826110e5565b600780545f90610d499084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816110e5565b60078054601090610d98908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a9d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612af7565b90915550505f838152600b602052604081208054839290610ef7908490612af7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e45565b6040518263ffffffff1660e01b8152600401610f849190612cd3565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ce2565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612af7565b6110469190612a9d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b6110758488846119e4565b976001975095505050505050565b5f81610dc7565b5f6110958284612a76565b61109f9084612a9d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611f7f565b5f6110dc826110d68588886119e4565b90611fa4565b95945050505050565b5f6001600160801b0382111561110e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361113d5750505050565b5f848152600860205260408120546001600160801b03169081900361119557611165836110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611212565b6111e66111e1670de0b6b3a76400006111ae8886612a9d565b6111b89190612d10565b85670de0b6b3a76400006111cc878a612a9d565b6111d69190612d10565b859291906001612013565b6110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61121b846110e5565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611259578261109f565b50919050565b6006545f908190611281908490600160801b90046001600160801b03166116e6565b6006546201000090046001600160701b031692509050818111156113f7575f6112aa8383612a9d565b90506112b96111e182866120ad565b600680546010906112db908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61131385836120c190919063ffffffff16565b90505f611340827f00000000000000000000000000000000000000000000000000000000000000006116e6565b90508060095f8282546113539190612af7565b9091555061136390508183612a9d565b915061136e826110e5565b600280545f906113889084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113b5826120d5565b600480545f906113c9908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114255760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061143c87856120c1565b91505f611469837f00000000000000000000000000000000000000000000000000000000000000006116e6565b9050611495817f00000000000000000000000000000000000000000000000000000000000000006116e6565b915083156114b8576114a78282612a9d565b6114b19084612a9d565b92506114cf565b6114c28282612a9d565b6114cc9084612af7565b92505b868610156114f2576114e28387896119e4565b92506114ef8287896119e4565b91505b509550959350505050565b5f6001600160ff1b0382111561110e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661156e6111e182611552670de0b6b3a764000086612d10565b600554600160801b90046001600160801b031691908a5f612013565b600580546001600160801b03928316600160801b029216919091179055611594866110e5565b61159e9082612b84565b600480546001600160801b03928316600160801b0292169190911790556115c4846110e5565b600280545f906115de9084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160b836120fe565b600480545f9061161f908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061164f856110e5565b60028054601090611671908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116b4846116ae8a888a6119e4565b906120c1565b90506116c18884866119e4565b6116cb9082612af7565b9050868111156116db5786810391505b509695505050505050565b5f61109f8383670de0b6b3a76400006119e4565b5f6001600160701b0382111561110e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061176557507f00000000000000000000000000000000000000000000000000000000000000006117638583612a9d565b105b1561177257611772612139565b6004549084900390600f0b6117878482612b4a565b905083611793866114fd565b1380156117c857507f00000000000000000000000000000000000000000000000000000000000000006117c68383611f7f565b105b156117d5576117d5612139565b600354600160801b90046001600160801b03166118166111e182611801670de0b6b3a764000088612d10565b6005546001600160801b031691908c5f612013565b600580546001600160801b0319166001600160801b03929092169190911790556118408882612a9d565b905061184b816110e5565b600380546001600160801b03928316600160801b029216919091179055611871836110e5565b600280546001600160801b0319166001600160801b039290921691909117905561189a826120fe565b600480546001600160801b0319166001600160801b03929092169190911790556118c3876110e5565b600280546010906118e5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461192e906111e1906001600160801b03168484612152565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561197557611975612d54565b6040519080825280601f01601f19166020018201604052801561199f576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119bf578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f1904841183021582026119f8575f80fd5b5091020490565b5f80611a0b85856116e6565b9050611a1681611083565b9450845f03611a28575f91505061109f565b849150611a3b60408401602085016129a3565b15611a6a57611a6385611a51602086018661297b565b611a5e60408701876129be565b6121b4565b9150611a8d565b611a8d85611a7b602086018661297b565b611a8860408701876129be565b6121ce565b509392505050565b5f61109f8383670de0b6b3a7640000612208565b6003545f908190611ac3906001600160801b0316846120ad565b9050611aef7f000000000000000000000000000000000000000000000000000000000000000082612af7565b6002546001600160801b03161115611259576002547f000000000000000000000000000000000000000000000000000000000000000090611b3a9083906001600160801b0316612a9d565b61109f9190612a9d565b611b4c612856565b5f80611b5784611e45565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611b919190612cd3565b6040805180830381865af4158015611bab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcf9190612ce2565b9350905082611be357505f91506100a99050565b5f611c09611c048461016001518561014001516116e690919063ffffffff16565b6114fd565b611c29611c04856101200151866101000151611a9590919063ffffffff16565b611c339190612b4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8b9190612d68565b935093509350935080611da657505f98975050505050505050565b868414611dd757611db6846110e5565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e0857611de7836120fe565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e3657611e18826110e5565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e4d6128a0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f45911661222b565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f779290041661222b565b905292915050565b5f80611f8b848461229f565b909250905080611f9d57611f9d612139565b5092915050565b5f815f03611fbb5750670de0b6b3a7640000610dc7565b825f03611fc957505f610dc7565b5f611fd3836114fd565b90505f611fe7611fe2866114fd565b6122da565b9050818102611ffe670de0b6b3a764000082612da6565b9050612009816124ff565b9695505050505050565b5f825f036120225750846110dc565b8115612074576120536120358487612af7565b61203f85876116e6565b612049888a6116e6565b6116ae9190612af7565b90505f612060858861124b565b90508082101561206e578091505b506110dc565b82850361208257505f6110dc565b61200961208f8487612a9d565b6120998587611a95565b6120a3888a6116e6565b6116ae9190612a9d565b5f61109f83670de0b6b3a764000084612208565b5f61109f83670de0b6b3a7640000846119e4565b5f60016001607f1b0382111561110e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061211b575060016001607f1b0382135b1561110e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061215e845f612691565b612168845f612691565b6121729190612b4a565b90505f81131561218d576121868186612af7565b94506121ab565b5f8112156121ab5761219e81612cb9565b6121a89086612a9d565b94505b50929392505050565b5f60405163350b944160e11b815260040160405180910390fd5b6122026001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126a6565b50505050565b5f825f19048411830215820261221c575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061223e61040f565b6122489190612d10565b9050808311612257575f612261565b6122618184612a9d565b915061109f612298670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612d10565b83906120c1565b5f805f836122ac866114fd565b6122b69190612b4a565b90505f8112156122cc575f8092509250506122d3565b9150600190505b9250929050565b5f8082136122fb5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061237e9084901c6114fd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361251857505f919050565b680755bf798b4a1bf1e58212612541576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061200974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114fd565b5f81831361269f578161109f565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526126f89084906126fd565b505050565b5f6127116001600160a01b03841683612763565b905080515f141580156127355750808060200190518101906127339190612dd2565b155b156126f857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061109f83835f845f80856001600160a01b031684866040516127879190612ded565b5f6040518083038185875af1925050503d805f81146127c1576040519150601f19603f3d011682016040523d82523d5f602084013e6127c6565b606091505b50915091506120098683836060826127e6576127e18261282d565b61109f565b81511580156127fd57506001600160a01b0384163b155b1561282657604051639996b31560e01b81526001600160a01b038516600482015260240161275a565b508061109f565b80511561283d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061286a6128a0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612907575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561292b575f80fd5b84016060818703121561293c575f80fd5b809150509250925092565b5f8060408385031215612958575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561298b575f80fd5b813561109f81612967565b80151581146103f5575f80fd5b5f602082840312156129b3575f80fd5b813561109f81612996565b5f808335601e198436030181126129d3575f80fd5b83018035915067ffffffffffffffff8211156129ed575f80fd5b6020019150368190038213156122d3575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a5660a083018486612a01565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a8457612a84612a62565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a89565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ae960e083018486612a01565b9a9950505050505050505050565b80820180821115610dc757610dc7612a89565b6001600160701b03818116838216019080821115611f9d57611f9d612a89565b6001600160801b03818116838216019080821115611f9d57611f9d612a89565b8181035f831280158383131683831282161715611f9d57611f9d612a89565b5f60208284031215612b79575f80fd5b815161109f81612967565b6001600160801b03828116828216039080821115611f9d57611f9d612a89565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612c35828551612ba4565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ca8575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ccd57612ccd612a89565b505f0390565b6101808101610dc78284612ba4565b5f8060408385031215612cf3575f80fd5b825191506020830151612d0581612996565b809150509250929050565b8082028115828204841417610dc757610dc7612a89565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a89565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d7b575f80fd5b8451935060208501519250604085015191506060850151612d9b81612996565b939692955090935050565b5f82612db457612db4612a62565b600160ff1b82145f1984141615612dcd57612dcd612a89565b500590565b5f60208284031215612de2575f80fd5b815161109f81612996565b5f82515f5b81811015612e0c5760208186018101518583015201612df2565b505f92019182525091905056fea264697066735822122070c1d6323565ab843f4f8860f22738189f86eac0578d2aa9d44b8b8d8aa3ab7364736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "checkpoint(uint256,uint256)": "414f826d", + "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))": "074a6de9", + "removeLiquidity(uint256,uint256,(address,bool,bytes))": "cbc13434" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/StkWellTarget4Deployer.ts b/packages/hyperdrive-artifacts/src/StkWellTarget4Deployer.ts new file mode 100644 index 000000000..1611b0667 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/StkWellTarget4Deployer.ts @@ -0,0 +1,147 @@ +export const StkWellTarget4Deployer = { + name: 'StkWellTarget4Deployer' as const, + abi: [ + { + "type": "function", + "name": "deployTarget", + "inputs": [ + { + "name": "_config", + "type": "tuple", + "internalType": "struct IHyperdrive.PoolConfig", + "components": [ + { + "name": "baseToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "vaultSharesToken", + "type": "address", + "internalType": "contract IERC20" + }, + { + "name": "linkerFactory", + "type": "address", + "internalType": "address" + }, + { + "name": "linkerCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initialVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumShareReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minimumTransactionAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "circuitBreakerDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "positionDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "checkpointDuration", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeStretch", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governance", + "type": "address", + "internalType": "address" + }, + { + "name": "feeCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "sweepCollector", + "type": "address", + "internalType": "address" + }, + { + "name": "checkpointRewarder", + "type": "address", + "internalType": "address" + }, + { + "name": "fees", + "type": "tuple", + "internalType": "struct IHyperdrive.Fees", + "components": [ + { + "name": "curve", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "flat", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceLP", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "governanceZombie", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ] + }, + { + "name": "_adminController", + "type": "address", + "internalType": "contract IHyperdriveAdminController" + }, + { + "name": "", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "_salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x608060405234801561000f575f80fd5b5061370c8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80638c98b3c61461002d575b5f80fd5b61004061003b36600461021a565b61005c565b6040516001600160a01b03909116815260200160405180910390f35b604080513360208201529081018290525f90606001604051602081830303815290604052805190602001208585604051610095906100c7565b6100a0929190610371565b8190604051809103905ff59050801580156100bd573d5f803e3d5ffd5b5095945050505050565b613234806104a383390190565b634e487b7160e01b5f52604160045260245ffd5b604051610200810167ffffffffffffffff8111828210171561010c5761010c6100d4565b60405290565b80356001600160a01b0381168114610128575f80fd5b919050565b5f6080828403121561013d575f80fd5b6040516080810181811067ffffffffffffffff82111715610160576101606100d4565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f8301126101a0575f80fd5b813567ffffffffffffffff808211156101bb576101bb6100d4565b604051601f8301601f19908116603f011681019082821181831017156101e3576101e36100d4565b816040528381528660208588010111156101fb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f808486036102c081121561022f575f80fd5b6102608082121561023e575f80fd5b6102466100e8565b915061025187610112565b825261025f60208801610112565b602083015261027060408801610112565b6040830152606087013560608301526080870135608083015260a087013560a083015260c087013560c083015260e087013560e08301526101008088013581840152506101208088013581840152506101408088013581840152506101606102d9818901610112565b908301526101806102eb888201610112565b908301526101a06102fd888201610112565b908301526101c061030f888201610112565b908301526101e06103228989830161012d565b8184015250819550610335818801610112565b9450505061028085013567ffffffffffffffff811115610353575f80fd5b61035f87828801610191565b949793965093946102a0013593505050565b82516001600160a01b031681526102808101602084015161039d60208401826001600160a01b03169052565b5060408401516103b860408401826001600160a01b03169052565b50606084015160608301526080840151608083015260a084015160a083015260c084015160c083015260e084015160e08301526101008085015181840152506101208085015181840152506101408085015181840152506101608085015161042a828501826001600160a01b03169052565b5050610180848101516001600160a01b03908116918401919091526101a0808601518216908401526101c0808601518216908401526101e0948501518051958401959095526020850151610200840152604085015161022084015260609094015161024083015291909216610260909201919091529056fe61028060405234801562000011575f80fd5b5060405162003234380380620032348339810160408190526200003491620001a5565b60015f5581516001600160a01b039081166080908152602080850151831660a0908152918501516101a052908401516101c05260c0808501516101e090815260e080870151610200526101208088015190935261010080880151909152610140808801519091529086018051519092528151909201519091528051604090810151610160529051606090810151610180529084015182166102405290920151610260521661022052620002df565b60405161020081016001600160401b03811182821017156200011257634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146200012f575f80fd5b919050565b5f6080828403121562000145575f80fd5b604051608081016001600160401b03811182821017156200017457634e487b7160e01b5f52604160045260245ffd5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b5f80828403610280811215620001b9575f80fd5b61026080821215620001c9575f80fd5b620001d3620000e2565b9150620001e08562000118565b8252620001f06020860162000118565b6020830152620002036040860162000118565b6040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152506101208086015181840152506101408086015181840152506101606200026e81870162000118565b908301526101806200028286820162000118565b908301526101a06200029686820162000118565b908301526101c0620002aa86820162000118565b908301526101e0620002bf8787830162000134565b8184015250819350620002d481860162000118565b925050509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051612e4f620003e55f395f50505f50505f61099201525f50505f818161025f0152611eda01525f818161173a0152818161179d01528181611aca01528181611b0601528181611cf70152611eb401525f81816105500152611e8e01525f61131c01525f61147101525f818161070d015261144501525f50505f81816105710152611f0001525f818161064b015261227401525f81816101e2015281816104160152818161048d01528181610501015281816105cc015261060401525f6121db01525f5050612e4f5ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063074a6de914610043578063414f826d1461006f578063cbc1343414610084575b5f80fd5b6100566100513660046128f5565b610097565b6040805192835260208301919091520160405180910390f35b61008261007d366004612947565b6100b1565b005b6100566100923660046128f5565b6100bf565b5f806100a48585856100cc565b915091505b935093915050565b6100bb828261018e565b5050565b5f806100a485858561024a565b5f806100d6610398565b6100df836103c0565b5f6100e86103f8565b90506100ff6100f561040f565b826004600161043a565b5061010d3387838888610a9e565b909350915061011f602085018561297b565b6001600160a01b0316337f07210cf9a89fae8012341fdc131255728787856379269f07c2e41c23b3c09b5884868561015d60408b0160208c016129a3565b61016a60408c018c6129be565b60405161017c96959493929190612a29565b60405180910390a3506100a960015f55565b610196610398565b5f61019f6103f8565b5f848152600860205260409020600101549091506001600160801b0316156101d2576101cb8183610bdd565b5050610241565b5f6101db61040f565b90506102077f000000000000000000000000000000000000000000000000000000000000000085612a76565b15158061021357508381105b156102315760405163ecd29e8160e01b815260040160405180910390fd5b61023d8483855f61043a565b5050505b6100bb60015f55565b5f80610254610398565b61025d836103c0565b7f000000000000000000000000000000000000000000000000000000000000000085101561029e5760405163211ddda360e11b815260040160405180910390fd5b5f6102a76103f8565b90506102b46100f561040f565b506102c05f3388610dcd565b6102db600360f81b6102d5602087018761297b565b88610ea4565b5f6102f56102ec602087018761297b565b88848989610a9e565b90945090506103048188612a9d565b92505f61031083610f41565b509050610320602087018761297b565b6001600160a01b0316337f1c7999deb68182de77ce89d32f82d0e13eb042921b2bfa9f35aa1c43f62f261e8a888761035e60408d0160208e016129a3565b8a888e806040019061037091906129be565b604051610384989796959493929190612ab0565b60405180910390a35050506100a960015f55565b60025f54036103ba57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f6103ce602083018361297b565b6001600160a01b0316036103f55760405163f0dd15fd60e01b815260040160405180910390fd5b50565b5f61040a670de0b6b3a7640000611083565b905090565b5f61040a427f000000000000000000000000000000000000000000000000000000000000000061108a565b5f84815260086020526040812060018101546001600160801b031615158061046157504286115b1561047a57600101546001600160801b03169050610a96565b5f805f61048561040f565b90505f6104b27f00000000000000000000000000000000000000000000000000000000000000008b612af7565b90505b81811015610526575f818152600860205260409020600101546001600160801b031680156104fe575f828152600860205260409020549094506001600160801b03169250610526565b507f0000000000000000000000000000000000000000000000000000000000000000016104b5565b835f036105985788935061059561053b6110a6565b600254600160801b90046001600160801b03167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006110c6565b92505b506105a2836110e5565b6001850180546001600160801b0319166001600160801b03929092169190911790556105f86105f17f00000000000000000000000000000000000000000000000000000000000000008b612a9d565b8a84611112565b610636896106306106297f000000000000000000000000000000000000000000000000000000000000000083612af7565b429061124b565b84611112565b61063f8861125f565b505f90506008816106707f00000000000000000000000000000000000000000000000000000000000000008d612a9d565b815260208101919091526040015f908120600101546001600160801b0316915061069b60028c6113fc565b5f818152600b60205260408120549192508c8c83156107dc57600192505f806106c786898d865f611430565b915091508060095f8282546106dc9190612af7565b909155506106f79050865f846106f1816114fd565b88611526565b6107018183612af7565b915061073186838a8e877f000000000000000000000000000000000000000000000000000000000000000061169d565b915061074561074083856116e6565b6116fa565b600680546002906107669084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b03160217905550610793826110e5565b600680546010906107b5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b5f6107e86001846113fc565b5f818152600b602052604090205490915080156108f357600194505f80610813838b8f886001611430565b915091508060095f8282546108289190612af7565b909155506108439050835f8461083d816114fd565b8a611723565b61084d8183612a9d565b915061085c61074083876116e6565b6006805460029061087d9084906201000090046001600160701b0316612b0a565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506108aa826110e5565b600680546010906108cc908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505b841561092c5761091e610905876114fd565b61090e836114fd565b6109189190612b4a565b5f611913565b8e6109298482610bdd565b50505b5f61093684610f41565b50604080518e815260208101879052908101899052606081018490526080810182905290915085907fff888cf98d2696e95c8c39aa98c9ad55a5378008f7a56614c9353b7137a57ab79060a00160405180910390a25f8f90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f25964586040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190612b69565b90506001600160a01b03811615610a8457610a815a604051336024820152604481018a905284151560648201525f90819060840160408051601f198184030181529190526020810180516001600160e01b0316633488a6a760e11b1790526001600160a01b03861693929190611952565b50505b509b9d50505050505050505050505050505b949350505050565b5f80610aa9856119d8565b505060075485906001600160801b031680821115610ace57806001600160801b031691505b815f03610ae1575f809250925050610bd3565b610af0600360f81b8984610dcd565b6007545f90610b159084906001600160801b03600160801b90910481169085166119e4565b9050610b20836110e5565b610b2a9083612b84565b600780546001600160801b0319166001600160801b0392909216919091179055610b53816110e5565b60078054601090610b75908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610ba48188876119ff565b9350610bb08684611a95565b841015610bd05760405163c972651760e01b815260040160405180910390fd5b50505b9550959350505050565b600754600360f81b5f908152600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e75435490918291610c27916001600160801b031690612a9d565b9050805f03610c3a576001915050610dc7565b5f610c4485611aa9565b9050805f03610c5857600192505050610dc7565b5f80610c65838589611b44565b9150915080610c7a575f945050505050610dc7565b5f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__632c03ef68858a6040518363ffffffff1660e01b8152600401610cb5929190612c22565b6040805180830381865af4158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf39190612c97565b91509150610d11610d03826114fd565b610d0c90612cb9565b611cb1565b925082610d26575f9650505050505050610dc7565b610d2f826110e5565b600780545f90610d499084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550610d76816110e5565b60078054601090610d98908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550600196505050505050505b92915050565b5f838152600a602090815260408083206001600160a01b0386168452909152902054811115610e0f57604051631e9acf1760e31b815260040160405180910390fd5b5f838152600a602090815260408083206001600160a01b0386168452825280832080548590039055858352600b90915281208054839290610e51908490612a9d565b909155505060408051848152602081018390525f916001600160a01b0385169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b5f838152600a602090815260408083206001600160a01b038616845290915281208054839290610ed5908490612af7565b90915550505f838152600b602052604081208054839290610ef7908490612af7565b909155505060408051848152602081018390526001600160a01b038416915f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101610e97565b5f805f8073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e610f6887611e45565b6040518263ffffffff1660e01b8152600401610f849190612cd3565b6040805180830381865af4158015610f9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc29190612ce2565b9150915080610fd757505f9485945092505050565b600754600b6020527f3ae204c42bf80d9df0ca83c69a5573417a7a5570428fcb513b3a0276db3e7543545f8080527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765490926001600160801b03169161103c91612af7565b6110469190612a9d565b9050805f0361105c57505f958695509350505050565b5f80871161106a575f611075565b6110758488846119e4565b976001975095505050505050565b5f81610dc7565b5f6110958284612a76565b61109f9084612a9d565b9392505050565b6002546004545f9161040a916001600160801b0390911690600f0b611f7f565b5f6110dc826110d68588886119e4565b90611fa4565b95945050505050565b5f6001600160801b0382111561110e57604051630f0af95160e11b815260040160405180910390fd5b5090565b5f83815260086020526040902054600160801b90046001600160801b031680830361113d5750505050565b5f848152600860205260408120546001600160801b03169081900361119557611165836110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b0392909216919091179055611212565b6111e66111e1670de0b6b3a76400006111ae8886612a9d565b6111b89190612d10565b85670de0b6b3a76400006111cc878a612a9d565b6111d69190612d10565b859291906001612013565b6110e5565b5f86815260086020526040902080546001600160801b0319166001600160801b03929092169190911790555b61121b846110e5565b5f9586526008602052604090952080546001600160801b03968716600160801b0296169590951790945550505050565b5f818311611259578261109f565b50919050565b6006545f908190611281908490600160801b90046001600160801b03166116e6565b6006546201000090046001600160701b031692509050818111156113f7575f6112aa8383612a9d565b90506112b96111e182866120ad565b600680546010906112db908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f61131385836120c190919063ffffffff16565b90505f611340827f00000000000000000000000000000000000000000000000000000000000000006116e6565b90508060095f8282546113539190612af7565b9091555061136390508183612a9d565b915061136e826110e5565b600280545f906113889084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506113b5826120d5565b600480545f906113c9908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508493505050505b915091565b5f6001600160f81b038211156114255760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b5f8061143c87856120c1565b91505f611469837f00000000000000000000000000000000000000000000000000000000000000006116e6565b9050611495817f00000000000000000000000000000000000000000000000000000000000000006116e6565b915083156114b8576114a78282612a9d565b6114b19084612a9d565b92506114cf565b6114c28282612a9d565b6114cc9084612af7565b92505b868610156114f2576114e28387896119e4565b92506114ef8287896119e4565b91505b509550959350505050565b5f6001600160ff1b0382111561110e5760405163396ea70160e11b815260040160405180910390fd5b600454600160801b90046001600160801b031661156e6111e182611552670de0b6b3a764000086612d10565b600554600160801b90046001600160801b031691908a5f612013565b600580546001600160801b03928316600160801b029216919091179055611594866110e5565b61159e9082612b84565b600480546001600160801b03928316600160801b0292169190911790556115c4846110e5565b600280545f906115de9084906001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061160b836120fe565b600480545f9061161f908490600f0b612d27565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555061164f856110e5565b60028054601090611671908490600160801b90046001600160801b0316612b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505050565b5f806116b4846116ae8a888a6119e4565b906120c1565b90506116c18884866119e4565b6116cb9082612af7565b9050868111156116db5786810391505b509695505050505050565b5f61109f8383670de0b6b3a76400006119e4565b5f6001600160701b0382111561110e5760405163086b151760e11b815260040160405180910390fd5b6002546001600160801b03168381108061176557507f00000000000000000000000000000000000000000000000000000000000000006117638583612a9d565b105b1561177257611772612139565b6004549084900390600f0b6117878482612b4a565b905083611793866114fd565b1380156117c857507f00000000000000000000000000000000000000000000000000000000000000006117c68383611f7f565b105b156117d5576117d5612139565b600354600160801b90046001600160801b03166118166111e182611801670de0b6b3a764000088612d10565b6005546001600160801b031691908c5f612013565b600580546001600160801b0319166001600160801b03929092169190911790556118408882612a9d565b905061184b816110e5565b600380546001600160801b03928316600160801b029216919091179055611871836110e5565b600280546001600160801b0319166001600160801b039290921691909117905561189a826120fe565b600480546001600160801b0319166001600160801b03929092169190911790556118c3876110e5565b600280546010906118e5908490600160801b90046001600160801b0316612b2a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050505050505050565b60035461192e906111e1906001600160801b03168484612152565b600380546001600160801b0319166001600160801b03929092169190911790555050565b5f60605f805f8661ffff1667ffffffffffffffff81111561197557611975612d54565b6040519080825280601f01601f19166020018201604052801561199f576020820181803683370190505b5090505f808751602089018b8e8ef191503d9250868311156119bf578692505b828152825f602083013e90999098509650505050505050565b5f610dc7826004610bdd565b5f825f1904841183021582026119f8575f80fd5b5091020490565b5f80611a0b85856116e6565b9050611a1681611083565b9450845f03611a28575f91505061109f565b849150611a3b60408401602085016129a3565b15611a6a57611a6385611a51602086018661297b565b611a5e60408701876129be565b6121b4565b9150611a8d565b611a8d85611a7b602086018661297b565b611a8860408701876129be565b6121ce565b509392505050565b5f61109f8383670de0b6b3a7640000612208565b6003545f908190611ac3906001600160801b0316846120ad565b9050611aef7f000000000000000000000000000000000000000000000000000000000000000082612af7565b6002546001600160801b03161115611259576002547f000000000000000000000000000000000000000000000000000000000000000090611b3a9083906001600160801b0316612a9d565b61109f9190612a9d565b611b4c612856565b5f80611b5784611e45565b90505f73__$2b4fa6f02a36eedfe41c65e8dd342257d3$__635a1b419e836040518263ffffffff1660e01b8152600401611b919190612cd3565b6040805180830381865af4158015611bab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcf9190612ce2565b9350905082611be357505f91506100a99050565b5f611c09611c048461016001518561014001516116e690919063ffffffff16565b6114fd565b611c29611c04856101200151866101000151611a9590919063ffffffff16565b611c339190612b4a565b60408051610120810182528581526020808201959095525f8052600b85527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7654818301526060810199909952608089019990995260a088015250815160c087015281015160e086015290940151610100840152509092600192509050565b6002546004805460405163685a2be760e11b81526001600160801b03808516938201849052600f9290920b60248201819052600160801b909404909116604482018190527f00000000000000000000000000000000000000000000000000000000000000006064830152608482018590525f9391849081908190819073__$2b4fa6f02a36eedfe41c65e8dd342257d3$__9063d0b457ce9060a401608060405180830381865af4158015611d67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8b9190612d68565b935093509350935080611da657505f98975050505050505050565b868414611dd757611db6846110e5565b600280546001600160801b0319166001600160801b03929092169190911790555b858314611e0857611de7836120fe565b600480546001600160801b0319166001600160801b03929092169190911790555b848214611e3657611e18826110e5565b600280546001600160801b03928316600160801b0292169190911790555b50600198975050505050505050565b611e4d6128a0565b60408051610180810182526002546001600160801b038082168352600454600f0b6020840152600160801b91829004811693830193909352606082018590527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301527f000000000000000000000000000000000000000000000000000000000000000060e08301526003540482166101008201526005549091610120830191611f45911661222b565b81526004546001600160801b03600160801b9182900481166020840152600554604090930192611f779290041661222b565b905292915050565b5f80611f8b848461229f565b909250905080611f9d57611f9d612139565b5092915050565b5f815f03611fbb5750670de0b6b3a7640000610dc7565b825f03611fc957505f610dc7565b5f611fd3836114fd565b90505f611fe7611fe2866114fd565b6122da565b9050818102611ffe670de0b6b3a764000082612da6565b9050612009816124ff565b9695505050505050565b5f825f036120225750846110dc565b8115612074576120536120358487612af7565b61203f85876116e6565b612049888a6116e6565b6116ae9190612af7565b90505f612060858861124b565b90508082101561206e578091505b506110dc565b82850361208257505f6110dc565b61200961208f8487612a9d565b6120998587611a95565b6120a3888a6116e6565b6116ae9190612a9d565b5f61109f83670de0b6b3a764000084612208565b5f61109f83670de0b6b3a7640000846119e4565b5f60016001607f1b0382111561110e5760405163a5353be560e01b815260040160405180910390fd5b5f60016001607f1b031982128061211b575060016001607f1b0382135b1561110e5760405163a5353be560e01b815260040160405180910390fd5b60405163bb55fd2760e01b815260040160405180910390fd5b5f8061215e845f612691565b612168845f612691565b6121729190612b4a565b90505f81131561218d576121868186612af7565b94506121ab565b5f8112156121ab5761219e81612cb9565b6121a89086612a9d565b94505b50929392505050565b5f60405163350b944160e11b815260040160405180910390fd5b6122026001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684866126a6565b50505050565b5f825f19048411830215820261221c575f80fd5b50910281810615159190040190565b5f80670de0b6b3a764000061223e61040f565b6122489190612d10565b9050808311612257575f612261565b6122618184612a9d565b915061109f612298670de0b6b3a76400007f0000000000000000000000000000000000000000000000000000000000000000612d10565b83906120c1565b5f805f836122ac866114fd565b6122b69190612b4a565b90505f8112156122cc575f8092509250506122d3565b9150600190505b9250929050565b5f8082136122fb5760405163e61b497560e01b815260040160405180910390fd5b506001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff10600390811b90911782811c600f1060021b1782811c909110600190811b90911782811c90911017609f8181036060019290921b91605f1982019061237e9084901c6114fd565b6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b391909102017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b5f680248ce36a70cb26b3e19821361251857505f919050565b680755bf798b4a1bf1e58212612541576040516373a2d6b160e01b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b3988102909303926c240c330e9fb2d9cbaf0fd5aafb1984018402606090811d6d0277594991cfc85f6e2461837cd9018502811d6d1a521255e34f6a5061b25ef1c9c319018502811d6db1bbb201f443cf962f1a1d3db4a5018502811d6e02c72388d9f74f51a9331fed693f1419018502811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765087018702831d9081019087016d01d3967ed30fc4f89c02bab570811901810290921d6e0587f503bb6ea29d25fcb7401964500186026d360d7aeea093263ecc6e0ecb291760621b01818105955092935090919061200974029d9dc38563c32e5c2f6dc192ee70ef65f9978af3860260c38690031c6114fd565b5f81831361269f578161109f565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526126f89084906126fd565b505050565b5f6127116001600160a01b03841683612763565b905080515f141580156127355750808060200190518101906127339190612dd2565b155b156126f857604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061109f83835f845f80856001600160a01b031684866040516127879190612ded565b5f6040518083038185875af1925050503d805f81146127c1576040519150601f19603f3d011682016040523d82523d5f602084013e6127c6565b606091505b50915091506120098683836060826127e6576127e18261282d565b61109f565b81511580156127fd57506001600160a01b0384163b155b1561282657604051639996b31560e01b81526001600160a01b038516600482015260240161275a565b508061109f565b80511561283d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405180610120016040528061286a6128a0565b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f805f60608486031215612907575f80fd5b8335925060208401359150604084013567ffffffffffffffff81111561292b575f80fd5b84016060818703121561293c575f80fd5b809150509250925092565b5f8060408385031215612958575f80fd5b50508035926020909101359150565b6001600160a01b03811681146103f5575f80fd5b5f6020828403121561298b575f80fd5b813561109f81612967565b80151581146103f5575f80fd5b5f602082840312156129b3575f80fd5b813561109f81612996565b5f808335601e198436030181126129d3575f80fd5b83018035915067ffffffffffffffff8211156129ed575f80fd5b6020019150368190038213156122d3575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152856020820152846040820152831515606082015260a060808201525f612a5660a083018486612a01565b98975050505050505050565b634e487b7160e01b5f52601260045260245ffd5b5f82612a8457612a84612a62565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dc757610dc7612a89565b88815287602082015286604082015285151560608201528460808201528360a082015260e060c08201525f612ae960e083018486612a01565b9a9950505050505050505050565b80820180821115610dc757610dc7612a89565b6001600160701b03818116838216019080821115611f9d57611f9d612a89565b6001600160801b03818116838216019080821115611f9d57611f9d612a89565b8181035f831280158383131683831282161715611f9d57611f9d612a89565b5f60208284031215612b79575f80fd5b815161109f81612967565b6001600160801b03828116828216039080821115611f9d57611f9d612a89565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015181840152506101408082015181840152506101608082015181840152505050565b5f6102a082019050612c35828551612ba4565b602084015161018083015260408401516101a083015260608401516101c083015260808401516101e083015260a084015161020083015260c084015161022083015260e084015161024083015261010090930151610260820152610280015290565b5f8060408385031215612ca8575f80fd5b505080516020909101519092909150565b5f600160ff1b8201612ccd57612ccd612a89565b505f0390565b6101808101610dc78284612ba4565b5f8060408385031215612cf3575f80fd5b825191506020830151612d0581612996565b809150509250929050565b8082028115828204841417610dc757610dc7612a89565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715610dc757610dc7612a89565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215612d7b575f80fd5b8451935060208501519250604085015191506060850151612d9b81612996565b939692955090935050565b5f82612db457612db4612a62565b600160ff1b82145f1984141615612dcd57612dcd612a89565b500590565b5f60208284031215612de2575f80fd5b815161109f81612996565b5f82515f5b81811015612e0c5760208186018101518583015201612df2565b505f92019182525091905056fea264697066735822122070c1d6323565ab843f4f8860f22738189f86eac0578d2aa9d44b8b8d8aa3ab7364736f6c63430008160033a2646970667358221220eb7b7c1417fbd07cc73725e8af5c7b0e360fd907db48000ae44d8cb713c34af164736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "deployTarget((address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),address,bytes,bytes32)": "8c98b3c6" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/SupplyLogic.ts b/packages/hyperdrive-artifacts/src/SupplyLogic.ts new file mode 100644 index 000000000..0a1652bad --- /dev/null +++ b/packages/hyperdrive-artifacts/src/SupplyLogic.ts @@ -0,0 +1,161 @@ +export const SupplyLogic = { + name: 'SupplyLogic' as const, + abi: [ + { + "type": "event", + "name": "ReserveDataUpdated", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "liquidityRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "stableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "liquidityIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "variableBorrowIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralDisabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveUsedAsCollateralEnabled", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Supply", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "onBehalfOf", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "referralCode", + "type": "uint16", + "indexed": true, + "internalType": "uint16" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Withdraw", + "inputs": [ + { + "name": "reserve", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x613126610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610055575f3560e01c8063186dea44146100595780631913f1611461008a5780638a5dadd1146100ab578063bf697a26146100ca575b5f80fd5b818015610064575f80fd5b50610078610073366004612afe565b6100e9565b60405190815260200160405180910390f35b818015610095575f80fd5b506100a96100a4366004612bb2565b61041d565b005b8180156100b6575f80fd5b506100a96100c5366004612c43565b610636565b8180156100d5575f80fd5b506100a96100e4366004612d28565b61088f565b80516001600160a01b03165f9081526020869052604081208161010b82610a92565b9050806101e001516001600160a01b031684604001516001600160a01b0316141560405180604001604052806002815260200161393360f01b8152509061016e5760405162461bcd60e51b81526004016101659190612dad565b60405180910390fd5b506101798282610c5d565b6101008101516101e0820151604051630ed1279f60e11b81523360048201525f926101fb9290916001600160a01b0390911690631da24f3e906024015b602060405180830381865afa1580156101d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f59190612df9565b90610cb5565b60208601519091506001810161020e5750805b610219838284610cf7565b855161022a90859085905f85610dfc565b60038401546040805160208101909152885481525f916102559190600160a81b900461ffff16611117565b905080801561026357508282145b156102bb576003850154610284908990600160a81b900461ffff165f61116c565b865160405133916001600160a01b0316907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd905f90a35b6101e08401516040808901516101008701519151636b81068560e11b81523360048201526001600160a01b0391821660248201526044810186905260648101929092529091169063d7020d0a906084015f604051808303815f87803b158015610322575f80fd5b505af1158015610334573d5f803e3d5ffd5b50505050808015610376575060408051602081019091528854908190527f55555555555555555555555555555555555555555555555555555555555555551615155b156103af576103af8b8b8b8b6040518060200160405290815f820154815250508b5f0151338d606001518e608001518f60a001516111ce565b86604001516001600160a01b0316336001600160a01b0316885f01516001600160a01b03167f3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f78560405161040591815260200190565b60405180910390a45093505050505b95945050505050565b80516001600160a01b03165f9081526020859052604081209061043f82610a92565b905061044b8282610c5d565b61045f818385602001518660400151611338565b825160208401516104759184918491905f610dfc565b6101e08101516020840151845161049a926001600160a01b03909116913391906115a5565b6101e08101516040808501516020860151610100850151925163b3f1c93d60e01b81523360048201526001600160a01b039283166024820152604481019190915260648101929092525f92169063b3f1c93d906084016020604051808303815f875af115801561050c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105309190612e10565b905080156105b85761054f878787856101c00151866101e00151611644565b156105b8576003830154610571908690600160a81b900461ffff16600161116c565b83604001516001600160a01b0316845f01516001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b836060015161ffff1684604001516001600160a01b0316855f01516001600160a01b03167f2b627736bca15cd5381dcf80b0bf11fd197d01a037c52b927a881a10fb73ba613388602001516040516106259291906001600160a01b03929092168252602082015260400190565b60405180910390a450505050505050565b80516001600160a01b03165f9081526020869052604090206106578161182c565b6003810154600160a81b900461ffff165f61067f6106748461187b565b6060860151906118de565b905083604001516001600160a01b031684602001516001600160a01b0316141580156106aa57508015155b15610885576020808501516001600160a01b03165f908152868252604090819020815192830190915280548252906106e29084611117565b156107df5760408051602081019091528154908190527f5555555555555555555555555555555555555555555555555555555555555555161561077d5761077d898989895f8a602001516001600160a01b03166001600160a01b031681526020019081526020015f206040518060200160405290815f82015481525050895f01518a602001518b60c001518c60e001518d61010001516111ce565b84606001518560800151036107df5761079781845f61116c565b84602001516001600160a01b0316855f01516001600160a01b03167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b8460a001515f03610883576040808601516001600160a01b039081165f9081526020898152908390208351918201909352865481526004870154610829928d928d92869216611644565b156108815761083a8185600161116c565b85604001516001600160a01b0316865f01516001600160a01b03167e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f260405160405180910390a35b505b505b5050505050505050565b6001600160a01b0385165f90815260208a905260408120906108b082610a92565b6101e08101516040516370a0823160e01b81523360048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156108fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109229190612df9565b905061092e828261191b565b600383015460408051602081019091528a54815261095691600160a81b900461ffff16611117565b15158715150361096857505050610883565b8615610a0f5761097f8c8c8b856101c001516119dd565b604051806040016040528060028152602001611b1960f11b815250906109b85760405162461bcd60e51b81526004016101659190612dad565b5060038301546109d6908a90600160a81b900461ffff16600161116c565b60405133906001600160a01b038a16907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f2905f90a3610a84565b6003830154610a2b908a90600160a81b900461ffff165f61116c565b604080516020810190915289548152610a4e908d908d908d908c338c8c8c6111ce565b60405133906001600160a01b038a16907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd905f90a35b505050505050505050505050565b610a9a612996565b610aa2612996565b60408051602081018252845481526101c0830181905251901c61ffff166101a082015260018301546001600160801b03808216610100840181905260e084015260028501548082166101408501819052610120850152600160801b928390048216610160850152829004166101808301526004808501546001600160a01b039081166101e085015260058601548116610200850152600686015416610220840181905260038601549290920464ffffffffff166102408401526040805163b1bf962d60e01b8152905163b1bf962d928281019260209291908290030181865afa158015610b91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb59190612df9565b8160200181815250815f0181815250508061020001516001600160a01b031663797743386040518163ffffffff1660e01b8152600401608060405180830381865afa158015610c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2a9190612e2b565b64ffffffffff166102608501526060840181905260808401829052604084019290925260c083015260a082015292915050565b600382015464ffffffffff428116600160801b9092041603610c7d575050565b610c878282611a79565b610c918282611b57565b50600301805464ffffffffff60801b1916600160801b4264ffffffffff1602179055565b5f81156b019d971e4fe8401e740000001983900484111517610cd5575f80fd5b506b033b2e3c9fd0803ce800000091026b019d971e4fe8401e74000000010490565b604080518082019091526002815261191b60f11b602082015282610d2e5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261199960f11b602082015281831115610d695760405162461bcd60e51b81526004016101659190612dad565b505f80610d7a856101c00151611cbc565b945050505091508160405180604001604052806002815260200161323760f01b81525090610dbb5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b60208201528115610df45760405162461bcd60e51b81526004016101659190612dad565b505050505050565b610e2360405180608001604052805f81526020015f81526020015f81526020015f81525090565b6101408501516020860151610e3791610cb5565b60608281019182526007880154604080516101408101825260088b01546001600160801b03600160801b918290048116835260208084018b90528385018a905260c08d810151978501979097529651608084015260a0808d0151908401526101a08c0151958301959095526001600160a01b038a811660e0840152835196870184528c5496879052600160fc1b909616151561010083015260098c01540490931661012084015251637b424dcf60e11b815292169163f6849b9e91610efe91600401612e72565b606060405180830381865afa158015610f19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612ef4565b60408401526020830152808252610f5390611d00565b6001870180546001600160801b03928316600160801b0292169190911790556020810151610f8090611d00565b6003870180546001600160801b0319166001600160801b03929092169190911790556040810151610fb090611d00565b6002870180546001600160801b03928316600160801b029216919091179055604080516020810190915286548152610fee9051600160fc1b16151590565b156110a357821561104b5761100283611d00565b600987018054601090611026908490600160801b90046001600160801b0316612f33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b81156110a35761105a82611d00565b60098701805460109061107e908490600160801b90046001600160801b0316612f5a565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b80516020808301516040808501516101008a01516101408b015183519687529486019390935290840152606083015260808201526001600160a01b038516907f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a9060a00160405180910390a2505050505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106111535760405162461bcd60e51b81526004016101659190612dad565b50508151600182811b81019190911c1615155b92915050565b6040805180820190915260028152610dcd60f21b6020820152608083106111a65760405162461bcd60e51b81526004016101659190612dad565b50600182811b81011b81156111c0578354811784556111c8565b835481191684555b50505050565b6001600160a01b038086165f90815260208b8152604080832081516102408101835281546102208201908152815260018201546001600160801b0380821695830195909552600160801b908190048516938201939093526002820154808516606083015283900484166080820152600382015480851660a083015264ffffffffff848204811660c084015261ffff600160a81b83041660e0840152600160b81b90910416610100820152600482015486166101208201526005820154861661014082015260068201548616610160820152600782015490951661018086015260088101548084166101a087015282900483166101c0860152600901548083166101e086015204166102008301526112eb8b8b8b8b8a888b8b611d6c565b9150508015806112ff575081515161ffff16155b60405180604001604052806002815260200161353760f01b81525090610a845760405162461bcd60e51b81526004016101659190612dad565b604080518082019091526002815261191b60f11b60208201528261136f5760405162461bcd60e51b81526004016101659190612dad565b505f805f611381876101c00151611cbc565b94505050925092508260405180604001604052806002815260200161323760f01b815250906113c35760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b602082015281156113fc5760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261064760f31b602082015282156114355760405162461bcd60e51b81526004016101659190612dad565b50866101e001516001600160a01b0316846001600160a01b03161415604051806040016040528060028152602001610e4d60f21b8152509061148a5760405162461bcd60e51b81526004016101659190612dad565b506101c08701515160741c640fffffffff1680158061156c57506101c08801515160301c60ff166114bc90600a61305a565b6114c69082613065565b8661155f8a61010001518a6008015f9054906101000a90046001600160801b03166001600160801b03168c6101e001516001600160a01b031663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611531573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115559190612df9565b6101f5919061307c565b611569919061307c565b11155b60405180604001604052806002815260200161353160f01b815250906108835760405162461bcd60e51b81526004016101659190612dad565b6040516323b872dd60e01b8082526001600160a01b0385811660048401528416602483015260448201839052905f80606483828a5af16115e7573d5f803e3d5ffd5b506115f185611e16565b61163d5760405162461bcd60e51b815260206004820152601960248201527f475076323a206661696c6564207472616e7366657246726f6d000000000000006044820152606401610165565b5050505050565b81515f9060d41c64ffffffffff1615611816575f826001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa158015611694573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b8919061308f565b6001600160a01b0316630542975c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116f3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611717919061308f565b9050806001600160a01b031663707cd7166040518163ffffffff1660e01b8152600401602060405180830381865afa158015611755573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611779919061308f565b604051632474521560e21b81527fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa1580156117e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118079190612e10565b611814575f915050610414565b505b611822868686866119dd565b9695505050505050565b604080516020808201835283549182905282518084019093526002835261323960f01b908301526001603c1b16156118775760405162461bcd60e51b81526004016101659190612dad565b5050565b60038101545f90600160801b900464ffffffffff164281036118a9575050600101546001600160801b031690565b60018301546118d1906001600160801b03808216916101f591600160801b9091041684611eb7565b9392505050565b50919050565b5f81156b033b2e3c9fd0803ce800000060028404190484111715611900575f80fd5b506b033b2e3c9fd0803ce80000009190910260028204010490565b604080518082019091526002815261343360f01b6020820152816119525760405162461bcd60e51b81526004016101659190612dad565b505f80611963846101c00151611cbc565b945050505091508160405180604001604052806002815260200161323760f01b815250906119a45760405162461bcd60e51b81526004016101659190612dad565b50604080518082019091526002815261323960f01b6020820152811561163d5760405162461bcd60e51b81526004016101659190612dad565b5f6119ea825161ffff1690565b5f036119f757505f611a71565b60408051602081019091528354908190527faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16611a3657506001611a71565b6040805160208101909152835481525f90611a52908787611ef3565b5050905080158015611a6d5750825160d41c64ffffffffff16155b9150505b949350505050565b61016081015115611ae7575f611a99826101600151836102400151611eb7565b9050611ab28260e0015182610cb590919063ffffffff16565b6101008301819052611ac390611d00565b6001840180546001600160801b0319166001600160801b0392909216919091179055505b805115611877575f611b03826101800151836102400151611f99565b9050611b1d82610120015182610cb590919063ffffffff16565b6101408301819052611b2e90611d00565b6002840180546001600160801b03929092166001600160801b0319909216919091179055505050565b611b8a6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b816101a001515f03611b9b57505050565b6101208201518251611bac91610cb5565b60208201526101408201518251611bc291610cb5565b60408201526060820151610260830151610240840151611bea92919064ffffffffff16611fa1565b606082018190526040830151611bff91610cb5565b808252602082015160808401516040840151611c1b919061307c565b611c2591906130aa565b611c2f91906130aa565b608082018190526101a0830151611c4691906120c6565b60a0820181905215611cb757611c76611c718361010001518360a001516118de90919063ffffffff16565b611d00565b6008840180545f90611c929084906001600160801b0316612f33565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050565b5167010000000000000081161515916702000000000000008216151591670400000000000000811615159167080000000000000082161515916001603c1b16151590565b5f6001600160801b03821115611d685760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610165565b5090565b5f805f80611db78c8c8c6040518060a001604052808e81526020018b81526020018d6001600160a01b031681526020018a6001600160a01b031681526020018c60ff168152506120ea565b9550955050505050670de0b6b3a764000082101560405180604001604052806002815260200161333560f01b81525090611e045760405162461bcd60e51b81526004016101659190612dad565b50909b909a5098505050505050505050565b5f611e38565b62461bcd60e51b5f52602060045280602452508060445260645ffd5b3d8015611e775760208114611ea857611e727f475076323a206d616c666f726d6564207472616e7366657220726573756c7400601f611e1c565b6118d8565b823b611e9f57611e9f7311d41d8c8e881b9bdd08184818dbdb9d1c9858dd60621b6014611e1c565b600191506118d8565b3d5f803e50505f511515919050565b5f80611eca64ffffffffff8416426130aa565b611ed49085613065565b6301e1338090049050611a71816b033b2e3c9fd0803ce800000061307c565b5f805f611eff866125ac565b15611f87575f611f2f877faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6125ef565b5f81815260208781526040808320546001600160a01b03168084528a8352818420825193840190925290549182905292935060d41c64ffffffffff1690508015611f8357600195509093509150611f909050565b5050505b505f9150819050805b93509350939050565b5f6118d18383425b5f80611fb464ffffffffff8516846130aa565b9050805f03611fd2576b033b2e3c9fd0803ce80000009150506118d1565b5f1981015f808060028511611fe7575f611fec565b600285035b925066038882915c40006120008a80610cb5565b8161200d5761200d6130bd565b0491506301e1338061201f838b610cb5565b8161202c5761202c6130bd565b0490505f8261203b8688613065565b6120459190613065565b6002900490505f8285612058888a613065565b6120629190613065565b61206c9190613065565b60069004905080826301e133806120838a8f613065565b61208d91906130d1565b6120a3906b033b2e3c9fd0803ce800000061307c565b6120ad919061307c565b6120b7919061307c565b9b9a5050505050505050505050565b5f811561138819839004841115176120dc575f80fd5b506127109102611388010490565b5f805f805f806120fc875f0151511590565b1561211857505f94508493508392508291505f1990508161259f565b6121a76040518061026001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581526020015f151581525090565b608088015160ff16156121eb57608088015160ff165f90815260208a90526040902060608901516121d89190612613565b6101808401526101c08301526101a08201525b87602001518160c0015110156124c45760c0810151885161220b916126bc565b61221f5760c08101805160010190526121eb565b60c08101515f90815260208b905260409020546001600160a01b031661020082018190526122575760c08101805160010190526121eb565b6102008101516001600160a01b03165f90815260208c8152604091829020825180830190935280549283905260ff60a884901c81166101e0860152603084901c166060850181905261ffff601085901c811660a08701529093166080850152600a9290920a90830152610180820151158015906122df5750816101e00151896080015160ff16145b61235b57606089015161020083015160405163b3596f0760e01b81526001600160a01b03918216600482015291169063b3596f0790602401602060405180830381865afa158015612332573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123569190612df9565b612362565b8161018001515b825260a082015115801590612382575060c0820151895161238291611117565b156124715761239e896040015182845f0151856020015161270b565b60408301819052610100830180516123b790839061307c565b90525060808901516101e08301516123d29160ff1690612780565b1515610240830152608082015115612428578161024001516123f85781608001516123ff565b816101a001515b826040015161240e9190613065565b8261014001818151612420919061307c565b905250612431565b60016102208301525b816102400151612445578160a0015161244c565b816101c001515b826040015161245b9190613065565b826101600181815161246d919061307c565b9052505b60c0820151895161248191612790565b156124b35761249d896040015182845f015185602001516127dc565b82610120018181516124af919061307c565b9052505b5060c08101805160010190526121eb565b8061010001515f036124d6575f6124f1565b806101000151816101400151816124ef576124ef6130bd565b045b6101408201526101008101515f03612509575f612524565b80610100015181610160015181612522576125226130bd565b045b610160820152610120810151156125665761256181610120015161255b8361016001518461010001516120c690919063ffffffff16565b9061290b565b612569565b5f195b60e0820181905261010082015161012083015161014084015161016085015161022090950151929a509098509650919450925090505b9499939850945094509450565b80515f907faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1680158015906118d157506125e76001826130aa565b161592915050565b81515f9082165f198101198116825b60029190911c908115610414576001016125fe565b81545f90819081908190660100000000000090046001600160a01b031680156126a15760405163b3596f0760e01b81526001600160a01b03828116600483015287169063b3596f0790602401602060405180830381865afa15801561267a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269e9190612df9565b91505b50945461ffff80821697620100009092041695945092505050565b6040805180820190915260028152610dcd60f21b60208201525f90608083106126f85760405162461bcd60e51b81526004016101659190612dad565b5050905160019190911b1c600316151590565b5f806127168561187b565b600486810154604051630ed1279f60e11b81526001600160a01b038a8116938201939093529293505f928792612759928692911690631da24f3e906024016101b6565b6127639190613065565b9050838181612774576127746130bd565b04979650505050505050565b5f82158015906118d15750501490565b6040805180820190915260028152610dcd60f21b60208201525f90608083106127cc5760405162461bcd60e51b81526004016101659190612dad565b50509051600191821b1c16151590565b6006830154604051630ed1279f60e11b81526001600160a01b0386811660048301525f928392911690631da24f3e90602401602060405180830381865afa158015612829573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284d9190612df9565b9050801561286b5761286861286186612940565b8290610cb5565b90505b60058501546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a0823190602401602060405180830381865afa1580156128b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d99190612df9565b6128e3908261307c565b90506128ef8185613065565b9050828181612900576129006130bd565b049695505050505050565b5f8115670de0b6b3a764000060028404190484111715612929575f80fd5b50670de0b6b3a76400009190910260028204010490565b60038101545f90600160801b900464ffffffffff1642810361296e575050600201546001600160801b031690565b60028301546118d1906001600160801b03808216916101f591600160801b9091041684611f99565b6040518061028001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001612a0b60405180602001604052805f81525090565b81525f6020820181905260408201819052606082018190526080820181905260a09091015290565b60405160c0810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b60405290565b6040516080810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b604051610120810167ffffffffffffffff81118282101715612a6257634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114612adb575f80fd5b50565b8035612ae981612ac7565b919050565b803560ff81168114612ae9575f80fd5b5f805f805f858703610140811215612b14575f80fd5b8635955060208701359450604087013593506060870135925060c0607f1982011215612b3e575f80fd5b50612b47612a33565b6080870135612b5581612ac7565b815260a0870135602082015260c0870135612b6f81612ac7565b604082015260e08701356060820152610100870135612b8d81612ac7565b6080820152612b9f6101208801612aee565b60a0820152809150509295509295909350565b5f805f8084860360e0811215612bc6575f80fd5b8535945060208601359350604086013592506080605f1982011215612be9575f80fd5b50612bf2612a68565b6060860135612c0081612ac7565b81526080860135602082015260a0860135612c1a81612ac7565b604082015260c086013561ffff81168114612c33575f80fd5b6060820152939692955090935050565b5f805f805f8587036101a0811215612c59575f80fd5b8635955060208701359450604087013593506060870135925061012080607f1983011215612c85575f80fd5b612c8d612a97565b9150612c9b60808901612ade565b8252612ca960a08901612ade565b6020830152612cba60c08901612ade565b604083015260e088013560608301526101008089013560808401528189013560a084015261014089013560c0840152612cf66101608a01612ade565b60e0840152612d086101808a01612aee565b9083015250949793965091945092919050565b8015158114612adb575f80fd5b5f805f805f805f805f6101208a8c031215612d41575f80fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135612d6881612ac7565b945060a08a0135612d7881612d1b565b935060c08a0135925060e08a0135612d8f81612ac7565b9150612d9e6101008b01612aee565b90509295985092959850929598565b5f602080835283518060208501525f5b81811015612dd957858101830151858201604001528201612dbd565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215612e09575f80fd5b5051919050565b5f60208284031215612e20575f80fd5b81516118d181612d1b565b5f805f8060808587031215612e3e575f80fd5b845193506020850151925060408501519150606085015164ffffffffff81168114612e67575f80fd5b939692955090935050565b5f61014082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e0830151612ed460e08401826001600160a01b03169052565b506101008381015180151584830152505061012092830151919092015290565b5f805f60608486031215612f06575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03818116838216019080821115612f5357612f53612f1f565b5092915050565b6001600160801b03828116828216039080821115612f5357612f53612f1f565b600181815b80851115612fb457815f1904821115612f9a57612f9a612f1f565b80851615612fa757918102915b93841c9390800290612f7f565b509250929050565b5f82612fca57506001611166565b81612fd657505f611166565b8160018114612fec5760028114612ff657613012565b6001915050611166565b60ff84111561300757613007612f1f565b50506001821b611166565b5060208310610133831016604e8410600b8410161715613035575081810a611166565b61303f8383612f7a565b805f190482111561305257613052612f1f565b029392505050565b5f6118d18383612fbc565b808202811582820484141761116657611166612f1f565b8082018082111561116657611166612f1f565b5f6020828403121561309f575f80fd5b81516118d181612ac7565b8181038181111561116657611166612f1f565b634e487b7160e01b5f52601260045260245ffd5b5f826130eb57634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212208d1a7dee0d422ae1ada7afeec01b39bae39632e5cfc05d5410ef90c7e961ea3b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "executeFinalizeTransfer(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,mapping(address => DataTypes.UserConfigurationMap) storage,DataTypes.FinalizeTransferParams)": "8a5dadd1", + "executeSupply(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteSupplyParams)": "1913f161", + "executeUseReserveAsCollateral(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,address,bool,uint256,address,uint8)": "bf697a26", + "executeWithdraw(mapping(address => DataTypes.ReserveData) storage,mapping(uint256 => address) storage,mapping(uint8 => DataTypes.EModeCategory) storage,DataTypes.UserConfigurationMap storage,DataTypes.ExecuteWithdrawParams)": "186dea44" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/UniV3Path.ts b/packages/hyperdrive-artifacts/src/UniV3Path.ts new file mode 100644 index 000000000..4bec77009 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/UniV3Path.ts @@ -0,0 +1,6 @@ +export const UniV3Path = { + name: 'UniV3Path' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220946aea3c8293c5add4bbb376210b6a783ed7ecad09c5de0ace6c7ec15af1961964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/UniV3Zap.ts b/packages/hyperdrive-artifacts/src/UniV3Zap.ts new file mode 100644 index 000000000..4fbd1c269 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/UniV3Zap.ts @@ -0,0 +1,930 @@ +export const UniV3Zap = { + name: 'UniV3Zap' as const, + abi: [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_swapRouter", + "type": "address", + "internalType": "contract ISwapRouter" + }, + { + "name": "_weth", + "type": "address", + "internalType": "contract IWETH" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "receive", + "stateMutability": "payable" + }, + { + "type": "function", + "name": "addLiquidityZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_minLpSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxApr", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "lpShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "closeLongZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeShortZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kind", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "openLongZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_minOutput", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "longAmount", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "openShortZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_bondAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_maxDeposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minVaultSharePrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_hyperdriveOptions", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_zapInOptions", + "type": "tuple", + "internalType": "struct IUniV3Zap.ZapInOptions", + "components": [ + { + "name": "swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "sourceAsset", + "type": "address", + "internalType": "address" + }, + { + "name": "sourceAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "shouldWrap", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isRebasing", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "outputs": [ + { + "name": "maturityTime", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "redeemWithdrawalSharesZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_withdrawalShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalSharesRedeemed", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeLiquidityZap", + "inputs": [ + { + "name": "_hyperdrive", + "type": "address", + "internalType": "contract IHyperdrive" + }, + { + "name": "_lpShares", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_minOutputPerShare", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "_options", + "type": "tuple", + "internalType": "struct IHyperdrive.Options", + "components": [ + { + "name": "destination", + "type": "address", + "internalType": "address" + }, + { + "name": "asBase", + "type": "bool", + "internalType": "bool" + }, + { + "name": "extraData", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "_swapParams", + "type": "tuple", + "internalType": "struct ISwapRouter.ExactInputParams", + "components": [ + { + "name": "path", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountIn", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amountOutMinimum", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "_shouldWrap", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "proceeds", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "withdrawalShares", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "swapRouter", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ISwapRouter" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "weth", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IWETH" + } + ], + "stateMutability": "view" + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInputToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidOutputToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRecipient", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSourceAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSourceAsset", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSwap", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTimestamp", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTransfer", + "inputs": [] + }, + { + "type": "error", + "name": "NotPayable", + "inputs": [] + }, + { + "type": "error", + "name": "ReentrancyGuardReentrantCall", + "inputs": [] + }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ShouldWrapAssets", + "inputs": [] + }, + { + "type": "error", + "name": "TransferFailed", + "inputs": [] + } +] as const, + bytecode: '0x60c060405234801562000010575f80fd5b5060405162002d1238038062002d1283398101604081905262000033916200008f565b60015f8190556200004584826200020b565b506001600160a01b039182166080521660a05250620002d7565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b03811681146200008a575f80fd5b919050565b5f805f60608486031215620000a2575f80fd5b83516001600160401b0380821115620000b9575f80fd5b818601915086601f830112620000cd575f80fd5b815181811115620000e257620000e26200005f565b604051601f8201601f19908116603f011681019083821181831017156200010d576200010d6200005f565b8160405282815260209350898484870101111562000129575f80fd5b5f91505b828210156200014c57848201840151818301850152908301906200012d565b5f8484830101528097505050506200016681870162000073565b93505050620001786040850162000073565b90509250925092565b600181811c908216806200019657607f821691505b602082108103620001b557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200020657805f5260205f20601f840160051c81016020851015620001e25750805b601f840160051c820191505b8181101562000203575f8155600101620001ee565b50505b505050565b81516001600160401b038111156200022757620002276200005f565b6200023f8162000238845462000181565b84620001bb565b602080601f83116001811462000275575f84156200025d5750858301515b5f19600386901b1c1916600185901b178555620002cf565b5f85815260208120601f198616915b82811015620002a55788860151825594840194600190910190840162000284565b5085821015620002c357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a0516129be620003545f395f818161019801528181610d0601528181610ec0015281816113e60152818161192e01528181611a3901528181611c5501528181611d5b0152611da701525f818161025a0152818161123f0152818161130a0152818161135201528181611c8a0152611ce201526129be5ff3fe6080604052600436106100a8575f3560e01c806354fd4d501161006257806354fd4d50146101e55780635bf8404614610217578063ba77fd3d1461022a578063c31c9c0714610249578063d49518381461027c578063dcda7d3d1461029b575f80fd5b806304baa00b146100d557806306fdde031461011e5780631fd5fcd61461013257806323003ba5146101535780633fc8cef3146101875780634b22d586146101d2575f80fd5b366100d1575f546002146100cf57604051632f35253160e01b815260040160405180910390fd5b005b5f80fd5b3480156100e0575f80fd5b50610108604051806040016040528060088152602001670556e6956335a61760c41b81525081565b60405161011591906121fe565b60405180910390f35b348015610129575f80fd5b506101086102ba565b61014561014036600461224a565b610346565b604051908152602001610115565b34801561015e575f80fd5b5061017261016d3660046122e3565b6104be565b60408051928352602083019190915201610115565b348015610192575f80fd5b506101ba7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610115565b6101726101e036600461237a565b6105dc565b3480156101f0575f80fd5b5061010860405180604001604052806007815260200166076312e302e32360cc1b81525081565b61017261022536600461224a565b6106fc565b348015610235575f80fd5b506101456102443660046123fe565b6108ee565b348015610254575f80fd5b506101ba7f000000000000000000000000000000000000000000000000000000000000000081565b348015610287575f80fd5b506101456102963660046123fe565b610a14565b3480156102a6575f80fd5b506101726102b53660046122e3565b610ac9565b600180546102c79061249f565b80601f01602080910402602001604051908101604052809291908181526020018280546102f39061249f565b801561033e5780601f106103155761010080835404028352916020019161033e565b820191905f5260205f20905b81548152906001019060200180831161032157829003601f168201915b505050505081565b5f61034f610b78565b5f61035b888585610ba0565b90505f61037061036a85612617565b83611090565b9050816103e6576103e6896103868360016126b1565b6103d661039388806126c4565b61039d90806126e2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114be92505050565b6001600160a01b031691906114cf565b6103f6604086016020870161272c565b15801561040e575061040e60a085016080860161272c565b156104205761041d8982611592565b90505b5f8261042c575f61042e565b815b9050896001600160a01b0316634c2ac1d982848c8c8c8c6040518763ffffffff1660e01b81526004016104659594939291906127e7565b60206040518083038185885af1158015610481573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906104a69190612811565b93505050506104b460015f55565b9695505050505050565b5f806104c8610b78565b5f6104dd89876104d788612828565b87611782565b604051630e07895b60e11b81529091506001600160a01b038a1690631c0f12b690610512905f90339030908e90600401612833565b5f604051808303815f87803b158015610529575f80fd5b505af115801561053b573d5f803e3d5ffd5b50506040516332f04d0d60e21b81526001600160a01b038c16925063cbc13434915061056f908b908b908b90600401612858565b60408051808303815f875af115801561058a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ae9190612876565b92506105c590506105be86612828565b82866119fd565b9250506105d160015f55565b965096945050505050565b5f806105e6610b78565b5f6105f2888686610ba0565b90505f61060161036a86612617565b90508161062457610624896106178360016126b1565b6103d661039389806126c4565b610634604087016020880161272c565b15801561064c575061064c60a086016080870161272c565b1561065e5761065b8982611592565b90505b5f8261066a575f61066c565b815b9050896001600160a01b031663cba2e58d82848c8c8c6040518663ffffffff1660e01b81526004016106a19493929190612898565b604080518083038185885af11580156106bc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106e19190612876565b90955093505050506106f260015f55565b9550959350505050565b5f80610706610b78565b5f610712898686610ba0565b90505f61072161036a86612617565b90505f61073161039387806126c4565b905082610758576107588b6107478460016126b1565b6001600160a01b03841691906114cf565b5f83610764575f610766565b825b90508b6001600160a01b031663dbbe8070828d8d8d8d6040518663ffffffff1660e01b815260040161079b9493929190612898565b604080518083038185885af11580156107b6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107db9190612876565b9096509450831561085b57478015610855576040515f90339083908381818185875af1925050503d805f811461082c576040519150601f19603f3d011682016040523d82523d5f602084013e610831565b606091505b5050905080610853576040516312171d8360e31b815260040160405180910390fd5b505b506108e1565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561089f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c39190612811565b905080156108df576108df6001600160a01b0384163383611ee8565b505b505050506105d160015f55565b5f6108f7610b78565b5f61090c898661090687612828565b86611782565b9050886001600160a01b0316631c0f12b661092860028b611f1e565b33308b6040518563ffffffff1660e01b815260040161094a9493929190612833565b5f604051808303815f87803b158015610961575f80fd5b505af1158015610973573d5f803e3d5ffd5b50506040516329b23fc160e01b81526001600160a01b038c1692506329b23fc191506109a9908b908b908b908b90600401612898565b6020604051808303815f875af11580156109c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e99190612811565b506109fd6109f685612828565b82856119fd565b915050610a0960015f55565b979650505050505050565b5f610a1d610b78565b5f610a2c898661090687612828565b9050886001600160a01b0316631c0f12b6610a4860018b611f1e565b33308b6040518563ffffffff1660e01b8152600401610a6a9493929190612833565b5f604051808303815f87803b158015610a81575f80fd5b505af1158015610a93573d5f803e3d5ffd5b505060405163ded0623160e01b81526001600160a01b038c16925063ded0623191506109a9908b908b908b908b90600401612898565b5f80610ad3610b78565b5f610ae289876104d788612828565b604051630e07895b60e11b81529091506001600160a01b038a1690631c0f12b690610b1b90600360f81b90339030908e90600401612833565b5f604051808303815f87803b158015610b32575f80fd5b505af1158015610b44573d5f803e3d5ffd5b505060405163074a6de960e01b81526001600160a01b038c16925063074a6de9915061056f908b908b908b90600401612858565b60025f5403610b9a57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f30610bac83806126c4565b610bbd9060408101906020016128bc565b6001600160a01b031614610be457604051634e46966960e11b815260040160405180910390fd5b5f610c35610bf284806126c4565b610bfc90806126e2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611f5292505050565b90505f610c4561039385806126c4565b9050806001600160a01b0316826001600160a01b031603610c7957604051631115766760e01b815260040160405180910390fd5b610c89608085016060860161272c565b15610dd3576001600160a01b038216610ca860408601602087016128bc565b6001600160a01b031603610cce57604051625605b760e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610cf360408601602087016128bc565b6001600160a01b0316148015610d3b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b15610d5857604051625605b760e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610d7d60408601602087016128bc565b6001600160a01b0316148015610db157508360400135341080610db15750610da584806126c4565b60600135846040013514155b15610dce57604051625605b760e01b815260040160405180910390fd5b610e44565b6001600160a01b038216610ded60408601602087016128bc565b6001600160a01b031614610e1357604051625605b760e01b815260040160405180910390fd5b610e1d84806126c4565b60600135846040013514610e44576040516397e0deb160e01b815260040160405180910390fd5b5f866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea591906128d7565b9050610eb7604087016020880161272c565b8015610ef457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8015610f1c57506001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b15610f2d5760019350505050611089565b610f3d604087016020880161272c565b8015610fba5750866001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa491906128d7565b6001600160a01b0316826001600160a01b031614155b15610fd7576040516231010160e51b815260040160405180910390fd5b610fe7604087016020880161272c565b1580156110655750866001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104f91906128d7565b6001600160a01b0316826001600160a01b031614155b15611082576040516231010160e51b815260040160405180910390fd5b5f93505050505b9392505050565b815151602001515f90819081908190600160601b9004905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031686602001516001600160a01b0316036110f9578551606001516110e990346128f2565b8651606001519093509150611339565b8560600151156112725761112b3330886040015189602001516001600160a01b0316611f60909392919063ffffffff16565b611155818760400151600161114091906126b1565b60208901516001600160a01b031691906114cf565b6040868101519051630ea598cb60e41b815260048101919091526001600160a01b0382169063ea598cb0906024016020604051808303815f875af115801561119f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c39190612811565b506040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa158015611206573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122a9190612811565b86516060908101919091528651015161126a907f0000000000000000000000000000000000000000000000000000000000000000906107479060016126b1565b349250611339565b604086015161128f906001600160a01b0383169033903090611f60565b6040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa1580156112d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f59190612811565b865160609081019190915286510151611335907f0000000000000000000000000000000000000000000000000000000000000000906107479060016126b1565b3492505b855160405163c04b8d5960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163c04b8d5991859161138791600401612905565b60206040518083038185885af11580156113a3573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113c89190612811565b9350841561144657604051632e1a7d4d60e01b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b15801561142f575f80fd5b505af1158015611441573d5f803e3d5ffd5b505050505b82156114b4576040515f90339085908381818185875af1925050503d805f811461148b576040519150601f19603f3d011682016040523d82523d5f602084013e611490565b606091505b50509050806114b2576040516312171d8360e31b815260040160405180910390fd5b505b5050505b92915050565b805101600c0151600160601b900490565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526115208482611f99565b61158c576040516001600160a01b0384811660248301525f604483015261158291869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061203a565b61158c848261203a565b50505050565b5f4660011480156115bf57506001600160a01b03831673d7e470043241c10970953bd8374ee6238e77d735145b1561169757826001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611600573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162491906128d7565b6001600160a01b03166319208451836040518263ffffffff1660e01b815260040161165191815260200190565b602060405180830381865afa15801561166c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116909190612811565b90506114b8565b4660011480156116c357506001600160a01b03831673324395d5d835f84a02a75aa26814f6fd22f25698145b1561175557826001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa158015611704573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172891906128d7565b6001600160a01b031663c6e6f592836040518263ffffffff1660e01b815260040161165191815260200190565b6040516363737ac960e11b8152600481018390526001600160a01b0384169063c6e6f59290602401611651565b5f3061179160208601866128bc565b6001600160a01b0316146117b857604051634e46966960e11b815260040160405180910390fd5b825160208101518151909101600c0151600160601b91829004915f91049050806001600160a01b0316826001600160a01b03160361180957604051631115766760e01b815260040160405180910390fd5b5f61181a604088016020890161272c565b1561188657876001600160a01b031663c55dae636040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187f91906128d7565b90506118e9565b876001600160a01b0316630a4e14936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e691906128d7565b90505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611983578461192c57604051633f27152160e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161461197e57604051632df9739b60e01b815260040160405180910390fd5b610a09565b841580156119a35750826001600160a01b0316816001600160a01b031614155b156119c157604051632df9739b60e01b815260040160405180910390fd5b8480156119df5750826001600160a01b0316816001600160a01b0316145b15610a0957604051632df9739b60e01b815260040160405180910390fd5b8251602001515f90600160601b90048215611ba15773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601611aac577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004015f604051808303818588803b158015611a90575f80fd5b505af1158015611aa2573d5f803e3d5ffd5b5050505050611ba1565b6040516370a0823160e01b81523060048201525f906001600160a01b038616906370a0823190602401602060405180830381865afa158015611af0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b149190612811565b9050611b3682611b258360016126b1565b6001600160a01b03881691906114cf565b604051630ea598cb60e41b8152600481018290526001600160a01b0383169063ea598cb0906024016020604051808303815f875af1158015611b7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9e9190612811565b50505b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015611be5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c099190612811565b9050611c2886608001518760600151836120a09092919063ffffffff16565b6080870152606086018190528551805101600c01516020870151600160601b909104906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690831603611c85573060208901525b611ccb7f000000000000000000000000000000000000000000000000000000000000000089606001516001611cba91906126b1565b6001600160a01b03871691906114cf565b60405163c04b8d5960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c04b8d5990611d17908b90600401612905565b6020604051808303815f875af1158015611d33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d579190612811565b94507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603611edd576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d9082906370a0823190602401602060405180830381865afa158015611dfc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e209190612811565b6040518263ffffffff1660e01b8152600401611e3e91815260200190565b5f604051808303815f87803b158015611e55575f80fd5b505af1158015611e67573d5f803e3d5ffd5b505050505f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114611eb4576040519150601f19603f3d011682016040523d82523d5f602084013e611eb9565b606091505b5050905080611edb576040516312171d8360e31b815260040160405180910390fd5b505b505050509392505050565b6040516001600160a01b03838116602483015260448201839052611f1991859182169063a9059cbb90606401611550565b505050565b5f6001600160f81b03821115611f475760405163b7d0949760e01b815260040160405180910390fd5b5060f89190911b1790565b60200151600160601b900490565b6040516001600160a01b03848116602483015283811660448301526064820183905261158c9186918216906323b872dd90608401611550565b5f805f846001600160a01b031684604051611fb4919061295c565b5f604051808303815f865af19150503d805f8114611fed576040519150601f19603f3d011682016040523d82523d5f602084013e611ff2565b606091505b509150915081801561201c57508051158061201c57508080602001905181019061201c919061296d565b801561203157505f856001600160a01b03163b115b95945050505050565b5f61204e6001600160a01b038416836120bb565b905080515f14158015612072575080806020019051810190612070919061296d565b155b15611f1957604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b5f825f1904841183021582026120b4575f80fd5b5091020490565b606061108983835f845f80856001600160a01b031684866040516120df919061295c565b5f6040518083038185875af1925050503d805f8114612119576040519150601f19603f3d011682016040523d82523d5f602084013e61211e565b606091505b50915091506104b486838360608261213e5761213982612185565b611089565b815115801561215557506001600160a01b0384163b155b1561217e57604051639996b31560e01b81526001600160a01b0385166004820152602401612097565b5080611089565b8051156121955780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5f5b838110156121cb5781810151838201526020016121b3565b50505f910152565b5f81518084526121ea8160208601602086016121b1565b601f01601f19169290920160200192915050565b602081525f61108960208301846121d3565b6001600160a01b03811681146121ae575f80fd5b5f60608284031215612234575f80fd5b50919050565b5f60a08284031215612234575f80fd5b5f805f805f8060c0878903121561225f575f80fd5b863561226a81612210565b9550602087013594506040870135935060608701359250608087013567ffffffffffffffff8082111561229b575f80fd5b6122a78a838b01612224565b935060a08901359150808211156122bc575f80fd5b506122c989828a0161223a565b9150509295509295509295565b80151581146121ae575f80fd5b5f805f805f8060c087890312156122f8575f80fd5b863561230381612210565b95506020870135945060408701359350606087013567ffffffffffffffff8082111561232d575f80fd5b6123398a838b01612224565b9450608089013591508082111561234e575f80fd5b5061235b89828a0161223a565b92505060a087013561236c816122d6565b809150509295509295509295565b5f805f805f60a0868803121561238e575f80fd5b853561239981612210565b94506020860135935060408601359250606086013567ffffffffffffffff808211156123c3575f80fd5b6123cf89838a01612224565b935060808801359150808211156123e4575f80fd5b506123f18882890161223a565b9150509295509295909350565b5f805f805f805f60e0888a031215612414575f80fd5b873561241f81612210565b9650602088013595506040880135945060608801359350608088013567ffffffffffffffff80821115612450575f80fd5b61245c8b838c01612224565b945060a08a0135915080821115612471575f80fd5b5061247e8a828b0161223a565b92505060c088013561248f816122d6565b8091505092959891949750929550565b600181811c908216806124b357607f821691505b60208210810361223457634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b60405160a0810167ffffffffffffffff81118282101715612508576125086124d1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612537576125376124d1565b604052919050565b803561254a81612210565b919050565b5f60a0828403121561255f575f80fd5b6125676124e5565b9050813567ffffffffffffffff80821115612580575f80fd5b818401915084601f830112612593575f80fd5b81356020828211156125a7576125a76124d1565b6125b9601f8301601f1916820161250e565b925081835286818386010111156125ce575f80fd5b81818501828501375f8183850101528285526125eb81870161253f565b818601525050505060408201356040820152606082013560608201526080820135608082015292915050565b5f60a08236031215612627575f80fd5b61262f6124e5565b823567ffffffffffffffff811115612645575f80fd5b6126513682860161254f565b825250602083013561266281612210565b602082015260408381013590820152606083013561267f816122d6565b60608201526080830135612692816122d6565b608082015292915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156114b8576114b861269d565b5f8235609e198336030181126126d8575f80fd5b9190910192915050565b5f808335601e198436030181126126f7575f80fd5b83018035915067ffffffffffffffff821115612711575f80fd5b602001915036819003821315612725575f80fd5b9250929050565b5f6020828403121561273c575f80fd5b8135611089816122d6565b5f813561275381612210565b6001600160a01b03168352602082013561276c816122d6565b15156020840152604082013536839003601e1901811261278a575f80fd5b820160208101903567ffffffffffffffff8111156127a6575f80fd5b8036038213156127b4575f80fd5b60606040860152806060860152808260808701375f608082870101526080601f19601f8301168601019250505092915050565b85815284602082015283604082015282606082015260a060808201525f610a0960a0830184612747565b5f60208284031215612821575f80fd5b5051919050565b5f6114b8368361254f565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b838152826020820152606060408201525f6120316060830184612747565b5f8060408385031215612887575f80fd5b505080516020909101519092909150565b848152836020820152826040820152608060608201525f6104b46080830184612747565b5f602082840312156128cc575f80fd5b813561108981612210565b5f602082840312156128e7575f80fd5b815161108981612210565b818103818111156114b8576114b861269d565b602081525f825160a0602084015261292060c08401826121d3565b905060018060a01b0360208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b5f82516126d88184602087016121b1565b5f6020828403121561297d575f80fd5b8151611089816122d656fea264697066735822122034463bb058ee2269f41a7881f7bae5d9ffd44c93ad4b8ed78b08c825b443fc8064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "addLiquidityZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "1fd5fcd6", + "closeLongZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "d4951838", + "closeShortZap(address,uint256,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "ba77fd3d", + "kind()": "04baa00b", + "name()": "06fdde03", + "openLongZap(address,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "4b22d586", + "openShortZap(address,uint256,uint256,uint256,(address,bool,bytes),((bytes,address,uint256,uint256,uint256),address,uint256,bool,bool))": "5bf84046", + "redeemWithdrawalSharesZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "dcda7d3d", + "removeLiquidityZap(address,uint256,uint256,(address,bool,bytes),(bytes,address,uint256,uint256,uint256),bool)": "23003ba5", + "swapRouter()": "c31c9c07", + "version()": "54fd4d50", + "weth()": "3fc8cef3" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/UserConfiguration.ts b/packages/hyperdrive-artifacts/src/UserConfiguration.ts new file mode 100644 index 000000000..d9592e2e1 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/UserConfiguration.ts @@ -0,0 +1,6 @@ +export const UserConfiguration = { + name: 'UserConfiguration' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b6e390ac94856075840bbcbb4f3848e0a7400ae6502b21c6528a54b245c6cbc664736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/UtilsLib.ts b/packages/hyperdrive-artifacts/src/UtilsLib.ts new file mode 100644 index 000000000..3790d6b74 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/UtilsLib.ts @@ -0,0 +1,6 @@ +export const UtilsLib = { + name: 'UtilsLib' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207c785c933eae5fa21fe227a1c5f03f62ac951f2d77879c11e5982a8fe556887b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/ValidationLogic.ts b/packages/hyperdrive-artifacts/src/ValidationLogic.ts new file mode 100644 index 000000000..a1a3b3dc6 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/ValidationLogic.ts @@ -0,0 +1,64 @@ +export const ValidationLogic = { + name: 'ValidationLogic' as const, + abi: [ + { + "type": "function", + "name": "HEALTH_FACTOR_LIQUIDATION_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ISOLATED_COLLATERAL_SUPPLIER_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x60e6610034600b8282823980515f1a60731461002857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106050575f3560e01c80632b0139fa146054578063561cbec914608c578063abfcc86a14609a578063c3525c281460a2575b5f80fd5b607a7fd1d2cf869016112a9af1107bcf43c3759daf22cf734aad47d0c9c726e33bc78281565b60405190815260200160405180910390f35b607a670d2f13f7789f000081565b607a61232881565b607a670de0b6b3a76400008156fea264697066735822122038dabb7fdd3c0dd70d047b3422215b12687e25da61ede72715a236c6c255b81564736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "c3525c28", + "ISOLATED_COLLATERAL_SUPPLIER_ROLE()": "2b0139fa", + "MINIMUM_HEALTH_FACTOR_LIQUIDATION_THRESHOLD()": "561cbec9", + "REBALANCE_UP_LIQUIDITY_RATE_THRESHOLD()": "abfcc86a" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/VersionedInitializable.ts b/packages/hyperdrive-artifacts/src/VersionedInitializable.ts new file mode 100644 index 000000000..bf278b57f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/VersionedInitializable.ts @@ -0,0 +1,6 @@ +export const VersionedInitializable = { + name: 'VersionedInitializable' as const, + abi: [] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/Vm.ts b/packages/hyperdrive-artifacts/src/Vm.ts new file mode 100644 index 000000000..3bd090dec --- /dev/null +++ b/packages/hyperdrive-artifacts/src/Vm.ts @@ -0,0 +1,8581 @@ +export const Vm = { + name: 'Vm' as const, + abi: [ + { + "type": "function", + "name": "accesses", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "readSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "writeSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "activeFork", + "inputs": [], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addr", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "allowCheatcodes", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertFalse", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertFalse", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertTrue", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertTrue", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assume", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "breakpoint", + "inputs": [ + { + "name": "char", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "breakpoint", + "inputs": [ + { + "name": "char", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "chainId", + "inputs": [ + { + "name": "newChainId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "clearMockedCalls", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "coinbase", + "inputs": [ + { + "name": "newCoinbase", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "copyFile", + "inputs": [ + { + "name": "from", + "type": "string", + "internalType": "string" + }, + { + "name": "to", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "copied", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "recursive", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createSelectFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createSelectFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createSelectFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "walletLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "walletLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deal", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newBalance", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteSnapshot", + "inputs": [ + { + "name": "snapshotId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deleteSnapshots", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "derivationPath", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "language", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "language", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "derivationPath", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "difficulty", + "inputs": [ + { + "name": "newDifficulty", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "dumpState", + "inputs": [ + { + "name": "pathToStateJson", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "etch", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "newRuntimeBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "eth_getLogs", + "inputs": [ + { + "name": "fromBlock", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toBlock", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "logs", + "type": "tuple[]", + "internalType": "struct VmSafe.EthGetLogs[]", + "components": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "blockNumber", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "transactionHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "transactionIndex", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "logIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "removed", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "exists", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "gas", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "gas", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "count", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "count", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "count", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCallMinGas", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minGas", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCallMinGas", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minGas", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "count", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectEmit", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectEmit", + "inputs": [ + { + "name": "checkTopic1", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic2", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic3", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkData", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectEmit", + "inputs": [ + { + "name": "checkTopic1", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic2", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic3", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkData", + "type": "bool", + "internalType": "bool" + }, + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectEmit", + "inputs": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectRevert", + "inputs": [ + { + "name": "revertData", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectRevert", + "inputs": [ + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectRevert", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectSafeMemory", + "inputs": [ + { + "name": "min", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "max", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectSafeMemoryCall", + "inputs": [ + { + "name": "min", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "max", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fee", + "inputs": [ + { + "name": "newBasefee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ffi", + "inputs": [ + { + "name": "commandInput", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "result", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fsMetadata", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "metadata", + "type": "tuple", + "internalType": "struct VmSafe.FsMetadata", + "components": [ + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + }, + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "readOnly", + "type": "bool", + "internalType": "bool" + }, + { + "name": "modified", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "accessed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "created", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockNumber", + "inputs": [], + "outputs": [ + { + "name": "height", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockTimestamp", + "inputs": [], + "outputs": [ + { + "name": "timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "creationBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "runtimeBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLabel", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "currentLabel", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMappingKeyAndParentOf", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "elementSlot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "found", + "type": "bool", + "internalType": "bool" + }, + { + "name": "key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "parent", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getMappingLength", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "mappingSlot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getMappingSlotAt", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "mappingSlot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "idx", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNonce", + "inputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getRecordedLogs", + "inputs": [], + "outputs": [ + { + "name": "logs", + "type": "tuple[]", + "internalType": "struct VmSafe.Log[]", + "components": [ + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isPersistent", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "persistent", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "keyExists", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "keyExistsJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "keyExistsToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "label", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "loadAllocs", + "inputs": [ + { + "name": "pathToAllocsJson", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "accounts", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "account0", + "type": "address", + "internalType": "address" + }, + { + "name": "account1", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "account0", + "type": "address", + "internalType": "address" + }, + { + "name": "account1", + "type": "address", + "internalType": "address" + }, + { + "name": "account2", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mockCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mockCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mockCallRevert", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mockCallRevert", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseAddress", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBool", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes32", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseInt", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonAddress", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonAddressArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBool", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBoolArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes32", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes32Array", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytesArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonInt", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonIntArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonKeys", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "keys", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonString", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonStringArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonUint", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonUintArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlAddress", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlAddressArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBool", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBoolArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes32", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes32Array", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytesArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlInt", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlIntArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlKeys", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "keys", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlString", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlStringArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlUint", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlUintArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseUint", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "pauseGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "prank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + }, + { + "name": "txOrigin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "prank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "prevrandao", + "inputs": [ + { + "name": "newPrevrandao", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "projectRoot", + "inputs": [], + "outputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readCallers", + "inputs": [], + "outputs": [ + { + "name": "callerMode", + "type": "uint8", + "internalType": "enum VmSafe.CallerMode" + }, + { + "name": "msgSender", + "type": "address", + "internalType": "address" + }, + { + "name": "txOrigin", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "maxDepth", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "maxDepth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "followLinks", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "line", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readLink", + "inputs": [ + { + "name": "linkPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "targetPath", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "record", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "recordLogs", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rememberKey", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "recursive", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "replace", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + }, + { + "name": "from", + "type": "string", + "internalType": "string" + }, + { + "name": "to", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "resetNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resumeGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revertTo", + "inputs": [ + { + "name": "snapshotId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revertToAndDelete", + "inputs": [ + { + "name": "snapshotId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokePersistent", + "inputs": [ + { + "name": "accounts", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokePersistent", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "roll", + "inputs": [ + { + "name": "newHeight", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rpc", + "inputs": [ + { + "name": "method", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rpcUrl", + "inputs": [ + { + "name": "rpcAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrlStructs", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "tuple[]", + "internalType": "struct VmSafe.Rpc[]", + "components": [ + { + "name": "key", + "type": "string", + "internalType": "string" + }, + { + "name": "url", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrls", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "string[2][]", + "internalType": "string[2][]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "selectFork", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeJson", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setEnv", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setNonceUnsafe", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sign", + "inputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sign", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "signP256", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "skip", + "inputs": [ + { + "name": "skipTest", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sleep", + "inputs": [ + { + "name": "duration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "snapshot", + "inputs": [], + "outputs": [ + { + "name": "snapshotId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "split", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + }, + { + "name": "delimiter", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "outputs", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startMappingRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startPrank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startPrank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + }, + { + "name": "txOrigin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startStateDiffRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopAndReturnStateDiff", + "inputs": [], + "outputs": [ + { + "name": "accountAccesses", + "type": "tuple[]", + "internalType": "struct VmSafe.AccountAccess[]", + "components": [ + { + "name": "chainInfo", + "type": "tuple", + "internalType": "struct VmSafe.ChainInfo", + "components": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "chainId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "kind", + "type": "uint8", + "internalType": "enum VmSafe.AccountAccessKind" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "accessor", + "type": "address", + "internalType": "address" + }, + { + "name": "initialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "oldBalance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "newBalance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deployedCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "reverted", + "type": "bool", + "internalType": "bool" + }, + { + "name": "storageAccesses", + "type": "tuple[]", + "internalType": "struct VmSafe.StorageAccess[]", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "isWrite", + "type": "bool", + "internalType": "bool" + }, + { + "name": "previousValue", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newValue", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "reverted", + "type": "bool", + "internalType": "bool" + } + ] + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopExpectSafeMemory", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopMappingRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopPrank", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "store", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "toBase64", + "inputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64URL", + "inputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64URL", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toLowercase", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toUppercase", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "transact", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transact", + "inputs": [ + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "trim", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "tryFfi", + "inputs": [ + { + "name": "commandInput", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "result", + "type": "tuple", + "internalType": "struct VmSafe.FfiResult", + "components": [ + { + "name": "exitCode", + "type": "int32", + "internalType": "int32" + }, + { + "name": "stdout", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "stderr", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "txGasPrice", + "inputs": [ + { + "name": "newGasPrice", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "unixTime", + "inputs": [], + "outputs": [ + { + "name": "milliseconds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "warp", + "inputs": [ + { + "name": "newTimestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeToml", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeToml", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "accesses(address)": "65bc9481", + "activeFork()": "2f103f22", + "addr(uint256)": "ffa18649", + "allowCheatcodes(address)": "ea060291", + "assertApproxEqAbs(int256,int256,uint256)": "240f839d", + "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621", + "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6", + "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062", + "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc", + "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4", + "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce", + "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2", + "assertApproxEqRel(int256,int256,uint256)": "fea2d14f", + "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72", + "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4", + "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33", + "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc", + "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4", + "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977", + "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd", + "assertEq(address,address)": "515361f6", + "assertEq(address,address,string)": "2f2769d1", + "assertEq(address[],address[])": "3868ac34", + "assertEq(address[],address[],string)": "3e9173c5", + "assertEq(bool,bool)": "f7fe3477", + "assertEq(bool,bool,string)": "4db19e7e", + "assertEq(bool[],bool[])": "707df785", + "assertEq(bool[],bool[],string)": "e48a8f8d", + "assertEq(bytes,bytes)": "97624631", + "assertEq(bytes,bytes,string)": "e24fed00", + "assertEq(bytes32,bytes32)": "7c84c69b", + "assertEq(bytes32,bytes32,string)": "c1fa1ed0", + "assertEq(bytes32[],bytes32[])": "0cc9ee84", + "assertEq(bytes32[],bytes32[],string)": "e03e9177", + "assertEq(bytes[],bytes[])": "e5fb9b4a", + "assertEq(bytes[],bytes[],string)": "f413f0b6", + "assertEq(int256,int256)": "fe74f05b", + "assertEq(int256,int256,string)": "714a2f13", + "assertEq(int256[],int256[])": "711043ac", + "assertEq(int256[],int256[],string)": "191f1b30", + "assertEq(string,string)": "f320d963", + "assertEq(string,string,string)": "36f656d8", + "assertEq(string[],string[])": "cf1c049c", + "assertEq(string[],string[],string)": "eff6b27d", + "assertEq(uint256,uint256)": "98296c54", + "assertEq(uint256,uint256,string)": "88b44c85", + "assertEq(uint256[],uint256[])": "975d5a12", + "assertEq(uint256[],uint256[],string)": "5d18c73a", + "assertEqDecimal(int256,int256,uint256)": "48016c04", + "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5", + "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c", + "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef", + "assertFalse(bool)": "a5982885", + "assertFalse(bool,string)": "7ba04809", + "assertGe(int256,int256)": "0a30b771", + "assertGe(int256,int256,string)": "a84328dd", + "assertGe(uint256,uint256)": "a8d4d1d9", + "assertGe(uint256,uint256,string)": "e25242c0", + "assertGeDecimal(int256,int256,uint256)": "dc28c0f1", + "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b", + "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a", + "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133", + "assertGt(int256,int256)": "5a362d45", + "assertGt(int256,int256,string)": "f8d33b9b", + "assertGt(uint256,uint256)": "db07fcd2", + "assertGt(uint256,uint256,string)": "d9a3c4d2", + "assertGtDecimal(int256,int256,uint256)": "78611f0e", + "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab", + "assertGtDecimal(uint256,uint256,uint256)": "eccd2437", + "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d", + "assertLe(int256,int256)": "95fd154e", + "assertLe(int256,int256,string)": "4dfe692c", + "assertLe(uint256,uint256)": "8466f415", + "assertLe(uint256,uint256,string)": "d17d4b0d", + "assertLeDecimal(int256,int256,uint256)": "11d1364a", + "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788", + "assertLeDecimal(uint256,uint256,uint256)": "c304aab7", + "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0", + "assertLt(int256,int256)": "3e914080", + "assertLt(int256,int256,string)": "9ff531e3", + "assertLt(uint256,uint256)": "b12fc005", + "assertLt(uint256,uint256,string)": "65d5c135", + "assertLtDecimal(int256,int256,uint256)": "dbe8d88b", + "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0", + "assertLtDecimal(uint256,uint256,uint256)": "2077337e", + "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037", + "assertNotEq(address,address)": "b12e1694", + "assertNotEq(address,address,string)": "8775a591", + "assertNotEq(address[],address[])": "46d0b252", + "assertNotEq(address[],address[],string)": "72c7e0b5", + "assertNotEq(bool,bool)": "236e4d66", + "assertNotEq(bool,bool,string)": "1091a261", + "assertNotEq(bool[],bool[])": "286fafea", + "assertNotEq(bool[],bool[],string)": "62c6f9fb", + "assertNotEq(bytes,bytes)": "3cf78e28", + "assertNotEq(bytes,bytes,string)": "9507540e", + "assertNotEq(bytes32,bytes32)": "898e83fc", + "assertNotEq(bytes32,bytes32,string)": "b2332f51", + "assertNotEq(bytes32[],bytes32[])": "0603ea68", + "assertNotEq(bytes32[],bytes32[],string)": "b873634c", + "assertNotEq(bytes[],bytes[])": "edecd035", + "assertNotEq(bytes[],bytes[],string)": "1dcd1f68", + "assertNotEq(int256,int256)": "f4c004e3", + "assertNotEq(int256,int256,string)": "4724c5b9", + "assertNotEq(int256[],int256[])": "0b72f4ef", + "assertNotEq(int256[],int256[],string)": "d3977322", + "assertNotEq(string,string)": "6a8237b3", + "assertNotEq(string,string,string)": "78bdcea7", + "assertNotEq(string[],string[])": "bdfacbe8", + "assertNotEq(string[],string[],string)": "b67187f3", + "assertNotEq(uint256,uint256)": "b7909320", + "assertNotEq(uint256,uint256,string)": "98f9bdbd", + "assertNotEq(uint256[],uint256[])": "56f29cba", + "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f", + "assertNotEqDecimal(int256,int256,uint256)": "14e75680", + "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b", + "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7", + "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558", + "assertTrue(bool)": "0c9fd581", + "assertTrue(bool,string)": "a34edc03", + "assume(bool)": "4c63e562", + "breakpoint(string)": "f0259e92", + "breakpoint(string,bool)": "f7d39a8d", + "broadcast()": "afc98040", + "broadcast(address)": "e6962cdb", + "broadcast(uint256)": "f67a965b", + "chainId(uint256)": "4049ddd2", + "clearMockedCalls()": "3fdf4e15", + "closeFile(string)": "48c3241f", + "coinbase(address)": "ff483c54", + "computeCreate2Address(bytes32,bytes32)": "890c283b", + "computeCreate2Address(bytes32,bytes32,address)": "d323826a", + "computeCreateAddress(address,uint256)": "74637a7a", + "copyFile(string,string)": "a54a87d8", + "createDir(string,bool)": "168b64d3", + "createFork(string)": "31ba3498", + "createFork(string,bytes32)": "7ca29682", + "createFork(string,uint256)": "6ba3ba2b", + "createSelectFork(string)": "98680034", + "createSelectFork(string,bytes32)": "84d52b7a", + "createSelectFork(string,uint256)": "71ee464d", + "createWallet(string)": "7404f1d2", + "createWallet(uint256)": "7a675bb6", + "createWallet(uint256,string)": "ed7c5462", + "deal(address,uint256)": "c88a5e6d", + "deleteSnapshot(uint256)": "a6368557", + "deleteSnapshots()": "421ae469", + "deriveKey(string,string,uint32)": "6bcb2c1b", + "deriveKey(string,string,uint32,string)": "29233b1f", + "deriveKey(string,uint32)": "6229498b", + "deriveKey(string,uint32,string)": "32c8176d", + "difficulty(uint256)": "46cc92d9", + "dumpState(string)": "709ecd3f", + "envAddress(string)": "350d56bf", + "envAddress(string,string)": "ad31b9fa", + "envBool(string)": "7ed1ec7d", + "envBool(string,string)": "aaaddeaf", + "envBytes(string)": "4d7baf06", + "envBytes(string,string)": "ddc2651b", + "envBytes32(string)": "97949042", + "envBytes32(string,string)": "5af231c1", + "envInt(string)": "892a0c61", + "envInt(string,string)": "42181150", + "envOr(string,address)": "561fe540", + "envOr(string,bool)": "4777f3cf", + "envOr(string,bytes)": "b3e47705", + "envOr(string,bytes32)": "b4a85892", + "envOr(string,int256)": "bbcb713e", + "envOr(string,string)": "d145736c", + "envOr(string,string,address[])": "c74e9deb", + "envOr(string,string,bool[])": "eb85e83b", + "envOr(string,string,bytes32[])": "2281f367", + "envOr(string,string,bytes[])": "64bc3e64", + "envOr(string,string,int256[])": "4700d74b", + "envOr(string,string,string[])": "859216bc", + "envOr(string,string,uint256[])": "74318528", + "envOr(string,uint256)": "5e97348f", + "envString(string)": "f877cb19", + "envString(string,string)": "14b02bc9", + "envUint(string)": "c1978d1f", + "envUint(string,string)": "f3dec099", + "etch(address,bytes)": "b4d6c782", + "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b", + "exists(string)": "261a323e", + "expectCall(address,bytes)": "bd6af434", + "expectCall(address,bytes,uint64)": "c1adbbff", + "expectCall(address,uint256,bytes)": "f30c7ba3", + "expectCall(address,uint256,bytes,uint64)": "a2b1a1ae", + "expectCall(address,uint256,uint64,bytes)": "23361207", + "expectCall(address,uint256,uint64,bytes,uint64)": "65b7b7cc", + "expectCallMinGas(address,uint256,uint64,bytes)": "08e4e116", + "expectCallMinGas(address,uint256,uint64,bytes,uint64)": "e13a1834", + "expectEmit()": "440ed10d", + "expectEmit(address)": "86b9620d", + "expectEmit(bool,bool,bool,bool)": "491cc7c2", + "expectEmit(bool,bool,bool,bool,address)": "81bad6f3", + "expectRevert()": "f4844814", + "expectRevert(bytes)": "f28dceb3", + "expectRevert(bytes4)": "c31eb0e0", + "expectSafeMemory(uint64,uint64)": "6d016688", + "expectSafeMemoryCall(uint64,uint64)": "05838bf4", + "fee(uint256)": "39b37ab0", + "ffi(string[])": "89160467", + "fsMetadata(string)": "af368a08", + "getBlockNumber()": "42cbb15c", + "getBlockTimestamp()": "796b89b9", + "getCode(string)": "8d1cc925", + "getDeployedCode(string)": "3ebf73b4", + "getLabel(address)": "28a249b0", + "getMappingKeyAndParentOf(address,bytes32)": "876e24e6", + "getMappingLength(address,bytes32)": "2f2fd63f", + "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4", + "getNonce((address,uint256,uint256,uint256))": "a5748aad", + "getNonce(address)": "2d0335ab", + "getRecordedLogs()": "191553a4", + "isDir(string)": "7d15d019", + "isFile(string)": "e0eb04d4", + "isPersistent(address)": "d92d8efd", + "keyExists(string,string)": "528a683c", + "keyExistsJson(string,string)": "db4235f6", + "keyExistsToml(string,string)": "600903ad", + "label(address,string)": "c657c718", + "load(address,bytes32)": "667f9d70", + "loadAllocs(string)": "b3a056d7", + "makePersistent(address)": "57e22dde", + "makePersistent(address,address)": "4074e0a8", + "makePersistent(address,address,address)": "efb77a75", + "makePersistent(address[])": "1d9e269e", + "mockCall(address,bytes,bytes)": "b96213e4", + "mockCall(address,uint256,bytes,bytes)": "81409b91", + "mockCallRevert(address,bytes,bytes)": "dbaad147", + "mockCallRevert(address,uint256,bytes,bytes)": "d23cd037", + "parseAddress(string)": "c6ce059d", + "parseBool(string)": "974ef924", + "parseBytes(string)": "8f5d232d", + "parseBytes32(string)": "087e6e81", + "parseInt(string)": "42346c5e", + "parseJson(string)": "6a82600a", + "parseJson(string,string)": "85940ef1", + "parseJsonAddress(string,string)": "1e19e657", + "parseJsonAddressArray(string,string)": "2fce7883", + "parseJsonBool(string,string)": "9f86dc91", + "parseJsonBoolArray(string,string)": "91f3b94f", + "parseJsonBytes(string,string)": "fd921be8", + "parseJsonBytes32(string,string)": "1777e59d", + "parseJsonBytes32Array(string,string)": "91c75bc3", + "parseJsonBytesArray(string,string)": "6631aa99", + "parseJsonInt(string,string)": "7b048ccd", + "parseJsonIntArray(string,string)": "9983c28a", + "parseJsonKeys(string,string)": "213e4198", + "parseJsonString(string,string)": "49c4fac8", + "parseJsonStringArray(string,string)": "498fdcf4", + "parseJsonUint(string,string)": "addde2b6", + "parseJsonUintArray(string,string)": "522074ab", + "parseToml(string)": "592151f0", + "parseToml(string,string)": "37736e08", + "parseTomlAddress(string,string)": "65e7c844", + "parseTomlAddressArray(string,string)": "65c428e7", + "parseTomlBool(string,string)": "d30dced6", + "parseTomlBoolArray(string,string)": "127cfe9a", + "parseTomlBytes(string,string)": "d77bfdb9", + "parseTomlBytes32(string,string)": "8e214810", + "parseTomlBytes32Array(string,string)": "3e716f81", + "parseTomlBytesArray(string,string)": "b197c247", + "parseTomlInt(string,string)": "c1350739", + "parseTomlIntArray(string,string)": "d3522ae6", + "parseTomlKeys(string,string)": "812a44b2", + "parseTomlString(string,string)": "8bb8dd43", + "parseTomlStringArray(string,string)": "9f629281", + "parseTomlUint(string,string)": "cc7b0487", + "parseTomlUintArray(string,string)": "b5df27c8", + "parseUint(string)": "fa91454d", + "pauseGasMetering()": "d1a5b36f", + "prank(address)": "ca669fa7", + "prank(address,address)": "47e50cce", + "prevrandao(bytes32)": "3b925549", + "projectRoot()": "d930a0e6", + "readCallers()": "4ad0bac9", + "readDir(string)": "c4bc59e0", + "readDir(string,uint64)": "1497876c", + "readDir(string,uint64,bool)": "8102d70d", + "readFile(string)": "60f9bb11", + "readFileBinary(string)": "16ed7bc4", + "readLine(string)": "70f55728", + "readLink(string)": "9f5684a2", + "record()": "266cf109", + "recordLogs()": "41af2f52", + "rememberKey(uint256)": "22100064", + "removeDir(string,bool)": "45c62011", + "removeFile(string)": "f1afe04d", + "replace(string,string,string)": "e00ad03e", + "resetNonce(address)": "1c72346d", + "resumeGasMetering()": "2bcd50e0", + "revertTo(uint256)": "44d7f0a4", + "revertToAndDelete(uint256)": "03e0aca9", + "revokePersistent(address)": "997a0222", + "revokePersistent(address[])": "3ce969e6", + "roll(uint256)": "1f7b4f30", + "rollFork(bytes32)": "0f29772b", + "rollFork(uint256)": "d9bbf3a1", + "rollFork(uint256,bytes32)": "f2830f7b", + "rollFork(uint256,uint256)": "d74c83a4", + "rpc(string,string)": "1206c8a8", + "rpcUrl(string)": "975a6ce9", + "rpcUrlStructs()": "9d2ad72a", + "rpcUrls()": "a85a8418", + "selectFork(uint256)": "9ebf6827", + "serializeAddress(string,string,address)": "972c6062", + "serializeAddress(string,string,address[])": "1e356e1a", + "serializeBool(string,string,bool)": "ac22e971", + "serializeBool(string,string,bool[])": "92925aa1", + "serializeBytes(string,string,bytes)": "f21d52c7", + "serializeBytes(string,string,bytes[])": "9884b232", + "serializeBytes32(string,string,bytes32)": "2d812b44", + "serializeBytes32(string,string,bytes32[])": "201e43e2", + "serializeInt(string,string,int256)": "3f33db60", + "serializeInt(string,string,int256[])": "7676e127", + "serializeJson(string,string)": "9b3358b0", + "serializeString(string,string,string)": "88da6d35", + "serializeString(string,string,string[])": "561cd6f3", + "serializeUint(string,string,uint256)": "129e9002", + "serializeUint(string,string,uint256[])": "fee9a469", + "setEnv(string,string)": "3d5923ee", + "setNonce(address,uint64)": "f8e18b57", + "setNonceUnsafe(address,uint64)": "9b67b21c", + "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25", + "sign(uint256,bytes32)": "e341eaa4", + "signP256(uint256,bytes32)": "83211b40", + "skip(bool)": "dd82d13e", + "sleep(uint256)": "fa9d8713", + "snapshot()": "9711715a", + "split(string,string)": "8bb75533", + "startBroadcast()": "7fb5297f", + "startBroadcast(address)": "7fec2a8d", + "startBroadcast(uint256)": "ce817d47", + "startMappingRecording()": "3e9705c0", + "startPrank(address)": "06447d56", + "startPrank(address,address)": "45b56078", + "startStateDiffRecording()": "cf22e3c9", + "stopAndReturnStateDiff()": "aa5cf90e", + "stopBroadcast()": "76eadd36", + "stopExpectSafeMemory()": "0956441b", + "stopMappingRecording()": "0d4aae9b", + "stopPrank()": "90c5013b", + "store(address,bytes32,bytes32)": "70ca10bb", + "toBase64(bytes)": "a5cbfe65", + "toBase64(string)": "3f8be2c8", + "toBase64URL(bytes)": "c8bd0e4a", + "toBase64URL(string)": "ae3165b3", + "toLowercase(string)": "50bb0884", + "toString(address)": "56ca623e", + "toString(bool)": "71dce7da", + "toString(bytes)": "71aad10d", + "toString(bytes32)": "b11a19e8", + "toString(int256)": "a322c40e", + "toString(uint256)": "6900a3ae", + "toUppercase(string)": "074ae3d7", + "transact(bytes32)": "be646da1", + "transact(uint256,bytes32)": "4d8abc4b", + "trim(string)": "b2dad155", + "tryFfi(string[])": "f45c1ce7", + "txGasPrice(uint256)": "48f50c0f", + "unixTime()": "625387dc", + "warp(uint256)": "e5d6bf02", + "writeFile(string,string)": "897e0a97", + "writeFileBinary(string,bytes)": "1f21fc80", + "writeJson(string,string)": "e23cd19f", + "writeJson(string,string,string)": "35d6ad46", + "writeLine(string,string)": "619d897f", + "writeToml(string,string)": "c0865ba7", + "writeToml(string,string,string)": "51ac6a33" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/VmSafe.ts b/packages/hyperdrive-artifacts/src/VmSafe.ts new file mode 100644 index 000000000..bc4cfcb24 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/VmSafe.ts @@ -0,0 +1,7230 @@ +export const VmSafe = { + name: 'VmSafe' as const, + abi: [ + { + "type": "function", + "name": "accesses", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "readSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "writeSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addr", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbs", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqAbsDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRel", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertApproxEqRelDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "maxPercentDelta", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertFalse", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertFalse", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertGtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLe", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLeDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLt", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertLtDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool", + "internalType": "bool" + }, + { + "name": "right", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "right", + "type": "bool[]", + "internalType": "bool[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "right", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string", + "internalType": "string" + }, + { + "name": "right", + "type": "string", + "internalType": "string" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "right", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "right", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "address", + "internalType": "address" + }, + { + "name": "right", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "right", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "string[]", + "internalType": "string[]" + }, + { + "name": "right", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "right", + "type": "int256[]", + "internalType": "int256[]" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "right", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEq", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "int256", + "internalType": "int256" + }, + { + "name": "right", + "type": "int256", + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertNotEqDecimal", + "inputs": [ + { + "name": "left", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "right", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertTrue", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assertTrue", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + }, + { + "name": "error", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assume", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "breakpoint", + "inputs": [ + { + "name": "char", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "breakpoint", + "inputs": [ + { + "name": "char", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreate2Address", + "inputs": [ + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "initCodeHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "deployer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "computeCreateAddress", + "inputs": [ + { + "name": "deployer", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "copyFile", + "inputs": [ + { + "name": "from", + "type": "string", + "internalType": "string" + }, + { + "name": "to", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "copied", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "recursive", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "walletLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createWallet", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "walletLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "derivationPath", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "language", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "language", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "derivationPath", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "eth_getLogs", + "inputs": [ + { + "name": "fromBlock", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toBlock", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "logs", + "type": "tuple[]", + "internalType": "struct VmSafe.EthGetLogs[]", + "components": [ + { + "name": "emitter", + "type": "address", + "internalType": "address" + }, + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "blockNumber", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "transactionHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "transactionIndex", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "logIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "removed", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "exists", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ffi", + "inputs": [ + { + "name": "commandInput", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "result", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fsMetadata", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "metadata", + "type": "tuple", + "internalType": "struct VmSafe.FsMetadata", + "components": [ + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + }, + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "readOnly", + "type": "bool", + "internalType": "bool" + }, + { + "name": "modified", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "accessed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "created", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockNumber", + "inputs": [], + "outputs": [ + { + "name": "height", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockTimestamp", + "inputs": [], + "outputs": [ + { + "name": "timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "creationBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "runtimeBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLabel", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "currentLabel", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMappingKeyAndParentOf", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "elementSlot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "found", + "type": "bool", + "internalType": "bool" + }, + { + "name": "key", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "parent", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getMappingLength", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "mappingSlot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getMappingSlotAt", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "mappingSlot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "idx", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNonce", + "inputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getRecordedLogs", + "inputs": [], + "outputs": [ + { + "name": "logs", + "type": "tuple[]", + "internalType": "struct VmSafe.Log[]", + "components": [ + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "result", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "keyExists", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "keyExistsJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "keyExistsToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "label", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "parseAddress", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBool", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes32", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseInt", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonAddress", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonAddressArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBool", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBoolArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes32", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytes32Array", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonBytesArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonInt", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonIntArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonKeys", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "keys", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonString", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonStringArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonUint", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonUintArray", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseToml", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlAddress", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlAddressArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBool", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBoolArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes32", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytes32Array", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlBytesArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlInt", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlIntArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlKeys", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "keys", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlString", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlStringArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlUint", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseTomlUintArray", + "inputs": [ + { + "name": "toml", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseUint", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "pauseGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "projectRoot", + "inputs": [], + "outputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "maxDepth", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "maxDepth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "followLinks", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "entries", + "type": "tuple[]", + "internalType": "struct VmSafe.DirEntry[]", + "components": [ + { + "name": "errorMessage", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "line", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readLink", + "inputs": [ + { + "name": "linkPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "targetPath", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "record", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "recordLogs", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rememberKey", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeDir", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "recursive", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "replace", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + }, + { + "name": "from", + "type": "string", + "internalType": "string" + }, + { + "name": "to", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "resumeGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rpc", + "inputs": [ + { + "name": "method", + "type": "string", + "internalType": "string" + }, + { + "name": "params", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rpcUrl", + "inputs": [ + { + "name": "rpcAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrlStructs", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "tuple[]", + "internalType": "struct VmSafe.Rpc[]", + "components": [ + { + "name": "key", + "type": "string", + "internalType": "string" + }, + { + "name": "url", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrls", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "string[2][]", + "internalType": "string[2][]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeJson", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setEnv", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sign", + "inputs": [ + { + "name": "wallet", + "type": "tuple", + "internalType": "struct VmSafe.Wallet", + "components": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + }, + { + "name": "publicKeyX", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "publicKeyY", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sign", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "signP256", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "sleep", + "inputs": [ + { + "name": "duration", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "split", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + }, + { + "name": "delimiter", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "outputs", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startMappingRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startStateDiffRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopAndReturnStateDiff", + "inputs": [], + "outputs": [ + { + "name": "accountAccesses", + "type": "tuple[]", + "internalType": "struct VmSafe.AccountAccess[]", + "components": [ + { + "name": "chainInfo", + "type": "tuple", + "internalType": "struct VmSafe.ChainInfo", + "components": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "chainId", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "kind", + "type": "uint8", + "internalType": "enum VmSafe.AccountAccessKind" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "accessor", + "type": "address", + "internalType": "address" + }, + { + "name": "initialized", + "type": "bool", + "internalType": "bool" + }, + { + "name": "oldBalance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "newBalance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deployedCode", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "reverted", + "type": "bool", + "internalType": "bool" + }, + { + "name": "storageAccesses", + "type": "tuple[]", + "internalType": "struct VmSafe.StorageAccess[]", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "isWrite", + "type": "bool", + "internalType": "bool" + }, + { + "name": "previousValue", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newValue", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "reverted", + "type": "bool", + "internalType": "bool" + } + ] + }, + { + "name": "depth", + "type": "uint64", + "internalType": "uint64" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopMappingRecording", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "toBase64", + "inputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64URL", + "inputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toBase64URL", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toLowercase", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toUppercase", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "trim", + "inputs": [ + { + "name": "input", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "output", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "tryFfi", + "inputs": [ + { + "name": "commandInput", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "result", + "type": "tuple", + "internalType": "struct VmSafe.FfiResult", + "components": [ + { + "name": "exitCode", + "type": "int32", + "internalType": "int32" + }, + { + "name": "stdout", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "stderr", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "unixTime", + "inputs": [], + "outputs": [ + { + "name": "milliseconds", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeToml", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeToml", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } +] as const, + bytecode: '0x' as `0x${string}`, + methodIdentifiers: { + "accesses(address)": "65bc9481", + "addr(uint256)": "ffa18649", + "assertApproxEqAbs(int256,int256,uint256)": "240f839d", + "assertApproxEqAbs(int256,int256,uint256,string)": "8289e621", + "assertApproxEqAbs(uint256,uint256,uint256)": "16d207c6", + "assertApproxEqAbs(uint256,uint256,uint256,string)": "f710b062", + "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": "3d5bc8bc", + "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": "6a5066d4", + "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": "045c55ce", + "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": "60429eb2", + "assertApproxEqRel(int256,int256,uint256)": "fea2d14f", + "assertApproxEqRel(int256,int256,uint256,string)": "ef277d72", + "assertApproxEqRel(uint256,uint256,uint256)": "8cf25ef4", + "assertApproxEqRel(uint256,uint256,uint256,string)": "1ecb7d33", + "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": "abbf21cc", + "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": "fccc11c4", + "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": "21ed2977", + "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": "82d6c8fd", + "assertEq(address,address)": "515361f6", + "assertEq(address,address,string)": "2f2769d1", + "assertEq(address[],address[])": "3868ac34", + "assertEq(address[],address[],string)": "3e9173c5", + "assertEq(bool,bool)": "f7fe3477", + "assertEq(bool,bool,string)": "4db19e7e", + "assertEq(bool[],bool[])": "707df785", + "assertEq(bool[],bool[],string)": "e48a8f8d", + "assertEq(bytes,bytes)": "97624631", + "assertEq(bytes,bytes,string)": "e24fed00", + "assertEq(bytes32,bytes32)": "7c84c69b", + "assertEq(bytes32,bytes32,string)": "c1fa1ed0", + "assertEq(bytes32[],bytes32[])": "0cc9ee84", + "assertEq(bytes32[],bytes32[],string)": "e03e9177", + "assertEq(bytes[],bytes[])": "e5fb9b4a", + "assertEq(bytes[],bytes[],string)": "f413f0b6", + "assertEq(int256,int256)": "fe74f05b", + "assertEq(int256,int256,string)": "714a2f13", + "assertEq(int256[],int256[])": "711043ac", + "assertEq(int256[],int256[],string)": "191f1b30", + "assertEq(string,string)": "f320d963", + "assertEq(string,string,string)": "36f656d8", + "assertEq(string[],string[])": "cf1c049c", + "assertEq(string[],string[],string)": "eff6b27d", + "assertEq(uint256,uint256)": "98296c54", + "assertEq(uint256,uint256,string)": "88b44c85", + "assertEq(uint256[],uint256[])": "975d5a12", + "assertEq(uint256[],uint256[],string)": "5d18c73a", + "assertEqDecimal(int256,int256,uint256)": "48016c04", + "assertEqDecimal(int256,int256,uint256,string)": "7e77b0c5", + "assertEqDecimal(uint256,uint256,uint256)": "27af7d9c", + "assertEqDecimal(uint256,uint256,uint256,string)": "d0cbbdef", + "assertFalse(bool)": "a5982885", + "assertFalse(bool,string)": "7ba04809", + "assertGe(int256,int256)": "0a30b771", + "assertGe(int256,int256,string)": "a84328dd", + "assertGe(uint256,uint256)": "a8d4d1d9", + "assertGe(uint256,uint256,string)": "e25242c0", + "assertGeDecimal(int256,int256,uint256)": "dc28c0f1", + "assertGeDecimal(int256,int256,uint256,string)": "5df93c9b", + "assertGeDecimal(uint256,uint256,uint256)": "3d1fe08a", + "assertGeDecimal(uint256,uint256,uint256,string)": "8bff9133", + "assertGt(int256,int256)": "5a362d45", + "assertGt(int256,int256,string)": "f8d33b9b", + "assertGt(uint256,uint256)": "db07fcd2", + "assertGt(uint256,uint256,string)": "d9a3c4d2", + "assertGtDecimal(int256,int256,uint256)": "78611f0e", + "assertGtDecimal(int256,int256,uint256,string)": "04a5c7ab", + "assertGtDecimal(uint256,uint256,uint256)": "eccd2437", + "assertGtDecimal(uint256,uint256,uint256,string)": "64949a8d", + "assertLe(int256,int256)": "95fd154e", + "assertLe(int256,int256,string)": "4dfe692c", + "assertLe(uint256,uint256)": "8466f415", + "assertLe(uint256,uint256,string)": "d17d4b0d", + "assertLeDecimal(int256,int256,uint256)": "11d1364a", + "assertLeDecimal(int256,int256,uint256,string)": "aa5cf788", + "assertLeDecimal(uint256,uint256,uint256)": "c304aab7", + "assertLeDecimal(uint256,uint256,uint256,string)": "7fefbbe0", + "assertLt(int256,int256)": "3e914080", + "assertLt(int256,int256,string)": "9ff531e3", + "assertLt(uint256,uint256)": "b12fc005", + "assertLt(uint256,uint256,string)": "65d5c135", + "assertLtDecimal(int256,int256,uint256)": "dbe8d88b", + "assertLtDecimal(int256,int256,uint256,string)": "40f0b4e0", + "assertLtDecimal(uint256,uint256,uint256)": "2077337e", + "assertLtDecimal(uint256,uint256,uint256,string)": "a972d037", + "assertNotEq(address,address)": "b12e1694", + "assertNotEq(address,address,string)": "8775a591", + "assertNotEq(address[],address[])": "46d0b252", + "assertNotEq(address[],address[],string)": "72c7e0b5", + "assertNotEq(bool,bool)": "236e4d66", + "assertNotEq(bool,bool,string)": "1091a261", + "assertNotEq(bool[],bool[])": "286fafea", + "assertNotEq(bool[],bool[],string)": "62c6f9fb", + "assertNotEq(bytes,bytes)": "3cf78e28", + "assertNotEq(bytes,bytes,string)": "9507540e", + "assertNotEq(bytes32,bytes32)": "898e83fc", + "assertNotEq(bytes32,bytes32,string)": "b2332f51", + "assertNotEq(bytes32[],bytes32[])": "0603ea68", + "assertNotEq(bytes32[],bytes32[],string)": "b873634c", + "assertNotEq(bytes[],bytes[])": "edecd035", + "assertNotEq(bytes[],bytes[],string)": "1dcd1f68", + "assertNotEq(int256,int256)": "f4c004e3", + "assertNotEq(int256,int256,string)": "4724c5b9", + "assertNotEq(int256[],int256[])": "0b72f4ef", + "assertNotEq(int256[],int256[],string)": "d3977322", + "assertNotEq(string,string)": "6a8237b3", + "assertNotEq(string,string,string)": "78bdcea7", + "assertNotEq(string[],string[])": "bdfacbe8", + "assertNotEq(string[],string[],string)": "b67187f3", + "assertNotEq(uint256,uint256)": "b7909320", + "assertNotEq(uint256,uint256,string)": "98f9bdbd", + "assertNotEq(uint256[],uint256[])": "56f29cba", + "assertNotEq(uint256[],uint256[],string)": "9a7fbd8f", + "assertNotEqDecimal(int256,int256,uint256)": "14e75680", + "assertNotEqDecimal(int256,int256,uint256,string)": "33949f0b", + "assertNotEqDecimal(uint256,uint256,uint256)": "669efca7", + "assertNotEqDecimal(uint256,uint256,uint256,string)": "f5a55558", + "assertTrue(bool)": "0c9fd581", + "assertTrue(bool,string)": "a34edc03", + "assume(bool)": "4c63e562", + "breakpoint(string)": "f0259e92", + "breakpoint(string,bool)": "f7d39a8d", + "broadcast()": "afc98040", + "broadcast(address)": "e6962cdb", + "broadcast(uint256)": "f67a965b", + "closeFile(string)": "48c3241f", + "computeCreate2Address(bytes32,bytes32)": "890c283b", + "computeCreate2Address(bytes32,bytes32,address)": "d323826a", + "computeCreateAddress(address,uint256)": "74637a7a", + "copyFile(string,string)": "a54a87d8", + "createDir(string,bool)": "168b64d3", + "createWallet(string)": "7404f1d2", + "createWallet(uint256)": "7a675bb6", + "createWallet(uint256,string)": "ed7c5462", + "deriveKey(string,string,uint32)": "6bcb2c1b", + "deriveKey(string,string,uint32,string)": "29233b1f", + "deriveKey(string,uint32)": "6229498b", + "deriveKey(string,uint32,string)": "32c8176d", + "envAddress(string)": "350d56bf", + "envAddress(string,string)": "ad31b9fa", + "envBool(string)": "7ed1ec7d", + "envBool(string,string)": "aaaddeaf", + "envBytes(string)": "4d7baf06", + "envBytes(string,string)": "ddc2651b", + "envBytes32(string)": "97949042", + "envBytes32(string,string)": "5af231c1", + "envInt(string)": "892a0c61", + "envInt(string,string)": "42181150", + "envOr(string,address)": "561fe540", + "envOr(string,bool)": "4777f3cf", + "envOr(string,bytes)": "b3e47705", + "envOr(string,bytes32)": "b4a85892", + "envOr(string,int256)": "bbcb713e", + "envOr(string,string)": "d145736c", + "envOr(string,string,address[])": "c74e9deb", + "envOr(string,string,bool[])": "eb85e83b", + "envOr(string,string,bytes32[])": "2281f367", + "envOr(string,string,bytes[])": "64bc3e64", + "envOr(string,string,int256[])": "4700d74b", + "envOr(string,string,string[])": "859216bc", + "envOr(string,string,uint256[])": "74318528", + "envOr(string,uint256)": "5e97348f", + "envString(string)": "f877cb19", + "envString(string,string)": "14b02bc9", + "envUint(string)": "c1978d1f", + "envUint(string,string)": "f3dec099", + "eth_getLogs(uint256,uint256,address,bytes32[])": "35e1349b", + "exists(string)": "261a323e", + "ffi(string[])": "89160467", + "fsMetadata(string)": "af368a08", + "getBlockNumber()": "42cbb15c", + "getBlockTimestamp()": "796b89b9", + "getCode(string)": "8d1cc925", + "getDeployedCode(string)": "3ebf73b4", + "getLabel(address)": "28a249b0", + "getMappingKeyAndParentOf(address,bytes32)": "876e24e6", + "getMappingLength(address,bytes32)": "2f2fd63f", + "getMappingSlotAt(address,bytes32,uint256)": "ebc73ab4", + "getNonce((address,uint256,uint256,uint256))": "a5748aad", + "getNonce(address)": "2d0335ab", + "getRecordedLogs()": "191553a4", + "isDir(string)": "7d15d019", + "isFile(string)": "e0eb04d4", + "keyExists(string,string)": "528a683c", + "keyExistsJson(string,string)": "db4235f6", + "keyExistsToml(string,string)": "600903ad", + "label(address,string)": "c657c718", + "load(address,bytes32)": "667f9d70", + "parseAddress(string)": "c6ce059d", + "parseBool(string)": "974ef924", + "parseBytes(string)": "8f5d232d", + "parseBytes32(string)": "087e6e81", + "parseInt(string)": "42346c5e", + "parseJson(string)": "6a82600a", + "parseJson(string,string)": "85940ef1", + "parseJsonAddress(string,string)": "1e19e657", + "parseJsonAddressArray(string,string)": "2fce7883", + "parseJsonBool(string,string)": "9f86dc91", + "parseJsonBoolArray(string,string)": "91f3b94f", + "parseJsonBytes(string,string)": "fd921be8", + "parseJsonBytes32(string,string)": "1777e59d", + "parseJsonBytes32Array(string,string)": "91c75bc3", + "parseJsonBytesArray(string,string)": "6631aa99", + "parseJsonInt(string,string)": "7b048ccd", + "parseJsonIntArray(string,string)": "9983c28a", + "parseJsonKeys(string,string)": "213e4198", + "parseJsonString(string,string)": "49c4fac8", + "parseJsonStringArray(string,string)": "498fdcf4", + "parseJsonUint(string,string)": "addde2b6", + "parseJsonUintArray(string,string)": "522074ab", + "parseToml(string)": "592151f0", + "parseToml(string,string)": "37736e08", + "parseTomlAddress(string,string)": "65e7c844", + "parseTomlAddressArray(string,string)": "65c428e7", + "parseTomlBool(string,string)": "d30dced6", + "parseTomlBoolArray(string,string)": "127cfe9a", + "parseTomlBytes(string,string)": "d77bfdb9", + "parseTomlBytes32(string,string)": "8e214810", + "parseTomlBytes32Array(string,string)": "3e716f81", + "parseTomlBytesArray(string,string)": "b197c247", + "parseTomlInt(string,string)": "c1350739", + "parseTomlIntArray(string,string)": "d3522ae6", + "parseTomlKeys(string,string)": "812a44b2", + "parseTomlString(string,string)": "8bb8dd43", + "parseTomlStringArray(string,string)": "9f629281", + "parseTomlUint(string,string)": "cc7b0487", + "parseTomlUintArray(string,string)": "b5df27c8", + "parseUint(string)": "fa91454d", + "pauseGasMetering()": "d1a5b36f", + "projectRoot()": "d930a0e6", + "readDir(string)": "c4bc59e0", + "readDir(string,uint64)": "1497876c", + "readDir(string,uint64,bool)": "8102d70d", + "readFile(string)": "60f9bb11", + "readFileBinary(string)": "16ed7bc4", + "readLine(string)": "70f55728", + "readLink(string)": "9f5684a2", + "record()": "266cf109", + "recordLogs()": "41af2f52", + "rememberKey(uint256)": "22100064", + "removeDir(string,bool)": "45c62011", + "removeFile(string)": "f1afe04d", + "replace(string,string,string)": "e00ad03e", + "resumeGasMetering()": "2bcd50e0", + "rpc(string,string)": "1206c8a8", + "rpcUrl(string)": "975a6ce9", + "rpcUrlStructs()": "9d2ad72a", + "rpcUrls()": "a85a8418", + "serializeAddress(string,string,address)": "972c6062", + "serializeAddress(string,string,address[])": "1e356e1a", + "serializeBool(string,string,bool)": "ac22e971", + "serializeBool(string,string,bool[])": "92925aa1", + "serializeBytes(string,string,bytes)": "f21d52c7", + "serializeBytes(string,string,bytes[])": "9884b232", + "serializeBytes32(string,string,bytes32)": "2d812b44", + "serializeBytes32(string,string,bytes32[])": "201e43e2", + "serializeInt(string,string,int256)": "3f33db60", + "serializeInt(string,string,int256[])": "7676e127", + "serializeJson(string,string)": "9b3358b0", + "serializeString(string,string,string)": "88da6d35", + "serializeString(string,string,string[])": "561cd6f3", + "serializeUint(string,string,uint256)": "129e9002", + "serializeUint(string,string,uint256[])": "fee9a469", + "setEnv(string,string)": "3d5923ee", + "sign((address,uint256,uint256,uint256),bytes32)": "b25c5a25", + "sign(uint256,bytes32)": "e341eaa4", + "signP256(uint256,bytes32)": "83211b40", + "sleep(uint256)": "fa9d8713", + "split(string,string)": "8bb75533", + "startBroadcast()": "7fb5297f", + "startBroadcast(address)": "7fec2a8d", + "startBroadcast(uint256)": "ce817d47", + "startMappingRecording()": "3e9705c0", + "startStateDiffRecording()": "cf22e3c9", + "stopAndReturnStateDiff()": "aa5cf90e", + "stopBroadcast()": "76eadd36", + "stopMappingRecording()": "0d4aae9b", + "toBase64(bytes)": "a5cbfe65", + "toBase64(string)": "3f8be2c8", + "toBase64URL(bytes)": "c8bd0e4a", + "toBase64URL(string)": "ae3165b3", + "toLowercase(string)": "50bb0884", + "toString(address)": "56ca623e", + "toString(bool)": "71dce7da", + "toString(bytes)": "71aad10d", + "toString(bytes32)": "b11a19e8", + "toString(int256)": "a322c40e", + "toString(uint256)": "6900a3ae", + "toUppercase(string)": "074ae3d7", + "trim(string)": "b2dad155", + "tryFfi(string[])": "f45c1ce7", + "unixTime()": "625387dc", + "writeFile(string,string)": "897e0a97", + "writeFileBinary(string,bytes)": "1f21fc80", + "writeJson(string,string)": "e23cd19f", + "writeJson(string,string,string)": "35d6ad46", + "writeLine(string,string)": "619d897f", + "writeToml(string,string)": "c0865ba7", + "writeToml(string,string,string)": "51ac6a33" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/WadRayMath.ts b/packages/hyperdrive-artifacts/src/WadRayMath.ts new file mode 100644 index 000000000..80e3e4e18 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/WadRayMath.ts @@ -0,0 +1,6 @@ +export const WadRayMath = { + name: 'WadRayMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e4e36dee321758970a50ba207d9b2dbcef9c3fe34162b30cf2428802e183803f64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/YieldSpaceMath.ts b/packages/hyperdrive-artifacts/src/YieldSpaceMath.ts new file mode 100644 index 000000000..8982f7342 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/YieldSpaceMath.ts @@ -0,0 +1,6 @@ +export const YieldSpaceMath = { + name: 'YieldSpaceMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a690dac2b10c7f50c8f49f5696207e6ec98638bfd244c81b276d75cf503cff9764736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/console.ts b/packages/hyperdrive-artifacts/src/console.ts new file mode 100644 index 000000000..d5eca266f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/console.ts @@ -0,0 +1,6 @@ +export const console = { + name: 'console' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ce24fb6998c488baf34dc5dcb235b417528a492b5e6b0ebc2b0085cbf79253fd64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/console2.ts b/packages/hyperdrive-artifacts/src/console2.ts new file mode 100644 index 000000000..ad03198e5 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/console2.ts @@ -0,0 +1,6 @@ +export const console2 = { + name: 'console2' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202301753688608e1e83d99602a6bf1652675ab998b359db9c580d5688d4ebab6964736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/safeconsole.ts b/packages/hyperdrive-artifacts/src/safeconsole.ts new file mode 100644 index 000000000..e4dba49aa --- /dev/null +++ b/packages/hyperdrive-artifacts/src/safeconsole.ts @@ -0,0 +1,6 @@ +export const safeconsole = { + name: 'safeconsole' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122020d14503ffa71aaebd45a0d5d3c3f1537fae34e8d8b0244b44e47accf68ef76064736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdError.ts b/packages/hyperdrive-artifacts/src/stdError.ts new file mode 100644 index 000000000..2ff6f222f --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdError.ts @@ -0,0 +1,134 @@ +export const stdError = { + name: 'stdError' as const, + abi: [ + { + "type": "function", + "name": "arithmeticError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "assertionError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "divisionError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "encodeStorageError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "enumConversionError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "indexOOBError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "memOverflowError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "popError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "zeroVarError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + } +] as const, + bytecode: '0x61024a610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c8063986c5f681161006e578063986c5f68146100d5578063b22dc54d146100dd578063b67689da146100e5578063d160e4de146100ed578063fa784a44146100f5575f80fd5b806305ee86121461009f57806310332977146100bd5780631de45560146100c55780638995290f146100cd575b5f80fd5b6100a76100fd565b6040516100b491906101c8565b60405180910390f35b6100a7610138565b6100a761014a565b6100a761015c565b6100a761016e565b6100a7610180565b6100a7610192565b6100a76101a4565b6100a76101b6565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010b565b6040516021602482015260440161010b565b6040516011602482015260440161010b565b6040516041602482015260440161010b565b6040516031602482015260440161010b565b6040516051602482015260440161010b565b6040516022602482015260440161010b565b6040516012602482015260440161010b565b5f602080835283518060208501525f5b818110156101f4578581018301518582016040015282016101d8565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220d7e4cf8b021e56ab3f5ac52c37eab43e941a87aa3b5b231791159560373037e864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: { + "arithmeticError()": "8995290f", + "assertionError()": "10332977", + "divisionError()": "fa784a44", + "encodeStorageError()": "d160e4de", + "enumConversionError()": "1de45560", + "indexOOBError()": "05ee8612", + "memOverflowError()": "986c5f68", + "popError()": "b22dc54d", + "zeroVarError()": "b67689da" +} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdJson.ts b/packages/hyperdrive-artifacts/src/stdJson.ts new file mode 100644 index 000000000..144af6858 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdJson.ts @@ -0,0 +1,6 @@ +export const stdJson = { + name: 'stdJson' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122057eac6179a583ac11ffb36978f2a04dbc77922b7a7e37fb9cc0a12efa317258a64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdMath.ts b/packages/hyperdrive-artifacts/src/stdMath.ts new file mode 100644 index 000000000..69f677127 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdMath.ts @@ -0,0 +1,6 @@ +export const stdMath = { + name: 'stdMath' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220950d7cda8d62a5b775497aaa74197c3a0ade11875e81d63449e87a77f323460264736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdStorage.ts b/packages/hyperdrive-artifacts/src/stdStorage.ts new file mode 100644 index 000000000..3fe298a1e --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdStorage.ts @@ -0,0 +1,6 @@ +export const stdStorage = { + name: 'stdStorage' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220e885b2c4c5210a1dd84228f74269c13d4bd427b319ef6fd92c9a29d41be1b49864736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdStorageSafe.ts b/packages/hyperdrive-artifacts/src/stdStorageSafe.ts new file mode 100644 index 000000000..7e0946824 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdStorageSafe.ts @@ -0,0 +1,57 @@ +export const stdStorageSafe = { + name: 'stdStorageSafe' as const, + abi: [ + { + "type": "event", + "name": "SlotFound", + "inputs": [ + { + "name": "who", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "fsig", + "type": "bytes4", + "indexed": false, + "internalType": "bytes4" + }, + { + "name": "keysHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "slot", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "WARNING_UninitedSlot", + "inputs": [ + { + "name": "who", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "slot", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212204cc1ab2cd6a604f15f9c4ce9584da51f090df0b197c7c615c311f23a31d5919b64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/src/stdToml.ts b/packages/hyperdrive-artifacts/src/stdToml.ts new file mode 100644 index 000000000..bb4acdb68 --- /dev/null +++ b/packages/hyperdrive-artifacts/src/stdToml.ts @@ -0,0 +1,6 @@ +export const stdToml = { + name: 'stdToml' as const, + abi: [] as const, + bytecode: '0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212207ba9e2c3b107114be6d84156685ea16bb6c58fd8e32455dea1f3dca83ee44aca64736f6c63430008160033' as `0x${string}`, + methodIdentifiers: {} as const +}; diff --git a/packages/hyperdrive-artifacts/tsconfig.json b/packages/hyperdrive-artifacts/tsconfig.json index 2447c6ad3..3e85b87c5 100644 --- a/packages/hyperdrive-artifacts/tsconfig.json +++ b/packages/hyperdrive-artifacts/tsconfig.json @@ -4,7 +4,8 @@ "include": ["./*.json", "src"], "exclude": ["node_modules"], "compilerOptions": { + "outDir": "dist", "module": "ESNext", "target": "ESNext" - }, + } } From ca8a1b5bda4619dc9df0bec70f0ea9691b2d9e67 Mon Sep 17 00:00:00 2001 From: Ryan Goree Date: Thu, 20 Mar 2025 15:54:16 -0500 Subject: [PATCH 4/4] Patch parenthesis parsing in `TsType` --- crates/ts-type/src/lib.rs | 60 +-- .../fixed-point-wasm/fixed_point_wasm.cjs | 4 +- packages/fixed-point-wasm/fixed_point_wasm.js | 6 +- .../fixed-point-wasm/fixed_point_wasm_bg.wasm | Bin 192763 -> 196054 bytes packages/hyperdrive-wasm/hyperdrive_wasm.cjs | 288 ++++++------- packages/hyperdrive-wasm/hyperdrive_wasm.d.ts | 250 +++++------ packages/hyperdrive-wasm/hyperdrive_wasm.js | 388 +++++++++--------- .../hyperdrive-wasm/hyperdrive_wasm_bg.wasm | Bin 389368 -> 415501 bytes 8 files changed, 503 insertions(+), 493 deletions(-) diff --git a/crates/ts-type/src/lib.rs b/crates/ts-type/src/lib.rs index 52393d05b..6ef927aff 100644 --- a/crates/ts-type/src/lib.rs +++ b/crates/ts-type/src/lib.rs @@ -239,10 +239,9 @@ impl TsType { } // a & b join c | d -> (a & b & c) | d Self::Union(mut union_types) => { - let first_member = union_types.remove(0); - let intersection = Self::Intersection(types); - let intersected_member = intersection.and(first_member); - union_types.insert(0, intersected_member); + let first_union_member = union_types.remove(0); + let intersection = Self::Intersection(types).and(first_union_member); + union_types.insert(0, intersection); Ok(Self::Union(union_types)) } // a & b join _ -> a & b & _ @@ -258,7 +257,10 @@ impl TsType { Ok(Self::Tuple(types)) } // (a | b) join c -> (a | b | c) - Self::Paren(inner) => inner.join(other), + Self::Paren(inner) => { + let joined = inner.join(other)?; + Ok(Self::Paren(Box::new(joined))) + } _ => Err("Type does not support joining."), } } @@ -304,22 +306,22 @@ impl TsType { '|' => { // push pending as union or an empty union since types can // start with `|` - let member = match pending_type { + let members = match pending_type { Some(ty) => vec![ty], None => vec![], }; - let mut _union = Self::Union(member); + let mut _union = Self::Union(members); pending_stack.push(_union); pending_type = None; } '&' => { // push pending as union or an empty union since types can // start with `&` - let member = match pending_type { + let members = match pending_type { Some(ty) => vec![ty], None => vec![], }; - let intersection = Self::Intersection(member); + let intersection = Self::Intersection(members); pending_stack.push(intersection); pending_type = None; } @@ -328,8 +330,8 @@ impl TsType { if pending_type.is_none() { return Err(type_error_at!(location, "Unexpected `<` found.")); } - let inner = pending_type.unwrap(); - let generic = inner.as_generic(vec![]); + let pending = pending_type.unwrap(); + let generic = pending.as_generic(vec![]); pending_stack.push(generic); pending_type = None; } @@ -339,13 +341,13 @@ impl TsType { if pending_type.is_none() { return Err(type_error_at!(location, "Unexpected `,` found.")); } - let mut inner = pending_type.unwrap(); + let mut pending = pending_type.unwrap(); loop { let top = pending_stack.pop().unwrap(); - inner = top.join(inner).unwrap(); + pending = top.join(pending).unwrap(); - match inner { + match pending { Self::Generic(_, _) => break, Self::IndexedAccess(_, _) => break, Self::Tuple(_) => break, @@ -356,7 +358,7 @@ impl TsType { return Err(type_error_at!(location, "Unexpected `,` found.")); } } - pending_stack.push(inner); + pending_stack.push(pending); pending_type = None; } '>' => { @@ -365,20 +367,21 @@ impl TsType { if pending_type.is_none() { return Err(type_error_at!(location, "Unexpected `>` found.")); }; - let mut ty = pending_type.unwrap(); + let mut pending = pending_type.unwrap(); + loop { let top = pending_stack.pop().unwrap(); - ty = top.join(ty).unwrap(); + pending = top.join(pending).unwrap(); - if let Self::Generic(_, _) = ty { + if let Self::Generic(_, _) = pending { break; } if pending_stack.is_empty() { - return Err(type_error_at!(location, "Unexpected `,` found.")); + return Err(type_error_at!(location, "Unexpected `>` found.")); } } - pending_type = Some(ty); + pending_type = Some(pending); } '[' => { if pending_type.is_none() { @@ -395,19 +398,19 @@ impl TsType { if pending_type.is_none() { return Err(type_error_at!(location, "Unexpected `]` found.")); }; - let mut ty = pending_type.unwrap(); + let mut pending = pending_type.unwrap(); // If there's an ambiguous bracket, it's an array, otherwise // it's the end of a bracketed type on the stack. if ambiguous_bracket { - pending_type = Some(ty.in_array()); + pending_type = Some(pending.in_array()); ambiguous_bracket = false; } else { loop { let top = pending_stack.pop().unwrap(); - ty = top.join(ty).unwrap(); + pending = top.join(pending).unwrap(); - match ty { + match pending { Self::IndexedAccess(_, _) => break, Self::Tuple(_) => break, _ => {} @@ -417,7 +420,7 @@ impl TsType { return Err(type_error_at!(location, "Unexpected `]` found.")); } } - pending_type = Some(ty); + pending_type = Some(pending); } } '(' => { @@ -778,6 +781,13 @@ fn match_simple_type(rust_type: &str) -> Option { mod tests { use super::*; + #[test] + fn test_join_parens() { + let parens = ts_type!((string | number)); + let joined = parens.join(ts_type!(boolean)).unwrap(); + assert_eq!(joined, ts_type!((string | number | boolean))); + } + #[test] fn test_formatting() { let base = ts_type!(string); diff --git a/packages/fixed-point-wasm/fixed_point_wasm.cjs b/packages/fixed-point-wasm/fixed_point_wasm.cjs index 1a24d017e..4ef77b910 100644 --- a/packages/fixed-point-wasm/fixed_point_wasm.cjs +++ b/packages/fixed-point-wasm/fixed_point_wasm.cjs @@ -641,7 +641,7 @@ class FixedPoint { mulDown(other, decimals) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.fixedpoint_mul(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); + wasm.fixedpoint_mulDown(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -695,7 +695,7 @@ class FixedPoint { divDown(other, decimals) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.fixedpoint_div(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); + wasm.fixedpoint_divDown(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; diff --git a/packages/fixed-point-wasm/fixed_point_wasm.js b/packages/fixed-point-wasm/fixed_point_wasm.js index 199cdf4e5..66fb9f99a 100644 --- a/packages/fixed-point-wasm/fixed_point_wasm.js +++ b/packages/fixed-point-wasm/fixed_point_wasm.js @@ -567,7 +567,7 @@ export class FixedPoint { mulDown(other, decimals) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.fixedpoint_mul(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); + wasm.fixedpoint_mulDown(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -621,7 +621,7 @@ export class FixedPoint { divDown(other, decimals) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.fixedpoint_div(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); + wasm.fixedpoint_divDown(retptr, this.__wbg_ptr, addHeapObject(other), isLikeNone(decimals) ? 0xFFFFFF : decimals); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -1535,7 +1535,7 @@ let input; return result.subarray(0, result.length - missingOctets); } - input = base64Decode("AGFzbQEAAAAB0wEfYAJ/fwF/YAJ/fwBgA39/fwF/YAF/AX9gA39/fwBgBH9/f38AYAF/AGAAAX9gBH9/f38Bf2AFf39/f38AYAAAYAV/f39/fwF/YAZ/f39/f38AYAZ/f39/f38Bf2AHf39/f39/fwF/YAN/fn4AYAN/fn4Bf2ABfAF/YAJ/fwF8YAN+f38AYAN+f38Bf2ABfwF8YAV/fn5+fgBgA39+fwBgBH9+fn4AYAV/f35/fwBgBH9+f38AYAV/f3x/fwBgBH98f38AYAV/f31/fwBgBH99f38AAtQfSBguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193YmdfZGVjaW1hbHNfMzAxN2I1MmY3Yzk5NjBiZAADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyRfX3diZ190cmFpbGluZ3plcm9zX2UyOWEyMDZmYTEwNWU0MzYAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193Ymdfcm91bmRpbmdfNjUyM2E3Mzg5NmYyMWI2ZAABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx1fX3diZ19sb2NhbGVfZWRlYWM4ZjFiYmRlZThiNAABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxxfX3diZ19ncm91cF9mOTUzYWYwNTBjMzZhYThmAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzJV9fd2JnX2NvbXBhY3RkaXNwbGF5XzRmMmY2MzM2YmNlYzQ3YmQAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMeX193YmdfcGVyY2VudF81ZWRlNjQ4MzdhYzQ2YjJhAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzFV9fd2JpbmRnZW5fc3RyaW5nX25ldwAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgAGGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx9fX3diZ19jdXJyZW5jeV9iOTNjYWIxNTY3ZDgyZjM5AAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHl9fd2JnX2NvbXBhY3RfNjc0OTBlNjAyMDQ1MThiMAADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx5fX3diZ19kaXNwbGF5XzkyZjMyZjc4NmViYzkyNjMAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMVX193YmluZGdlbl9udW1iZXJfbmV3ABEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzI19fd2JnX2lzZml4ZWRwb2ludF84Zjc1MGViYmE5YTJkMjQ5AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGl9fd2JnX21pbl8yZDA2NDFkMWU3ODU4NjAxAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGl9fd2JnX21heF8yZGRkMjQ3MGQyNTRhMTkzAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX2RlY2ltYWxzX2JhMTQ3OWM2MTkxM2U5MjMAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193YmdfdG9TdHJpbmdfNmZlZjNhZDhiNzVhZDc5ZQADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxFfX3diaW5kZ2VuX3R5cGVvZgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxVfX3diaW5kZ2VuX3N0cmluZ19nZXQAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmdfbmV3X2FiZGE3NmU4ODNiYThhNWYABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMcX193Ymdfc3RhY2tfNjU4Mjc5ZmU0NDU0MWNmNgABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxxfX3diZ19lcnJvcl9mODUxNjY3YWY3MWJjZmM2AAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzDV9fd2JpbmRnZW5fZ2UAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfY3J5cHRvXzFkMWYyMjgyNGE2YTA4MGMAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMUX193YmluZGdlbl9pc19vYmplY3QAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMeX193YmdfcHJvY2Vzc180YTcyODQ3Y2M1MDM5OTViAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX3ZlcnNpb25zX2Y2ODY1NjVlNTg2ZGQ5MzUAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMbX193Ymdfbm9kZV8xMDRhMmZmOGQ2ZWEwM2EyAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzFF9fd2JpbmRnZW5faXNfc3RyaW5nAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHl9fd2JnX3JlcXVpcmVfY2NhOTBiMWE5NGEwMjU1YgAHGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxZfX3diaW5kZ2VuX2lzX2Z1bmN0aW9uAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX21zQ3J5cHRvX2ViMDVlNjJiNTMwYTE1MDgAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMlX193YmdfcmFuZG9tRmlsbFN5bmNfNWM5Yzk1NWFhNTZiNjA0OQABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyZfX3diZ19nZXRSYW5kb21WYWx1ZXNfM2FhNTZhYTZlZGVjODc0YwABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx1fX3diZ19CaWdJbnRfNDJiNjkyYzE4ZTFhYzZkNgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyBfX3diZ19uZXdub2FyZ3NfZTI1ODA4N2NkMGRhYTBlYQAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxtfX3diZ19jYWxsXzI3YzBmODc4MDFkZWRmOTMAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmdfbmV3XzcyZmI5YTE4YjVhZTI2MjQABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfbGVuZ3RoX2RlZTQzM2Q0Yzg1YzkzODcAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMbX193YmluZGdlbl9vYmplY3RfY2xvbmVfcmVmAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzG19fd2JnX3NlbGZfY2UwZGJmYzQ1Y2YyZjViZQAHGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx1fX3diZ193aW5kb3dfYzZmYjkzOWE3ZjQzNjc4MwAHGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyFfX3diZ19nbG9iYWxUaGlzX2QxZTZhZjQ4NTZiYTMzMWIABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfZ2xvYmFsXzIwN2I1NTg5NDI1Mjc0ODkABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMXX193YmluZGdlbl9pc191bmRlZmluZWQAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMhX193YmdfcGFyc2VGbG9hdF9jMDcwZGIzMzZkNjg3ZTUzABIYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGV9fd2JnX29mXzRhMmIzMTNhNDUzZWMwNTkAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfQmlnSW50X2YwMGI4NjQwOTgwMTI3MjUAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193YmdfdG9TdHJpbmdfNjZiZTNjOGUxYzZhN2M3NgAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx9fX3diZ190b1N0cmluZ18wYjUyN2ZjZTBlOGYyYmFiAAQYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGl9fd2JnX25ld18yOGM1MTFkOWJhZWJmYTg5AAAYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzG19fd2JnX2NhbGxfYjNjYTdjNjA1MWY5YmVjMQACGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19uZXdfNWRkODZlYmM5MTdkOWY1MgAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx1fX3diZ19jb25jYXRfM2RlMjI5ZmU0ZmU5MGZlYQAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyFfX3diZ19yZXBsYWNlQWxsXzlkNzdjOGEyNDMwZWFhMTYACxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMcX193Ymdfc2xpY2VfNTJmYjYyNmZmZGM4ZGE4ZgACGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyFfX3diZ19zdGFydHNXaXRoX2Q3YTY0ZDk1MTA3NzRlOGYACBguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMiX193YmdfdG9Mb3dlckNhc2VfY2FhMjYzMmI0MzllODhlYwADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxtfX3diZ190cmltX2NhN2Q1MzZiYzgzZjBlYjQAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfYnVmZmVyXzEyZDA3OWNjMjFlMTRiZGIAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMxX193YmdfbmV3d2l0aGJ5dGVvZmZzZXRhbmRsZW5ndGhfYWE0YTE3YzMzYTA2ZTVjYgACGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19uZXdfNjNiOTJiYzg2NzFlZDQ2NAADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19zZXRfYTQ3YmFjNzAzMDZhMTlhNwAEGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyRfX3diZ19uZXd3aXRobGVuZ3RoX2U5YjQ4NzhjZWJhZGIzZDMAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193Ymdfc3ViYXJyYXlfYTFmNzNjZDRiNWI0MmZlMQACGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19uZXdfOWI5MmU0YTMwYjhmYjA1ZgAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx1fX3diZ19mb3JtYXRfMGQxYTQzNDIyYjA2NTQwOQADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19zZXRfMWY5YjA0ZjE3MDA1NWQzMwACGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxdfX3diaW5kZ2VuX2RlYnVnX3N0cmluZwABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxBfX3diaW5kZ2VuX3Rocm93AAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzEV9fd2JpbmRnZW5fbWVtb3J5AAcDugK4AgEBBAQDBAQEBAUFAQUEBAUFAQQBBAUBAAIFBQUFAgQBBAEIBQQFDQATBgECAgEFBQECBAQJCQkFBQABAAEEAQEBBAQAAAEEDA4BCwgBBAUAFAAAAwABBQABAAEBAAAAAAAEAAUFBQUEBAABAQoMBgQEBAYGAQUDDgUMBQAAAAEVABYJAAAAAAABBAEXAwEEAwAGCgYAAQUHAQYDAAIBAgIBCg8GDwYFAAQEAQsYAAAAAAAAAAEBAAEAAAAAAAgGAAAFBgAGAwoDAA0JGQsbHQYQABAABQAAAAIGAAEBCAEBAgQCAAYAAAAJAAEBAQEAAAABAAEBAQEBAQEGAQEBAQAAAQIAAAQEAAQABgMAAAAAAAAAAAAAAAAAAAAAAAABCgoAAAAAAQAAAgICAgEAAQAAAwMDBgEGBAQHAXAB5QHlAQUDAQARBgkBfwFBgIDAAAsHtwcxBm1lbW9yeQIAFV9fd2JnX2ZpeGVkcG9pbnRfZnJlZQCMAh1fX3diZ19nZXRfZml4ZWRwb2ludF9kZWNpbWFscwCNAg5maXhlZHBvaW50X25ldwCJAQ5maXhlZHBvaW50X29uZQCgARFmaXhlZHBvaW50X3JhbmRvbQCHARFmaXhlZHBvaW50X2JpZ2ludAB4DmZpeGVkcG9pbnRfYWJzAIYBEmZpeGVkcG9pbnRfYWJzRGlmZgBYDmZpeGVkcG9pbnRfYWRkAH8OZml4ZWRwb2ludF9zdWIAgAEVZml4ZWRwb2ludF9tdWxEaXZEb3duAHwTZml4ZWRwb2ludF9tdWxEaXZVcAB9EGZpeGVkcG9pbnRfbXVsVXAAYQ5maXhlZHBvaW50X211bABiEGZpeGVkcG9pbnRfZGl2VXAAYw5maXhlZHBvaW50X2RpdgBkDmZpeGVkcG9pbnRfcG93AFcNZml4ZWRwb2ludF9lcQB3DWZpeGVkcG9pbnRfbmUAdg1maXhlZHBvaW50X2d0AKsBDmZpeGVkcG9pbnRfZ3RlAKwBDWZpeGVkcG9pbnRfbHQArQEOZml4ZWRwb2ludF9sdGUArgEOZml4ZWRwb2ludF9taW4AbQ5maXhlZHBvaW50X21heABdEGZpeGVkcG9pbnRfY2xhbXAAfhNmaXhlZHBvaW50X3RvU3RyaW5nALwBEGZpeGVkcG9pbnRfdG9IZXgAogETZml4ZWRwb2ludF90b051bWJlcgDHARlmaXhlZHBvaW50X2lzX2ZpeGVkX3BvaW50AI8CEmZpeGVkcG9pbnRfdG9GaXhlZABvCmluaXRpYWxpemUA6QESZml4ZWRwb2ludF92YWx1ZU9mALwBEmZpeGVkcG9pbnRfbXVsRG93bgBiEmZpeGVkcG9pbnRfZGl2RG93bgBkCmdldFZlcnNpb24A7QEFZml4ZWQAiQEKcGFyc2VGaXhlZACKAQtyYW5kb21GaXhlZACHAQJsbgBnEWZpeGVkcG9pbnRfZm9ybWF0AK8BGWZpeGVkcG9pbnRfZm9ybWF0Q3VycmVuY3kAsAERX193YmluZGdlbl9tYWxsb2MA7wESX193YmluZGdlbl9yZWFsbG9jAIUCH19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIA0wIPX193YmluZGdlbl9mcmVlAKkCFF9fd2JpbmRnZW5fZXhuX3N0b3JlAMICEF9fd2JpbmRnZW5fc3RhcnQA6QEJzAMBAEEBC+QBsQKBAtcC/gGhAuQBnwHZAv4C1AL+AvgB9wKIAssB+ALMAdEC/ALOAaEC5AGfAf4C1QL3AbcCmQKxAqEC5AGfAf4C1gKhAuQBnwH+AtoCsQK2AvQCtAKyAv8C4QGCAvUC5QGzAtsBpAK1ApgC6gH+ApAC/AL+Av0C/QL9AtgC/gL5AfwCoQLkAZ8B/gLbAqEC5gGZAdwC/gLdAp0CngLcAfsBoQLnAZoB3wL+At4C/gKAAsUBmwKhAucBoQH+AuAC/gL6AdgCpgG3AoEBzwKkAfwC/gLhAv4C1AHXAf4CiQKJAokCqwLiAv4CeaoB5ALbAacCvQKYAuoBoQKxArYC9AK0ArwC9AL/AusBpgK+ApoC7AG3AroCuQLhAfUBzwHgAbMC4AGKAvUBzwHgAb8C4AG7AmqTAfYCtwL+AsoC4wKfAqIC5QLYAf4C9gGrAv4CpwGxAfQCwQLAAv8CiwL+AoQCugKDApQCwQGSApQCkQKgApwCkgKSApYClQKTAv4C9gGxAtIBoQLkAZwB6QLDAv4CxQLoAcYClwKzAcYB/gLEAqEC5wHuAuoC/gLrAuwCrgLHAsgChwKlAf4CxAL+AnTjAe8CCouvCrgC8bsBAgp/HH4jAEHQC2siAiQAAkACQAJAIAEpAxgiDkIAWQRAIAEpAwAhDyABKQMIIREgASkDECEUIAIgDjcDwAsgAiAUNwO4CyACIBE3A7ALIAIgDzcDqAsgAkGAC2oiA0IANwMAIAJB+ApqIgRCADcDACACQfAKaiIFQgA3AwAgAkIANwPoCiACQagLaiACQegKahDNAUH/AXFBAUYNAQsgAkEANgL4CkEBIQEgAkEBNgLsCiACQaC7wAA2AugKIAJCBDcC8AogACACQegKakGou8AAEIwBNgIEDAELIAIgDjcDwAsgAiAUNwO4CyACIBE3A7ALIAIgDzcDqAsgBUJ/NwMAIANCADcDACACQn83A+gKIAJCADcD+AogAkGoC2oiBSACQegKaiIGEM0BIQcgASkDGCERIAEpAxAhDiABKQMIIQ8gASkDACEYIAJBuAtqQgA3AwAgAkHAC2pCADcDACACQgA3A7ALIAIgB0H/AXFBAUatQgeGIhQ3A6gLIARCADcDACADQgA3AwAgAkIANwPwCiACQv////8PNwPoCgJ+AkACQAJAAkACQAJAAkAgBSAGEM0BQf8BcUEBRwRAIBSnIQMCQAJ+AkACfgJAAkAgEUIAWQRAIANFDQQgASADQQN2aiIEKQMAIRggBEEIaikDACEPQgAhDiADQQZ2IgNBAmoiBEEERw0BQgAhEQwECyADDQFCAAwECyADQQN0IAFqQRhqKQMAIREgASAEQQN0aikDAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBRC/wGFNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshEQJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyEOIAIpA8ALIQ8MAQsgAikDuAshDiARUEUEQCARQgF9IREgAikDwAshDwwBCyACKQPACyEPIA5QDQEgDkIBfSEOQn8hEQsgDEIBfQwBCyAPUA0EQn8hDiAPQgF9IQ9CfyERQn8LIQwgDkJ/hSARQn+FIRYgASADQQN2aiIEKQMAIARBCGopAwBCACEOQgAhESADQQZ2IgNBAmoiBEEERwRAIANBA3QgAWpBGGopAwAhESABIARBA3RqKQMAIQ4LIA9Cf4UgEYQhESAWhCEPIAxCf4WEIRggDoQLIQ5CACARQgBTDQEaCyACIBE3A8ALIAIgDjcDuAsgAiAPNwOwCyACIBg3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJCfzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGrUIGhgshESABKQMYIQ4gASkDECEPIAEpAwghGCABKQMAIRsgAkG4C2pCADcDACACQcALakIANwMAIAJCADcDsAsgAiARIBSEIhQ3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqEM0BQf8BcUEBRg0CIBSnIQMCfgJAAkACQAJAIA5CAFkEQCADRQ0EIAEgA0EDdmopAwAhG0IAIQ4gA0EGdiIDQQFqIgRBBEcNAUIAIRhCACEPDAQLIAMNAUIADAQLIAEgBEEDdGopAwAhGCADQQJqIgRBBEYEQEIAIQ8MAwsgASAEQQN0aikDACEPIANBA2oiA0EERg0CIAEgA0EDdGopAwAhDgwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBRC/wGFNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshEQJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyEOIAIpA8ALIQ8MAQsgAikDuAshDiARUEUEQCARQgF9IREgAikDwAshDwwBCyACKQPACyEPIA5QDQEgDkIBfSEOQn8hEQsgDEIBfQwBCyAPUA0PQn8hDiAPQgF9IQ9CfyERQn8LIA9Cf4UhDyAOQn+FIQ0gEUJ/hSEWQn+FIAEgA0EDdmopAwBCACERAkAgA0EGdiIDQQFqIgRBBEYEQEIAIRgMAQsgASAEQQN0aikDACEYIANBAmoiBEEERg0AIAEgBEEDdGopAwAhIiADQQNqIgNBBEYNACABIANBA3RqKQMAIRELIA8gEYQhDiANICKEIQ8gFiAYhCEYhCEbC0IAIA5CAFMNARoLIAIgDjcDwAsgAiAPNwO4CyACIBg3A7ALIAIgGzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGrUIFhgshESABKQMYIQ4gASkDECEcIAEpAwghGyABKQMAIRggAkG4C2pCADcDACACQcALakIANwMAIAJCADcDsAsgAiARIBSEIhQ3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqEM0BQf8BcUEBRwRAIBSnIQMCQAJAIA5CAFkEQCADRQ0MIAEgA0EGdiIEQQN0aikDACEPQgAhDiAEQQFqIgVBBEcNAUIAIRsMCQsgAw0BQgAMDAsgASAFQQN0aikDACARiCEbIARBAmoiBkEERg0HIAEgBkEDdGopAwAgEYghHCAEQQNqIgZBBEYNCCABIAZBA3RqKQMAIBGIIQ4MCAsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiAUQv8BhTcD6AogAkGoC2pBqLPAACACQegKahBoIAIpA7ALIQ4CfgJAAkAgAikDqAsiDFBFBEAgAikDuAshDyACKQPACyEcDAELIAIpA7gLIQ8gDlBFBEAgDkIBfSEOIAIpA8ALIRwMAQsgAikDwAshHCAPUA0BIA9CAX0hD0J/IQ4LIAxCAX0MAQsgHFANDUJ/IQ8gHEIBfSEcQn8hDkJ/CyEMIAEgA0EGdiIEQQN0aikDACENIARBAWoiBUEERgRAQgAhGAwFCyABIAVBA3RqKQMAIBGIIRggBEECaiIGQQRGDQQgASAGQQN0aikDACARiCEbIARBA2oiBkEERg0FIAEgBkEDdGopAwAgEYghEgwFC0HAucAAQSsgAkHPC2pB2MLAAEHYw8AAEMoBAAsMCgtBwLnAAEErIAJBzwtqQdjCwABB+MPAABDKAQALQcC5wABBKyACQc8LakHYwsAAQejDwAAQygEAC0IAIRsLIBxCf4UhFiAPQn+FIA5Cf4UhECAMQn+FIQwgDSARiCEPAkAgA0EgcUUgA0G/AUtyDQAgASAFQQN0aikDACARhiAPfCEPIAVBA0YNACABIARBAmoiA0EDdGopAwAgEYYgGHwhGCADQQNGDQAgBEEDdCABakEYaikDACARhiAbfCEbCyASIBaEIQ4gG4QhHCAQIBiEIRsgDCAPhCEYDAILQgAhHAsgDyARiCEYIANBIHFFIANBvwFLcg0AIAEgBUEDdGopAwAgEYYgGHwhGCAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIBGGIBt8IRsgA0EDRg0AIARBA3QgAWpBGGopAwAgEYYgHHwhHAtCACAOQgBTDQEaCyACIA43A8ALIAIgHDcDuAsgAiAbNwOwCyACIBg3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC//8DNwPoCiACQagLaiACQegKahDNAUH/AXFBAUatQgSGCyEPIAEpAxghDiABKQMQIRwgASkDCCEbIAEpAwAhGCACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIA8gFIQiFDcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGBEBBwLnAAEErIAJBzwtqQdjCwABByMPAABDKAQALIBSnIQMCfgJAAkACQAJAAkACQCAOQgBZBEAgA0UNBiAPIBGEIQ8gASADQQZ2IgRBA3RqKQMAIRFCACEOIARBAWoiBUEERw0BQgAhGwwDCyADDQFCAAwGCyABIAVBA3RqKQMAIA+IIRsgBEECaiIGQQRGDQEgASAGQQN0aikDACAPiCEcIARBA2oiBkEERg0CIAEgBkEDdGopAwAgD4ghDgwCCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBRC/wGFNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshDgJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyEYIAIpA8ALIRwMAQsgAikDuAshGCAOUEUEQCAOQgF9IQ4gAikDwAshHAwBCyACKQPACyEcIBhQDQEgGEIBfSEYQn8hDgsgDEIBfQwBCyAcUA0HQn8hGCAcQgF9IRxCfyEOQn8LIA8gEYQhESABIANBBnYiBEEDdGopAwBCACESAkACQCAEQQFqIgVBBEYEQEIAIQ8MAQsgASAFQQN0aikDACARiCEPIARBAmoiBkEERg0AIAEgBkEDdGopAwAgEYghGyAEQQNqIgZBBEYNASABIAZBA3RqKQMAIBGIIRIMAQtCACEbCyARiCERIBxCf4UhDSAYQn+FIRYgDkJ/hSEXQn+FAkAgA0EwcUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBR9QjCDIg6GIBF8IREgBUEDRg0AIAEgBEECaiIDQQN0aikDACAOhiAPfCEPIANBA0YNACAEQQN0IAFqQRhqKQMAIA6GIBt8IRsLIA0gEoQhDiAWIBuEIRwgDyAXhCEbIBGEIRgMAgtCACEcCyARIA+IIRggA0EwcUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBR9QjCDIg+GIBh8IRggBUEDRg0AIAEgBEECaiIDQQN0aikDACAPhiAbfCEbIANBA0YNACAEQQN0IAFqQRhqKQMAIA+GIBx8IRwLQgAgDkIAUw0BGgsgAiAONwPACyACIBw3A7gLIAIgGzcDsAsgAiAYNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv8BNwPoCiACQagLaiACQegKahDNAUH/AXFBAUatQgOGCyERIAEpAxghDiABKQMQIRwgASkDCCEYIAEpAwAhDyACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIBEgFIQiETcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGBEBBwLnAAEErIAJBzwtqQdjCwABBuMPAABDKAQALIBGnIQMCfgJAAkACQAJAAkACQCAOQgBZBEAgA0UNBiARQjiDIQ8gASADQQZ2IgRBA3RqKQMAIRRCACEOIARBAWoiBUEERw0BQgAhGAwDCyADDQFCAAwGCyABIAVBA3RqKQMAIA+IIRggBEECaiIGQQRGDQEgASAGQQN0aikDACAPiCEcIARBA2oiBkEERg0CIAEgBkEDdGopAwAgD4ghDgwCCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBFC/wGFNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshDgJ+AkACQCACKQOoCyIPUEUEQCACKQO4CyEYIAIpA8ALIRwMAQsgAikDuAshGCAOUEUEQCAOQgF9IQ4gAikDwAshHAwBCyACKQPACyEcIBhQDQEgGEIBfSEYQn8hDgsgD0IBfQwBCyAcUA0HQn8hGCAcQgF9IRxCfyEOQn8LIBFCOIMhFCABIANBBnYiBEEDdGopAwBCACESAkACQCAEQQFqIgVBBEYEQEIAIQ8MAQsgASAFQQN0aikDACAUiCEPIARBAmoiBkEERg0AIAEgBkEDdGopAwAgFIghGyAEQQNqIgZBBEYNASABIAZBA3RqKQMAIBSIIRIMAQtCACEbCyAUiCEUIBxCf4UhDSAYQn+FIRYgDkJ/hSEXQn+FAkAgA0E/cUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBF9Ig6GIBR8IRQgBUEDRg0AIAEgBEECaiIDQQN0aikDACAOQj+DIg6GIA98IQ8gA0EDRg0AIARBA3QgAWpBGGopAwAgDoYgG3whGwsgDSAShCEOIBYgG4QhHCAPIBeEIRggFIQhDwwCC0IAIRwLIBQgD4ghDyADQT9xRSADQb8BS3INACABIAVBA3RqKQMAQgAgEX0iFIYgD3whDyAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIBRCP4MiFIYgGHwhGCADQQNGDQAgBEEDdCABakEYaikDACAUhiAcfCEcC0IAIA5CAFMNARoLIAIgDjcDwAsgAiAcNwO4CyACIBg3A7ALIAIgDzcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkIPNwPoCiACQagLaiACQegKahDNAUH/AXFBAUatQgKGCyEMIAEpAxghDiABKQMQIRggASkDCCEPIAEpAwAhFCACQbgLakIANwMAIAJBwAtqQgA3AwAgAkIANwOwCyACIAwgEYQiETcDqAsgAkH4CmpCADcDACACQYALakIANwMAIAJCADcD8AogAkL/////DzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGBEBBwLnAAEErIAJBzwtqQdjCwABBqMPAABDKAQALIBGnIQMCfgJAAkACQCAOQgBZBEAgA0UNA0IAIRRCACEPQgAhGEIAIQ4gA0H+AUsNAyABIANBBnYiBEEDdGopAwAhDCAEQQFqIgVBBEYNASABIAVBA3RqKQMAIBFCP4MiFIghDyAEQQJqIgZBBEYNASABIAZBA3RqKQMAIBSIIRggBEEDaiIGQQRGDQEgASAGQQN0aikDACAUiCEODAELQgAgA0EBa0H+AU8NAxogAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAiARQv8BhTcD6AogAkGoC2pBqLPAACACQegKahBoIAIpA7ALIQ4CfgJAAkAgAikDqAsiD1BFBEAgAikDuAshFCACKQPACyEbDAELIAIpA7gLIRQgDlBFBEAgDkIBfSEOIAIpA8ALIRsMAQsgAikDwAshGyAUUA0BIBRCAX0hFEJ/IQ4LIA9CAX0MAQsgG1ANBkJ/IRQgG0IBfSEbQn8hDkJ/CyABIANBBnYiBEEDdGopAwAhFkIAIRwCQAJAIARBAWoiBUEERgRAQgAhDwwBCyABIAVBA3RqKQMAIBFCP4MiDIghDyAEQQJqIgZBBEYNACABIAZBA3RqKQMAIAyIIRggBEEDaiIGQQRGDQEgASAGQQN0aikDACAMiCEcDAELQgAhGAsgG0J/hSEMIBRCf4UhFyAOQn+FIRBCf4UgFiARiCEUAkAgA0E/cUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBF9Ig6GIBR8IRQgBUEDRg0AIAEgBEECaiIDQQN0aikDACAOQj+DIg6GIA98IQ8gA0EDRg0AIARBA3QgAWpBGGopAwAgDoYgGHwhGAsgDCAchCEOIBcgGIQhGCAPIBCEIQ8gFIQhFAwBCyAMIBGIIRQgA0E/cUUgA0G/AUtyDQAgASAFQQN0aikDAEIAIBF9IgyGIBR8IRQgBUEDRg0AIAEgBEECaiIDQQN0aikDACAMQj+DIgyGIA98IQ8gA0EDRg0AIARBA3QgAWpBGGopAwAgDIYgGHwhGAtCACAOQgBTDQEaCyACIA43A8ALIAIgGDcDuAsgAiAPNwOwCyACIBQ3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJCAzcD6AogAkGoC2ogAkHoCmoQzQFB/wFxQQFGrUIBhgshDCABKQMYIQ4gASkDECEYIAEpAwghDyABKQMAIRQgAkG4C2pCADcDACACQcALakIANwMAIAJCADcDsAsgAiAMIBGEIhE3A6gLIAJB+ApqQgA3AwAgAkGAC2pCADcDACACQgA3A/AKIAJC/////w83A+gKIAJBqAtqIAJB6ApqEM0BQf8BcUEBRgRAQcC5wABBKyACQc8LakHYwsAAQZjDwAAQygEACyARpyEDAn8CQAJAAkAgDkIAWQRAIANFDQNCACEUQgAhD0IAIRhCACEOIANB/gFLDQMgASADQQZ2IgRBA3RqKQMAIQwgBEEBaiIFQQRGDQEgASAFQQN0aikDACARQj+DIhSIIQ8gBEECaiIGQQRGDQEgASAGQQN0aikDACAUiCEYIARBA2oiBkEERg0BIAEgBkEDdGopAwAgFIghDgwBC0H/ASADQQFrQf4BTw0DGiACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACIBFC/wGFNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshDgJ+AkACQCACKQOoCyIPUEUEQCACKQO4CyEUIAIpA8ALIRsMAQsgAikDuAshFCAOUEUEQCAOQgF9IQ4gAikDwAshGwwBCyACKQPACyEbIBRQDQEgFEIBfSEUQn8hDgsgD0IBfQwBCyAbUA0GQn8hFCAbQgF9IRtCfyEOQn8LIAEgA0EGdiIEQQN0aikDACEWQgAhHAJAAkAgBEEBaiIFQQRGBEBCACEPDAELIAEgBUEDdGopAwAgEUI/gyIMiCEPIARBAmoiBkEERg0AIAEgBkEDdGopAwAgDIghGCAEQQNqIgZBBEYNASABIAZBA3RqKQMAIAyIIRwMAQtCACEYCyAbQn+FIQwgFEJ/hSEXIA5Cf4UhEEJ/hSAWIBGIIRQCQCADQT9xRSADQb8BS3INACABIAVBA3RqKQMAQgAgEX0iDoYgFHwhFCAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIA5CP4MiDoYgD3whDyADQQNGDQAgBEEDdCABakEYaikDACAOhiAYfCEYCyAMIByEIQ4gFyAYhCEYIA8gEIQhDyAUhCEUDAELIAwgEYghFCADQT9xRSADQb8BS3INACABIAVBA3RqKQMAQgAgEX0iDIYgFHwhFCAFQQNGDQAgASAEQQJqIgNBA3RqKQMAIAxCP4MiDIYgD3whDyADQQNGDQAgBEEDdCABakEYaikDACAMhiAYfCEYCyAOQgBZDQBB/wEMAQsgAiAONwPACyACIBg3A7gLIAIgDzcDsAsgAiAUNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQgE3A+gKIAJBqAtqIAJB6ApqEM0BCyEDIAJB6ApqQbi7wABBAhBQAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKALoCkUEQCACKQP4CiEOIAIpA4gLIRRCACACKQOACyIPfSEYAkACfiARIANB/wFxQQFGrYQiDCACKQPwCiINWgRAQgAgDn0hGyAOQgBSrQwBCyAOQn+FIRsgDkIAUq0gDlCtfAsiDlAEQEJ/QgAgD0IAUhshEwwBC0J/QgAgD0IAUhsgDiAYVq19IRMgGCAOfSEYCyACQegKakG6u8AAQQMQUCACKALoCg0BIAIpA/gKIQ4gEyAUfSEiIAIpA4gLIAIpA4ALIg8gGH0hEQJAAn4gAikD8AoiFyAMIA19IhxaBEAgDiAbfSEQIA4gG1StDAELIA4gG0J/hXwhECAOIBtUrSAOIBtRrXwLIg5QBEBCf0IAIA8gGFQbIRQMAQtCf0IAIA8gGFQbIA4gEVatfSEUIBEgDn0hEQsgIn0gFHwiDkIAUw0CIAIgDjcDwAsgAiARNwO4CyACIBA3A7ALIAIgFyAcfSIMNwOoCyACQfgKakIANwMAIAJBgAtqQgA3AwAgAkIANwPwCiACQv////8PNwPoCiACQagLaiACQegKaiIDEM0BQf8BcUEBRg0CQgAhEUIAIQ5CACEUQgAhDyAMpyIEQf8BTQRAIwBBIGsiBUEYaiIJQgA3AwAgBUEQaiIKQgA3AwAgBUEIaiILQgA3AwAgBUIANwMAAkAgBEH/AUsNACAFIARBBnYiBkEDdGogASkDACIRIAStIg6GNwMAAkAgBkEBaiIHQQRGDQAgBSAHQQN0aiABKQMIIA5CP4MiD4Y3AwAgBkECaiIIQQRGDQAgBSAIQQN0aiABKQMQIA+GNwMAIAZBA2oiCEEERg0AIAUgCEEDdGogASkDGCAPhjcDAAsgBEE/cUUgBEG/AUtyDQAgBSAHQQN0aiIEIAQpAwAgEUIAIA59Ig6IfDcDACAHQQNGDQAgBSAGQQJqIgRBA3RqIgcgBykDACABKQMIIA5CP4MiDoh8NwMAIARBA0YNACAGQQN0IAVqQRhqIgQgBCkDACABKQMQIA6IfDcDAAsgAyAFKQMANwMAIANBGGogCSkDADcDACADQRBqIAopAwA3AwAgA0EIaiALKQMANwMAIAIpA/gKIREgAikD8AohDyACKQPoCiEUIAIpA4ALIQ4LIAEgFDcDACABQRhqIgcgDjcDACABQRBqIgkgETcDACABQQhqIgogDzcDACACQegKaiEFQgAhDkIAIQ9CACERQgAhDCMAQUBqIgMkACADQQhqQZ8BENABAkACQAJAIAMpAxBCAFINACADKQMYQgBSDQAgAykDIFBFDQAgAykDCCIUQv////8PVg0AIBSnIgZB/wFLDQIgASAGQQZ2IgRBA3RqKQMAIQ0gBEEBaiILQQRGDQEgASALQQN0aikDACAUQj+DIg6IIQ8gBEECaiIIQQRGDQEgASAIQQN0aikDACAOiCERIARBA2oiCEEERg0BIAEgCEEDdGopAwAgDoghDAwBCyADQQA2AjggA0EBNgIsIANBrMXAADYCKCADQgQ3AjAgA0EoakH0xMAAEP0BAAsgDSAUiCEOIAZBP3FFIAZBvwFLcg0AIAEgC0EDdGopAwBCACAUfSIUhiAOfCEOIAZBgAFPDQAgASAEQQJyIgZBA3RqKQMAIBRCP4MiFIYgD3whDyAGQQNGDQAgBEEDdCABakEYaikDACAUhiARfCERCyAFIAw3AxggBSARNwMQIAUgDzcDCCAFIA43AwAgA0FAayQAIAcgAkGAC2opAwA3AwAgCSACQfgKaikDADcDACAKIAJB8ApqKQMANwMAIAEgAikD6Ao3AwAgBykDACERIAkpAwAhDyAKKQMAIQ4gASkDACEUIAVBvbvAAEEfEFAgAigC6AoNAyAOIAIpA/gKfCISIA5UIQMgAikDgAsgD3wiFSAPVCEEIAIpA4gLIQxCfyEWIBQgFCACKQPwCnwiE1gEfiADrQUgEkIBfCISUK0gA618CyINUAR+IAStBSAVIA0gFXwiFVatIAStfAsiDVAEfiAMIBF8BSAMIBF8IA18CyIQQgBZBEAgEiAThCAQIBWEhEIAUq0hFgsgEEIAUwRAIBJCf4VCACASfSINQgAgE30iE0IAUiIDGyESIBVCf4UiDCANUCADQX9zcSIDrXwiDSAMIAMbIRUgAyAMIA1Wca0gEEJ/hXwhEAtCfyAOIBSEIA+EIBGEQgBSrSARQgBTGyAWfiAUIQ0gDiEWIA8hFyARIgxCAFMEQCAOQn+FQgAgDn0iF0IAIA19Ig1CAFIiAxshFiAPQn+FIgwgF1AgA0F/c3EiA618IhogDCADGyEXIAMgDCAaVnGtIBFCf4V8IQwLIAJBuApqIA1CACATQgAQyQEgAkGoCmogDUIAIBJCABDJASACQZgKaiANQgAgFUIAEMkBIAJBiApqIBZCACATQgAQyQEgAkH4CWogFkIAIBJCABDJASACQegJaiAXQgAgE0IAEMkBIAIpA5gKIhogAkGwCmopAwAgAikDqAoiHSACQcAKaikDAHwiHiAdVK18fCIdIBpUrSACQfAJaikDACACQYAKaikDACACQaAKaikDACAVIBZ+IA0gEH58IBIgF358fCAMIBN+fHx8fCACQZAKaikDACACKQOICiIMIB58IhUgDFStfCIMIB18Ig0gDFStfCACKQP4CSIMIA18Ig0gDFStfCACKQPoCSIMIA18IhMgDFStfCESQgJaBEAgEkJ/hSINIAIpA7gKIhZCACAVfSIXhFAiAyATQn+FIgwgA618IhAgDFRxIgStfCANIAQbIRIgFyAVQn+FIBZQGyEVIBAgDCADGyETCwJ+IBJCAFkEQCASQiCGIBNCIIiEIRAgEkIgiCENQgAhFiATQiCGIBVCIIiEDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaizwAAgAkHoCmoQaCACKQOwCyEQAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIQ0gAikDwAshFgwBCyACKQO4CyENIBBQRQRAIBBCAX0hECACKQPACyEWDAELIAIpA8ALIRYgDVANASANQgF9IQ1CfyEQCyAMQgF9DAELIBZQDRhCfyENIBZCAX0hFkJ/IRBCfwshDCANQn+FIBJCIIiEIQ0gEkIghiATQiCIhCAQQn+FhCEQIBZCf4UhFiATQiCGIBVCIIiEIAxCf4WECyEMIAJB6ApqQdy7wABBIBBQIAIoAugKDQQgECACKQP4CnwiEiAQVCEDIAIpA4ALIA18IhUgDVQhBCACKQOICyENIAwgDCACKQPwCnwiE1gEfiADrQUgEkIBfCISUK0gA618CyIMUAR+IAStBSAVIAwgFXwiFVatIAStfAsiDFAEfiANIBZ8BSANIBZ8IAx8CyENQn8gEiAThCANIBWEhEIAUq0gDUIAUyIDGyEZIAMEQCASQn+FQgAgEn0iFkIAIBN9IhNCAFIiAxshEiAVQn+FIgwgFlAgA0F/c3EiA618IhYgDCADGyEVIAMgDCAWVnGtIA1Cf4V8IQ0LIBQhECAOIRYgDyEXIBEiDEIAUwRAIA5Cf4VCACAOfSIXQgAgEH0iEEIAUiIDGyEWIA9Cf4UiDCAXUCADQX9zcSIDrXwiGiAMIAMbIRcgAyAMIBpWca0gEUJ/hXwhDAsgAkHYCWogEEIAIBNCABDJASACQcgJaiAQQgAgEkIAEMkBIAJBuAlqIBBCACAVQgAQyQEgAkGoCWogFkIAIBNCABDJASACQZgJaiAWQgAgEkIAEMkBIAJBiAlqIBdCACATQgAQyQEgAikDuAkiGiACQdAJaikDACACKQPICSIdIAJB4AlqKQMAfCIeIB1UrXx8Ih0gGlStIAJBkAlqKQMAIAJBoAlqKQMAIAJBwAlqKQMAIBUgFn4gDSAQfnwgEiAXfnx8IAwgE358fHx8IAJBsAlqKQMAIAIpA6gJIgwgHnwiFSAMVK18IgwgHXwiDSAMVK18IAIpA5gJIgwgDXwiDSAMVK18IAIpA4gJIgwgDXwiEyAMVK18IRJCfyAOIBSEIA+EIBGEQgBSrSARQgBTGyAZfkICWgRAIBJCf4UiDSACKQPYCSIWQgAgFX0iF4RQIgMgE0J/hSIMIAOtfCIQIAxUcSIErXwgDSAEGyESIBcgFUJ/hSAWUBshFSAQIAwgAxshEwsCfiASQgBZBEAgEkIghiATQiCIhCEQIBJCIIghDUIAIRYgE0IghiAVQiCIhAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshEAJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyENIAIpA8ALIRYMAQsgAikDuAshDSAQUEUEQCAQQgF9IRAgAikDwAshFgwBCyACKQPACyEWIA1QDQEgDUIBfSENQn8hEAsgDEIBfQwBCyAWUA0YQn8hDSAWQgF9IRZCfyEQQn8LIQwgDUJ/hSASQiCIhCENIBJCIIYgE0IgiIQgEEJ/hYQhECAWQn+FIRYgE0IghiAVQiCIhCAMQn+FhAshDCACQegKakH8u8AAQSAQUCACKALoCg0FIBAgAikD+Ap8IhIgEFQhAyACKQOACyANfCIVIA1UIQQgAikDiAshDSAMIAwgAikD8Ap8IhNYBH4gA60FIBJCAXwiElCtIAOtfAsiDFAEfiAErQUgFSAMIBV8IhVWrSAErXwLIgxQBH4gDSAWfAUgDSAWfCAMfAshEEJ/IBIgE4QgECAVhIRCAFKtIBBCAFMiAxshGSADBEAgEkJ/hUIAIBJ9Ig1CACATfSITQgBSIgMbIRIgFUJ/hSIMIA1QIANBf3NxIgOtfCINIAwgAxshFSADIAwgDVZxrSAQQn+FfCEQCyAUIQ0gDiEWIA8hFyARIgxCAFMEQCAOQn+FQgAgDn0iF0IAIA19Ig1CAFIiAxshFiAPQn+FIgwgF1AgA0F/c3EiA618IhogDCADGyEXIAMgDCAaVnGtIBFCf4V8IQwLIAJB+AhqIA1CACATQgAQyQEgAkHoCGogDUIAIBJCABDJASACQdgIaiANQgAgFUIAEMkBIAJByAhqIBZCACATQgAQyQEgAkG4CGogFkIAIBJCABDJASACQagIaiAXQgAgE0IAEMkBIAIpA9gIIhogAkHwCGopAwAgAikD6AgiHSACQYAJaikDAHwiHiAdVK18fCIdIBpUrSACQbAIaikDACACQcAIaikDACACQeAIaikDACAVIBZ+IA0gEH58IBIgF358fCAMIBN+fHx8fCACQdAIaikDACACKQPICCIMIB58IhUgDFStfCIMIB18Ig0gDFStfCACKQO4CCIMIA18Ig0gDFStfCACKQOoCCIMIA18IhMgDFStfCESQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgGX5CAloEQCASQn+FIg0gAikD+AgiFkIAIBV9IheEUCIDIBNCf4UiDCADrXwiECAMVHEiBK18IA0gBBshEiAXIBVCf4UgFlAbIRUgECAMIAMbIRMLAn4gEkIAWQRAIBJCIIYgE0IgiIQhECASQiCIIRdCACEdIBNCIIYgFUIgiIQMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pBqLPAACACQegKahBoIAIpA7ALIRACfgJAAkAgAikDqAsiFlBFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gEFBFBEAgEEIBfSEQIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRALIBZCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hEEJ/CyEWIA1Cf4UgEkIgiIQhFyASQiCGIBNCIIiEIBBCf4WEIRAgDEJ/hSEdIBNCIIYgFUIgiIQgFkJ/hYQLIRkgAkHoCmpBnLzAAEEgEFAgAigC6AoNBiACKQOACyEWIAIpA/gKIQwCfiACKQPwCiIaIBlYBEAgDCAQVq0hDSAQIAx9DAELIAwgEFatIAwgEFGtfCENIBAgDEJ/hXwLIRUgAikDiAshDCAXIBZ9IRMCQCANUARAQn9CACAWIBdWGyEXDAELQn9CACAWIBdWGyANIBNWrX0hFyATIA19IRMLIBkgGn0hEkJ/IRYgHSAMfSAXfCINQgBZBEAgEiAVhCANIBOEhEIAUq0hFgsgDUIAUwRAIBVCf4VCACAVfSIXQgAgEn0iEkIAUiIDGyEVIBNCf4UiDCAXUCADQX9zcSIDrXwiFyAMIAMbIRMgAyAMIBdWca0gDUJ/hXwhDQtCfyAOIBSEIA+EIBGEQgBSrSARQgBTGyAWfiAUIRAgDiEWIA8hFyARIgxCAFMEQCAOQn+FQgAgDn0iF0IAIBB9IhBCAFIiAxshFiAPQn+FIgwgF1AgA0F/c3EiA618IhogDCADGyEXIAMgDCAaVnGtIBFCf4V8IQwLIAJBmAhqIBBCACASQgAQyQEgAkGICGogEEIAIBVCABDJASACQfgHaiAQQgAgE0IAEMkBIAJB6AdqIBZCACASQgAQyQEgAkHYB2ogFkIAIBVCABDJASACQcgHaiAXQgAgEkIAEMkBIAIpA/gHIhogAkGQCGopAwAgAikDiAgiHSACQaAIaikDAHwiHiAdVK18fCIdIBpUrSACQdAHaikDACACQeAHaikDACACQYAIaikDACATIBZ+IA0gEH58IBUgF358fCAMIBJ+fHx8fCACQfAHaikDACACKQPoByIMIB58IhUgDFStfCIMIB18Ig0gDFStfCACKQPYByIMIA18Ig0gDFStfCACKQPIByIMIA18IhMgDFStfCESQgJaBEAgEkJ/hSINIAIpA5gIIhZCACAVfSIXhFAiAyATQn+FIgwgA618IhAgDFRxIgStfCANIAQbIRIgFyAVQn+FIBZQGyEVIBAgDCADGyETCwJ+IBJCAFkEQCASQiCGIBNCIIiEIRAgEkIgiCEXQgAhHSATQiCGIBVCIIiEDAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaizwAAgAkHoCmoQaCACKQOwCyEQAn4CQAJAIAIpA6gLIhZQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBBQRQRAIBBCAX0hECACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyEQCyAWQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRBCfwshFiANQn+FIBJCIIiEIRcgEkIghiATQiCIhCAQQn+FhCEQIAxCf4UhHSATQiCGIBVCIIiEIBZCf4WECyEZIAJB6ApqQby8wABBIBBQIAIoAugKDQcgAikDgAshFiACKQP4CiEMAn4gAikD8AoiGiAZWARAIAwgEFatIQ0gECAMfQwBCyAMIBBWrSAMIBBRrXwhDSAQIAxCf4V8CyEVIAIpA4gLIQwgFyAWfSETAkAgDVAEQEJ/QgAgFiAXVhshFwwBC0J/QgAgFiAXVhsgDSATVq19IRcgEyANfSETCyAZIBp9IRJCfyEWIB0gDH0gF3wiDUIAWQRAIBIgFYQgDSAThIRCAFKtIRYLIA1CAFMEQCAVQn+FQgAgFX0iF0IAIBJ9IhJCAFIiAxshFSATQn+FIgwgF1AgA0F/c3EiA618IhcgDCADGyETIAMgDCAXVnGtIA1Cf4V8IQ0LQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgFn4gFCEQIA4hFiAPIRcgESIMQgBTBEAgDkJ/hUIAIA59IhdCACAQfSIQQgBSIgMbIRYgD0J/hSIMIBdQIANBf3NxIgOtfCIaIAwgAxshFyADIAwgGlZxrSARQn+FfCEMCyACQbgHaiAQQgAgEkIAEMkBIAJBqAdqIBBCACAVQgAQyQEgAkGYB2ogEEIAIBNCABDJASACQYgHaiAWQgAgEkIAEMkBIAJB+AZqIBZCACAVQgAQyQEgAkHoBmogF0IAIBJCABDJASACKQOYByIaIAJBsAdqKQMAIAIpA6gHIh0gAkHAB2opAwB8Ih4gHVStfHwiHSAaVK0gAkHwBmopAwAgAkGAB2opAwAgAkGgB2opAwAgEyAWfiANIBB+fCAVIBd+fHwgDCASfnx8fHwgAkGQB2opAwAgAikDiAciDCAefCIVIAxUrXwiDCAdfCINIAxUrXwgAikD+AYiDCANfCINIAxUrXwgAikD6AYiDCANfCITIAxUrXwhEkICWgRAIBJCf4UiDSACKQO4ByIWQgAgFX0iF4RQIgMgE0J/hSIMIAOtfCIQIAxUcSIErXwgDSAEGyESIBcgFUJ/hSAWUBshFSAQIAwgAxshEwsCfiASQgBZBEAgEkIghiATQiCIhCEQIBNCIIYgFUIgiIQhF0IAIR0gEkIgiAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshEAJ+AkACQCACKQOoCyIWUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSAQUEUEQCAQQgF9IRAgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEAsgFkIBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyEQQn8LIRYgEkIghiATQiCIhCAQQn+FhCEQIBNCIIYgFUIgiIQgFkJ/hYQhFyAMQn+FIR0gDUJ/hSASQiCIhAshFiACQegKakHcvMAAQSAQUCACKALoCg0IIAIpA4ALIRkgAikD+AohDAJ+IAIpA/AKIhogF1gEQCAMIBBWrSENIBAgDH0MAQsgDCAQVq0gDCAQUa18IQ0gECAMQn+FfAshFSACKQOICyEQIBYgGX0hEwJAIA1QBEBCf0IAIBYgGVQbIQwMAQtCf0IAIBYgGVQbIA0gE1atfSEMIBMgDX0hEwsgFyAafSESQn8hFiAdIBB9IAx8Ig1CAFkEQCASIBWEIA0gE4SEQgBSrSEWCyANQgBTBEAgFUJ/hUIAIBV9IhdCACASfSISQgBSIgMbIRUgE0J/hSIMIBdQIANBf3NxIgOtfCIXIAwgAxshEyADIAwgF1ZxrSANQn+FfCENC0J/IA4gFIQgD4QgEYRCAFKtIBFCAFMbIBZ+IBQhECAOIRYgDyEXIBEiDEIAUwRAIA5Cf4VCACAOfSIXQgAgEH0iEEIAUiIDGyEWIA9Cf4UiDCAXUCADQX9zcSIDrXwiGiAMIAMbIRcgAyAMIBpWca0gEUJ/hXwhDAsgAkHYBmogEEIAIBJCABDJASACQcgGaiAQQgAgFUIAEMkBIAJBuAZqIBBCACATQgAQyQEgAkGoBmogFkIAIBJCABDJASACQZgGaiAWQgAgFUIAEMkBIAJBiAZqIBdCACASQgAQyQEgAikDuAYiGiACQdAGaikDACACKQPIBiIdIAJB4AZqKQMAfCIeIB1UrXx8Ih0gGlStIAJBkAZqKQMAIAJBoAZqKQMAIAJBwAZqKQMAIBMgFn4gDSAQfnwgFSAXfnx8IAwgEn58fHx8IAJBsAZqKQMAIAIpA6gGIgwgHnwiFyAMVK18IgwgHXwiDSAMVK18IAIpA5gGIgwgDXwiDSAMVK18IAIpA4gGIgwgDXwiEiAMVK18IR4gAikD2AYhHUICWgRAIB5Cf4UiDUIAIBd9IhZQQgAgHX0iHUIAUiIEQX9zcSIDIBJCf4UiDCADrXwiECAMVHEiBa18IA0gBRshHiAQIAwgAxshEiAXQn+FIBYgBBshFwsgAkHoCmpB/LzAAEEeEFAgAigC6AoNCSACKQOACyASIAIpA/gKIiZCIIYgAikD8AoiDUIgiIQiDH0hFgJAIA1CIIYiJyAXWARAQn9CACAMIBJWGyEkDAELQn9CACAMIBJWGyAWUK19ISQgFkIBfSEWCyACQegKakGavcAAQR8QUCACKALoCg0KIA4gAikD+Ap8IhIgDlQhAyACKQOACyAPfCIVIA9UIQQgAikDiAshDCAUIBQgAikD8Ap8IhNYBH4gA60FIBJCAXwiElCtIAOtfAsiDVAEfiAErQUgFSANIBV8IhVWrSAErXwLIg1QBH4gDCARfAUgDCARfCANfAshEEJ/IBIgE4QgECAVhIRCAFKtIBBCAFMiAxsgAwRAIBJCf4VCACASfSIZQgAgE30iE0IAUiIDGyESIBVCf4UiDCAZUCADQX9zcSIDrXwiGSAMIAMbIRUgAyAMIBlWca0gEEJ/hXwhEAtCfyAOIBSEIA+EIBGEQgBSrSARQgBTIgMbIAMEQCAOQn+FQgAgDn0iGkIAIBR9IhRCAFIiAxshDiAPQn+FIgwgGlAgA0F/c3EiA618IhogDCADGyEPIAMgDCAaVnGtIBFCf4V8IRELIAJB+AVqIBRCACATQgAQyQEgAkHoBWogFEIAIBJCABDJASACQdgFaiAUQgAgFUIAEMkBIAJByAVqIA5CACATQgAQyQEgAkG4BWogDkIAIBJCABDJASACQagFaiAPQgAgE0IAEMkBIAIpA9gFIgwgAkHwBWopAwAgAikD6AUiGiACQYAGaikDAHwiISAaVK18fCIaIAxUrSACQbAFaikDACACQcAFaikDACACQeAFaikDACAOIBV+IBAgFH58IA8gEn58fCARIBN+fHx8fCACQdAFaikDACACKQPIBSIOICF8IhQgDlStfCIOIBp8Ig8gDlStfCACKQO4BSIOIA98Ig8gDlStfCAPIAIpA6gFIhF8Ig4gEVStfCERfkICWgRAIBFCf4UiDyACKQP4BSIMQgAgFH0iDYRQIgMgDkJ/hSIOIAOtfCIQIA5UcSIErXwgDyAEGyERIA0gFEJ/hSAMUBshFCAQIA4gAxshDgsCfiARQgBZBEAgEUIghiAOQiCIhCEPIA5CIIYgFEIgiIQhDiARQiCIIRBCAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshDwJ+AkACQCACKQOoCyIMUEUEQCACKQO4CyESIAIpA8ALIRMMAQsgAikDuAshEiAPUEUEQCAPQgF9IQ8gAikDwAshEwwBCyACKQPACyETIBJQDQEgEkIBfSESQn8hDwsgDEIBfQwBCyATUA0YQn8hEiATQgF9IRNCfyEPQn8LIQwgEkJ/hSARQiCIhCEQIBFCIIYgDkIgiIQgD0J/hYQhDyAOQiCGIBRCIIiEIAxCf4WEIQ4gE0J/hQshESACQegKakG5vcAAQSAQUCACKALoCg0LIA8gAikD+Ap8IhIgD1QhAyACKQOACyAQfCIVIBBUIQQgAikDiAshDyAOIA4gAikD8Ap8IhNYBH4gA60FIBJCAXwiElCtIAOtfAsiDlAEfiAErQUgFSAOIBV8IhVWrSAErXwLIg5QBH4gDyARfAUgDyARfCAOfAshECABKQMYIRFCfyASIBOEIBAgFYSEQgBSrSAQQgBTIgMbISEgASkDECEPIAEpAwghDiABKQMAIRQgAwRAIBJCf4VCACASfSINQgAgE30iE0IAUiIBGyESIBVCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRUgASAMIA1Wca0gEEJ/hXwhEAsgFCENIA4hDCAPIRkgESEaIBFCAFMEQCAMQn+FQgAgDH0iGUIAIA19Ig1CAFIiARshDCAPQn+FIhogGVAgAUF/c3EiAa18Ih8gGiABGyEZIAEgGiAfVnGtIBFCf4V8IRoLIAJBmAVqIA1CACATQgAQyQEgAkGIBWogDUIAIBJCABDJASACQfgEaiANQgAgFUIAEMkBIAJB6ARqIAxCACATQgAQyQEgAkHYBGogDEIAIBJCABDJASACQcgEaiAZQgAgE0IAEMkBIAIpA/gEIh8gAkGQBWopAwAgAikDiAUiICACQaAFaikDAHwiIyAgVK18fCIgIB9UrSACQdAEaikDACACQeAEaikDACACQYAFaikDACAMIBV+IA0gEH58IBIgGX58fCATIBp+fHx8fCACQfAEaikDACACKQPoBCIMICN8IhUgDFStfCIMICB8Ig0gDFStfCACKQPYBCIMIA18Ig0gDFStfCACKQPIBCIMIA18IhMgDFStfCESQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgIX5CAloEQCASQn+FIg0gAikDmAUiEEIAIBV9IhmEUCIBIBNCf4UiDCABrXwiGiAMVHEiA618IA0gAxshEiAZIBVCf4UgEFAbIRUgGiAMIAEbIRMLAn4gEkIAWQRAIBJCIIYgE0IgiIQhECATQiCGIBVCIIiEIRUgEkIgiCENQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pBqLPAACACQegKahBoIAIpA7ALIRACfgJAAkAgAikDqAsiGVBFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gEFBFBEAgEEIBfSEQIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRALIBlCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hEEJ/CyEZIA1Cf4UgEkIgiIQhDSASQiCGIBNCIIiEIBBCf4WEIRAgE0IghiAVQiCIhCAZQn+FhCEVIAxCf4ULIQwgAkHoCmpB2b3AAEEhEFAgAigC6AoNDCAQIAIpA/gKfCISIBBUIQEgAikDgAshGSAVIBUgAikD8Ap8IhNYBH4gAa0FIBJCAXwiElCtIAGtfAshECANIBl8IhUgDVQhASACKQOICyENQn8gEiAThCAQUAR+IAGtBSAVIBAgFXwiFVatIAGtfAsiEFAEfiAMIA18BSAMIA18IBB8CyIQIBWEhEIAUq0gEEIAUyIBGyEhIAEEQCASQn+FQgAgEn0iDUIAIBN9IhNCAFIiARshEiAVQn+FIgwgDVAgAUF/c3EiAa18Ig0gDCABGyEVIAEgDCANVnGtIBBCf4V8IRALIBQhDSAOIQwgDyEZIBEhGiARQgBTBEAgDEJ/hUIAIAx9IhlCACANfSINQgBSIgEbIQwgD0J/hSIaIBlQIAFBf3NxIgGtfCIfIBogARshGSABIBogH1ZxrSARQn+FfCEaCyACQbgEaiANQgAgE0IAEMkBIAJBqARqIA1CACASQgAQyQEgAkGYBGogDUIAIBVCABDJASACQYgEaiAMQgAgE0IAEMkBIAJB+ANqIAxCACASQgAQyQEgAkHoA2ogGUIAIBNCABDJASACKQOYBCIfIAJBsARqKQMAIAIpA6gEIiAgAkHABGopAwB8IiMgIFStfHwiICAfVK0gAkHwA2opAwAgAkGABGopAwAgAkGgBGopAwAgDCAVfiANIBB+fCASIBl+fHwgEyAafnx8fHwgAkGQBGopAwAgAikDiAQiDCAjfCIVIAxUrXwiDCAgfCINIAxUrXwgAikD+AMiDCANfCINIAxUrXwgAikD6AMiDCANfCITIAxUrXwhEkJ/IA4gFIQgD4QgEYRCAFKtIBFCAFMbICF+QgJaBEAgEkJ/hSINIAIpA7gEIhBCACAVfSIZhFAiASATQn+FIgwgAa18IhogDFRxIgOtfCANIAMbIRIgGSAVQn+FIBBQGyEVIBogDCABGyETCwJ+IBJCAFkEQCASQiCGIBNCIIiEIRAgE0IghiAVQiCIhCEVIBJCIIghDUIADAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaizwAAgAkHoCmoQaCACKQOwCyEQAn4CQAJAIAIpA6gLIhlQRQRAIAIpA7gLIQ0gAikDwAshDAwBCyACKQO4CyENIBBQRQRAIBBCAX0hECACKQPACyEMDAELIAIpA8ALIQwgDVANASANQgF9IQ1CfyEQCyAZQgF9DAELIAxQDRhCfyENIAxCAX0hDEJ/IRBCfwshGSANQn+FIBJCIIiEIQ0gEkIghiATQiCIhCAQQn+FhCEQIBNCIIYgFUIgiIQgGUJ/hYQhFSAMQn+FCyEMIAJB6ApqQfq9wABBIRBQIAIoAugKDQ0gECACKQP4CnwiEiAQVCEBIAIpA4ALIRkgFSAVIAIpA/AKfCITWAR+IAGtBSASQgF8IhJQrSABrXwLIRAgDSAZfCIVIA1UIQEgAikDiAshDUJ/IBIgE4QgEFAEfiABrQUgFSAQIBV8IhVWrSABrXwLIhBQBH4gDCANfAUgDCANfCAQfAsiECAVhIRCAFKtIBBCAFMiARshISABBEAgEkJ/hUIAIBJ9Ig1CACATfSITQgBSIgEbIRIgFUJ/hSIMIA1QIAFBf3NxIgGtfCINIAwgARshFSABIAwgDVZxrSAQQn+FfCEQCyAUIQ0gDiEMIA8hGSARIRogEUIAUwRAIAxCf4VCACAMfSIZQgAgDX0iDUIAUiIBGyEMIA9Cf4UiGiAZUCABQX9zcSIBrXwiHyAaIAEbIRkgASAaIB9Wca0gEUJ/hXwhGgsgAkHYA2ogDUIAIBNCABDJASACQcgDaiANQgAgEkIAEMkBIAJBuANqIA1CACAVQgAQyQEgAkGoA2ogDEIAIBNCABDJASACQZgDaiAMQgAgEkIAEMkBIAJBiANqIBlCACATQgAQyQEgAikDuAMiHyACQdADaikDACACKQPIAyIgIAJB4ANqKQMAfCIjICBUrXx8IiAgH1StIAJBkANqKQMAIAJBoANqKQMAIAJBwANqKQMAIAwgFX4gDSAQfnwgEiAZfnx8IBMgGn58fHx8IAJBsANqKQMAIAIpA6gDIgwgI3wiFSAMVK18IgwgIHwiDSAMVK18IAIpA5gDIgwgDXwiDSAMVK18IAIpA4gDIgwgDXwiEyAMVK18IRJCfyAOIBSEIA+EIBGEQgBSrSARQgBTGyAhfkICWgRAIBJCf4UiDSACKQPYAyIQQgAgFX0iGYRQIgEgE0J/hSIMIAGtfCIaIAxUcSIDrXwgDSADGyESIBkgFUJ/hSAQUBshFSAaIAwgARshEwsCfiASQgBZBEAgEkIghiATQiCIhCEQIBNCIIYgFUIgiIQhFSASQiCIIQ1CAAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQp8BNwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshEAJ+AkACQCACKQOoCyIZUEUEQCACKQO4CyENIAIpA8ALIQwMAQsgAikDuAshDSAQUEUEQCAQQgF9IRAgAikDwAshDAwBCyACKQPACyEMIA1QDQEgDUIBfSENQn8hEAsgGUIBfQwBCyAMUA0YQn8hDSAMQgF9IQxCfyEQQn8LIRkgDUJ/hSASQiCIhCENIBJCIIYgE0IgiIQgEEJ/hYQhECATQiCGIBVCIIiEIBlCf4WEIRUgDEJ/hQshDCACQegKakGbvsAAQSEQUCACKALoCg0OIBAgAikD+Ap8IhIgEFQhASACKQOACyEZIBUgFSACKQPwCnwiE1gEfiABrQUgEkIBfCISUK0gAa18CyEQIA0gGXwiFSANVCEBIAIpA4gLIQ1CfyASIBOEIBBQBH4gAa0FIBUgECAVfCIVVq0gAa18CyIQUAR+IAwgDXwFIAwgDXwgEHwLIhAgFYSEQgBSrSAQQgBTIgEbISEgAQRAIBJCf4VCACASfSINQgAgE30iE0IAUiIBGyESIBVCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRUgASAMIA1Wca0gEEJ/hXwhEAsgFCENIA4hDCAPIRkgESEaIBFCAFMEQCAMQn+FQgAgDH0iGUIAIA19Ig1CAFIiARshDCAPQn+FIhogGVAgAUF/c3EiAa18Ih8gGiABGyEZIAEgGiAfVnGtIBFCf4V8IRoLIAJB+AJqIA1CACATQgAQyQEgAkHoAmogDUIAIBJCABDJASACQdgCaiANQgAgFUIAEMkBIAJByAJqIAxCACATQgAQyQEgAkG4AmogDEIAIBJCABDJASACQagCaiAZQgAgE0IAEMkBIAIpA9gCIh8gAkHwAmopAwAgAikD6AIiICACQYADaikDAHwiIyAgVK18fCIgIB9UrSACQbACaikDACACQcACaikDACACQeACaikDACAMIBV+IA0gEH58IBIgGX58fCATIBp+fHx8fCACQdACaikDACACKQPIAiIMICN8IhUgDFStfCIMICB8Ig0gDFStfCACKQO4AiIMIA18Ig0gDFStfCACKQOoAiIMIA18IhMgDFStfCESQn8gDiAUhCAPhCARhEIAUq0gEUIAUxsgIX5CAloEQCASQn+FIg0gAikD+AIiEEIAIBV9IhmEUCIBIBNCf4UiDCABrXwiGiAMVHEiA618IA0gAxshEiAZIBVCf4UgEFAbIRUgGiAMIAEbIRMLAn4gEkIAWQRAIBJCIIYgE0IgiIQhECATQiCGIBVCIIiEIRUgEkIgiCENQgAMAQsgAkGAC2pCADcDACACQfgKakIANwMAIAJCADcD8AogAkKfATcD6AogAkGoC2pBqLPAACACQegKahBoIAIpA7ALIRACfgJAAkAgAikDqAsiGVBFBEAgAikDuAshDSACKQPACyEMDAELIAIpA7gLIQ0gEFBFBEAgEEIBfSEQIAIpA8ALIQwMAQsgAikDwAshDCANUA0BIA1CAX0hDUJ/IRALIBlCAX0MAQsgDFANGEJ/IQ0gDEIBfSEMQn8hEEJ/CyEZIA1Cf4UgEkIgiIQhDSASQiCGIBNCIIiEIBBCf4WEIRAgE0IghiAVQiCIhCAZQn+FhCEVIAxCf4ULIQwgAkHoCmpBvL7AAEEgEFAgAigC6AoNDyAQIAIpA/gKfCISIBBUIQEgAikDgAshGSAVIBUgAikD8Ap8IhNYBH4gAa0FIBJCAXwiElCtIAGtfAshECANIBl8IhUgDVQhASACKQOICyENQn8gEiAThCAQUAR+IAGtBSAVIBAgFXwiFVatIAGtfAsiEFAEfiAMIA18BSAMIA18IBB8CyIQIBWEhEIAUq0gEEIAUyIBGyABBEAgEkJ/hUIAIBJ9IhlCACATfSITQgBSIgEbIRIgFUJ/hSIMIBlQIAFBf3NxIgGtfCIZIAwgARshFSABIAwgGVZxrSAQQn+FfCEQC0J/IA4gFIQgD4QgEYRCAFKtIBFCAFMiARsgAQRAIA5Cf4VCACAOfSIaQgAgFH0iFEIAUiIBGyEOIA9Cf4UiDCAaUCABQX9zcSIBrXwiGiAMIAEbIQ8gASAMIBpWca0gEUJ/hXwhEQsgAkGYAmogFEIAIBNCABDJASACQYgCaiAUQgAgEkIAEMkBIAJB+AFqIBRCACAVQgAQyQEgAkHoAWogDkIAIBNCABDJASACQdgBaiAOQgAgEkIAEMkBIAJByAFqIA9CACATQgAQyQEgAikD+AEiDCACQZACaikDACACKQOIAiIaIAJBoAJqKQMAfCIhIBpUrXx8IhogDFStIAJB0AFqKQMAIAJB4AFqKQMAIAJBgAJqKQMAIA4gFX4gECAUfnwgDyASfnx8IBEgE358fHx8IAJB8AFqKQMAIAIpA+gBIg4gIXwiFCAOVK18Ig4gGnwiDyAOVK18IAIpA9gBIg4gD3wiDyAOVK18IA8gAikDyAEiEXwiDiARVK18IRF+QgJaBEAgEUJ/hSIPIAIpA5gCIgxCACAUfSINhFAiASAOQn+FIg4gAa18IhAgDlRxIgOtfCAPIAMbIREgDSAUQn+FIAxQGyEUIBAgDiABGyEOCwJ+IBFCAFkEQCARQiCGIA5CIIiEIRIgDkIghiAUQiCIhCEOIBFCIIghFUIADAELIAJBgAtqQgA3AwAgAkH4CmpCADcDACACQgA3A/AKIAJCnwE3A+gKIAJBqAtqQaizwAAgAkHoCmoQaCACKQOwCyEPAn4CQAJAIAIpA6gLIgxQRQRAIAIpA7gLIRIgAikDwAshEwwBCyACKQO4CyESIA9QRQRAIA9CAX0hDyACKQPACyETDAELIAIpA8ALIRMgElANASASQgF9IRJCfyEPCyAMQgF9DAELIBNQDRhCfyESIBNCAX0hE0J/IQ9CfwshDCASQn+FIBFCIIiEIRUgEUIghiAOQiCIhCAPQn+FhCESIA5CIIYgFEIgiIQgDEJ/hYQhDiATQn+FCyEUIAJB6ApqQdy+wABBHhBQIAIoAugKDRFCIIYgJkIgiIQhESASIAIpA/gKfCIPIBJUIQEgAikDgAsgDiAOIAIpA/AKfCITWAR+IAGtBSAPQgF8Ig9QrSABrXwLIQwgFXwiDiAVVCEDQf8BIQFB/wEgHiARfSAkfCIRIB0gFyAnfSIShCAWhIRCAFIgEUIAUxsCQCACKQOICyINIBR8IAxQBH4gA60FIA4gDCAOfCIOVq0gA618CyIMIA0gFHx8IAxQGyIUQgBTDQBBASEBIA8gE4QgDoRCAFINACAUUA0RC8AgAcBtIAIgEUIAUwR+IBJCf4VCACASfSINQgAgHX0iHUIAUiIBGyESIBZCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRYgASAMIA1Wca0gEUJ/hXwFIBELNwPgCiACIBY3A9gKIAIgEjcD0AogAiAdNwPICiACIBRCAFMEfiAPQn+FQgAgD30iDEIAIBN9IhNCAFIiARshDyAOQn+FIhEgDFAgAUF/c3EiAa18IgwgESABGyEOIAEgDCARVHGtIBRCf4V8BSAUCzcDwAsgAiAONwO4CyACIA83A7ALIAIgEzcDqAsgAkHoCmogAkHICmogAkGoC2oQTiACKQOACyEUIAIpA/gKIRMgAikD8AohDiACKQPoCiERQf8BcUECTwRAIBRCf4UiFEIAIA59IgxQQgAgEX0iEUIAUiIDQX9zcSIBIBNCf4UiDyABrXwiDSAPVHEiBK18IBQgBBshFCANIA8gARshEyAOQn+FIAwgAxshDgsgAkHoCmpBjL/AAEErEFAgAigC6AoNEiACKQOICyEVQn8gDiARhCATIBSEhEIAUq0gFEIAUyIBGyACKQOACyEQIAIpA/gKIRIgAikD8AohDyABBEAgDkJ/hUIAIA59IhZCACARfSIRQgBSIgEbIQ4gE0J/hSIMIBZQIAFBf3NxIgGtfCIWIAwgARshEyABIAwgFlZxrSAUQn+FfCEUC0J/IA8gEoQgEIQgFYRCAFKtIBVCAFMiARsgAQRAIBJCf4VCACASfSIXQgAgD30iD0IAUiIBGyESIBBCf4UiDCAXUCABQX9zcSIBrXwiFyAMIAEbIRAgASAMIBdWca0gFUJ/hXwhFQsgAkG4AWogD0IAIBFCABDJASACQagBaiAPQgAgDkIAEMkBIAJBmAFqIA9CACATQgAQyQEgAkGIAWogEkIAIBFCABDJASACQfgAaiASQgAgDkIAEMkBIAJB6ABqIBBCACARQgAQyQEgAikDmAEiDCACQbABaikDACACKQOoASIXIAJBwAFqKQMAfCIZIBdUrXx8IhcgDFStIAJB8ABqKQMAIAJBgAFqKQMAIAJBoAFqKQMAIBIgE34gDyAUfnwgDiAQfnx8IBEgFX58fHx8IAJBkAFqKQMAIAIpA4gBIg4gGXwiFCAOVK18Ig4gF3wiDyAOVK18IAIpA3giDiAPfCIPIA5UrXwgAikDaCIOIA98IhMgDlStfCEQIAIpA7gBIRV+QgJaBEAgEEJ/hSIPQgAgFH0iEVBCACAVfSIVQgBSIgNBf3NxIgEgE0J/hSIOIAGtfCIMIA5UcSIErXwgDyAEGyEQIAwgDiABGyETIBRCf4UgESADGyEUCyACQegKakG3v8AAQccAEFAgAigC6AoNEyACKQOACyEPIAIpA/gKIQ4gAikD8AohEUJ/IRYgAikDiAsiEkIAWQRAIA4gEYQgDyAShIRCAFKtIRYLIBJCAFMEQCAOQn+FQgAgDn0iDUIAIBF9IhFCAFIiARshDiAPQn+FIgwgDVAgAUF/c3EiAa18Ig0gDCABGyEPIAEgDCANVnGtIBJCf4V8IRILQn8gGyAchCAYhCAihEIAUq0gIkIAUyIBGyABBEAgG0J/hUIAIBt9IhdCACAcfSIcQgBSIgEbIRsgGEJ/hSIMIBdQIAFBf3NxIgGtfCIXIAwgARshGCABIAwgF1ZxrSAiQn+FfCEiCyACQdgAaiAcQgAgEUIAEMkBIAJByABqIBxCACAOQgAQyQEgAkE4aiAcQgAgD0IAEMkBIAJBKGogG0IAIBFCABDJASACQRhqIBtCACAOQgAQyQEgAkEIaiAYQgAgEUIAEMkBIAIpAzgiDCACQdAAaikDACACKQNIIhcgAkHgAGopAwB8IhkgF1StfHwiFyAMVK0gAkEQaikDACACQSBqKQMAIAJBQGspAwAgDyAbfiASIBx+fCAOIBh+fHwgESAifnx8fHwgAkEwaikDACACKQMoIg8gGXwiDiAPVK18Ig8gF3wiESAPVK18IAIpAxgiDyARfCIRIA9UrXwgESACKQMIIhF8Ig8gEVStfCEYIAIpA1ghGyAWfkICWgR+IBhCf4UiEUIAIA59IgxQQgAgG30iG0IAUiIDQX9zcSIBIA9Cf4UiDyABrXwiDSAPVHEiBK18IBEgBBshGCANIA8gARshDyAOQn+FIAwgAxsFIA4LIBR8Ig4gFFQhASAPIBN8IhEgE1QhAyAVIBUgG3wiD1gEfiABrQUgDkIBfCIOUK0gAa18CyIUUAR+IAOtBSARIBEgFHwiEVatIAOtfAsiFFAEfiAQIBh8BSAQIBh8IBR8CyEMIAJB6ApqQf6/wABByAAQUCACKALoCkUEQCAOIA4gAikD+Ap8IhRWIgGtIBRCf1GtIAGtfCAPIA8gAikD8Ap8WBshDyACKQOACyARfCIOIBFUIQFCACEUAn4gAikDiAsiESAMfCAPUAR+IAGtBSAOIA4gD3wiDlatIAGtfAsiDyAMIBF8fCAPUBsiEUIAWQRAIBFCEoYgDkIuiIQhDkIAIQ8gEUIuiAwBCyACQYALakIANwMAIAJB+ApqQgA3AwAgAkIANwPwCiACQtEANwPoCiACQagLakGos8AAIAJB6ApqEGggAikDsAshFAJ+AkACQAJAAkAgAikDqAsiDFBFBEAgAikDuAshDwwBCyACKQO4CyEPIBRQDQEgFEIBfSEUCyAUQn+FIRggAikDwAshFAwBCyACKQPACyEUIA9QDQEgD0IBfSEPQgAhGAsgD0J/hSEPQgAgDH0MAQtCACEPIBRQDRcgFEIBfSEUQgAhGEIACyARQhKGIA5CLoiEhCEOIBRCf4UhFCAYIBFCLoiECyERIAAgFDcDICAAIA83AxggACARNwMQIAAgDjcDCEEAIQEMFgsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABByMDAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQYjDwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEH4wsAAEMoBAAtBwLnAAEErIAJBzwtqQdjCwABB6MLAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQcjCwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEG4wsAAEMoBAAsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABBqMLAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQZjCwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEGIwsAAEMoBAAsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABB+MHAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQejBwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEHYwcAAEMoBAAsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABByMHAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQbjBwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEGowcAAEMoBAAsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABBmMHAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQYjBwAAQygEAC0H8vsAAEIYCAAsgAiACKALsCjYCqAtBwLnAAEErIAJBqAtqQey5wABB+MDAABDKAQALIAIgAigC7Ao2AqgLQcC5wABBKyACQagLakHsucAAQejAwAAQygEACyACIAIoAuwKNgKoC0HAucAAQSsgAkGoC2pB7LnAAEHYwMAAEMoBAAsMAQsgACABNgIAIAJB0AtqJAAPCyACQQA2AvgKIAJBATYC7AogAkHktMAANgLoCiACQgQ3AvAKIAJB6ApqQbS0wAAQ/QEAC/cgAjR/HX5B9MqB2QYhCUGy2ojLByEMQe7IgZkDIRJB5fDBiwYhCkEGISpB5fDBiwYhC0HuyIGZAyETQbLaiMsHIRZB9MqB2QYhGEHl8MGLBiEUQe7IgZkDIRlBstqIywchGkH0yoHZBiEbQeXwwYsGIRVB7siBmQMhHEGy2ojLByEdQfTKgdkGIR4gACkDGCI3IUMgACkDECI4IUQgNyE5IDghOiA3ITsgOCE8IAApAwgiQiFFIAApAwAiPSFGIEIhRyA9IUAgQiFIID0hQSAAKQMoIkohSyAAKQMgIkkhTCBJQgF8Ik0hTiBKIjYhPiBJQgJ8Ik8hUCA2IT8gSUIDfCJRIVIDQCBBIFIgFSBBp2oiFa0gHCBBQiCIp2oiHK1CIIaEhSJBQiCIp0EQdyIhIDxCIIinaiIirUIghiBBp0EQdyIjIDynaiIXrYSFIjxCIIinQQx3Ig0gHGoiHK1CIIYgFSA8p0EMdyIVaiIRrYQgI60gIa1CIIaEhSI8QiCIp0EIdyIhICJqIiKtQiCGIDynQQh3IiMgF2oiF62EIBWtIA2tQiCGhIUiQadBB3ciFSA/IB0gSKdqIh2tIB4gSEIgiKdqIh6tQiCGhIUiPEIgiKdBEHciDSA7QiCIp2oiBq1CIIYgPKdBEHciDiA7p2oiAq2EIEiFIjtCIIinQQx3IgcgHmoiHmoiBK1CIIYgBiAdIDunQQx3Ih1qIgatIB6tQiCGhCAOrSANrUIghoSFIjtCIIinQQh3Ig1qIg6tQiCGIDunQQh3Ih4gAmoiAq2EIB2tIAetQiCGhIUiO0IgiKdBB3ciHSAGaiIGrYQgIa0gHq1CIIaEhSI8QiCIp0EQdyIhICJqIiKtQiCGIBcgPKdBEHciF2oiB62EIB2tIBWtQiCGhIUiPEIgiKdBDHciFSAEaiIerUIghiAGIDynQQx3IgZqIh2thCAXrSAhrUIghoSFIjxCIIinQQh3IiEgImqtQiCGIDynQQh3IiIgB2qthCI8IAatIBWtQiCGhIUiP6dBB3ciLK1CIIYgQUIgiKdBB3ciFSARaiIXrSAcIDunQQd3IhxqIhGtQiCGhCANrSAjrUIghoSFIjtCIIinQRB3IiMgDmoiDa1CIIYgO6dBEHciBiACaiIOrYQgFa0gHK1CIIaEhSI7QiCIp0EMdyICIBFqIhytQiCGIDunQQx3IhEgF2oiFa2EIAatICOtQiCGhIUiO0IgiKdBCHciIyANaq1CIIYgO6dBCHciFyAOaq2EIjsgEa0gAq1CIIaEhSJBQiCIp0EHdyItrYQhSCA/QiCIp0EHdyIurSBBp0EHdyIvrUIghoQhQSA9IFAgFCA9p2oiFK0gGSA9QiCIp2oiGa1CIIaEhSI9QiCIp0EQdyINIDhCIIinaiIRrUIghiA9p0EQdyIGIDinaiIOrYSFIjhCIIinQQx3IgIgGWoiGa1CIIYgFCA4p0EMdyIUaiIHrYQgBq0gDa1CIIaEhSI4QiCIp0EIdyINIBFqIhGtQiCGIDinQQh3IgYgDmoiDq2EIBStIAKtQiCGhIUiPadBB3ciFCA+IBogQqdqIhqtIBsgQkIgiKdqIhutQiCGhIUiOEIgiKdBEHciAiA3QiCIp2oiBK1CIIYgOKdBEHciDyA3p2oiA62EIEKFIjdCIIinQQx3IgggG2oiG2oiBa1CIIYgBCAaIDenQQx3IhpqIgStIButQiCGhCAPrSACrUIghoSFIjdCIIinQQh3IgJqIg+tQiCGIDenQQh3IhsgA2oiA62EIBqtIAitQiCGhIUiN0IgiKdBB3ciGiAEaiIErYQgDa0gG61CIIaEhSI4QiCIp0EQdyINIBFqIhGtQiCGIA4gOKdBEHciDmoiCK2EIBqtIBStQiCGhIUiOEIgiKdBDHciFCAFaiIbrUIghiAEIDinQQx3IgRqIhqthCAOrSANrUIghoSFIjhCIIinQQh3Ig0gEWqtQiCGIDinQQh3IhEgCGqthCI4IAStIBStQiCGhIUiPqdBB3ciMK1CIIYgPUIgiKdBB3ciFCAHaiIOrSAZIDenQQd3IhlqIgetQiCGhCACrSAGrUIghoSFIjdCIIinQRB3IgYgD2oiAq1CIIYgN6dBEHciBCADaiIPrYQgFK0gGa1CIIaEhSI3QiCIp0EMdyIDIAdqIhmtQiCGIDenQQx3IgcgDmoiFK2EIAStIAatQiCGhIUiN0IgiKdBCHciBiACaq1CIIYgN6dBCHciDiAPaq2EIjcgB60gA61CIIaEhSI9QiCIp0EHdyIxrYQhQiA+QiCIp0EHdyIyrSA9p0EHdyIzrUIghoQhPSBOIAsgRqdqIgutIBMgRkIgiKdqIhOtQiCGhIUiPkIgiKdBEHciAiBEQiCIp2oiB61CIIYgPqdBEHciBCBEp2oiD62EIEaFIj5CIIinQQx3IgMgE2oiE61CIIYgCyA+p0EMdyILaiIIrYQgBK0gAq1CIIaEhSI+QiCIp0EIdyICIAdqIgetQiCGID6nQQh3IgQgD2oiD62EIAutIAOtQiCGhIUiPqdBB3ciCyA2IBYgRadqIhatIBggRUIgiKdqIhitQiCGhIUiNkIgiKdBEHciAyBDQiCIp2oiBa1CIIYgNqdBEHciECBDp2oiJK2EIEWFIjZCIIinQQx3IiggGGoiGGoiK61CIIYgBSAWIDanQQx3IhZqIgWtIBitQiCGhCAQrSADrUIghoSFIjZCIIinQQh3IgNqIhCtQiCGIDanQQh3IhggJGoiJK2EIBatICitQiCGhIUiNkIgiKdBB3ciFiAFaiIFrYQgAq0gGK1CIIaEhSI/QiCIp0EQdyICIAdqIgetQiCGIA8gP6dBEHciD2oiKK2EIBatIAutQiCGhIUiP0IgiKdBDHciCyAraiIYrUIghiAFID+nQQx3IgVqIhathCAPrSACrUIghoSFIj9CIIinQQh3IgIgB2qtQiCGID+nQQh3IgcgKGqthCJEIAWtIAutQiCGhIUiP6dBB3ciKK1CIIYgPkIgiKdBB3ciCyAIaiIPrSATIDanQQd3IhNqIgitQiCGhCADrSAErUIghoSFIjZCIIinQRB3IgQgEGoiA61CIIYgNqdBEHciBSAkaiIQrYQgC60gE61CIIaEhSI2QiCIp0EMdyIkIAhqIhOtQiCGIDanQQx3IgggD2oiC62EIAWtIAStQiCGhIUiNkIgiKdBCHciBCADaq1CIIYgNqdBCHciDyAQaq2EIkMgCK0gJK1CIIaEhSI2QiCIp0EHdyIkrYQhRSA/QiCIp0EHdyIrrSA2p0EHdyI0rUIghoQhRiBAIAogQKdqIgqtIBIgQEIgiKdqIhKtQiCGhCBMhSJAQiCIp0EQdyIDIDpCIIinaiIIrUIghiBAp0EQdyIFIDqnaiIQrYSFIjpCIIinQQx3Ih8gEmoiEq1CIIYgCiA6p0EMdyIKaiIlrYQgBa0gA61CIIaEhSI6QiCIp0EIdyIDIAhqIgitQiCGIDqnQQh3IgUgEGoiEK2EIAqtIB+tQiCGhIUiQKdBB3ciCiAMIEenaiIMrSAJIEdCIIinaiIJrUIghoQgS4UiOkIgiKdBEHciHyA5QiCIp2oiIK1CIIYgOqdBEHciJiA5p2oiJ62EIEeFIjlCIIinQQx3IikgCWoiCWoiNa1CIIYgICAMIDmnQQx3IgxqIiCtIAmtQiCGhCAmrSAfrUIghoSFIjlCIIinQQh3Ih9qIiatQiCGIDmnQQh3IgkgJ2oiJ62EIAytICmtQiCGhIUiOUIgiKdBB3ciDCAgaiIgrYQgA60gCa1CIIaEhSI6QiCIp0EQdyIDIAhqIgitQiCGIBAgOqdBEHciEGoiKa2EIAytIAqtQiCGhIUiOkIgiKdBDHciCiA1aiIJrUIghiAgIDqnQQx3IiBqIgythCAQrSADrUIghoSFIjpCIIinQQh3IgMgCGqtQiCGIDqnQQh3IgggKWqthCI6ICCtIAqtQiCGhIUiNqdBB3ciIK1CIIYgQEIgiKdBB3ciCiAlaiIQrSASIDmnQQd3IhJqIiWtQiCGhCAfrSAFrUIghoSFIjlCIIinQRB3IgUgJmoiH61CIIYgOadBEHciJiAnaiInrYQgCq0gEq1CIIaEhSI5QiCIp0EMdyIpICVqIhKtQiCGIDmnQQx3IiUgEGoiCq2EICatIAWtQiCGhIUiOUIgiKdBCHciBSAfaq1CIIYgOadBCHciECAnaq2EIjkgJa0gKa1CIIaEhSJAQiCIp0EHdyIfrYQhRyA2QiCIp0EHdyIlrSBAp0EHdyImrUIghoQhQCAhrSAXrUIghoQhPyAjrSAirUIghoQhUiANrSAOrUIghoQhPiAGrSARrUIghoQhUCACrSAPrUIghoQhNiAErSAHrUIghoQhTiADrSAQrUIghoQhSyAFrSAIrUIghoQhTCAqQQFrIioNAAsgACgCICEqIAAoAiQhJyAAIElCBHw3AyAgASAeQfTKgdkGajYCzAEgASAdQbLaiMsHajYCyAEgASAcQe7IgZkDajYCxAEgASAVQeXwwYsGajYCwAEgASAbQfTKgdkGajYCjAEgASAaQbLaiMsHajYCiAEgASAZQe7IgZkDajYChAEgASAUQeXwwYsGajYCgAEgASAYQfTKgdkGajYCTCABIBZBstqIywdqNgJIIAEgE0HuyIGZA2o2AkQgASALQeXwwYsGajYCQCABIAlB9MqB2QZqNgIMIAEgDEGy2ojLB2o2AgggASASQe7IgZkDajYCBCABIApB5fDBiwZqNgIAIAEgISBKpyIWajYC+AEgASAjIFGnajYC8AEgASAAKAIYIgkgO6dqNgLoASABIAAoAhAiDCA8p2o2AuABIAEgACgCDCISICxqNgLcASABIAAoAggiCiAtajYC2AEgASAAKAIEIgsgL2o2AtQBIAEgACgCACITIC5qNgLQASABIA0gFmo2ArgBIAEgBiBPp2o2ArABIAEgCSA3p2o2AqgBIAEgDCA4p2o2AqABIAEgEiAwajYCnAEgASAKIDFqNgKYASABIAsgM2o2ApQBIAEgEyAyajYCkAEgASACIBZqNgJ4IAEgBCBNp2o2AnAgASAJIEOnajYCaCABIAwgRKdqNgJgIAEgEiAoajYCXCABIAogJGo2AlggASALIDRqNgJUIAEgEyArajYCUCABIBAgACgCLGo2AjwgASADIAAoAihqNgI4IAEgCCAnajYCNCABIAUgKmo2AjAgASAJIDmnajYCKCABIAwgOqdqNgIgIAEgEiAgajYCHCABIAogH2o2AhggASALICZqNgIUIAEgEyAlajYCECABIBcgSkIgiKciDGo2AvwBIAEgIiBRQiCIp2o2AvQBIAEgACgCFCIJIDxCIIinajYC5AEgASAMIA5qNgK8ASABIBEgT0IgiKdqNgK0ASABIAkgOEIgiKdqNgKkASABIAwgD2o2AnwgASAHIE1CIIinajYCdCABIAkgREIgiKdqNgJkIAEgCSA6QiCIp2o2AiQgASAAKAIcIgAgO0IgiKdqNgLsASABIAAgN0IgiKdqNgKsASABIAAgQ0IgiKdqNgJsIAEgACA5QiCIp2o2AiwLvRwCA38bfiMAQYAHayIDJAACQAJAAkAgAikDAEIAUg0AIAIpAwhCAFINACACKQMQQgBSDQAgAikDGFANAQsgA0HYBmpCADcDACADQdAGakIANwMAIANCADcDyAYgA0IBNwPABiADQfgGaiACQRhqKQMAIhY3AwAgA0HwBmogAkEQaikDACIZNwMAIANB6AZqIAJBCGopAwAiHDcDACADIAIpAwAiGzcD4AYgASkDGCEGIAEpAxAhCCABKQMIIQ0gASkDACEMQgEhEgNAQRghAgJAAkADQCACQXhGDQEgA0HgBmogAmohASADQcAGaiACaiEFIAJBCGshAkF/IAUpAwAiCiABKQMAIgdSIAcgClQbIgFFDQALIAFB/wFxQQFGDQELIANB8AFqIBJCACAMQgAQyQEgA0HgAWogEkIAIA1CABDJASADQdABaiASQgAgCEIAEMkBIANBwAFqIBJCACAGQgAQyQEgA0GwAWogF0IAIAxCABDJASADQaABaiAXQgAgDUIAEMkBIANBkAFqIBdCACAIQgAQyQEgA0GAAWogF0IAIAZCABDJASADQfAAaiAaQgAgDEIAEMkBIANB4ABqIBpCACANQgAQyQEgA0HQAGogGkIAIAhCABDJASADQUBrIBpCACAGQgAQyQEgA0EwaiAVQgAgDEIAEMkBIANBIGogFUIAIA1CABDJASADQRBqIBVCACAIQgAQyQEgAyAVQgAgBkIAEMkBIAMpA/ABIQoCf0EBIAMpAyAiHCADQThqKQMAIAMpAzAiGSADKQNgIgcgA0H4AGopAwAgAykDcCIWIAMpA6ABIgkgA0G4AWopAwAgAykDsAEiBiADKQPgASIIIANB+AFqKQMAfCINfCIMIAZUrXwiBiADKQPQASISIANB6AFqKQMAIAggDVatfHwiCHwiDXwiF3wiGiAWVK18IhUgAykDkAEiGyADQagBaikDACAJIBdWrXwiCSAGIA1WrXwiFiADKQPAASIGIANB2AFqKQMAIAggElStfHwiCHwiDXwiEnwiF3wiC3wiDiAZVK18IhAgAykDUCIPIANB6ABqKQMAIAcgC1atfCIHIBUgF1atfCIZIAMpA4ABIhcgA0GYAWopAwAgEiAbVK18IhIgDSAWVCAJIBZWcq18IhYgA0HIAWopAwAgBiAIVq18fCIJfCIGfCIIfCINfCIVfCIbQgBSDQAaQQEgAykDECILIANBKGopAwAgGyAcVK18IhsgECAVVq18IhwgAykDQCIVIANB2ABqKQMAIA0gD1StfCINIAggGVQgByAZVnKtfCIZIAYgF1StIANBiAFqKQMAIAkgFlQgEiAWVnKtfHx8Igd8Igl8IhZ8IgZCAFINABpBASADKQMAIgggA0EYaikDACAGIAtUrXwiBiAWIBxUIBsgHFZyrXwiFiAJIBVUrSADQcgAaikDACAHIBlUIA0gGVZyrXx8fCIZfCIcQgBSDQAaIANBCGopAwAgCCAcVq18QgAgBiAWViAWIBlWcq19UgshAiAAIA43AxggACAaNwMQIAAgDDcDCCAAIAo3AwAgACACIARyQQFxOgAgDAMLAkAgG6dBAXFFBEAgA0GQA2ogDEIAIAxCABDJASADQYADaiAMQgAgDUIAEMkBIANB4AJqIAhCACAMQgAQyQEgA0GwAmogBkIAIAxCABDJASADQfACaiANQgAgDUIAEMkBIANB0AJqIAhCACANQgAQyQEgA0GgAmogBkIAIA1CABDJASADQcACaiAIQgAgCEIAEMkBIANBkAJqIAZCACAIQgAQyQEgA0GAAmogBkIAIAZCABDJAUEBIQICQCADKQOgAiIKIANBuAJqKQMAIg4gAykDsAIiByADKQPQAiIJIANB6AJqKQMAIgsgAykD4AIiBiADKQPwAiIMIANBiANqKQMAIhAgAykDgAMiCCAIIANBmANqKQMAfCIPfCINIAhUrXwiESAGIAggD1atIBB8fCIQfCIPfCITfCIIIAZUrXwiFCAJIANB+AJqKQMAIAwgE1atfCITIA8gEVStfCIMIAcgBiAQVq0gC3x8IhB8Ig98IhF8Igt8Ihh8IgYgB1StfCIdIAMpA8ACIh8gA0HYAmopAwAiHiAJIBhWrXwiGCALIBRUrXwiCyAKIAkgEVatIB58IhEgDCATVCAMIA9Wcq18IgkgByAQVq0gDnx8Ig58IhB8Ig98IhN8Igx8IhRCAFINACADKQOQAiIHIANBqAJqKQMAIh4gCiAUVq18IhQgDCAdVK18IgwgByADQcgCaikDACATIB9UrXwiEyALIBhUIAsgD1ZyrXwiCyAKIBBWrSAJIBFUIAkgDlZyrSAefHx8Igl8Ig58Igp8IhBCAFINACADKQOAAiIPIANBmAJqKQMAIhEgByAQVq18IhAgDCAUVCAKIAxUcq18IgogByAOVq0gCyATVCAJIAtUcq0gEXx8fCIHfCIJQgBSDQAgA0GIAmopAwAgCSAPVK18QgAgCiAQVCAHIApUcq19UiECCyADKQOQAyEMDAELIANBsAZqIBJCACAMQgAQyQEgA0GgBmogEkIAIA1CABDJASADQZAGaiASQgAgCEIAEMkBIANBgAZqIBJCACAGQgAQyQEgA0HwBWogF0IAIAxCABDJASADQeAFaiAXQgAgDUIAEMkBIANB0AVqIBdCACAIQgAQyQEgA0HABWogF0IAIAZCABDJASADQbAFaiAaQgAgDEIAEMkBIANBoAVqIBpCACANQgAQyQEgA0GQBWogGkIAIAhCABDJASADQYAFaiAaQgAgBkIAEMkBIANB8ARqIBVCACAMQgAQyQEgA0HgBGogFUIAIA1CABDJASADQdAEaiAVQgAgCEIAEMkBIANBwARqIBVCACAGQgAQyQFBASEBAn9BASADKQPgBCIJIANB+ARqKQMAIAMpA/AEIgcgAykDoAUiEiADQbgFaikDACADKQOwBSIKIAMpA+AFIhUgA0H4BWopAwAgAykD8AUiGiADKQOgBiILIANBuAZqKQMAfCIOfCIXIBpUrXwiECADKQOQBiIPIANBqAZqKQMAIAsgDlatfHwiC3wiDnwiEXwiGiAKVK18IhMgAykD0AUiFCADQegFaikDACARIBVUrXwiESAOIBBUrXwiCiADKQOABiIOIANBmAZqKQMAIAsgD1StfHwiC3wiEHwiD3wiGHwiHXwiFSAHVK18Ih8gAykDkAUiHiADQagFaikDACASIB1WrXwiEiATIBhWrXwiByADKQPABSITIANB2AVqKQMAIA8gFFStfCIPIAogEVQgCiAQVnKtfCIKIANBiAZqKQMAIAsgDlStfHwiC3wiDnwiEHwiEXwiFHwiGEIAUg0AGkEBIAMpA9AEIh0gA0HoBGopAwAgCSAYVq18IhggFCAfVK18IgkgAykDgAUiFCADQZgFaikDACARIB5UrXwiESAHIBJUIAcgEFZyrXwiByAOIBNUrSADQcgFaikDACAKIA9UIAogC1ZyrXx8fCISfCILfCIKfCIOQgBSDQAaQQEgAykDwAQiECADQdgEaikDACAOIB1UrXwiDiAJIBhUIAkgClZyrXwiCiALIBRUrSADQYgFaikDACAHIBFUIAcgElZyrXx8fCIHfCIJQgBSDQAaIANByARqKQMAIAkgEFStfEIAIAogDlQgByAKVHKtfVILIQIgAykDsAYhEiADQdADaiAMQgAgDEIAEMkBIANBwANqIAxCACANQgAQyQEgA0GwA2ogCEIAIAxCABDJASADQaADaiAGQgAgDEIAEMkBIANBgARqIA1CACANQgAQyQEgA0HwA2ogCEIAIA1CABDJASADQeADaiAGQgAgDUIAEMkBIANBoARqIAhCACAIQgAQyQEgA0GQBGogBkIAIAhCABDJASADQbAEaiAGQgAgBkIAEMkBIAMpA9ADIQwCQCADKQPgAyIKIANBqANqKQMAIhAgAykDoAMiByADKQPwAyIJIANBuANqKQMAIg4gAykDsAMiBiADKQOABCILIANByANqKQMAIg8gAykDwAMiCCAIIANB2ANqKQMAfCIRfCINIAhUrXwiEyAGIAggEVatIA98fCIPfCIRfCIUfCIIIAZUrXwiGCAJIANBiARqKQMAIAsgFFatfCIUIBEgE1StfCILIAcgBiAPVq0gDnx8Ig98IhF8IhN8Ig58Ih18IgYgB1StfCIfIAMpA6AEIh4gA0H4A2opAwAiICAJIB1WrXwiHSAOIBhUrXwiDiAKIAkgE1atICB8IhMgCyAUVCALIBFWcq18IgkgByAPVq0gEHx8IhB8Ig98IhF8IhR8Igt8IhhCAFINACADKQOQBCIHIANB6ANqKQMAIiAgCiAYVq18IhggCyAfVK18IgsgByADQagEaikDACAUIB5UrXwiFCAOIB1UIA4gEVZyrXwiDiAKIA9WrSAJIBNUIAkgEFZyrSAgfHx8Igl8IhB8Igp8Ig9CAFINACADKQOwBCIRIANBmARqKQMAIhMgByAPVq18Ig8gCyAYVCAKIAtUcq18IgogByAQVq0gDiAUVCAJIA5Ucq0gE3x8fCIHfCIJQgBSDQAgA0G4BGopAwAgCSARVK18QgAgCiAPVCAHIApUcq19UiEBCyAb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A0EgaiADKQMwIhwgA0E4aikDACAXQgAQyQEgA0EQaiAgIB0gAykDIH0gFxD0ASADIAMpAxAiHSADQRhqKQMAIBdCABDJASAAQgA3A0ggACAYNwM4IABB0ABqQgA3AwAgAEHYAGpCADcDACAAQeAAakIANwMAIABB6ABqQgA3AwAgAEHwAGpCADcDACAAQfgAakIANwMAIAAgIjcDMCAAIB43AyggACAaNwMgIAAgGzcDGCAAICE3AxAgACAcNwMIIAAgHTcDACAAICAgAykDAH03A0AMBQsgA0EANgLoBCADQQE2AtwEIANBzM3AADYC2AQgA0IENwLgBCADQdgEakGMzsAAEP0BAAsgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRhqQgA3AwAgAEEQakIANwMAIABBCGpCADcDACAAIAEpAwA3A0AgAEHIAGogAUEIaikDADcDACAAQdAAaiABQRBqKQMANwMAIABB2ABqIAFBGGopAwA3AwAgAEHgAGogAUEgaikDADcDACAAQegAaiABQShqKQMANwMAIABB8ABqIAFBMGopAwA3AwAgAEH4AGogAUE4aikDADcDAAwDCyABIAVBA3RqKQMAIBeIIR8MAQtBjM7AABCGAgALIAQgD2shBiAYIBeIIRggIiAXiCEaICQgF4ghGyAlIBeIIRwgJiAXiCEdICcgF4ghICAZIBeIIR4gD0EBaiEKIAEpAwAhIwJAIAJFDQAgIkIAIBd9IheGIBt8IRsgJCAXhiAcfCEcICUgF4YgHXwhHSAmIBeGICB8ISAgJyAXhiAefCEeIBkgF4YgGHwhGCAHQQdGDQAgASAFQQN0aikDACAXhiAafCEaCyADIB83A5AEIAMgGjcDiAQgAyAbNwOABCADIBw3A/gDIAMgHTcD8AMgAyAgNwPoAyADIB43A+ADIAMgGDcD2AMgAyAjICGGNwPQAyADQdAEakIANwMAIANByARqQgA3AwAgA0HABGpCADcDACADQbgEakIANwMAIANBsARqQgA3AwAgA0GoBGpCADcDACADQaAEakIANwMAIANCADcDmAQgA0HQA2ogBEEDdCICIA9BA3QiAWtqIQggIUI/gyEaIApBA3RBCGpBA3YhCSABIANqQYgDaikDACEcIAspAwAhGyAD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aikDADcDACAAQdgAaiADQbgFaikDADcDACAAQdAAaiADQbAFaikDADcDACAAQcgAaiADQagFaikDADcDACAAQThqIANB0ARqKQMANwMAIABBMGogA0HIBGopAwA3AwAgAEEoaiADQcAEaikDADcDACAAQSBqIANBuARqKQMANwMAIABBGGogA0GwBGopAwA3AwAgAEEQaiADQagEaikDADcDACAAQQhqIANBoARqKQMANwMAIAAgAykDmAQ3AwAMAQtBf0EIQYzOwAAQ0QEACyADQeAFaiQAC6skAgl/AX4jAEEQayIIJAACQAJAAkACQAJAAkACQCAAQfUBTwRAIABBzf97Tw0HIABBC2oiAEF4cSEFQbyHwQAoAgAiCUUNBEEAIAVrIQMCf0EAIAVBgAJJDQAaQR8gBUH///8HSw0AGiAFQQYgAEEIdmciAGt2QQFxIABBAXRrQT5qCyIHQQJ0QaCEwQBqKAIAIgJFBEBBACEADAILQQAhACAFQRkgB0EBdmtBACAHQR9HG3QhBANAAkAgAigCBEF4cSIGIAVJDQAgBiAFayIGIANPDQAgAiEBIAYiAw0AQQAhAyABIQAMBAsgAigCFCIGIAAgBiACIARBHXZBBHFqQRBqKAIAIgJHGyAAIAYbIQAgBEEBdCEEIAINAAsMAQtBuIfBACgCACICQRAgAEELakH4A3EgAEELSRsiBUEDdiIAdiIBQQNxBEACQCABQX9zQQFxIABqIgFBA3QiAEGwhcEAaiIEIABBuIXBAGooAgAiACgCCCIDRwRAIAMgBDYCDCAEIAM2AggMAQtBuIfBACACQX4gAXdxNgIACyAAQQhqIQMgACABQQN0IgFBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQMBwsgBUHAh8EAKAIATQ0DAkACQCABRQRAQbyHwQAoAgAiAEUNBiAAaEECdEGghMEAaigCACIBKAIEQXhxIAVrIQMgASECA0ACQCABKAIQIgANACABKAIUIgANACACKAIYIQcCQAJAIAIgAigCDCIARgRAIAJBFEEQIAIoAhQiABtqKAIAIgENAUEAIQAMAgsgAigCCCIBIAA2AgwgACABNgIIDAELIAJBFGogAkEQaiAAGyEEA0AgBCEGIAEiAEEUaiAAQRBqIAAoAhQiARshBCAAQRRBECABG2ooAgAiAQ0ACyAG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FxD0ASADQSBqIAMpAzAiHCADQThqKQMAIBdCABDJASADQRBqIBogGCADKQMgfSAXEPQBIAMgAykDECIYIANBGGopAwAgF0IAEMkBIABCADcDKCAAIB43AxggAEEwakIANwMAIABBOGpCADcDACAAIBs3AxAgACAcNwMIIAAgGDcDACAAIBogAykDAH03AyAMBQsgA0EANgLIAiADQQE2ArwCIANBzM3AADYCuAIgA0IENwLAAiADQbgCakH8zcAAEP0BAAsgAEIANwMAIABBGGpCADcDACAAQRBqQgA3AwAgAEEIakIANwMAIAAgASkDADcDICAAQShqIAFBCGopAwA3AwAgAEEwaiABQRBqKQMANwMAIABBOGogAUEYaikDADcDAAwDCyADQbgCaiACQQN0aiAfIB6GNwMADAELQfzNwAAQhgIACyAEQQZ2IQQCQCAGRQ0AIAggISAYQgAgHH0iGIh8NwMAIAUgICAaIBiIfDcDACAHQQNGDQAgA0G4AmogAkEDdGoiAiACKQMAIBcgGIh8NwMACyAEIA1rIQYgA0HoAWogA0HQAmopAwA3AwAgA0HgAWogA0HIAmopAwA3AwAgA0HYAWogA0HAAmopAwA3AwAgAyADKQO4AjcD0AEgG0HAACAPayICrSIYiEIAIAJBBnYiB0EDaiIIQQRHGyEfIAEgB0ECaiIJQQN0aikDACIgIBiIIRsgASAHQQN0aiIFQQhqKQMAIiEgGIghFyAFKQMAIBiIIRogASkDACEjAkAgAkE/cUUNACAgQgAgGH0iGIYgF3whFyAhIBiGIBp8IRogCUEDRg0AIAEgCEEDdGopAwAgGIYgG3whGwsgDUEBaiEJIAMgHzcDkAIgAyAbNwOIAiADIBc3A4ACIAMgGjcD+AEgAyAjIB6GNwPwASADQbACakIANwMAIANBqAJqQgA3AwAgA0GgAmpCADcDACADQgA3A5gCIANB8AFqIARBA3QiAiANQQN0IgFraiEHIAFBEGpBA3YhCCABIANqQcgBaikDACEbIAopAwAhGiADKQPoASEfIAMpA+ABISAgAykD2AEhISADKQPQASEjIAZBBkkhFCABIAJrQShqQQN2IhUhECAGIQECQAJAA0ACQAJAIAEiCiAJaiICQQVJBEBCfyEYIANB8AFqIAJBA3RqIhIpAwAiFyAaWg0CIAEgDWoiBEEFSQ0BQX9BBUH8zcAAENEBAAsgAkEFQfzNwAAQ0QEACyACQQJrIgFBBE0EQCADQcABaiADQfABaiICIARBA3RqKQMAIhkgFyAaEPQBIANBsAFqIAMpA8ABIhggA0HIAWopAwAgGkIAEMkBIBkgAykDsAF9IRcgAUEDdCACaikDACEZA0AgA0GgAWogGEIAIBtCABDJASAZIAMpA6ABWiAXIANBqAFqKQMAIh1WIBcgHVEbDQIgGEIBfSEYIBcgFyAafCIXWA0ACwwBCyABQQVB/M3AABDRAQALIANBkAFqICNCACAYQgAQyQEgA0GAAWogIUIAIBhCABDJASADQfAAaiAgQgAgGEIAEMkBIANB4ABqIB9CACAYQgAQyQEgAyADKQOQATcDuAIgAyADKQOAASIXIANBmAFqKQMAfCIZNwPAAiADIANBiAFqKQMAIBcgGVatfCIXIAMpA3B8Ihk3A8gCIAMgA0H4AGopAwAgFyAZVq18IhcgAykDYHwiGTcD0AIgAyADQegAaikDACAXIBlWrXw3A9gCIBRFDQECQEEoIApBA3QiE2tBA3YiASAIIAEgCEkbRQ0AIBBB/////wFxIQsgESAVakH/////AXEiDCAIIAggDEsbIgFBAXECfyABQQFGBEBCACEXQQAMAQtBACAIIAsgCCALSRtB/v//P3FrIQ5CACEXQQAhBCADQbgCaiECIAchAQNAIAEgASkDACIZIAIpAwAiHSAXfCIXfTcDACABQQhqIgUgBSkDACIiIAJBCGopAwAiJCAXIB1UIBcgGVZyrXwiF303AwAgFyAkVCAXICJWciIFrSEXIAFBEGohASACQRBqIQIgDiAEQQJrIgRHDQALQQAgBGsLIQEgA0HwAWogE2ohDgRAIA4gAUEDdCIBaiICIAIpAwAiGSADQbgCaiABaikDACIdIBd8Ihd9NwMAIBcgHVQgFyAZVnIhBQsgBUEBcUUNAEEAIQICQCAKQQVGDQAgDCAJIAkgDEsbIgFBAXECfyABQQFGBEBCACEXQQAMAQtBACAJIAsgCSALSRtB/v//P3FrIQtCACEXQQAhAUEAIQQDQCABIAdqIgIgAikDACIZIBcgA0HQAWogAWoiBSkDACIXfCIdfCIiNwMAIAJBCGoiAiACKQMAIiQgBUEIaikDACIlIBcgHVYgGSAiVnKtfCIXfCIZNwMAIBcgJVQgGSAkVHIiAq0hFyABQRBqIQEgCyAEQQJrIgRHDQALQQAgBGsLIQFFDQAgDiABQQN0IgFqIgIgAikDACIZIBcgA0HQAWogAWopAwAiF3wiHXwiIjcDACAXIB1WIBkgIlZyIQILIBIgEikDACACrUIBg3w3AwAgGEIBfSEYCyAGQQRJBEAgCkEBayEBIANBmAJqIBNqIBg3AwAgB0EIayEHIBBBAWohECARQQFqIREgCkUNAwwBCwsgBkEEQfzNwAAQ0QEACyAGQQVB/M3AABDNAgALIANB2AJqIANBkAJqKQMANwMAIANB0AJqIANBiAJqKQMAIhc3AwAgA0HIAmogA0GAAmopAwAiGDcDACADQcACaiADQfgBaikDACIaNwMAIAMgAykD8AEiGzcDuAIgAyAbIB6INwPgAiADIBogHog3A+gCIAMgGCAeiDcD8AIgAyAXIB6INwP4AgJAIA8EQEIAIBx9Qj+DIRdBASEBA0BBBCEEQQMhAiABQQNLIgZFBEAgAUEBayICQQNLDQMgAUEBaiEECyADQeACaiACQQN0aiICIAIpAwAgA0G4AmogAUEDdGopAwAgF4aENwMAIAQhASAGRQ0ACwsgACADKQPgAjcDICAAQThqIANB+AJqKQMANwMAIABBMGogA0HwAmopAwA3AwAgAEEoaiADQegCaikDADcDACAAQRhqIANBsAJqKQMANwMAIABBEGogA0GoAmopAwA3AwAgAEEIaiADQaACaikDADcDACAAIAMpA5gCNwMADAELQX9BBEH8zcAAENEBAAsgA0GAA2okAAvTFgIJfwd+IwBBkAJrIgMkACADIAE2AngCQAJAAkACQAJAAkACQAJAAkAgARANIgRB////B0dBACAEG0UEQCADQfAAaiABEBIiCBATQQEhBCADKAJwIgVFDQEgAygCdCIHQQZHBEAgBSEEDAILIAVB8JPAAEEGEPMCBEBBBiEHIAUhBCAFQfaTwABBBhDzAg0CCyADQegBaiADQfgAahCUASADKALoAUUEQCADQZwBaiADQYgCaikDACIONwIAIANBlAFqIANBgAJqKQMAIgw3AgAgA0GMAWogA0H4AWopAwAiDTcCACADIAMpA/ABIg83AoQBIABBIGogDjcCACAAQRhqIAw3AgAgAEEQaiANNwIAIAAgDzcCCCAAQRI6ACggAEEANgIAQQYhByAFIQQMAwsgA0GYAWogA0GEAmooAgAiATYCACADQZABaiADQfwBaikCACIONwMAIANBiAFqIANB9AFqKQIAIgw3AwAgAyADKQLsASINNwOAASAAQRxqIAE2AgAgAEEUaiAONwIAIABBDGogDDcCACAAIA03AgQgAEEBNgIAQQYhByAFIQQMBwsgAyABEBEiARATIANCmJTAgKACNwOIASADIANByAFqrUKAgICAEIQ3A4ABIANBAjYC7AEgA0GIlMAANgLoASADQgI3AvQBIAMgAygCBEEAIAMoAgAiBBsiBTYC0AEgAyAEQQEgBBs2AswBIAMgBTYCyAEgAyADQYABajYC8AEgA0GoAWogA0HoAWoQjQEgAygCyAEiBARAIAMoAswBIAQQyQILIAFBhAFPBEAgARAICyADKAKoASEFIAMoAqwBIQECQCAAAn8CQAJ+AkAgAygCsAEiBARAIAEtAABBLUYNAQsgA0HoAWoiByABIAQQVSADKALoAQ0CIANB4AFqIANBiAJqKQMANwMAIANB2AFqIANBgAJqKQMANwMAIANB0AFqIANB+AFqKQMANwMAIAMgAykD8AE3A8gBIAcgA0HIAWoQggEgAygC6AENAiADKQOAAiEOIAMpA/gBIQ8gAykD8AEhDCADKQOIAgwBCyAEQQFHBEAgASwAAUG/f0wNBAsgA0HoAWoiByABQQFqIARBAWsQVSADKALoAQ0BIANBwAFqIANBiAJqKQMANwMAIANBuAFqIANBgAJqIgQpAwA3AwAgA0GwAWogA0H4AWoiBikDADcDACADIAMpA/ABNwOoASAEQYCKwAApAwA3AwAgBkH4icAAKQMANwMAIANB8AFqQfCJwAApAwA3AwAgA0HoicAAKQMANwPoASADQYABaiIEIAcQWUKAgICAgICAgIB/IANBqAFqIgYgBEEgEPMCRQ0AGiAHIAYQggEgAygC6AENASADKQP4ASEMIAMpA4gCIRFCACADKQOAAiINfSEOAkACfiADKQPwASISUARAQgAgDH0hDyAMQgBSrQwBCyAMQn+FIQ8gDEIAUq0gDFCtfAsiDFAEQEJ/QgAgDUIAUhshEAwBC0J/QgAgDUIAUhsgDCAOVq19IRAgDiAMfSEOC0IAIBJ9IQwgECARfQshDSAAQQA2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QQhqIARB4ANqKQMANwMAIARB0ARqJAALlhMCEX8JfiMAQZACayICJAAgAS0AICEIIAJBCGoiA0EAENABIAJBKGpBChDQASACQcgAakEwENABIAJByAFqIgsgAUEYaikDADcDACACQcABaiIKIAFBEGopAwA3AwAgAkG4AWoiDCABQQhqKQMANwMAIAIgASkDADcDsAEgAkHoAGoiBCACQbABahBZIAJBADYCkAEgAkKAgICAwAA3AogBAkACQAJAAkACQCAEIAMQzQFB/wFxQQFGBEAgAkHQAWohBSACKQNgIRggAikDWCEZIAIpA1AhGiACKQNIIRsDQCAIRSAGIAhHckUEQCACKAKQASIDIAIoAogBRgRAIAJBiAFqELYBCyACKAKMASADQQJ0akEuNgIAIAIgA0EBajYCkAELIAJBiAJqIAJBgAFqIg0pAwA3AwAgAkGAAmogAkH4AGoiDikDADcDACACQfgBaiACQfAAaiIPKQMANwMAIAIgAikDaDcD8AEgAkGwAWogAkHwAWogAkEoahBOIAVBCGopAwAiEyAafCIVIBNUIQMgBUEQaikDACIUIBl8IhMgFFQhBCAFQRhqKQMAIhYgGHwiFCAWVCEHAkAgBSkDACIXIBt8IhYgF1oEfiADrQUgFUIBfCIVUK0gA618CyIXUAR+IAStBSATIBMgF3wiE1atIAStfAsiF1AEQCACIBQ3A8gBIAIgEzcDwAEgAiAVNwO4ASACIBY3A7ABIAdFDQEMCAsgAiATNwPAASACIBU3A7gBIAIgFjcDsAEgAiAUIBd8IhM3A8gBIAcgEyAUVHINBwsgAkHwAWohB0EAIQkjAEFAaiIDJAACQAJAAkAgAkGwAWoiBCkDECAEKQMYhFAEQCAHQRBqIAQpAwg3AwAgByAEKQMANwMIDAELQQEhCSADQQE2AhQgA0HYpMAANgIQIANCATcCHCADIAStQoCAgICAAoQ3AyggAyADQShqNgIYIANBNGoiBCADQRBqEI0BIANBCGogBEHgpMAAENYBIAMoAgwhECADKAIIIREgA0EYaiISIANBPGooAgA2AgBByYPBAC0AABogAyADKQI0NwMQQRhBBBC4AiIERQ0BIAQgETYCBCAEQbCbwAA2AgAgBCADKQMQNwIMIAQgEDYCCCAEQRRqIBIoAgA2AgAgByAENgIECyAH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IAJBhAFPBEAgAhAICyAZQf///wdHISkCQAJAAkACfiABBEAgB0HIAGogAUHghsAAEE8gBygCSA0EIAcgBygAcTYCOCAHIAdB9ABqKAAANgA7IActAHAhASAHKQNoIS8gBykDWCEwIAcpA1AhMSAHKQNgIi0gAw0BGkIBISogAQ4CBgIFC0ESIQEgA0UNBEIACyEtIAdByABqIANB4IbAABBPIAcoAkgNASAHIAcoAHE2AkAgByAHQfQAaigAADYAQyAHKQNoISsgBykDYCEsIAcpA1ghKiAHKQNQIS4gBy0AcAwFC0IKISpBASEBDAMLIAcoAkwhASAHKQNQISogBykDWCErIAAgBykDYDcDGCAAICs3AxAgACAqNwMIIAAgATYCBCAAQQE2AgAMBAsgBygCTCEBIAcpA1AhKiAHKQNYISsgACAHKQNgNwMYIAAgKzcDECAAICo3AwggACABNgIEIABBATYCACADQYQBSQ0DIAMQCAwDC0IKISogASECQgEhLANAIAdBGGogKkIBIAJBAXEiAxsgK0IAIAMbICwgLhDJASAHQShqICogKyAqICsQyQEgAkEDSyAHQTBqKQMAISsgB0EgaikDACEuIAcpAyghKiAHKQMYISwgAkEBdiECDQALIAdBCGogLCAuICogKxDJASAHQRBqKQMAISsgBykDCCEqCyAHQaABaiICICs3AwAgByAqNwOYASAHQQE2AkwgB0Hoh8AANgJIIAdCATcCVCAHIAdBmAFqrUKAgICAIIQ3A7gBIAcgB0G4AWo2AlAgB0GsAWogB0HIAGoQjQEgAikDACAHKQOYASErIAcoAqwBIgIEQCAHKAKwASACEMkCCyAwfCIqIDBUIQIgLyAxICsgMXwiLlgEfiACrQUgKkIBfCIqUK0gAq18CyIrQgBSIgIgKyAtfCIsIC1UcSIDrXwgLyADGyErICwgLSACGyEsQRILIQYjAEFAaiICJAACQAJAAkACQEHYg8EAKAIADQAgAkEoakIANwMAIAJBIGpCADcDACACQRhqQgA3AwAgAkIANwMQIAJBCGogAkEQahDdASACKAIIIgMNASACKAIsIQQgAigCKCEFIAIoAiQhCCACKAIgIQkgAigCHCEKIAIoAhghECACKAIUIQsgAigCECEOQZzOwAAQ4gEhDEGgzsAAEOIBIQ1ByYPBAC0AABpB2AJBCBC4AiIDRQ0CIANCgYCAgBA3AwAgA0EIakEAQYACEPICGiADQQA2AtACIANCgIAENwPIAiADQoCABDcDwAIgAyANNgK8AiADIAw2ArgCIANCADcDsAIgAyAENgKsAiADIAU2AqgCIAMgCDYCpAIgAyAJNgKgAiADIAo2ApwCIAMgEDYCmAIgAyALNgKUAiADIA42ApACIANBwAA2AogCQdiDwQAoAgAhBEHYg8EAIAM2AgAgBEUNACAEIAQoAgBBAWsiAzYCACADDQAgBEEEaiIDIAMoAgBBAWsiAzYCACADDQAgBEHYAhDJAgsgAkFAayQADAILIAIgAigCDDYCNCACIAM2AjAgAkEBNgIUIAJByM7AADYCECACQgE3AhwgAiACQTBqrUKAgICA0BSENwM4IAIgAkE4ajYCGCACQRBqQbjPwAAQ/QEAC0EIQdgCEO0CAAtB2IPBACgCACICIAIoAgBBAWoiAzYCACADRQRAAAsgByACNgKYASAHQewAaiAHKAA7NgAAIAdBlAFqIAcoAEM2AAAgByABOgBoIAcgLzcDYCAHIC03A1ggByAwNwNQIAcgMTcDSCAHIAcoAjg2AGkgByAGOgCQASAHICs3A4gBIAcgLDcDgAEgByAqNwN4IAcgLjcDcCAHIAcoAkA2AJEBIABBCGohASAHQZgBaiECIwBB0ABrIggkACAHQcgAaiIDKQNAISogAykDACErAkACQAJAAn8gAykDGCIsQgBZBEAgKkIAUw0DIAMpAyghLSADKQMwIS4gAykDOCEvIAMpAwghMCADKQMQITEgCCAsNwMYIAggMTcDECAIIDA3AwggCCArNwMAIAggKjcDQCAIIC83AzggCCAuNwMwIAggLTcDKCAIIAhBKGoQzQEMAQsgKkIAWQ0BIAMpAwghLSADKQM4IS8gAykDKCEwIAMpAzAhLiADKQMQITEgCEIAICt9Iis3AwAgCCAtQn+FQgAgLX0iLSArQgBSIgQbNwMIIAggMUJ/hSIrIC1QIARBf3NxIgStfCItICsgBBs3AxAgCCAEICsgLVZxrSAsQn+FfDcDGCAIQgAgMH0iKzcDKCAIIC5Cf4VCACAufSIsICtCAFIiBBs3AzAgCCAvQn+FIisgLFAgBEF/c3EiBK18IiwgKyAEGzcDOCAIIAQgKyAsVnGtICpCf4V8NwNAIAhBKGogCBDNAQtB/wFxIgRB/wFGDQAgBA0BIAMtACAgAy0ASE8NAQsgCEEgaiIEIANBIGopAwA3AwAgCEEYaiIFIANBGGopAwA3AwAgCEEQaiIGIANBEGopAwA3AwAgCEEIaiIJIANBCGopAwA3AwAgCCADKQMANwMAIAhByABqIANBKGoiA0EgaikDADcDACAIQUBrIANBGGopAwA3AwAgCEE4aiADQRBqKQMANwMAIAhBMGogA0EIaikDADcDACAIIAMpAwA3AyhCACEtIwBB4AJrIgMkACADQfABaiAEKQMANwMAIANB6AFqIAUpAwA3AwAgA0HgAWogBikDADcDACADQdgBaiAJKQMANwMAIAMgCCkDADcD0AEgCEEoaiIEKQMQISwgBCkDCCErIAQpAxghLwJAIAQpAwAiLlBFBEAgKyEqDAELQn8hKiArUEUEQCArQgF9ISoMAQtCf0IAICxQGyEtICxCAX0hLAsgA0ESOgDAAiADICw3A7ACIAMgKjcDqAIgAyAtIC98Iis3A7gCIAMgLkIBfSIwNwOgAiADKQPQASEtAkACQAJAAn8gAykD6AEiL0IAWQRAICtCAFMNAyADKQPYASEuIAMpA+ABITEgAyAvNwPAASADIDE3A7gBIAMgLjcDsAEgAyAtNwOoASADICs3AyAgAyAsNwMYIAMgKjcDECADIDA3AwggA0GoAWogA0EIahDNAQwBCyArQgBZDQMgAykD2AEhMCADKQPgASExIANCACAtfSItNwOoASADIDBCf4VCACAwfSIwIC1CAFIiBBs3A7ABIAMgMUJ/hSItIDBQIARBf3NxIgStfCIwIC0gBBs3A7gBIAMgBCAtIDBWca0gL0J/hXw3A8ABIANCASAufSItNwMIIANCACAqfSIuICpCf4UgLVAbNwMQIAMgLEJ/hSIqIC0gLoRQIgStfCIsICogBBs3AxggAyAEICogLFZxrSArQn+FfDcDICADQQhqIANBqAFqEM0BC0H/AXEOAgABAgsgAy0A8AFBEkkNAQsgA0ECNgIMIANBoJ7AADYCCCADQgI3AhQgAyADQaACaq1CgICAgJAChDcDsAEgAyADQdABaq1CgICAgJAChDcDqAEgAyADQagBajYCECADQQhqQZifwAAQ/QEACyADQShqIgkgA0HwAWopAwA3AwAgA0Eg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AqACDQEgAykDwAIhKyADKQO4AiEsIAMpA7ACISogAykDqAIhLQwDCyADKQMgISsgAykDGCEtIAMpAxAhLCADKQMIIS4gA0HoAWogCikDADcDACADQeABaiAJKQMANwMAIANB2AFqIAIpAwA3AwAgAyADKQOAATcD0AEgA0GgAmogA0HQAWoQggEgAygCoAJFBEAgLCAsIAMpA7ACfCIqViECIC0gAykDuAIgLXwiLFYhBCADKQPAAiEvIC4gLiADKQOoAnwiLVgEfiACrQUgKkIBfCIqUK0gAq18CyIuUAR+IAStBSAsICwgLnwiLFatIAStfAsiLlAEQCArIC98ISsMBAsgKyAvfCAufCErDAMLIAMgAygCpAI2AtABQdCfwABBKyADQdABakH8n8AAQYygwAAQygEACyADIAMoAqQCNgL8AUHQn8AAQSsgA0H8AWpB/J/AAEGcoMAAEMoBAAsgA0EANgKwAiADQQE2AqQCIANB3KDAADYCoAIgA0IENwKoAiADQaACakHkoMAAEP0BAAsgAUESOgAgIAEgKzcDGCABICw3AxAgASAqNwMIIAEgLTcDACADQeACaiQAIAhB0ABqJAAMAQtBzJvAAEEZQcScwAAQ8AEACyAAQQA2AgAgACAZQRIgKRs6ADAgBygCmAEiACAAKAIAQQFrIgE2AgAgAQ0AIABBBGoiASABKAIAQQFrIgE2AgAgAQ0AIABB2AIQyQILIAdBwAFqJAALswcCB38FfiMAQfABayIEJAACQAJAIAEEQCABKAIAIgVBf0YNASABIAVBAWo2AgAgBEG4AWogAiADQf///wdHIAMQawJAIAQoArgBIgNFBEAgBEGsAWogBEHgAWopAwAiCzcCACAEQaQBaiAEQdgBaikDACIMNwIAIARBnAFqIARB0AFqKQMAIg03AgAgBEGUAWogBEHIAWopAwAiDjcCACAEQegAaiAONwMAIARB8ABqIA03AwAgBEH4AGogDDcDACAEQYABaiALNwMAIAQgBCkDwAEiCzcCjAEgBCALNwNgAkAgAUEIaiICIARB4ABqEIMBQf8BcUEBRwRAIARB2ABqIARBiAFqQQRyIgJBIGopAgA3AwAgBEHQAGogAkEYaikCADcDACAEQcgAaiACQRBqKQIANwMAIARBQGsgAkEIaikCADcDACAEIAIpAgA3AzgM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KQMANwMAIAIgAykDADcDMEIBIQwCQAJAAkAgBi0AACIDDgICAQALQgohDEIBIQ8DQCACQRBqIAxCASADQQFxIgYbIA1CACAGGyAPIA4QyQEgAkEgaiAMIA0gDCANEMkBIANBA0sgAkEoaikDACENIAJBGGopAwAhDiACKQMgIQwgAikDECEPIANBAXYhAw0ACyACIA8gDiAMIA0QyQEgAkEIaikDACENIAIpAwAhDAwBC0IKIQwLIAJBiAFqIgMgDTcDACACIAw3A4ABIAJBATYCpAEgAkHoh8AANgKgASACQgE3AqwBIAIgAkGAAWqtQoCAgIAghDcDuAEgAiACQbgBajYCqAEgAkGUAWogAkGgAWoQjQEgAkHwAGpCADcDACACQgA3A2ggAykDACEMIAIpA4ABIQ0gAigClAEiAwRAIAIoApgBIAMQyQILIAJBEjoAeCACIA03A1ggAiAMNwNgIAJBMGogCyACQdgAahBRIAJBwAFqJAAgBEEwaiICIAEtADA6AAAgASABKAIAQQFrNgIAIARBvAFqIAIpAwA3AgAgBEG0AWogBEEoaikDADcCACAEQawBaiAEQSBqKQMANwIAIARBpAFqIARBGGopAwA3AgAgBEGcAWogBEEQaikDADcCAEEAIQdByYPBAC0AABogBCAEKQMINwKUAUE4QQgQuAIiAUUNBCABQQA2AgAgASAEKQKQATcCBCABQQxqIARBmAFqKQIANwIAIAFBFGogCikCADcCACABQRxqIAkpAgA3AgAgAUEkaiAIKQIANwIAIAFBLGogBSkCADcCACABQTRqIARBwAFqKAIANgIAQQAMAQsgBEH4AGoiAiAEQawBaigCACIDNgIAIARB8ABqIgUgBEGkAWopAgAiDDcDACAEQegAaiIIIARBnAFqKQIAIg03AwAgBEEMaiIJIA03AgAgBEEUaiIKIAw3AgAgBEEcaiILIAM2AgAgBCAEKQKUATcCBCABIAEoAgBBAWs2AgAgAiALKAIANgIAIAUgCikCADcDACAIIAkpAgA3AwAgBCAEKQIENwNgQQAhASAEQeAAahCbAQshAiAAIAc2AgggACACNgIEIAAgATYCACAEQfABaiQADwsQ5wIACxDoAgALQQhBOBDtAgALrwYCB38EfiMAQfABayIEJAACQAJAIAEEQCABKAIAIgVBf0YNAUEBIQggASAFQQFqNgIAIARB2ABqIAFBKGopAwA3AwAgBEHQAGogAUEgaikDADcDACAEQcgAaiABQRhqKQMANwMAIARBQGsgAUEQaikDADcDACAEIAEpAwg3AzggBEGQAWogAiADQf///wdHIAMQawJ/IAQoApABRQRAIARBhAFqIARBuAFqIgMpAwAiCzcCACAEQfwAaiAEQbABaiIFKQMAIgw3AgAgBEH0AGogBEGoAWoiBikDACINNwIAIARB7ABqIARBoAFqIgcpAwAiDjcCACAEQdABaiAONwMAIARB2AFqIA03AwAgBEHgAWogDDcDACAEQegBaiALNwMAIAQgBCkDmAEiCzcCZCAEIAs3A8gBIARBCGogBEE4aiAEQcgBahB7IARBMGoiAiABLQAwOgAAIAEgASgCAEEBazYCACAEQbwBaiACKQMANwIAIARBtAFqIARBKGopAwA3AgAgBEGsAWogBEEgaikDADcCACAEQaQBaiAEQRhqKQMANwIAIARBnAFqIARBEGopAwA3AgBBACEIQcmDwQAtAAAaIAQgBCkDCDcClAFBOEEIELgCIgFFDQQgAUEANgIAIAEgBCkCkAE3AgQgAUEMaiAEQZgBaikCADcCACABQRRqIAcpAgA3AgAgAUEcaiAGKQIANwIAIAFBJGogBSkCADcCACABQSxqIAMpAgA3AgAgAUE0aiAEQcABaigCADYCAEEADAELIARB+ABqIgIgBEGsAWooAgAiAzYCACAEQfAAaiIFIARBpAFqKQIAIgs3AwAgBEHoAGoiBiAEQZwBaikCACIMNwMAIARBDGoiByAMNwIAIARBFGoiCSALNwIAIARBHGoiCiADNgIAIAQgBCkClAE3AgQgASABKAIAQQFrNgIAIAIgCigCADYCACAFIAkpAgA3AwAgBiAHKQIANwMAIAQgBCkCBDcDYEEAIQEgBEHgAGoQmwELIQMgACAINgIIIAAgAzYCBCAAIAE2AgAgBEHwAWokAA8LEOcCAAsQ6AIAC0EIQTgQ7QIAC/gJAgh/BH4jAEHwAWsiBCQAAkACQCABBEAgASgCACIFQX9GDQFBASEHIAEgBUEBajYCACAEQdgAaiABQShqKQMANwMAIARB0ABqIAFBIGopAwA3AwAgBEHIAGogAUEYaikDADcDACAEQUBrIAFBEGopAwA3AwAgBCABKQMINwM4IARBkAFqIAIgA0H///8HRyADEGsCfyAEKAKQAUUEQCAEQYQBaiAEQbgBaiIFKQMAIgw3AgAgBEH8AGogBEGwAWoiCCkDACINNwIAIARB9ABqIARBqAFqIgkpAwAiDjcCACAEQewAaiAEQaABaiIKKQMAIg83AgAgBEHQAWogDzcDACAEQdgBaiAONwMAIARB4AFqIA03AwAgBEHoAWogDDcDACAEIAQpA5gBIgw3AmQgBCAMNwPIASAEQQhqIARByAFqIQtCACENQgAhDiMAQcABayICJAAgAkHQAGogBEE4aiIDQSBqIgYpAwA3AwAgAkHIAGogA0EYaikDADcDACACQUBrIANBEGopAwA3AwAgAkE4aiADQQhqKQMANwMAIAIgAykDADcDMEIBIQwCQAJAAkAgBi0AACIDDgICAQALQgohDEIBIQ8DQCACQRBqIAxCASADQQFxIgYbIA1CACAGGyAPIA4QyQEgAkEgaiAMIA0gDCANEMkBIANBA0sgAkEoaikDACENIAJBGGopAwAhDiACKQMgIQwgAikDECEPIANBAXYhAw0ACyACIA8gDiAMIA0QyQEgAkEIaikDACENIAIpAwAhDAwBC0IKIQwLIAJBiAFqIgMgDTcDACACIAw3A4ABIAJBATYCpAEgAkHoh8AANgKgASACQgE3AqwBIAIgAkGAAWqtQoCAgIAghDcDuAEgAiACQbgBajYCqAEgAkGUAWogAkGgAWoQjQEgAkHwAGpCADcDACACQgA3A2ggAykDACEMIAIpA4ABIQ0gAigClAEiAwRAIAIoApgBIAMQyQILIAJBEjoAeCACIA03A1ggAiAMNwNgIAJBMGogAkHYAGogCxBRIAJBwAFqJAAgBEEwaiICIAEtADA6AAAgASABKAIAQQFrNgIAIARBvAFqIAIpAwA3AgAgBEG0AWogBEEoaikDADcCACAEQawBaiAEQSBqKQMANwIAIARBpAFqIARBGGopAwA3AgAgBEGcAWogBEEQaikDADcCAEEAIQdByYPBAC0AABogBCAEKQMINwKUAUE4QQgQuAIiAUUNBCABQQA2AgAgASAEKQKQATcCBCABQQxqIARBmAFqKQIANwIAIAFBFGogCikCADcCACABQRxqIAkpAgA3AgAgAUEkaiAIKQIANwIAIAFBLGogBSkCADcCACABQTRqIARBwAFqKAIANgIAQQAMAQsgBEH4AGoiAiAEQawBaigCACIDNgIAIARB8ABqIgUgBEGkAWopAgAiDDcDACAEQegAaiIIIARBnAFqKQIAIg03AwAgBEEMaiIJIA03AgAgBEEUaiIKIAw3AgAgBEEcaiILIAM2AgAgBCAEKQKUATcCBCABIAEoAgBBAWs2AgAgAiALKAIANgIAIAUgCikCADcDACAIIAkpAgA3AwAgBCAEKQIENwNgQQAhASAEQeAAahCbAQshAiAAIAc2AgggACACNgIEIAAgATYCACAEQfABaiQADwsQ5wIACxDoAgALQQhBOBDtAgALrwYCB38EfiMAQfABayIEJAACQAJAIAEEQCABKAIAIgVBf0YNAUEBIQggASAFQQFqNgIAIARB2ABqIAFBKGopAwA3AwAgBEHQAGogAUEgaikDADcDACAEQcgAaiABQRhqKQMANwMAIARBQGsgAUEQaikDADcDACAEIAEpAwg3AzggBEGQAWogAiADQf///wdHIAMQawJ/IAQoApABRQRAIARBhAFqIARBuAFqIgMpAwAiCzcCACAEQfwAaiAEQbABaiIFKQMAIgw3AgAgBEH0AGogBEGoAWoiBikDACINNwIAIARB7ABqIARBoAFqIgcpAwAiDjcCACAEQdABaiAONwMAIARB2AFqIA03AwAgBEHgAWogDDcDACAEQegBaiALNwMAIAQgBCkDmAEiCzcCZCAEIAs3A8gBIARBCGogBEE4aiAEQcgBahB6IARBMGoiAiABLQAwOgAAIAEgASgCAEEBazYCACAEQbwBaiACKQMANwIAIARBtAFqIARBKGopAwA3AgAgBEGsAWogBEEgaikDADcCACAEQaQBaiAEQRhqKQMANwIAIARBnAFqIARBEGopAwA3AgBBACEIQcmDwQAtAAAaIAQgBCkDCDcClAFBOEEIELgCIgFFDQQgAUEANgIAIAEgBCkCkAE3AgQgAUEMaiAEQZgBaikCADcCACABQRRqIAcpAgA3AgAgAUEcaiAGKQIANwIAIAFBJGogBSkCADcCACABQSxqIAMpAgA3AgAgAUE0aiAEQcABaigCADYCAEEADAELIARB+ABqIgIgBEGsAWooAgAiAzYCACAEQfAAaiIFIARBpAFqKQIAIgs3AwAgBEHoAGoiBiAEQZwBaikC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BBAICyAAIAMoAgw2AgggACACNgIEIABBAjYCACABQQUQyQIMAgtBAUEFEKMCAAsgAygCDCIAQYQBSQ0AIAAQCAsgA0EgaiQAC/MGAgV/AX4jAEGAAmsiAiQAIAJBIGoiBCABQciXwAAQTwJAAkACfwJAIAIoAiBFBEAgAkGYAWogAkEwaiIBKQMANwMAIAJBoAFqIAJBOGoiAykDADcDACACQagBaiACQUBrIgUpAwA3AwAgAiACKQMoNwOQASACLQBIIQYgBCACQZABahBIIAIoAiAEQCACIAIoAiQ2ArQBIAIgAkG0AWoiBTYCuAFBASEBIAJBATYC3AEgAkGImsAANgLYASACQgE3AuQBIAIgAkG4AWqtQoCAgIAwhDcDyAEgAiACQcgBaiIDNgLgASACQbwBaiACQdgBaiIEEI0BIAJBADYC0AEgAkKAgICAEDcCyAEgAkEDOgD4ASACQSA2AugBIAJBADYC9AEgAkHMmMAANgLwASACQQA2AuABIAJBADYC2AEgAiADNgLsAUG8mMAAIAQQyAENBSACQYQBaiACQdABaigCADYCACACQfgAaiIDIAJBxAFqKAIANgIAIAIgAikCyAE3AnwgAiACKQK8ATcDcCAFEKwCIAJBCGogAykDADcDACACQRBqIAJBgAFqKQMANwMAIAIgAikDcCIHNwNQIAIgBzcDAAwCCyACQQhqIgQgASkDADcDACACQRBqIgEgAykDADcDACACQRhqIgMgBSkDADcDACACIAIpAygiBzcDUCACIAc3AwAgAkE8aiADKQMANwIAIAJBNGogASkDADcCACACQSxqIAQpAwA3AgBBACEDQcmDwQAtAAAaIAIgAikDADcCJEE4QQgQuAIiAUUNAyABQQA2AgAgASACKQIgNwIEIAEgBjoAMCABQRI6ACggAUEMaiACQShqKQIANwIAIAFBFGogAkEwaikCADcCACABQRxqIAJBOGopAgA3AgAgAUEkaiACQUBrKAIANgIAQQAMAgsgAkEIaiACQTBqKQMANwMAIAJBEGogAkE4aikDADcDACACIAIpAyg3AwAgAigCJCEBCyACQeQBaiACQQhqKQMANwIAIAJB7AFqIAJBEGopAwA3AgAgAiABNgLYASACIAIpAwA3AtwBQQEhA0EAIQEgAkHYAWoQmwELIQUgACADNgIIIAAgBTYCBCAAIAE2AgAgAkGAAmokAA8LQQhBOBDtAgALQeSYwABBNyACQf8BakGcmcAAQfiZwAAQygEAC5AGAgx/BH4jAEGgAWsiAyQAAkACQAJAIAIpAwBCAFINACACKQMIQgBSDQAgAikDEEIAUg0AIAIpAxhQDQELIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIANBKGoiCEIANwMAIANBMGoiCUIANwMAIANBOGoiCkIANwMAIANCATcDACADQgE3AyAgA0HYAGogAkEYaikDADcDACADQdAAaiACQRBqKQMANwMAIANByABqIAJBCGopAwA3AwAgAyACKQMANwNAIANB+ABqIgQgAUEYaikDADcDACADQfAAaiIFIAFBEGopAwA3AwAgA0HoAGoiBiABQQhqKQMANwMAIAMgASkDADcDYCADQSBqIQsgA0HgAGohDANAIAshASAMIQICQANAAkAgAiADQUBrRg0AQX8gAUEIayIBKQMAIg8gAkEIayICKQMAIhJSIA8gElYbQf8BcQ4CAQIACwsgACADQeAAaiADQSBqEFoMAwsCQCADLQBAQQFxRQRAIANBgAFqIANB4ABqIgEgARBaIAQgA0GYAWopAwA3AwAgBSADQZABaikDADcDACAGIANBiAFqKQMANwMAIAMgAykDgAE3A2AgAykDWCIPQj+GIAMpA1AiEEIBiIQhEiAQQj+GIAMpA0giEUIBiIQhEAwBCyADQYABaiINIANB4ABqIgcgA0EgahBaIAogA0GYAWoiASkDADcDACAJIANBkAFqIgIpAwA3AwAgCCADQYgBaiIOKQMANwMAIAMgAykDgAE3AyAgDSAHIAcQWiAEIAEpAwA3AwAgBSACKQMANwMAIAYgDikDADcDACADIAMpA4ABNwNgIAMpA1giD0I/hiADKQNQIhBCAYiEIRIgEEI/hiADKQNIIhFCAYiEIRAgD0L///////////8AgyEPCyARQj+GIAMpA0BCAYiEIREgAyASNwNQIAMgEDcDSCADIBE3A0AgAyAPQgGINwNYDAALAAsgAEIANwMIIABCATcDACAAQRhqQgA3AwAgAEEQakIANwMACyADQaABaiQAC+wGAgZ/Bn4jAEGQAWsiAiQAIAJBiAFqIgMgAUEYaiIEKQMANwMAIAJBgAFqIgUgAUEQaikDADcD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IAFBCGogBEEgakEgEPMCIAUtAAAhAyABLQAoIQUgASABKAIAQQFrNgIARSADIAVGcSEDDAELIARB3wBqIgIgBEGAAWopAAA3AAAgBEHYAGoiAyAEQfkAaikAADcDACAEQRBqIgUgAykDADcDACAEQRdqIgYgAikAADcAACAEIAQpAHE3AwggBC0AcCEDIAQoAmwhAiABIAEoAgBBAWs2AgAgAkECRw0BCyADQf8BcSEBQQAhA0EADAELIARB9QBqIAUpAwA3AAAgBEH8AGogBikAADcAACAEIAM6AGwgBCACNgJoIAQgBCkDCDcAbUEBIQNBACEBIARB6ABqEJsBCyECIAAgAzYCCCAAIAI2AgQgACABNgIAIARBoAFqJAAPCxDnAgALEOgCAAvPAwEDfyMAQeABayICJAACQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAIAJByABqIAFBKGopAwA3AwAgAkFAayABQSBqKQMANwMAIAJBOGogAUEYaikDADcDACACQTBqIAFBEGopAwA3AwAgAiABKQMINwMoIAEtADAhAyACQbABakIANwMAIAJBuAFqQgA3AwAgAkIANwOoASACQgo3A6ABIAJB2AFqQgA3AwAgAkHQAWpCADcDACACQgA3A8gBIAJBJCADa61C/wGDNwPAASACQfgAaiIDIAJBoAFqIAJBwAFqEEogAkESOgBwIAIgAikDkAE3A2ggAiACKQOIATcDYCACIAIpA4ABNwNYIAIgAikDeDcDUCADIAJBKGogAkHQAGoQeiACQQxqIAMQdSABIAEoAgBBAWs2AgACfyACKAIMIgRBAkYEQCACKAIQIQNBAAwBCyACQZABaiACQSRqKAIANgIAIAJBiAFqIAJBHGopAgA3AwAgAkGAAWogAkEUaikCADcDACACIAIpAgw3A3hBACEDIAJB+ABqEJsBCyEBIAAgBEECRzYCCCAAIAE2AgQgACADNgIAIAJB4AFqJAAPCxDnAgALEOgCAAuZBgIJfwF+IwBBMGsiBSQAIABBDGohCiAFQQhqrUKAgICA4BOEIQwCfwNAIAchAwJAIAIgBk8EQANAIAEgBmohCEEBIQsCfyACIAZrIgdBCE8EQCAFQQogCCAHEJ4BIAUoAgQhBCAFKAIADAELQQAhBEEAIAIgBkYNABoDQEEBIAQgCGotAABBCkYNARogByAEQQFqIgRHDQALIAchBEEACyIIQQFHBEAgAiEGIAgNA0EAIQsgAyEHIAIhBAwDCyAEIAZqIgRBAWohBgJAIAIgBE0NACABIARqLQAAQQpHDQAgBiEHDAMLIAIgBk8NAAsLQQAhCyADIQcgAiEECyAFIAQgA2siBDYCDCAFIAEgA2o2AggCQAJAAkACQCAJRQRAIAAtABANAQwCCyAKKAIAQQoQrwINAiAAQQE6ABAgBSgCDCEECyAERQ0CIAohBCMAQdAAayIDJAACfwJAAkACQCAAKAIAQQFrDgICAQALIAMgAEEEajYCKCADQQE2AjQgA0GMysAANgIwIANCATcCPCADIANBKGqtQoCAgICwFIQ3AxAgAyADQRBqNgI4IAQgA0EwakHoycAAKAIAEQAADAILIAAoAgQgCSAEQdTJwAAgACgCCCgCEBEIAAwBCyADIABBBGo2AgwgCQRAIANBADYCQCADQQE2AjQgA0GwysAANgIwIANCBDcCOCAEIANBMGpB6MnAACgCABEAAAwBCyADIANBDGqtQoCAgIDAFIQ3AyggA0EBNgIkIANBAjYCFCADQZjKwAA2AhAgA0EBNgIcIANBAToATCADQQA2AkggA0IgNwJAIANCgICAgMAANwI4IANBAjYCMCADIANBMGo2AiAgAyADQShqNgIYIAQgA0EQakHoycAAKAIAEQAACyADQdAAaiQADQEgAEEAOgAQCyAKKAIAIQQgBSAMNwMoIAVBATYCFCAFQezJwAA2AhAgBUIBNwIcIARBFGooAgAgBEEYaigCACAFIAVBKGo2AhggBUEQahBzRQ0BC0EBDAILIAlBAWohCSALDQALQQALIAVBMGokAAvJAwIDfwR+IwBBwAFrIgMkACADQdAAaiABQSBqIgQpAwA3AwAgA0HIAGogAUEYaikDADcDACADQUBrIAFBEGopAwA3AwAgA0E4aiABQQhqKQMANwMAIAMgASkDADcDMEIBIQYCQAJAAkAgBC0AACIBDgICAQALQgohBkIBIQgDQCADQRBqIAZCASABQQFxIgQbIAdCACAEGyAIIAkQyQEgA0EgaiAGIAcgBiAHEMkBIAFBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIAFBAXYhAQ0ACyADIAggCSAGIAcQyQEgA0EI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p0EwajoAACAAIA03A2ggACAQNwNgIAAgDzcDWCAAIA43A1AgA0IANwMAIAhCADcDACAJQgA3AwAgAEIKNwNwIAogCyAMEE4gACkDqAEhDSAAKQOQASIOIAApA5gBIg+EIAApA6ABIhCEIA2EUEUEQCACQQFrIQIMAQsLIAFBAUEBQQAgACACakHPAGpBASACaxBuIQAMAgsgASgCFEHUzcAAQQEgASgCGCgCDBECACEADAELQX9B0ABB/M3AABDRAQALIARB0AFqJAAgAAvnAwIEfwF+IwBBkAFrIgIkAAJAIAACfyABKQMYQgBZBEAgACABKQMANwMIIABBIGogAUEYaikDADcDACAAQRhqIAFBEGopAwA3AwAgAEEQaiABQQhqKQMANwMAQQAMAQsgAkHYAGpB6KbAACkDADcDACACQdAAakHgpsAAKQMANwMAIAJByABqQdimwAApAwA3AwAgAkHQpsAAKQMANwNAIAJB+ABqQaiqwAApAwA3AwAgAkHwAGpBoKrAACkDADcDACACQegAaiIDQZiqwAApAwA3AwAgAkGQqsAAKQMANwNgIAJCgICAgNABIgYgAkHgAGqthDcDOCACIAYgAkFAa62ENwMwIAIgAa1CgICAgIAChDcDKCACQQA2AiAgAkEENgIUIAJB8KnAADYCECACQQM2AhwgAiACQShqNgIYIAJBhAFqIgEgAkEQahCNASACQQhqIAFB+KjAABDWASACKAIMIQQgAigCCCEFIAMgAkGMAWooAgA2AgBByYPBAC0AABogAiACKQKEATcDYEEYQQQQuAIiAUUNASABIAU2AgQgAUGwm8AANgIAIAEgAikDYDcCDCABIAQ2AgggAUEUaiADKAIANgIAIAAgATYCBEEBCzYCACACQZABaiQADwtBBEEYEO0CAAu6AwICfwh+IwBBQGoiAiQAIAEpAxghByAAKQMAIQQCQAJ/IAApAxgiBkIAWQRAIAdCAFMEQEEBIQMMAwsgASkDACEFIAEpAwghCCABKQMQIQkgACkDCCEKIAApAxAhCyACIAY3AxggAiALNwMQIAIgCjcDCCACIAQ3AwAgAiAHNwM4IAIgCTcDMCACIAg3AyggAiAFNwMgIAIgAkEgahDNAQwBC0H/ASEDIAdCAFkNASAAKQMIIQUgASkDECEJIAEpAwAhCiABKQMIIQggACkDECELIAJCACAEfSIENwMAIAIgBUJ/hUIAIAV9IgUgBEIAUiIDGzcDCCACIAtCf4UiBCAFUCADQX9zcSIDrXwiBSAEIAMbNwMQIAIgAyAEIAVWca0gBkJ/hXw3AxggAkIAIAp9IgQ3AyAgAiAIQn+FQgAgCH0iBiAEQgBSIgMbNwMoIAIgCUJ/hSIEIAZQIANBf3NxIgOtfCIGIAQgAxs3AzAgAiADIAQgBlZxrSAHQn+FfDcDOCACQSBqIAIQzQELIgNB/wFxDQBBfyAALQAgIgAgAS0AICIBRyAAIAFJGyEDCyACQUBrJAAgAwv7AwECfyAAIAFqIQICQAJAIAAoAgQiA0EBcQ0AIANBAnFFDQEgACgCACIDIAFqIQEgACADayIAQciHwQAoAgBGBEAgAigCBEEDcUEDRw0BQcCHwQAgATYCACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAIgATYCAAwCCyAAIAMQkQELAkACQAJAIAIoAgQiA0ECcUUEQCACQcyHwQAoAgBGDQIgAkHIh8EAKAIARg0DIAIgA0F4cSICEJEBIAAgASACaiIBQQFyNgIEIAAgAWogATYCACAAQciHwQAoAgBHDQFBwIfBACABNgIADwsgAiADQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALIAFBgAJPBEAgACABEKMBDwsgAUF4cUGwhcEAaiECAn9BuIfBACgCACIDQQEgAUEDdnQiAXFFBEBBuIfBACABIANyNgIAIAIMAQsgAigCCAshASACIAA2AgggASAANgIMIAAgAjYCDCAAIAE2AggPC0HMh8EAIAA2AgBBxIfBAEHEh8EAKAIAIAFqIgE2AgAgACABQQFyNgIEIABByIfBACgCAEcNAUHAh8EAQQA2AgBByIfBAEEANgIADwtByIfBACAANgIAQcCHwQBBwIfBACgCACABaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgALC6cDAgF/Bn4jAEHQAGsiAyQAIAACfwJ+AkACQCABRQRAIANBQGtBgIrAACkDADcDACADQThqQfiJwAApAwA3AwAgA0EwakHwicAAKQMANwMAIANB6InAACkDADcDKCADQQhqIgEgA0EoahBZIAIgAUEgEPMCRQRAQoCAgICAgICAgH8hBEIADAQLIANBKGogAhCCASADKAIoDQEgAykDQCEHIAMpAzghBQJ+IAMpAzAiCVAEQCAFQgBSrSEEQgAgBX0MAQsgBUIAUq0gBVCtfCEEIAVCf4ULIQggAykDSCEFQgAgB30hBgJAIARQBEBCf0IAIAdCAFIbIQcMAQtCf0IAIAdCAFIbIAQgBlatfSEHIAYgBH0hBgsgByAFfSEEQgAgCX0MAwsgA0EoaiACEIIBIAMoAihFDQELIAAgAygCLDYCBEEBDAILIAMpA0ghBCADKQNAIQYgAykDOCEIIAMpAzALIQkgAEEANgApIABBEjoAKCAAIAQ3AyAgACAGNwMYIAAgCDcDECAAIAk3AwggAEEsakEANgAAQQALNgIAIANB0ABqJAALqAMCBn4CfyMAQUBqIggkAAJAAkAgAQRAIAEoAgAiCUF/Rg0BIAEgCUEBajYCACABKQMYIQMgASkDECECIAEpAwghBAJAAkAgASkDICIFQgBTDQAgCCAFNwMYIAggAzcDECAIIAI3AwggCCAENwMAIAhBOGpCADcDACAIQTBqQgA3AwAgCEEoakIANwMAIAhCADcDICAIIAhBIGoQzQFB/wFxQf8BRg0AIAIhByADIQIMAQsCfiAEUARAIAJCAFKtIQZCACACfQwBCyACQgBSrSACUK18IQYgAkJ/hQshB0IAIAN9IQICQCAGUARAQn9CACADQgBSGyEDDAELQn9CACADQgBSGyACIAZUrX0hAyACIAZ9IQILQgAgBH0hBCADIAV9IQULIAEgASgCAEEBazYCAEHJg8EALQAAGiABLQAwIQlBOEEIELgCIgFFDQIgASAJOgAwIAFBEjoAKCABIAU3AyAgASACNwMYIAEgBzcDECABIAQ3AwggAUEANgIAIABCADcCBCAAIAE2AgAgCEFAayQADwsQ5wIACxDoAgALQQhBOBDtAgALlgMBA38jAEHwAGsiAiQAAkAgAUUEQCACQQAgAhBcDAELIAJBASABEFwLAkACQCACKAIAIgRFBEAgAkHkAGogAkEwaikDADcCACACQdwAaiACQShqKQMANwIAIAJB1ABqIAJBIGopAwA3AgAgAkHMAGogAkEYaikDADcCACACQcQAaiACQRBqKQMANwIAIAIgAikDCDcCPEHJg8EALQAAGkE4QQgQuAIiAUUNAiABQQA2AgAgASACKQI4NwIEIAFBDGogAkFAaykCADcCACABQRRqIAJByABqKQIANwIAIAFBHGogAkHQAGopAgA3AgAgAUEkaiACQdgAaikCADcCACABQSxqIAJB4ABqKQIANwIAIAFBNGogAkHoAGooAgA2AgAMAQsgAkHQAGogAkEcaigCADYCACACQcgAaiACQRRqKQIANwMAIAJBQGsgAkEMaikCADcDACACIAIpAgQ3AzhBACEBIAJBOGoQmwEhAwsgACAENgIIIAAgAzYCBCAAIAE2AgAgAkHwAGokAA8LQQhBOBDtAgALkQMCAX8GfiMAQUBqIgIkACACQRhqQgA3AwAgAkEQakIANwMAIAJBCGpCADcDACACQgA3AwAgAkE4akIANwMAIAJBMGpCADcDACACQShqQgA3AwAgAkIANwMgIAIgAkEgahDNAUH/AXFB/wFGBEAgASkDCCEDIAEpAxghBkIAIAEpAxAiBH0hBQJAAn4gASkDACIIUARAQgAgA30hByADQgBSrQwBCyADQn+FIQcgA0IAUq0gA1CtfAsiA1AEQCAEQgBSrSEEDAELIAMgBVatIARCAFKtfCEEIAUgA30hBQsgACAFNwMQIAAgBzcDCCAAQgAgCH03AwBCACAGfSEDAkAgBFAEQCAAIAM3AxggBlBFDQEgAkFAayQADwsgACADIAR9NwMYCyACQQA2AjAgAkEBNgIkIAJByKbAADYCICACQgQ3AiggAkEgakGYpsAAEP0BAAsgAkEBNgIkIAJBlKXAADYCICACQgE3AiwgAiABrUKAgICAgAKENwMAIAIgAjYCKCACQSBqQZylwAAQ/QEAC48DAQJ/IwBB8ABrIgMkACADIAEgAkH///8HRyACEGsCQAJAIAMoAgAiBEUEQCADQeQAaiADQTBqKQMANwIAIANB3ABqIANBKGopAwA3AgAgA0HUAGogA0EgaikDADcCACADQcwAaiADQRhqKQMANwIAIANBxABqIANBEGopAwA3AgAgAyADKQMINwI8QQAhAUHJg8EALQAAGkE4QQgQuAIiAkUNAiACQQA2AgAgAiADKQI4NwIEIAJBDGogA0FAaykCADcCACACQRRqIANByABqKQIANwIAIAJBHGogA0HQAGopAgA3AgAgAkEkaiADQdgAaikCADcCACACQSxqIANB4ABqKQIANwIAIAJBNGogA0HoAGooAgA2AgAMAQsgA0HQ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ADYC0AMgAyADQYADajYC5AMgA0GoA2ogA0HQA2oQpAENBiADQYgEaiIBIANBiANqKAIANgIAIAMgAykCgAM3A4AEIAIEQCAHIAIQyQILIANBuAFqIAEoAgA2AgAgAyADKQOABDcDsAFBASEFDAQLQgEhEQJAAkACQCAFIAFrIgFB/wFxDgICAQALIAHAIQFCCiERQgEhFwNAIANBGGogEUIBIAFBAXEiBhsgEEIAIAYbIBcgEhDJASADQShqIBEgECARIBAQyQEgAUEDSyADQTBqKQMAIRAgA0EgaikDACESIAMpAyghESADKQMYIRcgAUEBdiEBDQALIANBCGogFyASIBEgEBDJASADQRBqKQMAIRAgAykDCCERDAELQgohEQsgA0GYA2pCADcDACADQgA3A5ADIANBEjoAoAMgAyAQNwOIAyADIBE3A4ADIANBEjoA8AMgAyATNwPoAyADIBU3A+ADIAMgFDcD2AMgAyAWNwPQAyADQagDaiADQdADaiADQYADahB6IAQgAygAyQM2ACkgBEEsaiADQcwDaigAADYAACADKQOoAyERIAMpA7ADIRAgAykDuAMhEiADKQPAAyETIAMtAMgDIQEgBCANOgAwIAQgAToAKCAEIBM3AyAgBCASNwMYIAQgEDcDECAEIBE3AwggBEEANgIADAELIAQgCiAHIAIQawwDCyACBEAgByACEMkCCyAKQYQBSQ0CIAoQCAwCCyADQZACaiIBIApByJfAABBPIAMoApACRQRAIANB3AFqIANBsAJqKQMAIhE3AgAgA0HUAWogA0GoAmopAwAiEDcCACADQcwBaiADQaACaikDACISNwIAIAMgAykDmAIiEzcCxAEgA0HoA2ogETcDACADQeADaiAQNwMAIANB2ANqIBI3AwAgAyATNwPQAyADQQA2AsgBIANCgICAgBA3AsABIANBAzoAsAIgA0EgNgKgAiADQQA2AqwCIANBnJTAADYCqAIgA0EANgKYAiADQQA2ApACIAMgA0HAAWo2AqQCIANB0ANqIAEQpAENAyADQbADaiADQcgBaigCADYCACADIAMpAsABNwOoAyACBEAgByACEMkCCyADQbgBaiADQbADaigCADYCACADIAMpA6gDNwOwAUEAIQUMAQsgA0HYAWogA0GsAmooAgAiATYCACADQdABaiADQaQC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OCACIAJBOGoiATYCUCACQSxqIAJByABqIgMQjQEgAkEANgJAIAJCgICAgBA3AjggAkEDOgBoIAJBIDYCWCACQQA2AmQgAkGosMAANgJgIAJBADYCUCACQQA2AkggAiABNgJcQeivwAAgAxDIAQ0CIAJBIGoiASACQUBrKAIANgIAIAIgAikCODcDGCACKAIsIQMgAikCMCEHIARBhAFPBEAgBBAICyAAIAc3AgwgACACKQMYNwIUIAAgAzYCCCAAQoGAgIAQNwMAIABBHGogASgCADYCAAwBCyACIAQ2AhQjAEGgAWsiASQAIAEgAkEUaiIDNgIQIAFBCGogA0EKEPEBIAEoAgwhAwJAAkACQCAAAn8CQCABKAIIRQRAIAFBFGogAxDVASABQSBqIAEoAhgiAyABKAIcEI4BIAEtACANASAAIAEpAyg3AwggAEEgaiABQUBrKQMANwMAIABBGGogAUE4aikDADcDACAAQRBqIAFBMGopAwA3AwBBAAwCCyABIAM2AlwgAUECNgIkIAFB2LLAADYCICABQgI3AiwgASABQdwAaq1CgICAgJALhDcDgAEgASABQRBqrUKAgICAoAuENwN4IAEgAUH4AGoiAzYCKCABQegAaiABQSBqIgUQjQEgAUEANgKAASABQoCAgIAQNwJ4IAFBAzoAQCABQSA2AjAgAUEANgI8IAFBqLDAADYCOCABQQA2AiggAUEANgIgIAEgAzYCNEH4r8AAIAUQyAENAyABQdAAaiIDIAFBgAFqKAIANgIAIAEgASkCeDcDSCABKQJsIQcgASgCaCEFIAEoAlwiBkGEAU8EQCAGEAgLIAAgBzcCDCAAIAU2AgggAEIBNwMAIAAgASkDSDcCFCAAQRxqIAMoAgA2AgAMAgsgASABLQAhOgBbIAFBAjYCfCABQfiywAA2AnggAUICNwKEASABIAFB2wBqrUKAgICAsAuENwNwIAEgAUEQaq1CgICAgKALhDcDaCABIAFB6ABqIgU2AoABIAFB3ABqIAFB+ABqIgYQjQEgAUEANgJwIAFCgICAgBA3AmggAUEDOgCYASABQSA2AogBIAFBADYClAEgAUGosMAANgKQASABQQA2AoABIAFBADYCeCABIAU2AowBQfivwAAgBhDIAQ0CIAAgASkCaDcCFCAAQRxqIAFB8ABqKAIANgIAIABB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ACgCBDYCFEEBBUEACzYCGCACQQhqIAYgBCACQRRqEMIBIAIoAggEQCACKAIMIAIoAhAQowIACyACKAIMIQUgACAENgIAIAAgBTYCBCACQSBqJAALIAAgB0EBajYCCCAAKAIEIAdqIAE6AAAMAgsgAyABQT9xQYABcjoADSADIAFBBnZBwAFyOgAMQQILIQEgASAAKAIAIAAoAggiAmtLBEAgACACIAEQuAEgACgCCCECCyAAKAIEIAJqIANBDGogARDxAhogACABIAJqNgIICyADQRBqJABBAAvFAgECfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAESQRAIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgAiABQT9xQYABcjoADyACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA0gAiABQRJ2QQdxQfABcjoADEEEDAILIAAoAggiAyAAKAIARgRAIAAQuwELIAAoAgQgA2ogAToAACAAIANBAWo2AggMAgsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQILIQEgASAAKAIAIAAoAggiA2tLBEAgACADIAEQuQEgACgCCCEDCyAAKAIEIANqIAJBDGogARDxAhogACABIANqNgIICyACQRBqJABBAAvaAgEEfyMAQUBqIgEkAAJAAkAgACgCAEUEQCABQQA2AhQgAUKAgICAEDcCDCABQQM6ADggAUEgNgIoIAFBADYCNCABQeCtwAA2AjAgAUEANgIgIAFBADYCGCABIAFBDGo2AiwgACABQRhqEKgBDQIgASgCDCECIAEoAhAiAyABKAIUEDUhBCACRQ0BIAMgAhDJAgwBCyABQQA2AhQgAUKAgICAEDcCDCABQQM6ADggAUEgNgIoIAFBADYCNCABQeCtwAA2AjAgAUEANgIgIAFBADYCGCABIAFBDGo2AiwgACABQRhqEKgBDQEgASgCDCECIAEoAhAiAyABKAIUEDMhBCACRQ0AIAMgAhDJAgsgACgCBCICBEAgACgCCCACEMkCCyAAKAIQIgIEQCAAKAIUIAIQyQILIAFBQGskACAEDwtB+K3AAEE3IAFBP2pBsK7AAEGMr8AAEMoBAAvFAgECfyMA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AAxBASEEQQILIQMgAkEMaiAEciABQT9xQYABcjoAACADIAAoAgAgACgCCCIBa0sEQCAAIAEgAxC5ASAAKAIIIQELIAAoAgQgAWogAkEMaiADEPECGiAAIAEgA2o2AggLIAJBEGokAEEAC5EIAgd/AX4jAEFAaiIFJAACQAJAIAEEQCABKAIAIgJBf0YNAUEBIQcgASACQQFqNgIAIAVBBGohAyMAQdABayICJAAgAUEIaiIGLQAoIQQgAkGgAWpCADcDACACQagBakIANwMAIAJCADcDmAEgAkIKNwOQASACQcgBakIANwMAIAJBwAFqQgA3AwAgAkIANwO4ASACQSQgBGutQv8BgzcDsAEgAkHoAGoiBCACQZABaiACQbABahBKIAJBEjoAYCACIAIpA4ABNwNYIAIgAikDeDcDUCACIAIpA3A3A0ggAiACKQNoNwNAIAQgBiACQUBrEHogAkEUaiAEEHUgAigCGCEEAkACQAJAIAIoAhQiBkECRgRAIAIgBDYCECACIAJBEGpBEBDxASACKAIEIQYgAigCAEUEQCACIAY2AgwgBEGEAU8EQCAEEAgLIAJB1IfAAEECEAc2AmggA0EEaiACQegAaigCACACQQxqKAIAEDYQ1QEgA0ECNgIAIAIoAgwiA0GEAU8EQCADEAgLIAIoAmgiA0GEAUkNAiADEAgMAgsgAiAGNgKQASACQQE2AmwgAkHggcAANgJoIAJCATcCdCACIAJBkAFqrUKAgICAwACENwNAIAIgAkFAayIENgJwIAJBsAFqIAJB6ABqIgYQjQEgAkEANgJIIAJCgICAgBA3AkAgAkEDOgCIASACQSA2AnggAkEANgKEASACQYCAwAA2AoABIAJBADYCcCACQQA2AmggAiAENgJ8QdiHwAAgBhDIAQ0CIAJBOGoiBCACQcgAaigCADYCACACIAIpAkA3AzAgAikCtAEhCSACKAKwASEGIAIoApABIghBhAFPBEAgCBAICyADIAk3AgggAyAGNgIEIANBATYCACADIAIpAzA3AhAgA0EYaiAEKAIANgIAIAIoAhAiA0GEAUkNASADEAgMAQsgAyACKQIcNwIIIANBGGogAkEsaigCADYCACADQRBqIAJBJGopAgA3AgAgAyAENgIEIAMgBjYCAAsgAkHQAWokAAwBC0GYgMAAQTcgAkEUakHQgMAAQayBwAAQygEACyABIAEoAgBBAWs2AgACfyAFKAIEQQJHBEAgBUE4aiAFQRxqKAIANgIAIAVBMGogBUEUaikCADcDACAFQShqIAVBDGopAgA3AwAgBSAFKQIENwMgQQAhAkEAIQEgBUEgahCbAQwBCyAFKAIMIQMCQCAFKAIIIgQgBSgCECIBTQRAIAMhAgwBCyABRQRAQQEhAiADIAQQyQIMAQsgAyAEQQEgARClAiICRQ0EC0EAIQdBAAshAyAAIAc2AgwgACADNgIIIAAgATYCBCAAIAI2AgAgBUFAayQADwsQ5wIACxDoAgALQQEgARCjAgALxAIBBH8gAEIANwIQIAACf0EAIAFBgAJJDQAaQR8gAUH///8HSw0AGiABQQYgAUEIdmciA2t2QQFxIANBAXRrQT5qCyICNgIcIAJBAnRBoITBAGohBEEBIAJ0IgNBvIfBACgCAHFFBEAgBCAANgIAIAAgBDYCGCAAIAA2AgwgACAANgIIQbyHwQBBvIfBACgCACADcjYCAA8LAkACQCABIAQoAgAiAygCBEF4cUYEQCADIQIMAQsgAUEZIAJBAXZrQQAgAkEfRxt0IQUDQCADIAVBHXZBBHFqQRBqIgQoAgAiAkUNAiAFQQF0IQUgAiEDIAIoAgRBeHEgAUcNAAsLIAIoAggiASAANgIMIAIgADYCCCAAQQA2AhggACACNgIMIAAgATYCCA8LIAQgADYCACAAIAM2AhggACAANgIMIAAgADYCCAusAgIBfwR+IwBBQGoiAiQAIAApAwAhBAJ/AkACQAJAIAApAxgiBkIAUwRAIAApAwghAyAAKQMQIQUgAkIAIAR9IgQ3AwAgAiADQn+FQgAgA30iAyAEQgBSIgAbNwMIIAIgBUJ/hSIEIANQIABBf3NxIgCtfCIDIAQgABs3AxAgAiAAIAMgBFRxrSAGQn+FfDcDGEEtIQAMAQsgACkDCCEDIAApAxAhBSACIAY3AxggAiAFNwMQIAIgAzcDCCACIAQ3AwBBKyEAIAEtABxBAXFFDQELIAEgABCvAg0BCyACQQE2AiQgAkHky8AANgIgIAJCATcCLCACIAKtQoCAgIDgDIQ3AzggAiACQThqNgIoIAEoAhQgASgCGCACQSBqEHMMAQtBAQsgAkFAayQAC7UCAQd/IwBBEGsiAiQAQQEhBwJAAkAgASgCFCIEQScgASgCGCgCECIFEQAADQAgAiAAKAIAQYECEGwCQCACLQAAQYABRgRAIAJBCGohBkGAASEDA0ACQCADQYABRwRAIAItAAoiACACLQALTw0EIAIgAEEBajoACiAAQQpPDQYgACACai0AACEBDAELQQAhAyAGQQA2AgAgAigCBCEBIAJCADcDAAsgBCABIAURAABFDQALDAILQQogAi0ACiIBIAFBCk0bIQAgASACLQALIgMgASADSxshBgNAIAEgBkYNASACIAFBAWoiAzoACiAAIAFGDQMgASACaiEIIAMhASAEIAgtAAAgBREAAEUNAAsMAQsgBEEnIAURAAAhBwsgAkEQaiQAIAcPCyAAQQpB/PvAABDRAQALjwIBAX8jAEEQayICJAAgACgCACEAAn8gASgCACABKAIIcgRAIAJBADYCDCABIAJBDGoCfwJAAkAgAEGAAU8EQCAAQYAQSQ0BIABBgIAETw0CIAIgAEE/cUGAAXI6AA4gAiAAQQx2QeABcjoADCACIABBBnZBP3FBgAFyOgANQQMMAwsgAiAAOgAMQQEMAgsgAiAAQT9xQYABcjoADSACIABBBnZBwAFyOgAMQQIMAQsgAiAAQT9xQYABcjoADyACIABBEnZB8AFyOgAMIAIgAEEGdkE/cUGAAXI6AA4gAiAAQQx2QT9xQYABcjoADUEECxBlDAELIAEoAhQgACABKAIYKAIQEQAACyACQRBqJAALgAIBAn8jAEEwayICJAACfyAAKAIAIgBBAEgEQEH/8wEgAHZBAXFFIABB/////wdxIgNBD09yRQRAIAEgA0ECdCIAQeDXwABqKAIAIABBpNfAAGooAgAQqgIMAgsgAkEBNgIMIAJBtNLAADYCCCACQgE3AhQgAiAANgIsIAIgAkEsaq1CgICAgPAMhDcDICACIAJBIGo2AhAgASgCFCABKAIYIAJBCGoQcwwBCyACIAA2AiwgAkEBNgIMIAJByNLAADYCCCACQgE3AhQgAiACQSxqrUKAgICAgBaENwMgIAIgAkEgajYCECABKAIUIAEoAhggAkEIahBzCyACQTBqJAALmgECA38CfiMAQUBqIgIkACAAQRBqIQMgAEEEaiEEQoCAgIDgCSEFQoCAgIDwCSEGIAAoAgBFGiACIAM2AgwgAkECNgIUIAJBmLDAADYCECAC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CCACEAEhCSADQShqIAIQAiADKAIoIQwgAygCLCEFIANBIGogAhADIAMoAiAhDSADKAIkIQcgAhAEIQogA0ECIAlBAEcgCUH///8HRhs6AE4gAyAIOgBNIAMgCEH///8HRzoATCADIAc2AkggAyANNgJEIAMgB0GAgICAeCANGyIINgJAIAMgBTYCPCADIAw2AjggAyAFQYCAgIB4IAwbIgk2AjQgA0ECIApBAEcgCkH///8HRhs6AE8gA0EYaiACEAUCQAJAIAMoAhgiB0UNACADKAIcIgVBgICAgHhGDQAgBUUNASAHIAUQyQIMAQsgAhAGIgVBACAFQf///wdHGw0AIAIQACEFIANBAToATCADIAstACggBSAFQf///wdGGzoATQsgA0HcAGoiCiALLQAoIANBNGoQZiADKAJkIQUgAygCYCEHAkACQAJAIAMoAlwiD0ECRgRAIAMgBzYCUCADIAU2AlQgA0EQaiACEAUCQAJAAkACQAJAIAMoAhAiB0UNACADKAIUIgVBgICAgHhGDQAgA0HogcAAQQgQBzYCgAEgA0HwgcAAQQcQBzYChAEgCiADQdQAaiADQYABaiADQYQBahDeASADLQBcDQEgAygChAEiCkGEAU8EQCAKEAgLIAMoAoABIgpBhAFPBEAgChAICyADQfeBwABBDhAHNgKAASADIAcgBRAHNgKEASAFBEAgByAFEMkCCyADQdwAaiADQdQAaiADQYABaiADQYQBahDeASADLQBcDQIgAygChAEiBUGEAU8EQCAFEAgLIAMoAoABIgVBhAFJDQAgBRAICwJAIAIQBiIFRSAFQf///wdGcg0AIANB0ILAAEEFEAc2AoABIANB1YLAAEEHEAc2AoQBIANB3ABqIANB1ABqIANBgAFqIANBhAFqEN4BIAMtAFwNAyADKAKEASIFQYQBTwRAIAUQCAsgAygCgAEiBUGEAUkNACAFEAgLIAMgA0HQAGogA0HUAGoQzAI2AlggAyADQdgAahD7AjYCeCADQYEBNgJ8IANBhAFqIAsQciADIAMoAogBIgUgAygCjAEQBzYCgAEgAygChAEiCwRAIAUgCxDJAgsgA0EIaiADQfgAaiADQfwAaiADQYABahDuASADQdwAaiADKAIIIAMoAgxB3ILAABCWASADKAJgIQUgAygCXCILQQJHDQMgBEECNgIAIAQgBTYCBCADKAJYIgRBhAFPBEAgBBAICyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFPBEAgBBAICyAJQYCAgIB4ckGAgICAeEcEQCAMIAkQyQILIAhBgICAgHhyQYCAgIB4RwRAIA0gCBDJAgsgAkGEAU8EQCACEAgLIAMoAoABIgJBhAFPBEAgAhAICyADKAJ8IgJBhAFPBEAgAhAICyADKAJ4IgJBhAFJDQcgAhAIDAcLIAQgAygCYEHAgsAAEJUBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBTwRAIAQQCAsgBUUNBCAHIAUQyQIMBAsgBCADKAJgQbCCwAAQlQEgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQMgBBAIDAMLIAQgAygCYEHsgsAAEJUBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0CIAQQCAwCCyAEIAMpAmQ3AgggBEEYaiADQfQAaigCADYCACAEQRBqIANB7ABqKQIANwIAIAQgBTYCBCAEIAs2AgAgAygCWCIEQYQBTwRAIAQQCAsgAygCVCIEQYQBTwRAIAQQCAsgAygCUCIEQYQBTwRAIAQQCAsgCUGAgICAeHJBgICAgHhHBEAgDCAJEMkCCyAIQYCAgIB4ckGAgICAeEcEQCANIAgQyQILIAJBhAFPBEAgAhAICyADKAKAASICQYQBTwRAIAIQCAsgAygCfCICQYQBTwRAIAIQCAsgAygCeCICQYQBSQ0DIAIQCAwDCyAEIAMpAmg3AgwgBEEUaiADQfAAaikCADcCACAEIAU2AgggBCAHNgIEIAQgDzYCAAwBCyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFJDQAgBBAICyAJQYCAgIB4ckGAgICAeEcEQCAMIAkQyQILIAhBgICAgHhyQYCAgIB4RwRAIA0gCBDJAgsgAkGEAUkNACACEAgLIANBkAFqJAAgASABKAIAQQFrNgIAAn8gBigCBCIBQQJGBEAgBigCCAwBCyAGQThqIAZBHGooAgA2AgAgBkEwaiAGQRRqKQIANwMAIAZBKGogBkEMaikCADcDACAGIAYpAgQ3AyAgBkEgahCbASEOQQALIQIgACABQQJHNgIIIAAgDjYCBCAAIAI2AgAgBkFAayQADwsQ5wIACxDoAgALphEBDX8jAEFAaiIHJAACQCABBEAgASgCACIEQX9GDQEgASAEQQFqNgIAIAdBBGohBSABQQhqIQ4jAEGQAWsiAyQAIAJFBEAQJiECCyACEAAhBCACEAEhBiADQShqIAIQAiADKAIoIQsgAygCLCEJIANBIGogAhADIAMoAiAhDCADKAIkIQogAhAEIQggA0ECIAZBAEcgBkH///8HRhs6AE4gAyAEOgBNIAMgBEH///8HRzoATCADIAo2AkggAyAMNgJEIAMgCkGAgICAeCAMGyIKNgJAIAMgCTYCPCADIAs2AjggAyAJQYCAgIB4IAsbIgk2AjQgA0ECIAhBAEcgCEH///8HRhs6AE8gA0HcAGoiCCAOLQAoIANBNGoQZiADKAJkIQQgAygCYCEGAkACQAJAAkACQAJAAkAgAygCXCIPQQJGBEAgAyAGNgJQIAMgBDYCVCADQdCCwABBBRAHNgKAASADQfyCwABBCBAHNgKEASAIIANB1ABqIANBgAFqIANBhAFqEN4BIAMtAFxFBEAgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFPBEAgBBAICyADQfyCwABBCBAHNgKAASADQRhqIAIQCUHJg8EALQAAGiADKAIcIQggAygCGCEEQQNBARC4AiIGRQ0CIAZBAmpBhoPAAC0AADoAACAGQYSDwAAvAAA7AAAgBEUgCEGAgICAeEZyDQMgBkEDEMkCDAQLIAUgAygCYEHsg8AAEJUBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0EIAQQCAwECyAFIAMpAmg3AgwgBUEUaiADQfAAaikCADcCACAFIAQ2AgggBSAGNgIEIAUgDzYCAAwFC0EBQQMQowIAC0EDIQggBiEECyADIAQgCBAHNgKEASAIBEAgBCAIEMkCCyADQdwAaiADQdQAaiADQYABaiADQYQBahDeAQJAAkACQCADLQBcRQRAIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBTwRAIAQQCAsCQCACEAoiBEUgBEH///8HRnINACADQeiBwABBCBAHNgKAASADQfCBwABBBxAHNgKEASADQdwAaiADQdQAaiADQYABaiADQYQBahDeASADLQBcDQIgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRB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BCACIAIgBEkbIgIgAkEITRsiAkF/c0EfdiEEIAEgAwR/IAEgAzYCHCABIAAoAgQ2AhRBAQVBAAs2AhggAUEIaiAEIAIgAUEUahDAASABKAIIBEAgASgCDCABKAIQEKMCAAsgASgCDCEDIAAgAjYCACAAIAM2AgQgAUEgaiQAC6sBAQR/IwBBIGsiASQAIAAoAgAiA0EBaiICRQRAQQBBABCjAgALQQggA0EBdCIEIAIgAiAESRsiAiACQQhNGyICQX9zQR92IQQgASADBH8gASADNgIcIAEgACgCBDYCFEEBBUEACzYCGCABQQhqIAQgAiABQRRqEL0BIAEoAggEQCABKAIMIAEoAhAQowIACyABKAIMIQMgACACNgIAIAAgAzYCBCABQSBqJAALtQEBBH8jAEEQayICJAACQAJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgAgAkEEaiABQQhqEHIgASABKAIAQQFrNgIAAkAgAigCBCIEIAIoAgwiAU0EQCACKAIIIQMMAQsgAigCCCEFIAFFBEBBASEDIAUgBBDJAgwBCyAFIARBASABEKUCIgNFDQMLIAAgATYCBCAAIAM2AgAgAkEQaiQADwsQ5wIACxDoAgALQQEgARCjAgALrgEBA39BASEEQQQhBiABRSACQQBIckUEQAJ/AkACQAJ/IAMoAgQEQCADKAIIIgFFBEAgAkUEQAwEC0HJg8EALQAAGiACQQEQuAIMAgsgAygCACABQQEgAhClAgwBCyACRQRADAILQcmDwQAtAAAaIAJBARC4AgsiBEUNAQsgACAENgIEQQAMAQsgAEEBNgIEQQELIQRBCCEGIAIhBQsgACAGaiAFNgIAIAAgBDYCAAu4AQEEfyMAQTBrIgEkACABQRhqIgIgAEEIaigCADYCACABIAApAgA3AxAgAUEIaiABQRBqQfiowAAQ1gEgASgCDCEDIAEoAgghBCABQShqIgAgAigCADYCAEHJg8EALQAAGiABIAEpAxA3AyBBGEEEELgCIgJFBEBBBEEYEO0CAAsgAiAENgIEIAJBsJvAADYCACACIAEpAyA3AgwgAiADNgIIIAJBFGogACgCADYCACABQTBqJAAgAguxAQEBfyMAQRBrIgckACAAKAIUIAEgAiAAKAIYKAIMEQIAIQEgB0EAOgANIAcgAToADCAHIAA2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GzYCBCAAIAE2AgALOAACQCABaUEBR0GAgICAeCABayAASXINACAABEBByYPBAC0AABogACABELgCIgFFDQELIAEPCwALQgEBfyMAQSBrIgMkACADQQA2AhAgA0EBNgIEIANCBDcCCCADIAE2AhwgAyAANgIYIAMgA0EYajYCACADIAIQ/QEAC0kBAX8gASgCACACQf8BcRAxIQFB6IPBACgCACECQeSDwQAoAgAhA0Hkg8EAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALPgEBfyMAQRBrIgIkACACQQhqIAEgASgCACgCBBEBACACKAIMIQEgACACKAIINgIAIAAgATYCBCACQRBqJAALOQACQAJ/IAJBgIDEAEcEQEEBIAAgAiABKAIQEQAADQEaCyADDQFBAAsPCyAAIAMgBCABKAIMEQIAC/oFAgZ+A38jAEEgayIKJAAgASEEQgAhASMAQSBrIgskAAJAAkACQCADUARAIAJQIAJQIAMgBFZxcg0BIAtBEGogA0HAACACeadrIgxB/wBxENMBQgEgDEE/ca2GIQggC0EYaikDACEGIAspAxAhBwNAIAIgBn0gBCAHVK19IgFCAFkEQCAFIAiEIQUgAVAgBCAHfSIEIANUcQ0EIAEhAgsgBkI/hiAHQgGIhCEHIAhCAYghCCAGQgGIIQYMAAsACwJAAkACQAJAIAJQRQRAIAIgA1QNAyACIANRDQEgAiACIAOAIgggA359IQEgA0KAgICAEFoNAiAEQv////8PgyABQiCGIARCIIiEIgEgASADgCIBIAN+fUIghoQiAiADIAIgA4AiAn59IQQgAUIghiAChCEFIAFCIIggCIQhCEIAIQEMBwsgBCAEIAOAIgUgA359IQQMBQsgBCAEIAKAIgUgAn59IQRCASEIDAULIAFQIAMgBFZxDQEgA0IBiCEGIANCP4YhB0KAgICAgICAgIB/IQIDQAJAIAEgBn0gBCAHVK19IgVCAFkEQCAEIAd9IQQgAiAJhCEJIAVQDQEgBSEBCyAGQj+GIAdCAYiEIQcgAkIBiCECIAZCAYghBgwBCwsgBCADgCIBIAmEIQUgBCABIAN+fSEEQgAhAQwECyALIANBPyADeSIBpyACeSIFp2tBQGsgASAFURsiDBDTAUIBIAxBP3GthiEBIAtBCGopAwAhBiALKQMA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ACkAAABEAAAACQAAAAUBEAApAAAAQwAAAAkAAABtYXhpbXVtRnJhY3Rpb25EaWdpdHMAAAAFARAAKQAAAF8AAAANAAAAbWluaW11bUZyYWN0aW9uRGlnaXRzcm91bmRpbmdNb2RlAAAABQEQACkAAABvAAAADQAAAHVzZUdyb3VwaW5nAAUBEAApAAAAcwAAAA0AAABlbi1VUwAAAAUBEAApAAAAZwAAAA0AAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jb25zb2xlX2Vycm9yX3BhbmljX2hvb2stMC4xLjcvc3JjL2xpYi5ycwAAAIwCEABxAAAAlQAAAA4AAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2NvcmUvc3JjL2NvbnZlcnQvbW9kLnJzABADEABPAAAAHgMAAAkAAABjcmF0ZXMvZml4ZWQtcG9pbnQtd2FzbS9zcmMvbGliLnJzAABwAxAAIgAAAIMAAAASAAAAcAMQACIAAACbAAAAEgAAAHADEAAiAAAAIwEAABIAAABwAxAAIgAAAIEBAAAMAAAAMHgAAHADEAAiAAAAjwEAADwAAAABAAAAAAAAAEludmFsaWQgQmlnSW50OiDwAxAAEAAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvZml4ZWRfcG9pbnQucnMIBBAAcAAAAEsAAABPAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQATAAAABAAAAAQAAAAUAAAACAQQAHAAAADNAAAARgAAAAEAAAAAAAAAAQBBh4rAAAsBgABBp4rAAAviGIASAAAAAAAAAP////////////////////////////////////////9/EgAAAAAAAABGaXhlZFBvaW50ICBpcyB0b28gbGFyZ2UgdG8gY29udmVydCB0byBJMjU2LlgFEAALAAAAYwUQACEAAAAIBBAAcAAAAKkAAAANAAAARmFpbGVkIHRvIGNvbnZlcnQgRml4ZWRQb2ludCAgdG8gSTI1Ni4AAKQFEAAdAAAAwQUQAAkAAAAIBBAAcAAAAKwAAAAUAAAARmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdHlwZToKICAgIHZhbHVlOiAKICAgIFVuZGVybHlpbmcgcmFuZ2U6ICB0byAKAOwFEABHAAAAMwYQABcAAABKBhAABAAAAE4GEAABAAAACAQQAHAAAAApAAAADQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvbWF0aC5ycwAAAIAGEABpAAAAQgAAAE8AAACABhAAaQAAAEEAAAAsAAAAgAYQAGkAAABAAAAADgAAAENhbm5vdCBkaXZpZGUgYnkgemVyby4AABwHEAAWAAAAgAYQAGkAAAA2AAAADQAAAEZpeGVkUG9pbnQgb3BlcmF0aW9uIG92ZXJmbG93ZWQ6ICAqICAvIABMBxAAIQAAAG0HEAADAAAAcAcQAAMAAACABhAAaQAAAD8AAAAaAAAAgAYQAGkAAAAxAAAALAAAAIAGEABpAAAAMAAAAAoAAACABhAAaQAAACYAAAANAAAAgAYQAGkAAAAvAAAAFgAAAIAGEABpAAAAdQAAABUAAACABhAAaQAAAF0AAAARAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzAAAA/AcQAGkAAAAmAAAAAQAAABUAAAAMAAAABAAAABYAAAAXAAAACAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkAGAAAAAAAAAABAAAAGQAAAC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwDYCBAASwAAAP8JAAAOAAAAYXNzZXJ0aW9uIGZhaWxlZDogbWluIDw9IG1heC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvY29yZS9zcmMvY21wLnJzAFAJEABHAAAAiwMAAAkAAABFcnJvcmFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93AACtCRAAHQAAAEZpeGVkUG9pbnQoKdQJEAALAAAA3wkQAAEAAABiaWdpbnRudW1iZXJfLC0rMHgwYjBvZQABAAAAAAAAAAYKEAABAAAAEgAAAB4AAAAMAAAABAAAAB8AAAAgAAAACAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkAIQAAAAAAAAABAAAAIgAAAC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwB8ChAASwAAAP8JAAAOAAAAL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9jb3JlL3NyYy9zdHIvcGF0dGVybi5ycwDYChAATwAAAMMFAAAUAAAA2AoQAE8AAADDBQAAIQAAANgKEABPAAAAtwUAACEAAABFcnJvcgAAANgKEABPAAAARwQAACQAAAAwLjAuOGUuL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9jb3JlL3NyYy9jb252ZXJ0L21vZC5ycwAAdwsQAE8AAAAeAwAACQAAAGNyYXRlcy9maXhlZC1wb2ludC13YXNtL3NyYy91dGlscy5yc9gLEAAkAAAAVAAAAD0AAAABAAAAAAAAAAEAAAAAAAAA2AsQACQAAABZAAAADgAAAAEAAAAAAAAAdQsQAAEAAADYCxAAJAAAAIMAAAA2AAAAIwAAAAwAAAAEAAAAJAAAACUAAAAIAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQAmAAAAAAAAAAEAAAAnAAAAL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAKwMEABLAAAA/wkAAA4AAAABAAAAAAAAAGRlc2NyaXB0aW9uKCkgaXMgZGVwcmVjYXRlZDsgdXNlIERpc3BsYXkjAAAADAAAAAQAAAAoAAAAIwAAAAwAAAAEAAAAKQAAACgAAAA4DRAAKgAAACsAAAAsAAAAKgAAAC0AAAAuAAAAGAAAAAQAAAAvAAAALgAAABgAAAAEAAAAMAAAAC8AAAB0DRAAMQAAADIAAAAsAAAAMQAAAC0AAAAzAAAANAAAADQAAAA1AAAANgAAADYAAAA3AAAAY2Fubm90IHNhbXBsZSBlbXB0eSByYW5nZS9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhbmQtMC44LjUvc3JjL3JuZy5ycwAA5Q0QAF0AAACGAAAACQAAAEVycm9yRW1wdHlJbnZhbGlkRGlnaXRQb3NPdmVyZmxvd05lZ092ZXJmbG93WmVyb1BhcnNlSW50RXJyb3JraW5kAAAAOAAAAAQAAAAEAAAAOQAAAAUAAAAMAAAACwAAAAsAAAAEAAAAWQ4QAF4OEABqDhAAdQ4QAIAOEABVbmlmb3JtRml4ZWRQb2ludDo6bmV3X2luY2x1c2l2ZSBjYWxsZWQgd2l0aCBpbnZhbGlkIHJhbmdlOgogICAgbG93OiAKICAgIGhpZ2g6INAOEABFAAAAFQ8QAAsAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3JuZy5yczAPEABoAAAAJAAAAA0AAAD/////////////////////////////////////////fxIAAAAAAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQA6AAAABAAAAAQAAAAUAAAAMA8QAGgAAABJAAAAOwAAADAPEABoAAAATQAAACoAAABVbmlmb3JtRml4ZWRQb2ludDo6c2FtcGxlIGNhbGxlZCB3aXRoIHNpemUgemVyby4sEBAAMAAAADAPEABoAAAAQwAAAA0AAAA7AAAAAAAAAAEAAAA8AAAAPQAAAD4AAABPbmNlIGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAAIwQEAAqAAAAb25lLXRpbWUgaW5pdGlhbGl6YXRpb24gbWF5IG5vdCBiZSBwZXJmb3JtZWQgcmVjdXJzaXZlbHnAEBAAOAAAAC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvc3RkL3NyYy9zeW5jL29uY2UucnMAERAATAAAAJUAAAAyAAAARXJyb3JvYmpAAAAABAAAAAQAAABBAAAAT2JqZWN0AABAAAAABAAAAAQAAAA/AEG4o8AAC5UDL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy92YWx1ZS5yc0ZhaWxlZCB0byBjb252ZXJ0IHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHRvIHUxMjg6ICISEAA2AAAAuBEQAGoAAACQAAAABQAAAENhbm5vdCBmbGlwIHNpZ24gb2YgdW5zaWduZWQgdHlwZTogAHASEAAjAAAAuBEQAGoAAABpAAAADQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwAAAKwSEABpAAAAJgAAAAEAAABhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAACgTEAAdAEHvpsAAC5YMgGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAQgAAAAQAAAAEAAAAFAAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvdmFsdWUucnMAAKwTEABqAAAAjQAAAB4AAACsExAAagAAAIsAAAAiAAAARmFpbGVkIHRvIGNvbnZlcnQgdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdG8gVTI1NjogAAA4FBAANgAAAKwTEABqAAAAkAAAAAUAAABGYWlsZWQgdG8gY29udmVydCBVMjU2IHRvIHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHR5cGU6CiAgICBVMjU2IHZhbHVlOiAKICAgIFVuZGVybHlpbmcgcmFuZ2U6ICB0byAKAIgUEABLAAAA0xQQABcAAADqFBAABAAAAO4UEAABAAAA/////////////////////////////////////////39DAAAADAAAAAQAAABEAAAARQAAAAgAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AEYAAAAAAAAAAQAAAEcAAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAkBUQAEsAAAD/CQAADgAAAAEAAAAAAAAARXJyb3JJbnZhbGlkRGlnaXRJbnRlZ2VyT3ZlcmZsb3dIAAAADAAAAAQAAABJAAAASgAAAEsAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AEwAAAAAAAAAAQAAAE0AAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAdBYQAEsAAAD/CQAADgAAAEVycm9yCgpTdGFjazoKCgBSAAAADAAAAAQAAABTAAAAVAAAAFUAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AFYAAAAAAAAAAQAAAFcAAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAQBcQAEsAAAD/CQAADgAAAEVycm9yTm9uZVNvbWUAAABYAAAABAAAAAQAAABOAAAAAQAAAAAAAABjcmF0ZXMvZGVsdi1jb3JlL3NyYy9jb252ZXJzaW9ucy5ycwDEFxAAIwAAAIQAAAAOAAAAxBcQACMAAACEAAAAGwAAAAogICAgTG9jYXRpb246IAABAAAAAAAAAAgYEAAPAAAAXAAAAAwAAAAEAAAAXQAAAF4AAABVAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQBfAAAAAAAAAAEAAABgAAAAL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAIgYEABLAAAA/wkAAA4AAABFcnJvcm9iamEAAAAEAAAABAAAAGIAAABPYmplY3QAAGEAAAAEAAAABAAAAGMAAABSYW5nZUVycm9yAABhAAAABAAAAAQAAABRAAAAAQAAAAAAAAAKICAgIEZhaWxlZCB0byBwYXJzZSBCaWdJbnQ6IAAAAD0ZEAAYAAAAOBkQAAUAAABJbnZhbGlkIGludDI1NjogaBkQABAAAAA4GRAABQBBp7PAAAsCgAIAQcizwAAL0RovVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAADIGRAAaQAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAABEGhAAHQAAAFRyeUZyb21CaWdJbnRFcnJvckV4cG9uZW50ICBpcyB0b28gc21hbGwgZm9yIFUyNTY6IAB+GhAACQAAAIcaEAAYAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy91dGlscy5ycwAAsBoQAGoA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NC9zcmMvdHlwZXMvaTI1Ni5ycwAAAFUlEABsAAAA0wAAADIAAABVJRAAbAAAANQAAAAyAAAAAQAAAAAAAABudW1iZXIgZG9lcyBub3QgZml0IGluIDI1Ni1iaXQgaW50ZWdlclVuc2lnbmVkIGludGVnZXIgY2FuJ3QgYmUgY3JlYXRlZCBmcm9tIG5lZ2F0aXZlIHZhbHVlABImEAA1AAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzZGl2aXNpb24gYnkgemVybwAAALkmEAAQAAAAMGFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93AADVJhAAHQAAAFAmEABpAAAAJgAAAAEAAABQJhAAaQAAACsAAAABAEGkzsAAC5I1Y291bGQgbm90IGluaXRpYWxpemUgdGhyZWFkX3JuZzogAAAAJCcQACEAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYW5kLTAuOC41L3NyYy9ybmdzL3RocmVhZC5ycwAAAFAnEABlAAAASAAAABEAAACmAAAABAAAAAQAAACnAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFuZF9jaGFjaGEtMC4zLjEvc3JjL2d1dHMucnMAAAAEAAAA2CcQAGUAAADmAAAABQAAAGRlc2NyaXB0aW9uKCkgaXMgZGVwcmVjYXRlZDsgdXNlIERpc3BsYXkBAAAAAAAAAKkAAAAEAAAABAAAAKoAAACpAAAABAAAAAQAAACrAAAAqgAAAIQoEACsAAAArQAAAK4AAACsAAAArwAAAEVycm9yaW50ZXJuYWxfY29kZQAAsQAAAAQAAAAEAAAAsgAAAGRlc2NyaXB0aW9uALEAAAAIAAAABAAAALMAAAB1bmtub3duX2NvZGVvc19lcnJvcrEAAAAEAAAABAAAALQAAABVbmtub3duIEVycm9yOiAAJCkQAA8AAABPUyBFcnJvcjogAAA8KRAACgAAAGdldHJhbmRvbTogdGhpcyB0YXJnZXQgaXMgbm90IHN1cHBvcnRlZGVycm5vOiBkaWQgbm90IHJldHVybiBhIHBvc2l0aXZlIHZhbHVldW5leHBlY3RlZCBzaXR1YXRpb25TZWNSYW5kb21Db3B5Qnl0ZXM6IGlPUyBTZWN1cml0eSBmcmFtZXdvcmsgZmFpbHVyZVJ0bEdlblJhbmRvbTogV2luZG93cyBzeXN0ZW0gZnVuY3Rpb24gZmFpbHVyZVJEUkFORDogZmFpbGVkIG11bHRpcGxlIHRpbWVzOiBDUFUgaXNzdWUgbGlrZWx5UkRSQU5EOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkV2ViIENyeXB0byBBUEkgaXMgdW5hdmFpbGFibGVDYWxsaW5nIFdlYiBBUEkgY3J5cHRvLmdldFJhbmRvbVZhbHVlcyBmYWlsZWRyYW5kU2VjdXJlOiBWeFdvcmtzIFJORyBtb2R1bGUgaXMgbm90IGluaXRpYWxpemVkTm9kZS5qcyBjcnlwdG8gQ29tbW9uSlMgbW9kdWxlIGlzIHVuYXZhaWxhYmxlQ2FsbGluZyBOb2RlLmpzIEFQSSBjcnlwdG8ucmFuZG9tRmlsbFN5bmMgZmFpbGVkTm9kZS5qcyBFUyBtb2R1bGVzIGFyZSBub3QgZGlyZWN0bHkgc3VwcG9ydGVkLCBzZWUgaHR0cHM6Ly9kb2NzLnJzL2dldHJhbmRvbSNub2RlanMtZXMtbW9kdWxlLXN1cHBvcnRjcnlwdG8AJwAAACYAAAAUAAAAMgAAAC0AAAAvAAAAIQAAAB0AAAAtAAAAJwAAACcAAAAxAAAALQAAADAAAABlAAAAUCkQAHcpEACdKRAAsSkQAOMpEAAQKhAAPyoQAGAqEAB9KhAAUCkQAFApEACqKhAA2yoQAAgrEAA4KxAAcmV0dXJuIHRoaXNjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGB1bndyYXBfdGhyb3dgIGZhaWxlZAAAwQAAAAQAAAAEAAAAwgAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL29uY2VfY2VsbC0xLjE5LjAvc3JjL2ltcF9zdGQucnMAgCwQAGcAAAChAAAANgAAAAEAAACALBAAZwAAAJsAAAAJAAAASnNWYWx1ZSgpAAAADC0QAAgAAAAULRAAAQAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3RyZWVudHJhbnQgaW5pdJItEAAOAAAAL3J1c3RjL2M5ODdhZDUyNzU0MGU4ZjE1NjVmNTdjMzEyMDRiZGUzM2Y2M2RmNzYvbGlicmFyeS9jb3JlL3NyYy9jZWxsL29uY2UucnMAAACoLRAATQAAACQBAABCAAAAxQAAAAwAAAAEAAAAxgAAAMcAAADIAAAAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuNi9zcmMvZGxtYWxsb2MucnNhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkACAuEAApAAAAqAQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAAAgLhAAKQAAAK4EAAANAAAAbGlicmFyeS9zdGQvc3JjL3RocmVhZC9tb2QucnN1c2Ugb2Ygc3RkOjp0aHJlYWQ6OmN1cnJlbnQoKSBpcyBub3QgcG9zc2libGUgYWZ0ZXIgdGhlIHRocmVhZCdzIGxvY2FsIGRhdGEgaGFzIGJlZW4gZGVzdHJveWVkAMguEAAdAAAA5QIAABMAAABmYWlsZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIHRocmVhZCBJRDogYml0c3BhY2UgZXhoYXVzdGVkAFQvEAA3AAAAyC4QAB0AAAC4BAAADQAAAG1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQAAKQvEAAVAAAAuS8QAA0AAABsaWJyYXJ5L3N0ZC9zcmMvYWxsb2MucnPYLxAAGAAAAGIBAAAJAAAAY2Fubm90IG1vZGlmeSB0aGUgcGFuaWMgaG9vayBmcm9tIGEgcGFuaWNraW5nIHRocmVhZAAwEAA0AAAA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IHplcm8AAAA4PhAAGQAAAAADAACDBCAAkQVgAF0ToAASFyAfDCBgH+8soCsqMCAsb6bgLAKoYC0e+2AuAP4gNp7/YDb9AeE2AQohNyQN4TerDmE5LxihOTAcYUjzHqFMQDRhUPBqoVFPbyFSnbyhUgDPYVNl0aFTANohVADg4VWu4mFX7OQhWdDooVkgAO5Z8AF/WgBwAAcALQEBAQIBAgEBSAswFRABZQcCBgICAQQjAR4bWws6CQkBGAQBCQEDAQUrAzwIKhgBIDcBAQEECAQBAwcKAh0BOgEBAQIECAEJAQoCGgECAjkBBAIEAgIDAwEeAgMBCwI5AQQFAQIEARQCFgYBAToBAQIBBAgBBwMKAh4BOwEBAQwBCQEoAQMBNwEBAwUDAQQHAgsCHQE6AQIBAgEDAQUCBwILAhwCOQIBAQIECAEJAQoCHQFIAQQBAgMBAQgBUQECBwwIYgECCQsHSQIbAQEBAQE3DgEFAQIFCwEkCQFmBAEGAQICAhkCBAMQBA0BAgIGAQ8BAAMAAx0CHgIeAkACAQcIAQILCQEtAwEBdQIiAXYDBAIJAQYD2wICAToBAQcBAQEBAggGCgIBMB8xBDAHAQEFASgJDAIgBAICAQM4AQECAwEBAzoIAgKYAwENAQcEAQYBAwLGQAABwyEAA40BYCAABmkCAAQBCiACUAIAAQMBBAEZAgUBlwIaEg0BJggZCy4DMAECBAICJwFDBgICAgIMAQgBLwEzAQEDAgIFAgEBKgIIAe4BAgEEAQABABAQEAACAAHiAZUFAAMBAgUEKAMEAaUCAAQAAlADRgsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQwCNAkKBAIBXwMCAQECBgECAZ0BAwgVAjkCAQEBARYBDgcDBcMIAgMBARcBUQECBgEBAgEBAgEC6wECBAYCAQIbAlUIAgEBAmoBAQECBgEBZQMCBAEFAAkBAvUBCgIBAQQBkAQCAgQBIAooBgIECAEJBgIDLg0BAgAHAQYBAVIWAgcBAgECegYDAQECAQcBAUgCAwEBAQACCwI0BQUBAQEAAQYPAAU7BwABPwRRAQACAC4CFwABAQMEBQgIAgceBJQDADcEMggBDgEWBQEPAAcBEQIHAQIBBWQBoAcAAT0EAAQAB20HAGCA8ABBuIPBAAsBAwCDAQlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjJTEuODAuMC1uaWdodGx5IChjOTg3YWQ1MjcgMjAyNC0wNS0wMSkGd2FscnVzBjAuMjAuMwx3YXNtLWJpbmRnZW4SMC4yLjkyICgyYTRhNDkzNjIpACwPdGFyZ2V0X2ZlYXR1cmVzAisPbXV0YWJsZS1nbG9iYWxzKwhzaWduLWV4dA==") + input = base64Decode("AGFzbQEAAAAB3QEgYAJ/fwF/YAJ/fwBgA39/fwF/YAF/AX9gA39/fwBgBH9/f38AYAF/AGAAAX9gBH9/f38Bf2AFf39/f38AYAAAYAV/f39/fwF/YAZ/f39/f38Bf2AGf39/f39/AGAHf39/f39/fwF/YAN/fn4AYAN/fn4Bf2ABfAF/YAJ/fwF8YAN+f38AYAd/f39/f39/AGADfn9/AX9gAX8BfGAFf35+fn4AYAN/fn8AYAR/fn5+AGAFf39+f38AYAR/fn9/AGAFf398f38AYAR/fH9/AGAFf399f38AYAR/fX9/AALUH0gYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX2RlY2ltYWxzXzMwMTdiNTJmN2M5OTYwYmQAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMkX193YmdfdHJhaWxpbmd6ZXJvc19lMjlhMjA2ZmExMDVlNDM2AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX3JvdW5kaW5nXzY1MjNhNzM4OTZmMjFiNmQAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfbG9jYWxlX2VkZWFjOGYxYmJkZWU4YjQAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMcX193YmdfZ3JvdXBfZjk1M2FmMDUwYzM2YWE4ZgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyVfX3diZ19jb21wYWN0ZGlzcGxheV80ZjJmNjMzNmJjZWM0N2JkAAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHl9fd2JnX3BlcmNlbnRfNWVkZTY0ODM3YWM0NmIyYQADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxVfX3diaW5kZ2VuX3N0cmluZ19uZXcAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmluZGdlbl9vYmplY3RfZHJvcF9yZWYABhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193YmdfY3VycmVuY3lfYjkzY2FiMTU2N2Q4MmYzOQABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx5fX3diZ19jb21wYWN0XzY3NDkwZTYwMjA0NTE4YjAAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMeX193YmdfZGlzcGxheV85MmYzMmY3ODZlYmM5MjYzAAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzFV9fd2JpbmRnZW5fbnVtYmVyX25ldwARGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcyNfX3diZ19pc2ZpeGVkcG9pbnRfOGY3NTBlYmJhOWEyZDI0OQADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19taW5fMmQwNjQxZDFlNzg1ODYwMQADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19tYXhfMmRkZDI0NzBkMjU0YTE5MwADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx9fX3diZ19kZWNpbWFsc19iYTE0NzljNjE5MTNlOTIzAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX3RvU3RyaW5nXzZmZWYzYWQ4Yjc1YWQ3OWUAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMRX193YmluZGdlbl90eXBlb2YAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMVX193YmluZGdlbl9zdHJpbmdfZ2V0AAEYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGl9fd2JnX25ld19hYmRhNzZlODgzYmE4YTVmAAcYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHF9fd2JnX3N0YWNrXzY1ODI3OWZlNDQ1NDFjZjYAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMcX193YmdfZXJyb3JfZjg1MTY2N2FmNzFiY2ZjNgABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcw1fX3diaW5kZ2VuX2dlAAAYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHV9fd2JnX2NyeXB0b18xZDFmMjI4MjRhNmEwODBjAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzFF9fd2JpbmRnZW5faXNfb2JqZWN0AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHl9fd2JnX3Byb2Nlc3NfNGE3Mjg0N2NjNTAzOTk1YgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx9fX3diZ192ZXJzaW9uc19mNjg2NTY1ZTU4NmRkOTM1AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzG19fd2JnX25vZGVfMTA0YTJmZjhkNmVhMDNhMgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxRfX3diaW5kZ2VuX2lzX3N0cmluZwADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx5fX3diZ19yZXF1aXJlX2NjYTkwYjFhOTRhMDI1NWIABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMWX193YmluZGdlbl9pc19mdW5jdGlvbgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcx9fX3diZ19tc0NyeXB0b19lYjA1ZTYyYjUzMGExNTA4AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzJV9fd2JnX3JhbmRvbUZpbGxTeW5jXzVjOWM5NTVhYTU2YjYwNDkAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMmX193YmdfZ2V0UmFuZG9tVmFsdWVzXzNhYTU2YWE2ZWRlYzg3NGMAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfQmlnSW50XzQyYjY5MmMxOGUxYWM2ZDYAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMgX193YmdfbmV3bm9hcmdzX2UyNTgwODdjZDBkYWEwZWEAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMbX193YmdfY2FsbF8yN2MwZjg3ODAxZGVkZjkzAAAYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzGl9fd2JnX25ld183MmZiOWExOGI1YWUyNjI0AAcYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHV9fd2JnX2xlbmd0aF9kZWU0MzNkNGM4NWM5Mzg3AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzG19fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZgADGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxtfX3diZ19zZWxmX2NlMGRiZmM0NWNmMmY1YmUABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193Ymdfd2luZG93X2M2ZmI5MzlhN2Y0MzY3ODMABxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMhX193YmdfZ2xvYmFsVGhpc19kMWU2YWY0ODU2YmEzMzFiAAcYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHV9fd2JnX2dsb2JhbF8yMDdiNTU4OTQyNTI3NDg5AAcYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzF19fd2JpbmRnZW5faXNfdW5kZWZpbmVkAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzIV9fd2JnX3BhcnNlRmxvYXRfYzA3MGRiMzM2ZDY4N2U1MwASGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxlfX3diZ19vZl80YTJiMzEzYTQ1M2VjMDU5AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHV9fd2JnX0JpZ0ludF9mMDBiODY0MDk4MDEyNzI1AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX3RvU3RyaW5nXzY2YmUzYzhlMWM2YTdjNzYAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMfX193YmdfdG9TdHJpbmdfMGI1MjdmY2UwZThmMmJhYgAEGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxpfX3diZ19uZXdfMjhjNTExZDliYWViZmE4OQAAGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxtfX3diZ19jYWxsX2IzY2E3YzYwNTFmOWJlYzEAAhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmdfbmV3XzVkZDg2ZWJjOTE3ZDlmNTIAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfY29uY2F0XzNkZTIyOWZlNGZlOTBmZWEAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMhX193YmdfcmVwbGFjZUFsbF85ZDc3YzhhMjQzMGVhYTE2AAsYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHF9fd2JnX3NsaWNlXzUyZmI2MjZmZmRjOGRhOGYAAhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMhX193Ymdfc3RhcnRzV2l0aF9kN2E2NGQ5NTEwNzc0ZThmAAgYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzIl9fd2JnX3RvTG93ZXJDYXNlX2NhYTI2MzJiNDM5ZTg4ZWMAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMbX193YmdfdHJpbV9jYTdkNTM2YmM4M2YwZWI0AAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzHV9fd2JnX2J1ZmZlcl8xMmQwNzljYzIxZTE0YmRiAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzMV9fd2JnX25ld3dpdGhieXRlb2Zmc2V0YW5kbGVuZ3RoX2FhNGExN2MzM2EwNmU1Y2IAAhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmdfbmV3XzYzYjkyYmM4NjcxZWQ0NjQAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193Ymdfc2V0X2E0N2JhYzcwMzA2YTE5YTcABBguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMkX193YmdfbmV3d2l0aGxlbmd0aF9lOWI0ODc4Y2ViYWRiM2QzAAMYLi9maXhlZF9wb2ludF93YXNtX2JnLmpzH19fd2JnX3N1YmFycmF5X2ExZjczY2Q0YjViNDJmZTEAAhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193YmdfbmV3XzliOTJlNGEzMGI4ZmIwNWYAABguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMdX193YmdfZm9ybWF0XzBkMWE0MzQyMmIwNjU0MDkAAxguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMaX193Ymdfc2V0XzFmOWIwNGYxNzAwNTVkMzMAAhguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMXX193YmluZGdlbl9kZWJ1Z19zdHJpbmcAARguL2ZpeGVkX3BvaW50X3dhc21fYmcuanMQX193YmluZGdlbl90aHJvdwABGC4vZml4ZWRfcG9pbnRfd2FzbV9iZy5qcxFfX3diaW5kZ2VuX21lbW9yeQAHA74CvAIBAQQEAwQEBAQFBQEFBAQBBQUFBQUFBAQFBQEAAgEFBQQBBAIFDBMAAQQIBgECAgECAQQEBQUJCQkFBRQAAAEBBAEBAQQEAAAIAQQNDgELBAUCABUDAQAAAAAAAQEBAAAFAQAABAUFBQUEBAABAAoGCQQGBAYEAgEFAQUODQUBAAAAABYAABcJAAAAAAADAQQEBAQBAxgBBAYKAAYGCgADAQIPBg8FBwEBAQADAgECAgoGBQAEBAEGGQAAAAAAAAABCwABAAgAAAAABgAABQAGAwMADAkaHAseBgAQEAAFAAAAAgYAAQEIAQECBAIGAAAAAAkAAQEBAQAAAAEBAQEBAQABAQYBAQEAAAABAgAAAAAGAwAAAAAAAAAAAAAAAAAAAAAAAAABCgoAAQAAAAEAAgEAAQAAAwMDBgEEBAcBcAHUAdQBBQMBABEGCQF/AUGAgMAACwe5BzEGbWVtb3J5AgAVX193YmdfZml4ZWRwb2ludF9mcmVlAJcCHV9fd2JnX2dldF9maXhlZHBvaW50X2RlY2ltYWxzAJgCDmZpeGVkcG9pbnRfbmV3AIwBDmZpeGVkcG9pbnRfb25lAKMBEWZpeGVkcG9pbnRfcmFuZG9tAIoBEWZpeGVkcG9pbnRfYmlnaW50AHkOZml4ZWRwb2ludF9hYnMAiQESZml4ZWRwb2ludF9hYnNEaWZmAF0OZml4ZWRwb2ludF9hZGQAgQEOZml4ZWRwb2ludF9zdWIAggEVZml4ZWRwb2ludF9tdWxEaXZEb3duAH4TZml4ZWRwb2ludF9tdWxEaXZVcAB/EmZpeGVkcG9pbnRfbXVsRG93bgBZEGZpeGVkcG9pbnRfbXVsVXAAWg5maXhlZHBvaW50X211bABmEmZpeGVkcG9pbnRfZGl2RG93bgBbEGZpeGVkcG9pbnRfZGl2VXAAXA5maXhlZHBvaW50X2RpdgBnDmZpeGVkcG9pbnRfcG93AFgNZml4ZWRwb2ludF9lcQB9DWZpeGVkcG9pbnRfbmUAfA1maXhlZHBvaW50X2d0AK0BDmZpeGVkcG9pbnRfZ3RlAK4BDWZpeGVkcG9pbnRfbHQArwEOZml4ZWRwb2ludF9sdGUAsAEOZml4ZWRwb2ludF9taW4AYA5maXhlZHBvaW50X21heABhEGZpeGVkcG9pbnRfY2xhbXAAgAETZml4ZWRwb2ludF90b1N0cmluZwC/ARBmaXhlZHBvaW50X3RvSGV4AKQBE2ZpeGVkcG9pbnRfdG9OdW1iZXIAywEZZml4ZWRwb2ludF9pc19maXhlZF9wb2ludACZAhJmaXhlZHBvaW50X3RvRml4ZWQAbwppbml0aWFsaXplAPgBEmZpeGVkcG9pbnRfdmFsdWVPZgC/AQpnZXRWZXJzaW9uAPkBBWZpeGVkAIwBCnBhcnNlRml4ZWQAjQELcmFuZG9tRml4ZWQAigECbG4AaRFm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rSAprUIghoSFIkBCIIinQQd3Ih+thCFHIDZCIIinQQd3IiWtIECnQQd3IiatQiCGhCFAICGtIBetQiCGhCE/ICOtICKtQiCGhCFSIA2tIA6tQiCGhCE+IAatIBGtQiCGhCFQIAKtIA+tQiCGhCE2IAStIAetQiCGhCFOIAOtIBCtQiCGhCFLIAWtIAitQiCGhCFMICpBAWsiKg0ACyAAKAIgISogACgCJCEnIAAgSUIEfDcDICABIB5B9MqB2QZqNgLMASABIB1BstqIywdqNgLIASABIBxB7siBmQNqNgLEASABIBVB5fDBiwZqNgLAASABIBtB9MqB2QZqNgKMASABIBpBstqIywdqNgKIASABIBlB7siBmQNqNgKEASABIBRB5fDBiwZqNgKAASABIBhB9MqB2QZqNgJMIAEgFkGy2ojLB2o2AkggASATQe7IgZkDajYCRCABIAtB5fDBiwZqNgJAIAEgCUH0yoHZBmo2AgwgASAMQbLaiMsHajYCCCABIBJB7siBmQNqNgIEIAEgCkHl8MGLBmo2AgAgASAhIEqnIhZqNgL4ASABICMgUadqNgLwASABIAAoAhgiCSA7p2o2AugBIAEgACgCECIMIDynajYC4AEgASAAKAIMIhIgLGo2AtwBIAEgACgCCCIKIC1qNgLYASABIAAoAgQiCyAvajYC1AEgASAAKAIAIhMgLmo2AtABIAEgDSAWajYCuAEgASAGIE+najYCsAEgASAJIDenajYCqAEgASAMIDinajYCoAEgASASIDBqNgKcASABIAogMWo2ApgBIAEgCyAzajYClAEgASATIDJqNgKQASABIAIgFmo2AnggASAEIE2najYCcCABIAkgQ6dqNgJoIAEgDCBEp2o2AmAgASASIChqNgJcIAEgCiAkajYCWCABIAsgNGo2AlQgASATICtqNgJQIAEgECAAKAIsajYCPCABIAMgACgCKGo2AjggASAIICdqNgI0IAEgBSAqajYCMCABIAkgOadqNgIoIAEgDCA6p2o2AiAgASASICBqNgIcIAEgCiAfajYCGCABIAsgJmo2AhQgASATICVqNgIQIAEgFyBKQiCIpyIMajYC/AEgASAiIFFCIIinajYC9AEgASAAKAIUIgkgPEIgiKdqNgLkASABIAwgDmo2ArwBIAEgESBPQiCIp2o2ArQBIAEgCSA4QiCIp2o2AqQBIAEgDCAPajYCfCABIAcgTUIgiKdqNgJ0IAEgCSBEQiCIp2o2AmQgASAJIDpCIIinajYCJCABIAAoAhwiACA7QiCIp2o2AuwBIAEgACA3QiCIp2o2AqwBIAEgACBDQiCIp2o2AmwgASAAIDlCIIinajYCLAu+HAIDfxt+IwBBgAdrIgMkAAJAAkAgAikDAEIAUg0AIAIpAwhCAFINACACKQMQQgBSDQAgAikDGEIAUg0AIABCADcDCCAAQQA6ACAgAEIBNwMAIABBGGpCADcDACAAQRBqQgA3AwAMAQsgA0HYBmpCADcDACADQdAGakIANwMAIANCADcDyAYgA0IBNwPABiADQfgGaiACQRhqKQMAIhY3AwAgA0HwBmogAkEQaikDACIZNwMAIANB6AZqIAJBCGopAwAiHDcDACADIAIpAwAiGzcD4AYgASkDGCEGIAEpAxAhCCABKQMIIQ0gASkDACEMQgEhEgNAQRghAgJAAkADQCACQXhGDQEgA0HgBmogAmohASADQcAGaiACaiEFIAJBCGshAkF/IAUpAwAiCiABKQMAIgdSIAcgClQbIgFFDQALIAFB/wFxQQFGDQELIANB8AFqIBJCACAMQgAQzgEgA0HgAWogEkIAIA1CABDOASADQdABaiASQgAgCEIAEM4BIANBwAFqIBJCACAGQgAQzgEgA0GwAWogF0IAIAxCABDOASADQaABaiAXQgAgDUIAEM4BIANBkAFqIBdCACAIQgAQzgEgA0GAAWogF0IAIAZCABDOASADQfAAaiAaQgAgDEIAEM4BIANB4ABqIBpCACANQgAQzgEgA0HQAGogGkIAIAhCABDOASADQUBrIBpCACAGQgAQzgEgA0EwaiAVQgAgDEIAEM4BIANBIGogFUIAIA1CABDOASADQRBqIBVCACAIQgAQzgEgAyAVQgAgBkIAEM4BIAMpA/ABIQoCf0EBIAMpAyAiHCADQThqKQMAIAMpAzAiGSADKQNgIgcgA0H4AGopAwAgAykDcCIWIAMpA6ABIgkgA0G4AWopAwAgAykDsAEiBiADKQPgASIIIANB+AFqKQMAfCINfCIMIAZUrXwiBiADKQPQASISIANB6AFqKQMAIAggDVatfHwiCHwiDXwiF3wiGiAWVK18IhUgAykDkAEiGyADQagBaikDACAJIBdWrXwiCSAGIA1WrXwiFiADKQPAASIGIANB2AFqKQMAIAggElStfHwiCHwiDXwiEnwiF3wiC3wiDiAZVK18IhAgAykDUCIPIANB6ABqKQMAIAcgC1atfCIHIBUgF1atfCIZIAMpA4ABIhcgA0GYAWopAwAgEiAbVK18IhIgDSAWVCAJIBZWcq18IhYgA0HIAWopAwAgBiAIVq18fCIJfCIGfCIIfCINfCIVfCIbQgBSDQAaQQEgAykDECILIANBKGopAwAgGyAcVK18IhsgECAVVq18IhwgAykDQCIVIANB2ABqKQMAIA0gD1StfCINIAggGVQgByAZVnKtfCIZIAYgF1StIANBiAFqKQMAIAkgFlQgEiAWVnKtfHx8Igd8Igl8IhZ8IgZCAFINABpBASADKQMAIgggA0EYaikDACAGIAtUrXwiBiAWIBxUIBsgHFZyrXwiFiAJIBVUrSADQcgAaikDACAHIBlUIA0gGVZyrXx8fCIZfCIcQgBSDQAaIANBCGopAwAgCCAcVq18QgAgBiAWViAWIBlWcq19UgshAiAAIA43AxggACAaNwMQIAAgDDcDCCAAIAo3AwAgACACIARyQQFxOgAgDAILAkAgG6dBAXFFBEAgA0GQA2ogDEIAIAxCABDOASADQYADaiAMQgAgDUIAEM4BIANB4AJqIAhCACAMQgAQzgEgA0GwAmogBkIAIAxCABDOASADQfACaiANQgAgDUIAEM4BIANB0AJqIAhCACANQgAQzgEgA0GgAmogBkIAIA1CABDOASADQcACaiAIQgAgCEIAEM4BIANBkAJqIAZCACAIQgAQzgEgA0GAAmogBkIAIAZCABDOAUEBIQICQCADKQOgAiIKIANBuAJqKQMAIg4gAykDsAIiByADKQPQAiIJIANB6AJqKQMAIgsgAykD4AIiBiADKQPwAiIMIANBiANqKQMAIhAgAykDgAMiCCAIIANBmANqKQMAfCIPfCINIAhUrXwiESAGIAggD1atIBB8fCIQfCIPfCITfCIIIAZUrXwiFCAJIANB+AJqKQMAIAwgE1atfCITIA8gEVStfCIMIAcgBiAQVq0gC3x8IhB8Ig98IhF8Igt8Ihh8IgYgB1StfCIdIAMpA8ACIh8gA0HYAmopAwAiHiAJIBhWrXwiGCALIBRUrXwiCyAKIAkgEVatIB58IhEgDCATVCAMIA9Wcq18IgkgByAQVq0gDnx8Ig58IhB8Ig98IhN8Igx8IhRCAFINACADKQOQAiIHIANBqAJqKQMAIh4gCiAUVq18IhQgDCAdVK18IgwgByADQcgCaikDACATIB9UrXwiEyALIBhUIAsgD1ZyrXwiCyAKIBBWrSAJIBFUIAkgDlZyrSAefHx8Igl8Ig58Igp8IhBCAFINACADKQOAAiIPIANBmAJqKQMAIhEgByAQVq18IhAgDCAUVCAKIAxUcq18IgogByAOVq0gCyATVCAJIAtUcq0gEXx8fCIHfCIJQgBSDQAgA0GIAmopAwAgCSAPVK18QgAgCiAQVCAHIApUcq19UiECCyADKQOQAyEMDAELIANBsAZqIBJCACAMQgAQzgEgA0GgBmogEkIAIA1CABDOASADQZAGaiASQgAgCEIAEM4BIANBgAZqIBJCACAGQgAQzgEgA0HwBWogF0IAIAxCABDOASADQeAFaiAXQgAgDUIAEM4BIANB0AVqIBdCACAIQgAQzgEgA0HABWogF0IAIAZCABDOASADQbAFaiAaQgAgDEIAEM4BIANBoAVqIBpCACANQgAQzgEgA0GQBWogGkIAIAhCABDOASADQYAFaiAaQgAgBkIAEM4BIANB8ARqIBVCACAMQgAQzgEgA0HgBGogFUIAIA1CABDOASADQdAEaiAVQgAgCEIAEM4BIANBwARqIBVCACAGQgAQzgFBASEBAn9BASADKQPgBCIJIANB+ARqKQMAIAMpA/AEIgcgAykDoAUiEiADQbgFaikDACADKQOwBSIKIAMpA+AFIhUgA0H4BWopAwAgAykD8AUiGiADKQOgBiILIANBuAZqKQMAfCIOfCIXIBpUrXwiECADKQOQBiIPIANBqAZqKQMAIAsgDlatfHwiC3wiDnwiEXwiGiAKVK18IhMgAykD0AUiFCADQegFaikDACARIBVUrXwiESAOIBBUrXwiCiADKQOABiIOIANBmAZqKQMAIAsgD1StfHwiC3wiEHwiD3wiGHwiHXwiFSAHVK18Ih8gAykDkAUiHiADQagFaikDACASIB1WrXwiEiATIBhWrXwiByADKQPABSITIANB2AVqKQMAIA8gFFStfCIPIAogEVQgCiAQVnKtfCIKIANBiAZqKQMAIAsgDlStfHwiC3wiDnwiEHwiEXwiFHwiGEIAUg0AGkEBIAMpA9AEIh0gA0HoBGopAwAgCSAYVq18IhggFCAfVK18IgkgAykDgAUiFCADQZgFaikDACARIB5UrXwiESAHIBJUIAcgEFZyrXwiByAOIBNUrSADQcgFaikDACAKIA9UIAogC1ZyrXx8fCISfCILfCIKfCIOQgBSDQAaQQEgAykDwAQiECADQdgEaikDACAOIB1UrXwiDiAJIBhUIAkgClZyrXwiCiALIBRUrSADQYgFaikDACAHIBFUIAcgElZyrXx8fCIHfCIJQgBSDQAaIANByARqKQMAIAkgEFStfEIAIAogDlQgByAKVHKtfVILIQIgAykDsAYhEiADQdADaiAMQgAgDEIAEM4BIANBwANqIAxCACANQgAQzgEgA0GwA2ogCEIAIAxCABDOASADQaADaiAGQgAgDEIAEM4BIANBgARqIA1CACANQgAQzgEgA0HwA2ogCEIAIA1CABDOASADQeADaiAGQgAgDUIAEM4BIANBoARqIAhCACAIQgAQzgEgA0GQBGogBkIAIAhCABDOASADQbAEaiAGQgAgBkIAEM4BIAMpA9ADIQwCQCADKQPgAyIKIANBqANqKQMAIhAgAykDoAMiByADKQPwAyIJIANBuANqKQMAIg4gAykDsAMiBiADKQOABCILIANByANqKQMAIg8gAykDwAMiCCAIIANB2ANqKQMAfCIRfCINIAhUrXwiEyAGIAggEVatIA98fCIPfCIRfCIUfCIIIAZUrXwiGCAJIANBiARqKQMAIAsgFFatfCIUIBEgE1StfCILIAcgBiAPVq0gDnx8Ig98IhF8IhN8Ig58Ih18IgYgB1StfCIfIAMpA6AEIh4gA0H4A2opAwAiICAJIB1WrXwiHSAOIBhUrXwiDiAKIAkgE1atICB8IhMgCyAUVCALIBFWcq18IgkgByAPVq0gEHx8IhB8Ig98IhF8IhR8Igt8IhhCAFINACADKQOQBCIHIANB6ANqKQMAIiAgCiAYVq18IhggCyAfVK18IgsgByADQagEaikDACAUIB5UrXwiFCAOIB1UIA4gEVZyrXwiDiAKIA9WrSAJIBNUIAkgEFZyrSAgfHx8Igl8IhB8Igp8Ig9CAFINACADKQOwBCIRIANBmARqKQMAIhMgByAPVq18Ig8gCyAYVCAKIAtUcq18IgogByAQVq0gDiAUVCAJIA5Ucq0gE3x8fCIHfCIJQgBSDQAgA0G4BGopAwAgCSARVK18QgAgCiAPVCAHIApUcq19UiEBCyAbQgF9IRsgASACciECCyADIBZCAYgiCjcD+AYgAyAWQj+GIBlCAYiEIgc3A/AGIAMgGUI/hiAcQgGIhCIJNwPoBiADIBxCP4YgG0IBiIQiGzcD4AYgAiAEciEEIAohFiAHIRkgCSEcDAALAAsgA0GAB2okAAuoIwISfxN+IwBB4AVrIgMkAAJ+AkACfyABKQM4IhZQRQRAIBYhFUGABAwBC0HAAyABKQMwIhVQRQ0AGkGAAyABKQMoIhVQRQ0AGkHAAiABKQMgIhVQRQ0AGkGAAiABKQMYIhVQRQ0AGkHAASABKQMQIhVQRQ0AGiABKQMIIhVQDQFBgAELIQUgFXkMAQtBwAAhBSABKQMAeQshGAJAAkACQAJAAkACQAJ/AkACf0GABCACKQM4IhVQRQ0AGkHAAyACKQMwIhVQRQ0AGkGAAyACKQMoIhVQRQ0AGkHAAiACKQMgIhVQRQ0AGkGAAiACKQMYIhVQRQ0AGkHAASACKQMQIhVQRQ0AGiACKQMIIhVQDQFBgAELIBV5p2sMAQsgAikDACIVUA0BQcAAIBV5p2sLIgQgBSAYp2siC0sNASAEQcEATwRAIANByANqIAJBOGopAwA3AwAgA0HAA2ogAkEwaikDADcDACADQbgDaiACQShqKQMANwMAIANBsANqIAJBIGopAwA3AwAgA0GoA2ogAkEYaikDADcDACADQaADaiACQRBqKQMANwMAIANBmANqIAJBCGopAwA3AwAgAyACKQMANwOQAyADQZADaiIGIARBAWtBBnYiD0EDdGoiDikDAHkiHqciDCEFIwBBQGoiBEE4akIANwMAIARBMGpCADcDACAEQShqQgA3AwAgBEEgakIANwMAIARBGGpCADcDACAEQRBqIg1CADcDACAEQQhqIgpCADcDACAEQgA3AwAgBCAFQQZ2IgdBA3QiCGogAikDACIYIAWtIhWGNwMAIAggCmoiCiACKQMIIhkgFYYiGjcDACAIIA1qIgggAikDECIbIBWGIh83AwAgBCAHQQNqIg1BA3RqIhAgAikDGCIdIBWGIiA3AwAgBUE/cSERAkAgB0EEaiIFQQhGDQAgBCAFQQN0aiACKQMgIBVCP4MiFoY3AwAgB0EFaiIJQQhGDQAgBCAJQQN0aiACKQMoIBaGNwMAIAdBBmoiCUEIRg0AIAQgCUEDdGogAikDMCAWhjcDACAHQQdqIglBCEYNACAEIAlBA3RqIAIpAzggFoY3AwALAkAgEUUNACAIIB8gGUIAIBV9IhWIfDcDACAKIBogGCAViHw3AwAgECAgIBsgFYh8NwMAIA1BB0YNACAEIAVBA3RqIgggCCkDACAdIBVCP4MiFYh8NwMAIAVBB0YNACAEIAdBBWoiBUEDdGoiCCAIKQMAIAIpAyAgFYh8NwMAIAVBB0YNACAEIAdBBmoiBUEDdGoiCCAIKQMAIAIpAyggFYh8NwMAIAVBB0YNACAHQQN0IARqQThqIgcgBykDACACKQMwIBWIfDcDAAsgBiAEKQMANwMAIAZBOGogBEE4aikDADcDACAGQTBqIARBMGopAwA3AwAgBkEoaiAEQShqKQMANwMAIAZBIGogBEEgaikDADcDACAGQRhqIARBGGopAwA3AwAgBkEQaiAEQRBqKQMANwMAIAZBCGogBEEIaikDADcDACALQQFrIQVBwAAgDGsiBK0hFSABIARBBnYiBkEDdGoiAikDACEWIAJBMGopAwAhICACQShqKQMAISIgAkEgaikDACEjIAJBGGopAwAhJCACQRBqKQMAISUgAkEIaikDACEXIARBP3EhByAGQQdqIgJBCEcNAwwFCyACKQMAIhVQDQMgASkDKCEYIAEpAyAhHiABKQMYIRkgASkDECEaIAEpAwghGyABKQMAIR8gA0HQAWogASkDMCIdIBYgFiAVgCIWIBV+fSAVEIACIANBwAFqIAMpA9ABIiAgA0HYAWopAwAgFUIAEM4BIANBsAFqIBggHSADKQPAAX0gFRCAAiADQaABaiADKQOwASIdIANBuAFqKQMAIBVCABDOASADQZABaiAeIBggAykDoAF9IBUQgAIgA0GAAWogAykDkAEiGCADQZgBaikDACAVQgAQzgEgA0HwAGogGSAeIAMpA4ABfSAVEIACIANB4ABqIAMpA3AiHiADQfgAaikDACAVQgAQzgEgA0HQAGogGiAZIAMpA2B9IBUQgAIgA0FAayADKQNQIhkgA0HYAGopAwAgFUIAEM4BIANBMGogGyAaIAMpA0B9IBUQgAIgA0EgaiADKQMwIhogA0E4aikDACAVQgAQzgEgA0EQaiAfIBsgAykDIH0gFRCAAiADIAMpAxAiGyADQRhqKQMAIBVCABDOASAAQgA3A0ggAEHQAGpCADcDACAAQdgAakIANwMAIABB4ABqQgA3AwAgAEHoAGpCADcDACAAQfAAakIANwMAIABB+ABqQgA3AwAgACAWNwM4IAAgIDcDMCAAIB03AyggACAYNwMgIAAgHjcDGCAAIBk3AxAgACAaNwMIIAAgGzcDACAAIB8gAykDAH03A0AMBQsgA0EANgLoBCADQQE2AtwEIANBiM/AADYC2AQgA0IENwLgBCADQdgEakHIz8AAEPABAAsgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRhqQgA3AwAgAEEQakIANwMAIABBCGpCADcDACAAIAEpAwA3A0AgAEHIAGogAUEIaikDADcDACAAQdAAaiABQRBqKQMANwMAIABB2ABqIAFBGGopAwA3AwAgAEHgAGogAUEgaikDADcDACAAQegAaiABQShqKQMANwMAIABB8ABqIAFBMGopAwA3AwAgAEH4AGogAUE4aikDADcDAAwDCyABIAJBA3RqKQMAIBWIIRwMAQtByM/AABCSAgALIAVBBnYhBCAWIBWIIRYgICAViCEYICIgFYghGSAjIBWIIRogJCAViCEbICUgFYghHyAXIBWIIR0gD0EBaiEIIAEpAwAhIQJAIAdFDQAgIEIAIBV9IhWGIBl8IRkgIiAVhiAafCEaICMgFYYgG3whGyAkIBWGIB98IR8gJSAVhiAdfCEdIBcgFYYgFnwhFiAeUA0AIAEgAkEDdGopAwAgFYYgGHwhGAsgAyAcNwOQBCADIBg3A4gEIAMgGTcDgAQgAyAaNwP4AyADIBs3A/ADIAMgHzcD6AMgAyAdNwPgAyADIBY3A9gDIAMgISAehjcD0AMgA0HQBGpCADcDACADQcgEakIANwMAIANBwARqQgA3AwAgA0G4BGpCADcDACADQbAEakIANwMAIANBqARqQgA3AwAgA0GgBGpCADcDACADQgA3A5gEIANB0ANqIARBA3QiAiAPQQN0IgFraiEGIB5CP4MhGCAIQQN0QQhqQQN2IQsgASADakGIA2opAwAhGiAOKQMAIRkgAykDyAMhGyADKQPAAyEfIAMpA7gDIR0g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CSkDACEXIAMpA+gBIR0gAykD4AEhHiADKQPYASEfIAMpA9ABISAgASACa0EoakEDdiITIQ8gBCANayIKIQECQANAAkACQAJAAkACQCABIgkgCGoiAkEFSQRAQn8hFiADQfABaiACQQN0aiIRKQMAIhUgF1oNAiABIA1qIgRBBUkNAUF/QQVBuM/AABDYAQALIAJBBUG4z8AAENgBAAsgAkECayIBQQRLDQEgA0HAAWogA0HwAWoiAiAEQQN0aikDACIYIBUgFxCAAiADQbABaiADKQPAASIWIANByAFqKQMAIBdCABDOASAYIAMpA7ABfSEVIAFBA3QgAmopAwAhGANAIANBoAFqIBZCACAaQgAQzgEgGCADKQOgAVogFSADQagBaikDACIcViAVIBxRGw0BIBZCAX0hFiAVIBUgF3wiFVgNAAsLIANBkAFqICBCACAWQgAQzgEgA0GAAWogH0IAIBZCABDOASADQfAAaiAeQgAgFkIAEM4BIANB4ABqIB1CACAWQgAQzgEgAyADKQOQATcDuAIgAyADKQOAASIVIANBmAFqKQMAfCIYNwPAAiADIANBiAFqKQMAIBUgGFatfCIVIAMpA3B8Ihg3A8gCIAMgA0H4AGopAwAgFSAYVq18IhUgAykDYHwiGDcD0AIgAyADQegAaikDACAVIBhWrXw3A9gCIApBBUsNAUEoIAlBA3QiEmtBA3YiASAHIAEgB0kbRQ0CIA9B/////wFxIQsgECATakH/////AXEiDCAHIAcgDEsbIgFBAXECfyABQQFGBEBCACEVQQAMAQtBACAHIAsgByALSRtB/v//P3FrIQ5CACEVQQAhBCADQbgCaiECIAYhAQNAIAEgASkDACIYIAIpAwAiHCAVfCIVfTcDACABQQhqIgUgBSkDACIhIAJBCGopAwAiIiAVIBxUIBUgGFZyrXwiFX03AwAgFSAiVCAVICFWciIFrSEVIAFBEGohASACQRBqIQIgDiAEQQJrIgRHDQALQQAgBGsLIQEgA0HwAWogEmohDgRAIA4gAUEDdCIBaiICIAIpAwAiGCADQbgCaiABaikDACIcIBV8IhV9NwMAIBUgHFQgFSAYVnIhBQsgBUEBcUUNAkEAIQICQCAJQQVGDQAgDCAIIAggDEsbIgFBAXECfyABQQFGBEBCACEVQQAMAQtBACAIIAsg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sIzAAEGgkcAAEM8BAAv0EQIKfxZ+IwBB0ARrIgQkACAEQagDaiADQRhqKQMANwMAIARBoANqIANBEGopAwA3AwAgBEGYA2ogA0EIaikDADcDACAEIAMpAwA3A5ADIARB6ANqIgVCADcDACAEQeADaiIGQgA3AwAgBEHYA2oiB0IANwMAIARCADcD0AMCQAJAIARBkANqIgggBEHQA2oiCUEgEOkBBEBBASEKQQEhCyABKQMYIg9CAFkEQCABKQMAIQ4gASkDCCEQIAEpAxAhESAEIA83A6gDIAQgETcDoAMgBCAQNwOYAyAEIA43A5ADIAVCADcDACAGQgA3AwAgB0IANwMAIARCADcD0AMgCCAJENIBQf8BcUH/AUYhCwsgAikDGCIPQgBZBEAgAikDACEOIAIpAwghECACKQMQIREgBCAPNwOoAyAEIBE3A6ADIAQgEDcDmAMgBCAONwOQAyAEQegDakIANwMAIARB4ANqQgA3AwAgBEHYA2pCADcDACAEQgA3A9ADIARBkANqIARB0ANqENIBQf8BcUH/AUYhCgsgAykDGCIPQgBTBH9BAQUgAykDACEOIAMpAwghECADKQMQIREgBCAPNwOoAyAEIBE3A6ADIAQgEDcDmAMgBCAONwOQAyAEQegDakIANwMAIARB4ANqQgA3AwAgBEHYA2pCADcDACAEQgA3A9ADIARBkANqIARB0ANqENIBQf8BcUH/AUYLIQwgBEHoA2oiBiABQRhqKQMANwMAIARB4ANqIgcgAUEQaikDADcDACAEQdgDaiIIIAFBCGopAwA3AwAgBCABKQMANwPQAyAEQeACaiINIARB0ANqIgUQVyAGIAJBGGopAwA3AwAgByACQRBqKQMANwMAIAggAkEIaikDADcDACAEIAIpAwA3A9ADIARBkANqIgkgBRBXIARBMGogBCkD4AIiD0IAIAQpA5ADIg5CABDOASAEQeAAaiAEKQPoAiIQQgAgDkIAEM4BIARB0ABqIAQpA/ACIhFCACAOQgAQzgEgBEFAayAEKQP4AiITQgAgDkIAEM4BIARBIGogBCkDmAMiDkIAIA9CABDOASAEQZABaiAOQgAgEEIAEM4BIARBwAFqIA5CACARQgAQzgEgBEHwAWogDkIAIBNCABDOASAEQRBqIAQpA6ADIg5CACAPQgAQzgEgBEGAAWog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CSAMIANBFGoQwgEgAygCCEEBRgRAIAMoAgwgAygCEBCtAgALIAMoAgwhBCAFIAo2AgAgBSAENgIEIANBIGokACACKAKQASEEDAELIAYgCEcNAyACKAKQASEDDAILIAIoAowBIARBAnRqIQMgB0ECTwRAIAZBf3MgCGoiBkEHcSEFIAdBAmtBB08EQCAGQXhxIQYDQCADQrCAgICABjcCGCADQrCAgICABjcCECADQrCAgICABjcCCCADQrCAgICABjcCACADQSBqIQMgBkEIayIGDQALCyAFBEADQCADQTA2AgAgA0EEaiEDIAVBAWsiBQ0ACwsgBCAHakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2ApABCyACKAKIASEFIAgEQCADIAVGBEAgAkGIAWoQtwELIAIoAowBIANBAnRqQS42AgAgAiADQQFqIgM2ApABIAIoAogBIQULIAMgBUYEQCACQYgBahC3AQsgAigCjAEgA0ECdGpBMDYCACACIANBAWo2ApABCyACIAEpAxgiE0IAWQR/IAEpAwAhFSABKQMIIRQgASkDECEWIAIgEzcDiAIgAiAWNwOAAiACIBQ3A/gBIAIgFTcD8AEgAkHIAWpCADcDACACQcABakIANwMAIAJBuAFqQgA3AwAgAkIANwOwASACQfABaiACQbABahDSAUH/AXFB/wFHBUEACzoAlwEgAigCjAEhASACKAKQASEEIAJBADYCrAEgAkKAgICAEDcCpAEgBARAIAJBpAFqQQAgBBC5AQsgAkGkAWohAyMAQRBrIgYkACABIARBAnRqIgggAUcEQANAAkACfwJAIAhBBGsiCCgCACIEQYABTwRAIAZBADYCDCAEQYAQSQ0BIARBgIAESQRAIAYgBEE/cUGAAXI6AA4gBiAEQQx2QeABcjoADCAGIARBBnZBP3FBgAFyOgANQQMMAwsgBiAEQT9xQYABcjoADyAGIARBEnZB8AFyOgAMIAYgBEEGdkE/cUGAAXI6AA4gBiAEQQx2QT9xQYABcjoADUEEDAILIAMoAggiBSADKAIARgRAIAMQugELIAMoAgQgBWogBDoAACADIAVBAWo2AggMAgsgBiAEQT9xQYABcjoADSAGIARBBnZBwAFyOgAMQQILIQQgBCADKAIAIAMoAggiBWtLBH8gAyAFIAQQuQEgAygCCAUgBQsgAygCBGogBkEMaiAEEJkBGiADIAMoAgggBGo2AggLIAEgCEcNAAsLIAZBEGokACACQaABaiACQawBaigCADYCACACIAIpAqQBNwOYASACQQI2ArQBIAJB/IzAADYCsAEgAkICNwK8ASACIAJBmAFqrUKAgICAEIQ3A/gBIAIgAkGXAWqtQoCAgIDAAYQ3A/ABIAIgAkHwAWo2ArgBIAAgAkGwAWoQkQEgAigCmAEiAARAIAIoApwBIAAQ0wILIAIoAogBIgAEQCACKAKMASAAQQJ0ENMCCyACQZACaiQADwsgAkEANgKAAiACQQE2AvQBIAJBnKjAADYC8AEgAkIENwL4ASACQfABakHsp8AAEPABAAv5BgIKfwF+QQEhCEEBIQcCQAJAAkACQAJAAkAgBSAGIAUgBksiBBsiC0EBTQRAIAggByAEGyIJIAtqIgQgCUkNASAEQQFLDQICfyADIAMgCWogCxDpAQRAIAtBASALayIESyEIQQEhBiADIQUDQEIBIAUxAACGIA6EIQ4gBUEBaiEFIAZBAWsiBg0ACyALIAQgCBtBAWohCUF/IQogCyEIQX8MAQtBASEGQQEhBEEAIQgDQCAEIgogBWoiDEUEQEEBIAVrIARBf3NqIgQNBiAFQX9zQQFqIAhrIgcNBwJAIAMgBGotAAAiBCADIAdqLQAAIgdJBEAgDEEBaiIEIAhrIQZBACEFDAELIAQgB0cEQCAKQQFqIQRBACEFQQEhBiAKIQgMAQtBACAFQQFqIgQgBCAGRiIHGyEFIARBACAHGyAKaiEECyAGIAlHDQELC0EBIQZBACEFQQEhBEEAIQcDQCAEIgogBWoiDUUEQEEBIAVrIARBf3NqIgQNCCAFQX9zQQFqIAdrIgwNCQJAIAMgBGotAAAiBCADIAxqLQAAIgxLBEAgDUEBaiIEIAdrIQZBACEFDAELIAQgDEcEQCAKQQFqIQRBACEFQQEhBiAKIQcMAQtBACAFQQFqIgQgBCAGRiIMGyEFIARBACAMGyAKaiEECyAGIAlHDQELC0EBIAggByAHIAhJG2shCAJAIAlFBEBBACEJQQAhCgwBCyAJQQNxIQRBACEKAkAgCUEESQRAQQAhBgwBCyAJQXxxIQVBACEGA0BCASADIAZqIgdBA2oxAACGQgEgBzEAAIYgDoRCASAHQQFqMQAAhoRCASAHQQJqMQAAhoSEIQ4gBSAGQQRqIgZHDQALCyAERQ0AIAMgBmohBQNAQgEgBTEAAIYgDoQhDiAFQQFqIQUgBEEBayIEDQALC0EBCyEEIABBATYCPCAAIAM2AjggACACNgI0IAAgATYCMCAAIAQ2AiggACAKNgIkIAAgAjYCICAAQQA2AhwgACAJNgIYIAAgCDYCFCAAIAs2AhAgACAONwMIIABBATYCAA8LIAtBAUHw7MAAENkBAAsgCSAEQYDtwAAQ2gEACyAEQQFBgO3AABDZAQALIARBAUGg7cAAENgBAAsgB0EBQbDtwAAQ2AEACyAEQQFBoO3AABDYAQALIAxBAUGw7cAAENgBAAuMCwIKfwl+IwBB0AFrIgMkACADIAI2AgwgAyABNgIIIANBKGoiCUIANwMAIANBIGoiCkIANwMAIANBGGoiC0IANwMAIANCADcDEAJAAkACQAJAIAJFBEAMAQsgASACaiEMA0ACfyABLAAAIghBAE4EQCAIQf8BcSECIAFBAWoMAQsgAS0AAUE/cSECIAhBH3EhBCAIQV9NBEAgBEEGdCACciECIAFBAmoMAQsgAS0AAkE/cSACQQZ0ciECIAhBcEkEQCACIARBDHRyIQIgAUEDagwBCyAEQRJ0QYCA8ABxIAEtAANBP3EgAkEGdHJyIQIgAUEEagshASADIAI2AnACQCACQTBrIgRBCk8EQCAHIAJB5QBHckUEQEEBIQcMAgsgBSACQS5HckUEQEEBIQUMAgsgAkHfAEYNASADQQE2ArQBIANBlLjAADYCsAEgA0IBNwK8ASADIANB8ABqrUKAgICA4AuENwOQASADIANBkAFqNgK4ASADQbABakGcuMAAEI8BIQEgAEEBNgIAIAAgATYCBAwECwJAAkAgB0UEQCADIA03A8gBIAMgDjcDwAEgAyAQNwO4ASADIBI3A7ABIANBkAFqIANBsAFqEJ0BIAMpA5gBIRACQCADKQOQASIRIAStfCISIBFUBEAgEEIBfCIQUA0BCyADKQOgASEOIAMpA6gBIQ0MAgsgAykDoAFCAXwiDlBFBEAgAykDqAEhDQwCCyADKQOoAUIBfCINQgBSDQEMCAsgA0HIAWogCSkDADcDACADQcABaiAKKQMANwMAIANBuAFqIAspAwA3AwAgAyADKQMQNwOwASADQZABaiADQbABahCdASADKQOYASEPAkACQAJAIAMpA5ABIhEgBK18IhQgEVQEQCAPQgF8Ig9QDQELIAMpA6ABIREMAQsgAykDoAFCAXwiEVANAQsgAyADKQOoATcDKCADIBE3AyAgAyAPNwMYIAMgFDcDEAwBCyADIBE3AyAgAyAPNwMYIAMgFDcDECADIAMpA6gBQgF8IhE3AyggEVANAQsgBUEAIQVFDQFBASEFIAYgB0F/c0EBcWohBgwBCwwFCyABIAxHDQALCyADQTBqIgEgBhDWASADQRBqIgIgARDSAUH/AXFB/wFGBEAgA0ECNgK0ASADQey2wAA2ArABIANCAjcCvAEgAyADQQhqrUKAgICA8AuENwOYASADIAKtQoCAgICADIQ3A5ABIAMgA0GQAWo2ArgBIANBsAFqQeS3wAAQjwEhASAAQQE2AgAgACABNgIEDAELIAMgDTcDaCADIA43A2AgAyAQNwNYIAMgEjcDUCADQZABakEKENYBIAMpA0AhDyADKQM4IRMgAykDICEOIAMpAxghDQJ+IAMpAxAiFCADKQMwIhFaBEAgDSATVK0hEiANIBN9DAELIA0gE1StIA0gE1GtfCESIA0gE0J/hXwLIRUgAykDSCETIAMpAyghDSAOIA99IRACQCASUARAIA4gD1StIQ8MAQsgECASVK0gDiAPVK18IQ8gECASfSEQCyANIBN9IQ4CQCAPUARAIAMgDjcDyAEgAyAQNwPAASADIBU3A7gBIAMgFCARfTcDsAEgDSATWg0BDAMLIAMgEDcDwAEgAyAVNwO4ASADIA4gD303A8gBIAMgFCARfTcDsAEgDSATVCAOIA9Ucg0CCyADQfAAaiIBIANBkAFqIANBsAFqEGogAEEIaiADQdAAaiABEF4gAEEANgIACyADQdABaiQADwsgA0EANgKAASADQQE2AnQgA0GwtsAANgJwIANCBDcCeCADQfAAakG8tcAAEPABAAsgA0EANgLAASADQQE2ArQBIANBmMfAADYCsAEgA0IENwK4ASADQbABakG4xsAAEPABAAvyCgIJfwh+IwBB0AFrIgMkACADQUBrIgQgAUEYaiIFKQMANwMAIANBOGoiBiABQRBqKQMANwMAIANBMGoiByABQQhqKQMANwMAIAMgASkDADcDKCADQdAAaiADQShqEFcgA0EIaiADQdgAaikDADcDACADQRBqIANB4ABqKQMANwMAIANBGGogA0HoAGopAwA3AwAgA0ESOgAgIAMgAykDUDcDACADQcgBaiIIIAJBGGopAwA3AwAgA0HAAWoiCSACQRBqKQMANwMAIANBuAFqIgogAkEIaikDADcDACADIAIpAwA3A7ABIANB8ABqIANBsAFqIgsQVyAHIANB+ABqKQMANwMAIAYgA0GAAWopAwA3AwAgBCADQYgBaikDADcDACADQRI6AEggAyADKQNwNwMoAkACQAJAAkACQAJAIAUpAwAiDEIAWQRAIAEpAwAhDSABKQMIIRAgASkDECEOIAMgDDcDqAEgAyAONwOgASADIBA3A5gBIAMgDTcDkAEgCEIANwMAIAlCADcDACAKQgA3AwAgA0IANwOwASADQZABaiALENIBQf8BcSEBIAIpAxgiDEIAUw0CIAFB/wFGIQEMAQtBASEBIAIpAxgiDEIAUw0DCyACKQMAIQ0gAikDCCEQIAIpAxAhDiADIAw3A6gBIAMgDjcDoAEgAyAQNwOYASADIA03A5ABIANByAFqQgA3AwAgA0HAAWpCADcDACADQbgBakIANwMAIANCADcDsAEgASADQZABaiADQbABahDSAUH/AXFB/wFGcw0BDAILIAFB/wFGDQELIAMpA1giDCADKQN4fCINIAxUIQEgAykDgAEhDCADKQNQIhAgAykDcHwiDyAQWgR+IAGtBSANQgF8Ig1QrSABrXwLIRAgAykDiAEhDiADKQNgIhEgDHwiDCARVCEBIBBQBH4gAa0FIAwgDCAQfCIMVq0gAa18CyEQIAMpA2giESAOfCIOIBFUIQECQCAQUARAIAAgDjcDGCAAIAw3AxAgACANNwMIIAAgDzcDACABDQEMAwsgACAMNwMQIAAgDTcDCCAAIA83AwAgACAOIBB8Igw3AxggAQ0AIAwgDloNAgsgA0EANgLAASADQQE2ArQBIANBnKjAADYCsAEgA0IENwK4ASADQbABakHsp8AAEPABAAsCQCADIANBKGoQ0gFB/wFxQQFHBEAgAykDeCEMIAMpA2AhDyADKQNYIQ0CfiADKQNwIhIgAykDUCITWgRAIAwgDVStIQ4gDCANfQwBCyAMIA1UrSAMIA1RrXwhDiAMIA1Cf4V8CyEQIAMpA2ghESADKQOAASINIA99IQwCQCAOUARAIA0gD1StIQ8MAQsgDCAOVK0gDSAPVK18IQ8gDCAOfSEMCyADKQOIASIOIBF9IQ0CQCAPUARAIA4gEVoNAQwFCyANIA9UIA4gEVRyDQQgDSAPfSENCwwBCyADKQNYIQwgAykDgAEhDyADKQN4IQ0CfiADKQNQIhIgAykDcCITWgRAIAwgDVStIQ4gDCANfQwBCyAMIA1UrSAMIA1RrXwhDiAMIA1Cf4V8CyEQIAMpA4gBIREgAykDYCINIA99IQwCQCAOUARAIA0gD1StIQ8MAQsgDCAOVK0gDSAPVK18IQ8gDCAOfSEMCyADKQNoIg4gEX0hDQJAIA9QBEAgDiARWg0BDAQLIA0gD1QgDiARVHINAyANIA99IQ0LCyASIBN9IQ4gACANNwMYIAAgDDcDECAAIBA3AwggACAONwMACyAAQRI6ACAgA0HQAWokAA8LIANBADYCwAEgA0EBNgK0ASADQcSTwAA2ArABIANCBDcCuAEgA0GwAWpBoIvAABDwAQALvAoCAn8HfiMAQaABayICJAACQAJAAkACQAJAIAEpAxgiBkIAWQRAIAEpAwAhByABKQMIIQQgASkDECEFIAIgBjcDcCACIAU3A2ggAiAENwNgIAIgBzcDWCACQZABakIANwMAIAJBiAFqQgA3AwAgAkGAAWpCADcDACACQgA3A3ggAkHYAGogAkH4AGoQ0gFB/wFxQf8BRw0BCyABQcCYwABBIBDpAUUNAiABKQMQIQUgASkDCCEEIAEpAwAhByAGQgBTDQELIAIgBjcDcCACIAU3A2ggAiAENwNgIAIgBzcDWCACQZABakIANwMAIAJBiAFqQgA3AwAgAkGAAWpCADcDACACQgA3A3ggAkHYAGogAkH4AGoQ0gFB/wFxQf8BRg0AIAIgBTcDSCACIAQ3A0AgAiAHNwM4DAILAn4gB1AEQEIAIAR9IQkgBEIAUq0MAQsgBEJ/hSEJIARCAFKtIARQrXwLIQhCACAFfSEEAkAgCFAEQEJ/QgAgBUIAUhshBQwBC0J/QgAgBUIAUhsgBCAIVK19IQUgBCAIfSEECyACIAQ3A0ggAiAJNwNAIAIgBSAGfSIGNwNQIAJCACAHfTcDOCAGQgBZDQEgAkEBNgJ8IAJB3JrAADYCeCACQgE3AoQBIAIgAkE4aq1CgICAgLABhDcDmAEgAiACQZgBajYCgAEgAkHYAGoiASACQfgAaiIAEJEBIAJBEGogAUHkmsAAEN8BIAIpAxAhBCACQYwBaiACQeAAaigCADYCACACIAIpAlg3AoQBIAIgBDcCfCACQYSfwAA2AnggAiAAEOcBNgJ4QfCYwABBKyAAQeCYwABBhJrAABDPAQALIAYgASkDAEIBfCIJIAEpAwgiBUIBfCIHhFAiAyABKQMQIgQgA618IgggBFRxIgGtfCAIIAQgAxshCAJ+IAlQBEBCACAHfSEEIAdCAFKtDAELIAVCf4UhBCAFQgBSrSAFUK18CyEHIAYgARshBUIAIAh9IQYCQCAHUARAQn9CACAIQgBSGyEIDAELQn9CACAIQgBSGyAGIAdUrX0hCCAGIAd9IQYLIAIgBjcDKCACIAQ3AyAgAiAIIAV9Igc3AzAgAkIAIAl9IgU3AxggB0IAWQRAIAJB+ABqQQEQ1gEgBCACKQOAAXwiCCAEVCEBIAIpA4gBIAUgBSACKQN4fCIJWAR+IAGtBSAIQgF8IghQrSABrXwLIQUgAikDkAEhCiAGfCIEIAZUIQEgBVAEfiABrQUgBCAEIAV8IgRWrSABrXwLIQYgByAKfCIFIAdUIQECQCAGUARAIAAgBTcDGCAAIAQ3AxAgACAINwMIIAAgCTcDACABRQ0EDAELIAAgBDcDECAAIAg3AwggACAJNwMAIAAgBSAGfCIENwMYIAENACAEIAVaDQMLIAJBADYCaCACQQE2AlwgAkGcqMAANgJYIAJCBDcCYCACQdgAakHsp8AAEPABAAsgAkEBNgJ8IAJB3JrAADYCeCACQgE3AoQBIAIgAkEYaq1CgICAgLABhDcDOCACIAJBOGo2AoABIAJB2ABqIgEgAkH4AGoiABCRASACQQhqIAFB5JrAABDfASACKQMIIQQgAkGMAWogAkHgAGooAgA2AgAgAiACKQJYNwKEASACIAQ3AnwgAkGEn8AANgJ4IAIgABDnATYCeEHwmMAAQSsgAEHgmMAAQZSawAAQzwEACyAAIAIpAzg3AwAgAEEQaiACQcgAaikDADcDACAAQQhqIAJBQGspAwA3AwAgACAGNwMYCyACQaABaiQAC5MKAgR/BH4jAEHwAmsiBCQAAkACQAJAIAEEQCABKAIAIgVBf0YNASABIAVBAWo2AgAgBEHIAWogAUEoaikDADcDACAEQcABaiABQSBqKQMANwMAIARBuAFqIAFBGGopAwA3AwAgBEGwAWoiBiABQRBqKQMANwMAIAQgASkDCDcDqAEgBEH4AWoiBSACIANB////B0cgAxBsAn8CQCAEKAL4AUUEQCAEQfABaiAEQaACaikDACIINwMAIARB6AFqIARBmAJqKQMAIgk3AwAgBEHgAWogBEGQAmopAwAiCjcDACAEQdgBaiAEQYgCaikDACILNwMAIARBuAJqIAs3AwAgBEHAAmogCjcDACAEQcgCaiAJNwMAIARB0AJqIAg3AwAgBCAEKQOAAiIINwPQASAEIAg3A7ACIARB+ABqIARBqAFqIgIgBEGwAmoQTSAEKAJ4QQFGBEAgBCAEKAJ8NgLYAiAEIARB2AJqIgc2AtwCQQEhAyAEQQE2AvwBIARBoJzAADYC+AEgBEIBNwKEAiAEIARB3AJqrUKAgICAMIQ3A6gBIAQgAjYCgAIgBEHgAmogBRCRASAEQQA2ArABIARCgICAgBA3AqgBIARBAzoAmAIgBEEgNgKIAiAEQQA2ApQCIARBqJzAADYCkAIgBEEANgKAAiAEQQA2AvgBIAQgAjYCjAJB7IbAACAFEM0BDQcgBEHkAGogBigCADYCACAEQdgAaiICIARB6AJqKAIANgIAIAQgBCkCqAE3AlwgBCAEKQLgAjcDUCAHELUCIARBOGogBEHgAGopAwAiCDcDACAEQTBqIAIpAwAiCTcDACAEQQhqIAk3AwAgBEEQaiAINwMAIAQgBCkDUCIINwMoIAQgCDcDAAwCCyAEQfAAaiAEQaABaikDACIINwMAIARBMGogBEGIAWopAwAiCTcDACAEQThqIARBkAFqKQMAIgo3AwAgBEFAayAEQZgBaikDACILNwMAIARByABqIAg3AwAgBEEIaiICIAk3AwAgBEEQaiIDIAo3AwAgBEEYaiIFIAs3AwAgBEEgaiIGIAg3AwAgBCAEKQOAASIINwMoIAQgCDcDACABLQAwIQcgASABKAIAQQFrNgIAIARBnAJqIAYpAwA3AgAgBEGUAmogBSkDADcCACAEQYwCaiADKQMANwIAIARBhAJqIAIpAwA3AgBBACEDQfGCwQAtAAAaIAQgBCkDADcC/AFBOEEIEMICIgFFDQUgAUEANgIAIAEgBCkC+AE3AgQgASAHOgAwIAFBDGogBEGAAmopAgA3AgAgAUEUaiAEQYgCaikCADcCACABQRxqIARBkAJqKQIANwIAIAFBJGogBEGYAmopAgA3AgAgAUEsaiAEQaACaigCADYCAEEADAILIARB2AFqIARBiAJqKQMAIgg3AwAgBEHgAWogBEGQAmopAwAiCTcDACAEQQhqIAg3AwAgBEEQaiAJNwMAIAQgBCkDgAIiCDcD0AEgBCAINwMAIAQoAvwBIQMLIAEgASgCAEEBazYCACAEQYQBaiAEQQhqKQMANwIAIARBjAFqIARBEGopAwA3AgAgBCADNgJ4IAQgBCkDADcCfEEBIQNBACEBIARB+ABqEJwBCyECIAAgAzYCCCAAIAI2AgQgACABNgIAIARB8AJqJAAPCxDvAgALEPACAAtBCEE4EPYCAAtB0JzAAEE3IARB7wJqQcCcwABB1J3AABDPAQAL9QkCBn8EfiMAQfACayIEJAACQAJAIAEEQCABKAIAIgVBf0YNAUEBIQggASAFQQFqNgIAIARB+ABqIAFBEGopAwA3AwAgBEGAAWogAUEYaikDADcDACAEQYgBaiABQSBqKQMANwMAIAQgASkDCDcDcCAEIAEoACk2AmggBCABQSxqKAAANgBrIAEtACghBSAEQcABaiACIANB////B0cgAxBsAn8gBCgCwAFFBEAgBEG0AWogBEHoAWopAwAiCjcCACAEQawBaiAEQeABaikDACILNwIAIARBpAFqIARB2AFqKQMAIgw3AgAgBEGcAWogBEHQAWopAwAiDTcCACAEQagCaiANNwMAIARBsAJqIAw3AwAgBEG4AmogCzcDACAEQcACaiAKNwMAIAQgBCkDyAEiCjcClAEgBCAKNwOgAkIBIQpCACELAkACQAJAIAUOAgIBAAtCCiEKIAUhA0IBIQxCACENA0AgBEEQaiAKQgEgA0EBcSICGyALQgAgAhsgDCANEM4BIARBIGogCiALIAogCxDOASADQQNLIARBKGopAwAhCyAEQRhqKQMAIQ0gBCkDICEKIAQpAxAhDCADQQF2IQMNAAsgBCAMIA0gCiALEM4BIARBCGopAwAhCyAEKQMAIQoMAQtCCiEKCyAEQdACaiICIAs3AwAgBCAKNwPIAiAEQQE2AsQBIARB3IjAADYCwAEgBEIBNwLMASAEIARByAJqrUKAgICAIIQ3A+gCIAQgBEHoAmo2AsgBIARB3AJqIARBwAFqEJEBIARBkAJqQgA3AwAgBEIANwOIAiACKQMAIQogBCkDyAIhCyAEKALcAiICBEAgBCgC4AIgAhDTAgsgBEESOgCYAiAEIAs3A/gBIAQgCjcDgAIgBEHYAWoiBiAEQYgBaikDADcDACAEQdABaiICIARBgAFqKQMANwMAIARByAFqIgcgBEH4AGopAwA3AwAgBEHkAWoiAyAEKABrNgAAIAQgBCkDcDcDwAEgBCAFOgDgASAEIAQoAmg2AOEBIARBOGogBEHAAWogBEGgAmogBEH4AWoQUiAEQeAAaiIFIAEtADA6AAAgASABKAIAQQFrNgIAIARB7AFqIAUpAwA3AgAgAyAEQdgAaikDADcCACAEQdwBaiAEQdAAaikDADcCACAEQdQBaiAEQcgAaikDADcCACAEQcwBaiAEQUBrKQMANwIAQQAhCEHxgsEALQAAGiAEIAQpAzg3AsQBQThBCBDCAiIDRQ0EIANBADYCACADIAQpAsABNwIEIANBDGogBykCADcCACADQRRqIAIpAgA3AgAgA0EcaiAGKQIANwIAIANBJGogBEHgAWopAgA3AgAgA0EsaiAEQegBaikCADcCACADQTRqIARB8AFqKAIANgIAQQAMAQsgBEGoAWoiAiAEQdwBaigCACIDNgIAIARBPGoiBSAEQcwBaikCADcCACAEQcQAaiIGIARB1AFqKQIANwIAIARBzABqIgcgAzYCACAEIAQpAsQBNwI0IAEgASgCAEEBazYCACACIAcoAgA2AgAgBEGgAWogBikCADcDACAEQZgBaiAFKQIANwMAIAQgBCkCNDcDkAFBACEDIARBkAFqEJwBCyEBIAAgCDYCCCAAIAE2AgQgACADNgIAIARB8AJqJAAPCxDvAgALEPACAAtBCEE4EPYCAAv1CQIGfwR+IwBB8AJrIgQkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BQQEhCCABIAVBAWo2AgAgBEH4AGogAUEQaikDADcDACAEQYABaiABQRhqKQMANwMAIARBiAFqIAFBIGopAwA3AwAgBCABKQMINwNwIAQgASgAKTYCaCAEIAFBLGooAAA2AGsgAS0AKCEFIARBwAFqIAIgA0H///8HRyADEGwCfyAEKALAAUUEQCAEQbQBaiAEQegBaikDACIKNwIAIARBrAFqIARB4AFqKQMAIgs3AgAgBEGkAWogBEHYAWopAwAiDDcCACAEQZwBaiAEQdABaikDACINNwIAIARBqAJqIA03AwAgBEGwAmogDDcDACAEQbgCaiALNwMAIARBwAJqIAo3AwAgBCAEKQPIASIKNwKUASAEIAo3A6ACQgEhCkIAIQsCQAJAAkAgBQ4CAgEAC0IKIQogBSEDQgEhDEIAIQ0DQCAEQRBqIApCASADQQFxIgIbIAtCACACGyAMIA0QzgEgBEEgaiAKIAsgCiALEM4BIANBA0sgBEEoaikDACELIARBGGopAwAhDSAEKQMgIQogBCkDECEMIANBAXYhAw0ACyAEIAwgDSAKIAsQzgEgBEEIaikDACELIAQpAwAhCgwBC0IKIQoLIARB0AJqIgIgCzcDACAEIAo3A8gCIARBATYCxAEgBEHciMAANgLAASAEQgE3AswBIAQgBEHIAmqtQoCAgIAghDcD6AIgBCAEQegCajYCyAEgBEHcAmogBEHAAWoQkQEgBEGQAmpCADcDACAEQgA3A4gCIAIpAwAhCiAEKQPIAiELIAQoAtwCIgIEQCAEKALgAiACENMCCyAEQRI6AJgCIAQgCzcD+AEgBCAKNwOAAiAEQdgBaiIGIARBiAFqKQMANwMAIARB0AFqIgIgBEGAAWopAwA3AwAgBEHIAWoiByAEQfgAaikDADcDACAEQeQBaiIDIAQoAGs2AAAgBCAEKQNwNwPAASAEIAU6AOABIAQgBCgCaDYA4QEgBEE4aiAEQcABaiAEQaACaiAEQfgBahBRIARB4ABqIgUgAS0AMDoAACABIAEoAgBBAWs2AgAgBEHsAWogBSkDADcCACADIARB2ABqKQMANwIAIARB3AFqIARB0ABqKQMANwIAIARB1AFqIARByABqKQMANwIAIARBzAFqIARBQGspAwA3AgBBACEIQfGCwQAtAAAaIAQgBCkDODcCxAFBOEEIEMICIgNFDQQgA0EANgIAIAMgBCkCwAE3AgQgA0EMaiAHKQIANwIAIANBFGogAikCADcCACADQRxqIAYpAgA3AgAgA0EkaiAEQeABaikCADcCACADQSxqIARB6AFqKQIANwIAIANBNGogBEHwAWooAgA2AgBBAAwBCyAEQagBaiICIARB3AFqKAIAIgM2AgAgBEE8aiIFIARBzAFqKQIANwIAIARBxABqIgYgBEHUAWopAgA3AgAgBEHMAGoiByADNgIAIAQgBCkCxAE3AjQgASABKAIAQQFrNgIAIAIgBygCADYCACAEQaABaiAGKQIANwMAIARBmAFqIAUpAgA3AwAgBCAEKQI0NwOQAUEAIQMgBEGQAWoQnAELIQEgACAINgIIIAAgATYCBCAAIAM2AgAgBEHwAmokAA8LEO8CAAsQ8AIAC0EIQTgQ9gIAC/UJAgZ/BH4jAEHwAmsiBCQAAkACQCABBEAgASgCACIFQX9GDQFBASEIIAEgBUEBajYCACAEQfgAaiABQRBqKQMANwMAIARBgAFqIAFBGGopAwA3AwAgBEGIAWogAUEgaikDADcDACAEIAEpAwg3A3AgBCABKAApNgJoIAQgAUEsaigAADYAayABLQAoIQUgBEHAAWogAiADQf///wdHIAMQbAJ/IAQoAsABRQRAIARBtAFqIARB6AFqKQMAIgo3AgAgBEGsAWogBEHgAWopAwAiCzcCACAEQaQBaiAEQdgBaikDACIMNwIAIARBnAFqIARB0AFqKQMAIg03AgAgBEGoAmogDTcDACAEQbACaiAMNwMAIARBuAJqIAs3AwAgBEHAAmogCjcDACAEIAQpA8gBIgo3ApQBIAQgCjcDoAJCASEKQgAhCwJAAkACQCAFDgICAQALQgohCiAFIQNCASEMQgAhDQNAIARBEGogCkIBIANBAXEiAhsgC0IAIAIbIAwgDRDOASAEQSBqIAogCyAKIAsQzgEgA0EDSyAEQShqKQMAIQsgBEEYaikDACENIAQpAyAhCiAEKQMQIQwgA0EBdiEDDQALIAQgDCANIAogCxDOASAEQQhqKQMAIQsgBCkDACEKDAELQgohCgsgBEHQAmoiAiALNwMAIAQgCjcDyAIgBEEBNgLEASAEQdyIwAA2AsABIARCATcCzAEgBCAEQcgCaq1CgICAgCCENwPoAiAEIARB6AJqNgLIASAEQdwCaiAEQcABahCRASAEQZACakIANwMAIARCADcDiAIgAikDACEKIAQpA8gCIQsgBCgC3AIiAgRAIAQoAuACIAIQ0wILIARBEjoAmAIgBCALNwP4ASAEIAo3A4ACIARB2AFqIgYgBEGIAWopAwA3AwAgBEHQAWoiAiAEQYABaikDADcDACAEQcgBaiIHIARB+ABqKQMANwMAIARB5AFqIgMgBCgAazYAACAEIAQpA3A3A8ABIAQgBToA4AEgBCAEKAJoNgDhASAEQThqIARBwAFqIARB+AFqIARBoAJqEFIgBEHgAGoiBSABLQAwOgAAIAEgASgCAEEBazYCACAEQewBaiAFKQMANwIAIAMgBEHYAGopAwA3AgAgBEHcAWogBEHQAGopAwA3AgAgBEHUAWogBEHIAGopAwA3AgAgBEHMAWogBEFAaykDADcCAEEAIQhB8YLBAC0AABogBCAEKQM4NwLEAUE4QQgQwgIiA0UNBCADQQA2AgAgAyAEKQLAATcCBCADQQxqIAcpAgA3AgAgA0EUaiACKQIANwIAIANBHGogBikCADcCACADQSRqIARB4AFqKQIANwIAIANBLGogBEHoAWopAgA3AgAgA0E0aiAEQfABaigCADYCAEEADAELIARBqAFqIgIgBEHcAWooAgAiAzYCACAEQTxqIgUgBEHMAWopAgA3AgAgBEHEAGoiBiAEQdQBaikCADcCACAEQcwAaiIHIAM2AgAgBCAEKQLEATcCNCABIAEoAgBBAWs2AgAgAiAHKAIANgIAIARBoAFqIAYpAgA3AwAgBEGYAWogBSkCADcDACAEIAQpAjQ3A5ABQQAhAyAEQZABahCcAQshASAAIAg2AgggACABNgIEIAAgAzYCACAEQfACaiQADwsQ7wIACxDwAgALQQhBOBD2AgAL9QkCBn8EfiMAQfACayIEJAACQAJAIAEEQCABKAIAIgVBf0YNAUEBIQggASAFQQFqNgIAIARB+ABqIAFBEGopAwA3AwAgBEGAAWogAUEYaikDADcDACAEQYgBaiABQSBqKQMANwMAIAQgASkDCDcDcCAEIAEoACk2AmggBCABQSxqKAAANgBrIAEtACghBSAEQcABaiACIANB////B0cgAxBsAn8gBCgCwAFFBEAgBEG0AWogBEHoAWopAwAiCjcCACAEQawBaiAEQeABaikDACILNwIAIARBpAFqIARB2AFqKQMAIgw3AgAgBEGcAWogBEHQAWopAwAiDTcCACAEQagCaiANNwMAIARBsAJqIAw3AwAgBEG4AmogCzcDACAEQcACaiAKNwMAIAQgBCkDyAEiCjcClAEgBCAKNwOgAkIBIQpCACELAkACQAJAIAUOAgIBAAtCCiEKIAUhA0IBIQxCACEN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NwIAIARBjAFqIARBEGopAwA3AgAgBCADNgJ4IAQgBCkDADcCfEEBIQNBACEBIARB+ABqEJwBCyECIAAgAzYCCCAAIAI2AgQgACABNgIAIARB8AJqJAAPCxDvAgALEPACAAtBCEE4EPYCAAtB0JzAAEE3IARB7wJqQcCcwABB1J3AABDPAQALhAgCAX8TfiMAQaACayIDJAAgA0EIaiABKQMAIg5CACACKQMAIgRCABDOASADQcgAaiABKQMIIglCACAEQgAQzgEgA0HYAGogASkDECIFQgAgBEIAEM4BIANB6ABqIAEpAxgiCkIAIARCABDOASADQRhqIAIpAwgiBEIAIA5CABDOASADQfgAaiAEQgAgCUIAEM4BIANBqAFqIARCACAFQgAQzgEgA0HYAWogBEIAIApCABDOASADQShqIAIpAxAiBEIAIA5CABDOASADQYgBaiAEQgAgCUIAEM4BIANBuAFqIARCACAFQgAQzgEgA0HoAWogBEIAIApCABDOASADQThqIAIpAxgiBEIAIA5CABDOASADQZgBaiAEQgAgCUIAEM4BIANByAFqIARCACAFQgAQzgEgA0H4AWogBEIAIApCABDOASADKQMIIQ4CQAJAAkAgAykDmAEiDyADQUBrKQMAIAMpAzgiByADKQOIASILIANBMGopAwAgAykDKCIFIAMpA3giCiADQSBqKQMAIAMpAxgiCSADKQNIIgggA0EQaikDAHwiBnwiBCAJVK18IgwgAykDWCIQIANB0ABqKQMAIAYgCFStfHwiCHwiBnwiDXwiCSAFVK18IhMgAykDqAEiESADQYABaikDACAKIA1WrXwiDSAGIAxUrXwiBSADKQNoIgYgA0HgAGopAwAgCCAQVK18fCIIfCIMfCIQfCISfCIUfCIKIAdUrXwiFSADKQO4ASIWIANBkAFqKQMAIAsgFFatfCILIBIgE1StfCIHIAMpA9gBIhMgA0GwAWopAwAgECARVK18IhAgBSANVCAFIAxWcq18IgUgA0HwAGopAwAgBiAIVq18fCIIfCIGfCIMfCINfCIRfCISQgBSDQAgAykDyAEiFCADQaABaikDACAPIBJWrXwiEiARIBVUrXwiDyADKQPoASIRIANBwAFqKQMAIA0gFlStfCINIAcgC1QgByAMVnKtfCIHIAYgE1StIANB4AFqKQMA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ASADIDBCf4VCACAwfSIwIC5CAFIiBBs3A7ABIAMgMUJ/hSIuIDBQIARBf3NxIgStfCIwIC4gBBs3A7gBIAMgBCAuIDBWca0gL0J/hXw3A8ABIANCASAtfSItNwMIIANCACAqfSIuICpCf4UgLVAbNwMQIAMgLEJ/hSIqIC0gLoRQIgStfCIsICogBBs3AxggAyAEICogLFZxrSArQn+FfDcDICADQQhqIANBqAFqENIBC0H/AXEOAgABAgsgAy0A8AFBEkkNAQsgA0ECNgIMIANB9KjAADYCCCADQgI3AhQgAyADQeACaq1CgICAgPABhDcDsAEgAyADQdABaq1CgICAgPABhDcDqAEgAyADQagBajYCECADQQhqQeypwAAQ8AEACyADQShqIgkgA0HwAWopAwA3AwAgA0EgaiIOIANB6AFqKQMANwMAIANBGGoiDyADQeABaikDADcDACADQRBqIgogA0HYAWopAwA3AwAgA0E4aiADQegCaiIEKQMANwMAIANBQGsgA0HwAmoiBikDADcDACADQcgAaiADQfgCaiIFKQMANwMAIANB0ABqIANBgANqIgwpAwA3AwAgAyADKQPQATcDCCADIAMpA+ACNwMwIAIoAgAhAiAMIAkpAwA3AwAgBSAOKQMANwMAIAYgDykDADcDACAEIAopAwA3AwAgAyADKQMINwPgAiADQdgAaiADQTBqIANB4AJqIgkQViADQYACaiADQeAAaikDADcDACADQYgCaiADQegAaikDADcDACADQZACaiADQfAAaikDADcDACADIAMpA1g3A/gBIAVCADcDACAGQgA3AwAgBEIANwMAIANCADcD4AICQAJAIANB+AFqIAlBIBDpAQRAIAJBCGohBAJAAkACfwJAAn8CQAJ/AkACfwJAAn8CQAJ/AkACfwJAAn8CQAJ/AkACfwJAAn8CQAJ/AkACfwJAAkACQAJAIAIoAogCIgVBwABPBEAgAkGQAmohBgJAAkAgAikDyAIiKkIAVw0AIAIoAtACQQBIDQAgAiAqQoACfTcDyAIgBiAEEEkMAQsgBiAEELQBCyAEKAIAIRpBASEGDAELIAQgBUECdGooAgAhGiACIAVBAWoiBjYCiAIgBUE/Rw0BIAJBkAJqIQUCQCACKQPIAiIqQgBXDQBBACEGIAIoAtACQQBIDQAgAiAqQoAC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Ak8EQCADKQMgISsgAykDGCEtIAMpAxAhLCADKQMIIS4gAiAEEIYBIAMoAuACRQRAICwgLCADKQPwAnwiKlYhAiAtIAMpA/gCIC18IixWIQQgAykDgAMiLyArfCAuIC4gAykD6AJ8Ii1YBH4gAq0FICpCAXwiKlCtIAKtfAsiLlAEfiAErQUgLCAsIC58IixWrSAErXwLIi5QDQIaICsgL3wgLnwMAgsgAyADKALkAjYC0AFBuKrAAEErIANB0AFqQaiqwABB5KrAABDPAQALIANB+AJqIANBIGopAwA3AwAgA0HwAmogA0EYaikDADcDACADQegCaiADQRBqKQMANwMAIAMgAykDCDcD4AIgA0GoAWoiBiADQeACaiIMEFcgA0ESOgDIASADQdABaiEEIwBB0AFrIgIkACACQUBrIgsgA0GAAWoiBUEYaiINKQMANwMAIAJBOGoiECAFQRBqIhEpAwA3AwAgAkEwaiISIAVBCGoiFSkDADcDACACIAUpAwA3AyggAkHQAGogAkEoaiITEGIgAkEIaiACQdgAaikDADcDACACQRBqIAJB4ABqKQMANwMAIAJBGGogAkHoAGopAwA3AwAgAkESOgAgIAIgAikDUDcDACACQcgBaiIJIAZBGGoiFikDADcDACACQcABaiIOIAZBEGoiFCkDADcDACACQbgBaiIPIAZBCGoiFykDADcDACACIAYpAwA3A7ABIAJB8ABqIAJBsAFqIgoQYiASIAJB+ABqKQMANwMAIBAgAkGAAWopAwA3AwAgCyACQYgBaikDADcDACACQRI6AEggAiACKQNwNwMoIAJBqAFqIgsgDSkDADcDACACQaABaiINIBEpAwA3AwAgAkGYAWoiECAVKQMANwMAIAIgBSkDADcDkAEgCUIANwMAIA5CADcDACAPQgA3AwAgAkIANwOwASACQZABaiIFIAoQ0gEhESALIBYpAwA3AwAgDSAUKQMANwMAIBAgFykDADcDACACIAYpAwA3A5ABIAlCADcDACAOQgA3AwAgD0IANwMAIAJCADcDsAECQAJAAkACfgJAAn4CQCARQf8BcUH/AUYgBSAKENIBQf8BcUH/AUZzRQRAIAIgExDSAUH/AXFBAUYNAyACKQN4ISogAikDYCEtIAIpA1ghLCACKQNwIi4gAikDUCIwVA0BICogLFStISsgKiAsfQwCCyACKQNYIiogAikDeHwiKyAqVCEGIAIpA2AiLCACKQOAAXwiKiAsVCEFIAIpA2giLSACKQOIAXwiLCAtVCEJAkAgAikDUCIuIAIpA3B8Ii0gLloEfiAGrQUgK0IBfCIrUK0gBq18CyIuUAR+IAWtBSAqICogLnwiKlatIAWtfAsiLlAEQCAEICw3AxggBCAqNwMQIAQgKzcDCCAEIC03AwAgCQ0BDAYLIAQgKjcDECAEICs3AwggBCAtNwMAIAQgLCAufCIqNwMYIAkNACAqICxaDQULIAJBADYCwAEgAkEBNgK0ASACQZyowAA2ArABIAJCBDcCuAEgAkGwAWpB7KfAABDwAQALICogLFStICogLFGtfCErICogLEJ/hXwLITEgAikDaCEvIAIpA4ABIiwgLX0hKgJAICtQBEAgLCAtVK0hLAwBCyAqICtUrSAsIC1UrXwhLCAqICt9ISoLIAIpA4gBIi0gL30MAQsgAikDWCEqIAIpA4ABIS0gAikDeCEsAn4gAikDUCIuIAIpA3AiMFoEQCAqICxUrSErICogLH0MAQsgKiAsVK0gKiAsUa18ISsgKiAsQn+FfAshMSACKQOIASEvIAIpA2AiLCAtfSEqAkAgK1AEQCAsIC1UrSEsDAELICogK1StICwgLVStfCEsICogK30hKgsgAikDaCItIC99CyErAkAgLFAEQCAtIC9aDQEMAwsgKyAsVCAtIC9Ucg0CICsgLH0hKwsgBCArNwMYIAQgKjcDECAEIDE3AwggBCAuIDB9NwMACyAEQRI6ACAgAkHQAWokAAwBCyACQQA2AsABIAJBATYCtAEgAkHEk8AANgKwASACQgQ3ArgBIAJBsAFqQaCLwAAQ8AEACyAMIAQQhgEgAygC4AINAiADKQP4AiEsIAMpA/ACISogAykD6AIhLSADKQOAAwshKyABQRI6ACAgASArNwMYIAEgLDcDECABICo3AwggASAtNwMAIANBoANqJAAMAgsgA0EANgLwAiADQQE2AuQCIANBtKvAADYC4AIgA0IENwLoAiADQeACakG8q8AAEPABAAsgAyADKALkAjYCvAJBuKrAAEErIANBvAJqQaiqwABB9KrAABDPAQALIAhB0ABqJAAMAQtBhKHAAEEZQfihwAAQ/AEACyAAQQA2AgAgACAZQRIgKRs6ADAgBygCmAEiACAAKAIAQQFrIgE2AgAgAQ0AIABBBGoiASABKAIAQQFrIgE2AgAgAQ0AIABB2AIQ0wILIAdBwAFqJAALsAcCB38FfiMAQfABayIEJAACQAJAIAEEQCABKAIAIgVBf0YNASABIAVBAWo2AgAgBEG4AWogAiADQf///wdHIAMQbAJAIAQoArgBIgNFBEAgBEGsAWogBEHgAWopAwAiCzcCACAEQaQBaiAEQdgBaikDACIMNwIAIARBnAFqIARB0AFqKQMAIg03AgAgBEGUAWogBEHIAWopAwAiDjcCACAEQegAaiAONwMAIARB8ABqIA03AwAgBEH4AGogDDcDACAEQYABaiALNwMAIAQgBCkDwAEiCzcCjAEgBCALNwNgAkAgAUEIaiICIARB4ABqEIUBQf8BcUEBRwRAIARB2ABqIAJBIGopAwA3AwAgBEHQAGogAkEYaikDADcDACAEQcgAaiACQRBqKQMANwMAIARBQGsgAkEIaikDADcDACAEIAIpAwA3AzgMAQsgBEHYAGogBEGMAWoiAkEgaikCADcDACAEQdAAaiACQRhqKQIANwMAIARByABqIAJBEGopAgA3AwAgBEFAayACQQhqKQIANwMAIAQgAikCADcDOAsgBEEUaiAEQUBrKQMAIgs3AgAgBEEcaiAEQcgAaikDACIMNwIAIARBJGogBEHQAGopAwAiDTcCACAEQSxqIARB2ABqKQMAIg43AgAgBCAEKQM4Ig83AgwgAS0AMCEFIAEgASgCAEEBazYCACAEQdwBaiAONwIAIARB1AFqIA03AgAgBEHMAWogDDcCACAEQcQBaiALNwIAQQAhAkHxgsEALQAAGiAEIA83ArwBQThBCBDCAiIBRQ0EIAFBADYCACABIAQpArgBNwIEIAEgBToAMCABQQxqIARBwAFqKQIANwIAIAFBFGogBEHIAWopAgA3AgAgAUEcaiAEQdABaikCADcCACABQSRqIARB2AFqKQIANwIAIAFBLGogBEHgAWooAgA2AgAMAQsgBEGgAWoiAiAEQdQBaigCACIFNgIAIARBmAFqIgYgBEHMAWopAgAiCzcDACAEQZABaiIHIARBxAFqKQIAIgw3AwAgBEEQaiIIIAw3AwAgBEEYaiIJIAs3AwAgBEEgaiIKIAU2AgAgBCAEKQK8ATcDCCABIAEoAgBBAWs2AgAgAiAKKAIANgIAIAYgCSkDADcDACAHIAgpAwA3AwAgBCAEKQMINwOIAUEAIQEgBEGIAWoQnAEhAgsgACADNgIIIAAgAjYCBCAAIAE2AgAgBEHwAWokAA8LEO8CAAsQ8AIAC0EIQTgQ9gIAC7AHAgd/BX4jAEHwAWsiBCQAAkACQCABBEAgASgCACIFQX9GDQEgASAFQQFqNgIAIARBuAFqIAIgA0H///8HRyADEGwCQCAEKAK4ASIDRQRAIARBrAFqIARB4AFqKQMAIgs3AgAgBEGkAWogBEHYAWopAwAiDDcCACAEQZwBaiAEQdABaikDACINNwIAIARBlAFqIARByAFqKQMAIg43AgAgBEHoAGogDjcDACAEQfAAaiANNwMAIARB+ABqIAw3AwAgBEGAAWogCzcDACAEIAQpA8ABIgs3AowBIAQgCzcDYAJAIAFBCGoiAiAEQeAAahCFAUH/AXFBAUcEQCAEQdgAaiAEQYwBaiICQSBqKQIANwMAIARB0ABqIAJBGGopAgA3AwAgBEHIAGogAkEQaikCADcDACAEQUBrIAJBCGopAgA3AwAgBCACKQIANwM4DAELIARB2ABqIAJBIGopAwA3AwAgBEHQAGogAkEYaikDADcDACAEQcgAaiACQRBqKQMANwMAIARBQGsgAkEIaikDADcDACAEIAIpAwA3AzgLIARBFGogBEFAaykDACILNwIAIARBHGogBEHIAGopAwAiDDcCACAEQSRqIARB0ABqKQMAIg03AgAgBEEsaiAEQdgAaikDACIONwIAIAQgBCkDOCIPNwIMIAEtADAhBSABIAEoAgBBAWs2AgAgBEHcAWogDjcCACAEQdQBaiANNwIAIARBzAFqIAw3AgAgBEHEAWogCzcCAEEAIQJB8YLBAC0AABogBCAPNwK8AUE4QQgQwgIiAUUNBCABQQA2AgAgASAEKQK4ATcCBCABIAU6ADAgAUEMaiAEQcABaikCADcCACABQRRqIARByAFqKQIANwIAIAFBHGogBEHQAWopAgA3AgAgAUEkaiAEQdgBaikCADcCACABQSxqIARB4AFqKAIANgIADAELIARBoAFqIgIgBEHUAWooAgAiBTYCACAEQZgBaiIGIARBzAFqKQIAIgs3AwAgBEGQAWoiByAEQcQBaikCACIMNwMAIARBEGoiCCAM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QfSOwAA2ApABIAJCATcCnAEgAiABrUKAgICA0AGENwNwIAIgAkHwAGo2ApgBIAAgAkGQAWpBhI/AABCPATYCBCAAQQE2AgALIAJBsAFqJAALrwYCB38EfiMAQfABayIEJAACQAJAIAEEQCABKAIAIgVBf0YNAUEBIQggASAFQQFqNgIAIARB2ABqIAFBKGopAwA3AwAgBEHQAGogAUEgaikDADcDACAEQcgAaiABQRhqKQMANwMAIARBQGsgAUEQaikDADcDACAEIAEpAwg3AzggBEGQAWogAiADQf///wdHIAMQbAJ/IAQoApABRQRAIARBhAFqIARBuAFqIgMpAwAiCzcCACAEQfwAaiAEQbABaiIFKQMAIgw3AgAgBEH0AGogBEGoAWoiBikDACINNwIAIARB7ABqIARBoAFqIgcpAwAiDjcCACAEQdABaiAONwMAIARB2AFqIA03AwAgBEHgAWogDDcDACAEQegBaiALNwMAIAQgBCkDmAEiCzcCZCAEIAs3A8gBIARBCGogBEE4aiAEQcgBahB7IARBMGoiAiABLQAwOgAAIAEgASgCAEEBazYCACAEQbwBaiACKQMANwIAIARBtAFqIARBKGopAwA3AgAgBEGsAWogBEEgaikDADcCACAEQaQBaiAEQRhqKQMANwIAIARBnAFqIARBEGopAwA3AgBBACEIQfGCwQAtAAAaIAQgBCkDCDcClAFBOEEIEMICIgFFDQQgAUEANgIAIAEgBCkCkAE3AgQgAUEMaiAEQZgBaikCADcCACABQRRqIAcpAgA3AgAgAUEcaiAGKQIANwIAIAFBJGogBSkCADcCACABQSxqIAMpAgA3AgAgAUE0aiAEQcABaigCADYCAEEADAELIARB+ABqIgIgBEGsAWooAgAiAzYCACAEQfAAaiIFIARBpAFqKQIAIgs3AwAgBEHoAGoiBiAEQZwBaikCACIMNwMAIARBDGoiByAMNwIAIARBFGoiCSALNwIAIARBHGoiCiADNgIAIAQgBCkClAE3AgQgASABKAIAQQFrNgIAIAIgCigCADYCACAFIAkpAgA3AwAgBiAHKQIANwMAIAQgBCkCBDcDYEEAIQEgBEHgAGoQnAELIQMgACAINgIIIAAgAzYCBCAAIAE2AgAgBEHwAWokAA8LEO8CAAsQ8AIAC0EIQTgQ9gIAC68GAgd/BH4jAEHwAWsiBCQAAkACQCABBEAgASgCACIFQX9GDQFBASEIIAEgBUEBajYCACAEQdgAaiABQShqKQMANwMAIARB0ABqIAFBIGopAwA3AwAgBEHIAGogAUEYaikDADcDACAEQUBrIAFBEGopAwA3AwAgBCABKQMINwM4IARBkAFqIAIgA0H///8HRyADEGwCfyAEKAKQAUUEQCAEQYQBaiAEQbgBaiIDKQMAIgs3AgAgBEH8AGogBEGwAWoiBSkDACIMNwIAIARB9ABqIARBqAFqIgYpAwAiDTcCACAEQewAaiAEQaABaiIHKQMAIg43AgAgBEHQAWogDjcDACAEQdgBaiANNwMAIARB4AFqIAw3AwAgBEHoAWogCzcDACAEIAQpA5gBIgs3AmQgBCALNwPIASAEQQhqIARBOGogBEHIAWoQeiAEQTBqIgIgAS0AMDoAACABIAEoAgBBAWs2AgAgBEG8AWogAikDADcCACAEQbQBaiAEQShqKQMANwIAIARBrAFqIARBIGopAwA3AgAgBEGkAWogBEEYaikDADcCACAEQZwBaiAEQRBqKQMANwIAQQAhCEHxgsEALQAAGiAEIAQpAwg3ApQBQThBCBDCAiIBRQ0EIAFBADYCACABIAQpApABNwIEIAFBDGogBEGYAWopAgA3AgAgAUEUaiAHKQIANwIAIAFBHGogBikCADcCACABQSRqIAUpAgA3AgAgAUEsaiADKQIANwIAIAFBNGogBEHAAWooAgA2AgBBAAwBCyAEQfgAaiICIARBrAFqKAIAIgM2AgAgBEHwAGoiBSAEQaQBaikCACILNwMAIARB6ABqIgYgBEGcAWopAgAiDDcDACAEQQxqIgcgDDcCACAEQRRqIgkgCzcCACAEQRxqIgogAzYCACAEIAQpApQBNwIEIAEgASgCAEEBazYCACACIAooAgA2AgAgBSAJKQIANwMAIAYgBykCADcDACAEIAQpAgQ3A2BBACEBIARB4ABqEJwBCyEDIAAgCDYCCCAAIAM2AgQgACABNgIAIARB8AFqJAAPCxDvAgALEPACAAtBCEE4EPYCAAuXBwEEfyMAQSBrIgMkACADECY2AgwgAi0AGSEEAkACQAJAAkACQAJAIAItABgiBkEBRw0AIANBuIPAAEEVEAc2AhggAyAEuBAMNgIcIANBEGogA0EMaiADQRhqIANBHGoQ7QEgAy0AEA0BIAMoAhwiBUGEAU8EQCAFEAgLIAMoAhgiBUGEAUkNACAFEAgLIAItABpBAXENAQwCCyAAIAMoAhRB0IPAABCXASADKAIcIgBBhAFPBEAgABAICyADKAIYIgBBhAFJDQIgABAIDAILIANB4IPAAEEVEAc2AhggAyAEIAEgBhtB/wFxuBAMNgIcIANBEGogA0EMaiADQRhqIANBHGoQ7QEgAy0AEEUEQCADKAIcIgFBhAFPBEAgARAICyADKAIYIgFBhAFJDQEgARAIDAELIAAgAygCFEG4hMAAEJcBIAMoAhwiAEGEAU8EQCAAEAgLIAMoAhgiAEGEAUkNASAAEAgMAQsCQAJAAkACQCACKAIAQYCAgIB4Rg0AIANB9YPAAEEMEAc2AhggAyACKAIEIAIoAggQBzYCHCADQRBqIANBDGogA0EYaiADQRxqEO0BIAMtABANASADKAIcIgFBhAFPBEAgARAICyADKAIYIgFBhAFJDQAgARAICwJAIAItABsiBEECRg0AIANBlITAAEELEAciATYCGCADQYIBQYMBIARBAXEbNgIcIANBEGogA0EMaiADQRhqIANBHGoQ7QEgAy0AEA0CIAFBhAFJDQAgARAICyACKAIMQYCAgIB4Rg0CIAMgAigCECACKAIUEAc2AhAgA0EQahD+AiEBIAMoAhAiAkGEAU8EQCACEAgLIAAgAygCDDYCCCAAIAE2AgQgAEECNgIADAQLIAAgAygCFEGEhMAAEJcBIAMoAhwiAEGEAU8EQCAAEAgLIAMoAhgiAEGEAUkNAiAAEAgMAgsgACADKAIUQaCEwAAQlwEgAygCHCIAQYQBTwRAIAAQCAsgAygCGCIAQYQBSQ0BIAAQCAwBC0HxgsEALQAAGkEFQQEQwgIiAQRAIAFBBGpBtITAAC0AADoAACABQbCEwAAoAAA2AAAgAyABQQUQBzYCECADQRBqEP4CIQIgAygCECIEQYQBTwRAIAQQCAsgACADKAIMNgIIIAAgAjYCBCAAQQI2AgAgAUEFENMCDAILQQFBBRCtAgALIAMoAgwiAEGEAUkNACAAEAgLIANBIGokAAv0BgIFfwF+IwBBgAJrIgIkACACQSBqIgUgAUGAlsAAEE8CQAJAAn8CfyACKAIgRQRAIAJBmAFqIAJBMGoiASkDADcDACACQaABaiACQThqIgMpAwA3AwAgAkGoAWogAkFAayIEKQMANwMAIAIgAikDKDcDkAEgAi0ASCEGIAUgAkGQAWoQSCACKAIgQQFGBEAgAiACKAIkNgK0ASACIAJBtAFqIgM2ArgBIAJBATYC3AEgAkGgnMAANgLYASACQgE3AuQBIAIgAkG4AWqtQoCAgIAwhDcDyAEgAiACQcgBaiIBNgLgASACQbwBaiACQdgBaiIEEJEBIAJBADYC0AEgAkKAgICAEDcCyAEgAkEDOgD4ASACQSA2AugBIAJBADYC9AEgAkGonMAANgLwASACQQA2AuABIAJBADYC2AEgAiABNgLsAUGwmMAAIAQQzQENBSACQYQBaiACQdABaigCADYCACACQfgAaiIBIAJBxAFqKAIANgIAIAIgAikCyAE3AnwgAiACKQK8ATcDcCADELUCIAJBCGogASkDADcDACACQRBqIAJBgAFqKQMANwMAIAIgAikDcCIHNwNQIAIgBzcDAEEBDAILIAJBCGoiBSABKQMANwMAIAJBEGoiASADKQMANwMAIAJBGGoiAyAEKQMANwMAIAIgAikDKCIHNwNQIAIgBzcDACACQTxqIAMpAwA3AgAgAkE0aiABKQMANwIAIAJBLGogBSkDADcCAEEAIQNB8YLBAC0AABogAiACKQMANwIkQThBCBDCAiIBRQ0DIAFBADYCACABIAIpAiA3AgQgASAGOgAwIAFBEjoAKCABQQxqIAJBKGopAgA3AgAgAUEUaiACQTBqKQIANwIAIAFBHGogAkE4aikCADcCACABQSRqIAJBQGsoAgA2AgBBAAwCCyACQQhqIAJBMGopAwA3AwAgAkEQaiACQThqKQMANwMAIAIgAikDKDcDACACKAIkCyEBIAJB5AFqIAJBCGopAwA3AgAgAkHsAWogAkEQaikDADcCACACIAE2AtgBIAIgAikDADcC3AFBASEDQQAhASACQdgBahCcAQshBCAAIAM2AgggACAENgIEIAAgATYCACACQYACaiQADwtBCEE4EPYCAAtB0JzAAEE3IAJB/wFqQcCcwABB1J3AABDPAQALkQYCDH8EfiMAQaABayIDJAACQAJAIAIpAwBCAFINACACKQMIQgBSDQAgAikDEEIAUg0AIAIpAxhCAFINACAAQgA3AwggAEIBNwMAIABBGGpCADcDACAAQRBqQgA3AwAMAQsgA0EYakIANwMAIANBEGpCADcDACADQQhqQgA3AwAgA0EoaiIIQgA3AwAgA0EwaiIJQgA3AwAgA0E4aiIKQgA3AwAgA0IBNwMAIANCATcDICADQdgAaiACQRhqKQMANwMAIANB0ABqIAJBEGopAwA3AwAgA0HIAGogAkEIaikDADcDACADIAIpAwA3A0AgA0H4AGoiBCABQRhqKQMANwMAIANB8ABqIgUgAUEQaikDADcDACADQegAaiIGIAFBCGopAwA3AwAgAyABKQMANwNgIANBIGohCyADQeAAaiEMA0AgCyEBIAwhAgJAA0ACQCACIANBQGtGDQBBfyABQQhrIgEpAwAiDyACQQhrIgIpAwAiElIgDyASVhtB/wFxDgIBAgALCyAAIANB4ABqIANBIGoQXgwCCwJAIAMtAEBBAXFFBEAgA0GAAWogA0HgAGoiASABEF4gBCADQZgBaikDADcDACAFIANBkAFqKQMANwMAIAYgA0GIAWopAwA3AwAgAyADKQOAATcDYCADKQNYIg9CP4YgAykDUCIQQgGIhCESIBBCP4YgAykDSCIRQgGIhCEQDAELIANBgAFqIg0gA0HgAGoiByADQSBqEF4gCiADQZgBaiIBKQMANwMAIAkgA0GQAWoiAikDADcDACAIIANBiAFqIg4pAwA3AwAgAyADKQOAATcDICANIAcgBxBeIAQgASkDADcDACAFIAIpAwA3AwAgBiAOKQMANwMAIAMgAykDgAE3A2AgAykDWCIPQj+GIAMpA1AiEEIBiIQhEiAQQj+GIAMpA0giEUIBiIQhECAPQv///////////wCDIQ8LIBFCP4YgAykDQEIBiIQhESADIBI3A1AgAyAQNwNIIAMgETcDQCADIA9CAYg3A1gMAAsACyADQaABaiQAC6kFAQd/AkAgACgCCEEBcUUiBCAAKAIAIglFcUUEQAJAIAQNACABIAJqIQcCQCAAKAIMIgZFBEAgASEEDAELIAEhBANAIAQiAyAHRg0CAn8gA0EBaiADLAAAIghBAE4NABogA0ECaiAIQWBJDQAaIANBA2ogCEFwSQ0AGiADQQRqCyIEIANrIAVqIQUgBkEBayIGDQALCyAEIAdGDQAgBCwAABogBSACAn8CQCAFRQ0AIAIgBUsEQCABIAVqLAAA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IAVBAWsiA2ogBEEwcjoAACACIAM2AgAPC0He6sAAQRxB/OrAABD8AQAL3wUCCn8BfiMAQYACayICJAACQAJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgAkH4AGogAEEoaikDADcDACACQfAAaiIDIABBIGopAwA3AwAgAkHoAGoiBSAAQRhqKQMANwMAIAJB4ABqIABBEGopAwA3AwAgAiAAKQMINwNYIAJBuAFqIgZCADcDACACQcABaiIHQgA3AwAgAkIANwOwASACQgo3A6gBIAJByABqQgA3AwAgAkFAa0IANwMAIAJCADcDOCACQSQgAWutQv8BgyIMNwMwIAJByAFqIgggAkGoAWoiCSACQTBqIgQQSiACQRI6AKABIAIgAikD4AE3A5gBIAIgAikD2AE3A5ABIAIgAikD0AE3A4gBIAIgAikDyAE3A4ABIAQgAkHYAGoiCiACQYABaiILEHogBkIANwMAIAdCADcDACACQgA3A7ABIAJCCjcDqAEgA0IANwMAIAVCADcDACACQgA3A2AgAiAMNwNYIAggCSAKEEogAkESOgCgASACIAIpA+ABNwOYASACIAIpA9gBNwOQASACIAIpA9ABNwOIASACIAIpA8gBNwOAASACIAQgCxB7IAJBKGoiAyABOgAAIAAgACgCAEEBazYCACACQfQBaiADKQMANwIAIAJB7AFqIAJBIGopAwA3AgAgAkHkAWogAkEYaikDADcCACACQdwBaiACQRBqKQMANwIAIAJB1AFqIAJBCGopAwA3AgBB8YLBAC0AABogAiACKQMANwLMAUE4QQgQwgIiAEUNAiAAQQA2AgAgACACKQLIATcCBCAAQQxqIAJB0AFqKQIANwIAIABBFGogAkHYAWopAgA3AgAgAEEcaiACQeABaikCADcCACAAQSRqIAJB6AFqKQIANwIAIABBLGogAkHwAWopAgA3AgAgAEE0aiACQfgBaigCADYCACACQYACaiQAIAAPCxDvAgALEPACAAtBCEE4EPYCAAu/BQEJfyMAQRBrIgYkAAJAIAEtAEkEQAwBCyABKAI0IQMgASgCMCEFAkACQAJAAkACQCABKAIARQRAIAEtAA5FBEAgAS0ADCEIAkACQAJAIAEoAgQiAkUNACACIANPBEAgAiADRg0BDAILIAIgBWosAABBQEgNAQsgAiADRg0BAn8gAiAFaiIKLAAAIglBAEgEQCAKLQABQT9xIQQgCUEfcSEHIAdBBnQgBHIgCUFgSQ0BGiAKLQACQT9xIARBBnRyIQQgBCAHQQx0ciAJQXBJDQEaIAdBEnRBgIDwAHEgCi0AA0E/cSAEQQZ0cnIMAQsgCUH/AXELIQdBASEEIAhBAXENBQJAIAdBgAFJDQBBAiEEIAdBgBBJDQBBA0EEIAdBgIAESRshBAsgASACIARqIgI2AgQgAkUNBAJAIAIgA0kEQCACIAVqLAAAQb9/TA0BDAYLIAIgA0YNBQtBASEICyABIAhBf3NBAXE6AAwgBSADIAIgA0GYlcAAELoCAAsgASAIQX9zQQFxOgAMIAhBAXENBSABQQE6AA4LIAZBADYCBAwFCyABQQhqIQcgASgCPCEEIAEoAjghAiABKAIkQX9HBEAgBkEEaiAHIAUgAyACIARBABCDAQwFCyAGQQRqIAcgBSADIAIgBEEBEIMBDAQLIAIgA0YNASACIAVqLAAAQQBODQALIAIhAwsgAUEAOgAMCyAGIAM2AgwgBiADNgIIIAZBATYCBAsgBigCBEUEQEEAIQMgAS0ASQ0BIAFBAToASQJAIAEtAEhBAUYEQCABKAJEIQggASgCQCECDAELIAEoAkQiCCABKAJAIgJGDQILIAggAmshBSABKAIwIAJqIQMMAQsgASgCQCECIAEgBigCDDYCQCACIAVqIQMgBigCCCACayEFCyAAIAU2AgQgACADNgIAIAZBEGokAAvACwEFfyMAQSBrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAIAEOKAUICAgICAgICAEDCAgCCAgICAgICAgICAgICAgICAgICAgGCAgICAcACyABQdwARg0DDAcLIABBgAQ7AQogAEIANwECIABB3OgBOwEADAcLIABBgAQ7AQogAEIANwECIABB3OQBOwEADAYLIABBgAQ7AQogAEIANwECIABB3NwBOwEADAULIABBgAQ7AQogAEIANwECIABB3LgBOwEADAQLIABBgAQ7AQogAEIANwECIABB3OAAOwEADAMLIAJBgIAEcUUNASAAQYAEOwEKIABCADcBAiAAQdzEADsBAAwCCyACQYACcUUNACAAQYAEOwEKIABCADcBAiAAQdzOADsBAAwBCwJAIAJBAXFFIAFB/wVNcg0A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IAUgASAEajYCCAJAAkACQAJAIApFBEAgAC0AEEEBcQ0BDAILIAsoAgBBChC5Ag0CIABBAToAECAFKAIMIQMLIANFDQIgCyEEIwBB0ABrIgMkAAJ/AkACQAJAIAAoAgBBAWsOAgIBAAsgAyAAQQRqNgIoIANBATYCNCADQdDLwAA2AjAgA0IBNwI8IAMgA0Eoaq1CgICAgJAThDcDECADIANBEGo2AjggBCADQTBqQYDLwAAoAgARAAAMAgsgACgCBCAKIARB7MrAACAAKAIIKAIQEQgADAELIAMgAEEEajYCDCAKBEAgA0EANgJAIANBATYCNCADQfTLwAA2AjAgA0IENwI4IAQgA0EwakGAy8AAKAIAEQAADAELIAMgA0EMaq1CgICAgKAThDcDKCADQQE2AiQgA0ECNgIUIANB3MvAADYCECADQQE2AhwgA0EBOgBMIANBADYCSCADQiA3AkAgA0KAgICAwAA3AjggA0ECNgIwIAMgA0EwajYCICADIANBKGo2AhggBCADQRBqQYDLwAAoAgARAAALIANB0ABqJAANASAAQQA6ABALIAsoAgAhBCAFIAw3AyggBUEBNgIUIAVBhMvAADYCECAFQgE3AhwgBEEUaigCACAEQRhqKAIAIAUgBUEoajYCGCAFQRBqEHVFDQELQQEMAgsgCkEBaiEKIAchBCAIRQ0AC0EACyAFQTBqJAALzwMBA38jAEHgAWsiAiQAAkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCACACQcgAaiABQShqKQMANwMAIAJBQGsgAUEgaikDADcDACACQThqIAFBGGopAwA3AwAgAkEwaiABQRBqKQMANwMAIAIgASkDCDcDKCABLQAwIQMgAkGwAWpCADcDACACQbgBakIANwMAIAJCADcDqAEgAkIKNwOgASACQdgBakIANwMAIAJB0AFqQgA3AwAgAkIANwPIASACQSQgA2utQv8BgzcDwAEgAkH4AGoiAyACQaABaiACQcABahBKIAJBEjoAcCACIAIpA5ABNwNoIAIgAikDiAE3A2AgAiACKQOAATcDWCACIAIpA3g3A1AgAyACQShqIAJB0ABqEHogAkEMaiADEHcgASABKAIAQQFrNgIAAn8gAigCDCIEQQJGBEAgAigCECEDQQAMAQsgAkGQAWogAkEkaigCADYCACACQYgBaiACQRxqKQIANwMAIAJBgAFqIAJBFGopAgA3AwAgAiACKQIMNwN4QQAhAyACQfgAahCcAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQeABaiQADwsQ7wIACxDwAgAL2gMCA38EfiMAQcABayIDJAAgAS0AICEEIANB1ABqIAFBJGooAAA2AAAgA0E4aiABQQhqKQMANwMAIANBQGsgAUEQaikDADcDACADQcgAaiABQRhqKQMANwMAIAMgBDoAUCADIAEoACE2AFEgAyABKQMANwMwQgEhBgJAAkACQCAEDgICAQALQgohBkIBIQgDQCADQRBqIAZCASAEQQFxIgEbIAdCACABGyAIIAkQzgEgA0EgaiAGIAcgBiAHEM4BIARBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIARBAXYhBA0ACyADIAggCSAGIAcQzgEgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0HciMAANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIAghDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQkQEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQ0wILIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiADQdgAaiACEFIgA0HAAWokAAvaAwIDfwR+IwBBwAFrIgMkACABLQAgIQQgA0HUAGogAUEkaigAADYAACADQThqIAFBCGopAwA3AwAgA0FAayABQRBqKQMANwMAIANByABqIAFBGGopAwA3AwAgAyAEOgBQIAMgASgAITYAUSADIAEpAwA3AzBCASEGAkACQAJAIAQOAgIBAAtCCiEGQgEhCANAIANBEGogBkIBIARBAXEiARsgB0IAIAEbIAggCRDOASADQSBqIAYgByAGIAcQzgEgBEEDSyADQShqKQMAIQcgA0EYaikDACEJIAMpAyAhBiADKQMQIQggBEEBdiEEDQALIAMgCCAJIAYgBxDOASADQQhqKQMAIQcgAykDACEGDAELQgohBgsgA0GIAWoiASAHNwMAIAMgBjcDgAEgA0EBNgKkASADQdyIwAA2AqABIANCATcCrAEgAyADQYABaq1CgICAgCCENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahCRASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARDTAgsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIAIgA0HYAGoQUiADQcABaiQAC+QDAgN/AX4jAEGgAWsiBCQAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACAEQegAaiACIANB////B0cgAxBsAn8CQAJAIAQoAmhFBEAgBEHfAGoiAiAEQYABaikAADcAACAEQdgAaiIDIARB+QBqKQAANwMAIARBKWogAykDADcAACAEQTBqIAIpAAA3AAAgBCAEKQBxIgc3A1AgBCAELQBwOgAgIAQgBzcAISAELQCQASECIAQgBCkDiAE3AzggAUEIaiAEQSBqQSAQ6QEgAS0AKCEFIAEgASgCAEEBazYCAEEARyACIAVHciEDDAELIARB3wBqIgIgBEGAAWopAAA3AAAgBEHYAGoiAyAEQfkAaikAADcDACAEQRBqIgUgAykDADcDACAEQRdqIgYgAikAADcAACAEIAQpAHE3AwggBC0AcCEDIAQoAmwhAiABIAEoAgBBAWs2AgAgAkECRw0BCyADQQFxIQFBACEDQQAMAQsgBEH1AGogBSkDADcAACAEQfwAaiAGKQAANwAAIAQgAzoAbCAEIAI2AmggBCAEKQMINwBtQQEhA0EAIQEgBEHoAGoQnAELIQIgACADNgIIIAAgAjYCBCAAIAE2AgAgBEGgAWokAA8LEO8CAAsQ8AIAC+IDAgN/AX4jAEGgAWsiBCQAAkAgAQRAIAEoAgAiBUF/Rg0BIAEgBUEBajYCACAEQegAaiACIANB////B0cgAxBsAn8CQAJAIAQoAmhFBEAgBEHfAGoiAiAEQYABaikAADcAACAEQdgAaiIDIARB+QBqKQAANwMAIARBKWogAykDADcAACAEQTBqIAIpAAA3AAAgBCAEKQBxIgc3A1AgBCAELQBwOgAgIAQgBzcAISAELQCQASECIAQgBCkDiAE3AzggAUEIaiAEQSBqQSAQ6QEgAS0AKCEFIAEgASgCAEEBazYCAEUgAiAFRnEhAwwBCyAEQd8AaiICIARBgAFqKQAANwAA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IAFBADYCACABIAIpAjg3AgQgAUEMaiACQUBrKQIANwIAIAFBFGogAkHIAGopAgA3AgAgAUEcaiACQdAAaikCADcCACABQSRqIAJB2ABqKQIANwIAIAFBLGogAkHgAGopAgA3AgAgAUE0aiACQegAaigCADYCAAwBCyACQdAAaiACQRxqKAIANgIAIAJByABqIAJBFGopAgA3AwAgAkFAayACQQxqKQIANwMAIAIgAikCBDcDOEEAIQEgAkE4ahCcASEDCyAAIAQ2AgggACADNgIEIAAgATYCACACQfAAaiQADwtBCEE4EPYCAAuRAwIBfwZ+IwBBQGoiAiQAIAJBGGpCADcDACACQRBqQgA3AwAgAkEIakIANwMAIAJCADcDACACQThqQgA3AwAgAkEwakIANwMAIAJBKGpCADcDACACQgA3AyAgAiACQSBqENIBQf8BcUH/AUYEQCABKQMIIQMgASkDGCEGQgAgASkDECIEfSEFAkACfiABKQMAIghQBEBCACADfSEHIANCAFKtDAELIANCf4UhByADQgBSrSADUK18CyIDUARAIARCAFKtIQQMAQsgAyAFVq0gBEIAUq18IQQgBSADfSEFCyAAIAU3AxAgACAHNwMIIABCACAIfTcDAEIAIAZ9IQMCQCAEUARAIAAgAzcDGCAGUEUNASACQUBrJAAPCyAAIAMgBH03AxgLIAJBADYCMCACQQE2AiQgAkGcqMAANgIgIAJCBDcCKCACQSBqQeynwAAQ8AEACyACQQE2AiQgAkHspsAANgIgIAJCATcCLCACIAGtQoCAgIDgAYQ3AwAgAiACNgIoIAJBIGpB9KbAABDwAQALjwMBAn8jAEHwAGsiAyQAIAMgASACQf///wdHIAIQbAJAAkAgAygCACIERQRAIANB5ABqIANBMGopAwA3AgAgA0HcAGogA0EoaikDADcCACADQdQAaiADQSBqKQMANwIAIANBzABqIANBGGopAwA3AgAgA0HEAGogA0EQaikDADcCACADIAMpAwg3AjxBACEBQfGCwQAtAAAaQThBCBDCAiICRQ0CIAJBADYCACACIAMpAjg3AgQgAkEMaiADQUBrKQIANwIAIAJBFGogA0HIAGopAgA3AgAgAkEcaiADQdAAaikCADcCACACQSRqIANB2ABqKQIANwIAIAJBLGogA0HgAGopAgA3AgAgAkE0aiADQegAaigCADYCAAwBCyADQdAAaiADQRxqKAIANgIAIANByABqIANBFGopAgA3AwAgA0FAayADQQxqKQIANwMAIAMgAykCBDcDOEEAIQIgA0E4ahCcASEBCyAAIAQ2AgggACABNgIEIAAgAjYCACADQfAAaiQADwtBCEE4EPYCAAunIAIOfwh+IwBB8ABrIgQkACACQf///wdHIQYjAEGQBGsiAyQAAkACQAJAAkACQAJAAkAgASIKEA0iAUH///8HR0EAIAEbRQRAIAMgAkESIAYbIg86AK8BIANBoAFqIAoQESIBEBMCQAJAIAMoAqABIgcEQCADKAKkASICQYCAgIB4Rw0BC0EAIQIgA0EANgK4ASADQoCAgIAQNwKwAUEBIQcMAQsgAyACNgKwASADIAetIAKtQiCGhDcCtAELIAFBhAFPBEAgARAICwJAAkACQAJAAkACQAJAAkACQAJAAkAgAkEBTQRAIAJBAUcNDyAHLQAAQeUARg0BDA4LIAJBB00EQCAHLQAAQeUARg0BIActAAFB5QBGDQECQCACQQJGDQAgBy0AAkHlAEYNAiACQQNGDQAgBy0AA0HlAEYNAiACQQRGDQAgBy0ABEHlAEYNAiACQQVGDQAgBy0ABUHlAEYNAiACQQZGDQAgBy0ABkHlAEYNAgsgAkECSQ0OQQEhBiAHIQUgAiEBA0AgBS0AAEEuRg0RIAVBAWohBSABQQFrIgENAAsMDwsgA0GYAWpB5QAgByACEKgBQQEhBiADKAKYAUEBRw0BCyADQcABaiIBIAcgAkGtlcAAEFQgA0EBOwGIAiADIAI2AoQCIANBADYCgAIgA0GIAWogARBwIAMoAowBIRAgAygCiAEhDCADQYABaiABEHAgA0H4AGohDiADKAKAASIBQQEgARshCEEAIQZBASELAkACQAJAAkAgAygChAFBACABGyIBDgIDAAELQQEhBSAILQAAIglBK2sOAwIBAgELIAgtAAAhCQsCQAJAAkACQAJAAkACQAJAIAlB/wFxQStrDgMABAEECyABQQFrIQUgCEEBaiEIIAFBAksEQCAFIQEMBQsMAQsgAUEBayEJIAhBAWohCCABQQJLBEBBACEBA0AgCUEARyELIAlFBEAgASEFDAkLIAgtAABBMGsiBkEKTyIFDQcgAcBBCmwiAcAi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IANBiANqKAIANgIAIAMgAykCgAM3A4AEIAIEQCAHIAIQ0wILIANBuAFqIAEoAgA2AgAgAyADKQOABDcDsAFBASEGDAYLQgEhEgJAAkACQCAGIAVrIgFB/wFxDgICAQALIAHAIQZCCiESQgEhGANAIANBGGogEkIBIAZBAXEiARsgEUIAIAEbIBggExDOASADQShqIBIgESASIBEQzgEgBkEDSyADQTBqKQMAIREgA0EgaikDACETIAMpAyghEiADKQMYIRggBkEBdiEGDQALIANBCGogGCATIBIgERDOASADQRBqKQMAIREgAykDCCESDAELQgohEgsgA0GYA2pCADcDACADQgA3A5ADIANBEjoAoAMgAyARNwOIAyADIBI3A4ADIANBEjoA8AMgAyAUNwPoAyADIBY3A+ADIAMgFTcD2AMgAyAXNwPQAyADQagDaiADQdADaiADQYADahB6IAQgAygAyQM2ACkgBEEsaiADQcwDaigAADYAACADKQOoAyESIAMpA7ADIREgAykDuAMhEyADKQPAAyEUIAMtAMgDIQEgBCAPOgAwIAQgAToAKCAEIBQ3AyAgBCATNwMYIAQgETcDECAEIBI3AwggBEEANgIADAILDAYLIAQgCiAGIAIQbAwECyACBEAgByACENMCCyAKQYQBSQ0DIAoQCAwDC0EBIQYgBy0AAEEuRg0BCyADQZACaiIBIApBgJbAABBPAkAgAygCkAJFBEAgA0HcAWogA0GwAmopAwAiEjcCACADQdQBaiADQagCaikDACIRNwIAIANBzAFqIANBoAJqKQMAIhM3AgAgAyADKQOYAiIUNwLEASADQegDaiASNwMAIANB4ANqIBE3AwAgA0HYA2ogEzcDACADIBQ3A9ADIANBADYCyAEgA0KAgICAEDcCwAEgA0EDOgCwAiADQSA2AqACIANBADYCrAIgA0GQlsAANgKoAiADQQA2ApgCIANBADYCkAIgAyADQcABajYCpAIgA0HQA2ogARCmAQ0BIANBsANqIANByAFqKAIANgIAIAMgAykCwAE3A6gDIAIEQCAHIAIQ0wILIANBuAFqIANBsANqKAIANgIAIAMgAykDqAM3A7ABQQAhBgwCCyADQdgBaiADQawCaigCACIBNgIAIANB0AFqIANBpAJqKQIAIhI3AwAgA0HIAWogA0GcAmop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AUEgNgIoIAFBADYCNCABQfivwAA2AjAgAUEANgIgIAFBADYCGCABIAFBDGo2AiwgACABQRhqEKsBRQRAIAEoAgwhAiABKAIQIgMgASgCFBAzIQQgAkUNASADIAIQ0wIMAQsMAQsgACgCBCICBEAgACgCCCACENMCCyAAKAIQIgIEQCAAKAIUIAIQ0wILIAFBQGskACAEDwtBoLDAAEE3IAFBP2pBkLDAAEGkscAAEM8BAAu5AgICfwN+IwBB4ABrIgIkACACQQhqIAEpAwBCAEIKQgAQzgEgASACKQMIIgU3AwAgAkEYaiABQQhqIgMpAwBCAEIKQgAQzgEgAyACKQMYIgYgAkEQaikDAHwiBDcDACACQShqIAFBEGoiAykDAEIAQgpCABDOASACQThqIAFBGGoiASkDAEIAQgpCABDOASAAIAU3AwAgAEEIaiAENwMAIAMgAikDKCIFIAJBIGopAwAgBCAGVK18fCIENwMAIABBEGogBDcDACABIAIpAzgiBiACQTBqKQMAIAQgBVStfHwiBDcDACAAQRhqIAQ3AwAgAkFAaykDACAEIAZUrXxQBEAgAkHgAGokAA8LIAJBADYCWCACQQE2AkwgAkGwz8AANgJIIAJCBDcCUCACQcgAakG4z8AAEPABAAvCAgECfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAESQRAIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgAiABQT9xQYABcjoADyACIAFBEnZB8AFyOgAMIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADUEEDAILIAAoAggiAyAAKAIARgRAIAAQugELIAAoAgQgA2ogAToAACAAIANBAWo2AggMAgsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQILIQEgASAAKAIAIAAoAggiA2tLBEAgACADIAEQuQEgACgCCCEDCyAAKAIEIANqIAJBDGogARCZARogACABIANqNgIICyACQRBqJABBAAvpAwEGfyMAQRBrIgMkAAJAAn8CQCABQYABTwRAIANBADYCDCABQYAQSQ0BIAFBgIAESQRAIAMgAUE/cUGAAXI6AA4gAyABQQx2QeABcjoADCAD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BTYCPCADIAw2AjggAyAFQYCAgIB4IAwbIgk2AjQgA0ECIApBAEcgCkH///8HRhs6AE8gA0EYaiACEAUCQAJAIAMoAhgiB0UNACADKAIcIgVBgICAgHhGDQAgBUUNASAHIAUQ0wIMAQsgAhAGIgVBACAFQf///wdHGw0AIAIQACEFIANBAToATCADIAstACggBSAFQf///wdGGzoATQsgA0HcAGoiCiALLQAoIANBNGoQaCADKAJkIQUgAygCYCEHAkACQAJAIAMoAlwiD0ECRgRAIAMgBzYCUCADIAU2AlQgA0EQaiACEAUCQAJAAkACQAJAIAMoAhAiB0UNACADKAIUIgVBgICAgHhGDQAgA0GkgcAAQQgQBzYCgAEgA0GsgcAAQQcQBzYChAEgCiADQdQAaiADQYABaiADQYQBahDtASADLQBcDQEgAygChAEiCkGEAU8EQCAKEAgLIAMoAoABIgpBhAFPBEAgChAICyADQbOBwABBDhAHNgKAASADIAcgBRAHNgKEASAFBEAgByAFENMCCyADQdwAaiADQdQAaiADQYABaiADQYQBahDtASADLQBcDQIgAygChAEiBUGEAU8EQCAFEAgLIAMoAoABIgVBhAFJDQAgBRAICwJAIAIQBiIFRSAFQf///wdGcg0AIANBjILAAEEFEAc2AoABIANBkYLAAEEHEAc2AoQBIANB3ABqIANB1ABqIANBgAFqIANBhAFqEO0BIAMtAFwNAyADKAKEASIFQYQBTwRAIAUQCAsgAygCgAEiBUGEAUkNACAFEAgLIAMgA0HQAGogA0HUAGoQ1gI2AlggAyADQdgAahCAAzYCeCADQYEBNgJ8IANBhAFqIAsQdCADIAMoAogBIgUgAygCjAEQBzYCgAEgAygChAEiCwRAIAUgCxDTAgsgA0EIaiADQfgAaiADQfwAaiADQYABahD6ASADQdwAaiADKAIIIAMoAgxBmILAABCYASADKAJgIQUgAygCXCILQQJHDQMgBEECNgIAIAQgBTYCBCADKAJYIgRBhAFPBEAgBBAICyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFPBEAgBBAICyAJQYCAgIB4ckGAgICAeEcEQCAMIAkQ0wILIAhBgICAgHhyQYCAgIB4RwRAIA0gCBDTAgsgAkGEAU8EQCACEAgLIAMoAoABIgJBhAFPBEAgAhAICyADKAJ8IgJBhAFPBEAgAhAICyADKAJ4IgJBhAFJDQcgAhAIDAcLIAQgAygCYEH8gcAAEJcBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBTwRAIAQQCAsgBUUNBCAHIAUQ0wIMBAsgBCADKAJgQeyBwAAQlwEgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQMgBBAIDAMLIAQgAygCYEGogsAAEJcBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0CIAQQCAwCCyAEIAMpAmQ3AgggBEEYaiADQfQAaigCADYCACAEQRBqIANB7ABqKQIANwIAIAQgBTYCBCAEIAs2AgAgAygCWCIEQYQBTwRAIAQQCAsgAygCVCIEQYQBTwRAIAQQCAsgAygCUCIEQYQBTwRAIAQQCAsgCUGAgICAeHJBgICAgHhHBEAgDCAJENMCCyAIQYCAgIB4ckGAgICAeEcEQCANIAgQ0wILIAJBhAFPBEAgAhAICyADKAKAASICQYQBTwRAIAIQCAsgAygCfCICQYQBTwRAIAIQCAsgAygCeCICQYQBSQ0DIAIQCAwDCyAEIAMpAmg3AgwgBEEUaiADQfAAaikCADcCACAEIAU2AgggBCAHNgIEIAQgDzYCAAwBCyADKAJUIgRBhAFPBEAgBBAICyADKAJQIgRBhAFJDQAgBBAICyAJQYCAgIB4ckGAgICAeEcEQCAMIAkQ0wILIAhBgICAgHhyQYCAgIB4RwRAIA0gCBDTAgsgAkGEAUkNACACEAgLIANBkAFqJAAgASABKAIAQQFrNgIAAn8gBigCBCIBQQJGBEAgBigCCAwBCyAGQThqIAZBHGooAgA2AgAgBkEwaiAGQRRqKQIANwMAIAZBKGogBkEMaikCADcDACAGIAYpAgQ3AyAgBkEgahCcASEOQQALIQIgACABQQJHNgIIIAAgDjYCBCAAIAI2AgAgBkFAayQADwsQ7wIACxDwAgALphEBDX8jAEFAaiIHJAACQCABBEAgASgCACIEQX9GDQEgASAEQQFqNgIAIAdBBGohBSABQQhqIQ4jAEGQAWsiAyQAIAJFBEAQJiECCyACEAAhBCACEAEhBiADQShqIAIQAiADKAIoIQsgAygCLCEJIANBIGogAhADIAMoAiAhDCADKAIkIQogAhAEIQggA0ECIAZBAEcgBkH///8HRhs6AE4gAyAEOgBNIAMgBEH///8HRzoATCADIAo2AkggAyAMNgJEIAMgCkGAgICAeCAMGyIKNgJAIAMgCTYCPCADIAs2AjggAyAJQYCAgIB4IAsbIgk2AjQgA0ECIAhBAEcgCEH///8HRhs6AE8gA0HcAGoiCCAOLQAoIANBNGoQaCADKAJkIQQgAygCYCEGAkACQAJAAkACQAJAAkAgAygCXCIPQQJGBEAgAyAGNgJQIAMgBDYCVCADQYyCwABBBRAHNgKAASADQbiCwABBCBAHNgKEASAIIANB1ABqIANBgAFqIANBhAFqEO0BIAMtAFxFBEAgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFPBEAgBBAICyADQbiCwABBCBAHNgKAASADQRhqIAIQCUHxgsEALQAAGiADKAIcIQggAygCGCEEQQNBARDCAiIGRQ0CIAZBAmpBwoLAAC0AADoAACAGQcCCwAAvAAA7AAAgBEUgCEGAgICAeEZyDQMgBkEDENMCDAQLIAUgAygCYEGog8AAEJcBIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBSQ0EIAQQCAwECyAFIAMpAmg3AgwgBUEUaiADQfAAaikCADcCACAFIAQ2AgggBSAGNgIEIAUgDzYCAAwFC0EBQQMQrQIAC0EDIQggBiEECyADIAQgCBAHNgKEASAIBEAgBCAIENMCCyADQdwAaiADQdQAaiADQYABaiADQYQBahDtAQJAAkACQCADLQBcRQRAIAMoAoQBIgRBhAFPBEAgBBAICyADKAKAASIEQYQBTwRAIAQQCAsCQCACEAoiBEUgBEH///8HRnINACADQaSBwABBCBAHNgKAASADQayBwABBBxAHNgKEASADQdwAaiADQdQAaiADQYABaiADQYQBahDtASADLQBcDQIgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFPBEAgBBAICyADQbOBwABBDhAHNgKAASADQcOCwABBBRAHNgKEASADQdwAaiADQdQAaiADQYABaiADQYQBahDtASADLQBcDQMgAygChAEiBEGEAU8EQCAEEAgLIAMoAoABIgRBhAFJDQAgBBAICyADQRBqIAIQCwJAIAMoAhAiBkUNACAD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CGoiBSABQThqKAIANgIAIAFBGGoiBiABQSxqKAIANgIAIAEgASkCMDcDACABIAEpAiQ3AxAgAkGEAU8EQCACEAgLIARBATYCACAEIAEpAxA3AgQgBCABKQMANwIQIARBDGogBigCADYCACAEQRhqIAUoAgA2AgALIAFB4ABqJAAMAQtBoLDAAEE3IAFBEGpBkLDAAEGkscAAEM8BAAsgAygCGCEEAkAgAygCFCIBQQJGBEAgAyAENgIQIwBBoAFrIgEkACABIANBEGoiAjYCECABQQhqIAJBChD9ASABKAIMIQICQAJAAkAgAAJ/AkAgASgCCEUEQCABQRRqIAIQ3gEgAUEgaiABKAIYIgIgASgCHBCSASABLQAgDQEgACABKQMoNwMIIABBIGogAUFAaykDADcDACAAQRhqIAFBOGopAwA3AwAgAEEQaiABQTBqKQMANwMAQQAMAgsgASACNgJcIAFBAjYCJCABQdyxwAA2AiAgAUICNwIsIAEgAUHcAGqtQoCAgIDQCYQ3A4ABIAEgAUEQaq1CgICAgOAJhDcDeCABIAFB+ABqIgI2AiggAUHoAGogAUEgaiIFEJEBIAFBADYCgAEgAUKAgICAEDcCeCABQQM6AEAgAUEgNgIwIAFBADYCPCABQfivwAA2AjggAUEANgIoIAFBADYCICABIAI2AjRBoLLAACAFEM0BDQMgAUHQAGoiAiABQYABaigCADYCACABIAEpAng3A0ggASkCbCEHIAEoAmghBSABKAJcIgZBhAFPBEAgBhAICyAAIAc3AgwgACAFNgIIIABCATcDACAAIAEpA0g3AhQgAEEcaiACKAIANgIADAILIAEgAS0AIToAWyABQQI2AnwgAUHAssAANgJ4IAFCAjcChAEgASABQdsAaq1CgICAgPAJhDcDcCABIAFBEGqtQoCAgIDgCYQ3A2ggASABQegAaiIFNgKAASABQdwAaiABQfgAaiIGEJEBIAFBADYCcCABQoCAgIAQNwJoIAFBAzoAmAEgAUEgNgKIASABQQA2ApQBIAFB+K/AADYCkAEgAUEANgKAASABQQA2AnggASAFNgKMAUGgssAAIAYQzQENAiAAIAEpAmg3AhQgAEEcaiABQfAAaigCADYCACAAQRBqIAFB5ABqKAIANgIAIAAgASkCXDcCCCAAQQA2AgRBAQs2AgAg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KAIIIQQgAkEIaiAAIAAoAgAoAgQRAQAgAyACKAIIIAIoAgwgASAEKAIYEQgACyACQRBqJAALdAEDfyMAQRBrIgIkAAJ/IAAoAgQiA0UEQCACIAAgACgCACgCBBEBACACKAIAIAEgAigCBCgCDBEAAAwBCyAAKAIIIQQgAkEIaiAAIAAoAgAoAgQRAQAgAyACKAIIIAIoAgwgASAEKAIYEQgACyACQRBqJAALcwEEfyAAQQRqKAIAIQMgACgCAEEAOgAAAkAgAygCACIBKAIAIgBFDQAgAUEEaigCACIBKAIAIgIEQCAAIAIRBgALIAEoAgQiAkUNACABKAIIIQQgACACENMCCyADKAIAIgBBuMvAADYCBCAAQQE2AgBBAQtsAQF/IwBBIGsiAiQAIAFBAEgEQCACQQA2AhggAkEBNgIMIAJBiM7AADYCCCACQgQ3AhAgAkEIakG4z8AAEPABAAsgAEIANwMIIABBGGpCADcDACAAQRBqQgA3AwAgACABrTcDACACQSBqJAALagIBfwF+IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0ECNgIMIANB9OvAADYCCCADQgI3AhQgA0KAgICAkAwiBCADQQRqrYQ3AyggAyAEIAOthDcDICADIANBIGo2AhAgA0EIaiACEPABAAtqAgF/AX4jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQI2AgwgA0GQ58AANgIIIANCAjcCFCADQoCAgICQDCIEIAOthDcDKCADIAQgA0EEaq2ENwMgIAMgA0EgajYCECADQQhqIAIQ8AEAC2oCAX8BfiMAQTBrIgMkACADIAA2AgAgAyABNgIEIANBAjYCDCADQZTswAA2AgggA0ICNwIUIANCgICAgJAMIgQgA0EEaq2ENwMoIAMgBCADrYQ3AyAgAyADQSBqNgIQIANBCGogAhDwAQALagIBfwF+IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0ECNgIMIANByOzAADYCCCADQgI3AhQgA0KAgICAkAwiBCADQQRqrYQ3AyggAyAEIAOthDcDICADIANBIGo2AhAgA0EIaiACEPABAAtnACMAQTBrIgAkAEHwgsEALQAABEAgAEECNgIMIABBhOHAADYCCCAAQgE3AhQgACABNgIsIAAgAEEsaq1CgICAgJAMhDcDICAAIABBIGo2AhAgAEEIakGk4cAAEPABAAsgAEEwaiQAC24BBH8gACgCAEEAOgAAAkAgACgCBCIDKAIAIgEoAgAiAEUNACABQQRqKAIAIgEoAgAiAgRAIAAgAhEGAAsgASgCBCICRQ0AIAEoAgghBCAAIAIQ0wILIAMoAgAiAEG4y8AANgIEIABBATYCAEEBC1YBAn4CQCACQcAAcUUEQCACRQ0BQgAgAkE/ca0iBIYgAUEAIAJrQT9xrYiEIQMgASAEhiEBDAELIAEgAkE/ca2GIQNCACEBCyAAIAE3AwAgACADNwMIC1wBA38jAEEQayICJAAgAkEIaiABEBMgAigCCCIEBEAgAigCDCEDIAAgBDYCBCAAIAM2AgggACADNgIAIAFBhAFPBEAgARAICyACQRBqJAAPC0GR2sAAQRUQ7gIAC2sBAX8jAEEQayIDJABB/ILBACgCAEECRwRAEOUBCyADQQhqQfSCwQAoAgAgAUGcnsAAQfiCwQAoAgAoAhQRBQAgAygCCCIBIAIgAygCDCICKAIgEQEAIAAgAjYCBCAAIAE2AgAgA0EQaiQAC1oBBX8CQCAAKAIEIgFFDQAgACgCCCIDKAIAIgIEQCABIAIRBgALIAMoAgQiAkUNACADKAIIIQQgASACENMCCyAAKAIMIgEEQCAAKAIQIAEQ0wILIABBGBDTAgtiAQF/IwBBMGsiACQAIABB3gA2AgwgAEGA38AANgIIIABBATYCFCAAQZDmwAA2AhAgAEIBNwIcIAAgAEEIaq1CgICAgNAZhDcDKCAAIABBKGo2AhggAEEQakH038AAEPABAAtUAQF/IwBBIGsiAiQAIAJBATYCBCACQbDSwAA2AgAgAkIBNwIMIAIgAK1CgICAgNAThDcDGCACIAJBGGo2AgggASgCFCABKAIYIAIQdSACQSBqJAALVQECfwJAIAAoAhBBAUcNACAAKAIUIgFBADoAACAAKAIYIgJFDQAgASACENMCCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgAEEgENMCCwtTAQV/AkAgACgCBCIBRQ0AIAAoAggiAygCACICBEAgASACEQYACyADKAIEIgJFDQAgAygCCCEEIAEgAhDTAgsgACgCDCIBBEAgACgCECABENMCCwuiBwEKfyMAQSBrIgQkACAEQQE6AAsgBEH0gsEANgIMIAQgBEEfajYCGCAEIARBDGo2AhQgBCAEQQtqNgIQIARBEGohByMAQSBrIgIkAEH8gsEAKAIAIQECQAJAAkACQANAAkACQAJAAkAgAUEDcSIDQQFrDgMBBQIACyAHDQILEO4BIQVB/ILBACACQQhqIANyIghB/ILBACgCACIAIAAgAUYiBhs2AgAgAiAFNgIIIAIgASADazYCDCACQQA6ABACQAJAIAZFBEBBACADayEFA0AgACIBQQNxIANHDQICQCACKAIIIgBFDQAgACAAKAIAIgBBAWs2AgAgAEEBRw0AIAIoAggQ4wELEO4BIQZB/ILBACAIQfyCwQAoAgAiACAAIAFGIgkbNgIAIAJBADoAECACIAY2AgggAiABIAVqNgIMIAlFDQALCyACLQAQRQRAA0AjAEEQayIDJABBoIfBACgCACIBRQRAELYBQaCHwQAoAgAhAQsgASABKAIAIgBBAWo2AgACQAJAIABBAE4EQCABRQ0BIAEgASgCACIAQQFrNgIAIAMgATYCDCAAQQFGBEACQCADQQxqKAIAIgAoAhBBAUcNACAAKAIUIgFBADoAACAAKAIYIgVFDQAgASAFENMCCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgAEEgENMCCwsgA0EQaiQADAILAAsQ4QEACyACLQAQRQ0ACwsgAigCCCIARQ0BIAAgACgCACIAQQFrNgIAIABBAUcNASACKAIIEOMBDAELIAIoAggiAEUNACAAIAAoAgAiAEEBazYCACAAQQFHDQAgAigCCBDjAQtB/ILBACgCACEBDAILA0AMAAsAC0H8gsEAIAFBAWpB/ILBACgCACIAIAAgAUYbNgIAIAAgAUcgACEBDQALIAdBtMvAACgCABEDACEBQfyCwQAoAgAhAEH8gsEAQQJBACABGzYCACACIABBA3EiATYCBCABQQFHDQEgAEEBayIARQ0AA0AgACgCACEDIABBADYCACADRQ0DIAAoAgQgAEEBOgAIIAMgAygCACIAQQFrNgIAIABBAUYEQCADEOMBCyIADQALCyACQSBqJAAMAgsgAkEANgIIIwBBEGsiACQAIABBuNrAADYCDCAAIAJBBGo2AgggAEEIakGo2sAAIABBDGpBqNrAACACQQhqQbTbwAAQkwEAC0Gk28AAENkCAAsgBEEg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IAEgAhCZARogACACIANqNgIIQQALswMBBn8jAEEQayICJABB8oLBAC0AAEEDRwRAIAJBAToACyACIAJBC2o2AgwgAkEMaiEAIwBBIGsiASQAAkACQAJAAkACQAJAAkBB8oLBAC0AAEEBaw4DAgQBAAtB8oLBAEECOgAAIAAoAgAiAC0AACAAQQA6AABFDQIjAEEgayIAJAACQAJAAkBBvIPBACgCAEH/////B3EEQEGMh8EAKAIADQELQbCDwQAoAgANAUG4g8EAKAIAIQNBuIPBAEGEo8AANgIAQbSDwQAoAgAhBEG0g8EAQQE2AgACQCAERQ0AIAMoAgAiBQRAIAQgBREGAAsgAygCBCIFRQ0AIAMoAggaIAQgBRDTAgsgAEEgaiQADAILIABBADYCGCAAQQE2AgwgAEHo4cAANgIIIABCBDcCECAAQQhqQYTiwAAQ8AELAAtB8oLBAEEDOgAACyABQSBqJAAMBAsgAUEANgIYIAFBATYCDCABQcijwAA2AggMAgtB3KTAABDZAgALIAFBADYCGCABQQE2AgwgAUGIpMAANgIICyABQgQ3AhAgAUEIakG4hcAAEPABAAsLIAJBEGokAAtNAQF/QfGCwQAtAAAaQQVBARDCAiIBRQRAQQFBBRCtAgALIAFBBGpBrJXAAC0AADoAACABQaiVwAAoAAA2AAAgACABNgIAIABBBTYCBAtLACABKAIAIAIoAgAgAygCABA0IQFBkIPBACgCACECQYyDwQAoAgAhA0GMg8EAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALOAACQCABaUEBR0GAgICAeCABayAASXINACAABEBB8YLBAC0AABogACABEMICIgFFDQELIAEPCwALQgEBfyMAQSBrIgMkACADQQA2AhAgA0EBNgIEIANCBDcCCCADIAE2AhwgAyAANgIYIAMgA0EYajYCACADIAIQ8AEAC0kBAX8gASgCACACQf8BcRAxIQFBkIPBACgCACECQYyDwQAoAgAhA0GMg8EAQgA3AgAgACACIAEgA0EBRiIBGzYCBCAAIAE2AgALPgEBfyMAQRBrIgIkACACQQhqIAEgASgCACgCBBEBACACKAIMIQEgACACKAIINgIAIAAgATYCBCACQRBqJAALPwEDfwJAIAAoAgQiAkUNACAAKAIIIgAoAgAi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DwsgACABEMgBDwsgACABEMcBCzIBAX8gASgCHCICQRBxRQRAIAJBIHFFBEAgACABENcCDwsgACABEMgBDwsgACABEMcBCzcBAX8jAEEgayIBJAAgAUEANgIYIAFBATYCDCABQYD8wAA2AgggAUIENwIQIAFBCGogABDwAQALOwEBf0EBIQICQCAAIAEQmgENACABKAIUQf3lwABBAiABKAIYKAIMEQIADQAgAEEEaiABEJoBIQILIAILOAEBfyABKAIUIQIgASgCGCgCDCEBIAAtAABFBEAgAkHQxcAAQQEgARECAA8LIAJBAUEAIAERAgALOABB8YLBAC0AABpBBEEEEMICIgFFBEBBBEEEEPYCAAsgAUEANgIAIABBqMrAADYCBCAAIAE2AgALJAEBfyAAKAIAIgAgAEEfdSICcyACa60gAEF/c0EfdiABEJsBCyEAAkAgAARAIAAoAgANASAAQTgQ0wIPCxDvAgALEPACAAsiAAJAIAAEQCAAKAIAQX9GDQEgAC0AMA8LEO8CAAsQ8AIACx8AAkAgAARAIAAoAgBBf0YNAUEBDwsQ7wIACxDwAgALKAAgASAAKAIALQAAQQJ0IgBB8KLAAGooAgAgAEHcosAAaigCABC0AgslACAARQRAQd/ZwABBMhDuAgALIAAgAiADIAQgBSABKAIQEQsACyMAIABFBEBB39nAAEEyEO4CAAsgACACIAMgBCABKAIQEQUACyMAIABFBEBB39nAAEEyEO4CAAsgACACIAMgBCABKAIQERsACyMAIABFBEBB39nAAEEyEO4CAAsgACACIAMgBCABKAIQER0ACyMAIABFBEBB39nAAEEyEO4CAAsgACACIAMgBCABKAIQEQgACyMAIABFBEBB39nAAEEyEO4CAAsgACACIAMgBCABKAIQER8ACyYBAn8gACgCACIBQYCAgIB4ckGAgICAeEcEQCAAKAIEIAEQ0wILCyMAIAFBsZ/AAEGln8AAIAAoAgAtAAAiABtBD0EMIAAbELQCCygAIABBDGpBACACQrqzz+Xsl/+uZ1EbQQAgAULR4qGEvZLmhOoAURsLKQAgAEEMakEAIAJC7bqtts2F1PXjAFEbQQAgAUL4gpm9le7Gxbl/URsLJAAgAC0AAEUEQCABQZDNwABBHRC0Ag8LIAFBrc3AAEEmELQCCyEAIABFBEBB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AEEFELQCCw4AIAFBuLbAAEESELQCCwwAIAAoAgAgARDNAQsNACAAQYzLwAAgARB1CwwAIAAoAgAgARC5AgsMACAAKAIAIAEQ1wILCQAgACABEEYACw0AQeDbwABBGxDuAgALDgBB+9vAAEHPABDuAgALDQAgAEHA3cAAIAEQdQsMACAAIAEpAgA3AwALDQAgAEH84sAAIAEQdQsOACABQeziwABBBRC0AgsOACABQfHiwABBCxC0AgsaACAAIAFBrIPBACgCACIAQbYBIAAbEQEAAAsNACAAQcTowAAgARB1CwoAIAIgACABEGsLCQAgAEEANgIACwkAIAAgARDUAQsJACAAIAE2AgALCQAgACABEKYBCwkAIAAgARCEAQsJACAAKAIAEC8LCQAgACgCABAnCwkAIAAoAgAQQwsHACAAELUCC+4FAgZ/AX4CQCMAQdAAayICJAAgAkEANgIoIAJCgICAgBA3AiAgAkEDOgBMIAJBIDYCPCACQQA2AkggAkHMrcAANgJEIAJBADYCNCACQQA2AiwgAiACQSBqNgJAIwBBIGsiAyQAQQEhAAJAIAJBLGoiBUHU4MAAQQwQtAINACABKAIIIAUQzQENACADQRBqIAEoAgAiBCABKAIEQQxqIgEoAgARAQACfyADKQMQQviCmb2V7sbFuX9RBEBBBCEAIAQgAykDGELtuq22zYXU9eMAUQ0BGgsgAyAEIAEoAgARAQBBACEAIAMpAwBC0eKhhL2S5oTqAFINASADKQMIQrqzz+Xsl/+uZ1INAUEIIQAgBEEEagsgACAEaigCACEEKAIAIQEgBUHg4MAAQQIQtAJFBEBBACEAIAUgASAEELQCRQ0BC0EBIQALIANBIGokACAARQRAIAJBGGogAkEoaigCACIDNgIAIAIgAikCICIINwMQIAinIgEgA2tBCU0EQCACQRBqIANBChC7ASACKAIYIQMgAigCECEBCyACKAIUIgAgA2oiBEHkrcAAKQAANwAAIARBCGpB7K3AAC8AADsAACACIANBCmoiAzYCGCACQQhqEBQiBRAVIAIoAgghBiACKAIMIgQgASADa0sEQCACQRBqIAMgBBC7ASACKAIQIQEgAigCGCEDIAIoAhQhAAsgACADaiAGIAQQmQEaIAIgAyAEaiIDNgIYIAEgA2tBAU0EQCACQRBqIANBAhC7ASACKAIYIQMgAigCFCEACyAAIANqQYoUOwAAIAIgA0ECaiIDNgIYAkACQCADIAIoAhAiB08EQCAAIQEMAQsgA0UEQEEBIQEgACAHENMCDAELIAAgB0EBIAMQrwIiAUUNAQsgASADEBYgBARAIAYgBBDTAgsgBUGEAU8EQCAFEAgLIAJB0ABqJAAMAgtBASADEK0CAAtBgK7AAEE3IAJBEGpB8K3AAEGEr8AAEM8BAAsLAgALC7GBARkAQYCAwAALoQdhc3NlcnRpb24gZmFpbGVkOiBtaW4gPD0gbWF4L3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9jb3JlL3NyYy9jbXAucnMAHAAQAEcAAACKAwAACQAAAEVycm9yAAAAAAAAAAQAAAAEAAAABQAAAFJhbmdlRXJyb3JvYmoAAAABAAAAAAAAAG5vdGF0aW9uY29tcGFjdGNvbXBhY3REaXNwbGF5Y3JhdGVzL2ZpeGVkLXBvaW50LXdhc20vc3JjL2Zvcm1hdHRpbmcucnMAAMEAEAApAAAAIgAAAA0AAADBABAAKQAAACEAAAANAAAAc3R5bGVwZXJjZW50wQAQACkAAAAtAAAADgAAAMEAEAApAAAAJQAAAA0AAABjdXJyZW5jeVVTRHNob3J0Y3VycmVuY3lEaXNwbGF5AMEAEAApAAAATgAAAA0AAADBABAAKQAAAFYAAAAOAAAAwQAQACkAAABLAAAADQAAAMEAEAApAAAASgAAAA0AAADBABAAKQAAAEQAAAAJAAAAwQAQACkAAABDAAAACQAAAG1heGltdW1GcmFjdGlvbkRpZ2l0cwAAAMEAEAApAAAAXwAAAA0AAABtaW5pbXVtRnJhY3Rpb25EaWdpdHNyb3VuZGluZ01vZGUAAADBABAAKQAAAG8AAAANAAAAdXNlR3JvdXBpbmcAwQAQACkAAABzAAAADQAAAGVuLVVTAAAAwQAQACkAAABnAAAADQAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jb25zb2xlX2Vycm9yX3BhbmljX2hvb2stMC4xLjcvc3JjL2xpYi5ycwBIAhAAbwAAAJUAAAAOAAAAL3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9jb3JlL3NyYy9jb252ZXJ0L21vZC5ycwDIAhAATwAAAB4DAAAJAAAAY3JhdGVzL2ZpeGVkLXBvaW50LXdhc20vc3JjL2xpYi5ycwAAKAMQACIAAACDAAAAEgAAACgDEAAiAAAAmwAAABIAAAAoAxAAIgAAACMBAAASAAAABgAAAAwAAAAEAAAABwAAAAgAAAAJAAAAKAMQACIAAACBAQAADABBrIfAAAvlAQEAAAAKAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAA6wMQAEsAAAAGCgAADgAAADB4AAAoAxAAIgAAAI8BAAA8AAAAAQAAAAAAAABJbnZhbGlkIEJpZ0ludDogZAQQABAAAAARAAAADAAAAAQAAAASAAAAEwAAAAkAQZyJwAAL6QMBAAAAFAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAANsEEABLAAAABgoAAA4AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzADgFEABnAAAAJgAAAAEAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9maXhlZF9wb2ludC5ycwAAsAUQAG4AAABLAAAATwAAABUAAAAEAAAABAAAABYAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlALAFEABuAAAAzQAAAEYAAAABAAAAAAAAAAEAQa+NwAALAYAAQc+NwAAL1giAEgAAAAAAAAD/////////////////////////////////////////fxIAAAAAAAAARml4ZWRQb2ludCAgaXMgdG9vIGxhcmdlIHRvIGNvbnZlcnQgdG8gSTI1Ni4ABxAACwAAAAsHEAAhAAAAsAUQAG4AAACpAAAADQAAAEZhaWxlZCB0byBjb252ZXJ0IEZpeGVkUG9pbnQgIHRvIEkyNTYuAABMBxAAHQAAAGkHEAAJAAAAsAUQAG4AAACsAAAAFAAAAEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvIHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHR5cGU6CiAgICB2YWx1ZTogCiAgICBVbmRlcmx5aW5nIHJhbmdlOiAgdG8gCgCUBxAARwAAANsHEAAXAAAA8gcQAAQAAAD2BxAAAQAAALAFEABuAAAAKQAAAA0AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9tYXRoLnJzACgIEABnAAAAQgAAAE8AAAAoCBAAZwAAAEEAAAAsAAAAKAgQAGcAAABAAAAADgAAAENhbm5vdCBkaXZpZGUgYnkgemVyby4AAMAIEAAWAAAAKAgQAGcAAAA2AAAADQAAAEZpeGVkUG9pbnQgb3BlcmF0aW9uIG92ZXJmbG93ZWQ6ICAqICAvIADwCBAAIQAAABEJEAADAAAAFAkQAAMAAAAoCBAAZwAAAD8AAAAaAAAAKAgQAGcAAAAxAAAALAAAACgIEABnAAAAMAAAAAoAAAAoCBAAZwAAACYAAAANAAAAKAgQAGcAAAAvAAAAFgAAACgIEABnAAAAdQAAABUAAAAoCBAAZwAAAF0AAAARAAAARXJyb3Jhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAApQkQAB0AAABGaXhlZFBvaW50KCnMCRAACwAAANcJEAABAAAAYmlnaW50bnVtYmVyXywtKzB4MGIwbxJlAQAAAAAAAAD/CRAAAQAAAC9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvY29yZS9zcmMvc3RyL3BhdHRlcm4ucnMAEAoQAE8AAADIBQAAFAAAABAKEABPAAAAyAUAACEAAAAQChAATwAAALwFAAAhAAAARXJyb3IAAAAQChAATwAAAEwEAAAkAAAAMC4wLjhlLi9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvY29yZS9zcmMvY29udmVydC9tb2QucnMAAK8KEABPAAAAHgMAAAkAAAAbAAAADAAAAAQAAAAcAAAAHQAAAAkAQbCWwAALjQIBAAAAHgAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAG8LEABLAAAABgoAAA4AAABjcmF0ZXMvZml4ZWQtcG9pbnQtd2FzbS9zcmMvdXRpbHMucnPMCxAAJAAAAFQAAAA9AAAAAQAAAAAAAAABAAAAAAAAAMwLEAAkAAAAWQAAAA4AAAABAAAAAAAAAK0KEAABAAAAzAsQACQAAACDAAAANgBB35jAAAveA4AfAAAABAAAAAQAAAAWAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZS9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3ZhbHVlLnJzAJsMEABoAAAAjQAAAB4AAACbDBAAaAAAAIsAAAAiAAAARmFpbGVkIHRvIGNvbnZlcnQgdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdG8gVTI1NjogAAAkDRAANgAAAJsMEABoAAAAkAAAAAUAAAAAAAAA/////////////////////////////////////////39GYWlsZWQgdG8gY29udmVydCBVMjU2IHRvIHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHR5cGU6CiAgICBVMjU2IHZhbHVlOiAKICAgIFVuZGVybHlpbmcgcmFuZ2U6ICB0byAKAJgNEABLAAAA4w0QABcAAAD6DRAABAAAAP4NEAABAAAAAQAAAAAAAAAgAAAADAAAAAQAAAAhAAAAIgAAAAkAQcicwAALlQMBAAAAIwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAIcOEABLAAAABgoAAA4AAABkZXNjcmlwdGlvbigpIGlzIGRlcHJlY2F0ZWQ7IHVzZSBEaXNwbGF5IAAAAAwAAAAEAAAAJAAAACAAAAAMAAAABAAAACUAAAAkAAAADA8QACYAAAAnAAAAKAAAACYAAAApAAAAKgAAABgAAAAEAAAAKwAAACoAAAAYAAAABAAAACwAAAArAAAASA8QAC0AAAAuAAAAKAAAAC8AAAApAAAAMAAAADEAAAAxAAAAMgAAADMAAAAzAAAANAAAAEVycm9ySW52YWxpZERpZ2l0SW50ZWdlck92ZXJmbG93AQAAAAAAAAA1AAAADAAAAAQAAAA2AAAANwAAAAkAQeifwAALmwMBAAAAOAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAACcQEABLAAAABgoAAA4AAABjYW5ub3Qgc2FtcGxlIGVtcHR5IHJhbmdlL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhbmQtMC44LjUvc3JjL3JuZy5yc50QEABbAAAAhgAAAAkAAABFcnJvckVtcHR5SW52YWxpZERpZ2l0UG9zT3ZlcmZsb3dOZWdPdmVyZmxvd1plcm8AAAAABAAAAAQAAAA5AAAAUGFyc2VJbnRFcnJvcmtpbmQAAAAFAAAADAAAAAsAAAALAAAABAAAAA0REAASERAAHhEQACkREAA0ERAAQYyjwAAL3QEBAAAAOwAAADwAAAA9AAAAT25jZSBpbnN0YW5jZSBoYXMgcHJldmlvdXNseSBiZWVuIHBvaXNvbmVkAACcERAAKgAAAG9uZS10aW1lIGluaXRpYWxpemF0aW9uIG1heSBub3QgYmUgcGVyZm9ybWVkIHJlY3Vyc2l2ZWx50BEQADgAAAAvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L3N0ZC9zcmMvc3luYy9vbmNlLnJzEBIQAEwAAACeAAAAMgBBkKXAAAvZBi9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3ZhbHVlLnJzRmFpbGVkIHRvIGNvbnZlcnQgdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdG8gdTEyODogAAD4EhAANgAAAJASEABoAAAAkAAAAAUAAABDYW5ub3QgZmxpcCBzaWduIG9mIHVuc2lnbmVkIHR5cGU6IABIExAAIwAAAJASEABoAAAAaQAAAA0AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzAIQTEABnAAAAJgAAAAEAAABhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAAPwTEAAdAAAAVW5pZm9ybUZpeGVkUG9pbnQ6Om5ld19pbmNsdXNpdmUgY2FsbGVkIHdpdGggaW52YWxpZCByYW5nZToKICAgIGxvdzogCiAgICBoaWdoOiAkFBAARQAAAGkUEAALAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvcm5nLnJzAACEFBAAZgAAACQAAAANAAAAAAAAAP////////////////////////////////////////9/EgAAAAAAAAA+AAAABAAAAAQAAAAWAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQCEFBAAZgAAAEkAAAA7AAAAhBQQAGYAAABNAAAAKgAAAFVuaWZvcm1GaXhlZFBvaW50OjpzYW1wbGUgY2FsbGVkIHdpdGggc2l6ZSB6ZXJvLoQVEAAwAAAAhBQQAGYAAABDAAAADQAAAAEAAAAAAAAAPwAAAAwAAAAEAAAAQAAAAEEAAAAJAEH0q8AAC/oBAQAAAEIAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAAAzFhAASwAAAAYKAAAOAAAAAAAAAAQAAAAEAAAAQwAAAEVycm9yb2JqAAAAAAQAAAAEAAAAOgAAAE9iamVjdAAAAAAAAAAARXJyb3IARAAAAAwAAAAEAAAARQAAAEYAAABHAAAACgpTdGFjazoKCgBB+K3AAAuVAgEAAABIAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAANxcQAEsAAAAGCgAADgAAAEkAAAAMAAAABAAAAEoAAABLAAAATAAAAAAAAAAEAAAABAAAAFAAAABFcnJvcm9iagAAAAAEAAAABAAAAFEAAABPYmplY3QAAAAAAAAEAAAABAAAAFIAAABSYW5nZUVycm9yAABTAAAADAAAAAQAAABUAAAAVQAAAEwAQZiwwAAL9QIBAAAAVgAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAFcYEABLAAAABgoAAA4AAAABAAAAAAAAAEZhaWxlZCB0byBwYXJzZSBCaWdJbnQ6IAogICAgAAAAvBgQABgAAADUGBAABQAAAGNyYXRlcy9kZWx2LWNvcmUvc3JjL2NvbnZlcnNpb25zLnJzAOwYEAAjAAAAhAAAAA4AAADsGBAAIwAAAIQAAAAbAAAASW52YWxpZCBpbnQyNTY6IDAZEAAQAAAA1BgQAAUAAABFcnJvck5vbmUAAAAAAAAABAAAAAQAAABYAAAAU29tZQEAAAAAAAAAWgAAAAwAAAAEAAAAWwAAAFwAAABMAEGYs8AAC7ECAQAAAF0AAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAADXGRAASwAAAAYKAAAOAAAACiAgICBMb2NhdGlvbjogAAEAAAAAAAAANBoQAA8AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzAFQaEABnAAAAJgAAAAEAQe+1wAALAoACAEGQtsAAC40OYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAAAQGxAAHQAAAFRyeUZyb21CaWdJbnRFcnJvckV4cG9uZW50ICBpcyB0b28gc21hbGwgZm9yIFUyNTY6IABKGxAACQAAAFMbEAAYAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvdXRpbHMucnN8GxAAaAAAADYAAAAJAAAAVW5leHBlY3RlZCBjaGFyYWN0ZXIgaW4gVTI1Njog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biBzdHJpbmdudW1iZXIgZG9lcyBub3QgZml0IGluIDI1Ni1iaXQgaW50ZWdlclVuc2lnbmVkIGludGVnZXIgY2FuJ3QgYmUgY3JlYXRlZCBmcm9tIG5lZ2F0aXZlIHZhbHVl0yYQADUAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzZGl2aXNpb24gYnkgemVybwB3JxAAEAAAADBhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAkScQAB0AAAAQJxAAZwAAACYAAAABAAAAECcQAGcAAAArAAAAAQBB4M/AAAvRAmNvdWxkIG5vdCBpbml0aWFsaXplIHRocmVhZF9ybmc6IAAAAOAnEAAhAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhbmQtMC44LjUvc3JjL3JuZ3MvdGhyZWFkLnJzAAwoEABjAAAASAAAABEAAAAAAAAABAAAAAQAAACcAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhbmRfY2hhY2hhLTAuMy4xL3NyYy9ndXRzLnJzAAQAAACQKBAAYwAAAOYAAAAFAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheQEAQbzSwAALlREEAAAABAAAAJ4AAAAAAAAABAAAAAQAAACfAAAAngAAADgpEACgAAAAoQAAAKIAAACgAAAAowAAAEVycm9yZ2V0cmFuZG9tOiB0aGlzIHRhcmdldCBpcyBub3Qgc3VwcG9ydGVkZXJybm86IGRpZCBub3QgcmV0dXJuIGEgcG9zaXRpdmUgdmFsdWV1bmV4cGVjdGVkIHNpdHVhdGlvblNlY1JhbmRvbUNvcHlCeXRlczogaU9TIFNlY3VyaXR5IGZyYW1ld29yayBmYWlsdXJlUnRsR2VuUmFuZG9tOiBXaW5kb3dzIHN5c3RlbSBmdW5jdGlvbiBmYWlsdXJlUkRSQU5EOiBmYWlsZWQgbXVsdGlwbGUgdGltZXM6IENQVSBpc3N1ZSBsaWtlbHlSRFJBTkQ6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWRXZWIgQ3J5cHRvIEFQSSBpcyB1bmF2YWlsYWJsZUNhbGxpbmcgV2ViIEFQSSBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzIGZhaWxlZHJhbmRTZWN1cmU6IFZ4V29ya3MgUk5HIG1vZHVsZSBpcyBub3QgaW5pdGlhbGl6ZWROb2RlLmpzIGNyeXB0byBDb21tb25KUyBtb2R1bGUgaXMgdW5hdmFpbGFibGVDYWxsaW5nIE5vZGUuanMgQVBJIGNyeXB0by5yYW5kb21GaWxsU3luYyBmYWlsZWROb2RlLmpzIEVTIG1vZHVsZXMgYXJlIG5vdCBkaXJlY3RseSBzdXBwb3J0ZWQsIHNlZSBodHRwczovL2RvY3MucnMvZ2V0cmFuZG9tI25vZGVqcy1lcy1tb2R1bGUtc3VwcG9ydAAAAAAAAAQAAAAEAAAApQAAAGludGVybmFsX2NvZGUAAAAAAAAACAAAAAQAAACmAAAAZGVzY3JpcHRpb251bmtub3duX2NvZGUAAAAAAAQAAAAEAAAApwAAAG9zX2Vycm9yVW5rbm93biBFcnJvcjogACgsEAAPAAAAT1MgRXJyb3I6IAAAQCwQAAoAAABjcnlwdG8AAHkpEACgKRAAxikQANopEAAMKhAAOSoQAGgqEACJKhAApioQAHkpEAB5KRAA0yoQAAQrEAAxKxAAYSsQACcAAAAmAAAAFAAAADIAAAAtAAAALwAAACEAAAAdAAAALQAAACcAAAAnAAAAMQAAAC0AAAAwAAAAZQAAAHJldHVybiB0aGlzY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWRgdW53cmFwX3Rocm93YCBmYWlsZWQAAAAAAAAEAAAABAAAALQAAAABAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL29uY2VfY2VsbC0xLjE5LjAvc3JjL2ltcF9zdGQucnMAAAA8LRAAZQAAAKEAAAA2AAAAPC0QAGUAAACbAAAACQAAAEpzVmFsdWUoKQAAAMQtEAAIAAAAzC0QAAEAAABudWxsIHBvaW50ZXIgcGFzc2VkIHRvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFkIHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0cmVlbnRyYW50IGluaXRKLhAADgAAAC9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvY29yZS9zcmMvY2VsbC9vbmNlLnJzAAAAYC4QAE0AAAAjAQAAQgAAALcAAAAMAAAABAAAALgAAAC5AAAAugAAAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjYvc3JjL2RsbWFsbG9jLnJzYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZADYLhAAKQAAAKgEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA2C4QACkAAACuBAAADQAAAHVzZSBvZiBzdGQ6OnRocmVhZDo6Y3VycmVudCgpIGlzIG5vdCBwb3NzaWJsZSBhZnRlciB0aGUgdGhyZWFkJ3MgbG9jYWwgZGF0YSBoYXMgYmVlbiBkZXN0cm95ZWRzdGQvc3JjL3RocmVhZC9tb2QucnMA3i8QABUAAADzAgAAEwAAAGZhaWxlZCB0byBnZW5lcmF0ZSB1bmlxdWUgdGhyZWFkIElEOiBiaXRzcGFjZSBleGhhdXN0ZWQABDAQADcAAADeLxAAFQAAAMYEAAANAAAAcGFuaWNrZWQgYXQgOgptZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkYjAQABUAAAB3MBAADQAAAHN0ZC9zcmMvYWxsb2MucnOUMBAAEAAAAGMBAAAJAAAAY2Fubm90IG1vZGlmeSB0aGUgcGFuaWMgaG9vayBmcm9tIGEgcGFuaWNraW5nIHRocmVhZLQwEAA0AAAAc3RkL3NyYy9wYW5pY2tpbmcucnPwMBAAFAAAAIMAAAAJAAAAtwAAAAwAAAAEAAAAuwAAAAAAAAAIAAAABAAAALwAAAAA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") const wasmModule = new WebAssembly.Module(input); const wasmInstance = new WebAssembly.Instance(wasmModule, imports); diff --git a/packages/fixed-point-wasm/fixed_point_wasm_bg.wasm b/packages/fixed-point-wasm/fixed_point_wasm_bg.wasm index 22166b4c21cd834c561a115e8b5ad4dfe1c301f8..a7e8f163258ca79972c92099077f476199351e29 100644 GIT binary patch literal 196054 zcmeFa3w&MIUFUoDJ}

Bulnr`LWMQ+B!UnEbHY`sE^tvO+%@hdU6YQ?#I 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%0ACvIC+Ev(#2t@U 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 z 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

rVg*% z)%}nq2_I+8N+;abZ8 z7LLn=^A~^T*Z<_|=fC@l7l=3ypvH%d`Q=;av2f#bGCK_&#bfLElKSBjS7twUioIzb zVEJpG|L97lwwZfnnWmgCA`An)J%wlDbSb`Y(duxQJ3jOC2x+_A5zFRcks;)Hp$O^n zT;YN`J(r8_K3ewNn*j=LC1Z8xY_sG)QbFjnZ|jzj#BhnhZQ&k39L*HOVI?YglxakT zIu`8>`;6!XFd@nps-z!;Djg#=41pWhPcUS29~sK^@) zijf9w)Z4|Pj1|czF}GtOupYG>uc9=Cd~%pg)2wUE>$qt{mlD|u{}8i^?-xZKP{F*O zP|G!S8+mY57&%+=d=S)@l2`GAXljg0&qW3vvsV+|dZP@UJ{dgiNJ2V@0hp(QRji+! znLauC(eHM2pD$MEpY=2DcUGu!xX|Hhce{IE#AosrqO93Ihz~oevUMfuTX}#6t3VKA zWXCQpup()=-$V#oq(DzU+|!4#(XRfBf{=ST`f2@#TdePh2U zlnE_js-*FanJ0Whkh1tho|#?z9mPL?{{AWRXeGMc7w(Gfi)=}EZ~A5 zvk+0=THVTM;5MjZuA8PYf2M^Vb4|jWu5wOcjw_o*mQ7%e7>$(7ueo@bK$8sq{U?}vP3*o=4F-$WC9rB;f$6vc+~~0!sTXdYVaFm@< z8(Pj-tx32o(-CPw3KcH6XmV>mJ8?K82}^Pkh7*)-whEWv@{e+Jx-`6xOT(LV`D+uG zhEr+_v^0AC&Emj<@hSNgXtF>zvXZYX z=bgDzH?3+b4OZ5&gye^qd`MZ!o^ls>8-Hq9P%D=AL|G8536+R(}?V ztoPVt_5zjE`)z!?z{dKbY*?lZ#LMxj+2kTbzd_(D6@+qU$4c;SMV7`iRrMsK5QG3-3kc z%W)IfB|s`B4P^UiL5_>sVo`HH4ahv!1Awyzup{^8k}+2aaPAGVgt}%(FU5N8(7Y?$ z`C?ScnWWg$MLAc@PNzKG$YLc*vry?(S`kBZB!Z!auVnogyGuTyr`yCsv3o1#AyceQ zU8zLJLnfb^7)u7WO=3y1)l?Vvo5*?8`ZmgDKlHulpcoXt5r~BaeGC2x1Ct-VC`9bU z!t;P$Del)v35_tf%b@(At9lSlYL<&ad##J4muAFLkV?d0GL@+2n_fg`q7m$4HPW4h zvA_G=kN(yB*j=yV;LK_DC7afb*B?TP}o z{Lp{+p4`wC2eD}gj;E&BxI~vqi`D`v5CvEJw0o;nBreK_7226H)I`^sOrU_HmIbNL z;==w)sI?IcN9kW2OvvA(I{2R`kdjv*v6&eUkc}WVjwz6AdVq>%YdF2Z7HgVoLcF0p z)?}JO)sD3^9|ZqcEfBNU38tgk8jUM2Kc!8*_BJmkpCX1XxjsuQg)!urLl;&F;4ce6 zKzRV-+p&*s4UxT=WYMi50wh`H0jOzl3Y3H{zF_9*c?QK-sFnd-GJx)S&~*yBC4);W zfcxtu;G3AsmfZ_t9dAQaG?!;dF3%S8eDVUTCdDtY^H$$$V5Tl6%Ocp3IC>XLaSewQ zMGP_ZH4jYJ3n-1Ijc&qWf{Gj$3)0G>SqK0sbGD-hPgf#%S~D3|VzV2|B(f2az{Ylb zkvlJD13$9d%$930A3=1q~1;A44Jp}&U*DBC5_&ocp*w%=lc*e zX6%3bGI!J-=R+JPVd65}uQ1allL(?Qym*-U zQOCjpk>@IH8ZQj|eTH|$M!kjlC=WtTMtRvt+keDGq^&Q*I5BFZo#V&}-$IcoR;B|Ho{LX+u$l&Fc2$X$4jHj9*~G9PE%NljyS~%09db{g>w=HNU|&ekj#qd{FOR^Kb1jBcgzFCbl{DRT98+;h~yPkmop0x zhgO={Z6yy;awl6Nuei;oF0aljc9pzZ0+y0j+%E3dXlzDrBJFDaC870?DYSm%KmNrJ zU3~tJ%ydbl*7=YA;FsU~r}KaDpK<7}C$_W#C#7%l3(|+);jtzdfOX4z+1rcSBGfNN zH4P$T1UmBE&Bs585O=3d5VH|uW^;3E?^<$ zW;gwPI*;@ZrCv;g3J0;-8GnK=9&@u*Krmwt^8J`|UR)v;fY8qd8!6zt%uaS|I={v5 z$!}3jTvdK@kMhuT7e&d-Dao$oqQMqqy|qZo0=rN&yJkUDHir;o4-kNqW-UvzmSfE- zy_`oj=Flg6dsB<1W6%Be?>v9?um9V#KVwR?F!rGz`ph4#u)rz%*S+6!P8LjIY-x>{ zBoWG#$-h)2Iv-_%jY8oIKmKpu{l4$|?(h37%CyAXfJqIv^~l5)8$m$KX_?2eYH05n z_I35KXvch^&)MOc3BiOpO$sz4D7DnifG@YW%p`Mz^^MQO>l?KTH<;t;IEP$B8VVL9Nsb;3pS8j7^ zXc8jf|0NGdB*bYCKqxpFG7kWODjUH&46+W8WVs9=J>y|Yk;5hk;_JTPfTbLlbYTw| z*Xt@+U0mJr9OeP&!Bl`9F&o4^+SYP(K`Tn3iNkn1KmTrZ{$72R0g-~@-|Dia$FYH{re4rk0I2#^NyZ!^KM zdBKY^!Etl>eUdgf%kn8_SvmkdGmGHp$y5LB zuRiwi4__Qv*HVx))r3>ThqD8;+YCV36O!?kf+V_}t%;?e$$;r@%>#&VB2H6V5&0@- zMXWWQG`f5o^w zW_#QiS!3!8o@cS!vv4+sfB`tkZ&yQmZWq5M%pJchyO#zozs`-}6C*^jFg4c$Kz!oz zoH(B8C+|k~ip?hwQ_x%?!bAb8B~7K|ECj#C2hm^5+Kd2Pr`#CMG~kFHgDjVsvjQ+U zy=lM*YrL7<;zP!(u(l&Zv<-LY4m{(6tXSR{Fty*{D{+di@5nIsD9r18@8%R|Bg^%U zj5uCN+4q7YqwcGa8RPgIZ@KL5CS!av!C?V8$;8}_b)ED&r4BCQ3Ir|=mrdQ!Yg=^&)k>a?#J>2; z!A45{qGDGm`4wR6D|xQ7*ILCtNXbi*%6@E-^=_&h)sv`ru5lKe$p7V3yxH#?tN41K zogz1r02QC^wNw6Dt7sbg{^vjZ=g}Q{LzhtT$19e#SPQv@>rI z7dks1ardjB1V^X>Mv8!}1x9n=*+|p#s8-H>JU!h}X+!<`5idvbybAgzfz55dx%mxyc zpVv2GaQCxcNQ%9{DimX2XELb#ApmG`53t$n+ojfl%Bp9JARYmy+vVsWA(_qxI#Z*~ z0XehaGz#Q!o?h(+kOgOMmv->1fnYnRwgYHKj0Q&&c(*DJw%~5J4MZEQ>yyi|NiU${%3yR$3OpT*n#Y+a61$V@^ThpFDE3*GCgIp zLxCY+Oyt;SZv&iIR>oDf*O(cU(IvVCMpJO1MB+3X!zb5B~l z0n|2rvKMXjj=%Q$j=y>v#X0ezg?bxp!*tyNp$*eSs*QfLvNNSvY*6w#Hd> zr8TK8*q*_pV1f2~^w_~MCaHif7SUw>Od*RkfjdM7vHP2I8EsO@MTeJJ2hvyrxiuTv zx+ho85rrVcgXyIAzrz%^*9fSP#B zwd*YVWL5jB@6xtQZM)+@XrFH6wrl)cZ$s|)W0Pl2R|ed~MbBHgt`L<`R&d+JV!6=tV8X& z8(a%`BKF;bvFswsppUD-Z{znDgS&LOhU;Zt(hI0Xt~GWKOLNdSo!{U#PxYv=r=%%x z#4=7J3`GI^6y4cFVw>l*lZ*3bx^B8(8@hUVz>sAg+Um^l_ZFRHLT{HiuI-cr2Lx8M z=P^Dr@P((6GXvZ-t$mTUG5RUM<-ZFM$aZ2@+i%>-9y=mC&-Y0b=420N)AV*4cQ!UE zr{N(Lwy`<+hMivRC}MxyyE%ic2H) zq>mRl%MRyrE|gP8j|VzXvi1os7EjiWurtjGW)k1?Nbth((IP zjdLY^>ZbVkYaMo5J-1ovn(`748z^qFSLwQ@K1!~szaV77E>G*}uBjJ(bxr+>$8+tu z&&I;TYUVU$avm)cpGN~0AIL#MQH!LQod8XprdLxDNXd->8I&a9_#D0jx{a)chtG8E zh;Gu*BIsNbPU&cI4%)EQWZeOaZCKHj*3q`()n50#i+mK(PaoiO7ZS*+LfKs?a)mxz z5(F$y(l#l)qcPF%)vRw3g%U9u2h(I3+?j4R_0Lb$833 zS3H(vV0X*A9_r(IGBcTsXy&-)-SSK16XB+>p$^U0h+BF@x&=KTi=mNp(g7Tw}gP+=L7H;e=x*u(w0~NvgoGU z={wmUvUo`p;<=7lL!07yJ)B6E@Us)FJ$M7 zeaVIFOhx%?-RR13W}YNTT{$jWHolJ?Rl+>8SP8hzCNS9*-^aeae)YMe7^=u_Ag@AQ zP66_<34L))ok-uuev3fWweMrcKXBcB;PS=1X< zuUy+VxkxK@AA55xFGpRobTCNr z32&i24oQ56gRjHE4Pb=13+e6K&^^)1bRYXIH+UcW8d#~f#Mr#vj(UB%Ahj!!7{FI^ z{eA2?ga+gm-^UJ)H^G+b3SW#m#Kf+w+sVsOryiYAbNxQ{TuOcvVrlYODJbqBryQ8E zt|b0H_TE3ruIsw*yFcEqdGiAgKRF^G>Aok}9uNRIvK0~?Dal;K;tx{_5s76f)vLiD zUaKg;Y7rpH#oB-{5+^dOQZ>}DG7>TF)S@LgB_r6T6+~6-aTb$84P{}ia#`qFtUSqL zY9yso#G$?51UCEm?tRXE_YDRR^vkiANi5E}@7#0GkA3#uXP>?I*~jf;iUMIBRsFWC z@E0Y!@?4VA!b08^pJ@0ol3R)#G{nU~JR(se@!I2MJ>FuES2B3x zIt#|WZ6p{w_okIO=njgF24l}hgR!sB6X&5mpLEMmFfJ>%tR0Mfg{4sIzJ)`-QbE8L zevrJDL2QV4i-yK&p&)F*0UVyeZk*`nwNE$-Zi`PWA<&$rL6ZMjLc`UM+Z$E zXW{86%X>=!lA3tCfN9P0^50%g$`-MVIQ=5mD_)TMhcS1OLQ&9wLH3@uYAz`}Ecwqs zRWMe^h^f0WI$J(%c>zl%Jnt#X3s^E~c>zn--IXn-z!KeueQ!{;uOz4yRu&nBc!w0K z#nXs=bqVaW)xVf|%x`TueQC+dt6*lvZO4Y0S^{|Uy64$xBVlXyTB-y23+l%QN9qpY<|KUrGY6JJcQ8Y}^@Fs>O{sfNKfS!L#1x+dP_)JR>IdL^oPVc< zyd>t?Yf4W(t(_jhGjgIWWV%|*ViGcw%oFh_If8I!rVR@0m*d&QgnUUq$UJXl*_;vY z%Y+`5Un;yre3MV{YK8)XhURBRpAf=~IZVq%i<+PIP*3sVjCOXU&!rMhio^~#qI*>y zs$+eg?oN_&x58z5<(QpS+kdJemr~;O`fe-EzeCu?O`m%>auQy&$}2xp{ji0wyj;(?6n|)P zHBH+0^*-cr5EKi6m{lcnhVr;kdUUXaD+PBTF7NP6!^djhD)0LsdktEdCC zDzC!Dde1{}%%BPZ^YV{l9@Y<$0fO@=Wk5Wuvlgz+x-^=#HxNo-=Gbn061%~5zk{Ln|zgH-!1MuMYq@O;DmI#YJWJjG) zKi5P4;OsBWAo_7rOyf)}`-l!?HT_;9lqjM+s+{7~YSG*(4ZSu~ur^-F^j>8kWN-|r z`mMWP;c!yf05bLcUK}7`t3kUyr2__-8951oUOXq_oQgq~=)RpbJ`9moRGFgsT!%lU z4-or>xJGS&RL3j4^4He~h`}euUgC}HtpbBopCWN69fgf3UCJ4jOs&JLTO1Grz_^dv z>SB1E1iVg!*IbDqUJc*V>eC6YI=nJP&J3%*=)vaAm_75zP?U3;&79h#F|{d0G6`f7 zm)?TgU5Kz^Z5xvbiV&!8R6en##Fh{XL`dCQN*qg0W`jRXEJ1j@4w674BRGQ0IEo`3 z!x5t@foIxK#I7<_P`yzMF-6q~hRpm&!w{RA8H635Xh0uV^)S&3h)Fk`XyZc12Hyg) zbkU9wOWffJ3O{LABN!Iio(3iO?{3J(PfSXvzFY~_EDNSY02^Sxf$zO*iEV`KOSJH#_{q7`{3KxZU z`F8FoBKe!r)NuI_7uO!Kl36S%bs5WE>!_~A&dNu%+mk##L56LCtYEX;aFl53my^R1 z((>vX?g=CNMP26%pKTm82BiSNXBimP%^pHy*Hv(nto)Z2D?LNN<7d~kW8F$43a*-{ zL>MQ;E|U~Y&MQy;Dl3d+7I~Xv1KtaGwgM;=p)G2?{T{nPBqhQYIa&ET^d%F;kCkbE zY*HTf^khuyhNy4Q(3AKLoC+iKW|ED^2ODLpp;~O;Vpvnf=DICkGvKu;U$p zBWsda$_hT;%ZQu@OCW`wh8YM3R6ESTTq*}I6J`S!zL*-xq2VAyL_FVq&Mc53o~HL^dwH)Q~tEhhkx~ou{3|=-(?Q zWnCvjLtAG&oICs)7DWiQTr?@Zk#lEgbf)A)uz8==W!3nx+=f-d7b#*mb{`?Sy)d2m;t-Qm(#(ubFOAVZ^f6q*8O0Zhnd>IYhS_QC`iQlvo zR#4)kKP>sfx?;me!Tf1#{ZpJ_=9p8j*kZPRzB*M^e=>zE(JVtM@|c<`h+@l0L7qj9 zPmqCw!7$^1XKb+&z7CyBjo{u=_ncyYVnar^Jr2MdA2Pa487ouCq|q88BF;K3+9GbP zrkM;)=@uhydM_FlDlb=dhnoFRtW}z^y%@~TiXtuzORZFoDrM*m2_Aah=}5Fgc?gWZ zP*m^7G}xuAzgbAk|BCX2uMp@vWeAG4k|BL)D=#QWuy6Pr+VTu$MS3~|3GvSmvKO2E zgXsbu%m>r@PzQsC%vrb?fnvC55Lp`+@dJs-E$Xlk%2cchhn`2PkQ*T06tyr|D%>pi zO7<3VGf_i{TN!YC&p_fH!G7d0A#U{n(wBZ$<&nOigX+B`bW_^aBy^#5l+ahBwaZ_* z?|~@i68m~E7*yE^P7A#ar#DBOHc3v?G2BW>%I7)w% zLD;&=oN0(PHbPVtL7K_0^QC~qVW%U$WK+k26ZQh^^Chm~=_R=wzn{1l&{SN`XUAS;~ z!BhOek;8vL3_1XBKa?y;dP7_)IqQWz9hD6Q#!Og2x0&|Qnj^=tS)Cp*-P#|T%^Wqo zB6P9|Qh-qTDKXBAG+p4zc0nlvKChIW2we)D3Edd&fR@o181;?x?mjCh_K>PQ*+!Tu z617KiGwm4&;+O$Id}R0|gZF{^uXb6p;#xlhUPl@AgI|9d{UH9G&!+Tr(SS~t z<`k1z9UnBaXoKn)p{X*fFVl*<1P;$Oz0KZ-kWp$;{yE4xtZ9rNHLMc&Lmfhq3A9Zg zq8=>#r~wxm!U{cchA%914bi!>PBvVmbFKmgdp3uBMOjtp`9msvx?yoms@%e=IB&H^ zM#HdKWGNCk4Okm8s8Ot|VFosp2bL9jv#I(X+`Ib)k5~L{UvF1ZJQl3AWH3<1LOOT{Wjy%) zTZ^~J!SStP47m()nEkN((T8mZ;jfE(9wbvaE>RO6#K>FBa1 zdV~YcK%Z`-^KYlZcjyPJ0;;2waQpij8(9vD+ots zzg!AUEu{ls7_HrJDc+`PkrRq-dYD2uEoga*>fb=CTOZ_)*RQszz38j`2l=x}%`z^6 zX%VtQO`+gRMHhBngTTOQ<(RYJS#&G{2t@?tEMYPlDh z0AjG=vl;_%MugPXW~07eXC)A+IPXwjXNaaz=LBo4FKqvb9AG?v*M>S&=Vv^=*}cah}?QA zx?zQn(8KAl1~LN&o18@nnVU^8on9>7vRK?|(q@1WuKZPdrVsEYeB;d?(FOol!7T2L z%Ao{ZXG-WT+YC?PQIA|cZsIIh3Yk3Q-_h~)t{^QCSumFPSL?tm_6O@gW_>rX7i{Zr zXxCrfA@WGp38sypgEWUixPJpt2l*ZVqQ^wNvdpd)n@_nDSg^8`FX+c>pJI<|VaprR zEwT5-q@kTRse5^Xe+{{d+RznDFKLFT{=8B?eX)UDg$^e{tispX z6{4^6&7Bz;d-J>eGNtlG7RdB3WgRm(T}~I>^^TmzFh}4ZCmH5wxU#SyUn z*rCr#^=>^_$c6(&y7GZOrC$3$ZwQd95g@Oxzg9>*vsy@8vW%LLczSIi(RexJI}{RE z_)!Uopyr5>c)>$sv;OizLLvzJoeGI(MC=HO##x~(W9Fa=UAn%I2)Fo7g~S`Q2ivR& zuLJ;*9EX&t9C0cQ+=o3XBvu0A2OB5K6x*;ExG8K`%ZT5WNymDpHA z2TiQR#+rQRGNKKVeYDAlnq6^t=_V_gQvzdElLW?E9WEnAKp}$M;wE{VYf8PQg*nv96pwn|3S$q<$&eRHjhXba(*G9uDrlo7Y7&b4Gj$&oWAg=|K! zK?;$=btB7)->yW<2r+1tkP)>?ua*(%`we77Mxu7VrHsf~3<*~wGU6>-kW6sX=*{H} ziRUeJ#&ktiaa~5d)n&w6>HOP~2Tewl@~4s!r&-8uQ8VagMrFip$V}c8WA)ZtM#Q6Q znL%p|$cVr&%82-C30A0tTy&d4DlKT)WWXx3#!W{qzv84(F^wTyT{V;IVaNRdMs5rrB%;W{U%$%qmdYn(s~&{$@a5zi0V z>hkdMT=ggpdp5{_R}i?2PYMxvj>7jPo}@)q)otr{k=kMe4j54 zWyFW*OGZ@AC1UNL*4U9*By32=lVl;84@pBZUbmP)#shw=-9h5IkiST;@y%5u2^Ai0X1ipHV)jVPh0ev?@* z+*4TPDLTf>GJ&Cdjv<%wp9ZM`(SSKV3e%8(eV2>INjWsK6{m*mD3bRWz5@#j*?syo z2F8!G7YD0kv!}1)WZ!9+KvlqFlQKz#0dPD#_IcQJum@&qw&|YcUVnPl5Bn+VD!KwD zni0)x4ugdg+BE2@LLOiZoHsan5bEUY(F0V}!U9*oBU@!#{uAULD%<|z3693Wc=Ekx z)%Vt2)GQ<$`N{ob^|u`Qs{bt1P)oNYc;lKLV!zNCs-#>uuSG`Wn>pjR|+ifaz6 zRmTgRsi3#l|IRu*!fj>snATq8Lk-+mz*SUABpozOBs~;M#;*`0j882ng^zLU%J`RY z+Vkl_-*4Kg6dzfQ!lMaBd=Qwi7NFr}y}ILLF8Mh_dDAxpT%b4{;yLn-??CgFl zM2D>_Nurs`dtVlTK~&&)(U?m>VI1bP9(Md<3G2bKwF8p|{l}3SS~yA;?IW}jo6y-p zRjNPS7Go?zGFJycS)L)S+QHA#KJWDYZ6?;MmT66XAI*CV&E={ox-4Y|$jax;yVjXt zwu6~K)MRGl%l?AWmqBS^dy&bP{VSwoo{p{>a(y?1$;zLLc`H&&3418W8qIxhX`%Ln z9G@b4Cc~p3(R9yb&+y9J2zkctA9CRn__`kT7qTLmPR_7qLA64DIMrw6`Om9wYD!Y7 z`k@BP(`1{J`bRCaQRzp4tnP?qsUQA>OL3)Y(YjyW_%KhoZE*nsZaMJIaV>jejyl8> z;6ijDN&Fw8&D&`TI3{j17(ws1isASDW{y``(R^o;aQuD|0UpL8sY(Zajr|~_GZ)+< zez1=_PM?r5e0#zdX9~f|lYR&G)PRd~Yx{&aG!-5K3r;*nf4JtkX>L3Ov}e_rl;Fbj z9^9R9pn#{gJ+-xzOwb5NZ^~d>w0EI;eS2#^{y0`13VkY;=pk)$x_#%JV64k<{4&6V^b&6?+?<_0pyQ8S16yK`p8 zoijU%_F|rtqt2P!&?o0i=)s*c<$_scYdL3T=A5bW=A6mid6jb}tHNsMO#5c&oGC}n znser(8C*_!{f7HyNeUlR`+kTmec6HsyFhWrQ&Z`%&SAlcp}mr?gle>Zu5 z*Qqz_EQpeIuD@RRRrPbdzfr~+mcB?80Y~J%g`|jeo~HuA=Iz4RmD1$w?Uj202sxxQs1sKp}6!K zCh@_CK}31PUQ6mH)SOIc44}yE~vPMj|bq-2!VDYgqi%XvuoI`IUSpTlZ$~b z=rgGFD9NiYXkH(M5hC6^K?XEm4x{H-dG)_y6fggi3K951R4l2heEmh{RcgC`J(jgj zbWKqexiTAR(>~exY2&&c2cxp02odX=Cm6U1smIW82d}GTPIiFVmhz>kBtu3Q;*@ zB1FX#Q;3Sucb{TunQFunLdR9B3@~=jpFm>$R2`bu3MKF8l(psVzAih2ZtJhKIn>U| z67_;#->Me|q|mm26CY85jr2&fcLCoWgGY_@9|JK#GV4=dwH<_3QI#Tv5`LC1MSy1F z>q+%P7ZEE-W{6l^lG{U{7c4UZ|_F)x+xfx8O-vWQqirP zT%Am_5ZIIm47tQ@>`aAZ4}jkxu~WIJlND0RweR>&mjm*Kpf|`%=rRbFAre_d7%up) zB8*DxryGu%5omU*l+pK?AQHReOaPkHui3uBAqqAuW+cgAgIE)Q)TM@O1|G75m;5&8 z)R3hY7N#4F15upk&7%+FdRXoqp$j^e$#^EYZPBI8VglA=83fnjdyZpr91@33A{0^{ z5W}B}-opThg@6shLv8?37(-P$J|0%5JwA+CpV^)dgD{CcjKqgA^BoMMn*8t4FxWfP zh5-@!Fvf8RvNNcL84^_kF1U9`};=v&N zRh^F%DPT_7OLJc4gq^0b{e+|=^GSoQ%#0}3;GTQ6V~=Jdq(o(JMtx}vucoYT7(>EF zB*g=YY}6G}%h*|dGy;e06cRR>D|XP{eE}OKW+I`Uscy{(#>e=_Di7eOD=Wx6=2B_I z?0FY053RcLpfZ(HWQ6dz%p;U&BjYhtbb&{2M=D~@9rFVr0|A+(PeLz@h`(p(x_+I- zp!9wjk)8l>C>S_ddS`~UjmPpLws?-5ypq8d+1_a#;=mQg)xWEmVME@Kj#+*&WWExQ za?B!s2s+x*u%BmW^r$J_KtqInR-Z}dhhoTpn9n7$ewBqC8L=`P8EKR+omML{h#7wf zsajRdPi5r`KfTOuv3EY5WMf~x%CK5YyiYZbi8j1T7FodZ00#};mHoK7yCahkZy%=| zpHsy+o6}EoW{i`>vMAmk=SP}Shc#OGA$<3#_zX2FOMIIdH~21@GhD5*Xp@c=T9Y7u zZN6EnqvbqKH>RY}8sY^bs``NTI?O#gDtNv3jhz;%Nqe^0PwU;2*=n}mE>a^9_M;A} zXP6#4Id3%bv?hx_Ng>-PpW>I8rvKu!j=_Xq$hrB@1|Wc{(ABiuQ+8woNZ&h&9#0dO z&>rBv0_35cqCJ<)@&XkYdOI*Xv$|6m1AtI1gLn>353$5{Wr%2E#x7+*Sw88U05b58 z5RHRkl(+&2nb7c-3H3Y!*$BY^gBeC874IsjEgEgQ)!9L187@~TLmT@i4AlggVRV|YtqV90Yf&A?#c>fj|CYhYmPmXud9uz{_z>?f34 z&Bnlp$z%j)V&PFtER;RZW2j6_%-afcLTO`Sq{hU=z9b|`@oGHmA%p^B=t4xA7FC}! z>hg|&YbwcS-B7}iRy)5dDN5+GNX$(Xr)Zxz)=zQ??xGpw_8^ON!hWu1NZW^Yu_^h@ zMEa)Cw`mjmsni5no8>_pB?hE5t%Kz{w$S!441|@|Mw7S^))f?!EIH_tDxus=eV8`H z9MpZ(-23r}fE3Z5XFUG~8qCSZmPYzc73CaNYaG%^^o|F}$f*)oBe?k6MZKy=bw zR%-Df4^zM`(~mz94ViXWos$Tn&9TamiDMbZ)MUs+@)q@uY4ST^#J{QOsj9GgVnbixfALdu5xp}!s<)V zZhvO=HRS`0&)61$+=t!s)tAlYwX5%Nh1KdiT#L2(cEkc~RnY2dyz9GIeX~E+)i;2s zS{WFM-xRL{6A^$+sDtlXP7fUa+^oLOk6}mh=wGZPI0^ZF#1;c|7t?ZVu1>BYgK3{? zdx;*JLY&*A&VYeQox##2(UdrWVwKrYiI8c9aU}xGt$I|>0m=zm&08pLjNeFQ*kP5t z@OcCUk5>c&YNw2FR`no3CZu;CRN3!aPZS`~#<$1EH|yh@foj>T;7r4CoOTTIrDK2abfJhq98)MPmv{)7NK+^WGad7!)o22j;DqMq7j zIVZIAUHN>GQAZn<-;993ZK1#r5#SM$%V)IS09uIvSQW^ciE39_K~GYaJk~?)Q*8nU zjM5yoQZt4YN$=OG>_B;0Gq97Xc;*W{oTlRFNWeTKQq*v4jv2ujo@d?ZW{S8TrZYU0 zU^lwcjS~;7UgU7MD?l4_pmCQ7_O%E!yTgnHNWY7w0gc(!8E3Kti&lml5@82Cft}2R z20QyHy|rM6r5dg76Y!if~x+K53SLtprWl0Pf7Sqtqu$F|LYuvXD_{C{-_p=e_2e?%|LOJ9Q6Cm5Ur{%tQw`hPlX} z%AJJrLk%JqZ4z z^;`-WRXwc#^k;gs9z@^Kdd{z|=gO*j#6vMW=%4nk~Hmynu47*rYf} zQzb1@z!}-@OgXQju9oCn1)_?ISo4Goql7CxAn9JLY$D$BfR}k!tUx}OG=46{fzoUq zs&bs;f4ou1Q{9K_1HI_+Sdeg4gacW6L%c22$NZVFvyQZ_wJVIkJm-A`v^#0X5jVh; zWKOsEE^=vfT?*<_dB4jV=|?op5Ov81y6jC(>V%=fZne3FHoh~@RK zX#v9p%uGzE(lAb-H>iTFf2xyh#DfOpMKz>oOlVHu#ZHL?MUk>Cx}@Q^e$9B`I0{cq zQfhZHq2pdW%VDFgR%NN}$ z-jbR0wI8%VOIYmpIx&N<^^EXcX81B6#?ljUG zp=^0f{%CLleNwJ`hIQgBN*#oOlox`KL3|qs1r*;iAmY-YflR{kpCM-t<_Dw$w*G_l zhgcVR>h<|t%m<&pnQS`{JaISHF+|GTr(?5$_nk>{@(T*ptcpMyqL&kebQ^l8te7CY z6JXIlt*Qj9E+)2u;$slY*!_xf1CkxYDBJ31KF5-kiVb(mjfM|!&1n@Vu`IVG2dmHm zoAqr#`ve7xWNR@B2@^@0XeJ+!L$G35Z?cb7Gx4=m$EH{Ts?kHt9FpL~WJ3d&)t3g#bD9V9 zdOccgx0aw7&yID; zUl+VGs8<+=XD0kh9kr^p?POjwfmRv7rZTKBQS&&3K5+b#KbrlJ+mDx-q4xHKc_*lv zdMn?m4Q3)m{WR4F61{aag^RFG6NDgvnPRzdNsrxIKhxVYhT6^?TwRqSSG#U6{V*jMdjgu4|5 zYFD{oyx&4To@Ycx35L$)Mb1623~HSNpm8%^R8P3DyZ%`TnU~Qrk`@}1#$JT z3+_NN17jlD&TfmOVEaq54JJ=A-RFBWzkSGBEPtwe=C`1pe?cV7aw$AbRtik4b#8jG zb7A@3kC}-LsL5A|Lj?<2@Au_1ELMC027(O^Iploxw9Hd6>9?~K6SxiO4P!vvj%FQ) zZl$aqXOyCsd{!yGh)YVlcV^EhvXV$LG^3%FZz6Een`Xw4B$hT-vxW)`&l8ayd&9|0VX*}LL)j1qwUsg+`(@G z=cEwOu1PMHa$zaYeH{qPmj;sy?da%9>@^reGjx(}spC03QDh+&YIyz{J0JMjyYEau z)l$*a`SsWAR{_^QK+!v-=4ltZrRHfDvu1%T-YGSYSW~v=&g8%1sWq3J60?GiPAc8S zIY6Zl)DtAP-<3Z~LizbSlTW9G_IhGRBBy=^%3eqg4LaB|jCy2_nTMW9pw-N`9)W3OtF~~h6 zbaR%3vCfcmpceE}5;6nhWjBcsrqSYYq;!^Y|cCzuTi??LH3sHxh1eQ-PX) zr($A3&HF$ag=&<~B1Q1__Fgtb>WYuMOFkYp04nC*W-3lR|&)<(QDfQMASKhO+&i7-k0} zkalK6_k#`?X`3`-v|a{1G}}aGoawY2!O@>=iOuQ2V5C;`+9P$c^$q(=uMzF|8uiWW zP5QgRrIkuOz$Qm3T5HS0b()>nI1Kx$V9XM~xyY}|x6?J)vfc?ccBYMGg^D^bTaxMi z9S9hzcyPOUj_&N=29^*LkA=!JbjzpbF>SlJ>vT6WN!~8)s&OM(7Rv!Kja7k!#-er? zcO26Mi;pqG>G1)`y2KB=@n?6P5ZFWB;grDa2THh@It{F(pnWc!USd$-5)BX4svCR#*ar} ziTW*kt4+>I^~?J3uvyX3uBkN24kZZ820JB7?DY5wtq1!a*$a@|CBcMy0<{fQIF_Cv-~UHI~XW3;+Vt0dSg8>7;pw3 z;q0Uu|I7Din;c=j8U`kD-UQTv0sf5WCV+upJ{Dn41(FMCsx}dbT%!}=fwEVBCK(S| z5y0RmQT`RF462TL=`Z*Q*IT63~y3r^_c;0nW{e0V6{hYX7KP#x%XJvN?&xy6+ z$tk5(pdDwfedKdi`7< zp<hUbRZ&+1FB zd*i{urU1{~H`UK~tkqAcK}VLq$aObGsMu%arh|ixH-_h?*w2meORszL5S}}4s-LJ! zujQY_*H>Itjcdz@FgM-Zho;z-;pFglxKcz)q6P}wRRO~Zt z+_u~po zNIzF0n0-;cEjDz^YCyVHUK%Laqb>5ctg6AQe|xNC9a6zbT!bOLV7l@k4XT|EhG$T=He5KRB2CBc+??659p;z+CbV^?T!7 z@+GC)=aOGjx@j(XLFqf@l3!KImikwe4(5_yR=R#Jv8{D~F8QKb6x6dX2i+)ecC4XP(+vbvAQaUx4oKgDLx#SB9)D#7nSzr64xfqC7;vp z?p*Q|FhCt=aMC*gjo0uQteMnb;1^M(894eNd~v=-SY|U82%)Ga_`J17WKGr zwf*E?t|Zpu!j*MT?(KYHQ7<|tLk7>&dZwK6XL#mwp7xwvTtqoYTsnm1r1O2Lyyuno zzAu$aGeys*zb}=`^FWF#+&_q&<7WajE4XjRU8|f-Y;TSqca?{B(l+OuDyi~hjXukk zzRF-@Se~nA;ACDd*D|yrUS`8+J6Y4TETGSihF%8bYW6lFut-%1_F*-Fc(4g;BHfD)B5&bHL}4+%HzJPoGP*x30L-PtMG zInl#rI)$m=RF$ehI%jf_YofX!LorPblKA=n3|OT-iQmZ9FzELF3m)v)lsTQ@Suv(c zb>*zK@EHbdsXE3~@1`mfpFx5&kE!a7F*B$i9xX65NP#ezh;`pf208>>K87*8&>~=? z9rl!&S2*jcGVkX;MMPIW#y!E!$9kpYQEEj+0^lbAJOQOP+eNv0KUu`C640@#($yn3 ztTJfuq+pN-!+M)b)UB9i)kysLn2g_9(T!Q?W3gLGosDtJ3|C6_pzR}>MJGuzGkB+x zWbnfeqPWFmb{v%>>PXHC%G|(LXv$O^4P$ZJgX|dj(L-ZKvPWj9T@T8VV=8tGN<7S? zPkYEBQSbvzr}8+hiMCCrHJhB)+$j^)PE1r>7&MM5l=_M?WkRb0(t@bd+h;I!bc>^U~KbYkoA@ zaHQtp#-ODKj6e}+?6jl-4~4Fc7~SUW#V$0rOwLaE<b%6m7odR%(3nIpud4nPusPM#jWYc((WvPNLTaU>WrR+<}&LIDp%W zJ2U`nzEtxd(71yEpeyzPXoY9uw9163GWBc&J8qZ75(kW*xoeF*C) zjV@>4((U}?`Ai16tZmOVVo~@$RSB^$mx^0qR0Qr}2(U8QM@)h2>eNP9eQ8rPNYkuJ{LW5L9&1ELS2Hiw&)C`d2-G%K0_PJf|V&zMprGIZJUwnpYE~lVL zqLz~)!S!N8u>+wAUkQ)GR3s<_WmTn1iJiGlq;X5-6tX%$SXJBQvN?$UYCCJ6XxjN& zz7OYXZ+N=)99m3MdKbi=Hv@lpxygl06HLPO^+A37dc!s2-Xmb-W!gXJ(BjFf$8886JcEJ&R)_rqm$ zd4b#z^ zJ)&Q)*y?jasnr)Vs`_F^tS|gFCPsa#%}!04yJ-Zd9h;NogJYi7Gu)(dwz-JEjB_t!wG+hVv z(eu6aDvPt31zJd}uN9Y2J!REeG% zqd9U&K-AEJ-N!}9a0^nlmtHNT+5GSy^PfqejB*o_6;zy-r#}b#@v|hhAc<0RWWKVQ znWRS+0E-4<^N=SCa*M;Zb0{>5Y^GB!z%$z1Tp-1k5CG)zD9*O=w|S{s_z(5EGGvVo zg=&p%Mn}LJXrgzVhD=iTuwiWXRjVSi{aAI)sZY|~q_rz44Hry_fEHh4YLO5_@*hGP z$KtlN&yCy#kr1#_<9nx7lz=k(c-4Ez+%UQN(nIhGmrl_g;SpXQAc z`&Hwy=>Dy1zT`uz-IiVCV8U1s56DGI`LGQG5^CeZ;`tLKE)(xBOw>9+1`r?0#Q(IF zc7m@YfG3#tF6@0{v)q`0M1OSeP$l2v|-isbE~ncj8du&UrypXK*UxU zc>_-(`b21B+NR6L4&xvjI>6e1Q=i;gngw~Ob;>fcDl-e2vYKX(%fl5%UwJ1NSsxHE zIps30vb}s2q zJv~@{Y@zW;*?XL@jfk%T-8g1Vpj2L!mH}I_#4)a!_s*xo&LfdIL~qq(YZPk~lH5iJ zQ9yjF%5(-vs3;j$RA9g4TkG1k!wkTBSnnCp0nM3LVFFV@UDHfdJ9Hpo0I5Yr1kQM@ z0@6WRAsrN7p%%qzNJll*8wM^HCb{l8)a*!rs>v3Z=c-*eWaqF6GBfWKLcFmI6`E|uA~s!i zy>4m7y6@i#tx}X$5YafE$mxYiP?$@?xWk%OGjX<#+J$cKMulKE@-eHpFw#c1=+T3! z`f=1Jb|8eAiU&e?93BYK3^wlLKnUSJS*{W4(C#TNI0u7t6eNRLFu?Nae_)5^Ck((& zaWx^)=zQ^goUh+F@jgYv3bR15`YZ_THGW-8*Ur&T@^ zbFPe4VL`6Hkt>OxOV4DRamm=Fx+ogZq_#aHp^~&s83~nyxV1){q&<9#)G5f^LOdvq^|2 z_Sqi9t>Oxg2ns5In^=(OB?F$;aeY>LizaYhk~rd#?K%77dy_uFEBjNhB^`}$rLI7t z&_RQo390G zBUBgspgNpOTU!e{#XZKjlTEoxf5B@+GXD4DlKK67W3!0N7Q*%+kRqBDF3a^`mQ?n5 zAD3%Mp41e-wmmE|pGkO#eju;9B7u`F3S@0iG+}iiB~xk-r5-qCiAOnIKSxUD!YWUH z<((6ds8|G)e{d3r~o`d59#9GUW*xqgxM? zAVcq`QsjH}7<}&i4bo)^cg)(Xwu31fT}ACqO{zdo;<*16^+r=-So8wF!reoj;c5&t z0HUd3g5?#?>#g}H-Y ziUzfl;(`nJ^>+XiX*g}QnA>wYx`J`<7kInhS0-_3M$oaGxjr?%P z`4k`|^1~tL<8VyH55@U{W=xzfOxX&LL75@W=lYAl`Ou7s^N}~?e3+<={q=r|^iP*y zI^Q#bX$!Bwx)i4ZT-4(a2xdql5KLaZ`7Q{?A!_C`X_W%O1du~8iu)7^M*1UrhG4qi zieRGth!dQFObC1so~}nQIV8d{9T5!VcvA%Prl`QIy(udE1r`-dP~aMfH${cyO;KUB zwTn&Co1%gl(XKBl{N$UWf~*M|^a{YMJezZ;7R9(}N z?@lbr2dNZuQrYpC>XEo0M~(zl8zy{IY~usdO&*fU4rfZgw+C&C`oWe^9mwebW%u8A zgujp8r;9vzkdIi^Bw8j9EHZ48tZSM~rFr8f2yJ(o($A5Ea46D*(^v?H(v+dkB25Cr zh6P<=moL>fAng53*BQxQg8h)`k2tr_)oIj@av!CwviaZilUX@|1~cZMFF=K@_!=6U zTMne-ul=YgaT|3du5P*}>Lv!fp!(K8RF%yg3cXkdiZ@k>E_Vn~y2gD)@~I=_3HPn3 zKN*N2WZ0b)Kt7xlY*^1N92b?Kg0Q;ugjFk7waBnK_>R(Dr{S?SNGX_TV46QW=#KtF zfjxUcH&~|Y#!lgP1X~ozZHn0dV6!Q?k*j zRi$3IUR0{LYjejx)lM5HTy>qJX2^R#sN;{>?&K}u1f78)0E29z0t&KudG*QVq}<$N zgKMWP&-FNt!`+Qi_vF$8NS(x=Z3lbbMBlMH=}nRlC;-FBqTPwsROk(IrY#3rDU<`q zX@!GwhrO9+7e|_5P_3;(@0(~3EtT3!Lwjk}o^sTla?~CS0kT_IctTW_m;XpjPQ;P% z7IiGlLK!z6p!wb0OoLMUa_^uwcTvra_uBG!0hHy()AC8w2wT5ZYtq0B$DuAx#8C)W z_}$Z=P3pG}T@ujYk1`Y#0HudHozoD0@bUZEPan5JJVU+2e6LTndC!|UcK7!9|G=@vlI5Gd+kbcK(B(LVlaW+YBE zx+l}%jWNup&*5kq^6`I1U>LV0EpUq6m9}VVHP`2VZkaeVMu}R+nA$?j-tNBRFWL@l z_okXMy(C%E^Hy0XpvjsiWOU4u#*j#SvgmWfAC@Jv1B&k+4z*OSy7jQ#@7?1adPTXR zoWlqP9%WLWzM|BF>tEzi>eE+A$wXE9yu8*I6kHz-jq=V*343R@!mrX)mfE@w8m>Y` zn~3XOX5SEKU!Rl&+P|W-xHG$?lrnbDo(I~$9I~uFUa1Gt9K4p6Upc+Z0;y2HGImK_ zkB>)GDe^3d2O5#XOwjDnza2D6+;er+y<#4PC2>q3lUjWUNjO|qE}&Wr&=wpYRdC6D zd`V(qef5o|Ef$h*3G`F_#6m@ElK9i6qFx0pyeG7Y$|d98Td&G~$XiHXnxeKA(_Z~n z_V${dR=5jjAZ!h)aL*;8bts}e+UFS(n6+u#qoN59EumATUP22cT&jMfh{`}DhZ}n? z=+Gc!9|f3b8L*GSZyTW0rb4JbHl?h5)g}d}Gj&;Ge9bbV4jNd3UpA#as#k<|5*#$^ z;Em~6SztBe;#^>6r7~iEJi;6?QAWei%Z|D_4E?EAHsM-V`5>_jX7l=I(Dd+n^gw|| zSsr-8XFNPj`+Z!jbbF2P#AM@Br+S(}869(>QbI=x5IVX)=!R$LMp;S<-pG_Sa$}L~ zHnOA$R`#uX+&S=+VSSZrl3!&ceo;FGfOP^bdCk;ihwc@#3oMOw23*}w72H!RaRx=U zuC*)10r`Zi?zusQH}i*ByGpLR(_Oa0ah&VH0XUYPH+%r2%!Y?-ou0~47@jdl)n}FW zK8(*0@I@+^524<25tKIxndmkuSzb?9L?#P8tSR(W$0RW5R6U2RxIh-oN?@ zJ?$HC{oBb!!ou}J&b@>6mg9G%sY%SlHck|s8aC~Ad7#~jnJQibE!)ThdtxJ~?O|L7 zHKo=ItXPD&v93q5hxt@pj+coeC49TxE!OSDMb-aHp6nyatq&ubxA71+GhBS8yTR_| z7nW||%XjHXY)cc#IEzjqWP?&1+2m^F*e53|d(xaQ$u=?mT8nGBT5@R^9thE(#ZBN` zL-#X*a0IiQwT@s`^qZ4olDTgQ9oxMR8K>6@v2a4c34}S&Lltov#f2QVEXc5e2b#MX zPE6AH?Zg z5z_~1>rZ@SEenq};4n1vNo068>V|b$;eOHr4n-Il=j8}5I#IFs-^CLZVO30hLBFg( zz*_4JhPrUV4_iD<`L!;0%*TN#A(toik&Yk72~n|O@B|`=8BT%3aDnFVM&zQZ2MGbw z(P;*8OhsH`LjD%k-3C(wc~Nd_zpKR~bn&Hcvx~0`yQpa`iey!sQ*cZE7_2<+qm`Gi zcn^6Sv$}Hsq1X zIw)sf-aSHc`Mjp-0DdP-(@_#p)Y&Pyr(#Ec-sTF6i}2mbqKKL- z?v~7THL7U@8h(du)YM8!sJ^p7zl%X*10s}_cGI1*!yZ~OBdKW<%MeLV*U-qi$L7A^ zq`dX?UD}q?6GefQ*A5SR?#zCaCrZEx)%9g{-S#kHOKfg6ggM(!F@y-+vV;)vAe94J z#VWcEgvA){r7)&Ohp7R#Jo`_V>5BuE&Fi=vV`)wzkNLsqcGU_J8dT}fNFy}F99KcZ z#?N4gTB|X2>SL#OVeEL00-D;Od3D`E3wR@g)?FnJllhy#$A?ey-3=e4Y4y{v?98BV zOI#gfj%G+{cV;Y7nv;KW4LS*g-(B}?TAWoaPl5ikHdV8R{nySEatyZ#$VG{@4AN_l z|9TVmqg;!hZVDDTroBmFl>`_QnpQpmr+WYpGbQ`A3F9=UA~4GO|1!%;b#+HDo+A4T z>RR_$`)#Q*A2m_2b|TSFTy$u3t7WxYl|+EV`B%aRbG#!zARg6xFX}ENg7)2}@@r_} z_Eo@qjl!dn)AVXD?#Ar%%r+iNEmt2X=bYYdFVaKL?|mbE(&Bc>APj@z?^&enA0uVM z0A8pMPXr2J=c7e3_6yf3z1=UM+c{VT)wp7QtRB`l^`A z0zMJSa<2zqk^KaIV!$ww3xIu_=vaxN6YMvfWs%>wX=_wMOp+Fm9~ zETburXlGh!_%CauX&!&n(~f?$X&^0MA;huy@1vgM=R)hgBe->HA25EjpOt;MdtaJf zlbcYl$gvppUUsy6jtz#X3yP(! z#lKPXRu#CkHn(Zr3@74voteZxl`9XMD1m`?0Y z=m?(G_rsu75p)@++}3@5Rkj&UU3~qVh6%cd8A~AM+E>H(dgQ+>v&T#H zQ%w5oAp|2@9}!5qI4t9PWWyYwUy&xz!7M`|ULlIRKA zAwoOd3GEfjg~q$nu5DOSiC?c=O5dF(6G(p7zIxSO$%*)yuU@fN(#&1+>YTlT?O*$9 z1$dk8Gee1h7CK#{%x_s4JBEy7?O|@*F!W5z0=+U=qu}g#vL|K%f=+P0olLWN@)j04 zW+^Gp{_hiq$_roKc^{eo?DIS~G2x`;&%Zu?sQee>%KhdmJpRJQ`;I98pMQfN>y-Tq ze~+grEBw*J<2p-5$v9L< z9WKo-FmV2$QHp? zuWgx?cag$oYXlT5WL_VFN%#hNB+MVhX90i&Lu8yAp6^_i;IVFejq{zaG-Y*1LXen@ z0dgCAy4|Qlw5p4f>@?0}Z@3Zy7jdqA>H^OuQ4J9!*arHR*N; zGbV7BIo(dswp!bQpq1IhFNZG;W% z-|0?rS12D% zG?wwQWw?EXdZX3ZA;g;SQgxhyBVtj>2$r&V$qXqgysd0(>cSdgdqA^&RT;KEuGC7H zaqdzrgY^U?t7TwH1PzCFPo!MwJ=SL5KO=jzqR;>u#E^}g^v$HqOVBbd{>kUR`OnuY zBn>Vr+HG1$0dwC0p=(7J2E*bXJwE90?Z0~Rm%q7X;R|JYwEWD!T22mzO+&6BclN%T zEDXl@`|&jjbXDNgZzT)YdC$t&*}J^>m#_DptqL9Z$KSYv)?ZB?y|xDpD{%gcOFwYE z5}B1)diobX^;U|!@kV}lt(w45y7+|hn0FHIFa%V ztb;LpWOeTpvYEHL6!1u>y~9v{X=ERSO-oI$9jnq~8+p`4)&>(<$g5b}W`o8A;p-UFGZ% zv4Qxi{N}%2M*UJ=C9$A2Z!}S>K$Nn0k~CxhXPTZkJittvK^68-^&LhoplRDXn*0tq z9PB4*Onc_@KmD8HG%PzJE4S@}*EY90eX8e@J0rUCsDTHR9_yh}F_D78kW!^=+g(fJtAk?oIWXZK5-U zuB77L=d`ACYZ6V{ALpq9t3P3sXa1IrevmZg^ZD8;-x(y5ll;Rs-cDU?px^#}+@P2z z8UlOFYX`jv z#LDiM9`}s=8V}Hr`cU+nI@qf@HUWBybgowylF>(PEkGQ=uIN`CQdk@)4vZqUXALN;Kx0Cqc%7Q^=&wEjH z@_YDH$tGk& zl5Kp$j&Ej=@)rLVNNl3f#16ww8x>)}HE8)fHE@=Uuv9b;{0SiLRFw zGL!KtOwK^>w&w<~!wCU-7esSk#eJeTAMPj?&4>d56B@8ij41zM@xwcQFkq zR7ub5z&Q1}8(lTj;QNE8qv=#Ib)r=HH;uF_e4UNxiZ>YuR~GJB3G#w;>Ht_OvH(Se z(L!UA3BN}!n-@X#23=#XAPA-`mTwW6U|r@%!9bXgR-`xNc5VAUUMKw|pXZI;u@I5C zFb)C)K(*~*Cn9B?NY7*+o*L^35JA5{O>2P!=Oz;tK(s*No79bj>YGRVVrkw!PUNxq z4x6THdLgo)<J4Ww&PCvxJKTnk!>+6GhU-3!bUzMF3gT(Dt-N@1{L7q2RuG4irDYa+T* zTU>~qnVS{9eY%m3%M_9x;y4-~HBe;eTTPJA1y?GA5qynh1>~S9Jo{sw#3(T(ph#?) zgNnwZ_$@*m0BpzsGA%1=Ih=0ftA zMV>i?UIOn61L9zS;ib2Xv&7A@3guCC%foEUimP}7QG-dd`w9?z%oELb1I=B zAPnb4m`KUb1}F#y1QDUwI@oJ50YZy-#>dC`LJ#HO zPbOex+5ia$V-?&PUw#NpiVk!)UJcDPk5Cuo$A7Ki-t|K-D)zphNNs12+Lesq&fWq8 z*8K7^Uq@q*0x;7TPRVzeP>JJZi|PeA<)98Qx1zi913cM=TTCvK?J(1#`l(d;ESvhX z4WDxekfKa3>a?r8WC(prI(?`L$63ib@@~$AmlhQ;T@W|@Go9%}#w9+n1@+iwVhv*eFl6v`V}Qr?q9+HmZZ*o^F}ciq z9Cjp$tZ)|B5jZr;Kf?G-Uama(hm)K_Ul8r|bdMZ#_EpXf2CN@e3w}6RtP(YIa@gIN zP5plo-H*8ha5<`!gD`-*l0Kj{^>uNuR8YP`(T2b_32u;U8W}$zEE7x{Mf08`z5~7a zVc>89L#R5;)e6X2BfXRlMMHPC0)d(A5ebg9hM5)2v@Bo1l(0*PH2u5`3i&?(9_F}h z!;*uqi>i~)QG$j9Z8QqrMHzYXOvp0^LmS*9sP@z^;;%K)eYA3ciFs* zOu-CG7lS3NjIU&h*LYXH-*e?`t(A@fxFO;E%eOPC0LG41nInZ-&HkGaf@aI7wT&%( zW+I5J3W1`HBlFev;R=DPGa1`V?+RPYq_O7jrYeKBGZfKJh%fMhaoA~uv=9%??ityC zLFcMsWi@60omMvHOr8x&QyN%0j>xEp`o5;GY+NL~k`Dj1qvXSK%ull=VJ++9b^st+ zQFP?nF7j_%n^}yA4Fnn45`8nlP6e=2$%24!srHEUIMs1hIS}u*%D$uqLd78ydqQAI)4(4{U zdH=`pQX0m3#i>C_fQVLjiS)jhnW7wZeNO|MkWi*QWzp?7hKh-5<0j$Tb`V)ADIEYe zf~En{EM(y8`*U zzD%}B`LaWGY^8|pO%!8{1@M_qreq~GeYR?vK-+88uEmFP6QMuL>W`EpzF(CLrj6=p ztA>6mU#Am+&HG4b>|Tad+{M)7CQ&V8azN{%4;e5Ia)>O#n04|{1LQj4;Q+Pz*-jcc zilrE!`$PzTe+qrziq(7HejT-VWfByz^V~lAklj)?4Fod45SK_ zIgYpt#_`&AQeVxHe=H2rGThE}P4ol~Re*AVr*VCUWmU3t?o6%{rR{Renk0>gVV^2$ z87QlN5&@DyT172u@rrnW1_{hlDJ|+s+^yUI4rOnJw#Gb4Ss^DyRNB%~s8oJG-x#}v zKtd!n#)Sw{Xj>xRf9*?U4w_(0mTX1{MKh$? zOg}4LUqvl5RoZi8kqM`A1P=F;D-V8cQOk0RT9%95O5nD8IGsi3N)8x&yt@l>G0!b( zSt{(csAZ{1uy%9F6EsG*9`py~lUbX}PmW;= z^x$M@fLq#?KtV!}HTNYj1CnzHf6?p+yn594m^9yb?V z)4d<}?p>1W1>hE=hHm+b37M&H`MwuM#pX<&&9LmI*lbe~_gDu9EGL>@#K~ri9%k-C z;^bsKO&2L;zD0rxml?>xV1}Ayy4J@nX(w#_ElFmdW{r?}Q>MmQLs%QwE0*C> zxMj#IuN6qZGUSlg3N&CDLeEwp0%fqd#L**rPpKVf^dVT=1&vT~Xe4Bn0E{hW3CLHj zXDzLkRR*wcX>G4Ewkrd2uQGNi1Nc=L5JXGL8pg}WH4jz;f44=!+1enZl9Sa5eot5} ztYI3BA|>u&G{U$&=2nKn4$0JIW`t!a-w-Q=7|io^+{)hMMHR9C#o$GM19TALNoabL z7rn`g{tWS=uMfjj-;7*jf>6JWcyyV~jf+R{)xnzbOq6L%joU2Y%B(|Cq6rH>yxS$B zuH+ZH@TRHNwW-a(K!>nAymV6wZPS!46UxM7ucaGNNTYxec!b`fHC`nk z*jPb(_eT&FCe)s?E-~)8@58i5B~zt9;WA0@i0lOMQJZ zw9?n-L3}*SgJjAu50WXppAyM}fG6?N=HWd)4=C46LPQQWF?Hxr&wQ8#kKGz3|8QZ{ z8>ZH=l6*nTg5j(5?yY@fyufP_SV0saM8$O(H-OH945NLi#Q2e56@WN8LfU)eN?Dk^ zCKKPZGn7*51q>dzSe^dc*gfoCu=Gvg>d%01^8Ub$(MBD)iNJ?;9PSMu=k{Ng7b#(nshwFDT zZpK3&f%sUA9UHWC^&W+1yw(DpXd19XhMH zx|{7x*|Eq_@|uCR>fv&v_9)0i8>0*GaKhFFcosJxH3>zcF(xGfrr3xWpToF{c|a@#0Ga{2YC!$AXEaPDbI4S>l&P~GlU!-3=^86K$3YyX{m;tO z{#u@m`*E>&LY?CP)BQ=47IZT)x994Bz+l~?(%zuASWGVNb5pP!_GnH44sbvf}+@0ajSxRf*$*>ogiylr{rT(dH4zj9a zX^|c3eZ<{V&;e{JU;f%M_61>H2q?ijR<#ohvb@SWzeyz=%f=hzck`^_7N6h`lFb(h z794PR+5_LP^R;EN1B6&+YZf}Y8Leia(_s*kBz;+R<;y;Q}M_CA~RdVg;e%-p^d_i>|rwXQ!zp8 zY)KIU$t+}M)5t_}1qHALZ6dk+OKwcS{X;elIgPmSfRHp`5!1lf-D8A>CoQj>0o1=u zwpoOfC}@c6a!T5epZb$4-$R$+uf4#DuEA3 zdPWa!Z+TDgGUcoj=pp156E3lL^nMS|k1y9*uY&k#hT&bB7V~ezkDMGG+fle9j0?mI zDsdB#xl9-!KM3g8`J2K9QM?1gCGk*5#?jnlklW+At zjPqiEfe5#j|#ELZlMFOJY zR=r}15E017sft^wxJ^NrHCQJS${6i92#XsB?p?rrcTx5<0#r7ybQHF$z0&Dk0Rd@MC7GaJ^nOa{j=a+4jITHD;a|SUPaw@O zJb(sI0ch6@$d>J)n?H4#hr87^;^DqVT@g&<<6p?L)Ft2O_b2Tb0+>zz{{8>PV|a|2GYwzTZKU0 zk5inuOpqwH!FgB+$sT-0KdOh>!I3Uz~!7VPYr=Di0Or3*)uHB0YX4&srbNz z+gZIu!M#;6%~CTji$xp%HT!SRw;i3}%+8Bq09ZbVy8=OV#E*cLIsije2k;UT$0Lm7 zL6>Ma4_iIW#3#KfDBE%NTE$fZzcptjQ7~r$y7(Q_1?w*|n=boZWSTBkNt-Svp~#Qx zP!aqtNW}w#}_#%h}! zIlqmKY;tV5fLeW%!-}F!4v^3~D4Md^94wfCR=+yNJ=Z({{+ZynbQ#@P@LQ4`nju+b zy&o68W+mP1{rI?18C)+JG`xiDDcR7TLckZxsO%}3=~yygE^4G37O{=LwPTsmvP5l! zN@!U(drE}HC>VTj417n;mXa~L9of*9VlJCihU{1pYpV?OaVCgW8EEZH7^*U`rI_O@ zV+DE+18N|%vZYuXWK^~kb%NiOEyV;GX2fkNinXeJBD4t#Tx(0QbH*m4#DJ)uu2>xu zJbijO@IAavZj(@LFB;k`mQfA%uj|n?{ zP~8w8k`a*zFgXMv64LJ?he%k=MMaVgV0u;rf#P}3FpekE0rz2t&Pc#s7zs6Z*w873 zRPu}}R1fV5$6NcPx)h8BB;`U#ybyLWM+j2xc*C@OUIJoK*qyovCSc$2O5I_xr++aP zvtv$Bn7d_|%xie)p4oi;3`Ki?jEmCGO7wuGiB!z#1)3vXtws3Af_+;OsMCjzfy(2e zvNz^NAGy1sh#YdGk9|U zNF(NMZr(Wo;f2;TGNchX+mSJ}H)hgo=h`q-pFkrPrIzsq8nGJ4tZ2kNfOKw5U%{od zI`gNZ5sfC=8zm<>jo4xpXaw#hCT50c^M@Isk#7{)q^nRgC1}FpbeQ`7lupC?(gPCP zzakxUdy@!YHfgZ9bgNjI_97dK_SV7VT=GQ;080pF-QM~^+S|xW=JZ+Es?w!&Kry;Q zJT|0rI3qtf*7SmYlFfO3g@@-DHZ0S<@?+cel=f1)!a)bp*2!Xqms9yKIV|GWb(a>9 zO4(#8U=@#guj?)5`8d0q^^m;G^3;7UA+?;m%Hc8s%V|_OTo++E%_>LUhN`FKIie=X zlcmmOwEHQmV=HGQ>IY}))-yH}savdAgBFfb6VM``gNuHa1Hf{`ilS2!lafO4fS_iy zO&KnaRx2<(%~NpRUbg)ruggF93`F)IpAh)zq_!adb5S?}b}cA9DOtJqpKB7HO1W^7 z^dt_Jyjh5EOi?nSHw&qRY-U$N%?$fVn`(;!)`WnILxXj85Aax=l%h42EFv!Qchk4qTP(}sS3SL?+o9_2#$j2ByI1ZTdbe32L)e90GQI1I&Cr}fnW z2je;J&z`U49(~ktmO{3nz`mzXbcp7x3Kw@~OG+t2P+Qi5(`xce$g=wQtu9EYdp0Yt z{@gON#6cQO@vD@!lcGP{SRFr|y3l}dj@Ic=6miOE(4x78{wc~%F}}5!0xQOKefl5P zDDt8jMFaD4=*$JBsGevYid2P1`HbYzL6Z~Vm#jGT>Bp-oi&kn__7N|8fa_-O%r2`e z7{t9H+zg^fw5U{2 zL87GyIclmLvg;UXw4HtK&Wc6jjMiwyN z+fwb`ca&XfuD1tTD2b`Z-W)?>WR_eN56OfFbHCwWcIkPm=qC|Y%ovMSO&P_d)sykHoU8y>}r01p{Pt_f!et0G*W}zfd zPjh9ZC+a~EsKDuy(B`oh3~}oN zE(Bj(myy#jD9lF@I&&#K#O*RZ9RV4ccKT)PcJGCUT~<5{$ymE+O%D&{Q*mloSV8{U zZQDl|$NA@CTZfVxkJ@kh5Mo^l*s@FObRdsu_{k&8-cg*kghgur$vmy66IKqu-|x_h zca#!ExuZ+OOVRZx8z{*MbSdvrRpPumE>-E%&qIuttVpzJ;USk_s-lViTHuLSG-kX* zGC^y>Vr?QHwTY%xw&~E2!;WUrF+LB6N(X3d!k#lKbfYtb^x6}Dr|#1n zDb*m@+d$b(91WCRx)bMV-EX=<1LdhW=<)deFn2ye2_Qpyf&%c%;4j?bPeSbx?O?kw z0Z<5Uf~*qE1)UhbnEAj((M&B2G&gOVu4_WASj5miyx?R84!^{&n;HuSC~C_H8Zd7V zCizQh>Nwn>?r^ZlO!B-4t?bNgVFqVzA0AF~-HB=mNb0KaUblIKup910@2EdyVl%X# zQFpj9OT5>a6)LkNgLwX+v{F+~1w~aGwduyxIyXsV0>}PPf|2%*;;wEH_|+{VakxMq z9@5V6<$h>8!FXv5+29EX1o}&5?P3iUs!4G)HDrEND$~St&rj*~Z%C0J_w+bT0>>Sg@7N z4}O3TZrp$PTgxc@LN_aB%61a6$`2a5z2}MwPsAQkgilLFj+_2Bt$DK7Hk{U zaf*eX2R_@XEsnnN{F@``y0PZIYF5!(ANsbn0by*dybfE7?rf2b$X&axa3+rC%%@Sx zt*`UxGAVYkLOBbOZ^manqLpBQfybPV zz#Dxud@zh+o3&?s1&#^T99*OODM+-7oaUxNS*~rrKwOcGUonGC%+taO?Ro<`pvl}@ z3)mHDtP!XvAN=ax8i9kCYecQKSy3Y@s;o0ZXbs^=xzi&vwcFM?bfj%fs`(yu)JUml z#m$r?>;Mj03aD)fsrPgV@6`pV#X@XA$mnqQLVTZL_h21=BFB(A5=!d=7HTgMZA?!mFm8s~0hZ9Z zRFYZXQV0Phy)zswI#sJBMPOSwh3rF`Udl^h`6gHmq@DfqX|!!CQ!j zBOHvqP!r8{^3Ev5-ON|qJ51zbA5uoE`A9HBVnFeV7bKloer5iI0fbjMZ~-f;R1Auo z;x~|NlAYUu=OZzhZm|$ou9KTMR0+wJjF~f^x2ZUVC&{c+uq2`Z(3ZAXpxNAska;UfQiZyifzvcD!dVohr!;I5O8W+_{D1%uO4!apNRh zU|UcWAcU(4qVf_n3YX!T$vumkho*KqVS)K6fMa$CQK6dXO*A`AYj#?+w9e~9Vwvj6 zcTM`B@gS}`mr<KwhSkw)^s@w(9N@u z2T!-4WTC$WEmqyMe2k%oJ;qryvT_5^P)y$4Af>rbB3IOor&Jjg#Y*zM6t!Z{qFm`= zqD@kT7E?BP&PcRh3hS^S?asG~PxAcBn4RiT(P6NrT4P?avggM1u(mJoqLDwaqh-~_ zb%L~ZPniT^^x2rSj_tEG%={wH+B8W+4ksMohGtMse^qsCs{|Ub!Ij9LWuFVH?8uL> z%9a3XyKSEgDOH4AguwEl1fva;M4K78)zYw#HhT6~P??9tQ8ab4w{O~8QkEm;cB(Oo zZxL;(&F-RB4D@?lokuIRNlh^rMfC8_qQdd)1e{a#`Kb8?hlWH|!-Ld_BTsOxqzTbe zD*hi;ppW|?!j3lblV8FRigfscE1maE`F{(LRGfekSkueiH`?dWWEN04kcSbRU2-Gx zL@}7 zoxSwcHBhrzve`&Pq{}%;hUnU5LaTXaF?!jdL0@run4`PLD20A%QwzcYnU0#{X}%XO z^0cCa#kjM%Wtejm-C1mEMqwC`RK-=d7l}8TfFamWX}&TmXoz;Xw(;De4-{v|tWe7g zaL+CBa7v0S-`Iz^p`QKF~xE{OWFwT+l z{PMnU=|JtJ8C7bsr1Ux50&MlpRe>%!lh>V}Q9qm>2I`0NEJm_v%JntY3rfV{w!~k- zlX<`3bzDqI)e(r2kbRcr_(S=1-7YKicM<%%~!{kCz+uWln63G$+;019wm~*NTGlP9__~W zcET8gum^HRo-(%;i$v3qA*IEO-M~$Dbnj4Ztf!JCc{gE}YMB%Q&s7)t(c{)*VdzU| zHIL6a$SY>_*XQZ75rPOTODGE4VnO(Wt9kW&m5EJtb|x+uneD*mCml(Ab>w2jk;9Bd zIDwn%$PO2vj7UgbRL7R+S#_lBON=95<^usE!r~rxCDoc6*kNrP*f`;%#974AOh8v&O9dAjwkC>69o2;%q=u&!I=y@BEY)1};=H89Z*foZz~ z$#)Vs?G#Kl?g^%~79^*5${i6D<)lVtgqTg%+DpO&P9zYVI5xomwL^C*b%X8>RGgw< zL6#ez)DvWW9hnMRGRT7VYFe@UYp|I1 zyOVf?^co-B%!$qzuegrXpvGoZr^USPFwcY&9N#_NVk9$%-8rBuqluKoqW7orWE$8L zV(6wFlpM1Lxs0#x@UX@w*tc#l4{! zvil?k;`9|QN71Gh)t2>e0dM#U?DOLRoUj(6w}rSS1uk$oBGg&WNwOCn|+W79NJ zu$gttB_yp+;fQ3;B>-z4;~nm@e3qu*ft&X*&X*G@eQ}-kuC;x6_n%Swe)A!F2r!7a z&31nUA=wM{=QQyfHjQCX)D65LzFI|z8c`!wMj4BIX-P#=$Ot9V7s?Vjx|j?S`7!3J z>FLOi^U{k$uTHa>6mnTqO-mTlD7?XAi!f5Oqd|0jM%LzV(7=B792$R41Z4&5B`5K< zZ?7jw0BH_-geWd~{>zUoynuPBXR=h4PR01KC&#K3d4PAS1*d@!POf$)MRGRB-gC~| zkh0?`#^nG>9(QbpUmq{!ANRiHy7*ZVG7K=&CxYtT)55Z(NO^=Eezsc zR%Q`^UWMUAhlxi=acq?6Fmq^r-O4eBgP2F;Gl7NWArMOBRR$8=3V)9P7mK@)UOgAw z#_~MXB4t1#9F-(HC6T`xvq|}7LL=d(WRF6^&JR+9D#79!4Om89i-UX}Ah*WqrwY4^ z@Q9%U6~Nn5VRdfyPEi`9a0_jdKa)7rQw0hqq>806_r;VQUATGGn>H@#=wKfmE!;^u zWwK$?SV!wyMJL7`U72EvrKpHg&LYWklEv6ZM>CwDa;Ci~{2l0Rz?0or6bFPsDP`V%S&AA5}}~@=OL}0-p#5 z8aS{n39_M+h#5^Syg9)jmUu&#ZU$YZeV8=0ru*O|h1(>x!3#7w$pPBJ+-~)la>IvP|ApBz9FGp$_SL- z(h{I(aBHu%pyCV8%pNS(KR&us6&P-EOXr4^2I?a{a_n>l5efk;O_QaxhQyn1x@4UB z9weWGuhEIYr{PLc+VUc+VKIy1+Hq^F@>z0_XP?=SI6|SS&s44OBW-Eg!+a+)rJJeh#a69{GWmAa@`cXx4=?9Ky()qwmg+2EhnvzBFj$VAU$5>)Wg};@&5Gke;13hFPg`^09Rr2U?)O|$iGNl zk|OPx;84j=Y_P@@fA9QcjDz^(0y73{#bMJrTsh%iB7`FUM*fO^%vqq!g=E+!d<$PA zx9p|NpeJ&cdxB&STLf8Tv1pps^I7+S9<1pB2bV~}DIGi*=k}l_S7D#L`7q(xE(~J% zvgc7xw-+rIGwnr-al?7@g?vV);i~ZFGb!z(R~`0@J(mQ5g~^(-Fp!rYQkE>M%(_G=U?Uo{Cg;e*&i41N=N7J0 zWMIt=UQGnW(t0L@tp7f!w|`OQk3_vhs5x-dduLUUtF&r3q?1SkZi8)F97}J41ayPj zF`lFSuzVqcYeNz77~>z91Z33>q!n_Vgm#FG+r-G$ zhJkcg!&XTE<1EIb-gY%s6<-X?awnbuFjo<$X0$;DXcB3a=#o}ZFEY}`pPr&K)=XDv zX*LqUl`QaF${}>4WgVlb@zqCgRodxBG0ODCw&lWH91k&%(Y&2A4 z!!a%^Nt0yo7%~FoN=`V_d~f0jXTA*xX4#a_o)1{8w0S>x5btN3IAYo4nxC>epmsCo zz3dKX`_>`5gm6=!Stp*2x#>21!&+{r&zXQqKUSul&a5_W6*f(@8STBA=QvV}mW%TQHNr;% zl(;h^&RR5vbOtXxW;OONzNna5e=!V4y*9i)I%!>As}k9brEK?=<470`(`Pd1(l4gp zGP9LO#Xu%GW6-y%Ew`$1hF`ZggwA6M7DI=G1;vy)V9O?nDhX(!BPh|ocs=zEqN7fm z#c6Ad1nFIlyqJ^08O9J1r3Fl|8|rF23&e4Gg?2ihjX~MOtv2Y+4R%6%Rgre7ia-)8 zGbDvzH2?rlXh8n2`~&w zXhSTBi0J$365yc@XSh-YQ=#G|S>rPH83r}4nk8si5%dFe>5N&iSk1~-!ij?<4V|S> zjvSQ{i$bv_rzn8E-6(!6Zy=*)t1Ows#f4zBIW0GjYNF?UhlcfAOj_O%I9DVmbsJFX zM4rUF^;0!yFrkOgNRUhIx>(OFc(J&a+?;-o`v?cx(Om>3BCd2cXt~S!J-tO+LmVNJoUIdvUDiOQP>ldJ-@xO6LnDBf zP<|wEMhxU=@JO5UXux}T(ja<1|7$<=M5vZhE@JibIjPL2oNcxfW6Hxs-Syb0aWLZC z5qH5yf8xgK3=clo zDBltH&ci4tnC3vBL`WH=+~#p}=A(KHY{0dJ&zfR5fHqJrW;{Z$;Se1w9JS%69-{8n zQBvKIq-q$Z8rl39Y^QSz&ETg2eJXFxdL+_7fU@C6k*bQ?kj7*Ru9TOsYB#s>mK!h+ zV;p_}1%QgEK>>-V;cP-Me_$GOhPfR66F`+?fkt*~=-p5KaRWC{C2GmIVu&URTJB>i zcsE4HW}#)ZYOI2vFjFoMQ6{?OAv%_N4~412%CQJ9O^ur`Y^5QhSot4ka3o1Kmdr3B z7l%Ms2*S=3$<8}cF$h{VvCwo=G(0u{V;X}JqSO#m+H>1bN#bdD?38Wth(NBXE1s-! zE3GlJ9SiieZ=ks#UZKYsTK=eA)Y#T62y5kQ3POtq;=R8er7({6*}Gknw{LoG#QqcNoN|Rmdks`?boI@xn1In zZcS*KmU~eVZH%Zovh-0+iJQuS3n6c8p{Qb*t*JJywq$QzVY{T6?g1^>6^tBtgB63* z)Ilt9XU39q(;NBLqoKfA8%Hjo7SdOFt5fSKbrHTcbeZTVPQ-Gv!LL&zhSVU1_~0%L z8Tgm5W}F0$i=<|2#<20Lj8A+(6)9h{cnHRaOYC1BCy~kFbx?#nctMFs_$K{{G%|#p z)?rV{`G1l8e~~;2mjBO2@^AfrMai!~w5z1#eoV$^{*R*L5vvij-yCP|{RwEeXme2% zdYMshh&Sv-ly8iD|IbG0|E1giOSjoB=zlhn@0#pSl9vx!C>ASK%HM3d>vq0m{$=vF z7A%@o5cyjR7Iz}c6?DWsdT-XVc&G7WW-UC_&O(5!TI9V-Hw&ac&g2EvC3ClMl1Bu!3l;!F_20)j@Ss^zfBbA(K=g zdQ`7TBa-?mG2H3n>Ni4T<3yu&eIehc`T+$6A%+Ldmaz_KRzmF8GL?4FG$(69&f6no#rTkFhwgX|Xjn-@%6?>4#i~8Nu;A0a zjB|{okP%sXGs?18m*~g}q zIc#n`huuTNCBGg@K$kHhzA@tE5;|M zW*kRi4x4ryHa-K@v8@`%Vd0>sLcnU=xDVl=e1JcOFj8??Fu6l-@pty)D|1*D#Ge*( zZ51RAE3Q`+P8LV3vPs==5{O{;Is$^lzk)F5d|Z9iD62j(eqaNS zw)3*k^N!~wy%d-@X<`uK!#ZzC5|Ay&`lF|bx?j?_9D*nM zk1#ajMr8)W8fAVI{rZ4L#hh zhcdvB{Q(Fpw+pKifyJ`bqB{f@3C1R{7_!=zgCek?XE!j$gln8AQ)6EyN+%G2i9rV- zu*9SGy9YLE%fd#S?7;&|Ru(qmWcM6cG7QJi2-t9(?4|=t291iv?tKZ0TJtfMbu9ka zDco#eS{8ro8172(C+=dSM+Z;*`4jiFZ{iO?+*3|Du#)#Dr)dA4L{8z^IxHtSMSBdz zW{MovTi(lNikx_VZp>|nlNW6lv5-I~r%c*YPGPc~4w0E8d*=3#Q`j;-B~3uQat3S4 z^l0>3B9gMKB*#)Ad{8QOaTps|6(Tt>W@R1qAbR^Vr~8RHU4}>;e*CfxU3OswCgyds zGRts28~Spes)02UctnrzTzD5MPd2Sruq@m7W9^QEV>bh5q^?~TjbJp7WVa?xlGK?o z$yyQF9!uDS1hpSO zMSe7<47DP_0`jVxMfi~-_!SXwhoxiC7vMpn2HEPM-})Fw%|*z$D-d44&OA*lM)FiX zYC!?G=!hiCyju94Pmkcd6d#_5tDL-b<+u;m=N8K2PMhu2MAv8VQMs?E>jp#tQA zo&1>^mW%|PjnKiH&jQ52`6xUq9|hY=BW^fA^J4x9)Oo`Tj>z+{?JF}-Ix*|dA$ZQZ zXvcR)p)Z9Y{1&8dGPf?8LPWU%&e7rq+z^a;DHN|AJpbq%W;2q%liY|8Amy$j6SHbz zv8~K8InengN32A1XMkaGWPd-~W{jMHFuP??hLsj)!9ven@}JOf)X9)0-VlL$a~u4DYIe{jva);lH-rILN5Di^D0A*Mg3>aO~6t9*wNG1n7f{2 zUSCiVP-&0WH{JXlHLwa`vYY}37n&bEOPFo@L$gx`AV+W1K+mOTT$rmvblneJde5b2 zfHF7$;S`PjP*v0}PO5XXgECcI;EK>IP`9G(TXda^ zfcIop{Vv}mAE3&3gXd{&@}2x3O4qx{&=YNj7w3(6I}-*{9#{)Rgc)CW+M}l{5sIdHPDuEj&FySamwF9%Q(|i-u49W%y&;j$XLo)%^BRP zxk<9hCl%Km`CT>VW>e_6=6bF3sj@Lqs;AMIawz!!Ma}=-bY}k@YyO3oQu9yxZZnAe z;Jg$9d*J&xJORz1p86e!*-?49uhDNI$N{2uj38tOPj?9N|EjV;c0c2AFO~h97_#sm zxk@f(AeCLS_Am`WJlr}#=8jev1k_yN;X7hXz>R_9T-7C!#7oWe1iKY+k?g_rfQgx# zugD|ZoYu83k_ktSTRJXo?5|SEX0fHx_>{;8xv{(pI_5781E{e)IAhOh9FnMz8`!vU z^TF&_C{o5aXJD!vNo&MqjFWkQ|GbHfB;douxOsFM@_ROlmS*c5J&P;Qj68Lb{KJ7C zijc+q$Wc8JzdS_4b~8cJf!|XW{)+)=%R6TJ$Vq`oc7}mkU0FV+G^V5KTr{w|q5zP_ct66`_O5=aquu2#0dDf*Oj2OE5NSt9omPASxQ4O$4WDp>q{(MkA0EHnYkN&KvgcIvM^(k3UwF}7_nzrg}Rvj zv%Y8Sy1wVM7(H6G%8&(8h*){#E-EFKAbHqEyk|0^{IQc@A%jrLzL>k4dx{ao%ilT% z&oN7^Y_62cJPTj}hr-lqkBXXV8$MeeRMKxd_Kchd&o+fOL(0aMw&#-)KUomMXa&$r zzl7D2(N!(S$`Jk3$=YJl_Tjnp@lh{oD*O~oC6U|S^;Tb15HSeGLr@@dV`>cf_C1y+ z#>p3zMT4*iJfpDia_Ec~ zTlKtHNd(a=9A2lxs^YndsFw{NwlHf_o<{!2fteI7^H=#_}R+RqRQzr%l90Gzv-u%uu!D7l7+n6 zJa;#13@O+7?$?XvTP@_tABvni2m77c#Z@XAZ3$rWI-~c{dZ>at_#4y#{eJdx_0STu z`_E6g3WK+wJZ3L1=9n0ymV`TsJj*KK>$&=JCY~I3!*0U1gcl}J!x@a(u=;YMRGoJR z-&nI8?$~}QJFA79>Ou`U>xGWUU+OpzzAG6zn+!E|WX7xdLGm<9gKBDuW;$keqKs}w z^&)vcqjd{&_$(!*YocwPtBowRO1`4i4Hncut3y6v1xni-bkNOHVBEqqsT~Bz!nx{D z2kxh?iNPJFTy_NqLoHtrbKM6h@rW@}2+G&PV1(>3cweAMS}7jB>)i*r$jw1;xp*d? z+(-p8B%A1#I!E1b0sG~cleYv6_lbpS zZN%`yFffS?98(Yhnn437hPsgm2Fz5?iC-c+0tvKeTx`f2pY)?ePmJ&xQ>(^S2o3L9 z@}IuYK8ME%(SoZw<|;%rY?1=={s+~yRNN^<)UdJbDV&ZD@dNyHia`<7_$l=7(9jCp zEM#2;blRz_Hj+HY)Ar~08l*wk& zfen$1q`+c;px=q^zsfW&B7d$3g32l$TPI~A$UJq{#C1{%a+!-hM!OR=5Wz-vF7S1* zHVqtgD@PI2{3UAe$(!ydrmvP%$qpTQ+p%3jQJB8ksRKY7g@?=7Mv=PMITJwD+91M9RjlCrMFzDBSlPI>W&;ZEpaJZ>af2pE zi0*R_3$WBIp|UXp8##1849pnz`OF6bP!vg9Cx6njusO^WrfB0C0%(0|(zMLHEOC)j zphc7wM?6{5wM!g@BH#JjbAC;1T1hkFm=rFul`A?JL!(Wbj~xYn(V7|^4I{>-r#w$A zumP@hIj1Rw)g;}=d}*=!mx}LH2g^Q-7AL1L9e8YQS1Y|>m}6>M_yHS)SW<^usX^A) z#|MrSReyh(opA`@GzEanFicW3Mx=+<7sxyd?PVmTIEWJ=8vLg)b}e@Yy$Vm`u>hRt z=2$%8E;tI03*UD2U{8A*ju*s)@~b&kk(gE-<>R#As*wQ<_@4oICSk16)foV(#ZIac zKF3;Uo6Q&Q@{@NBXkWw6DnlNgz(tSQw(Fdr$H($#X)7EltR;pP3lmjq2rc=((ZMVn zh=J;7%lrV)As#8r1`*iaj=<&`<@V%pBmMv&nLrOpWN zX7gk8%6PyKWOPu+Fq)&qIOL%xpqyY%5pBKt-?*4&(v%5?I5cn;glE64u}=r`Elr1u zABtZ<2zf%OZcl;2o+E1E9X`|Ar}Sjo>ZcupJl76XvTA`+qTqT)h*9Gq?c602#7GTk zXP`K-T(r?9vEWNAxxtY2?F;E3>tu3d8idsfnZ~P_phO?ObJW9*#DZdw*Cbi(!d~mf zzY~WvGNtDDD~qb&J`f=8uO?A$=bSr#W13xQBC zc{-zUkdlROR*G#+{}Y5}_6eewVV$!oiqz5*bUV@A)J4#7qL(x%N&25ow1p~(3esLt zo(SPAx(mabZ8*9bE#~3cX^)U-Q_uxL>QQ?HwA3$JwQ)Ea+n57GbPv=PGAHM!AH|g zv889QI3fAOmF`N$VyUZ;jtzUJM^6b5_8fN?fB*vO$zMM?;gfJ%OdJ$&_t9DyNa)v9 zM`6MVghY$ozv%9G=t7W}rQu)EcL|s;^HyOlWA!QbxsL4^;wR2!;|cN5(L}0Gqao9U zV=JP&NVIq?GW8ns=yfTMt4NVe3aCg?IZt;f=2fI9SE(XJlj{y@qL^OYW6 ztRQH}IH||43-ZxTl6dk3rcdZw3a_YRaK{ZU*NnrO%1ws@LEo~RboVM-<8PaPSLRAC zA%}fXfm!0VSO@?VFu2M;gB>rNLRhI)J$a%gaJRcND())7UQZ?{Ej1`Em+zaouV$h+ zQlVaCbGmUUzrZA`aD;K9FlD>DB;5@pW}>>|n=#e`ldvRWy1)P~9LXT51R|X~PFJED zGy9C)m-$xq6;t=hw@2S-li&kVysVQ|;)3kI^sL zLQc)oBplh+Cer4xsKvN)aktHF5I!KaCTFmLH(kmmZw_3Ll%3wwu!M6y8Wub$u@trua+i9s>m$M~~tGlmp zWuYr3qC#zxCbE^tI3|(<%4j4gES`X~!tH!C8Y75rPZH}Pf^iu8;RtCEvN^3J4h!tb zET>>(5M910(jJ6*25e!9l0i>SM*>RYs^uVIO{D5^c61T$pzGN&&f_5|SBV*BoUalW znuT+-7$zv325?S5&tVI6p2zD5xj?#}+}Xmy6XjSEH(UT3Ux6$>rFG>IxwnzeTJQCB z{Djr(Aa%mMeDpShF(_$$k)Y;S&4R_$Et7yTf}3JapjIORRYHn)I0rTqisiD|(B3s{ zj20M?Az?rTXl064rVA(4!SCYsm`fa3>U^?rEwcas{4u{B0l#7}R)4a!Z)YCszHR8_QJAY#6j zaS17x@ZuR8E1XLILPi5NvxtFVTjbzb;9ki_wIm&!Pp4cVx9OE#Gb%Vjei<{SMB+xs zV<}jL1P%xD#N#wqhM8{)tv3_c$vGJ`XY5K=C zNzywtRnr5O&pYWkW_b2r1mD(xN!SB zGewu=i}&B@djVL_5r3N4gj=#mj#-Ro>xT^XjjG_jFcd=WqpXjxHswX5pFzBZYfz z7VeM9UcqAhE2o8&rh>Gl70N9N)UWD9nJ;;gSWeFeE*nJhIJw-Fh~-Err>90wUSk0W z7K!T*f=}!cL~HdFJ#({ZIuf@bc%K}M%oOJQji3Y+z=8wN4=kYoO9w*Fnd`VM97DUr56O_0Nb7jJ~7xb7SeAqG( zXL;}=$&71aq-R|uQdfA5ja(fURThhvqGF<9j3%3&+gwa@N;8@thzFw0$tL8IO!eYi zL?~Z)w#QMT%%8(7(u&}Wf?92)>3M$2d3TV7PcF)h46gW7~y zhS7ik-Ay`w2Cr0K5rF- z3c8kPH-bXrOK!zUd!dDvGejh2Cb3@^W5S5VIA+ob5Ht}41o!HIy2y9%a@5*pa(19s z-Uzxhx!JahyK6bN)=C^(Wj50wqK zS5rZ#W0)E#(vg>6RtNH!jiB&)#O-u!_LGh8YThv46@B5?2sdIAx*gMxO4}!rl*)Xj}i4~7%0TjF7Y|bL%U_i(4%fCYXi5Fudd5k#gL~) zMy{v}Qj2L0r<;|b!~v{=l3=6RMp(TaNeyRMq&?{n$3ZAiwt(0{NGFL5aX8hpDYa|5iG&n7MU5N(CZiUOlT=JFYL)-N}Z@9K_1Lepb)Q-W*>~E3#bA zi9HFH?4U~ysGdPyR6n4tR2!+CeX-=>T_Yb~oW5o9v?H);oXdCKXna_sO8Sh08dq;w z#zAkF#Dt=bJqMj<+;D8rVN5rH$PFY0n5jKFHSWa_>&Q@|G~wp?6GUO+XkU0JaMDxZ z-dKz({DYrAeteOZiQ_-pKRC)7g6N&PNk~K+cq7k+FHr$k>b}!{7ls8<{-JK5tkOOy z9(EvUpHZUhxU|n5XxisKZE1h5TU_q;&m3U6PbyI+s!aPdK^1jAMKY_XYoXyK)79Gp zGI6xb$?g8}zIFqIuFF{fx-Q3xdw(k4ueAvh28fO(6B)`NS(N1GT$G=ZOc5V&N+>H& zWuYadVF`T0r9^BpX6Wp15~n3?yMIEa^yI+vL1=dZdk`TW3cpj*x6oSYadiT_p53mw zgsUjeF*u|C(d~$e0#4fMrzfx*(}RAd7XAha4`fHI6ra@moYXh&H_3znp{7YR`tmlq zswVonZgDq1%yUIowfX+#!D3m;JBq;)?=>_9047R$GCnTfFEPoi4|{ur9z;1G*c& z9?~j1Eu`36^6Sq${^bvS=nD_N=ZYm9M5c%=&(Mc|{NX2__{FUcT=O4@BkqINEYjA! zB!PnJ!=6dlTbjC&scl)$JvkT~z;Q4(Y)L0!X9UN^Iv87LMnJPUd(|ZbVdth+Tp9*; zmP8VL$w@n43pk9xop|1^S#hvr{?*j`kR98XeBmQke)R31Opmb40!BA7vTNsO|MIgp z{U&J#o)KZ{Qp)%VOP_Pxufv0^s<4rM*T2{jaGeidB>nakrk;-elWip%h%$YB;oo&^ zPc+@Zl@cg8P{GAixoDaqQ14MPm~m;S&HXnDU9609qVrrqKaC6WQ#9D%Kt+4b2J(Q>V;wvKna%OI%v*oY79X2l$59#;hn&J;+X89yq; z^}VNqf)d*@^$$%vK-19svhRlXlsOR z08ac7ls3uvWd|1wI+g8@ghOQ(|2F}VZy3*YAq=5sng&r#e=iKaNeq6Uoc-FparPHZ zvR7eXfd@jRDyA+eM6czh>W8*V_>}*v$BaePJm2nGQC9Lmoh#dRNL}mFCeW6~?=>r&ngU;tJ zc3f1Qo#Ubx-TQr*t9tIJJ?bKr+?XR}JsDX`=nwfzqnSr!l+Jo6`%Lb1O3Y#pmz%+i$$(k>C8-i!*!n%D?!+dw%(q`#z`K z#Cb@rnJF5kuaWDKWWY$l3FPa%9j)x(0Q=}11A5xa&vF%^f8DuC5^dDUeqmL9_CCMu z4k{Abp3cBvMx1a6G?!-E}{5 zM5X}=IqKMwhYd!=P(5p+p>}c zCWU)P4ljUpvUugx!_hJ8*rAwpge<2}x*)37H}Jo3t&dI6XGKi4rosBc0S}k4!Yn;c~}>P+>(+BA2W0DjQedbmDOK2$Rq8hMTJhRaQVsLBG|yMQC%fO&`=CL#8O6ndO4vebZk+I z1B>n(D2Z}AKQ)Qz<|2jmJ<`gZIu2Aht`sv-eYFY;8>DErXC6%e2aJ;YJ=0+m`RST% zf#?8poG2A~^SqHD`qCAzWa5ET#Ow2Z{Hm8f*h@b8J=3G?x_O?*w=-=x;_V|pekffb z%GBkeyM8f>!c$Xv5VPVNdt#LhmI(Rj!cM8p8RO=3Ag7@j!Q$kfV78q3n2^dOLWmWl ziD4Hk)i>u6LjPG+7PC+c^p(tJ?F#|8Urg!5TQEa-m zPId(;nfS@Rtz3)Mu8FTCi=3u8R(JAHd~Dy)xylI4W8w%^E&|h`aS>7zBT%bx5wNUR z=8%gr1kffHBw}|{U1cT$93nT|@VQ~wSgn)Jkb+eoa2*pE?OW03D~!`z*8TaO4hOKA z*HN1gX}xGAKm{b(;V?VsTsP=RDf2lWCNd`l63Gc0ij^H6w4@saR~Af0wFJaoHq(X? zKX!YYLZYKmjiV1115?Q_n?&8LXULRLn~dl-Af1zGF4saNDf zmXYP8h1)&9)Hr0##}bzIoInhDs#J)QYb_{QGh))^DhsNQV?C^uGOx9uIdRY~1+B24 z@_FYv0pxV)tf{u}1e*)>(MlcF;<<7ySgEs@TDbhj)xzbU)WS{}IoL*m{)CF2YB?{`QY24;eBP4p|JQGy|Id$p^P#_v)7<>S4}blek6rccpj^+m^*g?z>c(~7 zasRlw8$*-{XNh0L{@%L&{ha z_TbMQV;>1BEXl8T>V*ckX)>h=zhR3KFjL8@n_d5^F2pNx9ZadhBrM7%sTd%1_g z^5vdMPSHKmuxHd$5~QNrSS(lZ`Z(rv_gd@vkp_L!&;OO5C_WH&oFg?ID&~gaJcS>! zw(1HBOGTjSgA;VNow+a92OXleFni~tJhrN7=L~3nNJ75Ua=Y;f*Abqy7t@swT5;J+ zD$to3Da$M=V4m&f!$X79%MjTPPZI9g;YHMX$hGg0n?@_!_sl1gSBrbY?V|u8iTm&! z$wvdtO?M`*7WcNDm2sVEsSL)a?;`Fry^g`{e!t@7PB${5XV64hiDU5|3i8!doX}++ z!za28P(-tA&C+Bq`Ukx|xCS-o{RkMJd8?wXEW7%kE`t(l$6W`IIM z(+1wy-zb`~2~&PbQEm5n6cM0>P zQkKeusfZ*nEK@lf3}SU{Uv&>m~ArmtRf6Y)gvJ*~^v@|8@* zgri>XjK2yg0H#CGI2l}wMs`n~f52{5D7IvSEeuf_I|7RFq zf_30a#)Lfujjse4YWf}h;N+t!;{?e_1<8!lQGYE&1pfG?1Tnwe4+TeM=8GFI`t0lO9*x^twGtRe`3W5JlDWk5OlNTb=Dh z-?+}f_&Sr9O~ThjZ=HTT^;Er3CMYd%am^~`#JzlHIMsT2FcX{$bLfmj!?Y_86)@XZ zy!T70aG232X-!b))8%gUf*rrW3CI$n=;!Em#zNF?@Qj|+^C%!Hd<|L4a+IH9o=dlz zuk@=uCfuW5{(IFK51z!8=E`#AxT?6i!c%*PHuiOG4SP3i>?>_3^$&Lq_YU-jgQelk zgZ-tRu&X~T4Gsd)t@;aWJjd1$zMVRvUodsk0uQ+sPm zL#bm;V{2RMn%4I2=EkOmmeoC_=H@kR%{^<{+ZOiqt{&_f+`6!%cBvlv>mP9S?;hB&v8#JH zzQt|q9_$(}4J};LyQS1Kf8#)J|M2`vx`sAb@oNSKH*^gT$5rq$enFUsV#R}Ac;)xH z_;3|&4Yub{_d^kpL^=i+JV904LYBa)rBsPd5V|qO$6o($MC<;YEu!_g^yDwXuHgst}q3saeGkUlmgK z%_Z*;;wNK#I?qX7-{5%}SJGDBi>`SqRL&pqqFeRwqZuQDm;SUg>IMF;Na8J1tyhR7 zgkkScI6N>A_JNWmp2E1R^|-vLwQa#`GX*`e-D^gbGp5)?r zw~+ow;(wXD#%+?%?L4c!d*)+sQO1nP(qP|KMqN0T_XUDlIJ|XZX;DqcpT%Aj+VlBi z2?j+;7lq2E#(SEwPou2nY{5I6`zyH%=4Wvie3Lqf7OHK3di)VSxiLFJ9eOEq372pu zd5?IWSMk1>XN~DoASeUFVNdVHy*;IH_15suN`nInJa2Zc;2l;Gzl~?>r?EaCfRsDF zH^8V~(>HKQsRs}p8-@!*?@ZFGpEq!4czYY;ds3g137g54yf^Y(S-%F}#UqpNNAs-m zllO%@SJrPc?}t`=eHxA@OagD`JrnFeq%z-8XK95LO5M`!igb_@uikK z#s@ZR6t=FYcH`*UnEsoj(lyvSymmurxVJmp6Tv+14$^4+kB#8^xsMPg+2#k_1)J3{ z>;B>X%^Oyi23O9Te_X?shSd!NCHux_FI(f{iH^ODE9s-7cn-P#m_Di_z5Y}W@u`;z ztG)HnrPNzIA(8Q3YTo63Kx|mJ5dp3=*suP0ocu*I{sF;Pw6yYF?MmK1%Xht7e^rE^ z2BOd5y7RQJv1?I+08LqQB&xe19Eb zqK8TNX42_7`7U`wH1OqI3BD-bS8)9?_##@NKb3V1*GmQ3-tgu2+VS|3w5_K!)IHd{ zQKP$lt~hs3Y2#q28#%w{_z>YVnch^kwVt|FzKgdhtYcEaJC^%#T%zB4p3emf@kFmc z3C%{wy^FRhY?!p7`%PR*t7oNc=4y$rR_=nkE~dE1LdLI#x-|0&OB*&0Zw-w(A1p#o zW<5~%js>ko+y~wC%KHg*6;HXEtD4Jjf2oR(rAC_}tQZ(NJLZLFl`cviUk^)N(KR?! zLaMZM>k-q*qk~KE(bdVturk~dEz_m&*G(>XZ{k|VwV7*#>-_#+&Ai4);G#wSrAt=! z_ILMf9)d-MvA}o3eReb^46cmoaPv!JtuLU-QQiJPlkrO^su&TC}ike+&i#&sBdey zx>V{90oc$0N(AO#10msUbtyy?6G|XKGmtkA3JdzS zj*?zD_EKre&~T59fuXJa-3te(ub9Ntf_El)zK2WW*6)Sn*1Opd3%d(H=5Xd1vIp|PoBQCOT-Fp6_GtzAdWujkU}jHTr@ zeZ3pQq27!7!+|wSEA*tfizX4Fw~@4>lu24igu;k})#d|{L~o}KDmRft_ajt!^@m8R zihlJmdgr~hBQIuvX`+#Iyaw38YUaL)N7A*PcRSTq_q>fuf?V=`Ezc6ZUTo)|&rFpb z^g5=y?oaYdx_{67l;VKrmKOOyCYU=Y{|xH?Puw+W_!sVi@h`cHpzM!OiU=h_%Behy zxL0w#RK?{o(&|rTYvTJ-3CiAtlQCjY;yRdc+(Dg% zugPRCVWeGzCGcC#bHYd~!@CJTr>xrtPb$*9nrGEle+I8HqP0;nXj!|-_Y;pOn2_GV zUF6VS4YlYHsXaj^PM1Bfm25>oPt7-Q&+%<_gSnb?5PfMn&p0|@S#nUw5 zQ60`NTad!;wOuktlm-z5ld5|2W)+P0CF$mqM&d@IksWKC^stM}YMHQtfT!az9UeDa)HXnwmPAo5{Yjjas+0(2SO*c7myYLldoN zXrL{vEsbq$nC9Br8#`NHjC|Bf8OeB-e3Z2Nex9X(O5VT1vt*d${bruU`;+&#PIyOc$M|ECl~!0c#_1I-A-6Vn=67 zOKWRWOG|T0YgiF)$AwHcdl1DH!n#c6721SJ7!YXj8>1DhCE9j(B$Qz+d4oEyo9);G6yg0+o& z0d7s5o$ZYRbqB4X7$DKs+DdI1WJ#Y+f=T4*Qw=Zx+z7mZE}7G+mZpv-13lnwX{Mj4 zqtKtRM2p(h6O5a14BwVUT1s!U3*-$=7&5s*0Ft&G zMO!Lq*(~0LugUir6TatpuN+&s3Gb;1@6VH0W&Gbwc>gW$nhYo9{Rhus#rwbWT$%n? zyth<*|K)`DUrcy^dcym^PI&(p-a{_&4gFDlZ#`F1pP%qtNniC|39l!4pIs6EhdkF+ zyziRu{(}kc-=FaQy$SE%o$&rd{67C+G1dbRAgYVw<%f7W5hk{)@RGGCU%I=7R;K1$#>N)d7l0XS4Zs8 z{Gn*)JxlsToa&J`3IZ#tEQx}calqMwHI_=lYwEoylkZYJ0R<{rQO!jj4xb`3%JVV@$Kz zJy?=qB3y$IKPIx67R8%(biwG_!D{+`$%xG4nyn^=a@zVi>YzDN!+r?Fqr?+^Si!xQ zyJ(7Fl)N8j@6j#aWM=iQ*6xALeLV)Rvd$MTg|)z1?52yz0uc-Scc&>c^B<~8_USIHT=Y9v*r?~WdCznkkg{Oo4U41LN&ByE0geS2049^wy z@$@aBn19Xl=Kl5l1DEt$%7G#0iB*~YF5;Z;;)GTfy*+2H({P-9ZaK(1fiO{?i%P@l zx`7Rgz!3T2$Onf(=EmF5=8YTipDW?}GT1+`2u}}(SI$>4?84qKWR4Ba^<~Uq5e4_~ zX4ABsTk1yJKmn%=Y}~qJEAD`c!d_}Z_-3s2TN#^O8%mc946YB?;4H9tuyoFF-)W_O zmuOM=8q8e-mkfnNTZe{A8^Sf4`^~4W9Qo99qO(q2WUmbL4fr_q%D5+!2PK`d;(XdN zgqKcV?|Q5n=fu%vL>b)da*`FK+|bvQR)?nyZrzBlPPAgV;IO&B>tZU_wYsl#3R8VC zctz6JZi~18fVtXUAb+5txGn;#H4?r41zTQ21Bb$M&N?l`e{C}rj3GQWLVL~v85XP? zigOK58Q8F4p#PQURwUR>6bDX6`$feTK0h zm4PrX94cX78Xn#_v}obNo`G%+o`q#pd3irIT{kozPZrmh`Eg1I4>LuJLWyIEy3glY z$W_NBDyDatt93QT?+x5VA69^umvDWM>(g96<|-Up@J{Ah#dR5%;^_JW&)?yyIu276 zSB#ayn>$GDXct$|Bc#Zbdl zj5;M_^Y3{+SaeDjv6bDWzP|a53mQ8YG#H!2BX}itGf~Wuc?Itx%KI=^8<%KL5+=!_ zn(LKAhH&+Bd9Ixg9Jo*CuDJc1(Mp;5l!k7ULyq~!$!WL@3p3XP}iDLhzYT4NPvS8yX;Vhfpg-_y~FRK{K=I6Qnj69+Ff8% zwi|lhZRGnZ@|{EDmTO7Tu(k_FU;rU?KB`Ys3b-2o%1>tKQHw zFKljm?SWgCwGVEjPR~u9FTE!bXi-RT|ArLe+UMO=&aVn5XnhHs}H3H zO$%4^N$)NqAy^rkU44hSPa}^LPpmr;wCY}4s-Uc^`T$iJ4g!|pgr#CuQmA~0EFAgt zqvWA+^4HuC=l(VB8iV5#n%9v_%C{uV({bA8;xtKGO>z==)VH`9@efItjIAH>{9~>s zxin7>-yF{4r)FNwW#MJ@^)>VMiV)04>8oDyn?<@_F4Y$oQM8Jv7E%5;ploeGe=Qv} zy6C3HW^4}9fTA63M045H*n}Duoh@omj16cpQ5iR4J3wiS5d@8NbBENs7%DJGw4nBG zX+tyGfr7XJ9d%P{Gs^Q;^v~_+t2^7!?6x(b2gXv-hEf~#a3{tN6v*g1TTr*k0Mdc7 zR0?(U%c$F1JK9jJVr4T{GU+3Bm?#WTLn zU2Xjicj2-)XadN1`p{)|JvV4s-F18@dOk#?A$jD7^^WPz6@XWH&yi1_d~)qhD>{w`N}pAPN`9tyq{JW~5;^*;xX1yA_9GCvG{mVPSuWw<;2Z17*H z-}$x29DmYTXTRe^ANtETU;FO&e&jQszxvbJTy@)tCtdLChrgAcKBKMug4bN}iBH}6 zh1OluuKDw~e<(d^^3-W_8(S7FUAFv{XPwsLSX-1Fz2_x=woSa?kR`5(Ob!ymon*4ys*{5|(( z^RE)l|(merac_yQ;e3uuNTQR>oi4kv=1{ zFkO?Y&Mgj)N!M1lr50so=F+vf70cV3CpG65RMl)d`kXV4t2*|unMco_et7j+6maUK zBXTv_)2oiD-ke`@(y`g&Gd0;)XZ=hel^MBq^~+ALsu}s%n~F>GHQ7mrEXvlj%}XCX z^0^aw&aFMYx@OtZS*KT>J85~YX5>GX)f|~RZFzfYa#c;XGgq^%?TFm*so59!Q<^4S z^?@~;^CS1Z^~~-`+Zzgpz2g&Cp7!C-UD=sCHhp3C=$d6U^_fGi-1&ym8R^d4)Wt%H z_dQ#+{hyDm{>aa^HBa%6%uY^MZM*Kz)9W*nQq{S_yH=f6J$%B*f7A?BZ9H_@pG~iw zUi+HrBSx;-c3SE!OQsyUeZ^7P?8u|XWjGXRS8-phQ*5Kp8C(@s+ z`mf-3ncoM0NIhSD$Cj2fp_GCx7z1mo|iMUv&J5%U}7%?QiGfU7!EEuYB#B4?X!4uZ-@;3*X<= zQ`-K{4}9=}Z$30>>fA-gFJ1ncH(dCpl|7}mz4PNFx$l7=Jo%H|lcp|R-cuUc{+WBe z_@zf5+x>4>z2(|lKK8{g-S^dpp7_q`H-6z8U-{-k%g;LdHLrWq%0GYmJ3jrlpZ(I8 zzw*_`rXF_q8!r5h-~QqGkqw)^|AWa#^$*NGa^+>0f9lRF{_dW`4u9EE%T7D%Y~laq zSNzR=k39O_-T(HR!J&5yZ+`F53l`pb=V!n4)rTJY!TY_%@4K<#9Y_7+Bj0@ftg~PL zhFsN@!Z8bf`K$hc_7hKDvh@0Qo_o>e`yY7tTaSPHXMcF!3s)Ae{6YH4Q>$jBvs1U- zK6&JmnWL(=%}O0n<);^>Thh6dpUdW^)~uK^Eq8t{m7ZNwovKRZQb8(}s!eB7`K&+r z(9Bu6S-IEbg6!e7E7GT==0l&RW~bCHN+0=(mEnf;x>tg7wkA6>`?}n5nPoNe(jZ5wF+VRoGn-G1+|H+kjju|L+){NyYD(&aTu0S$nJb^4 zI-_dg)cL8pDRomuu1jC}z9aI7?zkbdFmpVpHlupvi^bvEk$;}Kt&kb{LH^%AlxnZu zcH#7qyQ@aNo~fB}e5xkfQMHWy0f+N1OT9k*y6TauX3VZRtoqFK$Xm0YyruT=bmNE9 z+nzW&SDVRO?2|u7F&NZzk^- z@+|(bM@B3y=-TKQz=Na}?eE|c&$@8)o4q7#4eu}K+9N&US;BW}PjY;x2F51dsf8*y z+)Ix!ez_XoI*6$G`Jmh9?+W+b4dVZTY!sxtjW_D-2P8?9l50W_R z5~%aT#tv>$M+G7wRjE{|Nhm^rL%c~GR1`=Br2IO7)H6~Kt=bD!d?-Rf;xFKa)NAP# zE(G;}L`5T2oKQ>O7=e7SXLt5}-@N&}c9@8k7HGdlH$#)Nsf4)V<{z!&>T%&K^>q8h{b%XPzy2&NK6>6-Ow`N89o#s@CB9IVsJ}y*7GO56?CC<2 zAteH{5BdJn@pKfS*C68XXUFuXZnPH(b(~=wLnqA0Ag2B0#<5C9_Clo2ancAw6?xH! zec7@CK9FvXqO479hfrrE&%F#l$&Cm_!V^_n25~5H8`Zl+qvFd0Qm23KtPEln1_X!0 zJS5DzWk?iQeVa*_*Q_?3!cNyvrN`M^5y&jZ2Uo#X?aiB;J_yxkI ze28zgkqCi)LK5h0=n=&Q89`;JYAP&S6r(JaMp!{}2LSJgo^~QXYjhy=2DSV)qwuhx z^er?J6?`qqAd|?P@Lo&b`^4fW*}J;~2V7rV))lr*)hl4moR1wQ|kBY-f zPa7CqU3^lWD9`YtRel$0Q`82(5?{%j{w%JV>zK@qu$>uQC1!}jdf37pp^QW=;sAmr z?WrUwxDD<0w3!9E(HUy{(D}yncvjh0z8>TSeGB;BFDINoa@O;~vrWGbmsJtu6?>i$ zf$wS0AjuSic25PO%OqTdBm@iHbcHC_0vaIaj5coyioIL2)_+2fQ@pDv95wSiuFBG* z$bqrWNtic3Xf= getObject(arg1); return ret; }; +module.exports.__wbindgen_string_get = function (arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; +}; module.exports.__wbg_BigInt_42b692c18e1ac6d6 = function (arg0) { const ret = BigInt(getObject(arg0)); return addHeapObject(ret); diff --git a/packages/hyperdrive-wasm/hyperdrive_wasm.d.ts b/packages/hyperdrive-wasm/hyperdrive_wasm.d.ts index 52102eee4..b4addffa2 100644 --- a/packages/hyperdrive-wasm/hyperdrive_wasm.d.ts +++ b/packages/hyperdrive-wasm/hyperdrive_wasm.d.ts @@ -38,24 +38,20 @@ export function spotRate(params: IStateParams): bigint; */ export function calcAprGivenFixedPrice(params: ICalcAprGivenPriceParams): bigint; /** -* Calculates the curve fee paid in bonds by traders when they open a long. -*/ -export function openLongCurveFee(params: IOpenLongCurveFeeParams): bigint; -/** -* Calculates the governance fee paid in bonds by traders when they open a -* long. +* Calculates the amount of lp shares the trader will receive after adding +* liquidity. */ -export function openLongGovernanceFee(params: IOpenLongGovernanceFeeParams): bigint; +export function calcAddLiquidity(params: ICalcAddLiquidityParams): bigint; /** -* Calculates the curve fee paid in shares or base by traders when they close a -* long. +* Calculates the max amount of bonds that can be shorted given a budget and +* the current state of the pool. */ -export function closeLongCurveFee(params: IClosePositionParams): bigint; +export function maxShort(params: IMaxShortParams): bigint; /** -* Calculates the flat fee paid in shares or base by traders when they close a -* long. +* Calculates the max amount of bonds that can be shorted given the current +* state of the pool. */ -export function closeLongFlatFee(params: IClosePositionParams): bigint; +export function absoluteMaxShort(params: IAbsoluteMaxShortParams): bigint; /** * Calculates the amount of base the trader will need to deposit for a short of * a given size. @@ -77,37 +73,24 @@ export function calcImpliedRate(params: IImpliedRateParams): bigint; */ export function shortBondsGivenDeposit(params: IShortBondsGivenDepositParams): bigint; /** -* Calculates the long amount that will be opened for a given base amount. -*/ -export function calcOpenLong(params: IOpenLongParams): bigint; -/** -* Calculates the spot price after opening a Hyperdrive long. +* Calculates the curve fee paid in bonds by traders when they open a long. */ -export function spotPriceAfterLong(params: ISpotPriceAfterLongParams): bigint; +export function openLongCurveFee(params: IOpenLongCurveFeeParams): bigint; /** -* Calculates the amount of lp shares the trader will receive after adding -* liquidity. +* Calculates the governance fee paid in bonds by traders when they open a +* long. */ -export function calcAddLiquidity(params: ICalcAddLiquidityParams): bigint; +export function openLongGovernanceFee(params: IOpenLongGovernanceFeeParams): bigint; /** -* Calculates the amount of shares the trader will receive after fees for -* closing a short +* Calculates the curve fee paid in shares or base by traders when they close a +* long. */ -export function calcCloseShort(params: ICloseShortParams): bigint; +export function closeLongCurveFee(params: IClosePositionParams): bigint; /** -* Calculates the market value of a short position using the equation: -* market_estimate = yield_accrued + trading_proceeds - curve_fees_paid + -* flat_fees_returned -* -* yield_accrued = dy * (c-c0)/c0 trading_proceeds = dy * (1 - p) * t -* curve_fees_paid = trading_proceeds * curve_fee flat_fees_returned = dy * -* t * flat_fee -* -* dy = bond amount c = closeVaultSharePrice (current if non-matured, or -* checkpoint's if matured) c0 = openVaultSharePrice p = spotPrice t = -* timeRemaining +* Calculates the flat fee paid in shares or base by traders when they close a +* long. */ -export function calcShortMarketValue(params: ICloseShortParams): bigint; +export function closeLongFlatFee(params: IClosePositionParams): bigint; /** */ export function calcCloseLong(params: IClosePositionParams): bigint; @@ -128,20 +111,37 @@ export function closeShortCurveFee(params: IClosePositionParams): bigint; */ export function closeShortFlatFee(params: IClosePositionParams): bigint; /** +* Calculates the amount of shares the trader will receive after fees for +* closing a short +*/ +export function calcCloseShort(params: ICloseShortParams): bigint; +/** +* Calculates the market value of a short position using the equation: +* market_estimate = yield_accrued + trading_proceeds - curve_fees_paid + +* flat_fees_returned +* +* yield_accrued = dy * (c-c0)/c0 trading_proceeds = dy * (1 - p) * t +* curve_fees_paid = trading_proceeds * curve_fee flat_fees_returned = dy * +* t * flat_fee +* +* dy = bond amount c = closeVaultSharePrice (current if non-matured, or +* checkpoint's if matured) c0 = openVaultSharePrice p = spotPrice t = +* timeRemaining +*/ +export function calcShortMarketValue(params: ICloseShortParams): bigint; +/** * Calculates the max amount of base that can be used to open a long given a * budget. */ export function maxLong(params: IMaxLongParams): bigint; /** -* Calculates the max amount of bonds that can be shorted given a budget and -* the current state of the pool. +* Calculates the long amount that will be opened for a given base amount. */ -export function maxShort(params: IMaxShortParams): bigint; +export function calcOpenLong(params: IOpenLongParams): bigint; /** -* Calculates the max amount of bonds that can be shorted given the current -* state of the pool. +* Calculates the spot price after opening a Hyperdrive long. */ -export function absoluteMaxShort(params: IAbsoluteMaxShortParams): bigint; +export function spotPriceAfterLong(params: ISpotPriceAfterLongParams): bigint; interface ICalcHprGivenAprParams { /** * The annualized rate. @@ -182,18 +182,76 @@ interface ICalcAprGivenPriceParams { positionDuration: bigint; } -interface IOpenLongCurveFeeParams extends IStateParams { +interface ICalcAddLiquidityParams extends IStateParams { /** - * The amount of base tokens to spend. + * The current timestamp (in seconds). */ - baseAmount: bigint; + currentTime: bigint; + /** + * The amount of base or shares to contribute. + */ + contribution: bigint; + /** + * True if the contribution is in base, false if it's in shares. + * + * Default: `true` + */ + asBase?: boolean | undefined; + /** + * The minimum share price the trader will accept. + * + * Default: `0` + */ + minLpSharePrice?: bigint | undefined; + /** + * The minimum APR the trader will accept. + * + * Default: `0` + */ + minApr?: bigint | undefined; + /** + * The maximum APR the trader will accept. + * + * Default: max uint256 + */ + maxApr?: bigint | undefined; } -interface IOpenLongGovernanceFeeParams extends IStateParams { +interface IMaxShortParams extends IStateParams { /** - * The amount of base tokens to spend. + * The maximum budget for the short. */ - baseAmount: bigint; + budget: bigint; + /** + * The open share price of the pool's current checkpoint. + */ + openVaultSharePrice: bigint; + /** + * The exposure of the pool's current checkpoint. + */ + checkpointExposure: bigint; + /** + * A lower bound on the realized price that the short will pay. This is + * used to help the algorithm converge faster in real world situations. If + * this is `None`, then we'll use the theoretical worst case realized + * price. + */ + conservativePrice?: bigint | undefined; + /** + * The maximum number of iterations to run the Newton's method for. + */ + maxIterations?: number | undefined; +} + +interface IAbsoluteMaxShortParams extends IStateParams { + /** + * The exposure of the pool's current checkpoint. + */ + checkpointExposure: bigint; + /** + * The maximum number of iterations to run the Newton's method for. + */ + maxIterations?: usize | undefined; } interface IOpenShortParams extends IStateParams { @@ -256,53 +314,32 @@ interface IShortBondsGivenDepositParams extends IStateParams { maybeMaxIterations?: number | undefined; } -interface IOpenLongParams extends IStateParams { +interface IOpenLongCurveFeeParams extends IStateParams { /** - * The amount of base tokens to open a long for. + * The amount of base tokens to spend. */ baseAmount: bigint; } -interface ISpotPriceAfterLongParams extends IStateParams { +interface IOpenLongGovernanceFeeParams extends IStateParams { /** - * The amount of base tokens to open a long for. + * The amount of base tokens to spend. */ baseAmount: bigint; } -interface ICalcAddLiquidityParams extends IStateParams { - /** - * The current timestamp (in seconds). - */ - currentTime: bigint; - /** - * The amount of base or shares to contribute. - */ - contribution: bigint; - /** - * True if the contribution is in base, false if it's in shares. - * - * Default: `true` - */ - asBase?: boolean | undefined; - /** - * The minimum share price the trader will accept. - * - * Default: `0` - */ - minLpSharePrice?: bigint | undefined; +interface IOpenShortCurveFeeParams extends IStateParams { /** - * The minimum APR the trader will accept. - * - * Default: `0` + * The number of bonds to short. */ - minApr?: bigint | undefined; + bondAmount: bigint; +} + +interface IOpenShortFlatFeeParams extends IStateParams { /** - * The maximum APR the trader will accept. - * - * Default: max uint256 + * The number of bonds to short. */ - maxApr?: bigint | undefined; + bondAmount: bigint; } interface ICloseShortParams extends IClosePositionParams { @@ -387,20 +424,6 @@ interface IClosePositionParams extends IStateParams { currentTime: bigint; } -interface IOpenShortCurveFeeParams extends IStateParams { - /** - * The number of bonds to short. - */ - bondAmount: bigint; -} - -interface IOpenShortFlatFeeParams extends IStateParams { - /** - * The number of bonds to short. - */ - bondAmount: bigint; -} - interface IMaxLongParams extends IStateParams { /** * The maximum amount of base tokens that can be spent. @@ -416,40 +439,17 @@ interface IMaxLongParams extends IStateParams { maxIterations?: number | undefined; } -interface IMaxShortParams extends IStateParams { - /** - * The maximum budget for the short. - */ - budget: bigint; - /** - * The open share price of the pool's current checkpoint. - */ - openVaultSharePrice: bigint; - /** - * The exposure of the pool's current checkpoint. - */ - checkpointExposure: bigint; - /** - * A lower bound on the realized price that the short will pay. This is - * used to help the algorithm converge faster in real world situations. If - * this is `None`, then we'll use the theoretical worst case realized - * price. - */ - conservativePrice?: bigint | undefined; +interface IOpenLongParams extends IStateParams { /** - * The maximum number of iterations to run the Newton's method for. + * The amount of base tokens to open a long for. */ - maxIterations?: number | undefined; + baseAmount: bigint; } -interface IAbsoluteMaxShortParams extends IStateParams { - /** - * The exposure of the pool's current checkpoint. - */ - checkpointExposure: bigint; +interface ISpotPriceAfterLongParams extends IStateParams { /** - * The maximum number of iterations to run the Newton's method for. + * The amount of base tokens to open a long for. */ - maxIterations?: usize | undefined; + baseAmount: bigint; } diff --git a/packages/hyperdrive-wasm/hyperdrive_wasm.js b/packages/hyperdrive-wasm/hyperdrive_wasm.js index da61af24b..fc115c5cd 100644 --- a/packages/hyperdrive-wasm/hyperdrive_wasm.js +++ b/packages/hyperdrive-wasm/hyperdrive_wasm.js @@ -319,32 +319,13 @@ export function calcAprGivenFixedPrice(params) { } /** -* Calculates the curve fee paid in bonds by traders when they open a long. -*/ -export function openLongCurveFee(params) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openLongCurveFee(retptr, addHeapObject(params)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } -} - -/** -* Calculates the governance fee paid in bonds by traders when they open a -* long. +* Calculates the amount of lp shares the trader will receive after adding +* liquidity. */ -export function openLongGovernanceFee(params) { +export function calcAddLiquidity(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openLongGovernanceFee(retptr, addHeapObject(params)); + wasm.calcAddLiquidity(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -358,13 +339,13 @@ export function openLongGovernanceFee(params) { } /** -* Calculates the curve fee paid in shares or base by traders when they close a -* long. +* Calculates the max amount of bonds that can be shorted given a budget and +* the current state of the pool. */ -export function closeLongCurveFee(params) { +export function maxShort(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeLongCurveFee(retptr, addHeapObject(params)); + wasm.maxShort(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -378,13 +359,13 @@ export function closeLongCurveFee(params) { } /** -* Calculates the flat fee paid in shares or base by traders when they close a -* long. +* Calculates the max amount of bonds that can be shorted given the current +* state of the pool. */ -export function closeLongFlatFee(params) { +export function absoluteMaxShort(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeLongFlatFee(retptr, addHeapObject(params)); + wasm.absoluteMaxShort(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -478,12 +459,12 @@ export function shortBondsGivenDeposit(params) { } /** -* Calculates the long amount that will be opened for a given base amount. +* Calculates the curve fee paid in bonds by traders when they open a long. */ -export function calcOpenLong(params) { +export function openLongCurveFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcOpenLong(retptr, addHeapObject(params)); + wasm.openLongCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -497,12 +478,13 @@ export function calcOpenLong(params) { } /** -* Calculates the spot price after opening a Hyperdrive long. +* Calculates the governance fee paid in bonds by traders when they open a +* long. */ -export function spotPriceAfterLong(params) { +export function openLongGovernanceFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.spotPriceAfterLong(retptr, addHeapObject(params)); + wasm.openLongGovernanceFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -516,13 +498,13 @@ export function spotPriceAfterLong(params) { } /** -* Calculates the amount of lp shares the trader will receive after adding -* liquidity. +* Calculates the curve fee paid in shares or base by traders when they close a +* long. */ -export function calcAddLiquidity(params) { +export function closeLongCurveFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcAddLiquidity(retptr, addHeapObject(params)); + wasm.closeLongCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -536,13 +518,13 @@ export function calcAddLiquidity(params) { } /** -* Calculates the amount of shares the trader will receive after fees for -* closing a short +* Calculates the flat fee paid in shares or base by traders when they close a +* long. */ -export function calcCloseShort(params) { +export function closeLongFlatFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcCloseShort(retptr, addHeapObject(params)); + wasm.closeLongFlatFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -556,22 +538,11 @@ export function calcCloseShort(params) { } /** -* Calculates the market value of a short position using the equation: -* market_estimate = yield_accrued + trading_proceeds - curve_fees_paid + -* flat_fees_returned -* -* yield_accrued = dy * (c-c0)/c0 trading_proceeds = dy * (1 - p) * t -* curve_fees_paid = trading_proceeds * curve_fee flat_fees_returned = dy * -* t * flat_fee -* -* dy = bond amount c = closeVaultSharePrice (current if non-matured, or -* checkpoint's if matured) c0 = openVaultSharePrice p = spotPrice t = -* timeRemaining */ -export function calcShortMarketValue(params) { +export function calcCloseLong(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcShortMarketValue(retptr, addHeapObject(params)); + wasm.calcCloseLong(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -585,11 +556,12 @@ export function calcShortMarketValue(params) { } /** +* Calculates the curve fee paid by the trader when they open a short. */ -export function calcCloseLong(params) { +export function openShortCurveFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.calcCloseLong(retptr, addHeapObject(params)); + wasm.openShortCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -603,12 +575,12 @@ export function calcCloseLong(params) { } /** -* Calculates the curve fee paid by the trader when they open a short. +* Calculates the governance fee paid by the trader when they open a short. */ -export function openShortCurveFee(params) { +export function openShortGovernanceFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openShortCurveFee(retptr, addHeapObject(params)); + wasm.openShortGovernanceFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -622,12 +594,12 @@ export function openShortCurveFee(params) { } /** -* Calculates the governance fee paid by the trader when they open a short. +* Calculates the curve fee paid by the trader when they close a short. */ -export function openShortGovernanceFee(params) { +export function closeShortCurveFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.openShortGovernanceFee(retptr, addHeapObject(params)); + wasm.closeShortCurveFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -641,12 +613,12 @@ export function openShortGovernanceFee(params) { } /** -* Calculates the curve fee paid by the trader when they close a short. +* Calculates the flat fee paid by the trader when they close a short. */ -export function closeShortCurveFee(params) { +export function closeShortFlatFee(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeShortCurveFee(retptr, addHeapObject(params)); + wasm.closeShortFlatFee(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -660,12 +632,42 @@ export function closeShortCurveFee(params) { } /** -* Calculates the flat fee paid by the trader when they close a short. +* Calculates the amount of shares the trader will receive after fees for +* closing a short */ -export function closeShortFlatFee(params) { +export function calcCloseShort(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.closeShortFlatFee(retptr, addHeapObject(params)); + wasm.calcCloseShort(retptr, addHeapObject(params)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Calculates the market value of a short position using the equation: +* market_estimate = yield_accrued + trading_proceeds - curve_fees_paid + +* flat_fees_returned +* +* yield_accrued = dy * (c-c0)/c0 trading_proceeds = dy * (1 - p) * t +* curve_fees_paid = trading_proceeds * curve_fee flat_fees_returned = dy * +* t * flat_fee +* +* dy = bond amount c = closeVaultSharePrice (current if non-matured, or +* checkpoint's if matured) c0 = openVaultSharePrice p = spotPrice t = +* timeRemaining +*/ +export function calcShortMarketValue(params) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.calcShortMarketValue(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -699,13 +701,12 @@ export function maxLong(params) { } /** -* Calculates the max amount of bonds that can be shorted given a budget and -* the current state of the pool. +* Calculates the long amount that will be opened for a given base amount. */ -export function maxShort(params) { +export function calcOpenLong(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.maxShort(retptr, addHeapObject(params)); + wasm.calcOpenLong(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -719,13 +720,12 @@ export function maxShort(params) { } /** -* Calculates the max amount of bonds that can be shorted given the current -* state of the pool. +* Calculates the spot price after opening a Hyperdrive long. */ -export function absoluteMaxShort(params) { +export function spotPriceAfterLong(params) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.absoluteMaxShort(retptr, addHeapObject(params)); + wasm.spotPriceAfterLong(retptr, addHeapObject(params)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -798,31 +798,72 @@ export function __wbg_positionduration_fc18b815658726d6(arg0) { return addHeapObject(ret); } ; -export function __wbg_baseamount_e87d794e00235079(arg0) { - const ret = getObject(arg0).baseAmount; +export function __wbg_currenttime_783878d66b9e5347(arg0) { + const ret = getObject(arg0).currentTime; return addHeapObject(ret); } ; -export function __wbg_baseamount_000e5dc53848689e(arg0) { - const ret = getObject(arg0).baseAmount; +export function __wbg_contribution_827bb47a065fcda8(arg0) { + const ret = getObject(arg0).contribution; return addHeapObject(ret); } ; -export function __wbg_bondamount_4a1b6715a88a1af5(arg0) { - const ret = getObject(arg0).bondAmount; +export function __wbg_asbase_c69994d06b95cf41(arg0) { + const ret = getObject(arg0).asBase; + return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0; +} +; +export function __wbg_minlpshareprice_522f852e3d0dbc56(arg0) { + const ret = getObject(arg0).minLpSharePrice; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +} +; +export function __wbg_minapr_3dff7e1d835bb9bb(arg0) { + const ret = getObject(arg0).minApr; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +} +; +export function __wbg_maxapr_4a9fcb6fd56a97c2(arg0) { + const ret = getObject(arg0).maxApr; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +} +; +export function __wbg_budget_411d63fb6d455c8c(arg0) { + const ret = getObject(arg0).budget; return addHeapObject(ret); } ; -export function __wbg_maturitytime_5f679a8e6294b657(arg0) { - const ret = getObject(arg0).maturityTime; +export function __wbg_openvaultshareprice_b5b2c195d86f564e(arg0) { + const ret = getObject(arg0).openVaultSharePrice; return addHeapObject(ret); } ; -export function __wbg_currenttime_4804f69351b47e68(arg0) { - const ret = getObject(arg0).currentTime; +export function __wbg_checkpointexposure_ed1ec486972160ed(arg0) { + const ret = getObject(arg0).checkpointExposure; return addHeapObject(ret); } ; +export function __wbg_conservativeprice_a798c8641c9f68b5(arg0) { + const ret = getObject(arg0).conservativePrice; + return isLikeNone(ret) ? 0 : addHeapObject(ret); +} +; +export function __wbg_maxiterations_875ff04d0eb27eb5(arg0) { + const ret = getObject(arg0).maxIterations; + return isLikeNone(ret) ? 0xFFFFFF : ret; +} +; +export function __wbg_checkpointexposure_6a0c0ace4938689d(arg0) { + const ret = getObject(arg0).checkpointExposure; + return addHeapObject(ret); +} +; +export function __wbg_maxiterations_1bf0e0dcf03e1c61(arg0, arg1) { + const ret = getObject(arg1).maxIterations; + getInt32Memory0()[arg0 / 4 + 1] = isLikeNone(ret) ? 0 : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); +} +; export function __wbg_bondamount_adb961c916209325(arg0) { const ret = getObject(arg0).bondAmount; return addHeapObject(ret); @@ -898,44 +939,39 @@ export function __wbg_governancezombie_2613b3ec9d20a98e(arg0) { return addHeapObject(ret); } ; -export function __wbg_baseamount_0bb08f6826421306(arg0) { +export function __wbg_baseamount_e87d794e00235079(arg0) { const ret = getObject(arg0).baseAmount; return addHeapObject(ret); } ; -export function __wbg_baseamount_de339731adb4a217(arg0) { +export function __wbg_baseamount_000e5dc53848689e(arg0) { const ret = getObject(arg0).baseAmount; return addHeapObject(ret); } ; -export function __wbg_currenttime_783878d66b9e5347(arg0) { - const ret = getObject(arg0).currentTime; +export function __wbg_bondamount_4a1b6715a88a1af5(arg0) { + const ret = getObject(arg0).bondAmount; return addHeapObject(ret); } ; -export function __wbg_contribution_827bb47a065fcda8(arg0) { - const ret = getObject(arg0).contribution; +export function __wbg_maturitytime_5f679a8e6294b657(arg0) { + const ret = getObject(arg0).maturityTime; return addHeapObject(ret); } ; -export function __wbg_asbase_c69994d06b95cf41(arg0) { - const ret = getObject(arg0).asBase; - return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0; -} -; -export function __wbg_minlpshareprice_522f852e3d0dbc56(arg0) { - const ret = getObject(arg0).minLpSharePrice; - return isLikeNone(ret) ? 0 : addHeapObject(ret); +export function __wbg_currenttime_4804f69351b47e68(arg0) { + const ret = getObject(arg0).currentTime; + return addHeapObject(ret); } ; -export function __wbg_minapr_3dff7e1d835bb9bb(arg0) { - const ret = getObject(arg0).minApr; - return isLikeNone(ret) ? 0 : addHeapObject(ret); +export function __wbg_bondamount_160dfcbce6f94197(arg0) { + const ret = getObject(arg0).bondAmount; + return addHeapObject(ret); } ; -export function __wbg_maxapr_4a9fcb6fd56a97c2(arg0) { - const ret = getObject(arg0).maxApr; - return isLikeNone(ret) ? 0 : addHeapObject(ret); +export function __wbg_bondamount_c2119cc6cbc5714d(arg0) { + const ret = getObject(arg0).bondAmount; + return addHeapObject(ret); } ; export function __wbg_openvaultshareprice_aea624f21095f333(arg0) { @@ -1127,16 +1163,6 @@ export function __wbg_zombiesharereserves_ad6803fc8cc083a9(arg0) { return addHeapObject(ret); } ; -export function __wbg_bondamount_160dfcbce6f94197(arg0) { - const ret = getObject(arg0).bondAmount; - return addHeapObject(ret); -} -; -export function __wbg_bondamount_c2119cc6cbc5714d(arg0) { - const ret = getObject(arg0).bondAmount; - return addHeapObject(ret); -} -; export function __wbg_budget_ce52ea6f48a1dc5f(arg0) { const ret = getObject(arg0).budget; return addHeapObject(ret); @@ -1152,42 +1178,16 @@ export function __wbg_maxiterations_92ded114cfb45384(arg0) { return isLikeNone(ret) ? 0xFFFFFF : ret; } ; -export function __wbg_budget_411d63fb6d455c8c(arg0) { - const ret = getObject(arg0).budget; - return addHeapObject(ret); -} -; -export function __wbg_openvaultshareprice_b5b2c195d86f564e(arg0) { - const ret = getObject(arg0).openVaultSharePrice; - return addHeapObject(ret); -} -; -export function __wbg_checkpointexposure_ed1ec486972160ed(arg0) { - const ret = getObject(arg0).checkpointExposure; +export function __wbg_baseamount_0bb08f6826421306(arg0) { + const ret = getObject(arg0).baseAmount; return addHeapObject(ret); } ; -export function __wbg_conservativeprice_a798c8641c9f68b5(arg0) { - const ret = getObject(arg0).conservativePrice; - return isLikeNone(ret) ? 0 : addHeapObject(ret); -} -; -export function __wbg_maxiterations_875ff04d0eb27eb5(arg0) { - const ret = getObject(arg0).maxIterations; - return isLikeNone(ret) ? 0xFFFFFF : ret; -} -; -export function __wbg_checkpointexposure_6a0c0ace4938689d(arg0) { - const ret = getObject(arg0).checkpointExposure; +export function __wbg_baseamount_de339731adb4a217(arg0) { + const ret = getObject(arg0).baseAmount; return addHeapObject(ret); } ; -export function __wbg_maxiterations_1bf0e0dcf03e1c61(arg0, arg1) { - const ret = getObject(arg1).maxIterations; - getInt32Memory0()[arg0 / 4 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); -} -; export function __wbg_new_abda76e883ba8a5f() { const ret = new Error(); return addHeapObject(ret); @@ -1213,15 +1213,6 @@ export function __wbg_error_f851667af71bcfc6(arg0, arg1) { } } ; -export function __wbindgen_string_get(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof obj === 'string' ? obj : undefined; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -} -; export function __wbindgen_number_new(arg0) { const ret = arg0; return addHeapObject(ret); @@ -1232,6 +1223,15 @@ export function __wbindgen_ge(arg0, arg1) { return ret; } ; +export function __wbindgen_string_get(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; +} +; export function __wbg_BigInt_42b692c18e1ac6d6(arg0) { const ret = BigInt(getObject(arg0)); return addHeapObject(ret); @@ -1293,27 +1293,27 @@ function getImports() { imports["./hyperdrive_wasm_bg.js"].presentValue=presentValue imports["./hyperdrive_wasm_bg.js"].spotRate=spotRate imports["./hyperdrive_wasm_bg.js"].calcAprGivenFixedPrice=calcAprGivenFixedPrice - imports["./hyperdrive_wasm_bg.js"].openLongCurveFee=openLongCurveFee - imports["./hyperdrive_wasm_bg.js"].openLongGovernanceFee=openLongGovernanceFee - imports["./hyperdrive_wasm_bg.js"].closeLongCurveFee=closeLongCurveFee - imports["./hyperdrive_wasm_bg.js"].closeLongFlatFee=closeLongFlatFee + imports["./hyperdrive_wasm_bg.js"].calcAddLiquidity=calcAddLiquidity + imports["./hyperdrive_wasm_bg.js"].maxShort=maxShort + imports["./hyperdrive_wasm_bg.js"].absoluteMaxShort=absoluteMaxShort imports["./hyperdrive_wasm_bg.js"].calcOpenShort=calcOpenShort imports["./hyperdrive_wasm_bg.js"].spotPriceAfterShort=spotPriceAfterShort imports["./hyperdrive_wasm_bg.js"].calcImpliedRate=calcImpliedRate imports["./hyperdrive_wasm_bg.js"].shortBondsGivenDeposit=shortBondsGivenDeposit - imports["./hyperdrive_wasm_bg.js"].calcOpenLong=calcOpenLong - imports["./hyperdrive_wasm_bg.js"].spotPriceAfterLong=spotPriceAfterLong - imports["./hyperdrive_wasm_bg.js"].calcAddLiquidity=calcAddLiquidity - imports["./hyperdrive_wasm_bg.js"].calcCloseShort=calcCloseShort - imports["./hyperdrive_wasm_bg.js"].calcShortMarketValue=calcShortMarketValue + imports["./hyperdrive_wasm_bg.js"].openLongCurveFee=openLongCurveFee + imports["./hyperdrive_wasm_bg.js"].openLongGovernanceFee=openLongGovernanceFee + imports["./hyperdrive_wasm_bg.js"].closeLongCurveFee=closeLongCurveFee + imports["./hyperdrive_wasm_bg.js"].closeLongFlatFee=closeLongFlatFee imports["./hyperdrive_wasm_bg.js"].calcCloseLong=calcCloseLong imports["./hyperdrive_wasm_bg.js"].openShortCurveFee=openShortCurveFee imports["./hyperdrive_wasm_bg.js"].openShortGovernanceFee=openShortGovernanceFee imports["./hyperdrive_wasm_bg.js"].closeShortCurveFee=closeShortCurveFee imports["./hyperdrive_wasm_bg.js"].closeShortFlatFee=closeShortFlatFee + imports["./hyperdrive_wasm_bg.js"].calcCloseShort=calcCloseShort + imports["./hyperdrive_wasm_bg.js"].calcShortMarketValue=calcShortMarketValue imports["./hyperdrive_wasm_bg.js"].maxLong=maxLong - imports["./hyperdrive_wasm_bg.js"].maxShort=maxShort - imports["./hyperdrive_wasm_bg.js"].absoluteMaxShort=absoluteMaxShort + imports["./hyperdrive_wasm_bg.js"].calcOpenLong=calcOpenLong + imports["./hyperdrive_wasm_bg.js"].spotPriceAfterLong=spotPriceAfterLong imports["./hyperdrive_wasm_bg.js"].__wbindgen_object_drop_ref=__wbindgen_object_drop_ref imports["./hyperdrive_wasm_bg.js"].__wbindgen_string_new=__wbindgen_string_new imports["./hyperdrive_wasm_bg.js"].__wbg_poolinfo_cdd03f3e3de339c9=__wbg_poolinfo_cdd03f3e3de339c9 @@ -1325,11 +1325,19 @@ function getImports() { imports["./hyperdrive_wasm_bg.js"].__wbg_currenttime_0d58e19d27e1b18f=__wbg_currenttime_0d58e19d27e1b18f imports["./hyperdrive_wasm_bg.js"].__wbg_price_dc4d83fd7bb352eb=__wbg_price_dc4d83fd7bb352eb imports["./hyperdrive_wasm_bg.js"].__wbg_positionduration_fc18b815658726d6=__wbg_positionduration_fc18b815658726d6 - imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_e87d794e00235079=__wbg_baseamount_e87d794e00235079 - imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_000e5dc53848689e=__wbg_baseamount_000e5dc53848689e - imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_4a1b6715a88a1af5=__wbg_bondamount_4a1b6715a88a1af5 - imports["./hyperdrive_wasm_bg.js"].__wbg_maturitytime_5f679a8e6294b657=__wbg_maturitytime_5f679a8e6294b657 - imports["./hyperdrive_wasm_bg.js"].__wbg_currenttime_4804f69351b47e68=__wbg_currenttime_4804f69351b47e68 + imports["./hyperdrive_wasm_bg.js"].__wbg_currenttime_783878d66b9e5347=__wbg_currenttime_783878d66b9e5347 + imports["./hyperdrive_wasm_bg.js"].__wbg_contribution_827bb47a065fcda8=__wbg_contribution_827bb47a065fcda8 + imports["./hyperdrive_wasm_bg.js"].__wbg_asbase_c69994d06b95cf41=__wbg_asbase_c69994d06b95cf41 + imports["./hyperdrive_wasm_bg.js"].__wbg_minlpshareprice_522f852e3d0dbc56=__wbg_minlpshareprice_522f852e3d0dbc56 + imports["./hyperdrive_wasm_bg.js"].__wbg_minapr_3dff7e1d835bb9bb=__wbg_minapr_3dff7e1d835bb9bb + imports["./hyperdrive_wasm_bg.js"].__wbg_maxapr_4a9fcb6fd56a97c2=__wbg_maxapr_4a9fcb6fd56a97c2 + imports["./hyperdrive_wasm_bg.js"].__wbg_budget_411d63fb6d455c8c=__wbg_budget_411d63fb6d455c8c + imports["./hyperdrive_wasm_bg.js"].__wbg_openvaultshareprice_b5b2c195d86f564e=__wbg_openvaultshareprice_b5b2c195d86f564e + imports["./hyperdrive_wasm_bg.js"].__wbg_checkpointexposure_ed1ec486972160ed=__wbg_checkpointexposure_ed1ec486972160ed + imports["./hyperdrive_wasm_bg.js"].__wbg_conservativeprice_a798c8641c9f68b5=__wbg_conservativeprice_a798c8641c9f68b5 + imports["./hyperdrive_wasm_bg.js"].__wbg_maxiterations_875ff04d0eb27eb5=__wbg_maxiterations_875ff04d0eb27eb5 + imports["./hyperdrive_wasm_bg.js"].__wbg_checkpointexposure_6a0c0ace4938689d=__wbg_checkpointexposure_6a0c0ace4938689d + imports["./hyperdrive_wasm_bg.js"].__wbg_maxiterations_1bf0e0dcf03e1c61=__wbg_maxiterations_1bf0e0dcf03e1c61 imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_adb961c916209325=__wbg_bondamount_adb961c916209325 imports["./hyperdrive_wasm_bg.js"].__wbg_openvaultshareprice_ae7afad2bb4cf6c4=__wbg_openvaultshareprice_ae7afad2bb4cf6c4 imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_5d944ef949f8a949=__wbg_bondamount_5d944ef949f8a949 @@ -1345,14 +1353,13 @@ function getImports() { imports["./hyperdrive_wasm_bg.js"].__wbg_flat_01a61907c1571c7c=__wbg_flat_01a61907c1571c7c imports["./hyperdrive_wasm_bg.js"].__wbg_governancelp_f4751614810023a7=__wbg_governancelp_f4751614810023a7 imports["./hyperdrive_wasm_bg.js"].__wbg_governancezombie_2613b3ec9d20a98e=__wbg_governancezombie_2613b3ec9d20a98e - imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_0bb08f6826421306=__wbg_baseamount_0bb08f6826421306 - imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_de339731adb4a217=__wbg_baseamount_de339731adb4a217 - imports["./hyperdrive_wasm_bg.js"].__wbg_currenttime_783878d66b9e5347=__wbg_currenttime_783878d66b9e5347 - imports["./hyperdrive_wasm_bg.js"].__wbg_contribution_827bb47a065fcda8=__wbg_contribution_827bb47a065fcda8 - imports["./hyperdrive_wasm_bg.js"].__wbg_asbase_c69994d06b95cf41=__wbg_asbase_c69994d06b95cf41 - imports["./hyperdrive_wasm_bg.js"].__wbg_minlpshareprice_522f852e3d0dbc56=__wbg_minlpshareprice_522f852e3d0dbc56 - imports["./hyperdrive_wasm_bg.js"].__wbg_minapr_3dff7e1d835bb9bb=__wbg_minapr_3dff7e1d835bb9bb - imports["./hyperdrive_wasm_bg.js"].__wbg_maxapr_4a9fcb6fd56a97c2=__wbg_maxapr_4a9fcb6fd56a97c2 + imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_e87d794e00235079=__wbg_baseamount_e87d794e00235079 + imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_000e5dc53848689e=__wbg_baseamount_000e5dc53848689e + imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_4a1b6715a88a1af5=__wbg_bondamount_4a1b6715a88a1af5 + imports["./hyperdrive_wasm_bg.js"].__wbg_maturitytime_5f679a8e6294b657=__wbg_maturitytime_5f679a8e6294b657 + imports["./hyperdrive_wasm_bg.js"].__wbg_currenttime_4804f69351b47e68=__wbg_currenttime_4804f69351b47e68 + imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_160dfcbce6f94197=__wbg_bondamount_160dfcbce6f94197 + imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_c2119cc6cbc5714d=__wbg_bondamount_c2119cc6cbc5714d imports["./hyperdrive_wasm_bg.js"].__wbg_openvaultshareprice_aea624f21095f333=__wbg_openvaultshareprice_aea624f21095f333 imports["./hyperdrive_wasm_bg.js"].__wbg_closevaultshareprice_1556fc70a41ba924=__wbg_closevaultshareprice_1556fc70a41ba924 imports["./hyperdrive_wasm_bg.js"].__wbg_initialvaultshareprice_d9e8c3b2ee7ea152=__wbg_initialvaultshareprice_d9e8c3b2ee7ea152 @@ -1386,24 +1393,17 @@ function getImports() { imports["./hyperdrive_wasm_bg.js"].__wbg_withdrawalsharesproceeds_06306d676a9e9ec1=__wbg_withdrawalsharesproceeds_06306d676a9e9ec1 imports["./hyperdrive_wasm_bg.js"].__wbg_zombiebaseproceeds_6240324062fcf334=__wbg_zombiebaseproceeds_6240324062fcf334 imports["./hyperdrive_wasm_bg.js"].__wbg_zombiesharereserves_ad6803fc8cc083a9=__wbg_zombiesharereserves_ad6803fc8cc083a9 - imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_160dfcbce6f94197=__wbg_bondamount_160dfcbce6f94197 - imports["./hyperdrive_wasm_bg.js"].__wbg_bondamount_c2119cc6cbc5714d=__wbg_bondamount_c2119cc6cbc5714d imports["./hyperdrive_wasm_bg.js"].__wbg_budget_ce52ea6f48a1dc5f=__wbg_budget_ce52ea6f48a1dc5f imports["./hyperdrive_wasm_bg.js"].__wbg_checkpointexposure_b2355d22339cc864=__wbg_checkpointexposure_b2355d22339cc864 imports["./hyperdrive_wasm_bg.js"].__wbg_maxiterations_92ded114cfb45384=__wbg_maxiterations_92ded114cfb45384 - imports["./hyperdrive_wasm_bg.js"].__wbg_budget_411d63fb6d455c8c=__wbg_budget_411d63fb6d455c8c - imports["./hyperdrive_wasm_bg.js"].__wbg_openvaultshareprice_b5b2c195d86f564e=__wbg_openvaultshareprice_b5b2c195d86f564e - imports["./hyperdrive_wasm_bg.js"].__wbg_checkpointexposure_ed1ec486972160ed=__wbg_checkpointexposure_ed1ec486972160ed - imports["./hyperdrive_wasm_bg.js"].__wbg_conservativeprice_a798c8641c9f68b5=__wbg_conservativeprice_a798c8641c9f68b5 - imports["./hyperdrive_wasm_bg.js"].__wbg_maxiterations_875ff04d0eb27eb5=__wbg_maxiterations_875ff04d0eb27eb5 - imports["./hyperdrive_wasm_bg.js"].__wbg_checkpointexposure_6a0c0ace4938689d=__wbg_checkpointexposure_6a0c0ace4938689d - imports["./hyperdrive_wasm_bg.js"].__wbg_maxiterations_1bf0e0dcf03e1c61=__wbg_maxiterations_1bf0e0dcf03e1c61 + imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_0bb08f6826421306=__wbg_baseamount_0bb08f6826421306 + imports["./hyperdrive_wasm_bg.js"].__wbg_baseamount_de339731adb4a217=__wbg_baseamount_de339731adb4a217 imports["./hyperdrive_wasm_bg.js"].__wbg_new_abda76e883ba8a5f=__wbg_new_abda76e883ba8a5f imports["./hyperdrive_wasm_bg.js"].__wbg_stack_658279fe44541cf6=__wbg_stack_658279fe44541cf6 imports["./hyperdrive_wasm_bg.js"].__wbg_error_f851667af71bcfc6=__wbg_error_f851667af71bcfc6 - imports["./hyperdrive_wasm_bg.js"].__wbindgen_string_get=__wbindgen_string_get imports["./hyperdrive_wasm_bg.js"].__wbindgen_number_new=__wbindgen_number_new imports["./hyperdrive_wasm_bg.js"].__wbindgen_ge=__wbindgen_ge + imports["./hyperdrive_wasm_bg.js"].__wbindgen_string_get=__wbindgen_string_get imports["./hyperdrive_wasm_bg.js"].__wbg_BigInt_42b692c18e1ac6d6=__wbg_BigInt_42b692c18e1ac6d6 imports["./hyperdrive_wasm_bg.js"].__wbg_BigInt_f00b864098012725=__wbg_BigInt_f00b864098012725 imports["./hyperdrive_wasm_bg.js"].__wbg_toString_66be3c8e1c6a7c76=__wbg_toString_66be3c8e1c6a7c76 @@ -1444,7 +1444,7 @@ let input; return result.subarray(0, result.length - missingOctets); } - input = base64Decode("AGFzbQEAAAABxwEdYAJ/fwBgAn9/AX9gAX8Bf2ADf39/AX9gA39/fwBgAX8AYAR/f39/AGAFf39/f38AYAR/f39/AX9gBX9/f39/AX9gBn9/f39/fwBgAABgAAF/YAZ/f39/f38Bf2ADf35+AGADf35+AX9gAXwBf2ADfn9/AGAHf39/f39/fwF/YAJ+fwF/YAV/fn5+fgBgA39+fwBgBH9+fn4AYAV/f35/fwBgBH9+f38AYAV/f3x/fwBgBH98f38AYAV/f31/fwBgBH99f38AAqUvYhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgAFFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzFV9fd2JpbmRnZW5fc3RyaW5nX25ldwABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzH19fd2JnX3Bvb2xpbmZvX2NkZDAzZjNlM2RlMzM5YzkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19wb29sY29uZmlnX2E2N2JjZTViYzUzNDI1ZjcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diZ19hcHJfMWI1ZTliMDI5MGRjZmM5OQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJ19fd2JnX3Bvc2l0aW9uZHVyYXRpb25fNjkwMzZkNmZjMDhlM2RhYgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzGl9fd2JnX2FweV82NjJkZTllZDYyMjhmYTcyAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfcG9zaXRpb25kdXJhdGlvbl9lMzhkNTk4N2MwOGJhNmQxAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMiX193YmdfY3VycmVudHRpbWVfMGQ1OGUxOWQyN2UxYjE4ZgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHF9fd2JnX3ByaWNlX2RjNGQ4M2ZkN2JiMzUyZWIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19wb3NpdGlvbmR1cmF0aW9uX2ZjMThiODE1NjU4NzI2ZDYAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50X2U4N2Q3OTRlMDAyMzUwNzkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50XzAwMGU1ZGM1Mzg0ODY4OWUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50XzRhMWI2NzE1YTg4YTFhZjUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyNfX3diZ19tYXR1cml0eXRpbWVfNWY2NzlhOGU2Mjk0YjY1NwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIl9fd2JnX2N1cnJlbnR0aW1lXzQ4MDRmNjkzNTFiNDdlNjgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50X2FkYjk2MWM5MTYyMDkzMjUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19vcGVudmF1bHRzaGFyZXByaWNlX2FlN2FmYWQyYmI0Y2Y2YzQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50XzVkOTQ0ZWY5NDlmOGE5NDkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50X2JhOGU4ZjVhNTRlNWVkZTAAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19vcGVudmF1bHRzaGFyZXByaWNlXzIxMjhjMGYyOWQwMWU2MTgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyJfX3diZ192YXJpYWJsZWFweV8xNTdlOTVjNmQxNjgyZDU5AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfdGFyZ2V0YmFzZWFtb3VudF9lNWQ3NmZlMDM4MDU2MjQyAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMqX193Ymdfb3BlbnZhdWx0c2hhcmVwcmljZV9hMzg3ZmRmZWVlMGRkODZkAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMsX193YmdfYWJzb2x1dGVtYXhib25kYW1vdW50Xzk3YThiMWNhZGI5M2Q4MDEAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyVfX3diZ19tYXliZXRvbGVyYW5jZV8zOWY3ZGU3ZjJiODA0MDdjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfbWF5YmVtYXhpdGVyYXRpb25zXzU3MzNmOGQ5ZGIwOWRhMmMAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxxfX3diZ19jdXJ2ZV9iNzE5ZGE4NTkxNzdkYjkzAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMbX193YmdfZmxhdF8wMWE2MTkwN2MxNTcxYzdjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfZ292ZXJuYW5jZWxwX2Y0NzUxNjE0ODEwMDIzYTcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19nb3Zlcm5hbmNlem9tYmllXzI2MTNiM2VjOWQyMGE5OGUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50XzBiYjA4ZjY4MjY0MjEzMDYAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50X2RlMzM5NzMxYWRiNGEyMTcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyJfX3diZ19jdXJyZW50dGltZV83ODM4NzhkNjZiOWU1MzQ3AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfY29udHJpYnV0aW9uXzgyN2JiNDdhMDY1ZmNkYTgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19hc2Jhc2VfYzY5OTk0ZDA2Yjk1Y2Y0MQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJl9fd2JnX21pbmxwc2hhcmVwcmljZV81MjJmODUyZTNkMGRiYzU2AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMdX193YmdfbWluYXByXzNkZmY3ZTFkODM1YmI5YmIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19tYXhhcHJfNGE5ZmNiNmZkNTZhOTdjMgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKl9fd2JnX29wZW52YXVsdHNoYXJlcHJpY2VfYWVhNjI0ZjIxMDk1ZjMzMwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzK19fd2JnX2Nsb3NldmF1bHRzaGFyZXByaWNlXzE1NTZmYzcwYTQxYmE5MjQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcy1fX3diZ19pbml0aWFsdmF1bHRzaGFyZXByaWNlX2Q5ZThjM2IyZWU3ZWExNTIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcytfX3diZ19taW5pbXVtc2hhcmVyZXNlcnZlc184NDExOTAwNTA2YjI0NzAxAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMvX193YmdfbWluaW11bXRyYW5zYWN0aW9uYW1vdW50X2U2YjBlM2I2MWYxNzE1MmMAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19jaXJjdWl0YnJlYWtlcmRlbHRhXzcwODE1OTk5M2QyZDE4MzgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19wb3NpdGlvbmR1cmF0aW9uX2ViNDEzNGQyMmFkNGRjMzMAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcylfX3diZ19jaGVja3BvaW50ZHVyYXRpb25fMWM3ZDQzMjVlYmY0YTBiZQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIl9fd2JnX3RpbWVzdHJldGNoXzczNWVlNjk3MDZjMjgzN2MAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxtfX3diZ19mZWVzXzU5MjcyYmRmNGEwMjZjY2IAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcylfX3diZ19jaGVja3BvaW50cmV3YXJkZXJfY2Y5MjM0Zjc1MDgzMjBmMgAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzI19fd2JnX2ZlZWNvbGxlY3Rvcl83NDY4ZDhhNGI0MjViMTc4AAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMlX193Ymdfc3dlZXBjb2xsZWN0b3JfMDg4ZDY1NDJjMTY0ZDNjMAAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIV9fd2JnX2dvdmVybmFuY2VfNGNiYzI4NmY1MWEyYmFkYQAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIF9fd2JnX2Jhc2V0b2tlbl83ZDY2Y2Y1NTgzNWZmYTZiAAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfdmF1bHRzaGFyZXN0b2tlbl82ZTk5NmFiOGU2ODU0YzJjAAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMkX193YmdfbGlua2VyZmFjdG9yeV9jYjM1MWI0M2M0YzNhY2MwAAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMlX193YmdfbGlua2VyY29kZWhhc2hfMjYwMTYyOTZmYjVmOTA5NAAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJF9fd2JnX2xwdG90YWxzdXBwbHlfZTRiODcwNDlkZjQwMWNlMgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzI19fd2JnX2xwc2hhcmVwcmljZV9lMzM4OWJlMzVlMjY4MTc3AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfYm9uZHJlc2VydmVzXzcwYWJjMTU4MDA5NTBkZTQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyRfX3diZ19zaGFyZXJlc2VydmVzX2Q2NTlhNGFiY2EyMzRmNmYAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyZfX3diZ19zaGFyZWFkanVzdG1lbnRfYTg2MmM5ODNkZjE4N2RkOQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJl9fd2JnX3ZhdWx0c2hhcmVwcmljZV9iN2YwN2I2NTA3MTdkZDc2AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfbG9uZ2V4cG9zdXJlXzA4MWIxMzJkYjkwYWM4OTgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19sb25nc291dHN0YW5kaW5nXzc3ODBmYzFiNzUwZTY0ZWUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcy5fX3diZ19sb25nYXZlcmFnZW1hdHVyaXR5dGltZV8wZDEzMjExZTU2OTU3ZGNmAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMoX193Ymdfc2hvcnRzb3V0c3RhbmRpbmdfMjNlYmM2MGRmZmEzYzdlZAACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzL19fd2JnX3Nob3J0YXZlcmFnZW1hdHVyaXR5dGltZV85ZmZhMzllZjY4YmJmMGQ0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanM2X193Ymdfd2l0aGRyYXdhbHNoYXJlc3JlYWR5dG93aXRoZHJhd18zMzRkNDk1NjEyNTFmYjQ0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMvX193Ymdfd2l0aGRyYXdhbHNoYXJlc3Byb2NlZWRzXzA2MzA2ZDY3NmE5ZTllYzEAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcylfX3diZ196b21iaWViYXNlcHJvY2VlZHNfNjI0MDMyNDA2MmZjZjMzNAACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKl9fd2JnX3pvbWJpZXNoYXJlcmVzZXJ2ZXNfYWQ2ODAzZmM4Y2MwODNhOQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIV9fd2JnX2JvbmRhbW91bnRfMTYwZGZjYmNlNmY5NDE5NwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIV9fd2JnX2JvbmRhbW91bnRfYzIxMTljYzZjYmM1NzE0ZAACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHV9fd2JnX2J1ZGdldF9jZTUyZWE2ZjQ4YTFkYzVmAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfY2hlY2twb2ludGV4cG9zdXJlX2IyMzU1ZDIyMzM5Y2M4NjQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyRfX3diZ19tYXhpdGVyYXRpb25zXzkyZGVkMTE0Y2ZiNDUzODQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19idWRnZXRfNDExZDYzZmI2ZDQ1NWM4YwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKl9fd2JnX29wZW52YXVsdHNoYXJlcHJpY2VfYjViMmMxOTVkODZmNTY0ZQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKV9fd2JnX2NoZWNrcG9pbnRleHBvc3VyZV9lZDFlYzQ4Njk3MjE2MGVkAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMoX193YmdfY29uc2VydmF0aXZlcHJpY2VfYTc5OGM4NjQxYzlmNjhiNQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJF9fd2JnX21heGl0ZXJhdGlvbnNfODc1ZmYwNGQwZWIyN2ViNQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKV9fd2JnX2NoZWNrcG9pbnRleHBvc3VyZV82YTBjMGFjZTQ5Mzg2ODlkAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMkX193YmdfbWF4aXRlcmF0aW9uc18xYmYwZTBkY2YwM2UxYzYxAAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMaX193YmdfbmV3X2FiZGE3NmU4ODNiYThhNWYADBcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxxfX3diZ19zdGFja182NTgyNzlmZTQ0NTQxY2Y2AAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMcX193YmdfZXJyb3JfZjg1MTY2N2FmNzFiY2ZjNgAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzFV9fd2JpbmRnZW5fc3RyaW5nX2dldAAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzFV9fd2JpbmRnZW5fbnVtYmVyX25ldwAQFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzDV9fd2JpbmRnZW5fZ2UAARcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19CaWdJbnRfNDJiNjkyYzE4ZTFhYzZkNgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHV9fd2JnX0JpZ0ludF9mMDBiODY0MDk4MDEyNzI1AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMfX193YmdfdG9TdHJpbmdfNjZiZTNjOGUxYzZhN2M3NgABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzH19fd2JnX3RvU3RyaW5nXzBiNTI3ZmNlMGU4ZjJiYWIABBcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diZ19uZXdfMjhjNTExZDliYWViZmE4OQABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzGl9fd2JnX25ld181ZGQ4NmViYzkxN2Q5ZjUyAAEXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMXX193YmluZGdlbl9kZWJ1Z19zdHJpbmcAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxBfX3diaW5kZ2VuX3Rocm93AAAD2ALWAgAACgQHBAcEBAIHBAQGAAQHBgYGBAAEBAYGBgAA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QbAFaiQADwsgBkEANgKQBSAGQQE2AoQFIAZB4IfBADYCgAUgBkIENwKIBSAGQYAFakH0hcEAEMUCAAsgBkEANgKQBSAGQQE2AoQFIAZB5MTAADYCgAUgBkIENwKIBSAGQYAFakG0xMAAEMUCAAvfKQIKfw5+IwBB4ANrIgMkACADQTBqIAJBIGopAwA3AwAgA0EoaiACQRhqKQMANwMAIANBIGogAkEQaikDADcDACADQRhqIAJBCGopAwA3AwAgAyACKQMANwMQIANB8AJqIAFB2AVqKQMANwMAIANB6AJqIAFB0AVqKQMANwMAIANB4AJqIAFByAVqKQMANwMAIANBEjoA+AIgAyABKQPABTcD2AICQAJAAkACQCADQRBqIANB2AJqEJwCQf8BcSICBEAgAkH/AUcNAQwCCyADLQAwIAMtAPgCSQ0BCyADQfgBaiADQTBqKQMANwMAIANB8AFqIANBKGopAwA3AwAgA0HoAWogA0EgaikDADcDACADQeABaiADQRhqKQMANwMAIAMgAykDEDcD2AEgA0HwAmoiAiABQdgBaikDADcDACADQegCaiIEIAFB0AFqKQMANwMAIANB4AJqIAFByAFqKQMANwMAIANBEjoA+AIgAyABKQPAATcD2AIgA0E4aiADQdgBaiADQdgCaiIFEMABIAUgARCAAQJAAkACQAJAAkACQAJAAkACQAJAAkAgAygC2AINACADQYABaiADQYADaikDADcDACADQfgAaiADQfgCaikDADcDACADQfAAaiACKQMANwMAIANB6ABqIAQpAwA3AwAgAyADKQPgAjcDYCADQaACaiABQZgFaikDADcDACADQZgCaiABQZAFaikDADcDACADQZACaiABQYgFaikDADcDACADQRI6AKgCIAMgASkDgAU3A4gCIANBsANqIAFBGGopAwA3AwAgA0GoA2ogAUEQaikDADcDACADQaADaiABQQhqKQMANwMAIANBEjoAuAMgAyABKQMANwOYAyADQdgDaiABQThqKQMANwMAIANB0ANqIAFBMGopAwA3AwAgA0HIA2ogAUEoaikDADcDACADIAEpAyA3A8ADIAUgA0GYA2ogA0HAA2oQygEgAygC2AINACADKQPoAiIOIAMpA0B8Ig0gDlQhAiADKQPwAiEOIAMpA0ghEiADKQPgAiIQIAMpAzh8IhEgEFoEfiACrQUgDUIBfCINUK0gAq18CyEQIAMpA/gCIQ8gAykDUCEUIA4gDiASfCIOViECIBBQBH4gAq0FIA4gDiAQfCIOVq0gAq18CyEQIA8gDyAUfCIPViECAkAgEFAEQCADIA83A8gCIAMgDjcDwAIgAyANNwO4AiADIBE3A7ACIAJFDQEMDAsgAyAONwPAAiADIA03A7gCIAMgETcDsAIgAyAPIBB8Ig43A8gCIAIgDiAPVHINCwsgA0ESOgDQAiADQbABaiADQYgCaiADQbACahDDASADQdgCakHQgcAAQQQQrwEgAygC2AINASADKQPwAiERIAMpA+gCIQ0gASkD0AYhDyABKQPIBiEOAn4gAykD4AIiFSABKQPABiIWWgRAIA0gDn0hEiANIA5UrQwBCyANIA5Cf4V8IRIgDSAOVK0gDSAOUa18CyEQIAMpA/gCIRMgASkD2AYhFCARIA99IQ0CQCAQUARAIA8gEVatIREMAQsgDSAQVK0gDyARVq18IREgDSAQfSENCyATIBR9IRACQCARUARAIBMgFFoNAQwPCyATIBRUIBAgEVRyDQ4gECARfSEQCyADQRI6APgCIAMgEDcD8AIgAyANNwPoAiADIBI3A+ACIAMgFSAWfTcD2AIgA0HYAWoiCCADQbABaiADQdgCaiIJEG0CQAJAIAMoAtgBRQRAIANBqAFqIgQgA0GAAmopAwA3AwAgA0GgAWoiBSADQfgBaiIKKQMANwMAIANBmAFqIgYgA0HwAWoiCykDADcDACADQZABaiIHIANB6AFqIgwpAwA3AwAgAyADKQPgATcDiAEgA0GwA2ogAUHAAWoiAkEYaikDADcDACADQagDaiACQRBqKQMANwMAIANBoANqIAJBCGopAwA3AwAgA0ESOgC4AyADIAIpAwA3A5gDIAogBCkDADcDACALIAUpAwA3AwAgDCAGKQMANwMAIANB4AFqIAcpAwA3AwAgAyADKQOIATcD2AEgA0HwAmogAUGABWoiAkEYaikDADcDACADQegCaiACQRBqKQMANwMAIANB4AJqIAJBCGopAwA3AwAgA0ESOgD4AiADIAIpAwA3A9gCIANBsAJqIANBmANqIAggCRB6IAcgA0G4AmopAwA3AwAgBiADQcACaikDADcDACAFIANByAJqKQMANwMAIAQgA0HQAmopAwA3AwAgAyADKQOwAjcDiAEgA0HgAGogA0GIAWoQnAJB/wFxIgJFDQEgAkH/AUcNAgwKCyADKALcASEBDAoLIAMtAIABIAMtAKgBSQ0ICyADKQOYASESIAMpA5ABIRAgAykDcCETIAMpA2ghDQJ+IAMpA2AiGSADKQOIASIaWgRAIA0gEH0hGCANIBBUrQwBCyANIBBCf4V8IRggDSAQVK0gDSAQUa18CyERIAMpA6ABIRUgAykDeCEXIBMgEn0hDQJAIBFQBEAgEiATVq0hEgwBCyANIBFUrSASIBNWrXwhEiANIBF9IQ0LIBcgFX0hEAJAIBJQBEAgFSAXWA0BDA8LIBAgElQgFSAXVnINDiAQIBJ9IRALIANBEjoA0AEgAyAQNwPIASADIA03A8ABIAMgGDcDuAEgAyAZIBp9NwOwASADQdgCakHQgcAAQQQQrwECQAJAAkAgAygC2AJFBEAgA0H4AWogA0GAA2opAwA3AwAgA0HwAWogA0H4AmopAwA3AwAgA0HoAWogA0HwAmopAwA3AwAgA0HgAWogA0HoAmopAwA3AwAgAyADKQPgAjcD2AEgA0GwAWogA0HYAWoQnAJB/wFxIgIOAwIBCQELIAMgAygC3AI2ApgDQayCwABBKyADQZgDakHYgsAAQdCFwAAQlwIACyACQQJJDQEMBwsgAy0A0AEgAy0A+AFJDQYLIANBqAJqIANB0AFqKQMANwMAIANBoAJqIANByAFqKQMANwMAIANBmAJqIANBwAFqKQMANwMAIANBkAJqIANBuAFqKQMANwMAIAMgAykDsAE3A4gCIANB2AJqIgJB0IHAAEEEEK8BIAMoAtgCDQIgA0G4A2ogA0GAA2opAwA3AwAgA0GwA2ogA0H4AmopAwA3AwAgA0GoA2ogA0HwAmopAwA3AwAgA0GgA2ogA0HoAmopAwA3AwAgAyADKQPgAjcDmAMgAkHQgcAAQQQQrwEgAygC2AINAyADKQPwAiERIAMpA+gCIQ0CfiAWIAMpA+ACIhVYBEAgDSAOfSESIA0gDlStDAELIA0gDkJ/hXwhEiANIA5UrSANIA5RrXwLIRAgAykD+AIhEyARIA99IQ4CQCAQUARAIA8gEVatIQ8MAQsgDiAQVK0gDyARVq18IQ8gDiAQfSEOCyATIBR9IQ0CQCAPUARAIBMgFFoNAQwPCyANIA9UIBMgFFRyDQ4gDSAPfSENCyADQRI6APgCIAMgDTcD8AIgAyAONwPoAiADIBI3A+ACIAMgFSAWfTcD2AIgA0GwAmoiAiADQZgDaiADQdgCahDBASADQdgBaiADQYgCaiACEG0gAygC2AENBAwGCyADKALcAiEBDAcLIAMgAygC3AI2ApgDQayCwABBKyADQZgDakHYgsAAQeCFwAAQlwIACyADIAMoAtwCNgKYA0GsgsAAQSsgA0GYA2pB2ILAAEHohMAAEJcCAAsgAyADKALcAjYCsAJBrILAAEErIANBsAJqQdiCwABB2ITAABCXAgALIAMoAtwBIQEMAwsgA0GoAmogA0HQAWopAwA3AwAgA0GgAmogA0HIAWopAwA3AwAgA0GYAmogA0HAAWopAwA3AwAgA0GQAmogA0G4AWopAwA3AwAgAyADKQOwATcDiAIgA0HYAmoiAkHQgcAAQQQQrwECQCADKALYAkUEQCADQbgDaiADQYADaikDADcDACADQbADaiADQfgCaikDADcDACADQagDaiADQfACaikDADcDACADQaADaiADQegCaikDADcDACADIAMpA+ACNwOYAyACQdCBwABBBBCvASADKALYAkUNASADIAMoAtwCNgKwAkGsgsAAQSsgA0GwAmpB2ILAAEGwhcAAEJcCAAsgAyADKALcAjYCmANBrILAAEErIANBmANqQdiCwABBwIXAABCXAgALIAMpA/ACIREgAykD6AIhDQJ+IBYgAykD4AIiFVgEQCANIA59IRIgDSAOVK0MAQsgDSAOQn+FfCESIA0gDlStIA0gDlGtfAshECADKQP4AiETIBEgD30hDgJAIBBQBEAgDyARVq0hDwwBCyAOIBBUrSAPIBFWrXwhDyAOIBB9IQ4LIBMgFH0hDQJAAkAgD1AEQCATIBRaDQEMAgsgDSAPVCATIBRUcg0BIA0gD30hDQsgA0ESOgD4AiADIA03A/ACIAMgDjcD6AIgAyASNwPgAiADIBUgFn03A9gCIANBsAJqIgIgA0GYA2ogA0HYAmoQwAEgA0HYAWogA0GIAmogAhBtIAMoAtgBRQRADAILIAMoAtwBIQEMAwsMBwsgA0HQAWogA0GAAmopAwA3AwAgA0HIAWogA0H4AWopAwA3AwAgA0HAAWogA0HwAWopAwA3AwAgA0G4AWogA0HoAWopAwA3AwAgAyADKQPgATcDsAEgA0HwAmogAUGYAWopAwA3AwAgA0HoAmogAUGQAWopAwA3AwAgA0HgAmogAUGIAWopAwA3AwAgA0ESOgD4AiADIAEpA4ABNwPYAgJAAkAgA0HYAmogA0GwAWoQnAJB/wFxIgIEQCACQf8BRw0BDAILIAMtANABQRJLDQELIAEpA5ABIQ8gASkDiAEhDiADKQPAASESIAMpA7gBIQ0CfiABKQOAASITIAMpA7ABIhVaBEAgDiANfSERIA0gDlatDAELIA4gDUJ/hXwhESANIA5WrSANIA5RrXwLIRAgASkDmAEhFCADKQPIASEWIA8gEn0hDgJAIBBQBEAgDyASVK0hDwwBCyAOIBBUrSAPIBJUrXwhDyAOIBB9IQ4LIBQgFn0hDQJAAkAgD1AEQCAUIBZaDQEMAgsgFCAWVCANIA9Ucg0BIA0gD30hDQsgA0G4A2oiAiADQTBqKQMANwMAIANBsANqIgQgA0EoaikDADcDACADQagDaiIFIANBIGopAwA3AwAgA0GgA2oiBiADQRhqKQMANwMAIAMgAykDEDcDmAMgA0ESOgCAAyADIA03A/gCIAMgDjcD8AIgAyARNwPoAiADIBMgFX0iEzcD4AIgA0IBNwPYAiADQdgBaiABIANBmANqIgcgA0HYAmoiCBCjAgJAAn8CQAJAAkACQAJAIAMoAtgBRQRAIANB0AJqIANBgAJqKQMANwMAIANByAJqIANB+AFqKQMANwMAIANBwAJqIANB8AFqKQMANwMAIANBuAJqIANB6AFqKQMANwMAIAMgAykD4AE3A7ACIAggARCDASADKALYAg0BIAIgA0GAA2opAwA3AwAgBCADQfgCaikDADcDACAFIANB8AJqKQMANwMAIAYgA0HoAmopAwA3AwAgAyADKQPgAjcDmAMgA0GwAmogBxCcAiICQf8BcQ4DAgMEAwsgAygC3AEhASAAQQE2AgAgACABNgIEDA4LIAMoAtwCDAQLIAMtANACIgIgAy0AuAMiBEkNASACIARHIQILIAJB/wFxQQFGDQELIANB+AFqIANBMGopAwA3AwAgA0HwAWogA0EoaikDADcDACADQegBaiADQSBqKQMANwMAIANB4AFqIANBGGopAwA3AwAgAyADKQMQNwPYASADQdgCaiABIANB2AFq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QZABaiIFIAFBiAVqKQMANwMAIANBEjoAqAEgAyABKQOABTcDiAEgA0HIAmoiBiABQdgBaikDADcDACADQcACaiIIIAFB0AFqKQMANwMAIANBuAJqIAFByAFqKQMANwMAIANBEjoA0AIgAyABKQPAATcDsAIgA0HgAGoiByADQYgCaiADQYgBaiIJIANBsAJqIgoQdCAKQdjHwABBBBCwAQJAAkACQCADKAKwAkUEQCADQagBaiADQdgCaikDADcDACACIANB0AJqKQMANwMAIAQgBikDADcDACAFIAgpAwA3AwAgAyADKQO4AjcDiAEgByAJEJwCQf8BcSICDgMCAQkBCyADIAMoArQCNgKIAkHtxMAAQSsgA0GIAmpBmMXAAEH49MAAEJcCAAsgAkECSQ0BDAcLIAMtAIABIAMtAKgBSQ0GCyADQdgBaiADQYABaikDADcDACADQdABaiADQfgAaikDADcDACADQcgBaiADQfAAaikDADcDACADQcABaiADQegAaikDADcDACADIAMpA2A3A7gBIANBsAJqIgJB2MfAAEEEELABIAMoArACDQIgA0GoAmogA0HYAmopAwA3AwAgA0GgAmogA0HQAmopAwA3AwAgA0GYAmogA0HIAmopAwA3AwAgA0GQAmogA0HAAmopAwA3AwAgAyADKQO4AjcDiAIgAkHYx8AAQQQQsAEgAygCsAINAyADKQPIAiEUIAMpA8ACIRACfiAZIAMpA7gCIhhYBEAgECARfSEVIBAgEVStDAELIBAgEUJ/hXwhFSAQIBFUrSAQIBFRrXwLIRIgAykD0AIhFiAUIBN9IRECQCASUARAIBMgFFatIRMMAQsgESASVK0gEyAUVq18IRMgESASfSERCyAWIBd9IRACQCATUARAIBYgF1oNAQwNCyAQIBNUIBYgF1RyDQwgECATfSEQCyADQRI6ANACIAMgEDcDyAIgAyARNwPAAiADIBU3A7gCIAMgGCAZfTcDsAIgA0HgAWoiAiADQYgCaiADQbACahDFASADQYgBaiADQbgBaiACEG4gAygCiAENBAwGCyADKAK0AiEBIABBATYCACAAIAE2AgQMBwsgAyADKAK0AjYC4AFB7cTAAEErIANB4AFqQZjFwABBiPXAABCXAgALIAMgAygCtAI2AogCQe3EwABBKyADQYgCakGYxcAAQbj0wAAQlwIACyADIAMoArQCNgLgAUHtxMAAQSsgA0HgAWpBmMXAAEGo9MAAEJcCAAsgAygCjAEhASAAQQE2AgAgACABNgIEDAMLIANB2AFqIANBgAFqKQMANwMAIANB0AFqIANB+ABqKQMANwMAIANByAFqIANB8ABqKQMANwMAIANBwAFqIANB6ABqKQMANwMAIAMgAykDYDcDuAEgA0GwAmoiAkHYx8AAQQQQsAECQCADKAKwAkUEQCADQagCaiADQdgCaikDADcDACADQaACaiADQdACaikDADcDACADQZgCaiADQcgCaikDADcDACADQZACaiADQcACaikDADcDACADIAMpA7gCNwOIAiACQdjHwABBBBCwASADKAKwAkUNASADIAMoArQCNgLgAUHtxMAAQSsgA0HgAWpBmMXAAEHY9MAAEJcCAAsgAyADKAK0AjYCiAJB7cTAAEErIANBiAJqQZjFwABB6PTAABCXAgALIAMpA8gCIRQgAykDwAIhEAJ+IBkgAykDuAIiGFgEQCAQIBF9IRUgECARVK0MAQsgECARQn+FfCEVIBAgEVStIBAgEVGtfAshEiADKQPQAiEWIBQgE30hEQJAIBJQBEAgEyAUVq0hEwwBCyARIBJUrSATIBRWrXwhEyARIBJ9IRELIBYgF30hEAJAAkAgE1AEQCAWIBdaDQEMAgsgECATVCAWIBdUcg0BIBAgE30hEAsgA0ESOgDQAiADIBA3A8gCIAMgETcDwAIgAyAVNwO4AiADIBggGX03A7ACIANB4AFqIgIgA0GIAmogA0GwAmoQxAEgA0GIAWogA0G4AWogAhBuIAMoAogBRQRADAILIAMoAowBIQEgAEEBNgIAIAAgATYCBAwDCwwFCyADQYABaiADQbABaikDADcDACADQfgAaiADQagBaikDADcDACADQfAAaiADQaABaikDADcDACADQegAaiADQZgBaikDADcDACADIAMpA5ABNwNgIANBqAFqIANBgAFqIgQpAwA3AwAgA0GgAWoiBSADQfgAaiIGKQMANwMAIANBmAFqIgggA0HwAGoiBykDADcDACADQZABaiIJIANB6ABqIgopAwA3AwAgAyADKQNgNwOIASADQcgCaiILIAFBgAVqIgJBGGopAwA3AwAgA0HAAmoiDCACQRBqKQMANwMAIANBuAJqIAJBCGopAwA3AwAgA0ESOgDQAiADIAIpAwA3A7ACIANBiAJqIg0gA0GIAWoiDiADQbACaiIPEMUBIAogA0GQAmoiAikDADcDACAHIANBmAJqIgcpAwA3AwAgBiADQaACaiIGKQMANwMAIAQgA0GoAmoiBCkDADcDACADIAMpA4gCNwNgIAUgAUEYaikDADcDACAIIAFBEGopAwA3AwAgCSABQQhqKQMANwMAIANBEjoAqAEgAyABKQMANwOIASADQfgBaiABQThqKQMANwMAIANB8AFqIAFBMGopAwA3AwAgA0HoAWogAUEoaikDADcDACADIAEpAyA3A+ABIA8gDiADQeABahDKAQJAAkACQAJAAkACQAJAIAMoArACRQRAIAQgA0HYAmopAwA3AwAgBiADQdACaikDADcDACAHIAspAwA3AwAgAiAMKQMANwMAIAMgAykDuAI3A4gCIA0gA0HgAGoQnAIiAkH/AXEOAwECAwILIAMoArQCIQEgAEEBNgIAIAAgATYCBAwICyADLQCoAiICIAMtAIABIgRJDQEgAiAERyECCyACQf8BcUEBRg0BCyADQbACakHsxMAAQQEQsAEgAygCsAINAiAAIAMpA7gCNwMIIABBKGogA0HYAmopAwA3AwAgAEEgaiADQdACaikDADcDACAAQRhqIANByAJqKQMANwMAIABBEGogA0HAAmopAwA3AwAMAQsgA0GgAWogAUEYaikDADcDACADQZgBaiABQRBqKQMANwMAIANBkAFqIAFBCGopAwA3AwAgA0ESOgCoASADIAEpAwA3A4gBIANBoAJqIAFBIGoiAUEYaikDADcDACADQZgCaiABQRBqKQMANwMAIANBkAJqIAFBCGopAwA3AwAgAyABKQMANwOIAiADQbACaiADQYgBaiADQYgCahDKASADKAKwAg0CIANBmANqIANB0AJqKQMANwMAIANBkANqIANByAJqKQMANwMAIANBiANqIANBwAJqKQMANwMAIANB6AJqIANB6ABqKQMANwMAIANB8AJqIANB8ABqKQMANwMAIANB+AJqIANB+ABqKQMANwMAIAMgAykDuAI3A4ADIAMgAykDYDcD4AIgAEEIaiADQYADaiADQeACahDgASAAQRI6ACgLIABBADYCAAwDCyADIAMoArQCNgKIAUHtxMAAQSsgA0GI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CCAIKQMAIAIpAzAgF4h8NwMACyAGIAQpAwA3AwAgBkE4aiAEQThqKQMANwMAIAZBMGogBEEwaikDADcDACAGQShqIARBKGopAwA3AwAgBkEgaiAEQSBqKQMANwMAIAZBGGogBEEYaikDADcDACAGQRBqIARBEGopAwA3AwAgBkEIaiAEQQhqKQMANwMAIApBAWtBBnYhBEHAACASayIGrSEXIAEgBkEGdiIIQQN0aiICKQMAIRggASAIQQZqIgdBA3RqKQMAISIgAkEoaikDACEkIAJBIGopAwAhJSACQRhqKQMAISYgAkEQaikDACEnIAJBCGopAwAhGSAGQT9xIQIgCEEHaiIFQQhHDQMMBQsgAikDACIXUA0DIAEpAyghGiABKQMgIRsgASkDGCEhIAEpAxAhHCABKQMIIR0gASkDACEgIANB0AFqIAEpAzAiHiAYIBggF4AiGCAXfn0gFxC+AiADQcABaiADKQPQASIiIANB2AFqKQMAIBdCABCWAiADQbABaiAaIB4gAykDwAF9IBcQvgIgA0GgAWogAykDsAEiHiADQbgBaikDACAXQgAQlgIgA0GQAWogGyAaIAMpA6ABfSAXEL4CIANBgAFqIAMpA5ABIhogA0GYAWopAwAgF0IAEJYCIANB8ABqICEgGyADKQOAAX0gFxC+AiADQeAAaiADKQNwIhsgA0H4AGopAwAgF0IAEJYCIANB0ABqIBwgISADKQNgfSAXEL4CIANBQGsgAykDUCIhIANB2ABqKQMAIBdCABCWAiADQTBqIB0gHCADKQNAfSAXEL4CIANBIGogAykDMCIcIANBOGopAwAgF0IAEJYCIANBEGogICAdIAMpAyB9IBcQvgIgAyADKQMQIh0gA0EYaikDACAXQgAQlgIgAEIANwNIIAAgGDcDOCAAQdAAakIANwMAIABB2ABqQgA3AwAgAEHgAGpCADcDACAAQegAakIANwMAIABB8ABqQgA3AwAgAEH4AGpCADcDACAAICI3AzAgACAeNwMoIAAgGjcDICAAIBs3AxggACAhNwMQIAAgHDcDCCAAIB03AwAgACAgIAMpAwB9NwNADAULIANBADYC6AQgA0EBNgLcBCADQcS1wQA2AtgEIANCBDcC4AQgA0HYBGpBhLbBABDFAgALIABCADcDACAAQThqQgA3AwAgAEEwakIANwMAIABBKGpCADcDACAAQSBqQgA3AwAgAEEYakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgACABKQMANwNAIABByABqIAFBCGopAwA3AwAgAEHQAGogAUEQaikDADcDACAAQdgAaiABQRhqKQMANwMAIABB4ABqIAFBIGopAwA3AwAgAEHoAGogAUEoaikDADcDACAAQfAAaiABQTBqKQMANwMAIABB+ABqIAFBOGopAwA3AwAMAwsgASAFQQN0aikDACAXiCEfDAELQYS2wQAQywIACyAEIA9rIQYgGCAXiCEYICIgF4ghGiAkIBeIIRsgJSAXiCEcICYgF4ghHSAnIBeIISAgGSAXiCEeIA9BAWohCiABKQMAISMCQCACRQ0AICJCACAXfSIXhiAbfCEbICQgF4YgHHwhHCAlIBeGIB18IR0gJiAXhiAgfCEgICcgF4YgHnwhHiAZIBeGIBh8IRggB0EHRg0AIAEgBUEDdGopAwAgF4YgGnwhGgsgAyAfNwOQBCADIBo3A4gEIAMgGzcDgAQgAyAcNwP4AyADIB03A/ADIAMgIDcD6AMgAyAeNwPgAyADIBg3A9gDIAMgIyAhhjcD0AMgA0HQBGpCADcDACADQcgEakIANwMAIANBwARqQgA3AwAgA0G4BGpCADcDACADQbAEakIANwMAIANBqARqQgA3AwAgA0GgBGpCADcDACADQgA3A5gEIANB0ANqIARBA3QiAiAPQQN0IgFraiEIICFCP4MhGiAKQQN0QQhqQQN2IQkgASADakGIA2opAwAhHCALKQMAIRsgAykDyAMhHSADKQPAAyEgIAMpA7gDIR4gAykDsAMhIiADKQOoAyEkIAMpA6ADISUgAykDmAMhJiADKQOQAyEnIAZBCkkhFCABIAJrQcgAakEDdiIVIQ0gBiEBAkACQANAAkACQCABIgcgCmoiAkEJSQRAQn8hGCADQdADaiACQQN0aiIQKQMAIhcgG1oNAiABIA9qIgRBCUkNAUF/QQlBhLbBABCgAgALIAJBCUGEtsEAEKACAAsgAkECayIBQQhNBEAgA0GAA2ogA0HQA2oiAiAEQQN0aikDACIZIBcgGxC+AiADQfACaiADKQOAAyIYIANBiANqKQMAIBtCABCWAiAZIAMpA/ACfSEXIAFBA3QgAmopAwAhGQNAIANB4AJqIBhC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A2AhDAwBC0IKIQwLIANBkAJqIgQgDTcDACADIAw3A4gCIANBATYClAMgA0HIlMAANgKQAyADQgE3ApwDIAMgA0GIAmqtQoCAgIDwAIQ3A/ACIAMgA0HwAmo2ApgDIANB4AFqIANBkANqENMBIANBqAFqQgA3AwAgA0IANwOgASAEKQMAIQwgAykDiAIhDSADKALgASIFBEAgAygC5AEgBRCLAwsgA0ESOgCwASADIAw3A5gBIAMgDTcDkAEgA0GgAmoiCiACQRhqKQMANwMAIANBmAJqIgcgAkEQaiIIKQMANwMAIAQgAkEIaikDADcDACADIAIpAwA3A4gCIANBqANqIgRCADcDACADQaADaiIJQgA3AwAgA0GYA2oiBUIANwMAIANCADcDkAMCQAJAAkACQAJAAkACQAJAAkACQCADQYgCaiILIANBkANqIgYQnAJB/wFxQf8BRwRAIAogAkEYaikDADcDACAHIAgpAwA3AwAgA0GQAmogAkEIaikDADcDACADIAIpAwA3A4gCIARCADcDACAJQgA3AwAgBUIANwMAIANCADcDkAMgCyAGQSAQrgNFDQEgBEIANwMAIAlCADcDACAFQgA3AwAgA0IANwOQAyABIAZBIBCuA0UNAiAGIAIQqAEgAygCkAMNAyADKQOwAyEOIAMpA6gDIQ8gAykDoAMhDSADKQOYAyEMIANBsANqIAFBIGopAwA3AwAgBCABQRhqKQMANwMAIAkgAUEQaikDADcDACAFIAFBCGopAwA3AwAgAyABKQMANwOQAyALIAYQqAEgAygCiAINBCADQcgCaiADQagCaikDADcDACADQcACaiAKKQMANwMAIANBuAJqIAcpAwA3AwAgAyADKQOQAjcDsAIgA0HgAWogA0GwAmoQYiADKALgAQ0FIAMpA4ACIRBCfyAMIA2EIA+EIA6EQgBSrSAOQgBTIgEbIAMpA/gBIRMgAykD8AEhESADKQPoASESIAEEQCANQn+FQgAgDX0iF0IAIAx9IgxCAFIiARshDSAPQn+FIhQgF1AgAUF/c3EiAa18IhcgFCABGyEPIAEgFCAXVnGtIA5Cf4V8IQ4LQn8gESAShCAThCAQhEIAUq0gEEIAUyIBGyABBEAgEUJ/hUIAIBF9IhVCACASfSISQgBSIgEbIREgE0J/hSIUIBVQIAFBf3NxIgGtfCIVIBQgARshEyABIBQgFVZxrSAQQn+FfCEQCyADQdAAaiASQgAgDEIAEJYCIANBQGsgEkIAIA1CABCWAiADQTBqIBJCACAPQgAQlgIgA0EgaiARQgAgDEIAEJYCIANBEGogEUIAIA1CABCWAiADIBNCACAMQgAQlgIgAykDMCIUIANByABqKQMAIAMpA0AiFSADQdgAaikDAHwiGCAVVK18fCIVIBRUrSADQQhqKQMAIANBGGopAwAgA0E4aikDACAPIBF+IA4gEn58IA0gE358fCAMIBB+fHx8fCADQShqKQMAIAMpAyAiDCAYfCINIAxUrXwiDCAVfCIOIAxUrXwgAykDECIMIA58Ig4gDFStfCADKQMAIgwgDnwiDiAMVK18IQwgAykDUCEPfkICWgRAIAxCf4UiDEIAIA19IhFQQgAgD30iD0IAUiICQX9zcSIBIA5Cf4UiDiABrXwiECAOVHEiBK18IAwgBBshDCAQIA4gARshDiANQn+FIBEgAhshDQsgA0GQA2ogA0GQAWoQqAEgAygCkAMNCUH/ASEEQf8BIA0gD4QgDoQgDIRCAFIgDEIAUxshASADKQOoAyETIAMpA6ADIREgAykDmAMhECADKQOwAyISQgBTDQZBASEEIBAgEYQgEiAThIRCAFINBkGwmsAAEMsCAAsgA0GIA2ogAkEYaiIEKQMANwMAIANBgANqIAgpAwA3AwAgA0H4AmogAkEIaiIFKQMANwMAIAMgAikDADcD8AIgA0H4AWogBCkDADcDACADQfABaiAIKQMANwMAIANB6AFqIAUpAwA3AwAgAyACKQMANwPgASADQaACaiIGQgA3AwAgB0IANwMAIANBkAJqIgdCADcDACADQgA3A4gCAkAgA0HwAmogA0GIAmoQnAJB/wFxQf8BRwRAIAYgBCkDADcDACADQZgCaiACQRBqKQMANwMAIAcgBSkDADcDACADIAIpAwA3A4gCDAELIANBiAJqIANB4AFqEMsBCyADQRI6AKgCIANBkANqIgIgASADQYgCaiIBEG0gAygCkAMNBiADQdgBaiADQbgDaikDADcDACADQdABaiADQbADaikDACIMNwMAIANByAFqIANBqANqIgQpAwAiDTcDACADQcABaiADQaADaiIFKQMAIg43AwAgAyADKQOYAyIPNwO4ASADQaACaiAMNwMAIANBmAJqIA03AwAgA0GQAmogDjcDACADIA83A4gCIARCADcDACAFQgA3AwAgA0GYA2pCADcDACADQgA3A5ADIAEgAkEgEK4DRQ0HIABBCGogA0GQAWogA0G4AWoQwAEgAEEANgIADAkLIAAgAykDkAE3AwggAEEANgIAIABBKGogA0GwAWopAwA3AwAgAEEgaiADQagBaikDADcDACAAQRhqIANBoAFqKQMANwMAIABBEGogA0GYAWopAwA3AwAMCAsgAEIANwMIIABBEjoAKCAAQQA2AgAgAEEgakIANwMAIABBGGpCADcDACAAQRBqQgA3AwAMBwsgAygClAMhASAAQQE2AgAgACABNgIEDAYLIAMoAowCIQEgAEEBNgIAIAAgATYCBAwFCyADKALkASEBIABBATYCACAAIAE2AgQMBAsgAcAgBMBtIQIgAyAMQgBTBH4gDUJ/hUIAIA19IhZCACAPfSIPQgBSIgEbIQ0gDkJ/hSIUIBZQIAFBf3NxIgGtfCIWIBQgARshDiABIBQgFlZxrSAMQn+FfAUgDAs3A/gBIAMgDjcD8AEgAyANNwPoASADIA83A+ABIAMgEkIAUwR+IBFCf4VCACARfSINQgAgEH0iEEIAUiIBGyERIBNCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRMgASAMIA1Wca0gEkJ/hXwFIBILNwOgAiADIBM3A5gCIAMgETcDkAIgAyAQNwOIAiADQZADaiADQeABaiADQYgCahBxIAMpA6gDIQ0gAykDoAMhDiADKQOYAyEMIAMpA5ADIQ8gAyACQf8BcUECTwR+IAxCf4VCACAMfSIQQgAgD30iD0IAUiIBGyEMIA5Cf4UiESAQUCABQX9zcSIBrXwiECARIAEbIQ4gASAQIBFUca0gDUJ/hXwFIA0LNwOgAiADIA43A5gCIAMgDDcDkAIgAyAPNwOIAiADQZADaiADQYgCahBjIAMoApADRQRAIAMpA6gDIQ0gAykDoAMhDCADKQOYAyEOIAMgAykDsAMiD0IAWSIEBH4gDwUgDEJ/hUIAIAx9IhBCACAOfSIOQgBSIgEbIQwgDUJ/hSIRIBBQIAFBf3NxIgGtfCIQIBEgARshDSABIBAgEVRxrSAPQn+FfAs3A+gCIAMgDTcD4AIgAyAMNwPYAiADIA43A9ACIANB0AJqIQIjAEHgAGsiASQAAkAgBEUEQCABQdgAaiIEQgA3AwAgAUHQAGoiBUIANwMAIAFByABqIgZCADcDACABQgA3A0AgASABQUBrEJ4BIAIgAUEgEK4DRQRAIARB4JbAACkDADcDACAFQdiWwAApAwA3AwAgBkHQlsAAKQMANwMAIAFByJbAACkDADcDQAwCCyABQThqIAJBGGopAwA3AwAgAUEwaiACQRBqKQMANwMAIAFBKGogAkEIaikDADcDACABIAIpAwA3AyAgAUFAayABQSBqEMsBDAELIAFB2ABqIAJBGGopAwA3AwAgAUHQAGogAkEQaikDADcDACABQcgAaiACQQhqKQMANwMAIAEgAikDADcDQAsgACABKQNANwMIIABBADYAKSAAQRI6ACggAEEANgIAIABBLGpBADYAACAAQSBqIAFB2ABqKQMANwMAIABBGGogAUHQAGopAwA3AwAgAEEQaiABQcgAaikDADcDACABQeAAaiQADAQLIAMoApQDIQEgAEEBNgIAIAAgATYCBAwDCyADKAKUAyEBIABBATYCACAAIAE2AgQMAgsgA0EANgKgAyADQQE2ApQDIANBmJnAADYCkAMgA0IENwKYAyADQZADakHAmsAAENIBIQEgAEEBNgIAIAAgATYCBAwBCyADKAKUAyEBIABBATYCACAAIAE2AgQLIANB0ANqJAAL0xoCCX8NfiMAQdADayIDJABCASEMAkACQAJAIAEtACAiBA4CAgEAC0IKIQxCASEOA0AgA0HwAGogDEIBIARBAXEiBRsgDUIAIAUbIA4gDxCWAiADQYABaiAMIA0gDCANEJYCIARBA0sgA0GIAWopAwAhDSADQfgAaikDACEPIAMpA4ABIQwgAykDcCEOIARBAXYhBA0ACyADQeAAaiAOIA8gDCANEJYCIANB6ABqKQMAIQ0gAykDYCEMDAELQgohDAsgA0GQAmoiBCANNwMAIAMgDDcDiAIgA0EBNgKUAyADQYz+wAA2ApADIANCATcCnAMgAyADQYgCaq1CgICAgOAIhDcD8AIgAyADQfACajYCmAMgA0HgAWogA0GQA2oQ0wEgA0GoAWpCADcDACADQgA3A6ABIAQpAwAhDCADKQOIAiENIAMoAuABIgUEQCADKALkASAFEIsDCyADQRI6ALABIAMgDDcDmAEgAyANNwOQASADQaACaiIKIAJBGGopAwA3AwAgA0GYAmoiByACQRBqIggpAwA3AwAgBCACQQhqKQMANwMAIAMgAikDADcDiAIgA0GoA2oiBEIANwMAIANBoANqIglCADcDACADQZgDaiIFQgA3AwAgA0IANwOQAwJAAkACQAJAAkACQAJAAkACQAJAIANBiAJqIgsgA0GQA2oiBhCcAkH/AXFB/wFHBEAgCiACQRhqKQMANwMAIAcgCCkDADcDACADQZACaiACQQhqKQMANwMAIAMgAikDADcDiAIgBEIANwMAIAlCADcDACAFQgA3AwAgA0IANwOQAyALIAZBIBCuA0UNASAEQgA3AwAgCUIANwMAIAVCADcDACADQgA3A5ADIAEgBkEgEK4DRQ0CIAYgAhCpASADKAKQAw0DIAMpA7ADIQ4gAykDqAMhDyADKQOgAyENIAMpA5gDIQwgA0GwA2ogAUEgaikDADcDACAEIAFBGGopAwA3AwAgCSABQRBqKQMANwMAIAUgAUEIaikDADcDACADIAEpAwA3A5ADIAsgBhCpASADKAKIAg0EIANByAJqIANBqAJqKQMANwMAIANBwAJqIAopAwA3AwAgA0G4AmogBykDADcDACADIAMpA5ACNwOwAiADQeABaiADQbACahBiIAMoAuABDQUgAykDgAIhEEJ/IAwgDYQgD4QgDoRCAFKtIA5CAFMiARsgAykD+AEhEyADKQPwASERIAMpA+gBIRIgAQRAIA1Cf4VCACANfSIXQgAgDH0iDEIAUiIBGyENIA9Cf4UiFCAXUCABQX9zcSIBrXwiFyAUIAEbIQ8gASAUIBdWca0gDkJ/hXwhDgtCfyARIBKEIBOEIBCEQgBSrSAQQgBTIgEbIAEEQCARQn+FQgAgEX0iFUIAIBJ9IhJCAFIiARshESATQn+FIhQgFVAgAUF/c3EiAa18IhUgFCABGyETIAEgFCAVVnGtIBBCf4V8IRALIANB0ABqIBJCACAMQgAQlgIgA0FAayASQgAgDUIAEJYCIANBMGogEkIAIA9CABCWAiADQSBqIBFCACAMQgAQlgIgA0EQaiARQgAgDUIAEJYCIAMgE0IAIAxCABCWAiADKQMwIhQgA0HIAGopAwAgAykDQCIVIANB2ABqKQMAfCIYIBVUrXx8IhUgFFStIANBCGopAwAgA0EYaikDACADQThqKQMAIA8gEX4gDiASfnwgDSATfnx8IAwgEH58fHx8IANBKGopAwAgAykDICIMIBh8Ig0gDFStfCIMIBV8Ig4gDFStfCADKQMQIgwgDnwiDiAMVK18IAMpAwAiDCAOfCIOIAxUrXwhDCADKQNQIQ9+QgJaBEAgDEJ/hSIMQgAgDX0iEVBCACAPfSIPQgBSIgJBf3NxIgEgDkJ/hSIOIAGtfCIQIA5UcSIErXwgDCAEGyEMIBAgDiABGyEOIA1Cf4UgESACGyENCyADQZADaiADQZABahCpASADKAKQAw0JQf8BIQRB/wEgDSAPhCAOhCAMhEIAUiAMQgBTGyEBIAMpA6gDIRMgAykDoAMhESADKQOYAyEQIAMpA7ADIhJCAFMNBkEBIQQgECARhCASIBOEhEIAUg0GQfyBwQAQywIACyADQYgDaiACQRhqIgQpAwA3AwAgA0GAA2ogCCkDADcDACADQfgCaiACQQhqIgUpAwA3AwAgAyACKQMANwPwAiADQfgBaiAEKQMANwMAIANB8AFqIAgpAwA3AwAgA0HoAWogBSkDADcDACADIAIpAwA3A+ABIANBoAJqIgZCADcDACAHQgA3AwAgA0GQAmoiB0IANwMAIANCADcDiAICQCADQfACaiADQYgCahCcAkH/AXFB/wFHBEAgBiAEKQMANwMAIANBmAJqIAJBEGopAwA3AwAgByAFKQMANwMAIAMgAikDADcDiAIMAQsgA0GIAmogA0HgAWoQzAELIANBEjoAqAIgA0GQA2oiAiABIANBiAJqIgEQbiADKAKQAw0GIANB2AFqIANBuANqKQMANwMAIANB0AFqIANBsANqKQMAIgw3AwAgA0HIAWogA0GoA2oiBCkDACINNwMAIANBwAFqIANBoANqIgUpAwAiDjcDACADIAMpA5gDIg83A7gBIANBoAJqIAw3AwAgA0GYAmogDTcDACADQZACaiAONwMAIAMgDzcDiAIgBEIANwMAIAVCADcDACADQZgDakIANwMAIANCADcDkAMgASACQSAQrgNFDQcgAEEIaiADQZABaiADQbgBahDEASAAQQA2AgAMCQsgACADKQOQATcDCCAAQQA2AgAgAEEoaiADQbABaikDADcDACAAQSBqIANBqAFqKQMANwMAIABBGGogA0GgAWopAwA3AwAgAEEQaiADQZgBaikDADcDAAwICyAAQgA3AwggAEESOgAoIABBADYCACAAQSBqQgA3AwAgAEEYakIANwMAIABBEGpCADcDAAwHCyADKAKUAyEBIABBATYCACAAIAE2AgQMBgsgAygCjAIhASAAQQE2AgAgACABNgIEDAULIAMoAuQBIQEgAEEBNgIAIAAgATYCBAwECyABwCAEwG0hAiADIAxCAFMEfiANQn+FQgAgDX0iFkIAIA99Ig9CAFIiARshDSAOQn+FIhQgFlAgAUF/c3EiAa18IhYgFCABGyEOIAEgFCAWVnGtIAxCf4V8BSAMCzcD+AEgAyAONwPwASADIA03A+gBIAMgDzcD4AEgAyASQgBTBH4gEUJ/hUIAIBF9Ig1CACAQfSIQQgBSIgEbIREgE0J/hSIMIA1QIAFBf3NxIgGtfCINIAwgARshEyABIAwgDVZxrSASQn+FfAUgEgs3A6ACIAMgEzcDmAIgAyARNwOQAiADIBA3A4gCIANBkANqIANB4AFqIANBiAJqEHEgAykDqAMhDSADKQOgAyEOIAMpA5gDIQwgAykDkAMhDyADIAJB/wFxQQJPBH4gDEJ/hUIAIAx9IhBCACAPfSIPQgBSIgEbIQwgDkJ/hSIRIBBQIAFBf3NxIgGtfCIQIBEgARshDiABIBAgEVRxrSANQn+FfAUgDQs3A6ACIAMgDjcDmAIgAyAMNwOQAiADIA83A4gCIANBkANqIANBiAJqEGMgAygCkANFBEAgAykDqAMhDSADKQOgAyEMIAMpA5gDIQ4gAyADKQOwAyIPQgBZIgQEfiAPBSAMQn+FQgAgDH0iEEIAIA59Ig5CAFIiARshDCANQn+FIhEgEFAgAUF/c3EiAa18IhAgESABGyENIAEgECARVHGtIA9Cf4V8CzcD6AIgAyANNwPgAiADIAw3A9gCIAMgDjcD0AIgA0HQAmohAiMAQeAAayIBJAACQCAERQRAIAFB2ABqIgRCADcDACABQdAAaiIFQgA3AwAgAUHIAGoiBkIANwMAIAFCADcDQCABIAFBQGsQnwEgAiABQSAQrgNFBEAgBEHo/MAAKQMANwMAIAVB4PzAACkDADcDACAGQdj8wAApAwA3AwAgAUHQ/MAAKQMANwNADAILIAFBOGogAkEYaikDADcDACABQTBqIAJBEGopAwA3AwAgAUEoaiACQQhqKQMANwMAIAEgAikDADcDICABQUBrIAFBIGoQzAEMAQsgAUHYAGogAkEYaikDADcDACABQdAAaiACQRBqKQMANwMAIAFByABqIAJBCGopAwA3AwAgASACKQMANwNACyAAIAEpA0A3AwggAEEANgApIABBEjoAKCAAQQA2AgAgAEEsakEANgAAIABBIGogAUHYAGopAwA3AwAgAEEYaiABQdAAaikDADcDACAAQRBqIAFByABqKQMANwMAIAFB4ABqJAAMBAsgAygClAMhASAAQQE2AgAgACABNgIEDAMLIAMoApQDIQEgAEEBNgIAIAAgATYCBAwCCyADQQA2AqADIANBATYClAMgA0HkgMEANgKQAyADQgQ3ApgDIANBkANqQYyCwQAQ0gEhASAAQQE2AgAgACABNgIEDAELIAMoApQDIQEgAEEBNgIAIAAgATYCBAsgA0HQA2okAAvlGAINfwl+IwBB8ANrIgQkACAEQThqIAFB2AVqKQMANwMAIARBMGogAUHQBWopAwA3AwAgBEEoaiIHIAFByAVqKQMANwMAIARBEjoAQCAEIAEpA8AFNwMgAkACQAJAAkACQAJAAkACQAJAIAIgBEEgahCcAkH/AXEiBUH/AUYNACAFRQRAIAItACAgBC0AQEkNAQsgBEEgakHsxMAAQQEQsAEgBCgCIA0BIARB6ANqIgUgBEHIAGopAwA3AwAgBEHgA2ogBEFAaykDADcDACAEQdgDaiAEQThqKQMANwMAIARB0ANqIARBMGopAwA3AwAgBCAEKQMoNwPIAyADLQAgIQYgAyAEQcgDakEgEK4DRQRAIAYgBS0AAEYNAwsgBEGAAWogA0EYaikDADcDACAEQfgAaiADQRBqKQMANwMAIARB8ABqIANBCGopAwA3AwAgBCADKQMANwNoIAQgAygAITYCYCAEIANBJGooAAA2AGMMAwsgBEHgA2ogAUHABWoiAUEYaikDADcDACAEQdgDaiABQRBqKQMANwMAIARB0ANqIAFBCGopAwA3AwAgBEESOgDoAyAEQoCAgICQCCITIARByANqrYQ3A4ADIAQgEyACrYQ3A/gCIAQgASkDADcDyAMgBEHcAGpBAzoAACAEQdgAakEENgIAIARB0ABqQqCAgIAQNwIAIARByABqQQI2AgAgBEECNgJAIARBAzoAPCAEQQQ2AjggBEIgNwIwIARBAjYCKCAEQQI2AiAgBEECNgK0AyAEQQI2AqQDIARBmOjAADYCoAMgBCAEQSBqNgKwAyAEQQI2AqwDIAQgBEH4Amo2AqgDIARB0AJqIgEgBEGgA2oQ0wEgBEEYaiABQbyGwQBBmOnAABCmAiAEKAIcIQIgBCgCGCEBIAcgBEHYAmooAgA2AgBBmeDBAC0AABogBCAEKQLQAjcDIEEYQQQQ9wIiA0UNByADIAE2AgQgA0Gkh8EANgIAIAMgBCkDIDcCDCADIAI2AgggA0EUaiAEQShqKAIANgIAIABBATYCACAAIAM2AgQMBgsgBCAEKAIkNgLIA0HtxMAAQSsgBEHIA2pBmMXAAEHs68AAEJcCAAsgBEGAAWogAUHYAWopAwA3AwAgBEH4AGogAUHQAWopAwA3AwAgBEHwAGogAUHIAWopAwA3AwAgBCABKQPAATcDaEESIQYLIARBIGoiCCABIAIQZwJAAkACQAJAAkAgBCgCIEUEQCAEQagBaiAEQcgAaikDACIRNwMAIARBoAFqIARBQGsiCSkDACISNwMAIARBmAFqIARBOGoiCikDACIYNwMAIARBkAFqIARBMGoiCykDACIZNwMAIAQgBCkDKCITNwOIASAEQegDaiIMIBE3AwAgBEHgA2oiDSASNwMAIARB2ANqIg4gGDcDACAEQdADaiIPIBk3AwAgBCATNwPIAyAEQcgBaiIQIAFB2AFqKQMANwMAIARBwAFqIgcgAUHQAWopAwA3AwAgBEG4AWoiBSABQcgBaikDADcDACAEIAEpA8ABNwOwASAEQdABaiIDQRI6AAAgCSADKQMANwMAIAogECkDADcDACALIAcpAwA3AwAgBEEoaiAFKQMANwMAIAQgBCkDsAE3AyAgBEGgA2oiAyAEQcgDaiAIEMYBIAMgAhCcAiIDQf8BcQ4DAQIDAgsgBCgCJCEBIABBATYCACAAIAE2AgQMCAsgBC0AwAMiBSACLQAgIgNJDQEgAyAFRyEDCyADQf8BcUEBRg0BCyAMIAJBIGopAwA3AwAgDSACQRhqKQMANwMAIA4gAkEQaikDADcDACAPIAJBCGopAwA3AwAgBCACKQMANwPIAyAEQSBqIAEgBEHIA2oQvgEgBCgCIEUNASAEKAIkIQEMBAsgBEECNgIkIARBnOrAADYCICAEQgI3AiwgBEKAgICAgAgiEyAEQYgBaq2ENwPQAyAEIBMgAq2ENwPIAyAEIARByANqNgIoIARBoANqIgEgBEEgahDTASAEQQhqIAFBvIbBAEGs6sAAEKYCIAQoAgwhAyAEKAIIIQIgBEEoaiIBIARBqANqKAIANgIAQZngwQAtAAAaIAQgBCkCoAM3AyBBGEEEEPcCIgVFDQUgBSACNgIEIAVBpIfBADYCACAFIAQpAyA3AgwgBSADNgIIIAVBFGogASgCADYCACAAQQE2AgAgACAFNgIEDAQLIARBoAJqIARByABqKQMANwMAIARBmAJqIARBQGsiBykDADcDACAEQZACaiAEQThqIgUpAwA3AwAgBEGIAmogBEEwaiIDKQMANwMAIAQgBCkDKDcDgAIgByAEQdABaikDADcDACAFIARByAFqKQMANwMAIAMgBEHAAWopAwA3AwAgBEEoaiAEQbgBaikDADcDACAEIAQpA7ABNwMgIARB2AFqIgMgBEGAAmogBEEgahDFAQJAIARBiAFqIAMQnAJB/wFxIgMEQCADQf8BRw0BDAMLIAQtAKgBIAQtAPgBSQ0CCyAEQewDaiAEKABjNgAAIARB4ANqIARBgAFqKQMANwMAIARB2ANqIARB+ABqKQMANwMAIARB0ANqIARB8ABqKQMANwMAIAQgBCkDaDcDyAMgBCAGOgDoAyAEIAQoAmA2AOkDIARBQGsgBEHQAWopAwA3AwAgBEE4aiAEQcgBaikDADcDACAEQTBqIARBwAFqKQMANwMAIARBKGogBEG4AWopAwA3AwAgBCAEKQOwATcDICAEQcgCagJ/IARByANqIARBIGogBEHIA2ogBEEgaiIFEJwCIgNB/wFxBH8gAwUgBSAELQBAIgUgBksNARogBSAGRwtB/wFxQQFGGwsiA0EgaikDADcDACAEQcACaiADQRhqKQMANwMAIARBuAJqIANBEGopAwA3AwAgBEGwAmogA0EIaikDADcDACAEIAMpAwA3A6gCIARBmANqIAJBIGopAwA3AwAgBEGQA2ogAkEYaikDADcDACAEQYgDaiACQRBqKQMANwMAIARBgANqIAJBCGopAwA3AwAgBCACKQMANwP4AiAEKQPoASEUIAQpA+ABIREgBCkDmAEhFSAEKQOQASESAn4gBCkDiAEiGSAEKQPYASITWgRAIBEgElatIRYgEiARfQwBCyARIBJWrSARIBJRrXwhFiASIBFCf4V8CyEYIAQpA/ABIREgBCkDoAEhEiAVIBR9IRcCQCAWUARAIBQgFVatIRQMAQsgFiAXVq0gFCAVVq18IRQgFyAWfSEXCyASIBF9IRUCQCAUUARAIBEgElgNAQwCCyAUIBVWIBEgElZyDQEgFSAUfSEVCyAEQRI6AMADIAQgFTcDuAMgBCAXNwOwAyAEIBg3A6gDIAQgGSATfTcDoAMgBEHgA2ogBEGAAWopAwA3AwAgBEHYA2ogBEH4AGopAwA3AwAgBEHQA2ogBEHwAGopAwA3AwAgBEHsA2ogBCgAYzYAACAEIAQpA2g3A8gDIAQgBjoA6AMgBCAEKAJgNgDpAyAEQUBrIARByAJqKQMANwMAIARBOGogBEHAAmopAwA3AwAgBEEwaiAEQbgCaikDADcDACAEQShqIARBsAJqKQMANwMAIAQgBCkDqAI3AyAgBEHQAmoiAiABIARB+AJqIARBoANqIARByANqIARBIGoQmAEgAEEIaiACIARBsAFqEMYBIABBADYCAAwDCyAEQQA2AjAgBEEBNgIkIARB5MTAADYCICAEQgQ3AiggBEEgakG0xMAAEMUCAAsgBEE4aiABQeADaiIBQRhqKQMANwMAIARBMGogAUEQaikDADcDACAEQShqIgUgAUEIaikDADcDACAEQQM2AqQDIARBxOvAADYCoAMgBEIDNwKsAyAEQRI6AEAgBCABKQMANwMgIARCgICAgIAIIhMgBEGIAWqthDcD2AMgBCATIARBIGqthDcD0AMgBCATIARB2AFqrYQ3A8gDIAQgBEHIA2o2AqgDIARB+AJqIgEgBEGgA2oQ0wEgBEEQaiABQbyGwQBB3OvAABCmAiAEKAIUIQMgBCgCECECIAUgBEGAA2ooAgA2AgBBmeDBAC0AABogBCAEKQL4AjcDIEEYQQQQ9wIiAQRAIAEgAjYCBCABQaSHwQA2AgAgASAEKQMgNwIMIAEgAzYCCCABQRRqIAUoAgA2AgAMAQsMAgsgAEEBNgIAIAAgATYCBAsgBEHwA2okAA8LQQRBGBCoAwALuRgCD38DfiMAQfAcayICJAAgAkGQEGoiAyABEAIgARADELwBAkACQAJAIAIoApAQRQRAIAJBKGogAkGYCGpBBHIgAkGYEGpB8AcQrANB8AcQrAMaIAIgARANNgKoGyADIAJBqBtqQYiwwAAQrAECQAJAAkACQAJAAkACQCACKAKQEEUEQCACQbQIaiACQbAQaikDACIRNwIAIAJBrAhqIAJBqBBqKQMAIhI3AgAgAkGkCGogAkGgEGopAwAiEzcCACACQZAYaiATNwMAIAJBmBhqIBI3AwAgAkGgGGogETcDACACIAIpA5gQIhE3ApwIIAIgETcDiBggAkESOgCoGCACKAKoGyIDQYQBTwRAIAMQAAsgAiABECg2AqgbIAJBkBBqIAJBqBtqQZiwwAAQrAEgAigCkBANASACQbQIaiACQbAQaikDACIRNwIAIAJBrAhqIAJBqBBqKQMAIhI3AgAgAkGkCGogAkGgEGopAwAiEzcCACACQbgYaiATNwMAIAJBwBhqIBI3AwAgAkHIGGogETcDACACIAIpA5gQIhE3ApwIIAIgETcDsBggAigCqBsiA0GEAU8EQCADEAALIAIgARAnNgKoGyACQZAQaiACQagbakGosMAAEKwBIAIoApAQDQIgAkG0CGogAkGwEGopAwAiETcCACACQawIaiACQagQaikDACISNwIAIAJBpAhqIAJBoBBqKQMAIhM3AgAgAkGAGWogEzcDACACQYgZaiASNwMAIAJBkBlqIBE3AwAgAkHoGGogETcDACACQdgYaiATNwMAIAJB4BhqIBI3AwAgAiACKQOYECIRNwKcCCACIBE3A/gYIAIgETcD0BggAkESOgDwGCACKAKoGyIDQYQBTwRAIAMQAAsgAiABEA4iAzYCqBsgAkGQEGogAkGoG2pBuLDAABCsASACKAKQEA0DIAJBtAhqIAJBsBBqKQMAIhE3AgAgAkGsCGogAkGoEGopAwAiEjcCACACQaQIaiACQaAQaikDACITNwIAIAJBoBlqIBM3AwAgAkGoGWogEjcDACACQbAZaiARNwMAIAIgAikDmBAiETcCnAggAiARNwOYGSACQRI6ALgZIANBhAFPBEAgAxAACyACIAEQDyIDNgKoGyACQZAQaiACQagbakHIsMAAEKwBIAIoApAQDQQgAkG0CGogAkGwEGopAwAiETcCACACQawIaiACQagQaikDACISNwIAIAJBpAhqIAJBoBBqKQMAIhM3AgAgAkHIGWogEzcDACACQdAZaiASNwMAIAJB2BlqIBE3AwAgAiACKQOYECIRNwKcCCACIBE3A8AZIANBhAFPBEAgAxAACyACQZAQaiIDIAJBKGoiBBCcASACQZgIaiADQdiwwAAQkAIgAigCmAgNByACQdgcaiACQagIaikDADcDACACQeAcaiACQbAIaikDADcDACACQegcaiACQbgIaikDADcDACACIAIpA6AINwPQHCACQeAZaiIFIAQgAkHAGWoQ2wEgAkESOgCAGiACQZgZaiAFEJwCQf8BcUEBRg0FIANB6LDAAEEBEK8BIAIoApAQDQkgAkGoGmogAkG4EGopAwA3AwAgAkGgGmogAkGwEGopAwA3AwAgAkGYGmogAkGoEGopAwA3AwAgAkGQGmogAkGgEGopAwA3AwAgAiACKQOYEDcDiBoMBgsgAkGwCGogAkGsEGooAgAiAzYCACACQagIaiACQaQQaikCACIRNwMAIAJBoAhqIAJBnBBqKQIAIhI3AwAgAkEQaiASNwMAIAJBGGogETcDACACQSBqIAM2AgAgAiACKQKUECIRNwOYCCACIBE3AwggAigCqBsiA0GEAUkNCiADEAAMCgsgAkGwCGogAkGsEGooAgAiAzYCACACQagIaiACQaQQaikCACIRNwMAIAJBoAhqIAJBnBBqKQIAIhI3AwAgAkEQaiASNwMAIAJBGGogETcDACACQSBqIAM2AgAgAiACKQKUECIRNwOYCCACIBE3AwggAigCqBsiA0GEAUkNCSADEAAMCQsgAkGwCGogAkGsEGooAgAiAzYCACACQagIaiACQaQQaikCACIRNwMAIAJBoAhqIAJBnBBqKQIAIhI3AwAgAkEQaiASNwMAIAJBGGogETcDACACQSBqIAM2AgAgAiACKQKUECIRNwOYCCACIBE3AwggAigCqBsiA0GEAUkNCCADEAAMCAsgAkGwCGogAkGsEGooAgAiBDYCACACQagIaiACQaQQaikCACIRNwMAIAJBoAhqIAJBnBBqKQIAIhI3AwAgAkEQaiASNwMAIAJBGGogETcDACACQSBqIAQ2AgAgAiACKQKUECIRNwOYCCACIBE3AwggA0GEAUkNByADEAAMBwsgAkGwCGogAkGsEGooAgAiBDYCACACQagIaiACQaQQaikCACIRNwMAIAJBoAhqIAJBnBBqKQIAIhI3AwAgAkEQaiASNwMAIAJBGGogETcDACACQSBq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EJYCIANBMGogGCAcIAMpA0B9IBcQvgIgA0EgaiADKQMwIhwgA0E4aikDACAXQgAQlgIgA0EQaiAaIBggAykDIH0gFxC+AiADIAMpAxAiGCADQRhqKQMAIBdCABCWAiAAQgA3AyggACAeNwMYIABBMGpCADcDACAAQThqQgA3AwAgACAbNwMQIAAgHDcDCCAAIBg3AwAgACAaIAMpAwB9NwMgDAULIANBADYCyAIgA0EBNgK8AiADQcS1wQA2ArgCIANCBDcCwAIgA0G4AmpB9LXBABDFAgALIABCADcDACAAQRhqQgA3AwAgAEEQakIANwMAIABBCGpCADcDACAAIAEpAwA3AyAgAEEoaiABQQhqKQMANwMAIABBMGogAUEQaikDADcDACAAQThqIAFBGGopAwA3AwAMAwsgA0G4AmogAkEDdGogHyAehjcDAAwBC0H0tcEAEMsCAAsgBEEGdiEEAkAgBkUNACAIICEgGEIAIBx9IhiIfDcDACAFICAgGiAYiHw3AwAgB0EDRg0AIANBuAJqIAJBA3RqIgIgAikDACAXIBiIfDcDAAsgBCANayEGIANB6AFqIANB0AJqKQMANwMAIANB4AFqIANByAJqKQMANwMAIANB2AFqIANBwAJqKQMANwMAIAMgAykDuAI3A9ABIBtBwAAgD2siAq0iGIhCACACQQZ2IgdBA2oiCEEERxshHyABIAdBAmoiCUEDdGopAwAiICAYiCEbIAEgB0EDdGoiBUEIaikDACIhIBiIIRcgBSkDACAYiCEaIAEpAwAhIwJAIAJBP3FFDQAgIEIAIBh9IhiGIBd8IRcgISAYhiAafCEaIAlBA0YNACABIAhBA3RqKQMAIBiGIBt8IRsLIA1BAWohCSADIB83A5ACIAMgGzcDiAIgAyAXNwOAAiADIBo3A/gBIAMgIyAehjcD8AEgA0GwAmpCADcDACADQagCakIANwMAIANBoAJqQgA3AwAgA0IANwOYAiADQfABaiAEQQN0IgIgDUEDdCIBa2ohByABQRBqQQN2IQggASADakHIAWopAwAhGyAKKQMAIRogAykD6AEhHyADKQPgASEgIAMpA9gBISEgAykD0AEhIyAGQQZJIRQgASACa0EoakEDdiIVIRAgBiEBAkACQANAAkACQCABIgogCWoiAkEFSQRAQn8hGCADQfABaiAC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ACARfSIUQgAgE30iE0IAUiIBGyERIBJCf4UiFyAUUCABQX9zcSIBrXwiFCAXIAEbIRIgASAUIBdUca0gFUJ/hXwhFQsgA0HYAGogE0IAIBBCABCWAiADQcgAaiATQgAgD0IAEJYCIANBOGogE0IAIBZCABCWAiADQShqIBFCACAQQgAQlgIgA0EYaiARQgAgD0IAEJYCIANBCGogEkIAIBBCABCWAiADKQM4IhcgA0HQAGopAwAgAykDSCIUIANB4ABqKQMAfCIaIBRUrXx8IhQgF1StIANBEGopAwAgA0EgaikDACADQUBrKQMAIBEgFn4gDiATfnwgDyASfnx8IBAgFX58fHx8IANBMGopAwAgAykDKCIOIBp8IhAgDlStfCIOIBR8IhIgDlStfCADKQMYIg4gEnwiEiAOVK18IAMpAwgiDiASfCIPIA5UrXwhDiADKQNYIRMgACAYIBl+QgJaBH4gEEJ/hUIAIBB9IhFCACATfSITQgBSIgEbIRAgD0J/hSISIBFQIAFBf3NxIgGtfCIRIBIgARshDyABIBEgElRxrSAOQn+FfAUgDgs3AyAgACAPNwMYIAAgEDcDECAAIBM3AwggAEEANgIACyADQfACaiQAC+tRAhp/Cn4jAEGQG2siAyQAIANBkBBqIAEQAiABEAMQvAECQAJAIAMoApAQRQRAIANBKGogA0GYCGpBBHIgA0GYEGpB8AcQrANB8AcQrAMaIAMgARAkIgU2AqQZIAMgBUEARzYCoBkCQAJAIAVFBEAgA0GwEGpCADcDACADQagQakIANwMAIANBoBBqQgA3AwAgA0IANwOYEAwBCyADQZAQaiADQaQZakGwrMAAEKwBIAMoAqQZIQIgAygCoBkhBCADKAKQEA0BCyADQbQIaiADQbAQaikDACIcNwIAIANBrAhqIANBqBBqKQMAIh03AgAgA0GkCGogA0GgEGopAwAiHjcCACADQZAYaiAeNwMAIANBmBhqIB03AwAgA0GgGGogHDcDACADIAMpA5gQIhw3ApwIIAMgHDcDiBggA0ESOgCoGCAERSACQYQBSXJFBEAgAhAACyADIAEQJSIENgKkGUEAIQIgAyAEQQBHNgKgGSAERQRAIANBsBBqQgA3AwAgA0GoEGpCADcDACADQaAQakIANwMAIANCADcDmBBBACEEDAMLIANBkBBqIANBpBlqQcCswAAQrAEgAygCpBkhAiADKAKgGSEEIAMoApAQRQ0CIANBsAhqIANBrBBqKAIAIgU2AgAgA0GoCGogA0GkEGopAgAiHDcDACADQaAIaiADQZwQaikCACIdNwMAIANBEGogHTcDACADQRhqIBw3AwAgA0EgaiAFNgIAIAMgAykClBAiHDcDmAggAyAcNwMIIARFIAJBhAFJcg0DIAIQAAwDCyADQbAIaiADQawQaigCACIFNgIAIANBqAhqIANBpBBqKQIAIhw3AwAgA0GgCGogA0GcEGopAgAiHTcDACADQRBqIB03AwAgA0EYaiAcNwMAIANBIGogBTYCACADIAMpApQQIhw3A5gIIAMgHDcDCCAERSACQYQBSXINAiACEAAMAgsgA0GwCGogA0GsEGooAgAiBDYCACADQRBqIANBnBBqKQIANwMAIANBGGogA0GkEGopAgA3AwAgA0EgaiAENgIAIAMgAykClBA3AwgMAQsgA0G0CGogA0GwEGopAwAiHDcCACADQawIaiADQagQaikDACIdNwIAIANBpAhqIANBoBBqKQMAIh43AgAgA0G4GGogHjcDACADQcAYaiAdNwMAIANByBhqIBw3AwAgAyADKQOYECIcNwKcCCADIBw3A7AYIANBEjoA0BggBEUgAkGEAUlyRQRAIAIQAAsCQCABECYiBEUEQCADQfAYakHorMAAKQMANwMAIANB6BhqQeCswAApAwA3AwAgA0HgGGpB2KzAACkDADcDACADQdCswAApAwA3A9gYDAELIAMgBDYCoBkgA0GQEGogA0GgGWpB+KzAABCsASADKAKQEARAIANBEGogA0GcEGopAgA3AwAgA0EYaiADQaQQaikCADcDACADQSBqIANBrBBqKAIANgIAIAMgAykClBA3AwggBEGEAUkNAiAEEAAMAgsgA0HgGGogA0GgEGopAwA3AwAgA0HoGGogA0GoEGopAwA3AwAgA0HwGGogA0GwEGopAwA3AwAgAyADKQOYEDcD2BggBEGEAUkNACAEEAALIAMgARAhIgQ2AvQZIANB6BpqIgUgA0H0GWpBiK3AABCsAQJAAkACQAJAIAMoAugaRQRAIANB7BlqIANBiBtqIgcpAwAiHDcCACADQeQZaiADQYAbaiICKQMAIh03AgAgA0HcGWogA0H4GmoiBikD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IAJB8ABqIBFBIGopAwA3AwAgAkHoAGogEUEYaikDADcDACACQeAAaiARQRBqKQMANwMAIAJB2ABqIBFBCGopAwA3AwAgAiARKQMANwNQIApBCGogAkEIakHwABCsAxogCkEANgIADAULIAIoAgwhCSAKQQE2AgAgCiAJNgIEDAQLIAIgAigCDDYCiANB7cTAAEErIAJBiANqQZjFwABB4NjAABCXAgALIAJBADYCGCACQQE2AgwgAkHI2MAANgIIIAJCBDcCECACQQhqQdDYwAAQ0gEhCSAKQQE2AgAgCiAJNgIEDAILIAIoAgwhCSAKQQE2AgAgCiAJNgIEDAELIAJBoANqIgkgBEEYaikDADcDACACQZgDaiIOIARBEGopAwA3AwAgAkGQA2oiCyAEQQhqKQMANwMAIAJBEjoAqAMgAiAEKQMANwOIAyACQYgCaiAEQThqKQMANwMAIAJBgAJqIARBMGopAwA3AwAgAkH4AWogBEEoaikDADcDACACIAQpAyA3A/ABIAJBCGoiDSACQYgDaiIPIAJB8AFqIhAQygECQCACKAIIRQRAIAJB2AJqIAJBMGopAwA3AwAgAkHQAmogAkEoaiITKQMANwMAIAJByAJqIAJBIGopAwA3AwAgAkHAAmogAkEYaikDADcDACACIAIpAxA3A7gCIAIgHTcDiAIgAiAeNwOAAiACIB83A/gBIAIgHDcD8AEgAkGoA2ogAkGYAWoiFSkDADcDACAJIAJBkAFqKQMANwMAIA4gAkGIAWopAwA3AwAgCyACQYABaikDADcDACACIAIpA3g3A4gDIA0gDyAQEMoBIAIoAggNASACQYADaiACQTBqKQMANwMAIAJB+AJqIBMpAwA3AwAgAkHwAmogAkEgaikDADcDACACQegCaiACQRhqKQMANwMAIAIgAikDEDcD4AIgCkHQAGogESACQeACaiACQbgCahB7IAogHTcDICAKIB43AxggCiAfNwMQIAogHDcDCCAKQQA2AgAgCkHIAGogFSkDADcDACAKQUBrIAJBkAFqKQMANwMAIApBOGogAkGIAWopAwA3AwAgCkEwaiACQYABaikDADcDACAKIAIpA3g3AygMAgsgAigCDCEJIApBATYCACAKIAk2AgQMAQsgAigCDCEJIApBATYCACAKIAk2AgQLIAJBsANqJAACfiAF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BkIENwL4CCAGQfAIakGs1sAAENIBDAELIAZBADYCgAkgBkEBNgL0CCAGQeDVwAA2AvAIIAZCBDcC+AggBkHwCGpB6NXAABDSAQshBCAMQQE2AgAgDCAENgIEDAMLIAZBADYCgAkgBkEBNgL0CCAGQeTEwAA2AvAIIAZCBDcC+AggBkHwCGpBtMTAABDFAgALIAZBADYCgAkgBkEBNgL0CCAGQZDVwAA2AvAIIAZCBDcC+AggBkHwCGpBmNXAABDSASEEIAxBATYCACAMIAQ2AgQMAQsgBkEANgKACSAGQQE2AvQIIAZBsNPAADYC8AggBkIENwL4CCAGQfAIakGk1MAAENIBIQQgDEEBNgIAIAwgBDYCBAsgBkHgEWokACADQZgIaiAMQaitwAAQkAIgAygCmAgNASADQcQZaiADQcAIaikDACIcNwIAIANBvBlqIANBuAhqKQMAIh03AgAgA0G0GWogA0GwCGopAwAiHjcCACADQawZaiADQagIaikDACIfNwIAIANBgBlqIB83AwAgA0GIGWogHjcDACADQZAZaiAdNwMAIANBmBlqIBw3AwAgAyADKQOgCCIcNwKkGSADIBw3A/gYIAMoAuQaIgRBhAFPBEAgBBAACyADKAL0GSIEQYQBTwRAIAQQAAsgA0EIaiADQfgYakG4rcAAELgBDAULIANB6BlqIANBhBtqKAIAIgI2AgAgA0HgGWogA0H8GmopAgAiHDcDACADQdgZaiADQfQaaikCACIdNwMAIANBEGogHTcDACADQRhqIBw3AwAgA0EgaiACNgIAIAMgAykC7BoiHDcD0BkgAyAcNwMIDAMLIANBuBlqIANBtAhqKAIAIgQ2AgAgA0GwGWogA0GsCGopAgAiHDcDACADQagZaiADQaQIaikCACIdNwMAIANBEGogHTcDACADQRhqIBw3AwAgA0EgaiAENgIAIAMgAykCnAgiHDcDoBkgAyAcNwMIIAMoAuQaIQQMAQsgA0HYGmogA0GEG2ooAgAiAjYCACADQdAaaiADQfwaaikCACIcNwMAIANByBpqIANB9BpqKQIAIh03AwAgA0EQaiAdNwMAIANBGGogHDcDACADQSBqIAI2AgAgAyADKQLsGiIcNwPAGiADIBw3AwgLIARBhAFPBEAgBBAACyADKAL0GSEECyAEQYQBSQ0AIAQQAAsgAUGDAUsEQCABEAALAn8gAygCCCIBQQJGBEAgAygCDCECQQAMAQsgA0GoEGogA0EgaigCADYCACADQaAQaiADQRhqKQMANwMAIANBmBBqIANBEGopAwA3AwAgAyADKQMINwOQEEEAIQIgA0GQEGoQ5QELIQQgACABQQJHNgIIIAAgBDYCBCAAIAI2AgAgA0GQG2okAAuTEgIJfw5+IwBBgARrIgMkACADQaADakHYx8AAQQQQsAECQAJAAkACQAJAAkACQAJAAkAgAygCoANFBEAgA0HAAmogA0HIA2opAwA3AwAgA0G4AmogA0HAA2opAwA3AwAgA0GwAmogA0G4A2opAwA3AwAgA0GoAmogA0GwA2opAwA3AwAgAyADKQOoAzcDoAIgA0EwaiABQcgBaikDADcDACADQThqIAFB0AFqKQMANwMAIANBQGsgAUHYAWopAwA3AwAgAyABKQPAATcDKCADQRI6AEggASkDiAEiDCACKQMIfCIOIAxUIQQgAikDECENIAEpA5ABIQwCfiABKQOAASIPIAIpAwB8IhQgD1QiCEUEQCAOIQ8gBK0MAQsgDkIBfCIPUK0gBK18CyERIAIpAxghEiAMIAwgDXwiDFYhAiABKQOYASITIBIgE3wiEFYhBQJAAn4gEVAEQCAMIQ0gAq0MAQsgDCARfCINIAxUrSACrXwLIhFQBEAgAyAQNwO4ASADIA03A7ABIAMgDzcDqAEgAyAUNwOgASAFRQ0BDAoLIAMgDTcDsAEgAyAPNwOoASADIBQ3A6ABIAMgECARfCINNwO4ASAFIA0gEFRyDQkLIANB8ABqIgZBEjoAACADQegAaiABKQPYBiITNwMAIANB4ABqIAEpA9AGIhI3AwAgA0HYAGogASkDyAYiDzcDACADQRI6AMABIAMgASkDwAYiFTcDUCADQegCaiAGKQMANwMAIANB4AJqIBM3AwAgA0HYAmogEjcDACADQdACaiAPNwMAIAMgFTcDyAIgA0GgA2oiByADQaABaiADQcgCahBuIAMoAqADDQEgA0GYAWogA0HIA2opAwA3AwAgA0GQAWogA0HAA2opAwA3AwAgA0GIAWogA0G4A2oiBikDADcDACADQYABaiADQbADaiIJKQMANwMAIAMgAykDqAM3A3ggA0H4AmoiCiADQShqIgsgA0H4AGoQxgEgAyADQaACaiAKEMUBIAYgAUGYBWopAwA3AwAgCSABQZAFaikDADcDACADQagDaiABQYgFaikDADcDACADQRI6AMADIAMgASkDgAU3A6ADIANB+AFqIAcgCxDFASAHIAEQggEgAygCoAMNAiADKQPAAyEXIAMpA7gDIRggAykDsAMhFiADKQOoAyEZAkAgCAR+IA5CAXwiDlCtIAStfAUgBK0LIg1QBH4gAq0FIAwgDCANfCIMVq0gAq18CyINUARAIAMgEDcDkAMgAyAMNwOIAyADIA43A4ADIAMgFDcD+AIgBUUNAQwJCyADIAw3A4gDIAMgDjcDgAMgAyAUNwP4AiADIA0gEHwiDDcDkAMgBSAMIBBUcg0ICyADQRI6AJgDIANBoANqQdjHwABBBBCwASADKAKgAw0DIAMpA7gDIQ4gAykDsAMhDAJ+IBUgAykDqAMiFFgEQCAMIA99IREgDCAPVK0MAQsgDCAPQn+FfCERIAwgD1StIAwgD1GtfAshDSADKQPAAyEQIA4gEn0hDAJAIA1QBEAgDiASVK0hDgwBCyAMIA1UrSAOIBJUrXwhDiAMIA19IQwLIBAgE30hDQJAIA5QBEAgECATWg0BDAsLIBAgE1QgDSAOVHINCiANIA59IQ0LIANBEjoAwAMgAyANNwO4AyADIAw3A7ADIAMgETcDqAMgAyAUIBV9NwOgAyADQcgCaiADQfgCaiADQaADahBuIAMoAsgCDQQgAykD4AIhDiADKQPYAiEMAn4gAykD0AIiFCAZWARAIBYgDH0hESAMIBZWrQwBCyAWIAxCf4V8IREgDCAWVq0gDCAWUa18CyENIAMpA+gCIRAgGCAOfSEMAkAgDVAEQCAOIBhWrSEODAELIAwgDVStIA4gGFatfCEOIAwgDX0hDAsgFyAQfSENAkAgDlAEQCAQIBdYDQEMCwsgDSAOVCAQIBdWcg0KIA0gDn0hDQsgA0ESOgDAAiADIA03A7gCIAMgDDcDsAIgAyARNwOoAiADIBkgFH03A6ACIANB0AFqIANB+AFqIANBoAJqEMYBIANBoANqQdjHwABBBBCwASADKAKgAw0FIAMpA7gDIQ4gAykDsAMhDAJ+IBUgAykDqAMiEFgEQCAMIA99IREgDCAPVK0MAQsgDCAPQn+FfCERIAwgD1StIAwgD1GtfAshDSADKQPAAyEPIA4gEn0hDAJAIA1QBEAgDiASVK0hDgwBCyAMIA1UrSAOIBJUrXwhDiAMIA19IQwLIA8gE30hDQJAIA5QBEAgDyATWg0BDAsLIA0gDlQgDyATVHINCiANIA59IQ0LIANBEjoAwAMgAyANNwO4AyADIAw3A7ADIAMgETcDqAMgAyAQIBV9NwOgAyADQcgCaiIBIANB0ABqIANBoANqEMUBIANBoAFqIANB0AFqIAEQbiADKAKgAUUEQCADQfADaiADQcgBaikDADcDACADQegDaiADQcABaikDADcDACADQeADaiADQbgBaikDADcDACADQdgDaiADQbABaikDADcDACADIAMpA6gBNwPQAyAAQQhqIAMgA0HQA2oQxgEgAEEANgIADAcLIAMoAqQBIQEgAEEBNgIAIAAgATYCBAwGCyADIAMoAqQDNgLIAkHtxMAAQSsgA0HIAmpBmMXAAEHM7MAAEJcCAAsgAygCpAMhASAAQQE2AgAgACABNgIEDAQLIAMoAqQDIQEgAEEBNgIAIAAgATYCBAwDCyADIAMoAqQDNgL8A0HtxMAAQSsgA0H8A2pBmMXAAEG87MAAEJcCAAsgAygCzAIhASAAQQE2AgAgACABNgIEDAELIAMgAygCpAM2AsgCQe3EwABBKyADQcgCakGYxcAAQazswAAQlwIACyADQYAEaiQADwsgA0EANgKwAyADQQE2AqQDIANB4IfBADYCoAMgA0IENwKoAyADQaADakH0hcEAEMUCAAsgA0EANgLYAiADQQE2AswCIANB4IfBADYCyAIgA0IENwLQAiADQcgCakH0hcEAEMUCAAsgA0EANgKwAyADQQE2AqQDIANB5MTAADYCoAMgA0IENwKoAyADQaADakG0xMAAEMUCAAukEQIPfw5+IwBBoANrIgMkACADQYgDaiACQSBqKQMANwMAIANBgANqIgYgAkEYaikDADcDACADQfgCaiIFIAJBEGopAwA3AwAgA0HwAmoiBCACQQhqKQMANwMAIAMgAikDADcD6AIgA0GoAmogASADQegCahC+AQJAAkAgAygCqAIEQCADKAKsAiEBIABBATYCACAAIAE2AgQMAQsgA0EwaiADQdACaiIMKQMANwMAIANBKGogA0HIAmoiBykDADcDACADQSBqIANBwAJqIggpAwA3AwAgA0EYaiADQbgCaiIJ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AwA3AwAgBCAEKQOAAjcD0AQMAgsgBCADNgKMAyAEIAI2AogDIAQgATYChAMjAEEwayIAJAAgAEEDNgIEIABBpIHBADYCACAAQgM3AgwgACAEQYQDaiIBNQIIQoCAgICACIQ3AyggACABNQIEQoCAgICACIQ3AyAgACABNQIAQoCAgICACIQ3AxggACAAQRhqNgIIIABB7IHBABDSASEBIABBMGokACAEIAE2AtADQfT7wABBKyAEQdADakGg/MAAQcyBwQAQlwIACyAFIARBmAJqKQMANwMAIAYgBEGQAmopAwA3AwAgByAEQYgCaikDADcDACAEIAQpA4ACNwPQAyAEQdAEaiAEQdADahDMAQsgACAEKQPQBDcDACAAQQA2ACEgAEESOgAgIABBJGpBADYAACAAQRhqIARB6ARqKQMANwMAIABBEGogBEHgBGopAwA3AwAgAEEIaiAEQdgEaikDADcDACAEQfAEaiQADwsgBEEANgLgAyAEQQE2AtQDIARB5IDBADYC0AMgBEIENwLYAyAEQdADakHcgcEAEMUCAAuCQwINfw5+IwBBoBBrIgQkACMAQbACayIFJAACQAJAAkACQCADKQMAUARAIAVBiAFqIQcjAEHwEmsiAyQAIANBKGogAkEgaikDADcDACADQSBqIAJBGGopAwA3AwAgA0EYaiACQRBqKQMANwMAIANBEGogAkEIaikDADcDACADIAIpAwA3AwggA0GQC2ogAUHYBWopAwA3AwAgA0GIC2ogAUHQBWopAwA3AwAgA0GAC2ogAUHIBWopAwA3AwAgA0ESOgCYCyADIAEpA8AFNwP4CgJAAkACQAJAAkAgA0EIaiADQfgKahCcAkH/AXEiBgRAIAZB/wFHDQEMAgsgAy0AKCADLQCYC0kNAQsgA0GoA2ogA0EoaikDADcDACADQaADaiADQSBqKQMANwMAIANBmANqIANBGGopAwA3AwAgA0GQA2ogA0EQaikDADcDACADIAMpAwg3A4gDIANBkAtqIgggAUHYAWopAwA3AwAgA0GIC2oiCSABQdABaikDADcDACADQYALaiABQcgBaikDADcDACADQRI6AJgLIAMgASkDwAE3A/gKIANBMGogA0GIA2ogA0H4CmoiBhDEASAGIAEQggECQAJAAkACQAJAAkACQAJAAkACQAJAIAMoAvgKDQAgA0HYAWogA0GgC2opAwA3AwAgA0HQAWogA0GYC2opAwA3AwAgA0HIAWogCCkDADcDACADQcABaiAJKQMANwMAIAMgAykDgAs3A7gBIANByAJqIAFBmAVqKQMANwMAIANBwAJqIAFBkAVqKQMANwMAIANBuAJqIAFBiAVqKQMANwMAIANBEjoA0AIgAyABKQOABTcDsAIgA0GgAWogAUEYaikDADcDACADQZgBaiABQRBqKQMANwMAIANBkAFqIAFBCGopAwA3AwAgA0ESOgCoASADIAEpAwA3A4gBIANBgANqIAFBOGopAwA3AwAgA0H4AmogAUEwaikDADcDACADQfACaiABQShqKQMANwMAIAMgASkDIDcD6AIgBiADQYgBaiADQegCahDKASADKAL4Cg0AIAMpA4gLIhIgAykDOHwiESASVCEGIAMpA5ALIhMgAykDQHwiEiATVCEIIAMpA5gLIhQgAykDSHwiEyAUVCEJAkAgAykDgAsiFSADKQMwfCIUIBVaBH4gBq0FIBFCAXwiEVCtIAatfAsiFVAEfiAIrQUgEiASIBV8IhJWrSAIrXwLIhVQBEAgAyATNwNwIAMgEjcDaCADIBE3A2AgAyAUNwNYIAlFDQEMDAsgAyASNwNoIAMgETcDYCADIBQ3A1ggAyATIBV8IhE3A3AgCSARIBNUcg0LCyADQRI6AHggA0GIAmogA0GwAmogA0HYAGoQxwEgA0H4CmpB2MfAAEEEELABIAMoAvgKDQEgAykDiAshEiABKQPIBiETIAMpA5gLIRcgASkD2AYhFiADKQOQCyIUIAEpA9AGIhh9IRECQAJ+IAMpA4ALIhkgASkDwAYiGloEQCASIBN9IRUgEiATVK0MAQsgEiATQn+FfCEVIBIgE1StIBIgE1GtfAsiElAEQCAUIBhUrSEUDAELIBEgElStIBQgGFStfCEUIBEgEn0hEQsgFyAWfSESAkAgFFAEQCAWIBdYDQEMDwsgEiAUVCAWIBdWcg0OIBIgFH0hEgsgA0ESOgCYCyADIBI3A5ALIAMgETcDiAsgAyAVNwOACyADIBkgGn03A/gKIANBiANqIgwgA0GIAmogA0H4CmoiDRBuAkACQCADKAKIA0UEQCADQYACaiIIIANBsANqKQMANwMAIANB+AFqIgkgA0GoA2oiDikDADcDACADQfABaiIKIANBoANqIg8pAwA3AwAgA0HoAWoiCyADQZgDaiIQKQMANwMAIAMgAykDkAM3A+ABIANBoAFqIAFBwAFqIgZBGGopAwA3AwAgA0GYAWogBkEQaikDADcDACADQZABaiAGQQhqKQMANwMAIANBEjoAqAEgAyAGKQMANwOIASAOIAgpAwA3AwAgDyAJKQMANwMAIBAgCikDADcDACADQZADaiALKQMANwMAIAMgAykD4AE3A4gDIANBkAtqIAFBgAVqIgZBGGopAwA3AwAgA0GIC2ogBkEQaikDADcDACADQYALaiAGQQhqKQMANwMAIANBEjoAmAsgAyAGKQMANwP4CiADQdgAaiADQYgBaiAMIA0QeyALIANB4ABqKQMANwMAIAogA0HoAGopAwA3AwAgCSADQfAAaikDADcDACAIIANB+ABqKQMANwMAIAMgAykDWDcD4AEgA0G4AWogA0HgAWoQnAJB/wFxIgZFDQEgBkH/AUcNAgwKCyADKAKMAyEGDAoLIAMtANgBIAMtAIACSQ0ICyADKQPoASESIAMpA8ABIRQgAykD+AEhFyADKQPQASEZIAMpA8gBIhUgAykD8AEiG30hEQJAAn4gAykDuAEiHSADKQPgASIeWgRAIBQgEn0hHCASIBRWrQwBCyAUIBJCf4V8IRwgEiAUVq0gEiAUUa18CyISUARAIBUgG1StIRUMAQsgESASVK0gFSAbVK18IRUgESASfSERCyAZIBd9IRICQCAVUARAIBcgGVgNAQwPCyASIBVUIBcgGVZyDQ4gEiAVfSESCyADQRI6AKgCIAMgEjcDoAIgAyARNwOYAiADIBw3A5ACIAMgHSAefTcDiAIgA0H4CmpB2MfAAEEEELABAkACQAJAIAMoAvgKRQRAIANBqANqIANBoAtqKQMANwMAIANBoANqIANBmAtqKQMANwMAIANBmANqIANBkAtqKQMANwMAIANBkANqIANBiAtqKQMANwMAIAMgAykDgAs3A4gDIANBiAJqIANBiANqEJwCQf8BcSIGDgMCAQkBCyADIAMoAvwKNgKIAUHtxMAAQSsgA0GIAWpBmMXAAEHA8MAAEJcCAAsgBkECSQ0BDAcLIAMtAKgCIAMtAKgDSQ0GCyADQdACaiADQagCaikDADcDACADQcgCaiADQaACaikDADcDACADQcACaiADQZgCaikDADcDACADQbgCaiADQZACaikDADcDACADIAMpA4gCNwOwAiADQfgKaiIGQdjHwABBBBCwASADKAL4Cg0CIANBqAFqIANBoAtqKQMANwMAIANBoAFqIANBmAtqKQMANwMAIANBmAFqIANBkAtqKQMANwMAIANBkAFqIANBiAtqKQMANwMAIAMgAykDgAs3A4gBIAZB2MfAAEEEELABIAMoAvgKDQMgAykDiAshESADKQOYCyEUIAMpA5ALIhcgGH0hEgJAAn4gGiADKQOACyIZWARAIBEgE30hFSARIBNUrQwBCyARIBNCf4V8IRUgESATVK0gESATUa18CyIRUARAIBcgGFStIRMMAQsgESASVq0gFyAYVK18IRMgEiARfSESCyAUIBZ9IRECQCATUARAIBQgFloNAQwPCyARIBNUIBQgFlRyDQ4gESATfSERCyADQRI6AJgLIAMgETcDkAsgAyASNwOICyADIBU3A4ALIAMgGSAafTcD+AogA0HYAGoiBiADQYgBaiADQfgKahDFASADQYgDaiADQbACaiAGEG4gAygCiAMNBAwGCyADKAL8CiEGDAcLIAMgAygC/Ao2AogBQe3EwABBKyADQYgBakGYxcAAQdDwwAAQlwIACyADIAMoAvwKNgKIAUHtxMAAQSsgA0GIAWpBmMXAAEHk78AAEJcCAAsgAyADKAL8CjYCWEHtxMAAQSsgA0HYAGpBmMXAAEHU78AAEJcCAAsgAygCjAMhBgwDCyADQdACaiADQagCaikDADcDACADQcgCaiADQaACaikDADcDACADQcACaiADQZgCaikDADcDACADQbgCaiADQZACaikDADcDACADIAMpA4gCNwOwAiADQfgKaiIGQdjHwABBBBCwAQJAIAMoAvgKRQRAIANBqAFqIANBoAtqKQMANwMAIANBoAFqIANBmAtqKQMANwMAIANBmAFqIANBkAtqKQMANwMAIANBkAFqIANBiAtqKQMANwMAIAMgAykDgAs3A4gBIAZB2MfAAEEEELABIAMoAvgKRQ0BIAMgAygC/Ao2AlhB7cTAAEErIANB2ABqQZjFwABBoPDAABCXAgALIAMgAygC/Ao2AogBQe3EwABBKyADQYgBakGYxcAAQbDwwAAQlwIACyADKQOICyERIAMpA5gLIRQgAykDkAsiFyAYfSESAkACfiAaIAMpA4ALIhlYBEAgESATfSEVIBEgE1StDAELIBEgE0J/hXwhFSARIBNUrSARIBNRrXwLIhFQBEAgFyAYVK0hEwwBCyARIBJWrSAXIBhUrXwhEyASIBF9IRILIBQgFn0hEQJAAkAgE1AEQCAUIBZaDQEMAgsgESATVCAUIBZUcg0BIBEgE30hEQsgA0ESOgCYCyADIBE3A5ALIAMgEjcDiAsgAyAVNwOACyADIBkgGn03A/gKIANB2ABqIgYgA0GIAWogA0H4CmoQxAEgA0GIA2ogA0GwAmogBhBuIAMoAogDRQ0BIAMoAowDIQYMAwsMBwsgA0GoAmogA0GwA2opAwA3AwAgA0GgAmogA0GoA2opAwA3AwAgA0GYAmogA0GgA2opAwA3AwAgA0GQAmogA0GYA2opAwA3AwAgAyADKQOQAzcDiAIgA0GQC2ogAUGYAWopAwA3AwAgA0GIC2ogAUGQAWopAwA3AwAgA0GAC2ogAUGIAWopAwA3AwAgA0ESOgCYCyADIAEpA4ABNwP4CgJAAkAgA0H4CmogA0GIAmoQnAJB/wFxIgYEQCAGQf8BRw0BDAILIAMtAKgCQRJLDQELIAEpA4gBIREgAykDkAIhEyABKQOYASEVIAMpA6ACIRYgASkDkAEiGCADKQOYAiIafSESAkACfiABKQOAASIXIAMpA4gCIhlaBEAgESATfSEUIBEgE1StDAELIBEgE0J/hXwhFCARIBNUrSARIBNRrXwLIhFQBEAgGCAaVK0hEwwBCyARIBJWrSAYIBpUrXwhEyASIBF9IRILIBUgFn0hEQJAAkAgE1AEQCAVIBZaDQEMAgsgFSAWVCARIBNUcg0BIBEgE30hEQsgA0HQAmogA0EoaikDADcDACADQcgCaiADQSBqKQMANwMAIANBwAJqIANBGGopAwA3AwAgA0G4AmogA0EQaikDADcDACADIAMpAwg3A7ACIANBEjoAsAEgAyARNwOoASADIBI3A6ABIAMgFDcDmAEgAyAXIBl9Iho3A5ABIANCATcDiAEgA0H4CmogASADQbACaiADQYgBahB8AkAgAygC+AoEQCADKAL8CiEGDAELIANBiANqIgYgA0GAC2pB8AcQrAMaIANB2ABqIAYQnAEgAygCWARAIAMoAlwhBgwBCyADQagCaiADQYABaikDADcDACADQaACaiADQfgAaikDADcDACADQZgCaiADQfAAaikDADcDACADQZACaiADQegAaikDADcDACADIAMpA2A3A4gCIANB+ApqIAEQgwECQAJ/IAMoAvgKBEAgAygC/AoMAQsgA0GoAWogA0GgC2opAwA3AwAgA0GgAWogA0GYC2opAwA3AwAgA0GYAWogA0GQC2opAwA3AwAgA0GQAWogA0GIC2opAwA3AwAgAyADKQOACzcDiAECQAJAAkACQCADQYgCaiADQYgBahCcAiIGQf8BcQ4DAAECAQsgAy0AqAIiBiADLQCoASIISQ0BIAYgCEchBgsgBkH/AXFBAUYNAQsgA0GoA2ogA0EoaikDADcDACADQaADaiADQSBqKQMANwMAIANBmANqIANBGGopAwA3AwAgA0GQA2ogA0EQaikDADcDACADIAMpAwg3A4gDIANB+ApqIAEgA0GIA2oQpgEgAygC+ApFDQIgAygC/AohBiAHQQE2AgAgByAGNgIEDAsLIANBADYCiAsgA0EBNgL8CiADQezRwAA2AvgKIANCBDcCgAsgA0H4CmpB9NHAABDSAQshBiAHQQE2AgAgByAGNgIEDAkLIAMpA4gLIRYgAykDmAshGCASIAMpA5ALIhd9IRMCQAJ+IAMpA4ALIhkgGlgEQCAUIBZ9IRUgFCAWVK0MAQsgFCAWQn+FfCEVIBQgFlStIBQgFlGtfAsiFlAEQCASIBdUrSEUDAELIBMgFlStIBIgF1StfCEUIBMgFn0hEwsgESAYfSESAkACQCAUUARAIBEgGFoNAQwCCyARIBhUIBIgFFRyDQEgEiAUfSESCyAHQRI6ACggByASNwMgIAcgEzcDGCAHIBU3AxAgB0EANgIAIAcgGiAZfTcDCAwJCwwJCyAHQQE2AgAgByAGNgIEDAcLDAcLIANBkAtqIAFBgAFqIgZBGGopAwA3AwAgA0GIC2ogBkEQaikDADcDACADQYALaiAGQQhqKQMANwMAIANBAjYCjAMgA0GA8MAANgKIAyADQgI3ApQDIANBEjoAmAsgAyADQYgCaq1CgICAgIAIhDcDkAEgAyADQfgKaq1CgICAgIAIhDcDiAEgAyAGKQMANwP4CiADIANBiAFqNgKQAyADQdwCaiIGIANBiANqEIwCIAZBkPDAABCHAiEGDAELIANBAjYC/AogA0G078AA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wAlqIAFBsAVqKQMANwMAIARByAlqIAFBuAVqKQMANwMAIAQgASkD4AQ3A/AIIAQgASkDgAU3A5AJIAQgASkDoAU3A7AJIARB6AlqIAFB2AVqKQMANwMAIARB4AlqIAFB0AVqKQMANwMAIARB2AlqIAFByAVqKQMANwMAIARBiApqIAFB+AVqKQMANwMAIARBgApqIAFB8AVqKQMANwMAIARB+AlqIAFB6AVqKQMANwMAIARBqApqIAFBmAZqKQMANwMAIARBoApqIAFBkAZqKQMANwMAIARBmApqIAFBiAZqKQMANwMAIAQgASkDwAU3A9AJIAQgASkD4AU3A/AJIAQgASkDgAY3A5AKIARByApqIAFBuAZqKQMANwMAIARBwApqIAFBsAZqKQMANwMAIARBuApqIAFBqAZqKQMANwMAIAQgASkDoAY3A7AKIARB6ApqIAFB2AZqKQMANwMAIARB4ApqIAFB0AZqKQMANwMAIARB2ApqIAFByAZqKQMANwMAIAQgASkDwAY3A9AKIARBrAtqIAFBnAdqENACIARBwAtqIAFBsAdqENACIARB1AtqIAFBxAdqENACIARB6AtqIAFB2AdqENACIARBOGogAUGYBGopAwA3AwAgBEEwaiABQZAEaikDADcDACAEQShqIAFBiARqKQMANwMAIAcgAUGoBGopAwA3AwAgBEHQAGogAUGwBGopAwA3AwAgBEHYAGogAUG4BGopAwA3AwAgBEHoAGogAUHIBGopAwA3AwAgBEHwAGogAUHQBGopAwA3AwAgBEH4AGogAUHYBGopAwA3AwAgBCABKQOABDcDICAEIAEpA6AENwNAIAQgASkDwAQ3A2AgAiABQfgDaikDADcDACADIAFB8ANqKQMANwMAIARBCGogAUHoA2opAwA3AwAgBCABKQPgAzcDACAEQfAHaiICIARBgAEQrAMaIARBuAxqIAFBOGopAwA3AwAgBEGwDGogAUEwaikDADcDACAEQagMaiABQShqKQMANwMAIARByAxqIAFByABqKQMANwMAIARB0AxqIAFB0ABqKQMANwMAIARB2AxqIAFB2ABqKQMANwMAIARB6AxqIAFB6ABqKQMANwMAIARB8AxqIAFB8ABqKQMANwMAIARB+AxqIAFB+ABqKQMANwMAIAQgASkDIDcDoAwgBCABKQNANwPADCAEIAEpA2A3A+AMIARBmA1qIAFBmAFqKQMANwMAIARBkA1qIAFBkAFqKQMANwMAIARBiA1qIAFBiAFqKQMANwMAIARBuA1qIAFBuAFqKQMANwMAIARBsA1qIAFBsAFqKQMANwMAIARBqA1qIAFBqAFqKQMANwMAIARB2A1qIAFB2AFqKQMANwMAIARB0A1qIAFB0AFqKQMANwMAIARByA1qIAFByAFqKQMANwMAIAQgASkDgAE3A4ANIAQgASkDoAE3A6ANIAQgASkDwAE3A8ANIARB+A1qIAFB+AFqKQMANwMAIARB8A1qIAFB8AFqKQMANwMAIARB6A1qIAFB6AFqKQMANwMAIAQgASkD4AE3A+ANIARBmA5qIAFBmAJqKQMANwMAIARBkA5qIAFBkAJqKQMANwMAIARBiA5qIAFBiAJqKQMANwMAIAQgASkDgAI3A4AOIARBuA5qIAFBuAJqKQMANwMAIARBsA5qIAFBsAJqKQMANwMAIARBqA5qIAFBqAJqKQMANwMAIAQgASkDoAI3A6AOIARB2A5qIAFB2AJqKQMANwMAIARB0A5qIAFB0AJqKQMANwMAIARByA5qIAFByAJqKQMANwMAIAQgASkDwAI3A8AOIARB+A5qIAFB+AJqKQMANwMAIARB8A5qIAFB8AJqKQMANwMAIARB6A5qIAFB6AJqKQMANwMAIAQgASkD4AI3A+AOIARBmA9qIAFBmANqKQMANwMAIARBkA9qIAFBkANqKQMANwMAIARBiA9qIAFBiANqKQMANwMAIAQgASkDgAM3A4APIARBuA9qIAFBuANqKQMANwMAIARBsA9qIAFBsANqKQMANwMAIARBqA9qIAFBqANqKQMANwMAIAQgASkDoAM3A6APIARB2A9qIAFB2ANqKQMANwMAIARB0A9qIAFB0ANqKQMANwMAIARByA9qIAFByANqKQMANwMAIAQgASkDwAM3A8APIARBmAxqIAFBGGopAwA3AwAgBEGQDGogAUEQaikDADcDACAEQYgMaiABQQhqKQMANwMAIAQgASkDADcDgAwgBEHgA2ogAkGQBBCsAxogBCAEQYAMakHgAxCsAyIBQYABaiABQYAQahDtASABIAFB4A9qEPABIABBCGogAUHwBxCsAxpBAAwBCyAAIAQoAgQ2AgRBAQs2AgAgBEGgEGokAAv6WgIrfw1+IwBBgBprIgMkACADQZAQaiIGIAEQAiABEAMQvAECQCADKAKQEEUEQCADQShqIANBmAhqQQRyIANBmBBqQfAHEKwDQfAHEKwDGiADIAEQDTYC0BkgBiADQdAZakGYr8AAEKwBAkACQAJAAkACQCADKAKQEEUEQCADQbQIaiADQbAQaikDACIxNwIAIANBrAhqIANBqBBqKQMAIi43AgAgA0GkCGogA0GgEGopAwAiLTcCACADQZAYaiAtNwMAIANBmBhqIC43AwAgA0GgGGogMTcDACADIAMpA5gQIi03ApwIIAMgLTcDiBggAygC0BkiBkGEAU8EQCAGEAALIAMgARAnIgU2AtAZIANBkBBqIANB0BlqQaivwAAQrAEgAygCkBANASADQbQIaiADQbAQaikDACIxNwIAIANBrAhqIANBqBBqKQMAIi43AgAgA0GkCGogA0GgEGopAwAiLTcCACADQbAYaiAtNwMAIANBuBhqIC43AwAgA0HAGGogMTcDACADIAMpA5gQIi03ApwIIAMgLTcDqBggBUGEAU8EQCAFEAALIAMgARAoIgU2AtAZIANBkBBqIANB0BlqQbivwAAQrAEgAygCkBANAiADQbQIaiADQbAQaikDACIxNwIAIANBrAhqIANBqBBqKQMAIi43AgAgA0GkCGogA0GgEGopAwAiLTcCACADQdAYaiAtNwMAIANB2BhqIC43AwAgA0HgGGogMTcDACADIAMpA5gQIi03ApwIIAMgLTcDyBggBUGEAU8EQCAFEAALIAMgARAOIgU2AtAZIANBkBBqIANB0BlqQcivwAAQrAEgAygCkBANAyADQbQIaiADQbAQaikDACIxNwIAIANBrAhqIANBqBBqKQMAIi43AgAgA0GkCGogA0GgEGopAwAiLTcCACADQfAYaiAtNwMAIANB+BhqIC43AwAgA0GAGWogMTcDACADIAMpA5gQIi03ApwIIAMgLTcD6BggBUGEAU8EQCAFEAALIAMgARAPIgU2AtAZIANBkBBqIANB0BlqQdivwAAQrAEgAygCkBANBCADQbQIaiADQbAQaikDACIxNwIAIANBrAhqIANBqBBqKQMAIi43AgAgA0GkCGogA0GgEGopAwAiLTcCACADQZAZaiAtNwMAIANBmBlqIC43AwAgA0GgGWogMTcDACADIAMpA5gQIi03ApwIIAMgLTcDiBkgBUGEAU8EQCAFEAALIANBkBBqIQkgA0HoGGohDiADQYgZaiEMIwBB0BVrIgIkACACQSBqIANBiBhqIgVBGGopAwA3AwAgAkEYaiAFQRBqKQMANwMAIAJBEGogBUEIaikDADcDACACQThqIANBqBhqIgZBCGopAwA3AwAgAkFAayAGQRBqKQMANwMAIAJByABqIAZBGGopAwA3AwAgAkESOgAoIAIgBSkDADcDCCACIAYpAwA3AzAgAkHgAGogA0HIGGoiBkEIaikDADcDACACQegAaiAGQRBqKQMANwMAIAJB8ABqIAZBGGopAwA3AwAgAkESOgBQIAJBEjoAeCACIAYpAwA3A1ggAkHgAmogA0EoaiIEQdgFaikDADcDACACQdgCaiAEQdAFaikDADcDACACQdACaiAEQcgFaikDADcDACACQRI6AOgCIAIgBCkDwAU3A8gCAkACQAJAIAJBCGogAkHIAmoQnAJB/wFxIgYEQCAGQf8BRw0BDAILIAItACggAi0A6AJJDQELIAJBoA9qIhUgAkEoaiIIKQMANwMAIAJBmA9qIhsgAkEgaiIHKQMANwMAIAJBkA9qIhwgAkEYaiIQKQMANwMAIAJBiA9qIh4gAkEQaiIRKQMANwMAIAIgAikDCDcDgA8gAkHoFGoiCiAMQRhqIhMpAwA3AwAgAkHgFGoiEiAMQRBqIhQpAwA3AwAgAkHYFGoiFiAMQQhqIg8pAwA3AwAgAiAMKQMANwPQFCACQcgCaiINIAQgAkGAD2oiFyAOIAJB0BRqIhgQZgJAAkACQAJAAkACQAJAAkAgAigCyAJFBEAgAkGIFGoiCyACQegCaikDADcDACACQYAUaiIFIAJB4AJqKQMANwMAIAJB+BNqIgYgAkHYAmopAwA3AwAgAiACKQPQAjcD8BMgFSAIKQMANwMAIBsgBykDADcDACAcIBApAwA3AwAgHiARKQMANwMAIAIgAikDCDcDgA8gCiATKQMANwMAIBIgFCkDADcDACAWIA8pAwA3AwAgAiAMKQMANwPQFCANIAQgDiAYELYBIAJBgAFqIBcgDRDCASACQYASaiAEQeAGaiIgENACIAJBlBJqIARB9AZqIiEQ0AIgAkGoEmogBEGIB2oiIhDQAiACQZgQaiAEQfgEaikDADcDACACQZAQaiAEQfAEaikDADcDACACQYgQaiAEQegEaikDADcDACACQagQaiAEQYgFaikDADcDACACQbAQaiAEQZAFaikDADcDACACQbgQaiAEQZgFaikDADcDACACQcgQaiAEQagFaikDADcDACACQdAQaiAEQbAFaikDADcDACACQdgQaiAEQbgFaikDADcDACACIAQpA+AENwOAECACIAQpA4AFNwOgECACIAQpA6AFNwPAECACQfgQaiAEQcAFaiIZQRhqKQMANwMAIAJB8BBqIBlBEGopAwA3AwAgAkHoEGogGUEIaikDADcDACACQYgRaiAEQegFaikDADcDACACQZARaiAEQfAFaikDADcDACACQZgRaiAEQfgFaikDADcDACACQagRaiAEQYgGaikDADcDACACQbARaiAEQZAGaikDADcDACACQbgRaiAEQZgGaikDADcDACACIBkpAwA3A+AQIAIgBCkD4AU3A4ARIAIgBCkDgAY3A6ARIAJB2BFqIARBuAZqKQMANwMAIAJB0BFqIARBsAZqKQMANwMAIAJByBFqIARBqAZqKQMANwMAIAJB+BFqIARB2AZqKQMANwMAIAJB8BFqIARB0AZqKQMANwMAIAJB6BFqIARByAZqKQMANwMAIAIgBCkDoAY3A8ARIAIgBCkDwAY3A+ARIAJBvBJqIARBnAdqIiMQ0AIgAkHQEmogBEGwB2oiJBDQAiACQeQSaiAEQcQHaiIlENACIAJB+BJqIARB2AdqIiYQ0AIgAkGIFWogBEGYBGopAwA3AwAgAkGAFWogBEGQBGopAwA3AwAgAkH4FGogBEGIBGopAwA3AwAgAkGYFWogBEGoBGopAwA3AwAgAkGgFWogBEGwBGopAwA3AwAgAkGoFWogBEG4BGopAwA3AwAgAkG4FWogBEHIBGopAwA3AwAgAkHAFWogBEHQBGopAwA3AwAgAkHIFWogBEHYBGopAwA3AwAgAiAEKQOABDcD8BQgAiAEKQOgBDcDkBUgAiAEKQPABDcDsBUgCiAEQeADaiIaQRhqKQMANwMAIBIgGkEQaikDADcDACAWIBpBCGopAwA3AwAgAiAaKQMANwPQFCAXIBhBgAEQrAMaIAJBiAtqIARBKGopAwA3AwAgAkGQC2ogBEEwaikDADcDACACQZgLaiAEQThqKQMANwMAIAJBqAtqIARB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QdgQaiAGQRhqKQMANwMAIAIgCykDADcDgBAgAiAFKQMANwOgECACIAYpAwA3A8AQIAJB+BBqIBlBGGopAwA3AwAgAkHwEGogGUEQaikDADcDACACQegQaiAZQQhqKQMANwMAIAJBiBFqIARB4AVqIgVBCGopAwA3AwAgAkGQEWogBUEQaikDADcDACACQZgRaiAFQRhqKQMANwMAIAJBqBFqIARBgAZqIgZBCGopAwA3AwAgAkGwEWogBkEQaikDADcDACACQbgRaiAGQRhqKQMANwMAIAIgGSkDADcD4BAgAiAFKQMANwOAESACIAYpAwA3A6ARIAJB2BFqIARBoAZqIgVBGGopAwA3AwAgAkHQEWogBUEQaikDADcDACACQcgRaiAFQQhqKQMANwMAIAJB+BFqIARBwAZqIgZBGGopAwA3AwAgAkHwEWogBkEQaikDADcDACACQegRaiAGQQhqKQMANwMAIAIgBSkDADcDwBEgAiAGKQMANwPgESACQbwSaiAjENACIAJB0BJqICQQ0AIgAkHkEmogJRDQAiACQfgSaiAmENACIAJBiBVqIARBgARqIgtBGGopAwA3AwAgAkGAFWogC0EQaikDADcDACACQfgUaiALQQhqKQMANwMAIAJBmBVqIARBoARqIgVBCGopAwA3AwAgAkGgFWogBUEQaikDADcDACACQagVaiAFQRhqKQMANwMAIAJBuBVqIARBwARqIgZBCGopAwA3AwAgAkHAFWogBkEQaikDADcDACACQcgVaiAGQRhqKQMANwMAIAIgCykDADcD8BQgAiAFKQMANwOQFSACIAYpAwA3A7AVIAJB6BRqIBpBGGopAwA3AwAgAkHgFGogGkEQaikDADcDACACQdgUaiAaQQhqKQMANwMAIAIgGikDADcD0BQgAkGAD2oiEyACQdAUakGAARCsAxogAkGoBmogE0GQBBCsAxogAkHIAmoiBSACQeAKakHgAxCsAxogAkHIA2ogAkGwE2oQ7QEgBSACQeAOahDwASATIAUQnAEgAigCgA8NBSACQcACaiACQagPaikDADcDACACQbgCaiACQaAPaiIGKQMANwMAIAJBsAJqIAJBmA9qIhQpAwA3AwAgAkGoAmogAkGQD2oiDykDADcDACACIAIpA4gPNwOgAiAFQdCBwABBBBCvAQJAAkACQCAC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ECItNwOYCCADIC03AwggAygC0BkiBkGEAUkNBiAGEAAMBgsgA0GwCGogA0GsEGooAgAiBjYCACADQagIaiADQaQQaikCACIuNwMAIANBoAhqIANBnBBqKQIAIi03AwAgA0EQaiAtNwMAIANBGGogLjcDACADQSBqIAY2AgAgAyADKQKUECItNwOYCCADIC03AwggBUGEAUkNBSAFEAAMBQsgA0GwCGogA0GsEGooAgAiBjYCACADQagIaiADQaQQaikCACIuNwMAIANBoAhqIANBnBBqKQIAIi03AwAgA0EQaiAtNwMAIANBGGogLjcDACADQSBqIAY2AgAgAyADKQKUECItNwOYCCADIC03AwggBUGEAUkNBCAFEAAMBAsgA0GwCGogA0GsEGooAgAiBjYCACADQagIaiADQaQQaikCACIuNwMAIANBoAhqIANBnBBqKQIAIi03AwAgA0EQaiAtNwMAIANBGGogLjcDACADQSBqIAY2AgAgAyADKQKUECItNwOYCCADIC03AwggBUGEAUkNAyAFEAAMAwsgA0GwCGogA0GsEGooAgAiBjYCACADQagIaiADQaQQaikCACIuNwMAIANBoAhqIANBnBBqKQIAIi03AwAgA0EQaiAtNwMAIANBGGogLjcDACADQSBqIAY2AgAgAyADKQKUECItNwOYCCADIC03AwggBUGEAUkNAiAFEAAMAgsgA0HoGWogA0G0CGooAgAiBjYCACADQRBqIANBpAhqKQIANwMAIANBGGogA0GsCGopAgA3AwAgA0EgaiAGNgIAIAMgAykCnAg3AwgMAQsgA0GwCGogA0GsEGooAgAiBjYCACADQRBqIANBnBBqKQIANwMAIANBGGogA0GkEGopAgA3AwAgA0EgaiAGNgIAIAMgAykClBA3AwgLIAFBgwFLBEAgARAACwJ/IAMoAggiBkECRgRAIAMoAgwhBUEADAELIANBqBBqIANBIGooAgA2AgAgA0GgEGogA0EYaikDADcDACADQZgQaiADQRBqKQMANwMAIAMgAykDCDcDkBBBACEFIANBkBBqEOUBCyEBIAAgBkECRzYCCCAAIAE2AgQgACAFNgIAIANBgBpqJAALp04CF38WfiMAQcAbayIEJAAgBEGQEGoiAiABEAIgARADELwBAkACQAJAAkACQAJAAkACQCAEKAKQEEUEQCAEQShqIARBmAhqQQRyIARBmBBqQfAHEKwDQfAHEKwDGiAEIAEQTTYCtBkgAiAEQbQZakHMusAAEKwBIAQoApAQDQEgBEGsGWogBEGwEGoiAykDACIZNwIAIARBpBlqIARBqBBqIgYpAwAiGjcCACAEQZwZaiAEQaAQaiIHKQMAIhs3AgAgBEHAGWogGzcDACAEQcgZaiAaNwMAIARB0BlqIBk3AwAgBCAEKQOYECIZNwKUGSAEIBk3A7gZIAQgARBONgL8GSACIARB/BlqQdy6wAAQrAEgBCgCkBANAiAEQfQZaiADKQMAIhk3AgAgBEHsGWogBikDACIaNwIAIARB5BlqIAcpAwAiGzcCACAEQYgaaiAbNwMAIARBkBpqIBo3AwAgBEGYGmogGTcDACAEIAQpA5gQIhk3AtwZIAQgGTcDgBogBCABEE82AsQaIAIgBEHEGmpB7LrAABCtASAEKAKQEEUEQCAEQbwaaiADKQMAIhk3AgAgBEG0GmogBikDACIaNwIAIARBrBpqIAcpAwAiGzcCACAEQdAaaiAbNwMAIARB2BpqIBo3AwAgBEHgGmogGTcDACAEIAQpA5gQIhk3AqQaIAQgGTcDyBogARBQIgJFBEAgBEIANwOQEAwGCyAEIAI2AuwaIARBmBtqIARB7BpqQfy6wAAQrAEgBCgCmBtFDQQgBEEQaiAEQaQbaikCADcDACAEQRhqIARBrBtqKQIANwMAIARBIGogBEG0G2ooAgA2AgAgBCAEKQKcGzcDCCACQYQBSQ0GIAIQAAwGCyAEQbgaaiAEQawQaigCACICNgIAIARBsBpqIARBpBBqKQIAIhk3AwAgBEGoGmogBEGcEGopAgAiGjcDACAEQRBqIBo3AwAgBEEYaiAZNwMAIARBIGogAjYCACAEIAQpApQQIhk3A6AaIAQgGTcDCAwFCyAEQbAIaiAEQawQaigCACICNgIAIARBEGogBEGcEGopAgA3AwAgBEEYaiAEQaQQaikCADcDACAEQSBqIAI2AgAgBCAEKQKUEDcDCAwHCyAEQagZaiAEQawQaigCACICNgIAIARBoBlqIARBpBBqKQIAIhk3AwAgBEGYGWogBEGcEGopAgAiGjcDACAEQRBqIBo3AwAgBEEYaiAZNwMAIARBIGogAjYCACAEIAQpApQQIhk3A5AZIAQgGTcDCAwFCyAEQfAZaiAEQawQaigCACICNgIAIARB6BlqIARBpBBqKQIAIhk3AwAgBEHgGWogBEGcEGopAgAiGjcDACAEQRBqIBo3AwAgBEEYaiAZNwMAIARBIGogAjYCACAEIAQpApQQIhk3A9gZIAQgGTcDCAwDCyAEQaAQaiAEQagbaikDADcDACAEQagQaiAEQbAbaikDADcDACAEQbAQaiAEQbgbaikDADcDACAEIAQpA6AbNwOYECAEQRI6ALgQIARCATcDkBAgAkGEAUkNACACEAALIARBmAhqIQYgBEGQEGohCCABEFEiAkH///8HRyEOIAJB/wFxIRAjAEGABWsiAiQAIAJBKGogBEG4GWoiA0EYaikDADcDACACQSBqIANBEGopAwA3AwAgAkEYaiADQQhqKQMANwMAIAJBEjoAMCACIAMpAwA3AxAgAkHQAGogBEGAGmoiA0EYaikDADcDACACQcgAaiADQRBqKQMANwMAIAJBQGsgA0EIaikDADcDACACQRI6AFggAiADKQMANwM4IARBKGoiBykDwAUhIiAHKQPIBSEdIAcpA9AFIR4gBykD2AUhISACQRI6AMgDIAIgITcDwAMgAiAeNwO4AyACIB03A7ADIAIgIjcDqAMgAkGoBGoiBSAHIAJBqANqIARByBpqIhEQdQJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCqARFBEAgAkESOgDIBCACICE3A8AEIAIgHjcDuAQgAiAdNwOwBCACICI3A6gEIAJBEGogBRCcAkH/AXEiBUUNASAFQf8BRg0DIAItADAhBQwCCyACQagEaiIDQQRyEO0CIAJBADYCuAQgAkEBNgKsBCACQYSQwAA2AqgEIAJCBDcCsAQgA0GwkcAAENIBIQMgBkEBNgIAIAYgAzYCBAwICyACLQAwIgUgAi0AyARJDQELIAIgITcDwAQgAiAeNwO4BCACIB03A7AEIAIgIjcDqAQgAkEQaiACQagEakEgEK4DIAVBEkdyDQEgBkESOgAoIAYgITcDICAGIB43AxggBiAdNwMQIAYgIjcDCCAGQQA2AgAMBgsgAkECNgKsAyACQcSPwAA2AqgDIAJCAjcCtAMgAkESOgDIBCACICE3A8AEIAIgHjcDuAQgAiAdNwOwBCACICI3A6gEIAIgAkGoBGqtQoCAgIAghDcD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EJcCAAsgA0HAAWokAAwCCyADQQA2ApgBIANBATYCjAEgA0HkxMAANgKIASADQgQ3ApABIANBiAFqQbTEwAAQxQIACyADQQA2ApgBIANBATYCjAEgA0Hgh8EANgKIASADQgQ3ApABIANBiAFqQfSFwQAQxQIACyACQcwEaiACQeQAaigAADYAACACQRI6AMgEIAIgITcDwAQgAiAeNwO4BCACIB03A7AEIAIgIjcDqAQgAiACKABhNgDJBCACQdACaiIKAn8gAkHYBGogAkGoBGogBSAJEJwCIgNB/wFxBH8gAwUgCSACLQD4BCIDIAItAMgEIgVJDQEaIAMgBUcLQf8BcUEBRhsLIgNBIGopAwAiGTcDACACQcgCaiIFIANBGGopAwAiGjcDACACQcACaiIJIANBEGopAwAiGzcDACACQbgCaiIIIANBCGopAwAiHDcDACACIAMpAwAiHzcDsAIgAkHIA2ogGTcDACACQcADaiAaNwMAIAJBuANqIBs3AwAgAkGwA2ogHDcDACACIB83A6gDIAJBqARqIAcgAkGoA2ogERB1AkAgAigCqARFBEAgAkH4AmogCikDADcDACACQfACaiAFKQMANwMAIAJB6AJqIAkpAwA3AwAgAkHgAmogCCkDADcDACACIAIpA7ACNwPYAgwBCyACQfwCaiACQeQAaigAADYAACACQRI6APgCIAIgITcD8AIgAiAeNwPoAiACIB03A+ACIAIgIjcD2AIgAiACKABhNgD5AiACQagEakEEchDtAgsgEEEHIA4bIhBFDQUgAkGwA2ohBSACQbAEaiEDIAJB+QRqIQogAkGoA2pBBHIhESACQckEaiEMA0AgAkH4BGogAkHQAmoiCSkDADcDACACQfAEaiINIAJByAJqIggpAwA3AwAgAkHoBGoiEiACQcACaiILKQMANwMAIAJB4ARqIhMgAkG4AmoiDikDADcDACACIAIpA7ACNwPYBCACQcAEaiACQbABaiIUKQMANwMAIAJBuARqIAJBqAFqIhUpAwA3AwAgAyACQaABaiIWKQMANwMAIAIgAikDmAE3A6gEIAJBEjoAyAQgDCACKACRATYAACAMQQNqIAJBlAFqIhcoAAA2AAAgAkGoA2ogByACQdgEaiACQagEahBvAkACQAJAAkACQAJAIAIoAqgDRQRAIAJBoANqIAVBIGopAwA3AwAgAkGYA2ogBUEYaikDADcDACACQZADaiAFQRBqKQMANwMAIAJBiANqIAVBCGopAwA3AwAgAiAFKQMANwOAAwwBCyAJIAJB+AJqKQMAIhk3AwAgCCACQfACaikDACIaNwMAIAsgAkHoAmopAwAiGzcDACAOIAJB4AJqKQMAIhw3AwAgAiACKQPYAiIdNwOwAiACQaAEaiAZNwMAIAJBmARqIBo3AwAgAkGQBGogGzcDACACQYgEaiAcNwMAIAIgHTcDgAQgDSAUKQMANwMAIBIgFSkDADcDACATIBYpAwA3AwAgAkESOgD4BCACIAIpA5gBNwPYBCAKIAIoAJEBNgAAIApBA2ogFygAADYAACACQagEaiAHIAJBgARqIAJB2ARqEG8gAigCqAQNASACQaADaiADQSBqKQMANwMAIAJBmANqIANBGGopAwA3AwAgAkGQA2ogA0EQaikDADcDACACQYgDaiADQQhqKQMANwMAIAIgAykDADcDgAMgAigCqANFDQAgERDtAgsgAkGAA2ogAkHoAGoQnAIiD0H/AXEOAwECBAILIAIoAqwEIQMgBkEBNgIAIAYgAzYCBCACKAKoA0UNDCAREO0CDAwLIAItAKADIg8gAi0AiAEiGEkNASAPIBhHIQ8LIA9B/wFxQQFGDQELAkACQAJAIAJBsAJqIAJB2AJqEJwCQf8BcSIPDgMBAAMACyAPQQFLDQIMAQsgAi0A0AIgAi0A+AJJDQELIAJB+AJqIAkpAwA3AwAgAkHwAmogCCkDADcDACACQegCaiALKQMANwMAIAJB4AJqIA4pAwA3AwAgAiACKQOwAjcD2AIgAkGAA2ogAkHoAGpBIBCuAw0AIAItAKADIAItAIgBRg0HCyACQaAEaiAJKQMANwMAIAJBmARqIAgpAwA3AwAgAkGQBGogCykDADcDACACQYgEaiAOKQMANwMAIAIgAikDsAI3A4AEIA0gFCkDADcDACASIBUpAwA3AwAgEyAWKQMANwMAIAIgAikDmAE3A9gEIAJBEjoA+AQgCiACKACRATYAACAKQQNqIBcoAAA2AAAgA0EgaiACQdgBaikDADcDACADQRhqIAJB0AFqKQMANwMAIANBEGogAkHIAWopAwA3AwAgA0EIaiACQcABaikDADcDACADIAIpA7gBNwMAIAJCATcDqAQgAkGoA2ogByACQYAEaiACQdgEaiACQagEahByIAIoAqgDBEAgAigCrAMhAyAGQQE2AgAgBiADNgIEDAkLIAJB+ANqIAVBIGopAwA3AwAgAkHwA2ogBUEYaikDADcDACACQegDaiAFQRBqKQMANwMAIAJB4ANqIAVBCGopAwA3AwAgAiAFKQMANwPYAwJAAkACQCACQYADaiACQegAahCcAkH/AXEiCQRAIAlB/wFHDQEMAgsgAi0AoAMgAi0AiAFJDQELIAIpA3AhGiACKQOIAyEbIAIpA5ADIh0gAikDeCIefSEZAkACfiACKQOAAyIhIAIpA2giIloEQCAbIBp9IRwgGiAbVq0MAQsgGyAaQn+FfCEcIBogG1atIBogG1GtfAsiGlAEQCAdIB5UrSEbDAELIBkgGlStIB0gHlStfCEbIBkgGn0hGQsgAikDmAMiHSACKQOAASIefSEaAkACQCAbUARAIB0gHloNAQwCCyAdIB5UIBogG1RyDQEgGiAbfSEaCyACQRI6AMgEIAIgGjcDwAQgAiAZNwO4BCACIBw3A7AEIAIgISAifTcDqAQgAkGoA2ogAkGoBGogAkHYA2oQwAEgAikDsAMhGiACKQO4AiEbIAIpA8ADIR0gAikDyAIhHiACKQPAAiIhIAIpA7gDIiJ9IRkCQAJ+IAIpA7ACIh8gAikDqAMiI1oEQCAbIBp9IRwgGiAbVq0MAQsgGyAaQn+FfCEcIBogG1atIBogG1GtfAsiGlAEQCAhICJUrSEbDAELIBkgGlStICEgIlStfCEbIBkgGn0hGQsgHiAdfSEaAkACQCAbUARAIB0gHlgNAQwCCyAaIBtUIB0gHlZyDQEgGiAbfSEaCyACQRI6ANACIAIgGjcDyAIgAiAZNwPAAiACIBw3A7gCIAIgHyAjfTcDsAIMAwsMDAsMCwsgAikDiAMhGiACKQNwIRsgAikDeCIdIAIpA5ADIh59IRkCQAJ+IAIpA2giISACKQOAAyIiWgRAIBsgGn0hHCAaIBtWrQwBCyAbIBpCf4V8IRwgGiAbVq0gGiAbUa18CyIaUARAIB0gHlStIRsMAQsgGSAaVK0gHSAeVK18IRsgGSAafSEZCyACKQOAASIdIAIpA5gDIh59IRoCQCAbUARAIB0gHloNAQwMCyAdIB5UIBogG1RyDQsgGiAbfSEaCyACQRI6AMgEIAIgGjcDwAQgAiAZNwO4BCACIBw3A7AEIAIgISAifTcDqAQgAkGoA2ogAkGoBGogAkHYA2oQwAEgAikDuAIiGSACKQOwA3wiGyAZVCEJIAIpA8ACIhogAikDuAN8IhkgGlQhCCACKQPIAiIaIBogAikDwAN8IhpWIQsCQCACKQOwAiIcIAIpA6gDfCIdIBxaBH4gCa0FIBtCAXwiG1CtIAmtfAsiHFAEfiAIrQUgGSAZIBx8IhlWrSAIrXwLIhxQBEAgC0UNAQwICyALDQcgGiAaIBx8IhpWDQcLIAJBEjoA0AIgAiAaNwPIAiACIBk3A8ACIAIgGzcDuAIgAiAdNwOwAgsgEEEBayIQDQALDAULIAYgAikD4AE3AwggBkEANgIAIAZBKGogAkGAAmopAwA3AwAgBkEgaiACQfgBaikDADcDACAGQRhqIAJB8AFqKQMANwMAIAZBEGogAkHoAWopAwA3AwAMBgsgAigCrAQhAyAGQQE2AgAgBiADNgIEDAULIAIgAigCrAQ2AqgDQayCwABBKyACQagDakHYgsAAQaCRwAAQlwIAC0EEQRgQqAMACyACQQA2ArgEIAJBATYCrAQgAkHUwcAANgKoBCACQgQ3ArAEIAJBqARqQfC+wAAQxQIACyACQfgEaiACQfgCaikDADcDACACQfAEaiACQfACaikDADcDACACQegEaiACQegCaikDADcDACACQeAEaiACQeACaikDADcDACACIAIpA9gCNwPYBCACQcADaiACQbABaikDADcDACACQbgDaiACQagBaikDADcDACACQbADaiACQaABaikDADcDACACIAIpA5gBNwOoAyACQRI6AMgDIAJBzANqIAJBlAFqKAAANgAAIAIgAigAkQE2AMkDIAJBqARqIAcgAkHYBGogAkGoA2oQbyACKAKoBARAIAIoAqwEIQMgBkEBNgIAIAYgAzYCBAwCCyACQaAEaiACQdAEaikDADcDACACQZgEaiACQcgEaikDADcDACACQZAEaiACQcAEaikDADcDACACQYgEaiACQbgEaikDADcDACACIAIpA7AENwOABAJAAkAgAkHoAGogAkGABGoQnAJB/wFxIgMEQCADQf8BRw0BDAILIAItAIgBIAItAKAESQ0BCwJAAkACQAJAIAJB2AJqIAJB4AFqEJwCIgNB/wFxDgMAAQIBCyACLQD4AiIDIAItAIACIgdJDQEgAyAHRyEDCyADQf8BcUEBRg0BCyAGIAIpA9gCNwMIIAZBADYCACAGQShqIAJB+AJqKQMANwMAIAZBIGogAkHwAmopAwA3AwAgBkEYaiACQegCaikDADcDACAGQRBqIAJB4AJqKQMANwMADAMLIAJBADYCuAQgAkEBNgKsBCACQYiRwAA2AqgEIAJCBDcCsAQgAkGoBGpBkJHAABDSASEDIAZBATYCACAGIAM2AgQMAgsgAkEANgK4BCACQQE2AqwEIAJBuJDAADYCqAQgAkIENwKwBCACQagEakHAkMAAENIBIQMgBkEBNgIAIAYgAzYCBAwBCyACQQA2ArgEIAJBATYCrAQgAkGEkMAANgKoBCACQgQ3ArAEIAJBqARqQYyQwAAQ0gEhAyAGQQE2AgAgBiADNgIECyACQYAFaiQADAELIAJBADYCuAQgAkEBNgKsBCACQcCUwAA2AqgEIAJCBDcCsAQgAkGoBGpBkJTAABDFAgALIARB4BhqIAZBjLvAABCQAiAEKALgGEUEQCAEQdQYaiAEQYgZaikDACIZNwIAIARBzBhqIARBgBlqKQMAIho3AgAgBEHEGGogBEH4GGopAwAiGzcCACAEQbwYaiAEQfAYaikDACIcNwIAIARBkBhqIBw3AwAgBEGYGGogGzcDACAEQaAYaiAaNwMAIARBqBhqIBk3AwAgBCAEKQPoGCIZNwK0GCAEIBk3A4gYIAQoAsQaIgJBhAFPBEAgAhAACyAEKAL8GSICQYQBTwRAIAIQAAsgBCgCtBkiAkGEAU8EQCACEAALIARBCGogBEGIGGpBnLvAABC4AQwECyAEQcgYaiAEQfwYaigCACICNgIAIARBwBhqIARB9BhqKQIAIhk3AwAgBEG4GGogBEHsGGopAgAiGjcDACAEQRBqIBo3AwAgBEEYaiAZNwMAIARBIGogAjYCACAEIAQpAuQYIhk3A7AYIAQgGTcDCAsgBCgCxBoiAkGEAUkNACACEAALIAQoAvwZIgJBhAFJDQAgAhAACyAEKAK0GSICQYQBSQ0AIAIQAAsgAUGDAUsEQCABEAALAn8gBCgCCCICQQJGBEAgBCgCDCEBQQAMAQsgBEGoEGogBEEgaigCADYCACAEQaAQaiAEQRhqKQMANwMAIARBmBBqIARBEGopAwA3AwAgBCAEKQMINwOQEEEAIQEgBEGQEGoQ5QELIQMgACACQQJHNgIIIAAgAzYCBCAAIAE2AgAgBEHAG2okAAuqSQIdfxZ+IwBBgBxrIgQkACAEQcARaiICIAEQAiABEAMQvAECQAJAAkACQAJAAkACQAJAIAQoAsARRQRAIARB2AFqIARByAlqQQRyIARByBFqQfAHEKwDQfAHEKwDGiAEIAEQFjYChBogAiAEQYQaakHUpcAAEKwBIAQoAsARDQEgBEH8GWogBEHgEWoiAykDACIfNwIAIARB9BlqIARB2BFqIgUpAwAiIDcCACAEQewZaiAEQdARaiIIKQMAIiI3AgAgBEHAGWogIjcDACAEQcgZaiAgNwMAIARB0BlqIB83AwAgBCAEKQPIESIfNwLkGSAEIB83A7gZIARBEjoA2BkgBCABEBc2AtQaIAIgBEHUGmpB5KXAABCsASAEKALAEQ0CIARBzBpqIAMpAwAiHzcCACAEQcQaaiAFKQMAIiA3AgAgBEG8GmogCCkDACIiNwIAIARBkBpqICI3AwAgBEGYGmogIDcDACAEQaAaaiAfNwMAIAQgBCkDyBEiHzcCtBogBCAfNwOIGiAEQRI6AKgaIAQgARAYNgKoGyACIARBqBtqQfSlwAAQrAEgBCgCwBFFBEAgBEGcG2ogAykDACIfNwIAIARBlBtqIAUpAwAiIDcCACAEQYwbaiAIKQMAIiI3AgAgBEHgGmogIjcDACAEQegaaiAgNwMAIARB8BpqIB83AwAgBCAEKQPIESIfNwKEGyAEIB83A9gaIARBEjoA+BogARAZIgJFBEAgBEIANwPAEQwGCyAEIAI2AqwbIARB2BtqIARBrBtqQYSmwAAQrAEgBCgC2BtFDQQgBEEIaiAEQeQbaikCADcDACAEQRBqIARB7BtqKQIANwMAIARBGGogBEH0G2ooAgA2AgAgBCAEKQLcGzcDACACQYQBSQ0GIAIQAAwGCyAEQZgbaiAEQdwRaigCACICNgIAIARBkBtqIARB1BFqKQIAIh83AwAgBEGIG2ogBEHMEWopAgAiIDcDACAEQQhqICA3AwAgBEEQaiAfNwMAIARBGGogAjYCACAEIAQpAsQRIh83A4AbIAQgHzcDAAwFCyAEQeAJaiAEQdwRaigCACICNgIAIARB2AlqIARB1BFqKQIAIh83AwAgBEHQCWogBEHMEWopAgAiIDcDACAEQQhqICA3AwAgBEEQaiAfNwMAIARBGGogAjYCACAEIAQpAsQRIh83A8gJIAQgHzcDAAwHCyAEQfgZaiAEQdwRaigCACICNgIAIARB8BlqIARB1BFqKQIAIh83AwAgBEHoGWogBEHMEWopAgAiIDcDACAEQQhqICA3AwAgBEEQaiAfNwMAIARBGGogAjYCACAEIAQpAsQRIh83A+AZIAQgHzcDAAwFCyAEQcgaaiAEQdwRaigCACICNgIAIARBwBpqIARB1BFqKQIAIh83AwAgBEG4GmogBEHMEWopAgAiIDcDACAEQQhqICA3AwAgBEEQaiAfNwMAIARBGGogAjYCACAEIAQpAsQRIh83A7AaIAQgHzcDAAwDCyAEQdARaiAEQegbaikDADcDACAEQdgRaiAEQfAbaikDADcDACAEQeARaiAEQfgbaikDADcDACAEIAQpA+AbNwPIESAEQRI6AOgRIARCATcDwBEgAkGEAUkNACACEAALIARBqAFqIQUgBEHYAWohCCAEQbgZaiEMIARBiBpqIQ0gBEHYGmohCyAEQcARaiEDIAEQGiICQf///wdHIQkgAkH//wNxIQ8jAEGwBGsiAiQAIAJBmANqIgZB69/AAEEDELABAkACQAJAAkACQAJAAkACQCACKAKYA0UEQCACQegCaiACQcADaikDADcDACACQeACaiACQbgDaikDADcDACACQdgCaiACQbADaiIKKQMANwMAIAJB0AJqIAJBqANqIgcpAwA3AwAgAiACKQOgAzcDyAIgAkEgaiACQcgCaiADQQhqIAMpAwBQGyIDQQhqKQMANwMAIAJBKGogA0EQaikDADcDACACQTBqIANBGGopAwA3AwAgAkE4aiADQSBqKQMANwMAIAIgAykDADcDGCACIA9B9AMgCRsiFTYCRCAKIAhB2AVqKQMANwMAIAcgCEHQBWopAwA3AwAgAkGgA2ogCEHIBWopAwA3AwAgAkESOgC4AyACIAgpA8AFNwOYAyALIAYQnAJB/wFxIgNFDQEgA0H/AUcNAgwDCyACIAIoApwDNgLIAkHtxMAAQSsgAkHIAmpBmMXAAEHw48AAEJcCAAsgCy0AICACLQC4A0kNAQsgAkGYA2ogCCALIA0QbwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoApgDRQRAIAJB6ABqIAJBwANqKQMANwMAIAJB4ABqIAJBuANqKQMANwMAIAJB2ABqIAJBsANqKQMANwMAIAJB0ABqIAJBqANqKQMANwMAIAIgAikDoAM3A0ggDCACQcgAahCcAiIDQf8BcQ4DAQIDAgsgAigCnAMhAyAFQQE2AgAgBSADNgIEDA4LIAwtACAiAyACLQBoIglJDQEgAyAJRyEDCyADQf8BcUEBRg0BCyAMKQMQISkgDCkDCCEnIAIpA1ghIiACKQNQISACfiACKQNIIiUgDCkDACIrWgRAICAgJ1StIR8gICAnfQwBCyAgICdUrSAgICdRrXwhHyAgICdCf4V8CyEkIAwpAxghKiACKQNgISEgIiApfSEgAkAgH1AEQCAiIClUrSEjDAELIB8gIFatICIgKVStfCEjICAgH30hIAsgISAqfSEfAkAgI1AEQCAhICpaDQEMCwsgHyAjVCAhICpUcg0KIB8gI30hHwsgAkESOgC4AyACIB83A7ADIAIgIDcDqAMgAiAkNwOgAyACICUgK303A5gDIAJBmANqIAJBGGoQnAIiA0H/AXEOAwECAwILIAIgAkHIAGqtQoCAgICQCIQ3A9ABIAIgDK1CgICAgJAIhDcDyAEgAkHUA2pBAzoAACACQdADakEENgIAIAJByANqQqCAgIAQNwIAIAJBwANqQQI2AgAgAkECNgLcAiACQQI2AswCIAJB/ODAADYCyAIgAkECNgLUAiACQQI2ArgDIAJBAzoAtAMgAkEENgKwAyACQiA3AqgDIAJBAjYCoAMgAkECNgKYAyACIAJBmANqNgLYAiACIAJByAFqNgLQAiACQaACaiIDIAJByAJqENMBIAJBCGogA0G8hsEAQYzhwAAQpgIgAigCDCEIIAIoAgghCyACQaADaiIMIAJBqAJqKAIANgIAQZngwQAtAAAaIAIgAikCoAI3A5gDQRhBBBD3AiIDRQ0EIAMgCzYCBCADQaSHwQA2AgAgAyACKQOYAzcCDCADIAg2AgggA0EUaiAMKAIANgIAIAVBATYCACAFIAM2AgQMCgsgAi0AuAMiAyACLQA4IglJDQIgAyAJRyEDCyADQf8BcUEBRw0BCyACQegCaiANQSBqKQMANwMAIAJB4AJqIA1BGGopAwA3AwAgAkHYAmogDUEQaikDADcDACACQdACaiIPIA1BCGopAwA3AwAgAiANKQMANwPIAiACQZgDaiEJIwBB0AJrIgMkACADQcACaiACQcgCaiIRIgZBIGopAwA3AwAgA0G4AmogBkEYaikDADcDACADQbACaiAGQRBqKQMANwMAIANBqAJqIAZBCGopAwA3AwAgAyAGKQMANwOgAiADQYgCaiAIQdgBaikDADcDACADQYACaiAIQdABaikDADcDACADQfgBaiAIQcgBaikDADcDACADQRI6AJACIAMgCCkDwAE3A/ABIAhBwAFqIQogA0EgagJ/IANBoAJqIhAgA0HwAWoiByAQIAcQnAIiEEH/AXEEfyAQBSAHIAMtAMACIgdBEkkNARogB0ESRwtB/wFxQQFGGwsiB0EgaikDADcDACADQRhqIAdBGGopAwA3AwAgA0EQaiAHQRBqKQMANwMAIANBCGogB0EIaikDADcDACADIAcpAwA3AwAgA0HYAGoiByAKQQhqKQMANwMAIANB4ABqIhAgCkEQaikDADcDACADQegAaiITIApBGGopAwA3AwAgAyAKKQMANwNQIANB8ABqIgpBEjoAACADQZACaiAKKQMANwMAIANBiAJqIBMpAwA3AwAgA0GAAmogECkDADcDACADQfgBaiAHKQMANwMAIAMgAykDUDcD8AEgA0EoaiAMIANB8AFqIgoQxAEgA0G4AmogCEHYBWopAwA3AwAgA0GwAmogCEHQBWopAwA3AwAgA0GoAmogCEHIBWopAwA3AwAgA0ESOgDAAiADIAgpA8AFNwOgAiAKIAggA0GgAmoQZwJAAkACQAJAAkACQAJAIAMoAvABRQRAIAMpA5ACITEgAykDiAIhLCADKQOAAiEyIAMpA/gBITMgCiADIAYQxAEgAykD+AEiHyAIKQOIBHwiJSAfVCEGIAMpA4ACIiAgCCkDkAR8Ih8gIFQhCiADKQOIAiIgICAgCCkDmAR8IiBWIQcCQCADKQPwASIiIAgpA4AEfCIoICJaBH4gBq0FICVCAXwiJVCtIAatfAsiIlAEfiAKrQUgHyAfICJ8Ih9WrSAKrXwLIiJQBEAgB0UNAQwICyAHDQcgICAgICJ8IiBWDQcLIANB4AFqIAhB4ANqIgZBGGopAwA3AwAgA0HYAWogBkEQaikDADcDACADQdABaiAGQQhqKQMANwMAIANBEjoA6AEgAyAGKQMANwPIASADQfABaiIGQdjHwABBBBCwASADKALwAQ0BIAMpA5ACISQgAykDiAIhJiADKQOAAiEjIAMpA/gBIS4gBiAIEJwBIAMoAvABRQRAIAMpA4ACISEgAykDkAIhLSAmIAMpA4gCIi99ISICQAJ+IAMpA/gBIjQgLlgEQCAjICF9ITAgISAjVq0MAQsgIyAhQn+FfCEwICEgI1atICEgI1GtfAsiIVAEQCAmIC9UrSEjDAELICEgIlatICYgL1StfCEjICIgIX0hIgsgJCAtfSEhAkAgI1AEQCAkIC1aDQEMCAsgJCAtVCAhICNUcg0HICEgI30hIQsgA0ESOgDAAiADICE3A7gCIAMgIjcDsAIgAyAwNwOoAiADIC4gNH03A6ACIANBoAFqIANByAFqIANBoAJqEMcBICUgAykDqAF8IiMgJVQhBiADKQOwASAffCIiIB9UIQogICADKQO4ASAgfCIfViEHAkAgKCAoIAMpA6ABfCIgWAR+IAatBSAjQgF8IiNQrSAGrXwLIiFQBH4gCq0FICIgISAifCIiVq0gCq18CyIhUARAIAMgHzcDkAEgAyAiNwOIASADICM3A4ABIAMgIDcDeCAHRQ0BDAcLIAMgIjcDiAEgAyAjNwOAASADICA3A3ggAyAfICF8IiA3A5ABIAcgHyAgVnINBgsgA0ESOgCYASADQaACaiADQdAAaiADQfgAahDEASADKQMwIh8gMnwiICAfVCEGIAMpAzgiIiAsfCIfICJUIQogAykDQCIiICIgMXwiIlYhBwJAIAMpAygiISAzfCIjICFaBH4gBq0FICBCAXwiIFCtIAatfAsiIVAEfiAKrQUgHyAfICF8Ih9WrSAKrXwLIiFQBEAgAyAiNwOIAiADIB83A4ACIAMgIDcD+AEgAyAjNwPwASAHRQ0BDAYLIAMgHzcDgAIgAyAgNwP4ASADICM3A/ABIAMgISAifCIfNwOIAiAHIB8gIlRyDQULIANBEjoAkAIgCUEIaiADQaACaiADQfABahDHASAJQQA2AgAMAwsgAygC9AEhBiAJQQE2AgAgCSAGNgIEDAILIAMoAvQBIQYgCUEBNgIAIAkgBjYCBAwBCyADIAMoAvQBNgLMAkHtxMAAQSsgA0HMAmpBmMXAAEHc7cAAEJcCAAsgA0HQAmokAAwECyADQQA2AtgBIANBATYCzAEgA0Hgh8EANgLIASADQgQ3AtABIANByAFqQfSFwQAQxQIACyADQQA2AoACIANBATYC9AEgA0Hgh8EANgLwASADQgQ3AvgBIANB8AFqQfSFwQAQxQIACyADQQA2AoACIANBATYC9AEgA0HkxMAANgLwASADQgQ3AvgBIANB8AFqQbTEwAAQxQIACyADQQA2ArACIANBATYCpAIgA0Hgh8EANgKgAiADQgQ3AqgCIANBoAJqQfSFwQAQxQIACyACKAKYAw0EIAIgAigAwQM2AnAgAiACQcQDaigAADYAcyACLQDAAyEJIAIpA7gDIR8gAikDsAMhICACKQOoAyEjIAIpA6ADISUgAkGQAWpCfzcDACACQYgBakJ/NwMAIAJBgAFqQn83AwAgAkJ/NwN4IAJBEjoAmAEgFUUNAyAnQn+FITAgEUEEciEQIAJB6QFqIRMgCykDGCEuIAspAxAhLyALKQMIIS0gCykDACExIAJB0AFqIQYgAkGgA2ohAyACQcECaiEWIAwtACAhCiACQekCaiIXQQNqIRggCy0AICEZA0AgFyACKAJwNgAAIBggAigAczYAACACIAk6AOgCIAIgHzcD4AIgAiAgNwPYAiACICM3A9ACIAIgJTcDyAIgAkGYA2ogCCACQcgCaiANEG8CQAJAAkACQCACKAKYA0UEQCACQcABaiADQSBqIhEpAwA3AwAgAkG4AWogA0EYaiISKQMANwMAIAJBsAFqIANBEGoiFCkDADcDACACQagBaiADQQhqIhopAwA3AwAgAiADKQMANwOgASACQaABaiAMEJwCQf8BcSIHRQ0BIAdB/wFHDQIMAwsgAigCnAMhAyAFQQE2AgAgBSADNgIEDAwLIAItAMABIApJDQELIAIpA6gBISEgAikDsAEiJiApfSEiAkACfiArIAIpA6ABIihYBEAgISAnfSEkICEgJ1StDAELICEgMHwhJCAhICdUrSAhICdRrXwLIiFQBEAgJiApVK0hJgwBCyAhICJWrSAmIClUrXwhJiAiICF9ISILIAIpA7gBIiwgKn0hIQJAICZQBEAgKiAsVg0BICggK30hKAwDCyAhICZUICogLFZyDQAgKCArfSEoICEgJn0hIQwCCwwLCyACKQOoASEhICkgAikDsAEiJH0hIgJAAn4gAikDoAEiLCArWARAICcgIX0hJiAhICdWrQwBCyAnICFCf4V8ISYgISAnVq0gISAnUa18CyIhUARAICQgKVatISQMAQsgISAiVq0gJCApVq18ISQgIiAhfSEiCyAqIAIpA7gBIih9ISECQAJAICRQBEAgKCAqWA0BDAILICEgJFQgKCAqVnINASAhICR9ISELIAJBEjoAuAMgAiAhNwOwAyACICI3A6gDIAIgJjcDoAMgAiArICx9NwOYAwJAAkACQAJAIAJBmANqIAJBGGoQnAIiB0H/AXEOAwABAgELIAItALgDIgcgAi0AOCIOSQ0CIAcgDkchBwsgB0H/AXFBAUcNAQsgAikDqAEhISApIAIpA7ABIiZ9ISICQAJ+IAIpA6ABIiggK1gEQCAnICF9ISQgISAnVq0MAQsgJyAhQn+FfCEkICEgJ1atICEgJ1GtfAsiIVAEQCAmIClWrSEmDAELICEgIlatICYgKVatfCEmICIgIX0hIgsgKiACKQO4ASIsfSEhAkAgJlAEQCAqICxUDQEgKyAofSEoDAQLICogLFQgISAmVHINACArICh9ISggISAmfSEhDAMLDAwLIAUgAigCcDYAKSAFIAk6ACggBSAfNwMgIAUgIDcDGCAFICM3AxAgBSAlNwMIIAVBADYCACAFQSxqIAIoAHM2AAAMCgsMCwsgAkESOgCYASACICE3A5ABIAIgIjcDiAEgAiAkNwOAASACICg3A3ggFiACKAJwNgAAIBZBA2ogAigAczYAACACIAk6AMACIAIgHzcDuAIgAiAgNwOwAiACICM3A6gCIAIgJTcDoAIgAkGYA2oiDiAIEJwBAkACQCACKAKYA0UEQCAPIAMpAwA3AwAgD0EgaiIbIBEpAwA3AwAgD0EYaiIcIBIpAwA3AwAgD0EQaiIdIBQpAwA3AwAgD0EIaiIeIBopAwA3AwAgAkIBNwPIAiACQbgDaiIJIA1BIGopAwA3AwAgAkGwA2oiByANQRhqKQMANwMAIAJBqANqIhEgDUEQaikDADcDACADIA1BCGopAwA3AwAgAiANKQMANwOYAyACQcgBaiAIIAJBoAJqIhIgDiACQcgCahByAkACQCACKALIAUUEQCACQZgCaiAGQSBqKQMANwMAIAJBkAJqIAZBGGopAwA3AwAgAkGIAmogBkEQaikDADcDACACQYACaiAGQQhqKQMANwMAIAIgBikDADcD+AEgCSACQZgBaikDADcDACAHIAJBkAFqKQMANwMAIBEgAkGIAWopAwA3AwAgAyACQYABaikDADcDACACIAIpA3g3A5gDIBIgDiACQfgBahDFASACQaABaiAMEJwCQf8BcSIORQ0BIA5B/wFHDQIMBAsgAigCzAEhAyAFQQE2AgAgBSADNgIEDA0LIAItAMABIApJDQILIAIpA6gCISICfiACKQOgAiImICVYBEAgIiAjVq0hJCAjICJ9DAELICIgI1atICIgI1GtfCEkICMgIkJ/hXwLISIgICACKQOwAiIhfSEjAkAgJFAEQCAgICFUrSEhDAELICMgJFStICAgIVStfCEhICMgJH0hIwsgHyACKQO4AiIkfSEgAkAgIVAEQCAfICRaDQEMDgsgHyAkVCAgICFUcg0NICAgIX0hIAsgJSAmfSEhDAILIAIoApwDIQMgBUEBNgIAIAUgAzYCBAwKCyAjIAIpA6gCfCIiICNUIQ4gICACKQOwAnwiIyAgVCESIB8gAikDuAJ8IiAgH1QhFCAlICUgAikDoAJ8IiFYBH4gDq0FICJCAXwiIlCtIA6tfAsiH1AEfiASrQUgIyAfICN8IiNWrSASrXwLIh9QBEAgFEUNAQwFCyAUDQQgICAfICB8IiBWDQQLIAJB6AFqIg5BEjoAACACQeABaiAgNwMAIAJB2AFqICM3AwAgBiAiNwMAIAIgITcDyAEgCSAOKQMANwMAIAcgIDcDACARICM3AwAgAyAiNwMAIAIgITcDmAMgAkHIAmogCCACQZgDaiIOIA0QbwJAAkACQAJAAkACQAJAAkACQCACKALIAkUEQCAJIBspAwA3AwAgByAcKQMANwMAIBEgHSkDADcDACADIB4pAwA3AwAgAiAPKQMANwOYAyAOIAwQnAIiCUH/AXEOAwECAwILIAJByAFqIAsQnAJB/wFxIgkOAwUEBwQLIAogAi0AuAMiCUsNAiAJIApHIQkLIAlB/wFxQQFHDQELIAIpA6ADISAgAikDqAMiIyApfSEfAkACfiArIAIpA5gDIiRYBEAgICAnfSEiICAgJ1StDAELICAgMHwhIiAgICdUrSAgICdRrXwLIiFQBEAgIyApVK0hIAwBCyAfICFUrSAjIClUrXwhICAfICF9IR8LIAIpA7ADIiMgKn0hJQJAICBQBEAgIyAqWg0BDBMLICMgKlQgICAlVnINEiAlICB9ISULIAIpA9ABISACfiACKQPIASImICQgK30iJFoEQCAgICJUrSEhICAgIn0MAQsgICAiVK0gICAiUa18ISEgICAiQn+FfAshIyACKQPYASIiIB99ISACQCAhUARAIB8gIlatISIMAQsgICAhVK0gHyAiVq18ISIgICAhfSEgCyACKQPgASIhICV9IR8CQCAiUARAICEgJVoNAQwTCyAhICVUIB8gIlRyDRIgHyAifSEfCyAmICR9ISVBEiEJDAULIAIgEygAADYCcCACIBNBA2ooAAA2AHMgAi0A6AEhCSACKQPgASEfIAIpA9gBISAgAikD0AEhIyACKQPIASElDAQLIAlBAkkNAQwCCyACLQDoASAZSQ0BCyACKQMgISACfiACKQMYIiEgMVgEQCAgIC1WrSEfIC0gIH0MAQsgICAtVq0gICAtUa18IR8gLSAgQn+FfAshIyAvIAIpAygiIn0hIAJAIB9QBEAgIiAvVq0hJQwBCyAfICBWrSAiIC9WrXwhJSAgIB99ISALIC4gAikDMCIifSEfAkACQCAlUARAICIgLlgNAQwCCyAfICVUICIgLlZyDQEgHyAlfSEfCyAxICF9ISVBEiEJDAILDAsLIAIgC61CgICAgJAIhDcDkAMgAiACQcgBaq1CgICAgJAIhDcDiAMgAkHUA2pBAzoAACACQdADakEENgIAIAJByANqQqCAgIAQNwIAIAJBwANqQQI2AgAgAkECNgKsBCACQQM2ApwEIAJByOPAADYCmAQgAkECNgKkBCACQQI2ArgDIAJBAzoAtAMgAkEENgKwAyACQiA3AqgDIAJBAjYCoAMgAkECNgKYAyACIAJBmANqNgKoBCACIAJBiANqNgKgBCACQfwCaiIDIAJBmARqEIwCIANB4OPAABCHAiEDIAVBATYCACAFIAM2AgQgAigCyAJFDQkgEBDtAgwJCyACKALIAgRAIBAQ7QILIBVBAWsiFQ0ACwwDCyAFQQA2AgAgBSALKQMANwMIIAVBKGogC0EgaikDADcDACAFQSBqIAtBGGopAwA3AwAgBUEYaiALQRBqKQMANwMAIAVBEGogC0EIaikDADcDAAwGC0EEQRgQqAMACyACQQA2AqgDIAJBATYCnAMgAkHgh8EANgKYAyACQgQ3AqADIAJBmANqQfSFwQAQxQIACyACIAJBGGqtQoCAgICQCIQ3A+ACIAIgAkH4AGqtQoCAgICQCIQ3A9gCIAIgDK1CgICAgJAIhDcD0AIgAiACQcQAaq1CgICAgKAIhDcDyAIgAkGUBGpBAzoAACACQZAEakEENgIAIAJBiARqQqCAgIAwNwIAIAJBgARqQQI2AgAgAkH0A2pBAzoAACACQfADakEENgIAIAJB6ANqQqCAgIAgNwIAIAJB4ANqQQI2AgAgAkHUA2pBAzoAACACQdADakEENgIAIAJByANqQqCAgIAQNwIAIAJBwANqQQI2AgAgAkECNgL4AyACQQI2AtgDIAJBAjYCuAMgAkEDOgC0AyACQQQ2ArADIAJCIDcCqAMgAkECNgKgAyACQQI2ApgDIAJBBDYC3AEgAkEENgLMASACQcTiwAA2AsgBIAJBBDYC1AEgAiACQZgDajYC2AEgAiACQcgCajYC0AEgAkGgAmoiAyACQcgBahDTASACQRBqIANBvIbBAEHk4sAAEKYCIAIoAhQhCCACKAIQIQsgAkGgA2oiDCACQagCaigCADYCAEGZ4MEALQAAGiACIAIpAqACNwOYA0EYQQQQ9wIiAwRAIAMgCzYCBCADQaSHwQA2AgAgAyACKQOYAzcCDCADIAg2AgggA0EUaiAMKAIANgIAIAVBATYCACAFIAM2AgQMBAtBBEEYEKgDAAsgAigCnAMhAyAFQQE2AgAgBSADNgIEDAILDAMLIAJBADYCqAMgAkEBNgKcAyACQYzgwAA2ApgDIAJCBDcCoAMgAkGYA2pBlODAABDSASEDIAVBATYCACAFIAM2AgQLIAJBsARqJAAMAwsgAkEANgKoAyACQQE2ApwDIAJB5MTAADYCmAMgAkIENwKgAyACQZgDakG0xMAAEMUCAAsgAkEANgLYAiACQQE2AswCIAJB5MTAADYCyAIgAkIENwLQAiACQcgCakG0xMAAEMUCAAsgAkEANgKoBCACQQE2ApwEIAJB5MTAADYCmAQgAkIENwKgBCACQZgEakG0xMAAEMUCAAsgBEH4AGogBUGUpsAAEJACIAQoAnhFBEAgBEHsAGogBEGgAWopAwAiHzcCACAEQeQAaiAEQZgBaikDACIgNwIAIARB3ABqIARBkAFqKQMAIiI3AgAgBEHUAGogBEGIAWopAwAiIzcCACAEQShqICM3AwAgBEEwaiAiNwMAIARBOGogIDcDACAEQUBrIB83AwAgBCAEKQOAASIfNwJMIAQgHzcDICAEIARBIGpBpKbAABC4ASAEKAKoGyICQYQBTwRAIAIQAAsgBCgC1BoiAkGEAU8EQCACEAALIAQoAoQaIgJBhAFPBEAgAhAACwwECyAEQeAAaiAEQZQBaigCACICNgIAIARB2ABqIARBjAFqKQIAIh83AwAgBEHQAGogBEGEAWopAgAiIDcDACAEQQhqICA3AwAgBEEQaiAfNwMAIARBGGogAjYCACAEIAQpAnwiHzcDSCAEIB83AwALIAQoAqgbIgJBhAFJDQAgAhAACyAEKALUGiICQYQBSQ0AIAIQAAsgBCgChBoiAkGEAUkNACACEAALIAFBgwFLBEAgARAACwJ/IAQoAgAiAkECRgRAIAQoAgQhAUEADAELIARB2BFqIARBGGooAgA2AgAgBEHQEWogBEEQaikDADcDACAEQcgRaiAEQQhqKQMANwMAIAQgBCkDADcDwBFBACEBIARBwBFqEOUBCyEDIAAgAkECRzYCCCAAIAM2AgQgACABNgIAIARBgBxqJAAL5w0CA38KfiMAQaADayICJAAgAkHIAGogAUHYAWopAwA3AwAgAkFAayABQdABaikDADcDACACQThqIAFByAFqKQMANwMAIAJBEjoAUCACIAEpA8ABNwMwIAJBmAFqIAFBmAVqKQMANwMAIAJBkAFqIAFBkAVqKQMANwMAIAJBiAFqIAFBiAVqKQMANwMAIAJBEjoAoAEgAiABKQOABTcDgAEgAkHwAmogAUEYaikDADcDACACQegCaiABQRBqKQMANwMAIAJB4AJqIAFBCGopAwA3AwAgAkESOgD4AiACIAEpAwA3A9gCIAJBmANqIAFBOGopAwA3AwAgAkGQA2ogAUEwaikDADcDACACQYgDaiABQShqKQMANwMAIAIgASkDIDcDgAMgAkGoAmoiAyACQdgCaiACQYADahDKAQJAAkACQAJAAkACQCACKAKoAkUEQCACQcgBaiACQdACaikDADcDACACQcABaiACQcgCaikDADcDACACQbgBaiACQcACaikDADcDACACQbABaiACQbgCaikDADcDACACIAIpA7ACNwOoASACQdgAaiACQYABaiACQagBahDCASADQdCBwABBBBCvASACKAKoAg0BIAIpA8ACIQkgAikDuAIhBiABKQPQBiEIIAEpA8gGIQUCfiACKQOwAiINIAEpA8AGIg5aBEAgBiAFfSELIAUgBlatDAELIAYgBUJ/hXwhCyAFIAZWrSAFIAZRrXwLIQcgAikDyAIhDCABKQPYBiEKIAkgCH0hBgJAIAdQBEAgCCAJVq0hCQwBCyAGIAdUrSAIIAlWrXwhCSAGIAd9IQYLIAwgCn0hBwJAIAlQBEAgCiAMWA0BDAgLIAcgCVQgCiAMVnINByAHIAl9IQcLIAJBEjoAyAIgAiAHNwPAAiACIAY3A7gCIAIgCzcDsAIgAiANIA59NwOoAiACQfgBaiACQdgAaiACQagCaiIEEG0gAigC+AENAiACQfABaiACQaACaikDADcDACACQegBaiACQZgCaikDADcDACACQeABaiACQZACaikDADcDACACQdgBaiACQYgCaikDADcDACACIAIpA4ACNwPQASACQcACaiABQYAFaiIDQRhqKQMANwMAIAJBuAJqIANBEGopAwA3AwAgAkGwAmogA0EIaikDADcDACACQRI6AMgCIAIgAykDADcDqAIgAkEIaiACQTBqIAJB0AFqIAQQcyACQfACaiABQZgBaikDADcDACACQegCaiABQZABaikDADcDACACQeACaiABQYgBaikDADcDACACQRI6APgCIAIgASkDgAE3A9gCIARB0IHAAEEEEK8BIAIoAqgCDQMgAikDwAIhCSACKQO4AiEGAn4gDiACKQOwAiINWARAIAYgBX0hCyAFIAZWrQwBCyAGIAVCf4V8IQsgBSAGVq0gBSAGUa18CyEHIAIpA8gCIQwgCSAIfSEFAkAgB1AEQCAIIAlWrSEIDAELIAUgB1StIAggCVatfCEIIAUgB30hBQsgDCAKfSEGAkAgCFAEQCAKIAxYDQEMCAsgBiAIVCAKIAxWcg0HIAYgCH0hBgsgAkESOgDIAiACIAY3A8ACIAIgBTcDuAIgAiALNwOwAiACIA0gDn03A6gCIAJB+AFqIAJB2AJqIAJBqAJqEG0gAigC+AFFBEAgAikDECIFIAIpA4gCfCIIIAVUIQEgAikDkAIhBiACKQMYIQUgAikDCCIHIAIpA4ACfCIKIAdaBH4gAa0FIAhCAXwiCFCtIAGtfAshByACKQOYAiACKQMgIQsgBSAFIAZ8IgVWIQEgB1AEfiABrQUgBSAFIAd8IgVWrSABrXwLIQYgC3wiByALVCEBAkAgBlAEQCAAIAc3AyAgACAFNwMYIAAgCDcDECAAIAo3AwggAUUNAQwICyAAIAU3AxggACAINwMQIAAgCjcDCCAAIAYgB3wiBTcDICABIAUgB1RyDQcLIABBADYCACAAQRI6ACgMBQsgAigC/AEhASAAQQE2AgAgACABNgIEDAQLIAIoAqwCIQEgAEEBNgIAIAAgATYCBAwDCyACIAIoAqwCNgLYAkGsgsAAQSsgAkHYAmpB2ILAAEHMh8AAEJcCAAsgAigC/AEhASAAQQE2AgAgACABNgIEDAELIAIgAigCrAI2AoABQayCwABBKyACQYABakHYgsAAQbyHwAAQlwIACyACQaADaiQADwsgAkEANgK4AiACQQE2AqwCIAJB1MHAADYCqAIgAkIENwKwAiACQagCakHwvsAAEMUCAAsgAkEANgK4AiACQQE2AqwCIAJBwJTAADYCqAIgAkIENwKwAiACQagCakGQlMAAEMUCAAvnDQIDfwp+IwBBoANrIgIkACACQcgAaiABQdgBaikDADcDACACQUBrIAFB0AFqKQMANwMAIAJBOGogAUHIAWopAwA3AwAgAkESOgBQIAIgASkDwAE3AzAgAkGYAWogAUGYBWopAwA3AwAgAkGQAWogAUGQBWopAwA3AwAgAkGIAWogAUGIBWopAwA3AwAgAkESOgCgASACIAEpA4AFNwOAASACQfACaiABQRhqKQMANwMAIAJB6AJqIAFBEGopAwA3AwAgAkHgAmogAUEIaikDADcDACACQRI6APgCIAIgASkDADcD2AIgAkGYA2ogAUE4aikDADcDACACQZADaiABQTBqKQMANwMAIAJBiANqIAFBKGopAwA3AwAgAiABKQMgNwOAAyACQagCaiIDIAJB2AJqIAJBgANqEMoBAkACQAJAAkACQAJAIAIoAqgCRQRAIAJByAFqIAJB0AJqKQMANwMAIAJBwAFqIAJByAJqKQMANwMAIAJBuAFqIAJBwAJqKQMANwMAIAJBsAFqIAJBuAJqKQMANwMAIAIgAikDsAI3A6gBIAJB2ABqIAJBgAFqIAJBqAFqEMcBIANB2MfAAEEEELABIAIoAqgCDQEgAikDwAIhCSACKQO4AiEGIAEpA9AGIQggASkDyAYhBQJ+IAIpA7ACIg0gASkDwAYiDloEQCAGIAV9IQsgBSAGVq0MAQsgBiAFQn+FfCELIAUgBlatIAUgBlGtfAshByACKQPIAiEMIAEpA9gGIQogCSAIfSEGAkAgB1AEQCAIIAlWrSEJDAELIAYgB1StIAggCVatfCEJIAYgB30hBgsgDCAKfSEHAkAgCVAEQCAKIAxYDQEMCAsgByAJVCAKIAxWcg0HIAcgCX0hBwsgAkESOgDIAiACIAc3A8ACIAIgBjcDuAIgAiALNwOwAiACIA0gDn03A6gCIAJB+AFqIAJB2ABqIAJBqAJqIgQQbiACKAL4AQ0CIAJB8AFqIAJBoAJqKQMANwMAIAJB6AFqIAJBmAJqKQMANwMAIAJB4AFqIAJBkAJqKQMANwMAIAJB2AFqIAJBiAJqKQMANwMAIAIgAikDgAI3A9ABIAJBwAJqIAFBgAVqIgNBGGopAwA3AwAgAkG4AmogA0EQaikDADcDACACQbACaiADQQhqKQMANwMAIAJBEjoAyAIgAiADKQMANwOoAiACQQhqIAJBMGogAkHQAWogBBB7IAJB8AJqIAFBmAFqKQMANwMAIAJB6AJqIAFBkAFqKQMANwMAIAJB4AJqIAFBiAFqKQMANwMAIAJBEjoA+AIgAiABKQOAATcD2AIgBEHYx8AAQQQQsAEgAigCqAINAyACKQPAAiEJIAIpA7gCIQYCfiAOIAIpA7ACIg1YBEAgBiAFfSELIAUgBlatDAELIAYgBUJ/hXwhCyAFIAZWrSAFIAZRrXwLIQcgAikDyAIhDCAJIAh9IQUCQCAHUARAIAggCVatIQgMAQsgBSAHVK0gCCAJVq18IQggBSAHfSEFCyAMIAp9IQYCQCAIUARAIAogDFgNAQwICyAGIAhUIAogDFZyDQcgBiAIfSEGCyACQRI6AMgCIAIgBjcDwAIgAiAFNwO4AiACIAs3A7ACIAIgDSAOfTcDqAIgAkH4AWogAkHYAmogAkGoAmoQbiACKAL4AUUEQCACKQMQIgUgAikDiAJ8IgggBVQhASACKQOQAiEGIAIpAxghBSACKQMIIgcgAikDgAJ8IgogB1oEfiABrQUgCEIBfCIIUK0gAa18CyEHIAIpA5gCIAIpAyAhCyAFIAUgBnwiBVYhASAHUAR+IAGtBSAFIAUgB3wiBVatIAGtfAshBiALfCIHIAtUIQECQCAGUARAIAAgBzcDICAAIAU3AxggACAINwMQIAAgCjcDCCABRQ0BDAgLIAAgBTcDGCAAIAg3AxAgACAKNwMIIAAgBiAHfCIFNwMgIAEgBSAHVHINBwsgAEEANgIAIABBEjoAKAwFCyACKAL8ASEBIABBATYCACAAIAE2AgQMBAsgAigCrAIhASAAQQE2AgAgACABNgIEDAMLIAIgAigCrAI2AtgCQe3EwABBKyACQdgCakGYxcAAQej5wAAQlwIACyACKAL8ASEBIABBATYCACAAIAE2AgQMAQsgAiACKAKsAjYCgAFB7cTAAEErIAJBgAFqQZjFwABB2PnAABCXAgALIAJBoANqJAAPCyACQQA2ArgCIAJBATYCrAIgAkHgh8EANgKoAiACQgQ3ArACIAJBqAJqQfSFwQAQxQIACyACQQA2ArgCIAJBATYCrAIgAkHkxMAANgKoAiACQgQ3ArACIAJBqAJqQbTEwAAQxQIAC+cNAgN/Cn4jAEGgA2siAiQAIAJByABqIAFB2AFqKQMANwMAIAJBQGsgAUHQAWopAwA3AwAgAkE4aiABQcgBaikDADcDACACQRI6AFAgAiABKQPAATcDMCACQZgBaiABQZgFaikDADcDACACQZABaiABQZAFaikDADcDACACQYgBaiABQYgFaikDADcDACACQRI6AKABIAIgASkDgAU3A4ABIAJB8AJqIAFBGGopAwA3AwAgAkHoAmogAUEQaikDADcDACACQeACaiABQQhqKQMANwMAIAJBEjoA+AIgAiABKQMANwPYAiACQZgDaiABQThqKQMANwMAIAJBkANqIAFBMGopAwA3AwAgAkGIA2ogAUEoaikDADcDACACIAEpAyA3A4ADIAJBqAJqIgMgAkHYAmogAkGAA2oQygECQAJAAkACQAJAAkAgAigCqAJFBEAgAkHIAWogAkHQAmopAwA3AwAgAkHAAWogAkHIAmopAwA3AwAgAkG4AWogAkHAAmopAwA3AwAgAkGwAWogAkG4AmopAwA3AwAgAiACKQOwAjcDqAEgAkHYAGogAkGAAWogAkGoAWoQxgEgA0HYx8AAQQQQsAEgAigCqAINASACKQPAAiEJIAIpA7gCIQYgASkD0AYhCCABKQPIBiEFAn4gAikDsAIiDSAB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7AI2ApgCQe3EwABBKyACQZgCakGYxcAAQfzJwAAQlwIACyACKALsAiEBIABBATYCACAAIAE2AgQLIAJBoANqJAAPCyACIAIoAuwCNgKYAkHtxMAAQSsgAkGYAmpBmMXAAEG8ysAAEJcCAAsgAiACKALsAjYCmAJB7cTAAEErIAJBmAJqQZjFwABBrMrAABCXAgALIAIgAigC7AI2ApwDQe3EwABBKyACQZwDakGYxcAAQZzKwAAQlwIACyACIAIoAuwCNgKYAkHtxMAAQSsgAkGYAmpBmMXAAEGMysAAEJcCAAsgAkEANgL4AiACQQE2AuwCIAJB4IfBADYC6AIgAkIENwLwAiACQegCakH0hcEAEMUCAAsgAkEANgL4AiACQQE2AuwCIAJB5MTAADYC6AIgAkIENwLwAiACQegCakG0xMAAEMUCAAvDuQECGn8SfiMAQdABayIFJAAgBUGQAWoiEiABQZgCaikDADcDACAFQYgBaiITIAFBkAJqKQMANwMAIAVBgAFqIhQgAUGIAmopAwA3AwAgBUESOgCYASAFIAEpA4ACNwN4IAUgASAFQfgAaiIOIAIQoQEgEiABQdgCaikDADcDACATIAFB0AJqKQMANwMAIBQgAUHIAmopAwA3AwAgBUESOgCYASAFIAEpA8ACNwN4IAVBKGoiECABIA4gAhChASAFQcgBaiAFQSBqKQMANwMAIAVBwAFqIAVBGGopAwA3AwAgBUG4AWogBUEQaikDADcDACAFQbABaiAFQQhqKQMANwMAIAUgBSkDADcDqAEgBUGYAWogBUHIAGopAwA3AwAgEiAFQUBrKQMANwMAIBMgBUE4aikDADcDACAUIAVBMGopAwA3AwAgBSAFKQMoNwN4IAVB0ABqIQcjAEGABGsiAyQAIANB0AFqIgYgAUH4AWopAwA3AwAgA0HIAWoiBCABQfABaikDADcDACADQcABaiIIIAFB6AFqKQMANwMAIANBEjoA2AEgAyABKQPgATcDuAEgA0G4A2oiAiADQbgBaiIJIAVBqAFqIhkQxgEgA0GQAmoiCiACENcBAkACQAJAAkACQAJAAkACQAJAAkACQCADKAKQAkUEQCADKQOwAiElIAMpA6gCISEgAykDoAIhHiADKQOYAiEiIAYgAUG4AmopAwA3AwAgBCABQbACaikDADcDACAIIAFB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DAYLIAItAFAgAi0AeEkNBQsgAkGoAWogAkHQAGopAwA3AwAgAkGgAWogAkHIAGopAwA3AwAgAkGYAWogAkFAaykDADcDACACQZABaiACQThqKQMANwMAIAIgAikDMDcDiAEgAkGAAmoiBEHYx8AAQQQQsAEgAigCgAINAiACQfgBaiACQagCaikDADcDACACQfABaiACQaACaikDADcDACACQegBaiACQZgCaikDADcDACACQeABaiACQZACaikDADcDACACIAIpA4gCNwPYASAEQdjHwABBBBCwASACKAKAAg0DIAIpA5ACIR4gASkDyAYhHyACKQOgAiEhIAEpA9gGISIgAikDmAIiJCABKQPQBiIjfSEdAkACfiACKQOIAiIlIAEpA8AGIiZaBEAgHiAffSEgIB4gH1StDAELIB4gH0J/hXwhICAeIB9UrSAeIB9RrXwLIh5QBEAgIyAkVq0hHwwBCyAdIB5UrSAjICRWrXwhHyAdIB59IR0LICEgIn0hHgJAIB9QBEAgISAiWg0BDAoLICEgIlQgHiAfVHINCSAeIB99IR4LIAJBEjoAoAIgAiAeNwOYAiACIB03A5ACIAIgIDcDiAIgAiAlICZ9NwOAAiACQbABaiIEIAJB2AFqIAJBgAJqEMUBIAJB2ABqIAJBiAFqIAQQbiACKAJYDQUMBgsgAigChAIhBCAGQQE2AgAgBiAENgIEDAYLIAIgAigChAI2AlhB7cTAAEErIAJB2ABqQZjFwABB9PfAABCXAgALIAIgAigChAI2AtgBQe3EwABBKyACQdgBakGYxcAAQdz2wAAQlwIACyACIAIoAoQCNgKwAUHtxMAAQSsgAkGwAWpBmMXAAEHM9sAAEJcCAAsgAkGoAWogAkHQAGopAwA3AwAgAkGgAWogAkHIAGopAwA3AwAgAkGYAWogAkFAaykDADcDACACQZABaiACQThqKQMANwMAIAIgAikDMDcDiAEgAkGAAmoiBEHYx8AAQQQQsAECQCACKAKAAkUEQCACQfgBaiACQagCaikDADcDACACQfABaiACQaACaikDADcDACACQegBaiACQZgCaikDADcDACACQeABaiACQZACaikDADcDACACIAIpA4gCNwPYASAEQdjHwABBBBCwASACKAKAAkUNASACIAIoAoQCNgKwAUHtxMAAQSsgAkGw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APACIAIgBCkDADcD0AIgAkGoAmogAkGIAWoiBCACQdACaiIcEMUBIA0gAkGwAmoiDSkDADcDACALIAJBuAJqIgspAwA3AwAgDCACQcACaiIMKQMANwMAIAggAkHIAmoiCCkDADcDACACIAIpA6gCNwNgIA8gAUEYaikDADcDACARIAFBEGopAwA3AwAgGCABQQhqKQMANwMAIAJBEjoAqAEgAiABKQMANwOIASACQfgBaiABQThqKQMANwMAIAJB8AFqIAFBMGopAwA3AwAgAkHoAWogAUEoaikDADcDACACIAEpAyA3A+ABIBwgBCACQeABahDKASACKALQAgRAIAIoAtQCIQQgBkEBNgIAIAYgBDYCBAwFCyABQSBqIQQgCCACQfgCaikDADcDACAMIAJB8AJqKQMANwMAIAsgGikDADcDACANIBspAwA3AwAgAiACKQPYAjcDqAICQAJAIAJB4ABqIAJBqAJqEJwCQf8BcSIIBEAgCEH/AUcNAQwCCyACLQCAASACLQDIAkkNAQsgAkGIA2ogAkHoAGopAwA3AwAgAkGQA2ogAkHwAGopAwA3AwAgAkGYA2ogAkH4AGopAwA3AwAgAiACKQNgNwOAAyACQaABaiABQRhqKQMANwMAIAJBmAFqIAFBEGopAwA3AwAgAkGQAWogAUEIaikDADcDACACQRI6AKgBIAIgASkDADcDiAEgAkHAAmogBEEYaikDADcDACACQbgCaiAEQRBqKQMANwMAIAJBsAJqIARBCGopAwA3AwAgAiAEKQMANwOoAiACQdACaiACQYgBaiACQagCahDKASACKALQAkUEQCACQbgDaiACQfACaikDADcDACACQbADaiACQegCaikDADcDACACQagDaiACQeACaikDADcDACACIAIpA9gCNwOgAyAGQQhqIAJBgANqIAJBoANqEOABIAZBADYCACAGQRI6ACgMBgsgAigC1AIhBCAGQQE2AgAgBiAENgIEDAULIAJBoAFqIAFBGGopAwA3AwAgAkGYAWogAUEQaikDADcDACACQZABaiABQQhqKQMANwMAIAJBEjoAqAEgAiABKQMANwOIASACQfgBaiAEQRhqKQMANwMAIAJB8AFqIARBEGopAwA3AwAgAkHoAWogBEEIaikDADcDACACIAQpAwA3A+ABIAJB0AJqIAJBiAFq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IAJBsAFqKQMANwMAIAJB+ABqIAJBqAFqKQMANwMAIAJB8ABqIAJBoAFqKQMANwMAIAJB6ABqIAJBmAFqKQMANwMAIAIgAikDkAE3A2AgAkHIAmogAUGABWoiBEEYaikDADcDACACQcACaiAEQRBqKQMANwMAIAJBuAJqIARBCGopAwA3AwAgAkESOgDQAiACIAQpAwA3A7ACIAJBOGogAkG4AWogAkHgAGogCBB0IAIpA0AhHiACKQNQIScgKCACKQNIIiJ9IR0CQAJ+IAIpAzgiKSAqWARAICMgHn0hICAeICNWrQwBCyAjIB5Cf4V8ISAgHiAjVq0gHiAjUa18CyIjUARAICIgKFatIR4MAQsgHSAjVK0gIiAoVq18IR4gHSAjfSEdCyAmICd9ISICQCAeUARAICYgJ1oNAQwNCyAmICdUIB4gIlZyDQwgIiAefSEiCyACQRI6ADAgAiAiNwMoIAIgHTcDICACICA3AxggAiAqICl9NwMQIAJBsAJqQdjHwABBBBCwAQJAAkACQCACKAKwAkUEQCACQagBaiACQdgCaikDADcDACACQaABaiACQdACaikDADcDACACQZgBaiACQcgCaikDADcDACACQZABaiACQcACaikDADcDACACIAIpA7gCNwOIASACQRBqIAJBiAFqEJwCQf8BcSIEDgMCAQsBCyACIAIoArQCNgKIAkHtxMAAQSsgAkGIAmpBmMXAAEGY+cAAEJcCAAsgBEECSQ0BDAkLIAItADAgAi0AqAFJDQgLIAJB2AFqIAJBMGopAwA3AwAgAkHQAWogAkEoaikDADcDACACQcgBaiACQSBqKQMANwMAIAJBwAFqIAJBGGopAwA3AwAgAiACKQMQNwO4ASACQbACaiIEQdjHwABBBBCwASACKAKwAg0EIAJBqAJqIAJB2AJqKQMANwMAIAJBoAJqIAJB0AJqKQMANwMAIAJBmAJqIAJByAJqKQMANwMAIAJBkAJqIAJBwAJqKQMANwMAIAIgAikDuAI3A4gCIARB2MfAAEEEELABIAIoArACDQUgAikDwAIhHSACKQPQAiEiIAIpA8gCIiMgJH0hHgJAAn4gJSACKQO4AiImWARAIB0gH30hICAdIB9UrQwBCyAdIB9Cf4V8ISAgHSAfVK0gHSAfUa18CyIdUARAICMgJFStIR8MAQsgHSAe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IAJBATYCtAIgAkHkxMAANgKwAiACQgQ3ArgCIAJBsAJqQbTEwAAQxQIACyADKAK4AUUNBCAHQgA3AwggB0EANgIAIAdBIGpCADcDACAHQRhqQgA3AwAgB0EQakIANwMAIAZBBHIQ7QIMCAsgAygClAIhAiAHQQE2AgAgByACNgIEDAcLIAMoApQCIQIgB0EBNgIAIAcgAjYCBAwGCyAHQgA3AwggB0EANgIAIAdBIGpCADcDACAHQRhqQgA3AwAgB0EQakIANwMAIANBuAFqQQRyEO0CDAULIAMoArwBIQIgB0EBNgIAIAcgAjYCBAwECyADQbABaiAMKQMANwMAIANBqAFqIAspAwA3AwAgA0GgAWogDykDADcDACADQZgBaiANKQMANwMAIAMgAykDwAE3A5ABAkACQAJAAkAgA0GQAWogA0HoAGoQnAJB/wFxIgIOAwEAAwALIAJBAkkNAQwCCyADLQCwASADLQCIAUkNAQsgA0HYA2ogA0GIAWopAwA3AwAgA0HQA2oiAiADQYABaikDADcDACADQcgDaiIGIANB+ABqKQMANwMAIANBwANqIgQgA0HwAGopAwA3AwAgAyADKQNoNwO4AyADQbgBaiABIANBuANqIggQZwJAAkACQAJAIAMoArgBRQRAIAggA0HAAWoQ1wEgAygCuANFDQEgAygCvAMhAiAHQQE2AgAgByACNgIEDAkLIAMgAygCvAEiCDYCkAIgAiABQdgFaikDADcDACAGIAFB0AVqKQMANwMAIAQgAUHIBWopAwA3AwAgA0ESOgDYAyADIAEpA8AFNwO4AyADQegAaiADQbgDahCcAkH/AXEiAkUNASACQf8BRw0CDAMLIANBIGogA0HYA2opAwA3AwAgA0EYaiADQdADaikDADcDACADQRBqIANByANqKQMANwMAIAMgAykDwAM3AwggAykDCCEdIAcCfiADQQhqQajDwABBIBCuAwRAIAMpAxAiHkJ/hUIAIB59Ih9CACAdfSIdQgBSIgIbIR4gAykDGEJ/hSIgIB9QIAJBf3NxIgKtfCIhICAgAhshHyACICAgIVZxrSADKQMgQn+FfAwBCyADKQMYIR8gAykDECEeIAMpAyALNwMgIAcgHzcDGCAHIB43AxAgByAdNwMIIAdBADYCAAwHCyADLQCIAUESSQ0BCyAHQQE2AgAgByAINgIEDAULIAdCADcDCCAHQQA2AgAgB0EgakIANwMAIAdBGGpCADcDACAHQRBqQgA3AwAgA0GQAmoQ7QIMBAsgAUGgBWohBgJAIAEpAzgiHUIAUw0AIAEpAyAhHiABKQMoIR8gASkDMCEgIAMgHTcD0AMgAyAgNwPIAyADIB83A8ADIAMgHjcDuAMgA0HQAWoiBEIANwMAIANByAFqIghCADcDACADQcABakIANwMAIANCADcDuAEgA0G4A2oiCSADQbgBaiIKEJwCQf8BcUECTw0AIANB0ANqIAFBGGopAwA3AwAgA0HIA2ogAUEQaikDADcDACADQcADaiABQQhqKQMANwMAIANBEjoA2AMgAyABKQMANwO4AyADQfgDaiABQSBqIgJBGGopAwA3AwAgA0HwA2ogAkEQaikDADcDACADQegDaiACQQhqKQMANwMAIAMgAikDADcD4AMgCiAJIANB4ANqEMoBAkAgAygCuAFFBEAgA0GQA2ogA0HYAWopAwA3AwAgA0GIA2ogBCkDADcDACADQYADaiAIKQMANwMAIAMgAykDwAE3A/gCIANBkAJqIgIgA0H4AmogBhDgASADQRI6ALACIANB6AFqIAIQ1wEgAygC6AFFDQEgAygC7AEhAiAHQQE2AgAgByACNgIEDAYLIAMoArwBIQIgB0EBNgIAIAcgAjYCBAwFCyADQUBrIANBiAJqKQMANwMAIANBOGogA0GAAmopAwA3AwAgA0EwaiADQfgBaikDADcDACADIAMpA/ABNwMoIAMpAyghHSAHAn4gA0EoakGow8AAQSAQrgMEQCADKQMwIh5Cf4VCACAefSIfQgAgHX0iHUIAUiICGyEeIAMpAzhCf4UiICAfUCACQX9zcSICrXwiISAgIAIbIR8gAiAgICFWca0gAykDQEJ/hXwMAQsgAykDOCEfIAMpAzAhHiADKQNACzcDICAHIB83AxggByAeNwMQIAcgHTcDCCAHQQA2AgAMBAsgA0G4AWoiAiABIAYQ4AEgA0ESOgDYASADQbgDaiACENcBIAMoArgDBEAgAygCvAMhAiAHQQE2AgAgByACNgIEDAQLIANB4ABqIANB2ANqKQMANwMAIANB2ABqIANB0ANqKQMANwMAIANB0ABqIANByANqKQMANwMAIAMgAykDwAM3A0ggAykDSCEdIAcCfiADQcgAakGow8AAQSAQrgMEQCADKQNQIh5Cf4VCACAefSIfQgAgHX0iHUIAUiICGyEeIAMpA1hCf4UiICAfUCACQX9zcSICrXwiISAgIAIbIR8gAiAgICFWca0gAykDYEJ/hXwMAQsgAykDWCEfIAMpA1AhHiADKQNgCzcDICAHIB83AxggByAeNwMQIAcgHTcDCCAHQQA2AgAMAwsgByADKQPAATcDCCAHQSBqIANB2AFqKQMANwMAIAdBGGogA0HQAWopAwA3AwAgB0EQaiADQcgBaikDADcDACAHQQA2AgAMAgsgB0IANwMIIAdBADYCACAHQSBqQgA3AwAgB0EYakIANwMAIAdBEGpCADcDACADQZACahDtAgwBCyADQbgBaiEGIwBB0AJrIgIkACACQaACaiIEIAEQgQECQAJAAkACQAJAAkACQAJAAkAgAigCoAJFBEAgAkEoaiACQcgCaikDADcDACACQSBqIAJBwAJqKQMANwMAIAJBGGogAkG4AmoiCCkDADcDACACQRBqIAJBsAJqIgkpAwA3AwAgAiACKQOoAjcDCCACQfAAaiABQdgBaikDADcDACACQegAaiABQdABaikDADcDACACQeAAaiABQcgBaikDADcDACACQRI6AHggAiABKQPAATcDWCAIIAFBmAVqKQMANwMAIAkgAUGQBWopAwA3AwAgAkGoAmogAUGIBWopAwA3AwAgAkESOgDAAiACIAEpA4AFNwOgAiACQfgBaiACQdgAaiAEEMUBIARB2MfAAEEEELABIAIoAqACDQEgAikDgAIiHSACKQOwAnwiHiAdVCEEIAIpA4gCIh8gAikDuAJ8Ih0gH1QhCCACKQOQAiIgIAIpA8ACfCIfICBUIQkCQCACKQP4ASIhIAIpA6gCfCIgICFaBH4gBK0FIB5CAXwiHlCtIAStfAsiIVAEfiAIrQUgHSAdICF8Ih1WrSAIrXwLIiFQBEAgAiAfNwO4AiACIB03A7ACIAIgHjcDqAIgAiAgNwOgAiAJRQ0BDA8LIAIgHTcDsAIgAiAeNwOoAiACICA3A6ACIAIgHyAhfCIdNwO4AiAJIB0gH1RyDQ4LIAJBEjoAwAIgAkEwaiIEIAJBCGogAkGgAmoiCBDEASAIQdjHwABBBBCwAQJAAkACQCACKAKgAkUEQCACQfgAaiACQcgCaikDADcDACACQfAAaiACQcACaikDADcDACACQegAaiACQbgCaikDADcDACACQeAAaiACQbACaikDADcDACACIAIpA6gCNwNYIAQgAkHYAGoQnAJB/wFxIgQOAwIBCQELIAIgAigCpAI2AvgBQe3EwABBKyACQfgBakGYxcAAQaz2wAAQlwIACyAEQQJJDQEMBwsgAi0AUCACLQB4SQ0GCyACQagBaiACQdAAaikDADcDACACQaABaiACQcgAaikDADcDACACQZgBaiACQUBrKQMANwMAIAJBkAFqIAJBOGopAwA3AwAgAiACKQMwNwOIASACQaACaiIEQdjHwABBBBCwASACKAKgAg0CIAJBmAJqIAJByAJqKQMANwMAIAJBkAJqIAJBwAJqKQMANwMAIAJBiAJqIAJBuAJqKQMANwMAIAJBgAJqIAJBsAJqKQMANwMAIAIgAikDqAI3A/gBIARB2MfAAEEEELABIAIoAqACDQMgAikDsAIhHiABKQPIBiEfIAIpA8ACISEgASkD2AYhIiACKQO4AiIkIAEpA9AGIiN9IR0CQAJ+IAIpA6gCIiUgASkDwAYiJloEQCAeIB99ISAgHiAfVK0MAQsgHiAfQn+FfCEgIB4gH1StIB4gH1GtfAsiHlAEQCAjICRWrSEfDAELIB0gHlStICMgJFatfCEfIB0gHn0hHQsgISAifSEeAkAgH1AEQCAhICJaDQEMCgsgISAiVCAeIB9Ucg0JIB4gH30hHgsgAkESOgDAAiACIB43A7gCIAIgHTcDsAIgAiAgNwOoAiACICUgJn03A6ACIAJBsAFqIgQgAkH4AWogAkGgAmoQxAEgAkHYAGogAkGIAWogBBBuIAIoAlgNBAwGCyACKAKkAiEEIAZBATYCACAGIAQ2AgQMBgsgAiACKAKkAjYCWEHtxMAAQSsgAkHYAGpBmMXAAEG89sAAEJcCAAsgAiACKAKkAjYC+AFB7cTAAEErIAJB+AFqQZjFwABBqPXAABCXAgALIAIgAigCpAI2ArABQe3EwABBKyACQbABakGYxcAAQZj1wAAQlwIACyACKAJcIQQgBkEBNgIAIAYgBDYCBAwCCyACQagBaiACQdAAaikDADcDACACQaABaiACQcgAaikDADcDACACQZgBaiACQUBrKQMANwMAIAJBkAFqIAJBOGopAwA3AwAgAiACKQMwNwOIASACQaACaiIEQdjHwABBBBCwAQJAIAIoAqACRQRAIAJBmAJqIAJByAJqKQMANwMAIAJBkAJqIAJBwAJqKQMANwMAIAJBiAJqIAJBuAJqKQMANwMAIAJBgAJqIAJBsAJqKQMANwMAIAIgAikDqAI3A/gBIARB2MfAAEEEELABIAIoAqACRQ0BIAIgAigCpAI2ArABQe3EwABBKyACQbABakGYxcAAQYz2wAAQlwIACyACIAIoAqQCNgL4AUHtxMAAQSsgAkH4AWpBmMXAAEGc9sAAEJcCAAsgAikDsAIhHiABKQPIBiEfIAIpA8ACISEgASkD2AYhIiACKQO4AiIkIAEpA9AGIiN9IR0CQAJ+IAIpA6gCIiUgASkDwAYiJloEQCAeIB99ISAgHiAfVK0MAQsgHiAfQn+FfCEgIB4gH1StIB4gH1GtfAsiHlAEQCAjICRWrSEfDAELIB0gHlStICMgJFatfCEfIB0gHn0hHQsgISAifSEeAkACQCAfUARAICEgIloNAQwCCyAhICJUIB4gH1RyDQEgHiAffSEeCyACQRI6AMACIAIgHjcDuAIgAiAdNwOwAiACICA3A6gCIAIgJSAmfTcDoAIgAkGwAWoiBCACQfgBaiACQaACahDEASACQdgAaiACQYgBaiAEEG4gAigCWEUNASACKAJcIQQgBkEBNgIAIAYgBDYCBAwCCwwCCyACQdAAaiIIIAJBgAFqKQMANwMAIAJByABqIgkgAkH4AGoiBCkDADcDACACQUBrIgogAkHwAGoiDCkDADcDACACQThqIgsgAkHoAGoiDykDADcDACACIAIpA2A3AzAgBCAIKQMANwMAIAwgCSkDADcDACAPIAopAwA3AwAgAkHgAGoiDSALKQMANwMAIAIgAikDMDcDWCACQbgCaiIRIAFBgAVqIgRBGGopAwA3AwAgAkGwAmoiFSAEQRBqKQMANwMAIAJBqAJqIARBCGopAwA3AwAgAkESOgDAAiACIAQpAwA3A6ACIAJB+AFqIhYgAkHYAGoiBCACQaACaiIXEMQBIAsgAkGAAmoiCykDADcDACAKIAJBiAJqIgopAwA3AwAgCSACQZACaiIJKQMANwMAIAggAkGYAmoiCCkDADcDACACIAIpA/gBNwMwIAwgAUEYaikDADcDACAPIAFBEGopAwA3AwAgDSABQQhqKQMANwMAIAJBEjoAeCACIAEpAwA3A1ggAkHIAWogAUE4aikDADcDACACQcABaiABQTBqKQMANwMAIAJBuAFqIAFBKGopAwA3AwAgAiABKQMgNwOwASAXIAQgAkGwAWoQygECQAJAAkACQCACKAKgAkUEQCABQSBqIQQgCCACQcgCaikDADcDACAJIAJBwAJqKQMANwMAIAogESkDADcDACALIBUpAwA3AwAgAiACKQOoAjcD+AEgAkEwaiAWEJwCQf8BcSIIDgMCAQQBCyACKAKkAiEEIAZBATYCACAGIAQ2AgQMBAsgCEECSQ0BDAILIAItAFAgAi0AmAJJDQELIAIpAzAhIyACKQM4IR4gAikDQCEhIAIpA0ghIiACQfAAaiABQRhqKQMANwMAIAJB6ABqIAFBEGopAwA3AwAgAkHgAGogAUEIaikDADcDACACQRI6AHggAiABKQMANwNYIAJBkAJqIARBGGopAwA3AwAgAkGIAmogBEEQaikDADcDACACQYACaiAEQQhqKQMANwMAIAIgBCkDADcD+AEgAkGgAmogAkHYAGogAkH4AWoQygECQCACKAKgAkUEQCACKQOwAiEfIAIpA8ACISQgISACKQO4AiIlfSEdAkACfiACKQOoAiImICNYBEAgHiAffSEgIB4gH1StDAELIB4gH0J/hXwhICAeIB9UrSAeIB9RrXwLIh5QBEAgISAlVK0hHwwBCyAdIB5UrSAhICVUrXwhHyAdIB59IR0LICIgJH0hHgJAIB9QBEAgIiAkWg0BDAMLICIgJFQgHiAfVHINAiAeIB99IR4LIAZBEjoAKCAGIB43AyAgBiAdNwMYIAYgIDcDECAGICMgJn03AwggBkEANgIADAMLIAIoAqQCIQQgBkEBNgIAIAYgBDYCBAwCCwwCCyACQfAAaiABQRhqKQMANwMAIAJB6ABqIAFBEGopAwA3AwAgAkHgAGogAUEIaikDADcDACACQRI6AHggAiABKQMANwNYIAJByAFqIARBGGopAwA3AwAgAkHAAWogBEEQaikDADcDACACQbgBaiAEQQhqKQMANwMAIAIgBCkDADcDsAEgAkGgAmogAkHYAGogAkGwAWoQygEgAigCoAJFBEAgAkGYAmogAkHIAmopAwA3AwAgAkGQAmogAkHAAmopAwA3AwAgAkGIAmogAkG4AmopAwA3AwAgAkGAAmogAkGwAmopAwA3AwAgAiACKQOoAjcD+AEgAkEDNgKMASACQeT1wAA2AogBIAJCAjcClAEgAiACQfgBaq1CgICAgIAIhDcD8AEgAiACQTBqrUKAgICAgAiENwPoASACIAJB6AFqNgKQASACQdwBaiIEIAJBiAFqENMBIAYgBEH89cAAEIcCNgIEIAZBATYCAAwBCyACKAKkAiEEIAZBATYCACAGIAQ2AgQLIAJB0AJqJAAMAQsgAkEANgKwAiACQQE2AqQCIAJB5MTAADYCoAIgAkIENwKoAiACQaACakG0xMAAEMUCAAsCQCADKAK4AUUEQCADQbADaiADQdgBaikDADcDACADQagDaiADQdABaiICKQMANwMAIANBoANqIANByAFqIgQpAwA3AwAgA0HAAmogA0HwAGopAwA3AwAgA0HIAmogA0H4AGopAwA3AwAgA0HQAmogA0GAAWopAwA3AwAgAyADKQPAATcDmAMgAyADKQNoNwO4AiADQfACaiADQagBaikDADcDACADQegCaiADQaABaikDADcDACADQeACaiADQZgBaikDADcDACADIAMpA5ABNwPYAiADQbgDaiIIIANBuAJqIANB2AJqEOABIANBEjoA2AMgAiABQdgBaikDADcDACAEIAFB0AFqKQMANwMAIANBwAFqIAFByAFqKQMANwMAIANBEjoA2AEgAyABKQPAATcDuAEgA0GQAmoiAiAIIAYQxAEgBiADQZgDaiACEOwBIANBEjoA2AEgA0HoAWogBhDXASADKALoAQ0BIAcgAykD8AE3AwggB0EgaiADQYgCaikDADcDACAHQRhqIANBgAJqKQMANwMAIAdBEGogA0H4AWopAwA3AwAgB0EANgIADAILIAdCADcDCCAHQQA2AgAgB0EgakIANwMAIAdBGGpCADcDACAHQRBqQgA3AwAgA0G4AWpBBHIQ7QIMAQsgAygC7AEhAiAHQQE2AgAgByACNgIECyADQYAEaiQADAELQQRBGBCoAwALIAACfwJAAkACQAJAAkACQCAFKAJQRQRAIAUpA3AhJiAFKQNoIScgBSkDYCAFKQNYISkjAEGAAmsiAyQAIANBmAFqIAFB2AFqKQMANwMAIANBkAFqIAFB0AFqKQMANwMAIANBiAFqIAFByAFqKQMANwMAIAMgASkDwAE3A4ABIANB0AFqQezEwABBARCwAQJAAkACQAJAAkAgAygC0AFFBEAgA0HIAWoiAiADQfgBaikDADcDACADQcABaiADQfABaikDADcDACADQbgBaiADQegBaikDADcDACADQbABaiADQeABaikDADcDACADIAMpA9gBNwOoAQJAAkAgA0GAAWogA0GoAWpBIBCuA0UEQCACLQAAQRJGDQELIANB0AFqQdjHwABBBBCwAQJAAkACQAJAIAMoAtABRQRAIANByAFqIANB+AFqKQMANwMAIANBwAFqIANB8AFqKQMANwMAIANBuAFqIANB6AFqKQMANwMAIANBsAFqIANB4AFqKQMANwMAIAMgAykD2AE3A6gBIBAgA0GoAWoQnAIiAkH/AXEOAwECAwILIAMgAygC1AE2AoABQe3EwABBKyADQYABakGYxcAAQcTawAAQlwIACyAQLQAgIgIgAy0AyAEiB0kNASACIAdHIQILIAJB/wFxQQFGDQELIANB0AFqQdjHwABBBBCwAQJAAkACQCADKALQAUUEQCADQcgBaiADQfgBaikDADcDACADQcABaiADQfABaikDADcDACADQbgBaiADQegBaikDADcDACADQbABaiADQeABaikDADcDACADIAMpA9gBNwOoASAFIANBqAFqEJwCIgJB/wFxDgMBAgMCCyADIAMoAtQBNgKAAUHtxMAAQSsgA0GAAWpBmMXAAEG02sAAEJcCAAsgBS0AICICIAMtAMgBIgdJDQEgAiAHRyECCyACQf8BcUEBRg0BCyADQZgBaiABQbgCaikDADcDACADQZABaiABQbACaikDADcDACADQYgBaiABQagCaikDADcDACADQRI6AKABIAMgASkDoAI3A4ABIANB0AFqQdjHwABBBBCwASADKALQAUUNAiADIAMoAtQBNgKoAUHtxMAAQSsgA0GoAWpBmMXAAEGk2sAAEJcCAAsgA0EANgLgAUEBIQIgA0EBNgLUASADQfzZwAA2AtABIANCBDcC2AEgDiADQdABakGE2sAAENIBNgIEDAULIANBADYC4AFBASECIANBATYC1AEgA0Hw2sAANgLQASADQgQ3AtgBIA4gA0HQAWpB+NrAABDSATYCBAwECyADKQPoASEfIAMpA+ABIR0gECkDECEhIBApAwghHgJ+IAMpA9gBIiMgECkDACIlWgRAIB0gHlStISAgHSAefQwBCyAdIB5UrSAdIB5RrXwhICAdIB5Cf4V8CyEoIAMpA/ABISIgECkDGCEkIB8gIX0hHgJAICBQBEAgHyAhVK0hHQwBCyAeICBUrSAfICFUrXwhHSAeICB9IR4LICIgJH0hHwJAIB1QBEAgIiAkWg0BDAYLICIgJFQgHSAfVnINBSAfIB19IR8LIANB0ABqIgdBEjoAACADQThqIAFBwAFqIgJBCGopAwAiHTcDACADQUBrIAJBEGopAwAiIDcDACADQcgAaiACQRhqKQMAIiE3AwAgA0ESOgDIASADIB83A8ABIAMgHjcDuAEgAyAoNwOwASADICMgJX03A6gBIAMgAikDACIeNwMwIANB8AFqIAcpAwA3AwAgA0HoAWogITcDACADQeABaiAgNwMAIANB2AFqIB03AwAgAyAeNwPQASADQdgAaiICIANBgAFqIANBqAFqIANB0AFqIgcQeyADQQhqIAIQ1wEgAygCCA0BIAMpAyghKyADKQMgISIgAykDGCEhIAMpAxAhKCADQcABaiABQfgBaikDADcDACADQbgBaiABQfABaikDADcDACADQbABaiABQegBaikDADcDACADQRI6AMgBIAMgASkD4AE3A6gBIAdB2MfAAEEEELABIAMoAtABDQIgAykD6AEhHyADKQPgASEdIAUpAxAhJCAFKQMIIR4CfiADKQPYASIsIAUpAwAiLVoEQCAdIB5UrSEgIB0gHn0MAQsgHSAeVK0gHSAeUa18ISAgHSAeQn+FfAshLiADKQPwASEjIAUpAxghJSAfICR9IR4CQCAgUARAIB8gJFStIR0MAQsgHiAgVK0gHyAkVK18IR0gHiAgfSEeCyAjICV9IR8CQCAdUARAICMgJVoNAQwGCyAjICVUIB0gH1ZyDQUgHyAdfSEfCyADQRI6APABIAMgHzcD6AEgAyAeNwPgASADIC43A9gBIAMgLCAtfTcD0AEgA0GAAWoiAiADQagBaiADQdABaiADQTBqEHQgA0HYAGogAhDXASADKAJYRQRAIAMpA3AhICADKQNoIR0CfiADKQNgIiQgKFgEQCAdICFWrSEfICEgHX0MAQsgHSAhVq0gHSAhUa18IR8gISAdQn+FfAshHSADKQN4ISEgIiAgfSEeAkAgH1AEQEJ/QgAg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AkEANgKQECACIAM2AqQQQcy7wAAgBBCVAkUNAQwECyACQfgYaiACQcAIaikDACIHNwMAIAJBuBhqIAJBqAhqKQMAIgg3AwAgAkHAGGogAkGwCGopAwAiCTcDACACQcgYaiACQbgIaikDACIKNwMAIAJB0BhqIAc3AwAgAkGQGGogCDcDACACQZgYaiAJNwMAIAJBoBhqIAo3AwAgAkGoGGogBzcDACACIAIpA6AIIgc3A7AYIAIgBzcDiBggAigC0BkiA0GEAU8EQCADEAALIAJBCGogAkGIGGpB3LvAABC4AQwCCyACQewYaiACQZgaaigCADYCACACQeAYaiIDIAJBjBpqKAIANgIAIAIgAikCkBo3AuQYIAIgAikChBo3A9gYIAJB1BlqEO0CIAJBwBhqIAJB6BhqKQMAIgc3AwAgAkG4GGogAykDACIINwMAIAJBFGogCDcCACACQRxqIAc3AgAgAiACKQPYGCIHNwOwGCACQQE2AgggAiAHNwIMIAIoAtAZIQMLIANBhAFJDQAgAxAACyABQYMBSwRAIAEQAAsCfyACKAIIIgRBAkYEQEEAIQMgAigCDAwBCyACQagQaiACQSBqKAIANgIAIAJBoBBqIAJBGGopAwA3AwAgAkGYEGogAkEQaikDADcDACACIAIpAwg3A5AQIAJBkBBqEOUBIQNBAAshASAAIARBAkc2AgggACADNgIEIAAgATYCACACQaAaaiQADwtB0LbAAEE3IAJBnxpqQYi3wABB5LfAABCXAgAL4A8CEX8JfiMAQZACayICJAAgAC0AICEIIAJBCGoiA0EAEJ8CIAJBKGpBChCfAiACQcgAakEwEJ8CIAJB6AFqIgogAEEYaikDADcDACACQeABaiILIABBEGopAwA3AwAgAkHYAWoiDCAAQQhqKQMANwMAIAIgACkDADcD0AEgAkHoAGoiBCACQdABahCeASACQQA2ApABIAJCgICAgMAANwKIAQJAAkACQAJAAkAgBCADEJwCQf8BcUEBRgRAIAJB8AFqIQUgAikDYCEYIAIpA1ghGSACKQNQIRogAikDSCEbA0AgCEUgBiAIR3JFBEAgAigCkAEiAyACKAKIAUYEQCACQYgBahD5AQsgAigCjAEgA0ECdGpBLjYCACACIANBAWo2ApABCyACQcgBaiACQYABaiINKQMANwMAIAJBwAFqIAJB+ABqIg4pAwA3AwAgAkG4AWogAkHwAGoiDykDADcDACACIAIpA2g3A7ABIAJB0AFqIAJBsAFqIAJBKGoQcSAFQQhqKQMAIhMgGnwiFiATVCEDIAVBEGopAwAiFCAZfCITIBRUIQQgBUEYaikDACIXIBh8IhQgF1QhBwJAIAUpAwAiFSAbfCIXIBVaBH4gA60FIBZCAXwiFlCtIAOtfAsiFVAEfiAErQUgEyATIBV8IhNWrSAErXwLIhVQBEAgAiAUNwPoASACIBM3A+ABIAIgFjcD2AEgAiAXNwPQASAHRQ0BDAgLIAIgEzcD4AEgAiAWNwPYASACIBc3A9ABIAIgFCAVfCITNwPoASAHIBMgFFRyDQcLIAJBsAFqIQdBACEJIwBBQGoiAyQAAkACQAJAIAJB0AFqIgQpAxAgBCkDGIRQBEAgB0EQaiAEKQMINwMAIAcgBCkDADcDCAwBC0EBIQkgA0EBNgIUIANBsL3AADYCECADQgE3AhwgAyAErUKAgICAwACENwMoIAMgA0EoajYCGCADQTRqIgQgA0EQahDTASADQQhqIARBtLjAAEG4vcAAEKYCIAMoAgwhECADKAIIIREgA0EYaiISIANBPGooAgA2AgBBmeDBAC0AABogAyADKQI0NwMQQRhBBBD3AiIERQ0BIAQgETYCBCAEQZy5wAA2AgAgBCADKQMQNwIMIAQgEDYCCCAEQRRqIBIoAgA2AgAgByAENgIECyAHIAk2AgAgA0FAayQADAELQQRBGBCoAwALIAIoArABDQIgAi0AuAEhBCACKAKQASIDIAIoAogBRgRAIAJBiAFqEPkBCyACKAKMASADQQJ0aiAENgIAIAIgA0EBajYCkAEgAkHQAWogAkHoAGoiAyACQShqEHEgDSAKKQMANwMAIA4gCykDADcDACAPIAwpAwA3AwAgAiACKQPQATcDaCAGQQFqIQYgAyACQQhqEJwCQf8BcUEBRg0ACwsgBiAITw0BIAIoApABIgQgBCAIIAZrIgdqIgNJBEAgByACKAKIASAEa0sEQCACQYgBaiAEIAcQ+AEgAigCkAEhBAsgAigCjAEgBEECdGohAyAHQQJPBEAgBkF/cyAIaiIGQQdxIQUgB0ECa0EHTwRAIAZBeHEhBgNAIANCsICAgIAGNwIAIANBGGpCsICAgIAGNwIAIANBEGpCsICAgIAGNwIAIANBCGpCsICAgIAGNwIAIANBIGohAyAGQQhrIgYNAAsLIAUEQANAIANBMDYCACADQQRqIQMgBUEBayIFDQALCyAEIAdqQQFrIQQLIANBMDYCACAEQQFqIQMLIAIgAzYCkAEMAgsgAiACKAK0ATYC0AFB6JXAAEErIAJB0AFqQZSWwABBpJbAABCXAgALIAYgCEcNASACKAKQASEDCyACKAKIASEFIAgEQCADIAVGBEAgAkGIAWoQ+QELIAIoAowBIANBAnRqQS42AgAgAiADQQFqIgM2ApABIAIoAogBIQULIAMgBUYEQCACQYgBahD5AQsgAigCjAEgA0ECdGpBMDYCACACIANBAWo2ApABCyACQcgBaiAAQRhqKQMANwMAIAJBwAFqIABBEGopAwA3AwAgAkG4AWogAEEIaikDADcDACACIAApAwA3A7ABIAJB6AFqQgA3AwAgAkHgAWpCADcDACACQdgBakIANwMAIAJCADcD0AEgAiACQbABaiIDIAJB0AFqIgYQnAJB/wFxQf8BRzoAlwEgAigCjAEhACACKAKQASEEIAJBrAFqIghBADYCACACQoCAgIAQNwKkASACQaQBaiIFIAAgACAEQQJ0ahDUASACQaABaiAIKAIANgIAIAIgAikCpAE3A5gBIAIgAkGYAWqtQoCAgIDQAIQ3A7gBIAIgAkGXAWqtQoCAgIDgAIQ3A7ABIAJBAjYC1AEgAkG0lsAANgLQASACQgI3AtwBIAIgAzYC2AEgBSAGENMBIAIoApgBIgAEQCACKAKcASAAEIsDCyACKAKIASIABEAgAigCjAEgAEECdBCLAwsgAkEBNgLUASACQciUwAA2AtABIAJCATcC3AEgAiACQaQBaq1CgICAgNAAhDcDsAEgAiACQbABajYC2AEgASgCFCABKAIYIAJB0AFqELMBIAIoAqQBIgEEQCACKAKoASABEIsDCyACQZACaiQADwsgAkEANgLAASACQQE2ArQBIAJB1MHAADYCsAEgAkIENwK4ASACQbABakHwvsAAEMUCAAuZDAIJfwR+IwBB8BprIgIkACACQZAQaiIFIAEQAiABEAMQvAECQAJAAkACQAJAAkACQCACKAKQEEUEQCACQShqIgkgAkGYCGoiCkEEciACQZgQakHwBxCsA0HwBxCsAxogAiABEA0iAzYCrBkgAkGgGmoiBiACQawZakHcosAAEKwBIAIoAqAaDQEgAkGkGWogAkHAGmoiBCkDACILNwIAIAJBnBlqIAJBuBpqIgcpAwAiDDcCACACQZQZaiACQbAaaiIIKQMAIg03AgAgAkHoGGogDTcDACACQfAYaiAMNwMAIAJB+BhqIAs3AwAgAiACKQOoGiILNwKMGSACIAs3A+AYIAJBEjoAgBkgAiABEA4iAzYC1BkgBiACQdQZakHsosAAEKwBIAIoAqAaDQIgAkHMGWogBCkDACILNwIAIAJBxBlqIAcpAwAiDDcCACACQbwZaiAIKQMAIg03AgAgAkHgGWogDTcDACACQegZaiAMNwMAIAJB8BlqIAs3AwAgAiACKQOoGiILNwK0GSACIAs3A9gZIAIgARAPIgM2AswaIAYgAkHMGmpB/KLAABCsASACKAKgGkUEQCACQZQaaiAEKQMAIgs3AgAgAkGMGmogBykDACIMNwIAIAJBhBpqIAgpAwAiDTcCACACQdgaaiANNwMAIAJB4BpqIAw3AwAgAkHoGmogCzcDACACIAIpA6gaIgs3AvwZIAIgCzcD0BogBSAJIAJB4BhqIAJB2BlqIAJB0BpqELEBIAogBUGMo8AAEJACIAIoApgIDQQgAkHUGGogAkHACGopAwAiCzcCACACQcwYaiACQbgIaikDACIMNwIAIAJBxBhqIAJBsAhqKQMAIg03AgAgAkG8GGogAkGoCGopAwAiDjcCACACQZAYaiAONwMAIAJBmBhqIA03AwAgAkGgGGogDDcDACACQagYaiALNwMAIAIgAikDoAgiCzcCtBggAiALNwOIGCACKALMGiIDQYQBTwRAIAMQAAsgAigC1BkiA0GEAU8EQCADEAALIAIoAqwZIgNBhAFPBEAgAxAACyACQQhqIAJBiBhqQZyjwAAQuAEMCAsgAkGQGmogAkG8GmooAgAiBDYCACACQYgaaiACQbQaaikCACILNwMAIAJBgBpqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwP4GSACIAs3AwgMBAsgAkGwCGogAkGsEGooAgAiAzYCACACQRBqIAJBnBBqKQIANwMAIAJBGGogAkGkEGopAgA3AwAgAkEgaiADNgIAIAIgAikClBA3AwgMBgsgAkGgGWogAkG8GmooAgAiBDYCACACQZgZaiACQbQaaikCACILNwMAIAJBkBlqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwOIGSACIAs3AwgMBAsgAkHIGWogAkG8GmooAgAiBDYCACACQcAZaiACQbQaaikCACILNwMAIAJBuBlqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwOwGSACIAs3AwgMAgsgAkHIGGogAkG0CGooAgAiAzYCACACQcAYaiACQawIaikCACILNwMAIAJBuBhqIAJBpAhqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAM2AgAgAiACKQKcCCILNwOwGCACIAs3AwggAigCzBohAwsgA0GEAU8EQCADEAALIAIoAtQZIQMLIANBhAFPBEAgAxAACyACKAKsGSEDCyADQYQBSQ0AIAMQAAsgAUGDAUsEQCABEAALAn8gAigCCCIEQQJGBEBBACEDIAIoAgwMAQsgAkGoEGogAkEgaigCADYCACACQaAQaiACQRhqKQMANwMAIAJBmBBqIAJBEGopAwA3AwAgAiACKQMINwOQECACQZAQahDlASEDQQALIQEgACAEQQJHNgIIIAAgAzYCBCAAIAE2AgAgAkHwGmokAAuZDAIJfwR+IwBB8BprIgIkACACQZAQaiIFIAEQAiABEAMQvAECQAJAAkACQAJAAkACQCACKAKQEEUEQCACQShqIgkgAkGYCGoiCkEEciACQZgQakHwBxCsA0HwBxCsAxogAiABEA0iAzYCrBkgAkGgGmoiBiACQawZakGotcAAEKwBIAIoAqAaDQEgAkGkGWogAkHAGmoiBCkDACILNwIAIAJBnBlqIAJBuBpqIgcpAwAiDDcCACACQZQZaiACQbAaaiIIKQMAIg03AgAgAkHoGGogDTcDACACQfAYaiAMNwMAIAJB+BhqIAs3AwAgAiACKQOoGiILNwKMGSACIAs3A+AYIAJBEjoAgBkgAiABEA4iAzYC1BkgBiACQdQZakG4tcAAEKwBIAIoAqAaDQIgAkHMGWogBCkDACILNwIAIAJBxBlqIAcpAwAiDDcCACACQbwZaiAIKQMAIg03AgAgAkHgGWogDTcDACACQegZaiAMNwMAIAJB8BlqIAs3AwAgAiACKQOoGiILNwK0GSACIAs3A9gZIAIgARAPIgM2AswaIAYgAkHMGmpByLXAABCsASACKAKgGkUEQCACQZQaaiAEKQMAIgs3AgAgAkGMGmogBykDACIMNwIAIAJBhBpqIAgpAwAiDTcCACACQdgaaiANNwMAIAJB4BpqIAw3AwAgAkHoGmogCzcDACACIAIpA6gaIgs3AvwZIAIgCzcD0BogBSAJIAJB4BhqIAJB2BlqIAJB0BpqELIBIAogBUHYtcAAEJACIAIoApgIDQQgAkHUGGogAkHACGopAwAiCzcCACACQcwYaiACQbgIaikDACIMNwIAIAJBxBhqIAJBsAhqKQMAIg03AgAgAkG8GGogAkGoCGopAwAiDjcCACACQZAYaiAONwMAIAJBmBhqIA03AwAgAkGgGGogDDcDACACQagYaiALNwMAIAIgAikDoAgiCzcCtBggAiALNwOIGCACKALMGiIDQYQBTwRAIAMQAAsgAigC1BkiA0GEAU8EQCADEAALIAIoAqwZIgNBhAFPBEAgAxAACyACQQhqIAJBiBhqQei1wAAQuAEMCAsgAkGQGmogAkG8GmooAgAiBDYCACACQYgaaiACQbQaaikCACILNwMAIAJBgBpqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwP4GSACIAs3AwgMBAsgAkGwCGogAkGsEGooAgAiAzYCACACQRBqIAJBnBBqKQIANwMAIAJBGGogAkGkEGopAgA3AwAgAkEgaiADNgIAIAIgAikClBA3AwgMBgsgAkGgGWogAkG8GmooAgAiBDYCACACQZgZaiACQbQaaikCACILNwMAIAJBkBlqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwOIGSACIAs3AwgMBAsgAkHIGWogAkG8GmooAgAiBDYCACACQcAZaiACQbQaaikCACILNwMAIAJBuBlqIAJBrBpqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAQ2AgAgAiACKQKkGiILNwOwGSACIAs3AwgMAgsgAkHIGGogAkG0CGooAgAiAzYCACACQcAYaiACQawIaikCACILNwMAIAJBuBhqIAJBpAhqKQIAIgw3AwAgAkEQaiAMNwMAIAJBGGogCzcDACACQSBqIAM2AgAgAiACKQKcCCILNwOwGCACIAs3AwggAigCzBohAwsgA0GEAU8EQCADEAALIAIoAtQZIQMLIANBhAFPBEAgAxAACyACKAKsGSEDCyADQYQBSQ0AIAMQAAsgAUGDAUsEQCABEAALAn8gAigCCCIEQQJGBEBBACEDIAIoAgwMAQsgAkGoEGogAkEgaigCADYCACACQaAQaiACQRhqKQMANwMAIAJBmBBqIAJBEGopAwA3AwAgAiACKQMINwOQECACQZAQahDlASEDQQALIQEgACAEQQJHNgIIIAAgAzYCBCAAIAE2AgAgAkHwGmokAAvIFgIRfwl+IwBBkAJrIgIkACAALQAgIQggAkEIaiIMQQAQnwIgAkEoakEKEJ8CIAJByABqQTAQnwIgAkHoAWoiECAAQRhqKQMANwMAIAJB4AFqIhEgAEEQaikDADcDACACQdgBaiISIABBCGopAwA3AwAgAiAAKQMANwPQASACQegAaiEEIwBBoAFrIgMkACADQZgBaiIGQgA3AwAgA0GQAWoiCUIANwMAIANBiAFqIg1CADcDACADQgA3A4ABAkACQAJAAkACQAJAAkAgAkHQAWoiBSADQYABahCcAkH/AXFB/wFGBEAgBUH4psEAQSAQrgNFDQELIANB2ABqIAVBGGoiCikDADcDACADQdAAaiAFQRBqIgspAwA3AwAgA0HIAGogBUEIaiIOKQMANwMAIAMgBSkDADcDQCADQfgAaiIPIAopAwA3AwAgA0HwAGoiCiALKQMANwMAIANB6ABqIgsgDikDADcDACADIAUpAwA3A2AgBkIANwMAIAlCADcDACANQgA3AwAgA0IANwOAASADQUBrIANBgAFqEJwCQf8BcUH/AUYNASADQThqIA8pAwA3AwAgA0EwaiAKKQMANwMAIANBKGogCykDADcDACADIAMpA2A3AyAMAgsgBSkDECIXIAUpAwBCAXwiEyAFKQMIIhRCAXwiFoQiGVAiBq18IhogFyAGGyEVIBYgFCATUBshFCAFKQMYIRYgGVAgFyAaVnFFBEAgAyAWNwOYASADIBU3A5ABIAMgFDcDiAEgAyATNwOAAQwDCyADIBU3A5ABIAMgFDcDiAEgAyATNwOAASADIBZCAXwiEzcDmAEgE0IAUg0CDAQLIANBIGogA0HgAGoQzQELIAQgAykDIDcDACAEQRhqIANBOGopAwA3AwAgBEEQaiADQTBqKQMANwMAIARBCGogA0EoaikDADcDAAwBCyADIANBgAFqIgUQzQEgAykDECEVIAMpAxghFCADKQMAIRYgAykDCCETIAVBARCfAiATIBMgAykDiAF8IhdWIQUgFSADKQOQASAVfCITViEGIBQgAykDmAEgFHwiFVYhCQJAIBYgFiADKQOAAXwiFFgEfiAFrQUgF0IBfCIXUK0gBa18CyIWUAR+IAatBSATIBMgFnwiE1atIAatfAsiFlAEQCAEIBU3AxggBCATNwMQIAQgFzcDCCAEIBQ3AwAgCUUNAgwBCyAEIBM3AxAgBCAXNwMIIAQgFDcDACAEIBUgFnwiEzcDGCAJDQAgEyAVWg0BCwwBCyADQaABaiQADAELIANBADYCcCADQQE2AmQgA0HspsEANgJgIANCBDcCaCADQeAAakGMpsEAEMUCAAsgAkEANgKQASACQoCAgIDAADcCiAECQAJAAkACQAJAIAQgDBCcAkH/AXFBAUYEQCACQfABaiEFIAIpA2AhFiACKQNYIRkgAikDUCEaIAIpA0ghGwNAIAhFIAcgCEdyRQRAIAIoApABIgMgAigCiAFGBEAgAkGIAWoQ+QELIAIoAowBIANBAnRqQS42AgAgAiADQQFqNgKQAQsgAkHIAWogAkGAAWoiDCkDADcDACACQcABaiACQfgAaiINKQMANwMAIAJBuAFqIAJB8ABqIgopAwA3AwAgAiACKQNoNwOwASACQdABaiACQbABaiACQShqEHEgBUEIaikDACITIBp8IhcgE1QhAyAFQRBqKQMAIhUgGXwiEyAVVCEEIAVBGGopAwAiFCAWfCIVIBRUIQYCQCAFKQMAIhggG3wiFCAYWgR+IAOtBSAXQgF8IhdQrSADrXwLIhhQBH4gBK0FIBMgEyAYfCITVq0gBK18CyIYUARAIAIgFTcD6AEgAiATNwPgASACIBc3A9gBIAIgFDcD0AEgBkUNAQwICyACIBM3A+ABIAIgFzcD2AEgAiAUNwPQASACIBUgGHwiEzcD6AEgBiATIBVUcg0HCyACQbABaiEGQQAhCSMAQUBqIgMkAAJAAkACQCACQdABaiIEKQMQIAQpAxiEUARAIAZBEGogBCkDCDcDACAGIAQpAwA3AwgMAQtBASEJIANBATYCFCADQfiowQA2AhAgA0IBNwIcIAMgBK1CgICAgMAAhDcDKCADIANBKGo2AhggA0E0aiIEIANBEGoQ0wEgA0EIaiAEQZykwQBBgKnBABCmAiADKAIMIQsgAygCCCEOIANBGGoiDyADQTxqKAIANgIAQZngwQAtAAAaIAMgAykCNDcDEEEYQQQQ9wIiBEUNASAEIA42AgQgBEGEpcEANgIAIAQgAykDEDcCDCAEIAs2AgggBEEUaiAPKAIANgIAIAYgBDYCBAsgBiAJNgIAIANBQGskAAwBC0EEQRgQqAMACyACKAKwAQ0CIAItALgBIQQgAigCkAEiAyACKAKIAUYEQCACQYgBahD5AQsgAigCjAEgA0ECdGogBDYCACACIANBAWo2ApABIAJB0AFqIAJB6ABqIgMgAkEoahBxIAwgECkDADcDACANIBEpAwA3AwAgCiASKQMANwMAIAIgAikD0AE3A2ggB0EBaiEHIAMgAkEIahCcAkH/AXFBAUYNAAsLIAcgCE8NASACKAKQASIEIAQgCCAHayIGaiIDSQRAIAYgAigCiAEgBGtLBEAgAkGIAWogBCAGEPgBIAIoApABIQQLIAIoAowBIARBAnRqIQMgBkECTwRAIAdBf3MgCGoiB0EHcSEFIAZBAmtBB08EQCAHQXhxIQcDQCADQrCAgICABjcCACADQRhqQrCAgICABjcCACADQRBqQrCAgICABjcCACADQQhqQrCAgICABjcCACADQSBqIQMgB0EIayIHDQALCyAFBEADQCADQTA2AgAgA0EEaiEDIAVBAWsiBQ0ACwsgBCAGakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2ApABDAILIAIgAigCtAE2AtABQeiiwQBBKyACQdABakGUo8EAQaSjwQAQlwIACyAHIAhHDQEgAigCkAEhAwsgAigCiAEhBSAIBEAgAyAFRgRAIAJBiAFqEPkBCyACKAKMASADQQJ0akEuNgIAIAIgA0EBaiIDNgKQASACKAKIASEFCyADIAVGBEAgAkGIAWoQ+QELIAIoAowBIANBAnRqQTA2AgAgAiADQQFqNgKQAQsgAkHIAWogAEEYaikDADcDACACQcABaiAAQRBqKQMANwMAIAJBuAFqIABBCGopAwA3AwAgAiAAKQMANwOwASACQegBakIANwMAIAJB4AFqQgA3AwAgAkHYAWpCADcDACACQgA3A9ABIAIgAkGwAWoiAyACQdABaiIEEJwCQf8BcUH/AUc6AJcBIAIoAowBIQAgAigCkAEhBSACQawBaiIHQQA2AgAgAkKAgICAEDcCpAEgAkGkAWoiCCAAIAAgBUECdGoQ1AEgAkGgAWogBygCADYCACACIAIpAqQBNwOYASACIAJBmAFqrUKAgICAoA+ENwO4ASACIAJBlwFqrUKAgICA4ACENwOwASACQQI2AtQBIAJBtKPBADYC0AEgAkICNwLcASACIAM2AtgBIAggBBDTASACKAKYASIABEAgAigCnAEgABCLAwsgAigCiAEiAARAIAIoAowBIABBAnQQiwMLIAJBAjYC1AEgAkHQo8EANgLQASACQgE3AtwBIAIgAkGkAWqtQoCAgICgD4Q3A7ABIAIgAkGwAWo2AtgBIAEoAhQgASgCGCACQdABahCzASACKAKkASIBBEAgAigCqAEgARCLAwsgAkGQAmokAA8LIAJBADYCwAEgAkEBNgK0ASACQeymwQA2ArABIAJCBDcCuAEgAkGwAWpBjKbBABDFAgALo0ACE38RfiMAQeAaayIDJAAgA0GIEGoiCCABEAIgARADELwBAkACQAJAAkACQAJAAkAgAygCiBBFBEAgA0EgaiIEIANBkAhqIhBBBHIgA0GQEGpB8AcQrANB8AcQrAMaIAMgARANIgI2AvwYIANBkBpqIgkgA0H8GGpB0LPAABCsASADKAKQGg0BIANB9BhqIANBsBpqIgspAwAiFTcCACADQewYaiADQagaaiIFKQMAIhY3AgAgA0HkGGogA0GgGmoiBikDACIYNwIAIANBiBlqIBg3AwAgA0GQGWogFjcDACADQZgZaiAVNwMAIAMgAykDmBoiFTcC3BggAyAVNwOAGSADIAEQDiICNgLEGSAJIANBxBlqQeCzwAAQrAEgAygCkBoNAiADQbwZaiALKQMAIhU3AgAgA0G0GWogBSkDACIWNwIAIANBrBlqIAYpAwAiGDcCACADQdAZaiAYNwMAIANB2BlqIBY3AwAgA0HgGWogFTcDACADIAMp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A/gDIAJB6ARqIARBOGopAwA3AwAgAkHgBGogBEEwaikDADcDACACQdgEaiAEQShqKQMANwMAIAIgBCkDIDcD0AQgFCATIAJB0ARqEMoBIAIoAqAFDQAgBiACQcgFaikDADcDACAKIAJBwAVqKQMANwMAIAwgESkDADcDACANIBIpAwA3AwAgAiACKQOoBTcD+AQCQAJAAkACQAJAIAUgAkHQA2oQnAIiBUH/AXEOAwABAgELIAItAJgFIgUgAi0A8AMiBkkNASAFIAZHIQULIAVB/wFxQQFGDQELIAJBoAVqQeiGwABBARCvASACKAKgBQ0BIAJB6AJqIAJByAVqKQMANwMAIAJB4AJqIAJBwAVqKQMANwMAIAJB2AJqIAJBuAVqKQMANwMAIAJB0AJqIAJBsAVqKQMANwMAIAIgAikDqAU3A8gCDAMLIAJBkARqIARBGGopAwA3AwAgAkGIBGogBEEQaikDADcDACACQYAEaiAEQQhqKQMANwMAIAJBEjoAmAQgAiAEKQMANwP4AyACQZAFaiAEQSBqIgVBGGopAwA3AwAgAkGIBWogBUEQaikDADcDACACQYAFaiAFQQhqKQMANwMAIAIgBSkDADcD+AQgAkGgBWogAkH4A2ogAkH4BGoQygEgAigCoAUNASACQYgGaiACQcAFaikDADcDACACQYAGaiACQbgFaikDADcDACACQfgFaiACQbAFaikDADcDACACQdgFaiACQdgDaikDADcDACACQeAFaiACQeADaikDADcDACACQegFaiACQegDaikDADcDACACIAIpA6gFNwPwBSACIAIpA9ADNwPQBSACQcgCaiACQfAFaiACQdAFahDeAQwCCyACIAIoAqQFNgL4A0GsgsAAQSsgAkH4A2pB2ILAAEHshsAAEJcCAAsgAigCpAUMAgsgAikDyAIhGSACKQPQAiEVIAIpA9gCIRYgAikD4AIhGAwCCyACQQM2AqQFIAJBoIbAADYCoAUgAkICNwKsBSACIAJBmANqrUKAgICAIIQ3A4AEIAIgAkHwAmqtQoCAgIAghDcD+AMgAiACQfgDajYCqAUgAkHEA2oiBCACQaAFahDTASAEQbiGwAAQhgILIQQgCEEBNgIAIAggBDYCBAwDCyAVIAIpA/gBIhp8IhcgGlQhBSACKQOAAiIVIBUgFnwiFlYhBiAC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FTcD6BkgAyAVNwMADAQLIANBqAhqIANBpBBqKAIAIgQ2AgAgA0EIaiADQZQQaikCADcDACADQRBqIANBnBBqKQIANwMAIANBGGogBDYCACADIAMpAowQNwMADAYLIANB8BhqIANBrBpqKAIAIgQ2AgAgA0HoGGogA0GkGmopAgAiFTcDACADQeAYaiADQZwaaikCACIWNwMAIANBCGogFjcDACADQRBqIBU3AwAgA0EYaiAENgIAIAMgAykClBoiFTcD2BggAyAVNwMADAQLIANBuBlqIANBrBpqKAIAIgQ2AgAgA0GwGWogA0GkGmopAgAiFTcDACADQagZaiADQZwaaikCACIWNwMAIANBCGogFjcDACADQRBqIBU3AwAgA0EYaiAENgIAIAMgAykClBoiFTcDoBkgAyAVNwMADAILIANBwBhqIANBrAhqKAIAIgQ2AgAgA0G4GGogA0GkCGopAgAiFTcDACADQbAYaiADQZwIaikCACIWNwMAIANBCGogFjcDACADQRBqIBU3AwAgA0EYaiAENgIAIAMgAykClAgiFTcDqBggAyAVNwMAIAMoArwaIQILIAJBhAFPBEAgAhAACyADKALEGSECCyACQYQBTwRAIAIQAAsgAygC/BghAgsgAkGEAUkNACACEAALIAFBgwFLBEAgARAACwJ/IAMoAgAiAUECRgRAQQAhAiADKAIEDAELIANBoBBqIANBGGooAgA2AgAgA0GYEGogA0EQaikDADcDACADQZAQaiADQQhqKQMANwMAIAMgAykDADcDiBAgA0GIEGoQ5QEhAkEACyEEIAAgAUECRzYCCCAAIAI2AgQgACAENgIAIANB4BpqJAAL3iMCC38OfiMAQeAaayIDJAAgA0GIEGoiCSABEAIgARADELwBAkACQAJAAkACQAJAAkAgAygCiBBFBEAgA0EgaiIHIANBkAhqIgVBBHIgA0GQEGpB8AcQrANB8AcQrAMaIAMgARATIgg2AuQZIAkgA0HkGWpBhKXAABCsASADKAKIEA0BIANB3BlqIANBqBBqIgopAwAiETcCACADQdQZaiADQaAQaiIGKQMAIg83AgAgA0HMGWogA0GYEGoiBCkDACINNwIAIANBoBlqIA03AwAgA0GoGWogDzcDACADQbAZaiARNwMAIAMgAykDkBAiDTcCxBkgAyANNwOYGSADQRI6ALgZIAMgARAUIgg2ArQaIAkgA0G0GmpBlKXAABCsASADKAKIEA0CIANBrBpqIAopAwAiETcCACADQaQaaiAGKQMAIg83AgAgA0GcGmogBCkDACINNwIAIANB8BlqIA03AwAgA0H4GWogDzcDACADQYAaaiARNwMAIAMgAykDkBAiDTcClBogAyANNwPoGSADQRI6AIgaIAMgARAVIgg2AtwaIAkgA0HcGmpBpKXAABCsASADKAKIEEUEQCADQdQaaiAKKQMAIhE3AgAgA0HMGmogBikDACIPNwIAIANBxBpqIAQpAwAiDTcCACADQZgIaiANNwMAIANBoAhqIA83AwAgA0GoCGogETcDACADIAMpA5AQIg03ArwaIAMgDTcDkAggA0ESOgCwCCADQfAYaiEEIwBBoANrIgIkACACQYgBaiIMIAcgA0GYGWoiCyADQegZaiIIEG8CQAJAAkACQAJAAkACQAJAIAIoAogBRQRAIAIpA6gBIRogAikDoAEhDiACKQOYASEYIAIpA5ABIREgAkHwAGogB0HYAWopAwA3AwAgAkHoAGogB0HQAWopAwA3AwAgAkHgAGogB0HIAWopAwA3AwAgAkESOgB4IAIgBykDwAE3A1ggAkGoAWogC0EgaikDADcDACACQaABaiALQRhqIgkpAwA3AwAgAkGYAWogC0EQaiIKKQMANwMAIAJBkAFqIAtBCGoiBikDADcDACACIAspAwA3A4gBIAJB+AJqIAwgAkHYAGogCBB7IAopAwAhFiAGKQMAIRUgAikDiAMhFCACKQOAAyESAn4gAikD+AIiDyALKQMAIg1aBEAgEiAVVK0hFyASIBV9DAELIBIgFVStIBIgFVGtfCEXIBIgFUJ/hXwLIRkgCSkDACEVIAIpA5ADIRIgFCAWfSEQAkAgF1AEQCAUIBZUrSEUDAELIBAgF1StIBQgFlStfCEUIBAgF30hEAsgEiAVfSETAkAgFFAEQCASIBVaDQEMCQsgEyAUVCASIBVUcg0IIBMgFH0hEwsgDiAQfSESAkACfiAPIA19Ig0gEVgEQCAYIBl9IRQgGCAZVK0MAQsgGCAZQn+FfCEUIBggGVStIBggGVGtfAsiD1AEQCAOIBBUrSEODAELIA8gElatIA4gEFStfCEOIBIgD30hEgsgGiATfSEQAkAgDlAEQCAT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yBpqIANBnBBqKQIAIg83AwAgA0HAGmogA0GUEGopAgAiDTcDACADQQhqIA03AwAgA0EQaiAPNwMAIANBGGogBDYCACADIAMpAowQIg03A7gaIAMgDTcDAAwECyADQagIaiADQaQQaigCACIENgIAIANBCGogA0GUEGopAgA3AwAgA0EQaiADQZwQaikCADcDACADQRhqIAQ2AgAgAyADKQKMEDcDAAwGCyADQdgZaiADQaQQaigCACIENgIAIANB0BlqIANBnBBqKQIAIg83AwAgA0HIGWogA0GUEGopAgAiDTcDACADQQhqIA03AwAgA0EQaiAPNwMAIANBGGogBDYCACADIAMpAowQIg03A8AZIAMgDTcDAAwECyADQagaaiADQaQQaigCACIENgIAIANBoBpqIANBnBBqKQIAIg83AwAgA0GYGmogA0GUEGopAgAiDTcDACADQQhqIA03AwAgA0EQaiAPNwMAIANBGGogBDYCACADIAMpAowQIg03A5AaIAMgDTcDAAwCCyADQbgYaiADQeQYaigCACIENgIAIANBsBhqIANB3BhqKQIAIg83AwAgA0GoGGogA0HUGGopAgAiDTcDACADQQhqIA03AwAgA0EQaiAPNwMAIANBGGogBDYCACADIAMpAswYIg03A6AYIAMgDTcDACADKALcGiEICyAIQYQBTwRAIAgQAAsgAygCtBohCAsgCEGEAU8EQCAIEAALIAMoAuQZIQgLIAhBhAFJDQAgCBAACyABQYMBSwRAIAEQAAsCfyADKAIAIgRBAkYEQEEAIQggAygCBAwBCyADQaAQaiADQRhqKAIANgIAIANBmBBqIANBEGopAwA3AwAgA0GQEGogA0EIaikDADcDACADIAMpAwA3A4gQIANBiBBqEOUBIQhBAAshASAAIARBAkc2AgggACAINgIEIAAgATYCACADQeAaaiQAC/ARAhF/CX4jAEGQAmsiAiQAIAEtACAhCCACQQhqIgNBABCfAiACQShqQQoQnwIgAkHIAGpBMBCfAiACQegBaiIKIAFBGGopAwA3AwAgAkHgAWoiCyABQRBqKQMANwMAIAJB2AFqIgwgAUEIaikDADcDACACIAEpAwA3A9ABIAJB6ABqIgQgAkHQAWoQnwEgAkEANgKQASACQoCAgIDAADcCiAECQAJAAkACQAJAIAQg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IAcpAwA3AwAgA0HIBWogBikDADcDACADQcAFaiACKQMANwMAIANBEjoA2AUgAyAFKQPABTcDuAUgA0GgAWoiAiAFIANBuAVqIANB8AFqIgYQowICQAJAIAMoAqABRQRAIANByABqIANByAFqKQMANwMAIANBQGsgA0HAAWoiBykDADcDACADQThqIANBuAFqIgkpAwA3AwAgA0EwaiADQbABaiILKQMANwMAIAMgAykDqAE3AyggBiAFEIMBAkACQAJAAkACQAJAAkACQAJAAkAgAygC8AFFBEAgByADQZgCaikDADcDACAJIANBkAJqKQMANwMAIAsgA0GIAmopAwA3AwAgA0GoAWogA0GAAmopAwA3AwAgAyADKQP4ATcDoAEgA0EoaiACEJwCIgJB/wFxDgMBAgMCCyADKAL0ASEFIApBATYCACAKIAU2AgQMDAsgAy0ASCICIAMtAMABIgZJDQEgAiAGRyECCyACQf8BcUEBRg0BCyADQfABaiIMIQYjAEHwCGsiAiQAIAJBgAdqIgcgBRCBAQJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCgAdFBEAgAkH4AGogAkGoB2oiDSkDADcDACACQfAAaiACQaAHaiIJKQMANwMAIAJB6ABqIAJBmAdqIgspAwA3AwAgAkHgAGogAkGQB2oiCCkDADcDACACIAIpA4gHNwNYIAJB2AFqIAVByAFqKQMANwMAIAJB4AFqIAVB0AFqKQMANwMAIAJB6AFqIAVB2AFqKQMANwMAIAIgBSkDwAE3A9ABIAJBEjoA8AEgAkGQAmoiDiAFQZgFaikDADcDACACQYgCaiIQIAVBkAVqKQMANwMAIAJBgAJqIhEgBUGIBWopAwA3AwAgAiAFKQOABTcD+AEgAkGYAmoiEkESOgAAIAkgEikDADcDACALIA4pAwA3AwAgCCAQKQMANwMAIAJBiAdqIBEpAwA3AwAgAiACKQP4ATcDgAcgAkGoAWogAkHQAWogBxDFASAHQdjHwABBBBCwASACKAKABw0BIAIpA6AHITMgAikDmAchNiACKQOQByE4IAIpA4gHITkgAkGgA2ogBUHoA2opAwA3AwAgAkGoA2ogBUHwA2opAwA3AwAgAkGwA2ogBUH4A2opAwA3AwAg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MVAEQCACIC83A5gBIAIgLjcDkAEgAiAsNwOIASACIDA3A4ABIAtFDQEMGwsgAiAuNwOQASACICw3A4gBIAIgMDcDgAEgAiAvIDF8Iiw3A5gBIAsgLCAvVHINGgsgAkESOgCgASACQTBqIAJB2ABqIAJBgAFqEMQBIAJBgAdqIgdB2MfAAEEEELABIAIoAoAHDQkgAkH4BWogAkGoB2opAwA3AwAgAkHwBWogAkGgB2opAwA3AwAgAkHoBWogAkGYB2opAwA3AwAgAkHgBWogAkGQB2opAwA3AwAgAiACKQOIBzcD2AUgB0HYx8AAQQQQsAEgAigCgAcNCiACKQOQByEsIAIpA6AHITAgAikDmAciLiA2fSEvAkACfiA4IAIpA4gHIjlYBEAgLCAtfSExICwgLVStDAELICwgLUJ/hXwhMSAsIC1UrSAsIC1RrXwLIixQBEAgLiA2VK0hLgwBCyAsIC9WrSAuIDZUrXwhLiAvICx9IS8LIDAgM30hLAJAIC5QBEAgMCAzWg0BDBoLICwgLlQgMCAzVHINGSAsIC59ISwLIAJBEjoAoAcgAiAsNwOYByACIC83A5AHIAIgMTcDiAcgAiA5IDh9NwOAByACQYgGaiIJIAJB2AVqIgsgAkGAB2oiBxDEASACIAJBMGogCRBuIAIoAgANCyACQbAEaiACQShqKQMANwMAIAJBqARqIAJBIGopAwA3AwAgAkGgBGogAkEYaikDADcDACACQZgEaiACQRBqKQMANwMAIAIgAikDCDcDkAQgAkG4BGogAkGQBGogAkH4AWoQxAEgB0HYx8AAQQQQsAEgAigCgAcNDCACQfgFaiACQagHaikDADcDACACQfAFaiACQaAHaikDADcDACACQegFaiACQZgHaikDADcDACACQeAFaiACQZAHaikDADcDACACIAIpA4gHNwPYBSAHIAUQnAEgAigCgAcNDSACQagFaiACQagHaikDADcDACACQaAFaiACQaAHaikDADcDACACQZgFaiACQZgHaikDADcDACACQZAFaiACQZAHaikDADcDACACIAIpA4gHNwOIBSACIAsgAkGIBWoQxAEgB0HYx8AAQQQQsAEgAigCgAcNDiACKQOQByEsIAIpAwghLiACKQOgByEtIAIpAxghMyACKQMQIjAgAikDmAciNn0hLwJAAn4gAikDACI4IAIpA4gHIjlaBEAgLiAsfSExICwgLlatDAELIC4gLEJ/hXwhMSAsIC5WrSAsIC5RrXwLIixQBEAgMCA2VK0hMAwBCyAsIC9WrSAwIDZUrXwhMCAvICx9IS8LIDMgLX0hLAJAIDBQBEAgLSAzWA0BDBoLICwgMFQgLSAzVnINGSAsIDB9ISwLIAJBEjoAqAYgAiAsNwOgBiACIC83A5gGIAIgMTcDkAYgAiA4IDl9NwOIBiACQbAFaiACQZgDaiACQYgGahDHASACQYAHakHYx8AAQQQQsAEgAigCgAcNDyACKQOQByEsIAIpA6AHIS4gAikDmAciLSA1fSEvAkACfiA3IAIpA4gHIjFYBEAgLCAyfSEwICwgMlStDAELICwgMkJ/hXwhMCAsIDJUrSAsIDJRrXwLIixQBEAgLSA1VK0hLQwBCyAsIC9WrSAtIDVUrXwhLSAvICx9IS8LIC4gNH0hLAJAIC1QBEAgLiA0Wg0BDBoLICwgLVQgLiA0VHINGSAsIC19ISwLIAJBEjoAoAcgAiAsNwOYByACIC83A5AHIAIgMDcDiAcgAiAxIDd9NwOAByACQeAEaiIJIAJBsAVqIAJBgAdqIgcQxwEgB0HYx8AAQQQQsAEgAigCgAcNECACQYgIaiACQaAHaikDADcDACACQYAIaiACQZgHaikDADcDACACQfgHaiACQZAHaikDADcDACACIAIpA4gHNwPwByACIAJB8AdqIAkQ7AEgAkESOgAgIAdB2MfAAEEEELABIAIoAoAHDREgAikDkAchLCACKQOgByExIAIpA5gHIi4gNX0hLwJAAn4gNyACKQOIByIzWARAICwgMn0hMCAsIDJUrQwBCyAsIDJCf4V8ITAgLCAyVK0gLCAyUa18CyIsUARAIC4gNVStIS0MAQsgLCAvVq0gLiA1VK18IS0gLyAsfSEvCyAxIDR9IS4CQCAtUARAIDEgNFoNAQwaCyAxIDRUIC0gLlZyDRkgLiAtfSEuCyACQRI6AKAHIAIgLjcDmAcgAiAvNwOQByACIDA3A4gHIAIgMyA3fTcDgAcgAkGIBmoiCSACIAJBgAdqIgcQxAEgB0HYx8AAQQQQsAEgAigCgAcNEiACQSBqIgsgAkGoB2opAwA3AwAgAkEYaiIIIAJBoAdqKQMANwMAIAJBEGoiDSACQZgHaikDADcDACACQQhqIg4gAkGQB2opAwA3AwAgAiACKQOIBzcDACAHIAIgAkHoA2oQxQEgAkHYBWoiECAJIAcQbiACKALYBQ0TIAJB0AZqIAJBgAZqKQMANwMAIAJByAZqIAJB+AVqKQMANwMAIAJBwAZqIAJB8AVqIhEpAwA3AwAgAkG4BmogAkHoBWoiEikDADcDACACIAIpA+AFNwOwBiACQbAFaiACQbAGaiACQZAEahDHASARIAVBGGopAwA3AwAgEiAFQRBqKQMANwMAIAJB4AVqIAVBCGopAwA3AwAgAkESOgD4BSACIAUpAwA3A9gFIAJBoAZqIAVBOGopAwA3AwAgAkGYBmogBUEwaikDADcDACACQZAGaiAFQShqKQMANwMAIAIgBSkDIDcDiAYgByAQIAkQygEgAigCgAcNFCALIAJBqAdqKQMANwMAIAggAkGgB2opAwA3AwAgDSACQZgHaikDADcDACAOIAJBkAdqKQMANwMAIAIgAikDiAc3AwACQCACQbgEaiACEJwCQf8BcSIHBEAgB0H/AUcNAQwXCyACLQDYBCACLQAgSQ0WCyACQZgIaiACQcAEaikDADcDACACQaAIaiACQcgEaikDADcDACACQagIaiACQdAEaikDADcDACACQbgIaiACQQhqKQMANwMAIAJBwAhqIAJBEGopAwA3AwAgAkHICGogAkEYaikDADcDACACIAIpA7gENwOQCCACIAIpAwA3A7AIIAJBgAdqIgcgAkGQCGogAkGwCGoQ4AEgAkESOgCgByACQdgGaiAHIAJB0AFqEMcBIAJB0AdqIgkgBUGAAWogAkGwBWoQ4AEgAkH4BWogAkH4BmoiCykDADcDACACQfAFaiACQfAGaiIIKQMANwMAIAJB6AVqIAJB6AZqIg0pAwA3AwAgAkHgBWogAkHgBmoiDikDADcDACACIAIpA9gGNwPYBSAHIAUgAkHYBWoQpgEgAigCgAcNFCACQegIaiACQaAHaiIQKQMANwMAIAJB4AhqIAJBmAdqIhEpAwA3AwAgAkHYCGogAkGQB2oiEikDADcDACACIAIpA4gHNwPQCCACQagHaiAJIAJB0AhqEOABIBAgCykDADcDACARIAgpAwA3AwAgEiANKQMANwMAIAJBiAdqIA4pAwA3AwAgAiACKQPYBjcDgAcgBkEIaiAHQcgAEKwDGiAGQQA2AgAgBkESOgBQDBcLIAIoAoQHIQcgBkEBNgIAIAYgBzYCBAwWCyACIAIoAoQHNgKIBkHtxMAAQSsgAkGIBmpBmMXAAEHszMAAEJcCAAsgAiACKAKEBzYCzAdB7cTAAEErIAJBzAdqQZjFwABB3MzAABCXAgALIAIoAoQHIQcgBkEBNgIAIAYgBzYCBAwTCyACIAIoAoQHNgKIBkHtxMAAQSsgAkGIBmpBmMXAAEHMzMAAEJcCAAsgAiACKAKEBzYCiAZB7cTAAEErIAJBiAZqQZjFwABBvMzAABCXAgALIAIgAigChAc2AogGQe3EwABBKyACQYgGakGYxcAAQazMwAAQlwIACyACIAIoAoQHNgKIBkHtxMAAQSsgAkGIBmpBmMXAAEGczMAAEJcCAAsgAigC3AUhByAGQQE2AgAgBiAHNgIEDA4LIAIgAigChAc2AtgFQe3EwABBKyACQdgFakGYxcAAQYzMwAAQlwIACyACIAIoAoQHNgKIBkHtxMAAQSsgAkGIBmpBmMXAAEH8y8AAEJcCAAsgAigCBCEHIAZBATYCACAGIAc2AgQMCwsgAiACKAKEBzYC8AJB7cTAAEErIAJB8AJqQZjFwABB7MvAABCXAgALIAIoAoQHIQcgBkEBNgIAIAYgBzYCBAwJCyACIAIoAoQHNgLYBUHtxMAAQSsgAkHYBWpBmMXAAEHcy8AAEJcCAAsgAiACKAKEBzYC2AVB7cTAAEErIAJB2AVqQZjFwABBzMvAABCXAgALIAIgAigChAc2AgBB7cTAAEErIAJBmMXAAEG8y8AAEJcCAAsgAiACKAKEBzYCiAZB7cTAAEErIAJBiAZqQZjFwABBrMvAABCXAgALIAIgAigChAc2AgBB7cTAAEErIAJBmMXAAEGcy8AAEJcCAAsgAigC3AUhByAGQQE2AgAgBiAHNgIEDAMLIAIoAoQHDAELIAJBADYCkAcgAkEBNgKEByACQYTLwAA2AoAHIAJCBDcCiAcgAkGAB2pBjMvAABDSAQshByAGQQE2AgAgBiAHNgIECyACQfAIaiQADAILIAJBADYCkAcgAkEBNgKEByACQeTEwAA2AoAHIAJCBDcCiAcgAkGAB2pBtMTAABDFAgALIAJBADYCkAcgAkEBNgKEByACQeCHwQA2AoAHIAJCBDcCiAcgAkGAB2pB9IXBABDFAgALIAMoAvABDQEgBUHABWohBiADQaABaiICIANB+AFqIgdB0AAQrAMaIANBmAVqIANB0AFqKQMANwMAIANBoAVqIANB2AFqKQMANwMAIANBqAVqIANB4AFqKQMANwMAIANBsAVqIANB6AFqKQMANwMAIANBmAFqIgkgA0HAAWoiCykDADcDACADQZABaiIIIANBuAFqIg0pAwA3AwAgA0GIAWoiDiADQbABaiIQKQMANwMAIANBgAFqIhEgA0GoAWoiEikDADcDACADIAMpA8gBNwOQBSADIAMpA6ABNwN4IAsgCSkDADcDACANIAgpAwA3AwAgECAOKQMANwMAIBIgESkDADcDACADIAMpA3g3A6ABIANB0AVqIA9BGGopAwA3AwAgA0HIBWogD0EQaikDADcDACADQcAFaiAPQQhqKQMANwMAIAMgDykDADcDuAUgDCAFIAIgA0GQBWogA0G4BWoQaCADKALwAQ0FIANBiAJqIAZBGGopAwA3AwAgA0GAAmogBkEQaikDADcDACAHIAZBCGopAwA3AwAgA0ESOgCQAiADIAYpAwA3A/ABIANB+ABqIAwQnAJB/wFxIgIOAwMCBgILIANB8AFqQeiGwABBARCvASADKALwAUUEQCAKIAMpA/gBNwMIIApBKGogA0GYAmopAwA3AwAgCkEgaiADQZACaikDADcDACAKQRhqIANBiAJqKQMANwMAIApBEGogA0GAAmopAwA3AwAgCkEANgIADAkLIAMgAygC9AE2AqABQayCwABBKyADQaABakHYgsAAQcyIwAAQlwIACyADKAL0ASEFIApBATYCACAKIAU2AgQMBwsgAkECSQ0BDAMLIAMtAJgBIAMtAJACSQ0CCyADQcABaiADQZgBaikDADcDACADQbgBaiADQZABaikDADcDACADQbABaiADQYgBaikDADcDACADQagBaiADQYABaikDADcDACADIAMpA3g3A6ABIANBkAJqIANBIGopAwA3AwAgA0GIAmogA0EYaikDADcDACADQYACaiADQRBqKQMANwMAIANB+AFqIANBCGopAwA3AwAgAyADKQMANwPwASAKQQhqIANBoAFqIANB8AFqEJICIApBADYCAAwECyADQfABakEEchDtAgsgA0HAAWogA0GYAWopAwA3AwAgA0G4AWogA0GQAWop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A0GwA2ogA0GQAmopAwA3AwAgA0GoA2ogA0GIAmoiBikDADcDACADQaADaiADQYACaiIHKQMANwMAIAMgAykD+AE3A5gDIAYgD0EYaikDADcDACAHIA9BEGopAwA3AwAgA0H4AWoiCSAPQQhqKQMANwMAIAMgDykDADcD8AEgA0GgAWogBSADQaAEaiADQZgDaiACEGggAygCoAFFBEAgA0GQA2oiJSADQcgBaikDADcDACADQYgDaiImIANBwAFqIicpAwA3AwAgA0GAA2oiKCADQbgBaiIQKQMANwMAIANB+AJqIikgA0GwAWoiESkDADcDACADIAMpA6gBNwPwAiAUQQcgExsiEkUNAyADQagBaiELIANBmQRqIRsgA0GRAmohHAJAA0ACQAJAAkACQCADQcgCaiADQfgAahCcAkH/AXEiAg4DAQADAAsgAkECSQ0BDAILIAMtAOgCIAMtAJgBSQ0BCyADQQA2AoACIANBATYC9AEgA0GYicAANgLwASADQgQ3AvgBIANB8AFqQaCJwAAQ0gEhBSAKQQE2AgAgCiAFNgIEDAcLAkACQAJAAkAgA0HIAmogAxCcAkH/AXEiAg4DAQADAAsgAkECSQ0BDAILIAMtAOgCIAMtACBJDQELIAogAykDADcDCCAKQQA2AgAgCkEoaiADQSBqKQMANwMAIApBIGogA0EYaikDADcDACAKQRhqIANBEGopAwA3AwAgCkEQaiADQQhqKQMANwMADAcLICcgA0HoAmoiKikDADcDACAQIANB4AJqIh0pAwA3AwAgESADQdgCaiIeKQMANwMAIAsgA0HQAmoiHykDADcDACADIAMpA8gCNwOgASMAQYABayIGJAAgBkHQAGohByMAQZAGayICJAAgAkHQAGoiCEESOgAAIAJBOGogBUHIAWopAwAiLDcDACACQUBrIAVB0AFqKQMAIi43AwAgAkHIAGogBUHYAWopAwAiLTcDACACIAUpA8ABIi83AzAgAkGwBWogCCkDADcDACACQagFaiAtNwMAIAJBoAVqIC43AwAgAkGYBWogLDcDACACIC83A5AFIAJBCGogA0GgAWogAkGQBWoiCBDEASACQYgBaiAFQYgFaikDADcDACACQZABaiAFQZAFaikDADcDACACQZgBaiAFQZgFaikDADcDACACQRI6AKABIAIgBSkD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AwAgAkHYA2ogAkGwA2oiGSkDADcDACACQdADaiACQagDaiIgKQMANwMAIAIgAikDoAM3A8gDIAJBsAVqIhMgAkHIAWoiFykDADcDACACQagFaiIMIAJBwAFqIiEpAwA3AwAgAkGgBWoiDSACQbgBaiIiKQMANwMAIAJBmAVqIiMgAkGwAWoiJCkDADcDACACIAIpA6gBNwOQBSACQagBaiIrIAggAkHIA2oQxwEgAkGwBGogBUHgA2oiFEEYaikDADcDACACQagEaiAUQRBqKQMANwMAIAJBoARqIBRBCGopAwA3AwAgAkESOgC4BCACIBQpAwA3A5gEIAhB2MfAAEEEELABIAIoApAFDQYgGCACQbgFaikDADcDACAZIBMpAwA3AwAgICAMKQMANwMAIAJBoANqIA0pAwA3AwAgAiACKQOYBTcDmAMgCCAFEJwBIAIoApAFDQcgAkGIBWogAkG4BWopAwA3AwAgAkGABWogEykDADcDACACQfgEaiAMKQMANwMAIAJB8ARqIA0pAwA3AwAgAiACKQOYBTcD6AQgDiAWIAJB6ARqEMQBIAhB2MfAAEEEELABIAIoApAFRQRAIAJB4AVqIBMpAwA3AwAgAkHYBWogDCkDADcDACACQdAFaiANKQMANwMAIAIgAikDmAU3A8gFIBUgDiACQcgFahDgASACQRI6AOAEIAJB8ANqIg4gAkGYBGogFRDHASAIICsgDhDgASAXQRI6AAAgISAMKQMAIiw3AwAgIiANKQMAIi43AwAgJCAjKQMAIi03AwAgAiACKQOQBSIvNwOoASAHQShqIBcpAwA3AwAgB0EgaiAsNwMAIAdBGGogLjcDACAHQRBqIC03AwAgByAvNwMIIAdBADYCAAwKCyACIAIoApQFNgKYA0HtxMAAQSsgAkGYA2pBmMXAAEHA0sAAEJcCAAsgAigClAUhCCAHQQE2AgAgByAINgIEDAgLIAIgAigClAU2ApgDQe3EwABBKyACQZgDakGYxcAAQfDSwAAQlwIACyACKAKUBSEIIAdBATYCACAHIAg2AgQMBgsgAigClAUhCCAHQQE2AgAgByAINgIEDAULIAIgAigClAU2AugFQe3EwABBKyACQegFakGYxcAAQeDSwAAQlwIACyACKAKcAyEIIAdBATYCACAHIAg2AgQMAwsgAiACKAKUBTYC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AJACTw0BCyAbIAMoAFE2AAAgByAYKQMANwMAIAYgFikDADcDACACIBUpAwA3AwAgG0EDaiAZKAAANgAAIAMgAykDWDcD+AMgA0ESOgCYBAsgA0HABGogA0GYBGoiCCkDACIsNwMAIANBuARqIAIpAwAiLjcDACADQbAEaiAGKQMAIi03AwAgA0GoBGogBykDACIvNwMAIAMgAykD+AMiMDcDoAQgA0HYBWogLDcDACADQdAFaiAuNwMAIANByAVqIC03AwAgA0HABWogLzcDACADIDA3A7gFIANB8AFqIhUgBSADQbgFahBlIAMoAvABDQEgA0HoBGogDCkDADcDACADQeAEaiANKQMANwMAIANB2ARqIA4pAwA3AwAgA0HQBGogEykDADcDACADIAkpAwA3A8gEIBQgD0EYaikDADcDACAXIA9BEGopAwA3AwAgCSAPQQhqKQMANwMAIAMgDykDADcD8AEgA0GgAWogBSADQaAEaiADQcgEaiAVEGggAygCoAFFBEAgJSALQSBqKQMANwMAICYgC0EYaikDADcDACAoIAtBEGopAwA3AwAgKSALQQhqKQMANwMAIB8gBykDADcDACAeIAYpAwA3AwAgHSACKQMANwMAICogCCkDADcDACADIAspAwA3A/ACIAMgAykD+AM3A8gCIBJBAWsiEg0BDAYLCyADQaABakEEchDtAgwECyADKAL0ASEFIApBATYCACAKIAU2AgQMBAsgAyADKAKkATYC+AMgAyADQfgDaiIFrUKAgICAEIQ3A6AEIANBATYCzAUgA0EBNgK8BSADQZCKwAA2ArgFIANBATYCxAUgA0EDOgCMAiADQQQ2AogCIANCIDcCgAIgA0ECNgL4ASADQQI2AvABIAMgA0HwAWo2AsgFIAMgA0GgBGo2AsAFIANBxANqIgIgA0G4BWoQjAIgAkGYisAAEIYCIQIgCkEBNgIAIAogAjYCBCAFEO0CDAMLIAMoAvQBIQUgCkEBNgIAIAogBTYCBAwCCyADKAKkASEFIApBATYCACAKIAU2AgQMAQsgA0GIAmogA0HwAGopAwA3AwAgA0GAAmogA0HoAGopAwA3AwAgA0H4AWogA0HgAGopAwA3AwAgA0GUAmogA0HUAGooAAA2AAAgAyADKQNYNwPwASADQRI6AJACIAMgAygAUTYAkQICQAJAAkACQAJAAkACQAJAIANByAJqIANB8AFqEJwCIgVB/wFxDgMAAQIBCyADLQDoAiIFQRJJDQIgBUESRyEFCyAFQf8BcUEBRw0BCyADQcgCaiADQfgAahCcAiIFQf8BcQ4DAgEEAQsgA0HwAWpB6IbAAEEBEK8BIAMoAvABRQRAIAogAykD+AE3AwggCkEoaiADQZgCaikDADcDACAKQSBqIANBkAJqKQMANwMAIApBGGogA0GIAmopAwA3AwAgCkEQaiADQYACaikDADcDACAKQQA2AgAMBQsgAyADKAL0ATYCoAFBrILAAEErIANBoAFqQdiCwABBsInAABCXAgALIAVB/wFxQQJJDQEMAgsgAy0A6AIgAy0AmAFJDQELIANBADYCgAIgA0EBNgL0ASADQZiJwAA2AvABIANCBDcC+AEgA0HwAWpBwInAABDSASEFIApBATYCACAKIAU2AgQMAQsgA0HAAWogA0HoAmopAwA3AwAgA0G4AWogA0HgAmopAwA3AwAgA0GwAWogA0HYAmopAwA3AwAgA0GoAWogA0HQAmopAwA3AwAgAyADKQPIAjcDoAEgA0GQAmogA0EgaikDADcDACADQYgCaiADQRhqKQMANwMAIANBgAJqIANBEGopAwA3AwAgA0H4AWogA0EIaikDADcDACADIAMpAwA3A/ABIApBCGogA0GgAWogA0HwAWoQkgIgCkEANgIACyADQeAFaiQAIAQoAogQBEAgBCAEKAKMEDYCjBogBCAEQYwaajYCkBogBEEBNgKUCCAEQfS3wAA2ApAIIARCATcCnAggBCAEQZAaaq1CgICAgPABhDcDoBogBCAEQaAaaiIFNgKYCCAEQZQaaiAaENMBIARBADYCqBogBEKAgICAEDcCoBogBEEDOgCwCCAEQSA2AqAIIARBADYCrAggBEG4tsAANgKoCCAEQQA2ApgIIARBADYCkAggBCAFNgKkCEGEusAAIBoQlQJFDQRB0LbAAEE3IARBrxpqQYi3wABB5LfAABCXAgALIARB8BhqIARBsBBqKQMAIiw3AwAgBEGwGGogBEGYEGopAwAiLjcDACAEQbgYaiAEQaAQaikDACItNwMAIARBwBhqIARBqBBqKQMAIi83AwAgBEHIGGogLDcDACAEQYgYaiAuNwMAIARBkBhqIC03AwAgBEGYGGogLzcD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AzAiEVoEQCANIBNUrSESIA0gE30MAQsgDSATVK0gDSATUa18IRIgDSATQn+FfAshFSADKQNIIRMgAykDKCENIA4gD30hEAJAIBJQBEAgDiAPVK0hDwwBCyAQIBJUrSAOIA9UrXwhDyAQIBJ9IRALIA0gE30hDgJAIA9QBEAgAyAONwPIASADIBA3A8ABIAMgFTcDuAEgAyAUIBF9NwOwASANIBNaDQEMAwsgAyAQNwPAASADIBU3A7gBIAMgDiAPfTcDyAEgAyAUIBF9NwOwASANIBNUIA4gD1RyDQILIANB8ABqIgEgA0GQAWogA0GwAWoQpAEgAEEIaiADQdAAaiABEJcBIABBADYCAAsgA0HQAWokAA8LIANBADYCgAEgA0EBNgJ0IANB5JDBADYCcCADQgQ3AnggA0HwAGpBtJDBABDFAgALIANBADYCwAEgA0EBNgK0ASADQeymwQA2ArABIANCBDcCuAEgA0GwAWpBjKbBABDFAgAL0AoCBX8KfiMAQdABayICJAAgAkEgaiABQRhqKQMANwMAIAJBGGogAUEQaikDADcDACACQRBqIAFBCGopAwA3AwAgAkESOgAoIAIgASkDADcDCCACQfAAaiIDIAFB2ANqKQMANwMAIAJB6ABqIgQgAUHQA2opAwA3AwAgAkHgAGoiBSABQcgDaikDADcDACACQRI6AHggAiABKQPAAzcDWCACQZgBaiABQdgBaikDADcDACACQZABaiABQdABaikDADcDACACQYgBaiABQcgBaikDADcDACACQRI6AKABIAIgASkDwAE3A4ABIAJBMGogAkHYAGogAkGAAWoQxAEgAyABQbgFaiIGKQMANwMAIAQgAUGwBWoiBCkDADcDACAFIAFBqAVqIgMpAwA3AwAgAkESOgB4IAIgASkDoAU3A1ggAikDOCIKIAMpAwB8IgsgClQhAyAEKQMAIAIpA0AhCSACKQMwIg8gASkDoAV8Ig4gD1oEfiADrQUgC0IBfCILUK0gA618CyEIIAYpAwAhDCACKQNIIQ0gCXwiByAJVCEBIAhQBH4gAa0FIAcgByAIfCIHVq0gAa18CyEIIAwgDXwiDCANVCEBAkACQAJAIAhQBEAgAiAMNwOYASACIAc3A5ABIAIgCzcDiAEgAiAONwOAASABRQ0BDAILIAIgBzcDkAEgAiALNwOI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IAJBtBlqIAQpAwAiCjcCACACQawZaiAGKQMAIgs3AgAgAkGkGWogBykDACIMNwIAIAJByBlqIAw3AwAgAkHQGWogCzcDACACQdgZaiAKNwMAIAIgAikDkBAiCjcCnBkgAiAKNwPAGSACQYAYaiAIIAkgAkH4GGogAkHAGWoQuQEgAigCvBkiA0GEAU8EQCADEAALIAIoAvQYIgNBhAFPBEAgAxAACyACKALMGCIDQYQBTwRAIAMQAAsgAiACQYAYakHco8AAELgBDAYLIAJBsBlqIAJBpBBqKAIAIgQ2AgAgAkGoGWogAkGcEGopAgAiCjcDACACQaAZaiACQZQQaikCACILNwMAIAJBCGogCzcDACACQRBqIAo3AwAgAkEYaiAENgIAIAIgAikCjBAiCjcDmBkgAiAKNwMAIANBhAFPBEAgAxAACyACKAL0GCEDDAELIAJB6BhqIAJBpBBqKAIAIgQ2AgAgAkHgGGogAkGcEGopAgAiCjcDACACQdgYaiACQZQQaikCACILNwMAIAJBCGogCzcDACACQRBqIAo3AwAgAkEYaiAENgIAIAIgAikCjBAiCjcD0BggAiAKNwMACyADQYQBTwRAIAMQAAsgAigCzBghAwwCCyACQagIaiACQaQQaigCACIDNgIAIAJBCGogAkGUEGopAgA3AwAgAkEQaiACQZwQaikCADcDACACQRhqIAM2AgAgAiACKQKMEDcDAAwCCyACQcAYaiACQaQQaigCACIENgIAIAJBuBhqIAJBnBBqKQIAIgo3AwAgAkGwGGogAkGUEGopAgAiCzcDACACQQhqIAs3AwAgAkEQaiAKNwMAIAJBGGogBDYCACACIAIpAowQIgo3A6gYIAIgCjcDAAsgA0GEAUkNACADEAALIAFBgwFLBEAgARAACwJ/IAIoAgAiBEECRgRAQQAhAyACKAIEDAELIAJBoBBqIAJBGGooAgA2AgAgAkGYEGogAkEQaikDADcDACACQZAQaiACQQhqKQMANwMAIAIgAikDADcDiBAgAkGIEGoQ5QEhA0EACyEBIAAgBEECRzYCCCAAIAM2AgQgACABNgIAIAJB4BlqJAAL6gkCCH8DfiMAQeAZayICJAAgAkGIEGoiBSABEAIgARADELwBAkACQAJAIAIoAogQRQRAIAJBIGoiCCACQZAIaiIJQQRyIAJBkBBqQfAHEKwDQfAHEKwDGiACIAEQDSIDNgLMGCAFIAJBzBhqQfi1wAAQrAEgAigCiBANASACQcQYaiACQagQaiIEKQMAIgo3AgAgAkG8GGogAkGgEGoiBikDACILNwIAIAJBtBhqIAJBmBBqIgcpAwAiDDcCACACQZgIaiAMNwMAIAJBoAhqIAs3AwAgAkGoCGogCjcDACACIAIpA5AQIgo3AqwYIAIgCjcDkAggAkESOgCwCCACIAEQDiIDNgL0GCAFIAJB9BhqQYi2wAAQrAECQCACKAKIEEUEQCACQewYaiAEKQMAIgo3AgAgAkHkGGogBikDACILNwIAIAJB3BhqIAcpAwAiDDcCACACQYAZaiAMNwMAIAJBiBlqIAs3AwAgAkGQGWogCjcDACACIAIpA5AQIgo3AtQYIAIgCjcD+BggAiABEA8iAzYCvBkgBSACQbwZakGYtsAAEKwBIAIoAogQRQRAIAJBtBlqIAQpAwAiCjcCACACQawZaiAGKQMAIgs3AgAgAkGkGWogBykDACIMNwIAIAJByBlqIAw3AwAgAkHQGWogCzcDACACQdgZaiAKNwMAIAIgAikDkBAiCjcCnBkgAiAKNwPAGSACQYAYaiAIIAkgAkH4GGogAkHAGWoQugEgAigCvBkiA0GEAU8EQCADEAALIAIoAvQYIgNBhAFPBEAgAxAACyACKALMGCIDQYQBTwRAIAMQAAsgAiACQYAYakGotsAAELgBDAYLIAJBsBlqIAJBpBBqKAIAIgQ2AgAgAkGoGWogAkGcEGopAgAiCjcDACACQaAZaiACQZQQaikCACILNwMAIAJBCGogCzcDACACQRBqIAo3AwAgAkEYaiAENgIAIAIgAikCjBAiCjcDmBkgAiAKNwMAIANBhAFPBEAgAxAACyACKAL0GCEDDAELIAJB6BhqIAJBpBBqKAIAIgQ2AgAgAkHgGGogAkGcEGopAgAiCjcDACACQdgYaiACQZQQaikCACILNwMAIAJBCGogCzcDACACQRBqIAo3AwAgAkEYaiAENgIAIAIgAikCjBAiCjcD0BggAiAKNwMACyADQYQBTwRAIAMQAAsgAigCzBghAwwCCyACQagIaiACQaQQaigCACIDNgIAIAJBCGogAkGUEGopAgA3AwAgAkEQaiACQZwQaikCADcDACACQRhqIAM2AgAgAiACKQKMEDcDAAwCCyACQcAYaiACQaQQaigCACIENgIAIAJBuBhqIAJBnBBqKQIAIgo3AwAgAkGwGGogAkGUEGopAgAiCzcDACACQQhqIAs3AwAgAkEQaiAKNwMAIAJBGGogBDYCACACIAIpAowQIgo3A6gYIAIgCjcDAAsgA0GEAUkNACADEAALIAFBgwFLBEAgARAACwJ/IAIoAgAiBEECRgRAQQAhAyACKAIEDAELIAJBoBBqIAJBGGooAgA2AgAgAkGYEGogAkEQaikDADcDACACQZAQaiACQQhqKQMANwMAIAIgAikDADcDiBAgAkGIEGoQ5QEhA0EACyEBIAAgBEECRzYCCCAAIAM2AgQgACABNgIAIAJB4BlqJAAL6ggCA38DfiMAQdAZayICJAAgAkGQEGoiBCABEAIgARADELwBAkAgAigCkBBFBEAgAkEoaiACQZgIakEEciACQZgQakHwBxCsA0HwBxCsAxogAiABEAwiAzYCgBkgBCACQYAZakGsosAAEKwBAkACQCACKAKQEEUEQCACQbQIaiACQbAQaikDACIFNwIAIAJBrAhqIAJBqBBqKQMAIgY3AgAgAkGkCGogAkGgEGopAwAiBzcCACACQZAYaiAHNwMAIAJBmBhqIAY3AwAgAkGgGGogBTcDACACIAIpA5gQIgU3ApwIIAIgBTcDiBggAkESOgCoGCADQYQBTwRAIAMQAAsgAkIANwOQECACQZgIaiACQShqIAJBiBhqIAJBkBBqIgMQvQEgAigCmAhFDQIgAiACKAKcCDYCrBkgAiACQawZajYCsBkgAkEBNgKUECACQfS3wAA2ApAQIAJCATcCnBAgAiACQbAZaq1CgICAgPABhDcDwBkgAiACQcAZaiIENgKYECACQbQZaiADENMBIAJBADYCyBkgAkKAgICAEDcCwBkgAkEDOgCwECACQSA2AqAQIAJBADYCrBAgAkG4tsAANgKoECACQQA2ApgQIAJBADYCkBAgAiAENgKkEEG8osAAIAMQlQJFDQFB0LbAAEE3IAJBzxlqQYi3wABB5LfAABCXAgALIAJBsAhqIAJBrBBqKAIAIgQ2AgAgAkGoCGogAkGkEGopAgAiBTcDACACQaAIaiACQZwQaikCACIGNwMAIAJBEGogBjcDACACQRhqIAU3AwAgAkEgaiAENgIAIAIgAikClBAiBTcDmAggAiAFNwMIIANBhAFJDQMgAxAADAMLIAJBlBlqIAJByBlqKAIANgIAIAJBiBlqIgMgAkG8GWooAgA2AgAgAiACKQLAGTcCjBkgAiACKQK0GTcDgBkgAkGsGWoQ7QIgAkEUaiADKQMANwIAIAJBHGogAkGQGWopAwA3AgAgAiACKQOAGSIFNwPYGCACQQE2AgggAiAFNwIMDAILIAJB4BhqIAJBqAhqKQMAIgU3AwAgAkG4GGogBTcDACACQcAYaiACQbAIaikDADcDACACQcgYaiACQbgIaikDADcDACACQdAYaiACQcAIaikDADcDACACIAIpA6AIIgU3A9gYIAIgBTcDsBggAkEIaiACQbAYakHMosAAELgBDAELIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMICyABQYMBSwRAIAEQAAsCfyACKAIIIgRBAkYEQCACKAIMIQNBAAwBCyACQagQaiACQSBqKAIANgIAIAJBoBBqIAJBGGopAwA3AwAgAkGYEGogAkEQaikDADcDACACIAIpAwg3A5AQQQAhAyACQZAQahDlAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQdAZaiQAC7QdAgl/A34jAEHQGWsiBCQAIARBkBBqIgYgARACIAEQAxC8AQJAIAQoApAQRQRAIARBKGogBEGYCGpBBHIgBEGYEGpB8AcQrANB8AcQrAMaIAQgARASIgI2AoAZIAYgBEGAGWpB1KTAABCsAQJAAkAgBCgCkBBFBEAgBEG0CGogBEGwEGopAwAiDTcCACAEQawIaiAEQagQaikDACIMNwIAIARBpAhqIARBoBBqKQMAIgs3AgAgBEGQGGogCzcDACAEQZgYaiAMNwMAIARBoBhqIA03AwAgBCAEKQOYECILNwKcCCAEIAs3A4gYIARBEjoAqBggAkGEAU8EQCACEAALIARCADcDkBAgBEGYCGohCCAEQShqIQIgBEGIGGohBiMAQcAQayIFJAACQAJAIARBkBBqIgopAwBQBEAgBUGYCGogAiAGEHkgBSgCmAhFBEAgBUEgaiAFQcAIaikDADcDACAFQRhqIAVBuAhqKQMANwMAIAVBEGogBUGwCGopAwA3AwAgBUEIaiAFQagIaikDADcDACAFIAUpA6AINwMADAILIAUoApwIIQYgCEEBNgIAIAggBjYCBAwCCyAFQbAIaiACQdgBaikDADcDACAFQagIaiACQdABaikDADcDACAFQaAIaiACQcgBaikDADcDACAFQRI6ALgIIAUgAikDwAE3A5gIIAUgCkEIaiAFQZgIahDEAQsgBUG4EGogBUEgaikDADcDACAFQbAQaiAFQRhqKQMANwMAIAVBqBBqIAVBEGopAwA3AwAgBUGgEGogBUEIaikDADcDACAFIAUpAwA3A5gQIAVCATcDkBAgBUGYCGohCSMAQaAQayIDJAACQAJAIAVBkBBqIgcpAwBQBEAgAyACIAYQeSADKAIARQRAIANBmBBqIANBIGopAwA3AwAgA0GQEGogA0EYaikDADcDACADQYgQaiADQRBqKQMANwMAIAMgAykDCDcDgBAMAgsgAygCBCEGIAlBATYCACAJIAY2AgQMAgsgA0GYEGogB0EgaikDADcDACADQZAQaiAHQRhqKQMANwMAIANBiBBqIAdBEGopAwA3AwAgAyAHKQMINwOAEAsgA0HwCmogAkHgBmoQ0AIgA0GEC2ogAkH0BmoQ0AIgA0GYC2ogAkGIB2oQ0AIgA0GICWogAkH4BGopAwA3AwAgA0GACWogAkHwBGopAwA3AwAgA0H4CGogAkHoBGopAwA3AwAgA0GYCWogAkGIBWopAwA3AwAgA0GgCWogAkGQBWopAwA3AwAgA0GoCWogAkGYBWopAwA3AwAgA0G4CWogAkGoBWopAwA3AwAgA0HACWogAkGwBWopAwA3AwAgA0HICWogAkG4BWopAwA3AwAgAyACKQPgBDcD8AggAyACKQOABTcDkAkgAyACKQOgBTcDsAkgA0HoCWogAkHYBWopAwA3AwAgA0HgCWogAkHQBWopAwA3AwAgA0HYCWogAkHIBWopAwA3AwAgA0GICmogAkH4BWopAwA3AwAgA0GACmogAkHwBWopAwA3AwAgA0H4CWogAkHoBWopAwA3AwAgA0GoCmogAkGYBmopAwA3AwAgA0GgCmogAkGQBmopAwA3AwAgA0GYCmogAkGIBmopAwA3AwAgAyACKQPABTcD0AkgAyACKQPgBTcD8AkgAyACKQOABjcDkAogA0HICmogAkG4BmopAwA3AwAgA0HACmogAkGwBmopAwA3AwAgA0G4CmogAkGoBmopAwA3AwAgAyACKQOgBjcDsAogA0HoCmogAkHYBmopAwA3AwAgA0HgCmogAkHQBmopAwA3AwAgA0HYCmogAkHIBmopAwA3AwAgAyACKQPABjcD0AogA0GsC2ogAkGcB2oQ0AIgA0HAC2ogAkGwB2oQ0AIgA0HUC2ogAkHEB2oQ0AIgA0HoC2ogAkHYB2oQ0AIgA0E4aiACQZgEaikDADcDACADQTBqIAJBkARqKQMANwMAIANBKGogAkGIBGopAwA3AwAgA0HIAGogAkGoBGopAwA3AwAgA0HQAGogAkGwBGopAwA3AwAgA0HYAGogAkG4BGopAwA3AwAgA0HoAGogAkHIBGopAwA3AwAgA0HwAGogAkHQBGopAwA3AwAgA0H4AGogAkHYBGopAwA3AwAgAyACKQOABDcDICADIAIpA6AENwNAIAMgAikDwAQ3A2AgA0EYaiACQfgDaikDADcDACADQRBqIAJB8ANqKQMANwMAIANBCGogAkHoA2opAwA3AwAgAyACKQPgAzcDACADQfAHaiIHIANBgAEQrAMaIANBuAxqIAJBOGopAwA3AwAgA0GwDGogAkEwaikDADcDACADQagMaiACQShqKQMANwMAIANByAxqIAJByABqKQMANwMAIANB0AxqIAJB0ABqKQMANwMAIANB2AxqIAJB2ABqKQMANwMAIANB6AxqIAJB6ABqKQMANwMAIANB8AxqIAJB8ABqKQMANwMAIANB+AxqIAJB+ABqKQMANwMAIAMgAikDIDcDoAwgAyACKQNANwPADCADIAIpA2A3A+AMIANBmA1qIAJBmAFqKQMANwMAIANBkA1qIAJBkAFqKQMANwMAIANBiA1qIAJBiAFqKQMANwMAIANBuA1qIAJBuAFqKQMANwMAIANBsA1qIAJBsAFqKQMANwMAIANBqA1qIAJBqAFqKQMANwMAIANB2A1qIAJB2AFqKQMANwMAIANB0A1qIAJB0AFqKQMANwMAIANByA1qIAJByAFqKQMANwMAIAMgAikDgAE3A4ANIAMgAikDoAE3A6ANIAMgAikDwAE3A8ANIANB+A1qIAJB+AFqKQMANwMAIANB8A1qIAJB8AFqKQMANwMAIANB6A1qIAJB6AFqKQMANwMAIAMgAikD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AgQgACADNgIAIAJB0BlqJAALpQsCBn8DfiMAQdAZayICJAAgAkGQEGoiBCABEAIgARADELwBAkAgAigCkBBFBEAgAkEoaiACQZgIakEEciACQZgQakHwBxCsA0HwBxCsAxogAiABEEkiAzYCgBkgBCACQYAZakH4tMAAEKwBAkACQCACKAKQEEUEQCACQbQIaiACQbAQaikDACIINwIAIAJBrAhqIAJBqBBqKQMAIgk3AgAgAkGkCGogAkGgEGopAwAiCjcCACACQZAYaiAKNwMAIAJBmBhqIAk3AwAgAkGgGGogCDcDACACIAIpA5gQIgg3ApwIIAIgCDcDiBggAkESOgCoGCADQYQBTwRAIAMQAAsgAkIANwOQECACQShqIQQgAkGIGGohByMAQeAAayIDJAAgAkGYCGoiBgJ/AkAgAkGQEGoiBSkDAFAEQCADQTBqIAQgBxC+ASADKAIwRQRAIANBKGogA0HYAGopAwA3AwAgA0EgaiADQdAAaikDADcDACADQRhqIANByABqKQMANwMAIANBEGogA0FAaykDADcDACADIAMpAzg3AwgMAgsgBiADKAI0NgIEQQEMAgsgA0EoaiAFQShqKQMANwMAIANBIGogBUEgaikDADcDACADQRhqIAVBGGopAwA3AwAgA0EQaiAFQRBqKQMANwMAIAMgBSkDCDcDCAsgA0HIAGogBEG4BGopAwA3AwAgA0FAayAEQbAEaikDADcDACADQThqIARBqARqKQMANwMAIANBEjoAUCADIAQpA6AENwMwIAZBCGogA0EIaiADQTBqEMcBQQALNgIAIANB4ABqJAAgAigCmAhFDQIgAiACKAKcCDYCrBkgAiACQawZajYCsBkgAkEBNgKUECACQfS3wAA2ApAQIAJCATcCnBAgAiACQbAZaq1CgICAgPABhDcDwBkgAiACQcAZaiIDNgKYECACQbQZaiAFENMBIAJBADYCyBkgAkKAgICAEDcCwBkgAkEDOgCwECACQSA2AqAQIAJBADYCrBAgAkG4tsAANgKoECACQQA2ApgQIAJBADYCkBAgAiADNgKkEEGItcAAIAUQlQJFDQFB0LbAAEE3IAJBzxlqQYi3wABB5LfAABCXAgALIAJBsAhqIAJBrBBqKAIAIgQ2AgAgAkGoCGogAkGkEGopAgAiCDcDACACQaAIaiACQZwQaikCACIJNwMAIAJBEGogCTcDACACQRhqIAg3AwAgAkEgaiAENgIAIAIgAikClBAiCDcDmAggAiAINwMIIANBhAFJDQMgAxAADAMLIAJBlBlqIAJByBlqKAIANgIAIAJBiBlqIgMgAkG8GWooAgA2AgAgAiACKQLAGTcCjBkgAiACKQK0GTcDgBkgAkGsGWoQ7QIgAkEUaiADKQMANwIAIAJBHGogAkGQGWopAwA3AgAgAiACKQOAGSIINwPYGCACQQE2AgggAiAINwIMDAILIAJB4BhqIAJBqAhqKQMAIgg3AwAgAkG4GGogCDcDACACQcAYaiACQbAIaikDADcDACACQcgYaiACQbgIaikDADcDACACQdAYaiACQcAIaikDADcDACACIAIpA6AIIgg3A9gYIAIgCDcDsBggAkEIaiACQbAYakGYtcAAELgBDAELIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMICyABQYMBSwRAIAEQAAsCfyACKAIIIgNBAkYEQCACKAIMIQFBAAwBCyACQagQaiACQSBqKAIANgIAIAJBoBBqIAJBGGopAwA3AwAgAkGYEGogAkEQaikDADcDACACIAIpAwg3A5AQQQAhASACQZAQahDlAQshBCAAIANBAkc2AgggACAENgIEIAAgATYCACACQdAZaiQAC4QIAgF/E34jAEGgAmsiAyQAIANBCGogASkDACIOQgAgAikDACIEQgAQlgIgA0HIAGogASkDCCIJQgAgBEIAEJYCIANB2ABqIAEpAxAiBUIAIARCABCWAiADQegAaiABKQMYIgpCACAEQgAQlgIgA0EYaiACKQMIIgRCACAOQgAQlgIgA0H4AGogBEIAIAlCABCWAiADQagBaiAEQgAgBUIAEJYCIANB2AFqIARCACAKQgAQlgIgA0EoaiACKQMQIgRCACAOQgAQlgIgA0GIAWogBEIAIAlCABCWAiADQbgBaiAEQgAgBUIAEJYCIANB6AFqIARCACAKQgAQlgIgA0E4aiACKQMYIgRCACAOQgAQlgIgA0GYAWogBEIAIAlCABCWAiADQcgBaiAEQgAgBUIAEJYCIANB+AFqIARCACAKQgAQlgIgAykDCCEOAkACQAJAIAMpA5gBIg8gA0FAaykDACADKQM4IgcgAykDiAEiCyADQTBqKQMAIAMpAygiBSADKQN4IgogA0EgaikDACADKQMYIgkgAykDSCIIIANBEGopAwB8IgZ8IgQgCVStfCIMIAMpA1giECADQdAAaikDACAGIAhUrXx8Igh8IgZ8Ig18IgkgBVStfCITIAMpA6gBIhEgA0GAAWopAwAgCiANVq18Ig0gBiAMVK18IgUgAykDaCIGIANB4ABqKQMAIAggEFStfHwiCHwiDHwiEHwiEnwiFHwiCiAHVK18IhUgAykDuAEiFiADQZABaikDACALIBRWrXwiCyASIBNUrXwiByADKQPYASITIANBsAFqKQMAIBAgEVStfCIQIAUgDVQgBSAMVnKtfCIFIANB8ABqKQMAIAYgCFatfHwiCHwiBnwiDHwiDXwiEXwiEkIAUg0AIAMpA8gBIhQgA0GgAWopAwAgDyASVq18IhIgESAVVK18Ig8gAykD6AEiESADQcABaikDACANIBZUrXwiDSAHIAtUIAcgDFZyrXwiByAGIBNUrSADQeABaikDACAFIBBUIAUgCFZyrXx8fCILfCIIfCIFfCIGQgBSDQAgAykD+AEiDCADQdABaikDACAGIBRUrXwiBiAPIBJUIAUgD1RyrXwiBSAIIBFUrSADQfABaikDACAHIA1UIAcgC1ZyrXx8fCIHfCIPUA0BCyAAIAo3AxggACAJNwMQIAAgBDcDCCAAIA43AwAMAQsgA0GAAmopAwAgACAKNwMYIAAgCTcDECAAIAQ3AwggACAONwMAIAwgD1atfEIAIAUgBlQgBSAHVnKtfVINACADQaACaiQADwsgA0EANgKYAiADQQE2AowCIANB7LXBADYCiAIgA0IENwKQAiADQYgCakH0tcEAEMUCAAvUCAIHfwp+IwBBsAFrIgYkACAGQaABaiIMIAJBIGopAwA3AwAgBkGYAWoiByACQRhqKQMANwMAIAZBkAFqIgggAkEQaikDADcDACAGQYgBaiIJIAJBCGopAwA3AwAgBiACKQMANwOAASAGQdgAaiIKIAZBgAFqIgsgBSAEEHQgBkHQAGoiBEESOgAAIAZByABqIAFB2AFqKQMAIg03AwAgBkFAayABQdABaikDACIPNwMAIAZBOGogAUHIAWopAwAiEDcDACAGIAEpA8AB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AiACKQKYGTcCpAggAiACKQKMGTcDmAggAkGEGWoQ7QIgAkEUaiADKQMANwIAIAJBHGogAkGoCGopAwA3AgAgAiACKQOYCCIFNwPYGCACQQE2AgggAiAFNwIMDAILIAJB4BhqIAJBoBBqKQMAIgU3AwAgAkG4GGogBTcDACACQcAYaiACQagQaikDADcDACACQcgYaiACQbAQaikDADcDACACQdAYaiACQbgQaikDADcDACACIAIpA5gQIgU3A9gYIAIgBTcDsBggAkEIaiACQbAYakHQq8AAELgBDAELIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMICyABQYMBSwRAIAEQAAsCfyACKAIIIgRBAkYEQCACKAIMIQNBAAwBCyACQagQaiACQSBqKAIANgIAIAJBoBBqIAJBGGopAwA3AwAgAkGYEGogAkEQaikDADcDACACIAIpAwg3A5AQQQAhAyACQZAQahDlAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQdAZaiQAC+AIAgN/A34jAEHQGWsiAiQAIAJBkBBqIgQgARACIAEQAxC8AQJAIAIoApAQRQRAIAJBKGogAkGYCGpBBHIgAkGYEGpB8AcQrANB8AcQrAMaIAIgARBIIgM2AtgYIAQgAkHYGGpByLTAABCsAQJAAkAgAigCkBBFBEAgAkG0CGogAkGwEGopAwAiBTcCACACQawIaiACQagQaikDACIGNwIAIAJBpAhqIAJBoBBqKQMAIgc3AgAgAkGQGGogBzcDACACQZgYaiAGNwMAIAJBoBhqIAU3AwAgAiACKQOYECIFNwKcCCACIAU3A4gYIAJBEjoAqBggA0GEAU8EQCADEAALIAJBkBBqIAJBKGogAkGIGGoQvgEgAigCkBBFDQIgAiACKAKUEDYChBkgAiACQYQZajYCiBkgAkEBNgKsGSACQfS3wAA2AqgZIAJCATcCtBkgAiACQYgZaq1CgICAgPABhDcDmBkgAiACQZgZaiIDNgKwGSACQYwZaiACQagZaiIEENMBIAJBADYCoBkgAkKAgICAEDcCmBkgAkEDOgDIGSACQSA2ArgZIAJBADYCxBkgAkG4tsAANgLAGSACQQA2ArAZIAJBADYCqBkgAiADNgK8GUHYtMAAIAQQlQJFDQFB0LbAAEE3IAJBzxlqQYi3wABB5LfAABCXAgALIAJBsAhqIAJBrBBqKAIAIgQ2AgAgAkGoCGogAkGkEGopAgAiBTcDACACQaAIaiACQZwQaikCACIGNwMAIAJBEGogBjcDACACQRhqIAU3AwAgAkEgaiAENgIAIAIgAikClBAiBTcDmAggAiAFNwMIIANBhAFJDQMgAxAADAMLIAJBrAhqIAJBoBlqKAIANgIAIAJBoAhqIgMgAkGUGWooAgA2AgAgAiACKQKYGTcCpAggAiACKQKMGTcDmAggAkGEGWoQ7QIgAkEUaiADKQMANwIAIAJBHGogAkGoCGopAwA3AgAgAiACKQOYCCIFNwPYGCACQQE2AgggAiAFNwIMDAILIAJB4BhqIAJBoBBqKQMAIgU3AwAgAkG4GGogBTcDACACQcAYaiACQagQaikDADcDACACQcgYaiACQbAQaikDADcDACACQdAYaiACQbgQaikDADcDACACIAIpA5gQIgU3A9gYIAIgBTcDsBggAkEIaiACQbAYakHotMAAELgBDAELIAJBsAhqIAJBrBBqKAIAIgM2AgAgAkEQaiACQZwQaikCADcDACACQRhqIAJBpBBqKQIANwMAIAJBIGogAzYCACACIAIpApQQNwMICyABQYMBSwRAIAEQAAsCfyACKAIIIgRBAkYEQCACKAIMIQNBAAwBCyACQagQaiACQSBqKAIANgIAIAJBoBBqIAJBGGopAwA3AwAgAkGYEGogAkEQaikDADcDACACIAIpAwg3A5AQQQAhAyACQZAQahDlAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQdAZaiQAC/MIAQh/IwBBgAJrIgIkACACQfgAaiABQZgBaikDADcDACACQfAAaiABQZABaikDADcDACACQegAaiABQYgBaikDADcDACACQRI6AIABIAIgASkDgAE3A2AgAkGIAWpB7MTAAEEBELABAkACQAJAAkACQAJAAkAgAigCiAFFBEAgAUGAAWohAyACQdgBaiACQbABaikDADcDACACQdABaiACQagBaikDADcDACACQcgBaiACQaABaikDADcDACACQcABaiACQZgBaikDADcDACACIAIpA5ABNwO4ASACQeAAaiACQbgBahCcAiIEQf8BcQ4DAQIDAgsgAiACKAKMATYCOEHtxMAAQSsgAkE4akGYxcAAQZDvwAAQlwIACyACLQDYASIEQRJLDQIgBEESRyEECyAEQf8BcUEBRw0BCyACQfgAaiABQZgFaikDADcDACACQfAAaiABQZAFaikDADcDACACQegAaiABQYgFaikDADcDACACQRI6AIABIAIgASkDgAU3A2AgAkHQAWoiBCABQRhqKQMANwMAIAJByAFqIgUgAUEQaikDADcDACACQcABaiIGIAFBCGopAwA3AwAgAkESOgDYASACIAEpAwA3A7gBIAJB+AFqIAFBOGopAwA3AwAgAkHwAWogAUEwaikDADcDACACQegBaiABQShqKQMANwMAIAIgASkDIDcD4AEgAkGIAWoiByACQbgBaiIIIAJB4AFqEMoBIAIoAogBDQEgAkHYAWogAkGwAWopAwA3AwAgBCACQagBaikDADcDACAFIAJBoAFqIgQpAwA3AwAgBiACQZgBaiIFKQMANwMAIAIgAikDkAE3A7gBIAJBOGoiCSACQeAAaiAIEMcBIAQgA0EYaikDADcDACAFIANBEGopAwA3AwAgAkGQAWoiBiADQQhqKQMANwMAIAJBEjoAqAEgAiADKQMANwOIASACQRBqIgMgCSAHEMQBIAQgAUHYBmopAwA3AwAgBSABQdAGaikDADcDACAGIAFByAZqKQMANwMAIAJBEjoAqAEgAiABKQPABjcDiAEgACADIAcQbgwCCyACQaABaiADQRhqKQMANwMAIAJBmAFqIANBEGopAwA3AwAgAkGQAWoiBCADQQhqKQMANwMAIAJBAjYCvAEgAkH87cAANgK4ASACQgE3AsQBIAIgAkGIAWqtQoCAgICACIQ3AzggAkESOgCoASACIAMpAwA3A4gBIAIgAkE4ajYCwAEgAkHgAGoiASACQbgBahDTASACQQhqIAFBvIbBAEGA78AAEKYCIAIoAgwhAyACKAIIIQUgBCACQegAaigCADYCAEGZ4MEALQAAGiACIAIpAmA3A4gBQRhBBBD3AiIBRQ0CIAEgBTYCBCABQaSHwQA2AgAgASACKQOIATcCDCABIAM2AgggAUEUaiAEKAIANgIAIABBATYCACAAIAE2AgQMAQsgAigCjAEhASAAQQE2AgAgACABNgIECyACQYACaiQA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EBEBAEUNAAtBAQ8LDAILQQEhAyAAIAEgAiAFKAIMEQMABH8gAwVBACEDAn8DQCAEIAMgBEYNARogA0EBaiEDIAAgBiAFKAIQEQEARQ0ACyADQQFrCyAESQsPCyAAKAIUIAEgAiAAKAIYKAIMEQMADwsgACgCFCABIAIgACgCGCgCDBEDAAuUBgIMfwR+IwBBoAFrIgMkAAJAAkACQCACKQMAQgBSDQAgAikDCEIAUg0AIAIpAxBCAFINACACKQMYUA0BCyADQRhqQgA3AwAgA0EQakIANwMAIANBCGpCADcDACADQShqIghCADcDACADQTBqIglCADcDACADQThqIgpCADcDACADQgE3AwAgA0IBNwMgIANB2ABqIAJBGGopAwA3AwAgA0HQAGogAkEQaikDADcDACADQcgAaiACQQhqKQMANwMAIAMgAikDADcDQCADQfgAaiIEIAFBGGopAwA3AwAgA0HwAGoiBSABQRBqKQMANwMAIANB6ABqIgYgAUEIaikDADcDACADIAEpAwA3A2AgA0EgaiELIANB4ABqIQwDQCALIQEgDCECAkADQAJAIAIgA0FAa0YNAEF/IAFBCGsiASkDACIPIAJBCGsiAikDACISUiAPIBJWG0H/AXEOAgECAAsLIAAgA0HgAGogA0EgahCXAQwDCwJAIAMtAEBBAXFFBEAgA0GAAWogA0HgAGoiASABEJcBIAQgA0GYAWopAwA3AwAgBSADQZABaikDADcDACAGIANBiAFqKQMANwMAIAMgAykDgAE3A2AgAykDWCIPQj+GIAMpA1AiEEIBiIQhEiAQQj+GIAMpA0giEUIBiIQhEAwBCyADQYABaiINIANB4ABqIgcgA0EgahCXASAKIANBmAFqIgEpAwA3AwAgCSADQZABaiICKQMANwMAIAggA0GIAWoiDikDADcDACADIAMpA4ABNwMgIA0gByAHEJcBIAQgASkDADcDACAFIAIpAwA3AwAgBiAOKQMANwMAIAMgAykDgAE3A2AgAykDWCIPQj+GIAMpA1AiEEIBiIQhEiAQQj+GIAMpA0giEUIBiIQhECAPQv///////////wCDIQ8LIBFCP4YgAykDQEIBiIQhESADIBI3A1AgAyAQNwNIIAMgETcDQCADIA9CAYg3A1gMAAsACyAAQgA3AwggAEIBNwMAIABBGGpCADcDACAAQRBqQgA3AwALIANBoAFqJAALkQcCBX8BfiMAQYABayIEJAAgBCACNgIsIAQgATYCKAJAAkACQCADLQAcQQRxRQRAQQEhByAEQQE2AmwgBEHwrcEANgJoIARCATcCdCAEQoCAgIDgEiIJIARBKGqthDcDUCAEIARB0ABqNgJwIAMoAhQgAygCGCAEQegAahCzAQ0DIARBIGogBCgCKCAEKAIsKAIYEQAAIAQoAiAiAkUNAiAEKAIkIQEgAygCFEG0rsEAQQwgAygCGCgCDBEDAA0DIARBGGogAiABKAIYEQAAIAkgBEFAa62EIQkgBCgCGEUNAQNAAn8gAkUEQEEEIQVBACEGQQAMAQsgBEEQaiACIAEoAhgRAAAgBCACNgI0IAQgCDYCMCAIQQFqIQhBCCEFIAEhBiAEKAIUIQEgBCgCEAshAiAEQTBqIAVqIAY2AgAgBCgCNCIGRQ0DIAQoAjAhBSAEIAQoAjg2AkQgBCAGNgJAIAMoAhRBwK7BAEEBIAMoAhgoAgwRAwANBCAEQQE6AGAgBCADNgJcIAQgBTYCVCAEQQE2AlAgBEEBNgJsIARB8K3BADYCaCAEQgE3AnQgBCAJNwNIIAQgBEHIAGo2AnAgBEHQAGpBsKvBACAEQegAahCzAUUNAAsMAwsgASADIAIoAgwRAQAhBwwCCwNAAn8gAkUEQCABIQZBBCEFQQAhAUEADAELIARBCGogAiABKAIYEQAAIAQgAjYCNEEIIQUgBCgCDCEGIAQoAggLIQIgBEEwaiAFaiABNgIAIAQoAjQiAUUNASAEIAQoAjg2AkQgBCABNgJAIAMoAhRBwK7BAEEBIAMoAhgoAgwRAwANAiAEQQE6AGAgBCADNgJcIARBBDYCWCAEQcGuwQA2AlQgBEEANgJQIARBATYCbCAEQfCtwQA2AmggBEIBNwJ0IAQgCTcDSCAEIARByABqNgJwIARB0ABqQbCrwQAgBEHoAGoQswENAiAGIQEMAAsACyAAKAIAIgBFBEBBACEHDAELIAQgADYCSCADKAIUQcWuwQBBDCADKAIYKAIMEQMADQAgBEEBOgBgIAQgAzYCXCAEQQQ2AlggBEHBrsEANgJUIARBADYCUCAEQQE2AmwgBEHwrcEANgJoIARCATcCdCAEIARByABqrUKAgICA8BKENwMwIAQgBEEwajYCcCAEQdAAakGwq8EAIARB6ABqELMBDQBBACEHCyAEQYABaiQAIAcLkwYCBH8JfiMAQbACayIDJAAgA0HIAGogAUH4A2opAwA3AwAgA0FAayABQfADaikDADcDACADQThqIAFB6ANqKQMANwMAIANBEjoAUCADIAEpA+ADNwMwIANB+AFqIgRB2MfAAEEEELABAkAgAygC+AFFBEAgA0HIAWogA0GgAmoiBSkDADcDACADQcABaiADQZgCaiIGKQMANwMAIANBuAFqIANBkAJqKQMANwMAIANBsAFqIANBiAJqKQMANwMAIAMgAykDgAI3A6gBIAQgARCcAQJAIAMoAvgBRQRAIANB8AFqIAUpAwA3AwAgA0HoAWogBikDADcDACADQeABaiADQZACaikDADcDACADQdgBaiADQYgCaikDADcDACADIAMpA4ACNwPQASADQYABaiADQagBaiADQdABahDFASAEQdjHwABBBBCwASADKAL4AUUEQCADKQOQAiEJIAMpA4gCIQcgAykDkAEhCiADKQOIASEIAn4gAykDgAEiDSADKQOAAiIOWgRAIAcgCFatIQsgCCAHfQwBCyAHIAhWrSAHIAhRrXwhCyAIIAdCf4V8CyEPIAMpA5gCIQcgAykDmAEhCCAKIAl9IQwCQCALUARAIAkgClatIQkMAQsgCyAMVq0gCSAKVq18IQkgDCALfSEMCyAIIAd9IQoCQCAJUARAIAcgCFgNAQwGCyAHIAhWIAkgClZyDQUgCiAJfSEKCyADQRI6AHggAyAKNwNwIAMgDDcDaCADIA83A2AgAyANIA59NwNYIANBCGoiASADQTBqIANB2ABqEMYBIABBCGogASACEMYBIABBADYCAAwCCyADIAMoAvwBNgKoAUHtxMAAQSsgA0GoAWpBmMXAAEHMyMAAEJcCAAsgAygC/AEhASAAQQE2AgAgACABNgIECyADQbACaiQADwsgAyADKAL8ATYCrAJB7cTAAEErIANBrAJqQZjFwABB3MjAABCXAgALIANBADYCiAIgA0EBNgL8ASADQeTEwAA2AvgBIANCBDcCgAIgA0H4AWpBtMTAABDFAgALsQsBBX8jAEEQayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEOKAYBAQEBAQEBAQIEAQEDAQEBAQEBAQEBAQEB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AyQAIAMgATYCECADQQhqIAEQuwIgAygCDCEBAkACQCAAAn8CQCADKAIIRQRAIANBFGogARClAiADQSBqIAMoAhgiBCADKAIcEM4BIAMtACANASAAIAMpAyg3AwggAEEgaiADQUBrKQMANwMAIABBGGogA0E4aikDADcDACAAQRBqIANBMGopAwA3AwBBAAwCCyADIAE2AlwgA0ECNgIkIANB1I7BADYCICADQgI3AiwgAyADQdwAaq1CgICAgNAMhDcDgAEgAyADQRBqrUKAgICA4AyENwN4IAMgA0H4AGoiATYCKCADQegAaiADQSBqIgQQ0wEgA0EANgKAASADQoCAgIAQNwJ4IANBAzoAQCADQSA2AjAgA0EANgI8IANB6IvBADYCOCADQQA2AiggA0EANgIgIAMgATYCNCACIAQQlQINAyADQdAAaiIBIANBgAFqKAIANgIAIAMgAykCeDcDSCADKQJsIQYgAygCaCECIAMoAlwiBEGEAU8EQCAEEAALIAAgBjcCDCAAIAI2AgggAEIBNwMAIAAgAykDSDcCFCAAQRxqIAEoAgA2AgAMAgsgAyADLQAhOgBbIANBAjYCfCADQayOwQA2AnggA0ICNwKEASADIANB2wBqrUKAgICA8AyENwNwIAMgA0EQaq1CgICAgOAMhDcDaCADIANB6ABqIgE2AoABIANB3ABqIANB+ABqIgUQ0wEgA0EANgJwIANCgICAgBA3AmggA0EDOgCYASADQSA2AogBIANBADYClAEgA0Hoi8EANgKQASADQQA2AoABIANBADYCeCADIAE2AowBIAIgBRCVAg0CIAAgAykCaDcCFCAAQRxqIANB8ABqKAIANgIAIABBEGogA0HkAGooAgA2AgAgACADKQJcNwIIIABBADYCBEEBCzYCACADKAIUIgBFDQAgBCAAEIsDCyADQaABaiQADwtBgIzBAEE3IANBnwFqQbiMwQBBlI3BABCXAgAL7ggCBn8GfiMAQaABayIDJAAgAyABNgIQIANBCGogARC7AiADKAIMIQECQAJAIAACfwJAIAMoAghFBEAgA0EUaiABEKUCIANBIGohBiADKAIYIgghBCADKAIcIQEjAEEwayIFJAACQCABRQRAQQAhAQwBCwJAAkACQAJAIAQtAABBK2sOAwAEAQQLIAFBAUYNASAELAABQb9/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jgEgAygCKA0BIAAgAykDMDcDCCAAQSBqIANByABqKQMANwMAIABBGGogA0FAaykDADcDACAAQRBqIANBOGopAwA3AwAgAEEANgApIABBEjoAKCAAQSxqQQA2AAAgAEEANgIADAMLIAJBAUcEQCABLAABQb9/TA0CCyADQShqIgQgAUEBaiACQQFrEI4BIAMoAihFBEAgA0EgaiIFIANByABqKQMANwMAIANBGGoiBiADQUBrIgEpAwA3AwAgA0EQaiIHIANBOGoiAikDADcDACADIAMpAzA3AwggAUIANwMAIAJCADcDACADQTBqIghCADcDACADQgA3AyggA0HQAGoiCSAEEJ4BAkAgA0EIaiAJQSAQrgNFBEAgA0HoAGpB4JbAACkDADcDACADQeAAakHYlsAAKQMANwMAIANB2ABqQdCWwAApAwA3AwAgA0HIlsAAKQMANwNQDAELIAEgBSkDADcDACACIAYpAwA3AwAgCCAHKQMANwMAIAMgAykDCDcDKCADQdAAaiADQShqEMsBCyAAIAMpA1A3AwggAEEANgApIABBEjoAKCAAQQA2AgAgAEEsakEANgAAIABBIGogA0HoAGopAwA3AwAgAEEYaiADQeAAaikDADcDACAAQRBqIANB2ABqKQMANwMADAMLIAMoAiwhASAAQQE2AgAgACABNgIEDAILIAMoAiwhASAAQQE2AgAgACABNgIEDAELIAEgAkEBIAJB2JXAABDwAgALIANB8ABqJAAL6wQBB38jAEHwAGsiAyQAAkACQAJAAkAgAgRAIAEtAABBLUYNAQsgA0EoaiABIAIQjgEgAygCKA0BIAAgAykDMDcDCCAAQSBqIANByABqKQMANwMAIABBGGogA0FAaykDADcDACAAQRBqIANBOGopAwA3AwAgAEEANgApIABBEjoAKCAAQSxqQQA2AAAgAEEANgIADAMLIAJBAUcEQCABLAABQb9/TA0CCyADQShqIgQgAUEBaiACQQFrEI4BIAMoAihFBEAgA0EgaiIFIANByABqKQMANwMAIANBGGoiBiADQUBrIgEpAwA3AwAgA0EQaiIHIANBOGoiAikDADcDACADIAMpAzA3AwggAUIANwMAIAJCADcDACADQTBqIghCADcDACADQgA3AyggA0HQAGoiCSAEEJ8BAkAgA0EIaiAJQSAQrgNF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IgZHDQBBAA8LAkAgDC0AAEUNACALQczGwQBBBCAKKAIMEQMARQ0AQQEPC0EAIQQgACAIRwRAIAAgDWotAABBCkYhBAsgACAIayEAIAEgCGohByAMIAQ6AAAgBiEIIAsgByAAIAooAgwRAwAiACAFckUNAAsgAAuzBAEEfyMAQZABayIDJAAgA0GAAWogAUEYaikDADcDACADQfgAaiABQRBqKQMANwMAIANB8ABqIAFBCGopAwA3AwAgA0EBNgIkIANByJTAADYCICADQgE3AiwgAyADQegAaiIFrUKAgICAwACENwNYIAMgASkDADcDaCADIANB2ABqNgIoIANBFGogA0EgahDTASADIAMoAhggAygCHBABIgQ2AmggA0EIaiAFEMQCIAMoAgwhASADKAIIIQUgBEGEAU8EQCAEEAALAkACQCAFRQRAIABBAjYCACAAIAE2AgQMAQsgA0EBNgJsIANB4JTAADYCaCADQgE3AnQgAyADQRRqrUKAgICA0ACENwMgIAMgA0EgaiIENgJwIANB2ABqIANB6ABqIgUQ0wEgA0EANgIoIANCgICAgBA3AiAgA0EDOgCIASADQSA2AnggA0EANgKEASADQdCawAA2AoABIANBADYCcCADQQA2AmggAyAENgJ8IAIgBRCVAg0BIANBQGsiAiADQShqKAIANgIAIANB0ABqIgQgA0HgAGooAgA2AgAgAyADKQIgNwM4IAMgAykCWDcDSCABQYQBTwRAIAEQAAsgAEEANgIAIAAgAykDSDcCBCAAIAMpAzg3AhAgAEEMaiAEKAIANgIAIABBGGogAigCADYCAAsgAygCFCIABEAgAygCGCAAEIsDCyADQZABaiQADwtB6JrAAEE3IANByABqQaCbwABB/JvAABCXAgALugQCA38JfiMAQbABayIFJAAgBUEIaiABIAMgBBC2ASAFQYABakHYx8AAQQQQsAECQCAFKAKAAUUEQCAFKQOYASEKIAUpA5ABIQggBSkDGCELIAUpAxAhCQJ+IAUpA4gBIg4gBSkDCCIPWgRAIAggCVStIQwgCCAJfQwBCyAIIAlUrSAIIAlRrXwhDCAIIAlCf4V8CyEQIAUpA6ABIQggBSkDICEJIAogC30hDQJAIAxQBEAgCiALVK0hCgwBCyAMIA1WrSAKIAtUrXwhCiANIAx9IQ0LIAgg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ApwHIAUgCUEYakGYqMAAEKwBIAQoArgIDQwgBEHcB2ogAykDADcCACAEQdQHaiAHKQMANwIAIARBzAdqIAgpAwA3AgAgBCAEKQPACDcCxAcgBSAJQTRqQaiowAAQrAEgBCgCuAgNDSAEQYQIaiADKQMANwIAIARB/AdqIAcpAwA3AgAgBEH0B2ogCCkDADcCACAEIAQpA8AINwLsByAFIAlBOGpBuKjAABCsASAEKAK4CEUEQCAEQawIaiADKQMAIiA3AgAgBEGkCGogBykDACIhNwIAIARBnAhqIAgpAwAiIjcCACAEQegAaiAiNwMAIARB8ABqICE3AwAgBEH4AGogIDcDACAEIAQpA8AIIiA3ApQIIARBCGogBEHgA2pBBHIiBUEIaikCADcDACAEQRBqIAVBEGopAgA3AwAgBEEYaiAFQRhqKQIANwMAIAQgIDcDYCAEIAUpAgA3AwAgBEE4aiAEQYgEakEEciIFQRhqKQIANwMAIARBMGogBUEQaikCADcDACAEQShqIAVBCGopAgA3AwAgBCAFKQIANwMgIARB2ABqIARB6AdqQQRyIgVBGGopAgA3AwAgBEHQAGogBUEQaikCADcDACAEQcgAaiAFQQhqKQIANwMAIAQgBSkCADcDQCAEQZgBaiAEQbAEakEEciIFQRhqKQIANwMAIARBkAFqIAVBEGopAgA3AwAgBEGIAWogBUEIaikCADcDACAEIAUpAgA3A4ABIARBuAFqIARB2ARqQQRyIgVBGGopAgA3AwAgBEGwAWogBUEQaikCADcDACAEQagBaiAFQQhqKQIANwMAIAQgBSkCADcDoAEgBEHYAWogBEGABWpBBHIiBUEYaikCADcDACAEQdABaiAFQRBqKQIANwMAIARByAFqIAVBCGopAgA3AwAgBCAFKQIANwPAASAEQfgBaiAEQagFakEEciIFQRhqKQIANwMAIARB8AFqIAVBEGopAgA3AwAgBEHoAWogBUEIaikCADcDACAEIAUpAgA3A+ABIARBmAJqIARB0AVqQQRyIgVBGGopAgA3AwAgBEGQAmogBUEQaikCADcDACAEQYgCaiAFQQhqKQIANwMAIAQgBSkCADcDgAIgBEG4AmogBEH4BWpBBHIiBUEYaikCADcDACAEQbACaiAFQRBqKQIANwMAIARBqAJqIAVBCGopAgA3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ACADQeQGaiADQZAMaiIFKQMANwIAIANB3AZqIANBiAxqIgcpAwA3AgAgAyADKQOADDcC1AYgAyAEKAJ8EBw2ApwHIAEgA0GcB2pBmKnAABCsASADKAL4Cw0GIANBlAdqIAYpAwA3AgAgA0GMB2ogBSkDADcCACADQYQHaiAHKQMANwIAIAMgAykDgAw3AvwGIAMgBCgCfBAdNgLEByABIANBxAdqQaipwAAQrAEgAygC+AsNByADQbwHaiAGKQMANwIAIANBtAdqIAUpAwA3AgAgA0GsB2ogBykDADcCACADIAMpA4AMNwKkByADIAQoAnwQHjYC7AcgASADQewHakG4qcAAEKwBIAMoAvgLDQggA0HkB2ogBikDACIgNwIAIANB3AdqIAUpAwAiITcCACADQdQHaiAHKQMAIiI3AgAgA0G4BmogIjcDACADQcAGaiAhNwMAIANByAZqICA3AwAgAyADKQOADCIgNwLMByADQdgFaiADQdAGakEEciIIQQhqKQIANwMAIANB4AVqIAhBEGopAgA3AwAgA0HoBWogCEEYaikCADcDACADICA3A7AGIAMgCCkCADcD0AUgA0GIBmogA0H4BmpBBHIiCEEYaikCADcDACADQYAGaiAIQRBqKQIANwMAIANB+AVqIAhBCGopAgA3AwAgAyAIKQIANwPwBSADQagGaiADQaAHakEEciIIQRhqKQIANwMAIANBoAZqIAhBEGopAgA3AwAgA0GYBmogCEEIaikCADcDACADIAgpAgA3A5AGIAEgBEHgAGpByKnAABCsASADKAL4Cw0JIANBjAhqIAYpAwAiIDcCACADQYQIaiAFKQMAIiE3AgAgA0H8B2ogBykDACIiNwIAIANBoAhqICI3AwAgA0GoCGogITcDACADQbAIaiAgNwMAIAMgAykDgAwiIDcC9AcgAyAgNwOYCCABIARB5ABqQdipwAAQrAEgAygC+AsNCiADQdQIaiAGKQMAIiA3AgAgA0HMCGogBSkDACIhNwIAIANBxAhqIAcpAwAiIjcCACADQegIaiAiNwMAIANB8AhqICE3AwAgA0H4CGogIDcDACADIAMpA4AMIiA3ArwIIAMgIDcD4AggASAEQegAakHoqcAAEKwBIAMoAvgLDQsgA0GcCWogBikDACIgNwIAIANBlAlqIAUpAwAiITcCACADQYwJaiAHKQMAIiI3AgAgA0GwCWogIjcDACADQbgJaiAhNwMAIANBwAlqICA3AwAgAyADKQOADCIgNwKECSADICA3A6gJIAEgBEH4AGpB+KnAABCsASADKAL4Cw0MIANB5AlqIAYpAwA3AgAgA0HcCWogBSkDADcCACADQdQJaiAHKQMANwIAIAMgAykDgAw3AswJIAEgBEHwAGpBiKrAABCsASADKAL4Cw0NIANBjApqIAYpAwA3AgAgA0GECmogBSkDADcCACADQfwJaiAHKQMANwIAIAMgAykDgAw3AvQJIAEgBEH0AGpBmKrAABCsASADKAL4Cw0BIANBtApqIAYpAwA3AgAgA0GsCmogBSkDADcCACADQaQKaiAHKQMANwIAIAMgAykDgAw3ApwKIAEgBEGoqsAAENUBIANByApqIgYgA0GEDGopAgA3AwAgA0HQCmoiBSADQYwMaigCADYCACADIAMpAvwLNwPACiADKAL4CyIHQQJHDQ4gASAEQcgAakG4qsAAENUBIANB4ApqIANBhAxqKQIANwMAIANB6ApqIANBjAxqKAIANgIAIAMgAykC/As3A9gKIAMoAvgLIgFBAkcNDyADQawLaiEIIAQoAlghByAEKAJcIQtBACEGQQAhASMAQRBrIg8kAEEBIQ0CQCALQQFxBEAgCEKAgICAiIDACDcCAAwBCwJAIAtBAkkNAAJAAkAgBy0AAEEwRgRAIActAAFB+ABGDQELIAtBAXYhBgwBCyALQQJrIgtBAXYhBiALQQJJDQEgB0ECaiEHC0GZ4MEALQAAGgJAIAZBARD3AiINBEAgBy0AAEGSscEAai0AACIQQf8BRg0BIActAAFBkrHBAGotAAAiDkH/AUYNAUEBIQEDQAJAIA0gASIFakEBayAOIBBBBHRyOgAAIAEgBkYNACAHIAxqIg5BAmotAABBkrHBAGotAAAiEEH/AUYNACAMQQJqIQwgAUEBaiEBIA5BA2otAABBkrHBAGotAAAiDkH/AUcNAQsLIAUgBkkNASAGIQEMAgtBASAGEOMCAAsgD0EIaiEFQQAhAQNAIAEgB2ogAUEBaiEBLQAAQZKxwQBqLQAAQf8BRw0ACyABQQFrIQwCQCALIAsgAWtBAWpPBEAgBSAMNgIEIAUgASAHakEBay0AADYCAAwBCyAMIAtB+LPBABCgAgALIAggDykDCDcCBCAIQYCAgIB4NgIAIA0gBhCLAwwBCyAIIAY2AgggCCANNgIEIAggATYCAAsgD0EQaiQAIANBkAtqIQYjAEHQAGsiASQAAkACQAJAIAgoAgBBgICAgHhHBEAgBiAIKQIANwIEIAZBDGogCEEIaigCADYCAEECIQcMAQsgASAIKQIENwIAIAEgATYCCEEBIQcgAUEBNgIsIAFBvMDAADYCKCABQgE3AjQgASABQQhqrUKAgICAgAaENwMYIAEgAUEYaiIFNgIwIAFBDGogAUEoaiIIENMBIAFBADYCICABQoCAgIAQNwIYIAFBAzoASCABQSA2AjggAUEANgJEIAFBgL/AADYCQCABQQA2AjAgAUEANgIoIAEgBTYCPEHIqsAAIAgQlQINASAGIAEpAhg3AhAgBkEYaiABQSBqKAIANgIAIAZBDGogAUEUaigCADYCACAGIAEpAgw3AgQLIAYgBzYCACABQdAAaiQADAELQZi/wABBNyABQc8AakHQv8AAQazAwAAQlwIACyADKAKcCyEFIAMoApgLIQEgAygClAshBiADKAKQCyIHQQJHDRACQCAFQSBGBEAgA0GRDGogAUEYaikAADcAACADQYkMaiABQRBqKQAANwAAIANBgQxqIAFBCGopAAA3AAAgAyABKQAANwD5C0EAIQcgBkUNASABIAYQiwMMAQsgAyAFNgKEDCADIAE2AoAMIAMgBjYC/AtBASEHCyADIAc6APgLIwBBEGsiBiQAIANB0AtqIgUCfyADQfgLaiIHIgEtAABFBEAgBSABKQABNwABIAVBGWogAUEZaikAADcAACAFQRFqIAFBEWopAAA3AAAgBUEJaiABQQlqKQAANwAAQQAMAQsgBkEIaiABQQxqKAIANgIAIAYgASkCBDcDACMAQdAAayIBJAAgASAGNgIIIAFBATYCLCABQZizwAA2AiggAUIBNwI0IAEgAUEIaq1CgICAgNAChDcDGCABIAFBGGoiCDYCMCABQQxqIAFBKGoiCxDTASABQQA2AiAgAUKAgICAEDcCGCABQQM6AEggAUEgNgI4IAFBADYCRCABQdyxwAA2AkAgAUEANgIwIAFBADYCKCABIAg2AjxB2KrAACALEJUCBEBB9LHAAEE3IAFBzwBqQayywABBiLPAABCXAgALIAVBBGoiBSABKQIYNwIQIAVBGGogAUEgaigCADYCACAFQQxqIAFBFGooAgA2AgAgBSABKQIMNwIEIAVBATYCACABQdAAaiQAIAYoAgAiAQRAIAYoAgQgARCLAwtBAQs6AAAgBkEQaiQAIAMtANALDREgA0GIC2oiBSADQekLaikAADcDACADQYALaiIIIANB4QtqKQAANwMAIANB+ApqIgsgA0HZC2opAAA3AwAgAyADKQDRCzcD8AogByAEQTxqQeiqwAAQ1QEgA0HAC2oiASADQYQMaikCADcDACADQcgLaiIGIANBjAxqKAIANgIAIAMgAykC/As3A7gLIAMoAvgLIg1BAkcNEiAHIARB7ABqQfiqwAAQrAEgAygC+AtFBEAgA0HsC2ogA0GYDGopAwAiIDcCACADQeQLaiADQZAMaikDACIhNwIAIANB3AtqIANBiAxqKQMAIiI3AgAgA0GIAmogIjcDACADQZACaiAhNwMAIANBmAJqICA3AwAgA0GIA2ogA0GwBGopAwA3AwAgA0GQA2ogA0G4BGooAgA2AgAgAyADKQOADCIgNwLUCyADICA3A4ACIAMgAykDqAQ3A4ADIANBpANqIAYoAgA2AgAgA0GcA2ogASkDADcCACADIAMpA7gLNwKUAyADQbgDaiADQegKaigCADYCACADQbADaiADQeAKaikDADcDACADIAMpA9gKNwOoAyADQZgBaiAFKQMANwMAIANBkAFqIAgpAwA3AwAgA0GIAWogCykDADcDACADIAMpA/AKNwOAASADQbgBaiADQbAIaikDADcDACADQbABaiADQagIaikDADcDACADQagBaiADQaAIaikDADcDACADIAMpA5gINwOgASADQdgBaiADQfgIaikDADcDACADQdABaiADQfAIaikDADcDACADQcgBaiADQegIaikDADcDACADIAMpA+AINwPAASADQfgBaiADQcAJaikDADcDACADQfABaiADQbgJaikDADcDACADQegBaiADQbAJaikDADcDACADIAMpA6gJNwPgASADQbgCaiADQfAJakEEciIBQRhqKQIANwMAIANBsAJqIAFBEGopAgA3AwAgA0GoAmogAUEIaikCADcDACADIAEpAgA3A6ACIANB2AJqIANBmApqQQRyIgFBGGopAgA3AwAgA0HQAmogAUEQaikCADcDACADQcgCaiABQQhqKQIANwMAIAMgASkCADcDwAIgA0H4AmogA0HICWpBBHIiAUEYaikCADcDACADQfACaiABQRBqKQIANwMAIANB6AJqIAFBCGopAgA3AwAgAyABKQIANwPgAiADQcwDaiADQZgFaigCADYCACADQcQDaiADQZAFaikDADcCACADIAMpA4gFNwK8AyADQeADaiADQcgFaigCADYCACADQdgDaiADQcAFaikDADcDACADIAMpA7gFNwPQAyADQfQDaiADQegEaigCADYCACADQewDaiADQeAEaikDADcCACADIAMpA9gENwLkAyADQYgEaiADQdAKaigCADYCACADQYAEaiADQcgKaikDADcDACADIAMpA8AKNwP4AyACQQhqIAMgA0HQBWpBgAEQrAMiAUGQBBCsAxogAkEANgIAIAEoAuwHIgJBhAFPBEAgAhAACyABKALEByICQYQBTwRAIAIQAAsgASgCnAciAkGEAU8EQCACEAALIAEoAvQGIgFBhAFJDRggARAADBgLIANB6AtqIANBlAxqKAIAIgE2AgAgA0HgC2ogA0GMDGopAgAiIDcDACADQdgLaiADQYQMaikCACIhNwMAIAMgAykC/AsiIjcD0AsgAkEcaiABNgIAIAJBFGogIDcCACACQQxqICE3AgAgAiAiNwIEIAJBATYCAAwTCyADKALoBSEBIAIgAykDkAQ3AgggAiABNgIcIAIgCzYCBCACQQE2AgAgAkEYaiAIKAIANgIAIAJBEGogBykDADcCAAwWCyADQbAKaiADQZQMaigCACIBNgIAIANBqApqIANBjAxqKQIAIiA3AwAgA0GgCmogA0GEDGopAgAiITcDACADIAMpAvwLIiI3A5gKIAJBHGogATYCACACQRRqICA3AgAgAkEMaiAhNwIAIAIgIjcCBCACQQE2AgAMEQsgAygC6AUhASACIAMpA8AENwIIIAIgATYCHCACIAs2AgQgAkEBNgIAIAJBGGogA0HQBGooAgA2AgAgAkEQaiADQcgEaikDADcCAAwUCyADKALoBSEBIAIgAykD8AQ3AgggAiABNgIcIAIgCzYCBCACQQE2AgAgAkEYaiAIKAIANgIAIAJBEGogBykDADcCAAwTCyADKALoBSEBIAIgAykDoAU3AgggAiABNgIcIAIgBTYCBCACQQE2AgAgAkEYaiADQbAFaigCADYCACACQRBqIANBqAVqKQMANwIADBILIANB6AZqIANBlAxqKAIAIgE2AgAgA0HgBmogA0GMDGopAgAiIDcDACADQdgGaiADQYQMaikCACIhNwMAIAMgAykC/AsiIjcD0AYgAkEcaiABNgIAIAJBFGogIDcCACACQQxqICE3AgAgAiAiNwIEIAJBATYCAAwQCyADQZAHaiADQZQMaigCACIBNgIAIANBiAdqIANBjAxqKQIAIiA3AwAgA0GAB2ogA0GEDGopAgAiITcDACADIAMpAvwLIiI3A/gGIAJBHGogATYCACACQRRqICA3AgAgAkEMaiAhNwIAIAIgIjcCBCACQQE2AgAMDgsgA0G4B2ogA0GUDGooAgAiATYCACADQbAHaiADQYwMaikCACIgNwMAIANBqAdqIANBhAxqKQIAIiE3AwAgAyADKQL8CyIiNwOgByACQRxqIAE2AgAgAkEUaiAgNwIAIAJBDGogITcCACACICI3AgQgAkEBNgIADAwLIANB4AdqIANBlAxqKAIAIgE2AgAgA0HYB2ogA0GMDGopAgAiIDcDACADQdAHaiADQYQMaikCACIhNwMAIAMgAykC/AsiIjcDyAcgAkEcaiABNgIAIAJBFGogIDcCACACQQxqICE3AgAgAiAiNwIEIAJBATYCAAwKCyADQYgIaiADQZQMaigCACIBNgIAIANBgAhqIANBjAxqKQIAIiA3AwAgA0H4B2ogA0GEDGopAgAiITcDACADIAMpAvwLIiI3A/AHIAJBHGogATYCACACQRRqICA3AgAgAkEMaiAhNwIAIAIgIjcCBCACQQE2AgAMCQsgA0HQCGogA0GUDGooAgAiATYCACADQcgIaiADQYwMaikCACIgNwMAIANBwAhqIANBhAxqKQIAIiE3AwAgAyADKQL8CyIiNwO4CCACQRxqIAE2AgAgAkEUaiAgNwIAIAJBDGogITcCACACICI3AgQgAkEBNgIADAgLIANBmAlqIANBlAxqKAIAIgE2AgAgA0GQCWogA0GMDGopAgAiIDcDACADQYgJaiADQYQMaikCACIhNwMAIAMgAykC/AsiIjcDgAkgAkEcaiABNgIAIAJBFGogIDcCACACQQxqICE3AgAgAiAiNwIEIAJBATYCAAwHCyADQeAJaiADQZQMaigCACIBNgIAIANB2AlqIANBjAxqKQIAIiA3AwAgA0HQCWogA0GEDGopAgAiITcDACADIAMpAvwLIiI3A8gJIAJBHGogATYCACACQRRqICA3AgAgAkEMaiAhNwIAIAIgIjcCBCACQQE2AgAMBgsgA0GICmogA0GUDGooAgAiATYCACADQYAKaiADQYwMaikCACIgNwMAIANB+AlqIANBhAxqKQIAIiE3AwAgAyADKQL8CyIiNwPwCSACQRxqIAE2AgAgAkEUaiAgNwIAIAJBDGogITcCACACICI3AgQgAkEBNgIADAULIAMoApAMIQEgAiADKQPACjcCCCACIAE2AhwgAiAHNgIEIAJBATYCACACQRhqIAUoAgA2AgAgAkEQaiAGKQMANwIADAQLIAMoApAMIQYgAiADKQPYCjcCCCACIAY2AhwgAiABNgIEIAJBATYCACACQRhqIANB6ApqKAIANgIAIAJBEGogA0HgCmopAwA3AgAMAwsgAiADKQKgCzcCFCACQRxqIANBqAtqKAIANgIAIAIgBTYCECACIAE2AgwgAiAGNgIIIAIgBzYCBCACQQE2AgAMAgsgA0GLC2ogA0HsC2ooAgAiATYAACADQYMLaiADQeQLaikCACIgNwAAIANB+wpqIANB3AtqKQIAIiE3AAAgAyADKQLUCyIiNwDzCiACQRxqIAE2AAAgAkEUaiAgNwAAIAJBDGogITcAACACICI3AAQgAkEBNgIADAELIAMoApAMIQUgAiADKQO4CzcCCCACIAU2AhwgAiANNgIEIAJBATYCACACQRhqIAYoAgA2AgAgAkEQaiABKQMANwIACyADKALsByIBQYQBSQ0AIAEQAAsgAygCxAciAUGEAUkNACABEAALIAMoApwHIgFBhAFJDQAgARAACyADKAL0BiIBQYQBSQ0AIAEQAAsgBCgCYCIBQYQBTwRAIAEQAAsgBCgCZCIBQYQBTwRAIAEQAAsgBCgCaCIBQYQBTwRAIAEQAAsgBCgCbCIBQYQBTwRAIAEQAAsgBCgCcCIBQYQBTwRAIAEQAAsgBCgCdCIBQYQBTwRAIAEQAAsgBCgCeCIBQYQBTwRAIAEQAAsgBCgCfCIBQYQBTwRAIAEQAAsgBCgCACIBBEAgBCgCBCABEIsDCyAEKAIMIgEEQCAEKAIQIAEQiwMLIAQoAhgiAQRAIAQoAhwgARCLAwsgBCgCJCIBBEAgBCgCKCABEIsDCyARKAIAIgEEQCAEKAI0IAEQiwMLIAQoAjwiAQRAIAQoAkAgARCLAwsgBCgCSCIBBEAgBCgCTCABEIsDCyAEKAJUIgEEQCAEKAJYIAEQiwMLIANBoAxqJAAgCigC+A8NASAKQegDaiAJQQRyIBJBkAQQrANBkAQQrAMaIApBCGoiASATQeADEKwDGiAAQQhqIAFB8AcQrAMaIABBADYCACAKKAIEIQIgCigCACIAQYQBTwRAIAAQAAsMAwsgCkGQCGogCkGUEGooAgAiBDYCACAKQYgIaiAKQYwQaikCACIgNwMAIApBgAhqIApBhBBqKQIAIiE3AwAgCiAKKQL8DyIiNwP4ByAAQRxqIAQ2AgAgAEEUaiAgNwIAIABBDGogITcCACAAICI3AgQgAEEBNgIADAELIApB+AtqIApBlBBqKAIAIgE2AgAgCkHwC2ogCkGMEGopAgAiIDcDACAKQegLaiAKQYQQaikCACIhNwMAIAogCikC/A8iIjcD4AsgAEEcaiABNgIAIABBFGogIDcCACAAQQxqICE3AgAgACAiNwIEIABBATYCACAKKAIEIQIgCigCACEBCyABQYQBTwRAIAEQAAsLIAJBgwFLBEAgAhAACyAKQZAVaiQAC9oDAQN/IwBBsAFrIgQkAAJAAkACQAJAIAMpAwBQBEAgBEHYAGogASACEKYBIAQoAlgNAiAEQShqIARBgAFqKQMANwMAIARBIGogBEH4AGopAwA3AwAgBEEYaiAEQfAAaikDADcDACAEQRBqIARB6ABqKQMANwMAIAQgBCkDYDcDCAwBCyAEQShqIANBKGopAwA3AwAgBEEgaiADQSBqKQMANwMAIARBGGogA0EYaikDADcDACAEQRBqIANBEGopAwA3AwAgBCADKQMINwMICyAEQfAAaiICIAFBuARqKQMANwMAIARB6ABqIgMgAUGwBGopAwA3AwAgBEHgAGogAUGoBGopAwA3AwAgBEESOgB4IAQgASkDoAQ3A1ggBEEwaiIFIARBCGogBEHYAGoiBhDHASAGIAEQnAEgBCgCWA0BIARBqAFqIARBgAFqKQMANwMAIARBoAFqIARB+ABqKQMANwMAIARBmAFqIAIpAwA3AwAgBEGQAWogAykDADcDACAEIAQpA2A3A4gBIABBCGogBSAEQYgBahDHASAAQQA2AgAMAgsgBCgCXCEBIABBATYCACAAIAE2AgQMAQsgBCgCXCEBIABBATYCACAAIAE2AgQLIARBsAFqJAALkwQCAn8JfiMAQbABayIDJAAgA0FAayABQfgDaikDADcDACADQThqIAFB8ANqKQMANwMAIANBMGogAUHoA2opAwA3AwAgA0ESOgBIIAMgASkD4AM3AyggA0H4AGoiBEHYx8AAQQQQsAECQCADKAJ4RQRAIAMpA5gBIQogAykDkAEhByADKQOIASEFIAMpA4ABIQsgBCABEJwBAkAgAygCeEUEQCADKQOQASEIIAMpA4gBIQYCfiADKQOAASIMIAtYBEAgBSAGVK0hCSAFIAZ9DAELIAUgBlStIAUgBlGtfCEJIAUgBkJ/hXwLIQ0gAykDmAEhBiAHIAh9IQUCQCAJUARAIAcgCFStIQcMAQsgBSAJVK0gByAIVK18IQcgBSAJfSEFCyAKIAZ9IQgCQCAHUARAIAYgClgNAQwFCyAGIApWIAcgCFZyDQQgCCAHfSEICyADQRI6AHAgAyAINwNoIAMgBTcDYCADIA03A1ggAyALIAx9NwNQIAMgA0EoaiADQdAAahDGASAAQQhqIAMgAhDGASAAQQA2AgAMAQsgAygCfCEBIABBATYCACAAIAE2AgQLIANBsAFqJAAPCyADIAMoAnw2AqwBQe3EwABBKyADQawBakGYxcAAQczewAAQlwIACyADQQA2AogBIANBATYCfCADQeTEwAA2AnggA0IENwKAASADQfgAakG0xMAAEMUCAAuyCAIMfwF+IwBBMGsiBSQAIABBDGohDSAFQQhqrUKAgICAkBiEIQ8CfwNAIAYhBAJAIAIgCU8EQANAIAEgCWohB0EBIQ4CfyACIAlrIgZBCE8EQAJAAkACQAJAIAdBA2pBfHEiAyAHRg0AIAMgB2siAyAGIAMgBkkbIghFDQBBACEDQQEhCgNAIAMgB2otAABBCkYNBCAIIANBAWoiA0cNAAsgCCAGQQhrIgpLDQIMAQsgBkEIayEKQQAhCAsDQCAHIAhqIgNBBGooAgBBipSo0ABzIgtBgYKECGsgC0F/c3EgAygCAEGKlKjQAHMiA0GBgoQIayADQX9zcXJBgIGChHhxDQEgCEEIaiIIIApNDQALCwJAAkAgBiAIayILRQRAQQAhCwwBCyAHIAhqIQdBACEDQQEhCgNAIAMgB2otAABBCkYEQCADIQsMAwsgCyADQQFqIgNHDQALC0EAIQoLIAggC2ohAwsgBSADNgIEIAUgCjYCACAFKAIEIQMgBSgCAAwBC0EAIQNBACACIAlGDQAaA0BBASADIAdqLQAAQQpGDQEaIAYgA0EBaiIDRw0ACyAGIQNBAAsiB0EBRwRAIAIhCSAHDQNBACEOIAQhBiACIQMMAwsgAyAJaiIDQQFqIQkCQCACIANNDQAgASADai0AAEEKRw0AIAkhBgwDCyACIAlPDQALC0EAIQ4gBCEGIAIhAwsgBSADIARrIgM2AgwgBSABIARqNgIIAkACQAJAAkAgDEUEQCAALQAQDQEMAgsgDSgCAEEKEO8CDQIgAEEBOgAQIAUoAgwhAwsgA0UNAiANIQMjAEHQAGsiBCQAAn8CQAJAAkAgACgCAEEBaw4CAgEACyAEIABBBGo2AiggBEEBNgI0IARBjK/BADYCMCAEQgE3AjwgBCAEQShqrUKAgICA4BiENwMQIAQgBEEQajYCOCADIARBMGpB6K7BACgCABEBAAwCCyAAKAIEIAwgA0HUrsEAIAAoAggoAhARCAAMAQsgBCAAQQRqNgIMIAwEQCAEQQA2AkAgBEEBNgI0IARBsK/BADYCMCAEQgQ3AjggAyAEQTBqQeiuwQAoAgARAQAMAQsgBCAEQQxqrUKAgICA8BiENwMoIARBATYCJCAEQQI2AhQgBEGYr8EANgIQIARBATYCHCAEQQE6AEwgBEEANgJIIARCIDcCQCAEQoCAgIDAADcCOCAEQQI2AjAgBCAEQTBqNgIgIAQgBEEoajYCGCADIARBEGpB6K7BACgCABEBAAsgBEHQAGokAA0BIABBADoAEAsgDSgCACEDIAUgDzcDKCAFQQE2AhQgBUHsrsEANgIQIAVCATcCHCADQRRqKAIAIANBGGooAgAgBSAFQShqNgIYIAVBEGoQswFFDQELQQEMAgsgDEEBaiEMIA4NAAtBAAsgBUEwaiQAC8oDAgN/BH4jAEHAAWsiAyQAIANB0ABqIAFBIGoiBCkDADcDACADQcgAaiABQRhqKQMANwMAIANBQGsgAUEQaikDADcDACADQThqIAFBCGopAwA3AwAgAyABKQMANwMwQgEhBgJAAkACQCAELQAAIgEOAgIBAAtCCiEGQgEhCANAIANBEGogBkIBIAFBAXEiBBsgB0IAIAQbIAggCRCWAiADQSBqIAYgByAGIAcQlgIgAUEDSyADQShqKQMAIQcgA0EYaikDACEJIAMpAyAhBiADKQMQIQggAUEBdiEBDQALIAMgCCAJIAYgBxCWAiADQQhqKQMAIQcgAykDACEGDAELQgohBgsgA0GIAWoiASAHNwMAIAMgBjcDgAEgA0EBNgKkASADQciUwAA2AqABIANCATcCrAEgAyADQYABaq1CgICAgPAAhDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQ0wEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQiwMLIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiADQdgAaiACEHogA0HAAWokAAvKAwIDfwR+IwBBwAFrIgMkACADQdAAaiABQSBqIgQpAwA3AwAgA0HIAGogAUEYaikDADcDACADQUBrIAFBEGopAwA3AwAgA0E4aiABQQhqKQMANwMAIAMgASkDADcDMEIBIQYCQAJAAkAgBC0AACIBDgICAQALQgohBkIBIQgDQCADQRBqIAZCASABQQFxIgQbIAdCACAEGyAIIAkQlgIgA0EgaiAGIAcgBiAHEJYCIAFBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIAFBAXYhAQ0ACyADIAggCSAGIAcQlgIgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0HIlMAANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIDwAIQ3A7gBIAMgA0G4AWo2AqgBIANBlAFqIANBoAFqENMBIANB8ABqQgA3AwAgA0IANwNoIAEpAwAhBiADKQOAASEHIAMoApQBIgEEQCADKAKYASABEIsDCyADQRI6AHggAyAHNwNYIAMgBjcDYCAAIANBMGogA0HYAGogAhBzIANBwAFqJAALygMCA38EfiMAQcABayIDJAAgA0HQAGogAUEgaiIEKQMANwMAIANByABqIAFBGGopAwA3AwAgA0FAayABQRBqKQMANwMAIANBOGogAUEIaikDADcDACADIAEpAwA3AzBCASEGAkACQAJAIAQtAAAiAQ4CAgEAC0IKIQZCASEIA0AgA0EQaiAGQgEgAUEBcSIEGyAHQgAgBBsgCCAJEJYCIANBIGogBiAHIAYgBxCWAiABQQNLIANBKGopAwAhByADQRhqKQMAIQkgAykDICEGIAMpAxAhCCABQQF2IQENAAsgAyAIIAkgBiAHEJYCIANBCGopAwAhByADKQMAIQYMAQtCCiEGCyADQYgBaiIBIAc3AwAgAyAGNwOAASADQQE2AqQBIANByJTAADYCoAEgA0IBNwKsASADIANBgAFqrUKAgICA8ACENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahDTASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARCLAwsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIAIgA0HYAGoQcyADQcABaiQAC8oDAgN/BH4jAEHAAWsiAyQAIANB0ABqIAFBIGoiBCkDADcDACADQcgAaiABQRhqKQMANwMAIANBQGsgAUEQaikDADcDACADQThqIAFBCGopAwA3AwAgAyABKQMANwMwQgEhBgJAAkACQCAELQAAIgEOAgIBAAtCCiEGQgEhCANAIANBEGogBkIBIAFBAXEiBBsgB0IAIAQbIAggCRCWAiADQSBqIAYgByAGIAcQlgIgAUEDSyADQShqKQMAIQcgA0EYaikDACEJIAMpAyAhBiADKQMQIQggAUEBdiEBDQALIAMgCCAJIAYgBxCWAiADQQhqKQMAIQcgAykDACEGDAELQgohBgsgA0GIAWoiASAHNwMAIAMgBjcDgAEgA0EBNgKkASADQciUwAA2AqABIANCATcCrAEgAyADQYABaq1CgICAgPAAhDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQ0wEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQiwMLIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiACIANB2ABqEHogA0HAAWokAAvKAwIDfwR+IwBBwAFrIgMkACADQdAAaiABQSBqIgQpAwA3AwAgA0HIAGogAUEYaikDADcDACADQUBrIAFBEGopAwA3AwAgA0E4aiABQQhqKQMANwMAIAMgASkDADcDMEIBIQYCQAJAAkAgBC0AACIBDgICAQALQgohBkIBIQgDQCADQRBqIAZCASABQQFxIgQbIAdCACAEGyAIIAkQlgIgA0EgaiAGIAcgBiAHEJYCIAFBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIAFBAXYhAQ0ACyADIAggCSAGIAcQlgIgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0GM/sAANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIDgCIQ3A7gBIAMgA0G4AWo2AqgBIANBlAFqIANBoAFqENMBIANB8ABqQgA3AwAgA0IANwNoIAEpAwAhBiADKQOAASEHIAMoApQBIgEEQCADKAKYASABEIsDCyADQRI6AHggAyAHNwNYIAMgBjcDYCAAIANBMGogA0HYAGogAhB7IANBwAFqJAALygMCA38EfiMAQcABayIDJAAgA0HQAGogAUEgaiIEKQMANwMAIANByABqIAFBGGopAwA3AwAgA0FAayABQRBqKQMANwMAIANBOGogAUEIaikDADcDACADIAEpAwA3AzBCASEGAkACQAJAIAQtAAAiAQ4CAgEAC0IKIQZCASEIA0AgA0EQaiAGQgEgAUEBcSIEGyAHQgAgBBsgCCAJEJYCIANBIGogBiAHIAYgBxCWAiABQQNLIANBKGopAwAhByADQRhqKQMAIQkgAykDICEGIAMpAxAhCCABQQF2IQENAAsgAyAIIAkgBiAHEJYCIANBCGopAwAhByADKQMAIQYMAQtCCiEGCyADQYgBaiIBIAc3AwAgAyAGNwOAASADQQE2AqQBIANBjP7AADYCoAEgA0IBNwKsASADIANBgAFqrUKAgICA4AiENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahDTASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARCLAwsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIANB2ABqIAIQdCADQcABaiQAC8oDAgN/BH4jAEHAAWsiAyQAIANB0ABqIAFBIGoiBCkDADcDACADQcgAaiABQRhqKQMANwMAIANBQGsgAUEQaikDADcDACADQThqIAFBCGopAwA3AwAgAyABKQMANwMwQgEhBgJAAkACQCAELQAAIgEOAgIBAAtCCiEGQgEhCANAIANBEGogBkIBIAFBAXEiBBsgB0IAIAQbIAggCRCWAiADQSBqIAYgByAGIAcQlgIgAUEDSyADQShqKQMAIQcgA0EYaikDACEJIAMpAyAhBiADKQMQIQggAUEBdiEBDQALIAMgCCAJIAYgBxCWAiADQQhqKQMAIQcgAykDACEGDAELQgohBgsgA0GIAWoiASAHNwMAIAMgBjcDgAEgA0EBNgKkASADQYz+wAA2AqABIANCATcCrAEgAyADQYABaq1CgICAgOAIhDcDuAEgAyADQbgBajYCqAEgA0GUAWogA0GgAWoQ0wEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQiwMLIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiACIANB2ABqEHQgA0HAAWokAAvKAwIDfwR+IwBBwAFrIgMkACADQdAAaiABQSBqIgQpAwA3AwAgA0HIAGogAUEYaikDADcDACADQUBrIAFBEGopAwA3AwAgA0E4aiABQQhqKQMANwMAIAMgASkDADcDMEIBIQYCQAJAAkAgBC0AACIBDgICAQALQgohBkIBIQgDQCADQRBqIAZCASABQQFxIgQbIAdCACAEGyAIIAkQlgIgA0EgaiAGIAcgBiAHEJYCIAFBA0sgA0EoaikDACEHIANBGGopAwAhCSADKQMgIQYgAykDECEIIAFBAXYhAQ0ACyADIAggCSAGIAcQlgIgA0EIaikDACEHIAMpAwAhBgwBC0IKIQYLIANBiAFqIgEgBzcDACADIAY3A4ABIANBATYCpAEgA0GM/sAANgKgASADQgE3AqwBIAMgA0GAAWqtQoCAgIDgCIQ3A7gBIAMgA0G4AWo2AqgBIANBlAFqIANBoAFqENMBIANB8ABqQgA3AwAgA0IANwNoIAEpAwAhBiADKQOAASEHIAMoApQBIgEEQCADKAKYASABEIsDCyADQRI6AHggAyAHNwNYIAMgBjcDYCAAIANBMGogAiADQdgAahB7IANBwAFqJAALtgMCC38FfiMAQdABayIEJAAgACkDGCENAkACQCAAKQMAIg4g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IQ0DQCABQQJqIQwgByABLQABIgJqIQggCyABLQAAIgFHBEAgASALSw0CIAghByAMIgEgCkYNAgwBCwJAAkAgByAITQRAIAQgCEkNASADIAdqIQEDQCACRQ0DIAJBAWshAiABLQAAIAFBAWohASANRw0AC0EAIQkMBQsgByAIQYDNwQAQjwMACyMAQTBrIgAkACAAIAQ2AgQgACAINgIAIABBAjYCDCAAQfjJwQA2AgggAEICNwIUIAAgAEEEaq1CgICAgNAOhDcDKCAAIACtQoCAgIDQDoQ3AyAgACAAQSBqNgIQIABBCGpBgM3BABDFAgALIAghByAMIgEgCkcNAAsLIAZFDQAgBSAGaiEEIABB//8DcSEBA0AgBUEBaiEAAkAgBS0AACICwCIDQQBOBEAgACEFDAELIAAgBEcEQCAFLQABIANB/wBxQQh0ciECIAVBAmohBQwBC0HwzMEAEJADAAsgASACayIBQQBIDQEgCUEBcyEJIAQgBUcNAAsLIAlBAXEL+QICBX8BfiMAQeAAayICJAACQAJAIAEpAxgiB0IAWQRAIAAgBzcDICAAIAEpAwA3AwggAEEYaiABQRBqKQMANwMAIABBEGogAUEIaikDADcDAAwBCyACQcgAaiABQRhqKQMANwMAIAJBQGsgAUEQaikDADcDACACQThqIgQgAUEIaikDADcDAEEBIQMgAkEBNgIUIAJBxKrBADYCECACQgE3AhwgAiABKQMANwMwIAIgAkEwaq1CgICAgMAAhDcDKCACIAJBKGo2AhggAkHUAGoiASACQRBqENMBIAJBCGogAUGcpMEAQcyqwQAQpgIgAigCDCEFIAIoAgghBiAEIAJB3ABqKAIANgIAQZngwQAtAAAaIAIgAikCVDcDMEEYQQQQ9wIiAUUNASABIAY2AgQgAUGEpcEANgIAIAEgAikDMDcCDCABIAU2AgggAUEUaiAEKAIANgIAIAAgATYCBAsgACADNgIAIAJB4ABqJAAPC0EEQRgQqAMAC/ECAQR/IAAoAgwhAgJAAkAgAUGAAk8EQCAAKAIYIQMCQAJAIAAgAkYEQCAAQRRBECAAKAIUIgIbaigCACIBDQFBACECDAILIAAoAggiASACNgIMIAIgATYCCAwBCyAAQRRqIABBEGogAhshBANAIAQhBSABIgJBFGogAkEQaiACKAIU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IAUgAhCEAQJAIAIoApgBBEAgAiACKAKcATYCrBkgAiACQawZajYCsBkgAkEBNgK0ESACQfS3wAA2ArARIAJCATcCvBEgAiACQbAZaq1CgICAgPABhDcDwBkgAiACQcAZaiIFNgK4ESACQbQZaiACQbARaiIGENMBIAJBADYCyBkgAkKAgICAEDcCwBkgAkEDOgDQESACQSA2AsARIAJBADYCzBEgAkG4tsAANgLIESACQQA2ArgRIAJBADYCsBEgAiAFNgLEEUH8nsAAIAYQlQJFDQFB0LbAAEE3IAJBzxlqQYi3wABB5LfAABCXAgALIAJBkAFqIAJBwAFqKQMAIgg3AwAgAkHQAGogAkGoAWopAwAiCTcDACACQdgAaiACQbABaikDACIKNwMAIAJB4ABqIAJBuAFqKQMAIgs3AwAgAkHoAGogCDcDACACQShqIAk3AwAgAkEwaiAKNwMAIAJBOGogCzcDACACQUBrIAg3AwAgAiACKQOgASIINwNIIAIgCDcDICAEIAJBIGpBjJ/AABC4AQwBCyACQYQBaiACQcgZaigCADYCACACQfgAaiIFIAJBvBlqKAIANgIAIAIgAikCwBk3AnwgAiACKQK0GTcDcCACQawZahDtAiACQdgAaiACQYABaikDACIINwMAIAJB0ABqIAUpAwAiCTcDACACIAIpA3AiCjcDSCAEQQE2AgAgBCAKNwIEIARBDGogCTcCACAEQRRqIAg3AgALIAFBgwFLBEAgARAACyACQdAZaiQAAn8gAygCBCIBQQJGBEAgAygCCCEHQQAMAQsgA0E4aiADQRxqKAIANgIAIANBMGogA0EUaikCADcDACADQShqIANBDGopAgA3AwAgAyADKQIENwMgIANBIGoQ5QELIQIgACABQQJHNgIIIAAgAjYCBCAAIAc2AgAgA0FAayQAC/EIAgt/BH4jAEFAaiIEJAAgBEEEaiEFIwBBsBlrIgIkACACQZARaiIHIAEQAiABEAMQvAECQAJAAkACQCACKAKQEUUEQCACQagBaiIGIAJBmAlqQQRyIAJBmBFqQfAHEKwDQfAHEKwDGiMAQeAAayIDJAAgA0EIaiIJIAYQnAEgAkH4AGoiCAJ/IAMoAghFBEAgA0HYAGogA0EwaikDADcDACADQdAAaiADQShqKQMANwMAIANByABqIANBIGoiCikDADcDACADQUBrIANBGGoiCykDADcDACADIAMpAxA3AzggCiAGQZgGaikDADcDACALIAZBkAZqKQMANwMAIANBEGogBkGIBmopAwA3AwAgA0ESOgAoIAMgBikDgAY3AwggCEEIaiADQThqIAkQzwFBAAwBCyAIIAMoAgw2AgRBAQs2AgAgA0HgAGokACACKAJ4BEAgAiACKAJ8NgKMGSACIAJBjBlqIgM2ApAZIAJBATYClBEgAkH0t8AANgKQESACQgE3ApwRIAIgAkGQGWqtQoCAgIDwAYQ3A6AZIAIgAkGgGWoiBjYCmBEgAkGUGWogBxDTASACQQA2AqgZIAJCgICAgBA3AqAZIAJBAzoAsBEgAkEgNgKgESACQQA2AqwRIAJBuLbAADYCqBEgAkEANgKYESACQQA2ApARIAIgBjYCpBFBnJ/AACAHEJUCDQMgAkHkAGogAkGoGWooAgA2AgAgAkHYAGoiBiACQZwZaigCADYCACACIAIpAqAZNwJcIAIgAikClBk3A1AgAxDtAiACQThqIAJB4ABqKQMAIg03AwAgAkEwaiAGKQMAIg43AwAgAiACKQNQIg83AyggBUEBNgIAIAUgDzcCBCAFQQxqIA43AgAgBUEUaiANNwIADAILIAJB8ABqIAJBoAFqKQMAIg03AwAgAkEwaiACQYgBaikDACIONwMAIAJBOGogAkGQAWopAwAiDzcDACACQUBrIAJBmAFqKQMAIhA3AwAgAkHIAGogDTcDACACQQhqIA43AwAgAkEQaiAPNwMAIAJBGGogEDcDACACQSBqIA03AwAgAiACKQOAASINNwMoIAIgDTcDACAFIAJBrJ/AABC4ASABQYMBTQ0EDAMLIAJBsAlqIAJBrBFqKAIAIgM2AgAgAkGoCWogAkGkEWopAgAiDTcDACACQaAJaiACQZwRaikCACIONwMAIAIgAikClBEiDzcDmAkgBUEYaiADNgIAIAVBEGogDTcCACAFQQhqIA43AgAgBSAPNwIACyABQYMBSw0BDAILQdC2wABBNyACQa8ZakGIt8AAQeS3wAAQlwIACyABEAALIAJBsBlqJAACfyAEKAIEIgFBAkYEQCAEKAIIIQxBAAwBCyAEQThqIARBHGooAgA2AgAgBEEwaiAEQRRqKQIANwMAIARBKGogBEEMaikCADcDACAEIAQpAgQ3AyAgBEEgahDlAQshAiAAIAFBAkc2AgggACACNgIEIAAgDDYCACAEQUBrJAALvQYCCX8DfiMAQUBqIgMkACADQQRqIQQjAEGAAmsiAiQAIAIgARAJIgU2AnwgAkHQAWoiBiACQfwAakG8n8AAEKwBAkACQCACKALQAUUEQCACQfQAaiACQfABaiIHKQMAIgs3AgAgAkHsAGogAkHoAWoiCCkDACIMNwIAIAJB5ABqIAJB4AFqIgkpAwAiDTcCACACQThqIA03AwAgAkFAayAMNwMAIAJByABqIAs3AwAgAiACKQPYASILNwJcIAIgCzcDMCACQRI6AFAgAiABEAoiBTYC/AEgBiACQfwBakHMn8AAEKwBIAIoAtABRQRAIAJBxAFqIAcpAwAiCzcCACACQbwBaiAIKQMAIgw3AgAgAkG0AWogCSkDACINNwIAIAJBiAFqIA03AwAgAkGQAWogDDcDACACQZgBaiALNwMAIAIgAikD2AEiCzcCrAEgAiALNwOAASACQRI6AKABIAJBCGoiBSACQTBqIAJBgAFqEM8BIAQgBUHcn8AAELgBIAIoAvwBIgRBhAFPBEAgBBAACyACKAJ8IgRBhAFPBEAgBBAACwwDCyACQcABaiACQewBaigCACIGNgIAIAJBuAFqIAJB5AFqKQIAIgs3AwAgAkGwAWogAkHcAWopAgAiDDcDACACIAIpAtQBIg03A6gBIARBGGogBjYCACAEQRBqIAs3AgAgBEEIaiAMNwIAIAQgDTcCACAFQYQBTwRAIAUQAAsgAigCfCEFDAELIAJB8ABqIAJB7AFqKAIAIgY2AgAgAkHoAGogAkHkAWopAgAiCzcDACACQeAAaiACQdwBaikCACIMNwMAIAIgAikC1AEiDTcDWCAEQRhqIAY2AgAgBEEQaiALNwIAIARBCGogDDcCACAEIA03AgALIAVBhAFPBEAgBRAACwsgAUGDAUsEQCABEAALIAJBgAJqJAACfyADKAIEIgFBAkYEQCADKAIIIQpBAAwBCyADQThqIANBHGooAgA2AgAgA0EwaiADQRRqKQIANwMAIANBKGogA0EMaikCADcDACADIAMpAgQ3AyAgA0EgahDlAQshAiAAIAFBAkc2AgggACACNgIEIAAgCjYCACADQUBrJAALugEBA38jAEEwayICJAAgAkEYaiID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AwsgAkEwaiQAC3UBA38jAEEwayICJAAgAkEkaiIDIAAQjAEgAkECNgIEIAJBqILBADYCACACIAOtQoCAgIDACIQ3AxggAkIBNwIMIAIgAkEYajYCCCABKAIUIAEoAhggAhCzASACKAIkIgEEQCACKAIoIAEQiwMLIAJBMGokAAt+AQF/IwBBMGsiAiQAIAJBATYCDCACQcC5wQA2AgggAkIBNwIUIAIgAkEoaq1CgICAgOAahDcDICACQSRBIyAALQAAIgAbNgIsIAJB67nBAEHIucEAIAAbNgIoIAIgAkEgajYCECABKAIUIAEoAhggAkEIahCzASACQTBqJAALdQICfgF/AkBBfyABKQMYIgIgACkDGCIDUiACIANWGyIEDQBBfyABKQMQIgIgACkDECIDUiACIANWGyIEDQBBfyABKQMIIgIgACkDCCIDUiACIANWGyIEDQBBfyABKQMAIgIgACkDACIDUiACIANWGyEECyAEC3kBA38jAEEQayICJAACfyAAKAIAIgAoAgQiA0UEQCACIAAgACgCACgCBBEAACACKAIAIAEgAigCBCgCDBEBAAwBCyAAKAIIIQQgAkEIaiAAIAAoAgAoAgQRAAAgAyACKAIIIAIoAgwgASAEKAIYEQgACyACQRBqJAALdAEDfyMAQRBrIgIkAAJ/IAAoAgQiA0UEQCACIAAgACgCACgCBBEAACACKAIAIAEgAigCBCgCDBEBAAwBCyAAKAIIIQQgAkEIaiAAIAAoAgAoAgQRAAAgAyACKAIIIAIoAgwgASAEKAIYEQgACyACQRBqJAALbAEBfyMAQSBrIgIkACABQQBIBEAgAkEANgIYIAJBATYCDCACQcC0wQA2AgggAkIENwIQIAJBCGpB9LXBABDFAgALIABCADcDCCAAQRhqQgA3AwAgAEEQakIANwMAIAAgAa03AwAgAkEgaiQAC2oCAX8BfiMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQYDFwQA2AgggA0ICNwIUIANCgICAgNAOIgQgA62ENwMoIAMgBCADQQRqrYQ3AyAgAyADQSBqNgIQIANBCGogAhDFAgALZwAjAEEwayIAJABBmODBAC0AAARAIABBAjYCDCAAQeC+wQA2AgggAEIBNwIUIAAgATYCLCAAIABBLGqtQoCAgIDQDoQ3AyAg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NwNQIAUgBUEIaq1CgICAgNAOhDcDSAwDCyADIAdBuMzBABCPAwALIAQQkAMACyAAIAEgAyABIAQQ8AIACyAFIAVByABqNgI4IAVBMGogBBDFAgALEQAgACgCBCAAKAIIIAEQqwMLEwAgAEEoNgIEIABB/LfAADYCAAsgACAAQvTTncyM7av4IjcDCCAAQo/br+y2xJSmazcDAAsgACAAQqLL/bSm1brAQjcDCCAAQqWTmLe4zoKBATcDAAsTACAAQfC4wAA2AgQgACABNgIACxEAIAAoAgQgACgCCCABEKIBCxoAAn8gAUEJTwRAIAEgABDRAQwBCyAAEGsLCxMAIABBKDYCBCAAQYSGwQA2AgALEwAgAEH4hsEANgIEIAAgATYCAAsRACAAKAIAIAAoAgQgARCrAwsTACAAQSg2AgQgAEHho8EANgIACxMAIABB2KTBADYCBCAAIAE2AgALIgAgAEKi+ciH7tyLtap/NwMIIABC7dqY15vd967iADcDAAsRACAAKAIAIAAoAgQgARCiAQshACAAQt769//5o87Ps383AwggAEKg4aHLzteD2QI3AwALEwAgAEEoNgIEIABBiKvBADYCAAsTACAAQYitwQA2AgQgACABNgIACxMAIABBxK3BADYCBCAAIAE2AgALIgAgAELevcKWnNn84KF/NwMIIABCpvDJlbTzivf1ADcDAAsWAEGs4MEAIAA2AgBBqODBAEEBNgIACyEAIABC5NvUoJrp/vKXfzcDCCAAQtPqhZGU99iGfzcDAAshACAAQpTV95jr18HJ6QA3AwggAELzqNHa3Z6JoGw3AwALIgAgAELtuq22zYXU9eMANwMIIABC+IKZvZXuxsW5fzcDAAsTACAAQaDAwQA2AgQgACABNgIACxEAIAEgACgCACAAKAIEEKMBCxEAIAEoAhQgASgCGCAAELMBC2IBAn8CQAJAIABBBGsoAgAiAkF4cSIDQQRBCCACQQNxIgIbIAFqTwRAIAJBACADIAFBJ2pLGw0BIAAQrgEMAgtB4bvBAEEuQZC8wQAQugIAC0GgvMEAQS5B0LzBABC6AgALCw4AIAAoAgAgASACEOsCC2sBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQI2AgwgA0HYycEANgIIIANCAjcCFCADIANBBGqtQoCAgIDQDoQ3AyggAyADrUKAgICA0A6ENwMgIAMgA0EgajYCECADQQhqIAIQxQIACwwAIAA1AgAgARDhAQtrAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0ECNgIMIANBrMrBADYCCCADQgI3AhQgAyADQQRqrUKAgICA0A6ENwMoIAMgA61CgICAgNAOhDcDICADIANBIGo2AhAgA0EIaiACEMUCAAsPAEHmw8EAQSsgABC6AgALCwAgACMAaiQAIwALDgAgAUGMnMAAQQUQ6wILDgAgAUGgs8AAQQUQ6wILDAAgACgCACABEJ0CCw4AIAFBuLnAAEEFEOsCCw4AIABBgL/AACABELMBCw4AIAFB1MDAAEEFEOsCCw4AIABB3MHAACABELMBCw4AIAFBmMPAAEEFEOsCC6YBAQF/IAAoAgAjAEFAaiIAJAAoAgAhAiAAQgA3AzggAEE4aiACEGAgACAAKAI8IgI2AjQgACAAKAI4NgIwIAAgAjYCLCAAIABBLGqtQoCAgIDwGoQ3AyAgAEECNgIMIABBmLrBADYCCCAAQgE3AhQgACAAQSBqNgIQIAEoAhQgASgCGCAAQQhqELMBIAAoAiwiAgRAIAAoAjAgAhCLAwsgAEFAayQACw4AIAFBqIvBAEEFEOsCCw4AIABB6IvBACABELMBCw4AIAFBpI3BAEEFEOsCCw4AIAFB7JDBAEESEOsCCwwAIAAoAgAgARCVAgsMACAAKAIAIAEQ7wILDgAgAEH0rsEAIAEQswELDAAgACgCACABEI4DCwkAIAAgARBhAAsOACAAQaC7wQAgARCzAQsOACAAQfjAwQAgARCzAQsOACABQejAwQBBBRDrAgsOACABQe3AwQBBCxDrAgsaACAAIAFByODBACgCACIAQdgBIAAbEQAAAAvFAgECfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAESQRAIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgAiABQT9xQYABcjoADyACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA0gAiABQRJ2QQdxQfABcjoADEEEDAILIAAoAggiAyAAKAIARgRAIAAQ/gELIAAgA0EBajYCCCAAKAIEIANqIAE6AAAMAgsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQILIQEgASAAKAIAIAAoAggiA2tLBEAgACADIAEQ/AEgACgCCCEDCyAAKAIEIANqIAJBDGogARCsAxogACABIANqNgIICyACQRBqJABBAAsOACAAQbTGwQAgARCzAQsLACACIAAgARCjAQu4AgEHfwJAIAIiBEEQSQRAIAAhAgwBCyAAQQAgAGtBA3EiA2ohBSADBEAgACECIAEhBgNAIAIgBi0AADoAACAGQQFqIQYgAkEBaiICIAVJDQALCyAFIAQgA2siCEF8cSIHaiECAkAgASADaiIDQQNxBEAgB0EATA0BIANBA3QiBEEYcSEJIANBfHEiBkEEaiEBQQAgBGtBGHEhBCAGKAIAIQYDQCAFIAYgCXYgASgCACIGIAR0cjYCACABQQRqIQEgBUEEaiIFIAJJDQALDAELIAdBAEwNACADIQEDQCAFIAEoAgA2AgAgAUEEaiEBIAVBBGoiBSACSQ0ACwsgCEEDcSEEIAMgB2ohAQsgBARAIAIgBGohAwNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANJDQALCyAAC68BAQN/IAEhBQJAIAJBEEkEQCAAIQEMAQsgAEEAIABrQQNxIgNqIQQgAwRAIAAhAQNAIAEgBToAACABQQFqIgEgBEkNAAsLIAQgAiADayICQXxxIgNqIQEgA0EASgRAIAVB/wFxQYGChAhsIQMDQCAEIAM2AgAgBEEEaiIEIAFJDQALCyACQQNxIQILIAIEQCABIAJqIQIDQCABIAU6AAAgAUEBaiIBIAJJDQALCyAAC0MBA38CQCACRQ0AA0AgAC0AACIEIAEtAAAiBUYEQCAAQQFqIQAgAUEBaiEBIAJBAWsiAg0BDAILCyAEIAVrIQMLIAMLCQAgAEEANgIACwkAIAAgARCeAgsJACAAIAE2AgALCQAgACABEO4BCwkAIAAgARDIAQsHACAAEO0CC+0GAgd/AX4CQCMAQdAAayICJAAgAkEANgIoIAJCgICAgBA3AiAgAkEDOgBMIAJBIDYCPCACQQA2AkggAkHcwcAANgJEIAJBADYCNCACQQA2AiwgAiACQSBqNgJAIwBBQGoiACQAQQEhBgJAIAJBLGoiBCgCFCIDQazEwQBBDCAEKAIYIgcoAgwiBBEDAA0AIAEoAgwhBSAAQQM2AhQgAEGUxMEANgIQIABCAzcCHCAAIAWtQoCAgIDwHYQ3AyggACAFQQxqrUKAgICA0A6ENwM4IAAgBUEIaq1CgICAgNAOhDcDMCAAIABBKGoiCDYCGCADIAcgAEEQahCzAQ0AIANB5MPBAEEBIAQRAwANAAJAIAEoAggiBQRAIANBuMTBAEEBIAQRAwANAiAAQThqIAVBEGopAgA3AwAgAEEwaiAFQQhqKQIANwMAIAAgBSkCADcDKCADIAcgCBCzAUUNAQwCCyAAIAEoAgAiBSABKAIEQQxqKAIAEQAAIAApAwBC+IKZvZXuxsW5f1INACAAKQMIQu26rbbNhdT14wBSDQAgA0G4xMEAQQEgBBEDAA0BIAMgBSgCACAFKAIEIAQRAwANAQtBACEGCyAAQUBrJAACQCAGRQRAIAJBGGogAkEoaigCACIDNgIAIAIgAikCICIJNwMQIAmnIgAgA2tBCU0EQCACQRBqIANBChD7ASACKAIYIQMgAigCECEACyACKAIUIgEgA2oiBEGdw8AAKQAANwAAIARBCGpBpcPAAC8AADsAACACIANBCmoiAzYCGCACQQhqEFQiBRBVIAIoAgghBiACKAIMIgQgACADa0sEQCACQRBqIAMgBBD7ASACKAIUIQEgAigCGCEDIAIoAhAhAAsgASADaiAGIAQQrAMaIAIgAyAEaiIDNgIYIAAgA2tBAU0EQCACQRBqIANBAhD7ASACKAIYIQMgAigCFCEBCyABIANqQYoUOwAAIAIgA0ECaiIDNgIYAkAgAyACKAIQIgdPBEAgASEADAELIANFBEBBASEAIAEgBxCLAwwBCyABIAdBASADEOUCIgBFDQILIAAgAxBWIAQEQCAGIAQQiwMLIAVBhAFPBEAgBRAACyACQdAAaiQADAILQfTBwABBNyACQRBqQazCwABBiMPAABCXAgALQQEgAxDjAgALCwIACwIACwud3gEKAEGAgMAAC70WY2FsY3VsYXRlX3NoYXJlc19pbl9naXZlbl9ib25kc19vdXRfdXA6IHkgPSAgPCAgPSBkeQAAEAAsAAAALAAQAAMAAAAvABAABQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL3lpZWxkX3NwYWNlLnJzAAAATAAQAHEAAABdAAAAGAAAADFlMThjYWxjdWxhdGVfc2hhcmVzX2luX2dpdmVuX2JvbmRzX291dF91cDogayA9ICA9IHnUABAALAAAACwAEAADAAAAAAEQAAQAAABMABAAcQAAAGkAAAAYAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQADAAAABAAAAAQAAAABAAAATAAQAHEAAAByAAAALQAAAEwAEABxAAAAcgAAABkAAABjYWxjdWxhdGVfc2hhcmVzX2luX2dpdmVuX2JvbmRzX291dF91cDogX3ogPSAgPSB6ZQAAiAEQAC0AAAAsABAAAwAAALUBEAAFAAAATAAQAHEAAAB8AAAAGAAAAEwAEABxAAAAdQAAACkAAABMABAAcQAAAHUAAAAZAAAATAAQAHEAAABwAAAAEgAAAEwAEABxAAAAYwAAACUAAABleHBlY3RlZCBrPSA+PSB6ZT0AACQCEAALAAAALwIQAAcAAABMABAAcQAAAD4AAAAYAAAATAAQAHEAAABDAAAAKwAAAEwAEABxAAAAQwAAABcAAABleHBlY3RlZCB5PSA+PSBkZWx0YV95PQB4AhAACwAAAIMCEAAMAAAATAAQAHEAAABLAAAAGAAAAEwAEABxAAAARgAAACcAAABMABAAcQAAAEYAAAAXAAAATAAQAHEAAABBAAAAEQAAAEwAEABxAAAANgAAADoAAABjYWxjdWxhdGVfc2hhcmVzX291dF9naXZlbl9ib25kc19pbl9kb3duOiBrID0gAADwAhAALgAAACwAEAADAAAAAAEQAAQAAABMABAAcQAAALcAAAAYAAAATAAQAHEAAADEAAAALQAAAEwAEABxAAAAxAAAABkAAAAwAAAATAAQAHEAAADQAAAAEAAAAEwAEABxAAAAxwAAACkAAABMABAAcQAAAMcAAAAZAAAATAAQAHEAAADCAAAAEgAAAEwAEABxAAAAswAAACUAAABMABAAcQAAAFABAAAaAAAATAAQAHEAAABOAQAAMAAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2xvbmcvbWF4LnJzAADcAxAAbgAAAC4AAAAXAAAAUmVhY2hlZCBhYnNvbHV0ZSBtYXggYm9uZCBhbW91bnQgaW4gYGNhbGN1bGF0ZV9tYXhfbG9uZ2AuAAAAXAQQADkAAADcAxAAbgAAAGsAAAAcAAAA3AMQAG4AAACaAAAAFwAAANwDEABuAAAAoAAAABgAAABJbml0aWFsIGd1ZXNzIGluIGBjYWxjdWxhdGVfbWF4X2xvbmdgIGlzIGluc29sdmVudCB3aXRoIGVycm9yOgoA0AQQAD8AAADcAxAAbgAAAGAAAAAcAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbG9uZy9vcGVuLnJzTWluaW11bVRyYW5zYWN0aW9uQW1vdW50OiBJbnB1dCBhbW91bnQgdG9vIGxvdwAAAJcFEAAuAAAAKAUQAG8AAAAiAAAAGAAAAEluc3VmZmljaWVudExpcXVpZGl0eTogTmVnYXRpdmUgSW50ZXJlc3TgBRAAKAAAACgFEABvAAAALQAAABgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9sb25nL2Nsb3NlLnJzIAYQAHAAAAASAAAAGAAAAENsb3NpbmcgdGhlIGxvbmcgcmVzdWx0cyBpbiBmZWVzIGV4Y2VlZGluZyB0aGUgbG9uZyBwcm9jZWVkcy4AAACgBhAAPQAAACAGEABwAAAAHQAAABgAAAAgBhAAcAAAADwAAAANAAAAIAYQAHAAAAA4AAAANAAAACAGEABwAAAAMwAAAA0AAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9tYXgucnNleHBlY3RlZCBidWRnZXQ9ID49IG1pbl90cmFuc2FjdGlvbl9hbW91bnQ9AACXBxAAEAAAAKcHEAAbAAAAKAcQAG8AAADTAAAAGAAAAE5vIHNvbHZlbnQgc2hvcnQgaXMgcG9zc2libGUuAAAA5AcQAB0AAAAoBxAAbwAAAPgAAAAYAAAAbWF4IHNob3J0IGV4Y2VlZGVkIGJ1ZGdldAAAABwIEAAZAAAAKAcQAG8AAABYAQAAGAAAAG1heCBzaG9ydCBib25kIGFtb3VudCBleGNlZWRlZCBhYnNvbHV0ZSBtYXggYm9uZCBhbW91bnQAUAgQADcAAAAoBxAAbwAAAF0BAAAYAAAAKAcQAG8AAADmAAAAQwAAACgHEABvAAAAygAAABgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9jbG9zZS5ycwAAAMAIEABxAAAA1gAAABgAAADACBAAcQAAAOcAAAAYAAAAwAgQAHEAAAD6AAAAGAAAAMAIEABxAAAA+QAAADUAAADACBAAcQAAABMAAAANAAAAwAgQAHEAAAAoAAAAEAAAAMAIEABxAAAAIQAAACgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAACkCRAAaQAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAAAgChAAHQAAAAEAAAAAAAAASW52YWxpZCBCaWdJbnQ6IFAKEAAQAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9maXhlZF9wb2ludC5yc2gKEABwAAAASwAAAE8AAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAAgAAAAEAAAABAAAAAEAAABoChAAcAAAAM0AAABGAAAAAQAAAAAAAAABAEHolsAAC4ElEgAAAAAAAABGaXhlZFBvaW50ICBpcyB0b28gbGFyZ2UgdG8gY29udmVydCB0byBJMjU2LnALEAALAAAAewsQACEAAABoChAAcAAAAKkAAAANAAAARmFpbGVkIHRvIGNvbnZlcnQgRml4ZWRQb2ludCAgdG8gSTI1Ni4AALwLEAAdAAAA2QsQAAkAAABoChAAcAAAAKwAAAAUAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9tYXRoLnJzAAAABAwQAGkAAABAAAAADgAAAENhbm5vdCBkaXZpZGUgYnkgemVyby4AAIAMEAAWAAAABAwQAGkAAAA2AAAADQAAAEZpeGVkUG9pbnQgb3BlcmF0aW9uIG92ZXJmbG93ZWQ6ICAqICAvIACwDBAAIQAAANEMEAADAAAA1AwQAAMAAAAEDBAAaQAAAD8AAAAaAAAABAwQAGkAAAAwAAAACgAAAAQMEABpAAAAJgAAAA0AAAAEDBAAaQAAAC8AAAAWAAAABAwQAGkAAAB1AAAAFQAAAAQMEABpAAAAXQAAABEAAAAJAAAADAAAAAQAAAAKAAAACwAAAAwAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AA0AAAAAAAAAAQAAAA4AAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAsA0QAEsAAAD/CQAADgAAAEVycm9yL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY29uc29sZV9lcnJvcl9wYW5pY19ob29rLTAuMS43L3NyYy9saWIucnMAABEOEABxAAAAlQAAAA4AAAAwLjE2LjFjcmF0ZXMvaHlwZXJkcml2ZS13YXNtL3NyYy9saWIucnMAmg4QACEAAAAt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cmMvbG9uZy9tYXgucnMAvRwQACYAAAAdAAAAHQAAAL0cEAAmAAAAHgAAACoAAAC9HBAAJgAAACEAAAAKAAAAvRwQACYAAAAjAAAADwAAAGNyYXRlcy9oeXBlcmRyaXZlLXdhc20vc3JjL3Nob3J0L21heC5ycwAkHRAAJwAAACUAAAAdAAAAJB0QACcAAAAmAAAALQAAACQdEAAnAAAAJwAAACoAAAAkHRAAJwAAACkAAAArAAAAJB0QACcAAAAuAAAACgAAACQdEAAnAAAAMAAAAA8AAAAkHRAAJwAAAEMAAAAqAAAAJB0QACcAAABEAAAAKgAAACQdEAAnAAAARwAAAAoAAAAkHRAAJwAAAEkAAAAPAEGQvMAAC5cHL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy92YWx1ZS5yc0ZhaWxlZCB0byBjb252ZXJ0IHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHRvIHUxMjg6IHoeEAA2AAAAEB4QAGoAAACQAAAABQAAAENhbm5vdCBmbGlwIHNpZ24gb2YgdW5zaWduZWQgdHlwZTogAMgeEAAjAAAAEB4QAGoAAABpAAAADQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwAAAAQfEABpAAAAJgAAAAEAAAAxAAAADAAAAAQAAAAyAAAAMwAAAAwAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5ADQAAAAAAAAAAQAAADUAAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMA4B8QAEsAAAD/CQAADgAAAAEAAAAAAAAANgAAAAQAAAAEAAAANwAAAEVycm9ySW52YWxpZEhleENoYXJhY3RlcmMAAAA2AAAABAAAAAQAAAA4AAAAaW5kZXgAAAA2AAAABAAAAAQAAAA5AAAAT2RkTGVuZ3RoSW52YWxpZFN0cmluZ0xlbmd0aGFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93AAAAtCAQAB0AAAA6AAAADAAAAAQAAAA7AAAAPAAAAD0AAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AD4AAAAAAAAAAQAAAD8AAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAPCEQAEsAAAD/CQAADgAAAEVycm9yCgpTdGFjazoKCgBBx8PAAAuCOYAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAADIIRAAaQAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAABEIhAAHQAAADBjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlQwAAAAQAAAAEAAAAAQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2Jhc2UucnNTdGF0ZSBpcyBpbnNvbHZlbnQuIEV4cGVjdGVkIHNoYXJlX3Jlc2VydmVzPSA+IGxvbmdfZXhwb3N1cmVfc2hhcmVzPSArIG1pbl9zaGFyZV9yZXNlcnZlcz0SIxAALAAAAD4jEAAYAAAAViMQABYAAACoIhAAagAAAB4AAAAYAAAAqCIQAGoAAAAsAAAAJwAAADFlMzaoIhAAagAAAEQAAAANAAAAqCIQAGoAAAA/AAAAQwAAAKgiEABqAAAAPgAAAEIAAAAxZTE4L1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbG9uZy9mZWVzLnJzANwjEABvAAAAFQAAAEkAAADcIxAAbwAAABUAAAAVAAAA3CMQAG8AAABIAAAAFQAAANwjEABvAAAAYgAAABEAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9sb25nL21heC5ycwAAjCQQAG4AAAAYAAAAFQAAAIwkEABuAAAAFwAAAFEAAACMJBAAbgAAABcAAAAdAAAAjCQQAG4AAAAUAAAAEAAAAIwkEABuAAAAEwAAAA0AAAB0YXJnZXQgc2hhcmUgcmVzZXJ2ZXMgbGVzcyB0aGFuIGVmZmVjdGl2ZSBzaGFyZSByZXNlcnZlc0wlEAA4AAAAjCQQAG4AAADvAAAAGAAAAIwkEABuAAAA6QAAAA4AAACMJBAAbgAAAOgAAAAQAAAAjCQQAG4AAADnAAAAJgAAAIwkEABuAAAA5gAAABAAAACMJBAAbgAAAOUAAAA+AAAAjCQQAG4AAADlAAAAEAAAAIwkEABuAAAA2QAAACgAAACMJBAAbgAAANkAAAASAAAAjCQQAG4AAADXAAAAGwAAAIwkEABuAAAA1gAAAB0AAACMJBAAbgAAANUAAAAlAAAAjCQQAG4AAADTAAAAVQAAAIwkEABuAAAA0wAAACEAAACMJBAAbgAAAM8AAAAZAAAAMC44ZTE4AACMJBAAbgAAABgBAABAAAAAjCQQAG4AAAAYAQAALAAAAIwkEABuAAAAFwEAAA8AAACMJBAAbgAAABYBAAAmAAAAjCQQAG4AAAAWAQAAEgAAADJlMTiMJBAAbgAAAFEBAAA/AAAAjCQQAG4AAABRAQAAIwAAAIwkEABuAAAAUAEAAA8AAACMJBAAbgAAAE8BAAA+AAAAjCQQAG4AAABOAQAAFQAAAIwkEABuAAAATQEAAEQAAACMJBAAbgAAAEoBAABRAAAAZXhwZWN0ZWQgbmV3X3NoYXJlX2Ftb3VudD0gPj0gZ292ZXJuYW5jZV9mZWVfc2hhcmVzPUgnEAAaAAAAYicQABoAAACMJBAAbgAAAIIBAAAYAAAATG9uZyB3b3VsZCByZXN1bHQgaW4gYW4gaW5zb2x2ZW50IHBvb2wuAJwnEAAnAAAAjCQQAG4AAACUAQAAEQAAAIwkEABuAAAAigEAAFEAAACMJBAAbgAAALEBAAATAAAAjCQQAG4AAACwAQAAQgAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2xvbmcvb3Blbi5yc01pbmltdW1UcmFuc2FjdGlvbkFtb3VudDogSW5wdXQgYW1vdW50IHRvbyBsb3cAAAB7KBAALgAAAAwoEABvAAAAIgAAABgAAABJbnN1ZmZpY2llbnRMaXF1aWRpdHk6IE5lZ2F0aXZlIEludGVyZXN0xCgQACgAAAAMKBAAbwAAAC0AAAAYAAAAT3BlbiBsb25nIGRlcml2YXRpdmUgaXMgdW5kZWZpbmVkLgAABCkQACIAAAAMKBAAbwAAAGIAAAAYAAAADCgQAG8AAABrAAAAUQAAAAwoEABvAAAAawAAACIAAAAMKBAAbwAAAGYAAAAZAAAADCgQAG8AAABXAAAAHgAAAEludmFsaWRBcHI6IEFwciBpcyBvdXRzaWRlIHRoZSBzbGlwcGFnZSBndWFyZC4AAIApEAAuAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbHAvYWRkLnJzuCkQAGwAAAAVAAAAGAAAAERlY3JlYXNlZFByZXNlbnRWYWx1ZVdoZW5BZGRpbmdMaXF1aWRpdHk6IFByZXNlbnQgdmFsdWUgZGVjcmVhc2VkIGFmdGVyIGFkZGluZyBsaXF1aWRpdHkuAAAANCoQAFkAAAC4KRAAbAAAACQAAAAYAAAATWluaW11bVRyYW5zYWN0aW9uQW1vdW50OiBOb3QgZW5vdWdoIGxwIHNoYXJlcyBtaW50ZWQuAACoKhAANgAAALgpEABsAAAALQAAABgAAABPdXRwdXRMaW1pdDogTm90IGVub3VnaCBscCBzaGFyZXMgbWludGVkLgAAAPgqEAApAAAAuCkQAGwAAAA0AAAAGAAAAE1pbmltdW1UcmFuc2FjdGlvbkFtb3VudDogQ29udHJpYnV0aW9uIGlzIHNtYWxsZXIgdGhhbiB0aGUgbWluaW11bSB0cmFuc2FjdGlvbi4APCsQAE8AAAC4KRAAbAAAAEIAAAAYAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbHAvbWF0aC5yc3VwZGF0ZSB3b3VsZCByZXN1bHQgaW4gc2hhcmUgcmVzZXJ2ZXMgYmVsb3cgbWluaW11bS4AAAARLBAANAAAAKQrEABtAAAAWQAAABgAAACkKxAAbQAAAFgAAABIAAAATmVnYXRpdmUgcHJlc2VudCB2YWx1ZSEAcCwQABcAAACkKxAAbQAAAKQAAAAYAAAApCsQAG0AAACjAAAAHAAAAKQrEABtAAAALAEAACMAAACkKxAAbQAAAMwAAAAnAAAAQXZlcmFnZSB0aW1lIHJlbWFpbmluZyBpcyBncmVhdGVyIHRoYW4gMWUxOC7QLBAALAAAAKQrEABtAAAAOwEAABgAAACkKxAAbQAAAEcBAAANAAAApCsQAG0AAABEAQAADQAAAKQrEABtAAAAOQEAAFkAAACkKxAAbQAAADkBAAArAAAAVmF1bHQgc2hhcmUgcHJpY2UgaXMgemVyby4AAFQtEAAaAAAApCsQAG0AAAA3AQAAGAAAAKQrEABtAAAANgEAACgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9scC91dGlscy5ycwAAmC0QAG4AAAA/AAAAMgAAAJgtEABuAAAAPwAAABgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9jbG9zZS5ycwAAACgu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AAAvAQAAKQAAAAw3EABxAAAAUAEAABoAAAAMNxAAcQAAAE4BAAAwAAAADDcQAHEAAABcAQAAGgAAAAw3EABxAAAAWgEAACoAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9saWIucnMAAAD4PBAAaQAAAJ4AAAANAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9maXhlZF9wb2ludC5yc3Q9EABwAAAASwAAAE8AAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAEcAAAAEAAAABAAAAAEAAAB0PRAAcAAAAM0AAABGAAAAAQAAAAAAAAABAEHw/MAAC8UFEgAAAAAAAABGaXhlZFBvaW50ICBpcyB0b28gbGFyZ2UgdG8gY29udmVydCB0byBJMjU2Lng+EAALAAAAgz4QACEAAAB0PRAAcAAAAKkAAAANAAAARmFpbGVkIHRvIGNvbnZlcnQgRml4ZWRQb2ludCAgdG8gSTI1Ni4AAMQ+EAAdAAAA4T4QAAkAAAB0PRAAcAAAAKwAAAAUAAAAAQAAAAAAAABGYWlsZWQgdG8gY29udmVydCB2YWx1ZSB0byB1bmRlcmx5aW5nIEZpeGVkUG9pbnRWYWx1ZSB0eXBlOgogICAgdmFsdWU6IAogICAgVW5kZXJseWluZyByYW5nZTogIHRvIAoAFD8QAEcAAABbPxAAFwAAAHI/EAAEAAAAdj8QAAEAAAD//////////////////////////////////////////xIAAAAAAAAAdD0QAHAAAAApAAAADQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvbWF0aC5ycwAAANA/EABpAAAAQAAAAA4AAABDYW5ub3QgZGl2aWRlIGJ5IHplcm8uAABMQBAAFgAAANA/EABpAAAANgAAAA0AAABGaXhlZFBvaW50IG9wZXJhdGlvbiBvdmVyZmxvd2VkOiAgKiAgLyAAfEAQACEAAACdQBAAAwAAAKBAEAADAAAA0D8QAGkAAAA/AAAAGgAAANA/EABpAAAAMAAAAAoAAADQPxAAaQAAACYAAAANAAAA0D8QAGkAAAAvAAAAFgAAANA/EABpAAAAdQAAABUAAADQPxAAaQAAAF0AAAARAAAARml4ZWRQb2ludCgpHEEQAAsAAAAnQRAAAQBB2ILBAAupDGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUASAAAAAQAAAAEAAAAAQAAAC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvdmFsdWUucnNGYWlsZWQgdG8gY29udmVydCB1bmRlcmx5aW5nIEZpeGVkUG9pbnRWYWx1ZSB0byB1MTI4OiD+QRAANgAAAJRBEABqAAAAkAAAAAUAAABDYW5ub3QgZmxpcCBzaWduIG9mIHVuc2lnbmVkIHR5cGU6IABMQhAAIwAAAJRBEABqAAAAaQAAAA0AAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAACIQhAAaQAAACYAAAABAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheUkAAAAMAAAABAAAAEoAAABJAAAADAAAAAQAAABLAAAASgAAACxDEABMAAAATQAAAE4AAABPAAAAUAAAAFEAAAAYAAAABAAAAFIAAABRAAAAGAAAAAQAAABTAAAAUgAAAGhDEABUAAAAVQAAAE4AAABUAAAAUAAAAFYAAABXAAAAVwAAAFgAAABZAAAAWQAAAFoAAABhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAAMBDEAAdAAAAMWUxOC9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL3V0aWxzLnJzZWZmZWN0aXZlIHNoYXJlIHJlc2VydmVzIGNhbm5vdCBiZSBuZWdhdGl2ZQAAV0QQACsAAADsQxAAawAAADAAAAAUAAAA7EMQAGsAAAB6AAAABgAAAOxDEABrAAAAjAAAADoAAADsQxAAawAAAJ8AAAA6AAAA7EMQAGsAAACeAAAAVAAAAOxDEABrAAAAngAAAAoAAABeAAAADAAAAAQAAABfAAAAYAAAAGEAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AGIAAAAAAAAAAQAAAGMAAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMATEUQAEsAAAD/CQAADgAAAEVycm9ySW52YWxpZCBCaWdJbnQ6IAAAAK1FEAAQAAAACiAgICBMb2NhdGlvbjogAAEAAAAAAAAAyEUQAA8AAABpAAAADAAAAAQAAABqAAAAawAAAGEAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AGwAAAAAAAAAAQAAAG0AAAAvcnVzdGMvYzk4N2FkNTI3NTQwZThmMTU2NWY1N2MzMTIwNGJkZTMzZjYzZGY3Ni9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMASEYQAEsAAAD/CQAADgAAAEVycm9yb2JqbgAAAAQAAAAEAAAAbwAAAE9iamVjdAAAbgAAAAQAAAAEAAAAcAAAAFJhbmdlRXJyb3IAAG4AAAAEAAAABAAAAHEAAABJbnZhbGlkIGFkZHJlc3M6IAogICAgAADwRhAAEQAAAAFHEAAFAAAASW52YWxpZCB1aW50MjU2OiAAAAAYRxAAEQAAAAFHEAAFAAAARmFpbGVkIHRvIHBhcnNlIEJpZ0ludDogPEcQABgAAAABRxAABQAAAEludmFsaWQgaW50MjU2OiBkRxAAEAAAAAFHEAAFAEGnj8EACwKAAgBByI/BAAvJEi9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwAAAMhHEABpAAAAJgAAAAEAAABhcml0aG1ldGljIG9wZXJhdGlvbiBvdmVyZmxvdwAAAERIEAAdAAAAVHJ5RnJvbUJpZ0ludEVycm9yRXhwb25lbnQgIGlzIHRvbyBzbWFsbCBmb3IgVTI1NjogAH5IEAAJAAAAh0gQABgAAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3V0aWxzLnJzAACwSBAAagAAADYAAAAJAAAAVW5leHBlY3RlZCBjaGFyYWN0ZXIgaW4gVTI1NjogAAAsSRAAHgAAALBIEABqAAAALQAAAA0AAAAgaXMgdG9vIHNtYWxsIGZvciBJMjU2OiB+SBAACQAAAGRJEAAYAAAAsEgQAGoAAABsAAAACQAAAFVuZXhwZWN0ZWQgY2hhcmFjdGVyIGluIEkyNTY6IAAAnEkQAB4AAACwSBAAagAAAGQAAAANAAAAMTM1MzA1OTk5MzY4ODkzMjMxNTg5aW52YWxpZCBleHBvbmVudCAAAOlJEAARAAAAsEgQAGoAAAB+AAAACQAAADUAAACwSBAAagAAAIQAAAAJAAAANTQ5MTY3Nzc0Njc3MDc0NzMzNTExNDE0NzExMjgAAACwSBAAagAAAIkAAAAOAAAAMjQzODUyNzI1MjE0NTQ4NDc5MDQ2NTkwNzY5ODU2OTMyNzYAsEgQAGoAAAC6AAAAEwAAADM4MjI4MzMwNzQ5NjMyMzY0NTMwNDI3MzgyNTg5MDIxNTgwMDMxNTU0MTY2MTU2NjcxOTVjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAHcAAAAEAAAABAAAAAEAAACwSBAAagAAAMgAAAASAAAAsEgQAGoAAADGAAAAHgAAALBIEABqAAAAoAAAABcAAACwSBAAagAAAIoAAAAXAAAAsEgQAGoAAACJAAAAJAAAALBIEABqAAAAhAAAAB4AAACwSBAAagAAAH0AAAANAAAAQ2Fubm90IGNhbGN1bGF0ZSBsbiBvZiBvZiBuZWdhdGl2ZSBudW1iZXIgb3IgemVyby4AAGxLEAAyAAAAsEgQAGoAAADQAAAACQAAADk2MTU5MzI3MzI4NTQ1OTYzODUyMzg0ODYzMjI1NDA2NjI5NjI0ODI4MTU3MDgxODMzMTYzODkyNjU4MDg5NDQ1NTI0NDM0NTY0ODU3MjU3MzkwMzc5NTg3NDAzNzU3NDMzOTMxMTExMTUwOTEwOTQ0MDk2NzA1MjAyMzg1NTUyNjk2NzQ1MDIzNzA5NjY3MjU0MDYzNzYzMzM2NTM0NTE1ODU3MTQ3MDY3NzM0MTczNzg2MDg3ODY3MDQ2MzYxODQ1MjY3OTUxNjQyMzU2NTEzNTA0MjYyNTgyNDk3ODc0OTg1NTczMDM1MjMzNDQwNjczNDY2MzAwNDUxODEzOTM2NzE2OTQ4NzQ3OTkzMTc4ODM3NjQwOTA1NjE0NTQ5NTgyODM0NDcwMzYxNzI5MjQ1NzU3MjcxOTY0NTEzMDY5NTY0MDE2ODY2OTAzOTQwMjc2NjM2NTE2MjQyMDg3Njk1NTMyMDQwNDg0NTc1OTAzOTIwMTIzNjI0ODUwNjE4MTY2MjIzMTg1Mzg5OTY5ODUwMTU3MTQwMjY1MzM1OTQyNzEzODkwOTQyOTk3MTI0NDM4NzMwMDI3NzM3NjU1ODM3NQAAsEgQAGoAAAANAQAACwAAADE2NzcyMDIxMTA5OTY3MTg1ODgzNDI4MjA5NjcwNjc0NDM5NjM1MTYxNjYxNjU5NzU3NzU1MjY4NTYxNDIyMTQ4NzI4NTk1ODE5Mzk0NzQ2OTE5MzgyMDU1OTIxOTg3ODE3NzkwODA5MzQ5OTIwODM3MTYwMDkyMDE3OTgyOTczMTg2MTczNjcwMjc3OTMyMTYyMTQ1OTU5NTQ3MjI1ODA0OTA3NDEwMTU2NzM3Nzg4MzAyMDAxODMwOAAAsEgQAGoAAAAfAQAAGAAAALBIEABqAAAAGwEAAAkAAACwSBAAagAAABgBAAAYAAAAsEgQAGoAAAALAQAAFwAAALBIEABqAAAABwEAABcAAACwSBAAagAAAAMBAAAXAAAAsEgQAGoAAAD/AAAAFwAAALBIEABqAAAA+wAAABcAAACwSBAAagAAAPcAAAAyAAAAsEgQAGoAAAD2AAAAIAAAALBIEABqAAAA8gAAABcAAACwSBAAagAAAO8AAAA0AAAAsEgQAGoAAADuAAAANAAAALBIEABqAAAA7QAAADQAAACwSBAAagAAAOwAAAA0AAAAsEgQAGoAAADrAAAANAAAALBIEABqAAAA6gAAACAAAAB4AAAAAAAAAAEAAAB5AAAAsEgQAGoAAADlAAAANQAAALBIEABqAAAA5QAAABgAAACwSBAAagAAAOQAAAAcAAAAsEgQAGoAAADhAAAAIQAAALBIEABqAAAA4AAAACEAAACwSBAAagAAAN8AAAAhAAAAsEgQAGoAAADeAAAAIQAAALBIEABqAAAA3QAAACEAAACwSBAAagAAANwAAAAhAAAAsEgQAGoAAADaAAAAIQAAAAEAAAAAAAAARmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdHlwZToKICAgIHZhbHVlOiAKICAgIFVuZGVybHlpbmcgcmFuZ2U6ICB0byAKABBQEABHAAAAV1AQABcAAABuUBAABAAAAHJQEAABAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy9maXhlZF9wb2ludC5yc5RQEABwAAAAKQAAAA0AQbiiwQALuQQSAAAAAAAAAP//////////////////////////////////////////EgAAAAAAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAHwAAAAEAAAABAAAAAEAAACUUBAAcAAAAM0AAABGAAAAAQAAAAAAAAABAAAAAAAAAEZpeGVkUG9pbnQoKcRREAALAAAAz1EQAAEAAAAtZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheQAAAH0AAAAMAAAABAAAAH4AAAB9AAAADAAAAAQAAAB/AAAAfgAAAAxSEACAAAAAgQAAAIIAAACDAAAAhAAAAIUAAAAYAAAABAAAAIYAAACFAAAAGAAAAAQAAACHAAAAhgAAAEhSEACIAAAAiQAAAIIAAACIAAAAhAAAAIoAAACLAAAAiwAAAIwAAACNAAAAjQAAAI4AAAAvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAAACgUhAAaQAAACYAAAABAAAASW50ZWdlciBvdmVyZmxvdyB3aGVuIGNhc3RpbmcgdG8gdXNpemUAABxTEAAmAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAABMUxAAHQBBmKfBAAv6OENhbm5vdCBmbGlwIHNpZ24gb2YgdW5zaWduZWQgdHlwZTogAJhTEAAjAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy92YWx1ZS5ycwAAxFMQAGoAAABpAAAADQAAAEZhaWxlZCB0byBjb252ZXJ0IHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHRvIHUxMjg6IAAAQFQQADYAAADEUxAAagAAAJAAAAAFAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZml4ZWRwb2ludG1hdGgtMC4xOC4xL3NyYy92YWx1ZV9pbXBscy5yc0ZhaWxlZCB0byBjb252ZXJ0IHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIG9mIHR5cGUgVTI1NiB0byBJMjU2OiAAAFUQAEMAAACQVBAAcAAAAH8AAAABAAAAjwAAAAwAAAAEAAAAkAAAAJEAAACSAAAAAAAAAAEAAACTAAAAlAAAAJUAAABkZXNjcmlwdGlvbigpIGlzIGRlcHJlY2F0ZWQ7IHVzZSBEaXNwbGF5mAAAABQAAAAEAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACdAAAAngAAAJ8AAACfAAAAoAAAAKEAAAAMAAAABAAAAKIAAAChAAAADAAAAAQAAACjAAAAogAAAORVEACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqgAAAKsAAACsAAAArAAAAK0AAACYAAAACAAAAAQAAACuAAAAmAAAAAgAAAAEAAAArwAAAK4AAAA8VhAApAAAALAAAACmAAAApwAAAKgAAACxAAAAGAAAAAQAAACyAAAAsQAAABgAAAAEAAAAswAAALIAAAB4VhAAtAAAALUAAACmAAAAtgAAAKgAAAC3AAAAFAAAAAQAAAC4AAAAtwAAABQAAAAEAAAAuQAAALgAAAC0VhAAugAAALsAAACmAAAAvAAAAKgAAAABAAAAAAAAADogAAD4VhAAAgAAAJgAAAAEAAAABAAAAJgAAAAEAAAABAAAAL0AAAAEVxAABFcQAL4AAAC/AAAAwAAAAAoKQ2F1c2VkIGJ5OgogICAgCgpMb2NhdGlvbjoKAAAAwgAAAAQAAAAEAAAAwwAAAMQAAADFAAAAAQAAAAAAAADCAAAAFAAAAAQAAACZAAAAmgAAAJsAAAABAAAAAAAAADogAAABAAAAAAAAAJRXEAACAAAAICAgICAgAACoVxAABgAAAGludmFsaWQgZGlnaXQgZm91bmQgaW4gc3RyaW5nL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZXRoZXJzLWNvcmUtMi4wLjE0L3NyYy90eXBlcy9pMjU2LnJzAAAA1VcQAGwAAADTAAAAMgAAANVXEABsAAAA1AAAADIAAAABAAAAAAAAAG51bWJlciBkb2VzIG5vdCBmaXQgaW4gMjU2LWJpdCBpbnRlZ2Vy////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg///////////////////////////////////woLDA0OD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y9Vc2Vycy9kYW5ueWRlbG90dC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2NvbnN0LWhleC0xLjEyLjAvc3JjL2xpYi5ycwAAAJJZEABjAAAAugIAAAwAAABVbnNpZ25lZCBpbnRlZ2VyIGNhbid0IGJlIGNyZWF0ZWQgZnJvbSBuZWdhdGl2ZSB2YWx1ZQAAAAhaEAA1AAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzZGl2aXNpb24gYnkgemVybwAAALFaEAAQAAAAMHgwYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3fPWhAAHQAAAEhaEABpAAAAJgAAAAEAAABIWhAAaQAAACsAAAABAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWRgdW53cmFwX3Rocm93YCBmYWlsZWRJbnZhbGlkIGNoYXJhY3RlciAnJyBhdCBwb3NpdGlvbiBbWxAAEwAAAG5bEAAOAAAASW52YWxpZCBpbnB1dCBsZW5ndGgvVXNlcnMvZGFubnlkZWxvdHQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9ydXN0Yy1oZXgtMi4xLjAvc3JjL2xpYi5ycwAAoFsQAGIAAAD+AAAAKAAAAKBbEABiAAAA/gAAAD8AAADUAAAABAAAAAQAAADVAAAAL1VzZXJzL2Rhbm55ZGVsb3R0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvb25jZV9jZWxsLTEuMTkuMC9zcmMvaW1wX3N0ZC5ycwA0XBAAZwAAAKEAAAA2AAAAAQAAADRcEABnAAAAmwAAAAkAAAABAAAAAAAAAGEgY2hhcmFjdGVyIGlzIG5vdCBpbiB0aGUgcmFuZ2UgMC05dGhlIG51bWJlciBpcyB0b28gbGFyZ2UgZm9yIHRoZSB0eXBlSnNWYWx1ZSgpD10QAAgAAAAXXRAAAQAAAHJlZW50cmFudCBpbml0AAAoXRAADgAAAC9ydXN0Yy9jOTg3YWQ1Mjc1NDBlOGYxNTY1ZjU3YzMxMjA0YmRlMzNmNjNkZjc2L2xpYnJhcnkvY29yZS9zcmMvY2VsbC9vbmNlLnJzAAAAQF0QAE0AAAAkAQAAQgAAANkAAAAMAAAABAAAANoAAADbAAAA3AAAAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjYvc3JjL2RsbWFsbG9jLnJzYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZAC4XRAAKQAAAKgEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAAuF0QACkAAACuBAAADQAAAGxpYnJhcnkvc3RkL3NyYy90aHJlYWQvbW9kLnJzdXNlIG9mIHN0ZDo6dGhyZWFkOjpjdXJyZW50KCkgaXMgbm90IHBvc3NpYmxlIGFmdGVyIHRoZSB0aHJlYWQncyBsb2NhbCBkYXRhIGhhcyBiZWVuIGRlc3Ryb3llZABgXhAAHQAAAOUCAAATAAAAZmFpbGVkIHRvIGdlbmVyYXRlIHVuaXF1ZSB0aHJlYWQgSUQ6IGJpdHNwYWNlIGV4aGF1c3RlZADsXhAANwAAAGBeEAAdAAAAuAQAAA0AAABtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkAAA8XxAAFQAAAFFfEAANAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzcF8QABgAAABiAQAACQAAAGNhbm5vdCBtb2RpZnkgdGhlIHBhbmljIGhvb2sgZnJvbSBhIHBhbmlja2luZyB0aHJlYWSYXxAANAAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnPUXxAAHAAAAIYAAAAJAAAA1F8QABwAAACLAgAAHgAAANkAAAAMAAAABAAAAN0AAADeAAAACAAAAAQAAADfAAAA3gAAAAgAAAAEAAAA4AAAAOEAAADiAAAAEAAAAAQAAADjAAAA5AAAAOUAAAAAAAAAAQAAAOYAAABFcnJvckxheW91dEVycm9y5wAAAAwAAAAEAAAA6AAAAOkAAADqAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACQYBAAEQAAAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnOsYBAAHAAAABkAAAAFAAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yAOsAAAAAAAAAAQAAAOwAAABsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMcYRAAGAAAAHkCAAAgAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQDrAAAAAAAAAAEAAADtAAAAbGlicmFyeS9hbGxvYy9zcmMvc3luYy5ycwAAAIBhEAAZAAAAdQEAADIAAABsaWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMuLjAxMjM0NTY3ODlhYmNkZWYAAAABAAAAAAAAADpbY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQAAAAEAAAAAAAAA5GEQAAEAAADkYRAAAQAAAHBhbmlja2VkIGF0IAoAAADyAAAAAAAAAAEAAADzAAAAaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyAAAExiEAAgAAAAbGIQABIAAAA9PSE9bWF0Y2hlc2Fzc2VydGlvbiBgbGVmdCAgcmlnaHRgIGZhaWxlZAogIGxlZnQ6IAogcmlnaHQ6IACbYhAAEAAAAKtiEAAXAAAAwmIQAAkAAAAgcmlnaHRgIGZhaWxlZDogCiAgbGVmdDogAAAAm2IQABAAAADkYhAAEAAAAPRiEAAJAAAAwmIQAAkAAAA6IAAAAQAAAAAAAAAgYxAAAgAAAPQAAAAMAAAABAAAAPUAAAD2AAAA9wAAACAgICAgeyAsICB7CiwKfSB9XWxpYnJhcnkvY29yZS9zcmMvZm10L251bS5ycwAAAF5jEAAbAAAAaQAAABcAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3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") + input = base64Decode("AGFzbQEAAAABxwEdYAJ/fwBgAn9/AX9gAX8Bf2ADf39/AX9gA39/fwBgAX8AYAR/f39/AGAFf39/f38AYAR/f39/AX9gBX9/f39/AX9gAABgBn9/f39/fwBgAAF/YAZ/f39/f38Bf2ADf35+AGADf35+AX9gAXwBf2ADfn9/AGAHf39/f39/fwF/YAJ+fwF/YAV/fn5+fgBgA39+fwBgBH9+fn4AYAV/f35/fwBgBH9+f38AYAV/f3x/fwBgBH98f38AYAV/f31/fwBgBH99f38AAqUvYhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgAFFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzFV9fd2JpbmRnZW5fc3RyaW5nX25ldwABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzH19fd2JnX3Bvb2xpbmZvX2NkZDAzZjNlM2RlMzM5YzkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19wb29sY29uZmlnX2E2N2JjZTViYzUzNDI1ZjcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diZ19hcHJfMWI1ZTliMDI5MGRjZmM5OQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJ19fd2JnX3Bvc2l0aW9uZHVyYXRpb25fNjkwMzZkNmZjMDhlM2RhYgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzGl9fd2JnX2FweV82NjJkZTllZDYyMjhmYTcyAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfcG9zaXRpb25kdXJhdGlvbl9lMzhkNTk4N2MwOGJhNmQxAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMiX193YmdfY3VycmVudHRpbWVfMGQ1OGUxOWQyN2UxYjE4ZgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHF9fd2JnX3ByaWNlX2RjNGQ4M2ZkN2JiMzUyZWIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19wb3NpdGlvbmR1cmF0aW9uX2ZjMThiODE1NjU4NzI2ZDYAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyJfX3diZ19jdXJyZW50dGltZV83ODM4NzhkNjZiOWU1MzQ3AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfY29udHJpYnV0aW9uXzgyN2JiNDdhMDY1ZmNkYTgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19hc2Jhc2VfYzY5OTk0ZDA2Yjk1Y2Y0MQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJl9fd2JnX21pbmxwc2hhcmVwcmljZV81MjJmODUyZTNkMGRiYzU2AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMdX193YmdfbWluYXByXzNkZmY3ZTFkODM1YmI5YmIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19tYXhhcHJfNGE5ZmNiNmZkNTZhOTdjMgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHV9fd2JnX2J1ZGdldF80MTFkNjNmYjZkNDU1YzhjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMqX193Ymdfb3BlbnZhdWx0c2hhcmVwcmljZV9iNWIyYzE5NWQ4NmY1NjRlAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfY2hlY2twb2ludGV4cG9zdXJlX2VkMWVjNDg2OTcyMTYwZWQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyhfX3diZ19jb25zZXJ2YXRpdmVwcmljZV9hNzk4Yzg2NDFjOWY2OGI1AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMkX193YmdfbWF4aXRlcmF0aW9uc184NzVmZjA0ZDBlYjI3ZWI1AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfY2hlY2twb2ludGV4cG9zdXJlXzZhMGMwYWNlNDkzODY4OWQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyRfX3diZ19tYXhpdGVyYXRpb25zXzFiZjBlMGRjZjAzZTFjNjEAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50X2FkYjk2MWM5MTYyMDkzMjUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19vcGVudmF1bHRzaGFyZXByaWNlX2FlN2FmYWQyYmI0Y2Y2YzQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50XzVkOTQ0ZWY5NDlmOGE5NDkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50X2JhOGU4ZjVhNTRlNWVkZTAAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19vcGVudmF1bHRzaGFyZXByaWNlXzIxMjhjMGYyOWQwMWU2MTgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyJfX3diZ192YXJpYWJsZWFweV8xNTdlOTVjNmQxNjgyZDU5AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfdGFyZ2V0YmFzZWFtb3VudF9lNWQ3NmZlMDM4MDU2MjQyAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMqX193Ymdfb3BlbnZhdWx0c2hhcmVwcmljZV9hMzg3ZmRmZWVlMGRkODZkAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMsX193YmdfYWJzb2x1dGVtYXhib25kYW1vdW50Xzk3YThiMWNhZGI5M2Q4MDEAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyVfX3diZ19tYXliZXRvbGVyYW5jZV8zOWY3ZGU3ZjJiODA0MDdjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfbWF5YmVtYXhpdGVyYXRpb25zXzU3MzNmOGQ5ZGIwOWRhMmMAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxxfX3diZ19jdXJ2ZV9iNzE5ZGE4NTkxNzdkYjkzAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMbX193YmdfZmxhdF8wMWE2MTkwN2MxNTcxYzdjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMjX193YmdfZ292ZXJuYW5jZWxwX2Y0NzUxNjE0ODEwMDIzYTcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcydfX3diZ19nb3Zlcm5hbmNlem9tYmllXzI2MTNiM2VjOWQyMGE5OGUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50X2U4N2Q3OTRlMDAyMzUwNzkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19iYXNlYW1vdW50XzAwMGU1ZGM1Mzg0ODY4OWUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50XzRhMWI2NzE1YTg4YTFhZjUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyNfX3diZ19tYXR1cml0eXRpbWVfNWY2NzlhOGU2Mjk0YjY1NwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzIl9fd2JnX2N1cnJlbnR0aW1lXzQ4MDRmNjkzNTFiNDdlNjgAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50XzE2MGRmY2JjZTZmOTQxOTcAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19ib25kYW1vdW50X2MyMTE5Y2M2Y2JjNTcxNGQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ19vcGVudmF1bHRzaGFyZXByaWNlX2FlYTYyNGYyMTA5NWYzMzMAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcytfX3diZ19jbG9zZXZhdWx0c2hhcmVwcmljZV8xNTU2ZmM3MGE0MWJhOTI0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMtX193YmdfaW5pdGlhbHZhdWx0c2hhcmVwcmljZV9kOWU4YzNiMmVlN2VhMTUyAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMrX193YmdfbWluaW11bXNoYXJlcmVzZXJ2ZXNfODQxMTkwMDUwNmIyNDcwMQACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzL19fd2JnX21pbmltdW10cmFuc2FjdGlvbmFtb3VudF9lNmIwZTNiNjFmMTcxNTJjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMqX193YmdfY2lyY3VpdGJyZWFrZXJkZWx0YV83MDgxNTk5OTNkMmQxODM4AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfcG9zaXRpb25kdXJhdGlvbl9lYjQxMzRkMjJhZDRkYzMzAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfY2hlY2twb2ludGR1cmF0aW9uXzFjN2Q0MzI1ZWJmNGEwYmUAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyJfX3diZ190aW1lc3RyZXRjaF83MzVlZTY5NzA2YzI4MzdjAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMbX193YmdfZmVlc181OTI3MmJkZjRhMDI2Y2NiAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193YmdfY2hlY2twb2ludHJld2FyZGVyX2NmOTIzNGY3NTA4MzIwZjIAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyNfX3diZ19mZWVjb2xsZWN0b3JfNzQ2OGQ4YTRiNDI1YjE3OAAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJV9fd2JnX3N3ZWVwY29sbGVjdG9yXzA4OGQ2NTQyYzE2NGQzYzAAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyFfX3diZ19nb3Zlcm5hbmNlXzRjYmMyODZmNTFhMmJhZGEAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyBfX3diZ19iYXNldG9rZW5fN2Q2NmNmNTU4MzVmZmE2YgAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJ19fd2JnX3ZhdWx0c2hhcmVzdG9rZW5fNmU5OTZhYjhlNjg1NGMyYwAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJF9fd2JnX2xpbmtlcmZhY3RvcnlfY2IzNTFiNDNjNGMzYWNjMAAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzJV9fd2JnX2xpbmtlcmNvZGVoYXNoXzI2MDE2Mjk2ZmI1ZjkwOTQAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyRfX3diZ19scHRvdGFsc3VwcGx5X2U0Yjg3MDQ5ZGY0MDFjZTIAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyNfX3diZ19scHNoYXJlcHJpY2VfZTMzODliZTM1ZTI2ODE3NwACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzI19fd2JnX2JvbmRyZXNlcnZlc183MGFiYzE1ODAwOTUwZGU0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMkX193Ymdfc2hhcmVyZXNlcnZlc19kNjU5YTRhYmNhMjM0ZjZmAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMmX193Ymdfc2hhcmVhZGp1c3RtZW50X2E4NjJjOTgzZGYxODdkZDkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcyZfX3diZ192YXVsdHNoYXJlcHJpY2VfYjdmMDdiNjUwNzE3ZGQ3NgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzI19fd2JnX2xvbmdleHBvc3VyZV8wODFiMTMyZGI5MGFjODk4AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMnX193YmdfbG9uZ3NvdXRzdGFuZGluZ183NzgwZmMxYjc1MGU2NGVlAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMuX193YmdfbG9uZ2F2ZXJhZ2VtYXR1cml0eXRpbWVfMGQxMzIxMWU1Njk1N2RjZgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKF9fd2JnX3Nob3J0c291dHN0YW5kaW5nXzIzZWJjNjBkZmZhM2M3ZWQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcy9fX3diZ19zaG9ydGF2ZXJhZ2VtYXR1cml0eXRpbWVfOWZmYTM5ZWY2OGJiZjBkNAACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzNl9fd2JnX3dpdGhkcmF3YWxzaGFyZXNyZWFkeXRvd2l0aGRyYXdfMzM0ZDQ5NTYxMjUxZmI0NAACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzL19fd2JnX3dpdGhkcmF3YWxzaGFyZXNwcm9jZWVkc18wNjMwNmQ2NzZhOWU5ZWMxAAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMpX193Ymdfem9tYmllYmFzZXByb2NlZWRzXzYyNDAzMjQwNjJmY2YzMzQAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcypfX3diZ196b21iaWVzaGFyZXJlc2VydmVzX2FkNjgwM2ZjOGNjMDgzYTkAAhcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19idWRnZXRfY2U1MmVhNmY0OGExZGM1ZgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzKV9fd2JnX2NoZWNrcG9pbnRleHBvc3VyZV9iMjM1NWQyMjMzOWNjODY0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMkX193YmdfbWF4aXRlcmF0aW9uc185MmRlZDExNGNmYjQ1Mzg0AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMhX193YmdfYmFzZWFtb3VudF8wYmIwOGY2ODI2NDIxMzA2AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMhX193YmdfYmFzZWFtb3VudF9kZTMzOTczMWFkYjRhMjE3AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMaX193YmdfbmV3X2FiZGE3NmU4ODNiYThhNWYADBcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxxfX3diZ19zdGFja182NTgyNzlmZTQ0NTQxY2Y2AAAXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMcX193YmdfZXJyb3JfZjg1MTY2N2FmNzFiY2ZjNgAAFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzFV9fd2JpbmRnZW5fbnVtYmVyX25ldwAQFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzDV9fd2JpbmRnZW5fZ2UAARcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxVfX3diaW5kZ2VuX3N0cmluZ19nZXQAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcx1fX3diZ19CaWdJbnRfNDJiNjkyYzE4ZTFhYzZkNgACFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzHV9fd2JnX0JpZ0ludF9mMDBiODY0MDk4MDEyNzI1AAIXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMfX193YmdfdG9TdHJpbmdfNjZiZTNjOGUxYzZhN2M3NgABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzH19fd2JnX3RvU3RyaW5nXzBiNTI3ZmNlMGU4ZjJiYWIABBcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxpfX3diZ19uZXdfMjhjNTExZDliYWViZmE4OQABFy4vaHlwZXJkcml2ZV93YXNtX2JnLmpzGl9fd2JnX25ld181ZGQ4NmViYzkxN2Q5ZjUyAAEXLi9oeXBlcmRyaXZlX3dhc21fYmcuanMXX193YmluZGdlbl9kZWJ1Z19zdHJpbmcAABcuL2h5cGVyZHJpdmVfd2FzbV9iZy5qcxBfX3diaW5kZ2VuX3Rocm93AAAD1ALSAgAACwQHBAcHBgQEBAQCBwQEBAAGBgQGAAAGBgYA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AwAgBkGAAmogAkEYaikDADcDACAGQYgCaiACQSBqKQMANwMAIAYgAikDADcD6AEgBkH4BmoiDSAGQcABaiAGQegBahDCASAGQcgCaiIQIAZBmAFqIA0Q6wEgBkGoAmoiCyAGQeACaiIPKQMANwMAIAZBoAJqIgogBkHYAmoiEikDADcDACAGQZgCaiIOIAIpAwA3AwAgBkESOgCwAiAGIAYpA8gCNwOQAiAGQZACaiAGQeAAahCaAkH/AXFBAUYNAiAGQegCaiAGQbACaiITKQMANwMAIA8gCykDADcDACASIAopAwA3AwAgAiAOKQMANwMAIAYgBikDkAI3A8gCIA0gASAQIAMQeCAGKAL4BiIPRQRAIAZB4AFqIARBIGopAwA3AwAgBkHYAWogBEEYaikDADcDACAGQdABaiAEQRBqKQMANwMAIAZByAFqIARBCGopAwA3AwAgBkGgAWogDikDADcDACAGQagBaiAKKQMANwMAIAZBsAFqIAspAwA3AwAgBkG4AWogEykDADcDACAGIAYpA5ACNwOYASAGIAQpAwA3A8ABIA8EQCAJEO0CCyAIQQFrIggNAQwDCwsgCRDtAgwBCyAAIAYoAvwGNgIEIABBATYCAAwBCyAAIAYpA5gBNwMIIABBADYCACAAQShqIAZBuAFqKQMANwMAIABBIGogBkGwAWopAwA3AwAgAEEYaiAGQagBaikDADcDACAAQRBqIAZBoAFqKQMANwMACyAGQbAHaiQADwsgBkEANgKIByAGQQE2AvwGIAZBlIfBADYC+AYgBkIENwKAByAGQfgGakGohcEAELMCAAsgBkEANgKIByAGQQE2AvwGIAZBsMTAADYC+AYgBkIENwKAByAGQfgGakGAxMAAELMCAAu9LQILfw5+IwBB0ARrIgMkACADQdgAaiACQSBqKQMANwMAIANB0ABqIAJBGGopAwA3AwAgA0HIAGogAkEQaikDADcDACADQUBrIAJBCGopAwA3AwAgAyACKQMANwM4IANB6ANqIAFB2AVqKQMANwMAIANB4ANqIAFB0AVqKQMANwMAIANB2ANqIAFByAVqKQMANwMAIANBEjoA8AMgAyABKQPABTcD0AMCQAJAAkACQCADQThqIANB0ANqEJoCQf8BcSICBEAgAkH/AUcNAQwCCyADLQBYQRJJDQELIANB6AJqIAFB2AFqKQMANwMAIANB4AJqIAFB0AFqKQMANwMAIANB2AJqIAFByAFqKQMANwMAIANBEjoA8AIgAyABKQPAATcD0AIgA0HwA2oiAiADQdgAaikDADcDACADQegDaiIEIANB0ABqKQMANwMAIANB4ANqIgUgA0HIAGopAwA3AwAgA0HYA2ogA0FAaykDADcDACADIAMpAzg3A9ADIANB4ABqIANB0ANqIgYgA0HQAmoQwAEgBiABEH8CQAJAAkACQAJAAkACQAJAAkACQCADKALQAw0AIANBqAFqIANB+ANqKQMANwMAIANBoAFqIAIpAwA3AwAgA0GYAWogBCkDADcDACADQZABaiAFKQMANwMAIAMgAykD2AM3A4gBIANBmANqIAFBmAVqKQMANwMAIANBkANqIAFBkAVqKQMANwMAIANBiANqIAFBiAVqKQMANwMAIANBEjoAoAMgAyABKQOABTcDgAMgA0GoBGogAUEYaikDADcDACADQaAEaiABQRBqKQMANwMAIANBmARqIAFBCGopAwA3AwAgA0ESOgCwBCADIAEpAwA3A5AEIANB8AFqIAFBOGopAwA3AwAgA0HoAWogAUEwaikDADcDACADQeABaiABQShqKQMANwMAIAMgASkDIDcD2AEgBiADQZAEaiADQdgBahDGASADKALQAw0AIAMpA+ADIg8gAykDaHwiDiAPVCECIAMpA+gDIQ8gAykDcCETIAMpA9gDIhEgAykDYHwiEiARWgR+IAKtBSAOQgF8Ig5QrSACrXwLIREgAykD8AMhECADKQN4IRUgDyAPIBN8Ig9WIQIgEVAEfiACrQUgDyAPIBF8Ig9WrSACrXwLIREgECAQIBV8IhBWIQICQCARUARAIAMgEDcDwAMgAyAPNwO4AyADIA43A7ADIAMgEjcDqAMgAkUNAQwLCyADIA83A7gDIAMgDjcDsAMgAyASNwOoAyADIBAgEXwiDzcDwAMgAiAPIBBUcg0KCyADQRI6AMgDIANBgAJqIANBgANqIANBqANqEMEBIANB0ANqQcyBwABBBBC2ASADKALQAw0BIAMpA+gDIRIgAykD4AMhDiABKQPQBiEQIAEpA8gGIQ8CfiADKQPYAyIWIAEpA8AGIhdaBEAgDiAPfSETIA4gD1StDAELIA4gD0J/hXwhEyAOIA9UrSAOIA9RrXwLIREgAykD8AMhFCABKQPYBiEVIBIgEH0hDgJAIBFQBEAgECASVq0hEgwBCyAOIBFUrSAQIBJWrXwhEiAOIBF9IQ4LIBQgFX0hEQJAIBJQBEAgFCAVWg0BDA4LIBQgFVQgESASVHINDSARIBJ9IRELIANBEjoA8AMgAyARNwPoAyADIA43A+ADIAMgEzcD2AMgAyAWIBd9NwPQAyADQdACaiIIIANBgAJqIANB0ANqIgkQcQJAAkAgAygC0AJFBEAgA0HQAWoiBCADQfgCaikDADcDACADQcgBaiIFIANB8AJqIgopAwA3AwAgA0HAAWoiBiADQegCaiILKQMANwMAIANBuAFqIgcgA0HgAmoiDCkDADcDACADIAMpA9gCNwOwASADQagEaiABQcABaiICQRhqKQMANwMAIANBoARqIAJBEGopAwA3AwAgA0GYBGogAkEIaikDADcDACADQRI6ALAEIAMgAikDADcDkAQgCiAEKQMANwMAIAsgBSkDADcDACAMIAYpAwA3AwAgA0HYAmogBykDADcDACADIAMpA7ABNwPQAiADQegDaiABQYAFaiICQRhqKQMANwMAIANB4ANqIAJBEGopAwA3AwAgA0HYA2ogAkEIaikDADcDACADQRI6APADIAMgAikDADcD0AMgA0GoA2ogA0GQBGogCCAJEHsgByADQbADaikDADcDACAGIANBuANqKQMANwMAIAUgA0HAA2opAwA3AwAgBCADQcgDaikDADcDACADIAMpA6gDNwOwASADQYgBaiADQbABahCaAkH/AXEiAkUNASACQf8BRw0CDAkLIAMoAtQCIQEMCQsgAy0AqAEgAy0A0AFJDQcLIAMpA8ABIRMgAykDuAEhDiADKQOYASEUIAMpA5ABIRECfiADKQOIASIaIAMpA7ABIhtaBEAgESAOfSEZIA4gEVatDAELIBEgDkJ/hXwhGSAOIBFWrSAOIBFRrXwLIRIgAykDyAEhFiADKQOgASEYIBQgE30hDgJAIBJQBEAgEyAUVq0hEwwBCyAOIBJUrSATIBRWrXwhEyAOIBJ9IQ4LIBggFn0hEQJAIBNQBEAgFiAYWA0BDA4LIBEgE1QgFiAYVnINDSARIBN9IRELIANBEjoA+AEgAyARNwPwASADIA43A+gBIAMgGTcD4AEgAyAaIBt9NwPYASADQdADakHM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QeSEwAAQlQIACyADIAMoAtQDNgKQBEG4gsAAQSsgA0GQBGpBqILAAEHUhMAAEJUCAAsgAygC1AIhAQwCCyADQfgBaiADQfgCaikDADcDACADQfABaiADQfACaikDADcDACADQegBaiADQegCaikDADcDACADQeABaiADQeACaikDADcDACADIAMpA9gCNwPYASADQegDaiABQZgBaikDADcDACADQeADaiABQZABaikDADcDACADQdgDaiABQYgBaikDADcDACADQRI6APADIAMgASkDgAE3A9ADAkACQCADQdADaiADQdgBahCaAkH/AXEiAgRAIAJB/wFHDQEMAgsgAy0A+AFBEksNAQsgASkDkAEhECABKQOIASEPIAMpA+gBIRMgAykD4AEhDgJ+IAEpA4ABIhQgAykD2AEiFloEQCAPIA59IRIgDiAPVq0MAQsgDyAOQn+FfCESIA4gD1atIA4gD1GtfAshESABKQOYASEVIAMpA/ABIRcgECATfSEPAkAgEVAEQCAQIBNUrSEQDAELIA8gEVStIBAgE1StfCEQIA8gEX0hDwsgFSAXfSEOAkACQCAQUARAIBUgF1oNAQwCCyAVIBdUIA4gEFRyDQEgDiAQfSEOCyADQRI6APgDIAMgDjcD8AMgAyAPNwPoAyADIBI3A+ADIAMgFCAWfSIUNwPYAyADQgE3A9ADIANBsARqIANB2ABqKQMANwMAIANBqARqIgQgA0HQAGopAwA3AwAgA0GgBGoiBSADQcgAaikDADcDACADQZgEaiIHIANBQGspAwA3AwAgAyADKQM4NwOQBCADQdACaiIIIAEgA0GQBGoiCSADQdADaiIGEKUCAkACfwJAAkAgAygC0AJFBEAgA0HAA2ogA0HwAmoiCikDADcDACADQbgDaiADQegCaiILKQMANwMAIANBsANqIANB4AJqIgwpAwA3AwAgA0HMA2ogA0H8AmooAAA2AAAgAyADKQPYAjcDqAMgAyADKAD5AjYAyQMgAyADLQD4AiICOgDIAyAGIAEQeSADKALQAw0BIAQgA0HwA2opAwA3AwAgBSADQegDaikDADcDACAHIANB4ANqKQMANwMAIANBtARqIANB/ANqKAAANgAAIAMgAykD2AM3A5AEIAMgAygA+QM2ALEEIAMgAy0A+AMiBDoAsAQgA0GoA2ogCRCaAiIFQX8gAiAERyACIARJGyAFQf8BcRtB/wFxQQFGDQIgCiADQdgAaikDADcDACALIANB0ABqKQMANwMAIAwgA0HIAGopAwA3AwAgA0HYAmogA0FAaykDADcDACADIAMpAzg3A9ACIAYgASAIEIQBIAMoAtADRQ0EIAMoAtQDIQEgAEEBNgIAIAAgATYCBAwMCyADKALUAiEBIABBATYCACAAIAE2AgQMCwsgAygC1AMMAQsgA0EANgLgAyADQQE2AtQDIANB/IvAADYC0AMgA0IENwLYAyADQdADakGEjMAAEM0BCyEBIABBATYCACAAIAE2AgQMCAsgAykD6AMhFSADKQPgAyEQAn4gAykD2AMiFiAUWARAIBIgEH0hEyAQIBJWrQwBCyASIBBCf4V8IRMgECASVq0gECASUa18CyERIAMpA/ADIRcgDyAVfSEQAkAgEVAEQCAPIBVUrSESDAELIBAgEVStIA8gFVStfCESIBAgEX0hEAsgDiAXfSEPAkACQCASUARAIA4gF1oNAQwCCyAOIBdUIA8gElRyDQEgDyASfSEPCyAAQRI6ACggACAPNwMgIAAgEDcDGCAAIBM3AxAgAEEANgIAIAAgFCAWfTcDCAwICwwICwwHCyADQegDaiABQYABaiIBQRhqKQMANwMAIANB4ANqIAFBEGopAwA3AwAgA0HYA2ogAUEIaikDADcDACADQQI2AtQCIANBjIXAADYC0AIgA0ICNwLcAiADQRI6APADIANCgICAgDAiDyADQdgBaq2ENwOYBCADIA8gA0HQA2qthDcDkAQgAyABKQMANwPQAyADIANBkARqNgLYAiADQYQEaiIBIANB0AJqEIsCIAFBnIXAABCFAiEBDAELIANBAjYC1AMgA0G0hMAANgLQAyADQgI3AtwDIANCgICAgDAiDyADQbABaq2ENwPYAiADIA8gA0GIAWqthDcD0AIgAyADQdACajYC2AMgA0GQBGoiASADQdADahDPASADQTBqIAFBsL7AAEHEhMAAEKcCIAMoAjQhAiADKAIwIQQgA0HYA2oiBSADQZgEaigCADYCAEGR3sEALQAAGiADIAMpApAENwPQA0EYQQQQ+AIiAUUNASABIAQ2AgQgAUGYv8AANgIAIAEgAykD0AM3AgwgASACNgIIIAFBFGogBSgCADYCAAsgAEEBNgIA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AykD8AMhEiABKQPQBiEXIAEpA8gGIRUCfiADKQPoAyIOIAEpA8AGIhpaBEAgEiAVVK0hECASIBV9DAELIBIgFVStIBIgFVGtfCEQIBIgFUJ/hXwLIRMgAykDgAQhEiABKQPYBiEYIBQgF30hDwJAIBBQBEAgFCAXVK0hGQwBCyAPIBBUrSAUIBdUrXwhGSAPIBB9IQ8LIBIgGH0hEAJAIBlQBEAgEiAYWg0BDAwLIBIgGFQgECAZVHINCyAQIBl9IRALIANBEjoAgAQgAyAQNwP4AyADIA83A/ADIAMgEzcD6AMgAyAOIBp9NwPgAyADQbgCaiADQZAEaiADQeADahByAkACQCADKAK4AkUEQCADQbgBaiADQeACaikDADcDACADQbABaiADQdgCaikDADcDACADQagBaiADQdACaikDADcDACADQaABaiADQcgCaikDADcDACADIAMpA8ACNwOYASADQfAAaiADQZgBahCaAkH/AXEiAkUNASACQf8BRw0CDAkLIAMoArwCIQEgAEEBNgIAIAAgATYCBAwJCyADLQCQASADLQC4AUkNBwsgAykDqAEhECADKQOgASETIAMpA4ABIRYgAykDeCERAn4gAykDcCISIAMpA5gBIg5aBEAgESATVK0hGSARIBN9DAELIBEgE1StIBEgE1GtfCEZIBEgE0J/hXwLIRQgAykDsAEhEyADKQOIASERIBYgEH0hDwJAIBlQBEAgECAWVq0hFgwBCyAPIBlUrSAQIBZWrXwhFiAPIBl9IQ8LIBEgE30hEAJAIBZQBEAgESATWg0BDAwLIBEgE1QgECAWVHINCyAQIBZ9IRALIANBEjoAsAQgAyAQNwOoBCADIA83A6AEIAMgFDcDmAQgAyASIA59NwOQBCADQdACaiIGIAFBmAVqKQMANwMAIANByAJqIgcgAUGQBWopAwA3AwAgA0HAAmoiBSABQYgFaikDADcDACADQRI6ANgCIAMgASkDgAU3A7gCIANB+ANqIgQgAUHYAWopAwA3AwAgA0HwA2oiAiABQdABaikDADcDACADQegDaiABQcgBaikDADcDACADQRI6AIAEIAMgASkDwAE3A+ADIANBwAFqIgggA0GQBGogA0G4AmoiCSADQeADaiIKEHYgCkGox8AAQQQQtwECQAJAAkACQAJAIAMoAuADRQRAIANB2AJqIANBiARqKQMANwMAIAYgA0GABGopAwA3AwAgByAEKQMANwMAIAUgAikDADcDACADIAMpA+gDNwO4AiAIIAkQmgJB/wFxDgIBAwILIAMgAygC5AM2ApAEQczEwABBKyADQZAEakG8xMAAQbD0wAAQlQIACyADLQDgASADLQDYAk8NAQsgA0GIA2ogA0HgAWopAwA3AwAgA0GAA2ogA0HYAWopAwA3AwAgA0H4AmogA0HQAWopAwA3AwAgA0HwAmogA0HIAWopAwA3AwAgAyADKQPAATcD6AIgA0HgA2oiAkGox8AAQQQQtwEgAygC4AMNASADQbAEaiADQYgEaikDADcDACADQagEaiADQYAEaikDADcDACADQaAEaiADQfgDaikDADcDACADQZgEaiADQfADaikDADcDACADIAMpA+gDNwOQBCACQajHwABBBBC3ASADKALgA0UNAiADIAMoAuQDNgKQA0HMxMAAQSsgA0GQA2pBvMTAAEGQ9MAAEJUCAAsgA0GIAmogA0HgAWopAwA3AwAgA0GAAmogA0HYAWopAwA3AwAgA0H4AWogA0HQAWopAwA3AwAgA0HwAWogA0HIAWopAwA3AwAgAyADKQPAATcD6AEgA0HgA2oiAkGox8AAQQQQtwEgAygC4AMNBCADQbACaiADQYAEaikDADcDACADQagCaiADQfgDaikDADcDACADQaACaiADQfADaikDADcDACADIAMpA+gDNwOYAiADIAMoAIkENgKQAiADIANBjARqKAAANgCTAiADLQCIBCEEIAJBqMfAAEEEELcBIAMoAuADDQUgAykD+AMhESADKQPwAyEOAn4gGiADKQPoAyISWARAIA4gFVStIRAgDiAVfQwBCyAOIBVUrSAOIBVRrXwhECAOIBVCf4V8CyETIAMpA4AEIRQgESAXfSEOAkAgEFAEQCARIBdUrSERDAELIA4gEFStIBEgF1StfCERIA4gEH0hDgsgFCAYfSEPAkAgEVAEQCAUIBhaDQEMDgsgDyARVCAUIBhUcg0NIA8gEX0hDwsgA0ESOgCwAyADIA83A6gDIAMgDjcDoAMgAyATNwOYAyADIBIgGn03A5ADQgEhDkIAIQ8CQAJAAkAgBA4CAgEAC0IKIQ4gBCECQgEhEEIAIREDQCADQcgAaiAOQgEgAkEBcSIFGyAPQgAgBRsgECAREJQCIANB2ABqIA4gDyAOIA8QlAIgAkEDSyADQeAAaikDACEPIANB0ABqKQMAIREgAykDWCEOIAMpA0ghECACQQF2IQINAAsgA0E4aiAQIBEgDiAPEJQCIANBQGspAwAhDyADKQM4IQ4MAQtCCiEOCyADQfACaiICIA83AwAgAyAONwPoAiADQQE2AuQDIANBxP3AADYC4AMgA0IBNwLsAyADIANB6AJqrUKAgICAsAeENwOIBSADIANBiAVqNgLoAyADQfwEaiADQeADahDPASADQagEakIANwMAIANCADcDoAQgAikDACESIAMpA+gCIQ4gAygC/AQiAgRAIAMoAoAFIAIQjAMLIANBEjoAsAQgAyAONwOQBCADIBI3A5gEIANB+ANqIANBsAJqKQMANwMAIANB8ANqIANBqAJqKQMANwMAIANB6ANqIANBoAJqKQMANwMAIANBhARqIAMoAJMCNgAAIAMgAykDmAI3A+ADIAMgBDoAgAQgAyADKAKQAjYAgQQgA0HoAmoiAiADQeADaiADQZAEaiADQZADahB2IANBuAJqIANB6AFqIAIQciADKAK4Ag0GDAcLIAMgAygC5AM2ApAEQczEwABBKyADQZAEakG8xMAAQaD0wAAQlQIACyADKQP4AyERIAMpA/ADIQ4CfiAaIAMpA+gDIhJYBEAgDiAVVK0hECAOIBV9DAELIA4gFVStIA4gFVGtfCEQIA4gFUJ/hXwLIRMgAykDgAQhFCARIBd9IQ4CQCAQUARAIBEgF1StIREMAQsgDiAQVK0gESAXVK18IREgDiAQfSEOCyAUIBh9IQ8CQCARUARAIBQgGFoNAQwMCyAPIBFUIBQgGFRyDQsgDyARfSEPCyADQRI6AIAEIAMgDzcD+AMgAyAONwPwAyADIBM3A+gDIAMgEiAafTcD4AMgA0GQA2oiAiADQZAEaiADQeADahDCASADQbgCaiADQegCaiACEHIgAygCuAJFBEAMBgsgAygCvAIhASAAQQE2AgAgACABNgIEDAcLIAMoAuQDIQEgAEEBNgIAIAAgATYCBAwGCyADIAMoAuQDNgKQA0HMxMAAQSsgA0GQA2pBvMTAAEHA9MAAEJUCAAsgAyADKALkAzYCkARBzMTAAEErIANBkARqQbzEwABB8PPAABCVAgALIAMgAygC5AM2ApAEQczEwABBKyADQZAEakG8xMAAQeDzwAAQlQIACyADKAK8AiEBIABBATYCACAAIAE2AgQMAgsgA0HgAWogA0HgAmopAwA3AwAgA0HYAWogA0HYAmopAwA3AwAgA0HQAWogA0HQAmopAwA3AwAgA0HIAWogA0HIAmopAwA3AwAgAyADKQPAAjcDwAEgA0HIA2ogA0HIAWopAwA3AwAgA0HQA2ogA0HQAWopAwA3AwAgA0HYA2ogA0HYAWopAwA3AwAgAyADKQPAATcDwAMgAyADKADhATYCuAMgAyADQeQBaigAADYAuwMgAy0A4AEhBCADQagEaiABQYAFaiICQRhqKQMANwMAIANBoARqIAJBEGopAwA3AwAgA0GYBGogAkEIaikDADcDACADQRI6ALAEIAMgAikDADcDkARCASEOQgAhDwJAAkACQCAEDgICAQALQgohDiAEIQJCASEQQgAhEQNAIANBGGogDkIBIAJBAXEiBRsgD0IAIAUbIBAgERCUAiADQShqIA4gDyAOIA8QlAIgAkEDSyADQTBqKQMAIQ8gA0EgaikDACERIAMpAyghDiADKQMYIRAgAkEBdiECDQALIANBCGogECARIA4gDxCUAiADQRBqKQMAIQ8gAykDCCEODAELQgohDgsgA0GYA2oiAiAPNwMAIAMgDjcDkAMgA0EBNgLkAyADQcT9wAA2AuADIANCATcC7AMgAyADQZADaq1CgICAgLAHhDcD6AEgAyADQegBajYC6AMgA0HoAmogA0HgA2oQzwEgA0HQAmpCADcDACADQgA3A8gCIAIpAwAhEiADKQOQAyEOIAMoAugCIgIEQCADKALsAiACEIwDCyADQRI6ANgCIAMgDjcDuAIgAyASNwPAAiADQfgDaiIGIANB2ANqKQMANwMAIANB8ANqIgcgA0HQA2opAwA3AwAgA0HoA2ogA0HIA2opAwA3AwAgA0GEBGogAygAuwM2AAAgAyADKQPAAzcD4AMgAyAEOgCABCADIAMoArgDNgCBBCADQZADaiIIIANB4ANqIgkgA0G4AmoiCiADQZAEaiILEHYgA0HIAWogA0GYA2oiBSkDADcDACADQdABaiADQaADaiIEKQMANwMAIANB2AFqIANBqANqIgIpAwA3AwAgA0HgAWogA0GwA2opAwA3AwAgAyADKQOQAzcDwAEgA0HQAmogAUEYaikDADcDACADQcgCaiABQRBqKQMANwMAIANBwAJqIAFBCGopAwA3AwAgA0ESOgDYAiADIAEpAwA3A7gCIAIgAUE4aikDADcDACAEIAFBMGopAwA3AwAgBSABQShqKQMANwMAIAMgASkDIDcDkAMgCSAKIAgQxgECQAJAAkACQCADKALgA0UEQCADQagEaiADQYAEaikDADcDACADQaAEaiAGKQMANwMAIANBmARqIAcpAwA3AwAgA0G0BGogA0GMBGooAAA2AAAgAyADKQPoAzcDkAQgAyADKACJBDYAsQQgAyADLQCIBCIEOgCwBAJAIAsgA0HAAWoQmgIiAkH/AXEEfyACBSADLQDgASICIARLDQEgAiAERwtB/wFxQQFGDQILIANB4ANqQbjEwABBARC3ASADKALgAw0DIAAgAykD6AM3AwggAEEoaiADQYgEaikDADcDACAAQSBqIANBgARqKQMANwMAIABBGGogA0H4A2opAwA3AwAgAEEQaiADQfADaikDADcDAAwCCyADKALkAyEBIABBATYCACAAIAE2AgQMBQsgA0HQAmogAUEYaikDADcDACADQcgCaiABQRBqKQMANwMAIANBwAJqIAFBCGopAwA3AwAgA0ESOgDYAiADIAEpAwA3A7gCIANBqARqIAFBIGoiAUEYaikDADcDACADQaAEaiABQRBqKQMANwMAIANBmARqIAFBCGopAwA3AwAgAyABKQMANwOQBCADQeADaiADQbgCaiADQZAEahDGASADKALgAw0CIANB8ARqIANBgARqKQMANwMAIANB6ARqIANB+ANqKQMANwMAIANB4ARqIANB8ANqKQMANwMAIANBwARqIANByAFqKQMANwMAIANByARqIANB0AFqKQMANwMAIANB0ARqIANB2AFqKQMANwMAIAMgAykD6AM3A9gEIAMgAykDwAE3A7gEIABBCGogA0HYBGogA0G4BGoQ3wEgAEESOgAoCyAAQQA2AgAMAwsgAyADKALkAzYCuAJBzMTAAEErIANBuAJqQbzEwABBgPTAABCVAgALIAMoAuQDIQEgAEEBNgIAIAAgATYCBAwBCyADQQM2AuQDIANBuPPAADYC4AMgA0ICNwLsAyADQoCAgICgByIOIANBmAFqrYQ3A8ACIAMgDiADQfAAaq2ENwO4AiADIANB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Ai0AIEESSQ0BCyAEQagBakG4xMAAQQEQtwEgBCgCqAENASAEQZAFaiIFIARB0AFqKQMANwMAIARBiAVqIARByAFqKQMANwMAIARBgAVqIARBwAFqKQMANwMAIARB+ARqIARBuAFqKQMANwMAIAQgBCkDsAE3A/AEIAMtACAhByADIARB8ARqQSAQrQJFBEAgByAFLQAARg0DCyAEQYgCaiADQRhqKQMANwMAIARBgAJqIANBEGopAwA3AwAgBEH4AWogA0EIaikDADcDACAEIAMpAwA3A/ABIAQgAygAITYC6AEgBCADQSRqKAAANgDrAQwDCyAEQYgFaiABQcAFaiIBQRhqKQMANwMAIARBgAVqIAFBEGopAwA3AwAgBEH4BGogAUEIaikDADcDACAEQRI6AJAFIARCgICAgMAHIg0gBEHwBGqthDcDiAQgBCANIAKthDcDgAQgBCABKQMANwPwBCAEQQM6AOQBIARBBDYC4AEgBEKggICAEDcC2AEgBEECNgLQASAEQQI2AsgBIARBAzoAxAEgBEEENgLAASAEQiA3ArgBIARBAjYCsAEgBEECNgKoASAEQQI2ArwEIARBAjYCrAQgBEHU58AANgKoBCAEIARBqAFqNgK4BCAEQQI2ArQEIAQgBEGABGo2ArAEIARBsANqIgEgBEGoBGoQzwEgBEGgAWogAUHwhcEAQdTowAAQpwIgBCgCpAEhAiAEKAKgASEBIAYgBEG4A2ooAgA2AgBBkd7BAC0AABogBCAEKQKwAzcDqAFBGEEEEPgCIgNFDQggAyABNgIEIANB2IbBADYCACADIAQpA6gBNwIMIAMgAjYCCCADQRRqIARBsAFqKAIANgIAIABBATYCACAAIAM2AgQMBwsgBCAEKAKsATYC8ARBzMTAAEErIARB8ARqQbzEwABBqOvAABCVAgALIARBiAJqIAFB2AFqKQMANwMAIARBgAJqIAFB0AFqKQMANwMAIARB+AFqIAFByAFqKQMANwMAIAQgASkDwAE3A/ABQRIhBwsgBEGQBWogAkEgaikDADcDACAEQYgFaiACQRhqKQMANwMAIARBgAVqIAJBEGopAwA3AwAgBEH4BGogAkEIaikDADcDACAEIAIpAwA3A/AEIARBqAFqIAEgBEHwBGoQZyAEKAKoAQ0AIARBsAJqIARB0AFqKQMAIhQ3AwAgBEGoAmogBEHIAWopAwAiEzcDACAEQaACaiAEQcABaikDACIQNwMAIARBmAJqIARBuAFqKQMAIg03AwAgBEHIAmogDTcDACAEQdACaiAQNwMAIARB2AJqIBM3AwAgBCAEKQOwASINNwOQAiAEIA03A8ACIAQgBCgAsQI2ArgCIAQgBEG0AmooAAA2ALsCIARB6ARqIAFB2AFqKQMAIhM3AwAgBEHgBGogAUHQAWopAwAiEDcDACAEQdgEaiABQcgBaikDACINNwMAIARBsARqIA03AwAgBEG4BGogEDcDACAEQcAEaiATNwMAIARBEjoAyAQgBCABKQPAASINNwPQBCAEIA03A6gEQgEhDAJAAkACQCAUpyIGQf8BcSIDDgICAQALQgohDEIBIQ8DQCAEQYABaiAMQgEgA0EBcSIFGyALQgAgBRsgDyAOEJQCIARBkAFqIAwgCyAMIAsQlAIgA0EDSyAEQZgBaikDACELIARBiAFqKQMAIQ4gBCkDkAEhDCAEKQOAASEPIANBAXYhAw0ACyAEQfAAaiAPIA4gDCALEJQCIARB+ABqKQMAIQsgBCkDcCEMDAELQgohDAsgBEG4A2oiAyALNwMAIAQgDDcDsAMgBEEBNgKsASAEQcT9wAA2AqgBIARCATcCtAEgBEKAgICAsAciEyAEQbADaq2ENwOYBSAEIARBmAVqNgKwASAEQeACaiAEQagBahDPASAEQYgFakIANwMAIARCADcDgAUgAykDACEQIAQpA7ADIQ0gBCgC4AIiAwRAIAQoAuQCIAMQjAMLIARBEjoAkAUgBCANNwPwBCAEIBA3A/gEIARBwAFqIARB2AJqKQMANwMAIARBuAFqIARB0AJqKQMANwMAIARBsAFqIARByAJqKQMANwMAIARBzAFqIAQoALsCNgAAIAQgBCkDwAI3A6gBIAQgBjoAyAEgBCAEKAK4AjYAyQEgBEGABGoiAyAEQagBaiAEQagEaiAEQfAEahB2AkACQAJAAkACQAJAAkACQCADIAIQmgIiA0H/AXEEfyADBSAELQCgBCIFIAItACAiA0kNASADIAVHC0H/AXFBAUYNAQsgBEGQBWogAkEgaikDADcDACAEQYgFaiIGIAJBGGopAwA3AwAgBEGABWoiBSACQRBqKQMANwMAIARB+ARqIgMgAkEIaikDADcDACAEIAIpAwA3A/AEIARBqAFqIAEgBEHwBGoQnAEgBCgCqAENBCAEQagDaiAEQdABaikDACINNwMAIARBoANqIARByAFqKQMANwMAIARBmANqIARBwAFqKQMANwMAIARBkANqIARBuAFqKQMANwMAIAQgBCkDsAE3A4gDIAYgAUHAAWoiBkEYaikDADcDACAFIAZBEGopAwA3AwAgAyAGQQhqKQMANwMAIARBEjoAkAUgBCAGKQMANwPwBEIBIQxCACELIA2nQf8BcSIDDgIDAgELIARBAjYCrAEgBEHY6cAANgKoASAEQgI3ArQBIARCgICAgKAHIg0gBEGQAmqthDcD+AQgBCANIAKthDcD8AQgBCAEQfAEajYCsAEgBEGoBGoiASAEQagBahDPASAEQegAaiABQfCFwQBB6OnAABCnAiAEKAJsIQMgBCgCaCECIARBsAFqIgEgBEGwBGooAgA2AgBBkd7BAC0AABogBCAEKQKoBDcDqAFBGEEEEPgCIgVFDQsgBSACNgIEIAVB2IbBADYCACAFIAQpA6gBNwIMIAUgAzYCCCAFQRRqIAEoAgA2AgAgAEEBNgIAIAAgBTYCBAwKC0IKIQxCASEPQgAhDgNAIARByABqIAxCASADQQFxIgUbIAtCACAFGyAPIA4QlAIgBEHYAGogDCALIAwgCxCUAiADQQNLIARB4ABqKQMAIQsgBEHQAGopAwAhDiAEKQNYIQwgBCkDSCEPIANBAXYhAw0ACyAEQThqIA8gDiAMIAsQlAIgBEFAaykDACELIAQpAzghDAwBC0IKIQwLIARBiARqIgMgCzcDACAEIAw3A4AEIARBATYCrAQgBEHE/cAANgKoBCAEQgE3ArQEIAQgEyAEQYAEaq2EIhM3A5gFIAQgBEGYBWo2ArAEIARBsANqIARBqARqEM8BIARBwAFqQgA3AwAgBEIANwO4ASADKQMAIRAgBCkDgAQhDSAEKAKwAyIDBEAgBCgCtAMgAxCMAwsgBEESOgDIASAEIA03A6gBIAQgEDcDsAEgBEHgAmoiAyAEQYgDaiAEQagBaiAEQfAEahB2IARBkAJqIAMQmgJB/wFxIgNFDQEgA0H/AUcNAgwFCyAEKAKsASEBDAULIAQtALACIAQtAIADSQ0DCyAEQZQFaiAEKADrATYAACAEQYgFaiAEQYgCaikDADcDACAEQYAFaiAEQYACaikDADcDACAEQfgEaiAEQfgBaikDADcDACAEIAQpA/ABNwPwBCAEIAc6AJAFIAQgBCgC6AE2AJEFIARBwAFqIAZBGGopAwA3AwAgBEG4AWogBkEQaikDADcDACAEQbABaiAGQQhqKQMANwMAIARBEjoAyAEgBCAGKQMANwOoASAEQdADagJ/IARB8ARqIARBqAFqIARB8ARqIARBqAFqIgUQmgIiA0H/AXEEfyADBSAFIAdBEkkNARogB0ESRwtB/wFxQQFGGwsiA0EgaikDADcDACAEQcgDaiADQRhqKQMANwMAIARBwANqIANBEGopAwA3AwAgBEG4A2ogA0EIaikDADcDACAEIAMpAwA3A7ADIARBoARqIAJBIGopAwA3AwAgBEGYBGogAkEYaikDADcDACAEQZAEaiACQRBqKQMANwMAIARBiARqIAJBCGopAwA3AwAgBCACKQMANwOABCAEKQPwAiELIAQpA+gCIREgBCkDoAIhDiAEKQOYAiESAn4gBCkDkAIiECAEKQPgAiINWgRAIBEgElatIQ8gEiARfQwBCyARIBJWrSARIBJRrXwhDyASIBFCf4V8CyEUIAQpA/gCIREgBCkDqAIhEiAOIAt9IQwCQCAPUARAIAsgDlatIQ4MAQsgDCAPVK0gCyAOVq18IQ4gDCAPfSEMCyASIBF9IQsCQCAOUARAIBEgElgNAQwDCyALIA5UIBEgElZyDQIgCyAOfSELCyAEQRI6AMgEIAQgCzcDwAQgBCAMNwO4BCAEIBQ3A7AEIAQgECANfTcDqAQgBEGIBWoiBiAEQYgCaikDADcDACAEQYAFaiIFIARBgAJqKQMANwMAIARB+ARqIgIgBEH4AWopAwA3AwAgBEGUBWogBCgA6wE2AAAgBCAEKQPwATcD8AQgBCAHOgCQBSAEIAQoAugBNgCRBSAEQcgBaiAEQdADaikDADcDACAEQcABaiIDIARByANqKQMANwMAIARBuAFqIARBwANqKQMANwMAIARBsAFqIARBuANqKQMANwMAIAQgBCkDsAM3A6gBIARB2ANqIAEgBEGABGogBEGoBGogBEHwBGogBEGoAWoQjgEgBiAEQegEaikDADcDACAFIARB4ARqKQMANwMAIAIgBEHYBGopAwA3AwAgBCAEKQPQBDcD8AQgBEESOgCQBUIBIQxCACELAkACQAJAIAQtAPgDIgEOAgIBAAtCCiEMQgEhD0IAIQ4DQCAEQRBqIAxCASABQQFxIgIbIAtCACACGyAPIA4QlAIgBEEgaiAMIAsgDCALEJQCIAFBA0sgBEEoaikDACELIARBGGopAwAhDiAEKQMgIQwgBCkDECEPIAFBAXYhAQ0ACyAEIA8gDiAMIAsQlAIgBEEIaikDACELIAQpAwAhDAwBC0IKIQwLIARBiARqIgEgCzcDACAEIAw3A4AEIARBATYCrAQgBEHE/cAANgKoBCAEQgE3ArQEIAQgEzcDqAUgBCAEQagFajYCsAQgBEGYBWogBEGoBGoQzwEgA0IANwMAIARCADcDuAEgASkDACEQIAQpA4AEIQ0gBCgCmAUiAQRAIAQoApwFIAEQjAMLIARBEjoAyAEgBCANNwOoASAEIBA3A7ABIABBCGogBEHYA2ogBEHwBGogBEGoAWoQdiAAQQA2AgAMBAsgBCgCrAEhASAAQQE2AgAgACABNgIEDAMLIARBADYCuAEgBEEBNgKsASAEQbDEwAA2AqgBIARCBDcCsAEgBEGoAWpBgMTAABCzAgALIARBwAFqIAFB4ANqIgFBGGopAwA3AwAgBEG4AWogAUEQaikDADcDACAEQbABaiIFIAFBCGopAwA3AwAgBEEDNgKsBCAEQYDrwAA2AqgEIARCAzcCtAQgBEESOgDIASAEIAEpAwA3A6gBIARCgICAgKAHIg0gBEGQAmqthDcDgAUgBCANIARBqAFqrYQ3A/gEIAQgDSAEQeACaq2ENwPwBCAEIARB8ARqNgKwBCAEQYAEaiIBIARBqARqEM8BIARBMGogAUHwhcEAQZjrwAAQpwIgBCgCNCEDIAQoAjAhAiAFIARBiARqKAIANgIAQZHewQAtAAAaIAQgBCkCgAQ3A6gBQRhBBBD4AiIBRQ0CIAEgAjYCBCABQdiGwQA2AgAgASAEKQOoATcCDCABIAM2AgggAUEUaiAFKAIANgIACyAAQQE2AgAgACABNgIEDAALIARBsAVqJAAPC0EEQRgQqQMAC74cAgN/G34jAEGAB2siAyQAAkACQCACKQMAQgBSDQAgAikDCEIAUg0AIAIpAxBCAFINACACKQMYQgBSDQAgAEIANwMIIABBADoAICAAQgE3AwAgAEEYakIANwMAIABBEGpCADcDAAwBCyADQdgGakIANwMAIANB0AZqQgA3AwAgA0IANwPIBiADQgE3A8AGIANB+AZqIAJBGGopAwAiFjcDACADQfAGaiACQRBqKQMAIhk3AwAgA0HoBmogAkEIaikDACIcNwMAIAMgAikDACIbNwPgBiABKQMYIQYgASkDECEIIAEpAwghDSABKQMAIQxCASESA0BBGCECAkACQANAIAJBeEYNASADQeAGaiACaiEBIANBwAZqIAJqIQUgAkEIayECQX8gBSkDACIKIAEpAwAiB1IgByAKVBsiAUUNAAsgAUH/AXFBAUYNAQsgA0HwAWogEkIAIAxCABCUAiADQeABaiASQgAgDUIAEJQCIANB0AFqIBJCACAIQgAQlAIgA0HAAWogEkIAIAZCABCUAiADQbABaiAXQgAgDEIAEJQCIANBoAFqIBdCACANQgAQlAIgA0GQAWogF0IAIAhCABCUAiADQYABaiAXQgAgBkIAEJQCIANB8ABqIBpCACAMQgAQlAIgA0HgAGogGkIAIA1CABCUAiADQdAAaiAaQgAgCEIAEJQCIANBQGsgGkIAIAZCABCUAiADQTBqIBVCACAMQgAQlAIgA0EgaiAVQgAgDUIAEJQCIANBEGogFUIAIAhCABCUAiADIBVCACAGQgAQlAIgAykD8AEhCgJ/QQEgAykDICIcIANBOGopAwAgAykDMCIZIAMpA2AiByADQfgAaikDACADKQNwIhYgAykDoAEiCSADQbgBaikDACADKQOwASIGIAMpA+ABIgggA0H4AWopAwB8Ig18IgwgBlStfCIGIAMpA9ABIhIgA0HoAWopAwAgCCANVq18fCIIfCINfCIXfCIaIBZUrXwiFSADKQOQASIbIANBqAFqKQMAIAkgF1atfCIJIAYgDVatfCIWIAMpA8ABIgYgA0HYAWopAwAgCCASVK18fCIIfCINfCISfCIXfCILfCIOIBlUrXwiECADKQNQIg8gA0HoAGopAwAgByALVq18IgcgFSAXVq18IhkgAykDgAEiFyADQZgBaikDACASIBtUrXwiEiANIBZUIAkgFlZyrXwiFiADQcgBaikDACAGIAhWrXx8Igl8IgZ8Igh8Ig18IhV8IhtCAFINABpBASADKQMQIgsgA0EoaikDACAbIBxUrXwiGyAQIBVWrXwiHCADKQNAIhUgA0HYAGop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KAKQBEUEQCADQeABaiADQbAEaikDADcDACADQdgBaiADQagEaikDADcDACADQdABaiADQaAEaikDADcDACADIAMpA5gENwPIASADIAMoALkENgLAASADIANBvARqKAAANgDDASABKQOIASIXIAIpAwh8IhggF1QhByABKQOQASIXIBcgAikDEHwiF1YhCCADLQC4BCEGIAEpA5gBIhogGiACKQMYfCIZViEJAkACfgJ+IAEpA4ABIhMgAikDAHwiHSATVCILRQRAIBghFCAHrQwBCyAYQgF8IhRQrSAHrXwLIhNQBEAgFyETIAitDAELIBMgF3wiEyAXVK0gCK18CyIVUARAIAMgGTcDqAIgAyATNwOgAiADIBQ3A5gCIAMgHTcDkAIgCUUNAQwKCyADIBM3A6ACIAMgFDcDmAIgAyAdNwOQAiADIBUgGXwiEzcDqAIgCSATIBlUcg0JCyADQRI6ALACIANBEjoAsAMgAyABKQPYBiIbNwOoAyADIAEpA9AGIhw3A6ADIAMgASkDyAYiGjcDmAMgAyABKQPABiIeNwOQAyADQZAEaiIKIANBkAJqIgwgA0GQA2oQciADKAKQBA0BIANBiAJqIANBuARqKQMANwMAIANBgAJqIANBsARqKQMANwMAIANB+AFqIANBqARqIgIpAwA3AwAgA0HwAWogA0GgBGoiBSkDADcDACADIAMpA5gENwPoAUIAIRQgA0GYAmoiBEIANwMAIANCgICQu7rWrfANNwOQAiADQQE2ApQEIANBxP3AADYCkARCASEVIANCATcCnAQgA0KAgICAsAciISAMrYQiIjcDwAIgAyADQcACajYCmAQgA0HAA2ogChDPASADQagDakIANwMAIANCADcDoAMgBCkDACETIAMpA5ACIRYgAygCwAMiBARAIAMoAsQDIAQQjAMLIANBEjoAsAMgAyAWNwOQAyADIBM3A5gDIAIgAUHAAWoiBEEYaikDADcDACAFIARBEGopAwA3AwAgA0GYBGogBEEIaikDADcDACADQRI6ALAEIAMgBCkDADcDkAQgA0HoA2ogA0GQBGogA0HoAWogA0GQA2oQdgJAAkACQCAGDgICAQALQgohFSAGIQJCASETQgAhFgNAIANB+ABqIBVCASACQQFxIgUbIBRCACAFGyATIBYQlAIgA0GIAWogFSAUIBUgFBCUAiACQQNLIANBkAFqKQMAIRQgA0GAAWopAwAhFiADKQOIASEVIAMpA3ghEyACQQF2IQINAAsgA0HoAGogEyAWIBUgFBCUAiADQfAAaikDACEUIAMpA2ghFQwBC0IKIRULIANBmAJqIgIgFDcDACADIBU3A5ACIANBATYClAQgA0HE/cAANgKQBCADQgE3ApwEIAMgIjcDwAIgAyADQcACajYCmAQgA0HAA2ogA0GQBGoQzwEgA0GoA2oiBUIANwMAIANCADcDoAMgAikDACETIAMpA5ACIRQgAygCwAMiAgRAIAMoAsQDIAIQjAMLIANBEjoAsAMgAyAUNwOQAyADIBM3A5gDIANBqARqIANB4AFqKQMANwMAIANBoARqIgogA0HYAWopAwA3AwAgA0GYBGogA0HQAWopAwA3AwAgA0G0BGogAygAwwE2AAAgAyADKQPIATcDkAQgAyAGOgCwBCADIAMoAsABNgCxBCADQZgBaiADQZAEaiIGIANBkANqIANB6ANqEHYgA0GABGogBEEYaikDADcDACADQfgDaiAEQRBqKQMANwMAIANB8ANqIARBCGopAwA3AwAgA0ESOgCIBCADIAQpAwA3A+gDIANByANqIgJCADcDACADQoCAkLu61q3wDTcDwAMgA0EBNgKUBCADQcT9wAA2ApAEIANCATcCnAQgAyAhIANBwANqrYQiJDcD+AQgAyADQfgEajYCmAQgA0HsBGogBhDPASAFQgA3AwAgA0IANwOgAyACKQMAIRMgAykDwAMhFCADKALsBCICBEAgAygC8AQgAhCMAwsgA0ESOgCwAyADIBQ3A5ADIAMgEzcDmAMgA0GoBGogAUGABWoiAkEYaikDADcDACAKIAJBEGopAwA3AwAgA0GYBGogAkEIaikDADcDACADQRI6ALAEIAMgAikDADcDkAQgA0HoAmogA0GQBGoiAiADQZADaiADQegDahB2IAIgARCAASADKAKQBA0CIAMpA7AEIR8gAykDqAQhICADKQOgBCEWIAMpA5gEISMCQCALBH4gGEIBfCIYUK0gB618BSAHrQsiFVAEfiAIrQUgFyAVIBd8IhdWrSAIrXwLIhVQBEAgAyAZNwOABCADIBc3A/gDIAMgGDcD8AMgAyAdNwPoAyAJRQ0BDAkLIAMgFzcD+AMgAyAYNwPwAyADIB03A+gDIAMgFSAZfCIXNwOABCAJIBcgGVRyDQgLIANBEjoAiAQgA0GQBGpBqMfAAEEEELcBIAMoApAEDQMgAykDqAQhGCADKQOgBCETAn4gHiADKQOYBCIdWARAIBMgGlStIRQgEyAafQwBCyATIBpUrSATIBpRrXwhFCATIBpCf4V8CyEXIAMpA7AEIRkgGCAcfSEVAkAgFFAEQCAYIBxUrSETDAELIBQgFVatIBggHFStfCETIBUgFH0hFQsgGSAbfSEUAkAgE1AEQCAZIBtaDQEMCwsgGSAbVCATIBRWcg0KIBQgE30hFAsgA0ESOgCwBCADIBQ3A6gEIAMgFTcDoAQgAyAXNwOYBCADIB0gHn03A5AEIANBkANqIANB6ANqIANBkARqEHIgAygCkAMNBCADKQOoAyEYIAMpA6ADIRMCfiADKQOYAyIZICNYBEAgEyAWVq0hFCAWIBN9DAELIBMgFlatIBMgFlGtfCEUIBYgE0J/hXwLIRcgAykDsAMhFiAgIBh9IRUCQCAUUARAIBggIFatIRMMAQsgFCAVVq0gGCAgVq18IRMgFSAUfSEVCyAfIBZ9IRQCQCATUARAIBYgH1gNAQwLCyAWIB9WIBMgFFZyDQogFCATfSEUCyADQRI6AOADIAMgFDcD2AMgAyAVNwPQAyADIBc3A8gDIAMgIyAZfTcDwANCASEVQgAhFAJAAkACQCADLQCIAyICDgICAQALQgohFUIBIRNCACEWA0AgA0HIAGogFUIBIAJBAXEiARsgFEIAIAEbIBMgFhCUAiADQdgAaiAVIBQgFSAUEJQCIAJBA0sgA0HgAGopAwAhFCADQdAAaikDACEWIAMpA1ghFSADKQNIIRMgAkEBdiECDQALIANBOGogEyAWIBUgFBCUAiADQUBrKQMAIRQgAykDOCEVDAELQgohFQsgA0HwA2oiASAUNwMAIAMgFTcD6AMgA0EBNgKUBCADQcT9wAA2ApAEIANCATcCnAQgAyAhIANB6ANqrYQ3A/gEIAMgA0H4BGo2ApgEIANB7ARqIANBkARqEM8BIANBqANqQgA3AwAgA0IANwOgAyABKQMAIRcgAykD6AMhEyADKALsBCIBBEAgAygC8AQgARCMAwsgA0ESOgCwAyADIBM3A5ADIAMgFzcDmAMgA0GwBGogA0GIA2opAwA3AwAgA0GoBGogA0GAA2opAwA3AwAgA0GgBGogA0H4AmopAwA3AwAgA0GYBGogA0HwAmopAwA3AwAgAyADKQPoAjcDkAQgA0HAAmogA0GQBGoiASADQcADaiADQZADahB2IAFBqMfAAEEEELcBIAMoApAEDQUgAykDqAQhGCADKQOgBCETAn4gHiADKQOYBCIZWARAIBMgGlStIRQgEyAafQwBCyATIBpUrSATIBpRrXwhFCATIBpCf4V8CyEXIAMpA7AEIRYgGCAcfSEVAkAgFFAEQCAYIBxUrSETDAELIBQgFVatIBggHFStfCETIBUgFH0hFQsgFiAbfSEUAkAgE1AEQCAWIBtaDQEMCwsgFiAbVCATIBRWcg0KIBQgE30hFAsgA0ESOgCIBCADIBQ3A4AEIAMgFTcD+AMgAyAXNwPwAyADIBkgHn03A+gDIANByANqIgFCADcDACADQoCAkLu61q3wDTcDwAMgA0EBNgKUBCADQcT9wAA2ApAEIANCATcCnAQgAyAkNwP4BCADIANB+ARqNgKYBCADQewEaiADQZAEahDPASADQagDakIANwMAIANCADcDoAMgASkDACEXIAMpA8ADIRMgAygC7AQiAQRAIAMoAvAEIAEQjAMLIANBEjoAsAMgAyATNwOQAyADIBc3A5gDIANBEjoAsAQgAyAbNwOoBCADIBw3A6AEIAMgGjcDmAQgAyAeNwOQBCADQcADaiIBIANBkARqIANBkANqIANB6ANqEHYgA0GQAmogA0HAAmogARByIAMoApACRQRAIANB4ARqIANBuAJqKQMANwMAIANB2ARqIANBsAJqKQMANwMAIANB0ARqIANBqAJqKQMANwMAIANByARqIANBoAJqKQMANwMAIAMgAykDmAI3A8AEQgEhFUIAIRQCQAJAAkAgAy0AuAEiAg4CAgEAC0IKIRVCASETQgAhFgNAIANBGGogFUIBIAJBAXEiARsgFEIAIAEbIBMgFhCUAiADQShqIBUgFCAVIBQQlAIgAkEDSyADQTBqKQMAIRQgA0EgaikDACEWIAMpAyghFSADKQMYIRMgAkEBdiECDQALIANBCGogEyAWIBUgFBCUAiADQRBqKQMAIRQgAykDCCEVDAELQgohFQsgA0GYAmoiASAUNwMAIAMgFTcDkAIgA0EBNgKUAyADQcT9wAA2ApADIANCATcCnAMgAyAiNwPAAyADIANBwANqNgKYAyADQegDaiADQZADahDPASADQagEakIANwMAIANCADcDoAQgASkDACEXIAMpA5ACIRMgAygC6AMiAQRAIAMoAuwDIAEQjAMLIANBEjoAsAQgAyATNwOQBCADIBc3A5gEIABBCGogA0GYAWogA0HABGogA0GQBGoQdiAAQQA2AgAMBwsgAygClAIhASAAQQE2AgAgACABNgIEDAYLIAMgAygClAQ2ApADQczEwABBKyADQZADakG8xMAAQYjswAAQlQIACyADKAKUBCEBIABBATYCACAAIAE2AgQMBAsgAygClAQhASAAQQE2AgAgACABNgIEDAMLIAMgAygClAQ2AuwEQczEwABBKyADQewEakG8xMAAQfjrwAAQlQIACyADKAKUAyEBIABBATYCACAAIAE2AgQMAQsgAyADKAKUBDYCkANBzMTAAEErIANBkANqQbzEwABB6OvAABCVAgALIANBgAVqJAAPCyADQQA2AqAEIANBATYClAQgA0GUh8EANgKQBCADQgQ3ApgEIANBkARqQaiFwQAQswIACyADQQA2AqADIANBATYClAMgA0GUh8EANgKQAyADQgQ3ApgDIANBkANqQaiFwQAQswIACyADQQA2AqAEIANBATYClAQgA0GwxMAANgKQBCADQgQ3ApgEIANBkARqQYDEwAAQswIAC8sfAgp/Dn4jAEGgBWsiAyQAIANB8ARqIAJBIGopAwA3AwAgA0HoBGogAkEYaikDADcDACADQeAEaiACQRBqKQMANwMAIANB2ARqIAJBCGopAwA3AwAgAyACKQMANwPQBCADQcADaiABIANB0ARqEJwBAkACQAJAAkACQAJAIAMoAsADRQRAIANB8AFqIANB4ANqKQMANwMAIANB6AFqIANB2ANqKQMANwMAIANB4AFqIANB0ANqKQMANwMAIAMgAykDyAM3A9gBIAMgAygA6QM2AtABIAMgA0HsA2ooAAA2ANMBIAMtAOgDIQUgA0HABGogAUHYAWopAwA3AwAgA0G4BGogAUHQAWopAwA3AwAgA0GwBGogAUHIAWopAwA3AwAgA0ESOgDIBCADIAEpA8ABNwOoBEIBIQ4CQAJAAkAgBQ4CAgEAC0IKIQ4gBSEEQgEhDwNAIANBsAFqIA5CASAEQQFxIgYbIA1CACAGGyAPIBAQlAIgA0HAAWogDiANIA4gDRCUAiAEQQNLIANByAFqKQMAIQ0gA0G4AWopAwAhECADKQPAASEOIAMpA7ABIQ8gBEEBdiEEDQALIANBoAFqIA8gECAOIA0QlAIgA0GoAWopAwAhDSADKQOgASEODAELQgohDgsgA0GIBGoiBCANNwMAIAMgDjcDgAQgA0EBNgLEAyADQcT9wAA2AsADIANCATcCzAMgA0KAgICAsAciESADQYAEaq2EIhI3A6ACIAMgA0GgAmo2AsgDIANB8AJqIANBwANqEM8BIANB6ARqQgA3AwAgA0IANwPgBCAEKQMAIQ8gAykDgAQhECADKALwAiIGBEAgAygC9AIgBhCMAwsgA0ESOgDwBCADIBA3A9AEIAMgDzcD2AQgA0HYA2ogA0HwAWopAwA3AwAgA0HQA2ogA0HoAWopAwA3AwAgA0HIA2ogA0HgAWopAwA3AwAgA0HkA2ogAygA0wE2AAAgAyADKQPYATcDwAMgAyAFOgDgAyADIAMoAtABNgDhAyADQfgBaiADQcADaiADQdAEaiADQagEahB2IANBmARqIAFBuARqKQMANwMAIANBkARqIAFBsARqKQMANwMAIAQgAUGoBGopAwA3AwAgA0ESOgCgBCADIAEpA6AENwOABEIBIQ5CACENAkACQAJAIAUOAgIBAAtCCiEOIAUhBEIBIQ9CACEQA0AgA0GAAWogDkIBIARBAXEiBhsgDUIAIAYbIA8gEBCUAiADQZABaiAOIA0gDiANEJQCIARBA0sgA0GYAWopAwAhDSADQYgBaikDACEQIAMpA5ABIQ4gAykDgAEhDyAEQQF2IQQNAAsgA0HwAGogDyAQIA4gDRCUAiADQfgAaikDACENIAMpA3AhDgwBC0IKIQ4LIANB2ARqIgYgDTcDACADIA43A9AEIANBATYCxAMgA0HE/cAANgLAAyADQgE3AswDIAMgESADQdAEaq0iGYQ3A/gEIAMgA0H4BGo2AsgDIANB8AJqIANBwANqEM8BIANBwARqQgA3AwAgA0IANwO4BCAGKQMAIQ8gAykD0AQhECADKALwAiIEBEAgAygC9AIgBBCMAwsgA0ESOgDIBCADIBA3A6gEIAMgDzcDsAQgA0HoBGoiByADQfABaikDADcDACADQeAEaiIIIANB6AFqKQMANwMAIAYgA0HgAWopAwA3AwAgA0H0BGogAygA0wE2AAAgAyADKQPYATcD0AQgAyAFOgDwBCADIAMoAtABNgDxBCADQcgDaiADQdAEaiADQYAEaiADQagEahB8IANB6AJqIgQgA0HoA2opAwA3AwAgA0HQAmogA0HQA2opAwA3AwAgA0HYAmogA0HYA2opAwA3AwAgA0HgAmogA0HgA2opAwA3AwAgAyADKQPIAzcDyAIgBC0AACEEIAcgAUHAAWoiBUEYaikDADcDACAIIAVBEGopAwA3AwAgBiAFQQhqKQMANwMAIANBEjoA8AQgAyAFKQMANwPQBEIBIQ5CACENAkACQAJAIAQOAgIBAAtCCiEOQgEhD0IAIRADQCADQdAAaiAOQgEgBEEBcSIGGyANQgAgBhsgDyAQEJQCIANB4ABqIA4gDSAOIA0QlAIgBEEDSyADQegAaikDACENIANB2ABqKQMAIRAgAykDYCEOIAMpA1AhDyAEQQF2IQQNAAsgA0FAayAPIBAgDiANEJQCIANByABqKQMAIQ0gAykDQCEODAELQgohDgsgA0GIBGoiBCANNwMAIAMgDjcDgAQgA0EBNgKsBCADQcT9wAA2AqgEIANCATcCtAQgAyASNwP4BCADIANB+ARqNgKwBCADQfACaiADQagEahDPASADQdgDakIANwMAIANCADcD0AMgBCkDACEPIAMpA4AEIRAgAygC8AIiBARAIAMoAvQCIAQQjAMLIANBEjoA4AMgAyAQNwPAAyADIA83A8gDIANBoAJqIANByAJqIANBwANqIgQgA0HQBGoQdiAEIAEgAhBnIAMoAsADDQEgA0GQA2ogA0HoA2opAwAiDzcDACADQYgDaiADQeADaikDACIQNwMAIANBgANqIANB2ANqKQMAIg03AwAgA0H4AmogA0HQA2opAwAiDjcDACADQagDaiAONwMAIANBsANqIA03AwAgA0G4A2ogEDcDACADIAMpA8gDIhA3A/ACIAMgEDcDoAMgAyADKACRAzYCmAMgAyADQZQDaigAADYAmwMgA0HABGogBUEYaikDADcDACADQbgEaiAFQRBqKQMANwMAIANBsARqIAVBCGopAwA3AwAgA0ESOgDIBCADIAUpAwA3A6gEQgEhDkIAIQ0CQAJAAkAgD6ciAUH/AXEiBA4CAgEAC0IKIQ5CASEPQgAhEANA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EUUNACAIIB8gGUIAIBV9IhWIfDcDACAKIBogGCAViHw3AwAgECAgIBsgFYh8NwMAIA1BB0YNACAEIAVBA3RqIgggCCkDACAdIBVCP4MiFYh8NwMAIAVBB0YNACAEIAdBBWoiBUEDdGoiCCAIKQMAIAIpAyAgFYh8NwMAIAVBB0YNACAEIAdBBmoiBUEDdGoiCCAIKQMAIAIpAyggFYh8NwMAIAVBB0YNACAHQQN0IARqQThqIgcgBykDACACKQMwIBWIfDcDAAsgBiAEKQMANwMAIAZBOGogBEE4aikDADcDACAGQTBqIARBMGopAwA3AwAgBkEoaiAEQShqKQMANwMAIAZBIGogBEEgaikDADcDACAGQRhqIARBGGopAwA3AwAgBkEQaiAEQRBqKQMANwMAIAZBCGogBEEIaikDADcDACALQQFrIQVBwAAgDGsiBK0hFSABIARBBnYiBkEDdGoiAikDACEWIAJBMGopAwAhICACQShqKQMAISIgAkEgaikDACEjIAJBGGopAwAhJCACQRBqKQMAISUgAkEIaikDACEXIARBP3EhByAGQQdqIgJBCEcNAwwFCyACKQMAIhVQDQMgASkDKCEYIAEpAyAhHiABKQMYIRkgASkDECEaIAEpAwghGyABKQMAIR8gA0HQAWogASkDMCIdIBYgFiAVgCIWIBV+fSAVEMECIANBwAFqIAMpA9ABIiAgA0HYAWopAwAgFUIAEJQCIANBsAFqIBggHSADKQPAAX0gFRDBAiADQaABaiADKQOwASIdIANBuAFqKQMAIBVCABCUAiADQZABaiAeIBggAykDoAF9IBUQwQIgA0GAAWogAykDkAEiGCADQZgBaikDACAVQgAQlAIgA0HwAGogGSAeIAMpA4ABfSAVEMECIANB4ABqIAMpA3AiHiADQfgAaikDACAVQgAQlAIgA0HQAGogGiAZIAMpA2B9IBUQwQIgA0FAayADKQNQIhkgA0HYAGopAwAgFUIAEJQCIANBMGogGyAaIAMpA0B9IBUQwQIgA0EgaiADKQMwIhogA0E4aikDACAVQgAQlAIgA0EQaiAfIBsgAykDIH0gFRDBAiADIAMpAxAiGyADQRhqKQMAIBVCABCUAiAAQgA3A0ggAEHQAGpCADcDACAAQdgAakIANwMAIABB4ABqQgA3AwAgAEHoAGpCADcDACAAQfAAakIANwMAIABB+ABqQgA3AwAgACAWNwM4IAAgIDcDMCAAIB03AyggACAYNwMgIAAgHjcDGCAAIBk3AxAgACAaNwMIIAAgGzcDACAAIB8gAykDAH03A0AMBQsgA0EANgLoBCADQQE2AtwEIANB3LTBADYC2AQgA0IENwLgBCADQdgEakGctcEAELMCAAsgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRhqQgA3AwAgAEEQakIANwMAIABBCGpCADcDACAAIAEpAwA3A0AgAEHIAGogAUEIaikDADcDACAAQdAAaiABQRBqKQMANwMAIABB2ABqIAFBGGopAwA3AwAgAEHgAGogAUEgaikDADcDACAAQegAaiABQShqKQMANwMAIABB8ABqIAFBMGopAwA3AwAgAEH4AGogAUE4aikDADcDAAwDCyABIAJBA3RqKQMAIBWIIRwMAQtBnLXBABDOAgALIAVBBnYhBCAWIBWIIRYgICAViCEYICIgFYghGSAjIBWIIRogJCAViCEbICUgFYghHyAXIBWIIR0gD0EBaiEIIAEpAwAhIQJAIAdFDQAgIEIAIBV9IhWGIBl8IRkgIiAVhiAafCEaICMgFYYgG3whGyAkIBWGIB98IR8gJSAVhiAdfCEdIBcgFYYgFnwhFiAeUA0AIAEgAkEDdGopAwAgFYYgGHwhGAsgAyAcNwOQBCADIBg3A4gEIAMgGTcDgAQgAyAaNwP4AyADIBs3A/ADIAMgHzcD6AMgAyAdNwPgAyADIBY3A9gDIAMgISAehjcD0AMgA0HQBGpCADcDACADQcgEakIANwMAIANBwARqQgA3AwAgA0G4BGpCADcDACADQbAEakIANwMAIANBqARqQgA3AwAgA0GgBGpCADcDACADQgA3A5gEIANB0ANqIARBA3QiAiAPQQN0IgFraiEGIB5CP4MhGCAIQQN0QQhqQQN2IQsgASADakGIA2opAwAhGiAOKQMAIRkgAykDyAMhGyADKQPAAyEfIAMpA7gDIR0gAykDsAMhICADKQOoAyEiIAMpA6ADISMgAykDmAMhJCADKQOQAyElIAEgAmtByABqQQN2IhMhDSAEIA9rIg4hAQJAA0ACQAJAAkACQAJAIAEiByAIaiICQQlJBEBCfyEWIANB0ANqIAJBA3RqIhApAwAiFSAZWg0CIAEgD2oiBEEJSQ0BQX9BCUGctcEAEKACAAsgAkEJQZy1wQAQoAIACyACQQJrIgFBCEsNASADQYADaiADQdADaiICIARBA3RqKQMAIhcgFSAZEMECIANB8AJqIAMpA4ADIhYgA0GIA2opAwAgGUIAEJQCIBcgAykD8AJ9IRUgAUEDdCACaikDACEXA0AgA0HgAmogFkIAIBpCABCUAiAXIAMpA+ACWiAVIANB6AJqKQMAIhxWIBUgHFEbDQEgFkIBfSEWIBUgFSAZfCIVWA0ACwsgA0HQAmogJUIAIBZCABCUAiADQcACaiAkQgAgFkIAEJQCIANBsAJqICNCACAWQgAQlAIgA0GgAmogIkIAIBZCABCUAiADQZACaiAgQgAgFkIAEJQCIANBgAJqIB1CACAWQgAQlAIgA0HwAWogH0IAIBZCABCUAiADQeABaiAbQgAgFkIAEJQCIAMgAykD0AI3A9gEIAMgAykDwAIiFSADQdgCaikDAHwiFzcD4AQgAyADQcgCaikDACAVIBdWrXwiFSADKQOwAnwiFzcD6AQgAyADQbgCaikDACAVIBdWrXwiFSADKQOgAnwiFzcD8AQgAyADQagCaikDACAVIBdWrXwiFSADKQOQAnwiFzcD+AQgAyADQZgCaikDACAVIBdWrXwiFSADKQOAAnwiFzcDgAUgAyADQYgCaikDACAVIBdWrXwiFSADKQPwAXwiFzcDiAUgAyADQfgBaikDACAVIBdWrXwiFSADKQPgAXwiFzcDkAUgAyADQegBaikDACAVIBdWrXw3A5gFIA5BCUsNAUHIACAHQQN0IhFrQQN2IgEgCyABIAtJG0UNAiANQf////8BcSEMIBIgE2pB/////wFxIgogCyAKIAtJGyIBQQFxAn8gAUEBRgRAQgAhFUEADAELQQAgCyAMIAsgDEkbQf7///8AcWshCUIAIRVBACEEIANB2ARqIQIgBiEBA0AgASABKQMAIhcgAikDACIcIBV8IhV9NwMAIAFBCGoiBSAFKQMAIiEgAkEIaikDACImIBUgHFQgFSAXVnKtfCIVfTcDACAVICZUIBUgIVZyIgWtIRUgAUEQaiEBIAJBEGohAiAJIARBAmsiBEcNAAtBACAEawshASADQdADaiARaiEJBEAgCSABQQN0IgFqIgIgAikDACIXIBUgA0HYBGogAWopAwAiHHwiFX03AwAgFSAcVCAVIBdWciEFCyAFQQFxRQ0CQQAhAgJAIAdBCUYNACAKIAggCCAKSxsiAUEBcQJ/IAFBAUYEQEIAIRVBAAwBC0EAIAggDCAIIAxJG0H+//8/cWshDEIAIRVBACEBQQAhBANAIAEgBmoiAiACKQMAIhcgFSADQZADaiABaiIFKQMAIhV8Ihx8IiE3AwAgAkEIaiICIAIpAwAiJiAFQQhqKQMAIicgFSAcViAXICFWcq18IhV8Ihc3AwAgFSAnVCAXICZUciICrSEVIAFBEGohASAMIARBAmsiBEcNAAtBACAEawshAUUNACAJIAFBA3QiAWoiAiACKQMAIhcgFSADQZADaiABaikDACIVfCIcfCIhNwMAIBUgHFYgFyAhVnIhAgsgECAQKQMAIAKtQgGDfDcDACAWQgF9IRYMAgsgAUEJQZy1wQAQoAIACyAOQQlBnLXBABCfAgALIA5BCEkEQCAHQQFrIQEgA0GYBGogEWogFjcDACAGQQhrIQYgDUEBaiENIBJBAWohEiAHRQ0CDAELCyAOQQhBnLXBABCgAgALIANB2ARqIANB0ANqQcgAENkBGiADIAMpA9gEIBiINwOgBSADIAMpA+AEIBiINwOoBSADIAMpA+gEIBiINwOwBSADIAMpA/AEIBiINwO4BSADIAMpA/gEIBiINwPABSADIAMpA4AFIBiINwPIBSADIAMpA4gFIBiINwPQBSADIAMpA5AFIBiINwPYBQJAIB5QRQRAQgAgHn1CP4MhFUEBIQEDQEEIIQRBByECIAFBB0siBkUEQCABQQFrIgJBB0sNAyABQQFqIQQLIANBoAVqIAJBA3RqIgIgAikDACADQdgEaiABQQN0aikDACAVhoQ3AwAgBCEBIAZFDQALCyAAIAMpA6AFNwNAIABB+ABqIANB2AVqKQMANwMAIABB8ABqIANB0AVqKQMANwMAIABB6ABqIANByAVqKQMANwMAIABB4ABqIANBwAVqKQMANwMAIABB2ABqIANBuAVqKQMANwMAIABB0ABqIANBsAVqKQMANwMAIABByABqIANBqAVqKQMANwMAIABBOGogA0HQBGopAwA3AwAgAEEwaiADQcgEaikDADcDACAAQShqIANBwARqKQMANwMAIABBIGog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DQZBASEEIBAgEYQgEiAThIRCAFINBkHMm8AAEM4CAAsgA0HoAmogAkEYaiIEKQMANwMAIANB4AJqIAgpAwA3AwAgA0HYAmogAkEIaiIFKQMANwMAIAMgAikDADcD0AIgA0GAAmogBCkDADcDACADQfgBaiAIKQMANwMAIANB8AFqIAUpAwA3AwAgAyACKQMANwPoASADQYgDaiIGQgA3AwAgB0IANwMAIANB+AJqIgdCADcDACADQgA3A/ACAkAgA0HQAmogA0HwAmoQmgJB/wFxQf8BRwRAIAYgBCkDADcDACADQYADaiACQRBqKQMANwMAIAcgBSkDADcDACADIAIpAwA3A/ACDAELIANB8AJqIANB6AFqEMgBCyADQRI6AJADIANBmANqIgIgASADQfACaiIEEHEgAygCmAMNBiADQeABaiADQcADaikDADcDACADQdgBaiADQbgDaikDACIMNwMAIANB0AFqIANBsANqIgEpAwAiDTcDACADQcgBaiADQagDaiIFKQMAIg43AwAgAyADKQOgAyIPNwPAASADQYgDaiIGIAw3AwAgA0GAA2oiByANNwMAIANB+AJqIgggDjcDACADIA83A/ACIAFCADcDACAFQgA3AwAgA0GgA2pCADcDACADQgA3A5gDIAQgAkEgEK0CRQ0HIAYgA0GwAWopAwA3AwAgByADQagBaikDADcDACAIIANBoAFqKQMANwMAIAMgAykDmAE3A/ACIANBEjoAkAMgA0HYAmoiAkIANwMAIANCgICQu7rWrfANNwPQAiADQQE2AuwBIANBsJTAADYC6AEgA0IBNwL0ASADIANB0AJqrUKAgICAEIQ3A+gDIAMgA0HoA2o2AvABIANB3ANqIANB6AFqEM8BIAFCADcDACADQgA3A6gDIAIpAwAhDCADKQPQAiENIAMoAtwDIgEEQCADKALgAyABEIwDCyADQRI6ALgDIAMgDDcDoAMgAyANNwOYAyAAQQhqIANB8AJqIANBmANqIANBwAFqEHsgAEEANgIADAkLIAAgAykDmAE3AwggAEEANgIAIABBKGogA0G4AWopAwA3AwAgAEEgaiADQbABaikDADcDACAAQRhqIANBqAFqKQMANwMAIABBEGogA0GgAWopAwA3AwAMCAsgAEIANwMIIABBEjoAKCAAQQA2AgAgAEEgakIANwMAIABBGGpCADcDACAAQRBqQgA3AwAMBwsgAygCnAMhASAAQQE2AgAgACABNgIEDAYLIAMoAvQCIQEgAEEBNgIAIAAgATYCBAwFCyADKALsASEBIABBATYCACAAIAE2AgQMBAsgAcAgBMBtIQIgAyAMQgBTBH4gDUJ/hUIAIA19IhZCACAPfSIPQgBSIgEbIQ0gDkJ/hSIUIBZQIAFBf3NxIgGtfCIWIBQgARshDiABIBQgFlZxrSAMQn+FfAUgDAs3A4ACIAMgDjcD+AEgAyANNwPwASADIA83A+gBIAMgEkIAUwR+IBFCf4VCACARfSINQgAgEH0iEEIAUiIBGyERIBNCf4UiDCANUCABQX9zcSIBrXwiDSAMIAEbIRMgASAMIA1Wca0gEkJ/hXwFIBILNwOIAyADIBM3A4ADIAMgETcD+AIgAyAQNwPwAiADQZgDaiADQegBaiADQfACahBzIAMpA7ADIQ0gAykDqAMhDiADKQOgAyEMIAMpA5gDIQ8gAyACQf8BcUECTwR+IAxCf4VCACAMfSIQQgAgD30iD0IAUiIBGyEMIA5Cf4UiESAQUCABQX9zcSIBrXwiECARIAEbIQ4gASAQIBFUca0gDUJ/hXwFIA0LNwOIAyADIA43A4ADIAMgDDcD+AIgAyAPNwPwAiADQZgDaiADQfACahBjIAMoApgDRQRAIAMpA7ADIQ0gAykDqAMhDCADKQOgAyEOIAMgAykDuAMiD0IAWSIEBH4gDwUgDEJ/hUIAIAx9IhBCACAOfSIOQgBSIgEbIQwgDUJ/hSIRIBBQIAFBf3NxIgGtfCIQIBEgARshDSABIBAgEVRxrSAPQn+FfAs3A8gCIAMgDTcDwAIgAyAMNwO4AiADIA43A7ACIANBsAJqIQIjAEHgAGsiASQAAkAgBEUEQCABQdgAaiIEQgA3AwAgAUHQAGoiBUIANwMAIAFByABqIgZCADcDACABQgA3A0AgASABQUBrEJ0BIAIgAUEgEK0CRQRAIARBgJjAACkDADcDACAFQfiXwAApAwA3AwAgBkHwl8AAKQMANwMAIAFB6JfAACkDADcDQAwCCyABQThqIAJBGGopAwA3AwAgAUEwaiACQRBqKQMANwMAIAFBKGogAkEIaikDADcDACABIAIpAwA3AyAgAUFAayABQSBqEMgBDAELIAFB2ABqIAJBGGopAwA3AwAgAUHQAGogAkEQaikDADcDACABQcgAaiACQQhqKQMANwMAIAEgAikDADcDQAsgACABKQNANwMIIABBADYAKSAAQRI6ACggAEEANgIAIABBLGpBADYAACAAQSBqIAFB2ABqKQMANwMAIABBGGogAUHQAGopAwA3AwAgAEEQaiABQcgAaikDADcDACABQeAAaiQADAQLIAMoApwDIQEgAEEBNgIAIAAgATYCBAwDCyADKAKcAyEBIABBATYCACAAIAE2AgQMAgsgA0EANgKoAyADQQE2ApwDIANBtJrAADYCmAMgA0IENwKgAyADQZgDakHcm8AAEM0BIQEgAEEBNgIAIAAgATYCBAwBCyADKAKcAyEBIABBATYCACAAIAE2AgQLIANB8ANqJAAL1BwCCX8NfiMAQfADayIDJABCASEMAkACQAJAIAEtACAiBA4CAgEAC0IKIQxCASEOA0AgA0H4AGogDEIBIARBAXEiBRsgDUIAIAUbIA4gDxCUAiADQYgBaiAMIA0gDCANEJQCIARBA0sgA0GQAWopAwAhDSADQYABaikDACEPIAMpA4gBIQwgAykDeCEOIARBAXYhBA0ACyADQegAaiAOIA8gDCANEJQCIANB8ABqKQMAIQ0gAykDaCEMDAELQgohDAsgA0H4AmoiBCANNwMAIAMgDDcD8AIgA0EBNgKcAyADQcT9wAA2ApgDIANCATcCpAMgAyADQfACaq1CgICAgLAHhDcD0AIgAyADQdACajYCoAMgA0HoAWogA0GYA2oQzwEgA0GwAWpCADcDACADQgA3A6gBIAQpAwAhDCADKQPwAiENIAMoAugBIgUEQCADKALsASAFEIwDCyADQRI6ALgBIAMgDDcDoAEgAyANNwOYASADQYgDaiIKIAJBGGopAwA3AwAgA0GAA2oiByACQRBqIggpAwA3AwAgBCACQQhqKQMANwMAIAMgAikDADcD8AIgA0GwA2oiBEIANwMAIANBqANqIglCADcDACADQaADaiIFQgA3AwAgA0IANwOYAwJAAkACQAJAAkACQAJAAkACQAJAIANB8AJqIgsgA0GYA2oiBhCaAkH/AXFB/wFHBEAgCiACQRhqKQMANwMAIAcgCCkDADcDACADQfgCaiACQQhqKQMANwMAIAMgAikDADcD8AIgBEIANwMAIAlCADcDACAFQgA3AwAgA0IANwOYAyALIAZBIBCtAkUNASAEQgA3AwAgCUIANwMAIAVCADcDACADQgA3A5gDIAEgBkEgEK0CRQ0CIAYgAhCrASADKAKYAw0DIAMpA7gDIQ4gAykDsAMhDyADKQOoAyENIAMpA6ADIQwgA0G4A2ogAUEgaikDADcDACAEIAFBGGopAwA3AwAgCSABQRBqKQMANwMAIAUgAUEIaikDADcDACADIAEpAwA3A5gDIAsgBhCrASADKALwAg0EIANBqAJqIANBkANqKQMANwMAIANBoAJqIAopAwA3AwAgA0GYAmogBykDADcDACADIAMpA/gCNwOQAiADQegBaiADQZACahBiIAMoAugBDQUgAykDiAIhEEJ/IAwgDYQgD4QgDoRCAFKtIA5CAFMiARsgAykDgAIhEyADKQP4ASERIAMpA/ABIRIgAQRAIA1Cf4VCACANfSIXQgAgDH0iDEIAUiIBGyENIA9Cf4UiFCAXUCABQX9zcSIBrXwiFyAUIAEbIQ8gASAUIBdWca0gDkJ/hXwhDgtCfyARIBKEIBOEIBCEQgBSrSAQQgBTIgEbIAEEQCARQn+FQgAgEX0iFUIAIBJ9IhJCAFIiARshESATQn+FIhQgFVAgAUF/c3EiAa18IhUgFCABGyETIAEgFCAVVnGtIBBCf4V8IRALIANB2ABqIBJCACAMQgAQlAIgA0HIAGogEkIAIA1CABCUAiADQThqIBJCACAPQgAQlAIgA0EoaiARQgAgDEIAEJQCIANBGGogEUIAIA1CABCUAiADQQhqIBNCACAMQgAQlAIgAykDOCIUIANB0ABqKQMAIAMpA0giFSADQeAAaikDAHwiGCAVVK18fCIVIBRUrSADQRBqKQMAIANBIGopAwAgA0FAaykDACAPIBF+IA4gEn58IA0gE358fCAMIBB+fHx8fCADQTBqKQMAIAMpAygiDCAYfCINIAxUrXwiDCAVfCIOIAxUrXwgAykDGCIMIA58Ig4gDFStfCADKQMIIgwgDnwiDiAMVK18IQwgAykDWCEPfkICWgRAIAxCf4UiDEIAIA19IhFQQgAgD30iD0IAUiICQX9zcSIBIA5Cf4UiDiABrXwiECAOVHEiBK18IAwgBBshDCAQIA4gARshDiANQn+FIBEgAhshDQsgA0GYA2ogA0GYAWoQqwEgAygCmAMNCUH/ASEEQf8BIA0gD4QgDoQgDIRCAFIgDEIAUxshASADKQOwAyETIAMpA6gDIREgAykDoAMhECADKQO4AyISQgBTDQZBASEEIBAgEYQgEiAThIRCAFINBkG0gcEAEM4CAAsgA0HoAmogAkEYaiIEKQMANwMAIANB4AJqIAgpAwA3AwAgA0HYAmogAkEIaiIFKQMANwMAIAMgAikDADcD0AIgA0GAAmogBCkDADcDACADQfgBaiAIKQMANwMAIANB8AFqIAUpAwA3AwAgAyACKQMANwPoASADQYgDaiIGQgA3AwAgB0IANwMAIANB+AJqIgdCADcDACADQgA3A/ACAkAgA0HQAmogA0HwAmoQmgJB/wFxQf8BRwRAIAYgBCkDADcDACADQYADaiACQRBqKQMANwMAIAcgBSkDADcDACADIAIpAwA3A/ACDAELIANB8AJqIANB6AFqEMkBCyADQRI6AJADIANBmANqIgIgASADQfACaiIEEHIgAygCmAMNBiADQeABaiADQcADaikDADcDACADQdgBaiADQbgDaikDACIMNwMAIANB0AFqIANBsANqIgEpAwAiDTcDACADQcgBaiADQagDaiIFKQMAIg43AwAgAyADKQOgAyIPNwPAASADQYgDaiIGIAw3AwAgA0GAA2oiByANNwMAIANB+AJqIgggDjcDACADIA83A/ACIAFCADcDACAFQgA3AwAgA0GgA2pCADcDACADQgA3A5gDIAQgAkEgEK0CRQ0HIAYgA0GwAWopAwA3AwAgByADQagBaikDADcDACAIIANBoAFqKQMANwMAIAMgAykDmAE3A/ACIANBEjoAkAMgA0HYAmoiAkIANwMAIANCgICQu7rWrfANNwPQAiADQQE2AuwBIANBxP3AADYC6AEgA0IBNwL0ASADIANB0AJqrUKAgICAsAeENwPoAyADIANB6ANqNgLwASADQdwDaiADQegBahDPASABQgA3AwAgA0IANwOoAyACKQMAIQwgAykD0AIhDSADKALcAyIBBEAgAygC4AMgARCMAwsgA0ESOgC4AyADIAw3A6ADIAMgDTcDmAMgAEEIaiADQfACaiADQZgDaiADQcABahB8IABBADYCAAwJCyAAIAMpA5gBNwMIIABBADYCACAAQShqIANBuAFqKQMANwMAIABBIGogA0GwAWop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lAIgA0EwaiAZIBsgAykDQH0gFRDBAiADQSBqIAMpAzAiGyADQThqKQMAIBVCABCUAiADQRBqIBcgGSADKQMgfSAVEMECIAMgAykDECIZIANBGGopAwAgFUIAEJQCIABCADcDKCAAQTBqQgA3AwAgAEE4akIANwMAIAAgFjcDGCAAIBo3AxAgACAbNwMIIAAgGTcDACAAIBcgAykDAH03AyAMBQsgA0EANgLIAiADQQE2ArwCIANB3LTBADYCuAIgA0IENwLAAiADQbgCakGMtcEAELMCAAsgAEIANwMAIABBGGpCADcDACAAQRBqQgA3AwAgAEEIakIANwMAIAAgASkDADcDICAAQShqIAFBCGopAwA3AwAgAEEwaiABQRBqKQMANwMAIABBOGogAUEYaikDADcDAAwDCyADQbgCaiAEQQN0aiAeIBuGNwMADAELQYy1wQAQzgIACyAGQQFrAkAgCkUNACAHICAgF0IAIBl9IheIfDcDACAIIB8gGiAXiHw3AwAgHVANACADQbgCaiAEQQN0aiIEIAQpAwAgFSAXiHw3AwALQQZ2IQQgA0HoAWogA0HQAmopAwA3AwAgA0HgAWogA0HIAmopAwA3AwAgA0HYAWogA0HAAmopAwA3AwAgAyADKQO4AjcD0AEgFkHAACACayICrSIViEIAIAJBBnYiBkEDaiIHQQRHGyEdIAEgBkEDdGoiBUEQaikDACIeIBWIIRogBUEIaikDACIfIBWIIRYgBSkDACAViCEXIAEpAwAhIAJAIAJBP3FFDQAgHkIAIBV9IhWGIBZ8IRYgHyAVhiAXfCEXIBlQDQAgASAHQQN0aikDACAVhiAafCEaCyANQQFqIQggAyAdNwOQAiADIBo3A4gCIAMgFjcDgAIgAyAXNwP4ASADICAgG4Y3A/ABIANBsAJqQgA3AwAgA0GoAmpCADcDACADQaACakIANwMAIANCADcDmAIgA0HwAWogBEEDdCICIA1BA3QiAWtqIQYgAUEQakEDdiEHIAEgA2pByAFqKQMAIRogCSkDACEXIAMpA+gBIR0gAykD4AEhHiADKQPYASEfIAMpA9ABISAgASACa0EoakEDdiITIQ8gBCANayIKIQECQANAAkACQAJAAkACQCABIgkgCGoiAkEFSQRAQn8hFiADQfABaiACQQN0aiIRKQMAIhUgF1oNAiABIA1qIgRBBUkNAUF/QQVBjLXBABCgAgALIAJBBUGMtcEAEKACAAsgAkECayIBQQRLDQEgA0HAAWogA0HwAWoiAiAEQQN0aikDACIYIBUgFxDBAiADQbABaiADKQPAASIWIANByAFqKQMAIBdCABCUAiAYIAMpA7ABfSEVIAFBA3QgAmopAwAhGANAIANBoAFqIBZCACAaQgAQlAIgGCADKQOgAVogFSADQagBaikDACIcViAVIBxRGw0BIBZCAX0hFiAVIBUgF3wiFVgNAAsLIANBkAFqICBCACAWQgAQlAIgA0GAAWogH0IAIBZCABCUAiADQfAAaiAeQgAgFkIAEJQCIANB4ABqIB1CACAWQgAQlAIgAyADKQOQATcDuAIgAyADKQOAASIVIANBmAFqKQMAfCIYNwPAAiADIANBiAFqKQMAIBUgGFatfCIVIAMpA3B8Ihg3A8gCIAMgA0H4AGopAwAgFSAYVq18IhUgAykDYHwiGDcD0AIgAyADQegAaikDACAVIBhWrXw3A9gCIApBBUsNAUEoIAlBA3QiEmtBA3YiASAHIAEgB0kbRQ0CIA9B/////wFxIQsgECATakH/////AXEiDCAHIAcgDEsbIgFBAXECfyABQQFGBEBCACEVQQAMAQtBACAHIAsgByALSRtB/v//P3FrIQ5CACEVQQAhBCADQbgCaiECIAYhAQNAIAEgASkDACIYIAIpAwAiHCAVfCIVfTcDACABQQhqIgUgBSkDACIhIAJBCGopAwAiIiAVIBxUIBUgGFZyrXwiFX03AwAgFSAiVCAVICFWciIFrSEVIAFBEGohASACQRBqIQIgDiAEQQJrIgRHDQALQQAgBGsLIQEgA0HwAWogEmohDgRAIA4gAUEDdCIBaiICIAIpAwAiGCADQbgCaiABaikDACIcIBV8IhV9NwMAIBUgHFQgFSAYVnIhBQsgBUEBcUUNAkEAIQICQCAJQQVGDQAgDCAIIAggDEsbIgFBAXECfyABQQFGBEBCACEVQQAMAQtBACAIIAsgCCALSRtB/v//P3FrIQtCACEVQQAhAUEAIQQDQCABIAZqIgIgAikDACIYIBUgA0HQAWogAWoiBSkDACIVfCIcfCIhNwMAIAJBCGoiAiACKQMAIiIgBUEIaikDACIjIBUgHFYgGCAhVnKtfCIVfCIYNwMAIBUgI1QgGCAiVHIiAq0hFSABQRBqIQEgCyAEQQJrIgRHDQALQQAgBGsLIQFFDQAgDiABQQN0IgFqIgIgAikDACIYIBUgA0HQAWogAWopAwAiFXwiHHwiITcDACAVIBxWIBggIVZyIQILIBEgESkDACACrUIBg3w3AwAgFkIBfSEWDAILIAFBBUGMtcEAEKACAAsgCkEFQYy1wQAQnwIACyAKQQRJBEAgCUEBayEBIANBmAJqIBJqIBY3AwAgBkEIayEGIA9BAWohDyAQQQFqIRAgCUUNAgwBCwsgCkEEQYy1wQAQoAIACyADQdgCaiADQZACaikDADcDACADQdACaiADQYgCaikDACIVNwMAIANByAJqIANBgAJqKQMAIhY3AwAgA0HAAmogA0H4AWopAwAiFzcDACADIAMpA/ABIho3A7gCIAMgGiAbiDcD4AIgAyAXIBuINwPoAiADIBYgG4g3A/ACIAMgFSAbiDcD+AICQCAZUEUEQEIAIBl9Qj+DIRVBASEBA0BBBCEEQQMhAiABQQNLIgZFBEAgAUEBayICQQNLDQMgAUEBaiEECyADQeACaiACQQN0aiICIAIpAwAgA0G4AmogAUEDdGopAwAgFYaENwMAIAQhASAGRQ0ACwsgACADKQPgAjcDICAAQThqIANB+AJqKQMANwMAIABBMGogA0HwAmopAwA3AwAgAEEoaiADQegCaikDADcDACAAQRhqIANBsAJqKQMANwMAIABBEGogA0GoAmopAwA3AwAgAEEIaiADQaACaikDADcDACAAIAMpA5gCNwMADAELQX9BBEGMtcEAEKACAAsgA0GAA2okAAu3GAIPfwN+IwBBwB1rIgIkACACQYgQaiIDIAEQAiABEAMQvgECQAJAAkAgAigCiBBFBEAgAyACQZQIaiACQZAQakHwBxDZASIDQfAHENkBGiACQSBqIANB8AcQ2QEaIAIgARApNgK4HCACQZAIaiACQbgcakHktcAAELEBAkACQAJAAkACQAJAAkAgAigCkAhFBEAgAkGUGmogAkGwCGopAwAiETcCACACQYwaaiACQagIaikDACISNwIAIAJBhBpqIAJBoAhqKQMAIhM3AgAgAkGIGGogEzcDACACQZAYaiASNwMAIAJBmBhqIBE3AwAgAiACKQOYCCIRNwL8GSACIBE3A4AYIAJBEjoAoBggAigCuBwiA0GEAU8EQCADEAALIAIgARAvNgK4HCACQZAIaiACQbgcakH0tcAAELEBIAIoApAIDQEgAkGUGmogAkGwCGopAwAiETcCACACQYwaaiACQagIaikDACISNwIAIAJBhBpqIAJBoAhqKQMAIhM3AgAgAkGwGGogEzcDACACQbgYaiASNwMAIAJBwBhqIBE3AwAgAiACKQOYCCIRNwL8GSACIBE3A6gYIAIoArgcIgNBhAFPBEAgAxAACyACIAEQLjYCuBwgAkGQCGogAkG4HGpBhLbAABCxASACKAKQCA0CIAJBlBpqIAJBsAhqKQMAIhE3AgAgAkGMGmogAkGoCGopAwAiEjcCACACQYQaaiACQaAIaikDACITNwIAIAJB+BhqIBM3AwAgAkGAGWogEjcDACACQYgZaiARNwMAIAJB4BhqIBE3AwAgAkHQGGogEzcDACACQdgYaiASNwMAIAIgAikDmAgiETcC/BkgAiARNwPwGCACIBE3A8gYIAJBEjoA6BggAigCuBwiA0GEAU8EQCADEAALIAIgARAqIgM2ArgcIAJBkAhqIAJBuBxqQZS2wAAQsQEgAigCkAgNAyACQZQaaiACQbAIaikDACIRNwIAIAJBjBpqIAJBqAhqKQMAIhI3AgAgAkGEGmogAkGgCGopAwAiEzcCACACQcAZaiATNwMAIAJByBlqIBI3AwAgAkHQGWogETcDACACQagZaiARNwMAIAJBmBlqIBM3AwAgAkGgGWogEjcDACACIAIpA5gIIhE3AvwZIAIgETcDuBkgAiARNwOQGSACQRI6ALAZIANBhAFPBEAgAxAACyACIAEQKyIDNgK4HCACQZAIaiACQbgcakGktsAAELEBIAIoApAIDQQgAkGUGmogAkGwCGopAwAiETcCACACQYwaaiACQagIaikDACISNwIAIAJBhBpqIAJBoAhqKQMAIhM3AgAgAkHgGWogEzcDACACQegZaiASNwMAIAJB8BlqIBE3AwAgAiACKQOYCCIRNwL8GSACIBE3A9gZIANBhAFPBEAgAxAACyACQZAIaiIEIAJBIGoiBhCZASACQfgZaiAEQbS2wAAQ0QEgAigC+BkNByACQagdaiACQYgaaiIDKQMANwMAIAJBsB1qIAJBkBpqIgUpAwA3AwAgAkG4HWogAkGYGmopAwA3AwAgAiACKQOAGjcDoB0gAkHQGmogBiACQdgZahDaASACQcAaaiACQegaaikDADcDACACQbgaaiACQeAaaikDADcDACACQbAaaiACQdgaaikDADcDACACQRI6AMgaIAIgAikD0Bo3A6gaIAJBkBlqIAJBqBpqEJoCQf8BcUEBRg0FIARBxLbAAEEBELYBIAIoApAIDQkgAkGQG2ogAkG4CGopAwA3AwAgAkGIG2ogAkGwCGopAwA3AwAgAkGAG2ogAkGoCGopAwA3AwAgAkH4GmogAkGgCGopAwA3AwAgAiACKQOYCDcD8BoMBgsgAkGQGmogAkGsCGooAgAiAzYCACACQYgaaiACQaQIaikCACIRNwMAIAJBgBpqIAJBnAhqKQIAIhI3AwAgAkEIaiASNwMAIAJBEGogETcDACACQRhqIAM2AgAgAiACKQKUCCIRNwP4GSACIBE3AwAgAigCuBwiA0GEAUkNCiADEAAMCgsgAkGQGmogAkGsCGooAgAiAzYCACACQYgaaiACQaQIaikCACIRNwMAIAJBgBpqIAJBnAhqKQIAIhI3AwAgAkEIaiASNwMAIAJBEGogETcDACACQRhqIAM2AgAgAiACKQKUCCIRNwP4GSACIBE3AwAgAigCuBwiA0GEAUkNCSADEAAMCQsgAkGQGmogAkGsCGooAgAiAzYCACACQYgaaiACQaQIaikCACIRNwMAIAJBgBpqIAJBnAhqKQIAIhI3AwAgAkEIaiASNwMAIAJBEGogETcDACACQRhqIAM2AgAgAiACKQKUCCIRNwP4GSACIBE3AwAgAigCuBwiA0GEAUkNCCADEAAMCAsgAkGQGmogAkGsCGooAgAiBTYCACACQYgaaiACQaQIaikCACIRNwMAIAJBgBpqIAJBnAhqKQIAIhI3AwAgAkEIaiASNwMAIAJBEGogETcDACACQRhqIAU2AgAgAiACKQKUCCIRNwP4GSACIBE3AwAgA0GEAUkNByADEAAMBwsgAkGQGmogAkGsCGooAgAiBTYCACACQYgaaiACQaQIaikCACIRNwMAIAJBgBpqIAJBnAhqKQIAIhI3AwAgAkEIaiASNwMAIAJBEGogETcDACACQRhqIAU2AgAgAiACKQKUCCIRNwP4GSACIBE3AwAgA0GEAUkNBiADEAAMBgsgAkGYG2oiBCACQbgZaiACQdAaahDeASACQRI6ALgbIAUgAkGgFmopAwA3AwAgAyACQZgWaikDADcDACACQYAaaiACQZAWaikDADcDACACIAIpA4gWNwP4GSACQRI6AJgaIAJBkAhqIgMgBBDTASACQfAaaiAEIAMgAkH4GWoQewsgAkGQCGoiBCACQagYaiACQfAYahDeASACQRI6ALAIIAJB+BlqIgYgAkGAGGoiCCAEEMEBIAJBwBtqIgsgBiACQcgYahDAASAEQcW2wABBBBC2ASACKAKQCA0DIAJBmB1qIAJBsAhqIgkpAwA3AwAgAkGQHWogAkGoCGoiAykDADcDACACQYgdaiACQaAIaiIFKQMANwMAIAIgAikDmAg3A4AdIAQgAkGAHWogAkGgHWoQ3gEgAkESOgCwCCAGIAggBBDBASAJIAJBkBtqIgwpAwA3AwAgAyACQYgbaiINKQMANwMAIAUgAkGAG2oiDikDADcDACACQZgIaiIHIAJB+BpqIg8pAwA3AwAgAiACKQPwGjcDkAggAkHoG2oiCiAGIAQQwQEgAyACQYAUaikDADcDACAFIAJB+BNqKQMANwMAIAcgAkHwE2opAwA3AwAgAiACKQPoEzcDkAggAkESOgCwCCACQZAcaiIQIAogBBDBASAJIAwpAwA3AwAgAyANKQMANwMAIAUgDikDADcDACAHIA8pAwA3AwAgAiACKQPwGjcDkAggBiAIIAQQwQEgAyACQaAUaikDADcDACAFIAJBmBRqKQMANwMAIAcgAkGQFGopAwA3AwAgAiACKQOIFDcDkAggAkESOgCwCCACQbgcaiIDIAYgBBDBASACQeAcaiIFIAsgChDqASAGIAUgEBDeASAEIAYgAxDqASACQRI6ALAIIAIgBEHMtsAAELwBDAQLIAJB0BxqIAJBlBpqKAIAIgM2AgAgAkEIaiACQYQaaikCADcDACACQRBqIAJBjBpqKQIANwMAIAJBGGogAzYCACACIAIpAvwZNwMADAMLIAJBqAhqIAJBpBBqKAIAIgM2AgAgAkEIaiACQZQQaikCADcDACACQRBqIAJBnBBqKQIANwMAIAJBGGogAzYCACACIAIpAowQNwMADAILIAIgAigClAg2AvgZQey2wABBKyACQfgZakHctsAAQai3wAAQlQIACyACIAIoApQINgL4GUHstsAAQSsgAkH4GWpB3LbAAEGY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IAIgEzcD0AIgAiAUIBZ9NwPIAiACQdgBaiIBQgA3AwAgAkKAgJC7utat8A03A9ABIAJBATYC9AIgAkHE/cAANgLwAiACQgE3AvwCIAIgGCACQdABaq2ENwPIAyACIAJByANqNgL4AiACQYgBaiACQfACahDPASACQbgDakIANwMAIAJCADcDsAMgASkDACELIAIpA9ABIQwgAigCiAEiAQRAIAIoAowBIAEQjAMLIAJBEjoAwAMgAiAMNwOgAyACIAs3A6gDIAJBEjoAkAMgAiAKNwOIAyACIAk3A4ADIAIgDjcD+AIgAiAVNwPwAiACQeAAaiIBIAJB8AJqIAJByAJqIAJBoANqEHYgAEEIaiACQThqIAEQwgEgAEEANgIADAILIAIgAigC9AI2AqADQczEwABBKyACQaADakG8xMAAQcjJwAAQlQIACyACKAL0AiEBIABBATYCACAAIAE2AgQLIAJB8ANqJAAPCyACIAIoAvQCNgKgA0HMxMAAQSsgAkGgA2pBvMTAAEGIysAAEJUCAAsgAiACKAL0AjYCoANBzMTAAEErIAJBoANqQbzEwABB+MnAABCVAgALIAIgAigC9AI2AqADQczEwABBKyACQaADakG8xMAAQejJwAAQlQIACyACIAIoAvQCNgKgA0HMxMAAQSsgAkGgA2pBvMTAAEHYycAAEJUCAAsgAkEANgKAAyACQQE2AvQCIAJBlIfBADYC8AIgAkIENwL4AiACQfACakGohcEAELMCAAsgAkEANgKAAyACQQE2AvQCIAJBsMTAADYC8AIgAkIENwL4AiACQfACakGAxMAAELMCAAunWAIWfwp+IwBBkBtrIgMkACADQZAQaiABEAIgARADEL4BAkAgAygCkBBFBEAgA0EoaiADQZwIaiADQZgQakHwBxDZAUHwBxDZARogAyABEA4iBTYCpBkgAyAFQQBHNgKgGQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAVFBEAgA0GwEGpCADcDACADQagQakIANwMAIANBoBBqQgA3AwAgA0IANwOYEAwBCyADQZAQaiADQaQZakHon8AAELEBIAMoAqQZIQQgAygCoBkhAiADKAKQEEEBcQ0BCyADQbQIaiADQbAQaikDACIYNwIAIANBrAhqIANBqBBqKQMAIhk3AgAgA0GkCGogA0GgEGopAwAiGjcCACADQZAYaiAaNwMAIANBmBhqIBk3AwAgA0GgGGogGDcDACADIAMpA5gQIhg3ApwIIAMgGDcDiBggA0ESOgCoGCACRSAEQYQBSXJFBEAgBBAACyADIAEQDyICNgKkGUEAIQQgAyACQQBHNgKgGSACDQEgA0GwEGpCADcDACADQagQakIANwMAIANBoBBqQgA3AwAgA0IANwOYEEEAIQIMAgsgA0GwCGogA0GsEGooAgAiBTYCACADQagIaiADQaQQaikCACIYNwMAIANBoAhqIANBnBBqKQIAIhk3AwAgA0EQaiAZNwMAIANBGGogGDcDACADQSBqIAU2AgAgAyADKQKUECIYNwOYCCADIBg3AwggAkUgBEGEAUlyDQwgBBAADAwLIANBkBBqIANBpBlqQfifwAAQsQEgAygCpBkhBCADKAKgGSECIAMoApAQQQFxDQELIANBtAhqIANBsBBqKQMAIhg3AgAgA0GsCGogA0GoEGopAwAiGTcCACADQaQIaiADQaAQaikDACIaNwIAIANBuBhqIBo3AwAgA0HAGGogGTcDACADQcgYaiAYNwMAIAMgAykDmBAiGDcCnAggAyAYNwOwGCADQRI6ANAYIAJFIARBhAFJckUEQCAEEAALIAEQECIEDQEgA0HwGGpBoKDAACkDADcDACADQegYakGYoMAAKQMANwMAIANB4BhqQZCgwAApAwA3AwAgA0GIoMAAKQMANwPYGAwCCyADQbAIaiADQawQaigCACIFNgIAIANBqAhqIANBpBBqKQIAIhg3AwAgA0GgCGogA0GcEGopAgAiGTcDACADQRBqIBk3AwAgA0EYaiAYNwMAIANBIGogBTYCACADIAMpApQQIhg3A5gIIAMgGDcDCCACRSAEQYQBSXINCSAEEAAMCQsgAyAENgKgGSADQZAQaiADQaAZakGwoMAAELEBIAMoApAQDQEgA0HgGGogA0GgEGopAwA3AwAgA0HoGGogA0GoEGopAwA3AwAgA0HwGGogA0GwEGopAwA3AwAgAyADKQOYEDcD2BggBEGEAUkNACAEEAALIAMgARALIgI2AvQZIANB6BpqIgYgA0H0GWpBwKDAABCxASADKALoGg0BIANB7BlqIANBiBtqIgcpAwAiGDcCACADQeQZaiADQYAbaiIEKQMAIhk3AgAgA0HcGWog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ADcDqAMgAkGoAmogBEE4aikDADcDACACQaACaiAEQTBqKQMANwMAIAJBmAJqIARBKGopAwA3AwAgAiAEKQMgNwOQAiACQShqIg0gAkGoA2oiECACQZACaiITEMYBAkAgAigCKEUEQCACQfgCaiACQdAAaikDADcDACACQfACaiACQcgAaiIWKQMANwMAIAJB6AJqIAJBQGspAwA3AwAgAkHgAmogAkE4aikDADcDACACIAIpAzA3A9gCIAIgGTcDqAIgAiAbNwOgAiACIBo3A5gCIAIgGDcDkAIgAkHIA2ogAkG4AWoiFykDADcDACAJIAJBsAFqKQMANwMAIA4gAkGoAWopAwA3AwAgCyACQaABaikDADcDACACIAIpA5gBNwOoAyANIBAgExDGASACKAIoDQEgAkGgA2ogAkHQAGopAwA3AwAgAkGYA2ogFikDADcDACACQZADaiACQUBrKQMANwMAIAJBiANqIAJBOGopAwA3AwAgAiACKQMwNwOAAyAKQdAAaiARIAJBgANqIAJB2AJqEHwgCiAZNwMgIAogGzcDGCAKIBo3AxAgCiAYNwMIIApBADYCACAKQcgAaiAXKQMANwMAIApBQGsgAkGwAWopAwA3AwAgCkE4aiACQagBaikDADcDACAKQTBqIAJBoAFqKQMANwMAIAogAikDmAE3AygMAgsgAigCLCEJIApBATYCACAKIAk2AgQMAQsgAigCLCEJIApBATYCACAKIAk2AgQLIAJB0ANqJAACQCAGKALABiICRQRAIAZB+AVqIAZBgAdqKQMANwMAIAZB8AVqIAZB+AZqKQMANwMAIAZB6AVqIAZB8AZqKQMANwMAIAZB0AVqIAZB2AZqKQMANwMAIAZB2AVqIAZB4AZqKQMANwMAIAZBiAZqIAZBmAdqKQMANwMAIAZBkAZqIAZBoAdqKQMANwMAIAZBmAZqIAZBqAdqKQMANwMAIAYgBikD6AY3A+AFIAYgBikD0AY3A8gFIAYgBikDkAc3A4AGIAYpA8gGIRgMAQsgBkGAAWoiCkG4xMAAQQEQtwEgBigCgAFFBEAgBkG4BmoiCSAGQaABaiIOKQMANwMAIAZBsAZqIhEgBkGYAWoiCykDADcDACAGQagGaiINIAZBkAFqIhApAwA3AwAgBiAGKQOIATcDoAYgCkG4xMAAQQEQtwEgBigC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IARBmAJqKQMANwMAIARB4ARqIARBkAJqKQMANwMAIARB2ARqIARBiAJqKQMANwMAIAQgBCkDgAI3A9AEDAILIAQgAzYCjAMgBCACNgKIAyAEIAE2AoQDIwBBMGsiACQAIABBAzYCBCAAQdyAwQA2AgAgAEIDNwIMIAAgBEGEA2oiATUCCEKAgICAoAeENwMoIAAgATUCBEKAgICAoAeENwMgIAAgATUCAEKAgICAoAeENwMYIAAgAEEYajYCCCAAQaSBwQAQzQEhASAAQTBqJAAgBCABNgLQA0G4+8AAQSsgBEHQA2pBqPvAAEGEgcEAEJUCAAsgBSAEQZgCaikDADcDACAGIARBkAJqKQMANwMAIAcgBEGIAmopAwA3AwAgBCAEKQOAAjcD0AMgBEHQBGogBEHQA2oQyQELIAAgBCkD0AQ3AwAgAEEANgAhIABBEjoAICAAQSRqQQA2AAAgAEEYaiAEQegEaikDADcDACAAQRBqIARB4ARqKQMANwMAIABBCGogBEHYBGopAwA3AwAgBEHwBGokAA8LIARBADYC4AMgBEEBNgLUAyAEQZyAwQA2AtADIARCBDcC2AMgBEHQA2pBlIHBABCzAgALykwCDX8QfiMAQaAQayIFJAAjAEGgA2siBiQAAkACQAJAAkAgAygCAEUEQCAGQeABaiEIIwBB8BNrIgQkACAEQeAAaiACQSBqKQMANwMAIARB2ABqIAJBGGopAwA3AwAgBEHQAGogAkEQaikDADcDACAEQcgAaiACQQhqKQMANwMAIAQgAikDADcDQCAEQfgLaiABQdgFaikDADcDACAEQfALaiABQdAFaikDADcDACAEQegLaiABQcgFaikDADcDACAEQRI6AIAMIAQgASkDwAU3A+ALAkACQAJAAkACQCAEQUBrIARB4AtqEJoCQf8BcSIDBEAgA0H/AUcNAQwCCyAELQBgQRJJDQELIARBiARqIAFB2AFqKQMANwMAIARBgARqIAFB0AFqKQMANwMAIARB+ANqIAFByAFqKQMANwMAIARBEjoAkAQgBCABKQPAATcD8AMgBEGADGoiByAEQeAAaikDADcDACAEQfgLaiIJIARB2ABqKQMANwMAIARB8AtqIgogBEHQAGopAwA3AwAgBEHoC2ogBEHIAGopAwA3AwAgBCAEKQNANwPgCyAEQegAaiAE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8A9qIAVBGGoiAikDADcDACAFQegPaiAFQRBqIgMpAwA3AwAgBUH4B2ogBUExaikAADcDACAFQYAIaiAFQTlqKQAANwMAIAVBiAhqIAVBwQBqKQAANwMAIAVBjwhqIgcgBUHIAGoiBCkAADcAACAFIAUpAwg3A+APIAUgBSkAKTcD8AcgBUGYEGogBykAADcDACAFQZAQaiAFQYcIaikAADcDACAFQYgQaiAFQf8HaikAADcDACAFIAUpAPcHNwOAECAFQfAKaiABQeAGahDSAiAFQYQLaiABQfQGahDSAiAFQZgLaiABQYgHahDSAiAFQYgJaiABQfgEaikDADcDACAFQYAJaiABQfAEaikDADcDACAFQfgIaiABQegEaikDADcDACAFQZgJaiABQYgFaikDADcDACAFQaAJaiABQZAFaikDADcDACAFQagJaiABQZgFaikDADcDACAFQbgJaiABQagFaikDADcDACAFQcAJaiABQbAFaikDADcDACAFQcgJaiABQbgFaikDADcDACAFIAEpA+AENwPwCCAFIAEpA4AFNwOQCSAFIAEpA6AFNwOwCSAFQegJaiABQdgFaikDADcDACAFQeAJaiABQdAFaikDADcDACAFQdgJaiABQcgFaikDADcDACAFQYgKaiABQfgFaikDADcDACAFQYAKaiABQfAFaikDADcDACAFQfgJaiABQegFaikDADcDACAFQagKaiABQZgGaikDADcDACAFQaAKaiABQZAGaikDADcDACAFQZgKaiABQYgGaikDADcDACAFIAEpA8AFNwPQCSAFIAEpA+AFNwPwCSAFIAEpA4AGNwOQCiAFQcgKaiABQbgGaikDADcDACAFQcAKaiABQbAGaikDADcDACAFQbgKaiABQagGaikDADcDACAFIAEpA6AGNwOwCiAFQegKaiABQdgGaikDADcDACAFQeAKaiABQdAGaikDADcDACAFQdgKaiABQcgGaikDADcDACAFIAEpA8AGNwPQCiAFQawLaiABQZwHahDSAiAFQcALaiABQbAHahDSAiAFQdQLaiABQcQHahDSAiAFQegLaiABQdgHahDSAiAFQThqIAFBmARqKQMANwMAIAVBMGogAUGQBGopAwA3AwAgBUEoaiABQYgEaikDADcDACAEIAFBqARqKQMANwMAIAVB0ABqIAFBsARqKQMANwMAIAVB2ABqIAFBuARqKQMANwMAIAVB6ABqIAFByARqKQMANwMAIAVB8ABqIAFB0ARqKQMANwMAIAVB+ABqIAFB2ARqKQMANwMAIAUgASkDgAQ3AyAgBSABKQOgBDcDQCAFIAEpA8AENwNgIAIgAUH4A2opAwA3AwAgAyABQfADaikDADcDACAFQQhqIAFB6ANqKQMANwMAIAUgASkD4AM3AwAgBUHwB2oiAiAFQYABENkBGiAFQbgMaiABQThqKQMANwMAIAVBsAxqIAFBMGopAwA3AwAgBUGoDGogAUEoaikDADcDACAFQcgMaiABQcgAaikDADcDACAFQdAMaiABQdAAaikDADcDACAFQdgMaiABQdgAaikDADcDACAFQegMaiABQegAaikDADcDACAFQfAMaiABQfAAaikDADcDACAFQfgMaiABQfgAaikDADcDACAFIAEpAyA3A6AMIAUgASkDQDcDwAwgBSABKQNgNwPgDCAFQZgNaiABQZgBaikDADcDACAFQZANaiABQZABaikDADcDACAFQYgNaiABQYgBaikDADcDACAFQbgNaiABQbgBaikDADcDACAFQbANaiABQbABaikDADcDACAFQagNaiABQagBaikDADcDACAFQdgNaiABQdgBaikDADcDACAFQdANaiABQdABaikDADcDACAFQcgNaiABQcgBaikDADcDACAFIAEpA4ABNwOADSAFIAEpA6ABNwOgDSAFIAEpA8ABNwPADSAFQfgNaiABQfgBaikDADcDACAFQfANaiABQfABaikDADcDACAFQegNaiABQegBaikDADcDACAFIAEpA+ABNwPgDSAFQZgOaiABQZgCaikDADcDACAFQZAOaiABQZACaikDADcDACAFQYgOaiABQYgCaikDADcDACAFIAEpA4ACNwOADiAFQbgOaiABQbgCaikDADcDACAFQbAOaiABQbACaikDADcDACAFQagOaiABQagCaikDADcDACAFIAEpA6ACNwOgDiAFQdgOaiABQdgCaikDADcDACAFQdAOaiABQdACaikDADcDACAFQcgOaiABQcgCaikDADcDACAFIAEpA8ACNwPADiAFQfgOaiABQfgCaikDADcDACAFQfAOaiABQfACaikDADcDACAFQegOaiABQegCaikDADcDACAFIAEpA+ACNwPgDiAFQZgPaiABQZgDaikDADcDACAFQZAPaiABQZADaikDADcDACAFQYgPaiABQYgDaikDADcDACAFIAEpA4ADNwOADyAFQbgPaiABQbgDaikDADcDACAFQbAPaiABQbADaikDADcDACAFQagPaiABQagDaikDADcDACAFIAEpA6ADNwOgDyAFQdgPaiABQdgDaikDADcDACAFQdAPaiABQdADaikDADcDACAFQcgPaiABQcgDaikDADcDACAFIAEpA8ADNwPADyAFQZgMaiABQRhqKQMANwMAIAVBkAxqIAFBEGopAwA3AwAgBUGIDGogAUEIaikDADcDACAFIAEpAwA3A4AMIAVB4ANqIAJBkAQQ2QEaIAUgBUGADGpB4AMQ2QEiAUGAAWogAUGAEGoQ7AEgASABQeAPahDuASAAQQhqIAFB8AcQ2QEaQQAMAQsgACAFKAIENgIEQQELNgIAIAVBoBBqJAAL6mYCH38SfiMAQYAaayIEJAAgBEGQEGoiAyABEAIgARADEL4BAkAgBCgCkBBFBEAgBEEoaiAEQZwIaiAEQZgQakHwBxDZAUHwBxDZARogBCABECk2AtAZIAMgBEHQGWpB9LTAABCxAQJAAkACQAJAAkAgBCgCkBBFBEAgBEG0CGogBEGwEGopAwAiITcCACAEQawIaiAEQagQaikDACIiNwIAIARBpAhqIARBoBBqKQMAIiM3AgAgBEGQGGogIzcDACAEQZgYaiAiNwMAIARBoBhqICE3AwAgBCAEKQOYECIhNwKcCCAEICE3A4gYIAQoAtAZIgNBhAFPBEAgAxAACyAEIAEQLiIDNgLQGSAEQZAQaiAEQdAZakGEtcAAELEBIAQoApAQDQEgBEG0CGogBEGwEGopAwAiITcCACAEQawIaiAEQagQaikDACIiNwIAIARBpAhqIARBoBBqKQMAIiM3AgAgBEGwGGogIzcDACAEQbgYaiAiNwMAIARBwBhqICE3AwAgBCAEKQOYECIhNwKcCCAEICE3A6gYIANBhAFPBEAgAxAACyAEIAEQLyIDNgLQGSAEQZAQaiAEQdAZakGUtcAAELEBIAQoApAQDQIgBEG0CGogBEGwEGopAwAiITcCACAEQawIaiAEQagQaikDACIiNwIAIARBpAhqIARBoBBqKQMAIiM3AgAgBEHQGGogIzcDACAEQdgYaiAiNwMAIARB4BhqICE3AwAgBCAEKQOYECIhNwKcCCAEICE3A8gYIANBhAFPBEAgAxAACyAEIAEQKiIDNgLQGSAEQZAQaiAEQdAZakGktcAAELEBIAQoApAQDQMgBEG0CGogBEGwEGopAwAiITcCACAEQawIaiAEQagQaikDACIiNwIAIARBpAhqIARBoBBqKQMAIiM3AgAgBEHwGGogIzcDACAEQfgYaiAiNwMAIARBgBlqICE3AwAgBCAEKQOYECIhNwKcCCAEICE3A+gYIANBhAFPBEAgAxAACyAEIAEQKyIDNgLQGSAEQZAQaiAEQdAZakG0tcAAELEBIAQoApAQDQQgBEG0CGogBEGwEGopAwAiITcCACAEQawIaiAEQagQaikDACIiNwIAIARBpAhqIARBoBBqKQMAIiM3AgAgBEGQGWogIzcDACAEQZgZaiAiNwMAIARBoBlqICE3AwAgBCAEKQOYECIhNwKcCCAEICE3A4gZIANBhAFPBEAgAxAACyAEQZAQaiEMIARB6BhqIQkgBEGIGWohBkIAISMjAEGQFWsiAiQAIAJByABqIARBiBhqIgNBGGopAwA3AwAgAkFAayADQRBqKQMANwMAIAJBOGogA0EIaikDADcDACACQeAAaiAEQagYaiIFQQhqKQMANwMAIAJB6ABqIAVBEGopAwA3AwAgAkHwAGogBUEYaikDADcDACACQRI6AFAgAiADKQMANwMwIAIgBSkDADcDWCACQYgBaiAEQcgYaiIDQQhqKQMANwMAIAJBkAFqIANBEGopAwA3AwAgAkGYAWogA0EYaikDADcDACACQRI6AHggAkESOgCgASACIAMpAwA3A4ABIAJB4AJqIARBKGoiBUHYBWopAwA3AwAgAkHYAmogBUHQBWopAwA3AwAgAkHQAmogBUHIBWopAwA3AwAgAkESOgDoAiACIAUpA8AFNwPIAgJAAkACQCACQTBqIAJByAJqEJoCQf8BcSIDBEAgA0H/AUcNAQwCCyACLQBQQRJJDQELIAJBgA9qIAJB0ABqKQMANwMAIAJB+A5qIAJByABqKQMANwMAIAJB8A5qIAJBQGspAwA3AwAgAkHoDmogAkE4aikDADcDACACIAIpAzA3A+AOIAJBqBRqIAZBGGoiBykDADcDACACQaAUaiAGQRBqIggpAwA3AwAgAkGYFGogBkEIaiIKKQMANwMAIAIgBikDADcDkBQgAkHIAmoiDSAFIAJB4A5qIAkgAkGQFGoiCxBmAkACQAJAAkACQAJAAkACQAJAAkACQCACKALIAkUEQCACKQPoAiElIAIpA+ACISggAikD2AIhJiACKQPQAiEnIAItAFAhAyACQeACaiAHKQMANwMAIAJB2AJqIAgpAwA3AwAgAkHQAmogCikDADcDACACIAYpAwA3A8gCIAsgBSAJIA0QsAFCASEhAkACQAJAIAMOAgIBAAtCCiEhQgEhIgNAIAJBEGogIUIBIANBAXEiBxsgJEIAIAcbICIgIxCUAiACQSBqICEgJCAhICQQlAIgA0EDSyACQShqKQMAISQgAkEYaikDACEjIAIpAyAhISACKQMQISIgA0EBdiEDDQALIAIgIiAjICEgJBCUAiACQQhqKQMAISQgAikDACEhDAELQgohIQsgAkGoAmoiAyAkNwMAIAIgITcDoAIgAkEBNgLMAiACQbCUwAA2AsgCIAJCATcC1AIgAiACQaACaq1CgICAgBCENwPQASACIAJB0AFqNgLQAiACQfgBaiACQcgCahDPASACQfgOaiILQgA3AwAgAkIANwPwDiADKQMAISEgAikDoAIhIiACKAL4ASIDBEAgAigC/AEgAxCMAwsgAkESOgCADyACICI3A+AOIAIgITcD6A4gAkHoAmoiDyACQdAAaikDADcDACACQeACaiIQIAJByABqKQMANwMAIAJB2AJqIhIgAkFAaykDADcDACACQdACaiACQThqKQMANwMAIAIgAikDMDcDyAIgAkGoAWogAkHIAmoiByACQZAUaiIOIAJB4A5qIg0QdSACQeARaiAFQeAGaiITENICIAJB9BFqIAVB9AZqIhQQ0gIgAkGIEmogBUGIB2oiFRDSAiACQfgPaiAFQfgEaikDADcDACACQfAPaiAFQfAEaikDADcDACACQegPaiAFQegEaikDADcDACACQYgQaiAFQYgFaikDADcDACACQZAQaiAFQZAFaikDADcDACACQZgQaiAFQZgFaikDADcDACACQagQaiAFQagFaikDADcDACACQbAQaiAFQbAFaikDADcDACACQbgQaiAFQbgFaikDADcDACACIAUpA+AENwPgDyACIAUpA4AFNwOAECACIAUpA6AFNwOg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NwMAIAIgJDcD4A4gAkHIA2ogDRDsASACICU3A/gOIAIgKDcD8A4gAiAmNwPoDiACICc3A+AOIAcgDRDuASANIAcQmQEgAigC4A4NASACQegBaiACQYAPaiIfKQMANwMAIAJB4AFqIAJB+A5qIiApAwA3AwAgAkHYAWogAykDADcDACACQfQBaiACQYwPaigAADYAACACIAIpA+gONwPQASACIAIoAIkPNgDxASACIAItAIgPIhE6APABIwBB0AFrIgMkACADQdAAaiILQajHwABBBBC3AQJAAkACQCADKAJQRQRAIAMpA3AhKSADKQNoISogAykDYCEkIAMpA1ghLyALQajHwABBBBC3ASADKAJQDQEgAykDcCErIAMpA2ghLCADKQNgISEgAykDWCEwIAsgBRCZAQJAIAMoAlBFBEAgAykDaCEtIAMpA2AhIwJ+IAMpA1giMSAwWARAICEgI1StISIgISAjfQwBCyAhICNUrSAhICNRrXwhIiAhICNCf4V8CyEyIAMpA3AhLiAsIC19ISECQCAiUARAICwgLVStISMMAQsgISAiVK0gLCAtVK18ISMgISAifSEhCyArIC59ISICQCAjUARAICsgLloNAQwGCyAiICNUICsgLlRyDQUgIiAjfSEiCyADQRI6AEggAyAiNwNAIAMgITcDOCADIDI3AzAgAyAwIDF9NwMoIANBsAFqIgtCADcDACADQoCAkLu61q3wDTcDqAEgA0EBNgJUIANBxP3AADYCUCADQgE3AlwgAyADQagBaq1CgICAgLAHhDcDyAEgAyADQcgBajYCWCADQbwBaiADQdAAahDPASADQZgBakIANwMAIANCADcDkAEgCykDACEhIAMpA6gBISIgAygCvAEiCwRAIAMoAsABIAsQjAMLIANBEjoAoAEgAyAiNwOAASADICE3A4gBIANB6ABqIAVB4ANqIgtBGGopAwA3AwAgA0HgAGogC0EQaikDADcDACADQdgAaiALQQhqKQMANwMAIANBEjoAcCADIAspAwA3A1AgAyADQdAAaiADQShqIANBgAFqEHYgAykDCCEjIAMpAxghKyAqIAMpAxAiLH0hIQJAAn4gAykDACItIC9YBEAgJCAjfSEiICMgJFatDAELICQgI0J/hXwhIiAjICRWrSAjICRRrXwLIiNQBEAgKiAsVK0hJAwBCyAhICNUrSAqICxUrXwhJCAhICN9ISELICkgK30hIwJAICRQBEAgKSArWg0BDAYLICkgK1QgIyAkVHINBSAjICR9ISMLIAdBEjoAKCAHICM3AyAgByAhNwMYIAcgIjcDECAHQQA2AgAgByAvIC19NwMIDAELIAMoAlQhCyAHQQE2AgAgByALNgIECyADQdABaiQADAMLIAMgAygCVDYCgAFBzMTAAEErIANBgAFqQbzEwABBiN3AABCVAgALIAMgAygCVDYCgAFBzMTAAEErIANBgAFqQbzEwABB+NzAABCVAgALIANBADYCYCADQQE2AlQgA0GwxMAANgJQIANCBDcCWCADQdAAakGAxMAAELMCAAsgAigCyAINAiACQZACaiAPKQMANwMAIAJBiAJqIBApAwA3AwAgAkGAAmogEikDADcDACACQZwCaiACQfQCaigAADYAACACIAIpA9ACNwP4ASACIAIoAPECNgCZAiACIAItAPACIgM6AJgCIAJB0AFqIAJB+AFqEJoCIgtBfyADIBFHIAMgEUsbIAtB/wFxG0H/AXFBAUYNAyAfIAJB0ABqKQMANwMAICAgAkHIAGopAwA3AwAgHSACQUBrKQMANwMAIB4gAkE4aikDADcDACACIAIpAzA3A+AOIAJBuAJqIAlBGGopAwA3AwAgAkGwAmogCUEQaikDADcDACACQagCaiAJQQhqKQMANwMAIAIgCSkDADcDoAIgGiAGQRhqKQMANwMAIBsgBkEQaikDADcDACAcIAZBCGopAwA3AwAgAiAGKQMANwOQFCAHIAUgDSACQaACaiAOEJcBIAIoAsgCDQQgJiACKQPYAiIjfCIiICZUIQMgAikD4AIiJiAofCIhIChUIQcgAikD8AIhKSAlICUgAikD6AIiKnwiJFYhDQJAICcgJyACKQPQAiIlfCIoWAR+IAOtBSAiQgF8IiJQrSADrXwLIidQBH4gB60FICEgISAnfCIhVq0gB618CyInUARAIA1FDQEMDQsgDQ0MICQgJCAnfCIkVg0MCyACICk3A/ACIAIgKjcD6AIgAiAmNwPgAiACICM3A9gCIAIgJTcD0AIgAkIBNwPIAiACQbAUaiACQdAAaikDADcDACACQagUaiACQcgAaikDADcDACACQaAUaiACQUBrKQMANwMAIAJBmBRqIAJBOGopAwA3AwAgAiACKQMwNwOQFCACQYgUaiAJQRhqKQMANwMAIAJBgBRqIAlBEGopAwA3AwAgAkH4E2ogCUEIaikDADcDACACIAkpAwA3A/ATIAJBuAJqIAZBGGopAwA3AwAgAkGwAmogBkEQaikDADcDACACQagCaiAGQQhqKQMANwMAIAIgBikDADcDoAIgAkGQFGohCyACQfATaiEOIAJBoAJqIRFCACElQgAhJiMAQYACayIDJAAgAkHgDmoiDQJ/An8gAkHIAmoiBygCAEUEQCADQdgAaiAFIAsgDiAREJcBIAMoAlhFBEAgA0HQAGogA0H4AGopAwA3AwAgA0HIAGogA0HwAGopAwA3AwAgA0FAayADQegAaikDADcDACADIAMpA2A3AzggAyADKACBATYCMCADIANBhAFqKAAANgAzIAMtAIABDAILIA0gAygCXDYCBEEBDAILIANB0ABqIAdBIGopAwA3AwAgA0HIAGogB0EYaikDADcDACADQUBrIAdBEGopAwA3AwAgAyAHKQMINwM4IAMgBygAKTYCMCADIAdBLGooAAA2ADMgBy0AKAshCyADQaABaiAFQbgEaikDADcDACADQZgBaiAFQbAEaikDADcDACADQZABaiAFQagEaikDADcDACADQRI6AKgBIAMgBSkDoAQ3A4gBQgEhIwJAAkACQCALQf8BcSIHDgICAQALQgohI0IBIScDQCADQRBqICNCASAHQQFxIg4bICVCACAOGyAnICYQlAIgA0EgaiAjICUgIyAlEJQCIAdBA0sgA0EoaikDACElIANBGGopAwAhJiADKQMgISMgAykDECEnIAdBAXYhBw0ACyADICcgJiAjICUQlAIgA0EIaikDACElIAMpAwAhIwwBC0IKISMLIANB4AFqIgcgJTcDACADICM3A9gBIANBATYCXCADQcT9wAA2AlggA0IBNwJkIAMgA0HYAWqtQoCAgICwB4Q3A/gBIAMgA0H4AWo2AmAgA0HsAWogA0HYAGoQzwEgA0HIAWpCADcDACADQgA3A8ABIAcpAwAhIyADKQPYASElIAMoAuwBIgcEQCADKALwASAHEIwDCyADQRI6ANABIAMgJTcDsAEgAyAjNwO4ASADQfAAaiADQdAAaikDADcDACADQegAaiADQcgAaikDADcDACADQeAAaiADQUBrKQMANwMAIANB/ABqIAMoADM2AAAgAyADKQM4NwNYIAMgCzoAeCADIAMoAjA2AHkgDUEIaiADQdgAaiADQYgBaiADQbABahB8QQALNgIAIANBgAJqJAAgAigC4A4NBSACKQP4DiEmIAIpA/AOISUCfiACKQPoDiIpIChYBEAgIiAlfSEjICIgJVStDAELICIgJUJ/hXwhIyAiICVUrSAiICVRrXwLISUgAikDgA8hJyAhICZ9ISICQCAlUARAICEgJlStISEMAQsgIiAlVK0gISAmVK18ISEgIiAlfSEiCyAkICd9ISUCQCAhUARAIAIgJTcD2A4gAiAiNwPQDiACICM3A8gOIAIgKCApfTcDwA4gJCAnWg0BDAwLIAIgIjcD0A4gAiAjNwPIDiACICUgIX03A9gOIAIgKCApfTcDwA4gJCAnVCAhICVWcg0LCyACQeARaiATENICIAJB9BFqIBQQ0gIgAkGIEmogFRDSAiACQfgPaiAFQeAEaiIDQRhqKQMANwMAIAJB8A9qIANBEGopAwA3AwAgAkHoD2ogA0EIaikDADcDACACQYgQaiAFQYAFaiIHQQhqKQMANwMAIAJBkBBqIAdBEGopAwA3AwAgAkGYEGogB0EYaikDADcDACACQagQaiAFQaAFaiINQQhqKQMANwMAIAJBsBBqIA1BEGopAwA3AwAgAkG4EGogDUEYaikDADcDACACIAMpAwA3A+APIAIgBykDADcDgBAgAiANKQMANwOgECACQdgQaiAIQRhqKQMANwMAIAJB0BBqIAhBEGopAwA3AwAgAkHIEGogCEEIaikDADcDACACQegQaiAFQeAFaiIDQQhqKQMANwMAIAJB8BBqIANBEGopAwA3AwAgAkH4EGogA0EYaikDADcDACACQYgRaiAFQYAGaiIHQQhqKQMANwMAIAJBkBFqIAdBEGopAwA3AwAgAkGYEWogB0EYaikDADcDACACIAgpAwA3A8AQIAIgAykDADcD4BAgAiAHKQMANwOAESACQbgRaiAFQaAGaiIDQRhqKQMANwMAIAJBsBFqIANBEGopAwA3AwAgAkGoEWogA0EIaikDADcDACACQdgRaiAFQcAGaiIHQRhqKQMANwMAIAJB0BFqIAdBEGopAwA3AwAgAkHIEWogB0EIaikDADcDACACIAMpAwA3A6ARIAIgBykDADcDwBEgAkGcEmogFhDSAiACQbASaiAXENICIAJBxBJqIBgQ0gIgAkHYEmogGRDSAiACQcgUaiAFQYAEaiIDQRhqKQMANwMAIAJBwBRqIANBEGopAwA3AwAgAkG4FGogA0EIaikDADcDACACQdgUaiAFQaAEaiIHQQhqKQMANwMAIAJB4BRqIAdBEGopAwA3AwAgAkHoFGogB0EYaikDADcDACACQfgUaiAFQcAEaiIIQQhqKQMANwMAIAJBgBVqIAhBEGopAwA3AwAgAkGIFWogCEEYaikDADcDACACIAMpAwA3A7AUIAIgBykDADcD0BQgAiAIKQMANwPwFCACQagUaiAKQRhqKQMANwMAIAJBoBRqIApBEGopAwA3AwAgAkGYFGogCkEIaikDADcDACACIAopAwA3A5AUIAJB4A5qIgMgAkGQFGpBgAEQ2QEaIAJBqAZqIANBkAQQ2QEaIAJByAJqIgcgAkHgCmpB4AMQ2QEaIAJByANqIAJBkBNqEOwBIAcgAkHADmoQ7gEgAyAHEJkBIAIoAuAODQYgAkG4AmogAkGAD2oiCikDADcDACACQbACaiACQfgOaiINKQMANwMAIAJBqAJqIAJB8A5qIgspAwA3AwAgAkHEAmogAkGMD2ooAAA2AAAgAiACKQPoDjcDoAIgAiACKACJDzYAwQIgAiACLQCIDyIIOgDAAiAHQcyBwABBBBC2ASACKALIAg0HIAogAkHwAmopAwA3AwAgDSACQegCaikDADcDACALIAJB4AJqKQMANwMAIAJB6A5qIAJB2AJqKQMANwMAIAIgAikD0AI3A+AOAkAgAkGgAmogAxCaAiIDQf8BcQR/IAMFIAItAIAPIgMgCEsNASADIAhHC0H/AXFBAUYNCQsgAkGAD2oiEiACQdAAaiINKQMANwMAIAJB+A5qIhMgAkHIAGoiCykDADcDACACQfAOaiIUIAJBQGsiDikDADcDACACQegOaiIVIAJBOGoiESkDADcDACACIAIpAzA3A+AOIAJBqBRqIhYgBkEYaiIXKQMANwMAIAJBoBRqIhggBkEQaiIZKQMANwMAIAJBmBRqIhogBkEIaiIbKQMANwMAIAIgBikDADcDkBQgAkHIAmohByMAQfABayIDJAAgA0FAayACQZAUaiIcIgpBGGopAwA3AwAgA0E4aiAKQRBqKQMANwMAIANBMGogCkEIaikDADcDACADIAopAwA3AyggA0HoAGogAkHgDmoiCEEgaikDADcDACADQeAAaiAIQRhqKQMANwMAIANB2ABqIAhBEGopAwA3AwAgA0HQAGogCEEIaikDADcDACADIAgpAwA3A0ggA0HwAGogBSAJIANBKGoQsAEgA0HAAWpBzIHAAEEEELYBAkACQAJAIAMoAsABRQRAIAMpA9gBISMgAykD0AEhISADKQOAASElIAMpA3ghIgJ+IAMpA8gBIicgAykDcCIpWgRAICEgIlStISQgISAifQwBCyAhICJUrSAhICJRrXwhJCAhICJCf4V8CyEqIAMpA+ABISggAykDiAEhJiAjICV9ISECQCAkUARAICMgJVStISMMAQsgISAkVK0gIyAlVK18ISMgISAkfSEhCyAoICZ9ISICQCAjUARAICYgKFgNAQwECyAiICNUICYgKFZyDQMgIiAjfSEiCyADQRI6ALgBIAMgIjcDsAEgAyAhNwOoASADICo3A6ABIAMgJyApfTcDmAEgA0HYAWogBUHYAWopAwA3AwAgA0HQAWogBUHQAWopAwA3AwAgA0HIAWogBUHIAWopAwA3AwAgA0ESOgDgASADIAUpA8ABNwPAASADIANByABqIANBmAFqIANBwAFqIg8QdSAPIAUgCCAJIAoQZiAHAn8gAygCwAFFBEAgAykDCCIhIAMpA9ABfCIiICFUIQogAykDECIhICEgAykD2AF8IiFWIQ8gAykDGCIjICMgAykD4AF8IiNWIRACQCADKQMAIiUgAykDyAF8IiQgJVoEfiAKrQUgIkIBfCIiUK0gCq18CyIlUAR+IA+tBSAhICEgJXwiIVatIA+tfAsiJVAEQCAHICM3AyAgByAhNwMYIAcgIjcDECAHICQ3AwggEEUNAQwFCyAHICE3AxggByAiNwMQIAcgJDcDCCAHICMgJXwiITcDICAQICEgI1RyDQQLIAdBEjoAKEEADAELIAcgAygCxAE2AgRBAQs2AgAgA0HwAWokAAwDCyADIAMoAsQBNgKYAUG4gsAAQSsgA0GYAWpBqILAAEHgksAAEJUCAAsgA0EANgLQASADQQE2AsQBIANBrLzAADYCwAEgA0IENwLIASADQcABakG0usAAELMCAAsgA0EANgLQASADQQE2AsQBIANBqJTAADYCwAEgA0IENwLIASADQcABakH4k8AAELMCAAsgAigCyAINCSACQegTaiACQegCaiIKKQMANwMAIAJB4BNqIAJB4AJqIg8pAwA3AwAgAkHYE2ogAkHYAmoiECkDADcDACACIAIpA9ACNwPQEyASIA0pAwA3AwAgEyALKQMANwMAIBQgDikDADcDACAVIBEpAwA3AwAgAiACKQMwNwPgDiACQYgUaiAJQRhqKQMANwMAIAJBgBRqIAlBEGopAwA3AwAgAkH4E2ogCUEIaikDADcDACACIAkpAwA3A/ATIBYgFykDADcDACAYIBkpAwA3AwAgGiAbKQMANwMAIAIgBikDADcDkBQgByAFIAggAkHwE2ogHBCXASACKALIAkUEQCACQcgTaiAKKQMANwMAIAJBwBNqIA8pAwA3AwAgAkG4E2ogECkDADcDACACIAIpA9ACNwOwEyACQfASaiISIAJB0BNqIAJBsBNqEOoBIAogDSkDADcDACAPIAspAwA3AwAgECAOKQMANwMAIAJB0AJqIhMgESkDADcDACACIAIpAzA3A8gCIAggBSAHIAkgBhCiASACQbgKaiIDIBIgCBDqASACQRI6ANgKIAogDSkDADcDACAPIAspAwA3AwAgECAOKQMANwMAIBMgESkDADcDACACIAIpAzA3A8gCQgAhIiMAQbACayIGJAAgBkH4AWogB0EgaikDADcDACAGQfABaiIJIAdBGGopAwA3AwAgBkHoAWogB0EQaikDADcDACAGQeABaiAHQQhqKQMANwMAIAYgBykDADcD2AEgBkHgAGogBkHYAWogAkGAAWogAkHYAGoQfCAGQcgBaiAFQdgBaikDACIhNwMAIAZBwAFqIAVB0AFqKQMAIiM3AwAgBkG4AWogBUHIAWopAwAiJDcDACAGQZABaiAkNwMAIAZBmAFqICM3AwAgBkGgAWogITcDACAGQRI6AKgBIAYgBSkDwAEiITcDsAEgBiAhNwOIAUIBISRCACEhAkACQAJAIAYtAIABIggOAgIBAAtCCiEkQgEhIwNAIAZBGGogJEIBIAhBAXEiChsgIUIAIAobICMgIhCUAiAGQShqICQgISAkICEQlAIgCEEDSyAGQTBqKQMAISEgBkEgaikDACEiIAYpAyghJCAGKQMYISMgCEEBdiEIDQALIAZBCGogIyAiICQgIRCUAiAGQRBq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EGooAgAiAzYCACAEQagIaiAEQaQQaikCACIhNwMAIARBoAhqIARBnBBqKQIAIiI3AwAgBEEQaiAiNwMAIARBGGogITcDACAEQSBqIAM2AgAgBCAEKQKUECIhNwOYCCAEICE3AwggBCgC0BkiA0GEAUkNBiADEAAMBgsgBEGwCGogBEGsEGooAgAiAjYCACAEQagIaiAEQaQQaikCACIhNwMAIARBoAhqIARBnBBqKQIAIiI3AwAgBEEQaiAiNwMAIARBGGogITcDACAEQSBqIAI2AgAgBCAEKQKUECIhNwOYCCAEICE3AwggA0GEAUkNBSADEAAMBQsgBEGwCGogBEGsEGooAgAiAjYCACAEQagIaiAEQaQQaikCACIhNwMAIARBoAhqIARBnBBqKQIAIiI3AwAgBEEQaiAiNwMAIARBGGogITcDACAEQSBqIAI2AgAgBCAEKQKUECIhNwOYCCAEICE3AwggA0GEAUkNBCADEAAMBAsgBEGwCGogBEGsEGooAgAiAjYCACAEQagIaiAEQaQQaikCACIhNwMAIARBoAhqIARBnBBqKQIAIiI3AwAgBEEQaiAiNwMAIARBGGogITcDACAEQSBqIAI2AgAgBCAEKQKUECIhNwOYCCAEICE3AwggA0GEAUkNAyADEAAMAwsgBEGwCGogBEGsEGooAgAiAjYCACAEQagIaiAEQaQQaikCACIhNwMAIARBoAhqIARBnBBqKQIAIiI3AwAgBEEQaiAiNwMAIARBGGogITcDACAEQSBqIAI2AgAgBCAEKQKUECIhNwOYCCAEICE3AwggA0GEAUkNAiADEAAMAgsgBEHoGWogBEG0CGooAgAiAzYCACAEQRBqIARBpAhqKQIANwMAIARBGGogBEGsCGopAgA3AwAgBEEgaiADNgIAIAQgBCkCnAg3AwgMAQsgBEGwCGogBEGsEGooAgAiAzYCACAEQRBqIARBnBBqKQIANwMAIARBGGogBEGkEGopAgA3AwAgBEEgaiADNgIAIAQgBCkClBA3AwgLIAFBgwFLBEAgARAACwJ/IAQoAggiA0ECRgRAIAQoAgwhAUEADAELIARBqBBqIARBIGooAgA2AgAgBEGgEGogBEEYaikDADcDACAEQZgQaiAEQRBqKQMANwMAIAQgBCkDCDcDkBBBACEBIARBkBBqEOEBCyECIAAgA0ECRzYCCCAAIAI2AgQgACABNgIAIARBgBpqJAALmA8CBn8KfiMAQZADayICJAAgAkHIAGogAUHYAWopAwA3AwAgAkFAayABQdABaikDADcDACACQThqIAFByAFqKQMANwMAIAJBEjoAUCACIAEpA8ABNwMwIAJByAJqIgQgAUEYaikDADcDACACQcACaiABQRBqKQMANwMAIAJBuAJqIAFBCGopAwA3AwAgAkESOgDQAiACIAEpAwA3A7ACIAJB8AJqIAFBOGopAwA3AwAgAkHoAmogAUEwaikDADcDACACQeACaiIDIAFBKGopAwA3AwAgAiABKQMgNwPYAiACQYACaiIFIAJBsAJqIAJB2AJqIgYQxgECQAJAAkACQAJAAkAgAigCgAJFBEAgAkGgAWogAkGoAmopAwA3AwAgAkGYAWogAkGgAmopAwA3AwAgAkGQAWogAkGYAmopAwA3AwAgAkGIAWogAkGQAmopAwA3AwAgAiACKQOIAjcDgAEgA0IANwMAIAJCgICQu7rWrfANNwPYAiACQQE2AoQCIAJBsJTAADYCgAIgAkIBNwKMAiACIAatQoCAgIAQhDcDiAMgAiACQYgDajYCiAIgAkH8AmogBRDPASAEQgA3AwAgAkIANwPAAiADKQMAIQggAikD2AIhCiACKAL8AiIDBEAgAigCgAMgAxCMAwsgAkESOgDQAiACIAo3A7ACIAIgCDcDuAIgAkGYAmogAUGABWoiA0EYaikDADcDACACQZACaiADQRBqKQMANwMAIAJBiAJqIANBCGopAwA3AwAgAkESOgCgAiACIAMpAwA3A4ACIAJB2ABqIAJBgAJqIgQgAkGAAWogAkGwAmoQdSAEQcyBwABBBBC2ASACKAKAAg0BIAIpA5gCIQwgAikDkAIhCSABKQPQBiELIAEpA8gGIQgCfiACKQOIAiIQIAEpA8AGIhFaBEAgCSAIfSEOIAggCVatDAELIAkgCEJ/hXwhDiAIIAlWrSAIIAlRrXwLIQogAikDoAIhDyABKQPYBiENIAwgC30hCQJAIApQBEAgCyAMVq0hDAwBCyAJIApUrSALIAxWrXwhDCAJIAp9IQkLIA8gDX0hCgJAIAxQBEAgDSAPWA0BDAgLIAogDFQgDSAPVnINByAKIAx9IQoLIAJBEjoAoAIgAiAKNwOYAiACIAk3A5ACIAIgDjcDiAIgAiAQIBF9NwOAAiACQdABaiACQdgAaiACQYACaiIEEHEgAigC0AENAiACQcgBaiACQfgBaikDADcDACACQcABaiACQfABaikDADcDACACQbgBaiACQegBaikDADcDACACQbABaiACQeABaikDADcDACACIAIpA9gBNwOoASACQZgCaiADQRhqKQMANwMAIAJBkAJqIANBEGopAwA3AwAgAkGIAmogA0EIaikDADcDACACQRI6AKACIAIgAykDADcDgAIgAkEIaiACQTBqIAJBqAFqIAQQdSACQcgCaiABQZgBaikDADcDACACQcACaiABQZABaikDADcDACACQbgCaiABQYgBaikDADcDACACQRI6ANACIAIgASkDgAE3A7ACIARBzIHAAEEEELYBIAIoAoACDQMgAikDmAIhDCACKQOQAiEJAn4gESACKQOIAiIQWARAIAkgCH0hDiAIIAlWrQwBCyAJIAhCf4V8IQ4gCCAJVq0gCCAJUa18CyEKIAIpA6ACIQ8gDCALfSEIAkAgClAEQCALIAxWrSEJDAELIAggClStIAsgDFatfCEJIAggCn0hCAsgDyANfSELAkAgCVAEQCANIA9YDQEMCAsgCSALViANIA9Wcg0HIAsgCX0hCwsgAkESOgCgAiACIAs3A5gCIAIgCDcDkAIgAiAONwOIAiACIBAgEX03A4ACIAJB0AFqIAJBsAJqIAJBgAJqEHEgAigC0AFFBEAgAikDECIIIAIpA+ABfCILIAhUIQEgAikD6AEhDiACKQMYIQggAikDCCIKIAIpA9gBfCINIApaBH4gAa0FIAtCAXwiC1CtIAGtfAshCiACKQPwASEMIAIpAyAhCSAIIAggDnwiCFYhASAKUAR+IAGtBSAIIAggCnwiCFatIAGtfAshCiAJIAkgDHwiCVYhAQJAIApQBEAgACAJNwMgIAAgCDcDGCAAIAs3AxAgACANNwMIIAFFDQEMCAsgACAINwMYIAAgCzcDECAAIA03AwggACAJIAp8Igg3AyAgASAIIAlUcg0HCyAAQQA2AgAgAEESOgAoDAULIAIoAtQBIQEgAEEBNgIAIAAgATYCBAwECyACKAKEAiEBIABBATYCACAAIAE2AgQMAwsgAiACKAKEAjYCsAJBuILAAEErIAJBsAJqQaiCwABByIfAABCVAgALIAIoAtQBIQEgAEEBNgIAIAAgATYCBAwBCyACIAIoAoQCNgJYQbiCwABBKyACQdgAakGogsAAQbiHwAAQlQIACyACQZADaiQADwsgAkEANgKQAiACQQE2AoQCIAJBrLzAADYCgAIgAkIENwKIAiACQYACakG0usAAELMCAAsgAkEANgKQAiACQQE2AoQCIAJBqJTAADYCgAIgAkIENwKIAiACQYACakH4k8AAELMCAAuZDwIGfwp+IwBBkANrIgIkACACQcgAaiABQdgBaikDADcDACACQUBrIAFB0AFqKQMANwMAIAJBOGogAUHIAWopAwA3AwAgAkESOgBQIAIgASkDwAE3AzAgAkHIAmoiBCABQRhqKQMANwMAIAJBwAJqIAFBEGopAwA3AwAgAkG4AmogAUEIaikDADcDACACQRI6ANACIAIgASkDADcDsAIgAkHwAmogAUE4aikDADcDACACQegCaiABQTBqKQMANwMAIAJB4AJqIgMgAUEoaikDADcDACACIAEpAyA3A9gCIAJBgAJqIgUgAkGwAmogAkHYAmoiBhDGAQJAAkACQAJAAkACQCACKAKAAkUEQCACQaABaiACQagCaikDADcDACACQZgBaiACQaACaikDADcDACACQZABaiACQZgCaikDADcDACACQYgBaiACQZACaikDADcDACACIAIpA4gCNwOAASADQgA3AwAgAkKAgJC7utat8A03A9gCIAJBATYChAIgAkHE/cAANgKAAiACQgE3AowCIAIgBq1CgICAgLAHhDcDiAMgAiACQYgDajYCiAIgAkH8AmogBRDPASAEQgA3AwAgAkIANwPAAiADKQMAIQggAikD2AIhCiACKAL8AiIDBEAgAigCgAMgAxCMAwsgAkESOgDQAiACIAo3A7ACIAIgCDcDuAIgAkGYAmogAUGABWoiA0EYaikDADcDACACQZACaiADQRBqKQMANwMAIAJBiAJqIANBCGopAwA3AwAgAkESOgCgAiACIAMpAwA3A4ACIAJB2ABqIAJBgAJqIgQgAkGAAWogAkGwAmoQdiAEQajHwABBBBC3ASACKAKAAg0BIAIpA5gCIQwgAikDkAIhCSABKQPQBiELIAEpA8gGIQgCfiACKQOIAiIQIAEpA8AGIhFaBEAgCSAIfSEOIAggCVatDAELIAkgCEJ/hXwhDiAIIAlWrSAIIAlRrXwLIQogAikDoAIhDyABKQPYBiENIAwgC30hCQJAIApQBEAgCyAMVq0hDAwBCyAJIApUrSALIAxWrXwhDCAJIAp9IQkLIA8gDX0hCgJAIAxQBEAgDSAPWA0BDAgLIAogDFQgDSAPVnINByAKIAx9IQoLIAJBEjoAoAIgAiAKNwOYAiACIAk3A5ACIAIgDjcDiAIgAiAQIBF9NwOAAiACQdABaiACQdgAaiACQYACaiIEEHIgAigC0AENAiACQcgBaiACQfgBaikDADcDACACQcABaiACQfABaikDADcDACACQbgBaiACQegBaikDADcDACACQbABaiACQeABaikDADcDACACIAIpA9gBNwOoASACQZgCaiADQRhqKQMANwMAIAJBkAJqIANBEGopAwA3AwAgAkGIAmogA0EIaikDADcDACACQRI6AKACIAIgAykDADcDgAIgAkEIaiACQTBqIAJBqAFqIAQQdiACQcgCaiABQZgBaikDADcDACACQcACaiABQZABaikDADcDACACQbgCaiABQYgBaikDADcDACACQRI6ANACIAIgASkDgAE3A7ACIARBqMfAAEEEELcBIAIoAoACDQMgAikDmAIhDCACKQOQAiEJAn4gESACKQOIAiIQWARAIAkgCH0hDiAIIAlWrQwBCyAJIAhCf4V8IQ4gCCAJVq0gCCAJUa18CyEKIAIpA6ACIQ8gDCALfSEIAkAgClAEQCALIAxWrSEJDAELIAggClStIAsgDFatfCEJIAggCn0hCAsgDyANfSELAkAgCVAEQCANIA9YDQEMCAsgCSALViANIA9Wcg0HIAsgCX0hCwsgAkESOgCgAiACIAs3A5gCIAIgCDcDkAIgAiAONwOIAiACIBAgEX03A4ACIAJB0AFqIAJBsAJqIAJBgAJqEHIgAigC0AFFBEAgAikDECIIIAIpA+ABfCILIAhUIQEgAikD6AEhDiACKQMYIQggAikDCCIKIAIpA9gBfCINIApaBH4gAa0FIAtCAXwiC1CtIAGtfAshCiACKQPwASEMIAIpAyAhCSAIIAggDnwiCFYhASAKUAR+IAGtBSAIIAggCnwiCFatIAGtfAshCiAJIAkgDHwiCVYhAQJAIApQBEAgACAJNwMgIAAgCDcDGCAAIAs3AxAgACANNwMIIAFFDQEMCAsgACAI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A5gBIAMgHjcDkAEgAyApNwOIASADIDMgNH03A4ABIANBsAFqIANB0ABqIANBgAFqEMMBIB0gAykDuAF8Ih4gHVQhByADKQPAASAcfCIdIBxUIQogAykDyAEgIXwiHCAhVCEMAkAgMCAwIAMpA7ABfCIfWAR+IAetBSAeQgF8Ih5QrSAHrXwLIhtQBH4gCq0FIB0gGyAdfCIdVq0gCq18CyIbUARAIAxFDQEMCAsgDA0HIBwgGyAcfCIcVg0HCyAdICt9ISECQAJ+IB8gL1oEQCAeICV9IRsgHiAlVK0MAQsgHiAlQn+FfCEbIB4gJVStIB4gJVGtfAsiJVAEQCAdICtUrSEeDAELICEgJVStIB0gK1StfCEeICEgJX0hIQsgHCAqfSEdAkAgHlAEQCAcICpaDQEMBwsgHSAeVCAcICpUcg0GIB0gHn0hHQsgA0ESOgCgASADIB03A5gBIAMgITcDkAEgAyAbNwOIASADIB8gL303A4ABIAMgCSADQYABaiIHEMIBIANB8ABqIgogA0EgaikDADcDACADQegAaiIMIANBGGopAwA3AwAgA0HgAGoiDSADQRBqKQMANwMAIANB2ABqIg4gA0EIaikDADcDACADIAMpAwA3A1AgByAIIANB0ABqIgcgCxBqIAMoAoABDQIgCiADQagBaikDADcDACAMIANBoAFqKQMANwMAIA0gA0GYAWopAwA3AwAgDiADQZABaikDADcDACADIAMpA4gBNwNQAkACQAJAIAkgBxCaAkH/AXEiBw4DAAEEAQsgCS0AICADLQBwTw0BDAMLIAdBAUsNAgsgBSADKQMANwMAIAVBIGogA0EgaikDADcDACAFQRhqIANBGGopAwA3AwAgBUEQaiADQRBqKQMANwMAIAVBCGogA0EIaikDADcDACADKAKAAUUNBCADQYABakEEchDtAgwECyADIAMoAoQBNgKwAUHMxMAAQSsgA0GwAWpBvMTAAEG848AAEJUCAAsgAygCgAFFDQELIANBgAFqQQRyEO0CCyADQaABaiAJQSBqKQMANwMAIANBmAFqIAlBGGopAwA3AwAgA0GQAWogCUEQaikDADcDACADQYgBaiAJQQhqKQMANwMAIAMgCSkDADcDgAEgA0HQAGoiByAIIANBgAFqIAsQagJAIAMoAlAiC0UEQCADQdQBaiADQfwAaigAADYAACADIAMoAHk2ANEBIAMgAy0AeCIKOgDQASADIAMpA3AiITcDyAEgAyADKQNoIh83A8ABIAMgAykDYCIbNwO4ASADIAMpA1giKTcDsAEgCwRAIAdBBHIQ7QILAkACQAJAIAkgA0GwAWoQmgJB/wFxIgsOAwEABAALIAtBAkkNAQwDCyAJLQAgIApJDQILIAkpAwghHSAJKQMYISUgCSkDECIqIB99IRwCQAJ+ICkgCSkDACIrWARAIB0gG30hHiAbIB1WrQwBCyAdIBtCf4V8IR4gGyAdVq0gGyAdUa18CyIbUARAIB8gKlatIR8MAQsgGyAcVq0gHyAqVq18IR8gHCAbfSEcCyAlICF9IR0CQCAfUARAICEgJVgNAQwFCyAdIB9UICEgJVZyDQQgHSAffSEdCyAFQRI6ACAgBSAdNwMYIAUgHDcDECAFIB43AwggBSArICl9NwMADAILIANBgAFqQbjEwABBARC3ASADKAKAAUUEQCAFIAMpA4gBNwMAIAVBIGogA0GoAWopAwA3AwAgBUEYaiADQaABaikDADcDACAFQRBqIANBmAFqKQMANwMAIAVBCGogA0GQAWopAwA3AwAgAygCUEUNAiADQdAAakEEchDtAgwCCyADIAMoAoQBNgIoQczEwABBKyADQShqQbzEwABB3OPAABCVAgALIANBgAFqQbjEwABBARC3ASADKAKAAUUEQCAFIAMpA4gBNwMAIAVBIGogA0GoAWopAwA3AwAgBUEYaiADQaABaikDADcDACAFQRBqIANBmAFqKQMANwMAIAVBCGogA0GQAWopAwA3AwAMAQsgAyADKAKEATYCUEHMxMAAQSsgA0HQAGpBvMTAAEHM48AAEJUCAAsgA0HgAWokAAwCCyADQQA2ApABIANBATYChAEgA0GwxMAANgKAASADQgQ3AogBIANBgAFqQYDEwAAQswIACyADQQA2ApABIANBATYChAEgA0GUh8EANgKAASADQgQ3AogBIANBgAFqQaiFwQAQswIACyACQRI6AOgEIAIgIjcD4AQgAiAjNwPYBCACICA3A9AEIAIgJjcDyAQgAkHwAmoiCwJ/IAJB+ARqIAJByARqIAUgCRCaAiIDQf8BcQR/IAMFIAkgAi0AmAUiAyACLQDoBCIFSQ0BGiADIAVHC0H/AXFBAUYbCyIDQSBqKQMAIhs3AwAgAkHoAmoiBSADQRhqKQMAIh03AwAgAkHgAmoiCSADQRBqKQMAIhw3AwAgAkHYAmoiByADQQhqKQMAIh43AwAgAiADKQMAIiE3A9ACIAJB6ANqIBs3AwAgAkHgA2ogHTcDACACQdgDaiAcNwMAIAJB0ANqIB43AwAgAiAhNwPIAyACQcgEaiAIIAJByANqIBMQeAJAAkAgAigCyAQiA0EBRgRAIAJBEjoAmAMgAiAiNwOQAyACICM3A4gDIAIgIDcDgAMgAiAmNwP4AgwBCyACQZgDaiALKQMANwMAIAJBkANqIAUpAwA3AwAgAkGIA2ogCSkDADcDACACQYADaiAHKQMANwMAIAIgAikD0AI3A/gCIANFDQELIAJByARqQQRyEO0CCyASQQcgERsiDUUNCCAkQn+FISEgAkHQA2ohBSACQdAEaiEDIAJBmQVqIQkgAkHIA2pBBHIhDiACQekEaiERA0AgAkGYBWogAkHwAmoiCykDADcDACACQZAFaiISIAJB6AJqIgcpAwA3AwAgAkGIBWoiEyACQeACaiIKKQMANwMAIAJBgAVqIhQgAkHYAmoiDCkDADcDACACIAIpA9ACNwP4BCACQeAEaiACQagBaiIVKQMANwMAIAJB2ARqIAJBoAFqIhYpAwA3AwAgAyACQZgBaiIXKQMANwMAIAIgAikDkAE3A8gEIAJBEjoA6AQgESACKACJATYAACARQQNqIAJBjAFqIhgoAAA2AAAgAkHIA2ogCCACQfgEaiACQcgEahBqAkAgAigCyAMiD0UEQCACQcADaiAFQSBqKQMANwMAIAJBuANqIAVBGGopAwA3AwAgAkGwA2ogBUEQaikDADcDACACQagDaiAFQQhqKQMANwMAIAIgBSkDADcDoAMMAQsgCyACQZgDaikDACIbNwMAIAcgAkGQA2opAwAiHTcDACAKIAJBiANqKQMAIhw3AwAgDCACQYADaikDACIeNwMAIAIgAikD+AIiIDcD0AIgAkHABGogGzcDACACQbgEaiAdNwMAIAJBsARqIBw3AwAgAkGoBGogHjcDACACICA3A6AEIBIgFSkDADcDACATIBYpAwA3AwAgFCAXKQMANwMAIAJBEjoAmAUgAiACKQOQATcD+AQgCSACKACJATYAACAJQQNqIBgoAAA2AAAgAkHIBGogCCACQaAEaiACQfgEahBqIAIoAsgERQRAIAJBwANqIANBIGopAwA3AwAgAkG4A2ogA0EYaikDADcDACACQbADaiADQRBqKQMANwMAIAJBqANqIANBCGopAwA3AwAgAiADKQMANwOgAyACKALIAyEPDAELIAIoAswEIQMgBkEBNgIAIAYgAzYCBCACKALIA0UNCyAOEO0CDAsLIA8EQCAOEO0CCwJAIAJBoANqIAJB4ABqEJoCIg9B/wFxBH8gDwVBfyACLQDAAyIPQRJHIA9BEkkbC0EBa0H/AXFBAkkNAAJAAkAgAkHQAmogAkH4AmoQmgJB/wFxDgIAAQILIAItAPACIAItAJgDSQ0BCyACQZgDaiALKQMANwMAIAJBkANqIAcpAwA3AwAgAkGIA2ogCikDADcDACACQYADaiAMKQMANwMAIAIgAikD0AI3A/gCIAJBoANqIAJB4ABqQSAQrQINACACLQDAA0ESRg0KCyACQcAEaiALKQMANwMAIAJBuARqIAcpAwA3AwAgAkGwBGogCikDADcDACACQagEaiAMKQMANwMAIAIgAikD0AI3A6AEIBIgFSkDADcDACATIBYpAwA3AwAgFCAXKQMANwMAIAIgAikDkAE3A/gEIAJBEjoAmAUgCSACKACJATYAACAJQQNqIBgoAAA2AAAgA0EgaiACQdABaikDADcDACADQRhqIAJByAFqKQMANwMAIANBEGogAkHAAWopAwA3AwAgA0EIaiACQbgBaikDADcDACADIAIpA7ABNwMAIAJCATcDyAQgAkHIA2ogCCACQaAEaiACQfgEaiACQcgEahBpAkACQAJAAkAgAigCyANFBEAgAkGYBGogBUEgaikDADcDACACQZAEaiAFQRhqKQMANwMAIAJBiARqIAVBEGopAwA3AwAgAkGABGogBUEIaikDADcDACACIAUpAwA3A/gDIAJBoANqIAJB4ABqEJoCQf8BcSILRQ0BIAtB/wFHDQIMAwsgAigCzAMhAyAGQQE2AgAgBiADNgIEDA4LIAItAMADQRJJDQELIAIpA6gDIRwgAikDsAMiHiAnfSEdAkACfiAsIAIpA6ADIiJYBEAgHCAkfSEbIBwgJFStDAELIBwgIXwhGyAcICRUrSAcICRRrXwLIhxQBEAgHiAnVK0hHgwBCyAcIB1WrSAeICdUrXwhHiAdIBx9IR0LIAIpA7gDIiAgKH0hHAJAAkAgHlAEQCAgIChaDQEMAgsgICAoVCAcIB5Ucg0BIBwgHn0hHAsgAkESOgDoBCACIBw3A+AEIAIgHTcD2AQgAiAbNwPQBCACICIgLH03A8gEIAJByANqIAJByARqIAJB+ANqEMABIAIpA9ADIRsgAikD2AIhHCACKQPgAyEeIAIpA+gCISAgAikD4AIiIiACKQPYAyIjfSEdAkACfiACKQPQAiImIAIpA8gDIh9aBEAgHCAbfSEpIBsgHFatDAELIBwgG0J/hXwhKSAbIBxWrSAbIBxRrXwLIhxQBEAgIiAjVK0hGwwBCyAcIB1WrSAiICNUrXwhGyAdIBx9IR0LICAgHn0hHAJAAkAgG1AEQCAeICBYDQEMAgsgGyAcViAeICBWcg0BIBwgG30hHAsgAkESOgDwAiACIBw3A+gCIAIgHTcD4AIgAiApNwPYAiACICYgH303A9ACDAMLDA4LDA0LIAIpA6gDIRwgJyACKQOwAyIefSEdAkACfiACKQOgAyIiICxYBEAgJCAcfSEbIBwgJFatDAELICQgHEJ/hXwhGyAcICRWrSAcICRRrXwLIhxQBEAgHiAnVq0hHgwBCyAcIB1WrSAeICdWrXwhHiAdIBx9IR0LICggAikDuAMiIH0hHAJAIB5QBEAgICAoWA0BDA4LIBwgHlQgICAoVnINDSAcIB59IRwLIAJBEjoA6AQgAiAcNwPgBCACIB03A9gEIAIgGzcD0AQgAiAsICJ9NwPIBCACQcgDaiACQcgEaiACQfgDahDAASACKQPYAiIdIAIpA9ADfCIbIB1UIQsgAikD4AIiHCACKQPYA3wiHSAcVCEHIAIpA+gCIhwgHCACKQPgA3wiHFYhCgJAIAIpA9ACIh4gAikDyAN8IiAgHloEfiALrQUgG0IBfCIbUK0gC618CyIeUAR+IAetBSAdIB0gHnwiHVatIAetfAsiHlAEQCAKRQ0BDAsLIAoNCiAcIBwgHnwiHFYNCgsgAkESOgDwAiACIBw3A+gCIAIgHTcD4AIgAiAbNwPYAiACICA3A9ACCyANQQFrIg0NAAsMCAsgBiACKQOIAjcDCCAGIBA6ACggBiACKAKAAjYAKSAGQQA2AgAgBkEsaiACKACDAjYAACAGQSBqIAJBoAJqKQMANwMAIAZBGGogAkGYAmopAwA3AwAgBkEQaiACQZACaikDADcDAAwICyACKALMBCEDIAZBATYCACAGIAM2AgQMBwsgAkEANgLYBCACQQE2AswEIAJB9I/AADYCyAQgAkIENwLQBCACQcgEakH8j8AAEM0BIQMgBkEBNgIAIAYgAzYCBAwGCyACKALMBCEDIAZBATYCACAGIAM2AgQMBQsgAigCzAQhAyAGQQE2AgAgBiADNgIEDAQLIAIgAigCzAQ2AsgDQbiCwABBKyACQcgDakGogsAAQZCRwAAQlQIAC0EEQRgQqQMACyACQQA2AtgEIAJBATYCzAQgAkGsvMAANgLIBCACQgQ3AtAEIAJByARqQbS6wAAQswIACyACQZgFaiACQZgDaikDADcDACACQZAFaiACQZADaikDADcDACACQYgFaiACQYgDaikDADcDACACQYAFaiACQYADaikDADcDACACIAIpA/gCNwP4BCACQeADaiACQagBaikDADcDACACQdgDaiACQaABaikDADcDACACQdADaiACQZgBaikDADcDACACIAIpA5ABNwPIAyACQRI6AOgDIAJB7ANqIAJBjAFqKAAANgAAIAIgAigAiQE2AOkDIAJByARqIAggAkH4BGogAkHIA2oQagJAIAIoAsgERQRAIAJBuARqIAJB6ARqKQMANwMAIAJBsARqIAJB4ARqKQMANwMAIAJBqARqIAJB2ARqKQMANwMAIAJBxARqIAJB9ARqKAAANgAAIAIgAikD0AQ3A6AEIAIgAigA8QQ2AMEEIAIgAi0A8AQiAzoAwAQgAkHgAGogAkGgBGoQmgJB/wFxIghB/wFGIANBEksgCBsNAQJAAkAgAkH4AmogAkHYAWoQmgIiA0H/AXEEfyADBSACLQCYAyIDIBBJDQEgAyAQRwtB/wFxQQFGDQELIAYgAikD+AI3AwggBkEANgIAIAZBKGogAkGYA2opAwA3AwAgBkEgaiACQZADaikDADcDACAGQRhqIAJBiANqKQMANwMAIAZBEGogAkGAA2opAwA3AwAMAwsgAkEANgLYBCACQQE2AswEIAJB+JDAADYCyAQgAkIENwLQBCACQcgEakGAkcAAEM0BIQMgBkEBNgIAIAYgAzYCBAwCCyACKALMBCEDIAZBATYCACAGIAM2AgQMAQsgAkEANgLYBCACQQE2AswEIAJBqJDAADYC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aigCACICNgIAIARBwBpqIARB1BFqKQIAIiM3AwAgBEG4GmogBEHMEWopAgAiJDcDACAEQQhqICQ3AwAgBEEQaiAjNwMAIARBGGogAjYCACAEIAQpAsQRIiM3A7AaIAQgIzcDAAwCCyAEQagBaiEGIARB2AFqIQggBEG4GWohBSAEQYgaaiENIARB2BpqIQsgBEHAEWohAyABECIiAkH///8HRyEOIAJB//8DcSEHIwBB0ARrIgIkACACQbgDaiISQaXfwABBAxC3AQJAAkACQAJAAkACQAJAIAIoArgDRQRAIAJBiANqIAJB4ANqKQMANwMAIAJBgANqIAJB2ANqKQMANwMAIAJB+AJqIAJB0ANqIgwpAwA3AwAgAkHwAmogAkHIA2oiCSkDADcDACACIAIpA8ADNwPoAiACQRhqIANBCGogAkHoAmogAygCABsiA0EIaikDADcDACACQSBqIANBEGopAwA3AwAgAkEoaiADQRhqKQMANwMAIAJBMGogA0EgaikDADcDACACIAMpAwA3AxAgAiAHQfQDIA4bIhc2AjwgDCAIQdgFaikDADcDACAJIAhB0AVqKQMANwMAIAJBwANqIAhByAVqKQMANwMAIAJBEjoA2AMgAiAIKQPABTcDuAMgCyASEJoCQf8BcSIDRQ0BIANB/wFHDQIMAwsgAiACKAK8AzYC6AJBzMTAAEErIAJB6AJqQbzEwABBrOPAABCVAgALIAstACBBEkkNAQsgAkGIA2ogC0EgaikDADcDACACQYADaiALQRhqKQMANwMAIAJB+AJqIAtBEGopAwA3AwAgAkHwAmogC0EIaikDADcDACACIAspAwA3A+gCIAJBuANqIAggAkHoAmogDRBqAkACQAJAAkACQCACKAK4A0UEQCACQeAAaiACQeADaikDADcDACACQdgAaiACQdgDaikDADcDACACQdAAaiACQdADaikDADcDACACQcgAaiACQcgDaikDADcDACACIAIpA8ADNwNAAkAgBSACQUBrEJoCIgNB/wFxBH8gAwUgBS0AICIDIAItAGAiDkkNASADIA5HC0H/AXFBAUYNBQsgBSkDCCEkIAIpA0ghJiAFKQMYISUgAikDWCEoIAIpA1AiJyAFKQMQIil9ISMCQAJ+IAIpA0AiKyAFKQMAIixaBEAgJiAkfSEqICQgJlatDAELICYgJEJ/hXwhKiAkICZWrSAkICZRrXwLIiRQBEAgJyApVK0hJwwBCyAjICRUrSAnIClUrXwhJyAjICR9ISMLICggJX0hJgJAICdQBEAgJSAoWA0BDAcLICYgJ1QgJSAoVnINBiAmICd9ISYLIAJBEjoA2AMgAiAmNwPQAyACICM3A8gDIAIgKjcDwAMgAiArICx9NwO4AyACQbgDaiACQRBqEJoCIgNB/wFxBH8gAwVBfyACLQAwIgNBEkcgA0ESSxsLQQFrQf8BcUEBTQRAIAJB4AFqIAVBIGopAwA3AwAgAkHYAWogBUEYaikDADcDACACQdABaiAFQRBqKQMANwMAIAJByAFqIg4gBUEIaikDADcDACACIAUpAwA3A8ABIAJBiANqIA1BIGopAwA3AwAgAkGAA2ogDUEYaikDADcDACACQfgCaiIYIA1BEGopAwA3AwAgAkHwAmoiEiANQQhqKQMANwMAIAIgDSkDADcD6AIgAkG4A2ohDCACQcABaiITIQ8jAEGwAmsiAyQAIANBoAJqIAJB6AJqIhQiCUEgaikDADcDACADQZgCaiAJQRhqKQMANwMAIANBkAJqIAlBEGopAwA3AwAgA0GIAmogCUEIaikDADcDACADIAkpAwA3A4ACIANB6AFqIAhB2AFqKQMANwMAIANB4AFqIAhB0AFqKQMANwMAIANB2AFqIAhByAFqKQMANwMAIANBEjoA8AEgAyAIKQPAATcD0AEgCEHAAWohByADQShqAn8gCSADQdABaiIKIANBgAJqIAoQmgIiFUH/AXEEfyAVBSAKIAMtAKACIgpBEkkNARogCkESRwtB/wFxQQFGGwsiCkEgaikDADcDACADQSBqIApBGGopAwA3AwAgA0EYaiAKQRBqKQMANwMAIANBEGogCkEIaikDADcDACADIAopAwA3AwggA0HoAWogB0EYaikDADcDACADQeABaiAHQRBqKQMANwMAIANB2AFqIAdBCGopAwA3AwAgA0ESOgDwASADIAcpAwA3A9ABIANBMGogDyADQdABaiIKEMIBIANBmAJqIAhB2AVqKQMANwMAIANBkAJqIAhB0AVqKQMANwMAIANBiAJqIAhByAVqKQMANwMAIANBEjoAoAIgAyAIKQPABTcDgAIgCiAIIANBgAJqEGcCQAJAAkACQAJAAkACQCADKALQAUUEQCADKQPwASEwIAMpA+gBITEgAykD4AEhMiADKQPYASEzIAogA0EIaiAJEMIBIAMpA9gBIiMgCCkDiAR8IiUgI1QhCSADKQPgASIkIAgpA5AEfCIjICRUIQogAykD6AEiJCAkIAgpA5gEfCIkViEPAkAgAykD0AEiJiAIKQOABHwiLCAmWgR+IAmtBSAlQgF8IiVQrSAJrXwLIiZQBH4gCq0FICMgIyAmfCIjVq0gCq18CyImUARAIA9FDQEMCAsgDw0HICQgJCAmfCIkVg0HCyADQcABaiAIQeADaiIJQRhqKQMANwMAIANBuAFqIAlBEGopAwA3AwAgA0GwAWogCUEIaikDADcDACADQRI6AMgBIAMgCSkDADcDqAEgA0HQAWoiCUGox8AAQQQQtwEgAygC0AENASADKQPwASEqIAMpA+gBISkgAykD4AEhJyADKQPYASEtIAkgCBCZASADKALQAUUEQCADKQPgASEoIAMpA/ABISsgKSADKQPoASIufSEmAkACfiADKQPYASI0IC1YBEAgJyAofSEvICcgKFStDAELICcgKEJ/hXwhLyAnIChUrSAnIChRrXwLIihQBEAgKSAuVK0hJwwBCyAmIChUrSApIC5UrXwhJyAmICh9ISYLICogK30hKAJAICdQBEAgKiArWg0BDAgLICogK1QgJyAoVnINByAoICd9ISgLIANBEjoAoAIgAyAoNwOYAiADICY3A5ACIAMgLzcDiAIgAyAtIDR9NwOAAiADQYABaiADQagBaiADQYACahDDASAlIAMpA4gBfCInICVUIQkgAykDkAEgI3wiJiAjVCEKICQgAykDmAEgJHwiI1YhDwJAICwgLCADKQOAAXwiJFgEfiAJrQUgJ0IBfCInUK0gCa18CyIlUAR+IAqtBSAmICUgJnwiJlatIAqtfAsiJVAEQCADICM3A3AgAyAmNwNoIAMgJzcDYCADICQ3A1ggD0UNAQwHCyADICY3A2ggAyAnNwNgIAMgJDcDWCADICMgJXwiJDcDcCAPICMgJFZyDQYLIANBEjoAeCADQegBaiAHQRhqKQMANwMAIANB4AFqIAdBEGopAwA3AwAgA0HYAWogB0EIaikDADcDACADQRI6APABIAMgBykDADcD0AEgA0GAAmogA0HQAWogA0HYAGoQwgEgAykDOCIjIDJ8IiQgI1QhByADKQNAIiYgMXwiIyAmVCEJIAMpA0giJiAmIDB8IiZWIQoCQCADKQMwIiUgM3wiJyAlWgR+IAetBSAkQgF8IiRQrSAHrXwLIiVQBH4gCa0FICMgIyAlfCIjVq0gCa18CyIlUARAIAMgJjcD6AEgAyAjNwPgASADICQ3A9gBIAMgJzcD0AEgCkUNAQwGCyADICM3A+ABIAMgJDcD2AEgAyAnNwPQASADICUgJnwiIzcD6AEgCiAjICZUcg0FCyADQRI6APABIAxBCGogA0GAAmogA0HQAWoQwwEgDEEANgIADAMLIAMoAtQBIQcgDEEBNgIAIAwgBzYCBAwCCyADKALUASEHIAxBATYCACAMIAc2AgQMAQsgAyADKALUATYCrAJBzMTAAEErIANBrAJqQbzEwABBmO3AABCVAgALIANBsAJqJAAMBAsgA0EANgK4ASADQQE2AqwBIANBlIfBADYCqAEgA0IENwKwASADQagBakGohcEAELMCAAsgA0EANgLgASADQQE2AtQBIANBlIfBADYC0AEgA0IENwLYASADQdABakGohcEAELMCAAsgA0EANgLgASADQQE2AtQBIANBsMTAADYC0AEgA0IENwLYASADQdABakGAxMAAELMCAAsgA0EANgKQAiADQQE2AoQCIANBlIfBADYCgAIgA0IENwKIAiADQYACakGohcEAELMCAAsgAigCuAMNBCACIAIoAOEDNgJoIAIgAkHkA2ooAAA2AGsgAi0A4AMhByACKQPYAyEmIAIpA9ADISMgAikDyAMhKCACKQPAAyEnIAJBiAFqQn83AwAgAkGAAWpCfzcDACACQfgAakJ/NwMAIAJCfzcDcCACQRI6AJABIBdFDQMgE60iMEKAgICAsAeEITEgAkHZA2ohCSACQZEBaiEKIBRBBHIhDyACQeEBaiETIAJBwANqIQMgAkG5AmohFCACQbkBaiEVIAJB4QNqIRkgAkGJA2oiG0EDaiEcA0AgGyACKAJoNgAAIBwgAigAazYAACACIAc6AIgDIAIgJjcDgAMgAiAjNwP4AiACICg3A/ACIAIgJzcD6AIgAkG4A2ogCCACQegCaiANEGoCQAJAAkACQCACKAK4A0UEQCAVIBkoAAA2AAAgFUEDaiAZQQNqKAAANgAAIAIgAi0A4AMiEDoAuAEgAiACKQPYAyIrNwOwASACIAIpA9ADIiw3A6gBIAIgAikDyAMiKTcDoAEgAiACKQPAAyIuNwOYASACQZgBaiAFEJoCQf8BcSIMRQ0BIAxB/wFHDQIMAwsgAigCvAMhAyAGQQE2AgAgBiADNgIEDA0LIBAgBS0AIEkNAQsgBSkDCCElICwgBSkDECIqfSEkAkACfiAFKQMAIi8gLlgEQCApICV9IS0gJSApVq0MAQsgKSAlQn+FfCEtICUgKVatICUgKVGtfAsiJVAEQCAqICxWrSEqDAELICQgJVStICogLFatfCEqICQgJX0hJAsgKyAFKQMYIiV9ISkCQCAqUARAICUgK1YNASAuIC99ISUMAwsgKSAqVCAlICtWcg0AIC4gL30hJSApICp9ISkMAgsMDAsgBSkDCCEkIAUpAxAiJSAsfSEtAkACfiAuIAUpAwAiMlgEQCAkICl9IS8gJCApVK0MAQsgJCApQn+FfCEvICQgKVStICQgKVGtfAsiJFAEQCAlICxUrSElDAELICQgLVatICUgLFStfCElIC0gJH0hLQsgBSkDGCIkICt9ISoCQAJAICVQBEAgJCArWg0BDAILICQgK1QgJSAqVnINASAqICV9ISoLIAJBEjoA2AMgAiAqNwPQAyACIC03A8gDIAIgLzcDwAMgAiAyIC59NwO4AyACQbgDaiACQRBqEJoCIgxB/wFxBH8gDAVBfyACLQAwIgxBEkcgDEESSxsLQQFrQf8BcUEBTQRAIAUpAwghJSAFKQMQIiogLH0hJAJAAn4gLiAFKQMAIi9YBEAgJSApfSEtICUgKVStDAELICUgKUJ/hXwhLSAlIClUrSAlIClRrXwLIiVQBEAgKiAsVK0hKgwBCyAkICVUrSAqICxUrXwhKiAkICV9ISQLIAUpAxgiJSArfSEpAkAgKlAEQCAlICtUDQEgLyAufSElDAQLICkgKlQgJSArVHINACAvIC59ISUgKSAqfSEpDAMLDA0LIAYgAigCaDYAKSAGIAc6ACggBiAmNwMgIAYgIzcDGCAGICg3AxAgBiAnNwMIIAZBADYCACAGQSxqIAIoAGs2AAAMCwsMCwsgAkESOgCQASACICk3A4gBIAIgJDcDgAEgAiAtNwN4IAIgJTcDcCAUIAIoAmg2AAAgFEEDaiACKABrNgAAIAIgBzoAuAIgAiAmNwOwAiACICM3A6gCIAIgKDcDoAIgAiAnNwOYAiACQbgDaiIRIAgQmQECQAJAIAIoArgDRQRAIBIgAykDADcDACASQSBqIh0gA0EgaikDADcDACASQRhqIh4gA0EYaikDADcDACASQRBqIh8gA0EQaikDADcDACASQQhqIiAgA0EIaikDADcDACACQgE3A+gCIAJB2ANqIhogDUEgaikDADcDACACQdADaiIHIA1BGGopAwA3AwAgAkHIA2oiDCANQRBqKQMANwMAIAMgDUEIaikDADcDACACIA0pAwA3A7gDIAJBwAFqIAggAkGYAmogESACQegCahBpAkACQCACKALAAUUEQCACQZACaiAOQSBqKQMANwMAIAJBiAJqIA5BGGopAwA3AwAgAkGAAmogDkEQaikDADcDACACQfgBaiAOQQhqKQMANwMAIAJB0AJqIhYgAkH4AGopAwA3AwAgAkHYAmoiISACQYABaikDADcDACACQeACaiIiIAJBiAFqKQMANwMAIAIgDikDADcD8AEgAiACKQNwNwPIAiACIApBA2ooAAA2AMMCIAIgCigAADYCwAIgDkIANwMAIAJCgICQu7rWrfANNwPAASACQQE2ArwDIAJBxP3AADYCuAMgAkIBNwLEAyACIDE3A6gDIAIgAkGoA2o2AsADIAJBuARqIBEQzwEgGEIANwMAIBhBCGpCADcDACAOKQMAISQgAikDwAEhJSACKAK4BCIRBEAgAigCvAQgERCMAwsgAkESOgCIAyACICU3A+gCIAIgJDcD8AIgByAiKQMANwMAIAwgISkDADcDACADIBYpAwA3AwAgCSACKALAAjYAACAJQQNqIAIoAMMCNgAAIAIgAikDyAI3A7gDIAJBEjoA2AMgAkGYAmogAkG4A2ogAkHoAmogAkHwAWoQdiACQZgBaiAFEJoCQf8BcSIRRQ0BIBFB/wFHDQIMBAsgAigCxAEhAyAGQQE2AgAgBiADNgIEDA4LIBAgBS0AIEkNAgsgAikDoAIhJAJ+IAIpA5gCIisgJ1gEQCAkIChWrSEpICggJH0MAQsgJCAoVq0gJCAoUa18ISkgKCAkQn+FfAshJCAjIAIpA6gCIiV9ISgCQCApUARAICMgJVStISUMAQsgKCApVK0gIyAlVK18ISUgKCApfSEoCyAmIAIpA7ACIip9ISMCQCAlUARAICYgKloNAQwP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ViEBIAdQBH4gAa0FIAYgBiAHfCIGVq0gAa18CyEHIAUgBSAJfCIFViEBAkAgB1AEQCAAIAU3AyAgACAGNwMYIAAgCDcDECAAIAo3AwggAUUNAQwICyAAIAY3AxggACAINwMQIAAgCjcDCCAAIAUgB3wiBjcDICABIAUgBlZyDQcLIABBADYCACAAQRI6ACgMBQsgAigC/AEhASAAQQE2AgAgACABNgIEDAQLIAIoAqwCIQEgAEEBNgIAIAAgATYCBAwDCyACIAIoAqwCNgLYAkHMxMAAQSsgAkHYAmpBvMTAAEGg+cAAEJUCAAsgAigC/AEhASAAQQE2AgAgACABNgIEDAELIAIgAigCrAI2AoABQczEwABBKyACQYABakG8xMAAQZD5wAAQlQIACyACQaADaiQADwsgAkEANgK4AiACQQE2AqwCIAJBlIfBADYCqAIgAkIENwKwAiACQagCakGohcEAELMCAAsgAkEANgK4AiACQQE2AqwCIAJBsMTAADYCqAIgAkIENwKwAiACQagCakGAxMAAELMCAAvVDgIHfwp+IwBB0ANrIgMkACADQagBaiABQfgDaikDADcDACADQaABaiABQfADaikDADcDACADQZgBaiABQegDaikDADcDACADIAEpA+ADNwOQASADQdACaiIGQajHwABBBBC3AQJAIAMoAtACRQRAIANBoAJqIANB8AJqIgUpAwA3AwAgA0GYAmogA0HoAmopAwA3AwAgA0GQAmogA0HgAmopAwA3AwAgAyADKQPYAjcDiAIgAyADKAD5AjYCgAIgAyADQfwCaigAADYAgwIgAy0A+AIhBCAGIAEQmQECQCADKALQAkUEQCADQcgCaiADQfgCaikDADcDACADQcACaiAFKQMANwMAIANBuAJqIANB6AJqKQMANwMAIANBsAJqIANB4AJqKQMANwMAIAMgAykD2AI3A6gCQgEhCwJAAkACQCAEDgICAQALQgohCyAEIQFCASENA0AgA0HIAGogC0IBIAFBAXEiBRsgCkIAIAUbIA0gDBCUAiADQdgAaiALIAogCyAKEJQCIAFBA0sgA0HgAGopAwAhCiADQdAAaikDACEMIAMpA1ghCyADKQNIIQ0gAUEBdiEBDQALIANBOGogDSAMIAsgChCUAiADQUBrKQMAIQogAykDOCELDAELQgohCwsgA0GwA2oiASAKNwMAIAMgCzcDqAMgA0EBNgLUAiADQcT9wAA2AtACIANCATcC3AIgA0KAgICAsAciEiADQagDaq2ENwPIAyADIANByANqNgLYAiADQbgDaiADQdACahDPASADQZgDakIANwMAIANCADcDkAMgASkDACEQIAMpA6gDIREgAygCuAMiAQRAIAMoArwDIAEQjAMLIANBEjoAoAMgAyARNwOAAyADIBA3A4gDIANB6AJqIANBoAJqKQMANwMAIANB4AJqIANBmAJqKQMANwMAIANB2AJqIANBkAJqKQMANwMAIANB9AJqIAMoAIMCNgAAIAMgAykDiAI3A9ACIAMgBDoA8AIgAyADKAKAAjYA8QIgA0HYAWogA0HQAmoiASADQYADaiADQagCahB2IAFBqMfAAEEEELcBIAMoAtACRQRAIAMpA+gCIQogAykD4AIhDiADKQPoASEMIAMpA+ABIQ8CfiADKQPYASIQIAMpA9gCIhFaBEAgDiAPVq0hDSAPIA59DAELIA4gD1atIA4gD1GtfCENIA8gDkJ/hXwLIRMgAykD8AIhDiADKQPwASEPIAwgCn0hCwJAIA1QBEAgCiAMVq0hDAwBCyALIA1UrSAKIAxWrXwhDCALIA19IQsLIA8gDn0hCgJAIAxQBEAgDiAPWA0BDAYLIAogDFQgDiAPVnINBSAKIAx9IQoLIANBEjoA0AEgAyAKNwPIASADIAs3A8ABIAMgEzcDuAEgAyAQIBF9NwOwAUIAIQogA0HgAWoiAUIANwMAIANCgICQu7rWrfANNwPYASADQQE2AtQCIANBxP3AADYC0AJCASELIANCATcC3AIgAyASIANB2AFqrYQiEjcDuAMgAyADQbgDajYC2AIgA0GoA2ogA0HQAmoQzwEgA0GYA2pCADcDACADQgA3A5ADIAEpAwAhECADKQPYASERIAMoAqgDIgEEQCADKAKsAyABEIwDCyADQRI6AKADIAMgETcDgAMgAyAQNwOIAyADQegCaiADQagBaikDADcDACADQeACaiADQaABaikDADcDACADQdgCaiADQZgBaikDADcDACADIAMpA5ABNwPQAiADQRI6APACIANB6ABqIANB0AJqIANBsAFqIANBgANqEHYCQAJAAkAgAy0AiAEiAQ4CAgEAC0IKIQtCASENQgAhDANAIANBGGogC0IBIAFBAXEiBBsgCkIAIAQbIA0gDBCUAiADQShqIAsgCiALIAoQlAIgAUEDSyADQTBqKQMAIQogA0EgaikDACEMIAMpAyghCyADKQMYIQ0gAUEBdiEBDQALIANBCGogDSAMIAsgChCUAiADQRBqKQMAIQogAykDCCELDAELQgohCwsgA0HgAWoiASAKNwMAIAMgCzcD2AEgA0EBNgKEAyADQcT9wAA2AoADIANCATcCjAMgAyASNwOoAyADIANBqANqNgKIAyADQbABaiADQYADahDPASADQegCakIANwMAIANCADcD4AIgASkDACEQIAMpA9gBIREgAygCsAEiAQRAIAMoArQBIAEQjAMLIANBEjoA8AIgAyARNwPQAiADIBA3A9gCIABBCGogA0HoAGogAiADQdACahB2IABBADYCAAwCCyADIAMoAtQCNgKAA0HMxMAAQSsgA0GAA2pBvMTAAEGcyMAAEJUCAAsgAygC1AIhASAAQQE2AgAgACABNgIECyADQdADaiQADwsgAyADKALUAjYCgANBzMTAAEErIANBgANqQbzEwABBrMjAABCVAgALIANBADYC4AIgA0EBNgLUAiADQbDEwAA2AtACIANCBDcC2AIgA0HQAmpBgMTAABCzAgAL894BAhd/En4jAEHQAWsiBiQAIAZBkAFqIhIgAUGYAmopAwA3AwAgBkGIAWoiEyABQZACaikDADcDACAGQYABaiIUIAFBiAJqKQMANwMAIAZBEjoAmAEgBiABKQOAAjcDeCAGIAEgBkH4AGoiDCACEJoBIBIgAUHYAmopAwA3AwAgEyABQdACaikDADcDACAUIAFByAJqKQMANwMAIAZBEjoAmAEgBiABKQPAAjcDeCAGQShqIhEgASAMIAIQmgEgBkHIAWogBkEgaikDADcDACAGQcABaiAGQRhqKQMANwMAIAZBuAFqIAZBEGopAwA3AwAgBkGwAWogBkEIaikDADcDACAGIAYpAwA3A6gBIAZBmAFqIAZByABqKQMANwMAIBIgBkFAaykDADcDACATIAZBOGopAwA3AwAgFCAGQTBqKQMANwMAIAYgBikDKDcDeCAGQdAAaiEHIAZBqAFqIhkhBSMAQdAEayIEJAAgBEGAA2oiAkIANwMAIARCgICQu7rWrfANNwP4AiAEQQE2AqQCIARBxP3A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aikDADcDACADQagCaiADQbADaikDADcDACADQaACaiADQagDaikDADcDACADQZgCaiADQaADaikDADcDACADIAMpA5gDNwOQAiACIAkQmgJB/wFxDgIBAwILIAMgAygClAM2AsADQczEwABBKyADQcADakG8xMAAQZz3wAAQlQIACyADLQC4ASADLQCwAk8NAQsgA0HgAmogA0G4AWopAwA3AwAgA0HYAmogA0GwAWopAwA3AwAgA0HQAmogA0GoAWopAwA3AwAgA0HIAmogA0GgAWopAwA3AwAgAyADKQOYATcDwAIgA0GQA2oiAkGox8AAQQQQtwEgAygCkAMNASADQeADaiADQbgDaikDADcDACADQdgDaiADQbADaikDADcDACADQdADaiADQagDaikDADcDACADQcgDaiADQaADaikDADcDACADIAMpA5gDNwPAAyACQajHwABBBBC3ASADKAKQA0UNAiADIAMoApQDNgLoAkHMxMAAQSsgA0HoAmpBvMTAAEH89sAAEJUCAAsgA0HgAWogA0G4AWopAwA3AwAgA0HYAWogA0GwAWopAwA3AwAgA0HQAWogA0GoAWopAwA3AwAgA0HIAWogA0GgAWopAwA3AwAgAyADKQOYATcDwAEgA0GQA2oiAkGox8AAQQQQtwEgAygCkAMNBCADQYgCaiADQbADaikDADcDACADQYACaiADQagDaikDADcDACADQfgBaiADQaADaikDADcDACADIAMpA5gDNwPwASADIAMoALkDNgLoASADIANBvANqKAAANgDrASADLQC4AyEFIAJBqMfAAEEEELcBIAMoApADDQUgAykDoAMhGyABKQPIBiEcIAMpA7ADIR0gASkD2AYhHiADKQOoAyIfIAEpA9AGIiB9IRoCQAJ+IAMpA5gDIiEgASkDwAYiI1oEQCAbIBx9ISIgGyAcVK0MAQsgGyAcQn+FfCEiIBsgHFStIBsgHFGtfAsiG1AEQCAfICBUrSEcDAELIBogG1StIB8gIFStfCEcIBogG30hGgsgHSAefSEbAkAgHFAEQCAdIB5aDQEMDAsgHSAeVCAbIBxUcg0LIBsgHH0hGwsgA0ESOgCIAyADIBs3A4ADIAMgGjcD+AIgAyAiNwPwAiADICEgI303A+gCQgEhGkIAIRsCQAJAAkAgBQ4CAgEAC0IKIRogBSECQgEhHUIAIRwDQCADQSBqIBpCASACQQFxIgkbIBtCACAJGyAdIBwQlAIgA0EwaiAaIBsgGiAbEJQCIAJBA0sgA0E4aikDACEbIANBKGopAwAhHCADKQMwIRogAykDICEdIAJBAXYhAg0ACyADQRBqIB0gHCAaIBsQlAIgA0EYaikDACEbIAMpAxAhGgwBC0IKIRoLIANByAJqIgIgGzcDACADIBo3A8ACIANBATYClAMgA0HE/cAANgKQAyADQgE3ApwDIAMgA0HAAmqtQoCAgICwB4Q3A/gDIAMgA0H4A2o2ApgDIANB7ANqIANBkANqEM8BIANB2ANqQgA3AwAgA0IANwPQAyACKQMAIRogAykDwAIhGyADKALsAyICBEAgAygC8AMgAhCMAwsgA0ESOgDgAyADIBs3A8ADIAMgGjcDyAMgA0GoA2ogA0GIAmopAwA3AwAgA0GgA2ogA0GAAmopAwA3AwAgA0GYA2ogA0H4AWopAwA3AwAgA0G0A2ogAygA6wE2AAAgAyADKQPwATcDkAMgAyAFOgCwAyADIAMoAugBNgCxAyADQcACaiICIANBkANqIANBwANqIANB6AJqEHYgA0GQAmogA0HAAWogAhByIAMoApACDQYMBwsgAyADKAKUAzYCwANBzMTAAEErIANBwANqQbzEwABBjPfAABCVAgALIAMpA6ADIRsgASkDyAYhHCADKQOwAyEeIAEpA9gGIR8gAykDqAMiICABKQPQBiIifSEaAkACfiADKQOYAyIhIAEpA8AGIiNaBEAgGyAcfSEdIBsgHFStDAELIBsgHEJ/hXwhHSAbIBxUrSAbIBxRrXwLIhtQBEAgICAiVK0hHAwBCyAaIBtUrSAgICJUrXwhHCAaIBt9IRoLIB4gH30hGwJAIBxQBEAgHiAfWg0BDAoLIB4gH1QgGyAcVHINCSAbIBx9IRsLIANBEjoAsAMgAyAbNwOoAyADIBo3A6ADIAMgHTcDmAMgAyAhICN9NwOQAyADQegCaiICIANBwANqIANBkANqEMIBIANBkAJqIANBwAJqIAIQciADKAKQAg0EDAULIAMoApQDIQIgCEEBNgIAIAggAjYCBAwFCyADIAMoApQDNgKQAkHMxMAAQSsgA0GQAmpBvMTAAEGs98AAEJUCAAsgAyADKAKUAzYCwANBzMTAAEErIANBwANqQbzEwABBlPbAABCVAgALIAMgAygClAM2AsADQczEwABBKyADQcADakG8xMAAQYT2wAAQlQIACyADKAKUAiECIAhBATYCACAIIAI2AgQMAQsgA0G4AWogA0G4AmopAwA3AwAgA0GwAWogA0GwAmopAwA3AwAgA0GoAWogA0GoAmopAwA3AwAgA0GgAWogA0GgAmopAwA3AwAgAyADKQOYAjcDmAEgA0GoA2oiAiABQZgBaikDADcDACADQaADaiIJIAFBkAFqKQMANwMAIANBmANqIgUgAUGIAWopAwA3AwAgA0ESOgCwAyADIAEpA4ABNwOQAyAIAn8CQAJAAkAgA0GQA2ogA0GYAWoQmgJB/wFxDgIAAgELIAMtALgBQRNJDQELIAIgAUGAAWoiAkEYaikDADcDACAJIAJBEGopAwA3AwAgBSACQQhqKQMANwMAIANBAzYClAIgA0HU9sAANgKQAiADQgI3ApwCIANBEjoAsAMgAyADQZgBaq1CgICAgKAHhDcDyAMgAyADQZADaq1CgICAgKAHhDcDwAMgAyACKQMANwOQAyADIANBwANqNgKYAiADQegCaiICIANBkAJqEM8BIANBCGogAkHwhcEAQez2wAAQpwIgAygCDCEJIAMoAgghDiAFIANB8AJqKAIANgIAQZHewQAtAAAaIAMgAykC6AI3A5ADQRhBBBD4AiICRQ0QIAIgDjYCBCACQdiGwQA2AgAgAiADKQOQAzcCDCACIAk2AgggAkEUaiADQZgDaigCADYCACAIIAI2AgRBAQwBCyABKQOIASEbIAMpA6ABIRwgASkDmAEhHiADKQOwASEfIAEpA5ABIiAgAykDqAEiIn0hGgJAAn4gASkDgAEiISADKQOYASIjWgRAIBsgHH0hHSAbIBxUrQwBCyAbIBxCf4V8IR0gGyAcVK0gGyAcUa18CyIbUARAICAgIlStIRwMAQsgGiAbVK0gICAiVK18IRwgGiAbfSEaCyAeIB99IRsCQCAcUARAIB4gH1oNAQwFCyAeIB9UIBsgHFRyDQQgGyAcfSEbCyAIQRI6ACggCCAbNwMgIAggGjcDGCAIIB03AxAgCCAhICN9NwMIQQALNgIACyADQYAEaiQADAILIANBADYCoAMgA0EBNgKUAyADQZSHwQA2ApADIANCBDcCmAMgA0GQA2pBqIXBABCzAgALIANBADYCoAMgA0EBNgKUAyADQbDEwAA2ApADIANCBDcCmAMgA0GQA2pBgMTAABCzAgALIAQoAqACIgINBiAEQZgCaiANKQMAIho3AwAgBEGQAmogCykDACIbNwMAIARBiAJqIA8pAwAiHDcDACAEQfwBaiAQKAAANgAAIARB4AFqIBw3AwAgBEHoAWogGzcDACAEQfABaiAaNwMAIAQgBCkDqAIiGjcDgAIgBCAEKADJAjYA+QEgBCAaNwPYASAEIAQtAMgCIgU6APgBIAIEQCAIQQRyEO0CCwJAAkAgBEHYAWogBEGIAWoQmgIiAkF/QQAgBSAKSRsgAkH/AXEbQf8BcUECTwRAIARBoAJqIQgjAEHQBGsiAyQAIANB4ANqIgIgARCDAQJAAkACQAJAAkACQAJAAkACQCADKALgA0UEQCADQbgBaiADQYgEaikDACIeNwMAIANBsAFqIANBgARqKQMANwMAIANBqAFqIANB+ANqIgUpAwA3AwAgA0GgAWogA0HwA2oiCikDADcDACADIAMpA+gDNwOYASADQagEaiABQZgFaikDADcDACADQaAEaiABQZAFaikDADcDACADQZgEaiABQYgFaikDADcDACADQRI6ALAEIAMgASkDgAU3A5AEIANBmANqIglCADcDACADQoCAkLu61q3wDTcDkAMgA0EBNgLkAyADQcT9wAA2AuADIANCATcC7AMgAyADQZADaq1CgICAgLAHhCIiNwPoASADIANB6AFqNgLoAyADQegCaiACEM8BIANB0AJqQgA3AwAgA0IANwPIAiAJKQMAIRogAykDkAMhGyADKALoAiICBEAgAygC7AIgAhCMAwsgA0ESOgDYAiADIBs3A7gCIAMgGjcDwAIgBSABQcABaiICQRhqKQMANwMAIAogAkEQaikDADcDACADQegDaiACQQhqKQMANwMAIANBEjoAgAQgAyACKQMANwPgAyADQZADaiADQeADaiICIANBuAJqIANBkARqEHYgAkGox8AAQQQQtwEgAygC4AMNASADKQOYAyIaIAMpA/ADfCIbIBpUIQIgAykDoAMiGiAaIAMpA/gDfCIaViEFIAMpA6gDIhwgHCADKQOABHwiHFYhCgJAIAMpA5ADIh8gAykD6AN8Ih0gH1oEfiACrQUgG0IBfCIbUK0gAq18CyIfUAR+IAWtBSAaIBogH3wiGlatIAWtfAsiH1AEQCADIBw3A9ACIAMgGjcDyAIgAyAbNwPAAiADIB03A7gCIApFDQEMCQsgAyAaNwPIAiADIBs3A8ACIAMgHTcDuAIgAyAcIB98Iho3A9ACIAogGiAcVHINCAsgA0ESOgDYAkIBIRpCACEbAkACQAJAIB6nQf8BcSICDgICAQALQgohGkIBIRxCACEdA0AgA0H4AGogGkIBIAJBAXEiBRsgG0IAIAUbIBwgHRCUAiADQYgBaiAaIBsgGiAbEJQCIAJBA0sgA0GQAWopAwAhGyADQYABaikDACEdIAMpA4gBIRogAykDeCEcIAJBAXYhAg0ACyADQegAaiAcIB0gGiAbEJQCIANB8ABqKQMAIRsgAykDaCEaDAELQgohGgsgA0GYA2oiAiAbNwMAIAMgGjcDkAMgA0EBNgKUBCADQcT9wAA2ApAEIANCATcCnAQgAyAiNwPoASADIANB6AFqNgKYBCADQegCaiADQZAEahDPASADQfgDakIANwMAIANCADcD8AMgAikDACEaIAMpA5ADIRsgAygC6AIiAgRAIAMoAuwCIAIQjAMLIANBEjoAgAQgAyAbNwPgAyADIBo3A+gDIANBwAFqIgIgA0GYAWogA0HgA2oiBSADQbgCaiIKEHwgBUGox8AAQQQQtwECQAJAAkACQAJAIAMoAuADRQRAIANB2AJqIANBiARqKQMANwMAIANB0AJqIANBgARqKQMANwMAIANByAJqIANB+ANqKQMANwMAIANBwAJqIANB8ANqKQMANwMAIAMgAykD6AM3A7gCIAIgChCaAkH/AXEOAgEDAgsgAyADKALkAzYCkARBzMTAAEErIANBkARqQbzEwABB5PXAABCVAgALIAMtAOABIAMtANgCTw0BCyADQYgDaiADQeABaikDADcDACADQYADaiADQdgBaikDADcDACADQfgCaiADQdABaikDADcDACADQfACaiADQcgBaikDADcDACADIAMpA8ABNwPoAiADQeADaiICQajHwABBBBC3ASADKALgAw0BIANBsARqIANBiARqKQMANwMAIANBqARqIANBgARqKQMANwMAIANBoARqIANB+ANqKQMANwMAIANBmARqIANB8ANqKQMANwMAIAMgAykD6AM3A5AEIAJBqMfAAEEEELcBIAMoAuADRQ0CIAMgAygC5AM2ApADQczEwABBKyADQZADakG8xMAAQcT1wAAQlQIACyADQYgCaiADQeABaikDADcDACADQYACaiADQdgBaikDADcDACADQfgBaiADQdABaikDADcDACADQfABaiADQcgBaikDADcDACADIAMpA8ABNwPoASADQeADaiICQajHwABBBBC3ASADKALgAw0EIANBsAJqIANBgARqKQMANwMAIANBqAJqIANB+ANqKQMANwMAIANBoAJqIANB8ANqKQMANwMAIAMgAykD6AM3A5gCIAMgAygAiQQ2ApACIAMgA0GMBGooAAA2AJMCIAMtAIgEIQUgAkGox8AAQQQQtwEgAygC4AMNBSADKQP4AyEdIAMpA/ADIRogASkD0AYhHiABKQPIBiEbAn4gAykD6AMiISABKQPABiIjWgRAIBogG1StIRwgGiAbfQwBCyAaIBtUrSAaIBtRrXwhHCAaIBtCf4V8CyEkIAMpA4AEIR8gASkD2AYhICAdIB59IRoCQCAcUARAIB0gHlStIR0MAQsgGiAcVK0gHSAeVK18IR0gGiAcfSEaCyAfICB9IRsCQCAdUARAIB8gIFoNAQwMCyAbIB1UIB8gIFRyDQsgGyAdfSEbCyADQRI6ALADIAMgGzcDqAMgAyAaNwOgAyADICQ3A5gDIAMgISAjfTcDkANCASEaQgAhGwJAAkACQCAFDgICAQALQgohGiAFIQJCASEcQgAhHQNAIANByABqIBpCASACQQFxIgobIBtCACAKGyAcIB0QlAIgA0HYAGogGiAbIBogGxCUAiACQQNLIANB4ABqKQMAIRsgA0HQAGopAwAhHSADKQNYIRogAykDSCEcIAJBAXYhAg0ACyADQThqIBwgHSAaIBsQlAIgA0FAaykDACEbIAMpAzghGgwBC0IKIRoLIANB8AJqIgIgGzcDACADIBo3A+gCIANBATYC5AMgA0HE/cAANgLgAyADQgE3AuwDIAMgA0HoAmqtQoCAgICwB4Q3A8gEIAMgA0HIBGo2AugDIANBvARqIANB4ANqEM8BIANBqARqQgA3AwAgA0IANwOgBCACKQMAIRogAykD6AIhGyADKAK8BCICBEAgAygCwAQgAhCMAwsgA0ESOgCwBCADIBs3A5AEIAMgGjcDmAQgA0H4A2ogA0GwAmopAwA3AwAgA0HwA2ogA0GoAmopAwA3AwAgA0HoA2ogA0GgAmopAwA3AwAgA0GEBGogAygAkwI2AAAgAyADKQOYAjcD4AMgAyAFOgCABCADIAMoApACNgCBBCADQegCaiICIANB4ANqIANBkARqIANBkANqEHwgA0G4AmogA0HoAWogAhByIAMoArgCDQYMBwsgAyADKALkAzYCkARBzMTAAEErIANBkARqQbzEwABB1PXAABCVAgALIAMpA/gDIR0gAykD8AMhGiABKQPQBiEeIAEpA8gGIRsCfiADKQPoAyIhIAEpA8AGIiNaBEAgGiAbVK0hHCAaIBt9DAELIBogG1StIBogG1GtfCEcIBogG0J/hXwLISQgAykDgAQhHyABKQPYBiEgIB0gHn0hGgJAIBxQBEAgHSAeVK0hHQwBCyAaIBxUrSAdIB5UrXwhHSAaIBx9IRoLIB8gIH0hGwJAIB1QBEAgHyAgWg0BDAoLIBsgHVQgHyAgVHINCSAbIB19IRsLIANBEjoAgAQgAyAbNwP4AyADIBo3A/ADIAMgJDcD6AMgAyAhICN9NwPgAyADQZADaiICIANBkARqIANB4ANqEMIBIANBuAJqIANB6AJqIAIQciADKAK4AkUNBSADKAK8AiECIAhBATYCACAIIAI2AgQMBgsgAygC5AMhAiAIQQE2AgAgCCACNgIEDAULIAMgAygC5AM2ArgCQczEwABBKyADQbgCakG8xMAAQfT1wAAQlQIACyADIAMoAuQDNgKQBEHMxMAAQSsgA0GQBGpBvMTAAEHg9MAAEJUCAAsgAyADKALkAzYCkARBzMTAAEErIANBkARqQbzEwABB0PTAABCVAgALIAMoArwCIQIgCEEBNgIAIAggAjYCBAwBCyADQeABaiADQeACaikDADcDACADQdgBaiICIANB2AJqKQMANwMAIANB0AFqIgUgA0HQAmopAwA3AwAgA0HIAWoiCiADQcgCaikDADcDACADIAMpA8ACNwPAASADQcgDaiAKKQMANwMAIANB0ANqIAUpAwA3AwAgA0HYA2ogAikDADcDACADIAMpA8ABNwPAAyADIAMoAOEBNgK4AyADIANB5AFqKAAANgC7AyADLQDgASEFIANBqARqIAFBgAVqIgJBGGopAwA3AwAgA0GgBGogAkEQaikDADcDACADQZgEaiACQQhqKQMANwMAIANBEjoAsAQgAyACKQMANwOQBEIBIRpCACEbAkACQAJAIAUOAgIBAAtCCiEaIAUhAkIBIRxCACEdA0AgA0EYaiAaQgEgAkEBcSIKGyAbQgAgChsgHCAdEJQCIANBKGogGiAbIBogGxCUAiACQQNLIANBMGopAwAhGyADQSBqKQMAIR0gAykDKCEaIAMpAxghHCACQQF2IQINAAsgA0EIaiAcIB0gGiAbEJQCIANBEGopAwAhGyADKQMIIRoMAQtCCiEaCyADQZgDaiICIBs3AwAgAyAaNwOQAyADQQE2AuQDIANBxP3AADYC4AMgA0IBNwLsAyADICI3A+gBIAMgA0HoAWo2AugDIANB6AJqIANB4ANqEM8BIANB0AJqQgA3AwAgA0IANwPIAiACKQMAIRogAykDkAMhGyADKALoAiICBEAgAygC7AIgAhCMAwsgA0ESOgDYAiADIBs3A7gCIAMgGjcDwAIgA0H4A2oiCiADQdgDaikDADcDACADQfADaiIJIANB0ANqKQMANwMAIANB6ANqIANByANqKQMANwMAIANBhARqIAMoALsDNgAAIAMgAykDwAM3A+ADIAMgBToAgAQgAyADKAK4AzYAgQQgA0GQA2oiAiADQeADaiIFIANBuAJqIg0gA0GQBGoiCxB8IANByAFqIANBmANqIg8pAwA3AwAgA0HQAWogA0GgA2oiECkDADcDACADQdgBaiADQagDaiIOKQMANwMAIANB4AFqIANBsANqKQMANwMAIAMgAykDkAM3A8ABIANB0AJqIAFBGGopAwA3AwAgA0HIAmogAUEQaikDADcDACADQcACaiABQQhqKQMANwMAIANBEjoA2AIgAyABKQMANwO4AiAOIAFBOGopAwA3AwAgECABQTBqKQMANwMAIA8gAUEoaikDADcDACADIAEpAyA3A5ADIAUgDSACEMYBAkACQAJAAkAgAygC4ANFBEAgAUEgaiECIANBqARqIANBgARqKQMANwMAIANBoARqIAopAwA3AwAgA0GYBGogCSkDADcDACADQbQEaiADQYwEaigAADYAACADIAMpA+gDNwOQBCADIAMoAIkENgCxBCADIAMtAIgEIgU6ALAEIANBwAFqIAsQmgJB/wFxDgIBAwILIAMoAuQDIQIgCEEBNgIAIAggAjYCBAwECyADLQDgASAFTw0BCyADQdACaiABQRhqKQMANwMAIANByAJqIAFBEGopAwA3AwAgA0HAAmoiBSABQQhqKQMANwMAIANBEjoA2AIgAyABKQMANwO4AiADQagDaiACQRhqKQMANwMAIANBoANqIAJBEGopAwA3AwAgA0GYA2ogAkEIaikDADcDACADIAIpAwA3A5ADIANB4ANqIANBuAJqIANBkANqEMYBIAMoAuADRQ0BIAMoAuQDIQIgCEEBNgIAIAggAjYCBAwCCyADKQPAASEiIAMpA8gBIRogAykD0AEhHSADKQPYASEeIANB0AJqIAFBGGopAwA3AwAgA0HIAmogAUEQaikDADcDACADQcACaiABQQhqKQMANwMAIANBEjoA2AIgAyABKQMANwO4AiADQagEaiACQRhqKQMANwMAIANBoARqIAJBEGopAwA3AwAgA0GYBGogAkEIaikDADcDACADIAIpAwA3A5AEIANB4ANqIANBuAJqIANBkARqEMYBIAMoAuADRQRAIAMpA/gDIR8gAykD8AMhGwJ+IAMpA+gDIiEgIlgEQCAaIBtUrSEcIBogG30MAQsgGiAbVK0gGiAbUa18IRwgGiAbQn+FfAshIyADKQOABCEgIB0gH30hGgJAIBxQBEAgHSAfVK0hHQwBCyAaIBxUrSAdIB9UrXwhHSAaIBx9IRoLIB4gIH0hGwJAIB1QBEAgHiAgWg0BDAYLIBsgHVQgHiAgVHINBSAbIB19IRsLIAhBEjoAKCAIIBs3AyAgCCAaNwMYIAggIzcDECAIICIgIX03AwggCEEANgIADAILIAMoAuQDIQIgCEEBNgIAIAggAjYCBAwBCyADQbAEaiADQYgEaikDADcDACADQagEaiADQYAEaikDADcDACADQaAEaiADQfgDaikDADcDACADQZgEaiADQfADaikDADcDACADIAMpA+gDNwOQBCADQQM2AuwCIANBnPXAADYC6AIgA0ICNwL0AiADIANBkARqrUKAgICAoAeENwPwASADIANBwAFqrUKAgICAoAeENwPoASADIANB6AFqNgLwAiADQbgCaiICIANB6AJqEM8BIAMgAkHwhcEAQbT1wAAQpwIgAygCBCEKIAMoAgAhCSADQegDaiINIAUoAgA2AgBBkd7BAC0AABogAyADKQK4AjcD4ANBGEEEEPgCIgJFDREgAiAJNgIEIAJB2IbBADYCACACIAMpA+ADNwIMIAIgCjYCCCACQRRqIA0oAgA2AgAgCCACNgIEIAhBATYCAAsgA0HQBGokAAwCCyADQQA2AvADIANBATYC5AMgA0GUh8EANgLgAyADQgQ3AugDIANB4ANqQaiFwQAQswIACyADQQA2AvADIANBATYC5AMgA0GwxMAANgLgAyADQgQ3AugDIANB4ANqQYDEwAAQswIACyAEKAKgAiICDQEgBEGABGogBEHAAmopAwA3AwAgBEH4A2ogBEG4AmopAwA3AwAgBEHwA2ogBEGwAmopAwA3AwAgBCAEKQOoAjcD6AMgAgRAIAhBBHIQ7QILIARBoANqIgUgBEG4AWogBEGAAmoQ3wEgBEESOgDAAyAEQaAEaiABQdgBaikDADcDACAEQZgEaiABQdABaikDADcDACAEQZAEaiABQcgBaikDADcDACAEQRI6AKgEIAQgASkDwAE3A4gEIARBoAJqIgIgBRDUASAEQfgCaiIDIAUgAiAEQYgEahB8IAIgBEHoA2ogAxDrASAEQRI6AMACIARB0AJqIAIQ1wEgBCgC0AINAiAHIAQpA9gCNwMIIAdBIGogBEHwAmopAwA3AwAgB0EYaiAEQegCaikDADcDACAHQRBqIARB4AJqKQMANwMAIAdBADYCAAwMCyAEQawEaiAEKACzATYAACAEQaAEaiIJIARB0AFqKQMANwMAIARBmARqIg0gBEHIAWopAwA3AwAgBEGQBGoiDyAEQcABaikDADcDACAEIAQpA7gBNwOIBCAEIAo6AKgEIAQgBCgCsAE2AKkEIARBoAJqIQggBEGIBGoiECECIwBBoAVrIgMkACADQfADaiIFIAEQgAECQAJAAkACQAJAAkAgAygC8ANFBEAgA0GQAWogA0GYBGopAwA3AwAgA0GIAWogA0GQBGopAwA3AwAgA0GAAWogA0GIBGoiCykDADcDACADQfgAaiADQYAEaiIOKQMANwMAIAMgAykD+AM3A3AgCyABQZgBaikDADcDACAOIAFBkAFqKQMANwMAIANB+ANqIAFBiAFqKQMANwMAIANBEjoAkAQgAyABKQOAATcD8AMgBSACEJoCQf8BcSIFRQ0BIAVB/wFHDQIMAwsgAygC9AMhAiAIQQE2AgAgCCACNgIEDAMLIAMtAJAEIAItACBJDQELIAIpAwghGiABKQOIASEcIAIpAxghHSABKQOYASEfIAEpA5ABIiAgAikDECIifSEbAkACfiABKQOAASIhIAIpAwAiI1oEQCAcIBp9IR4gGiAcVq0MAQsgHCAaQn+FfCEeIBogHFatIBogHFGtfAsiGlAEQCAgICJUrSEcDAELIBogG1atICAgIlStfCEcIBsgGn0hGwsgHyAdfSEaAkACQCAcUARAIB0gH1gNAQwCCyAaIBxUIB0gH1ZyDQEgGiAcfSEaCyADQRI6AMAEIAMgGjcDuAQgAyAbNwOwBCADIB43A6gEIAMgISAjfTcDoAQgA0HwA2pBqMfAAEEEELcBAkACQAJAIAMoAvADRQRAIAMpA4AEIRsgASkDyAYhHCADKQOQBCEhIAEpA9gGIR8gAykDiAQiHSABKQPQBiIgfSEaAkACfiADKQP4AyIkIAEpA8AGIiJaBEAgGyAcfSEeIBsgHFStDAELIBsgHEJ/hXwhHiAbIBxUrSAbIBxRrXwLIiNQBEAgHSAgVK0hGwwBCyAaICNUrSAdICBUrXwhGyAaICN9IRoLICEgH30hHQJAIBtQBEAgHyAhWA0BDAULIB8gIVYgGyAdVnINBCAdIBt9IR0LIANBEjoAkAQgAyAdNwOIBCADIBo3A4AEIAMgHjcD+AMgAyAkICJ9NwPwAyADQbgCaiADQaAEaiADQfADahByAkACQCADKAK4AkUEQCADQbgBaiADQeACaikDADcDACADQbABaiADQdgCaikDADcDACADQagBaiADQdACaikDADcDACADQaABaiADQcgCaikDADcDACADIAMpA8ACNwOYASADQfAAaiADQZgBahCaAkH/AXEiAkUNASACQf8BRw0CDAULIAMoArwCIQIgCEEBNgIAIAggAjYCBAwICyADLQCQASADLQC4AUkNAwsgAykDoAEhGyADKQN4IR0gAykDsAEhISADKQOIASEjIAMpA4ABIh4gAykDqAEiJH0hGgJAAn4gAykDcCInIAMpA5gBIiZaBEAgHSAbfSElIBsgHVatDAELIB0gG0J/hXwhJSAbIB1WrSAbIB1RrXwLIhtQBEAgHiAkVK0hHgwBCyAaIBtUrSAeICRUrXwhHiAaIBt9IRoLICMgIX0hHQJAIB5QBEAgISAjWA0BDAkLIB0gHlQgISAjVnINCCAdIB59IR0LIANBEjoAwAQgAyAdNwO4BCADIBo3A7AEIAMgJTcDqAQgAyAnICZ9NwOgBCADQdACaiICIAFBmAVqKQMANwMAIANByAJqIgUgAUGQBWopAwA3AwAgA0HAAmoiCyABQYgFaikDADcDACADQRI6ANgCIAMgASkDgAU3A7gCIANBiARqIg4gAUHYAWopAwA3AwAgA0GABGoiFSABQdABaikDADcDACADQfgDaiABQcgBaikDADcDACADQRI6AJAEIAMgASkDwAE3A/ADIANBwAFqIhYgA0GgBGogA0G4AmoiFyADQfADaiIYEHYgGEGox8AAQQQQtwECQAJAAkACQAJAAkACQAJAIAMoAvADRQRAIANB2AJqIANBmARqKQMANwMAIAIgA0GQBGopAwA3AwAgBSAOKQMANwMAIAsgFSkDADcDACADIAMpA/gDNwO4AiAWIBcQmgJB/wFxDgIBAwILIAMgAygC9AM2AqAEQczEwABBKyADQaAEakG8xMAAQejywAAQlQIACyADLQDgASADLQDYAk8NAQsgA0GIA2ogA0HgAWopAwA3AwAgA0GAA2ogA0HYAWopAwA3AwAgA0H4AmogA0HQAWopAwA3AwAgA0HwAmogA0HIAWopAwA3AwAgAyADKQPAATcD6AIgA0HwA2oiAkGox8AAQQQQtwEgAygC8AMNASADQcAEaiADQZgEaikDADcDACADQbgEaiADQZAEaikDADcDACADQbAEaiADQYgEaikDADcDACADQagEaiADQYAEaikDADcDACADIAMpA/gDNwOgBCACQajHwABBBBC3ASADKALwA0UNAiADIAMoAvQDNgKQA0HMxMAAQSsgA0GQA2pBvMTAAEHI8sAAEJUCAAsgA0GIAmogA0HgAWopAwA3AwAgA0GAAmogA0HYAWopAwA3AwAgA0H4AWogA0HQAWopAwA3AwAgA0HwAWogA0HIAWopAwA3AwAgAyADKQPAATcD6AEgA0HwA2oiAkGox8AAQQQQtwEgAygC8AMNAiADQbACaiADQZAEaikDADcDACADQagCaiADQYgEaikDADcDACADQaACaiADQYAEaikDADcDACADIAMpA/gDNwOYAiADIAMoAJkENgKQAiADIANBnARqKAAANgCTAiADLQCYBCEFIAJBqMfAAEEEELcBIAMoAvADDQMgAykDgAQhGiADKQOQBCEdIAMpA4gEIiEgIH0hGwJAAn4gIiADKQP4AyIjWARAIBogHH0hHiAaIBxUrQwBCyAaIBxCf4V8IR4gGiAcVK0gGiAcUa18CyIaUARAICAgIVatIRwMAQsgGiAbVq0gICAhVq18IRwgGyAafSEbCyAdIB99IRoCQCAcUARAIB0gH1oNAQwOCyAaIBxUIB0gH1RyDQ0gGiAcfSEaCyADQRI6ALADIAMgGjcDqAMgAyAbNwOgAyADIB43A5gDIAMgIyAifTcDkANCASEbQgAhGgJAAkACQCAFDgICAQALQgohGyAFIQJCASEdQgAhHANAIANBQGsgG0IBIAJBAXEiCxsgGkIAIAsbIB0gHBCUAiADQdAAaiAbIBogGyAaEJQCIAJBA0sgA0HYAGopAwAhGiADQcgAaikDACEcIAMpA1AhGyADKQNAIR0gAkEBdiECDQALIANBMGogHSAcIBsgGhCUAiADQThqKQMAIRogAykDMCEbDAELQgohGwsgA0HwAmoiAiAaNwMAIAMgGzcD6AIgA0EBNgL0AyADQcT9wAA2AvADIANCATcC/AMgAyADQegCaq1CgICAgLAHhDcDmAUgAyADQZgFajYC+AMgA0GMBWogA0HwA2oQzwEgA0G4BGpCADcDACADQgA3A7AEIAIpAwAhGiADKQPoAiEbIAMoAowFIgIEQCADKAKQBSACEIwDCyADQRI6AMAEIAMgGzcDoAQgAyAaNwOoBCADQYgEaiADQbACaikDADcDACADQYAEaiADQagCaikDADcDACADQfgDaiADQaACaikDADcDACADQZQEaiADKACTAjYAACADIAMpA5gCNwPwAyADIAU6AJAEIAMgAygCkAI2AJEEIANB6AJqIgIgA0HwA2ogA0GgBGogA0GQA2oQdiADQbgCaiADQegBaiACEHIgAygCuAINBAwGCyADIAMoAvQDNgKgBEHMxMAAQSsgA0GgBGpBvMTAAEHY8sAAEJUCAAsgAykDgAQhGiADKQOQBCEdIAMpA4gEIiEgIH0hGwJAAn4gIiADKQP4AyIjWARAIBogHH0hHiAaIBxUrQwBCyAaIBxCf4V8IR4gGiAcVK0gGiAcUa18CyIaUARAICAgIVatIRwMAQsgGiAbVq0gICAhVq18IRwgGyAafSEbCyAdIB99IRoCQCAcUARAIB0gH1oNAQwMCyAaIBxUIB0gH1RyDQsgGiAcfSEaCyADQRI6AJAEIAMgGjcDiAQgAyAbNwOABCADIB43A/gDIAMgIyAifTcD8AMgA0GQA2oiAiADQaAEaiADQfADahDCASADQbgCaiADQegCaiACEHIgAygCuAJFDQQgAygCvAIhAiAIQQE2AgAgCCACNgIEDAkLIAMgAygC9AM2AqAEQczEwABBKyADQaAEakG8xMAAQdzxwAAQlQIACyADIAMoAvQDNgKgBEHMxMAAQSsgA0GgBGpBvMTAAEHM8cAAEJUCAAsgAygCvAIhAiAIQQE2AgAgCCACNgIEDAYLIAMgAygC9AM2ApADQczEwABBKyADQZADakG8xMAAQfjywAAQlQIACyADQeABaiADQeACaikDADcDACADQdgBaiICIANB2AJqKQMANwMAIANB0AFqIgUgA0HQAmopAwA3AwAgA0HIAWoiCyADQcgCaikDADcDACADIAMpA8ACNwPAASADQcgDaiALKQMANwMAIANB0ANqIAUpAwA3AwAgA0HYA2ogAikDADcDACADIAMpA8ABNwPAAyADIAMoAOEBNgK4AyADIANB5AFqKAAANgC7AyADLQDgASEFIANBuARqIAFBgAVqIgJBGGopAwA3AwAgA0GwBGogAkEQaikDADcDACADQagEaiACQQhqKQMANwMAIANBEjoAwAQgAyACKQMANwOgBEIBIRtCACEaAkACQAJAIAUOAgIBAAtCCiEbIAUhAkIBIR1CACEcA0AgA0EQaiAbQgEgAkEBcSILGyAaQgAgCxsgHSAcEJQCIANBIGogGyAaIBsgGhCUAiACQQNLIANBKGopAwAhGiADQRhqKQMAIRwgAykDICEbIAMpAxAhHSACQQF2IQINAAsgAyAdIBwgGyAaEJQCIANBCGopAwAhGiADKQMAIRsMAQtCCiEbCyADQZgDaiICIBo3AwAgAyAbNwOQAyADQQE2AvQDIANBxP3AADYC8AMgA0IBNwL8AyADIANBkANqrUKAgICAsAeENwPoASADIANB6AFqNgL4AyADQegCaiADQfADahDPASADQdACakIANwMAIANCADcDyAIgAikDACEaIAMpA5ADIRsgAygC6AIiAgRAIAMoAuwCIAIQjAMLIANBEjoA2AIgAyAbNwO4AiADIBo3A8ACIANBiARqIgsgA0HYA2opAwA3AwAgA0GABGoiDiADQdADaikDADcDACADQfgDaiADQcgDaikDADcDACADQZQEaiADKAC7AzYAACADIAMpA8ADNwPwAyADIAU6AJAEIAMgAygCuAM2AJEEIANBkANqIgIgA0HwA2oiBSADQbgCaiIVIANBoARqEHYgA0HIAWogA0GYA2oiFikDADcDACADQdABaiADQaADaiIXKQMANwMAIANB2AFqIANBqANqIhgpAwA3AwAgA0HgAWogA0GwA2opAwA3AwAgAyADKQOQAzcDwAEgA0HQAmogAUEYaikDADcDACADQcgCaiABQRBqKQMANwMAIANBwAJqIAFBCGopAwA3AwAgA0ESOgDYAiADIAEpAwA3A7gCIBggAUE4aikDADcDACAXIAFBMGopAwA3AwAgFiABQShqKQMANwMAIAMgASkDIDcDkAMgBSAVIAIQxgEgAygC8AMEQCADKAL0AyECIAhBATYCACAIIAI2AgQMBQsgAUEgaiECIANBuARqIANBkARqKQMANwMAIANBsARqIAspAwA3AwAgA0GoBGogDikDADcDACADQcQEaiADQZwEaigAADYAACADIAMpA/gDNwOgBCADIAMoAJkENgDBBCADIAMtAJgEIgU6AMAEAkACQCADQcABaiADQaAEahCaAkH/AXEiCwRAIAtB/wFHDQEMAgsgAy0A4AEgBUkNAQsgA0HQBGogA0HIAWopAwA3AwAgA0HYBGogA0HQAWopAwA3AwAgA0HgBGogA0HYAWopAwA3AwAgAyADKQPAATcDyAQgA0HQAmogAUEYaikDADcDACADQcgCaiABQRBqKQMANwMAIANBwAJqIAFBCGopAwA3AwAgA0ESOgDYAiADIAEpAwA3A7gCIANBuARqIAJBGGopAwA3AwAgA0GwBGogAkEQaikDADcDACADQagEaiACQQhqKQMANwMAIAMgAikDADcDoAQgA0HwA2ogA0G4AmogA0GgBGoQxgEgAygC8ANFBEAgA0GABWogA0GQBGopAwA3AwAgA0H4BGogA0GIBGopAwA3AwAgA0HwBGogA0GABGopAwA3AwAgAyADKQP4AzcD6AQgCEEIaiADQcgEaiADQegEahDfASAIQQA2AgAgCEESOgAoDAYLIAMoAvQDIQIgCEEBNgIAIAggAjYCBAwFCyADQdACaiABQRhqKQMANwMAIANByAJqIAFBEGopAwA3AwAgA0HAAmogAUEIaikDADcDACADQRI6ANgCIAMgASkDADcDuAIgA0GoA2ogAkEYaikDADcDACADQaADaiACQRBqKQMANwMAIANBmANqIAJBCGopAwA3AwAgAyACKQMANwOQAyADQfADaiADQbgCaiADQZADahDGASADKALwA0UEQCADQcAEaiADQZgEaikDADcDACADQbgEaiADQZAEaikDADcDACADQbAEaiADQYgEaikDADcDACADQagEaiADQYAEaikDADcDACADIAMpA/gDNwOgBCADQQM2AuwCIANBoPLAADYC6AIgA0ICNwL0AiADIANBoARqrUKAgICAoAeENwPwASADIANBwAFqrUKAgICAoAeENwPoASADIANB6AFqNgLwAiADQeQDaiICIANB6AJqEIsCIAJBuPLAABCGAiECIAhBATYCACAIIAI2AgQMBQsgAygC9AMhAiAIQQE2AgAgCCACNgIEDAQLIANBAzYC9AMgA0Gk8cAANgLwAyADQgI3AvwDIAMgA0GYAWqtQoCAgICgB4Q3A8ACIAMgA0HwAGqtQoCAgICgB4Q3A7gCIAMgA0G4Amo2AvgDIANBoARqIgIgA0HwA2oQzwEgA0HgAGogAkHwhcEAQbzxwAAQpwIgAygCZCEFIAMoAmAhCyADQfgDaiIOIANBqARqKAIANgIAQZHewQAtAAAaIAMgAykCoAQ3A/ADQRhBBBD4AiICBEAgAiALNgIEIAJB2IbBADYCACACIAMpA/ADNwIMIAIgBTYCCCACQRRqIA4oAgA2AgAgCEEBNgIAIAggAjYCBAwECwwSCwwDCwwCCyADQYgEaiABQYABaiIFQRhqKQMANwMAIANBgARqIAVBEGopAwA3AwAgA0H4A2oiCyAFQQhqKQMANwMAIANBAzYCvAIgA0HM8MAANgK4AiADQgI3AsQCIANBEjoAkAQgAyACrUKAgICAoAeENwOoBCADIANB8ANqrUKAgICAoAeENwOgBCADIAUpAwA3A/ADIAMgA0GgBGo2AsACIANBkANqIgIgA0G4AmoQzwEgA0HoAGogAkHwhcEAQeTwwAAQpwIgAygCbCEFIAMoAmghDiALIANBmANqKAIANgIAQZHewQAtAAAaIAMgAykCkAM3A/AD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KQMANwMAIAMgAikDADcD2AIgA0GQAmoiAkIANwMAIANCgICQu7rWrfANNwOIAiADQQE2AoQDIANBxP3AADYCgAMgA0IBNwKMAyADIANBiAJqrUKAgICAsAeEIig3A+gDIAMgA0HoA2o2AogDIANB2ANqIAUQzwEgA0HIA2pCADcDACADQgA3A8ADIAIpAwAhGiADKQOIAiEcIAMoAtgDIgIEQCADKALcAyACEIwDCyADQRI6ANADIAMgHDcDsAMgAyAaNwO4AyADQZgDaiABQYAFaiICQRhqKQMANwMAIANBkANqIAJBEGopAwA3AwAgA0GIA2ogAkEIaikDADcDACADQRI6AKADIAMgAikDADcDgAMgA0GIAmogA0GAA2oiBSADQdgCaiADQbADahB2IAVBqMfAAEEEELcBIAMoAoADDQIgAykDkAMhHSABKQPIBiEcIAMpA6ADISUgASkD2AYhHyADKQOYAyIeIAEpA9AGIiB9IRoCQAJ+IAMpA4gDIikgASkDwAYiIloEQCAdIBx9ISEgHCAdVq0MAQsgHSAcQn+FfCEhIBwgHVatIBwgHVGtfAsiJlAEQCAeICBUrSEdDAELIBogJlStIB4gIFStfCEdIBogJn0hGgsgJSAffSEeAkAgHVAEQCAfICVYDQEMDAsgHyAlViAdIB5Wcg0LIB4gHX0hHgsgA0ESOgCgAyADIB43A5gDIAMgGjcDkAMgAyAhNwOIAyADICkgIn03A4ADIANBsAFqIANBiAJqIANBgANqIgUQciADKAKwAQ0DIANBqAFqIANB2AFqKQMANwMAIANBoAFqIANB0AFqKQMANwMAIANBmAFqIANByAFqKQMANwMAIANBkAFqIANBwAFqKQMANwMAIAMgAykDuAE3A4gBIANBmANqIAJBGGopAwA3AwAgA0GQA2ogAkEQaikDADcDACADQYgDaiACQQhqKQMANwMAIANBEjoAoAMgAyACKQMANwOAAyADQeAAaiADQeABaiADQYgBaiAFEHYgAykDaCEdIAMpA3ghJSAkIAMpA3AiHn0hGgJAAn4gAykDYCImICdYBEAgGyAdfSEhIBsgHVStDAELIBsgHUJ/hXwhISAbIB1UrSAbIB1RrXwLIhtQBEAgHiAkVq0hHQwBCyAaIBtUrSAeICRWrXwhHSAaIBt9IRoLICMgJX0hHgJAIB1QBEAgIyAlWg0BDAwLICMgJVQgHSAeVnINCyAeIB19IR4LIANBEjoAWCADIB43A1AgAyAaNwNIIAMgITcDQCADICcgJn03AzggA0GAA2pBqMfAAEEEELcBAkACQAJAAkACQCADKAKAA0UEQCADQdABaiADQagDaikDADcDACADQcgBaiADQaADaikDADcDACADQcABaiADQZgDaikDADcDACADQbgBaiADQZADaikDADcDACADIAMpA4gDNwOwASADQThqIANBsAFqEJoCQf8BcQ4CAQMCCyADIAMoAoQDNgKwA0HMxMAAQSsgA0GwA2pBvMTAAEHQ+MAAEJUCAAsgAy0AWCADLQDQAU8NAQsgA0GAAmogA0HYAGopAwA3AwAgA0H4AWogA0HQAGopAwA3AwAgA0HwAWogA0HIAGopAwA3AwAgA0HoAWogA0FAaykDADcDACADIAMpAzg3A+ABIANBgANqIgJBqMfAAEEEELcBIAMoAoADDQEgA0HQAmogA0GgA2opAwA3AwAgA0HIAmogA0GYA2opAwA3AwAgA0HAAmogA0GQA2opAwA3AwAgAyADKQOIAzcDuAIgAyADKACpAzYCsAIgAyADQawDaigAADYAswIgAy0AqAMhBSACQajHwABBBBC3ASADKAKAA0UNAiADIAMoAoQDNgKwA0HMxMAAQSsgA0GwA2pBvMTAAEGw+MAAEJUCAAsgA0GoAmogA0HYAGopAwA3AwAgA0GgAmogA0HQAGopAwA3AwAgA0GYAmogA0HIAGopAwA3AwAgA0GQAmogA0FAaykDADcDACADIAMpAzg3A4gCIANBgANqIgJBqMfAAEEEELcBIAMoAoADDQYgA0HQA2ogA0GoA2opAwA3AwAgA0HIA2ogA0GgA2opAwA3AwAgA0HAA2ogA0GYA2opAwA3AwAgA0G4A2ogA0GQA2opAwA3AwAgAyADKQOIAzcDsAMgAkGox8AAQQQQtwEgAygCgAMNByADKQOQAyEaIAMpA6ADIR4gAykDmAMiISAgfSEbAkACfiAiIAMpA4gDIiNYBEAgGiAcfSEdIBogHFStDAELIBogHEJ/hXwhHSAaIBxUrSAaIBxRrXwLIhxQBEAgICAhVq0hGgwBCyAbIBxUrSAgICFWrXwhGiAbIBx9IRsLIB4gH30hHAJAIBpQBEAgHiAfWg0BDA4LIB4gH1QgGiAcVnINDSAcIBp9IRwLIANBEjoAoAMgAyAcNwOYAyADIBs3A5ADIAMgHTcDiAMgAyAjICJ9NwOAAyADQdgCaiICIANBsANqIANBgANqEMIBIANBsAFqIANBiAJqIAIQciADKAKwAQ0IDAkLIAMgAygChAM2ArADQczEwABBKyADQbADakG8xMAAQcD4wAAQlQIACyADKQOQAyEaIAMpA6ADIR4gAykDmAMiISAgfSEbAkACfiAiIAMpA4gDIiNYBEAgGiAcfSEdIBogHFStDAELIBogHEJ/hXwhHSAaIBxUrSAaIBxRrXwLIhxQBEAgICAhVq0hGgwBCyAbIBxUrSAgICFWrXwhGiAbIBx9IRsLIB4gH30hHAJAIBpQBEAgHiAfWg0BDAwLIB4gH1QgGiAcVnINCyAcIBp9IRwLIANBEjoA+AIgAyAcNwPwAiADIBs3A+gCIAMgHTcD4AIgAyAjICJ9NwPYAkIBIRtCACEcAkACQAJAIAUOAgIBAAtCCiEbIAUhAkIBIR5CACEaA0AgA0EYaiAbQgEgAkEBcSIJGyAcQgAgCRsgHiAaEJQCIANBKGogGyAcIBsgHBCUAiACQQNLIANBMGopAwAhHCADQSBqKQMAIRogAykDKCEbIAMpAxghHiACQQF2IQINAAsgA0EIaiAeIBogGyAcEJQCIANBEGopAwAhHCADKQMIIRsMAQtCCiEbCyADQZACaiICIBw3AwAgAyAbNwOIAiADQQE2AoQDIANBxP3AADYCgAMgA0IBNwKMAyADICg3A9gDIAMgA0HYA2o2AogDIANB4ABqIANBgANqEM8BIANByANqQgA3AwAgA0IANwPAAyACKQMAIRogAykDiAIhGyADKAJgIgIEQCADKAJkIAIQjAMLIANBEjoA0AMgAyAbNwOwAyADIBo3A7gDIANBmANqIANB0AJqKQMANwMAIANBkANqIANByAJqKQMANwMAIANBiANqIANBwAJqKQMANwMAIANBpANqIAMoALMCNgAAIAMgAykDuAI3A4ADIAMgBToAoAMgAyADKAKwAjYAoQMgA0GIAmoiAiADQYADaiADQbADaiADQdgCahB2IANBsAFqIANB4AFqIAIQciADKAKwAUUNByADKAK0ASECIAhBATYCACAIIAI2AgQMCAsgAygChAMhAiAIQQE2AgAgCCACNgIEDAcLIAMoAoQDIQIgCEEBNgIAIAggAjYCBAwGCyADIAMoAoQDNgKwA0HMxMAAQSsgA0GwA2pBvMTAAEHg+MAAEJUCAAsgAygCtAEhAiAIQQE2AgAgCCACNgIEDAQLIAMgAygChAM2ArADQczEwABBKyADQbADakG8xMAAQcz3wAAQlQIACyADIAMoAoQDNgLYAkHMxMAAQSsgA0HYAmpBvMTAAEG898AAEJUCAAsgAygCtAEhAiAIQQE2AgAgCCACNgIEDAELIANB2ABqIANB2AFqKQMANwMAIANB0ABqIANB0AFqKQMANwMAIANByABqIANByAFqKQMANwMAIANBQGsgA0HAAWopAwA3AwAgAyADKQO4ATcDOCADQZgDaiICIAFBmAFqKQMANwMAIANBkANqIgkgAUGQAWopAwA3AwAgA0GIA2oiBSABQYgBaikDADcDACADQRI6AKADIAMgASkDgAE3A4ADIAgCfwJAAkACQCADQThqIANBgANqEJoCQf8BcQ4CAAIBCyADLQBYQRFLDQELIAIgAUGAAWoiAkEYaikDADcDACAJIAJBEGopAwA3AwAgBSACQQhqKQMANwMAIANBAzYCtAEgA0GI+MAANgKwASADQgI3ArwBIANBEjoAoAMgAyADQYADaq1CgICAgKAHhDcDuAMgAyADQThqrUKAgICAoAeENwOwAyADIAIpAwA3A4ADIAMgA0GwA2o2ArgBIANB2AJqIgIgA0GwAWoQzwEgAyACQfCFwQBBoPjAABCnAiADKAIEIQkgAygCACENIAUgA0HgAmooAgA2AgBBkd7BAC0AABogAyADKQLYAjcDgANBGEEEEPgCIgJFDQ4gAiANNgIEIAJB2IbBADYCACACIAMpA4ADNwIMIAIgCTYCCCACQRRqIANBiANqKAIANgIAIAggAjYCBEEBDAELIAEpA4gBIRogAykDQCEcIAEpA5gBIR4gAykDUCEfIAMpA0giICABKQOQASIifSEbAkACfiADKQM4IiEgASkDgAEiI1oEQCAcIBp9IR0gGiAcVq0MAQsgHCAaQn+FfCEdIBogHFatIBogHFGtfAsiHFAEQCAgICJUrSEaDAELIBsgHFStICAgIlStfCEaIBsgHH0hGwsgHyAefSEcAkAgGlAEQCAeIB9YDQEMBQsgGiAcViAeIB9Wcg0EIBwgGn0hHAsgCEESOgAoIAggHDcDICAIIBs3AxggCCAdNwMQIAggISAjfTcDCEEACzYCAAsgA0HwA2okAAwCCyADQQA2ApADIANBATYChAMgA0GUh8EANgKAAyADQgQ3AogDIANBgANqQaiFwQAQswIACyADQQA2ApADIANBATYChAMgA0GwxMAANgKAAyADQgQ3AogDIANBgANqQYDEwAAQswIACyAEKAKgAiICDQYgBEHwAWogCykDADcDACAEQegBaiAPKQMANwMAIARB4AFqIBApAwA3AwAgBEH8AWogDigAADYAACAEIAQpA6gCNwPYASAEIAQoAMkCNgD5ASAEIAQtAMgCIgU6APgBIAIEQCAIQQRyEO0CCwJAAkACQCAEQdgBaiAEQYgBahCaAiICQX9BACAFIApJGyACQf8BcRtB/wFxQQJPBEAgAUGgBWohBSABKQM4IhpCAFMNAyABKQMgIRsgASkDKCEcIAEpAzAhHSAEIBo3A6AEIAQgHTcDmAQgBCAcNwOQBCAEIBs3A4gEIARBuAJqIgNCADcDACAEQbACaiIIQgA3AwAgBEGoAmpCADcDACAEQgA3A6ACIARBiARqIgogBEGgAmoiCRCaAkH/AXFBAk8NAyAEQaAEaiABQRhqKQMANwMAIARBmARqIAFBEGopAwA3AwAgBEGQBGogAUEIaikDADcDACAEQRI6AKgEIAQgASkDADcDiAQgBEHIBGogAUEgaiICQRhqKQMANwMAIARBwARqIAJBEGopAwA3AwAgBEG4BGogAkEIaikDADcDACAEIAIpAwA3A7AEIAkgCiAEQbAEahDGASAEKAKgAg0BIARB4ANqIARBwAJqKQMANwMAIARB2ANqIAMpAwA3AwAgBEHQA2ogCCkDADcDACAEIAQpA6gCNwPIAyAEQfgCaiICIARByANqIAUQ3wEgBEESOgCYAyAEQdACaiACENcBIAQoAtACRQ0CIAQoAtQCIQIgB0EBNgIAIAcgAjYCBAwLCyAEQawEaiAEKAADNgAAIARBoARqIgIgBEEgaikDADcDACAEQZgEaiIFIARBGGopAwA3AwAgBEGQBGoiAyAEQRBqKQMANwMAIAQgBCkDCDcDiAQgBCAKOgCoBCAEIAQoAgA2AKkEIARBoAJqIAEgBEGIBGoiCBBnIAQoAqACRQRAIAgg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IANBATYCFCADQfi4wAA2AhAgA0IBNwIcIAMgBK1CgICAgNAAhDcDKCADIANBKGo2AhggA0E0aiIEIANBEGoQzwEgA0EIaiAEQbC+wABBgLnAABCnAiADKAIMIRAgAygCCCERIANBGGoiEiADQTxqKAIANgIAQZHewQAtAAAaIAMgAykCNDcDEEEYQQQQ+AIiBEUNASAEIBE2AgQgBEGYv8AANgIAIAQgAykDEDcCDCAEIBA2AgggBEEUaiASKAIANgIAIAcgBDYCBAsgByAJNgIAIANBQGskAAwBC0EEQRgQqQMACyACKAKgAQ0CIAItAKgBIQQgAigCiAEiAyACKAKAAUYEQCACQYABahD1AQsgAigChAEgA0ECdGogBDYCACACIANBAWo2AogBIAJB0AFqIAJB4ABqIgMgAkEgahBzIA0gCikDADcDACAOIAspAwA3AwAgDyAMKQMANwMAIAIgAikD0AE3A2AgBkEBaiEGIAMgAhCaAkH/AXFBAUYNAAsLIAYgCE8NAiACKAKIASIEIAQgCCAGayIHaiIDTw0EIAIoAoABIARrIAdJDQEMAwsgAiACKAKkATYC0AFBnJfAAEErIAJB0AFqQYyXwABByJfAABCVAgALIAJBgAFqIAQgBxD0ASACKAKIASEEDAELIAYgCEcNAyACKAKIASEDDAILIAIoAoQBIARBAnRqIQMgB0ECTwRAIAZBf3MgCGoiBkEHcSEFIAdBAmtBB08EQCAGQXhxIQYDQCADQrCAgICABjcCGCADQrCAgICABjcCECADQrCAgICABjcCCCADQrCAgICABjcCACADQSBqIQMgBkEIayIGDQALCyAFBEADQCADQTA2AgAgA0EEaiEDIAVBAWsiBQ0ACwsgBCAHakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2AogBCyACKAKAASEFIAgEQCADIAVGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqIgM2AogBIAIoAoABIQULIAMgBUYEQCACQYABahD1AQsgAigChAEgA0ECdGpBMDYCACACIANBAWo2AogBCyACQbgBaiAAQRhqKQMANwMAIAJBsAFqIABBEGopAwA3AwAgAkGoAWogAEEIaikDADcDACACIAApAwA3A6ABIAJB6AFqQgA3AwAgAkHgAWpCADcD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GmokAAu1GQIRfwl+IwBBkAJrIgIkACAALQAgIQggAkEAEJ4CIAJBIGpBChCeAiACQUBrQTAQngIgAkHoAWoiDCAAQRhqKQMANwMAIAJB4AFqIhAgAEEQaikDADcDACACQdgBaiIRIABBCGopAwA3AwAgAiAAKQMANwPQASACQeAAaiEEIwBBoAFrIgMkACADQZgBaiIGQgA3AwAgA0GQAWoiCUIANwMAIANBiAFqIg1CADcDACADQgA3A4ABAkACQAJAAkACQAJAAkAgAkHQAWoiBSADQYABahCaAkH/AXFB/wFGBEAgBUGgpsEAQSAQrQJFDQELIANB2ABqIAVBGGoiCikDADcDACADQdAAaiAFQRBqIgspAwA3AwAgA0HIAGogBUEIaiIOKQMANwMAIAMgBSkDADcDQCADQfgAaiIPIAopAwA3AwAgA0HwAGoiCiALKQMANwMAIANB6ABqIgsgDikDADcDACADIAUpAwA3A2AgBkIANwMAIAlCADcDACANQgA3AwAgA0IANwOAASADQUBrIANBgAFqEJoCQf8BcUH/AUYNASADQThqIA8pAwA3AwAgA0EwaiAKKQMANwMAIANBKGogCykDADcDACADIAMpA2A3AyAMAgsgBSkDECIXIAUpAwBCAXwiEyAFKQMIIhRCAXwiFoQiGVAiBq18IhogFyAGGyEVIBYgFCATUBshFCAFKQMYIRYgGVAgFyAaVnFFBEAgAyAWNwOYASADIBU3A5ABIAMgFDcDiAEgAyATNwOAAQwDCyADIBU3A5ABIAMgFDcDiAEgAyATNwOAASADIBZCAXwiEzcDmAEgE0IAUg0CDAQLIANBIGogA0HgAGoQygELIAQgAykDIDcDACAEQRhqIANBOGopAwA3AwAgBEEQaiADQTBqKQMANwMAIARBCGogA0EoaikDADcDAAwBCyADIANBgAFqIgUQygEgAykDECEVIAMpAxghFCADKQMAIRYgAykDCCETIAVBARCeAiATIBMgAykDiAF8IhdWIQUgFSADKQOQASAVfCITViEGIBQgAykDmAEgFHwiFVYhCQJAIBYgFiADKQOAAXwiFFgEfiAFrQUgF0IBfCIXUK0gBa18CyIWUAR+IAatBSATIBMgFnwiE1atIAatfAsiFlAEQCAEIBU3AxggBCATNwMQIAQgFzcDCCAEIBQ3AwAgCUUNAgwBCyAEIBM3AxAgBCAXNwMIIAQgFDcDACAEIBUgFnwiEzcDGCAJDQAgEyAVWg0BCwwBCyADQaABaiQADAELIANBADYCcCADQQE2AmQgA0GYpsEANgJgIANCBDcCaCADQeAAakG4pcEAELMCAAsgAkEANgKIASACQoCAgIDAADcCgAECQAJAAkACQAJAAkACQAJAIAQgAhCaAkH/AXFBAUYEQCACQfABaiEFIAIpA1ghFiACKQNQIRkgAikDSCEaIAIpA0AhGwNAIAhFIAcgCEdyRQRAIAIoAogBIgMgAigCgAFGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqNgKIAQsgAkG4AWogAkH4AGoiDSkDADcDACACQbABaiACQfAAaiIKKQMANwMAIAJBqAFqIAJB6ABqIgspAwA3AwAgAiACKQNgNwOgASACQdABaiACQaABaiACQSBqEHMgBUEIaikDACITIBp8IhcgE1QhAyAFQRBqKQMAIhUgGXwiEyAVVCEEIAVBGGopAwAiFCAWfCIVIBRUIQYCQCAFKQMAIhggG3wiFCAYWgR+IAOtBSAXQgF8IhdQrSADrXwLIhhQBH4gBK0FIBMgEyAYfCITVq0gBK18CyIYUARAIAIgFTcD6AEgAiATNwPgASACIBc3A9gBIAIgFDcD0AEgBkUNAQwLCyACIBM3A+ABIAIgFzcD2AEgAiAUNwPQASACIBUgGHwiEzcD6AEgBiATIBVUcg0KCyACQaABaiEGQQAhCSMAQUBqIgMkAAJAAkACQCACQdABaiIEKQMQIAQpAxiEUARAIAYgBCkDCDcDECAGIAQpAwA3AwgMAQtBASEJIANBATYCFCADQZyowQA2AhAgA0IBNwIcIAMgBK1CgICAgNAAhDcDKCADIANBKGo2AhggA0E0aiIEIANBEGoQzwEgA0EIaiAEQcyjwQBBpKjBABCnAiADKAIMIQ4gAygCCCEPIANBGGoiEiADQTxqKAIANgIAQZHewQAtAAAaIAMgAykCNDcDEEEYQQQQ+AIiBEUNASAEIA82AgQgBEG0pMEANgIAIAQgAykDEDcCDCAEIA42AgggBEEUaiASKAIANgIAIAYgBDYCBAsgBiAJNgIAIANBQGskAAwBC0EEQRgQqQMACyACKAKgAQ0CIAItAKgBIQQgAigCiAEiAyACKAKAAUYEQCACQYABahD1AQsgAigChAEgA0ECdGogBDYCACACIANBAWo2AogBIAJB0AFqIAJB4ABqIgMgAkEgahBzIA0gDCkDADcDACAKIBApAwA3AwAgCyARKQMANwMAIAIgAikD0AE3A2AgB0EBaiEHIAMgAhCaAkH/AXFBAUYNAAsLIAcgCE8NAiACKAKIASIEIAQgCCAHayIGaiIDTw0EIAIoAoABIARrIAZJDQEMAwsgAiACKAKkATYC0AFBqKLBAEErIAJB0AFqQZiiwQBB1KLBABCVAgALIAJBgAFqIAQgBhD0ASACKAKIASEEDAELIAcgCEcNAyACKAKIASEDDAILIAIoAoQBIARBAnRqIQMgBkECTwRAIAdBf3MgCGoiB0EHcSEFIAZBAmtBB08EQCAHQXhxIQcDQCADQrCAgICABjcCGCADQrCAgICABjcCECADQrCAgICABjcCCCADQrCAgICABjcCACADQSBqIQMgB0EIayIHDQALCyAFBEADQCADQTA2AgAgA0EEaiEDIAVBAWsiBQ0ACwsgBCAGakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2AogBCyACKAKAASEFIAgEQCADIAVGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqIgM2AogBIAIoAoABIQULIAMgBUYEQCACQYABahD1AQsgAigChAEgA0ECdGpBMDYCACACIANBAWo2AogBCyACQbgBaiAAQRhqKQMANwMAIAJBsAFqIABBEGopAwA3AwAgAkGoAWogAEEIaikDADcDACACIAApAwA3A6ABIAJB6AFqQgA3AwAgAkHgAWpCADcDACACQdgBakIANwMAIAJCADcD0AEgAiACQaABaiIGIAJB0AFqIgkQmgJB/wFxQf8BRzoAjwEgAigChAEhACACKAKIASEDIAJBzAFqIgxBADYCACACQoCAgIAQNwLEASMAQRBrIgQkACAAIANBAnRqIgcgAGtBAnYiBSACQcQBaiIDKAIAIAMoAggiCGtLBEAgAyAIIAUQ9wELIAAgB0cEQANAAkACfwJAIAdBBGsiBygCACIFQYABTwRAIARBADYCDCAFQYAQSQ0BIAVBgIAESQRAIAQgBUE/cUGAAXI6AA4gBCAFQQx2QeABcjoADCAEIAVBBnZBP3FBgAFyOgANQQMMAwsgBCAFQT9xQYABcjoADyAEIAVBEnZB8AFyOgAMIAQgBUEGdkE/cUGAAXI6AA4gBCAFQQx2QT9xQYABcjoADUEEDAILIAMoAggiCCADKAIARgRAIAMQ+AELIAMoAgQgCGogBToAACADIAhBAWo2AggMAgsgBCAFQT9xQYABcjoADSAEIAVBBnZBwAFyOgAMQQILIQUgBSADKAIAIAMoAggiCGtLBH8gAyAIIAUQ9wEgAygCCAUgCAsgAygCBGogBEEMaiAFENkBGiADIAMoAgggBWo2AggLIAAgB0cNAAsLIARBEGokACACQZgBaiAMKAIANgIAIAIgAikCxAE3A5ABIAIgAkGQAWqtQoCAgICQDoQ3A6gBIAIgAkGPAWqtQoCAgIDwAIQ3A6ABIAJBAjYC1AEgAkHkosEANgLQASACQgI3AtwBIAIgBjYC2AEgAyAJEM8BIAIoApABIgAEQCACKAKUASAAEIwDCyACKAKAASIABEAgAigChAEgAEECdBCMAwsgAkECNgLUASACQYCjwQA2AtABIAJCATcC3AEgAiACQcQBaq1CgICAgJAOhDcDoAEgAiACQaABajYC2AEgASgCFCABKAIYIAJB0AFqELgBIAIoAsQBIgEEQCACKALIASABEIwDCyACQZACaiQADwsgAkEANgKwASACQQE2AqQBIAJBmKbBADYCoAEgAkIENwKoASACQaABakG4pcEAELMCAAviQgIWfxF+IwBB4BprIgMkACADQYgQaiIJIAEQAiABEAMQvgECQAJAAkACQAJAAkACQCADKAKIEEUEQCADQSBqIgQgA0GUCGogA0GQEGpB8AcQ2QFB8AcQ2QEaIAMgARApIgI2AvwYIANBkBpqIgggA0H8GGpBwLDAABCxASADKAKQGg0BIANB9BhqIANBsBpqIgopAwAiGDcCACADQewYaiADQagaaiIFKQMAIhk3AgAgA0HkGGogA0GgGmoiBikDACIaNwIAIANBiBlqIBo3AwAgA0GQGWogGTcDACADQZgZaiAYNwMAIAMgAykDmBoiGDcC3BggAyAYNwOAGSADIAEQKiICNgLEGSAIIANBxBlqQdCwwAAQsQEgAygCkBoNAiADQbwZaiAKKQMAIhg3AgAgA0G0GWogBSkDACIZNwIAIANBrBlqIAYpAwAiGjcCACAD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Ig8QdSAPQcyBwABBBBC2AQJAAkACQAJAAkAgAigC6AVFBEAgAkHgBGogAkGQBmopAwA3AwAgBiACQYgGaikDADcDACAHIAwpAwA3AwAgCyAOKQMANwMAIAIgAikD8AU3A8AEIAUgDRCaAkH/AXEOAgEDAgsgAiACKALsBTYCmAZBuILAAEErIAJBmAZqQaiCwABBmIfAABCVAgALIAItAOgDIAItAOAETw0BCyACQZAFaiACQegDaikDADcDACACQYgFaiACQeADaikDADcDACACQYAFaiACQdgDaikDADcDACACQfgEaiACQdADaikDADcDACACIAIpA8gDNwPwBCACQegFaiIFQcyBwABBBBC2ASACKALoBQ0BIAJBuAZqIAJBkAZqKQMANwMAIAJBsAZqIAJBiAZqKQMANwMAIAJBqAZqIAJBgAZqKQMANwMAIAJBoAZqIAJB+AVqKQMANwMAIAIgAikD8AU3A5gGIAVBzIHAAEEEELYBIAIoAugFRQ0CIAIgAigC7AU2ApgFQbiCwABBKyACQZgFakGogsAAQfiGwAAQlQIACyACQZAEaiACQegDaikDADcDACACQYgEaiACQeADaikDADcDACACQYAEaiACQdgDaikDADcDACACQfgDaiACQdADaikDADcDACACIAIpA8gDNwPwAyACQegFaiIFQcyBwABBBBC2ASACKALoBQ0FIAJBuARqIAJBkAZqKQMANwMAIAJBsARqIAJBiAZqKQMANwMAIAJBqARqIAJBgAZqKQMANwMAIAJBoARqIAJB+AVqKQMANwMAIAIgAikD8AU3A5gEIAVBzIHAAEEEELYBIAIoAugFDQYgAikD+AUhGCACKQOIBiEcIAIpA4AGIh0gIH0hGQJAAn4gISACKQPwBSIfWARAIBggG30hGiAYIBtUrQwBCyAYIBtCf4V8IRogGCAbVK0gGCAbUa18CyIYUARAIB0gIFStIRsMAQsgGCAZVq0gHSAgVK18IRsgGSAYfSEZCyAcIB59IRgCQCAbUARAIBwgHloNAQwTCyAYIBtUIBwgHlRyDRIgGCAbfSEYCyACQRI6ALgFIAIgGDcDsAUgAiAZNwOoBSACIBo3A6AFIAIgHyAhfTcDmAUgAkGYBmoiBSACQZgEahDTASACQYgGaiACQbgEaikDADcDACACQYAGaiACQbAEaikDADcDACACQfgFaiACQagEaikDADcDACACQfAFaiACQaAEaikDADcDACACIAIpA5gENwPoBSACQfAEaiIGIAJB6AVqIAUgAkGYBWoQdSACQcAEaiACQfADaiAGEHEgAigCwAQNBwwICyACIAIoAuwFNgKYBkG4gsAAQSsgAkGYBmpBqILAAEGIh8AAEJUCAAsgAikD+AUhGCACKQOIBiEcIAIpA4AGIh0gIH0hGQJAAn4gISACKQPwBSIfWARAIBggG30hGiAYIBtUrQwBCyAYIBtCf4V8IRogGCAbVK0gGCAbUa18CyIYUARAIB0gIFStIRsMAQsgGCAZVq0gHSAgVK18IRsgGSAYfSEZCyAcIB59IRgCQCAbUARAIBwgHloNAQwRCyAYIBtUIBwgHlRyDRAgGCAbfSEYCyACQRI6AIgGIAIgGDcDgAYgAiAZNwP4BSACIBo3A/AFIAIgHyAhfTcD6AUgAkGYBWoiBSACQZgGaiACQegFahDAASACQcAEaiACQfAEaiAFEHEgAigCwARFDQYgAigCxAQhBAwJCyACIAIoAuwFNgLABEG4gsAAQSsgAkHABGpBqILAAEHsjcAAEJUCAAsgAiACKALsBTYCwARBuILAAEErIAJBwARqQaiCwABBjI7AABCVAgALIAIgAigC7AU2ApgFQbiCwABBKyACQZgFakGogsAAQaiHwAAQlQIACyACIAIoAuwFNgKYBkG4gsAAQSsgAkGYBmpBqILAAEHUhsAAEJUCAAsgAiACKALsBTYCmAZBuILAAEErIAJBmAZqQaiCwABBxIbAABCVAgALIAIoAsQEIQQMAwsgAkHoA2oiECACQegEaikDADcDACACQeADaiINIAJB4ARqKQMANwMAIAJB2ANqIgwgAkHYBGoiESkDADcDACACQdADaiIHIAJB0ARqIhIpAwA3AwAgAiACKQPIBDcDyAMgAkHIBWoiBiAHKQMANwMAIAJB0AVqIgsgDCkDADcDACACQdgFaiIOIA0pAwA3AwAgAkHgBWoiDyAQKQMANwMAIAIgAikDyAM3A8AFIAJBsAZqIhMgBEGABWoiBUEYaikDADcDACACQagGaiIUIAVBEGopAwA3AwAgAkGgBmoiFSAFQQhqKQMANwMAIAJBEjoAuAYgAiAFKQMANwOYBiACQcAEaiIFIAJBwAVqENMBIAJBiAZqIhYgDykDADcDACACQYAGaiIPIA4pAwA3AwAgAkH4BWoiDiALKQMANwMAIAJB8AVqIAYpAwA3AwAgAiACKQPABTcD6AUgAkGYBWoiBiACQegFaiILIAUgAkGYBmoiFxB1IAcgAkGgBWoiBykDADcDACAMIAJBqAVqIgwpAwA3AwAgDSACQbAFaiINKQMANwMAIBAgAkG4BWopAwA3AwAgAiACKQOYBTcDyAMgESAEQRhqKQMANwMAIBIgBEEQaikDADcDACACQcgEaiAEQQhqKQMANwMAIAJBEjoA4AQgAiAEKQMANwPABCANIARBOGopAwA3AwAgDCAEQTBqKQMANwMAIAcgBEEoaikDADcDACACIAQpAyA3A5gFIAsgBSAGEMYBIAIoAugFDQAgEyAWKQMANwMAIBQgDykDADcDACAVIA4pAwA3AwAgAkG8BmogAkGUBmooAAA2AAAgAiACKQPwBTcDmAYgAiACKACRBjYAuQYgAiACLQCQBiIFOgC4BgJAAkACQAJAIBcgAkHIA2oQmgIiBkH/AXEEfyAGBSACLQDoAyIGIAVLDQEgBSAGRwtB/wFxQQFGDQELIAJB6AVqQeSGwABBARC2ASACKALoBQ0CIAJB8AJqIAJBkAZqKQMANwMAIAJB6AJqIAJBiAZqKQMANwMAIAJB4AJqIAJBgAZqKQMANwMAIAJB2AJqIAJB+AVqKQMANwMAIAIgAikD8AU3A9ACDAELIAJB2ARqIARBGGopAwA3AwAgAkHQBGogBEEQaikDADcDACACQcgEaiAEQQhqKQMANwMAIAJBEjoA4AQgAiAEKQMANwPABCACQbAGaiAEQSBqIgVBGGopAwA3AwAgAkGoBmogBUEQaikDADcDACACQaAGaiAFQQhqKQMANwMAIAIgBSkDADcDmAYgAkHoBWogAkHABGogAkGYBmoQxgEgAigC6AUNAiACQfgGaiACQYgGaikDADcDACACQfAGaiACQYAGaikDADcDACACQegGaiACQfgFaikDADcDACACQcgGaiACQdADaikDADcDACACQdAGaiACQdgDaikDADcDACACQdgGaiACQeADaikDADcDACACIAIpA/AFNwPgBiACIAIpA8gDNwPABiACQdACaiACQeAGaiACQcAGahDdAQsgAikD0AIhGyACKQPYAiEYIAIp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AkHoBWpBtLrAABCzAgALIANBkAhqIAlB8LDAABDRASADKAKQCA0EIANBzBhqIANBuAhqKQMAIhg3AgAgA0HEGGogA0GwCGopAwAiGTcCACADQbwYaiADQagIaikDACIaNwIAIANBtBhqIANBoAhqKQMAIhw3AgAgA0GIGGogHDcDACADQZAYaiAaNwMAIANBmBhqIBk3AwAgA0GgGGogGDcDACADIAMpA5gIIhg3AqwYIAMgGDcDgBggAygCvBoiBEGEAU8EQCAEEAALIAMoAsQZIgRBhAFPBEAgBBAACyADKAL8GCIEQYQBTwRAIAQQAAsgAyADQYAYakGAscAAELwBDAgLIANBgBpqIANBrBpqKAIAIgQ2AgAgA0H4GWogA0GkGmopAgAiGDcDACADQfAZaiADQZwaaikCACIZNwMAIANBCGogGTcDACADQRBqIBg3AwAgA0EYaiAENgIAIAMgAykClBoiGDcD6BkgAyAYNwMADAQLIANBqAhqIANBpBBqKAIAIgQ2AgAgA0EIaiADQZQQaikCADcDACADQRBqIANBnBBqKQIANwMAIANBGGogBDYCACADIAMpAowQNwMADAYLIANB8BhqIANBrBpqKAIAIgQ2AgAgA0HoGGogA0GkGmopAgAiGDcDACADQeAYaiADQZwaaikCACIZNwMAIANBCGogGTcDACADQRBqIBg3AwAgA0EYaiAENgIAIAMgAykClBoiGDcD2BggAyAYNwMADAQLIANBuBlqIANBrBpqKAIAIgQ2AgAgA0GwGWogA0GkGmopAgAiGDcDACADQagZaiADQZwaaikCACIZNwMAIANBCGogGTcDACADQRBqIBg3AwAgA0EYaiAENgIAIAMgAykClBoiGDcDoBkgAyAYNwMADAILIANBwBhqIANBrAhqKAIAIgQ2AgAgA0G4GGogA0GkCGopAgAiGDcDACADQbAYaiADQZwIaikCACIZNwMAIANBCGogGTcDACADQRBqIBg3AwAgA0EYaiAENgIAIAMgAykClAgiGDcDqBggAyAYNwMAIAMoArwaIQILIAJBhAFPBEAgAhAACyADKALEGSECCyACQYQBTwRAIAIQAAsgAygC/BghAgsgAkGEAUkNACACEAALIAFBgwFLBEAgARAACwJ/IAMoAgAiAUECRgRAQQAhAiADKAIEDAELIANBoBBqIANBGGooAgA2AgAgA0GYEGogA0EQaikDADcDACADQZAQaiADQQhqKQMANwMAIAMgAykDADcDiBAgA0GIEGoQ4QEhAkEACyEEIAAgAUECRzYCCCAAIAI2AgQgACAENgIAIANB4BpqJAAL4CICEH8OfiMAQeAaayIDJAAgA0GIEGoiBSABEAIgARADEL4BAkACQAJAAkACQAJAAkAgAygCiBBFBEAgA0EgaiIEIANBlAhqIANBkBBqQfAHENkBQfAHENkBGiADIAEQGyICNgLkGSAFIANB5BlqQeCjwAAQsQEgAygCiBANASADQdwZaiADQagQaiIGKQMAIhI3AgAgA0HUGWogA0GgEGoiBykDACIUNwIAIANBzBlqIANBmBBqIggpAwAiFjcCACADQaAZaiAWNwMAIANBqBlqIBQ3AwAgA0GwGWogEjcDACADIAMpA5AQIhI3AsQZIAMgEjcDmBkgA0ESOgC4GSADIAEQHCICNgK0GiAFIANBtBpqQfCjwAAQsQEgAygCiBANAiADQawaaiAGKQMAIhI3AgAgA0GkGmogBykDACIUNwIAIANBnBpqIAgpAwAiFjcCACADQfAZaiAWNwMAIANB+BlqIBQ3AwAgA0GAGmogEjcDACADIAMpA5AQIhI3ApQaIAMgEjcD6BkgA0ESOgCIGiADIAEQHSICNgLcGiAFIANB3BpqQYCkwAAQsQEgAygCiBBFBEAgA0HUGmogBikDACISNwIAIANBzBpqIAcpAwAiFDcCACADQcQaaiAIKQMAIhY3AgAgA0GYCGogFjcDACADQaAIaiAUNwMAIANBqAhqIBI3AwAgAyADKQOQECISNwK8GiADIBI3A5AIIANBEjoAsAggA0HwGGohBSADQZAIaiEHIwBB8AJrIgIkACACQfAAaiADQZgZaiIGQSBqIgspAwA3AwAgAkHoAGoiDCAGQRhqIggpAwA3AwAgAkHgAGoiDSAGQRBqIgkpAwA3AwAgAkHYAGoiDiAGQQhqIgopAwA3AwAgAiAGKQMANwNQIAJBgAFqIg8gBCACQdAAaiIQIANB6BlqIhEQagJAAkACQAJAAkACQAJAAkACQCACKAKAAUUEQCACKQOgASEZIAIpA5gBIRggAikDkAEhFSACKQOIASEdIAwgBEHYAWopAwA3AwAgDSAEQdABaikDADcDACAO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EgsgGSAWfSEUAkAgE1AEQCAWIBlYDQEMCwsgFiAZViATIBRWcg0KIBQgE30hFAsgAkESOgCgAiACIBQ3A5gCIAIgEjcDkAIgAiAVNwOIAiACIBogG303A4ACIAJB6ABqIARBGGopAwA3AwAgAkHgAGogBEEQaikDADcDACACQdgAaiAEQQhqKQMANwMAIAJBEjoAcCACIAQpAwA3A1AgAkGAAWoiBEGA54QPEJ4CIAJBEjoAoAEgAkHIAmoiByACQdAAaiIGIAQQwgEgAkGgAWogAkEgaikDADcDACACQZgBaiACQRhqKQMANwMAIAJBkAFqIAJBEGopAwA3AwAgAkGIAWogAkEIaikDADcDACACIAIpAwA3A4ABIAYgBCAHEMMBIAQgAkGAAmogBhDCASACQdgBaiAEENcBIAIoAtgBDQYgBSACKQPgATcDCCAFQSBqIAJB+AFqKQMANwMAIAVBGGogAkHwAWopAwA3AwAgBUEQaiACQegBaikDADcDAAwFCyACQcACaiACQfgBaikDADcDACACQbgCaiACQfABaikDADcDACACQbACaiACQegBaikDADcDACACIAIpA+ABNwOoAiACKQOoAiEWIAUCfiACQagCakH4wsAAQSAQrQIEQCACKQOwAiISQn+FQgAgEn0iFEIAIBZ9IhZCAFIiBBshEiACKQO4AkJ/hSITIBRQIARBf3NxIgStfCIXIBMgBBshFCAEIBMgF1ZxrSACKQPAAkJ/hXwMAQsgAikDuAIhFCACKQOwAiESIAIpA8ACCzcDICAFIBQ3AxggBSASNwMQIAUgFjcDCAwECyACKAKEASEEIAVBATYCACAFIAQ2AgQMBQsgAiACKAKEATYCyAJBzMTAAEErIAJByAJqQbzEwABBiO3AABCVAgALIAIoAlQhBCAFQQE2AgAgBSAENgIEDAMLIAIgAigChAE2AlBBzMTAAEErIAJB0ABqQbzEwABB+OzAABCVAgALIAVBADYCAAwBCyACKALcASEEIAVBATYCACAFIAQ2AgQLIAJB8AJqJAAMAgsgAkEANgKQASACQQE2AoQBIAJBlIfBADYCgAEgAkIENwKIASACQYABakGohcEAELMCAAsgAkEANgKQASACQQE2AoQBIAJBsMTAADYCgAEgAkIENwKIASACQYABakGAxMAAELMCAAsgA0HIGGogBUGQpMAAENYBIAMoAsgYDQQgA0G8GGogA0HoGGopAwAiEjcCACADQbQYaiADQeAYaikDACIUNwIAIANBrBhqIANB2BhqKQMAIhY3AgAgA0GIGGogFjcDACADQZAYaiAUNwMAIANBmBhqIBI3AwAgAyADKQPQGCISNwKkGCADIBI3A4AYIAMoAtwaIgRBhAFPBEAgBBAACyADKAK0GiIEQYQBTwRAIAQQAAsgAygC5BkiBEGEAU8EQCAEEAALIAMgA0GAGGpBoKTAABC9AQwICyADQdAaaiADQaQQaigCACIENgIAIANByBpqIANBnBBqKQIAIhI3AwAgA0HAGmogA0GUEGopAgAiFDcDACADQQhqIBQ3AwAgA0EQaiASNwMAIANBGGogBDYCACADIAMpAowQIhI3A7gaIAMgEjcDAAwECyADQagIaiADQaQQaigCACIENgIAIANBCGogA0GUEGopAgA3AwAgA0EQaiADQZwQaikCADcDACADQRhqIAQ2AgAgAyADKQKMEDcDAAwGCyADQdgZaiADQaQQaigCACIENgIAIANB0BlqIANBnBBqKQIAIhI3AwAgA0HIGWogA0GUEGopAgAiFDcDACADQQhqIBQ3AwAgA0EQaiASNwMAIANBGGogBDYCACADIAMpAowQIhI3A8AZIAMgEjcDAAwECyADQagaaiADQaQQaigCACIENgIAIANBoBpqIANBnBBqKQIAIhI3AwAgA0GYGmogA0GUEGopAgAiFDcDACADQQhqIBQ3AwAgA0EQaiASNwMAIANBGGogBDYCACADIAMpAowQIhI3A5AaIAMgEjcDAAwCCyADQbgYaiADQeQYaigCACIENgIAIANBsBhqIANB3BhqKQIAIhI3AwAgA0GoGGogA0HUGGopAgAiFDcDACADQQhqIBQ3AwAgA0EQaiASNwMAIANBGGogBDYCACADIAMpAswYIhI3A6AYIAMgEjcDACADKALcGiECCyACQYQBTwRAIAIQAAsgAygCtBohAgsgAkGEAU8EQCACEAALIAMoAuQZIQILIAJBhAFJDQAgAhAACyABQYMBSwRAIAEQAAsCfyADKAIAIgFBAkYEQEEAIQIgAygCBAwBCyADQaAQaiADQRhqKAIANgIAIANBmBBqIANBEGopAwA3AwAgA0GQEGogA0EIaikDADcDACADIAMpAwA3A4gQIANBiBBqEOEBIQJBAAshBCAAIAFBAkc2AgggACACNgIEIAAgBDYCACADQeAaaiQAC+YRAhF/CX4jAEGQAmsiAiQAIAEtACAhCCACQQAQngIgAkEgakEKEJ4CIAJBQGtBMBCeAiACQegBaiIKIAFBGGopAwA3AwAgAkHgAWoiCyABQRBqKQMANwMAIAJB2AFqIgwgAUEIaikDADcDACACIAEpAwA3A9ABIAJB4ABqIgMgAkHQAWoQngEgAkEANgKIASACQoCAgIDAADcCgAECQAJAAkACQAJAAkACQAJAIAMgAhCaAkH/AXFBAUYEQCACQfABaiEGIAIpA1ghGCACKQNQIRkgAikDSCEaIAIpA0AhGwNAIAhFIAUgCEdyRQRAIAIoAogBIgMgAigCgAFGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqNgKIAQsgAkG4AWogAkH4AGoiDSkDADcDACACQbABaiACQfAAaiIOKQMANwMAIAJBqAFqIAJB6ABqIg8pAwA3AwAgAiACKQNgNwOgASACQdABaiACQaABaiACQSBqEHMgBkEIaikDACITIBp8IhYgE1QhAyAGQRBqKQMAIhQgGXwiEyAUVCEEIAZBGGopAwAiFyAYfCIUIBdUIQcCQCAGKQMAIhUgG3wiFyAVWgR+IAOtBSAWQgF8IhZQrSADrXwLIhVQBH4gBK0FIBMgEyAVfCITVq0gBK18CyIVUARAIAIgFDcD6AEgAiATNwPgASACIBY3A9gBIAIgFzcD0AEgB0UNAQwLCyACIBM3A+ABIAIgFjcD2AEgAiAXNwPQASACIBQgFXwiEzcD6AEgByATIBRUcg0KCyACQaABaiEHQQAhCSMAQUBqIgMkAAJAAkACQCACQdABaiIEKQMQIAQpAxiEUARAIAcgBCkDCDcDECAHIAQpAwA3AwgMAQtBASEJIANBATYCFCADQeyDwQA2AhAgA0IBNwIcIAMgBK1CgICAgNAAhDcDKCADIANBKGo2AhggA0E0aiIEIANBEGoQzwEgA0EIaiAEQfCFwQBB9IPBABCnAiADKAIMIRAgAygCCCERIANBGGoiEiADQTxqKAIANgIAQZHewQAtAAAaIAMgAykCNDcDEEEYQQQQ+AIiBEUNASAEIBE2AgQgBEHYhsEANgIAIAQgAykDEDcCDCAEIBA2AgggBEEUaiASKAIANgIAIAcgBDYCBAsgByAJNgIAIANBQGskAAwBC0EEQRgQqQMACyACKAKgAQ0CIAItAKgBIQQgAigCiAEiAyACKAKAAUYEQCACQYABahD1AQsgAigChAEgA0ECdGogBDYCACACIANBAWo2AogBIAJB0AFqIAJB4ABqIgMgAkEgahBzIA0gCikDADcDACAOIAspAwA3AwAgDyAMKQMANwMAIAIgAikD0AE3A2AgBUEBaiEFIAMgAhCaAkH/AXFBAUYNAAsLIAUgCE8NAiACKAKIASIEIAQgCCAFayIHaiIDTw0EIAIoAoABIARrIAdJDQEMAwsgAiACKAKkATYC0AFBuPvAAEErIAJB0AFqQaj7wABB5PvAABCVAgALIAJBgAFqIAQgBxD0ASACKAKIASEEDAELIAUgCEcNAyACKAKIASEDDAILIAIoAoQBIARBAnRqIQMgB0ECTwRAIAVBf3MgCGoiBUEHcSEGIAdBAmtBB08EQCAFQXhxIQUDQCADQrCAgICABjcCGCADQrCAgICABjcCECADQrCAgICABjcCCCADQrCAgICABjcCACADQSBqIQMgBUEIayIFDQALCyAGBEADQCADQTA2AgAgA0EEaiEDIAZBAWsiBg0ACwsgBCAHakEBayEECyADQTA2AgAgBEEBaiEDCyACIAM2AogBCyACKAKAASEGIAgEQCADIAZGBEAgAkGAAWoQ9QELIAIoAoQBIANBAnRqQS42AgAgAiADQQFqIgM2AogBIAIoAoABIQYLIAMgBkYEQCACQYABahD1AQsgAigChAEgA0ECdGpBMDYCACACIANBAWo2AogBCyACQbgBaiABQRhqKQMANwMAIAJBsAFqIAFBEGopAwA3AwAgAkGoAWogAUEIaikDADcDACACIAEpAwA3A6ABIAJB6AFqQgA3AwAgAkHgAWpCADcDACACQdgBakIANwMAIAJCADcD0AEgAiACQaABaiIHIAJB0AFqIgkQmgJB/wFxQf8BRzoAjwEgAigChAEhASACKAKIASEDIAJBzAFqIgpBADYCACACQoCAgIAQNwLEASMAQRBrIgUkACABIANBAnRqIgggAWtBAnYiBCACQcQBaiIDKAIAIAMoAggiBmtLBEAgAyAGIAQQ9wELIAEgCEcEQANAAkACfwJA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D1RyDQILIANB8ABqIgEgA0GQAWogA0GwAWoQrAEgAEEIaiADQdAAaiABEJgBIABBADYCAAsgA0HQAWokAA8LIANBADYCgAEgA0EBNgJ0IANBmJDBADYCcCADQgQ3AnggA0HwAGpBpI/BABCzAgALIANBADYCwAEgA0EBNgK0ASADQZimwQA2ArABIANCBDcCuAEgA0GwAWpBuKXBABCzAgALywsCA38KfiMAQbACayIGJAAgBkH4AWogAkEgaikDADcDACAGQfABaiIHIAJBGGopAwA3AwAgBkHoAWogAkEQaikDADcDACAGQeABaiACQQhqKQMANwMAIAYgAikDADcD2AEgBkHgAGogBkHYAWogBSAEEHYgBkHIAWogAUHYAWopAwAiCTcDACAGQcABaiABQdABaikDACIKNwMAIAZBuAFqIAFByAFqKQMAIg03AwAgBkGQAWogDTcDACAGQZgBaiAKNwMAIAZBoAFqIAk3AwAgBkESOgCoASAGIAEpA8ABIgk3A7ABIAYgCTcDiAFCASEJQgAhCgJAAkACQCAGLQCAASIEDgICAQALQgohCUIBIQsDQCAGQRhqIAlCASAEQQFxIgUbIApCACAFGyALIAwQlAIgBkEoaiAJIAogCSAKEJQCIARBA0sgBkEwaikDACEKIAZBIGopAwAhDCAGKQMoIQkgBikDGCELIARBAXYhBA0ACyAGQQhqIAsgDCAJIAoQlAIgBkEQaikDACEKIAYpAwghCQwBC0IKIQkLIAZBkAJqIgQgCjcDACAGIAk3A4gCIAZBATYCPCAGQcT9wAA2AjggBkIBNwJEIAYgBkGIAmqtQoCAgICwB4Q3A6gCIAYgBkGoAmo2AkAgBkGcAmogBkE4ahDPASAHQgA3AwAgBkIANwPoASAEKQMAIQkgBikDiAIhCiAGKAKcAiIEBEAgBigCoAIgBBCMAwsgBkESOgD4ASAGIAo3A9gBIAYgCTcD4AEgBkE4aiAGQeAAaiAGQdgBaiIEIAZBiAFqIgUQdiAGQfABaiABQZgEaikDADcDACAGQegBaiABQZAEaikDADcDACAGQeABaiABQYgEaikDADcDACAGQRI6ANABIAZBEjoA+AEgBiABKQOABDcD2AEgBSACIAQgBkGwAWoQdiAGKQNAIgkgBikDkAF8IgsgCVQhASAGKQOYASEMIAYp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AkACQAJAAkACQAJAAkAgAygCqANFBEAgA0FAayADQcgDaikDADcDACADQThqIANBwANqIg4pAwA3AwAgA0EwaiADQbgDaiIKKQMANwMAIANBzABqIANB1ANqKAAANgAAIAMgAykDsAM3AyggAyADKADRAzYASSADIAMtANADIgY6AEggBSAIEHkgAygCeA0BIA4gA0GYAWopAwA3AwAgCiADQZABaikDADcDACADQbADaiIUIANBiAFqKQMANwMAIANBzANqIhUgA0GkAWooAAA2AAAgAyADKQOAATcDqAMgAyADKAChATYAyQMgAyADLQCgASIEOgDIAwJAAkAgCwJ/AkACQCADQShqIA0QmgIiAkF/IAQgBkcgBCAGSxsgAkH/AXEbQf8BcUEBRwRAIwBBwAtrIgIkACACQegIaiIGIAgQgwECQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKALoCEUEQCACQZgDaiACQZAJaikDACI9NwMAIAJBkANqIAJBiAlqKQMANwMAIAJBiANqIAJBgAlqIgQpAwA3AwAgAkGAA2ogAkH4CGoiCSkDADcDACACIAIpA/AINwP4AiACQbgJaiAIQcgBaikDADcDACACQcAJaiAIQdABaikDADcDACACQcgJaiAIQdgBaikDADcDACACIAgpA8ABNwOwCSACQegJaiAIQZgFaikDACIvNwMAIAJB4AlqIAhBkAVqKQMAIi43AwAgAkHYCWogCEGIBWopAwAiMDcDACACQZgKaiAwNwMAIAJBoApqIC43AwAgAkGoCmogLzcDACACQRI6ALAKIAIgCCkDgAUiLzcD0AkgAiAvNwOQCiACQbAHaiIMQgA3AwAgAkKAgJC7utat8A03A6gHIAJBATYC7AggAkHE/cAANgLoCCACQgE3AvQIIAIgAkGoB2qtQoCAgICwB4QiPjcDqAYgAiACQagGajYC8AggAkGAB2ogBhDPASACQegGakIANwMAIAJCADcD4AYgDCkDACEvIAIpA6gHIS4gAigCgAciBgRAIAIoAoQHIAYQjAMLIAJBEjoA8AYgAiAuNwPQBiACIC83A9gGIAQgCEHAAWoiBkEYaikDADcDACAJIAZBEGopAwA3AwAgAkHwCGogBkEIaikDADcDACACQRI6AIgJIAIgBikDADcD6AggAkGwBWogAkHoCGoiBiACQdAGaiACQZAKahB2IAZBqMfAAEEEELcBIAIoAugIDQEgAikDiAkhNSACKQOACSE4IAIpA/gIITkgAikD8AghOyACQfgJaiAIQegDaikDACIvNwMAIAJBgApqIAhB8ANqKQMAIi43AwAgAkGICmogCEH4A2opAwAiMDcDACACQfgDaiAvNwMAIAJBgARqIC43AwAgAkGIBGogMDcDACACIAgpA+ADIi83A/AJIAIgLzcD8AMgBkGox8AAQQQQtwEgAigC6AgNAiACQbAEaiACQYgJaiIJKQMANwMAIAJBqARqIAJBgAlqKQMANwMAIAJBoARqIAJB+AhqKQMANwMAIAIgAikD8Ag3A5gEIAIgAigAkQk2ApAEIAIgAkGUCWooAAA2AJMEIAItAJAJIQQgBiAIEJkBIAIoAugIDQMgAkHYBGogAkGQCWopAwA3AwAgAkHQBGogCSkDADcDACACQcgEaiACQYAJaikDADcDACACQcAEaiACQfgIaikDADcDACACIAIpA/AINwO4BEIBIS9CACEuAkACQAJAIAQOAgIBAAtCCiEvIAQhBkIBITADQCACQYACaiAvQgEgBkEBcSIJGyAuQgAgCRsgMCAxEJQCIAJBkAJqIC8gLiAvIC4QlAIgBkEDSyACQZgCaikDACEuIAJBiAJqKQMAITEgAikDkAIhLyACKQOAAiEwIAZBAXYhBg0ACyACQfABaiAwIDEgLyAuEJQCIAJB+AFqKQMAIS4gAikD8AEhLwwBC0IKIS8LIAJBoAtqIgYgLjcDACACIC83A5gLIAJBATYC7AggAkHE/cAANgLoCCACQgE3AvQIIAIgAkGYC2qtQoCAgICwB4Q3A7gLIAIgAkG4C2o2AvAIIAJBqAtqIAJB6AhqEM8BIAJBqApqQgA3AwAgAkIANwOgCiAGKQMAIS8gAikDmAshLiACKAKoCyIGBEAgAigCrAsgBhCMAwsgAkESOgCwCiACIC43A5AKIAIgLzcDmAogAkGACWogAkGwBGopAwA3AwAgAkH4CGogAkGoBGopAwA3AwAgAkHwCGogAkGgBGopAwA3AwAgAkGMCWogAigAkwQ2AAAgAiACKQOYBDcD6AggAiAEOgCICSACIAIoApAENgCJCSACQagHaiACQegIaiIG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LjcDACACIC83A6gHIAJBATYC7AggAkHE/cAANgLoCCACQgE3AvQIIAIgPjcDqAYgAiACQagGajYC8AggAkGAB2ogAkHoCGoQzwEgAkHoBmpCADcDACACQgA3A+AGIAYpAwAhLyACKQOoByEuIAIoAoAHIgYEQCACKAKEByAGEIwDCyACQRI6APAGIAIgLjcD0AYgAiAvNwPYBiACQYAJaiACQYAFaikDADcDACACQfgIaiACQfgEaikDADcDACACQfAIaiACQfAEaikDADcDACACQYwJaiACKADjBDYAACACIAIpA+gENwPoCCACIAQ6AIgJIAIgAigC4AQ2AIkJIAJBqAdqIgYgAkHoCGogAkHQBmogAkGQCmoQfCACQaACaiACQdACaiAGEHIgAigCoAINCyACQagFaiACQcgCaikDACIwNwMAIAJBoAVqIAJBwAJqKQMANwMAIAJBmAVqIAJBuAJqIgYpAwA3AwAgAkGQBWogAkGwAmoiBCkDADcDACACIAIpA6gCNwOIBSAGIAJB6AlqKQMANwMAIAQgAkHgCWopAwA3AwAgAkGoAmogAkHYCWopAwA3AwAgAiACKQPQCTcDoAIgAkESOgDAAkIBIS9CACEuAkACQAJAIDCnQf8BcSIGDgICAQALQgohL0IBITBCACExA0AgAkFAayAvQgEgBkEBcSIEGyAuQgAgBBsgMCAxEJQCIAJB0ABqIC8gLiAvIC4QlAIgBkEDSyACQdgAaikDACEuIAJByABqKQMAITEgAikDUCEvIAIpA0AhMCAGQQF2IQYNAAsgAkEwaiAwIDEgLyAuEJQCIAJBOGopAwAhLiACKQMwIS8MAQtCCiEvCyACQZgKaiIGIC43AwAgAiAvNwOQCiACQQE2AuwIIAJBxP3AADYC6AggAkIBNwL0CCACIDU3A4AHIAIgAkGAB2o2AvAIIAJBqAdqIAJB6AhqEM8BIAJB6AZqQgA3AwAgAkIANwPgBiAGKQMAIS8gAikDkAohLiACKAKoByIGBEAgAigCrAcgBhCMAwsgAkESOgDwBiACIC43A9AGIAIgLzcD2AYgAkGICWoiBCACQagFaikDADcDACACQYAJaiIJIAJBoAVqKQMANwMAIAJB+AhqIgwgAkGYBWopAwA3AwAgAkHwCGogAkGQBWopAwA3AwAgAiACKQOIBTcD6Agg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QbzEwABB+MrAABCVAgALIAIgAigC7Ag2AqACQczEwABBKyACQaACakG8xMAAQejKwAAQlQIACyACKALUBiEGIAVBATYCACAFIAY2AgQMAgsgAkEANgL4CCACQQE2AuwIIAJB0MrAADYC6AggAkIENwLwCCACQegIakHYysAAEM0BCyEGIAVBATYCACAFIAY2AgQLIAJBwAtqJAAMAgsgAkEANgL4CCACQQE2AuwIIAJBsMTAADYC6AggAkIENwLwCCACQegIakGAxMAAELMCAAsgAkEANgL4CCACQQE2AuwIIAJBlIfBADYC6AggAkIENwLwCCACQegIakGohcEAELMCAAsgAygCeA0BIANBkAVqIgQgA0GYAWopAwA3AwAgA0GIBWoiAiADQZABaikDADcDACADQYAFaiIJIANBiAFqKQMANwMAIANBoAVqIANBsAFqKQMANwMAIANBqAVqIANBuAFqKQMANwMAIANBsAVqIANBwAFqKQMANwMAIANBuAVqIANByAFqKQMANwMAIAMgAykDgAE3A/gEIAMgAygAoQE2AvAEIAMgAykDqAE3A5gFIAMgA0GkAWooAAA2APMEIAMtAKABIQYgA0HoAGogBCkDACIvNwMAIANB4ABqIAIpAwAiLjcDACADQdgAaiAJKQMAIjA3AwAgA0H0AGogAygA8wQ2AAAgAyADKQP4BCIxNwNQIAMgBjoAcCADIAMoAvAENgBxIA4gLzcDACAKIC43AwAgFCAwNwMAIAMgMTcDqAMgAyAGOgDIAyAVIAMoAPMENgAAIAMgAygC8AQ2AMkDIAUgCCANIANBmAVqIBcQaCADKAJ4IgQNBCAEBEAgBUEEchDtAgsgA0GQAWoiAiAIQcAFaiIEQRhqKQMANwMAIANBiAFqIgUgBEEQaikDADcDACADQYABaiINIARBCGopAwA3AwAgAyAEKQMANwN4IANBEjoAmAEgA0HQAGogA0H4AGoiDhCaAiIKQX9BACAGQf8BcSIEQRJJGyAKQf8BcRtB/wFxQQJPDQUgA0HMA2ogAygA8wQ2AAAgA0HAA2ogA0GQBWopAwA3AwAgA0G4A2ogA0GIBWopAwA3AwAgA0GwA2ogA0GABWopAwA3AwAgAyADKQP4BDcDqAMgAyAGOgDIAyADIAMoAvAENgDJAyADQZgBaiADQSBqKQMANwMAIAIgA0EYaikDADcDACAFIANBEGopAwA3AwAgDSADQQhqKQMANwMAIAMgAykDADcDeAJAIANBqANqIA4QmgIiCEH/AXEEfyAIBSADLQCYASIIIARLDQEgBCAIRwtB/wFxQQFGDQMLIANBmARqIANBkAVqKQMANwMAIANBkARqIANBiAVqKQMANwMAIANBiARqIANBgAVqKQMANwMAIAMgAykD+AQ3A4AEIANB8ARqDAMLIANB+ABqQeSGwABBARC2ASADKAJ4RQRAIAsgAykDgAE3AwggC0EoaiADQaABaikDADcDACALQSBqIANBmAFqKQMANwMAIAtBGGogA0GQAWopAwA3AwAgC0EQaiADQYgBaikDADcDACALQQA2AgAMDwsgAyADKAJ8NgKoA0G4gsAAQSsgA0GoA2pBqILAAEHEiMAAEJUCAAsgAygCfCEGIAtBATYCACALIAY2AgQMDQsgA0GYBGogA0EYaikDADcDACADQZAEaiADQRBqKQMANwMAIANBiARqIANBCGopAwA3AwAgAyADKQMANwOABCADLQAgIQYgA0EhagsiCCgAADYAKSALQSxqIAhBA2ooAAA2AAAgC0EgaiADQZgEaikDADcDACALQRhqIANBkARqKQMANwMAIAtBEGogA0GIBGopAwA3AwAgCyADKQOABDcDCCALIAY6ACggC0EANgIADAsLIANB+ABqQQRyEO0CCyADQcADaiADQZAFaikDADcDACADQbgDaiADQYgFaikDADcDACADQbADaiADQYAFaikDADcDACADQcwDaiADKADzBDYAACADIAMpA/gENwOoAyADIAY6AMgDIAMgAygC8AQ2AMkDIANBmARqIBdBGGopAwA3AwAgA0GQBGogF0EQaikDADcDACADQYgEaiAXQQhqKQMANwMAIAMgFykDADcDgAQgA0H4AGohDSADQagDaiEMIANBgARqIQ4jAEHABGsiBSQAIAVB0ANqIgQgCBCZAQJAAkACQAJAAkACQAJAAkACQAJAIAUoAtADRQRAIAVB2ABqIhQgBUH4A2oiFSkDACIvNwMAIAVB0ABqIhMgBUHwA2oiAikDACIuNwMAIAVByABqIhAgBUHoA2oiCikDACIwNwMAIAVBQGsiESAFQeADaiIJKQMAIjE3AwAgBSAFKQPYAyIyNwM4IAVBoARqIC83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aiADQeABaikDACIwNwMAIANB4ANqIANB2AFqKQMAIjE3AwAgAyADKQPQASIyNwPYAyADQaAEaiAvNwMAIANBmARqIC43AwAgA0GQBGogMDcDACADQYgEaiAxNwMAIAMgMjcDgAQgA0H4AGoiBCAIIANBgARqEGUgAygCeA0CIANBwAJqIANBoAFqKQMANwMAIANBuAJqIANBmAFqKQMANwMAIANBsAJqIANBkAFqKQMANwMAIANBqAJqIANBiAFqKQMANwMAIAMgAykDgAE3A6ACIANBqANqIgIgCCADQdgDaiADQaACaiAXEGggAygCqAMNCCADQZgCaiIaIANB0ANqKQMANwMAIANBkAJqIhsgA0HIA2oiHCkDADcDACADQYgCaiIdIANBwANqIh4pAwA3AwAgA0GAAmoiHyADQbgDaiIgKQMANwMAIAMgAykDsAM3A/gBIBJBByAPGyIURQ0GIAJBBHIhFSADQbADaiEOIANBgAFqIQ0gBEEEciETA0ACQAJAAkACQAJAIANB0AFqIANB0ABqEJoCQf8BcQ4CAAIBCyADLQDwASAGQf8BcU8NAQsgA0HQAWogAxCaAkH/AXEOAgEHAgsgA0EANgKIASADQQE2AnwgA0GQicAANgJ4IANCBDcCgAEgA0H4AGpBmInAABDNASEGIAtBATYCACALIAY2AgQMDAsgAy0A8AEgAy0AIE8NBQsgHCADQfABaiIhKQMANwMAIB4gA0HoAWoiIikDADcDACAgIANB4AFqIiMpAwA3AwAgDiADQdgBaiIkKQMANwMAIAMgAykD0AE3A6gDIwBBsAFrIgIkACACQQhqIQUjAEGgBWsiBCQAIARBqARqIAhB2AFqKQMANwMAIARBoARqIAhB0AFqKQMANwMAIARBmARqIAhByAFqKQMANwMAIARBEjoAsAQgBCAIKQPAATcDkAQgBCADQagDaiAEQZAEaiIKEMIBIARB2ANqIAhBmAVqKQMANwMAIARB0ANqIAhBkAVqKQMANwMAIARByANqIAhBiAVqKQMANwMAIARBEjoA4AMgBCAIKQOABTcDwAMgBEGwAmogCEEYaikDADcDACAEQagCaiAIQRBqKQMANwMAIARBoAJqIAhBCGopAwA3AwAgBEESOgC4AiAEIAgpAwA3A5gCIARBsANqIAhBOGopAwA3AwAgBEGo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BAwICyADKAJ8IQYgC0EBNgIAIAsgBjYCBAwHCyADKAJ8IQYgC0EBNgIAIAsgBjYCBAwGCyALIAMpAwA3AwggC0EANgIAIAtBKGogA0EgaikDADcDACALQSBqIANBGGopAwA3AwAgC0EYaiADQRBqKQMANwMAIAtBEGogA0EIaikDADcDAAwFCyADKAJ8IQYgC0EBNgIAIAsgBjYCBAwECyAVEO0CCyADQZABaiADQegEaikDADcDACADQYgBaiADQeAEaikDADcDACADQYABaiADQdgEaikDADcDACADIAMpA9AENwN4IANBEjoAmAECQAJAAkAgA0HQAWogA0H4AGoQmgIiCEH/AXEEfyAIBUF/IAMtAPABIghBEkcgCEESSRsLQQFrQf8BcUEBTQRAIANB0AFqIANB0ABqEJoCQf8BcQ4CAQMCCyADQfgAakHkhsAAQQEQtgEgAygCeEUEQCALIAMpA4ABNwMIIAtBKGogA0GgAWopAwA3AwAgC0EgaiADQZgBaikDADcDACALQRhqIANBkAFqKQMANwMAIAtBEGogA0GIAWopAwA3AwAgC0EANgIADAYLIAMgAygCfDYCqANBuILAAEErIANBqANqQaiCwABBqInAABCVAgALIAMtAPABIAZB/wFxTw0BCyADQcgDaiADQfABaikDADcDACADQcADaiADQegBaikDADcDACADQbgDaiADQeABaikDADcDACADQbADaiADQdgBaikDADcDACADIAMpA9ABNwOoAyADQZgBaiADQSBqKQMANwMAIANBkAFqIANBGGopAwA3AwAgA0GIAWogA0EQaikDADcDACADQYABaiADQQhqKQMANwMAIAMgAykDADcDeCALAn8gAyADQagDaiIGIAYgA0H4AGoQmgIiCEH/AXEEfyAIBSAGIAMtAMgDIgYgAy0AmAEiCEkNARogBiAIRwtB/wFxQQFGGwsiBikDADcDCCALQShqIAZBIGopAwA3AwAgC0EgaiAGQRhqKQMANwMAIAtBGGogBkEQaikDADcDACALQRBqIAZBCGopAwA3AwAgC0EANgIADAMLIANBADYCiAEgA0EBNgJ8IANBkInAADYCeCADQgQ3AoABIANB+ABqQbiJwAAQzQEhBiALQQE2AgAgCyAGNgIEDAILIANBADYCuAMgA0EBNgKsAyADQay8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AiAJNwMAIANBhAFPBEAgAxAACyACKAL0GCEDDAELIAJB6BhqIAJBpBBqKAIAIgQ2AgAgAkHgGGogAkGcEGopAgAiCTcDACACQdgYaiACQZQQaikCACIKNwMAIAJBCGogCjcDACACQRBqIAk3AwAgAkEYaiAENgIAIAIgAikCjBAiCTcD0BggAiAJNwMACyADQYQBTwRAIAMQAAsgAigCzBghAwwCCyACQagIaiACQaQQaigCACIDNgIAIAJBCGogAkGUEGopAgA3AwAgAkEQaiACQZwQaikCADcDACACQRhqIAM2AgAgAiACKQKMEDcDAAwCCyACQcAYaiACQaQQaigCACIENgIAIAJBuBhqIAJBnBBqKQIAIgk3AwAgAkGwGGogAkGUEGopAgAiCjcDACACQQhqIAo3AwAgAkEQaiAJNwMAIAJBGGogBDYCACACIAIpAowQIgk3A6gYIAIgCTcDAAsgA0GEAUkNACADEAALIAFBgwFLBEAgARAACwJ/IAIoAgAiBEECRgRAQQAhAyACKAIEDAELIAJBoBBqIAJBGGooAgA2AgAgAkGYEGogAkEQaikDADcDACACQZAQaiACQQhqKQMANwMAIAIgAikDADcDiBAgAkGIEGoQ4QEhA0EACyEBIAAgBEECRzYCCCAAIAM2AgQgACABNgIAIAJB4BlqJAAL6QkCB38DfiMAQeAZayICJAAgAkGIEGoiBSABEAIgARADEL4BAkACQAJAIAIoAogQRQRAIAJBIGoiCCACQZQIaiACQZAQakHwBxDZAUHwBxDZARogAiABECkiAzYCzBggBSACQcwYakHossAAELEBIAIoAogQDQEgAkHEGGogAkGoEGoiBCkDACIJNwIAIAJBvBhqIAJBoBBqIgYpAwAiCjcCACACQbQYaiACQZgQaiIHKQMAIgs3AgAgAkGYCGogCzcDACACQaAIaiAKNwMAIAJBqAhqIAk3AwAgAiACKQOQECIJNwKsGCACIAk3A5AIIAJBEjoAsAggAiABECoiAzYC9BggBSACQfQYakH4ssAAELEBAkAgAigCiBBFBEAgAkHsGGogBCkDACIJNwIAIAJB5BhqIAYpAwAiCjcCACACQdwYaiAHKQMAIgs3AgAgAkGAGWogCzcDACACQYgZaiAKNwMAIAJBkBlqIAk3AwAgAiACKQOQECIJNwLUGCACIAk3A/gYIAIgARArIgM2ArwZIAUgAkG8GWpBiLPAABCxASACKAKIEEUEQCACQbQZaiAEKQMAIgk3AgAgAkGsGWogBikDACIKNwIAIAJBpBlqIAcpAwAiCzcCACACQcgZaiALNwMAIAJB0BlqIAo3AwAgAkHYGWogCTcDACACIAIpA5AQIgk3ApwZIAIgCTcDwBkgAkGAGGogCCACQZAIaiACQfgYaiACQcAZahCiASACKAK8GSIDQYQBTwRAIAMQAAsgAigC9BgiA0GEAU8EQCADEAALIAIoAswYIgNBhAFPBEAgAxAACyACIAJBgBhqQZizwAAQvAEMBgsgAkGwGWogAkGkEGooAgAiBDYCACACQagZaiACQZwQaikCACIJNwMAIAJBoBlqIAJBlBBqKQIAIgo3AwAgAkEIaiAKNwMAIAJBEGogCTcDACACQRhqIAQ2AgAgAiACKQKMECIJNwOYGSACIAk3AwAgA0GEAU8EQCADEAALIAIoAvQYIQMMAQsgAkHoGGogAkGkEGooAgAiBDYCACACQeAYaiACQZwQaikCACIJNwMAIAJB2BhqIAJBlBBqKQIAIgo3AwAgAkEIaiAKNwMAIAJBEGogCTcDACACQRhqIAQ2AgAgAiACKQKMECIJNwPQGCACIAk3AwALIANBhAFPBEAgAxAACyACKALMGCEDDAILIAJBqAhqIAJBpBBqKAIAIgM2AgAgAkEIaiACQZQQaikCADcDACACQRBqIAJBnBBqKQIANwMAIAJBGGogAzYCACACIAIpAowQNwMADAILIAJBwBhqIAJBpBBqKAIAIgQ2AgAgAkG4GGogAkGcEGopAgAiCTcDACACQbAYaiACQZQQaikCACIKNwMAIAJBCGogCjcDACACQRBqIAk3AwAgAkEYaiAENgIAIAIgAikCjBAiCTcDqBggAiAJNwMACyADQYQBSQ0AIAMQAAsgAUGDAUsEQCABEAALAn8gAigCACIEQQJGBEBBACEDIAIoAgQMAQsgAkGgEGogAkEYaigCADYCACACQZgQaiACQRBqKQMANwMAIAJBkBBqIAJBCGopAwA3AwAgAiACKQMANwOIECACQYgQahDhASEDQQALIQEgACAEQQJHNgIIIAAgAzYCBCAAIAE2AgAgAkHgGWokAAuCCQIDfwN+IwBBsBlrIgIkACACQZAQ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yABqIAEpAwgiCUIAIARCABCUAiADQdgAaiABKQMQIgVCACAEQgAQlAIgA0HoAGogASkDGCIKQgAgBEIAEJQCIANBGGogAikDCCIEQgAgDkIAEJQCIANB+ABqIARCACAJQgAQlAIgA0GoAWogBEIAIAVCABCUAiADQdgBaiAEQgAgCkIAEJQCIANBKGogAikDECIEQgAgDkIAEJQCIANBiAFqIARCACAJQgAQlAIgA0G4AWogBEIAIAVCABCUAiADQegBaiAEQgAgCkIAEJQCIANBOGogAikDGCIEQgAgDkIAEJQCIANBmAFqIARCACAJQgAQlAIgA0HIAWogBEIAIAVCABCUAiADQfgBaiAEQgAgCkIAEJQCIAMpAwghDgJAAkACQCADKQOYASIPIANBQGspAwAgAykDOCIHIAMpA4gBIgsgA0EwaikDACADKQMoIgUgAykDeCIKIANBIGopAwAgAykDGCIJIAMpA0giCCADQRBqKQMAfCIGfCIEIAlUrXwiDCADKQNYIhAgA0HQAGopAwAgBiAIVK18fCIIfCIGfCINfCIJIAVUrXwiEyADKQOoASIRIANBgAFqKQMAIAogDVatfCINIAYgDFStfCIFIAMpA2giBiADQeAAaikDACAIIBBUrXx8Igh8Igx8IhB8IhJ8IhR8IgogB1StfCIVIAMpA7gBIhYgA0GQAWopAwAgCyAUVq18IgsgEiATVK18IgcgAykD2AEiEyADQbABaikDACAQIBFUrXwiECAFIA1UIAUgDFZyrXwiBSADQfAAaikDACAGIAhWrXx8Igh8IgZ8Igx8Ig18IhF8IhJCAFINACADKQPIASIUIANBoAFqKQMAIA8gElatfCISIBEgFVStfCIPIAMpA+gBIhEgA0HAAWopAwAgDSAWVK18Ig0gByALVCAHIAxWcq18IgcgBiATVK0gA0HgAWopAwAgBSAQVCAFIAhWcq18fHwiC3wiCHwiBXwiBkIAUg0AIAMpA/gBIgwgA0HQAWopAwAgBiAUVK18IgYgDyASVCAFIA9Ucq18IgUgCCARVK0gA0HwAWopAwAgByANVCAHIAtWcq18fHwiB3wiD1ANAQsgACAKNwMYIAAgCTcDECAAIAQ3AwggACAONwMADAELIANBgAJqKQMAIAAgCjcDGCAAIAk3AxAgACAENwMIIAAgDjcDACAM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AEGCgMQANgIACyAJQRBqJAALwwgCBH8JfiMAQYACayIDJAAgA0GAAWoiBEGox8AAQQQQtwECQCADKAKAAUUEQCADKQOgASEPIAMpA5gBIQkgAykDkAEhByADKQOIASENIAQgARCZAQJAIAMoAoABRQRAIAMpA5gBIQsgAykDkAEhCAJ+IAMpA4gBIgogDVgEQCAHIAhUrSEOIAcgCH0MAQsgByAIVK0gByAIUa18IQ4gByAIQn+FfAshDCADKQOgASEIIAkgC30hBwJAIA5QBEAgCSALVK0hCwwBCyAHIA5UrSAJIAtUrXwhCyAHIA59IQcLIA8gCH0hCQJAIAtQBEAgCCAPWA0BDAULIAkgC1QgCCAPVnINBCAJIAt9IQkLIANBEjoAeCADIAk3A3AgAyAHNwNoIAMgDDcDYCADIA0gCn03A1hCACEIIANB4AFqIgRCADcDACADQoCAkLu61q3wDTcD2AEgA0EBNgKEASADQcT9wAA2AoABQgEhByADQgE3AowBIANCgICAgLAHIg0gA0HYAWqthDcD+AEgAyADQfgBajYCiAEgA0HoAWogA0GAAWoQzwEgA0HIAWpCADcDACADQgA3A8ABIAQpAwAhDCADKQPYASEKIAMoAugBIgQEQCADKALsASAEEIwDCyADQRI6ANABIAMgCjcDsAEgAyAMNwO4ASADQZgBaiABQeADaiIBQRhqKQMANwMAIANBkAFqIAFBEGopAwA3AwAgA0GIAWogAUEIaikDADcDACADQRI6AKABIAMgASkDADcDgAEgA0EwaiADQYABaiADQdgAaiADQbABahB2AkACQAJAIAMtAFAiAQ4CAgEAC0IKIQdCASEJQgAhCgNAIANBEGogB0IBIAFBAXEiBBsgCEIAIAQbIAkgChCUAiADQSBqIAcgCCAHIAgQlAIgAUEDSyADQShqKQMAIQggA0EYaikDACEKIAMpAyAhByADKQMQIQkgAUEBdiEBDQALIAMgCSAKIAcgCBCUAiADQQhqKQMAIQggAykDACEHDAELQgohBwsgA0HgAGoiASAINwMAIAMgBzcDWCADQQE2ArQBIANBxP3AADYCsAEgA0IBNwK8ASADIA0gA0HYAGqthDcD6AEgAyADQegBajYCuAEgA0HYAWogA0GwAWoQzwEgA0GYAWpCADcDACADQgA3A5ABIAEpAwAhDCADKQNYIQogAygC2AEiAQRAIAMoAtwBIAEQjAMLIANBEjoAoAEgAyAKNwOAASADIAw3A4gBIABBCGogA0EwaiACIANBgAFqEHYgAEEANgIADAELIAMoAoQBIQEgAEEBNgIAIAAgATYCBAsgA0GAAmokAA8LIAMgAygChAE2ArABQczEwABBKyADQbABakG8xMAAQYjewAAQlQIACyADQQA2ApABIANBATYChAEgA0GwxMAANgKAASADQgQ3AogBIANBgAFqQYDEwAAQswIAC/kGAgh/B34jAEGgAWsiAiQAIAJBmAFqIgNCADcDACACQZABaiIGQgA3AwAgAkGIAWoiB0IANwMAIAJCADcDgAECQAJAAkACQAJAAkAgASACQYABahCaAkH/AXFB/wFGBEAgAUG4t8AAQSAQrQJFDQELIAJB2ABqIAFBGGoiBCkDADcDACACQdAAaiABQRBqIgUpAwA3AwAgAkHIAGogAUEIaiIIKQMANwMAIAIgASkDADcDQCACQfgAaiIJIAQpAwA3AwAgAkHwAGoiBCAFKQMANwMAIAJB6ABqIgUgCCkDADcDACACIAEpAwA3A2AgA0IANwMAIAZCADcDACAHQgA3AwAgAkIANwOAASACQUBrIAJBgAFqEJoCQf8BcUH/AUYNASACQThqIAkpAwA3AwAgAkEwaiAEKQMANwMAIAJBKGogBSkDADcDACACIAIpA2A3AyAMAgsgASkDECINIAEpAwBCAXwiCiABKQMIIgtCAXwiDoQiD1AiA618IhAgDSADGyEMIA4gCyAKUBshCyABKQMYIQ4gD1AgDSAQVnFFBEAgAiAONwOYASACIAw3A5ABIAIgCzcDiAEgAiAKNwOAAQwDCyACIAw3A5ABIAIgCzcDiAEgAiAKNwOAASACIA5CAXwiCjcDmAEgCkIAUg0CDAQLIAJBIGogAkHgAGoQyAELIAAgAikDIDcDACAAQRhqIAJBOGopAwA3AwAgAEEQaiACQTBqKQMANwMAIABBCGogAkEoaikDADcDAAwBCyACIAJBgAFqIgEQyAEgAikDECEKIAIpAxghCyACKQMAIQwgAikDCCENIAFBARCeAiANIA0gAikDiAF8Ig1WIQEgAikDkAEhDyAMIAwgAikDgAF8Ig5YBH4gAa0FIA1CAXwiDVCtIAGtfAshDCACKQOY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Awg3A4AQDAILIAMoAgQhBiAJQQE2AgAgCSAGNgIEDAILIANBmBBqIAdBIGopAwA3AwAgA0GQEGogB0EYaikDADcDACADQYgQaiAHQRBqKQMANwMAIAMgBykDCDcDgBALIANB8ApqIAJB4AZqENICIANBhAtqIAJB9AZqENICIANBmAtqIAJBiAdqENICIANBiAlqIAJB+ARqKQMANwMAIANBgAlqIAJB8ARqKQMANwMAIANB+AhqIAJB6ARqKQMANwMAIANBmAlqIAJBiAVqKQMANwMAIANBoAlqIAJBkAVqKQMANwMAIANBqAlqIAJBmAVqKQMANwMAIANBuAlqIAJBqAVqKQMANwMAIANBwAlqIAJBsAVqKQMANwMAIANByAlqIAJBuAVqKQMANwMAIAMgAikD4AQ3A/AIIAMgAikDgAU3A5AJIAMgAikDoAU3A7AJIANB6AlqIAJB2AVqKQMANwMAIANB4AlqIAJB0AVqKQMANwMAIANB2AlqIAJByAVqKQMANwMAIANBiApqIAJB+AVqKQMANwMAIANBgApqIAJB8AVqKQMANwMAIANB+AlqIAJB6AVqKQMANwMAIANBqApqIAJBmAZqKQMANwMAIANBoApqIAJBkAZqKQMANwMAIANBmApqIAJBiAZqKQMANwMAIAMgAikDwAU3A9AJIAMgAikD4AU3A/AJIAMgAikDgAY3A5AKIANByApqIAJBuAZqKQMANwMAIANBwApqIAJBsAZqKQMANwMAIANBuApqIAJBqAZqKQMANwMAIAMgAikDoAY3A7AKIANB6ApqIAJB2AZqKQMANwMAIANB4ApqIAJB0AZqKQMANwMAIANB2ApqIAJByAZqKQMANwMAIAMgAikDwAY3A9AKIANBrAtqIAJBnAdqENICIANBwAtqIAJBsAdqENICIANB1AtqIAJBxAdqENICIANB6AtqIAJB2AdqENICIANBOGogAkGYBGopAwA3AwAgA0EwaiACQZAEaikDADcDACADQShqIAJBiARqKQMANwMAIANByABqIAJBqARqKQMANwMAIANB0ABqIAJBsARqKQMANwMAIANB2ABqIAJBuARqKQMANwMAIANB6ABqIAJByARqKQMANwMAIANB8ABqIAJB0ARqKQMANwMAIANB+ABqIAJB2ARqKQMANwMAIAMgAikDgAQ3AyAgAyACKQOgBDcDQCADIAIpA8AENwNgIANBGGogAkH4A2opAwA3AwAgA0EQaiACQfADaikDADcDACADQQhqIAJB6ANqKQMANwMAIAMgAikD4AM3AwAgA0HwB2oiByADQYABENkBGiADQbgMaiACQThqKQMANwMAIANBsAxqIAJBMGopAwA3AwAgA0GoDGogAkEoaikDADcDACADQcgMaiACQcgAaikDADcDACADQdAMaiACQdAAaikDADcDACADQdgMaiACQdgAaikDADcDACADQegMaiACQegAaikDADcDACADQfAMaiACQfAAaikDADcDACADQfgMaiACQfgAaikDADcDACADIAIpAyA3A6AMIAMgAikDQDcDwAwgAyACKQNgNwPgDCADQZgNaiACQZgBaikDADcDACADQZANaiACQZABaikDADcDACADQYgNaiACQYgBaikDADcDACADQbgNaiACQbgBaikDADcDACADQbANaiACQbABaikDADcDACADQagNaiACQagBaikDADcDACADQdgNaiACQdgBaikDADcDACADQdANaiACQdABaikDADcDACADQcgNaiACQcgBaikDADcDACADIAIpA4ABNwOADSADIAIpA6ABNwOgDSADIAIpA8ABNwPADSADQfgNaiACQfgBaikDADcDACADQfANaiACQfABaikDADcDACADQegNaiACQegBaikDADcDACADIAIpA+ABNwPgDSADQZgOaiACQZgCaikDADcDACADQZAOaiACQZACaikDADcDACADQYgOaiACQYgCaikDADcDACADIAIpA4ACNwOADiADQbgOaiACQbgCaikDADcDACADQbAOaiACQbACaikDADcDACADQagOaiACQagCaikDADcDACADIAIpA6ACNwOgDiADQdgOaiACQdgCaikDADcDACADQdAOaiACQdACaikDADcDACADQcgOaiACQcgCaikDADcDACADIAIpA8ACNwPADiADQfgOaiACQfgCaikDADcDACADQfAOaiACQfACaikDADcDACADQegOaiACQegCaikDADcDACADIAIpA+ACNwPgDiADQZgPaiACQZgDaikDADcDACADQZAPaiACQZADaikDADcDACADQYgPaiACQYgDaikDADcDACADIAIpA4ADNwOADyADQbgPaiACQbgDaikDADcDACADQbAPaiACQbADaikDADcDACADQagPaiACQagDaikDADcDACADIAIpA6ADNwOgDyADQdgPaiACQdgDaikDADcDACADQdAPaiACQdADaikDADcDACADQcgPaiACQcgDaikDADcDACADIAIpA8ADNwPADyADQZgMaiACQRhqKQMANwMAIANBkAxqIAJBEGopAwA3AwAgA0GIDGogAkEIaikDADcDACADIAIpAwA3A4AMIANB4ANqIAdBkAQQ2QEaIAMgA0GADGpB4AMQ2QEiAkHoD2ogBkEIaikDADcDACACQfAPaiAGQRBqKQMANwMAIAJB+A9qIAZBGGopAwA3AwAgAiAGKQMANwPgDyACQYABaiACQeAPahDuASACIAJBgBBqEOwBIAlBCGogAkHwBxDZARogCUEANgIACyADQaAQaiQAIAUoApgIRQRAIAVBKGoiBiAFQaAIakHwBxDZARogCCAGEJkBDAELIAUoApwIIQYgCEEBNgIAIAggBjYCBAsgBUHAEGokACAEQYAZaiAIQcCjwAAQ0QEgBCgCgBkNASAEQfQYaiAEQagZaikDACIKNwIAIARBsBhqIARBkBlqKQMANwMAIARBuBhqIARBmBlqKQMANwMAIARBwBhqIARBoBlqKQMANwMAIARByBhqIAo3AwAgBCAEKQOIGTcDqBggBCAEQagYakHQo8AAELwBDAMLIARBqAhqIARBpBBqKAIAIgY2AgAgBEGgCGogBEGcEGopAgAiCzcDACAEQZgIaiAEQZQQaikCACIKNwMAIARBCGogCjcDACAEQRBqIAs3AwAgBEEYaiAGNgIAIAQgBCkCjBAiCjcDkAggBCAKNwMAIAJBhAFJDQIgAhAADAILIARB6BhqIARBnBlqKAIAIgY2AgAgBEEIaiAEQYwZaikCADcDACAEQRBqIARBlBlqKQIANwMAIARBGGogBjYCACAEIAQpAoQZNwMADAELIARBqAhqIARBpBBqKAIAIgY2AgAgBEEIaiAEQZQQaikCADcDACAEQRBqIARBnBBqKQIANwMAIARBGGogBjYCACAEIAQpAowQNwMACyABQYMBSwRAIAEQAAsCfyAEKAIAIgJBAkYEQCAEKAIEIQFBAAwBCyAEQaAQaiAEQRhqKAIANgIAIARBmBBqIARBEGopAwA3AwAgBEGQEGogBEEIaikDADcDACAEIAQpAwA3A4gQQQAhASAEQYgQahDhAQshBiAAIAJBAkc2AgggACAGNgIEIAAgATYCACAEQbAZaiQAC9gGAgN/A34jAEGwGWsiAiQAIAJBiBBqIgQgARACIAEQAxC+AQJAIAIoAogQRQRAIAJBIGogAkGUCGogAkGQEGpB8AcQ2QFB8AcQ2QEaIAIgARAoIgM2AoAZIAQgAkGAGWpBpKzAABCxAQJAIAIoAogQRQRAIAJBrAhqIAJBqBBqKQMAIgU3AgAgAkGkCGogAkGgEGopAwAiBjcCACACQZwIaiACQZgQaikDACIHNwIAIAJBiBhqIAc3AwAgAkGQGGogBjcDACACQZgYaiAFNwMAIAIgAikDkBAiBTcClAggAiAFNwOAGCACQRI6AKAYIANBhAFPBEAgAxAACyACQgA3A4gQIAJBkAhqIgMgAkEgaiACQYAYaiACQYgQahCQASACQYAZaiADQbSswAAQ0QEgAigCgBkNASACQfQYaiACQagZaikDACIFNwIAIAJBsBhqIAJBkBlqKQMANwMAIAJBuBhqIAJBmBlqKQMANwMAIAJBwBhqIAJBoBlqKQMANwMAIAJByBhqIAU3AwAgAiACKQOIGTcDqBggAiACQagYakHErMAAELwBDAMLIAJBqAhqIAJBpBBqKAIAIgQ2AgAgAkGgCGogAkGcEGopAgAiBTcDACACQZgIaiACQZQQaikCACIGNwMAIAJBCGogBjcDACACQRBqIAU3AwAgAkEYaiAENgIAIAIgAikCjBAiBTcDkAggAiAFNwMAIANBhAFJDQIgAxAADAILIAJB6BhqIAJBnBlqKAIAIgM2AgAgAkEIaiACQYwZaikCADcDACACQRBqIAJBlBlqKQIANwMAIAJBGGogAzYCACACIAIpAoQZNwMADAELIAJBqAhqIAJBpBBqKAIAIgM2AgAgAkEIaiACQZQQaikCADcDACACQRBqIAJBnBBqKQIANwMAIAJBGGogAzYCACACIAIpAowQNwMACyABQYMBSwRAIAEQAAsCfyACKAIAIgRBAkYEQCACKAIEIQNBAAwBCyACQaAQaiACQRhqKAIANgIAIAJBmBBqIAJBEGopAwA3AwAgAkGQEGogAkEIaikDADcDACACIAIpAwA3A4gQQQAhAyACQYgQahDhAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQbAZaiQAC/oMAgZ/BH4jAEGwGWsiAiQAIAJBiBBqIgQgARACIAEQAxC+AQJAIAIoAogQRQRAIAJBIGogAkGUCGogAkGQEGpB8AcQ2QFB8AcQ2QEaIAIgARAtIgM2AoAZIAQgAkGAGWpB6LHAABCxAQJAIAIoAogQRQRAIAJBrAhqIAJBqBBqKQMAIgg3AgAgAkGkCGogAkGgEGopAwAiCTcCACACQZwIaiACQZgQaikDACIKNwIAIAJBiBhqIAo3AwAgAkGQGGogCTcDACACQZgYaiAINwMAIAIgAikDkBAiCDcClAggAiAINwOAGCACQRI6AKAYIANBhAFPBEAgAxAACyACQgA3A4gQIAJBIGohBSACQYAYaiEGQgAhCUIAIQojAEGAAmsiAyQAIAJBkAhqIgcCfwJ/IAJBiBBqIgQoAgBFBEAgA0HYAGogBSAGEJwBIAMoAlhFBEAgA0HQAGogA0H4AGopAwA3AwAgA0HIAGogA0HwAGopAwA3AwAgA0FAayADQegAaikDADcDACADIAMpA2A3AzggAyADKACBATYCMCADIANBhAFqKAAANgAzIAMtAIABDAILIAcgAygCXDYCBEEBDAILIANB0ABqIARBIGopAwA3AwAgA0HIAGogBEEYaikDADcDACADQUBrIARBEGopAwA3AwAgAyAEKQMINwM4IAMgBCgAKTYCMCADIARBLGooAAA2ADMgBC0AKAshBiADQaABaiAFQbgEaikDADcDACADQZgBaiAFQbAEaikDADcDACADQZABaiAFQagEaikDADcDACADQRI6AKgBIAMgBSkDoAQ3A4gBQgEhCAJAAkACQCAGQf8BcSIEDgICAQALQgohCEIBIQsDQCADQRBqIAhCASAEQQFxIgUbIAlCACAFGyALIAoQlAIgA0EgaiAIIAkgCCAJEJQCIARBA0sgA0EoaikDACEJIANBGGopAwAhCiADKQMgIQggAykDECELIARBAXYhBA0ACyADIAsgCiAIIAkQlAIgA0EIaikDACEJIAMpAwAhCAwBC0IKIQgLIANB4AFqIgQgCTcDACADIAg3A9gBIANBATYCXCADQcT9wAA2AlggA0IBNwJkIAMgA0HYAWqtQoCAgICwB4Q3A/gBIAMgA0H4AWo2AmAgA0HsAWogA0HYAGoQzwEgA0HIAWpCADcDACADQgA3A8ABIAQpAwAhCCADKQPYASEJIAMoAuwBIgQEQCADKALwASAEEIwDCyADQRI6ANABIAMgCTcDsAEgAyAINwO4ASADQfAAaiADQdAAaikDADcDACADQegAaiADQcgAaikDADcDACADQeAAaiADQUBrKQMANwMAIANB/ABqIAMoADM2AAAgAyADKQM4NwNYIAMgBjoAeCADIAMoAjA2AHkgB0EIaiADQdgAaiADQYgBaiADQbABahB8QQALNgIAIANBgAJqJAAgAkGAGWogB0H4scAAENEBIAIoAoAZDQEgAkH0GGogAkGoGWopAwAiCDcCACACQbAYaiACQZAZaikDADcDACACQbgYaiACQZgZaikDADcDACACQcAYaiACQaAZaikDADcDACACQcgYaiAINwMAIAIgAikDiBk3A6gYIAIgAkGoGGpBiLLAABC8AQwDCyACQagIaiACQaQQaigCACIENgIAIAJBoAhqIAJBnBBqKQIAIgg3AwAgAkGYCGogAkGUEGopAgAiCTcDACACQQhqIAk3AwAgAkEQaiAINwMAIAJBGGogBDYCACACIAIpAowQIgg3A5AIIAIgCDcDACADQYQBSQ0CIAMQAAwCCyACQegYaiACQZwZaigCACIDNgIAIAJBCGogAkGMGWopAgA3AwAgAkEQaiACQZQZaikCADcDACACQRhqIAM2AgAgAiACKQKEGTcDAAwBCyACQagIaiACQaQQaigCACIDNgIAIAJBCGogAkGUEGopAgA3AwAgAkEQaiACQZwQaikCADcDACACQRhqIAM2AgAgAiACKQKMEDcDAAsgAUGDAUsEQCABEAALAn8gAigCACIDQQJGBEAgAigCBCEBQQAMAQsgAkGgEGogAkEYaigCADYCACACQZgQaiACQRBqKQMANwMAIAJBkBBqIAJBCGopAwA3AwAgAiACKQMANwOIEEEAIQEgAkGIEGoQ4QELIQQgACADQQJHNgIIIAAgBDYCBCAAIAE2AgAgAkGwGWokAAvYBgIDfwN+IwBBsBlrIgIkACACQYgQaiIEIAEQAiABEAMQvgECQCACKAKIEEUEQCACQSBqIAJBlAhqIAJBkBBqQfAHENkBQfAHENkBGiACIAEQUyIDNgKAGSAEIAJBgBlqQfjAwAAQsQECQCACKAKIEEUEQCACQawIaiACQagQaikDACIFNwIAIAJBpAhqIAJBoBBqKQMAIgY3AgAgAkGcCGogAkGYEGopAwAiBzcCACACQYgYaiAHNwMAIAJBkBhqIAY3AwAgAkGYGGogBTcDACACIAIpA5AQIgU3ApQIIAIgBTcDgBggAkESOgCgGCADQYQBTwRAIAMQAAsgAkIANwOIECACQZAIaiIDIAJBIGogAkGAGGogAkGIEGoQpQIgAkGAGWogA0GIwcAAENEBIAIoAoAZDQEgAkH0GGogAkGoGWopAwAiBTcCACACQbAYaiACQZAZaikDADcDACACQbgYaiACQZgZaikDADcDACACQcAYaiACQaAZaikDADcDACACQcgYaiAFNwMAIAIgAikDiBk3A6gYIAIgAkGoGGpBmMHAABC8AQwDCyACQagIaiACQaQQaigCACIENgIAIAJBoAhqIAJBnBBqKQIAIgU3AwAgAkGYCGogAkGUEGopAgAiBjcDACACQQhqIAY3AwAgAkEQaiAFNwMAIAJBGGogBDYCACACIAIpAowQIgU3A5AIIAIgBTcDACADQYQBSQ0CIAMQAAwCCyACQegYaiACQZwZaigCACIDNgIAIAJBCGogAkGMGWopAgA3AwAgAkEQaiACQZQZaikCADcDACACQRhqIAM2AgAgAiACKQKEGTcDAAwBCyACQagIaiACQaQQaigCACIDNgIAIAJBCGogAkGUEGopAgA3AwAgAkEQaiACQZwQaikCADcDACACQRhqIAM2AgAgAiACKQKMEDcDAAsgAUGDAUsEQCABEAALAn8gAigCACIEQQJGBEAgAigCBCEDQQAMAQsgAkGgEGogAkEYaigCADYCACACQZgQaiACQRBqKQMANwMAIAJBkBBqIAJBCGopAwA3AwAgAiACKQMANwOIEEEAIQMgAkGIEGoQ4QELIQEgACAEQQJHNgIIIAAgATYCBCAAIAM2AgAgAkGwGWokAAvKBgIDfwN+IwBBgBlrIgIkACACQYgQaiIEIAEQAiABEAMQvgECQCACKAKIEEUEQCACQSBqIAJBlAhqIAJBkBBqQfAHENkBQfAHENkBGiACIAEQJyIDNgLQGCAEIAJB0BhqQfSrwAAQsQECQCACKAKIEEUEQCACQawIaiACQagQaikDACIFNwIAIAJBpAhqIAJBoBBqKQMAIgY3AgAgAkGcCGogAkGYEGopAwAiBzcCACACQYgYaiAHNwMAIAJBkBhqIAY3AwAgAkGYGGogBTcDACACIAIpA5AQIgU3ApQIIAIgBTcDgBggAkESOgCgGCADQYQBTwRAIAMQAAsgAkGIEGoiAyACQSBqIAJBgBhqEIQBIAJBkAhqIANBhKzAABDRASACKAKQCA0BIAJB9BhqIAJBuAhqKQMAIgU3AgAgAkGwGGogAkGgCGopAwA3AwAgAkG4GGogAkGoCGopAwA3AwAgAkHAGGogAkGwCGopAwA3AwAgAkHIGGogBTcDACACIAIpA5gINwOoGCACIAJBqBhqQZSswAAQvAEMAwsgAkGoCGogAkGkEGooAgAiBDYCACACQaAIaiACQZwQaikCACIFNwMAIAJBmAhqIAJBlBBqKQIAIgY3AwAgAkEIaiAGNwMAIAJBEGogBTcDACACQRhqIAQ2AgAgAiACKQKMECIFNwOQCCACIAU3AwAgA0GEAUkNAiADEAAMAgsgAkHoGGogAkGsCGooAgAiAzYCACACQQhqIAJBnAhqKQIANwMAIAJBEGogAkGkCGopAgA3AwAgAkEYaiADNgIAIAIgAikClAg3AwAMAQsgAkGoCGogAkGkEGooAgAiAzYCACACQQhqIAJBlBBqKQIANwMAIAJBEGogAkGcEGopAgA3AwAgAkEYaiADNgIAIAIgAikCjBA3AwALIAFBgwFLBEAgARAACwJ/IAIoAgAiBEECRgRAIAIoAgQhA0EADAELIAJBoBBqIAJBGGooAgA2AgAgAkGYEGogAkEQaikDADcDACACQZAQaiACQQhqKQMANwMAIAIgAikDADcDiBBBACEDIAJBiBBqEOEBCyEBIAAgBEECRzYCCCAAIAE2AgQgACADNgIAIAJBgBlqJAALygYCA38DfiMAQYAZayICJAAgAkGIEGoiBCABEAIgARADEL4BAkAgAigCiBBFBEAgAkEgaiACQZQIaiACQZAQakHwBxDZAUHwBxDZARogAiABECwiAzYC0BggBCACQdAYakG4scAAELEBAkAgAigCiBBFBEAgAkGsCGogAkGoEGopAwAiBTcCACACQaQIaiACQaAQaikDACIGNwIAIAJBnAhqIAJBmBBqKQMAIgc3AgAgAkGIGGogBzcDACACQZAYaiAGNwMAIAJBmBhqIAU3AwAgAiACKQOQECIFNwKUCCACIAU3A4AYIAJBEjoAoBggA0GEAU8EQCADEAALIAJBiBBqIgMgAkEgaiACQYAYahCcASACQZAIaiADQcixwAAQ0QEgAigCkAgNASACQfQYaiACQbgIaikDACIFNwIAIAJBsBhqIAJBoAhqKQMANwMAIAJBuBhqIAJBqAhqKQMANwMAIAJBwBhqIAJBsAhqKQMANwMAIAJByBhqIAU3AwAgAiACKQOYCDcDqBggAiACQagYakHYscAAELwBDAMLIAJBqAhqIAJBpBBqKAIAIgQ2AgAgAkGgCGogAkGcEGopAgAiBTcDACACQZgIaiACQZQQaikCACIGNwMAIAJBCGogBjcDACACQRBqIAU3AwAgAkEYaiAENgIAIAIgAikCjBAiBTcDkAggAiAFNwMAIANBhAFJDQIgAxAADAILIAJB6BhqIAJBrAhqKAIAIgM2AgAgAkEIaiACQZwIaikCADcDACACQRBqIAJBpAhqKQIANwMAIAJBGGogAzYCACACIAIpApQINwMADAELIAJBqAhqIAJBpBBqKAIAIgM2AgAgAkEIaiACQZQQaikCADcDACACQRBqIAJBnBBqKQIANwMAIAJBGGogAzYCACACIAIpAowQNwMACyABQYMBSwRAIAEQAAsCfyACKAIAIgRBAkYEQCACKAIEIQNBAAwBCyACQaAQaiACQRhqKAIANgIAIAJBmBBqIAJBEGopAwA3AwAgAkGQEGogAkEIaikDADcDACACIAIpAwA3A4gQQQAhAyACQYgQahDhAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQYAZaiQAC8kGAgN/A34jAEGAGWsiAiQAIAJBiBBqIgQgARACIAEQAxC+AQJAIAIoAogQRQRAIAJBIGogAkGUCGogAkGQEGpB8AcQ2QFB8AcQ2QEaIAIgARBSIgM2AtAYIAQgAkHQGGpByMDAABCxAQJAIAIoAogQRQRAIAJBrAhqIAJBqBBqKQMAIgU3AgAgAkGkCGogAkGgEGopAwAiBjcCACACQZwIaiACQZgQaikDACIHNwIAIAJBiBhqIAc3AwAgAkGQGGogBjcDACACQZgYaiAFNwMAIAIgAikDkBAiBTcClAggAiAFNwOAGCACQRI6AKAYIANBhAFPBEAgAxAACyACQYgQaiIDIAJBIGogAkGAGGoQZSACQZAIaiADQdjAwAAQ0QEgAigCkAgNASACQfQYaiACQbgIaikDACIFNwIAIAJBsBhqIAJBoAhqKQMANwMAIAJBuBhqIAJBqAhqKQMANwMAIAJBwBhqIAJBsAhqKQMANwMAIAJByBhqIAU3AwAgAiACKQOYCDcDqBggAiACQagYakHowMAAELwBDAMLIAJBqAhqIAJBpBBqKAIAIgQ2AgAgAkGgCGogAkGcEGopAgAiBTcDACACQZgIaiACQZQQaikCACIGNwMAIAJBCGogBjcDACACQRBqIAU3AwAgAkEYaiAENgIAIAIgAikCjBAiBTcDkAggAiAFNwMAIANBhAFJDQIgAxAADAILIAJB6BhqIAJBrAhqKAIAIgM2AgAgAkEIaiACQZwIaikCADcDACACQRBqIAJBpAhqKQIANwMAIAJBGGogAzYCACACIAIpApQINwMADAELIAJBqAhqIAJBpBBqKAIAIgM2AgAgAkEIaiACQZQQaikCADcDACACQRBqIAJBnBBqKQIANwMAIAJBGGogAzYCACACIAIpAowQNwMACyABQYMBSwRAIAEQAAsCfyACKAIAIgRBAkYEQCACKAIEIQNBAAwBCyACQaAQaiACQRhqKAIANgIAIAJBmBBqIAJBEGopAwA3AwAgAkGQEGogAkEIaikDADcDACACIAIpAwA3A4gQQQAhAyACQYgQahDhAQshASAAIARBAkc2AgggACABNgIEIAAgAzYCACACQYAZaiQAC+wGAg1/Bn4jAEGwAWsiAiQAIAJBqAFqIgMgAUEYaiIEKQMANwMAIAJBoAFqIgUgAUEQaiIGKQMANwMAIAJBmAFqIgcgAUEIaiIIKQMANwMAIAIgASkDADcDkAEgAkHQAGogAkGQAWoiCRCdASACQRBqIAJB2ABqKQMANwMAIAJBGGogAkHgAGopAwA3AwAgAkEgaiACQegAaikDADcDACACIAIpA1A3AwggAkGIAWoiCiAEKQMANwMAIAJBgAFqIgsgBikDADcDACACQfgAaiIMIAgpAwA3AwAgAiABKQMANwNwIANCADcDACAFQgA3AwAgB0IANwMAIAJCADcDkAEgAkL///////////8AQoCAgICAgICAgH8gAkHwAGoiDSAJEJoCQf8BcUH/AUciDhs3A0AgAkJ/QgAgDhsiDzcDOCACIA83AzAgAiAPNwMoAkACQAJAIAJBCGogAkEoahCaAkH/AXFBAUcEQCAKIAQpAwA3AwAgCyAGKQMANwMAIAwgCCkDADcDACACIAEpAwA3A3AgA0IANwMAIAVCADcDACAHQgA3AwAgAkIANwOQASANIAkQmgIgAikDUCEPQf8BcUH/AUcEQCACKQNoIhJCAFMNAiACKQNgIRAgAikDWCERDAMLQgAgAikDWCIRfSITUEIAIA99Ig9CAFIiBEF/c3EiAyACKQNgQn+FIhAgA618IhQgEFRxrSACKQNoQn+FfCISQgBZDQEgEUJ/hSATIAQbIREgFCAQIAMbIRAMAgsgAkECNgKUASACQbyYwAA2ApABIAJCATcCnAEgAiABrUKAgICAMIQ3A3AgAiACQfAAajYCmAEgAkGQAWpBzJjAABDNASEBIABBATYCACAAIAE2AgQMAgsgAkECNgKUASACQYSZwAA2ApABIAJCATcCnAEgAiABrUKAgICAMIQ3A3AgAiACQfAAajYCmAEgACACQZABakGUmcAAEM0BNgIEIABBATYCAAwBCyACQQI2ApQBIAJBhJnAADYCkAEgAkIBNwKcASACIAGtQoCAgIAwhDcDcCACIAJB8ABqNgKYASACQZABakGUmcAAEM0BIQEgACASNwMgIAAgEDcDGCAAIBE3AxAgACAPNwMIIAIgATYCTCACQcwAahDtAiAAQQA2AgALIAJBsAFqJAAL7wYCDX8GfiMAQbABayICJAAgAkGoAWoiAyABQRhqIgQpAwA3AwAgAkGgAWoiBSABQRBqIgYpAwA3AwAgAkGYAWoiByABQQhqIggpAwA3AwAgAiABKQMANwOQASACQdAAaiACQZABaiIJEJ4BIAJBEGogAkHYAGopAwA3AwAgAkEYaiACQeAAaikDADcDACACQSBqIAJB6ABqKQMANwMAIAIgAikDUDcDCCACQYgBaiIKIAQpAwA3AwAgAkGAAWoiCyAGKQMANwMAIAJB+ABqIgwgCCkDADcDACACIAEpAwA3A3AgA0IANwMAIAVCADcDACAHQgA3AwAgAkIANwOQASACQv///////////wBCgICAgICAgICAfyACQfAAaiINIAkQmgJB/wFxQf8BRyIOGzcDQCACQn9CACAOGyIPNwM4IAIgDzcDMCACIA83AygCQAJAAkAgAkEIaiACQShqEJoCQf8BcUEBRwRAIAogBCkDADcDACALIAYpAwA3AwAgDCAIKQMANwMAIAIgASkDADcDcCADQgA3AwAgBUIANwMAIAdCADcDACACQgA3A5ABIA0gCRCaAiACKQNQIQ9B/wFxQf8BRwRAIAIpA2giEkIAUw0CIAIpA2AhECACKQNYIREMAwtCACACKQNYIhF9IhNQQgAgD30iD0IAUiIEQX9zcSIDIAIpA2BCf4UiECADrXwiFCAQVHGtIAIpA2hCf4V8IhJCAFkNASARQn+FIBMgBBshESAUIBAgAxshEAwCCyACQQI2ApQBIAJB3PzAADYCkAEgAkIBNwKcASACIAGtQoCAgICgB4Q3A3AgAiACQfAAajYCmAEgAkGQAWpB7PzAABDNASEBIABBATYCACAAIAE2AgQMAgsgAkECNgKUASACQaT9wAA2ApABIAJCATcCnAEgAiABrUKAgICAoAeENwNwIAIgAkHwAGo2ApgBIAAgAkGQAWpBtP3AABDNATYCBCAAQQE2AgAMAQsgAkECNgKUASACQaT9wAA2ApABIAJCATcCnAEgAiABrUKAgICAoAeENwNwIAIgAkHwAGo2ApgBIAJBkAFqQbT9wAAQzQEhASAAIBI3AyAgACAQNwMYIAAgETcDECAAIA83AwggAiABNgJMIAJBzABqEO0CIABBADYCAAsgAkGwAWokAAuVBgIMfwR+IwBBoAFrIgMkAAJAAkAgAikDAEIAUg0AIAIpAwhCAFINACACKQMQQgBSDQAgAikDGEIAUg0AIABCADcDCCAAQgE3AwAgAEEYakIANwMAIABBEGpCADcDAAwBCyADQRhqQgA3AwAgA0EQakIANwMAIANBCGpCADcDACADQShqIghCADcDACADQTBqIglCADcDACADQThqIgpCADcDACADQgE3AwAgA0IBNwMgIANB2ABqIAJBGGopAwA3AwAgA0HQAGogAkEQaikDADcDACADQcgAaiACQQhqKQMANwMAIAMgAikDADcDQCADQfgAaiIEIAFBGGopAwA3AwAgA0HwAGoiBSABQRBqKQMANwMAIANB6ABqIgYgAUEIaikDADcDACADIAEpAwA3A2AgA0EgaiELIANB4ABqIQwDQCALIQEgDCECAkADQAJAIAIgA0FAa0YNAEF/IAFBCGsiASkDACIPIAJBCGsi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fSIMQgBSIgRBf3NxIgEgCkJ/hSIKIAGtfCIOIApUca0gCUJ/hXwiCUIAWQ0CIAtCf4UgDSAEGyELIA4gCiABGyEKCyAGIAk3AyAgBiAKNwMYIAYgCzcDECAGIAw3AwhBAAwCCyAGIAUtAAk6AAFBAQwBCyAGQQE6AAFBAQs6AAAgBUEwaiQAIAMtACANASAAIAMpAyg3AwggAEEgaiADQUBrKQMANwMAIABBGGogA0E4aikDADcDACAAQRBqIANBMGopAwA3AwBBAAwCCyADIAE2AlwgA0ECNgIkIANBsI3BADYCICADQgI3AiwgAyADQdwAaq1CgICAgNALhDcDgAEgAyADQRBqrUKAgICA4AuENwN4IAMgA0H4AGoiATYCKCADQegAaiADQSBqIgQQzwEgA0EANgKAASADQoCAgIAQNwJ4IANBAzoAQCADQSA2AjAgA0EANgI8IANB1IvBADYCOCADQQA2AiggA0EANgIgIAMgATYCNCACIAQQkwINAyADQdAAaiIBIANBgAFqKAIANgIAIAMgAykCeDcDSCADKQJsIQkgAygCaCECIAMoAlwiBEGEAU8EQCAEEAALIAAgCTcCDCAAIAI2AgggAEIBNwMAIAAgAykDSDcCFCAAQRxqIAEoAgA2AgAMAgsgAyADLQAhOgBbIANBAjYCfCADQfSNwQA2AnggA0ICNwKEASADIANB2wBqrUKAgICAgAyENwNwIAMgA0EQaq1CgICAgOALhDcDaCADIANB6ABqIgE2AoABIANB3ABqIANB+ABqIgQQzwEgA0EANgJwIANCgICAgBA3AmggA0EDOgCYASADQSA2AogBIANBADYClAEgA0HUi8EANgKQASADQQA2AoABIANBADYCeCADIAE2AowBIAIgBBCTAg0CIAAgAykCaDcCFCAAQRxqIANB8ABqKAIANgIAIABBEGogA0HkAGooAgA2AgAgACADKQJcNwIIIABBADYCBEEBCzYCACADKAIUIgBFDQAgCCAAEIwDCyADQaABaiQADwtB/IvBAEE3IANBnwFqQeyLwQBBgI3BABCVAgALwAsBBX8jAEEgayIEJAACQAJAAkACQAJAAkACQAJAAkACQCABDigFCAgICAgICAgBAwgIAggICAgICAgICAgICAgICAgICAgIBggICAgHAAsgAUHcAEYNAwwHCyAA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CCEBDAALAAtBiOLBACABNgIAQYDiwQBBgOLBACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAPCyAAQfgBcUHw38EAaiECAn9B+OHBACgCACIDQQEgAEEDdnQiAHFFBEBB+OHBACAAIANyNgIAIAIMAQsgAigCCAshACACIAE2AgggACABNgIMIAEgAjYCDCABIAA2AggPC0Ho38EAKAIAIgEEQANAIABBAWohACABKAIIIgENAAsLQaDiwQBB/x8gACAAQf8fTRs2AgAgAyAETw0AQZjiwQBBfzYCAAsL6wQBB38jAEHwAGsiAyQAAkACQAJAAkAgAgRAIAEtAABBLUYNAQsgA0EoaiABIAIQjQEgAygCKA0BIAAgAykDMDcDCCAAQSBqIANByABqKQMANwMAIABBGGogA0FAaykDADcDACAAQRBqIANBOGopAwA3AwAgAEEANgApIABBEjoAKCAAQSxqQQA2AAAgAEEANgIADAMLIAJBAUcEQCABLAABQb9/TA0CCyADQShqIgQgAUEBaiACQQFrEI0BIAMoAihFBEAgA0EgaiIFIANByABqKQMANwMAIANBGGoiBiADQUBrIgEpAwA3AwAgA0EQaiIHIANBOGoiAikDADcDACADIAMpAzA3AwggAUIANwMAIAJCADcDACADQTBqIghCADcDACADQgA3AyggA0HQAGoiCSAEEJ0BAkAgA0EIaiAJQSAQrQJFBEAgA0HoAGpBgJjAACkDADcDACADQeAAakH4l8AAKQMANwMAIANB2ABqQfCXwAApAwA3AwAgA0Hol8AAKQMANwNQDAELIAEgBSkDADcDACACIAYpAwA3AwAgCCAHKQMANwMAIAMgAykDCDcDKCADQdAAaiADQShqEMgBCyAAIAMpA1A3AwggAEEANgApIABBEjoAKCAAQQA2AgAgAEEsakEANgAAIABBIGogA0HoAGopAwA3AwAgAEEYaiADQeAAaikDADcDACAAQRBqIANB2ABqKQMANwMADAMLIAMoAiwhASAAQQE2AgAgACABNgIEDAILIAMoAiwhASAAQQE2AgAgACABNgIEDAELIAEgAkEBIAJB/JbAABDxAgALIANB8ABqJAAL6wQBB38jAEHwAGsiAyQAAkACQAJAAkAgAgRAIAEtAABBLUYNAQsgA0EoaiABIAIQjQEgAygCKA0BIAAgAykDMDcDCCAAQSBqIANByABqKQMANwMAIABBGGogA0FAaykDADcDACAAQRBqIANBOGopAwA3AwAgAEEANgApIABBEjoAKCAAQSxqQQA2AAAgAEEANgIADAMLIAJBAUcEQCABLAABQb9/TA0CCyADQShqIgQgAUEBaiACQQFrEI0BIAMoAihFBEAgA0EgaiIFIANByABqKQMANwMAIANBGGoiBiADQUBrIgEpAwA3AwAgA0EQaiIHIANBOGoiAikDADcDACADIAMpAzA3AwggAUIANwMAIAJCADcDACADQTBqIghCADcDACADQgA3AyggA0HQAGoiCSAEEJ4BAkAgA0EIaiAJQSAQrQJFBEAgA0HoAGpBoPzAACkDADcDACADQeAAakGY/MAAKQMANwMAIANB2ABqQZD8wAApAwA3AwAgA0GI/MAAKQMANwNQDAELIAEgBSkDADcDACACIAYpAwA3AwAgCCAHKQMANwMAIAMgAykDCDcDKCADQdAAaiADQShqEMkBCyAAIAMpA1A3AwggAEEANgApIABBEjoAKCAAQQA2AgAgAEEsakEANgAAIABBIGogA0HoAGopAwA3AwAgAEEYaiADQeAAaikDADcDACAAQRBqIANB2ABqKQMANwMADAMLIAMoAiwhASAAQQE2AgAgACABNgIEDAILIAMoAiwhASAAQQE2AgAgACABNgIEDAELIAEgAkEBIAJBmPvAABDxAgALIANB8ABqJAAL7gQBCn8jAEEwayIDJAAgA0EDOgAsIANBIDYCHCADQQA2AiggAyABNgIkIAMgADYCICADQQA2AhQgA0EANgIMAn8CQAJAAkAgAigCECIKRQRAIAIoAgwiAEUNASACKAIIIQEgAEEDdCEFIABBAWtB/////wFxQQFqIQcgAigCACEAA0AgAEEEaigCACIEBEAgAygCICAAKAIAIAQgAygCJCgCDBEDAA0ECyABKAIAIANBDGogASgCBBEBAA0DIAFBCGohASAAQQhqIQAgBUEIayIFDQALDAELIAIoAhQiAEUNACAAQQV0IQsgAEEBa0H///8/cUEBaiEHIAIoAgghCCACKAIAIQADQCAAQQRqKAIAIgEEQCADKAIgIAAoAgAgASADKAIkKAIMEQMADQMLIAMgBSAKaiIBQRBqKAIANgIcIAMgAUEcai0A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gYKEeEcNAiAIQQhqIQggA0EIaiIDIABNDQALDAELQQAhAANAIAAgBWotAABBCkYNAiAGIABBAWoiAEcNAAsgAiEEDAMLIAMgBkYEQCACIQQMAwsDQCADIAVqLQAAQQpGBEAgAyEADAILIAYgA0EBaiIDRw0ACyACIQQMAgsgACAEaiIDQQFqIQQCQCACIANNDQAgACAFai0AAEEKRw0AIAQhBSAEIQAMAwsgAiAETw0ACwtBASEOIAIiACAHIgVGDQILAkAgDC0AAARAIAtBkMXBAEEEIAooAgwRAwANAQtBACEDIAAgB0cEQCAAIA9qLQAAQQpGIQMLIAAgB2shACABIAdqIQYgDCADOgAAIAUhByALIAYgACAKKAIMEQMARQ0BCwtBASENCyANC7MEAQR/IwBBkAFrIgMkACADQYABaiABQRhqKQMANwMAIANB+ABqIAFBEGopAwA3AwAgA0HwAGogAUEIaikDADcDACADQQE2AiQgA0GwlMAANgIgIANCATcCLCADIANB6ABqIgWtQoCAgIDQAIQ3A1ggAyABKQMANwNoIAMgA0HYAGo2AiggA0EUaiADQSBqEM8BIAMgAygCGCADKAIcEAEiBDYCaCADQQhqIAUQxwIgAygCDCEBIAMoAgghBSAEQYQBTwRAIAQQAAsCQAJAIAVFBEAgAEECNgIAIAAgATYCBAwBCyADQQE2AmwgA0HIlMAANgJoIANCATcCdCADIANBFGqtQoCAgIDgAIQ3AyAgAyADQSBqIgQ2AnAgA0HYAGogA0HoAGoiBRDPASADQQA2AiggA0KAgICAEDcCICADQQM6AIgBIANBIDYCeCADQQA2AoQBIANB0JTAADYCgAEgA0EANgJwIANBADYCaCADIAQ2AnwgAiAFEJMCDQEgA0FAayICIANBKGooAgA2AgAgA0HQAGoiBCADQeAAaigCADYCACADIAMpAiA3AzggAyADKQJYNwNIIAFBhAFPBEAgARAACyAAQQA2AgAgACADKQNINwIEIAAgAykDODcCECAAQQxqIAQoAgA2AgAgAEEYaiACKAIANgIACyADKAIUIgAEQCADKAIYIAAQjAMLIANBkAFqJAAPC0H4lMAAQTcgA0HIAGpB6JTAAEH8lcAAEJUCAAuiBAEEfyMAQYABayIDJAAgA0EANgJQIANCgICAgBA3Akgg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KQMANwIAIAQgBCkDwAg3AsQHIAMgBkE0akHsqMAAELEBIAQoArgIDQ0gBEGECGogBykDADcCACAEQfwHaiAIKQMANwIAIARB9AdqIAkpAwA3AgAgBCAEKQPACDcC7AcgAyAGQThqQfyowAAQsQEgBCgCuAhFBEAgBEGsCGogBykDACIfNwIAIARBpAhqIAgpAwAiIDcCACAEQZwIaiAJKQMAIiE3AgAgBEHoAGogITcDACAEQfAAaiAgNwMAIARB+ABqIB83AwAgBCAEKQPACCIfNwKUCCAEQQhqIARB5ANqIgNBCGopAgA3AwAgBEEQaiADQRBqKQIANwMAIARBGGogA0EYaikCADcDACAEIB83A2AgBCADKQIANwMAIARBOGogBEGMBGoiA0EYaikCADcDACAEQTBqIANBEGopAgA3AwAgBEEoaiADQQhqKQIANwMAIAQgAykCADcDICAEQdgAaiAEQewHaiIDQRhqKQIANwMAIARB0ABqIANBEGopAgA3AwAgBEHIAGogA0EIaikCADcDACAEIAMpAgA3A0AgBEGYAWogBEG0BGoiA0EYaikCADcDACAEQZABaiADQRBqKQIANwMAIARBiAFqIANBCGopAgA3AwAgBCADKQIANwOAASAEQbgBaiAEQdwEaiIDQRhqKQIANwMAIARBsAFqIANBEGopAgA3AwAgBEGoAWogA0EIaikCADcDACAEIAMpAgA3A6ABIARB2AFqIARBhAVqIgNBGGopAgA3AwAgBEHQAWogA0EQaikCADcDACAEQcgBaiADQQhqKQIANwMAIAQgAykCADcDwAEgBEH4AWogBEGsBWoiA0EYaikCADcDACAEQfABaiADQRBqKQIANwMAIARB6AFqIANBCGopAgA3AwAgBCADKQIANwPgASAEQZgCaiAEQdQFaiIDQRhqKQIANwMAIARBkAJqIANBEGopAgA3AwAgBEGIAmogA0EIaikCADcDACAEIAMpAgA3A4ACIARBuAJqIARB/AVqIgNBGGopAgA3AwAgBEGwAmogA0EQaikCADcDACAEQagCaiADQQhqKQIANwMAIAQgAykCADcDoAIgBEHYAmogBEGkBmoiA0EYaikCADcDACAEQdACaiADQRBqKQIANwMAIARByAJqIANBCGopAgA3AwAgBCADKQIANwPAAiAEQfgCaiAEQcwGaiIDQRhqKQIANwMAIARB8AJqIANBEGopAgA3AwAgBEHoAmogA0EIaikCADcDACAEIAMpAgA3A+ACIARBmANqIARB9AZqIgNBGGopAgA3AwAgBEGQA2ogA0EQaikCADcDACAEQYgDaiADQQhqKQIANwMAIAQgAykCADcDgAMgBEG4A2ogBEGcB2oiA0EYaikCADcDACAEQbADaiADQRBqKQIANwMAIARBqANqIANBCGopAgA3AwAgBCADKQIANwOgAyAEQdgDaiAEQcQHaiIDQRhqKQIANwMAIARB0ANqIANBEGopAgA3AwAgBEHIA2ogA0EIaikCADcDACAEIAMpAgA3A8ADIAVBCGogBEHgAxDZARogBUEANgIADA8LIARBqAhqIARB1AhqKAIAIgM2AgAgBEGgCGogBEHMCGopAgAiHzcDACAEQZgIaiAEQcQIaikCACIgNwMAIAQgBCkCvAgiITcDkAggBUEcaiADNgIAIAVBFGogHzcCACAFQQxqICA3AgAgBSAhNwIEIAVBATYCAAwOCyAEQfgDaiAEQdQIaigCACIDNgIAIARB8ANqIARBzAhqKQIAIh83AwAgBEHoA2ogBEHECGopAgAiIDcDACAEIAQpArwIIiE3A+ADIAVBHGogAzYCACAFQRRqIB83AgAgBUEMaiAgNwIAIAUgITcCBCAFQQE2AgAMDQsgBEGgBGogBEHUCGooAgAiAzYCACAEQZgEaiAEQcwIaikCACIfNwMAIARBkARqIARBxAhqKQIAIiA3AwAgBCAEKQK8CCIhNwOIBCAFQRxqIAM2AgAgBUEUaiAfNwIAIAVBDGogIDcCACAFICE3AgQgBUEBNgIADAwLIARByARqIARB1AhqKAIAIgM2AgAgBEHABGogBEHMCGopAgAiHzcDACAEQbgEaiAEQcQIaikCACIgNwMAIAQgBCkCvAgiITcDsAQgBUEcaiADNgIAIAVBFGogHzcCACAFQQxqICA3AgAgBSAhNwIEIAVBATYCAAwLCyAEQfAEaiAEQdQIaigCACIDNgIAIARB6ARqIARBzAhqKQIAIh83AwAgBEHgBGogBEHECGopAgAiIDcDACAEIAQpArwIIiE3A9gEIAVBHGogAzYCACAFQRRqIB83AgAgBUEMaiAgNwIAIAUgITcCBCAFQQE2AgAMCgsgBEGYBWog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NgJsIAQgDTYCaCAEIA82AmQgBCAONgJgIAQgAjYCXCAEIB42AlggBCACNgJUIAQgDDYCUCAEIB02AkwgBCAMNgJIIAQgCzYCRCAEIBw2AkAgBCALNgI8IAQgCTYCOCAEIBs2AjQgBCAJNgIwIAQgCDYCLCAEIBo2AiggBCAINgIkIAQgBzYCICAEIBk2AhwgBCAHNgIYIAQgAzYCFCAEIBg2AhAgBCADNgIMIAQgBjYCCCAEIBc2AgQgBCAGNgIAIAFBQGskACAFIQJBACEMIwBBkAxrIgMkACADQdgFaiIBIARBMGoiEEGMqcAAENABIANBoARqIgcgA0HkBWoiBSkCADcDACADQagEaiIIIANB7AVqIgYoAgA2AgAgAyADKQLcBTcDmAQCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKALYBSIJQQJGBEAgA0G4BGogBykDADcDACADQcAEaiAIKAIANgIAIAMgAykDmAQ3A7AEIAEgBEEYakGcqcAAENABIANB0ARqIgcgBSkCADcDACADQdgEaiIIIAYoAgA2AgAgAyADKQLcBTcDyAQgAygC2AUiCUECRw0CIANB6ARqIAcpAwA3AwAgA0HwBGogCCgCADYCACADIAMpA8gENwPgBCABIARBJGpBrKnAABDQASADQYAFaiIHIAUpAgA3AwAgA0GIBWoiCCAGKAIANgIAIAMgAykC3AU3A/gEIAMoAtgFIglBAkcNAyADQZgFaiAHKQMANwMAIANBoAVqIAgoAgA2AgAgAyADKQP4BDcDkAUgASAEQQxqQbypwAAQ0AEgA0GwBWoiASAFKQIANwMAIANBuAVqIgUgBigCADYCACADIAMpAtwFNwOoBSADKALYBSIGQQJHDQQgA0HIBWogASkDADcDACADQdAFaiAFKAIANgIAIAMgAykDqAU3A8AFIAMgBCgCfBAjNgL8BiADQeALaiIBIANB/AZqQcypwAAQsQEgAygC4AsNBSADQfQGaiADQYAMaiIFKQMANwIAIANB7AZqIANB+AtqIgYpAwA3AgAgA0HkBmogA0HwC2oiBykDADcCACADIAMpA+gLNwLcBiADIAQoAnwQJDYCpAcgASADQaQHakHcqcAAELEBIAMoAuALDQYgA0GcB2ogBSkDADcCACADQZQHaiAGKQMANwIAIANBjAdqIAcpAwA3AgAgAyADKQPoCzcChAcgAyAEKAJ8ECU2AswHIAEgA0HMB2pB7KnAABCxASADKALgCw0HIANBxAdqIAUpAwA3AgAgA0G8B2ogBikDADcCACADQbQHaiAHKQMANwIAIAMgAykD6As3AqwHIAMgBCgCfBAmNgL0ByABIANB9AdqQfypwAAQsQEgAygC4AsNCCADQewHaiAFKQMAIh83AgAgA0HkB2ogBikDACIgNwIAIANB3AdqIAcpAwAiITcCACADQcAGaiAhNwMAIANByAZqICA3AwAgA0HQBmogHzcDACADIAMpA+gLIh83AtQHIANB4AVqIANB3AZqIghBCGopAgA3AwAgA0HoBWogCEEQaikCADcDACADQfAFaiAIQRhqKQIANwMAIAMgHzcDuAYgAyAIKQIANwPYBSADQZAGaiADQYQHaiIIQRhqKQIANwMAIANBiAZqIAhBEGopAgA3AwAgA0GABmogCEEIaikCADcDACADIAgpAgA3A/gFIANBsAZqIANBrAdqIghBGGopAgA3AwAgA0GoBmogCEEQaikCADcDACADQaAGaiAIQQhqKQIANwMAIAMgCCkCADcDmAYgASAEQeAAakGMqsAAELEBIAMoAuALDQkgA0GUCGogBSkDACIfNwIAIANBjAhqIAYpAwAiIDcCACADQYQIaiAHKQMAIiE3AgAgA0GoCGogITcDACADQbAIaiAgNwMAIANBuAhqIB83AwAgAyADKQPoCyIfNwL8ByADIB83A6AIIAEgBEHkAGpBnKrAABCxASADKALgCw0KIANB3AhqIAUpAwAiHzcCACADQdQIaiAGKQMAIiA3AgAgA0HMCGogBykDACIhNwIAIANB8AhqICE3AwAgA0H4CGogIDcDACADQYAJaiAfNwMAIAMgAykD6AsiHzcCxAggAyAfNwPoCCABIARB6ABqQayqwAAQsQEgAygC4AsNCyADQaQJaiAFKQMANwIAIANBnAlqIAYpAwA3AgAgA0GUCWogBykDADcCACADIAMpA+gLNwKMCSABIARB+ABqQbyqwAAQsQEgAygC4AsNDCADQcwJaiAFKQMANwIAIANBxAlqIAYpAwA3AgAgA0G8CWogBykDADcCACADIAMpA+gLNwK0CSABIARB8ABqQcyqwAAQsQEgAygC4AsNDSADQfQJaiAFKQMANwIAIANB7AlqIAYpAwA3AgAgA0HkCWogBykDADcCACADIAMpA+gLNwLcCSABIARB9ABqQdyqwAAQsQEgAygC4AsNASADQZwKaiAFKQMANwIAIANBlApqIAYpAwA3AgAgA0GMCmogBykDADcCACADIAMpA+gLNwKECiABIARB7KrAABDQASADQbAKaiIFIANB7AtqKQIANwMAIANBuApqIgYgA0H0C2ooAgA2AgAgAyADKQLkCzcDqAogAygC4AsiB0ECRw0OIAEgBEHIAGpB/KrAABDQASADQcgKaiADQewLaikCADcDACADQdAKaiADQfQLaigCADYCACADIAMpAuQLNwPACgJAAkAgAygC4AsiAUECRgRAIANBlAtqIQkgBCgCWCEHIAQoAlwhCEEAIQVBACEBIwBBEGsiDiQAQQEhCwJAIAhBAXEEQCAJQoCAgICIgMAINwIADAELAkAgCEECSQ0AAkACQCAHLQAAQTBGBEAgBy0AAUH4AEYNAQsgCEEBdiEFDAELIAhBAmsiCEEBdiEFIAhBAkkNASAHQQJqIQcLQZHewQAtAAAaAkAgBUEBEPgCIgsEQCAHLQAAQbOwwQBqLQAAIg9B/wFGDQEgBy0AAUGzsMEAai0AACINQf8BRg0BQQEhAQNAAkAgCyABIgZqQQFrIA0gD0EEdHI6AAAgASAFRg0AIAcgDGoiDUECai0AAEGzsMEAai0AACIPQf8BRg0AIAxBAmohDCABQQFqIQEgDUEDai0AAEGzsMEAai0AACINQf8BRw0BCwsgBSAGSw0BIAUhAQwCC0EBIAUQ5AIACyAOQQhqIQZBACEBA0AgASAHaiABQQFqIQEtAABBs7DBAGotAABB/wFHDQALIAFBAWshDAJAIAggCCABa0EBak8EQCAGIAw2AgQgBiABIAdqQQFrLQAANgIADAELIAwgCEGUs8EAEKACAAsgCSAOKQMINwIEIAlBgICAgHg2AgAgCyAFEIwDDAELIAkgBTYCCCAJIAs2AgQgCSABNgIACyAOQRBqJAAgAygClAtBgICAgHhGDQEgA0GEC2ogA0GcC2ooAgA2AgAgAyADKQKUCzcC/AogA0ECNgL4CgwCCyADKAL4CyEFIAIgAykDwAo3AgggAiAFNgIcIAIgATYCBCACQQE2AgAgAkEYaiADQdAKaigCADYCACACQRBqIANByApqKQMANwIADBQLIAMgAykCmAs3AogMIANB+ApqIQUjAEHQAGsiASQAIAEgA0GIDGo2AgggAUEBNgIsIAFB5K3AADYCKCABQgE3AjQgASABQQhqrUKAgICAkAKENwMYIAEgAUEYaiIGNgIwIAFBDGogAUEoaiIHEM8BIAFBADYCICABQoCAgIAQNwIYIAFBAzoASCABQSA2AjggAUEANgJEIAFB7K3AADYCQCABQQA2AjAgAUEANgIoIAEgBjYCPAJAQYyrwAAgBxCTAkUEQCAFIAEpAhg3AhAgBUEYaiABQSBqKAIANgIAIAVBDGogAUEUaigCADYCACAFIAEpAgw3AgQgBUEBNgIAIAFB0ABqJAAMAQtBlK7AAEE3IAFBzwBqQYSuwABBmK/AABCVAgALIAMoAvgKIgFBAkcNEAsgAygCgAshBSADKAL8CiEGAkAgAygChAsiAUEgRgRAIANB+QtqIAVBGGopAAA3AAAgA0HxC2ogBUEQaikAADcAACADQekLaiAFQQhqKQAANwAAIAMgBSkAADcA4QtBACEBIAZFDQEgBSAGEIwDDAELIAMgATYC7AsgAyAFNgLoCyADIAY2AuQLQQEhAQsgAyABOgDgCyMAQRBrIgYkACADQbgLaiIBAn8gA0HgC2oiBS0AAEUEQCABIAUpAAE3AAEgAUEZaiAFQRlqKQAANwAAIAFBEWogBUERaikAADcAACABQQlqIAVBCWopAAA3AABBAAwBCyAGQQhqIAVBDGooAgA2AgAgBiAFKQIENwMAIAFBBGohByMAQdAAayIBJAAgASAGNgIIIAFBATYCLCABQcS6wAA2AiggAUIBNwI0IAEgAUEIaq1CgICAgKADhDcDGCABIAFBGGoiCDYCMCABQQxqIAFBKGoiCRDPASABQQA2AiAgAUKAgICAEDcCGCABQQM6AEggAUEgNgI4IAFBADYCRCABQcy6wAA2AkAgAUEANgIwIAFBADYCKCABIAg2AjwCQEGcq8AAIAkQkwJFBEAgByABKQIYNwIQIAdBGGogAUEgaigCADYCACAHQQxqIAFBFGooAgA2AgAgByABKQIMNwIEIAdBATYCACABQdAAaiQADAELQfS6wABBNyABQc8AakHkusAAQfi7wAAQlQIACyAGKAIAIgEEQCAGKAIEIAEQjAMLQQELOgAAIAZBEGokACADLQC4Cw0QIANB8ApqIgcgA0HRC2opAAA3AwAgA0HoCmoiCCADQckLaikAADcDACADQeAKaiIJIANBwQtqKQAANwMAIAMgAykAuQs3A9gKIAUgBEE8akGsq8AAENABIANBqAtqIgEgA0HsC2opAgA3AwAgA0GwC2oiBiADQfQLaigCADYCACADIAMpAuQLNwOgCyADKALgCyILQQJHDREgBSAEQewAakG8q8AAELEBIAMoAuALRQRAIANB1AtqIANBgAxqKQMAIh83AgAgA0HMC2ogA0H4C2opAwAiIDcCACADQcQLaiADQfALaikDACIhNwIAIANBkAJqICE3AwAgA0GYAmogIDcDACADQaACaiAfNwMAIANBkANqIANBuARqKQMANwMAIANBmANqIANBwARqKAIANgIAIAMgAykD6AsiHzcCvAsgAyAfNwOIAiADIAMpA7AENwOIAyADQawDaiAGKAIANgIAIANBpANqIAEpAwA3AgAgAyADKQOgCzcCnAMgA0HAA2ogA0HQCmooAgA2AgAgA0G4A2ogA0HICmopAwA3AwAgAyADKQPACjcDsAMgA0GgAWogBykDADcDACADQZgBaiAIKQMANwMAIANBkAFqIAkpAwA3AwAgAyADKQPYCjcDiAEgA0HAAWogA0G4CGopAwA3AwAgA0G4AWogA0GwCGopAwA3AwAgA0GwAWogA0GoCGopAwA3AwAgAyADKQOgCDcDqAEgA0HgAWogA0GACWopAwA3AwAgA0HYAWogA0H4CGopAwA3AwAgA0HQAWogA0HwCGopAwA3AwAgAyADKQPoCDcDyAEgA0GAAmogA0GMCWoiAUEYaikCADcDACADQfgBaiABQRBqKQIANwMAIANB8AFqIAFBCGopAgA3AwAgAyABKQIANwPoASADQcACaiADQdwJaiIBQRhqKQIANwMAIANBuAJqIAFBEGopAgA3AwAgA0GwAmogAUEIaikCADcDACADIAEpAgA3A6gCIANB4AJqIANBhApqIgFBGGopAgA3AwAgA0HYAmogAUEQaikCADcDACADQdACaiABQQhqKQIANwMAIAMgASkCADcDyAIgA0GAA2ogA0G0CWoiAUEYaikCADcDACADQfgCaiABQRBqKQIANwMAIANB8AJqIAFBCGopAgA3AwAgAyABKQIANwPoAiADQdQDaiADQaAFaigCADYCACADQcwDaiADQZgFaikDADcCACADIAMpA5AFNwLEAyADQegDaiADQdAFaigCADYCACADQeADaiADQcgFaikDADcDACADIAMpA8AFNwPYAyADQfwDaiADQfAEaigCADYCACADQfQDaiADQegEaikDADcCACADIAMpA+AENwLsAyADQZAEaiADQbgKaigCADYCACADQYgEaiADQbAKaikDADcDACADIAMpA6gKNwOABCADQQhqIgEgA0HYBWpBgAEQ2QEaIAJBCGogAUGQBBDZARogAkEANgIAIAMoAvQHIgFBhAFPBEAgARAACyADKALMByIBQYQBTwRAIAEQAAsgAygCpAciAUGEAU8EQCABEAALIAMoAvwGIgFBhAFJDRcgARAADBcLIANB0AtqIANB/AtqKAIAIgE2AgAgA0HIC2ogA0H0C2opAgAiHzcDACADQcALaiADQewLaikCACIgNwMAIAMgAykC5AsiITcDuAsgAkEcaiABNgIAIAJBFGogHzcCACACQQxqICA3AgAgAiAhNwIEIAJBATYCAAwSCyADKALwBSEBIAIgAykDmAQ3AgggAiABNgIcIAIgCTYCBCACQQE2AgAgAkEYaiAIKAIANgIAIAJBEGogBykDADcCAAwVCyADQZgKaiADQfwLaigCACIBNgIAIANBkApqIANB9AtqKQIAIh83AwAgA0GICmogA0HsC2opAgAiIDcDACADIAMpAuQLIiE3A4AKIAJBHGogATYCACACQRRqIB83AgAgAkEMaiAgNwIAIAIgITcCBCACQQE2AgAMEAsgAygC8AUhASACIAMpA8gENwIIIAIgATYCHCACIAk2AgQgAkEBNgIAIAJBGGogA0HYBGooAgA2AgAgAkEQaiADQdAEaikDADcCAAwTCyADKALwBSEBIAIgAykD+AQ3AgggAiABNgIcIAIgCTYCBCACQQE2AgAgAkEYaiAIKAIANgIAIAJBEGogBykDADcCAAwSCyADKALwBSEBIAIgAykDqAU3AgggAiABNgIcIAIgBjYCBCACQQE2AgAgAkEYaiADQbgFaigCADYCACACQRBqIANBsAVqKQMANwIADBELIANB8AZqIANB/AtqKAIAIgE2AgAgA0HoBmogA0H0C2opAgAiHzcDACADQeAGaiADQewLaikCACIgNwMAIAMgAykC5AsiITcD2AYgAkEcaiABNgIAIAJBFGogHzcCACACQQxqICA3AgAgAiAhNwIEIAJBATYCAAwPCyADQZgHaiADQfwLaigCACIBNgIAIANBkAdqIANB9AtqKQIAIh83AwAgA0GIB2ogA0HsC2opAgAiIDcDACADIAMpAuQLIiE3A4AHIAJBHGogATYCACACQRRqIB83AgAgAkEMaiAgNwIAIAIgITcCBCACQQE2AgAMDQsgA0HAB2ogA0H8C2ooAgAiATYCACADQbgHaiADQfQLaikCACIfNwMAIANBsAdqIANB7AtqKQIAIiA3AwAgAyADKQLkCyIhNwOoByACQRxqIAE2AgAgAkEUaiAfNwIAIAJBDGogIDcCACACICE3AgQgAkEBNgIADAsLIANB6AdqIANB/AtqKAIAIgE2AgAgA0HgB2ogA0H0C2opAgAiHzcDACADQdgHaiADQewLaikCACIgNwMAIAMgAykC5AsiITcD0AcgAkEcaiABNgIAIAJBFGogHzcCACACQQxqICA3AgAgAiAhNwIEIAJBATYCAAwJCyADQZAIaiADQfwLaigCACIBNgIAIANBiAhqIANB9AtqKQIAIh83AwAgA0GACGogA0HsC2opAgAiIDcDACADIAMpAuQLIiE3A/gHIAJBHGogATYCACACQRRqIB83AgAgAkEMaiAgNwIAIAIgITcCBCACQQE2AgAMCAsgA0HYCGogA0H8C2ooAgAiATYCACADQdAIaiADQfQLaikCACIfNwMAIANByAhqIANB7AtqKQIAIiA3AwAgAyADKQLkCyIhNwPACCACQRxqIAE2AgAgAkEUaiAfNwIAIAJBDGogIDcCACACICE3AgQgAkEBNgIADAcLIANBoAlqIANB/AtqKAIAIgE2AgAgA0GYCWogA0H0C2opAgAiHzcDACADQZAJaiADQewLaikCACIgNwMAIAMgAykC5AsiITcDiAkgAkEcaiABNgIAIAJBFGogHzcCACACQQxqICA3AgAgAiAhNwIEIAJBATYCAAwGCyADQcgJaiADQfwLaigCACIBNgIAIANBwAlqIANB9AtqKQIAIh83AwAgA0G4CWogA0HsC2opAgAiIDcDACADIAMpAuQLIiE3A7AJIAJBHGogATYCACACQRRqIB83AgAg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AWogA0GgAWoQzwEgA0HwAGpCADcDACADQgA3A2ggASkDACEGIAMpA4ABIQcgAygClAEiAQRAIAMoApgBIAEQjAMLIANBEjoAeCADIAc3A1ggAyAGNwNgIAAgA0EwaiADQdgAaiACEHsgA0HAAWokAAvaAwIDfwR+IwBBwAFrIgMkACABLQAgIQQgA0HUAGogAUEkaigAADYAACADQThqIAFBCGopAwA3AwAgA0FAayABQRBqKQMANwMAIANByABqIAFBGGopAwA3AwAgAyAEOgBQIAMgASgAITYAUSADIAEpAwA3AzBCASEGAkACQAJAIAQOAgIBAAtCCiEGQgEhCANAIANBEGogBkIBIARBAXEiARsgB0IAIAEbIAggCRCUAiADQSBqIAYgByAGIAcQlAIgBEEDSyADQShqKQMAIQcgA0EYaikDACEJIAMpAyAhBiADKQMQIQggBEEBdiEEDQALIAMgCCAJIAYgBxCUAiADQQhqKQMAIQcgAykDACEGDAELQgohBgsgA0GIAWoiASAHNwMAIAMgBjcDgAEgA0EBNgKkASADQbCUwAA2AqABIANCATcCrAEgAyADQYABaq1CgICAgBCENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahDPASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARCMAwsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIAIgA0HYAGoQeyADQcABaiQAC9sDAgN/BH4jAEHAAWsiAyQAIAEtACAhBCADQdQAaiABQSRqKAAANgAAIANBOGogAUEIaikDADcDACADQUBrIAFBEGopAwA3AwAgA0HIAGogAUEYaikDADcDACADIAQ6AFAgAyABKAAhNgBRIAMgASkDADcDMEIBIQYCQAJAAkAgBA4CAgEAC0IKIQZCASEIA0AgA0EQaiAGQgEgBEEBcSIBGyAHQgAgARsgCCAJEJQCIANBIGogBiAHIAYgBxCUAiAEQQNLIANBKGopAwAhByADQRhqKQMAIQkgAykDICEGIAMpAxAhCCAEQQF2IQQNAAsgAyAIIAkgBiAHEJQCIANBCGopAwAhByADKQMAIQYMAQtCCiEGCyADQYgBaiIBIAc3AwAgAyAGNwOAASADQQE2AqQBIANBxP3AADYCoAEgA0IBNwKsASADIANBgAFqrUKAgICAsAeENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahDPASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARCMAwsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIANB2ABqIAIQfCADQcABaiQAC9sDAgN/BH4jAEHAAWsiAyQAIAEtACAhBCADQdQAaiABQSRqKAAANgAAIANBOGogAUEIaikDADcDACADQUBrIAFBEGopAwA3AwAgA0HIAGogAUEYaikDADcDACADIAQ6AFAgAyABKAAhNgBRIAMgASkDADcDMEIBIQYCQAJAAkAgBA4CAgEAC0IKIQZCASEIA0AgA0EQaiAGQgEgBEEBcSIBGyAHQgAgARsgCCAJEJQCIANBIGogBiAHIAYgBxCUAiAEQQNLIANBKGopAwAhByADQRhqKQMAIQkgAykDICEGIAMpAxAhCCAEQQF2IQQNAAsgAyAIIAkgBiAHEJQCIANBCGopAwAhByADKQMAIQYMAQtCCiEGCyADQYgBaiIBIAc3AwAgAyAGNwOAASADQQE2AqQBIANBxP3AADYCoAEgA0IBNwKsASADIANBgAFqrUKAgICAsAeENwO4ASADIANBuAFqNgKoASADQZQBaiADQaABahDPASADQfAAakIANwMAIANCADcDaCABKQMAIQYgAykDgAEhByADKAKUASIBBEAgAygCmAEgARCMAwsgA0ESOgB4IAMgBzcDWCADIAY3A2AgACADQTBqIAIgA0HYAGoQfCADQcABaiQAC8oDAgt/BX4jAEHQAWsiBCQAIAApAxAhDgJAAkAgACkDACIQIAApAwgiD4RQRQRAIAApAxghDQwBC0IAIQ8gDiAAKQMYIg2EQgBSDQAgASgCFEHmtMEAQQEgASgCGCgCDBEDACEADAELIARBAEHQABD8ASIAQc8AaiEFIABB+ABqIQMgAEGwAWohBiAAQegAaiEHAkADQCAHIA03AwAgAEHgAGogDjcDACAAQdgAaiAPNwMAIAAgEDcDUCADQgA3AwAgA0EIaiIIQgA3AwAgA0EQaiIJQgA3AwAgAEIKNwNwIABBkAFqIgogAEHQAGoiCyAAQfAAaiIMEHMgACAGKQMAIhE3A1AgAkHPAGpBzwBLDQEgAiAFaiARp0EwajoAACAAIA03A2ggACAONwNgIAAgDzcDWCAAIBA3A1AgA0IANwMAIAhCADcDACAJQgA3AwAgAEIKNwNwIAogCyAMEHMgACkDqAEhDSAAKQOQASIQIAApA5gBIg+EIAApA6ABIg6EIA2EUEUEQCACQQFrIQIMAQsLIAFBAUEBQQAgACACakHPAGpBASACaxCuASEADAELQX9B0ABBjLXBABCgAgALIARB0AFqJAAgAAv8AwECfyAAIAFqIQICQAJAIAAoAgQiA0EBcQ0AIANBAnFFDQEgACgCACIDIAFqIQEgACADayIAQYjiwQAoAgBGBEAgAigCBEEDcUEDRw0BQYDiwQAgATYCACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAIgATYCAAwCCyAAIAMQ1QELAkACQAJAIAIoAgQiA0ECcUUEQCACQYziwQAoAgBGDQIgAkGI4sEAKAIARg0DIAIgA0F4cSICENUBIAAgASACaiIBQQFyNgIEIAAgAWogATYCACAAQYjiwQAoAgBHDQFBgOLBACABNgIADwsgAiADQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALIAFBgAJPBEAgACABEOkBDwsgAUH4AXFB8N/BAGohAgJ/QfjhwQAoAgAiA0EBIAFBA3Z0IgFxRQRAQfjhwQAgASADcjYCACACDAELIAIoAggLIQEgAiAANgIIIAEgADYCDCAAIAI2AgwgACABNgIIDwtBjOLBACAANgIAQYTiwQBBhOLBACgCACABaiIBNgIAIAAgAUEBcjYCBCAAQYjiwQAoAgBHDQFBgOLBAEEANgIAQYjiwQBBADYCAA8LQYjiwQAgADYCAEGA4sEAQYDiwQAoAgAgAWoiATYCACAAIAFBAXI2AgQgACABaiABNgIACwu2AwIBfwl+IwBB0ABrIgMkACADQQhqIAEQ1wECQCADKAIIRQRAIAMpAyAhCSADKQMYIQQgAikDECEGIAIpAwghBQJ+IAMpAxAiCyACKQMAIgxaBEAgBCAFVK0hCCAEIAV9DAELIAQgBVStIAQgBVGtfCEIIAQgBUJ/hXwLIQogAykDKCEEIAIpAxghBSAJIAZ9IQcCQCAIUARAQn9CACAGIAlWGyEGDAELQn9CACAGIAlWGyAHIAhUrX0hBiAHIAh9IQcLAkAgBCAFfSAGfCIEQgBTDQAgAyAENwNIIAMgBzcDQCADIAo3AzggAyALIAx9IgU3AzAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0IANwMIIANBMGogA0EIaiIBEJoCQf8BcUH/AUYNACADIAQ3AyAgAyAHNwMYIAMgCjcDECADIAU3AwggACABELoBDAILIANBADYCGCADQQE2AgwgA0G0iMEANgIIIANCBDcCECADQQhqQbyIwQAQzQEhASAAQQE2AgAgACABNgIEDAELIAMoAgwhASAAQQE2AgAgACABNgIECyADQdAAaiQAC+oCAgN/Bn4jAEFAaiIDJAAgAAJ/AkAgAkUEQAwBCwJAA0AgAS0AAEEwayIEQf8BcUEJSw0BIANBMGogCUIAQgpCABCUAiADQSBqIAhCAEIKQgAQlAIgA0EQaiAGQgBCCkIAEJQCIAMgB0IAQgpCABCUAgJAIANBCGopAwAgA0EYaikDACADQShqKQMAIAMpAyAiByADQThqKQMAfCIKIAdUrXwiByADKQMQfCIIIAdUrXwiBiADKQMAfCIHIAZUrXxQRQ0AIAggAykDMCIGIAStQv8Bg3wiCSAGVCIFIApCAXwiC1BxIgStfCEGIARFIAYgCFpyRQRAIAdCAXwiB1ANAQsgAUEBaiEBIAYgCCAEGyEGIAsgCiAFGyEIIAJBAWsiAkUNAwwBCwsgAEEBOgABQQEMAgsgAEEAOgABQQEMAQsgACAHNwMgIAAgBjcDGCAAIAg3AxAgACAJNwMIQQALOgAAIANBQGskAAuRAwIBfwZ+IwBBQGoiAiQAIAJBGGpCADcDACACQRBqQgA3AwAgAkEIakIANwMAIAJCADcDACACQThqQgA3AwAgAkEwakIANwMAIAJBKGpCADcDACACQgA3AyAgAiACQSBqEJoCQf8BcUH/AUYEQCABKQMIIQMgASkDGCEGQgAgASkDECIEfSEFAkACfiABKQMAIghQBEBCACADfSEHIANCAFKtDAELIANCf4UhByADQgBSrSADUK18CyIDUARAIARCAFKtIQQMAQsgAyAFVq0gBEIAUq18IQQgBSADfSEFCyAAIAU3AxAgACAHNwMIIABCACAIfTcDAEIAIAZ9IQMCQCAEUARAIAAgAzcDGCAGUEUNASACQUBrJAAPCyAAIAMgBH03AxgLIAJBADYCMCACQQE2AiQgAkGsvMAANgIgIAJCBDcCKCACQSBqQbS6wAAQswIACyACQQE2AiQgAkG0ucAANgIgIAJCATcCLCACIAGtQoCAgIDQAIQ3AwAgAiACNgIoIAJBIGpBvLnAABCzAgALkQMCAX8GfiMAQUBqIgIkACACQRhqQgA3AwAgAkEQakIANwMAIAJBCGpCADcDACACQgA3AwAgAkE4akIANwMAIAJBMGpCADcDACACQShqQgA3AwAgAkIANwMgIAIgAkEgahCaAkH/AXFB/wFGBEAgASkDCCEDIAEpAxghBkIAIAEpAxAiBH0hBQJAAn4gASkDACIIUARAQgAgA30hByADQgBSrQwBCyADQn+FIQcgA0IAUq0gA1CtfAsiA1AEQCAEQgBSrSEEDAELIAMgBVatIARCAFKtfCEEIAUgA30hBQsgACAFNwMQIAAgBzcDCCAAQgAgCH03AwBCACAGfSEDAkAgBFAEQCAAIAM3AxggBlBFDQEgAkFAayQADwsgACADIAR9NwMYCyACQQA2AjAgAkEBNgIkIAJBlIfBADYCICACQgQ3AiggAkEgakGohcEAELMCAAsgAkEBNgIkIAJBqITBADYCICACQgE3AiwgAiABrUKAgICA0ACENwMAIAIgAjYCKCACQSBqQbCEwQAQswIAC5EDAgF/Bn4jAEFAaiICJAAgAkEYakIANwMAIAJBEGpCADcDACACQQhqQgA3AwAgAkIANwMAIAJBOGpCADcDACACQTBqQgA3AwAgAkEoakIANwMAIAJCADcDICACIAJBIGoQmgJB/wFxQf8BRgRAIAEpAwghAyABKQMYIQZCACABKQMQIgR9IQUCQAJ+IAEpAwAiCFAEQEIAIAN9IQcgA0IAUq0MAQsgA0J/hSEHIANCAFKtIANQrXwLIgNQBEAgBEIAUq0hBAwBCyADIAVWrSAEQgBSrXwhBCAFIAN9IQULIAAgBTcDECAAIAc3AwggAEIAIAh9NwMAQgAgBn0hAwJAIARQBEAgACADNwMYIAZQRQ0BIAJBQGskAA8LIAAgAyAEfTcDGAsgAkEANgIwIAJBATYCJCACQZimwQA2AiAgAkIENwIoIAJBIGpBuKXBABCzAgALIAJBATYCJCACQeSmwQA2AiAgAkIBNwIsIAIgAa1CgICAgNAAhDcDACACIAI2AiggAkEgakHUp8EAELMCAAuoAwICfwl+IwBBgAFrIgMkACADQdAAaiIEQYDnhA8QngIgA0ESOgBwIAMgAiAEEMIBIARBnIfBAEEEELcBAkAgAygCUEUEQCADKQNoIQcgAykDYCEFIAEpAxAhCCABKQMIIQYCfiADKQNYIgsgASkDACIMWgRAIAUgBlStIQkgBSAGfQwBCyAFIAZUrSAFIAZRrXwhCSAFIAZCf4V8CyENIAMpA3AhBSABKQMYIQYgByAIfSEKAkAgCVAEQCAHIAhUrSEHDAELIAkgClatIAcgCFStfCEHIAogCX0hCgsgBSAGfSEIAkAgB1AEQCAFIAZaDQEMAwsgBSAGVCAHIAhWcg0CIAggB30hCAsgA0ESOgBIIAMgCDcDQCADIAo3AzggAyANNwMwIAMgCyAMfTcDKCADQdAAaiICIAEgAxDDASAAIANBKGogAhDCASADQYABaiQADwsgAyADKAJUNgIoQaCCwQBBKyADQShqQZCCwQBBzIjBABCVAgALIANBADYCYCADQQE2AlQgA0GUh8EANgJQIANCBDcCWCADQdAAakGohcEAELMCAAvpAgEFfwJAQc3/e0EQIAAgAEEQTRsiAGsgAU0NACAAQRAgAUELakF4cSABQQtJGyIEakEMahBvIgJFDQAgAkEIayEBAkAgAEEBayIDIAJxRQRAIAEhAAwBCyACQQRrIgUoAgAiBkF4cSACIANqQQAgAGtxQQhrIgIgAEEAIAIgAWtBEE0baiIAIAFrIgJrIQMgBkEDcQRAIAAgAyAAKAIEQQFxckECcjYCBCAAIANqIgMgAygCBEEBcjYCBCAFIAIgBSgCAEEBcXJBAnI2AgAgASACaiIDIAMoAgRBAXI2AgQgASACEMUBDAELIAEoAgAhASAAIAM2AgQgACABIAJqNgIACwJAIAAoAgQiAUEDcUUNACABQXhxIgIgBEEQak0NACAAIAQgAUEBcXJBAnI2AgQgACAEaiIBIAIgBGsiBEEDcjYCBCAAIAJqIgIgAigCBEEBcjYCBCABIAQQxQELIABBCGohAwsgAwvJAwEEfyMAQTBrIgIkACAAKAIMIQMCQAJAAkACQAJAAkAgACgCBA4CAAECCyADDQFBASEAQQAhAwwCCyADDQAgACgCACIAKAIEIQMgACgCACEADAELIAJBFGogABDPAUGc3sEAKAIAQQJHBEAQrAILIAJBlN7BACgCACACQRRqQairwQBBmN7BACgCACgCFBEGACACKAIAIgMgASACKAIEIgEoAiARAAAgAkEoaiIEIAJBHGooAgA2AgBBkd7BAC0AABogAiACKQIUNwMgQRhBBBD4AiIABEAgACABNgIIIAAgAzYCBCAAQdSrwQA2AgAgACACKQMgNwIMIABBFGogBCgCADYCAAwCC0EEQRgQqQMACyACIAM2AiQgAiAANgIgQZzewQAoAgBBAkcEQBCsAgsgAkEIakGU3sEAKAIAIAJBIGpB0KrBAEGY3sEAKAIAKAIUEQYAIAIoAggiAyABIAIoAgwiASgCIBEAAEGR3sEALQAAGiACKAIkIQQgAigCICEFQRRBBBD4AiIARQ0BIAAgBDYCECAAIAU2AgwgACABNgIIIAAgAzYCBCAAQfyqwQA2AgALIAJBMGokACAADwtBBEEUEKkDAAuZAwIFfwF+IwBBQGoiBCQAIAQgAjYCFCAEIAE2AhBBASECIARBATYCJCAEQeiswQA2AiAgBEIBNwIsIARCgICAgPAQIgkgBEEQaq2ENwM4IAQgBEE4ajYCKAJAIAMoAhQiBiADKAIYIgcgBEEgahC4AQ0AIAMtABxBBHFFBEBBACECDAELIAkgBEEYaq2EIQlBACECIAQoAhQhBSAEKAIQIQBBASEDA0ACQCACQQFxBEAgBSEBIAAiAg0BQQAhAgwDCyAARQRAQQAhAgwDCyADQQFrIQhBACEDIAAhAiAFIQECQANAIARBCGogAiABKAIYEQAAIAQoAgwhASAEKAIIIQIgAyAIRg0BIANBAWohAyACDQALQQAhAgwDCyACDQBBACECDAILIAQgAiABKAIYEQAAIAQoAgQhBSAEKAIAIQAgBCABNgIcIAQgAjYCGEEBIQIgBEEBNgIkIARB9KzBADYCICAEQgE3AiwgBCAJNwM4IAQgBEE4ajYCKEEAIQMgBiAHIARBIGoQuAFFDQALCyAEQUBrJAAgAgv/AgEHfyMAQRBrIgQkAAJAAkACQAJAAkAgASgCBCICRQ0AIAEoAgAhByACQQNxIQUCQCACQQRJBEBBACECDAELIAdBHGohAyACQXxxIQhBACECA0AgAygCACADQQhrKAIAIANBEGsoAgAgA0EYaygCACACampqaiECIANBIGohAyAIIAZBBGoiBkcNAAsLIAUEQCAGQQN0IAdqQQRqIQMDQCADKAIAIAJqIQIgA0EIaiEDIAVBAWsiBQ0ACwsgASgCDARAIAJBAEgNASAHKAIERSACQRBJcQ0BIAJBAXQhAgsgAg0BC0EBIQNBACECDAELQQAhBSACQQBIDQFBkd7BAC0AABpBASEFIAJBARD4AiIDRQ0BCyAEQQA2AgggBCADNgIEIAQgAjYCACAEQfC/wQAgARC4AUUNAUHYwMEAQdYAIARBD2pByMDBAEHAwcEAEJUCAAsgBSACEOQCAAsgACAEKQIANwIAIABBCGogBEEIaigCADYCACAEQRBqJAALlg4BGH8jAEGAAWsiBSQAIAUgATYCDCAFQShqIQcgASgCBCEKAkAgASgCCCIBRQRAQQEhCQwBCyABQQBOBEBBkd7BAC0AABpBASEIIAFBARD4AiIJDQELIAggARDkAgALIAkgCiABENkBIQggByABNgIIIAcgCDYCBCAHIAE2AgAgBUEQaiEGIAUoAiwiGiEBIAUoAjAhBCMAQSBrIgMkACAEQQJJBH9BAAUgBCAEQQJrQeS0wQAgAUECEK0CIgcbIQQgB0VBAXQLIQcgA0EANgIQIANBADoAFCADIAEgB2oiATYCCCADIAE2AgAgAyAENgIEIAMgASAEajYCDCADQRhqIgcgAxCbAQJAAn8CQAJAAkAgAygCGCIEQYKAxABGDQAgAygCHCEBIARBgYDEAEcNAiAHIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCEHIARBgYDEAEcEQCAHIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhCCAEQYGAxABHBEAgCCEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIQkgBEGBgMQARwRAIAkhAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCEKIARBgYDEAEcEQCAKIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhCyAEQYGAxABHBEAgCyEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIQwgBEGBgMQARwRAIAwhAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCENIARBgYDEAEcEQCANIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhDiAEQYGAxABHBEAgDiEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIQ8gBEGBgMQARwRAIA8hAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCEQIARBgYDEAEcEQCAQIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhESAEQYGAxABHBEAgESEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIRIgBEGBgMQARwRAIBIhAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCETIARBgYDEAEcEQCATIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhFCAEQYGAxABHBEAgFCEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIRUgBEGBgMQARwRAIBUhAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCEWIARBgYDEAEcEQCAWIQEMAwsgA0EYaiADEJsBIAMoAhgiBEGCgMQARg0AIAMoAhwhFyAEQYGAxABHBEAgFyEBDAMLIANBGGogAxCbASADKAIYIgRBgoDEAEYNACADKAIcIRggBEGBgMQARwRAIBghAQwDCyADQRhqIAMQmwEgAygCGCIEQYKAxABGDQAgAygCHCEZIARBgYDEAEcEQCAZIQEMAwsgA0EYaiADEJsBIAMoAhhBgoDEAEYNAQtBgIDEACEBQQQMAgsgBiAZOgAUIAYgGDoAEyAGIBc6ABIgBiAWOgARIAYgFToAECAGIBQ6AA8gBiATOgAOIAYgEjoADSAGIBE6AAwgBiAQOgALIAYgDzoACiAGIA46AAkgBiANOgAIIAYgDDoAByAGIAs6AAYgBiAKOgAFIAYgCToABCAGIAg6AAMgBiAHOgACIAYgAToAASAGQQA6AAAMAgsgBiAENgIEQQgLIAZqIAE2AgAgBkEBOgAACyADQSBqJAACQAJAIAUtABBFBEAgACAFKQARNwAEIABBFGogBUEhaigAADYAACAAQQxqIAVBGWopAAA3AABBAiEBDAELIAUgBSkCFDcCNCAFQQI2AlwgBUH4isEANgJYIAVCAjcCZCAFIAVBNGqtQoCAgIDgCoQ3A1AgBSAFQQxqrUKAgICA8AqENwNIIAUgBUHIAGoiBzYCYCAFQTxqIAVB2ABqIggQzwFBACEBIAVBADYCUCAFQoCAgIAQNwJIIAVBAzoAeCAFQSA2AmggBUEANgJ0IAVBpInBADYCcCAFQQA2AmAgBUEANgJYIAUgBzYCbCACIAgQkwINASAAIAUpAkg3AhAgAEEYaiAFQdAAaigCADYCACAAQQxqIAVBxABqKAIANgIAIAAgBSkCPDcCBAsgACABNgIAIAUoAigiAARAIBogABCMAwsgBUGAAWokAA8LQcyJwQBBNyAFQf8AakG8icEAQdCKwQAQlQIAC4cDAQR/IwBB0ABrIgMkAAJAAkAgASgCAEUEQCAAIAEpAwg3AwggAEEoaiABQShqKQMANwMAIABBIGogAUEgaikDADcDACAAQRhqIAFBGGopAwA3AwAgAEEQaiABQRBqKQMANwMAQQAhAQwBCyADIAEoAgQ2AgQgAyADQQRqIgQ2AghBASEBIANBATYCLCADQbS8wAA2AiggA0IBNwI0IAMgA0EIaq1CgICAgPADhDcDGCADIANBGGoiBTYCMCADQQxqIANBKGoiBhDPASADQQA2AiAgA0KAgICAEDcCGCADQQM6AEggA0EgNgI4IANBADYCRCADQby8wAA2AkAgA0EANgIwIANBADYCKCADIAU2AjwgAiAGEJMCDQEgACADKQIYNwIUIABBHGogA0EgaigCADYCACAAQRBqIANBFGooAgA2AgAgACADKQIMNwIIIAQQ7QIgAEEBNgIECyAAIAE2AgAgA0HQAGokAA8LQeS8wABBNyADQc8AakHUvMAAQei9wAAQlQIAC68DAQd/QQEhCQJAAkAgAkUNACABIAJBAXRqIQogAEGA/gNxQQh2IQsgAEH/AXEhDQNAIAFBAmohDCAHIAEtAAEiAmohCCALIAEtAAAiAUcEQCABIAtLDQIgCCEHIAwiASAKRg0CDAELAkACQCAHIAhNBEAgBCAISQ0BIAMgB2ohAQNAIAJFDQMgAkEBayECIAEtAAAgAUEBaiEBIA1HDQALQQAhCQwFCyAHIAhBwMvBABChAgALIwBBMGsiACQAIAAgCDYCACAAIAQ2AgQgAEECNgIMIABByMjBADYCCCAAQgI3AhQgACAAQQRqrUKAgICA0A2ENwMoIAAgAK1CgICAgNANhDcDICAAIABBIGo2AhAgAEEIakHAy8EAELMCAAsgCCEHIAwiASAKRw0ACwsgBkUNACAFIAZqIQMgAEH//wNxIQEDQCAFQQFqIQACQCAFLAAAIgJBAE4EQCAAIQUMAQsgACADRwRAIAUtAAEgAkH/AHFBCHRyIQIgBUECaiEFDAELQbDLwQAQjwMACyABIAJrIgFBAEgNASAJQQFzIQkgAyAFRw0ACwsgCUEBcQveAgIDfwR+IwBB8ABrIgIkAEIBIQUCQAJAAkAgAS0AICIBDgICAQALQgohBUIBIQcDQCACQRBqIAVCASABQQFxIgMbIAZCACADGyAHIAgQlAIgAkEgaiAFIAYgBSAGEJQCIAFBA0sgAkEoaikDACEGIAJBGGopAwAhCCACKQMgIQUgAikDECEHIAFBAXYhAQ0ACyACIAcgCCAFIAYQlAIgAkEIaikDACEGIAIpAwAhBQwBC0IKIQULIAJBOGoiASAGNwMAIAIgBTcDMCACQQE2AlQgAkGwlMAANgJQIAJCATcCXCACIAJBMGqtQoCAgIAQhDcDaCACIAJB6ABqNgJYIAJBxABqIAJB0ABqEM8BIABCADcDECAAQRhqQgA3AwAgASkDACEFIAIpAzAhBiACKAJEIgEEQCACKAJIIAEQjAMLIABBEjoAICAAIAU3AwggACAGNwMAIAJB8ABqJAAL3wICA38EfiMAQfAAayICJABCASEFAkACQAJAIAEtACAiAQ4CAgEAC0IKIQVCASEHA0AgAkEQaiAFQgEgAUEBcSIDGyAGQgAgAxsgByAIEJQCIAJBIGogBSAGIAUgBhCUAiABQQNLIAJBKGopAwAhBiACQRhqKQMAIQggAikDICEFIAIpAxAhByABQQF2IQENAAsgAiAHIAggBSAGEJQCIAJBCGopAwAhBiACKQMAIQUMAQtCCiEFCyACQThqIgEgBjcDACACIAU3AzAgAkEBNgJUIAJBxP3AADYCUCACQgE3AlwgAiACQTBqrUKAgICAsAeENwNoIAIgAkHoAGo2AlggAkHEAGogAkHQAGoQzwEgAEIANwMQIABBGGpCADcDACABKQMAIQUgAikDMCEGIAIoAkQiAQRAIAIoAkggARCMAwsgAEESOgAgIAAgBTcDCCAAIAY3AwAgAkHwAGokAAvxAgEEfyAAKAIMIQICQAJAIAFBgAJPBEAgACgCGCEDAkACQCAAIAJGBEAgAEEUQRAgACgCFCICG2ooAgAiAQ0BQQAhAgwCCyAAKAIIIgEgAjYCDCACIAE2AggMAQsgAEEUaiAAQRBqIAIbIQQDQCAEIQUgASICQRRqIAJBEGogAigCFCIBGyEEIAJBFEEQIAEbaigCACIBDQALIAVBADYCAAsgA0UNAiAAIAAoAhxBAnRB4N7BAGoiASgCAEcEQCADQRBBFCADKAIQIABGG2ogAjYCACACRQ0DDAILIAEgAjYCACACDQFB/OHBAEH84cEAKAIAQX4gACgCHHdxNgIADAILIAAoAggiACACRwRAIAAgAjYCDCACIAA2AggPC0H44cEAQfjhwQAoAgBBfiABQQN2d3E2AgAPCyACIAM2AhggACgCECIBBEAgAiABNgIQIAEgAjYCGAsgACgCFCIARQ0AIAIgADYCFCAAIAI2AhgLC/cCAQR/IwBB0ABrIgMkAAJAAkAgASgCAEUEQCAAIAEpAwg3AwggAEEgaiABQSBqKQMANwMAIABBGGogAUEYaikDADcDACAAQRBqIAFBEGopAwA3AwBBACEBDAELIAMgASgCBDYCBCADIANBBGoiBDYCCEEBIQEgA0EBNgIsIANBtLzAADYCKCADQgE3AjQgAyADQQhqrUKAgICA8AOENwMYIAMgA0EYaiIFNgIwIANBDGogA0EoaiIGEM8BIANBADYCICADQoCAgIAQNwIYIANBAzoASCADQSA2AjggA0EANgJEIANBvLzAADYCQCADQQA2AjAgA0EANgIoIAMgBTYCPCACIAYQkwINASAAIAMpAhg3AhQgAEEcaiADQSBqKAIANgIAIABBEGogA0EUaigCADYCACAAIAMpAgw3AgggBBDtAiAAQQE2AgQLIAAgATYCACADQdAAaiQADwtB5LzAAEE3IANBzwBqQdS8wABB6L3AABCVAgAL7wICBX8BfiMAQeAAayICJAACQAJAIAEpAxgiB0IAWQRAIAAgBzcDICAAIAEpAwA3AwggAEEYaiABQRBqKQMANwMAIABBEGogAUEIaikDADcDAAwBCyACQUBrIAFBEGopAwA3AwAgAkE4aiIEIAFBCGopAwA3AwBBASEDIAJBATYCFCACQeip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IAIpArQCIg03A4gCIAZBGGogBzYCACAGQRBqIAs3AgAgBkEIaiAMNwIAIAYgDTcCAAwCCyACQbABaiACQcwCaigCACIHNgIAIAJBqAFqIAJBxAJqKQIAIgs3AwAgAkGgAWogAkG8AmopAgAiDDcDACACIAIpArQCIg03A5gBIAZBGGogBzYCACAGQRBqIAs3AgAgBkEIaiAMNwIAIAYgDTcCAAwCCyACQThqIAJB5ABqKAIAIgM2AgAgAkEwaiACQdwAaikCACILNwMAIAJBKGogAkHUAGopAgAiDDcDACACIAIpAkwiDTcDICAGQRhqIAM2AgAgBkEQaiALNwIAIAZBCGogDDcCACAGIA03AgAgAigC3AIhAwsgA0GEAU8EQCADEAALIAIoArwBIQMLIANBhAFPBEAgAxAACwsgAUGDAUsEQCABEAALIAJB4AJqJAACfyAFKAIEIgFBAkYEQCAFKAIIIQpBAAwBCyAFQThqIAVBHGooAgA2AgAgBUEwaiAFQRRqKQIANwMAIAVBKGogBUEMaikCADcDACAFIAUpAgQ3AyAgBUEgahDhAQshAiAAIAFBAkc2AgggACACNgIEIAAgCjYCACAFQUBrJAALwAcCBn8EfiMAQUBqIgMkACADQQRqIQQjAEHAGWsiAiQAIAIgARAIIgU2AuABIAJByBFqIAJB4AFqQciewAAQsQECQAJAAkAgAigCyBFFBEAgAkHsCWogAkHoEWopAwAiCDcCACACQeQJaiACQeARaikDACIJNwIAIAJB3AlqIAJB2BFqKQMAIgo3AgAgAkEQaiAKNwMAIAJBGGogCTcDACACQSBqIAg3AwAgAiACKQPQESIINwLUCSACIAg3AwggBUGEAU8EQCAFEAALIAJByBFqIAEQAiABEAMQvgEgAigCyBENAiACQeABaiIFIAJB1AlqIAJB0BFqQfAHENkBQfAHENkBGiACQbABaiIGIAUgAkEIahCFASACQYABaiAGQdiewAAQ0QEgAigCgAENASACQfQAaiACQagBaikDACIINwIAIAJB7ABqIAJBoAFqKQMAIgk3AgAgAkHkAGogAkGYAWopAwAiCjcCACACQdwAaiACQZABaikDACILNwIAIAJBMGogCzcDACACQThqIAo3AwAgAkFAayAJNwMAIAJByABqIAg3AwAgAiACKQOIASIINwJUIAIgCDcDKCAEIAJBKGpB6J7AABC8AQwDCyACQegJaiACQeQRaigCACIGNgIAIAJB4AlqIAJB3BFqKQIAIgg3AwAgAkHYCWogAkHUEWopAgAiCTcDACACIAIpAswRIgo3A9AJIARBGGogBjYCACAEQRBqIAg3AgAgBEEIaiAJNwIAIAQgCjcCACAFQYQBSQ0CIAUQAAwCCyACQegAaiACQZwBaigCACIFNgIAIAJB4ABqIAJBlAFqKQIAIgg3AwAgAkHYAGogAkGMAWopAgAiCTcDACACIAIpAoQBIgo3A1AgBEEYaiAFNgIAIARBEGogCDcCACAEQQhqIAk3AgAgBCAKNwIADAELIAJB6AlqIAJB5BFqKAIAIgU2AgAgAkHgCWogAkHcEWopAgAiCDcDACACQdgJaiACQdQRaikCACIJNwMAIAIgAikCzBEiCjcD0AkgBEEYaiAFNgIAIARBEGogCDcCACAEQQhqIAk3AgAgBCAKNwIACyABQYMBSwRAIAEQAAsgAkHAGWokAAJ/IAMoAgQiAUECRgRAIAMoAgghB0EADAELIANBOGogA0EcaigCADYCACADQTBqIANBFGopAgA3AwAgA0EoaiADQQxqKQIANwMAIAMgAykCBDcDICADQSBqEOEBCyECIAAgAUECRzYCCCAAIAI2AgQgACAHNgIAIANBQGskAAvFBgIKfwR+IwBBQGoiBCQAIARBBGohBSMAQaAZayICJAAgAkGoEWogARACIAEQAxC+AQJAAkACQCACKAKoEUUEQCACQcABaiIGIAJBtAlqIAJBsBFqQfAHENkBQfAHENkBGiMAQeAAayIDJAAgA0EIaiIIIAYQmQEgAkGQAWoiBwJ/IAMoAghFBEAgA0HYAGogA0EwaikDADcDACADQdAAaiADQShqKQMANwMAIANByABqIANBIGoiCSkDADcDACADQUBrIANBGGoiCikDADcDACADIAMpAxA3AzggCSAGQZgGaikDADcDACAKIAZBkAZqKQMANwMAIANBEGogBkGIBmopAwA3AwAgA0ESOgAoIAMgBikDgAY3AwggB0EIaiADQThqIAgQywFBAAwBCyAHIAMoAgw2AgRBAQs2AgAgA0HgAGokACACQeAAaiAHQfiewAAQ0QEgAigCYA0BIAJB1ABqIAJBiAFqKQMAIgw3AgAgAkHMAGogAkGAAWopAwAiDTcCACACQcQAaiACQfgAaikDACIONwIAIAJBPGogAkHwAGopAwAiDzcCACACQRBqIA83AwAgAkEYaiAONwMAIAJBIGogDTcDACACQShqIAw3AwAgAiACKQNoIgw3AjQgAiAMNwMIIAUgAkEIakGIn8AAELwBDAMLIAJByAlqIAJBxBFqKAIAIgM2AgAgAkHACWogAkG8EWopAgAiDDcDACACQbgJaiACQbQRaikCACINNwMAIAIgAikCrBEiDjcDsAkMAQsgAkHIAGogAkH8AGooAgAiAzYCACACQUBrIAJB9ABqKQIAIgw3AwAgAkE4aiACQewAaikCACINNwMAIAIgAikCZCIONwMwCyAFQRhqIAM2AgAgBUEQaiAMNwIAIAVBCGogDTcCACAFIA43AgALIAFBgwFLBEAgARAACyACQaAZaiQAAn8gBCgCBCIBQQJGBEAgBCgCCCELQQAMAQsgBEE4aiAEQRxqKAIANgIAIARBMGogBEEUaikCADcDACAEQShqIARBDGopAgA3AwAgBCAEKQIENwMgIARBIGoQ4QELIQIgACABQQJHNgIIIAAgAjYCBCAAIAs2AgAgBEFAayQAC70GAgl/A34jAEFAaiIDJAAgA0EEaiEEIwBBgAJrIgIkACACIAEQCSIFNgJ8IAJB0AFqIgYgAkH8AGpBmJ/AABCxAQJAAkAgAigC0AFFBEAgAkH0AGogAkHwAWoiBykDACILNwIAIAJB7ABqIAJB6AFqIggpAwAiDDcCACACQeQAaiACQeABaiIJKQMAIg03AgAgAkE4aiANNwMAIAJBQGsgDDcDACACQcgAaiALNwMAIAIgAikD2AEiCzcCXCACIAs3AzAgAkESOgBQIAIgARAKIgU2AvwBIAYgAkH8AWpBqJ/AABCxASACKALQAUUEQCACQcQBaiAHKQMAIgs3AgAgAkG8AWogCCkDACIMNwIAIAJBtAFqIAkpAwAiDTcCACACQYgBaiANNwMAIAJBkAFqIAw3AwAgAkGYAWogCzcDACACIAIpA9gBIgs3AqwBIAIgCzcDgAEgAkESOgCgASACQQhqIgUgAkEwaiACQYABahDLASAEIAVBuJ/AABC8ASACKAL8ASIEQYQBTwRAIAQQAAsgAigCfCIEQYQBTwRAIAQQAAsMAwsgAkHAAWogAkHsAWooAgAiBjYCACACQbgBaiACQeQBaikCACILNwMAIAJBsAFqIAJB3AFqKQIAIgw3AwAgAiACKQLUASINNwOoASAEQRhqIAY2AgAgBEEQaiALNwIAIARBCGogDDcCACAEIA03AgAgBUGEAU8EQCAFEAALIAIoAnwhBQwBCyACQfAAaiACQewBaigCACIGNgIAIAJB6ABqIAJB5AFqKQIAIgs3AwAgAkHgAGogAkHcAWopAgAiDDcDACACIAIpAtQBIg03A1ggBEEYaiAGNgIAIARBEGogCzcCACAEQQhqIAw3AgAgBCANNwIACyAFQYQBTwRAIAUQAAsLIAFBgwFLBEAgARAACyACQYACaiQAAn8gAygCBCIBQQJGBEAgAygCCCEKQQAMAQsgA0E4aiADQRxqKAIANgIAIANBMGogA0EUaikCADcDACADQShqIANBDGopAgA3AwAgAyADKQIENwMgIANBIGoQ4QELIQIgACABQQJHNgIIIAAgAjYCBCAAIAo2AgAgA0FAayQAC7oBAQN/IwBBMGsiAiQAIAJBGGoiAyAAQQhqKAIANgIAIAIgACkCADcDECACQQhqIAJBEGpBsL7AACABEKcCIAIoAgwhBCACKAIIIQEgAkEoaiIAIAMoAgA2AgBBkd7BAC0AABogAiACKQMQNwMgQRhBBBD4AiIDRQRAQQRBGBCpAwALIAMgATYCBCADQZi/wAA2AgAgAyACKQMgNwIMIAMgBDYCCCADQRRqIAAoAgA2AgAgAkEwaiQAIAMLugEBA38jAEEwayICJAAgAkEYaiIDIABBCGooAgA2AgAgAiAAKQIANwMQIAJBCGogAkEQakHwhcEAIAEQpwIgAigCDCEEIAIoAgghASACQShqIgAgAygCADYCAEGR3sEALQAAGiACIAIpAxA3AyBBGEEEEPgCIgNFBEBBBEEYEKkDAAsgAyABNgIEIANB2IbBADYCACADIAIpAyA3AgwgAyAENgIIIANBFGogACgCADYCACACQTBqJAAgAwubAQEBfwJAAkAgAQRAIAJBAEgNAQJ/IAMoAgQEQAJAIAMoAggiBEUEQAwBCyADKAIAIAQgASACEOYCDAILCyABIAJFDQAaQZHewQAtAAAaIAIgARD4AgsiAwRAIAAgAjYCCCAAIAM2AgQgAEEANgIADwsgACACNgIIIAAgATYCBAwCCyAAQQA2AgQMAQsgAEEANgIECyAAQQE2AgALvwEBAX8jAEEQayIFJAAgACgCFCABIAIgACgCGCgCDBEDACEBIAVBADoADSAFIAE6AAwgBSAANgIIIAVBCGpBnYvBAEEDIAMgBBDYASEBIAUtAA0iAiAFLQAMIgNyIQACQCADQQFxIAJBAUdyDQAgASgCACIALQAcQQRxRQRAIAAoAhRBn8XBAEECIAAoAhgoAgwRAwAhAAwBCyAAKAIUQZ7FwQBBASAAKAIYKAIMEQMAIQALIAVBEGokACAAQQFxC6cBAQF/IwBBEGsiBiQAAkAgAQRAIAZBBGogASADIAQgBSACKAIQEQcAAkAgBigCBCICIAYoAgwiAU0EQCAGKAIIIQUMAQsgAkECdCECIAYoAgghAyABRQRAQQQhBSADIAIQjAMMAQsgAyACQQQgAUECdCICEOYCIgVFDQILIAAgATYCBCAAIAU2AgAgBkEQaiQADwtBrLXBAEEyEKMDAAtBBCACEOQCAAunAQACQCABBEAgAkEASA0BAn8gAygCBARAIAMoAggiAUUEQEGR3sEALQAAGiACQQEQ+AIMAgsgAygCACABQQEgAhDmAgwBC0GR3sEALQAAGiACQQEQ+AILIgEEQCAAIAI2AgggACABNgIEIABBADYCAA8LIAAgAjYCCCAAQQE2AgQgAEEBNgIADwsgAEEANgIEIABBATYCAA8LIABBADYCBCAAQQE2AgALsAEBA38gASgCDCECAkACQAJAAkACQAJAIAEoAgQOAgABAgsgAg0BQQEhA0EAIQFBASECDAMLIAJFDQELIAAgARDPAQ8LIAEoAgAiASgCACEDIAEoAgQiAUUEQEEBIQJBACEBDAELIAFBAEgNAUGR3sEALQAAGkEBIQQgAUEBEPgCIgJFDQELIAIgAyABENkBIQIgACABNgIIIAAgAjYCBCAAIAE2AgAPCyAEIAEQ5AIAC6gBAQJ/IwBBMGsiAiQAAn8gACgCACIDQYCAxABHBEAgAiADNgIAIAIgACgCBDYCBCACQQI2AgwgAkGUtsEANgIIIAJCAjcCFCACIAJBBGqtQoCAgIDQDYQ3AyggAiACrUKAgICAoA2ENwMgIAIgAkEgajYCECABKAIUIAEoAhggAkEIahC4AQwBCyABKAIUQaS2wQBBFCABKAIYKAIMEQMACyACQTBqJAALkQEBA38jAEGAAWsiBCQAIAAoAgAhAANAIAIgBGpB/wBqIABBD3EiA0EwciADQdcAaiADQQpJGzoAACACQQFrIQIgAEEQSSAAQQR2IQBFDQALIAJBgAFqIgBBgQFPBEAgAEGAAUG4xcEAEJ8CAAsgAUEBQcjFwQBBAiACIARqQYABakEAIAJrEK4BIARBgAFqJAALkAEBA38jAEGAAWsiBCQAIAAoAgAhAANAIAIgBGpB/wBqIABBD3EiA0EwciADQTdqIANBCkkbOgAAIAJBAWshAiAAQRBJIABBBHYhAEUNAAsgAkGAAWoiAEGBAU8EQCAAQYABQbjFwQAQnwIACyABQQFByMXBAEECIAIgBGpBgAFqQQAgAmsQrgEgBEGAAWokAAvNAQEGfyMAQRBrIgIkACAAKAIAIQMgAkQAAAAAAAAAABBXIgA2AgQgAkEEaigCABBaIQQgAEGEAU8EQCAAEAALIAMoAgAgBBBYIQUjAEEQayIAJAAgAEEIaiADKAIAQQoQXSAAKAIIIQYgAkEEaiIDIAAoAgwiBzYCCCADIAY2AgQgAyAHNgIAIABBEGokACABIAVBAUZBAUEAIAIoAggiACACKAIMEK4BIAIoAgQiAwRAIAAgAxCMAwsgBEGEAU8EQCAEEAALIAJBEGokAAuTAQEEfyMAQRBrIgIkAEEBIQQCQCABKAIUIgNBJyABKAIYIgUoAhAiAREBAA0AIAJBBGogACgCAEGBAhCzAQJAIAItAARBgAFGBEAgAyACKAIIIAERAQBFDQEMAgsgAyACLQAOIgAgAkEEamogAi0ADyAAayAFKAIMEQMADQELIANBJyABEQEAIQQLIAJBEGokACAEC8YCAQR/IwBBEGsiAyQAAn8CQAJAAkAgACgCACICKAIAIgBB///DAGtBACAAQf7//wBxQYCAxABGG0EBaw4CAQIACyADIAJBBGo2AgwjAEEQayIAJAAgASgCFEHgr8AAQRMgASgCGCgCDBEDACEEIABBADoADSAAIAQ6AAwgACABNgIIIABBCGpB86/AAEEBIAJBwK/AABDYAUH0r8AAQQUgA0EMakHQr8AAENgBIQIgAC0ADSIEIAAtAAwiBXIhAQJAIAVBAXEgBEEBR3INACACKAIAIgEtABxBBHFFBEAgASgCFEGfxcEAQQIgASgCGCgCDBEDACEBDAELIAEoAhRBnsXBAEEBIAEoAhgoAgwRAwAhAQsgAEEQaiQAIAFBAXEMAgsgAUH5r8AAQQkQ7AIMAQsgAUGCsMAAQRMQ7AILIANBEGokAAt4AQF/IwBBIGsiAiQAAn8gACgCAEGAgICAeEcEQCABIAAoAgQgACgCCBDsAgwBCyACQRhqIAAoAgwiAEEQaikCADcDACACQRBqIABBCGopAgA3AwAgAiAAKQIANwMIIAEoAhQgASgCGCACQQhqELgBCyACQSBqJAALegIBfwF+IwBBMGsiAiQAIAJBAzYCBCACQfjCwQA2AgAgAkIDNwIMIAJCgICAgNANIgMgAEEMaq2ENwMoIAIgAyAAQQhqrYQ3AyAgAiAArUKAgICAsByENwMYIAIgAkEYajYCCCABKAIUIAEoAhggAhC4ASACQTBqJAALbgEGfiAAIANC/////w+DIgUgAUL/////D4MiBn4iByAGIANCIIgiBn4iCCAFIAFCIIgiCX58IgVCIIZ8Igo3AwAgACAHIApWrSAGIAl+IAUgCFStQiCGIAVCIIiEfHwgASAEfiACIAN+fHw3AwgLfAEBfyMAQUBqIgUkACAFIAE2AgwgBSAANgIIIAUgAzYCFCAFIAI2AhAgBUECNgIcIAVB6MTBADYCGCAFQgI3AiQgBSAFQRBqrUKAgICAoByENwM4IAUgBUEIaq1CgICAgLAchDcDMCAFIAVBMGo2AiAgBUEYaiAEELMCAAv+AwIIfwF+IwBBEGsiAyQAIAAoAgAiAEEIaigCACEFIABBBGooAgAhACABKAIUQcnCwQBBASABKAIYKAIMEQMAIQQgA0EEaiICQQA6AAUgAiAEOgAEIAIgATYCACAFBEADQCADIAA2AgwgA0EMaiEIIwBBQGoiASQAQQEhBgJAIANBBGoiBC0ABA0AIAQtAAUhCQJAIAQoAgAiAigCHCIHQQRxRQRAIAlBAXFFDQEgAigCFEGXxcEAQQIgAigCGCgCDBEDAEUNAQwCCyAJQQFxRQRAIAIoAhRBocXBAEEBIAIoAhgoAgwRAwANAiACKAIcIQcLIAFBAToAGyABIAIpAhQ3AgwgAUH4xMEANgI0IAEgAUEbajYCFCABIAIpAgg3AiQgAikCACEKIAEgBzYCOCABIAIoAhA2AiwgASACLQAgOgA8IAEgCjcCHCABIAFBDGo2AjAgCCABQRxqQbSvwAAoAgARAQANASABKAIwQZzFwQBBAiABKAI0KAIMEQMAIQYMAQsgCCACQbSvwAAoAgARAQAhBgsgBEEBOgAFIAQgBjoABCABQUBrJAAgAEEBaiEAIAVBAWsiBQ0ACwtBASEAIANBBGoiAS0ABEUEQCABKAIAIgAoAhRBosXBAEEBIAAoAhgoAgwRAwAhAAsgASAAOgAEIANBEGokACAAC3UBA38jAEEwayICJAAgAkEkaiIDIAAQjAEgAkEBNgIEIAJBxP3AADYCACACIAOtQoCAgIDwB4Q3AxggAkIBNwIMIAIgAkEYajYCCCABKAIUIAEoAhggAhC4ASACKAIkIgEEQCACKAIoIAEQjAMLIAJBMGokAAt1AQN/IwBBMGsiAiQAIAJBJGoiAyAAEIwBIAJBAjYCBCACQeCBwQA2AgAgAiADrUKAgICA8AeENwMYIAJCATcCDCACIAJBGGo2AgggASgCFCABKAIYIAIQuAEgAigCJCIBBEAgAigCKCABEIwDCyACQTBqJAALfgEBfyMAQTBrIgIkACACQQE2AgwgAkHUuMEANgIIIAJCATcCFCACIAJBKGqtQoCAgICgGYQ3AyAgAkEkQSMgAC0AACIAGzYCLCACQf+4wQBB3LjBACAAGzYCKCACIAJBIGo2AhAgASgCFCABKAIYIAJBCGoQuAEgAkEwaiQAC3UCAn4BfwJAQX8gASkDGCICIAApAxgiA1IgAiADVhsiBA0AQX8gASkDECICIAApAxAiA1IgAiADVhsiBA0AQX8gASkDCCICIAApAwgiA1IgAiADVhsiBA0AQX8gASkDACICIAApAwAiA1IgAiADVhshBAsgBAt5AQN/IwBBEGsiAiQAAn8gACgCACIAKAIEIgNFBEAgAiAAIAAoAgAoAgQRAAAgAigCACABIAIoAgQoAgwRAQAMAQsgACgCCCEEIAJBCGogACAAKAIAKAIEEQAAIAMgAigCCCACKAIMIAEgBCgCGBEIAAsgAkEQaiQAC3QBA38jAEEQayICJAACfyAAKAIEIgNFBEAgAiAAIAAoAgAoAgQRAAAgAigCACABIAIoAgQoAgwRAQAMAQsgACgCCCEEIAJBCGogACAAKAIAKAIEEQAAIAMgAigCCCACKAIMIAEgBCgCGBEIAAsgAkEQaiQAC3MBBH8gAEEEaigCACEDIAAoAgBBADoAAAJAIAMoAgAiASgCACIARQ0AIAFBBGooAgAiASgCACICBEAgACACEQUACyABKAIEIgJFDQAgASgCCCEEIAAgAhCMAwsgAygCACIAQZiuwQA2AgQgAEEBNgIAQQELbAEBfyMAQSBrIgIkACABQQBIBEAgAkEANgIYIAJBATYCDCACQdyzwQA2AgggAkIENwIQIAJBCGpBjLXBABCzAgALIABCADcDCCAAQRhqQgA3AwAgAEEQakIANwMAIAAgAa03AwAgAkEgaiQAC2oCAX8BfiMAQTBrIgMkACADIAA2AgAgAyABNgIEIANBAjYCDCADQajIwQA2AgggA0ICNwIUIANCgICAgNANIgQgA0EEaq2ENwMoIAMgBCADrYQ3AyAgAyADQSBqNgIQIANBCGogAhCzAgALagIBfwF+IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0ECNgIMIANBxMPBADYCCCADQgI3AhQgA0KAgICA0A0iBCADrYQ3AyggAyAEIANBBGqthDcDICADIANBIGo2AhAgA0EIaiACELMCAAtqAgF/AX4jAEEwayIDJAAgAyAANgIAIAMgATYCBCADQQI2AgwgA0H8yMEANgIIIANCAjcCFCADQoCAgIDQDSIEIANBBGqthDcDKCADIAQgA62ENwMgIAMgA0EgajYCECADQQhqIAIQswIAC2cAIwBBMGsiACQAQZDewQAtAAAEQCAAQQI2AgwgAEH4vcEANgIIIABCATcCFCAAIAE2AiwgACAAQSxqrUKAgICA0A2ENwMgIAAgAEEgajYCECAAQQhqQZi+wQAQswIACyAAQTBqJAALbgEEfyAAKAIAQQA6AAACQCAAKAIEIgMoAgAiASgCACIARQ0AIAFBBGooAgAiASgCACICBEAgACACEQUACyABKAIEIgJFDQAgASgCCCEEIAAgAhCMAwsgAygCACIAQZiuwQA2AgQgAEEBNgIAQQELVgECfgJAIAJBwABxRQRAIAJFDQFCACACQT9xrSIEhiABQQAgAmtBP3GtiIQhAyABIASGIQEMAQsgASACQT9xrYYhA0IAIQELIAAgATcDACAAIAM3AwgLZAEBfyMAQfAPayIEJAAgBEH4B2ogASACIAMQfQJAIAQoAvgHRQRAIARBCGoiASAEQYAIakHwBxDZARogACABEJkBDAELIAQoAvwHIQEgAEEBNgIAIAAgATYCBAsgBEHwD2okAAtcAQN/IwBBEGsiAiQAIAJBCGogARBZIAIoAggiBARAIAIoAgwhAyAAIAQ2AgQgACADNgIIIAAgAzYCACABQYQBTwRAIAEQAAsgAkEQaiQADwtB3rXBAEEVEKMDAAtoAQF/IwBBEGsiBCQAQZzewQAoAgBBAkcEQBCsAgsgBEEIakGU3sEAKAIAIAEgAkGY3sEAKAIAKAIUEQYAIAQoAggiASADIAQoAgwiAigCIBEAACAAIAI2AgQgACABNgIAIARBEGokAAtaAQV/AkAgACgCBCIBRQ0AIAAoAggiAygCACICBEAgASACEQUACyADKAIEIgJFDQAgAygCCCEEIAEgAhCMAwsgACgCDCIBBEAgACgCECABEIwDCyAAQRgQjAMLYgEBfyMAQTBrIgAkACAAQd4ANgIMIABB9LvBADYCCCAAQQE2AhQgAEHAwsEANgIQIABCATcCHCAAIABBCGqtQoCAgICwHIQ3AyggACAAQShqNgIYIABBEGpB6LzBABCzAgALVQECfwJAIAAoAhBBAUcNACAAKAIUIgFBADoAACAAKAIYIgJFDQAgASACEIwDCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgAEEgEIwDCwtTAQV/AkAgACgCBCIBRQ0AIAAoAggiAygCACICBEAgASACEQUACyADKAIEIgJFDQAgAygCCCEEIAEgAhCMAwsgACgCDCIBBEAgACgCECABEIwDCwu7CQEKfyMAQSBrIgQkACAEQQE6AAsgBEGU3sEANgIMIAQgBEEfajYCGCAEIARBDGo2AhQgBCAEQQtqNgIQIARBEGohByMAQSBrIgIkAEGc3sEAKAIAIQECQAJAAkACQANAAkACQAJAAkAgAUEDcSIDQQFrDgMBBQIACyAHDQILELECIQVBnN7BACACQQhqIANyIghBnN7BACgCACIAIAAgAUYiBhs2AgAgAiAFNgIIIAIgASADazYCDCACQQA6ABACQAJAIAZFBEBBACADayEFA0AgACIBQQNxIANHDQICQCACKAIIIgBFDQAgACAAKAIAIgBBAWs2AgAgAEEBRw0AIAIoAggQqgILELECIQZBnN7BACAIQZzewQAoAgAiACAAIAFGIgkbNgIAIAJBADoAECACIAY2AgggAiABIAVqNgIMIAlFDQALCyACLQAQRQRAA0AjAEEQayIBJABBuOLBACgCACIARQRAEPMBQbjiwQAoAgAhAAsgACAAKAIAIgNBAWo2AgACQAJAIANBAE4EQCAARQ0BIAAgACgCACIDQQFrNgIAIAEgADYCDCADQQFGBEACQCABQQxqKAIAIgAoAhBBAUcNACAAKAIUIgNBADoAACAAKAIYIgVFDQAgAyAFEIwDCwJAIABBf0YNACAAIAAoAgQiA0EBazYCBCADQQFHDQAgAEEgEIwDCwsgAUEQaiQADAILAAsQqQIACyACLQAQRQ0ACwsgAigCCCIARQ0BIAAgACgCACIAQQFrNgIAIABBAUcNASACKAIIEKoCDAELIAIoAggiAEUNACAAIAAoAgAiAEEBazYCACAAQQFHDQAgAigCCBCqAgtBnN7BACgCACEBDAILA0AMAAsAC0Gc3sEAIAFBAWpBnN7BACgCACIAIAAgAUYbNgIAIAAgAUcgACEBDQALIAdBlK7BACgCABECACEBQZzewQAoAgAhAEGc3sEAQQJBACABGzYCACACIABBA3EiATYCBCABQQFHDQEgAEEBayIARQ0AA0AgACgCACEDIABBADYCACADRQ0DIAAoAgQgAEEBOgAIIAMgAygCACIAQQFrNgIAIABBAUYEQCADEKoCCyIADQALCyACQSBqJAAMAgsgAkEANgIIIwBBEGsiASQAIAFByLfBADYCDCABIAJBBGo2AggjAEHwAGsiACQAIABBuLfBADYCDCAAIAFBCGo2AgggAEG4t8EANgIUIAAgAUEMajYCECAAQdTDwQA2AhggAEECNgIcAkAgAkEIaiIBKAIARQRAIABBAzYCXCAAQZDEwQA2AlggAEIDNwJkIAAgAEEQaq1CgICAgKAchDcDSCAAIABBCGqtQoCAgICgHIQ3A0AMAQsgAEEwaiABQRBqKQIANwMAIABBKGogAUEIaikCADcDACAAIAEpAgA3AyAgAEEENgJcIABBxMTBADYCWCAAQgQ3AmQgACAAQRBqrUKAgICAoByENwNQIAAgAEEIaq1CgICAgKAchDcDSCAAIABBIGqtQoCAgIDAHIQ3A0ALIAAgAEEYaq1CgICAgLAchDcDOCAAIABBOGo2AmAgAEHYAGpBxLjBABCzAgAL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AWshAAwBCyAIQQJrIgggAkI8hiADQgSIhKdBD3EiBkEwciAGQdcAaiAGQQpJGzoAACACQjiGIANCgAJUIQYgAEECayEAIAJCCIghAiADQgiIhCEDIAYgCnFFDQELCyAAQYEBTw0BIAAhBwsgAUEBQcjFwQBBAiAHIAlqQYABIAdrEK4BIAlBgAFqJAAMAQsgAEGAAUG4xcEAEJ8CAAsLMAEBfyMAQRBrIgIkACACQQhqIAAQvwIgAigCCCABIAIoAgwoAhARAQAgAkEQaiQACzIBAX8gASgCHCICQRBxRQRAIAJBIHFFBEAgACABEI4DDwsgACABEI4CDwsgACABEI0CCzcBAX8jAEEgayIBJAAgAUEANgIYIAFBATYCDCABQajXwQA2AgggAUIENwIQIAFBCGogABCzAgALOwEBf0EBIQICQCAAIAEQ2wENACABKAIUQazCwQBBAiABKAIYKAIMEQMADQAgAEEEaiABENsBIQILIAILOAEBfyABKAIUIQIgASgCGCgCDCEBIAAtAABFBEAgAkGQo8EAQQEgAREDAA8LIAJBAUEAIAERAwALOABBkd7BAC0AABpBBEEEEPgCIgFFBEBBBEEEEKkDAAsgAUEANgIAIABBiK3BADYCBCAAIAE2AgALLAAgACABKQAANwAAIABBEGogAUEQaigAADYAACAAQQhqIAFBCGopAAA3AAALJQAgAEUEQEGstcEAQTIQowMACyAAIAIgAyAEIAUgASgCEBEJAAsjACAARQRAQay1wQBBMhCjAwALIAAgAiADIAQgASgCEBEGAAsjACAARQRAQay1wQBBMhCjAwALIAAgAiADIAQgASgCEBEYAAsjACAARQRAQay1wQBBMhCjAwALIAAgAiADIAQgASgCEBEaAAsjACAARQRAQay1wQBBMhCjAwALIAAgAiADIAQgASgCEBEIAAsjACAARQRAQay1wQBBMhCjAwALIAAgAiADIAQgASgCEBEcAAsmAQJ/IAAoAgAiAUGAgICAeHJBgICAgHhHBEAgACgCBCABEIwDCwsoACAAQQxqQQAgAkK6s8/l7Jf/rmdRG0EAIAFC0eKhhL2S5oTqAFEbCykAIABBDGpBACACQu26rbbNhdT14wBRG0EAIAFC+IKZvZXuxsW5f1EbCyQAIAAtAABFBEAgAUHwr8EAQR0Q7AIPCyABQY2wwQBBJhDsAgshACAARQRAQay1wQBBMhCjAwALIAAgAiADIAEoAhARBAALHAAgACgCACIAQQRqKAIAIABBCGooAgAgARCgAQscACAAKAIAIgBBBGooAgAgAEEIaigCACABEKsDCxwAIAAoAgAiAEEUaigCACAAQRhqKAIAIAEQuAELHwAgAEUEQEGstcEAQTIQowMACyAAIAIgASgCEBEBAAsYAQJ/IAAoAgAiAQRAIAAoAgQgARCMAwsLGQAgACgCACIAKAIAIABBBGooAgAgARCrAwtGACAARQRAIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEGcwMEANgIIIABCBDcCECAAQQhqQbjAwQAQswIACyAAIAEQqQMACxYAIABBsL7AADYCBCAAIAFBDGo2AgAL4gYBBn8CfwJAAkACQAJAAkAgAEEEayIFKAIAIgZBeHEiBEEEQQggBkEDcSIHGyABak8EQCAHQQAgAUEnaiIJIARJGw0BAkACQCACQQlPBEAgAiADEMwBIggNAUEADAkLIANBzP97Sw0BQRAgA0ELakF4cSADQQtJGyEBAkAgB0UEQCABQYACSSAEIAFBBHJJciAEIAFrQYGACE9yDQEMCQsgAEEIayICIARqIQcCQAJAAkACQCABIARLBEAgB0GM4sEAKAIARg0EIAdBiOLBACgCAEYNAiAHKAIEIgZBAnENBSAGQXhxIgYgBGoiBCABSQ0FIAcgBhDVASAEIAFrIgNBEEkNASAFIAEgBSgCAEEBcXJBAnI2AgAgASACaiIBIANBA3I2AgQgAiAEaiICIAIoAgRBAXI2AgQgASADEMUBDA0LIAQgAWsiA0EPSw0CDAwLIAUgBCAFKAIAQQFxckECcjYCACACIARqIgEgASgCBEEBcjYCBAwLC0GA4sEAKAIAIARqIgQgAUkNAgJAIAQgAWsiA0EPTQRAIAUgBkEBcSAEckECcjYCACACIARqIgEgASgCBEEBcjYCBEEAIQNBACEBDAELIAUgASAGQQFxckECcjYCACABIAJqIgEgA0EBcjYCBCACIARqIgIgAzYCACACIAIoAgRBfnE2AgQLQYjiwQAgATYCAEGA4sEAIAM2AgAMCgsgBSABIAZBAXFyQQJyNgIAIAEgAmoiASADQQNyNgIEIAcgBygCBEEBcjYCBCABIAMQxQEMCQtBhOLBACgCACAEaiIEIAFLDQcLIAMQbyIBRQ0BIAEgAEF8QXggBSgCACIBQQNxGyABQXhxaiIBIAMgASADSRsQ2QEgABC1AQwICyAIIAAgASADIAEgA0kbENkBGiAFKAIAIgJBeHEiAyABQQRBCCACQQNxIgIbakkNAyACQQAgAyAJSxsNBCAAELUBCyAIDAYLQfW6wQBBLkGku8EAEL0CAAtBtLvBAEEuQeS7wQAQvQIAC0H1usEAQS5BpLvBABC9AgALQbS7wQBBLkHku8EAEL0CAAsgBSABIAZBAXFyQQJyNgIAIAEgAmoiAiAEIAFrIgFBAXI2AgRBhOLBACABNgIAQYziwQAgAjYCACAADAELIAALCxYAIABB8IXBADYCBCAAIAFBDGo2AgALFgAgAEHMo8EANgIEIAAgAUEMajYCAAsWACAAQairwQA2AgQgACABQQxqNgIACxYAIABB0KrBADYCBCAAIAFBDGo2AgALDgAgAQRAIAAgARCMAwsLFgAgACgCFCABIAIgACgCGCgCDBEDAAsUACAAKAIAIgAgACgCACgCABEFAAsUACAAKAIAIAEgACgCBCgCEBEBAAsUACAAKAIAIAEgACgCBCgCDBEBAAsUACAAKAIUIAEgACgCGCgCEBEBAAvPCAEFfyMAQfAAayIFJAAgBSADNgIMIAUgAjYCCAJAAkACQAJAAkACQAJ/IAACfwJAIAFBgQJPBEBBAyAALACAAkG/f0oNAhogACwA/wFBv39MDQFBAgwCCyAFIAE2AhQgBSAANgIQQQEMAgsgACwA/gFBv39KC0H9AWoiBmosAABBv39MDQEgBSAGNgIUIAUgADYCEEEFIQdBjMnBAAshBiAFIAc2AhwgBSAGNgIYIAEgAkkiByABIANJckUEQCACIANLDQIgAkUgASACTXJFBEAgBUEMaiAFQQhqIAAgAmosAABBv39KGygCACEDCyAFIAM2AiAgAyABIgJJBEAgA0EBaiIIIANBA2siAkEAIAIgA00bIgJJDQQCQCACIAhGDQAgCCACayEHIAAgA2osAABBv39KBEAgB0EBayEGDAELIAIgA0YNACAAIAhqIgNBAmsiCSwAAEG/f0oEQCAHQQJrIQYMAQsgCSAAIAJqIghGDQAgA0EDayIJLAAAQb9/SgRAIAdBA2shBgwBCyAIIAlGDQAgA0EEayIDLAAAQb9/SgRAIAdBBGshBgwBCyADIAhGDQAgB0EFayEGCyACIAZqIQILAkAgAkUNACABIAJLBEAgACACaiwAAEG/f0oNAQwHCyABIAJHDQYLIAEgAkYNBAJ/AkACQCAAIAJqIgEsAAAiAEEASARAIAEtAAFBP3EhBiAAQR9xIQMgAEFfSw0BIANBBnQgBnIhAAwCCyAFIABB/wFxNgIkQQEMAgsgAS0AAkE/cSAGQQZ0ciEGIABBcEkEQCAGIANBDHRyIQAMAQsgA0ESdEGAgPAAcSABLQADQT9xIAZBBnRyciIAQYCAxABGDQYLIAUgADYCJEEBIABBgAFJDQAaQQIgAEGAEEkNABpBA0EEIABBgIAESRsLIQAgBSACNgIoIAUgACACajYCLCAFQQU2AjQgBUGUysEANgIwIAVCBTcCPCAFIAVBGGqtQoCAgICwHIQ3A2ggBSAFQRBqrUKAgICAsByENwNgIAUgBUEoaq1CgICAgNAchDcDWCAFIAVBJGqtQoCAgIDwAoQ3A1AgBSAFQSBqrUKAgICA0A2ENwNIDAYLIAUgAiADIAcbNgIoIAVBAzYCNCAFQdTKwQA2AjAgBUIDNwI8IAUgBUEYaq1CgICAgLAchDcDWCAFIAVBEGqtQoCAgICwHIQ3A1AgBSAFQShqrUKAgICA0A2ENwNIDAULIAAgAUEAIAYgBBDxAgALIAVBBDYCNCAFQbTJwQA2AjAgBUIENwI8IAUgBUEYaq1CgICAgLAchDcDYCAFIAVBEGqtQoCAgICwHIQ3A1ggBSAFQQxqrUKAgICA0A2ENwNQIAUgBUEIaq1CgICAgNANhDcDSAwDCyACIAhBgMvBABChAgALIAQQjwMACyAAIAEgAiABIAQQ8QIACyAFIAVByABqNgI4IAVBMGogBBCzAgALEQAgACgCBCAAKAIIIAEQqwMLIQAgAELvm7LL36Tfkbh/NwMIIABCsqG01rWPnoY5NwMACxMAIABBKDYCBCAAQfi9wAA2AgALIgAgAELGheneoMX7w9gANwMIIABChorribKOpvKyfzcDAAsTACAAQey+wAA2AgQgACABNgIACxEAIAAoAgQgACgCCCABEKABCxoAAn8gAUEJTwRAIAEgABDMAQwBCyAAEG8LCxMAIABBKDYCBCAAQbiFwQA2AgALEwAgAEGshsEANgIEIAAgATYCAAsRACAAKAIAIAAoAgQgARCrAwsTACAAQSg2AgQgAEGRo8EANgIACxMAIABBiKTBADYCBCAAIAE2AgALIQAgAEKB/vrzppbz5ZV/NwMIIABCkIeJlbrGt5kWNwMACyEAIABC7dPiucCthPFzNwMIIABCxKW7/qfW8fy/fzcDAAsTACAAQSg2AgQgAEGAqsEANgIACxMAIABBgKzBADYCBCAAIAE2AgALEwAgAEG8rMEANgIEIAAgATYCAAsiACAAQsnFvaqcp+Ppmn83AwggAEKdgqr344T2o6V/NwMACxEAIAAoAgAgACgCBCABEKABCxYAQaTewQAgADYCAEGg3sEAQQE2AgALIQAgAEK6s8/l7Jf/rmc3AwggAELR4qGEvZLmhOoANwMACyIAIABC7bqtts2F1PXjADcDCCAAQviCmb2V7sbFuX83AwALEwAgAEGYv8EANgIEIAAgATYCAAsRACABIAAoAgAgACgCBBDsAgsRACABIAAoAgAgACgCBBCtAQsRACABKAIUIAEoAhggABC4AQtiAQJ/AkACQCAAQQRrKAIAIgJBeHEiA0EEQQggAkEDcSICGyABak8EQCACQQAgAyABQSdqSxsNASAAELUBDAILQfW6wQBBLkGku8EAEL0CAAtBtLvBAEEuQeS7wQAQvQIACwsOACAAKAIAIAEgAhDsAgsMACAANQIAIAEQ3AELDwBBysLBAEErIAAQvQIACwsAIAAjAGokACMACw4AIAFB7JvAAEEFEOwCCw4AIAFBuK/AAEEFEOwCCw4AIAFBiLzAAEEFEOwCCwwAIAAoAgAgARCbAgsOACAAQby8wAAgARC4AQsOACABQbS/wABBBRDsAgsLACAAIAEQ6AFBAAsOACAAQbDBwAAgARC4AQsOACABQajBwABBBRDsAgsOACAAQaSJwQAgARC4AQsOACABQZyJwQBBBRDsAgumAQEBfyAAKAIAIwBBQGoiACQAKAIAIQIgAEIANwM4IABBOGogAhBgIAAgACgCPCICNgI0IAAgACgCODYCMCAAIAI2AiwgACAAQSxqrUKAgICAsBmENwMgIABBAjYCDCAAQay5wQA2AgggAEIBNwIUIAAgAEEgajYCECABKAIUIAEoAhggAEEIahC4ASAAKAIsIgIEQCAAKAIwIAIQjAMLIABBQGskAAsOACAB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ZV9zaGFyZXNfb3V0X2dpdmVuX2JvbmRzX2luX2Rvd246IGsgPSAAAOwCEAAuAAAALAAQAAMAAAD8ABAABAAAAEwAEABvAAAAtwAAABgAAABMABAAbwAAAMQAAAAtAAAATAAQAG8AAADEAAAAGQAAADAAAABMABAAbwAAANAAAAAQAAAATAAQAG8AAADHAAAAKQAAAEwAEABvAAAAxwAAABkAAABMABAAbwAAAMIAAAASAAAATAAQAG8AAACzAAAAJQAAAEwAEABvAAAAUAEAABoAAABMABAAbwAAAE4BAAAwAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2xvbmcvbWF4LnJz2AMQAGwAAAAuAAAAFwAAAFJlYWNoZWQgYWJzb2x1dGUgbWF4IGJvbmQgYW1vdW50IGluIGBjYWxjdWxhdGVfbWF4X2xvbmdgLgAAAFQEEAA5AAAA2AMQAGwAAABrAAAAHAAAANgDEABsAAAAmgAAABcAAADYAxAAbAAAAKAAAAAYAAAASW5pdGlhbCBndWVzcyBpbiBgY2FsY3VsYXRlX21heF9sb25nYCBpcyBpbnNvbHZlbnQgd2l0aCBlcnJvcjoKAMgEEAA/AAAA2AMQAGwAAABgAAAAHAAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9sb25nL29wZW4ucnNNaW5pbXVtVHJhbnNhY3Rpb25BbW91bnQ6IElucHV0IGFtb3VudCB0b28gbG93AI0FEAAuAAAAIAUQAG0AAAAiAAAAGAAAAEluc3VmZmljaWVudExpcXVpZGl0eTogTmVnYXRpdmUgSW50ZXJlc3TUBRAAKAAAACAFEABtAAAALQAAABgAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbG9uZy9jbG9zZS5ycwAAFAYQAG4AAAASAAAAGAAAAENsb3NpbmcgdGhlIGxvbmcgcmVzdWx0cyBpbiBmZWVzIGV4Y2VlZGluZyB0aGUgbG9uZyBwcm9jZWVkcy4AAACUBhAAPQAAABQGEABuAAAAHQAAABgAAAAUBhAAbgAAADwAAAANAAAAFAYQAG4AAAA4AAAANAAAABQGEABuAAAAMwAAAA0AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvc2hvcnQvbWF4LnJzZXhwZWN0ZWQgYnVkZ2V0PSA+PSBtaW5fdHJhbnNhY3Rpb25fYW1vdW50PYkHEAAQAAAAmQcQABsAAAAcBxAAbQAAANMAAAAYAAAATm8gc29sdmVudCBzaG9ydCBpcyBwb3NzaWJsZS4AAADUBxAAHQAAABwHEABtAAAA+AAAABgAAABtYXggc2hvcnQgZXhjZWVkZWQgYnVkZ2V0AAAADAgQABkAAAAcBxAAbQAAAFgBAAAYAAAAbWF4IHNob3J0IGJvbmQgYW1vdW50IGV4Y2VlZGVkIGFic29sdXRlIG1heCBib25kIGFtb3VudABACBAANwAAABwHEABtAAAAXQEAABgAAAAcBxAAbQAAAOYAAABDAAAAHAcQAG0AAADKAAAAGAAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9jbG9zZS5ycwCwCBAAbwAAANYAAAAYAAAAsAgQAG8AAADnAAAAGAAAALAIEABvAAAA+gAAABgAAACwCBAAbwAAAPkAAAA1AAAAsAgQAG8AAAATAAAADQAAALAIEABvAAAAKAAAABAAAACwCBAAbwAAACEAAAAoAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwCQCRAAZwAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAAAIChAAHQAAAAEAAAAAAAAASW52YWxpZCBCaWdJbnQ6IDgKEAAQAAAACAAAAAwAAAAEAAAACQAAAAoAAAALAEHwlMAAC/ECAQAAAAwAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzQxZGQxNDlmZDZhNmEwNjc5NWZjNmI5ZjU0Y2I0OWFmMmY2MTc3NWYvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAACvChAASwAAAAYKAAAOAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvZml4ZWRfcG9pbnQucnMAAAwLEABuAAAASwAAAE8AAAANAAAABAAAAAQAAAACAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQAMCxAAbgAAAM0AAABGAAAAAQAAAAAAAAABAEGImMAAC4UNEgAAAAAAAABGaXhlZFBvaW50ICBpcyB0b28gbGFyZ2UgdG8gY29udmVydCB0byBJMjU2LhAMEAALAAAAGwwQACEAAAAMCxAAbgAAAKkAAAANAAAARmFpbGVkIHRvIGNvbnZlcnQgRml4ZWRQb2ludCAgdG8gSTI1Ni4AAFwMEAAdAAAAeQwQAAkAAAAMCxAAbgAAAKwAAAAUAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvbWF0aC5ycwCkDBAAZwAAAEAAAAAOAAAAQ2Fubm90IGRpdmlkZSBieSB6ZXJvLgAAHA0QABYAAACkDBAAZwAAADYAAAANAAAARml4ZWRQb2ludCBvcGVyYXRpb24gb3ZlcmZsb3dlZDogICogIC8gAEwNEAAhAAAAbQ0QAAMAAABwDRAAAwAAAKQMEABnAAAAPwAAABoAAACkDBAA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CQBB2LfAAAuJAy9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3ZhbHVlLnJzRmFpbGVkIHRvIGNvbnZlcnQgdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdG8gdTEyODogAABAHBAANgAAANgbEABoAAAAkAAAAAUAAABDYW5ub3QgZmxpcCBzaWduIG9mIHVuc2lnbmVkIHR5cGU6IACQHBAAIwAAANgbEABoAAAAaQAAAA0AAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzAMwcEABnAAAAJgAAAAEAAAABAAAAAAAAABsAAAAMAAAABAAAABwAAAAdAAAACwBB7LrAAAvlAQEAAAAeAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAAqx0QAEsAAAAGCgAADgAAAEVycm9yYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAA0eEAAdAAAAAQAAAAAAAAAgAAAADAAAAAQAAAAhAAAAIgAAAAsAQdy8wAAL9gQBAAAAIwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAJseEABLAAAABgoAAA4AAABkZXNjcmlwdGlvbigpIGlzIGRlcHJlY2F0ZWQ7IHVzZSBEaXNwbGF5IAAAAAwAAAAEAAAAJAAAACAAAAAMAAAABAAAACUAAAAkAAAAIB8QACYAAAAnAAAAKAAAACYAAAApAAAAKgAAABgAAAAEAAAAKwAAACoAAAAYAAAABAAAACwAAAArAAAAXB8QAC0AAAAuAAAAKAAAAC8AAAApAAAAMAAAADEAAAAxAAAAMgAAADMAAAAzAAAANAAAAEVycm9yY3JhdGVzL2h5cGVyZHJpdmUtd2FzbS9zcmMvbG9uZy9tYXgucnMAuR8QACYAAAAdAAAAHQAAALkfEAAmAAAAHgAAACoAAAC5HxAAJgAAACEAAAAKAAAAuR8QACYAAAAjAAAADwAAAGNyYXRlcy9oeXBlcmRyaXZlLXdhc20vc3JjL2xvbmcvb3Blbi5ycwAgIBAAJwAAABYAAAAsAAAAICAQACcAAAAYAAAAPAAAACAgEAAnAAAAGgAAAA8AAAAgIBAAJwAAACcAAAAsAAAAICAQACcAAAArAAAACgAAACAgEAAnAAAALQAAAA8AAABFcnJvcgAAADUAAAAMAAAABAAAADYAAAA3AAAAOAAAAAoKU3RhY2s6CgoAQdzBwAALmQEBAAAAOQAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvNDFkZDE0OWZkNmE2YTA2Nzk1ZmM2YjlmNTRjYjQ5YWYyZjYxNzc1Zi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAABshEABLAAAABgoAAA4AQZfDwAAL5jiAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwCYIRAAZwAAACYAAAABAAAAYXJpdGhtZXRpYyBvcGVyYXRpb24gb3ZlcmZsb3cAAAAQIhAAHQAAADAAAAA+AAAABAAAAAQAAAACAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZS9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9iYXNlLnJzU3RhdGUgaXMgaW5zb2x2ZW50LiBF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RGVjcmVhc2VkUHJlc2VudFZhbHVlV2hlbkFkZGluZ0xpcXVpZGl0eTogUHJlc2VudCB2YWx1ZSBkZWNyZWFzZWQgYWZ0ZXIgYWRkaW5nIGxpcXVpZGl0eS4AAAD8KRAAWQAAAIApEABqAAAAJAAAABgAAABNaW5pbXVtVHJhbnNhY3Rpb25BbW91bnQ6IE5vdCBlbm91Z2ggbHAgc2hhcmVzIG1pbnRlZC4AAHAqEAA2AAAAgCkQAGoAAAAtAAAAGAAAAE91dHB1dExpbWl0OiBOb3QgZW5vdWdoIGxwIHNoYXJlcyBtaW50ZWQuAAAAwCoQACkAAACAKRAAagAAADQAAAAYAAAATWluaW11bVRyYW5zYWN0aW9uQW1vdW50OiBDb250cmlidXRpb24gaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pbXVtIHRyYW5zYWN0aW9uLgAEKxAATwAAAIApEABqAAAAQgAAABgAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvbHAvbWF0aC5yc3VwZGF0ZSB3b3VsZCByZXN1bHQgaW4gc2hhcmUgcmVzZXJ2ZXMgYmVsb3cgbWluaW11bS4A1ysQADQAAABsKxAAawAAAFkAAAAYAAAAbCsQAGsAAABYAAAASAAAAE5lZ2F0aXZlIHByZXNlbnQgdmFsdWUhADQsEAAXAAAAbCsQAGsAAACkAAAAGAAAAGwrEABrAAAAowAAABwAAABsKxAAawAAACwBAAAjAAAAbCsQAGsAAADMAAAAJwAAAEF2ZXJhZ2UgdGltZSByZW1haW5pbmcgaXMgZ3JlYXRlciB0aGFuIDFlMTgulCwQACwAAABsKxAAawAAADsBAAAYAAAAbCsQAGsAAABHAQAADQAAAGwrEABrAAAARAEAAA0AAABsKxAAawAAADkBAABZAAAAbCsQAGsAAAA5AQAAKwAAAFZhdWx0IHNoYXJlIHByaWNlIGlzIHplcm8uAAAYLRAAGgAAAGwrEABrAAAANwEAABgAAABsKxAAawAAADYBAAAoAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2h5cGVyZHJpdmUtbWF0aC0wLjE4LjEvc3JjL2xwL3V0aWxzLnJzXC0QAGwAAAA/AAAAMgAAAFwtEABsAAAAPwAAABgAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvc2hvcnQvY2xvc2UucnMA6C0QAG8AAAB1AAAADQAAAOgtEABvAAAAswAAAA0AAADoLRAAbwAAAMUAAAAZAAAA6C0QAG8AAADCAAAADAAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oeXBlcmRyaXZlLW1hdGgtMC4xOC4xL3NyYy9zaG9ydC9mZWVzLnJzAACYLhAAbgAAABQAAAAVAAAAmC4QAG4AAABEAAAAFQAAAJguEABuAAAAeQAAABEAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHlwZXJkcml2ZS1tYXRoLTAuMTguMS9zcmMvc2hvcnQvbWF4LnJzMWU5Tm8gc29sdmVudCBzaG9ydCBpcyBwb3NzaWJsZS4AAACoLxAAHQAAADgvEABtAAAAOQAAABgAAABJbnB1dCB0b28gbGFyZ2UuCiAgICAgICAgICAgICAgICB0YXJnZXRfYmFzZV9hbW91bnQ9CiAgICAgICAgICAgICAgICBtYXhfYmFzZV9hbW91bnQgICA94C8QADQAAAAUMBAAJAAAADgvEABtAAAAQAAAABgAAABDb3VsZCBub3QgY29udmVyZ2UgdG8gYSBib25kIGFtb3VudCBnaXZlbiBtYXggaXRlcmF0aW9ucyA9IC4KICAgICAgICAgICAgVGFyZ2V0IGJhc2UgZGVwb3NpdCA9IAogICAgICAgICAgICBFcnJvciAgICAgICAgICAgICAgID0gCiAgICAgICAgICAgIFRvbGVyYW5jZSAgICAgICAgICAgPSAAAABYMBAA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dmFsdWU6IAogICAgVW5kZXJseWluZyByYW5nZTogIHRvIAoA+D4QAEcAAAA/PxAAFwAAAFY/EAAEAAAAWj8QAAEAAAAoPRAAbgAAACkAAAANAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvbWF0aC5ycwCMPxAAZwAAAEAAAAAOAAAAQ2Fubm90IGRpdmlkZSBieSB6ZXJvLgAABEAQABYAAACMPxAAZwAAADYAAAANAAAARml4ZWRQb2ludCBvcGVyYXRpb24gb3ZlcmZsb3dlZDogICogIC8gADRAEAAhAAAAVUAQAAMAAABYQBAAAwAAAIw/EABnAAAAPwAAABoAAACMPxAAZwAAADAAAAAKAAAAjD8QAGcAAAAmAAAADQAAAIw/EABnAAAALwAAABYAAACMPxAAZwAAAHUAAAAVAAAAjD8QAGcAAABdAAAAEQAAAEZpeGVkUG9pbnQoKdRAEAALAAAA30AQAAEAQZCCwQALqQdCAAAABAAAAAQAAAACAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZS9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3ZhbHVlLnJzRmFpbGVkIHRvIGNvbnZlcnQgdW5kZXJseWluZyBGaXhlZFBvaW50VmFsdWUgdG8gdTEyODogAAAAs0EQADYAAABLQRAAaAAAAJAAAAAFAAAAQ2Fubm90IGZsaXAgc2lnbiBvZiB1bnNpZ25lZCB0eXBlOiAABEIQACMAAABLQRAAaAAAAGkAAAANAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3ByaW1pdGl2ZS10eXBlcy0wLjEyLjIvc3JjL2xpYi5ycwBAQhAAZwAAACYAAAABAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1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KClgIG9uIGFuIGBFcnJgIHZhbHVlAERQEABuAAAAzQAAAEYAAAABAAAAAAAAAAEAAAAAAAAARml4ZWRQb2ludCgpdFEQAAsAAAB/URAAAQAAAC1kZXNjcmlwdGlvbigpIGlzIGRlcHJlY2F0ZWQ7IHVzZSBEaXNwbGF5AAAAdAAAAAwAAAAEAAAAdQAAAHQAAAAMAAAABAAAAHYAAAB1AAAAvFEQAHcAAAB4AAAAeQAAAHoAAAB7AAAAfAAAABgAAAAEAAAAfQAAAHwAAAAYAAAABAAAAH4AAAB9AAAA+FEQAH8AAACAAAAAeQAAAIEAAAB7AAAAggAAAIMAAACDAAAAhAAAAIUAAACFAAAAhgAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wcmltaXRpdmUtdHlwZXMtMC4xMi4yL3NyYy9saWIucnMAUFIQAGcAAAAmAAAAAQAAAEludGVnZXIgb3ZlcmZsb3cgd2hlbiBjYXN0aW5nIHRvIHVzaXplAADIUhAAJgAAAGFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93AAAA+FIQAB0AQcCmwQALpQdDYW5ub3QgZmxpcCBzaWduIG9mIHVuc2lnbmVkIHR5cGU6IABAUxAAIwAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9maXhlZHBvaW50bWF0aC0wLjE4LjEvc3JjL3ZhbHVlLnJzbFMQAGgAAABpAAAADQAAAEZhaWxlZCB0byBjb252ZXJ0IHVuZGVybHlpbmcgRml4ZWRQb2ludFZhbHVlIHRvIHUxMjg6IAAA5FMQADYAAABsUxAAaAAAAJAAAAAFAAAAL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2ZpeGVkcG9pbnRtYXRoLTAuMTguMS9zcmMvdmFsdWVfaW1wbHMucnNGYWlsZWQgdG8gY29udmVydCB1bmRlcmx5aW5nIEZpeGVkUG9pbnRWYWx1ZSBvZiB0eXBlIFUyNTYgdG8gSTI1NjogAAAAolQQAEMAAAA0VBAAbgAAAH8AAAABAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheQAAAAAUAAAABAAAAIkAAACKAAAAiwAAAAAAAAAIAAAABAAAAIwAAAAAAAAACAAAAAQAAACNAAAAjAAAAEBVEACOAAAAjwAAAJAAAACRAAAAkgAAAJMAAACUAAAAlAAAAJUAAACWAAAAlgAAAJcAAACYAAAADAAAAAQAAACZAAAAmAAAAAwAAAAEAAAAmgAAAJkAAACYVRAAjgAAAJsAAACQAAAAnAAAAJIAAACdAAAAngAAAJ4AAACfAAAAoAAAAKAAAAChAAAAogAAABQAAAAEAAAAowAAAKIAAAAUAAAABAAAAKQAAACjAAAA8FUQAKUAAACmAAAAkAAAAKcAAACSAAAAqAAAABgAAAAEAAAAqQAAAKgAAAAYAAAABAAAAKoAAACpAAAALFYQAKsAAACsAAAAkAAAAK0AAACSAAAAAQAAAAAAAAA6IAAAcFYQAAIAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAACuAAAAfFYQAHxWEACvAAAAsAAAALEAAAAKCkNhdXNlZCBieToKICAgIAoKTG9jYXRpb246CgAAAAAAAAAEAAAABAAAALMAAAC0AAAAtQAAAAEAQfCtwQALJRQAAAAEAAAAiQAAAIoAAACLAAAAAAAAAAwAAAAEAAAAtgAAALcAQaCuwQALpRIBAAAAuAAAALkAAAC6AAAAAQAAAAAAAAA6IAAAAQAAAAAAAAA4VxAAAgAAACAgICAgIAAATFcQAAYAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZXRoZXJzLWNvcmUtMi4wLjE0L3NyYy90eXBlcy9pMjU2LnJzAABcVxAAagAAANMAAAAyAAAAXFcQAGoAAADUAAAAMgAAAAEAAAAAAAAAaW52YWxpZCBkaWdpdCBmb3VuZCBpbiBzdHJpbmdudW1iZXIgZG9lcyBub3QgZml0IGluIDI1Ni1iaXQgaW50ZWdlcv///////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4P//////////////////////////////////8KCwwNDg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY29uc3QtaGV4LTEuMTIuMC9zcmMvbGliLnJzM1kQAGEAAAC6AgAADAAAAFVuc2lnbmVkIGludGVnZXIgY2FuJ3QgYmUgY3JlYXRlZCBmcm9tIG5lZ2F0aXZlIHZhbHVlAAAApFkQADUAAAAvVXNlcnMvcnlhbmdvcmVlLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcHJpbWl0aXZlLXR5cGVzLTAuMTIuMi9zcmMvbGliLnJzZGl2aXNpb24gYnkgemVybwBLWhAAEAAAADB4MGFyaXRobWV0aWMgb3BlcmF0aW9uIG92ZXJmbG93Z1oQAB0AAADkWRAAZwAAACYAAAABAAAA5FkQAGcAAAArAAAAAQAAAGNsb3N1cmUgaW52b2tlZCByZWN1cnNpdmVseSBvciBhZnRlciBiZWluZyBkcm9wcGVkYHVud3JhcF90aHJvd2AgZmFpbGVkSW52YWxpZCBjaGFyYWN0ZXIgJycgYXQgcG9zaXRpb24g81oQABMAAAAGWxAADgAAAEludmFsaWQgaW5wdXQgbGVuZ3RoL1VzZXJzL3J5YW5nb3JlZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3J1c3RjLWhleC0yLjEuMC9zcmMvbGliLnJzOFsQAGAAAAD+AAAAKAAAADhbEABgAAAA/gAAAD8AAAAAAAAABAAAAAQAAADJAAAAAQAAAC9Vc2Vycy9yeWFuZ29yZWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9vbmNlX2NlbGwtMS4xOS4wL3NyYy9pbXBfc3RkLnJzAAAAzFsQAGUAAAChAAAANgAAAMxbEABlAAAAmwAAAAkAAAABAAAAAAAAAGEgY2hhcmFjdGVyIGlzIG5vdCBpbiB0aGUgcmFuZ2UgMC05dGhlIG51bWJlciBpcyB0b28gbGFyZ2UgZm9yIHRoZSB0eXBlSnNWYWx1ZSgpo1wQAAgAAACrXBAAAQAAAHJlZW50cmFudCBpbml0AAC8XBAADgAAAC9ydXN0Yy80MWRkMTQ5ZmQ2YTZhMDY3OTVmYzZiOWY1NGNiNDlhZjJmNjE3NzVmL2xpYnJhcnkvY29yZS9zcmMvY2VsbC9vbmNlLnJzAAAA1FwQAE0AAAAjAQAAQgAAAM0AAAAMAAAABAAAAM4AAADPAAAA0AAAAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjYvc3JjL2RsbWFsbG9jLnJzYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZABMXRAAKQAAAKgEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAATF0QACkAAACuBAAADQAAAHVzZSBvZiBzdGQ6OnRocmVhZDo6Y3VycmVudCgpIGlzIG5vdCBwb3NzaWJsZSBhZnRlciB0aGUgdGhyZWFkJ3MgbG9jYWwgZGF0YSBoYXMgYmVlbiBkZXN0cm95ZWRzdGQvc3JjL3RocmVhZC9tb2QucnMAUl4QABUAAADzAgAAEwAAAGZhaWxlZCB0byBnZW5lcmF0ZSB1bmlxdWUgdGhyZWFkIElEOiBiaXRzcGFjZSBleGhhdXN0ZWQAeF4QADcAAABSXhAAFQAAAMYEAAANAAAAcGFuaWNrZWQgYXQgOgptZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVk1l4QABUAAADrXhAADQAAAHN0ZC9zcmMvYWxsb2MucnMIXxAAEAAAAGMBAAAJAAAAY2Fubm90IG1vZGlmeSB0aGUgcGFuaWMgaG9vayBmcm9tIGEgcGFuaWNraW5nIHRocmVhZChfEAA0AAAAc3RkL3NyYy9w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") const wasmModule = new WebAssembly.Module(input); const wasmInstance = new WebAssembly.Instance(wasmModule, imports); diff --git a/packages/hyperdrive-wasm/hyperdrive_wasm_bg.wasm b/packages/hyperdrive-wasm/hyperdrive_wasm_bg.wasm index 6c35720151f77ef8f050252e38273d9601bc496c..fd84665b833fe2cc35b123d78a923ba55bba3680 100644 GIT binary patch literal 415501 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

3N7b^xq@>h!?wgv2E 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�-pZ#)XjArtO z_Um3uvgrcxBu@=j>gYYrt-W9YllTChMLs-xHr$QN)b!AB)&TEQuLN@>27p+F3Z@@6%$Q=Ip9 z^|!z7WzjF`>Bh5F5ip8|!2*)0%p>R5xkZo8F^{H33AYA3T4)}* z6<_1%HD3llP=T8=*p$IXi`T;9=^_>^UT+5roBt>*Z2m~ z!(Z@_Lj^3b2gvc+9N=ZW#>X2WMQfQ!iBuoj%bWY#PkixTp1b9_>mInmSOn*O@#Zi6 z@Si_$<5g`~2D5t;BR|auP@L?vj={uOsUCmNfBx*I$NuuoXRIA@?p5#mulIiO+FSqo zi{ug|dzoFDk?2*jF~y?>PSX6}w`vW{g<4|-daf@!s@w;RWREhv3isQB&29=`pPxBbU|empAw zQ&-;pKmW1*PoMpq$=*_|SUD)RuV)rhB#J$=gkl!OET%>M-(otV{;Mvgv=PPMMj6rj zi)}V~-BxWz!yur|5GKuk%#%BP^TZ5^X1!TT`cjneU`{Xx)=93^uxOQvxJnTzx&a+X z%EqA=pjU_m&`nrN+oj5oWmq<7AvT3oIbai5$~2v=^zz^N21>{gbLTS7>QlHmq zwBc5X9E9#z$JcwTH#{?aJDa&9`jmhtXG8h_c$guz#)s~V24WhKxtey?P{MTM1xcWm zQmxO3Im6FX-yV;1>CbFfLh8+H>TbooAV$CE0gKf2^Dhd_3Xw@BWqz|=c4SO@l3Gp1j2@Mt4J0-n8W18A zhNB}yJ{g!$-UvPWOd=&ho_3(dDXRKR>7u}pJtEFo?j-=W)dup%A}q%7^CY~HW(f;l{%&gP^16SzL} z{gIagDH)RNsoaMYX5xjd1maesM{8PCZe6*kJW^K&rOX}a|EHogCaXMDZeC2BJ0d7f zt?(x?#gHyeR;0~)L?e#nk!tO_=3*N}FfG zEWCm_!5nf@#i}#12|!hioMy$u2L~_A&{@r3Ds7l4A}bu4BTCOq!3P<;r;p z?lZZkbU$;T&_6JFlS- zftv2V8O_V;TDt1%moDw7YpSiSTQ+mW+SP^ru6}Tsv8rQm#f;jTy4IRHlXh))p{Hx{ z!0L|9LQVgGcM|3HQSSL%6S?XNb*;NwpOvc5>~QUtF?D$rI7wbE@9rpXJ#$w;m~wgw zUEz|`3IjtugYE4@y%+a)te$q*lCZBg?C1@b9M|8!B)q7jXQ)ujtDkf;xLn?X_qTcN zRvRq7#3Fr3!SmMRiLbm|8{7-5HgI`gN?0^;@DO1-&?s1CyZ5UJ?-heP2_MW=ShKp& zIY>=c&JK^79bQtHE!JjxH1Ce!o{6P7ig3KlV-zR$UhsZg#XQ%VJi7`#gB^?4&h`eQ ze6QeM9!qy3;ds9DfDetm7p#0;UGjuAWH=aS8+kja%|_E%%pGTTc)zRf;@wL}3V}2@!VHUT_nH0P zOwP!Vk8z(2u2Zap_)((y5!;1eU;b zVT%m!%S&=bF1a-4AZJw8NSb&DFQ(s-2=L~RUrP*!^P~J+{=ej%#tR33hp@_fi`t~f zocDmIbc`QH`o3MD!!RmJ!2OL~QSkLxM{Z{vPuRNoucWlgm#AT3HvT8^e>a7@w}2U z%QK3r--2Fro9?b~ZufG;NqgAJd)23eOJlcmrBbdkt}Hh3>(MrU7bvyfc7(@v53KI# zSQ~b)THRAvg`lz}_7?_+`g=8Y^jgsz4)wa8(X)1D|Iol-=gh{suCBVqwq;$-9nBrJ z%`I(B%Q~Bvwk>OF>|EN|*0HR9S#w=WOVhHM)V03@y%SxnuhY~XH59QS0(f_Wu{4V` zD30U4XDGj{drhHhbzgVy;8^9=yjg5snexlCR_Y0dQ@F$(f2)S+^7<}$NE>pk?ihJU@p^Eq+W#Z*SjV*wuYe zcUK`?x)$xWzYhU9r6T9;%X=4J`lG4u2<^7*BZaQ^Fg!dAXNKNMq!+zbahKk>I=Z|3 zq-RKHbFlO^^%DoHPpUizGtnJ|k97HcV(-rP*AttQA5K>rd)T70#J9@i2 z7q95+TPaCW(-IRTzoTxFk00g|O?ls3Q)j1l@u}R!9RsUk$-IlkSsKkCjq2`T$Uh3! zoI-8k-ivlqV{o2uItI@j1D^&QPk%aaJpGwt;-57JUJM+^Px`2Eboi+5@%O98z?Y1H z-!%q)AF#$Xm*4vd$ML%cSoPZ(MOVYzPgLf-ka(I)v~xN5aKg$@Ug10YIr-qysa>Q` zI=F%G+hVZvr8ulIMF$sOI#wmuPVkOvKi+UIXXbR8+elV8SbagbIQUS)s*{6N-y>qM z;~)24eM@*a_!z?R^v8~Yj|WygT>J%ucdH(e3O|3m)u}ayo6hB6^>^{6gAXLEavU5I zRyhtu!>f#dN-|9E`isrGW|ParJ1Ias5N+RMRjCmhf36ySJ%;&ai~#qS{;&uLFDF$~F){NQ3zhDfkmQ?Gz_i9P(lSNo9DQC8b^ZA;OZ<4!(l$5ixj}aJ)Y2#=O50IG+D{VD$`_-+Krj z9)qtUEa~Ik{}W;LatFVcuzHJw-$z(d!NKn*9Ix-yz~XfG{u;t@dS44XJNEtqW8jUz zae93aI8NW|$G{&3j_d(mWS4AzJs{&w$Gc050g?D72O14}Bp_-dmt2A@FqpcpKk zReGOGKhd*?oU=?u{vY<^+QG1%@g7!~?Ejd}f)uC9{`y~_tzL@`b`vmX0sS8P>wyZ55JTH3*?lUiygMO$4UV&RQZxsHP!tU9ZwIap(=@^!G|U0T{hm?T zcRlCdwEr8M^M{k{ylt257UP-uq&bW_scj@p96Xuu+!#EC@UbyiI$v!J79FJnx%ATr zi}nsaoUmx;U`dyFc^ZM@`K#=B`Fa;G?>OLid1@<3?OH7=ad+i(5|)&a^h`!qz#Vh; zZm$Qqyv`+^c+|nC5-w$b&;3ZO_a^oXSM1mxVb-P?Ft(k=53xko-?LWs)sYGPSz5}{ zTz{ypzO_AM7Cj}WZOq;?lXKn*?i%M(T+yt0Sx@)saG-lRR-|R&P_II=6=04c@kY|B zXSuZ9ge$oAOr3Y#6P~2}<&>w{g+>N9hKNhu7$Oc8S2BjY{2(pzqOVxu%YTG1Ik z9z)ESu?r(!#et)3cp-IhwXGst%|&gWeTdrrDXH43js6j8`w1|Yv~;$*uEIcPfA?w` zDW@GKJ62bL2}37q%3ZUNSB7<@2c^X#CU;RB5xk}~26NiazmjX3J% z>ZNgbdh~1&X*H@yawzRgE~S-Zkn@F=doah%#S)!T_X$I=e707%obMjT(7tqG5FZU@FIWibnYh5m~Q1FVXf6~V=< z3G@vN^*gVX+2IkP7R$!OrtZ%{3-#9Q+j6Eizm2=}%8PlfQA<5ZT<&1S6<6048k*g+ zV}Ug~Ias>IF)>&)mTnsza=l>DRIrv9}rHMHBhlJzw_yMp+FZcfYgwGrUYeaDGpCY_JS8YwJQD)uqi45^` zV(|ov|K0ojfHjIZcwgXny#)*JdUADfPUV^UM;z8@;uW_j81@z}j=FucIxaV*A&%089m}u_h2*dKT#s`HlE(TfWu432l{qykbH}W5 zGIsSsZ{N`J6=4svJL55`ffv1-3|Aj+XM`@lVw(>Q;=Oc|ToUj?+G!TvX7Z2*?edVu zEIRBMr(^nhF>fs$G9C*w>A)&Y#ry3Lpmqg6c~ylmPnsGpc|^{vy1R1bM&-N}Z5^#g z53TN!;xks@j2^34#=rr?)uG1w5qOIxJ>1m~)PACmgU=zXvA*c+#k@#-W7(q0Yn+}l zwnP{ImNDr+3#^&1dp{jnCHd{(CkadTwarjx$5BRHB;e zDO2N$%VQRK#&JF#SmU{Sf9x2z4OsPb?*(h7aaM<9w51nw{!XJrMr-&JXINS9(zK8! zUS>0}7U>dgJ2H3M_s_Di|>upJ>mv zl6A3h&!4@h-qv@JyXG=3pKkII9g6vAep;NK8!uLT!8=zPzqgU+HMfwD=6zp{^8G${ zP%P#PM3@9He=+rO8Kj#SGzd8t{}Z+fb&xv(Kc(mBO7u?A9ry-6UBA#r-0*i z{A2|0SO?jjdv=ZKM-l(g9l}*OFUl){`HAOk00+%`9_RiR%2H?W^Io9bUdkVlLA$5d zkM8*DsKu6-18}js9qHJ|&C4wxX?u}X8)5FQMyrF}$6fu|;dDA-@zfdg(wNc~(yy7z zGaNw8>By{AXqBuf7(f2bK4$yY)>Mu>vFK>-|EW_{yJgtzJnhjJT3;8(GfJ>y7y^d z$p#0%N_g)WT+4fvZ-)29XhOZ6-K#r#X1hvDfn?#PqqEcOzQ83$L>!nstvTw;+{0LY z4N-osypI8E4i$&v_un<6EYI)bp5*?fkH=&7hdn{L(r>D{L>~uN zMQ{<{*xsgdS}e|;+%vH>>Z|cQ)V|U|U7mu~rs~~pLzAoj9pt4x?&6Af;(5&jmh5)# z1uHKH=Lt)eIarqScCL{vG`36a&fdL=tyUL5mV1Icj_00=<$XS3;kLVZyM1(nWAeQT zSZ(fb?vCoon`%x9p1+Q z$NT8sloQ803)~VbS8%+~N=CC$_q+#P#Nm^ZN<9Mfix-ocRv2gy8LsEp#t-S!D_d3~33;&(`Ce(d1b^eW4Z zpYqj{^&4@?C~7r5JKDifdz2l`W^u0~tt;j8ghjD!eLv#4kL=*Ml=KG>|6|-sWBJ@c zSTioL-11jpncSI=x!x6PvCZBQOTdwMrLXvt(`hpp z(++!@GNl7P#~m)&c;(me#>~v+$=}#h-t10p80+tFi}LQvTPyg9+*eS~ja<^OcE>L& zIoHmFT-t8Z?K#fewO`a6$`@y<<<&!W*U#n{;%f9%n;y#*hmVV%Jx|_}Z0eEoxfXDp zz~!`Ir9Ej3{PyVClw)$<$%IegQrd-FN_#5TY0;%w;~CL)Cih)=Neq&wWZGM@YVS9efGlbPT?laC;2?^cYy9r0C<)3s!G; zzB%U*c5Qer;q$oO!56(a>L~lUK-{p1tE1>z^?$c>GjUwp9cRSG!x|UXhJk2Q@Vq6& zlRUbRyLzC0PUFPJmOEUVz_#o{q%tB7B+#mxx>iU`MTGgw<=H)*s#v zwH{80TI&1%2-IqrH=0@_WB%%nehjv52d^1c!FeO`H7nV~T~u=xv>}%H*cI9y@@zBj zMA@-%T$C4hpWDuRS61?P``(m!QXh_cc=D06=%(Kk-dA$pGs1q?a_>mW8ec$2Gsc+Z$xt?!Gc7gi=Ubg> z7I)Eo&(zuIs>bL#b|116MO~C99+g&6%5`ROqjlKnwiCz!B0|%9miPw}&!w9|SYy++ z71QS7_R!U9!U9__m#&92J1ftoW-K6Gygco$)KJ^h*4Eb0+}hgKP~TA3)Y{e^ zZAZtXW66!KN_z3AEBErK+@{#G_3l|?TU~QYOG_jFYFipx8XB7F>Kf}BTk3Fjj>Ug3 zVQFmjjSa0$^)2;H^>vL+jjfF>ZMBWfO>MO;&26ns%^=m%TrBrN;>%js&{|*L+R#Au zZOvfa+(sxpX{EUk0ppiS(P|L_F*RH`X^aH8;VsG<7o#UEkQ&0v2!yNYyq_s|E^hCYR>shT2-PZmk11 z8o#-%k%%p@d0k6uD}{q&ZBw)Ojf%iYjg(JWE%j~njZIXl9)^Lb>KbaB+o*VLU2|)5 zGxct3tc4vx3v}um>%o)vO%3(6jkRztDHW%_whoqrq)oM;4+qxMuUea+X`5KO7CP6F z54CS-YJ+R*cmv()+uB;{MCw**LoraIxv2?k>13`=D-i0M0jPsP;5z6Hb;+DsHP*M* z8`4AW#s=CM9L4_hC2G{7mY_e?HP+M5T3cWSs$SPdmFTH$1W4V~)K*{D2Jt!ap{=&H zwymMDjp~3yU2|=%D%R50THn?}bs!d$6`JrC#DJD<{57_~RIRm*bl=80YD#Ogh~%~P zoJYnD0pRL#5OtA^cJO3i@vDR7K^K27D^a{}WyZi#6yon+C$BjCmof1F0N2OL`xD_X z2LCtVc>3Q0H^$!oW(@r6G4RV{;Qtx}|3Bc6S=^0`iuW2VXEje;?O!Aum#%{2)OZ1S zN-X}*30KA7=f}X$je&nQ2LAUk@Uvs!pG2_FUB3~{$DMSs=WPy~Pq8+K%tC8(IFP#} zcr|z7@n($sHmO0IWD*Lv>niLR@-@0r%#wf?&Bw7C8%oqe#dTqA9C zfKPZa9)rv=@oT_IOPja`x^;@+6Qnx?Ja?(z67K-Mdw(n3^SR9KSTg3EZY>#mh5|d* zW}UgFhw`M&c5_J^*|x9m-mbP6$VVEn%Wos$6xUl)kHwl(%Tw$PVULETZFNRbSKB%T z+WX8IIb(@w<@-r4<@+hF8>8#f+;57m zo4J36YXX<>{p=X{mgw15^8Fm)Te+0)ZCuKC6PJ?=pC1F?4y&&qjU;C=^}(%#9X zw4$|s?IG)A#F6CGPk89k&xP+Id?|5s-A(u&u6w!4%8uz^LmMZtt+j^lva;fQxs3Pv zxjgP8{3Wh`=EByx^-g;0!LH(C8_*H@%S684%inaDy7pc|`2nu4aB1QauYwD=o^7jw zR|P*NYQSmY?wKx9z&ERZU`8hg$j+#*;W(j2bJ~VEHe+VDj-`^D^dicgI)A-OKSwTZaEbm*%wg7_ewM($&Y2g7Sh}MigFB#*C#VXoTpl#>lbnJwHe! zQ|U}eY4oNnTV64)a%{8_cvtU7V*a0m_Dr+tK&inQD++67)afj`+Spl84d>>(4%+QO z`iHpkOt)EBe&rg)u#FySJg4N+E{~sO*jPqpm1YPa-7VzP#C^{oyvspX$A%5)l)UKR zFz>|ktWm3WP3=y{)8)iF06bp+-w~tJ2z&(Z#J}>>Ws4guc~Rd=Y8^YnMpJ0(*T1x& z5xuLwZ}sXz*AjaQ@#4W1{e2fN3745QHfO&ZG3p$8XxK5R6CpV_2mF5zK6_JM`W-oA z+;9oH&6%S;<{*hZLsN5npJ9S}juDIVKr3Z00f*PPrg6pLqk;8vV(#07MV~!`lTPqi z+{wDT7_%)xig9=`=lmE^<2?y(=t|zrTv81jtRbkBOStIQ5x1LJiGnndtEpL)3~Oh! z35cXlv@%(Q+ z$VejAbVJqNon%CQPm}N4xxbA<=W_opmm4kqmGDzsTewWQGx7HwnAz2%O&5Kg91mAt z(`+(zkDy`409*46t67e04_8b5l&h4v+r698RaX=`y1bLlw{8xbXmHVYN6F=4sBB1% z?{hJEG5uYnuOPklgQFwSp6%`Q42o!Pk6eW9=5fh>dV@J1HR@KTF-+V;@f*fK-4n7| zqr)6cWzM5QhZ^kfTg!>F(Q!~V=b5Ye4A-3Y&YW2q{XH^Gealu{+S&3#ul%SB?08}? zj&>diqj15o?IDAXIolkU$`uUyNIGu~`LvMU<@b10Cvzg7gaRG8y=+xsRbT(w&@_QP z1dIA2mpEcQ5&}Pr@cA$9qKU)WB%z5)7F*fXNt=u2(Q*{E>0Y+hu%;<7)ER(Q{C0#E z2Q#5Cb(lsTjj_Co@5#T5chW>OQBwYKp86iJeolq_HwzYFjqw`Sf57!at{-vbxFipr z;rcO`ruskSGB)>X11fGrOH!^>;{j*wwM7WRBvQ>ki;CXj}gerbHOf`;kLcR_XUz{Q=e$EAt?yk4VNY(=!Vn*KC4qNqA zWF~d027mW@*-u+q+d7tZvNdl+%(cJ6m2`?ZfMM*}_u-P0F~PgD??=+jrwrlh?&hQ- zZNO9KTq@0sl{-;{5l3qZ#t~nzjmQ(UYx3ac-NSt^?z3lC&4%!Jn8$?7lAgjc)?4~< z^&NDBAPY@;s-;2m9F_bz@(?wD%Y8rY>7{lZW^_Wcm}rv{$EBG@T%~P|(zvwJ^i@aw zx_C!JnV)09UjqG#>m@FuJ--V_=I~u*)5|UkFDpC0D3NLLnT!*r)jvx9@^}b+Dw-h~d1k8QW?rCgxhK-1SWjnBSYQV7FlLZfnLi++2?(nYE5)%;FfB z+gL8a1dYYC5reIkP+Bp!$|R448iRdPYcr-<)@iU7gOE(Om|RKL#-nWo`{9zy_zu^# zF;k1`T>%j_10O}4NX%~Tw6ysMGUX8BIQY}RlYs5O%dvv&A+T)Z7|y=YxXZTBPBTDQ zO(*;Vd5X8vU3M3$jae`g2R>a9w(?wU@7~+=Hg{9ffP}K)UJ@C=JBKv;lBSot#P2(5 zYHH43%4acpLq;*>Jxzhbter+VN~|tfavkwC#DAK*#NB7PtL*!@i_awDUB&1i8pt|~ z7GgUTXCKcBC5_Cn_uA(gPP3!JVd`{Cyr;=0OFqwW7yVKNt8!FuPshqp4x@UiO0hgY$!5NU2m>>-Z$cq`X*u3{Vp!p^>~!b~)7j)B%0GAP;!tz)xRLQGPpZ& zZ}3p?RPepv>GB_x{xJAa@Du;})X#%oC0`1D6K+ku68vxCFMj!l^g~Ke#XZ?Q8V+fFFJAC-|^wi|kf!l0!>}vU86*JUuH_mOeG@ zr*etZ@cWk@IKQN9_||t;AD1mlSM1%ME^D5i+;8|RM|PcFKEJeV-f@%Xmz-X)AX7H{ zr+H-uB#vLuk{DM~mTt?Gt!v&tGb=IWEWfh8;@zKEHk2KH^nE9FR;;hh?fZe-uRQ+d zuUy%dIXt;2eMs57vT3Qkue|3Sg%gu)nelVP5+8k~Wc?2hFa6A~)-_c62c*X(OV(Ze z-sH+uMWQs5`{0t}O9zh}{!`gN$?ARPT{5A3LiyRH`w#!qy5ke?nOnKf`h^Fj)5AYF zB6U=izj{VuQZiUK=b-WJDSzFT!>|11@c$fkQnD-=ynFnyC(R!I#*t}1d1h*IW3X=A z^ki50S!Kg_wH{D0Jz1Iw#-)cp{_baz;}aE$i<67f?{rwY@ zGL!u&!9n|mi6as-vNe8fvM#9iZwo#j+@AbG$^Qm_N&Pi=E%AEkoom*<|C-O#o_)^y zuiiN2-^W#+c+y{9t(kfBqVpI3V*NGOUiZPz-}~TKAA9`U-}%`KFTU<24MVrI&zim9 zg!9*5%gZl4_|?b1^RG|6@S;~__gUiicXk!lU-yYmefwXZsu+J*`>f*@oc)eP?_{gb zHP?NfB#(XjxffpCS~32(1zm;V^L)*)f5XGy zef(daT5$3yXP^7d#qYiL1NVOU{ztz4__uyEe&7AxvFK0#^V;jft1kT6bK?%`?VEDI z;>#|->+UPQ`p~}n9eB{Z<4-t49H`pV~$R~}n3Ihh{6?v8Q8Uq~HPx^8k}{}MkrGufETB>YS|GrnwLlB&P>jnoe9$Wl`l*llbC^g8lSE#Z%-a@@ZxY) z@`8hhpGaMKPhwK~%D*Pg&Fot`u~Zy)LAoqGDSd9{h}68Y=}DL)QJ0;boRrQchVS6j z%(}NHhHoi3GEtd0GSgaeMC!`d$4@MoIetc>sOx}O}9DNm(_Z_TayW5y2;PxJPg9* z_f6hj`-KOUhf5Cn?ev?DIJ`ET-goQs(}PV*W*qpJB{kk_Ve^fzFKPa(|MOUSZ=V#vai;lBjexd5zEic`CZs`5y+^zl<=XtBy1T@3<{eVAzezta>oL``MgTPO| z%|CGRJF@MirT)aEU&>IFIwEmo$>9_Iu!RK45}Gkn798NWD|xbnC}qJUKM2|wvyuU9 z;~y9#{H)*<5&Q|kzKm$ZChrnIlPC)g^kF_l%Ng# zTqy_m^Zg`NNZ&8RbJv6e@W=2*+rW4%fet`fZPN3 z{ezVM(O}YE75*V5`)6wswbU&L4)u?L@V0@n;{Qfu^HGX&IjPUuyacsOPD>>H&yl|uEKJPH)+OKNH&-4;J0<3!I>p`a)Ic<+d_gyO?jn$ z@JCu6j_@~9UeXWCrln0wrGrEb1otu!#6N9cP$8E~(i8yA;WicJd$ew2Dy5L0uJq{P zo_}2tIr9CL=!L4zKvmE^7X&4>6a`P!2Og3FJmaa{tjLq)gx|&vuwljJ) zr{YNNX~j=)giJCTXVkXNsH;0HeQ`$*(bE`#YHJ$Gb>u&W^jJRf4R7U&Smtob#&^eGiqH@)c(Ew*G@9A6G(KB#FiO!9jQCKs0L}h2Lmn&5!X#d`0{=LATvgds zWjnSj50+h}5T_6%fFL0#p&+6OM9sutLXn6eX%r}kpwmPR0Sp8Xbah8Cff0}l8akcK z=lk3HJgy$suB58S%#>Ai&pG?-v(MhY{ri1?kNr5AsVfg>Gnq{G6WJ553m$tcqo3?! zugmHu_n4jQkRc`Wx;$qb3OYoWi1*n7zMp;q1lf^Oc#aXJ;>8yma<*WiC@V=%Mb^Lsza|K6l~% zvll9F%w!MB|03nT|LmoU7auxzVeaDDnc3O?p}C>T&}?OBXkum}6CCtpU-IP4#S3%i z?ms&*1-Zk6b=?_02}=k-5>aiK+3*=-|Zg^yo+puH2`ehR6Gd z=SC-nMh2#b$10=a2fsRMa#HQ7+3AVVftiVc(ZT+Sp}`u}{$E_RFJ7u#c*E2q4_&?T zz|`f+CF}92%GlK0)a>B&^zh8w=*;jlsldqW#PD!sZen<1ZhVU0XY%Yc6dRu#nHm|c zj8tYT{Rcl=qw<3TgX1&(bAuDJ{R5TJfg05Fq<_QI<#SWh4^^fvz4`3G$XI1!WCqC^ z9Unx}4z7Xc^{Z2t@2^}<^Xtg$*yvoPe`vgaWOQ)2hK$!}!_?6D*xc+~rBdmiogE*Y zJ-8a*=z4K#`pU(J9=Te1cQ0rgJ0e2UOo5F)YY^715={|6V#M`9GIz9VK21zUwlL5@&z^a zp-X4yhQ~$*MhAw+2Lv`#HH6l8e)9BpUwnA_T;=TG=)lnQP-O;;?Vp+$zYD-gfUbXf zx_^8Qwi_KD92n|$Aec)zn9Bvz*9UYyXsGvk^JnV^v=0(X* zKVph-d=R}bJT}!oIx;syj~(1mCp@cOk+hth8J(Dz7@qCtts^sY!!>yGUwPg-cj2K+ zDUcc&9Gn|R9}Ug+&!YWn(96I0;d2+H`-f)d=1_pBw2|rQiRl{ZEP8J0O?qy4YGQ6? zdUS4fWOQm`Z00Kz?8+3NFgG~RKQS^lG*pAFzrnS7=AnyMD!cJ{U}OZ#W2}E_cwl;J zVz352ztoj-?gG}!)I+<=nVqPN&kRiuRw`qasezFiP4cyYgy$Z93dmfUnh_U8x_)%JzcMsEIxshY=BD=IW~K&X@2U3X${VL3-{rG2a}$F@!*gRJ{o_M}DA7#j zAWPh10Xk~t;zJMNCtSRIc5HZbe0F?lcp6K5dSGn);HSO5x$?$J@pHz&zL~j^5fEW+ zZfbP;;72{jByx1cl`vYFm>8X!#@-tr8J>Z04(3M9nU3%!v zXDh?g<75596R=MIz)YnE4ERp3!eLyt@rmgQEIT+ljqy!UA*$hWn8jxJh7ocES&zSnemA` zgVjSkedXdKSFc>1x-ct8du(jHAOC6^k*$mlS84#wH+j~hgek0^sr#`OQ!Y#YEEO3T zsEmwGjEvzHAKZ^8T|rkKxOn+$Rb2*$D$_Hg{V3R}p_#Et4YSp20xM#_%1o$;i3;Y> z^z>Z+Yz?*;b(MMJxvLM%UY>d*Of5g=3L0Vd%~vl*$!CWE^x=t-(SgB{fw}478U^~Q zMNdWrUb=j7rc#-`a<+dI<7{?x3@ZR%ex`=u;$ha=hJu^83~Ye@A^sm7oSVT6s8JiQ z=v*1qygxNNI!@SRW*o#AADXJcx_jNk0re7ySsBGs8cNE^+~?ajR?WMBpe?@N%mv7SEh+0)q4Ek zR*X*d&wzK8;fW!|WomHHzEv0i5^#)X=K6;!12dxo2dg_D@*@~|c4~TdYHYMJK0ZX0 zVG8bRImoi{ekce#^Wa%RR)b>`bCu!Y5hyk{dhomaW0lL7v4rqU21ZATqKpkp6Jf0J z*gmmSgyrDZr1M{R{t{r%JMR{sRi2CUH<%;jUiS1-QC1&nb&D?>B9Z)S9AYz94gr|5C~WdHQY z;Mm+urJvXlrr&fXe-JHF>_CiY1fiaop29+(8lO1$b*YC&6pTT|5tNvnn8RN>u#QJk zRG+O(KXU(BYeSae;8ykP5FBM@&W(XW%BiPb#?g+r*(A< zO6Xrc!|;SgC^+-~@=g9ETbIk_8}i&}?a1c~`FwqSE|aOtaioZRF7N+k?b&=jo8>Iu znaMOZ89 zOQw*`WpcSpb6cUUK)y`lVV6k{W*Z9GY+WJK+**I6@n~|PI-QQEz?~8 zM}@Ded${s2W_gflLK5$*T)u*bnpq7RuUxu#^|S({nfai7X6m7tS6sUMa&YxR`O@Xg zTXrYCIrBZik#n;TRbC^5Esbt<7G^q4fPhG8K zZUl!_IE7l_FFW_9%B*|s+kz(V$)Ee~O6JL+sNn6t!=C%MikZC(^-6RJ76|4LITEWgecQx}^OH`)bpLuV#v${x2{ZVS8cF)fKyK}F9E1aYsu-lYUP|F)^i57IwIze`qW%V%YMf3`z(uzWFbemr|PPOPTRyR)4} zi0b?co@SOB(dS39_1F~lk{`%6aB6omj~1g4?6*ZpZ_9S1WcuN$haS2(llhgPGnI&y zYN@{y7#w<-o|>IKd-WoSAq8Y%h05j359iub56)ettNteFN+ng^bb&`MUWS2kX)vJ} zdhyAi@e8neIoteC*`Ej=&pw&^rQF{K|2gTaPM_z)xgX`J|10=~+~(_$+GrLC0F9!cLyTtW-a_i-secyy zIl2Ba_)ze4_6f@Q@!SstzZLv&@Z-UsTIyf(zMmld*Ms-wek1t%>^}$V*&odP9qs&Z z?k9QI_i>iI=YQ;Z&u4=#+Iv2ndw=kO;KRA!4fOZ9;C(#*YuV3de=7HL!Cwb&$*F}& zIrBNy_rt+f@IARd2|g11bMU3$e+D;$j|V>)d=RR9F!+=|e{1f8!Iy)d$^J?97jyqi z`R~Xr=l&x2tKi?~{vi1N;P-<+2!1cv3_ioz?+1Sb?0=d(Yn1o*!B6qNUkLtt_WilH zQJ3${{Zg=iV)#P#o#c3&Hhn1g54oS=&d=sPko&vf`*Po(`=s6ZaPA}7pAUX6*Yp=p zb^l>-9OOFzBp6fXnwF1yd)Ex(qEXpH`h~Yo6LM?-p(_9?MiCs>(HUt*A)g~ z+gNU`nPb;jZdJ#QvD_^k+sAS%9Lw{~=S#WC%vdhN#ZJ@tQa-xa=Az&)bl7Sl$4c{g zez%&=7oP~qU(UY1oPAkqR^?wwlB+hb~N~$GB5ww$4S<6llie=yD8K=c(%O4 zjpFZ-E#IPt?@-CY)<0f?Y>>&*B(4EjX-zQsW&T0Pt)}2n^+)m-7DCm;mGp9Yr|ScK zIc_VPWeq!AujRhAH6LcfTsij!NPllm70j0#&g-mwGSk<_t-3dqa^-;A<^0QAvm|!3 zT? zpACb1p-EqduQOLG&83#p-%5ixUu~v(9M_ur+U-?7slzgKOlGgs1=aVJHEcWGnho1@ zyKVBZzK-Uwg>x0qe!4YJN?X{jo9((e`B-yb3z;8#8x(u&ZGDHUh!v4agc4nL5sPX< z*aL{u*TxI2+#5W2_y!eg;qnF@&~}5CO=i?buW8L56Ne%;CPs*pi4nbS%+lksL#o}Nca zBm)i`;P|lP2DNGpOJexLVGsO%qp!CaZl|XsZjY1(TyESBmm9bD-W9jsfyZu67WQ!b zafi{pj^po)(a##kr?B}{iq~6=YyfWrr5=p)WqPC#;c#zDV}!#k>Y9Qlbl9~|b|7fCdr&@}fVMzcsP0gC*L^_y zxUe~!;4;`5f%fs!t*vl+dw5)+eOyfMKwFHLreG_rcGQdbxv-mP(tQ!pq!!ae6G0=Q z6?Wb0Y$-IC*M9WlnesP)YoBU9U%vg5T-<&iX2y>NndX+J{ci6>xA%E;E4qg~_BPWt z(>7nt^pY)u2-_rFHL$4BC zsG57~ar_!@*&ip4dz=6to`F{U@|Sao;X%JuS(P^@^Pq$oZ9TNx?Ad3E67A2LUd*4` zhey^U9@(WcWd^3Oq|SjZP1z+7m>0Ax5(;P9^|qi9ooQEBB^~Y6kdjSH0Qb_6BFz~~ z4)@w%5y+cZ1G4iyx;#se0%DsTn1U3{s5?MPk07N-sL><3lMCiCKIOw`Y0SAa* z+vLA7$oR@Ip$F}UD;AjtUBU!8ST$?ZRohnSQjN%Su))I3yFi7=p@^bTwMEfFEc=V$ z&B*{zz+5L17MTf#1`W=3$S4SQ2T*7MJWJ0VD6H%Y3Mm7Du#!o>;yrSoNL5 zZpNmav64e|rX3FJmuiOI&9nlGeN`MhEdLrMl`Cf-}oQJOwY#@;R0ytO@jiB8N;7}FcK$?n>R`= zy1U&}YW*&Sy~8$il$!bKn`)wI1%HhSym_s;)OMPDkC79T;MKi-hon#9%djo%x$oxn zzC$4{Hm{R!ug3iEYD}*923JWmCGWI49>V$TE4ivh)eL(WoUw|!njJw0v|cYAr-GE< zd%dry!x>jWQ)AbnB;ELq>RN_9XL?POxLWFxTpg-q7nGoujPjJOW9(|Q@-@WvlQBOG zFN6J}j~yKekHbx0xr7lF`61aNHDkOe5uhz zLki{M`BGDK-f+Hz7T3t58wCZI_2jEy{sL!&HZ6c)A?s2{n7@fRPj0f+Db881$gi^2 zEAp#c4Rkfw(XL$NAqLnGcA-q(N&xIN3*^ zXpGL{^6KFhy7LrK)t9JF4d=`6%NE}kIEfB()Ez;hU7TTI`?K)$x4NW;5~H9R%Ds>4 zt`E?!>Sh;4+b4qEtX`9K-7HelLhL*GwJkOnt>2Wvx>Xst2ZzY~-uGUMa3H5K^l=W^ z(cl|7JoU30JwM5~cYZABC*kDz@;gW?{w5J^;?6SL=_uKcbrByVb%F!BuFF+xyJp$u zvFf2Cl?X07#*Hf;`FwQx-oP(66|riDkrB!s4s=M71AWoJ!MZ9}KJ_4kuLp^68hoEO za)n>#uQX84i~@gU;I!4G?i3$F9Ptp0(WHZgd*!(m${!P`y(k8?9I#@%bgk4Gww)1> zi-U-omAb?BGktko1IUczGF05fAJ^MW*Gh+8n}0OS-7JKilUbfUeUl4-w)Hg0d6K&! zXg7u2cazKL24?X!n$2(6N*X+*i58vVp&NwYyKmeOg7+P64!Q9f-N3Sk?48$3tsD+r zFC8L7Dc9TA8Fq6EEzo+JZhY*@>r1@6)Jn_(cnbKmQ4QqE&<17^W`n%Q-O@IIcY zUScEBz2V_U!!Cvm+h|%l?nFna#l2V>#7X=S4!}6?w-=Moz4%D_#mC%>kJyWk>BSma zzt+bX7OryB`OvCAnJK;-oG!2Ugw7~o$tQG22@53PT7@*%J+jm265>a;NKn4LKEb_M_kfExtyP{4&Yob-)U6mq*Jzh$|1|&*EtzTGpdK_ zH=bB+Dyhlc*GorkoG#^PnRT%Gm7$?CuP?zxR4cE}KVsb<9zLzk=B|4EP%}0H^f88- z3?HX}aN!0jwv%HY9Y7zG^f-@_ZkAAOe|++NDN|?PSscX!2L!D}c-V*SJvNI2idrzQ zD2KYJ7N_p(6kY}cTXkE*f5jwvfB1B(;`y!c1UC=srW+6>-`lKxH@HbVeWQ)-)pW9I zf=AM9Hz7me9cSTuMqm)eV33EH>O91|Gb|=xKu03Z2^dJwyaje35VRyf&{72ic7wJ6 z1o{nIt~IN{4h6srhXN9r*GSZlhPf&vFuB+V2@a=uQr;zZ+J1jH@Dts z^1f*ad*yvGlK184WX+w_l=oXcGjJmLJy714_Q?CfZh1cdf{#AB8wqYVzJLVJI}&`c z8VL&jQb+)@?Xm~V7}yU9OsVdJ1b1l@JolP^2YbCr^KbctSgddRgcu3dNvJ}CRi6+) zvO+>N65MVuB-pk&j>7M)219~*lij^YaLZ>buSF-D?xZFXY{bQ{H`GFcRo$)9{3|{s z*8F#k1Un7SB@#fzz7r|s_#D^-hg0KskxgK(i3}dp-hMVgbRU~Q_U$etkO`oQwnR38 zW(}EjZZ-i{L}C*h+0Q1>l+3DTo0Y))%%k2Wcw(u_Ca4of&C5P9%b>3XGmA4~FUP{8 zuSGStgvI-AswrWMtC_BqN=U;cOZ7HmsqvUR3Cy>{1Y21&1TcmarE`HtM|xu^FAryGIWt9z=KKL3BnQ#J0~2Ox4%I zk=wdkg(K@eCB~6m9>mfMXz~1`#Yd~rf`G*fXwh0b-tZiw#j3}GNU+N*J|PzUC7%#` zC<`Q1p~X&}ONbxYBB2^BmK<8#ip6=Q-o+a%VJ}*2*G2J$2rZV~Nlmm^jEi5Wi55F` zyU}9HryPV9tM$*3ZIO7}ea^yA0OJ1}w#7anhNQL5jzC>|3nMW^%y_U7mCsb8MT18R zOb;7bN!u1jz7pGlkVklQk8N?3u@qTV-nQT}vMq>gdE4Sh+O{ZOCo1v(58L84f?Z`> ztowvm^jCdCj20^-RH4O^Plz8`AfXy9R_k1}!h-Cq#baH7AS}gdKP8XfLM+|wpuJ444P23|>QJ&n9>!rh|Ii9#)Iw3Ysys`eZQlG;6g!!qfh52v!jODfHWYe9rh24+Bn_YzY+e2CB3@gWB{*Ac! z^+KsF?7LQCE|~19H1Kf18igeA)IS&VR`H z^bCjTCjO~bY|3F4yjYVI)K401Oj_M^7vN{SPu{IoLAp5quSo2ZIKP&*s4Fba&mdnk z=vP#npSXWC=m$|9K-3uUV`fD(;0H^k2K?*>tK*3C>z85EW@>NKO5uhBq`$9EIpPJI z@wjF67=Q)UeB>`%JsOxbM9#vh8l>Q6H$${Il4(%zkv~@Z5cKHiJ0^Bgut0_jtl4tC zB-DvU{V0Q++(M>6o#X{C3XkapM|r`q@I`uo8}-xj*76dPYt@WK0Tz5hEZaMImm`LQ zEfORev7){06XHkKNiab4h0=xj(u;W8Vl1x8sZqZ$J;rxicdLDNpAuW)2gLsR_KX576*LH= z@xY_tMAjIZ($%xVHXHE;AV7pp0z-=P5KL2d3#I9n1IGgsi~G)kz@+K0kyd6ic*`*v5By`{L|<%=5X4Jx0$i|32E+oPH-8{Vj0@TH zL;(6oqTU)F_2Y*29HGB>n6D_%&@&po^`N1rN_Im$q*(&3*TSOG;xR!O;x#4u7LY(( zg^F;ERaxz2Rk{J5I?d-LNy*NIXt)( z3+zhX@LF#F&?atP=yCeJ|TW&frM&2Sk0Mz zu;IlVzdL7muxSZ<@nA8+gXQRC&7IW5gIhi`ez)ZNK>J{64<0Oh#dvT#_W~X~?|AUz z@2#>A+Frl|43KBVU)TwD;lY+qh=u#MPl)kgorEepSoI0jK0cw2XOg%sDbHA9L^fCe~B{8k}F?Sy6_MTH6o8v0NHQQLh( zit3vELyF9Y-xE@V(9cS!;A<(Q*u6KTm~Og-2(;4Gg%q{=TZ^MUBhgQWE-Wg^cm<)@ z4q|)WOCYiwM-BGG66OCBB_(>y;sJ{ppi~q&?j|D1f|0%~KjA&Bg$rMDjrBk$m^k$H z%;34f#yy(EZ(+M$hC_JS0xJ(#3`J(zH$EA7s#`dfbU)f~@gq z9?NZNd%(kEx!XE+j^#FVJTaDA*HM+?eF`+f%k8Y#;t-8|@ID2&d0z)DNW~yoN+Fmc zPRjc_&JcrC#GL3!7w_A5f4xI~AsBr~Pp;c9yKxj>FESF_u>~Hiayz7JmKNFa5SA8o z&>62U2j33H=@lZPRz$UEIE>Ybkc)X$F8JzVbzm9-*vcXjH+R2FG5s#Ofg74)rRGp+ z3+a2FddH8$Q{NDWpNx$N8xh=tc{*+olI-%c!$mDTFJEV`b?6gUXWmc+#Tu=Q>S)yR zbHA7~oD!qoN)#dfvO8g@0+zKwBzyrk zh}0cLjThtM7li2q1LHv?X72eRBRcF&Re(>z11TNQ56Nagu;U5aoBX zApspIuLUQ@o#GK=4-L0+LqiIQIUr}hiU<7&<9_hr%mITB;m@_cPVrzb8xFA902>V& z50+9qs9g~#zn8@`99Zso-1A_s?W%MD53;QX1Th{g*=tH7#ckMy$76OWult0Up~hVX z`oMAA$@8pdO+CN@MqS7GnXSkg!MMPCbK_JfC~tVKx;OU<})-I2Tg%kibx-Pq4L=4Kg%H z730~4JFjJ7@nPeyna0 z6{#+VG#sb!dM_2x8at^;b`d0>SCgf#NXd18{uIEnV5j8l27B3o|N7-#659WgxO+Y3 zZrhs>%0UJV19sh4%9`%@4pYTc#<-sN{%fUr$iXg6wudz zA=aDpu2ed-)M`Iv=q*7y2}{Rhr$%kR2~zKSYTpG}RLU(- zbwH=9BgmpWg&uv^UZT}7$tkbGZ8g2g(b+MMny2;K~eTq8bi{cti zhf;A9WjI;!T`VqFLz!va5dvOgxsU^EK6^OW3Q+ip6`pd7yY#0QwctCoUAj~BPm*kFzTbX-PY(GV{o!x_ zx9v~=z-QOFaZAg?nSjeLllD`aG-N_{J=SV+f-}CP4Eq4MGBfM~U}p|;dA|JVcLFKh z&hWWa4@6tHK3P8+EH)&7z&jlHeCFM;fZUtgsCS0ZdVQZw{$8u^qX|rfsR!9bCfgO` zl&A_2dZS4DB0F+6=>T!H!8O`IJ6WWuZJv>%O331NBU!7bEud-C2Q}Auby)966*f3h z30sXq)Z5Vs3aQPz%BSP7%h)VqS63dA(VXhaCXkQt%kBDI`lZx<<96B3U6 zNm1RZmqF1q$@W^UlY_SIx>Xl20*qmnG>qXEde<{vM*2p5sowE}W(qs;af(&0uLw_m zbJVaX(nQy+ByMVv4tGRwQSVw`z4Wf$-Ndo&ahWaRi3N!nk~*&=yt5-Bu=B#U=)-C{ zClySYiBFXx>7B$!7gKmTZ^x2$&bO;oQ3`Egg2~2S8uAdSx%vv+=ylVoZu#aS4-pya zjcPaqE((#yL?Q}NuV(=pE%{>ainTCraR`c1T)?;w_EBUddi4 zf)N3Z%s`)SJ&=eK1O31qG_S3Gm zhO%z4vln==3ml1GFR!I z_J|!CJv-1%`>{h3?czOQ^L6dlW0Kfu*u_RNyCl)5+`#*|vmZNv#l{XulCcBzsL2kE zo-*cgKp8^}*ui~5#G+5ubjbngwn6M50;rl1JD3;7j=<*dK?RA5gN#NPfE)5?Y;{6| z*nvF(9O~Wn_~!78uZXzLvQA5Nmbjcdz?ZCpQl8%E(k>__NK8gj)j;@$m~!~;>Z`W2 zAkjVIPi_3;d&-nX)J+^sY9X7!6=b{%xcUo(dtd4rUO`3UJE-cWt=79(A3}H}%nQCX zL0t~5rc_yEC2B@QS=Essjwmaq)lrtI)XZo%0?;T3O7NKJ;!v5$3e(W85mjLC2(d_g z*l;b{Hl|rFZL{At23f)-bJ0TOj2zrn9%&^xa&XPfY{ZK%g!;wPBs_!D)#!~jFLUjZ zLYpy9!I~@|Hk;t~A`i?9)@HNxd17Ui*QyMzRRN`T|B&94X%#t}XhHuCm!*cj`eat{ zVgsBg3c?r54UW7k4SkLF9-mZi8R|8&mr|K2k=)nmu35q8vIalfukmy%piZHUdKT{Q zL)|sgmtr|<&<$=TO*Y`ZQPpr0UhQekwp`zd0*y@W z>+LOg@eL{NrLXAn&a&+PGOM_RU6V_n{lQOt^q2qqv)>U#h32_|T<*QG$?6coV|#Bb z`l9~n7uMen@VMX->&C2@bmG0a%{s6sD6?=)u^`AfUytpLKDPvga9RoBh@t9j-Ye_Z zEMu9KZ8~X8-mVzG74CvZDuo4dzSu<-Yok#ruT<|#)J`=m3a*u!B;zPje49g)8=w21-}jLpn%^2D0vm;} znk4T{Q3%Tb+q8!0ry&BOMLbPxwvpBwgVAIRCHW25CaBV~25iK^CBB`5vKEVr^AUw2 z?nBvb>Vqq^yX8jMd;`sUnqUfh^iSrf?Mp|AaVycn&~i-|OnOC?7A#$DyWdKxm4@bJs^Mze;7&c%U+gltpu* zOrWSK6Q>ZoGKub^Ou%zRH=V9QUx4(HGHE{DiUWz{pnk9S!Q)aWQYJ||O*_cQOq zN2kG>iWmQ@?F2Ka%;f+0`M3PayZ~=$^kz~5Oj7)fVUsKe?KVYlygRZTXgK#G+kt9b<0()YK2i40$b4u}uafM| z2kafNO_JvW<(=}B$e}*(E+P*iJbLZnu={js7?n+A zRI0wv#HoCcXb20WVA-0G2oia`VlkQ}#CXNZGfTj>_7Fz`vY0$_%O}K-u-3&eFDeuO zD3tWYD^}onHNIIeL}QH}3D;C*1F&xPRTY4-%+BLhbi!Iar8EIo^h65)hR6uOFw`Od zTlbl9j=F!!~)nk-g&PT;xs4(4g#+2EA_H!n|HVXvZ$7b2c?-ltqo`^->wEAKJMPQrQ zIB$RkMZFuZMYb6=LO5jmm@pV+FM7-sPrx*ESwi%=V8J(*V`>;*)>5mS@{4IL)2AeX(07m-o37XRw(D(nqJO4B4l_0EKo(AVLh?U_ZJYKw9j37JDFuQhH)=O=H@kMnI(-6Fq4N)}LQ!(7OFgTkXp6jJpeE2h>7Pns|n zu)tA|FkD0RYxi@1q|8$84;2(ockhmiv1g|Y8@WH-aX{O?i(6(@TQzd9R?QM(pkQH| zC4dbMIp#?KL1jU>1QxtmLj1@k35Kga2M$NxtOpk8c_>+S*uoM%gOc6W!&bCZhV^+4 zN?6LLlLkB=2!!2${n{bxf&CUD>w(pMzW8}T3DyISuY-~*>tQ>$7fLpBDJa?F{@lu& z;m}y+{t#(2&Cs0I41gCFv3Gx@VdxATaKh2?-+qpeR;+^-jlv21hm543b8}F>+Nhdy z`Yn=1RLyo{?#5 zghEp@QjU`A%6)&2_j!^UDr+)fpf9DIoYmQK}9HB;t^nu6!;U9nH zSKq%ecAx=4$16xGPYRC+Ojpe`%d8C+!jB7^y#XP6T_O3D0nzLY2%H2b=dl5S^vi&t zNj%}85P9Q#Psk%OAfMpXUh~5z61!b)LM7wA|XQ2;^s3OK4iNrVW7y5|q zD{DxEgFXA>=tdIy=s4X9r4VQL9d%COcPSQ$xf5asWIo=5G&)(A%vUuV5aCWUk-Vqg z`H6q}nGY|m{7uHi3qJK*fAk|i^*eR4Y#Jy1g)?m$CpY%Jm*kUmL+#RqUU&WEqW%sL z4y)tN5G(j@@*cz-O5;$%9%Zz^!1f39!r)u{V(h0v9_7zG@R-KNv`>!WR_3!wf}0nw6b} z^&{UXe=t`3fBNq4d-tC|@%bnFUr_wctoaHQKa0|;#hayO)d0Y{vTAwXB%w<2Z}@~5 z09fX*OYv`KP2O2w=LK@!$vZ3XNZ1=NWD%WZEVI1Mo$R=il*zwW@v}J37r&XUrT90r zTw<5vU*m~`75`%J)hm7hqzubMy`zm}+nU<%)~VNw&x)ac@QBB=uJ+MqcT)RFqn&cM z{HXnOvz6<`J-QY|Nrr&|N6;K|CfyEXpE+Gnl}di?z6wO`t&d2UYIrDuVQoH zfV(mX{4I-jbhzlJMs3hKXn)owSZqIb0`MEW6Tr0bT~2^m<9nirN$oX2K)=iJce>vq zQTsZJ8oH>`{pL9`QDNVpA)da?(Zbeb03DNIchFFgDsF12i$%2j)HTh{Vmb~I%Hv{5 zZ_WFJSZA}i$a3Hncu$`M<{>1HuxQB=;zw9tLQRq!SlC&tW5WNjTrNv4Z5ft{J#kL# zY+2x#T%@y-%1e86!g4I7FcQt2EbX6%q2KO2eJzK=@Mm~5E`C1CYyw+gVzUVjNyzCi zZ|`4XR%mNF;dSW*hUeWn6b*+%PB&35YZK#`VtU97eg$r+tt>YtzIhMMM%6ViuWrC2 zw&_n09m}m%!(MU|E$EAUYkrI-P-+UB&8%SyD9OD|rg>K6{*aAy+Byw$a;m4!G$p2f z6H{$9%r8@(&EIi|uOB8nhJ~5 zrvvy3;&Jnc1sh-+KW4|QwrE1y5kDdAsGpF=@)es#YO>G9aTLn?n2{&K@0I=i-zV9Z z>&yF6(^hR7Df3U3HPJ4b>&@hoeP_14UVOm}Hk&@mB)#4928+ow(xi?;mgpNl2|m?p zYIhQkU;=D}Pu$VmMllvnx8YO$`BJw04z0u)DE?s9&luFYD5lnFVVkN&C|&F5Ady3; z&@Gz-r0m)j*?~vy=BWqu2%&j6Gvk|`bFo+7)gQq=xYy*CFG$e_c zsTu_B5kP6ZVtL%oG_&KRotaE!=yjXVcuK=1_vS(aK-K^n0ODdq6M4DUPl%F3ktu-8 z4sj63vhe#rn-11yD}v?llKC4Tn|s*05olx#p1BslsA(`_JS;KQ2(j(g*N(SgOZnI{ zPUy+%HA7DT)aDgu%O4Z1{kJ%6vN^Pd0Bk9z6=c+kNqfv&t9Kuxd{rwW9h$ip+Gi#C z8oYg05OgT$OOiRhH<&-AB?p$NR2Sxa4opctJXqv|VdMq4F{ns4a z2dK5+hUusw2ZU3L){xC22hE*sW-j1pU~{J%Qj2lch}r7ni?$TOEymH5N_~D&b1XHl zz8o*c`RB2q?XgZh#ZNBRgq_wOzTNI|+Z0bmDZtF;GHmop>kGi)!nN<_5nSNDLbWOwSP6qP@ zdbBI7!;mRl!+~KLX}zwN3R<+vALk3)v4OjK6jP5BQxA%%Ua=;7a=8GF{BqOo`*_}_ z#wc?)MH7$I2OKRsA7#r2JUqqd zc9i0%%_~{w6K0EVNxj1O^@Q)5J{=kQg*DYZefLldqtP^yHbjM$HNu@$UE>snpGa9x zr9h$$F*2OKrrFA3X8E>R?LM14XDO+QnsuEmyPYX??}XcEUINHY>y;M-wa~ul@hdc+rBZx zKI@@Ay{tXcd&I82Vfb1Yk}3a(nfjwk*p1yD^zmk#Cu{t20g|#y$C8fNJ&QWR%?mod zh{g4oLY%5^_;pl*!-^NgQXAP;F|CFj>&iQ+zG7^Ul0{o)&Xl%tIPSaBcf}k7f%W(|j|`J~k{jQgdx~j8D>y z6shyDWuK@Klej1Bt0u7}q)E&dMN=d`7M@6xn9IE+UZOoB@uH59ctJ-tcZ=XU8zJcs?e|hOQx!8Vs%_($HD0n42)&M)bG^3WjG_#$3Wh;&{b+z7G zvH>6mEE>Y5HmQ^)OL0R>E{{gF;i)8#`g(^Ip$n3DL$`!X9@uzqdB>hh(`VaK()8J~ zlr()dEhU8)dfNi%fU?{R0Mwuw0N}sl?upU~@!vBQ^LD{DE=EA#&?;uUgzIxA~2eqdkbT8o)0&UY)tgjCZp z;jJW}6>Rpz^T2b^J|&jV1KVl-e{E81B&3M?Vqem3Ci%W5`50zO@o@ohdRF-OHxJ-r zBdmA_b3PwtWW3vkX9)Rr)+w2-EG9YEn{3G=wY->h#`Z$iHU;4hTeuz9o%w9(ghHWM zl2So3?o0)7?NyK^>4sN9JhYTW1s#z{#}L33Gq6(-UyDPytO>}{|a8S%#IBH`q z9JRSE^fV>d;@{)kCPzgaB&=)G>1jQvG2uFWB%u_Mu}(v`q@f8*5jC;4EDc>)iik?z zJ8g(_L$mOu!$67mQQqVR(|Xb#3Qh$fmb4cW`6wz0C#2NwSdd{d--ApS^JmO^ z@Mjo;uuE%nrRr>83YbaC;23Xpj!sJvT}70!_(QN(?CUU-CFUFy8COYT*SXr$%r!G4 zC|CTA1`8XDpA)YlEV6C9C5nH5F8qXU(5(;zb2qACStdrdjJX@9$i&E&F?Zt>irW!; z0RWphGc{Uvn>1$g8Ah8|pvkiqjRKVj|1`vwZ$TfHqTtdoVGsJ>VGrRZ@egT zDPN>1_W-DbxLfmvY$kug z0PdEKVDgHNI4lr;Ij255^uCl^)G0u#zjZU++fIwHLMr2NM+QDxIZQP;PQy7q)ej&8y=*e!$=*;nyKJ z8Z)rHU-M}WSj4%=r(tHv5>kQlWlIQS10l>C+RUps2bxHt;q*K)uvEAMHDIQn>_9x5 zQqf~y6W6GmQis28_9e>jjt~thY@ktY=c5>&`~mLUre&o@#o5|&nQR~ycqxXUq~WER zlchrh(lo8&<(g}5*~(dl<3uI7S{C6dMTT)PHf%f0#*odDuQq6JW0lnQxG0jwCkjDo zEzt#1X^9$;I*T=cbZ=}tOYg?!km=mSV3NL#s%*}LD%DT_Iy>vNAzN}hSZakuayAY^ zr+7(#I{R7*Br@>jyhM3?&RN8|w-H*A!5l{Xpi}}*V;$A>ou)nExV8~u9uR?V72H7H zURmD!-jDB+WpPgV^KWBF^Eb6A;NC}`ermV)+aphsY>)iKy+PAsZ5sRA%sp7jG4_|U zv2L`puVGFOupiA*UWCiffD#<2cS|6T2yW7UoU{w*x%uTp5heZ|um?QrMecn>Xp3N=oEIP))8J z%qa|Wqx1Xg4GJ47Rf7&c#rsGR6>q>{E)S)C_Q`NyKbxusF`y|~kr5+LO zkcwkGv5QHF?brKSBTBG67;a>T6g%HKL$O-|pRv^?`84+eKeb5y4pELPDRZnq&dxAx zrGu73adwo{M8-tkklbw%7{YGp$V`e&9c3?iF?9Z1L@P;RWAR~!H^`f9agx(iMWh^& zO9|LAY2r9QCU(N%Kdv;d1*D0CSGn>cSM{VygGZXoi6LmPpk8s(v&Q`@w3Q51!L4K{ zjkmE3Iax=Bnqoo6(eV;Xj4qa4AzXcQrCwbSBB>4zuw{-^)j_CTRR`hQ?m8G|yE+)U z!ETf&X=HA8@w=I1kW;A7zgHAmi?2k*_4rD3-iWV^O1CuVrW#83=VX7y8bF?_QvpE> zbHtGN&tzFltW&IGp20e17?5E>T1t@H1fAHqvE(J~X356)aH8?|>)3+d2;zcR#(dgB z9G3LFY3%Kjbi>%&q-I%hc^-Zfaa=w&?6}*wmEHQ`ZrlBgX{d0wC9u0Z1;DUyw++^b zyV*iTar-0Q$6=EcnW`E}6L(W+#NC)vIZXjt*AebUcjPn&WL3wb=HuPsv|8AmHgTvZ zUp!KfX+`2RCih)JSw{@}cw#eZL+)ysII=!csqSEO@#$=F0dxA*`J<|twVWRG=!oSsuR&rXcXeFX1JMr5jqx;ea>D>Ds<8U-ljJ@!p zjR**B6=ZnkC~N52R*kN<4Le+vpsO}?1zlO`Y3M36W~09}x-y0Qj6tmUj|*eg1YO}f zLsvA=LFft$U@}E&8A2C7ZfqGVrl9z+F=VziuMu3yZ-D%&?`v|)X3QAj1ZK=^H02v{0@pGY;RMdk7&}}>0uoL@p? zF5W^bn!za5)KL6sbyIrlZvlokO*gFP<`ZQsQ;HI*c*|0%c*|1u<1IIh@~u?D+)b=2 z3QH^mS!X-(%VfF1h@L@Z)$L;y7&QReupZ_@(OTFk$mIpFPEd%HXvRax++*fHw4jl6 zBTx`h761?FxSA{F6`2ac{LB03PAf@~DVY{(FTbfiq`4%ddXUzVkm^5Y$L#4nvtlF= zUdW3->xuELOfs~J^<{U}SmvgJuj*Jeg zu>_3w@xu68owKZnhT0aSrq|iPQtpz3h->d}S(0v4`CEq(3j8Kp#v;wG-GjZK#kv?Q z0ZWjd#ieaQ+A85e*bpAGUAgwc!`T_~%hR&`rp$22$o)7;zroxg2R}s}H;XCiB1ncr zF*;!~W@_m_Y4*s|z}u;c7{EN>RVrfO04x4+Q_-=SE~vQ*sTGD(cf^nP{Z zD&~UkTfJX>JkLM(UI16`QGxbeycS)nwytPira~m-_A<<(-`5EXC$i-ySJ(K^4CNPp zmP{vu7R4$~1{!*^(2}7L&~q{near9J{CMW2nanYjeJ_@^8ddJWx&No2l(liaFt15P z+42*=qBbTj8-qI=6)d)K~YEs|`npFbG|I5+YSmI?$oH5v$L zt1I%w4{KcprI)uJhvr%0A>#bI`4hD^b28Zqa%=fz$j8HAL9rH680d^sRxD*Fj@T8- za$5?i=@|t%>sxf+5`)j&S+X!EyQ>>qW`i7vN1l_x)49>$b!G2AQT>d!VBhsl8vSDm z1Q&>dvhoi~ zQ|;3HOd|zEFC_46kEo6bK-)uT-9iG<1x;3|9@RB6;rMRq*>Ne!fD`(#6cm3QcD4Yj zZ%ZS0zyN;JowGtp6b+#pq!i+ATH-1Slg1sgC}v5US`wzk*r<~DAn|b-()+Z+89}OO zfF)(RPhD9`$ETM6T(BQmVO ze1^Vsa6t-AOegrHlumGl6>G5+xa=Vc0n~R;ISWQ|g=(-M1z|J{GD}d9f>0>=6mX6_C5>ouhfITy))$i-|-PeKkGmuA_ok%ObfY>XVn6|nA(nh#mFJvp{? zJOXt+S0nilWtAX;k;X?OA(P^n)U6Dp%1kj#%=t zVmM>bcdw4C%u;nd1zR0+)b(UGzV%7EVYZAhz=kHj^6*NQ*#e6V;D|M-^S8r;3Ulb4hfqsEeehjB)8HV_XI4)kCZlGse}7 zCeOH#*9L@=;S(b;xCTJP!zG6G09$(Pk1@n5&?WxU5DKX8FcIA(>m%wUX$TN7J-}qB zND5sX=SqQ&)+8A^Zd=ef;v~3=@m&X%O~or=QxfoU3eSP&{whtCOVkupY;rBUmRP4eN$uF|2dtVcl?SUsyLB zLn;i%fc1lLY}=$G;y(zj*q<3T{I1h03Y!?LwdNH2i&i*s(Yl6BX-y86 zk-nNjG_Z`6Td5SVjFgomMTj9yzOA?OEWeaoO6*#mHp`mQOA&TERi!DDyrC402s&le zL@IBIC;7k?4l`plg{fNJHB#sdczt3x_TZhWN{tmJhL9U8G)0A}!=Sv$I_lJ6a+||!_VBV*7bip)S3Hd<^p52lOu4{N+*DJb)0TsF1P$5qs_v$MQ z3m3Wjv~-X~?j#Me81P<95P0v?Vx=3H0EFT=)q6juW9q#=cu3jyUK}L7S9rjq@E_4$ z74o!rgX1Q=NDz-On+%I6VrVu!iSx!mG5#1-R!hzn^%pRtkcfIdp{6}KuX^gus^|Na zvBr>u$6{560bP+)7LjsW2BQ(7nM*!d27qq%5j?3{BN3>y>Eq+gS|3IIDt+&k6 z)^GxldOOBPn+;htJ4FDHp1fl7A=7hP6qU`bLL9aOQ%r}MWoSOO>CvPm(bTO20uJY%b(xp_x6D)8{wg2b*;UkJ+>m94{7b+VqHI78<7hKKGearH=%0 zlR^UCsK^IF0Sm~lP>!@lYDI-n7ef=WtoxykwSb@jEhoHVGsJv&#|X#%D%@GCD;-tP zz-D-L>)?W2oLJDnC+UU-4Q!UrMnG7HhY9bneAgl|krBv*hbU;EIW{*T3keDuM6+zz z*Mg~S|s+do788smmrGl zJR?oUk*J?%(H>2BI}R29(T)+ zjgq}0Xw+Bki$p$2H>|I0v`Ya=9z97!i0u|r;Tnu|da7FyBE@TL?<)0_dfY{9*tx*< zl&u(K>9JoR)5%f;twgp3GF&7*C9c#|K;wGCJjT^*2xMHZg~fhe5aitz-Z2VWC?^T; zxY>Q6Y-(#4$NUyIcHteHy@qPi&_gP`V@RE3|~I)Wr5AO^L|)@JSI?Y+LXDSP^P9ZZzcJv zRrtRgcSB7Z3-J7nk)Pu4?6bw+PaVMDKDGm|@5@he@Qj)GO)GV`WCJLU(FIr|&vGh7 z-srws{dFWe6o*So(U7G*>?Wn79HKyvQ(A01E8L7@Cr)iiW$=8zAvnLvpw*~s!iH?{IYFv88x;JUpCY&4O$$c4+ReSHmlwWlM@uSE-|={An`3PE{?q$XwKJN+M>G z?ip%jDQP=EftFPBIN!1&Q)Y^BRTW4w1AfjN6lZbpiUT3-Y z5x35A&m-|V%iq2yo`ysaqM&I=+OLOxwRjAsV;DgSp+Ne*Du_pni-cH82(ns2%-RKu z7U0GxF2brpl`1ACCI!$o6+gBMkj&pCq%-aYmLvvbjSXl5!j^&?>XiafAM_C6m{f{% z6~VS7MRCnjW4Q-NUE;O!bJk-`Mx9BkCk>N6E_H=8#egukqBL{%@o-=_D8c8LB6D*l3PF>>|BQT56q?nv|E6bWj1$#9iEk0G1C&Mix%KsJ|Rg&}UQZ4_(MdfJJs*k-T{ zH`TYY#gTnOp0~-NcVR@Ts+B}LP+Z$hZR?2Lzonz5C#xr5Bz}u=1ffypq*jK%oQ(-w zc=cQM*!IjfV-RAV@|lmO6}iTE4Ft5h)U+Gm$Nl>xfxFA~mg(n3Wo)8>d_g zup8jyz_Re4aS0biLLc1Q@N=B__L;2&vhZI=vCx8~H`kn{ zeeNsHD892o0^Zq8Y)pM4$pu-3Ns)o^28EKx=}}_FCxdUXm0*5TPs1#yygu`($mert z$mm0YGYa`rCRh}kiw+SDjjD(Kz#~9WRR9kO<>dJbiY#PcA|A6KdoiUF6QUYp38$sZ z*$86C#Vg}(N|Tzk@*CJqVe#iR_QsvlFj$H0(RF^R)N!4!wQ|8{BG_-9j}h2MWvLBw z`jn9^;n~8y2YS7}L{t}s;p={E!A>Uyy>zNVo6Jwj^@;~oIyd#KWB610YNGX(4UN!; zD+=%{4yz;GVfsKSKm&^qpy+pKi#N4aA8cCCF`CbS7LNfH%Y*0UQPPoFPCr;0c5*^z z*|6jj{6=nw1_Zzliy?^k;J7bU8Vc0+R~m0aFT`&IvPnUEL@6pK25mH(jqZeX0&O=Z zQepJN9&KMi5SK469Mwat;AU@-gM^0+rxg+w?y`9|LF-6l6gVN6%@i5+jVRn19)Y(3 zT3fem$Y8`>5Rrk$c^w6xG*p7L?bmG!UJtm>^O8#*rVt6tA#j2~hzZQ1NCeUOO~_{2 zj+BISMsQM|A^DcAV0c0#gbb&k02s1TC<#)D2|*05ZQFNlzrszw90!p|<>Tpq$FVR5 zrFOx1yVp=|@WM8ZH~RLZ1{<=D!um)@io$$LSrpc$(O_2(U-w8LN!yuw3L9I)&c@bE z!h@|fue}9GH45)@Uyvj?v_hmZdVnONVMgIqQFz-3A))a54QI70k9I;qCZ5jr*<#|X z%|+8=8g-H$)Ton=Pk~UjVxXX<9jHn~UP`k3NkNzP)ybD_#lUmem-r*@rD<_EByq5= zeFdS$NEX=Yjj6+;zIyBsJ?3d|J;i2i>U<<2)lVtq;qx*fSjG*K5ciYy0~12Ct*z3E zDyQqdR!tW57K7ur#hBl=HGh+rZn0jBa1m#l+O*WRqO%#cXlG4e6XMyme$mn{S?b$R zk2ytIv}QZ*GqZ!P8;;7AF#(E)LGnh4SW#VYF zMk8y0YWA|}*Kv?VAzPabEfXSMf|FPk8ffz)P!O5SW->S%!UmXJg0mr*o63eokquF0 zK|sKi1)*UkXF;Y>aJR!2x#s77or!L4}ED z(N|Jnv5UfdB(2V=(|_FjN~|=)#nT8S)#J6A>CIaNg5%DDQ=Rs^DL@2&cN$p#YD_I@Y7IjyXg0M*{(o(%#RJ zGa!b6cBMV#rzQw)l7V*fjo%@>hz8mzO9SnCMBa~dymL3Qx>xLZB!0`sjt9BNdbMTIe7$X1BtsU4m5t&)%)}YrA=D?D zIKvq8XFd8}6K?+Py7O+YTw*-&sZ!Pn$Y~wsngVk>b+Hp(LcWNGmA5U)-0+g^Buvo9 zlFSh=9k*OokCHxhf&;9fQ9Bg*!Yx+~ZeNuQpTh$Ga;M5Y&JIURg7TYK$H-eYRpfb) znDCN2#r7;WJlGeMA5(v3N=+&%Q>uS8veI;>SBt!uI}zEmu8~+{`jVBtVx;dJSzyu< z{3nfQyUzisT#hxLP!}a&ey|s0s*Giy5SIb2TaLJld7luMp(w$zbQy#hEFmrfJKhrF zGBCXLL|g<@FuKzvgzh>n0AF7Bqv!1+dRTK7`)OR%WG5R`t##Lg?-s$5bl!m(>mxhx}fzA4SwbY#3 zx#%<(bGw2??{cqt6edz*N5{JQzT1RMiL{nFuT zDA{kJJ(SaOM#9uYy7p9H&7MkZCJ~2|5+y~xECuYHoV8OYc!Eku9Gl2|{nc7tuh!-I zT4ah7)<+jrDU@ZO5Hs7NPe^#nCpg}sjBR#Ntx_nPJ|Qk+!zaXLtoekvj9VmBDU@ZO z5SPKkoN9%_EcI%Qvd!e)DwVS76XG(McUYxVY!bTB~4l7DdrS?23(1a>JZO-x{=IW|X(PDo9e zBq2etLILqXTe&hj`MeNC;hZ^vGGtgQz}g6#%OZ!8EbTBBd@UAttO-6uFJ;%bxCy+M zR^UMPI5>8yWkVa4(-KGBSbDphAVGM|uCm6uC3v`J_vo#X47Sda0PC%Y1EOGBz*VkE z8yoS>aNVT}=u)r)Noz~Ld@V1^YtK{(N}ChtHUtXcZ48@ydkjg)=C()Vm9&v7dEt`j;~xPA~?R8pt0{W3T}Is)D(wQ5L7SO#tm@5KVk2%%MDd`$}t)Y_EU z_=yToCP~&l}8mAAh8aPh`6xKQnUYL;bs=-pR zsC2&^Oq9ioUPQ`skGGcxh)4%W&piC4m&uabUcNV&LRTu#1%WOZG{dQrK$irfB1(mw zltin3x12={G=&0brhn;JYp%s+U$g1t`AtX7)nm$17IluHj4l# z6JQtt3kk5<4kdaCFpPj{&IYtsJO3>f*lM#CinYEq*T1MHb=8ji&!K;`wZ!K?G=;XY z)z>DbZkqwkwi(cDn*q(X8PIH-0jX_WTKAi`BmnTG*0+@7b+g4bmA_^8*4zLEMS1Zz zZw+P%3q@#&w_9JevQA9PxPg9!HU?Edm&T>L zrF>WByM$1R@hu5TZBzj80gTi4@lsCdd((VxfY6}^u`W-&IXM5aN)bv{N7R6)*&v;N zIj9UK${CqK0PV5X0WDo4Ip5G4&A92#5WE0S;@5$GogxLTqoGb$1ezxpz4FI)0n<^{ zR3c}QV0OWuovsMzc`TJVmdY%Z>F3F#e!iZ6Cg<|~Z$B1();^~Pt7 z@?dr$q-G(bRCqXE4oW%~9%ibkMtkYI)EeX;bem(DsZ_?TcgIq}(7#YsqZqw7Tx=#>d;{?{N5qJ{&4W2XpPJ+2S zXY^GTE1omhDN-)FcQic=eg??Ya z9@$^GOo!ATt$qoiNs9#RI=H!@gPb92*!geYDbM$QOIj!ClvsaIiVS$#3Az**R?s*} z!E}*%r^IGEzauS^)~vSI;HZDe??~k&bvz|T^*ho#0YRf8F>CeEccg^s^A;tB^*ho; z0eRj^n5h2ApOIGT5-(BU+1xTTQ#?O40GyN=`33NU1cv(kMlKId@O-_Yb;`v-hmsfg zxlG0NAPx|Nk87u-Ve%69rLv{qu8*;{(Xzm7T53bOr8DUklvVny-XS%-gpUW1D#3>=p znLx)N$me+JyEFaY6Qu#SuE|(AKQgU#^<$>}9Dbo8vx!b>5pb{2e9Ymgr zJan7)sRm)`HdRp5%jMk7QakB>HbAzqVfuc zR!oD%}KYLH5AD) zLD@s3TV&jH%ibg2>ar>{;y?m6$!f~6oG$HKH_@c`S=$)WSs=`P)%j*0)84XkGb)}K z9C=PNTA=M#hY{ks*6hCH;p5QaEi2MSkmqskxhgoKV6 zOrff~)l5K{kx+)0$DWE?7`IM;#nRM}F>sBtUs0W6)XZ|d%aL+I26?Y}4kW)vY*N+NtSV+HO z0Z50VR}3VI8z8M^!ojgy!reBzI{trhQH*82`eXiUztC4;ud_Gf6Ip zNu!uwEh(l<-@izhgK1Cm|p#SHS!M$Elo<2GVgOOOF}a;oPYD<9)m2qr7L&*Ro1{s+y6= zs!cb^AwOw!*iBO;j?Q0VaOUFRw5h7=L80%tEker`D4h2BaPJEJzCF0AL6XFl3NEqW zc$phK90uuvMnr>TMA6(o{50gg^z@5^qA^U0_;+}GH2X)4O5GBZe%%g_i@&E0J(046 zYsH(7w}07ke&7tsJ~Isi1mD`XJO^kS%40XRRG>Z50VaoGTH)r))4HIA_(>$swv+8l zH@M$qVk!S&h&YKT5oQ!@?!D1Lz!Q~1*%z0w2{HkoQw@)6@e$(Huj}yn`DLy!{?lv4 z%-y!sIlWth>1!>m$n`%)>Hls^C(){Y?~i}+tMgOb%-tNcs+V5q6aC@+w_8g^Yk)0t z7v3>(tKUJXFVm1A0mnFEyuvLUj)`nt)l=1#ClXpZzPkQ`I9fAP$IBAIjp3i_|JpCHg+0`FDGGobPy8 z(%3NEs>~yXRketN(n5V&+^Bf?1|q3e&KLE8Z@lo_ z4{Pc{{50L@pBN~kfSMI&T_cNlPZz5=^@9+?=%p6|-t`Hh7;u6$_-@8z?Ac%(oo{|) z(9!XFz&dQEz$9t}4>kAGbM&|!q8p~tNAM3uGkm1PbZkLpgy&8~)Ct%wx`FkjPl|lu_|o>|j<<5h zbp#lp(h8BoX{BtSx&+0gwTcPn}yQzK#(R{tif!3g)-vjUwt9) zfkggoAx0#BB3_F?%_IVq7B%?`e~`SGQIS8$<56>vY$+F-XkG=!p@26 z?+#JY42QP~NnG{5d85^roQ66XE=Z4|SGw-s;bwQgI4Bmyy9I^Uv6bYJ7r+?|(7fVx zlynKeu|DaC`IPQiDSS@{K{28HYihgxXsYOw2KY(UrFK`ZrXQ$rkF}@Y>fB(sT$o|i z*QRcMk^LyQ)1H1Uv#-auT54R`{>q{nB%tu0jlmkX)gNEc=Rc& z_=~Q&*mv}>9)Hm_7kft!8}S!ibFt0lFYoF>5Or>=`S4vm2%=xMn-A~lK@k12(|mYe z4}$2I-R8pwdJsgv>@^=g)Po@UWxx6GksbumF9*$sd;dGX2%=wJ(Zi5GdeAlh@~R$| z<1f1AVz238CH|soF7~<}R^u4?8IMm&BZ>@!*2XV*IevFJ?zC_ zbj`&+(!+lIMb}(R6bn~4aZ{o!@*Z0sPh0Z^F&^R1iO*=pLv)Z(JZ0piVS z2^Le0M6H-?i*~gXBkVrOYsFVy)N(5hjsPLn&gGlsq!QDb*lRYRkCbh56>dB1z#=md zkLlcCK@mfdz!lku{M%TdR5zl!>XyW=x>*SmA1ZFBxnf&gG0?z{eOnNt~ zeHa>#UtoYaH2*>|{XN*8%Jb$l_UgJ`x@orCst|$rmevFYgguJq;)`sf@S~Hk@NJ}g z3A6l9t6~r6OL%Qq1SzQ1`zLLSRJDB5lxmnoz9Dh0RZBHAX3_Q=N#i!LDDG$%G*_w_k81T?_COkHJS5d=lC3qp56y1ZoHyy-5P`}?Q zZm7>vaGXFt?NO@CfhBDCj!%v4^epW}nP0m^71R{MVRh#gh(3fyxdrSD+^XCb<~KCP zGmQ|a`90K^$c4}@MlK|ZOJa{^h!H9|LlFDXP>l8YNcID3F@tjt$7*BPT!lItHnB-) zu16!vUmD`^vT6ppADWP5YQEI!lYfR5i^b6Iugn)e_|zdd#;pueBC@p+kCA1A8MiXP z&meP)w`$1Gq#ueK5P>%`K07jI2-|5|+Q@JhHZnjGQg?*Ze6>?kdvo(9YCmH07LdB| z<^(=ECk2Mu*Fb98mXTU}JjhIqNtk+Ar$7ng3nD2j@fuB?TfSHvyL(E?qILL{qcF${ zb}*B@leIpK|C2|~a!k9h#hf|hZB$SZT-FdyFmhxX;yD%W}BK=JRrNM@F~4hHS*#2-^mGlCx?$lrM#FBSgz* zH<2>D#Bm|ddu>e3CKOXKMX?xIk!>GyVB6vJ0DoUGD5+3W6bl8y1XglLy@@Y~4(-{& z#vV;-aG*yy3hTvPa3$2M(P24p=w<$*3Z2ewojOlCFTYMU!Ww2K!Hrx7PJ+-7AN0ID zJI~|U>G+^dn&An;Lh)2t>Rmh%L(xEev2 zIHJ68@);-l(BN&;)I8BN-4ji?08ccXt0%hp?(c2J;Cr5F)>hLHa+Bw}b{ellN3%dV z@5-r@?aVhg29!g;!FKAGD#8T`3f%RV3 zZS_(6=2ENmXzMTN-JN!S5b6k60Tvi5a3W&Bm4p`E%5)>lU+58rS9yjx`iX5kR;Jc+ zrk2{>Xd$x?+MFOB!8>hEjM@!lIl7vLru;Zh!4xzg&5AG`Sg;-quvK8l0ZJB#6Z_D&{&mC)_i_YV{*XVF@lR}q?H3` zy7xQnBL>QhkimRF!(b9a!{398aG7p61UnRHE98xo3lQmD@WV-7!92?`NM6AP2d`ke z6*ECL4O)PDA5fHzQ=qd0xMCNcA|)z#EB+7y1n1xo!xh)8kPgY{e=dX(Wmh2MVZN>~ zqFAykifnQuKZr!IuPa0#pU_fg%eoT9f%D4-NyGISV3?oAhWVnH_Km(O8^nSRBZ?iI$9T6L=;5Tj+!w*b3-*%tvz|l` z1_yfJ#LCNCU)L>Ff62I;#`mUVK3PoRS69mh?2_l6M!nWvWf>=I85UT~mOJi5SX8QgB^ccFnOdf0ne?BQU zMiAgUlpWg5v!Lp_!3|abO%T_BMCeqOGezM|(?1_x4Vj|kUIR)dvW9X33YsK%id_~( zQQ3KSnXB>7?&)3#k#M#|^K{t@Aw0kfVc-E?3t4Bh@ce~GTM`Z?{~~J%SJ_wTD*Gy3 zvB&aQVWKC_A=&8qqpVgDm5jszxr9_&zuq8rT3o+W|KCAMW?@t4KR5t`iFD{ZTpCn8 zGsve(njrBlSpLDdWcf$i<Qk|x-4Z;UG(F;Gciqw%Cj(87dbYc z*G_1=V=suu+kJd^^sj6`g4JR7cu}-lbC1v3RsDEJdqLSn;<(OEge-;=i*_yIa=bhd zOudGnI6{y97XVweFY^{u4uiz%13RXcZ|&hTaBijoTV01TaJvYS<%==(sxKRzp=ZXo<-fOu(49d!K3P{RfzaInWc7IKYaGj~0K$(mr6U+y5=Isv$t6>w1nF$p=W(gv za_r6khrplGSw5-D`3bS{{8MyG+j!(Uwul@zvM=g0#Es(StUeP0;Pix8+6kjwsC^LG zLF+j?7+w#*pGfwhJA>usDG3#z5H6SPhvVWbj`p5a-Wldkz`}S?7rpJXFjwn*iC3{YsVBuy|$vrU-j{9Dp?E%1R zum-f6fWRW2>Yw=b6a0$Jf_LkTzt)k=eBk>szF6YHK@p5n(H0u zguXUESy6*R7~PZLd{3_fTmPG^!@nzCrR|H&DDt+wQw^cP#JynhP>VR2%^3r44m?ck zRw8xYD#Lnts^8q>3Aw}@&BXY26XV3)RFzF7mM7+)9t2x1Sh~#2)ktVCg!PKdt@iBU zINA-&jDZcnp>Hl*4e45_3##t@E<$n$7_B~FuBm->_ztH4e>L(eOcS&)^LHcf!l4L5 z;8T2Mz$yjaR$GRdp9>n6Fe?*TCB(}GC8IiJg>I`vjkHARHAG9DDp5b;n+%2$u&X!) zSuDC?m=a4?@V_{4y1@3@%u!&vvWc_d9k`^X)7{NBFln(R<54Lhxpip)$ZzQBV7+-S z)Pey6V7-hZ8N)%38UW}zIp)w%9|x%^$eL0oEyWLVDPv2I@Zxmp_$AhNL|aaqq`*fc zXFpp~(rg zzc6iz6P^<%6sg~yD38rKoGQuRE#F%NK&12R?CL6F<9jvdh2Ih5%Yh!m;3MZ{&1im4 zq7^@i^YV+n=Y%S3@cG_I{b28f2EmzpR&*sUp+yH!mf;Tzl!)U6O)5*Om(o!O_F^;( zoD0_nmRb-*K{7e2`nJ1816hGsH!}O8DX>8?H)5hS+X??j zsO)wItW8`^E&SO)RN5wwH`VeNe2XUQ7dRJd$xjcuH1h-_&xh)k9=~IUevK#t_VF#9 zXGCL5wXoi%nR^;O$ZJiVjdy| zqD1B)^02lFP@3{LZuR~aq{y9#kvh87?yqmQA{`;<*AJ7`cKtww>EVV>TjZX^jAhxU zEr&(Pm9Zu{IPsh%AU^6}N;g8^7njq{*qs=!N{jkfT`~|pqOu!4gJo3?bd6T^VaRcu zygz>v&eDQ##WVb^CeQGoWdJd)$?>hG}X z{ONA0!WTc=RDHIo`v2pmD$~n9w@uYY{~q4a{~~Xy-u=W))z3$M_2*_&g}%P^*`}(w zdH8Ho)!3>eozQ2SsvpLt>Te(3RPBA#*i`M-50lkS{lM-cJ^au%Rqy_bwW)f4_;xyW zX>O`s`6U*+KhdV@_ZLXtJfoAUeNL*n*zqYWk9LmPVO4Q?0Mwqa3d~~*nc5ZB7GLbH zZI*>gZCTtn{EuyTSKHv24*=KCwp_j^w6iZb6Dzxqv~DPijf*9d!F5hImdMVgV=)YJ z2H56B{j~IP?B>zDblK;}J#4qyF~F+mP=d`PC9bEPI%a{y-{C-+y((YD;0SlIYKxs| zQW0Q!@kom>Tx@r{)zDhIyzlQuN8!Bj@A}v->cag&X-!Z-JjY;kmRkKsi)VFLT?^;P zKdbO2q1lA_lHqEtR0xf49IAA+^JVC>TEWA-M}t$y_S2#5N+31_jJZIe`vcjGhcg)Z z*{$AFaE-r+T7XY*8?1pH>L$l-_pmCux(ac*!G%};RW1~Nj877s{d)LqDO}2Mc}rj5 zjn{Qu-P0BpMF8W>Y;*D)eYK&Y=B$epgCVb-jokkxshtTXBAcV5P#c=Zp^5fHSU znZJbokjn!40vT=Y+@H!!6Iv)3MOiIWj@HhZ7~%b_xn$s9|5cHUbhk`AeL%q_J6y%g zRj_t&dCBqG5g($;6Q?DsJgIr9xb|qV)k%3%1EQ?{_GYX4;16lzZ%An$kOYd!>ezrK zkW2%j)7@n281RJo*+lRATy?6CepRD|*(Qv&_j5Jr82LpZU8#Th8_s5e5hP=0*o|8Q z8NkUHQj@o8AThXR1+@8NS0@?#bUhgUh4AVcxXzN(q$KJ(7VIaDpPbFa3Lz~Q&{cNeg8)Ur2y~D1y58~Y$ z?=)@sV8I<(XDEe`((eo9plHnG{u^n73wRFIqHaCj2}vC_ulH%7aD{;dZFXp(_|c#P zGve)uC;C!+Sz8Oofv1yheLj*sX#+*}%WWqL+!kF$vRCDy-bV}3sK!Dcg6o>XIERQ7 z_68M43Ok0UCry|Zp^35U1&&SvQB;3p_w5$k@S-Yy7`kqd*#v&m7>Gbi*v)1#v+=aa zY{HJf`~;a{1aBhDG={52H*{6DU*qz0dEI3swRa@K4T^YB9 zNeAsG=h2LIs}HmSEwz4DdfBvMv96>K#w9CQZ-fyDYZfdcl~JRf3&bYlrae#eQt|Ag ztv^tIZrtKe-C-}`jA`Q=Ea9KN+gruW;x6SyL&BcM?O-AkQ}=G!5dvu4hGr)5(!##1 zoP1&~(#ql-RF?^b&ohegv^aEg!+^$Gx^6(d+(jO+Ce-ANtx0#VGy@t-^RfYr>V^h1 zstZbat&TRTJfrKb%mTQs%0`mwN=Ti<-Ey1II$U?!gVVu24iitT-cDuvIGKEM@-O>1 zgMGMxkti?O+JNgw)&`uIW2_14IFXKy^)b2CX#fe8slotR+hT=IIi=>ow)QOLqiyY} zuY+6Qk_zgB&U@!d&kDgf0@xHrU|hDLD~94)cEz&SbR}UQwz4B`t6he~3s%CcPlJ8q z7_8oXFI)tJ@&^znJ@*-4Tx9Mu0AAjefmQSTE_4g!{1i|S{VCy~Dy7(WY5Loabj(*S-oMf$n03wFo&J3NQk8%^Mq2wm}>0?(Y zh7Jx3FEd-$X|XVJ|4^oz|7xK)akt}b#wC2m*k%;f3RYQ2X+37Q*Xex+&Z>V339-`i zra)_aQLPe!uKS{HRDyk8;b~&wK<5{OQQf_@x_j%nd-u0~mB4O7pAEtc9!8uKN3?fqti3XH{6X5g zRkwG$Ztu<~w0HAxJ0pn~5-YpC*M!VaGo9H{OR-FV)>o(5tQFPHB@yOYW~xQCYsh*7 zvS-Lf4bhN|rkUPLyt{kB+5zr1FWl_?FZvi`H-t@8t2A12OOoM{OshSbKt}ezOF1!| z`5DTsT~s4BGOvfa4GH`rlD;8g zpTZe6;`hj~*8(h}KfFEO)yR)P7HZ)`#jD~toz=*3xGaIjW;9RYo&lp#)Q}%x8`#Iu z1`M5kgl%B2Pa72KV0kYTs>HxpcGl zk0YgSD19Du#a|M$MNyFE8WM80L<%&7ggL2$u$fO3xV%PO;SXB1g6whDf z`FI){2~B8W=seI93912G#&5_2w!<&8e8L}ag*if?tIJQWCO^61%iTkxK3tR{Xg0OB zZfEkhehi=K*;g%pvfoQQ?OdpS36iBnZKa`U= zMz}&ecB_yFkQ#5`!T6zRecEVCK|w2wsw}05yjpd|zKwziiE!_Ll*TC}$qX1{(yy^d zO-ngIyN_55TwCD#joQNE5CCJfy^7i4w8U%LH_loIi`1e4|ALj$$arK5C-sMlw zP=0c`@8ojr>X#kLs*QMx0)Wb=@#QYQC=I>hPIW3rK}%#>Ce3N0(!3X^74B2Lk_zP* zgq2=J6b4!;vi$wFqRC1pQaquJMJuRmQPqY)-oGTXum9{k8AVQL>o5$yG}SOC0a@%X z#Ec?~A)`pn1`=|?puSh|5G8~N=_wbE$_7$=TsDw}m{JCP5oX);pqBvDYe1@(z4oWd z7r5F0^CS?mewTn11-L&4kZ$)xz9&bD)L z%o7DLXnyfDv?XOQm$c(Wx|3l9A@xViTg%yk-Cn%|M!jO}lAIpP1U!b1B}=GgvQ z8ca6I-_bS1_Sg8z`D`a%>I&cOVS2p8Cgx`ITNB9%yXht z@g&czrso?s%PZvrnp(E?p$Rsi>4F;$T%f?YEJb~VA6LTWg^(l!|4RB9AHWA4>oqFH zm|y4$euN_E2g-Rx@ONNs{&Et;?*Z3$!DZuWh6wxZB$OZ;(GAoV;QnH@iM=!mg*Ryn zZ7PJtv;cGj(H8qxN{)>x@YZ==s9;di2;6uD7NMl5&va=SKUFyf=%P-^VO-Wt|Vg5_1R)^(}PmQi1Bomkm@t6^Sodms)e8anNyyWsoCESt1e6*Ht9g0siFh&Xs{0id8m8J4PL1?zEFk~I5RiXezdQPe z$Taj&2?)gk9FTvVQ2Iv%z60@?XUFs}9KDY`8sy z%Bw<+#Da!=rQZbT;LpgDO6&r-(kP+M$N@x5K=;FD23dz67h9mK%Wfnstb^%4@888y z_&uB;jQ#$sf0t1`zwbqE>Gy4NAH&!$m9xU2(=m#@aA!J1vG3JU>v-|vVk|{=)){~?VF4sV zhtjki4q|^zpuy2W?BxLqf*lTGFPuGnvws|&>l{Xy(! zs|j&}V~FW9pFB8YA^wjJV$U+1+oI6%+q9PUc{GR}K}NknSc4g)SnwK>YZxSwmyl8q zYG6dmc^s2FI98{38Xi_rcLhV!xQzix3ZcY~0a;8T=92+gjzMMTHo)qLV8CxpV}lT4q-km}QPF71gw;Xg;b;=D zSZ@bpcfle$!I2C59D+_!*pZN$_k$@NbxulY$WiCy1gFXv2JI;!G1rY^FwMF~`nhtt zdE$w)bs8-P(^9IkIC_qxrBr44nZ2M=m8Ivhj=8lep#|PJW(}g{SN}>*UsglVG>JkX z0>wIh&|;QErf}e!kpgstp)ZO4FptKa?5loE#AtG7OYg8mO#=Dnwrq^;@&ns1PKyTB=bc zXvik=Fd`0SKL!;E1jq~8y)>$YF@P2g8-oxE4L8gt)s1L;!(uP77BhsUKz2rQjGjOT zcWjl4Pw)f|=*am*!#pvNfmKZn5}3+y%8-*XmL+^MUJ1!zXJiAalIbCQg&IcISD2Q(7i3F(Vd5_rOqr1;xpQoEj7&?wH2V;|@cbqbJvFxT-)!OC$FageBB3gP5Y zUC`bjn5Kw>yos2j%?2}t53(7F!?^V*Z!Q(XxDhX=$Lz!~ZhpAaCtyXr=%TV*SNGsP zYr3K(8R?3=57#m21^$|sVh^TFvG}+UEl2DciN`Lgw`avM&(SpOY1CVu&0`}-KQwyV z2FcAkb8pR9`)BoP=&b>_Sx-}M3G5bl^4Y*+&*y+u=M|&tY>d%GpfqB1nG_F%@F74P zt!9Ndg$@hFfk#|<$Ib-mP~f;s9S$4k608Jjy|9@D02$d-5u(gRB#%+%@L}g4;pk33 zqwRTlQY~zWt(ROlG*r|nEP|wyB7hc~x=1lc{z!Zh$E?)bZILBCQ*?qVn(cv}OHLyb zxXPo&ej}n3GZ!LCeI)yn-_QpCXx`(zU+~hy>{AIX;ECc_nAG|2bUMPJHFv`W5(tUtw$Swd(LIV_$jSc2D4H7hN`@$xxR)zFFO-OrYpc^3%s? zkB8`|ZxhZGWW-+mLv5k372_*J!qi3$J)YJ^Fnbmb%E??>K_wN^ij$F}DxxRf*RE4C zEcQ$3`!Pa5{ALVk62HdUJB^IbN+v0T+Rw!IrJ$nrv$=MO!-I3V_8<_`yH8X5d1_CG zUUT`-i_kNR++H1qRxk|+p7wv1&b%ha){@^GJc zOM^mryL})O47&rAYZ4DIjlK|+SlAIFxC2`54wRKTgSP{Cr8`i%$P7kjPvO<>fMl38 z6p8}6{KC zRLjnxTC}$rYmV0ZvF1obI9$v1;E$1_t6fsfPqEtCM!6hdjQDWpS&}2l=8#z-0O{>P ziE`NVVqHYP&yV4Jqd!pb8?5?VHrr@(A-YiLs%~4VqW_?N#p?8O_(*Snfuj_QgU?ZB zNkz&M)eq_*Y3nZ$|M7~WIq_wJ6F+o&@G!@7`aXLr)%Rn1oz<7NNAu|Zk8>L|C4G$1 zZ8}R&bk`a@qRX&7_zB8bsxOzyhn4hmiS@5vey)5-4}DG;O10sNlvA`rL1IJiQE1&B zplbabjX@%yC93gx5;Dfn+~q^%BYO2A8vkQd_!D~g9Ca+|<|3lRRX#P)X9j$RAewy3 z`Y+`Lz7Rh}Up3Y=1*MoXL5||5kSiF&q(!|-!bfVl%8L)_2DMrF<9xZV`jvV8b5HXp z)UR*Tk@EBU{?q)qqR-MVQn{k2(75UN{d05Nw(SC@BY^l}ktjm7wI){c4{&lb7Okj`qXnhefsb z*EeOm;1$1mm3~+Is}v1_B;dNwSZ*}>D>siL`U)Ofh~O_Ggrkcw-#f}w&2_sIFleh2 zFl)187KeMmph$SW!b2xM=pw!hH@SANeBfSL-Yfg}%E7(z>b>&8dxUU%Q_Q~LBqKO# zA@AgR>RVJO14kyJ+xj^*(uZ7Xrcp(-Q5aQ1UCenCUp(baobil*Jl<%^C4cE}-hEmK z141Vw18DPv^F(F`jM9)jXlf$AhH=zJiA70mOl9q%7}$q!B-rI2QP(B{`bGXx^;QRN z%AN&2>FH3y>x<8zAoujZNMMVQ35H9VP2OO88=`GrkV@eKDg|wt2EQpV`B1R}Wv`g!b3@7i2?Dwy z;}ZIJ6f`Tw5gC)vKm30i68ea)SKk>@^oJy&zbm=&&%T6iY&l9oZ=g(&&>LtIB=klU zoN?6op-Si>7|v%B`X@{1?}NEVh}$0sp+81K4{G}RB=oGN|1ZyxgYTpi=({pB)7DlR zI{6863i&OmI?_MITG)y^MNDx~uXypc9!9phNzW4ioI;>$ZIqDCG-{E8>PA~AtXc3m zm+Q+Of}wQZ3j>VpcjH5EFy(wF{$+ZAr_6Tzr8OWF@0Ns5Dea<%+@Mf23OUO?F<)5q zuvEO;X1|8NoOw=&3C-3C&wqXJk=A1&ZV%x^2zgA4%KmIPyk6i8eNIPpljZCk!X9%8 z<`CTYs4jx^gOBQ*0qc5y5;KkYJIa|+&PWr)6V?z@+JItO#~#ms+n9@CZAUrT8cyEf ztBi9wr8jUSiB9v}Jwy3fJI&9QQxwxSmeG2a!J7R-=j&VuLHraK0wsTm%UnrlV-C$c zYdXtV(4oaoQ!V#BzRG198(VFBNvlqxL7&)S9gn7kEnms#ORrVV_}H^6YoxSDAE_SD zkKQYC_DtJQ7Bt)yz3cvTHF$@v){OLZTEn4_TcbUyTC;41Bisbw@4VGcsL9YZkaHci z_BeK~84}cx0X?M)AIHyCLxP%f3_({wlqQCvXQw#{MbX`Zi8~Q3ITC0fDaQ^3h6YR3 z;uQ=qV%&|7K~rOFLdAmeN(3GDpj|W@@M^1r3 zQwdk6jH?l(AB3xedEpu9oxsdV4LtTl=wA)E4F>Z_^+H%q&ZjiU<)q%=S*OTM1b0uX zHe)7sNfe8iDMhHJ&(jDpc^Wy>^)w!LI0vJPPB5C5aOMp_IFqO~G%mxGXGnul$P$jB zh3n|#MhL-Q$}0a6WAr>GIk1zpiNV}$&g7<_mK`J7+KCV|F)hyaGjeJnnOb#6~a zBFCLgEz!4w4;g(x6(bJlWWILJJ@RR{kX_Vp#P1BR4!rr1O5_rz6K_+RM~Ba}io2RL zQAG%_qG5@+*FN4US|spcsEdGMQUvKU;*sxqK>rVEbu_k81ktj%C{+9WfRKfrwNmgp zun)@?;oWq30^^Gr<@a;`Ek6qiwgs@za1PWW+PYCHFh`z1!D*r3R5=3*8gLu_#G`SF z1IWNkr-gt#2?1f?+&#?)j)8y$Z%vz%PRXhwkcD!Qkg()Lpo+OWv|_THOH@JL6AaoS zNI#e=X7vf`sHp;$9{_q)7EgWu$J-)EJ<-YHkoM}ZW_|_hLGSMUxh1y;?uHvRzuJ5RGXzkz9brswq<{Gy=fUl1hn*vh| zZzI7_6+BvO2=-kmq`9)<9F7jPE({G}M2N#$3$WKt}NO(rVnA* zM1dtn-baKJ*&@6-NA@8OTQi=Brg~h+z{Yr?x7KORg+maC)AIuccz)6nm*$80@)R?= z!#F<+o}TB&XXiP(^QSO5ugA%HRoAWG*W_p+)Pp8s6o1C7PcV2eNGlk@uXNFB=g3{0 zaL349J5-WGym)SUV{^l4@RCEb918Su;|HCZ@tF~=>;|)zJVSu!-xw1NmM0A+=#JO9 z)&9>@7>hem+CGAF2f-QNMhoW{@I6|5Bp(6lyoX_kxN#|?=f~UqbK-TN&&|H9QDjpx zixGfxshtzYj=oBF%l7A6twB+>{tbAN!#`;K!n45dKhkQ;HL=StS6;wRw5a|~c_2+x zlXx_~=#oV$DK{|sH~EbhUHx=65TTl4<$QQZH2B~ot^OJB#CKZWQ%DM)kKYsUd z?zL)H%fCk8MA^y=NMS_YlE)dIMFt8kKS`}W@x+S^T}6UjL5k`h)0RRmi8H`v=DS*m z5KVOIL=F=2edtcfI`{ywbI)=)eP=+nsGm~(~@R+?3|4zwO3T_T( zuG&Ki;q}MqQSjA7M&ttx02D#BH9%=KS@t_||07|WNL-{&iCZQmh&sWE`E6jzHfbLj zWE?s$OTH=O4Bpstbg$4YTCDski1w$S;z~j;KKD~Ns3}cU5psSJw9h>`L7J%fH*aGX zIKN0uXIW(2Z{=gb?2g<~$89uNPEhkps()P5 zYPV7ryH53;zxFm{11A)s6t8jx2&WI}`9{ZCpSA;VTLC#)+5#56!+S{q)a1j;38GcR zm4Eaf<;n?57%L|MXQ+H#mG6Yg;jjU?{jpzs z3?0)+o}b6>PB5;gNxnv6E&n>#zo04CWQ7So!-aIGq#bgCH`0>{f63_9%&VjLYs7~} zmPPD2ue>@7l)Bwth#zVagept~!8?&4j;`=zU11}Y8!NF0g8c81Al4!PN4Y>Ds}XQ2 z0hR$kGW9Fi92<~dkrc1|ZmCkt9D+CDy2XD{#9G@)-Zl-8-3-nJ(2#m88sb1jG=w)# ze4}EMC&&p>x`Fu%%<|n)Wa<+bYksm0Caf{Q&VcZhZ#>r|Jdt4!VdDa+> zAvQdi7Z&v5*T$H$a4`*vanU1kG%lX2aZv-S?1idW71r6Z4k0&#_^GHRB%mfDA(rdl zp^zH_4Y-V0VgTqH0O-EPupdpA5I4U-Kn*?T^0-Pt2l@AhJC8xW40c4j|Zo0!Ax$;Qbga4c8b(PX|E2|A5h7 zXL@lFE(1z`n@*T7F=y&xgN=~eJs|VRCSQt3ti+Q>@R)d#1qW$Y+aa`8+74l3uk8>P z;21ebY+`?E4?v=5{NZ0NF5aD$hH_;w3R;T6QI3b-b5aNg-&3kaURE#>g70y2IQSm& zS?}6_Fs`qI!U#ewLU@cWNc0LJy`hF)A{mACNrXi3n+74R+QA7Cj;0W*`NGX={SD;X zHxQ4Os2S0U>*xY9m(uI>v_bDUs+p^2rU#e4P>5S8h##(tp60>j083zi@b;)h29P>~}s`o1C}cdGX< z;>HqM8CqxReUD0-&H66S%?7>8bF(Q5Mi`r-NQJQ}gebeODen;JL%>zV(?Mmjp`&={?BuP%B>ViyY9E&hmav(YR zoUG)h$?5>Ei8`+Vq1P+YcS?bc#%Z5Jr%FQkWVOL}rhEUrl5N9$CZ)N_Z2-e*dIJFS znT%q!h+tA{?PP`gpI%WDm)YT?h2;mDp%C`6JswOm8q+?Sv-jiVBdsMztA7%2tuTV& z1&8VOE5|#nb^&iwQFghwn3e-YWC0@xZ4V1|sfy6{s7)v3O+csFoTRn{-FMhOgw{T$ z5{=dh8J-HGGNRGfsYP>p3I)lz-aUpy)5r%IQ7RvwMcHpLT8&xM7KTx6K;&yOSuuyH zNofYZ4nFNq-x^GVPtzK5+EwQ*nfBD6wal4Jh?3?qb>5O`wH=Kc%nLJ95|_MGo(c%a z7I4}=o$0iRf!9bW$~%L0hGDEuN%bE`eM)%hH_9`;e?*N-#Y^;g8i|uX_3Te;EplUH zZ>EJXZfgQ4XY)|AuO&A3E6+&oR|69J)qphnMO`mZ5wbD}kov^|&$JM)h^<|cy7rXX z{rPY-!Jglbx5J~`;?95~si~neIsHoPi+x&zD@2JQsW?4RKbU-TfX%5C7J}NMvxo{i zT!Nf=V&x8(5Pd(w??yc6Ef=_PiwbH|!xIivfutKn7>6aDZ~Gm>D2Br)VJV;z)9(qNi{!LvygLQZ21i!Ec>CWU*v*4S40UKbch z{f{|-EJg5K&RSUr&Z3GE1}NB{n1ar_FUfg*8k=ieO*r8LR^pZdjB_{~hn_~=0jw8b zY_^CRrX#<3j{Gi52X>hwKa^*4g9mh|cLJ~sxpBL>#G&2^odxz)!BT&qN*DUqLX+kR z%9vW>5GYIdbm-&#tGX=oOMkZiAYHm!4$5nC^y!y_+hzZ$#Q{N=w2OU!UGh8{&&ONk zl{<=&vy8M#v%KTFd2LtmrL4kQP)%Dob`ZnZ1E^lssK(%1?Rc^s$|f8 zO5SF=08;sbcLonKz7!}!-6dZuA53)^cFtokbcIjUNLspq)As+u1NHJ2QS z5`UC@IIlTHI$imirljnLuX;syZ(`dC8R*_26fiX9)lhAzZD3J`)~Py=E_H^y3`)DC zxR&3mRv}4j&tR_i7VQv*NLdbYqU$Yc6epY`AjQ~T0{tR&(i4CRVGXV(Z&B3X02PxN zbMEAS9*j{Nbyf1yJW(#hM)k@I@ouram>MdwAWDfsZfV9wRCm1hi`?yV zHy3GYzm3pIL6l6Fbw%l9>Ke*}if4kDTq2+X630xn_7670VFCoDVIK%XLHY;o3>3MH z(0}+|iiqNT1Vq1*5Pb$3f>_HLMc|v^rY|fP4c_iw)?Osep{njbAYA<9xirHP-vXHj zGZ`1@j-2B7o0)B)!vX-{Ve%9vwzxrKSh#J_5je)+fG`9Gso5&LDx-y` zodRo|PyGsu$OBLL4C94?@S?=chXT+sH>L1`lItod+)$iqJq8qAiztdB^@`4_7*Lks z<3WiR$QlXYc#~ui5so)0_PU-k!Jeie`Qb#9w&!`MDL=YPB3efZhtE6F+sWp)C8?fl zyk)28lg+P74SKTvBDn}W>`yW266*Owtz@*g2tfKeck-y&G{e?BbEuQEk(nMsc!b@Z z&1j8Vs3Ngquu6%lw)jQvcZIATguZ-pTct7cJ&a`93>@`!DAwH3UitMX$)^luXG3H& zheX0?NNtX+yrxwvh+tZ%Cuu=8e@2zJOMqvSaJhmO<7C2V~kbpzfe>k#&hP0dpvh(+X|Chq|)r9Kh(c zChv>kudy`5r7@D$49_c>S12_Y3u63D1IkL6h)^GbfqNa{pn%S}D_Z=kU~t^%$pNjb zSCak1o!C3N6T5OfWe0!?87Ap68yr;pB8&&-TXLai3tZ@!B6!oU>4=qFM0aU1n$?c5 z*|k|@TL5+MW?{%`dG6qB?BJ5NP9KY6N1&d@X>b;2=W@Y)k#7A&Hzn=_Kyjm-tBfh%R#$?9)|gv(3%5hVBp~lu6w8P zwJ`9tZV=|`GPQ1yg~1RwQ~FdKY!;gg34_golp)02VSwR^8FJuy;EWlvZ%D0LcEhEA zWRiWq%e|({=mYoLQ!nJH1{pQ#Sv7>^A=kWO2unkP7=5T=S>|e+{&lDRRk0PQbGrdq zH)N}Z7=5UL=ok~#J@_<+-~VtL zlZInq=YLEm(OpGu<%nkar2fA2k^_4`fs)+lc6LEvXWo9%|uCDGO6R4C45gv2MUPt{Y4NL#T^5 zKk1=~=X5J4b=(+E>L#^838z%EQj|ffjkSTNdR;(}sp>VsT}elP;@A7r3<4XaG}m2* zqZ^NjP-ZZf>nC+ig!Ur!ZT)0!pN_eJuQecG6_8N_qGL!7&1#5xwL&0GA3t*NNLH3J zlz&nQ6F8^(LZPe)vzIlt|FEXHG!}H&*BW~yja75Kyc#ut z+5Ml6d}j|Z@66ptjGdz@3C8UAefTYQa=~%*{_n0F{oU2@-TOX!WZT#O;gM~B{kv}a z;X2gt-IHR7w%%e!*JOAg3tx7bI^rSej4d5DEo3E|i0>G-5n$0G;w{7011uU)yg`n$|~cHwKU#owV%zi`Zd@1e`_7k~e+`juq{g$}G_w(OB%U?hG&>T{nx34P5QR`f6t<8_Dx=%bkuuAkehqhfuNw%B9365yH zI*COcsH4?WEC#p@-X0uNBrYn!Zk)K>a*^yk)1P3lz8xYAAJc)b>p3Rx&3T%E3SWo4 z4nW+I73zk(TjnvM))nK_HC=J19-*X(L5M%@ciwlku7p6Rcmp~RF(yh_FL?PCwXyE2 zkvo$EXJm%p17Le{;B=|M0+|w9lLH!{R~W-hwFBVhU z5E8H2o?D%uK*?L^62M&)-#CF=BDMv2@8<&onY~JK9>*U^*W>uJYzX*cW3%viH=uG(~JA=2YDjhFibHCqx>uSYzZmvg*Q(w}T-%*Y%F9zBuaX^s)Udr#bF7 zdL0kw#m4DP`$-3X;EZAsW9&d}jN#yx3~Ao1cS^jyhk6EM4%j9MV~{C6?suKNVwb?n zR5Ae)3u9nj?i~lio~@enV{d@F7sq2SL^@|fPX>0zJ%+yl#K9%FyK>_*stD2#a(9Iq zsEA>~I$Ze}jxh@E7EgG<9v9oTJFb4ld>rcz9_?pKko!CRdCDJ`49$}~VA%z5_cVPv zPB&(CrBLk6rbY$2+R&8_uj{Ia>bjn>7wm}J3Kf_p(tknKfSg+jgHKy`i(r&aq)c@h z$aVprxF8?jbLFwn>2o2VI?uV&fN1);y3>0~ID$LESf>}*e~fh+K(o{5<@Vd?G>Ns` zY4w+$pJ(H6xYHn>JFTlat!oG)-yzEBnLClgZku|9y(S3L#yHoHQ$L|TgTO~keNUtC z{Z2im{@>@+z8MVm`kN4_+ipKuheL%$n|!`bG$A0X`ghMgHy>b?pPN&NbKKOn^Cnm@{?rk&~| zM1j@c-Xw-mv*ve;`znyg^@&Y;qpqMr?dOn?9rag~sb0RWYw$eR^k~B(Vl`go=rKI= zihPRn3PIk}D_U#xid~E#>e^X7yfXHcusgZ$D|vVF`pM!%5Q;`2k1BO6GmiyASzZB$ zT9BIB)v)ZKOKk{dQkk>oY-njY({&Z7U0G(}JHk2ER?-AX%+eUH6_Tx%iZ_lPW(i1M zYU|v_+KL(tat@)6WOK`BIfYO(?cbn9>9~yXl?j24F)b({ql}AQk|dPd406aFXEjA= zI#K|8mTII@>PduXu_z`}9U?R2l{Ot@Suz~J!cxs@3@1-(8X06h3Ah8CyfjLfRmC;C zp}3?CwPLf&Q?2;)indJmv|dX!$#Bndp6j6=O!j_9qYjzo(>R8TCrmJ-d;^)=;5>*M z;sz--O&&8uwomTh$8;^oGjN0;IoLb9_j5_c4hRsWYjJ3OR$;4=scacD74q64UJ0^C z2@(&h3?hIayFg|J^qM?@hJ-0r4!0d0X}YSe#50(ROXOfGo2YB}JVrFFb8EAu^I4D9=t)n7svt zYRoouWzevC=x8hN_4Z1+c*jA^g~mI~h7mYvnL?xoYrP8P%r-yM`{HMB==#C`ARUH? zK>SQqiU6wj#6K}a32!~p!lHt)-y)<+A-ig%M&XRdhrBa~$0vgF_$;Wm9*q9!FggqM z=#bh)nQqQ_-uBz*Rhb05!*OCjCTg<*;=0qe7<*b3g+Y^2Q(9CR<5{VBR!jF;MQtI> zx^%9m%8N{h_DUD6bM>>Hq;oYm=v>KJqr_dOV27^%3?bZOsvWnP_5o0;9Udt+ht^ej zWhn1dJ7>!)QOT+-HOw9H;Zd^k;N&w7O{@?p;|XAxNPGgl1oInBMo^fx-o&g}cBW~V zJ-)=m)^Kb1{2T{2fMZ8!(ZzbGPlcgo5Y%uXBH?Tp3x=A4ry4`aO7Edmg0dIqNq-}$ z$?l?{pZOXDJQRNmlE2Y#A6yX{!s|MZ6Vzi!R1bMgvAQVAiZ<5>p+-tQuL`x^2elk^ z1&Zf3YG~Nf)lpZx*2tq>?1hW4U+)l2rK1-_1&>xVU?HHyRO81#?$PN zgxy1Kc>u4YLp?vsUmn=1V9P4{DhsUG^e{wSQ5rIs%6DFVyH&kGEsE^HB6+NjkcujW z4SrZq^vY|U`yzXYZ5OZVY?uSls@wag1snx-g+g0uk)nG2SKp>(s7Hj|Yk2FUK9Gx_ z?Agxn20<1B2Y_-4LXy2N5ls>Tv?gdtkBjWbB%Lh+w3A z>jz6j^C@drBAPUSM7YZ>PEt%`s6I_&XIXgDD11^P8V@CO$aH-liD=@W{4IsSK{nL! zX`%Epx?AZCV!mYz8BqKHA}!}de$3$Q0NyWbu$;jt*(iKaI1x>TB2@xib*)O}A`f-@ zl{jBC^#*{1Dc(`?<^b4_fJ2FBMu#dwcpR@tV$xVel5Ye^6{$IEhiXA;9j|3{xE2X? zhik$4W~9!9gEGVuYJQ3(pKwF+>UdC>XR*=EiD(GM54VLtp(e}6{gPWwGeMVrU&U`A zVQ|@OD}O@VI`#*;4TV0ZU%kTmBRvwf09a|0OC?%#HdCEkVp+V*s*#eV;M9Rn4D1#w zn(+OH_4@i)BAOrLSL8@F>Bsde>o+~oU2EXXG{d$M(gf{t`B1r}q%98-#~+6aoH?Qy zGAEnzaakz)ER0%v-3HuL`XMz8jvy9;T=DaRB`Wk$NO`UNyk5P=a`rG4Ix9^hQOp%Q zMlP046w{ZH^V8u(lsCv4!{@@Ml;t4hqFHb@=S@1TK8!-no^S?AUCwVa;6-QeStuVY ze~d4e>c%Bn?qo5XxbjFhl+~yFaeZG|VlLNNV#q?HPg;Y?goe>0XNtbK-5zL`*9@eN zN)ty4A|#7Wn^fILEi8j2yGGthjQL^LVQj7N+t3)|`g<4nN^)K$HIAts{Pkx@=! zK$DpPP33J=VnEP-PU(?uQJltGUDjdN>c)Yr#p3-w_oH~f$32=rmytEs zN=QUAVx!tfM1z40bqqsIlm>}A_wJ=cG`nax1tX1!(VsLTF`d&M>+h<%jqtppD>4^r zy%Wg{i$)@uS?w_-B{vhvNWlG`+}2zWkpUxhg?N&Wb+y+$lp16gz|OB{7jfnoz;+Xm zQ_5^R*nsPxCZrSQQ=2B(sf~YD8W3s$zFb2*N{k|vV8_9nA?9ds5gnFwMNYWa!CCE7 zq?EbG!ukWHlo|cauz_eJ!PEh(w~WkA2HYe+2uaX5nEjzH?&iaMsi#ee@Z*-0{DN^>XMaU`>3wk~G~oyL+jNOn3pX~U01c6$B(d>>=7)1NTk#|KB|`#^lk`936IIN!&+D*8hbpWgkE zh)?eir3<@He0onEllb&Y|9UYW56F5>;-G*FM5Ud$)^uXXGqzHX9{R(u+x}>>bYpwL6AJkF-|j6w`$ADBbwGly(Nz=>ce*6|TBO z!+>kWfcp%%*c7-+Sl^DFuc=e0*T&D`Vz<1*lxRKPEl!vZqzUw4;j%wRmpJ+&m%Jv&D9-~+5{DC1F{9AJ~i9qY3yuqNZ37@I8|FZ>1-I>_-GPH z)98kiNg#)eZrCMfqZ?Em3@+bLe(Sgkpg9KAV`&3@<+#oz*lXCXN~dBr;s+-fkv6A{ zxy*q-e!T{8a!ZMNR)s93mFttV0)-2IQRd14H4hnQRdeAa>#-1FvrkzRI&%uni#ka0 zJx@Q~2XWD%%_#~aM_&qxd*jBt-l^&9~sxL%h<+F8X4nItI4NyQ2|iKP$$J1L-8 zA=7|Q@sB(Lr?5Afjz3U|&NZIrf_c|-TrdE6mJ0_3UngoYHYB6~Ir2wdRBe=h9-)|^ zn%GugWMjONRTY~({;vBkTCQ-23Q~<*41qk1h(?0b4aRJ1GDPfLonvRf^Uh?jgJMw5 z=ovdS4x3JbgSN1t{}%+t@a$qZGtwbaI4{xh2?OX8zX;N^PyBp(!nqX(Og`^Z_{TSO zkcEDRgCZXJ$Xqxe)4`Gtia58?K@o9IIf!}M$2c#}W1-^Hr`Yq=I9e;ZGB(S)>hwid zbUK_8nb4pyE7Zd%iPq+OKQGD>dMrnKNfuXVn?bB?AEljxw#`Pee%@!j1JSRP_etvv z!cms*%F`>y1kuR`dKzbENaO(_VgY!FNEB}?gxD6ie&;}1Hh(>=!ZWx30ei3b#&!%H5 zG(xpwgGLeEZ~RT;92A4*jvA$}$3faK_3qY5Du^Mipj#o24}K?1*()6afa?}V01*0- z){wJS8O!-B)MucZZ3S?1JP@1uZF457=dE_2;e8IS8>qd}Mup1HyX}FGLzOTBH8a>2 z4zqbSYDbWMs8RbY3c@%0XGH=5wGFrpX(ZIXP@WHGrat^WkC|FR?XypV_ox<)+8mT} zU}~b)*^;=#NLNrB)toJjX&4Yt3~ctbnZ6 zW9Z}6IzcovS}%-3fr_B1bZ|aN8j<#l)?0o0qglB?C2wovN3c`c+)t{j$x7))Y)th? zOFiXp=gE25P{|dRziU}h7uF|;rvce?nOfnOOq**3n2~-N^`6%yudeklg#mK#!Zl;t z*!UPSHa>=ojgKMF%zfh{Ox^h%ly+Tw;^TKhTV$imD8g!um$2CLI?0FM!CWy`_wr)% zMYy}zs+hbjl(~s))gb*~+_R-JmFV0);vS2Q0pZA=1Sp`>8QEpP!_#^FIa%q!R#lmP zWF=9AX}$>$t_2lv&TJJN{5ZA>{bOboI6#ofY^4_@8m&c>!AftrLu7tUu8;%Dl@Z-1 zV#;>Llus`A{{NLQDwq3ujd(OKAl`TDVv%>qrtVJz)4~dKFdK>SpFgsRSAODHj6UVi zuGi%(FZ_s+_YnG`v2UQS0!sf-&=>g|Y&L@&Ltl?-Mjhj?I247O!U7x$2pl(Y1qT?g zn2;fGD9XTb6GVhB0l~~X?3fUm)30&Igg}rXT9}c<8xW)eugpkh@|q1hCcXmK<1gGg z^XdCGOBh_7`m%OPyt}L%6KajZxbwW)h6(XJDi8{J=IGPL@~fOtC%)xRDuOw$bFM9+ z&{H9y?hyBiApKBtuZ3WBRC6x_n%wJb{O9WNaWt{AyZwRP2!tSch>s;(^FcLtmouJGV&CR{!8x(bQR9(%VF zCt!pU8`Od+Y%>pKT9cP=@cNkSy+##Fg-p4*{0w~4F9f_BHs(LzT|=CTcvp*CY+T)v zS{#E%aAF?OPKeU({jzqQclE7<+0@GT$sab~3UZ2uByLlEX z2zf-F=(CWxT(V#MVej!h8ewL7|B0sn{w-l4tX_DTbCM+k+DRE1c@u_0Mr)*g_-K}E zuoIMwEb}1kMuZa8hnNrAPm|PeW0lA+#9Y>9n1~2u3=u>^f^Fv-`>%^a2(Rf%Yj!S( z2;4*w!65x$B0Coh+{lR$c3!9T0(Aq>&WlG|-JML5NZfnz9Eps(rzPwnB*=MPmVabz z(Fvja^dW|l3wzoHE^NGd{ANq7DMXqJHqx7MBD3-SPR#`#8u%T!{QYi5WRnI8S3_1Q zpVxLCR}L3}5;rtzg|sbJD~dqFJT!o8r8?1bO0&i9U?O&Jx+6VUkZurkF@VGGSxe%t z7KspPgD3kfq>D$P877-H++!+vnf*)SGpY|DTbl+@va~+f;e$pIKJ5>JDoU3{!-7TK zI}%@lMO|0=iKRl>I;}e!2-{d40D+Trt}H5k7$IDXL9(a|+bDx~+${RMQz3-K`0->Ox8T-E8 z+&_g)USLayD+@+>_gD4~!{>~+6KwWlfGV_{jzblf)d@6$0M;^BbrfGhl{5e-Ivw>Y zy`m@;D-7|p79*;DrH#v>kGVNhml=T#3nqg7e_oILrN(mP4@s+UztLX*=mgNz6qeI zN#zs3#x<@J5=J%|_+8aAgi2>b^a|O*{AG2BCoii>JagGc(g8%W4}sfd1&Jy|DeJgp zWk>2*Mf@Xz4$Bh{OgKW(nK1DPOFZ8|M&j}q`#3_oNr=KaitF{k`5+9*eU8Lhs1u@) z1OMd-?i|2k+cI9~olzS>i|dzQ|FVH^ZrU)A@7qM#a+Q7-2X}fM@7vCagUiU;x;CD~ zzp-KGPW<~c3I?eVQEHr)u?t@TrwAS$IJvWsVmc)$2eTlV0Fmk|aB|r}ofjtuunnRJ zp(C!^Rt`YcrYqwg&lwM8j>mICLyZ7P^)rX*1gJ!%K-Uxc>~lb1JU_!FP&E;$wUj;! zK-;=(Xj`@rS-Nm5Au85%CuE1xXwSX@m{SDL9w@WgGYFFk2n&J|=)e(l{-v7_w<2I@ zdzOEt1}q!!Hu#>3{2EpmGQq)I5YHZrJxp{9nc|Rkh9OUH;sFlq zSJCe!$g&}SOenqx(aZl-A@?*5`x4Jms4Lvoy#a`!uBbcg2SRWntbPc*(XI}1Frcm? z&I7?7r|vGDY0L5|LkJxMq*m`^m~2RW1b|tcA+=vFfr<=S%f7kTwi&YCfNUAEQA0$% zigQH(3XH7SvT(>lC=%a~xL=p4@}A$SkB%@lGNe8_!rI7?`sj$hd!P>LZ&gD>_8X7` zzqQwZthr1b4~V`SQpXHpkPWHh3c0lkoU$ETzRUf7yjL`$m05bR<+nC+q#?$~ko5*+ z!;rNaqA^jRz;)HI=U)lclxJ$!5JEL&$c`a|YDy6EM{3ws4R07dVxTJ;;Kvx~itMR= zjDfEBoF8MLD-$p0LJc&5H*zf00I-aLHW?s>UORdPelg|<7M7Yuge$(O#itSB3Vb&N zGquzqtuvJ2FgrnvI3Q6O@rK(Q;dYbTXJOjVKx2~){^uu|zw+~54Nz^0Y9&^%Kc%2n zP)!JE1(F|A>BsV?t91je*MKzxnq1KU7(;4qwQUIOGedR^ftO{-o+0&eNm~r5msA*) zA@#CrJS^Fg5`9U%xPjwSynPln#BH@YulCnE1`LWXP^QZM^%xAYdn`8b)}kK(Za}sS*{UI`VUrp*Rl|XQJ*a=J_6^x@K=usTt05i- zYS>i`t1N%uLyi5_iXj{sr8ZZ~hOje95RU^CGGt+^HvH>G{cE*uNUaNFu`pzdj&gAy^90U8pf<&WBk#jLz1Zua)u7{r=y>`y67T!;q)!&oZh zqeK=@=>%9hdjB7L?;j)AmF4$!y{i66Hdz!!vDuW!SC2o`8i^G3VNtC3MC`bp^0-Z#$djkQJ&-a{r@4Ho9q$rJcb|xMX>i6EM_wLVg&yVjt_g>7H z1OM;8Sv>0J0r%!(Tm@Pm?=C;6PM+M-y&qFIOVq~+yflDoPK#RpZM>RWf^5RSJT><8 z;k7kujp~VKDVgo*!{2bU+(oAi94&XjX*yc&g2ycAXt|4iyTa`gb}N5`qvd$pj+Wz9 z9WA#&*>K{0>!XQy(AC2_Sx>tTg~Pg3@KrCk7guQY;6Zqwv$Pz{6icgf%R*`UcPZ`a z95$qvb3B%FVMICC2g<3bwjZWdH|uh4)#cp2OF1`2l=IMta&8QiQ;5P3Q_kJGoa|5) z+fzGZ-KqC?MwIjLh;nWXl#_V-AF7<%l`C>7w~3u8N)`&Cr?%3(i%g`I$6 zm=ashLp;fkrMxN^-AHPPI=+Dhh)ea@s2w6lf6)AC*&^jK#}+lknHu+Ny`?t#%MNqd zhR7yS`X~n2Q*DUs5km!1I7boo6xh6jeUEt?@G8|;l9s(chA0J$KUEijbm^+1LPC=px-en9~Mt?@QQGF&UPrfe9zvIP$&Gp74Ge% zK}@y!BRgr3J&rTVhGkXzp48qbwZBQljZ*uYu(MHWf79Ah9&108q0jxc%J8nS2)<`^ z##v<32zZ~>StopC1pLqHoD=qpfCpNgcf#T^HDc|A!ly>5y--RGVhs;voVRT6)UGJP z#wcsqJF7-n&nW9g*~ln;qtvb_vcM>{E9#sCSM4Gx#9`XeWQlX7Oh9tKcC4JCbeNpg ze9cj8tWa~)13c866b?jUcoNFNsI*;)89Mmp`B5SkUaN&MaabD?G;kcrs(n)Xp)i+G zYCja_GD_`-QbVKEekiieD77C7cNwMjL#?(YY>2#5#V^B!;r106LsD?hKB@gsSj#B2 z9|~(3rS?OqHCB9F(JAv2p<=jF(F53`=R7L`F-JDerQi;&d9q*^VeT><=vzCGm5->G=EJoh9-p-r65lq zVPF5+m8Xxi%P8{nk%%?L%0>!(r67-9kLYU(bEnYMIJrvP*bcOODA zlV${rkxg`-Dle87Y?{cPMb$Ksk$sxzf)b#{&yD(EFdcM-JDb~NF3`8|q-aweYlFGYlcjY=yL#e!=W#mC=Ela@ z%;0HN_u29y`B1iJJ-C)1wx zq_@Q-z5itSoPukq+r{$IRXtkWc(8_;^%<{ORZ1sSKCT(BS=F>%&iahkZ22_(pov|d zue!!O^sLW=&sxxj%~v%vUqu`t&9G2#xa^e}cxVk0_Wb)F0BOFBtrQqL-o4cb z@rm!&uh|T_rXiXAy2iz4zuxfKubzHjMAXw?VLW6`2a1Rxn2TW)5tK{}YdRB3?t-8O zp=1gnIv|@3=&SbY=0J>2qi8biO~!0EIKhH`3lm^}b4`1*(IB;Brt^19KeM{5=3e4-y?~H`v(a>?kka$JAY`+>QOsWuX-&0 zt~o~hI32849Zy7bCl04h*Q;t_EW~r31<1h4+RX}Dk3?k^uLV`t2ku?J4p znkF>6b>Q0luXQF+D%)eOR8H$;?D8Q>Byr&ipd^}$MV9mcgZYvNJuC>;sSV>0B2wGV zAw;A$ukEB~shm(*iz|3ea)gm`S}8wmP_e~}C@kcmdMe#gf2f|hw!|N*4GT;Aq1t8O zh~g9$Vo(x>Q1V-X+N+(Np!RBi$RxZ(cyL%Qm8S*Y2*$D&Vf|2d%ph$$SDJ13UCG0| zsM^CQ7OoqIIu~?ZIgDoGx_PL2TG!>n6@vLvVLRV}5*@0Z6nXJ*^@L&~E=bEfql?F` zabwayko1E|{|oA#i{;Zu|BI5u7s^XWe;8wc&``V6bXbamymeTdY)Diz2glKn3|jbaJk=kH&&%xxcUMi-81290E($N(I| zirnfz-Hnck9H{#d`wk%CK<54hL_{le22e%8A_K6aP>}&#(m|0GTiR2*lU*Sr11O<@ zksKuqW?xTmf)CUc-TFeGzJ!oKkuL;?Y!BB$n8-ja1c?mP!V!@kK+^zxDp+Ko7MvI| zSPMT`{g{2Ks(qc)#s*y|yi&pTR<*WQcheT$jPy%($q=)$SJ8p0niBKRwqIzp=$ zNJbM%U4yJ9@$eEAKeqYnwj$`a!*rdid1)EJzG(QMFoZSlq^F?KqvkZcTNV@gJkm_+ z%Bk187!&2uEQ&fIY1=sCZRw@cMYTw+aL39&I3%8H+1H{3}M!Lt2OeZ&BEMQ z^RJ(>d0$=7NsEuuL1CdX1W4Q6i=+v9RtjvNq~V0ObBZG7|1e`rayYC-s51Al)j-X1 zW#!^UU3+pMxxUen|Husn_LI7PGwM}2k(W?XBb-PhM<u;@;NCVYfV=?FP3~y%AZ`()pabZ zDQHnV4FH)G!a)4P*e2$tZZM+e!#yrZ4DA_mgH7`T1|w)-138WyV{JXh_bW zZU2RGhRDIZy{9lDXpv1;b3esqcpYNdIh6#Wk+&dUe2Jh>h;xy+4e`mBIuqC(kmcWU z*?{;&c|ps=+pGhBO3TBaVtII5tH3d8IDrH*y;NRQl7xeXA1(tFgU#p=W12{Z7@Jo* zBix3#Y%LGxq@a;M&XC%Z*M#?QvYPIR*QY~f%-Qu=g&9@$J>0YytN>3&AC~6w-->my0rRKD)e>?11(n>dK~vzXiPIeT+vcfm zge{)-Rew{WdWi`}N#P|@L@=TW@$@E>-^B43A;}|IYiyb>9c~Z&wfiXF3}fhE`|rzN zB!H3GOIGQ-`^Z?_g4OPt`1rnNCRrV6Z(ETF{F_3KPjy#_{T36Kaqv$mjt#e%MGZA+ z3DOZrNwiN{2>Ve;NfL9komH`?qZ#q(P&#&&qq)sIQ;$nJMSMyk9E*usr~vqONgO!> zJLQO?%OeM1ryNssf#morp{)`{8jqJ~n&|zu9eO?DKsR^`I?;-Di1nk(wJ zp7J`vQ$5{vl&5;CYf433;cMmC)8r-_$J0HBNzZHKGK_wF8e#n^QXa+o8}YotF9*Dkd$$w!!9D=&b~D+99b+ z;&@(tOIJrZVO={Wby1`qTBMHh-~Wj(Hrn?|eHzKMfw@|rHyWgr=RXp?WHBB;ymfdV ztjQ9bLW!~gY@wpRuj}I5(q@9OqyQ~c0xzWdo^&Qh0t`c=GNDK23SK=rS2%U_59s%M zF3tycD2^c5k;P#=?oZq`_rAJjntNaKZ2aYs&2xKnd6enqF}R7~q-Dm=bazKlV@tO9 zl2ad94AuRF7_VlxZ=xN!V6lyUYN4OzsIkgYJA2E|d~{0RD1I`eQ#PO=Sa@AAjVt&h zs|r;lU&6PDRNPbE9M7oj3c4i4-&<`vo)MH=nUEoW-$C&dV=nkv>}|B0PV>~!Od%iC zmJ59?025a3c^5YnPuW~%ZJ%DWC4M2Cl1(v6!YOU{gdc4g6fDPqub3cXen91qv;{nO z7AlcDjQ%5Tf6tvQRmq(p@+XozxB2mF>mS3Yk+Vmnc7xLqk%psA&17qrucM0y2T`$jCds@wAMuP#k++|12TOg?t)LH6p+ zHKPUX;dSV)8ZBs#P(=z7?kGWckE}fv<%#xyyb@|{$KsGWdT2ODt5QA6LzTP)&S698 zN@k$_2*83ZhErQH+F<#YjrN7gzZCc_QqrExyd2Sm?~QwUdU|77Kd9bx-6DZWQ)$e#HiE2l8c2o zHKr0H8VA#nXFHG(nCWmr1d4}*o+AnHUWQ|Tyi*y-HO}E+Ja3M7PU*Te-szAVEwG^_ z(;ZMaT{(keUDti{j@~`1vAM~=?_iZ|&F-Uzxxfi&TuN5wpJHP_80^L7 zkG9Z>=~}PBVf5eRQkE62_N%;S!=}6QZJN2!{%zi@2L`iT#I`Wr)yzp8^ch`Di$ROK zL;~0uO%r@|tjL_%D5a#0IK-Ww_T@UcKw6TMS8P;W2nS4b9vNo2Q2?v)i>->5I zw6fj)1v(uJwQe#3WU?&w2C~@Ysm@|&R2JK`fA@V3()8R(1#uwD}+ooURCK3IG6>{#pv#s_%k z*cGf6u4U(}E_0o8y0klIbeZZbFordoX|r{q__ot4l+9E^+X)uRMn<7j>{TptLDO_E zlMY-2$dmAW;1eSx5djQjgoN$eZbvp(5OWT40r?p=)E1m?`#9N|(d^B_rp08r*wR^0 zC&CWTmz}r-5ixwVgF<2B6(=r3OIM&i8pEX60 z2%$0Q5-dHnB`jD+D%+^S3HSYus02~NrzO#*I;E<*+UT6u<6P%qJ+3sWujsK|J$hYd zhoT*!E;T@=B?YUC3fwwfme)Iv>Eb$)8`F`2q#sO2meP4&DIY~go|cY0VdrQW;hO1K zk~wjpJYPP1y;H(+r}aKhK}T|TRcSGcJb~^z%}Z)1>bt7_cuJc!wliK)9L@4EjBQ<+ z8$e5rVuRmTXgk$m-)~M9iwvM%I?48fj0b*uQGGJcQDB@Vf0^UZ9ubj!zA+BGyHBXQ zPsHwiP~ENBj+6Z3OU^>`*$#f-i=9cKFV@IZOXZ4Zg*ft zcw3!Gc84qrey{D0lRCL9w>ylG+a2@e+3TH?)WFz|r_iR{$?iC5ZOSO%rMyjXU{=(I z*d5lU7#`N96f(9c;jv7jIh%3fGm})z5HM#m-TsRLdlofY!Y+3<_G-!H{B7erF)m`5 zH*3k|lEOxMe8-s&wiX*x8|BNejt2eIp=M*OWpfXf@#(H1NFt!--6!J=QI(5|s4zrt$Jzc^-ZasH)^;J>zFxMR}MD@Q!^qMd~-Z@AB&M zKgQ}_NnL9!rtRMnkJVfsm<;6>x+HK}&GUiHP;Rl)#1ig`N(?x=43$nE@RysdWfd!& zChd$py}nDSzD&8;G@k*|IAf9%@`2yh)#vXdd*v!ibeJ}(=kJ>GSO-4w`MZ6e)bn>= zl5MRp21WWLyA!)=VujTgMMoacygFU%1_zuWgWS02k0SreI8-8|s z3^ok1LtDVg`tOsS_7pJ9?PtSdbwQM?YTCPkGv%l-UdAc}?V1c!8IcBPxxpP0li6sH zC&nPR;X}SLyBcTE>}hPf(y)`_B;^MHz-}^$= zi?;!8j>RpiGvcAalny6X^)*+=OlpR47TJkMp#njRaY8C6133jhS{ml;)P^_fEf>cA zN<$9e!7kmy@_D{Ez7Tyxby?;LwK7-8^qrhkJC%a0cvVU))nnNR$wDr4yfbekQxRXp z2+358LEXKk`V>wN%Ql^l1y;izB=0P&Uf=O&V?BYBu!w#S{6~{*6&3w$oV!8;1ts!taJ@L5u0;H&6zbMiK`)d zTy2D7jhKfIkmhZd>3X8S_&8Jc-gcR`_qNMH3>&5tn_jm*!81AnT&Py+kr-{|PUYd~ zRJQcnD3?7ZaL^LaK`)3L&R8Z|)?Cavt&uuh&b`oKZ+=V8V^e|_XSCQ@+^YB2I4mBlg1BCM}07i<@jn5M%>}r!?5r&t~3-0m9S%fkA3@O%3G{q^**BxxX&E zmZqiy>TJXbbv9y#dK`)$_GR}~pxwo*$o!CNMPLZ}U<%-bj5sVhBU~dpoya54kAyj; z+_LR)-ijNN!sFT4f%O{Ow<-YA&L;7S<0)qTBLRauj)aR$47=0Ni^pSw*c)L@$!A#amY z0-$A3*X^LFYT7|fpvJ(?ZRo*_VrvHtb+v;ca?}oeU1^7PU1c^)Mian*u(3EO>vgO9 zH@)g_cqhOEdFQ|C^@j)km^zXT9?6(>z16?2@`k$l3wQlGXB4Op*O~zf zLK|9#J3~Mf$1*(!b%SFLXm0%ueg37+0lG%t7TStPe4ta;9~2xkEg&GmLDNEg3?I-b zU?=3EkSzFs;Y5ZH90>Tpfnj{$&b^8zGTdY871gB77qHzNA^*A%a^p_5|1fvf9UHi_?$^Mb zb+>BenTip6UQt>5d1?{H8;A4q+qS>N^HSzk}14|&wgui9ZBZ||Eq z_B7reorY3iwI?C8BNOwW%Y6f-4!UG-A;$7V_w9c`5toR#Stz#WJjUh&ejr->gqiOl z4C#HN^_&)hklr&I8~(vSIIYaI5}#u<_5&2{L8mQ2Gh3c;25!y5CvbvWv-^pd;MTl> zmI5Po<`kiHJM1XVHjxzVy?NpueEUTYjNnv_6Z=TFhe@)}sL9-G-J7Z=QJJ9U#0`*N ztNZDkMP-J#n!eFKq2NSidSSZjM*G-lp{#IJxJ!jLDQVF;imUlZ#c!^K;)Cbb#joQ! zQt@+AD1IUh1RJl_EBx5oa#!Yw}}% zZ+vy#92pTQ_W%Lj=um!sizurP{uW*5k#hYbhzokoqIb5*HNYXpdJ0lw6&O^loTy4? zK830g0|!;EMO8Ufk#b-TY8pk#m42&8IdBrF;=_$204>Ew3ipAiNIA_WSolw)ef*i? z125tS6!D{hBC6o;6Oxq|j&L@^Qev?b$CejJVRE5B3X=;3TH$uMK(`gK1#wZaXqw*8 zbE7?n2xDp;8nH;-Px1nJ!`~!qEicgxp7Vx!o9DblijfN?+Nn#lJEBByo%9lIg%a&4 zf{vkR`6`00eXbX9ORqgAsHe2HapM zg3e?0K0K0-^d-yvgCjQ5y>+{bMtk3Bq46n5xT6H&J+iJN=-v~9G<%`;7VnHyWvBR7 zcQ8loInS=?137LQ?F;3&p&jE@Adj-!GY%ij(c|C-bM!d4FO=hU7zCk?#9i&HW8Y|l zIePr!7s_!haJfZN+xR8NojQUpEX&``D98ie*{dlU#M|)2hL%DxQg*n?E7!{U!6-ZI zI3Pt^LW&trsGjz8<+?ckT1UHp6FShrZ?KsMjnMHVC)A!Xnw16n0fKFRt&=f zGGZb8Kl`6Ba+@6K7%iiCl~K1GpgO@R7-r36hRI%mvYt`goC3|QW)NbMP?&r67Upxk z%25WKb}5r*=cfAxFBwXqk$+_<(gtgP0L8kb=cF{kjACoH-TVWX{JmzyQ#Ua~MPg3C-y`JnDI+(Z#= z6miPTFm#`2*!^D-AK%rS*#XVuVOy?qAgCEc^Z@gW2iR*Y#f!w&udf6Bz?9igKNw}8 zAB;jj)V*L7dLdF`AG}y<<3Hx%(wqUfTipHVrqCYSt%-Rc4+cEM#4mMl%lOr5+709B zeTFeHOYP1h3SFA&Jgm%K?o_&5>6FZ>aq}XxY6@(s9u?kDGA+)8x~{fIm_6$WYKUFSCqml9dL&7k!+fsCsH{hQ&Usy-_y@pBX)+Ae5SoqeuWw7;&N%BZafK& zVHK54xA6!ZGh^UF=d>)>$OA|*i||CyYIZ_1Zh{Dza(fgQ0@iT!RS~QE+tJ(CLlBpy z-eP;82A>|x2pbT(AK+m&wK9`2qbUMeYV=I=wdYrQy*Irs|2!Yp-BsEZ4mTD_`kARMLAu6C!}%(!+`b zJ6E2*N;tl~UX`LM6bzAgRei3+pc-A#VC74lNhBil-9}aEZ3TlZl;ESR;05M8C-mq=`fVKmlaXT6f0^SaVvXLO~-E|%H{?Iy2fEzIwo@ZALh zwRn@}VH2;4{;)tXT9!St6i0nVfzOx9PI<;>3V61ef}$TP%QIdiNv%G1~AahPR>uHyIgMp>#yjUg6Ff*}<> z7Xrn^3TMO$XCf<5PiF;cq@GqSjTNi`nlkJi5qN<>}Kz^34lzJ~z7-?%`0>t@Fzc;=0_?Sdg)ry`6 zh_)_Aa%=Ml9=yJAzPfW-xSX%wTqr)-zZ4tz4<;Y+1GbSx0eu2o@_sT_o89+W*KJWi zAO2x9R_zdRkUIkyZwN~qS*C!f@x&>;4S8c5^# zuAhALo{XA(pA5y`Xc#D$cXaiFX&9(r8X0Q2EEjWXW;N9Uru}_vb}d6-jY-qN?q8OD z&a|1$o~$>qKCwcWRx5Q~ZFbJ+y3*{Nwp{L&->8GZO1RV^jndp^=EVoDcez9Lg<^zD;=u;}Mmgg?mBbt(UA@+*&dWh?QU0iPT%%f$DDNmf z_pB}+#@8t?U5n46=5kz4#d$du2sxAE=2V;SQC}y-z{#TV3Dclq0@KR?(+7Q$c~G zAL^o?Egxaith05|ji7o)6=aSSgWQqezBm!^}j%^Sw-Dk zYPASz)x6Q3o);u+9tgROl@C~ORzCLoVeH#vE14rV3+0ZGw6VX!RUK6wGBZhir__AN z9}dHG3|NI>e==>ybQoiwS>rh94`b^ycN_=&VU!nJ45z`K_QhQ%pXotAOvuqBq+}f; zEg&7qeK8hj)wW?#x))|1xXc{|d?D?LkW*+E{#X0;Sc?rasi|Kf^D_A>2yr81dCF19 zEYiZ9tjr>f`);DagsUwlR|_VVN(gdI@EuwqJV|b&7?R9mRKH=+ffp4AL@PQdeJ%hG zNdO)S0uWxKGv06P!(@C%>b?m;P5Uua3Py*)EGq>f@SMg*C99R8kNs&7i#>}fh{ebb zvB)(b2_gZIG-sknC|TS0Jy;qkcm|p9Jzj!vt%G?gsc=RR3SSX}z*EUrW*MFK7=1t^ z?ylN5ug}ivYU>^pv25~B6&oSh@##(5t`;&=&s=3OaVVQ?HN2VoVy?m9yB{+by^O%* zi;h+|9KvX=WXo09a);!mupr~t%KK!?^6?oGLZsgpe&B?7`7hXB_hTSnL&_Y+e^JwS zcknq5X%LR_uuV5Hf^;hfhC!tDveRN^q-t&<$In;GuBBBzkL0o^n2;6T*0(}$Yltx2jm zBRLF;GEK}KHJEv!LwuKgSqox}pVGLDU?Hhj@HCjs)a!DyIxA)qj@PMlarIhCy@qE| zYaK-jFjnc99V|t+n0i&?!zF^@WPXto>h&CqWeae4lC#8d&)kWz&Y_|1qwfjaKWCq? zv1C9RH)I8zMG;qL9comx5;X|pfUB`{rEy?n9|y*HTk?nn9g=b2XiR`krQ+HMpp+22 zZqC#cce{ZiNT_V6pvze@9Ru^{K?S;Vrk7RJ&Fw1 z!Muj&`=TW@VY7HLEyx_rF;|cYqT5d_uN z!s7zmRFuR9Fg-}9Zb3xf3DA*ckrwBI%_g}mC|DLO;= zdKl-k(=6%z!{VUt*0oX4XnHUjKvJj7ehvjS8A^;}byIENj+G>q9IF+PkXX561!XSpm2DaU8qRsvRpxNy=(l+u z_+Rm@6=CEX`tU|8LE^*(MM#{0AcMp&IV4WpkGczi%4|=1f0x?;q3;9;-DcXU2ET;& zzX0UEr)u;0R=9p1?ofd~Z16o-d}yltzlh;b6-N4iD|fW1x!StNfB}Nn?=otXC2a2y zJg6#5cfJh-{}HJK2>$+#LGbMkBmeV4@bK6VhrqXT?is1i8P1w3lZiXPS#R6a#Xiou z0olWn2IioY!dgoqMI#e)$Y5V$HDqAZZyTl|^Q=H*K+EhI$u9Tjoi z_AgpJxi4DjgZ(j0Zw-<>T4~#grjWs6tg->dgtXD#rmE1q7-7$rx11IV3BDEXVC(SS zKnw$r+q2CVz1&Qrwg@)#lBOsmNTH-TDU>vk_Qxtw))cGMs$-RWJADhil5B}n`)L}& zLV_SCnA&1-#x!f+9qTCihe`PM|JFEwgqLWFn|ck#D)k;ztkVBJTQuLC`88(dSDJBV zUMnLx6ux#C)RB!W%HQU_Ia)q@1Jm>hB19)@H?%h^EQx8#aoB0D!rT)m`T3JD6O{an zO43Ju}LP+g_T(vh+dl*Qt$52u-w2KWmWE&qnm%Jcb-qV0@ zqtR;1dm7BTM1sDCHF}bLt3d{Om_d)Q(|^(^F4zC0JXbB8$K)hmY{rmE?)%i!Bx+3B z@G9upJA$ihMO%DF=8Kk4t*Q;g&4rve{;nd2|B(>Pw8^>Wj=#ny{UX4JIzEURY)&AU zxo%9b@vQk}xL32H^e3uAvPwBc<~mZFV}u;J;Ms7UK++GgnLD_c7R-N8A8$=`SY=yI zUH478Wm~ak8Ix>UCfP(eiD7GmYZQk^-edZ{oVjke_q5*U3|ZM?%sNb#(^vI~Eyj-7 z}mBh9Axc=9*b=& zhYC9Wc%sOwGKV}-YSsCV^pCOD9#tY`)YDVx=zH&y;N?{lQ7uOhJg7>Ee8G$*nnh|&~uBjP8 zXQ7G#kPM%}2sD)q+QkeM*k}6pnl&4TWWjf`qW4!x*_%jlV>Kw19uX4xi@1U-~t7sw;7?CnVKPAvhTi%=C@&w+k z6OfU3c8oQ7g-WgdR3UHa8rCpyD+@28iwIdLNxdACn=iyr;4r?68MIQuAdA= z$9yBf8NY85Y%NMK8@4}Hbgt-rNn`ORRMGtYa zJ><)y@S+r*MI!9{(dSZhDFG~WPhhJ~;4X^JaV^<^1B$MWWZ178-TUA7Nx~R@s_1?) z72SXJQ$@#=>fJoLpJYY%D?e3qxb|O)NB2`j_r*QBq^FXi+o<)_y?Asffu!ix>jZwZ ziteM?qV?vHLFf{Qq;?jHgwM%B-f?se$G+)E)?NU}mRii^gJ>h0YuXm<--*6P3GHII|eu={Fg=nqZ%-dcM1m!DJ(%d)+SbX+5~@`XzYSTUAC(!j^bXubjO0~8eL|% z65<3J$vaGRB?_hL&&*28BBeg34KCs6lawJ?pP##EtAT z;s#gIca|*S`G?tw8DzCht?ze0?Fi`{Q4;O)evsIi62djI=aKi=*@zrEGrWI9?~{X& zSa^yTuUfXR&uUl7BfKPlhAw3;-*{_VSB@#!(iK2XU?|Ks3A5R3qNbh-3nlUyL+l!3 zsUG-Q+t4r7c(H-5hsB6Qx>ijnT1FsSTOeCIf^7ElQUmyUTEN+~;JVp}t_dfeg&ff} z5XkZYp?VKEzGefCg4zDwg4tg2V!!OAzLM}YgO`VYRE?CWzSfC;Q;x4$Lwu9!4ak{{ z(`+PJ@6hQ}bTY^DYBW`o!d0hAlOtSQj&Kv?h>`UBfE;0C2g#3Fy2+};6Y^ui<;N^F zH^MdK&8*}Hu~<`*ACfl)FY+Y$K@W0wmA4NdKaf1-gb5p~jiMI>sB4y^oF#S~9+wE& z)pgQj$d1^aQwr#4n?bYcx9Qh0rl5GMq40Ny9u-)@+Y80V%)%|F5N|`;-7os|4>HH< z<9!gMm@VOgcTMQsf07cq>wCBMzjw1)FOzZgFY9;`q=!VH;ROA>Hg;eISl zVty^7p`fchIBv6H*#W}iHW`*}v^Q>ACflD2B;7J(CT!g16-jg~ zmf=2Vm%kAT#L?6B6yN7zuWL6L>19p5WxUFvQfrKV7ub>5$*7%0i=gocbQ3}arQX#Z1m)Tn=2 zJF#T83KK+YMdzGiUkR%0*n${srN#4d(Ww~E4e8KO5ET{e8J<+g)%0YmIbtET{EPNPt;`8fNi5s$Ed5Bf{yn3W5vm#CU(j7)flfKPv-w0`9 z&Fjee5_JUD1ko|R7%rRiZ7P<9WD{4gIkFKF7H(fN=}Xjv_nuv4qIlOa?W>kr_j$#z zkL<5{Kl%>>;0PEcoJ_UZYIw&HCTAC5VeUqTU^ViE$*Q!&`kNrH~b)Fyl zb4<@QX|L1Qt8-on+YB5^d0pYO&yW3FHNlGgzG|wYG+1$W{t7X}Z~pSPDi+Dd ziuc87YZ_~0wq(@{50wS2U2(3-x2o3nuEFsw_}e-QW}i6ODQO;FI%#~ZW&pFJ%Y2!f zVouChr5O^hO#~jhP5q6>#vvfr`MZq(nMooCxejd$nwGK4N{%~(OOR>pj?-9?$}b4u z$^&v0q-)HFU8BtySTkH8|1hpKWsV~MjS)gg+O-!#8;JL@sko3sp&&mLb`mspZjx#H zY};7kYB2N3A?;&n79e6sk;f|IV6+K~Y@tw-l#Akf_Qjj9xJg6ZPdt#kt7A>3c^Zf_ zu|Yl@XM%b*EyyftPpX>s)L-&y$)X{I==WiY7MoLe6S&K?9roB;VtyFGb+yw{ZFaN- zmg_Q9Ni_w-*`n4`SA~S1R?xUyJDv&c?dYm`=+YPdwJ?8A$^1Qq`3pZCfc3D7wbk82 z{Ogb`2A^$pXTiX>kO~g64T9ky+c0=hS2&C6Ol$gBTSAKCM*PnAmZ-7ev;;6F?wrgo z^x2A<f_ib#by1=xx-EWTJ3n}4)TXOcPQ|}D7D!_-f9`0y`cQ* zj~FT5I@By0Q;dCH;UHOsLZ-dMt^0iJfAlZn*l&3-vUc3Np!g))#-8v4i=p8!hCt%6 z73=-luAq=cNwx(%Y=k<5NCjmDEWS(_L3QHMcvU&W#U41@r&)&3>*!^^YdVbjI83P$UM$3je$gu=G$hsaH7qjuvu zXQodQGu@r(KK$pA>C$^^8FNxrPw)NuJz0g6^pB4TheoI6_Q%SHS~7I^>c4l7&G|w7 zo(1Uq7&G<|YvTcDtljvsSQ~}px@m~DwU)txkr#?TzmK^kDuc_8$&f@HLJm68I#CGl zG+~_x&*=?hbtFiByb=OC-ByrzjK8{em(tB>i@Ybb%t%b{1>GWXqwusI2vYH;)QJ9( zBZHW~^`RQGaVPHCd|AmAJ8zz2a)l!y^C;VMNE{xQ8;Cp}Uqs^ZxYR)6@p!owc$PB) z4{A77C#DZQe|=`+GFIis*uPV0=qmd+@&2u*U(D=yQ!4L0)` z6YJv-XS;vO3X<%9OIOETR3kw(QZ1@?9YkL^OPU=nm#%4`#7y91J9sA@j@RtUc&N>8 zMn<{M;9kP0Hw(g!l!+!yA(KYiaZPF$Kwwml;G4v-7J&dkeBgN34tM4b`Nfj(1x46a5rIzUgCs$e$1=Yz9xlqFwhg$H82S-HcG02qK~A;{@ko8&Yg* zx()jVTd_?@DIP!)H9A8(7e-s|0i@q;4D9lG6h)hYeC51qrD8QDO*R!4zbYz{2><=I zgMPR$Mk+0~L$GyjjFTxgJ$J!$TEk`zf#iazmPnA>l1L>?2JkIeh(yvDa|;aPDS#p# zkj*n5=QSi9W;$K~e+^uDXrBe9jmMG&Rw^0L-b#zwWbV~ASXcumt6$p6*1+*#2Aeg_ zhMERh)YlbZw5}^6YE4&{N~_#<>FC<%RTh>_-OpfRMTZ#G+A7@@q{TB(;R{4cCF_M0;HnAm|;4fIEwi(+)ItGa*fS~{0#`RzgSThSPv7;8CWwt|$Z0V|1l;9X@5gDH5 zBYW$#e<`+zpBNXFII=Sgs;Hr{1{1|KG*Tr|OhecFO-@p8&o-YU8*{LqtKB3qZ!0jb zd>@^=w9hus1R_W4>d(tRW2=nOldeqX=rNMNLVIyppuf13^aqz0wO>Q(rFQid5ud9b z(exGI-}TPJSUjnZ40ehn{ZRMO`Er5D3;}}b6#B>r&g8L=e2kRA)3825swsWATzxd{ zd1{79O3k>IKI*Ga=p*CWhXdDsh4sQ=wEzt(xFbUh%-b__CC3erAeH3G5OM$x?Q#R; zz?{Dwi6q|J$~sJ9>M*p;jOJ2kBco7g5FI1eG8F&D9>4{phlfRdd;F4kdGM zX6^ruUQckfT_pBsAddM&328nk04ue+p)y|1q*&sjnOfBp-M+oE-v$+SExCgcG=N3q z?XY1@SGNPH8KrKEIQ>l5r7^Z<@6d6PBHmWpAnLNrJR`X}Cf&gJY{J|I3)1YI9Nw~! zXg})-RObbmn|w79?vOdpwN!`yd9I~8xNGfKOR5_|esz@UXM$9Ze)SniFsuQRkpw%# z=s4(kf~(gOj8S0{j8U>J#zUqLOR#Ml9k~nx_=$oItsnhr9Zi@HE%*R5W+aQe^M6Ga zNvyP;ImTq>taPJ(Z=}4^ilE4gBNON+Ui{H;+>e;wl5ee+9@zj(bpynP8rdT&^?N@K z3|yNf#==O9jD;It77LsIj4Xwb2UysebtJ=0958Um{4Mz|xyHs!Mll$Sm<6vOy-)+- zoeZF8|C<+W;vD5&9myq&)b}g+GVFRdCR6`#awv`@L2aO8H5c}p8PgCjM?9$=HWIf* zXqiU{c!+e=F5+pnj1hrs8}JRI=8@SM6i=;iq&FmD9~7jfNFYRG<@?=?nX+ByxmG47 zUXz`!#zFwsGXN^{Dq{2%s+i5`9pNFBaE^z}bER}q%ThY4?H-+%&E=ukjF9H?XlWy) zxjfUVl5-8tzEq8nHJZOO>lA@J+NcK}Zs2`kFR3223Q>30>VwmBLa)uHO;N0GTwNgj zNx!Rk3zMT!txl1xyA`$v1xnIYJxxCV~-qqGi zq%cAguQ2UsQ72vE!BkyV;?lnp?lwD^62RUO4x2&$Urq~&8wXlQ+&D1e#Em0bh|&(W zP|lU!LJS_>safxbw_XeidRIB`pk|pfMdCp5t3qH0~oP=y@^E=*|0OD{lJvO)+WFM(}4e?sC39s zt2{UYm)Z=tlx-DlxYPkpZ)m!qb>QF;;k6bh)!m_^9nj0pC^x=GN+i+fr922J6Ogpq z+vTAYOn_FqlV{qn(vuH4Q&(7>Ry^Q?YkY|y<23t zf8TAjCM-X)6}Qc`Nv-&`*+Vp=?YKPz@9l5Kxa0P~tc{c`;U5{cx2@8H?HMmQwr9Kq zwr6}n#qW&m9S6ngQ_p|u^X^Sddp4a0dmwsMkQ_)Fa-tOEIG=wSPHh-YB* zSj@)0!cxFI&>;eTP1#=jvW4Xojg36eA=+35QS#mf??oe}4s_rL4<=eq?H;3v)-sBR z6RlKB`Wy99NfT&rb z#dARuoAt1t?nMw1PNJ6U1S$8o-f$jNvK4R!Z`FoN7pPhvAen3}yN3Gv=xT zgDLr0hOQmPQX(W_3>}jNAGEnpMM|lVsW`nM$g2J8b-gIhX3;UEZlmZdcm+EKO{^E4 zuh0;ibnqZj#juf7%1|kUp(ImA(O3{e!nnez41-xQ?NvwJSO5dx4IpUt&MbjV5?b`n92du=+ti94 z8H6)Q--MOB1at#0ZDlSJ-2jD=6PrH7E79tSB4KVCBU038>zK5rRBYN{5xXbHd=Es- z_cmt4VutxHM$C6PE%*wUZ#I)4$d~R~`Q{QkT15~`BIyDl8}of5)MH*{Wu1wM z8u9B80*e@zeYy&h4K<8W1{%gF0}W#oI58F{HOxMwmwd+cE8@Zw17f1mGva}nHVbV+ zCE66pI&)SD=>?|+i8X%XCh(h)^h1sGk_aN8%ElUgtN` zH0Ct(-$oCdW+DOI(U&NQB7p$mC=#|YnAC{$Eq`fb#XUwNLZdB2P$45Gv`-TZd3(Qu zcgG(hWP3+eT1~7($|L5eqY$3JeK9U9Np;sfK^ zC|@GmCcyZPt+H3Q%3WJ|vF@fHhjBnl##lm)1o}?H3R7{!JoXnK33rT{y@*b7+(lSMa}bR3Ls2&8?|v7QGD($V8fho$2^az%=_GDSQg%lc07R^U@D888x( zwJrJ?@m2=PY%;KrSjf^Glrdg3F`Hp9OA^h)sFrB8@x#vu=+DMwb~K#hd1w}PHPx9h z6np0`xXfCOZaFS9GXmaXAHrfd>05X_aVWD z7Iq~Q)hwS+{=M&ywg0gPZ4H0oXwJS*(h9kVU9>(|4An%4pF(+oN!%zp!vG4(YxEC9 zRD983E%e!F00dU^0J9qUSVjHTpa;StP1&<(iKl%)$5NvRCDBqX@xnyg6fC7qSFC!yuNWy#@A5_OY~B}~c@iQ$IY zVIYBpq>#Wu8n~qy{?EtnOXw3e5QnE5-Ia0hGDI`--!QPB=b#eq_hVqTGD^$SWT$TE zN^$$TBB2ck#e=9?j(0iKHx(aXoN%iP4udn=w61(K6S1)3XURRHfyvQ`U|<3ljGHNY z0v85=S>-^nx_it&X`--FSYqsU?TkQ2Wl6Cy0)#p#DMXUk=HNh}VHS3Utz_$=z~JQ@ zLp@Wnnih10pbGSOij&3^#UYtJ4O5!l)}8KQOipNG%!-ceL>3?swCYqD?PzmJ-F)2G zC-)F<8hHDEknqw@zzB%sH#M1}fzZncSU)sQEiP2PU2G3K&}|`&goS-0;nHV}gy-&c zB(UH#jReJoQ-Di85-xw{NH9SxrU9VJS`h5Zcq+Bvx)utmo%RbTOF|&Upvc%V3P^P7 z)J>yo)D-JV<{Vzs&5Nn22nHOM8dpA}tzN#@wt6LNtCzj4u6SF$@|kT#td~!d(7R!p zBVdECo5t5mtNr*_?p1(w3czP@U@Hrw&hv*TE?XUHH7eT zyu4n^xYs}*LDxY!Kg?Q2gDX)=GV~<#ZE_M_Ky_>_qc)0_(i-u5y_S(g;#x)~;tUJv zt2y$ujN*?e0Ua4G>>QGF2gVKGYM?YbZ#2)HgvuGp5Tjow{8K+@kinqY& zf$Sua0T*Jw(MCpkRoptG!8|`TV>HG zd8_n{f}1(qDtn_i6Exa(0T@{F)h{|7F?d|d2-J2~&qHe&R~3E<`Nw80qqxs37+oXx z!qvvz9!I|-1_drKB+kbz9pFfu2C(CCX)U8KSrp53h9fP+4UwBhtz~>SF;jYNB-5?_ zKauIuduthUQdVcq<@&u*tIx~-oD3XzFEKbmA=hX*7nrZr3`9hEidIyVQ6({oG_RvJC4*kkddE6E^I(emIGln$05te&HaY54 z-Ij#2*3JwEg*fVnfDAt}^}w2}fmksq^*mNgz@4?D7k!0vrP5iBWlG&dg$BZLi3t@R z5t~9JR6~StH4_>`%^=4hZoiJnZSji66s7JM&EJU43T`L~dsh<=I8>GBNeH$k1*ga1YB)AaV zML~kt&@2{HUJ0ee5Zu2i_KfWT!0u=k^%+(_kI;tz@}`5njD8V+5A=)pd!S#$-}xAh z2(H*K?-%FutXDJ`d8cM>8?I1l2DbqXGc^l9Xnl7!kESc@wwUZ60?X2-R-5^`FL zE7M2~mdESK)n2zlRDntNp(BbGHb=99pOHtxNLGwSuO;aZtV25wEN4}lLqSKR? zo#D=D5KK*xgBLV!+0gBT~$5<+Y(a=iU<%thB7xOO7JLZCwC z(hIOjEz-?Ns{yAOxb!^Jk>w*pC)sF(Egg$ZJp2d9DM+J`6 z+Xobvu~NntiYtnkV8gg?cFybaYUg2HUeTYIJC6Vr^neO{+c$b( zZ>&-T?ObJnA{WLu{N?LfQ0`?LSRrREG*~iTt2^(9E*IO2+RAt|EwE^IX`|l7W-_`6-n}yVBtP5isjcSr5)r^D57dj@zNv_+tbJd2L{7bHwcH*L; zKWD{mr;3f=W5t{!YcU@=axD!x50u@vyWa}jD9+UGeu*{ zP6)=Uh3)D<@gYWmkTZ(UY0hX65ph@TwcY%w~_M-u-SsgsC5)rft~(P zXbPSwT1R8X$UbHs(&ul`rIn2Vct36FSrTx=HiwLt=e5J9J<5XDmYxc&bW{G2*lG?z z0h6`4EZ9~FQ`|ku=p*DA3%@(ovH3!z34T68L}EvF{oSS2;(s6YhJC1YIrgEn-(3~X z4GA1mIP6lZjbl(o(L4>Z3sMw%VL1sM5`>L%w}+v+CgTD$5dr*L3XU98zR$`fqV%ETSntZLs;(p_g0!T{OZbH4!y|FGct z&eaa*Iuo9#)5FhSD<9Fr8vBcA+L(Z4B60{)Pdg1VoqV9;WNerNvSQzPQ9BJb?FV}O z{IzT4xhp3b+X`VnYf2lEjBa2a(|0m6-0Z0idJRvn_7zkx$ViC=cCOfTs10OjCoV zifBFls=D_LLR!z3+Vw)^vxN>^VJ4GmFq4&A%v4-1_U#@^_`siI*Yc(@VB{Y#$;?ow40xwQ+Ps z3J~heWA$lIpVphl)@f_=SiP|5X`?iiwuQ!q zM}Jub(TPizWk{JoYbyd9$PRKr*gqD#^y{<8;?GQ39pr4({(EFV_eiLYscRHWH^rXk zMD~q$SCZyp3t15`;({t0(;T9)bRys|8Am&ToxO-aBF%;3nv5sPWe-<_B~|}|Wn>Sx z%*aAEW>471>~C#J)MlMErkiyum~Afa?A&&BfTY_smBcJM8cMQ_b|Y2QySt=M%%JNw z=nfC=;y3Jo`q0K#u~SG#dyIKt7f7Jec?AO6s6L;4b+#CPvt?&>%*T1!rM8Y0Z?y4r z+s*d74OrU#2|`$En>VAq#03p56F1X(T{mq`ft+mL!nD!fdE`8MHZ{U0nxfL}jW*`$ z3Eg);I01msW0x_N^FwIePyP#8p4)lWvp4SM_rFOtGUY?|h=``tK;q-9WPRcvcZg(*O8G z_trn?v%gvUuPXA$PUq~d$;#^9YTJp{yfns>%{|{lX%uJ$5o~_?os0nY`MX$wv;sWp z0NA@Hl-lxq4A=u~r6$;l-M4F+zFC@owz#cwasSpl159P64ROr5S+Zo-Pl&s9HiF8q z2n`EiteWy?c4V7+){6Tewx`|6BwanB4|+fT;j*7ocW$Z-@E(6RPrTNBm!@xj59V_oVt^Oj zz9kwOpIt&#PioCyZ|qn|8WEcJNUT2zhnApsLL1R7o{F0FMq8h&VfC{el3R4&BPCUU zpDZ_Zm?}xC_I#UXHAFS-&)Yn6>Wd1t!)?fMm)pGJO6^w2$hfW1{&~J&H1QYFRdjoN z!BEv-VmZ5GFX-B8|AIHivbHO*5p|PDuu&uGh60p*L@jZv5p|QRQohTGTGm%Sq9g?F zKBCt2G9zk5SBA|kU42BY29l-6Pbz{2z&q{k`};=Jo{g5i`(B}A){VC6w9trsqcQ%x zxvh;ijJEDH4#!ZtZ$b;nEO8sYUgkD*%nG;R-PQE2IC6y(hS6bj&H;;D0gFyl&F))` zpOw|#w#9wcNsDu@bw3n`uKRuw-H%CWa3pWf-Eky;q%6Wn-r~L<$zI7F_c61^xQCIv zH5W^tk7TbyMy5 z!^M#|r=_WuLPQbURF(>X!9u5x#@c^F>`nOEjNjp{cQ5%ZE^IYZO6S8n&L!KBP}Nzv z<#1OAAsIK>TjiL&zlk2RSxBio^lbY-7D0T?)f7#C?Ac;5DM|)ui)QxFeV{RuUAx3X zjjL^5>CoeXJP`oe%MAskd8(65f^EMB8a(yF>!xE-whgI*1yc4T7RmaLB$>5ThW;#m z<+biblY%_>gn)@{>~zLCwTYp~NKT_+KU9ZO6UgEBDc87O+xqTRGvlnH{Jdr_ExgwL z7B+^Dv!mtwH6}cdnnU9a$YCZYu5rrA{n~Xs93fI2FXyiD!||(jvb;&nW97+f&^f%z zU5^K}Ciel>`Eamq%^un4)|j9CmcvT<}Th zXf1iV!|!}=iCQ9)=*zTURl5bn&bL3S#V*fFn?n( zPOE!+9o}Cj4Xqo%_deJmDF!JgMd?&~4w-3o|J5)k>n&SJ^^xLf-1%%r2O@dOBN(lW zy_>(QGBFBe7+@P|;Q$s{*st}zuxNlf@w!3?*~?WP_~ma5Vf*mknw_(8VQgLd7xH`$ ztQu8qWL0ln{%U?-CXX@MY?{J9lqT=%{g;eEH?i?w)y$Ty_~*l^xJ*Vc^q8I2HubZ( zC|)jV&K&i`H>ydp`5E<~kEyctjX!N8lVQaxlkL6mMTg4!5JO!3%4>+j$!;M9ptC$m zgv~^E@>`5$sNd*L`VVh>t24m>Za%*zyK_Rufck0RkzHc*U#A8inM=1VbiPqdSRKY& zmz7}ml6OK&KjR#5(vba3fnVcEWex8DvG9)gA5FXDYDx9D4M%QrGR|LxqaO7}@80-p zJiNmncRnO^VtZKP%Jm9G4b$1fv+{z{>$oqbwH$|CdS}l|3RY3 z65hCx5=Jctt`jJ0z!>HvQ=oe_TS}aVl*06!*j>qZ-h*igx4u1 zRBhJhJ!N}a*AKq0Y?ZQHQPp4RcX$6GY^WthfBj%F?Y`*lfG-N(vCkJR5YL5GJo88u zdx8yJ&D_B!m8&r;K9%h)n}egJ=wO_U5C0}*xJ8MGLY~)1=)PkHc%OI7yg%UP{Y|5; zLlt^o9dzmqqpm?!@P9SyRE#*C+XgRncey?2x3YE#;D#!-zdB!$^4oF+Aa1L9ft-U^ zbVxs5W7s-50h`~EKtfIU> zZ$)_@)9ll{D2@o+z!A^Of&)8H7P%F9S+;l%W!dI7lx2t8;j(-hnrCw!&Q~8}S@YMN zqwePXYwiEMQO+P6-~LTHafxR<*J!~7 zIpkd`f8vn$qx^|beEAch`0^*};^R+{>1}#dME57&pC9rkn0_60F&1FZp|{X+R9Rlf zP1O>wLza$^5dOYvSV0vW;zgs~o);WJ{>Fekqup{^C@Xe+xJ!i=N>)3>?}#~@0!~!? zsV^D-08nEL!g|BycjREO{7d%U7b^eaVEG->7;Le=r9POW!wO$0$F-EBO^RrY2r?+m~0gFR-*p6 zdWO654F4om!|LDr2~Z8|1BLt(RSg??QU1hL!{2e$u%$x%|6VohsFpuf4FaR?Nwxh{ zHJH2bldT#y9=IDWcvX2XLny$mvRf5reO#kBP-rcI%GnifToGyC^j9N}XDg&s!8M4n-7)l7i& z2!AjV(0#o@fr6HV+$G@8rrOC|;DP|bdeH=vcRbG|+{N}O040r(Vf^xyGE^^AY_Lis zd-)stYJgK^p;i%U1hlBP=oA)K=PGpSm1mo!rpQ1I+W>|F4+Rx+j4;Ssb-%%eZ&fF* z*vYE%EL7lJ&tv5SKzv6DiQs@?g$F%Qp18tK^Dli%dZ;P9aG7G1$82J{DLj!G*QW5o zo`t;M;U|4+x!dDy(XG0nV-$|g^Q8zsD;k~W zh48G|HUWb4c{NT_2G3C)+F_2m2>YilT&6lYN4X(TTM#LfMH=P!OF%XD_EN)P)6N79 z!LQWz{%h4Sc1y%pet>__blm&>iU=78Xg#iK9S46MS5(OZ!e1u>{>qu{!e2SL)_xGA zO}lB&Lz+u_9)h}R&qEqpX`FaPfDW=AnczXf1m75F;8%B`1{1? z#NYoW9Q7!z1%BGS@tZun!ym`rC3OC!#NXq&ZrC`Z@OS1*4S)CjD1xkK;_4lwj^Xcw zdhu^u(=;{yKKWVr`^w>a!{6zjk@!0U_6yCv| zPW{cx#nCs9Xoh_o{M~KYMQq8bJLB(^n;YXTkGEanoHW?T3>rtkikFyZgC!l#<{ z1iQ4;4nGCd-2A%^vXI`A@b_l-6SJV!ct@sebxZ&(MuAaRp_)2-z^NY@)$n}1JLl9z zP`x<`GP2?p<4?Cj7tv$fnt?R0ls}|6B7(as?(L9@_}&TI1qejFyFE}i%~}ap&x@rf zpu9j#DR|USD9R?!p(sMFLs5jr4;SSf6#?Rg7v->u^6tD91R&8Jwf4l1zAjEL#!B_>pTTNi8m9${-? z-d~MtF8FxvL}BoT_yPZ&X^s*WS4o{fTrqa@R*D>k`HfQV8CEE+n0M-Z!+akRq=d`> zZOp$iUf9Ht|Ft2+MpwZStj5iaLe%(5c~%cogbQQ+aXTW?mZVd17`ZN$R;Vi4C5vKX zy4vbzQ$SvJOjAgjd5YDMg-OL;hRn2IIi0(hOGd~XOie&f=kBF12=6gcEpVeQj!ecn zo{rhGw2Fkr;b}Pk6(zC351i`2ot(!OdXwdUZ8mJ&AUq<~ z$8kug)Mle|T-W}%2d->4Iw$qKK3)NPYaLw0=C}`#j%_iyI?nzzkcoPKPzybdmB+6W z|H8$0;N?bf+mWOnYzJP8_&CANH{a`=kfVSHfiq%+YXr_bP#z-_&iW}&Uhf>kx;-Ha zl_#xTW`h~-uJX+ZEX-M5c}ew$>9!H8;&c{zS^&wWu8fBbT~Cz{vYeyOZFi{!8;BuO z$S~6{(6qi54IcYhD<3N&Ce+A@MmEb#9UD_J{kta{sn2EuGhFew(|fRd#X1Lh-H8U% z6NF?z5s4g#7@4f?#;Tj zyWG<2^?({r95j)<{>gOu745>5CBw{WB(|DmXff`y1%L#eu3 zdRY7qkn`VVu2*Runp`rdoK}Whxm5GP5Sm!#U;} zIdpX#ma)@!)#hrVovd%v<`|&a@=X&o^dU2f*?ZpRSx+mA4SLfWec75B-<7WzOVv#K z_XISz+C7TK9P&8f{_qe>o%7a(gP_!-xyMsIn)gUEt_e#my=z>w*uak?|CQnzqYNhx z&a~ZJjj9cv7!bI5qArJb*I;w={U_;i=)DFw3TZ6!_FQ>f9-t6_6G8w^LUsjDsVf6$kBAg`fJf=uJNzyWP>EV1lQyPbpS>>(%w_e| zfLsbKX>CF0KA>7~CV+_<#1BV@*|tMb{IFStZ99bcK_VpaV~72+?a(QS9}pplA1*F_ zxC!FNNczFV4@k&mkRyqo`5=B+c4&la$UUTyNt6dAevZ?=^Lqbe`JlEvrb1v&SM|th zvLkxnrBKVhS_{8;T~}IjEwtXMuIwz1_*voBHZkO{4Nn@S{fpGdM(&<3C)OHuwO1>X z97bV8*K)%sNU}s(F$!`lQp6Fx7PyvVlvd88uh{r7>^eM7huUy_0eDA4YN7bFX*U=Y^K3m7Ncth~A=b2Y=JFnb;MyeikQ$$+GYDfo>!G=;Xo=WEb9E1i57k4) z=k$>AIjCMw^bSjEjMZI1NEs|=7K;>wl)+L)lY&4p3?Ee+6@-r3FmdY2pe2PrXi2$7 z7%-+JoQAC_<1Cjg#zAaoXu{8VNE$)&KGbK%8VzBs0XzM&I}nDPeFQdlZ+=w`k^+S zNMz7>GD2=V9Um~Bc#`pi^iujrt&w~l z?e8~eO_-3ss}RTAzo@p}YtD{qkK39(ni+dE1AFZK`;k5F{@!wJTqtoFA)6VyQ7C7( zTZ!H3^s@I7TW)=OU%n&L+o<0&`G^VgBjHw82rF)(|0oz%+8{OA$fo$TZi?6iBS-w( zbr<|Ni~w5F9EdOmn0Ly?0COt21M$VjK>rS7z?wC1&Ox2oqRooUNX^wdVh%lmVA9x% z;-!nIGj{D_H3q{%$|1|!7T zJcbB{C>FyelVePCfcUoJQL8uxW2FjOD;8CwpA^Qy1iH@-g6^(Fip%jIeMrJ)sznEE ztWikS;!usNMWsN$fMaF5CFKRgS2DY>E+jQJO0M}fjWR;>ZP!G9#nAZIs*)*)d9HtVGjbSB535su8xSUe(@L$N+nP6W#eg*0KE3X?vq|N*1t}vL(vA~Gnn=*@R2j5KWmuW4Xl3YNcgGPVP05UR z62q%e3MoT2SDq@f%7{&w`ThUr+(-8`xZq=77K!5Ad%r&SyXWzp?|iTG9kit+XiFPO zFy3q?K}O#~Mh_cMi6lIyZ!YmZTlu(EtoeCYNt!?i2~V+?4`k7>j!?ohKY-DfoG~vn z7n#Jdk7XfmW~-{#PbJfY(s$(9t+5qD+e?%~!piHldY|1yQkYO`#i0^ZUHgmQ_X!kQ zAY?rj1lJ*sY?N6odrAU=7R#QaJAyNFr!(8mOgXcq%JOod%32e!stTWWPpW~9u)&7ekwMQrnf9CIy5fSDL zXvl~NX9k3Ez0mkg{$q`Z=0YO;=~0@WF8P>wB_+z~69Xzt^O~;Z6^45+))9#HTvY#_%20CXiM6D*-7?eC-H_f4x|gGN8W}KNs5iz zu#@=oNS{=f=uA1w$n4Y}l99j5>isk;zNcS0{&(INQj97fnMNhdWTenTcjhPh;wxo89(a@1tEZ?IZUIXzfa0Wp&|2>YYlAQL#Hr6 zS_6+(lG(y%&V2)e$KI^F(U|A1gekFcQl>n zU_(sclnb+ZKNmW?3yXpYibWj=xo~`7xnLSZu`lz=E%cGdE7`|lzQ+v7u1Zb$18o`_ z=5(!Toz#&Cjf~Agb5Yl@9YzyO?l{?>HL1$&Fhm#y9zFW~^`9C0{e|)0*QXcS3bKLS zxfVl>S@T{XGyZC0764ZQZH8V672oknv5$vjbDeB(0R#&;%kb!FGe#rR#tU*PnnC6M zJZ-#SuVjElZ=N<@kkc)|qSNYvVM_saOZ4vnV+`%zFXB!d%&jL3ACiw?=j@ z?79dw$+X#~k-ZRLv7-3K;vJzau^e^xP7H79JS#V4<7)KB)k5qUJtXWQ6GbQs_Xl(q z2|Pi1RUbI+tV~Uz*p&+2Go)asiO7lk4uYX{S4{kIHzTlHtByM3Fn{@P(N`o)zo zJ+}Pzdu*xbF=!v(WoTpAi4l8DyDn%Wl*LYr*!L@;jRAJUVGnSOrP&LDxw8x0a5WGGXRKOaYp^G?-@G`3t1-h`z(5qLb4g3De8HtFtRRg;^Z zOoSExoxJoDL!MeW=_f}0w9g{DBVZ~s@8jTE#-lfl@E&a<2V?(&3;3xEmkF7)f zce(!7)ufNHu%%q~O1N`?sxr{*p_bkxmqCP;yp<+2ssHw#&Pp5UoFc`-Y*Z4K>a-1D z_f)?t;FL-(Mk0i6-AX2Zc&|aGs0tzbA^^JO$$tlC~ZgHG5EC6w4Ab7qG)m zWQ*;R%;lG!keFBy{=g8-Aq9lD7p3nrT}W`yxF$@R%EF8uwL))t#oilPDN+EG@sg|7OPA51m`W!MK1%=5ANkXk-Ox*+=WJ8 z6o1hPvg&0G;&k9%MK8m>#EtMai;u-#o+^6Ty({uo_b%z0PY*gcOdt0!GYG>eWGEfF zAnssut1y04F-jCRV@Ab*LZ$+XW6)QGPRmcbT3D-(0@VxrT72520OrbS?FkEpmY(ZP zB~}klB~}kcF=mYS3}Yfe9gM7JRh(v9EJYK_s|j&z=`=y>u<))hxNBZ7F;9nCM>Ln` z4Z~_{-2S1_U9E@V?exE4qdPS;x|8pX?wgJ7EMY(*!>dRy+C-3wWCuk;a_>Sy{3xU% zZ$pAwb3oY9ziq-UUn5@1kn+9U15msO;l|G@jE*Rrg!DvB@mzTZhR#If*R6z2Z_Y<5 zA>pAKVne^Hqf}c5*v}+H2|sJOd=#U-&QfJJ607L$lmd8^Si*KcMnY0bZmXmZQ}t{7 zYWxAscET3;lrHhAUu;E!4RqpBB&2pxOrP!0IOJuAmWeWFq}P({s~2O)8q+SM=)6>N zQXO?P`aX=fX{(V$80OrS9iI>*UuskhFl@_8REaaXhWwlo6lDfl5J=L=Yky;Cr_<0Y zSEyt>I;8qak@uJg?k;(P?vw$5>;wG?Qqnfj9;E@`2{Ye{he(KMB9rnN5*0UDNOV;& zF%qKELYhw=!Xu=Pn#eF=x3U=w{@DfT8UGf0Kj|oogrr@XERAh_zs*0vtb<8`&*chH zFzaAa5G*Q1=dFBi23XY9=7B|BO({5{Vx$xtr4q8SU%J{k>E9F`*uHalr+w$bPSBN6 zlMme{`_4tR>bERwv9l7rXw=%GP-<*BHn&iH8(fHw1{O>(lEE|vr3!^!9?MbppjQ)y zo}7`M*;tJV)Yrwnqqy_Y`fnIETz}%c-){ZaqMn@Be@u@pjp;G6pT6BMlHAp!ZQCZc zMLHFOfej%c8w$2X!!AQkSWjZ#FB?X37{P9Ij4p}38cUJBOxc%j>mi4Cq6M)N?K>C7 zLa*GKmz90TWyjffiX4n6&rCE;IU6+i`ws0p*tSP=Fk&pQ!ACZ4_E*}zv%P0@J9V8f z`L~j0ap<5e#1VA-N=9{72pa$@dDThFWEQj`-iPF54ei;IJ+uJ-}`YHC|y#$V8n^w|Npfo99t% zH;)S8P?|+jOXgV^-*TG8*ZxBkAYowH((62|@F%F^VmdN2;SwV!uEj;tERuW?xs2S8 zZ#~VTJU4Il-gVL}4smF)tRem^el>LNBy(G}RdbW{4F zKUwioSJEsNT|qIWS)8&Uod#a-ZJwnhE2BTVJhd6|$t-!sYlJc|GFw@^l)kv_be{AF zV(7nT-K^8w8r*~v8Iq$c)6FOQO3jG8I&eN`r`#t8YBuP~EW&lrRDMv2_&;!hLMI=r z?ef#iGc=c{89%k3DSn>K8d5E)Z=kjC{@!O$v&OwqAk4oon>FQ`4NcIcCOT+z|5Qsq zHUni~48lN4BvO+zi&VV&MeL1yky@?!ii>XEAF(5Iz{X zFKmQH1wfKdYzv1eeXmX0O0>T0`(s^NQh>sq*ARzBVY#zzlRJys(LJwCko=H# zalUXXrfhQX;?BB49$vY#z=UsHly?@XyD2|-p9~$f{@rq1HM28@;%f=+tV02M+EAP^ zAqVBb0F@8xpwtb}aLWNjx|NUhZr@7nTkHrkn{S%};v7}wKBmgyYg6UqYkN(Vdofl{ z8e=m!+bZ>vo6T}YtdSgSiqh%Fy2y_e>mol^tc(0uqjkZx=DOg=YRV6UJ-6Qd;XX&y zz3~P{N(E1{x2(61vDsp2X;`I|>Lm9a#jGU;B@5LmDU?;11xlBeEK8Pf2-#j!En@{h zCb^aZF)N2t%5F!TekF?3IdOmy;#b6KIS-Dun?BA;1jpMJbK)g;LZ}UBqis*$R)|yi zVQR9e6%~(ykPzd8hz~1cH!ODwfa0S(x4XZVz`S4v>?q66ETn=c^|=Ly`=d|t2PR(D zE_*;_VB>|;iselpvE<;FqEg!ayo}*!4u;w4{$yQW8vUm)Z~M#k*A{staJ^Ed~gr~%e$F%(y#?!%6=;9u*qzmMBy6cfmVIdfY*ME(O8-ofTWo+ms4KmBkFM*j9&RKtm;MKIU7YBD@VVZhB<_h^Y4txO z@ccyoemR#9rguNryH`iq1*Z+qcG^Ucez4Q#ZaHl}kbV$^UZ8gliY6ADy${A-xkt}L zfPSdbJM_wfo(|2>J9noa2)*-x;5g*D=p8_`T z8TyD$QSW#zU1PuRq4WU`VNk0Fjr7Q={=xJ}bZyT!()&*J?@sS?^lSQI{!wb1ckWT- z>jX~fL-Ji8!goC(7d7n+F71QV`7o%U0Xwzb0UpOKW|!7~Z?UJw8+yLSTkIYAdVrQ) z=Xc&0QeFZ{AhDCPbdTxes%GuD@wUAupAC%jp*X$=Q%3e4(>-U3nBwo1GuUHFC#NH0 z8bSJ@qdNd`(Dea$h*p9J(+A)oFl?{ag_P!%I{yL-bQ-^) zRn6k7F?e#pl&#E$?ID_87sY(Sz7LJkM2KnF^u~X-wAGn&P~6p)CfA`j`S7QjL2m;+ zl-?7k;98x5q3kuF@W(I_c_zT*UctA3A5QO8D2b-y-I|Vf=hN}td^#S24DSVPJ{|et zC{2gBJMRmrD3!v{#y!w-J{^(f63LZxgGHPH7F+j< zDRl=^o}}P4uWiUt#bUi}$WjGz)evN;qRf^d3{VaUa~TGsGdRlQXTv%?rC%$|z@Ac_Z`j9jEsXQdo>z?9*I|UKLYDRfF7F^BqVIuMiD+>L5g`Fn zW(*N|f4}+@d04%JHK?}Jf7qrYQnapOE z;tWH~GW~GQB!dVV1TCmeQ6}RTUI+i=J@cQ^!i#w6xfXiD49&4NJGf0(gkw`fmHY;V zRC(An)|9d2w=FRa>5bnfyRWLFk%-eVROq0rN?&_zFkjmt2xi6qeh+z9hEEy-%(sE~7CDda@H#!I1}$Id|lJ&05=->WVk z1UGc}rP}ux?!+akosX%EIXrIi*V54a=$I0%0(0%6_m=CqH}IkWQoTwrlYevwrUtFT7M{k<`!0;6-gt3yjENa<|-1CW?nGmk?qu42uIU?T$A#IScheS z<&drbSqlqLQ7@^oE!KwuAZ@mV872ql?bPDY1d(@>aX%~??LNmKmfbzv)5D#7z5az@ zqT-h41et&nPH4LtijT759IS1!!r)_mWR`?p44miATA89I!_*0Uy#i7AIo5>=gl$DY z3UgnQtr<|RX4$#{Mb|Rv(45&FPPn@7=|CdZBN1}NsLNkWvfZsXD@D-RCcURC_L;yJ zH)H{#LlJ*eo<+pv!$NqCHM=wgK^zp>23Dy4SrB)w0xNA1LEzZ}R(O$B+fAZwCGw;i z=S@EJSt@4R12KHrRo9o9&@b&XTZS(G zf>70*c(Qql@2KT~Kt&l~3Ae}4&1t~x;Mr-5xjpJ(pG!_pppxR>kUIfeih{930BX`{ zp61(SFcvH#1Y^B=3FGu<9M+nbyEIXjyM!@d@eBCeE|=xTe#l9x-t0q{N(A|b##ZR1 z8!UJJ2FtxrmYYj1w|4Xpx$TM`+H93Aha5u7&y)z>wBoP-PSKONfp&aHIi2$Nw<}?B z1PjKIsJ=gDD3!+|M=-XcmrDe1TJF-$a<#JE9_^QQ78yHO=XaJHMfE~iWNiNjukGmx z$z_R%dO^$p8a}P-Y2M~kYi{Lgk~VL9#Tg;}gZlJnFAK$Xry3bJge`>m?Z8%q`SJE> z1%j_@$18=eD;V@=mDFpk<>M2h=Yh?Nav^YlK=1>~ij1+ov_j*eFr>6Xvv10ft->yi zhrtl+)sa82$wzJoFv&xab3&X4JZXE-D%YHs;6&g_`L$QL=1dGn0#7>i5|eVlvh2N3 zHogU1CUP$#cEtnNsLtJyv z!yyK%tyB(S?eto3yI0}KPsA>kD+i|t46aym>=OY{U=Cce=qh+4aq9Sd4Z)`G^BK}S zk$pee)o3Jb`HJNpDpNa_UYe=g)6&6{GN%E=m>=;^AwK~q-8NIy3_$6*nWAO@O2Y%tO|2^JJ6 zZt?0B$zg?ZJz-DO`wRTvQ6RsgzzE|r652GKAo%tWSu9KLTDVxCjJe2t-s7(&3Sm zf|QEI3gR&gf*Kam2P{O_G_bEDh-K~W3Phs`#9j?a*G!#AaMGWcG4V6tL( z%Zl6v&@(J({x7pno5j)XI2Nunk z)i`6cO-(G+8|0WdOG!GT&0&`FnNeeY=Y1nJk{QijP0TnW*VqSYKDnf6ARZaEq(bYL zh$nisl+c-aL1Q@mySbF$Lge4!2oWiNK4`q@eQJ7p#}CS$qDdsgW4GvBEHUThHtJ;! z;0mDz7s_&T$*CRRVf`+?Gp+&W%GdMHj4O7wEXE>RmG0$vQIk(`36eUqS(?H?Kd7Th zLEW;w_?%w2q-#(I*16RyVtpd_tWXCMFW#jv$i{lcrYZt9#A1NJ;v!pVIFp;jqe>Li zhD!}tpmTBB(vX5X^!chxJ6V-ygAi5O=IE%ag%O$dtg)B*wIo|AdDhQMkfufHL~bfd zpio-L`DdgbmgqP(N(k~mnq-NvOi4hp#4t5ss3Ne^;i{@DhJ^E10W`8oz2eG~*YA(Z zcB}_c4~L06na-4tOp#vlzq^|Sv&e!vV_4wjK?p*bF^pQOoCO$n@wz3TC8f(jqYna5 z2rY}aq?=fd3R+2g6VV4{#Ijx)Mb`bRRa#iZZ8}T~ikumy1x42cS_mqL8UzLNSG17l z;VNi>$eMOlbDH2`SfEC%9HTc`vth}Fe}LZ|VP8Ygo$^RGNqyf%f%Rf-rfR_c9596J z{-3AkLZ3?toCCTFv{V~e68d)mT>+X~WL%Vnf~nMhe|(mv4ypIQBR3c0jS@0Y zpglpIZOJsf2_WUUB0&01)`f7dkj6YpE=;vVfsc8ZT&{6QIL`y+qPk%@7QcJgS}*%V zDZR^n5tR}dH=>3i%STXb?6r_GQ0RZi3mEe|!Oty0VJM8w%EoZ8odk~IkUYfMCAgaE zrI0(beoe)S*&jL8fMOhwPz}fjf+~R~k8)##nTlvsOr;^yKL&CDhjV6c8#;iw0-#Ey z9C$&>GTsjkKP>OK0CJ)my=viG$j<~>YK15VQdl_1!4eJ0st-wW*`FR#I6@DxTPc2n z@ROzo6*APD4N?w?N-gD(Z6gXfmS*w@hg_EVbULFrB>pKj2q9-?SjZX3kICp=lQD*& z+t!s4zslBO2|2`(Uhnr($N|Z06mldKse>IcvI!ZoH(nCC64=XN-+x~){hJnsHMoVA zmn{5;6h+l8veky+v4fzZL}-NU(JqyUnCBdV?B5jU3=%6J-=``u7u27NP!6L;ZTMlo zhH&{z%ZWRcv?gK$--UO5iwBC+WMGvTVAB-`i7}!CE1X6qvXBUv|3gjB|f)7?8 z+lCO}n!ly0J??&|@o?o{x-b7JgT~3S81;MTyZ@bOtR1x7zcbFhlo~OraMexARn}+*Z$u{>!@zZX0yKB<7C47GfDXsiK4fZ99;2ZRk6z zL*H2$`pz;>JHE4|lLGRl_tX8c6TUOOHQwEsrg_JxZaPuVttNj+_fwj4m3iiLEoGxw z11pVY?W;7JHE(BSSnGmfq&e<*oo$NU(*5f^E^*h%7nF{~t&UxDi4}vnZdJZyOPSEsy63|l8cZ@G0P9A7R`j2~2GVXRx zBlHW$Kq$N{fE9N(tw3O<5D0M=t4Z&ELPCi!JxCup#)%M1@Z2MV{K53z5Ob+CA~H_g zYZJo#c}UJZ3dzCqtUw8(WE9S%M_kuZZxpr~C;k>w%XS7`Ss}>eoTMK{`qlM_LvlR( zU;sO&KShY$YK2hTB|>v)eh4@v?pBU@EE@`%)71_4v!2v&gG0j|8BLDVdx`kKU?ShU zV~}{_{YnU~0o4%PdlhU-s8jIO6FU|gjDq$t*P!mvkle zZc*0{;rh3wJup9+Dp0BT8`eVm%~?A*gT~VeZn-N=+C|d)1G@^1@=GN|d&>}UhX_mvVbv&(>yMO!2kSi_<+ zg${+U!R6ZNepRvvEV#9p&}oJ9EzvQBtx?t0f?y7kN2G&l0z~s>(Iq<8F(3uQ@(D8~ zZ`r28JJ1q_z02(QDv|*<%N=zNrj@NByqi3gcsF?3fp=Yp7K@nHbDufun`WNV-|GiO zq}{A8@1)-YO>NcFTf!RHGwvV=_Ki6#Yj>vK$r$F6AKkLhlH|9ns4h&dIf+cj6=D(3 zIWH{tIopMW!3j+SaXnl3W$+L)K1;Tc#YSmVfZ&5sVeJnpW{olY(wVy648iu-K)_Bt zzrKSL=XMcQ?P|prjD!-ZwpGRaLSqL4RO+H_7b^%Z<_I>b2*$Jxo|~wf#4e=Zob`m^ zCH$h?O2H8a5u?afgbM{{WIYiEB2p^pX@`&nGszBQBX*LZSAv~n$16MRBo?X??G1%f zw&#*ZMaL+Db#63Zw6Q2)beTY}jVVJU3OlB`9UYX#$Mdoxi>^P_kR@su*K*a8Bcrve^r ze|ePKwupa16R8^9=yq@tv)Xu2m#44{b9sVwT0w*K%coP?LgPcEtQM@^17ZCN%k3eD zhDT6b!lwIn0}!srvK%92IV2gzKq)qz#^tq3Jp{1p_V*WskR=xhC6aZ&0>l^ z!G+m-j0+Lok8}C3qseHh8mjh2W2}cxhEc-XdU#v!BGcLj6?^?bnO}KChLGL$-e7mV z4`~44+^Ig>1ja>MBR~X$t8|fjf-Yhu#gc^$s?63IRz2;GpuoXT%rZ+|p9-h15Zf{2 z1U{**H}yOrbNpdbXt_px|GmX=OFWQoNd7@pnr5u_jNfpI<5ycm_Q{WdRx8GvL9 z@6BOj$-yCkf+u-kU{u^GDqq2T6TB5R^tkIqnea&_h(!1YxO_+&bsO)Fye}oSqG}YB zh-Lt7A}bV-K&_=orx;eLBdoZO!VOTi!#H{rFV;ysM3N>(buM}ANHUkRV3i4M?$zIq z99Ts8Cgonw%fa;mGEzZt{&tP;q1^=*(~cGo%x9!{ z!Fqy0j`2)_!#Jj1W-*^+Nh)+jEG!1$SIt*Vj4TG>Q_Xc8>?{W1PtDhJtWzwRg{j4B zeQt=sdd4c8n`s&`Qi8Kl3X2T;u7U|skr~nvuskC2tjR>Rgun+7?49nv7GQx0SyJr9 zkp(%=?ZWSh#gONTB6iG%VB{TtOR*Z)xRb_4;u6qG#V#<()_4n0xL^N$5vm9hsHqSa zjR#HBrbHMXHs;%-8M&6;p3yJ1ckb~L2pFTE4%@Xe`=uE>MAbr_Y8uBL{$v_?nsRMOohPbJB1@KjJ+ zq#?ATeN{W~Emb@4jaq=$L40%70{mUoM7)2FheFbxVMGM6$^q&_#h757y4eOiWU+d9Dwo_Xo4Fd|nzNt|E5sumv4S z5T139hQUdzdS556=zR?>h!CFn1}Crd6sy8VF#e|CXkzL3>YF%IG!xXE9d>9~t0ydf zOQVn-13*fn5bZaoV6w*kCmEVqNyV`uS{|Ofv?cn0G*zqrz`pMHX*Pz6JOygaXC2wv z4rnitM65J>t7%P%FIJVq%UHH5FDLb;e*@(=E{aNSsz628iK1GO2f(qd;Q-us>{3{} zj!VI9M>*EORXl+x#z3&;7X!Cq2-f@pvTVpk3DHolCy=?<1P@eN7Kg!uvY5CzxfGK( zr)cvh(~U;AII zlyLh{{r=3VwWEGa8)3kMl7UzaHm=JoxF3Tw_1GTzKm zMpReIoY!^rH}$dQ2r?#~2{dQ+afS#9<37Ju1Mx57;N&!EN@w@;+TSN*`#kl`uJ9*N zLeu9mkkZ3l7M2d42;Ae~(Ezjd$~O&L3NY)j93^TPN%HB_;AG^SYG77<$#KGMd|O!+ z<4ek_=p~078%0@V41>wlWa1sN3qFg1)M%c_xVu)2#HbQcyKp*7oiFHLjjCX`9#&T3NV4(wEd!Ph<&3HS{FwR=-hTbB z#g48?Iw3U+O{5h*UnKO`CgNcW7^eutq&(2{T~Oxz$z{E(p5T0;4em7|VEfzzGTHK! ztdbM*chSLQ1B!`V_Njw4I2wNvY{u~q>xp`o^~6*V5^_||xiBH*(CeLOL7|}&EqHdu zLnx1-Rqy8w^NALfQ~R7~hY|(ja19wWPPB0Hp5jD{RyyWHi#Yx(&UpAs)5+BHlS==y z!Se4EGg>KUVArghl7;68gixLr`NI*@r}BFSU^?FG(#_YcRN<0RM(QbU|m`j!I%;+>P^T^S56)`+O!^UdQ*35g~3Nb(d$ zkR&@y{-bQ_M?fj#;s0Cv=t)|V)q4{m=Twp%$|2#1x$F=z!3QC(k}SyLI5sEj9Jw?EHl|FyeI2WJ>|H1(Kn+eZ$s1WZ%!7cN>25;uD5qF zy>;yp_n<2YfAvZGUyZN(FL}f&TKC}x+%1q8UPpHksJiDdaCPNl>^^E4LDAzq;?A8& ze%8u>Kq|4zMxo(fmi-HPjQ>(lnvpSB6^lq2M*vS1E2dV}BJN$^pw8E;>+V26Dpk~X zU#RbH)n<34zI!yv6b$v;6MhM8kUHK_X55s^Zk>S8NcTaWeq#)rpWQ-zg16?)PqOoycho7F3Rs#c{jo&Pb*CF zoH1mQhc2+YKuNqH>kW&Xn>tiTA4juMk5{Cp93?hdTaW^8 z6rA7;V8604m9(Cp%K36g>69upVIfZ{@|rmH$(w2Kc&6 zCvl3}rQL4=!`M;4WNc^w!{<}LKt{ZtkgZ`@eH?6yOm1)$1};q5hR{jHTl0pLCNKNj zmRK2#2vf*_`{0+Abqw|#eA22V%3N`zjB2>TGb^!|BGqo0XUNUZ#vALmgg1!#LE8N( z(IbbE5DoNLuc39krXP-m;|~v$b)EJskzxXpP?TwdNQ-H4f@xArG>EeZhSFNkaU2gr z(UYez>`XoetM14gTIYoc{t?45fvvF~UYSW}PvL~)T$FlbY82K&HRBmh^r#mCB1dCF z3MMNZ;R6dG%j^BlikHstAtS+@oz6hUOs3eW@l&!P!jRmR{W3u?*&u;&;wiHx$zJ`U zg!J>=KGZPzC6?_69Vhx=C|(R}l>%KgK6;#|G>>)NYuHkd!PYqU6!)R7WU+MiLdM3a zWlw(zq4%?PvNY*^{5Un1_e3$qkQZl-)}x4%{hh6sYX@t!+dxWY#fzqkY=745{=1}4 zuRtxz7cL?=_ct|fSRXZxgqtI&Fs&r1)H4LOR+O2B*HQJ6vK4p~yBwpcGkbt^`d!(V zIR+Z;hHECBGI#T{p2Xb@4&2RH#3*Od$>($!t7zaTTP9{O_D_keK?txl15Wj(^hi0K z)-(HDuS5AMm4_|L*pDbpXxd|X#Nw=|k0}cI8&5!JRPR`ClA7w&746`bLA)zw%s#K@ zXv$e^F(W>RozK7TtCY|?nlb0T5xSOZ(7ym zNh}u4g}cWnJq^`~>ZjedT3|C+3bo{tHBC!yO_bh^jFTr$HGvhYaXAak5OBN8gb%77 zi5M))VIuZu`V59=(0P}dRh5m|LJY>NL)jk)h9U6~F%Upg3^_7Mm>nn{b)>r!Y z_3DdW?fR~d);HGCBY_@GDbm+>|5_X+MJwr6#*cHi>OMPnD}wbh_adcBx(4INI=2$a zUkSxX7+NuYaHgH!C10reW_n%TeA!FciOZGgc(6;Odv`2Z%9BoVgjMP9*F8emynEM@#uok zr!jLtJbEE^ImO}~BOS}pi9UKkRHLI80Argm)znNZkLbXPuH8=Gl&>R?^L2UW;{;i| zHP?h8de$}uJ-blC)Q;6#ZPs#|&fgkZBvO#tpD4kvPt_Cu#K(-ADR;=L(>u+jguv4g}8#;JHa}iUK z`Qp&%Lpz%I9{kd9lOO^DEe$so3`5y4#(WcnCHu+x$6)7m_y8KY7Gt#C#A&y+2ObeM ze3G_+uCP9s83CxY2Ttf}s0(xc!`*y0t7(~!XKId~w;+u+g~UQ5$dY?!ZTeqLCY`{O zw}yB!;$4L&Cr3y5a$nLcoVh>wCcJr8llcSp3|*HZK~)RSTmS8dlzR!Bu!W|wo`HA zU8>}3p^~pr$(KSUha3DV-liDqN1WS5JzlG$#wRH-VR>mnOxtcy&bqje!iw0lTw zRz_3g4R0{xF3Dg5I@lbted*Tz@S28iYX1%p2bK(%3OKXNYEdx668Aw=W=&Ej>Re;0V&vRd>WudDFf_juhmh}U&;U3;UD>yR49=-Lb2Fzx5G z2p~-bc@A-#q<|#j34di5s&{83oDAgHv{as*|JBGog0Pfhy1>fJ(jK(xsA&&rvr*F? z(!Qgny}()&HP=OMqw=)GZIJw>EG$~n#))p7X`UrWnl?+(@WLve*n$!yN<>WXqVY$H zybTH1<^GW;_#)d*5d6h-USNaCc}WXaKCy#H3}OX2Dg(^1Q(sry`t!pgmSIQ+@@q$xYDlFmmDYGy41jDhrHFOb>MJ1z9tt@tPqXo~ zqClRtFoy^l&4LVpbbQ)~beqGZB(0%9o^c1>m0Uo9gv>k)L4ibPEEUMxJ%+d1#+@sW z1Kj>3<`69~Vxd0COpt?uB!_Gz0Y0`?a!|YtViMhyYf}zVU=S)0)Iua$-ZTBnkRCY;IBiA8^hJYy~kz}08Xh}Fa|84vVWz{`rall}`+bLIdDmvs$sY7Dt z;v;F%#dc{+&?*|q40knhfLf${ySWYtw?MWUm8*tzNc0JG$P4dJCW8(sUK0+m5wB^( zGQ>8bT@Uwq;1EsCMFL0yuW=;FFt3q8aIemVfe1KGNfv{2QNk)z-uV&fE|j$Yw&EF*N|<^r#K~! zJBhr;jly897UCXvjEheNSqlfECeouFJkXz_-(}oocdm#A_vL?=VmpT&8OSUnM_NH| z+MNraB*~TtsHOanar~5+6F{JHRlns>en!+09H4%o(`)0gw@6I%x!l_*9mWA6lwKqw z0aALATG8HBdXWfrV*@bz7DY9RoQ4Hx>$vMcgV?Ae)T^#!5s}5W3@E6OPZ>~{Hu#bO zWwX=@7&$z!1>+S%caQZZF(WV0s{~BASK0Rr$thx0y(+V$dX!*7A3IC@D|j1Bh}c~? z>kTNXLUf@4MOEyTruzn6brXo1bl+s?KGIIa?hA+~MiFacPw^!o*8ZLxAnn|Ur8I3% zX&RDjv%4Yp_33FnzLq~O`jI4;;n(>|{YsE^jw%}%LSS?Oxh8T_NNoXGbQ!|03&@fo zY>O!%%Z4mgAghMp;w#Fm8G;kAfUFyWn=prn9JZPSMza*?egI=!AbMK&OJb6Wq`vC6 zHp{oNEkiackWE9@E0B42)U^s^V90g_a?NjDtw5Gth9tCk4YMUf*z;3B77bw!at<+3 zQ`?PL^DXYT9;(h?biZERDuVi%1zng6tvQdF- z8nRwOTsJUm2*Y`k#|t@mtod;ze|*J{7xTxfe%#C-9}t-k6<&P&umHr>7l1hd2&^vv z>oq}^D-e0;5rZm_;6z@nK(vhrLw*H<7aRz&+y!O=WPuRtokP^j0fdxB+Tqr-8g9ew zG1?A8WGWQ?aYcRrDEB7CBe=?~NhU(=NviQS39oUq5)oRD2`5*vQ7g|wUV&`IfWswV z*?_qcuxfeu0l~|!Rp;AyLT$6f7qNzb@rr;)P$!!$ zC0OMeHZmDGFlCS)E38SLS~C{J-=MWR`Za2;+{lxRsp58 zBGe#fHLbNy6>;Zitwr29T5E_qSFxbAHlx-`a4&i&u3!Dc)tI;x0;1)aQ@GZh3wa-lXht#3$es9SIE#+v5+y@avS=b zrMEY=#y>K`Ypz}R+PtO{!WV|D@sj~IWQ~tu4ziF%C$TJKL>7vx%0ec)lH?v+A^xT!;ft_8JcM`o#_5Hai(+0VHwD@DTY5) zy^4j$5#w<^w1S9uS?W+y5F2F1$P37#Oah0F%sXvi{vfMF7ItF`eTzSNSuJa=s*#5- zsASBu@+p&CUS3u!dIO8CtH8ok)riT?!SY%vyQrN2s(LlnHFgU~L{Ksg5*=ubwnnSn z4y4k+<1KLp8Mh|E^6SQ?u|V7XAV)^)U3FxD8ArxEZgLR6D~^mnlf$ujkz^VAcvsM_ zhIGi0!RvNpXx!-7Z=NHA3RE2#%&u{cjM!R^jea`*y$n0Ui@T*j$>`xFc3BoXuM@ZdLs^7$ zR?FIjC!3$KPo=XY>LV#zn{6E2`14Po<(a9fR-Lq)BV*SGX-4;+>hC*61t(PATdh{> z4D+pO#B+GeOCT{hJ53vLX8{`oWWiIY4kg+ed@ss-T4 zTflc`*%rsAwc*blwO)7DlBIxece+=fWM5%=vk=qOockIYx)zGerti})v#E9t@F#qd zd_=0GS{sVBXe|}$s6u>y+Erj@PP_Q>wYqvdI)-?CpU{$nnXP2J$d)c1L7*0@JprvY zH|Wa|?L@wh5KBPVr~qSTqe99$CsmD&I1Ynlm~7bsblr04OuC!KGg;Uns47hGk>}h^ z%wX2Ve52T+<|~dbr?`0aAHIxP!dWiZrm&!&Fa>6>0rtkPS31c=*!ZJ-XpTf46u7hA{yZSS<1LLQ@Gv+eUJJ+{g(%HT6`n!AkY_L=@rY^h10ti9;hk>z=Jce7*;%xg+KR<*7qbAbUT?%UnL%!|dk*nKA+i z*MO}vuU=$hLS2V=kT7acCs2jK66@5c)g-~Rb*4xh+nRhL?F?Ei04$!S)B-?dOs4@L zVgAQseXoKFz(up)Z;L@-RZvPoQ-*p28AbWbYfo?ciNY=hmB6`r&TRTnCgvA zDP7<(Gpi8eU`whP$4%+`*x`h+wJlcbx$k6Lr%EW6yxK&*IvB$dnqu+FlJ==7~Nr=ON7d!BoZiGs4CDSMe)1z=qW z#W2fO0nXK+0W2OTrPuu=I*{5h*lF2JKZ{SspIx8VuUlybW?V z7(b~B+C=fvt=SocVTD~p-`ZhVLE&F24BCmbB!^*P>aK=iEfR)xPT^C;9GxKyOBzwe zU|cT@E5@57xiO#!iPE@@3&UFS;&|OKEX4iDt8(pSr2>&bn_(#-l6xHvXpL!S7}g7a zhQhG^@aw^0?ik@PE8o%v?NJW%S0fkvwq-DDvSPo-V9Jexi{D}lW<&Gg8)F_R_X>WK z;yk}DBFw`h3}*cXtk~bYnDS8ugGoBbS>LuCW|RJYkHb{_WZ!BW=Bg&dpAio8Z#(tQ z^O#=;m|ugJOx92g5rs-in2sTsS_(PQ##LEb3JA6nG%-AD7$ne@k0CVjbE!@zN2~ud zh3D&XE7hfSdk6IPZ9llb!2lkeDCH6;*{I20eA*-{g8KC!TE9Wf}Sy+=k0Xdrk(3RUxZ8-6$bT zp}UFz*rK~Ckl0-nNVU5Nbyas^U6OaQ483r3vF;7!JEFbV|3*_DZN{$0;N*5+qgU#* zrx>1X0}hvfs|FPAHV<4%q?LM&fwP^BezS3Hi~jpR_(5Za@x+nq{6*)F_@xY&!_?x5 zAu93~VSlsfE`*gwwWS!M2Xqv17^#jD)+^U>Vc?UIwp2ZA?US*%FztnHNNPOR5E}0c zD0q2Ec8&M)qOg&zsR-p&UzVZ1>c%q6w?ri?9^t;=!uSiCPlY`#G^tuOw`phfRQ*cz z*iqpeFRy=9fm#|HsnS#o`cpp#ReI1ltrY8J70T8Cd;qpn1YOK@4Q%{n4b?Y`9j+6h8DV?Q0+UmTXqlZ|PV9zLjLR zd_1E|(j1q>CMzV*LNw9cxKX~$Iw4PDE-}P6kEO9$xFprOiJ_)| zmcW|P7R;(qc*pVtsR=%*%7^C&Ybm~huyzc;jwS(BmCs5wmJe!5cLdJbA9b2csC{x1 z_Pe+y8VAS(w@WkO(E~ldx1aoUyC3DJ?kCK`6M5GbsfJ>aaWmi<3$lS6n**oLyv|P) zwFiuHygwyBY~qO~&yQE&?(Z-n46}EK)SwR=NDEPmMNI_@Ny~XPlPnjsG)uMgGv@s| zsD!5*vexaVEj-1%iyeG)FdF48m4A&N=IInW-nd_=`yL5Vu+;_9;u2~W} zIxC}pS4v#GgH!2lI#rIlncQ(FAl~k&+;KNUpOU5&N3}*in&bUitN@A=f)v6G;sCHZlF$zwH!vxHNd(H3ojk)fW#mevbFH*Jx&XeIt)UO_ z>stLs4j_7}Pl#Vlp6-znp4!k^QXr@an~}(|J(<>ebyeNslrnEmJVX21&z#JD{3lL# zPNWSa0Awu0nH|6R7wzvD|I5tSU#No&3n-M6LF#31)RQzM^bMWXc_w?~$6ue|%i($) zDYW^?touyLiRp-)be)pw(M#Fu=w8Xw^q?wVkJYG`mFFX&M{m<$s}*AksVWnhy7)Gg z>GW$6QLRLj){jr~uB&!CiSBpSjGz$Nl`;h)ks6;A`wTOA?;nZz`5Eb6i+*-!BA+aX zj>WbhEncV)oigm_#b~%}5|CXZ^cv|vM0kzk9zC?@N=c!F{t_KB6sWX0{Tma>bb0nb z$lRdlBTN&-to(CrsKGY$6c?6ArqsDFAqh5#N1+)g-b*%`u_?#;3OkUv<}w>wad<+; zgXRcwiZT`(sd$p6BXdrE<`Wqnc$x)@6{pB3?Y%wA7|))ie=r|dXxwG1jE^S7ELhl5 z*e+!WwA|LsAs>d6+q(0%NR-nqZca(7Hc0Fw{41M=5*8~yndVJEj)*XXzr0zJC}UNT zuBff+iTGX#{0XK$S{2S~dNw!pxnaT9w@Uwpm=tt}6veu!i&P8^$c`W(4@+s)4E08z zN3{smslgo)6+JSssumGFCb;J8y~C}H095?8FwGDA2r0dTLG3}-oCe3B%*vR<d9%#mn-ExVMeVb`Z>7=0U0_L{0s z6cTC&Ybjm7E2-6Kw$nEUssPC|5tr^Tj5fqo8|sy=WLmg0)?v?4X z8>ewr-z|e|M#rV9vhA8;I#@6pIv%HyJkR?u4Vz0vU*S8ylDR@?0f@nYVlZC_HjuM@~{Yyz*QS>S7rjoA80cndki$ z5_GEwWOi%=Dtu-TorR!dph%DRG?WOMI#VlEX0#az^k(RCq8xpa*_UzFR)+qm_XugH zI*8l4-}{#kOZI-^fac(?qz>0JXS3icRVPM?}TjR4n;kcazw3<*ax z!PK>$xuv)vV%=c7{;(USk13OrM0_<)&)T3P;l4PmRo~L*Q!Iv@&=M*ix>FU;-(&N^ z+ploC`=K}T|7t&}ApAYCO-J1#w)@1Bm$cL2VV+o&>0;ii&vQu4Ol`WxFo@u=BL;$# zgd8YP=2PEk+>yetxBvVErvh308Zc|EG0BH@H{*f?Hy7s!LwI{;2Og8xE}0|AC*dyJ zFTTv${RE3Pe$1!2C<=LNuhpbEAMx@ih!8ew_!2nFNYj!(%FzI6cK<=0Xm~AdTKwnq z=Wc%7Q?oFT_7m|CfOkTfdNsT7_g=1L?AR%$x?h)xSlYW^l!A8j$rn$f^7H0?m^b81 za(Xf8W=~9}ohN6IDYy%Ug%TfoUIg;L@Fzh$53ahd+k| z9PG1Y5mimt%gYP2cP@G0Nb(oBqXdJas;{Z)Zbsx%7D{k+9itfD!XM>=f9o-j)9>_} zF5|jb`#vA0Fgj4^RQGPS@^@dR*J7`-B1|jshXe!0&|-v+oGZFQt%}`I&$|O9X|y}s z0kmc&^g*ZEc&g`N`k;=}(KIew%}>{DwR&%;)jFZ~aeyz=L81Lz-eLP8n|7}r=fWIP zkaFfR^p@1IO&m#>IU1EO>>wz0;ybIK2PQ-wZ0{xV;IIeluqVKnv4X==G0AwaDTKU< z>A&4hn!$*%QtaAftYO2|>|nTt@MM)~hU62f>!9z{@6ZQ!W>RKn@@=1S})P6KP&SBCqMHBHDC!PhB+HY`B`@KhTF`~sI#KB8G zQHf^zz$1(;;IS5lwFMLgoT552I`e2Ie4#f*`AHcH_=3)JA}m2QaA_ToWTaE#-3%>9 z!pUg_Q; zuIEM^_h~TVTw2eKI4%Vvgp+CZBg5hGReeY$7B(m5h|VV^qVsGJtwcez9)l}|es zh3Iuv^2$Y-39fM~Gr>SVL9L~k;5Vl0tr*l&h;CtV8vUErcg?ly@xP>5uQ&3C>b0YX z3D(Mbc9}Cb3rC1uspU00K=r^DA%0LKB&=wtN!(p7#(^vqdg&^@i-6#Ag$NA-! zH3@!|4n%%o{h&3G2YvHq4CB-K3ri(wvInx6^|A|_xe_Xj*@YY*Vnyx5bg!xYQZ=#v z9uKMmm7B=Ej06Ml%Po}apoD3q3`X}9{fMuq68|@qKzEk#IibCNLL{L{x(G}cVp2a! z7ixhkyO>wz2T}e-ky%aKKpR=@d+UoNbmfTfu->*B`#yh)?-&1$VS~m5dB(apmWJ=L2wQSJ*-a5KI0$3f@ zD7$>M{=N0u4D)&CPgnetOglT?y6m4Ehct?C)jzS8?0jpB{;r9k(46FiRoWexf6ryG zPf>x?3Z7gelq)irUm`VWp01USSM7)iv+7} z|K!t;I1s3w{mCCtelGj%f68Sk$-eS`a(yw;>++XPGYi4tC>9nL23Q~cHlkWF(sz++ zB|&1<+SVNYSq1P6KkcNli=rU)m_vDfQI_4d6z&C7ixA2qg-TO!DAiamisIaPc306q5<#}7sc63c7M6ft#n<)s3?OZ8G3DhrjRTg<-_VeiVF!T=tg9t zkk(fX!QndO_>oQ}jVSNX02a@uOaBtQI~?QHC))Pw{a_R##D8 zxlxp2)k6AOKpLjBgqC2Xi#5DqbVJB`2tXRvlndIoqIYn>bh&u9J?%V_{4n3YgogW7 zae9ea>KCjFXxxk6uxart?@f!R2xZeG{T7-Q=l*p3v~ZaEn0ax5@?UFSyn4ep^NI0# zzg0&uHLe_exqHP3AK)9E+e$wTlwLXHe)XyOM){*#`LMf@Wr*orv ziut-U%uiRX^wU)NdWSN|_;{&-G_Y%fa zDo01yd_e{1eNZj?M~QU`Byqsa{sfX(_O;4l+By;XxQiZJ%ML3p8lg6& z-F{a#kTiS_JEA^^%36F5wY2>t{m`phD?)lkY?e^j$quKJ!v=rjQzqD!ezA*@cBC`L zpDG|*JuS8@q#DQ2YAS;$jz6MNtJhcq+RCchYpWpcjA!T!F2{9;R7*j{f>6;e%D3u^ ziq8dy#7GTg*PR$sLstH>fi)_q3R5unL{&u(TU%bw5d9LqIE+pec`|K3qVO30$8rc3 z>LD!CKi$UEs^|h)q*~ccglf@LVtkM+PXEWxe&vt$$mSpwlbsvb0&A%qL=7ra78&%* z`%gdD@9^#)|Kx9c<$Z(CW%Z}CpZgLTRMb@(I;FJp(3RStKgr*p7*l{;{GEpuey=vT z&hMx+orl&=fB*G|06MClK>7Gwrw_dVdU#Wc(M;g@FJ}xWX@F>XtQTrSp0FAtEt=uJy2M;Hi z3mPhY?Vwl^tdeh4@|gDf?&ZC|b8? zuW{*q9%1O;wK&boUWX;#z@Q_&Ts%n178b+bg0ac$To1g!dME&&CDYKU?Dg)i%S43d z05A#Obh*9zdsG3w0ZB+PZ_L>V;zDJbOvei~%H4YoDQ^@Z<-v~P+We^c>qv4ZmsfsH z#_1GYA-Nylh@94!Inn+hX#*QG$g=~!46qwvTY||#7aVmoZH`+s6#k~zPPDah>1kI6QP`@#N08~o6xU@>AKK<`SP zwWH{+v05C=?e?{AudMADnI4iN=_*1%)|eSEYOL;rnsgFnV-)z#1)v z2W!0tYyTCW<&9HZ&byCjg!<@o=#PJ%cha^xM7GM2K9b$i9n+^V>J0TOf92kEdQLZ% z7xPZy1$7eJ2i!~Zy3*9Mx`uvYM}k4d#!ngske{iGwW_NS$<-}S6z#I>H1=2|hb#HM zzEJi@?^mbjLrieiED&fVR&WZFsn-1&ROLqSsO_H424|r5`vLq43)HF}&i*Wf{}~AX zPdX&dwNCs_2|o##1>&K zk1@Eq)$+yv7gwmQ_UEv6O9j7PxmWUXVta~O)#?}4@*#k1flOYo)m2@n&eogd{;+>FAq5SDk*2{TB}*K0Mc-DRtF)Iwf5dSrA=yS2`tK zb<(=3-(`b}bX7u{w4;UJQwfe*p7EunT)c~-t*sc!nT9!?I1N!bM%;t7$p>q+E6N?d zpB8U}$H`su9=~Z|D!UH9!QFCwenXn(cf@aAdozABn0@Q~rsT@+8ox1XewX6&Jm_vJ_KJC}l2n7Q3140T_jjykX7ss2K7WA zWzn9@yiwM5Kz_}(erc_iyZL2e&o-+7LfW#8DquZ-cr<7rx!XTKd&uf|j!!iuUw5ns z-^WTG_Ji`nqhTb5J2p(vO8-hBkeod{P}H*kDE?TXcLAWWV7%|{G2T_Dwq@LLaA*ZG z$@Kr`FRsOH%oZRq?Y>8BZ->}^<+{Xn_4N^A+o}RYY@1cUM*i@2iR}`j>uLY3M{HOA z!zi)+e2e7nlX9;qyAWbO>>cLC?EOs{L~u61OUj6$mVz09lp#Yc32s2jm?58nifRR- z5H$2Gh}Pw@8wwgC7I)n?T4wWAwrfaU->PGH>Nm_*qX1xG`8#{WKfWd5upK9-}}TjD~Di=Y5`dzhhw?HQ>bn zI7QVE@+qes*b~p$=GzH@Hq#2U!RM`n-YV@KHj`Zr3C_}uP@a{`I*`>h(S8Mq#_Eu$%AyX$uI`#yjle5 zw6t0wd0~D(LV2!NF0KLM^DPDGYzV~H%OIWiNb)_B{5p{2<*&f|WIci2-YQA{Ni!rv z!ZKnrql`xw@Urwsayu8$A#O;f#LOo#GYvq(l=a(8o{2{SYPUaSbp^wuEI)_<2(6xI zji(8jlE#3|^bKuEK|df>53*^m);P*9O)1FzrlhDjK4GcVW}7>she7rjiLy4@bJx^9 zH|oVS_ZPUxO-}#xSQ8P!Vqj`inu`} zN$TTHq87I+=F1(&!~XEg9Jk&f=3OL{s3EXn{d28(nf_oiNdikkU3@wvVq=De(QjM` zER%H!hRlLx!>?kc5%oh?g(x+l8jFYI@xsF;;(=Ei&wehGN3d5azyChflP}X6Zic%S ztw>#4V?AhDwhmr84;pHXdnI+>;hhtTplI-2jbQ9AXn;mA7=#XiUiP5rKW$>*vt?U{ zErg&KsEhE2?96`@_axjw@emkD(RHE)SqaK2p5Fn#$;j;>7)-_VLrrc`jAN46|1txZ zs}?%nCQWNGFh({?qTwrBK&+XFisD)VHSFt)0=OY@hztpsx)`G1$KB2)C^RvN(OE?T zODyhJBru26R3$K?V)FNCO|~fO=Np9t=lF+gr3#p*#BvpYK+?yKS_LiU59&DC+ZQ^0 zZQ5j+eUWZ^m~PY~nu{K37!UiR8GbF#{6@bY1`eg&saHJ^3~xr@{oQ^;S>WaXoTCEj zeYUTR{eXk?TdU!u8OU#?3XrzBTm?u0SgHaR z^M{=LwsL^z8HqUCtO7)S8&yCczx66;Eq}<#Z)Nulli$*ADDnZmJWPJCc_40_{9ZVR zh2=E$c-P49^skE)ATNc*yqo0rQWLXJ&`IEa%{%dqz3K53IEN0ZC}ilp zKPrz1B|#>e`iS?YLvAeWj$GFsZ-lEFS@L8O(nGH{%`1u$pbGuT>~Ec2-l+YU^Tj-g zS&SG-3m{{EVRtimWu83&73;hl(T3&$u0pK0L3~RawxtsfpvdJQCzjPCQV6Oqs+UlV zYEjGlrG_epA3wGSa&7kPvkD0l`%O1X@5$0jKPj4kO}lgsb)pt!XHb#~u$EEH21xi2 zrgLn&7`E%clRj3uK4}Cfwp(;PLm$fXIh|elBCM&IP6a6zn6~(WjE07sk~rgI4Yh9= zAl=Ha(Ip()l{O!&)zY@70?p0Q@VVAWa8Z8xAK$3bPb3x{ZkZk8b3KnaPatf8YD@nzOdA7^y;#L9@m!?^cCxQa3iuy+c%461 z6F=W1y2PuHWN=%?AO~@a+&Bgijasw@xkZcpTXsaVJGP2YhLj z2qvc)U2U@Rvz}zKGB}v5I3Vw?#!|$Yvhc7PgrlOI2#_aPzC;c%ah3@KWc0!`=F_6| zfnIf4(K5kY)dy7?%N369xTe^0h4oJB!&6+yEBFK#qLzOhDLnmSRlVSaNeb|Jxpo%fqApG2frMhYfVrsaO?|*MuL752s<-;CI-3_Ucc+%w6Qd#{ls3 zxOqLyP20f5iJ4J^ME!}_R02;Ft28r~bOLq5QpJWJRtyVw@J`fwuTNkS`}>;f6FE_? zyE-WrZtZ7OOR#Bm`YWzp9`Cj>&FVz+C`FC6JgF7m7hP?YNUnF%8({rpb!oy~s-+1L zGGB+}_tesKu>{3FNki{^pTy+rE=`Avr78W|OH;RB3riEhaWNhvipJB~>A&@ISexEp zZF)%$i}an>ra%5~lJ|#`(-&?gb2=K*l$_kiPvDL{j5pN?tg|v-0c1UQgX9=DGC zNri0h<3gTopZ5yV=^R0n98p0M)E~?+d{Gqx*#VvqYO^6=J%(w&Cjx4 zhr|6O9F6-Y$zauSV$JOJh7^%aFd#el0HtR3nqeEjCJNZAhOGnhUN0sFstS%1j-9?D z>!uP-XIJ&@7YTV2{#orAKc{Hm0?7+Jl_<~hv;)~0#dc3Jv$AWUArTn?nc1ZwWEY2! zy)+Klg@A1SbMBIeiDA!P8^ZMJ5T+~RFkKFq_MwXnAyc673nZ;5+jy3zvW;hW+R?_- zth2Q7b__2=$RNw?;t;ZzhLBwthwOYnmSPngLMG+t)gfe8hLBwzhwPPr?9Sua`Vcay zKWB+cFPnLWr?Q!+6|aJ3kKDIh0QNjF^wBL&%hw znbj&XEpE+B2S*B99~KX1$jdvO(F}l=i}{bWRkW zg0%?SSy2mbV|2p!&^$?WJvwOO02`;DV_!%4%&C5*!|5Pw}Y zn$0n2km-lfERRRCBs3^0{2jE$v}qL0`gk;JLUYY%mdBvk9z}C?Jen<`Au|epH^!hL zKgw{UNRKkMZ?s&j8qKvaXh^IvjAnT}nkAvxG@7OMn7$cBvpycpn$TP`8qV(7L3-Px zXs(V&vn4c(UWd2GpjqITArhW9U8uo5Abs{aWOKuhn!aQWru!{i}mwI`i zO}p_A`(&3Tgpbh{qvG#qF^WF0>wI`#jk)m;lPHJmN@G5}Hs-^tZ}#DpxAtM@;M^Yb z;j3dly!B=u-h68xW|smp2?1!ds}~F#9^-k#uG7^6C3U&+uEwKIQsprpULEt{l{fqF z@>}~bnN3);#(a2d%!fDM?86&x?Zf{+d+!5h)m7bnpL6b=zjp@iBqSLE)^l%Zg_=Jk z<_}`Db4HD!YJ*DirhV<35SWBv2!DnlCQ6b?#E1Eze_Gv8Lwz{?^|6+;e9J7-ICP?Jw*HF-8!Oxk)PCGfBm}PF3+vxx}CP7@I5NW0O?Ooo*9) zeB@LWA3C#&Q3b%;z`Kpd>QRep2K9+kReb!+DwYl<+cQbUyC$i4r^TIQjJN9y=F~xr z5{5Nsl8TQ^Qt_cvRXlcP6(diEU7BQdIx$Jb$4^!9<7ZScj&p4(^lE?>sR4*7!xcNl zK#1Y~<6=x@vRt~Dt~u9?2{FABVrEZ>Nhie2nGiE~Ld*pdV&+eXxokqrg60@@1??y< zoRC9Oo)goxAwfuDED0~8*zTXj-T~gCb~aLzJ}glr9`Xvvq&g27Pg4CAWIRdrg~)i4 z>IL%fQoXP?gTEKm&f)LHwR8D9zjhu{E_M(}^%9v-EvRAZGdH;kaZ;@PLsGp|;rX?h zdR&HlDMrIX^otapTf=vfY~OYEFIDtq3a7PMddxurCH))Gmn+;`o2|!eL{iei5q*Wi z)!Os)n1PH+x;Ub*RJgtN3wm@Rw2Fyapg>gP;Ec4rIOfi_&X5T2JZYiI>A6x`;l^H4 zQoP$sL|T^IY84M8RV#QPsannhNtL!wNYdm;^ZDjdQX!Pi5?`TlPJcmOSuAu74}@8- z;PE`UsV3nLgWj0wpw`5Q44?cyOj?t_#iKf!K>3R(if9V;1V=fe;LTIO$AD z#w^5MSj-$7!?ag2J`17uL#xKf;w=qTX%|DivnvRU*-Bu4BnPAQp6rmeuYV=kFN~F) z>p&EOizK&aEM>4@*rITRomkW%;zm;w0zbl~r(4UD3Diy=Cz0`y7Q}LiRLr>agNreF z0(@&J6EoFbsDk3LfJTu+TM+>q&07k0MoSxQJYsE}(7G|;6Y6^vdMnh4P4$VdYN~IH z`rw^Z-y9?>d3`6w)yK{dm`teecvF3nQ;UIW^iM2SQ+>y&Z?o)Hw!g z4ya7r!+`N>J2Xa%SKGk(7O1qtYPtANG!Sl&i&K>#&jFoS2?yxSY%p;9J(v#GcfR$QY(U(9h8BOVdzU<*rgF+0Z>v)v*l6tfkD zEtrprKReU}Q#r}r0y!5Z1ek6jtN{x!4I(-xLZcyk_b}Bq*~4@Xuj66*q{fxV?JO}= z&msKmXjAo_RL@?wsd~7@rs`qXnuhdo!oK?By!z@-@H)Qw{a}nDkGbj*{bi3gRWDPG z9UaZpZzEjn{T9MSjM_ukSHF)}U;P-b;2Wzh` z>{U?jx+RH@VJcP0EsH4y=}+|sNxj<@6J`J9zdNs~^(y}T#SlSuOd=7Jx z7*9Fa*kJ`yb(h`3k)*A1GK)FAe{0*D~8pJMOnzIuNsoDdXlDmBwV}vzjNb zl??knX%Kn zUO?yekIDRMZW>FK4tGsdd$_H<6;(RyI#C?(g?p638Udg<^m@Cj(qqXTQ}U{7_>Cd4 z%nGjIk&1z}@2}u7`UTYjtd&8<@Sskyq*rB!m?LSs{Gl*Fa3)Ewbl$Dv?8Wta-o$$6 zk5UMTmJ+^!9X#f#ios4O0&es<+fIF$WX0LnnS)0Z*iAp($sOkDjtct^p4%&+56^9Q zZPRnBpTAX_%3%!0e*Ug?ndLHy61Oe4xjOqyrJOy&f^*T4AER0T6+?;MT95@2w)xwzz$AY!hV^B@|HCa1F@s*M6 zhGq&=tquB zEe?&b^SaXNC+UUJkxDl{N3+cuD4zdVF+i7u zDx<`S`TI^G?gXodmhW#h;#ftZZ?K9S?}YG`u~x|*&)1DH&v+LXqC>=Kahhc9*k{&? zEJWQ}JI=E5o?sH3P=UJ*+fP)4Kk%s)tw=EK1rF*li-Tz|a8Zw198A07Ja;M`lIJC) zU-G7<&0vF*&u&ZLqlWh}a(ewBL^_d2_jUYbPXFI>wAnO50CQXN)` zxsH=-R9uA=hxCbw9{MDOAzW@DMjAt7G(#HIyPdO9J5_>ohD_u_`Xd$tI~dYuQWnye zMvO{0MhRmoLFz(w1We}82B`^YTOmezLfYAgF_>bef6RKpAYq!^VXVE`FNa;cRD5Q? z93rIRGy7#9q4~sU?$j<>Dn0<&IkA`{vJ{g>J{~Q+$Qxl<7Bp7u3EpxSm)-}?+Wa6q4hfpO!tJ= zZ|^*#*7uBSJ#wH^ww}?<(ZzZIz6EUQ;)YH5jRq(X@|?1;NkK6lo=9$rg}`St!xOmW z2=7~j5XsGtF0SzeD{Q~s3|FaTCSZldoeV2<6T{T8f*TfD9N@u`>@=aH)H35MmRct4 zq9zRJi8HGhtu=IWl8U948DFu~GAFHgCsyHS&|{RxP>x9|mRe?f#Zt?hwBkc&RxvtU zNRw#II8cvTT=UGATIQq`A3w8-bt*bLGD*dUCaHML;!c8G`*g&1>d1u-mqiNxcYKex zT3mCFH(T6EDjw}Pql(4MXU8U~_~;}RA30UUht8~G9c0foPeLC@C!vogPF3;oGpiUK zuC`D*bY#?>wXH~v*rGL4qadj^O5{a9cFTno!c^800mo*Auo2M`!Aj9w2qY_CV?9ap zJRiGpcYJJKvJ*BD#gxznW~~x<1P+HtKVqeJ@vzMf$K4urnD3?Rep>?Jmff0^!x`|J7AjYIT#VT zprw))3l1hONZeM%mdd~+8w@;;Y(>B{xV4`>jhF^Xg=rWc1=BD-DrXveMx;(RS|W)* ztSDlZPl#DDA!gNtn6(pPMkd7EJ|Sk~gcwGHw$Kc}Gt+BVh^x{_IYT9`H^iYI3~_Tp z9AXHI>#@;w8=Xt)M;PdH6iXbjkqNt?s^}`CZJ1FoKD1o(~$sl%DWL}s^#JI zEXUgg4zCmL58cYyFr~)vnMWPmBenSuvJxxC)RJl?XRu?9Ld1Xy$=Fsd~+$I-i+*~KOuP0AU7dLmJEj8!5mOsjkzU*9_adVO5=8!Z} zgHW_nYN1BO#s+dri^VlpEOwJyi6^i480RZCIXO2b} zWCt+kFb0)xm*SGnZt4&o=KoHPmaqqg_mT4@3?i^Pg>F?pj1(9tD|$d3BIXY#DLlho zmIk_b^jrEyB9Le2Dd1C!N59dt&MV!ByEp;M3e@?K&C^QdKoDS3EVM>!9y%1J& z*#??f5|wh~B$hTbeAYp0I~j+*G>&v_a3ZcgaLUcFTlKNeRz;ERZ$xPU z{2N(39D1dY9SE@jZjyL`lg&3{`(N{e{un{ zV7Z1Z7+}#Ag>wNsJ;R0NxGM^8H_-_@dVgadM>EkBag(2pC-WSY6EcybaMNJOU}rd8 z!d6aiT2jvVSLAC9DK#f9IkS?s+QCf=E2M*)7VQph+KqtJjJ#84@HuXtU(!c@6ZT>V zkFPO4FCnX0pOcP>K*_as(zglS@j&K%jq!G!Qk$*M+p5P7i|=a`Eks@88Y|Fg8x3CKy4;wf7)Gt}h`%|3o`CESv8e=Z6}k z>RO2bh|JU7A?vNZn`+bTlIK>r_+d@$fTWr_paVTe7T2aBbS0J>!2MZ%M>bG|lcz|}mlpnY4wd?44R4Y+HC#CTaeyi$SD@BO&h`q~ z7!uMsdmDe;A9V}|`P+w3FX+HOV2i?+lK)cDm;As#a(^u>+yJSQ{wRRxCCUQyI^ZxB z+2MaxL~kc+Fo;qj5$lTvEVNrPZMG5kjIaynL3*)Ecxuw3153wk-DZP8pR80dHXXp} z{8C@WFg3stW42r+8IMwT70a6E{tY@@zQVfxATINV2v%(K-m*#eKVN~TbGvugS5bmu0i@9mn zEhL~*wgUIx|L^6>+v11U@4 zB2%9-)5ziEv0jAeGT6}}4Rf>48wYM4|JVT)iz6bX#LdXWHJ?*w2hx)qG zF8Wf|tkJ_)y(h1lNwYw(7+1PhDI&XkdycC;m>Mbn93EIPVO5lEw_<3g;xRfBY_Mli zW!KWTAvc2IBpaw&(aNWIErVkbyVLgAt(HTNIyS?QMJ9ANaH882szGydBfV0 zGG%zk#|(vWMGajA*g6>LbL${3eR8XpyUj*TA(a+p*wHp8>%-0DsK_fr{eYg%b;V9z z1$HSEh=fUU7<^p5A@;dQq~*HCmCxJ631sjK(gT@SjDF)0N_wm?k-lp$t0x^n9~T=p z&D(aMVQhDP(=6@MGDN#>OrgGv9e>2WCDk|cHfBu0b7T4QK9=jB8%s@3S!4X%&P&lO zW@h!dv4j@?|70wmqp@c;md@4Y$=1tbatrytZM}TUb2Rph=H-9pv6S&1gyYPDbphE218u~nY#cy5n9 zbauuC@FeonDJhzi0s61H6EzC!;xrkmek87$=md+I8QIr9bpQ#CtY>-==Wrb=-w;;a zO)s-2`Q{9F5kqJviQ~r~m0~1;h?!QpYpP5DBOz4ro+`;_Bz%`WGP_dzcZRE!WJHQ1 z!EyIgv7MG=%s#lAp{O9gr%GQ<)Pt{De^FK9N}=9UUsZ(!mX&~8wd|@Y3CFmqDwM2F zIAfi>dHGdUsI&r;mDXNk@K_Q>DVB z^;et72HR;DP?W^gZ^j7{8-#COAs|1BP_5n?DqIO(5Lq&pk{5Ev%5_{TA)y{hcatt}C&ZNssX6P80#w}HEwphWgm(%=CQQou15)Cw(!;--a^EJ5JBHU z+}!Y{h*Yx{=oEU)h$7=_hZ^(1`!eIgOSN7$6%7a=31HpE4A?LtqQ9?y2%^Kw-ERxw zw6yr4jg@-I6p~6%b1qra7JP6raIXhB7)OXOX?FZiy;h}>?1|5ZWC#J} zx8C0$V6JNcwq~)<{Uk|EC-dBpJhLG=_Vxo4hUCe&F)yU(Y7EKoO(EH7hvWoFpBs{& zV3s`b;Q;H#EZIWbxFOm9U`Te_A=$Ib=l))jl<#gAmk8m~dV^{S8l9MK%H0xcbH0~Z zjDA)W0P@<-p^ij^UZ+EJ_b&HtbNNdLmJn#bylZEub!R`kU4N9T6X3rZVYClu9P+Sk zyUhbmTL5`A^8}uzcHp@{S_G7gtW@d7I$nlRJnMis1aKqKT%zTJ(MHxl1;x>3v1=5J zi8v+*AvXh(t^82`)A3t3!gRJR;ev|1 zY5do^66M$5R`gEl?GSY*6!iWbDDn$>|4w;mMolY=f?BTkC*(aftA1rSPt8qw|7%#N z!7F+exB{4X7y@GsoMD9E1I33omHCF@0?HRaV~QYi$!}_XbIE`7UV!yNOO$PTEAKnB zq`yz3tCT_4Zsft*vxJ8ubc-DWfR0B?d6rYUcWXrt6GJOH&=g466`;KqhfcWOVwcin z*sqAwLB}kZvuxT>a6H=$3`yHT9Uj#hc6nM#dwCe2g63E&Dg&<#6IOxZjkwuGP{24) zAOI7Z7y)e`p0+A~6GgX*)m7NOE^7d1RTbHmSIIhEy0h-9D8mI1QN9yA7i&kA~9N zeEJg?XO)#~5A?(`qP!BtGDlStEF>rca|cZz_&1qPxJ^xLTQNSOq?dUprWa&qC{|{a zKeUcaU|vK3{2Nkz+?v2!JsE=gYUL_m$Me`0jSbpxme|d|bO&Op$%?YtVq{jS8uCOG zqn%PyB4VmvvHP~!EJig$c3C^Pw6L9`xKhWn!76cGG4ZzZGNrZw0md7GQ)maL(kN9% z2y6&_+o;y>1YO&pF;uJlHnthEHmH21ysa4;_h@YY@vHv z82}9r9ItI*>%b@Ni8QQpB9 zAu4k0Ji8?f3D^nB4iU>RMYF`^*9%b|d0<(!J4`3*0o#X0C(@PK;oXyUqCIp1!%^3X zLX+iVhTh2IOiMNcn$KxxyKjxjD$@g)@WyVn(TknbBm2o!#%71 z*=x^aCI46pOUz(0%I*j()Fm1^Ak82!Z$_}oA+}Zug>k-GIfQ`NM=--$EICb+VM&rj z*K}hdK$Bldpt@)sp(Kk(YQi16i>y{s+e8_4p@++mLl*p0oSh!WmIhoeYc0^$*AM}i z3kxu|96JDtIOC1%=m7@sMZ`{LWB6yh@8yp_?#WEGlig&(`ua*To1LMo8XfM~oP=uq zTjHjYgFom49Z7Bj2{bSC2QN@VG9YDaS>gVjw$U}_MM={QdPlpNy$<~`e2_528m}$v zXjP}pd5&tt)SIm9w(M9uyfBgjo>JC&TgIh$ql(~sCI|TaWhyWkw`IpCO^5xHE2fc= z>rt|@HwB`()^v%PqUwK$Y%nU4!*LLs4r%nT!)RA>--0o#hcRf)5*>t=!B5&cOf8`b z^}PX)l7|PF06YvvB1={eCe4<;#n~!r*-&i`XofN}@B!}cofh}X1b0-p1Py~p($tZS z4$GpDzb3whm-c$>IK&R^kmD@+b&x-h5n2sj_>c>j;wpq}DwpW7T z6>)h&R!JzZPntoORUcsI~8K^<1Zq#2l7d4~3>WRR2SP(#O5GISO) zbWSCMW__rEgZQWK19K?Pfb8e=8RWD%)X+VZ3{18>!?dYnz}J1AVfs`u$ZRe&sXCPm zJ%tQCQ^|m{{k(>=rjh}_{CS46r;Ki$-f&T?ix5noeIBVZ@zITNufNuX|y{I-YhdjARbT zh8E|OY3D+S7ZTxx5xzju_JxtGlJO_O9wx;^lMRXpmMIo+bPs{bpwk@WG?LXSD^A;# zrI2eQPc4|jLW#A8%!_(-ILVl?maMjNZWQSplpPI``-yqx`GOVAxMfT)#p+@1iqA3m z!Q;m7cZnsso{dVP8#`p2d6~Bv9P7dcVzEU9!_zT$iHA~QZdvC<){VSg#hHDnvds4g zY=t~uP$*gZz5kJGh_P!;TC!A5`Rw}$kH_y<^=n;(%5sg-Sub7W;hm4DqY1Y{!PtqG z+C|!)d+tWx4!uiCxcaHSGqF=+wGPeOi-bzRJ3W@18pEy13u6DxfDnCq; z7I(Vf7)l{_WCmPz_`P)mXm%;C1O@7ocK_PTpXN4PH8Byc1N!^`P{KZ&aBf!hy|QIG@Px~t?j(_Ar9CkpqB(dJ2k0a5cxBs=rZ-lJU5|q zs<4|r4^v`((U0xZRDaUcX@8e3JtrJZU zhlSBBQ4L#{wC&hSavjLf8Z(QTz=;BV#Z}iFJvrn;1T<}d;sKdFAn|r#lrD^};*E33 zvw6soP@QD+wGm+x`k5G*wEMQZkT%eqJoe2N@nYwZ9d*6q{WA5ZM1L3qwUe!vR&7X* z$=TAV@`Q8(cAAM1Kx&{V=p4L)xK*ft_HexFjK=YY)UOnUq3ImlIgDdx)y4mFM;4@) z0~x&AHPeahL1xI8koFkbRG``XBz<6>u>HL-nyt}Pm-y66cGem?G6TxVqgpFbd0gtF zoEBkJ4dPm3?%F(Sfj?IdYcxoIBB)l#3nnrRlQRxe%fb>-n6{LDS8KDXaUg?bB4VTUy@hnNOG^%{o>MfF!|8lYoDGDF z3Sx{0I;9|{q%4LBX`H{~ z-DJcE5_j-cyMBqgke|>y26Q$=wQ6)C$x=y=qRSITy80d4)rp$ago6pl!-%gG_()C!C;PjSj=OuL5Zu!nEKv5b6vb7r zvRbO{j}4|w;C;reo7x06p_GlmMseDl7mirjY4UKUTAhTqIFWGI^civ}=AM zHjyX#q{*%JrHAiSo}Gf+aI+!d^ejO<9etI+P_#B}C0VRTn$7tBhdRhpce>CN>NQ0Q!L z{p>4ChkS3Vbp+yLKG0srHV<2HgGp4M>3|}#fZPL9xR&~Kl%Z+Y66lXj{GJrqz`W9) zmijs9R(%SbV2JeXb@s>{`fjP8zp*|mJ@2>5ccrZlaUZMG zv7+jc^-1qyqT7kqsn1>&%QfNtLmy4UppYY3i7s>9swc|9&3d9Y0>W*ue3HtX>^u3b zP%EU38mddUDwgzu&`!!}3{J4Gi4klZCM>_O5%VR>fgxmsw6(Sh2F4vS?A+ z3Pyu7(jIq5ZB;a}C!ImQF3m_)`jCszt+)j3>hrVHv+m@`FI6c0S?SsSgfws0S+&FX z&Q`UxX%*UYemXNf@6LLU8r7XnhfZ@>E_d0g1`F%28fDS0QD;%vId^jE*jGY`eBH{@ zl}-oH7O|1WPggy#Y}3+nT_?KLC_+--V*JC~5>j^qJ?L=SZ9T|=sKK#8!r;;d=`24; zJ?Z%nc$*2b2(?MT-}yR+FI_QMVwc>rd)8Nw-y^!YPfQA)4kSz^1?Zoru(`zy$mhm! zkuQf0%qZQEyC*;7Z3FENd2jpjm>1$FT3#L(7LfK)J)K7QD6d*!jwuQn($EPLCX4#0 zESvOvjLB@*Nm~}-rlxvfWs*_@*6Ps@Q0=~$h5fDZtKE7CZ?47QpgE}!?Qjy+>~J9h zz;N)^{A`GGM_tI3NlXguW8`5CILZ%&{B>%Ffgo9edESv%W_Cmu`fSzYz9>0UX%YFp z&j>cvZtDw2HmjcjF4o5NkMEJKJfCCp31+8pdj&)#E_U%pm3#Gh=#a z_(!R}y^W$680{6IsYFMPfnfph49s=Lzz}XQFyLx~fgw*Xw1*PToPi0xRF5_PXE&fzIid8Lu!%jo!TCRFaNv9{O(W&<_u~D%n1&#?PY^VFblwidV$BW+A3GAfGMR;U9eWGOq ziIi91@^lJZ?fZgGlv{2HHPpEZHK}t=m0Qfg9XZWu@*+Z+-IfB?Z`(Rpar)6!(Cd~= zs4`Bki@sHI`c#9J>vfBjx*}wDrp-0qozkNs#U@_~(Fg*R zgvAJ)iz@$6id#JxOD6X$g0XZGFro)7fKj0a7!{fb#$pcq-#4e3W)T$80Hacz1dP~R zv6}>p3_fe1b~}n-BCrD}BRp_oViF)(vDG68SAU;`ErJj#2EP_ zf1MvTN<#cSBa0FK;l5PjRJaQ#Bb~9bdOt!@U@oMF1JIwUQ&ua;-XCn$VvR^hOLt<+ zla@7{pa|}2C~9XnqRqNy_Rq+62KzcJ8>8)$JI zHqbxc^X12^_SVs7cfLI3!C0_T zvN!ZnqM$#8s%g%|s{b!nHN?uQc4Jac=sZ9`=4EO!UaKJvJ%+{kd#TDuv^TjM?4cmz zFR=glMo}}>2~@lZSvAvth9v#72`11b37EV#%Mmf{2pR_9?4u+?K(Z)-49Zbyq3Uc) z3TYT*$IffD;0v~@F8N#~=Xhara;dWnbL-7jK@FA7*>Bl4OyzPJ9u=o5SHu}Ps4w2s zHCBg`tEfGi% z8>_cwvgnu1-+Js<7)VRbN(91dLN>B{mzI#L@vOwp5AaUEn*4;o3+u|%fp<{r3Vb-G zj%X4S?A92iQQhxze#RY!u-s3#y;{cT;1Iv|+irpJyA9>FD9*@G_Og|gI`RU1$>usr zMx7Zn0w=%eG1DKKc;56YjJG%ysRo!0UGCA|q@;95JEuE41B}?jVj=b@V-Rf;5VHlP zB{QipzHNy1CfV~}HEYD_hhV&(cN?mvl_C?CmlaFec}z-~_rgV2R?5Xb($)}^{?=M! z`bw$T38{(nOHE`3qY;Hz5UmcNQ6ATU%7>Dq^)A~Mz!`RU=?LqlXx&B#Nok3W2S`-H zS_;X4AtVH0LklMPX(xixR>@CW7e7P*!J{S6Sxu5x5lWXfQe4{-Ey<#dcx2oNAtNGA z`jS2!(nEPfDQuI{GHH>lBoep!qhel@gMge-)=>nyDQyIm|W4hJfX83d{hf9enKU{3zgA^Ass>hC!qIUqSOU}l_DGGVu|6L>9$2|1nCHpPWEGle$pBm-X&V~z+DNsK_cF+BU4#oGEj%I%?5+jQZvRQm^)~S zCb+}&h@AnMIvp}~I%MkfOD1k79Wu$gabv}NDB%>3IoX3Fw!Ihtp;4w7WJ0Kub)DT2 zk0_w!AWZtfYEH-)OJP7FLT6~~Y;1mHMkisIrlrNugK%VqB+W-=mNZVb^kx^#!m|zZ<~Oo^ zT0pU4evHXC`v(-<#F*+G_B^waOn>_6#%Te7mEj)GhEIGwo6;AE=f;+TONlXvKuZrL zgzjedB-IC@FKKdN6d~ad{Y@AJ?7c^^7%GYIlz5f>2uV8Yksg(6(Irp-TThu9;`;L1 z?p8+Mu3$5}K7`Mxq&3>aLXK-O{lmH`5|PE4hc=krHK}A!O%)tN@H<~SOYpKP7%a%q zt2wb=>f?=@-iRj+J8^bCRGM;rTxraxtwaTws?mu?*?>m4WgX zha$!mpVuCm)18$o)enWUS~6bpQv*Z^Xj1w87!RL`KU-_W2lNqz(b1Q3 zzl=!tV3J`kW4aPfv+0#Ox&-fl_{KRvMF(}iX16TuFm9APer-*#U1e^|+D;pgt1Ki# zJNTxncqHE5j%KmvcN5;+lJdo-`a8UUGWRoK42;+{?eV#R=rdzfIv2`^Vb5hk9!A?y zmE$or%h7@zGax$W$?FYe<#vG?$6?PbHAk~TtXB})_i5E4`oKfQ z@Ssk$MZGAyo7awz3VYU)d05#@!?MTt@dXT{fB*=>2x^s?vohQHCkKEV zCR<=BkoJ7HrG!;YxK!SFKv2b5R6?dX9EAi(CT_42p*R6oJ9Ho4-&wJ7NWHF+)9OB~e+XM#Y_i1xr`v8MrSHcvG>?*WkVfRr6O zc0g3#nRGg`-p!t$Shg7cqltZ6UuTR2bQgkes~Jddect<+?TNH2F{r>;J1UG1{?Dm{ zFm;X!tNYnj#>II9(D3NsA04Ep>R=?OLh4=qD0|>fUH-`BH}mJ+#997K6>Cc)z-Sq$ z+~WxarEx=Kc9dS&A0SkBf@23K7K>{z*cqJ1(r2HpV;lfrBK zM1R2!K!tg5^&Kn{PSh`Dzuvv5U%^@o6uhV(0K%TSp*$EnZHk)$uCWk&y3(YVzzUhJ z@L{ArSv#c7$G-`L(dv_d<5q>IH)(g#{1Tg1i?BYNZUl06pOOTrc*; z&dBdnqY*P2@G~bF4e3}CuVZ0@g4+f=?`q3ALvRZC3m#L1zs(_#r2zl`6fH+dbQ;Y0 z&)V{*L9A2b{3I>^Xk+d|_D_oQoTZ$I?@f5Zq-Pb-U*SiN*$rKsp|%iYim2@yTSV>u zU5y2@rA|^`)WvzbKL<^Rdy3#duBRCZIW&6v1@#rY+a2DU<10fht|_c%ri~s&oytdcTKYG zJ>%?MogrtdF0>)v?aHMW?j6~JJdzw+W>N%}WG0=wBH7kMoMX7R@+yvd2Tvlm&MflW zJ6-Obf6lxavVbNFCC)Xr6L76rx4poj% z2+!-%sllVMD%P&c;+Xr{Vc-_*{9fB#HpPmr#^uxQ9y=9eC+ymU24aeZC-f3|= zTwD$p&_gZXt`pKU#PaKKg~5V2Yp~!WfQi@6O$;-?aZ0j}&s>>}+c?>sY8Xb&gvoRE zgYqj9><8QB>_IyayI`V}JJ=x1z-bAj-2#p_ef+UYTrI5q7;>wWNF+?bY><+h%?6F> zF1fwvr@OH^Z}S`F7G@^=2jU}U=5bl~5CKuG!i8Uv>}5)2+!I_!oty2&((+LO{GmAM zbN@BZc8PQd;HDJfHekC>0~i9NBzwSO$B30hcbyHPVs}{VK4N9}UGH|WW5k+!Q)jU5 zao`BC4l#rTdlHqrjdm##6Hm3ZMQweAQ;`(?2(Ce&P%F8;qR_e>7)4+pEv&Q_Y$IH3 z(H6qRwj67;<#AqpTd;ba(3VZiCPm7SRhG^tVj!s_5sv6->W=d_bvuJ4zD(w>C=JZ< z6hwl6T3C|>GB3UL>F&58?^P^~d9=%VSZJd6dKbdb{zzUOyLeRYtXJe+sACq1ltrRa zOqv&?0g$Lv4z^@NjW;dI;-xANK+`3Tu5b-cegg+)>TBVL>F^3349AT;=-%}tFHQ0RQGse!fgN`2JIV*!Qpm`{ncUUJ?>D|=|=v^(q5)Jkhbx0+Z@dloaTLKAy1 zBIhGr;H5`Rtf+}KX@$%St~kg_I-Q>DD5hp%Ddj;!IrOb&lV5&tb*2d-t0{wtFt*Bw zUU$nom7M|wGgb&|g(9o2NRDa@84uaXJgPTn;%+_NGO>$SEfafr68UISTqZQ`BIA4X z=@@9#o-Yu`_!JfhLk|{+LrTU1u}@DLcu-HbK#ch)D~V64RweIGvZu5_=pZv^tr~RZ zU%>TobjB!suJ6L-s~1efgc^5RTyu>qQ=~gdjaZ^jy++Q^QW8`I zMoUJtb=(m>jgYyVnlMP?WBszm4Dst0*R|Wa#fipz-QvByhJHu{sYN)ZlaRh^ zx^;-O_PNzm6e*_v=>6Dc7w|!Ok6(tbD2`>Absgx^=6yY2E4soLaYb2un}5 zZWY&q#<~S9%~z<#x~20-9O+bt^|&ty>I-ty@Iy6U~ULZGPQS zE46OzRx2m2Tg7&1-72<7>sGNXU|eX6)-B%_ty|;UV(S)>M`?>&w|H{qqt?dywe>XX z7fH2vL1g6`u&{V_g~jXa!r}!*ZVj8TcvXvw*L1gd8F}YG z4J*UhZt?1Y#4|~Xo*NVR6K#a97i(e*(+ZuhVo_Rx=#L4smKDZUsv8x5RytjJp)z`% zX%Zk#LodX7S*cAYGb$mD`S^Udb4IH>?cu1_b#_VJbgB52k2~2?O6o!%q?~m-nA9OP zKFZb(*m~uosP5~!(b(pzE#p&IZ9yWfww&nEYHOUHu@49tSEp@`ZJetv(SvJf9FM*l z-7l=W^4^lWurv@*Hwji~jh|P#y>=F-qj*_c=de;Ya54|pH`dQhXZRyncXHHX!Dje$KJk&Hs)%XVSFJMNMV^};2d_$E(ZSW1#$MX$1>v4PoUxXcEJUF4H%Fg!O z0zNauEtnI16m2^1R^=gX0W!w!cYn?xVBCQ(DWpm4a~&74HJo??p4?f=?lR7D|Cd{! zF`MK7^HG)XK5Yy_vbl{^bA6)2jYMJrV6;TM-^jz6Au#%q7K00h*ts2oR@7&eZDCuG zvn`#^D%(QIur2!`Xldsevn`HPHL)$8kQLb$PjX>fe0sP6pNxH@`>F+UEtJ>T79Kg< za#*DHCtzD(%S7*+*cRW6Cbq>jNUJ++3vCK)i{&@A#jnz^Ew&B93((|ji?6YXZSgfW zu`T0k3~bAkYJAq&7T?0aw&ab2Z2=kuwuN4Mw#9)#Y>R=$7|ZbtisLQE$4;GX;f&Z% zlWj4Q;n|i09ZBotg0Le&5C$uN_3ahOAuXkQdc--xNMuhqcEA=hps>eF#2zuZ#S!Ed zupp+BLl9zdhg_VbHWYEt;>KK@$#lkvTf7{EX=6rb;z3LMdQ{|o4hy=-7SAiT7(;K3 zYn)BjD9|db9bj**w!=+QmqQkJ&`DTa9od-0?RRmm1)3dudnB6LH$m!R{WGbH^{On_ z99|^VR3q{|M6$2}RTfDok0^0^MKY!*tIuIQ-3IiKkFxUkq$WrLcCaUVN|e0SD0$r2 zfPQ_VpbMHvuagX>*x{$~#W;H=j%}FYJl;u=K!aVJ7Xl)*RBK$E-v+{ydIS|qOU}B#5hvsvL(aNU zqX3>FXI)DQM$PTfTrWl^^wy-UIexPU(cEib&TN-vXzZn}4zES-gn1K4*pZV-4AB6K zg#EN6hPGUIiQ)fj=W?T9*H=bBh!VoNm}r*ew?W9XuL*uD60zZ6`;=w*>^yW#!AZ_A zRlpmbiS=z@+8qPz?qm^TMBnWwfD?=g#l$p&VJ<>aW=Tcsop}@(VpcS`WpRnb3d031 zNO8ZHZEp>kv8l|q<{>*e-kNPLL?Gvr;S3t@QM23CW!w}EE_PJE9=nl2$%S6E$U=hM zlCGXqNr4peCs0yA!g3`=TTTLY6-dA{RZ>tgN{SuKowV)LN(u>uPN$?O6@(i=L=?fZ zZA@yrdaA*@Ev`4Ng+>s-EmLp_k|P+G#2eG5A?9gPQZ&lUl@zXA$5%q7RI^>2l{6_S zWK=>ogg(9u#@1(r+4MPBHGRS~q|^F28ar`}InPjwAr+41n5JNIB?aTI8k>|9zUn3= zMGhA!DQE{u3Ul6I`ORyC@lGv5Mw3k#zyeJ%Yv2a$KE09xQ~g}n!+U$J%OSS>OF;s1 zVUG^s63&G^WzlJAlDx17Lg$4&Wv1iFl@!bskrp$U`+O@(3bP=>l-SV&nej=qUQkkW zX!V0K>pCyf5-;~;~ONAk|IZW=FV6kufk4-E|G*Bvc)2a>kN;r zK<=p+&4rWamc2ZeV_Ah5r*C7Wr-&y^)G0lyP?;5+zmGA;(6_nfc<(Qdx;O_ut*DRK zjM+u)66ZGfFoS||el{o)@l$j&KZ=&ud4ObKZ6KRlAUoun1lPpJ_ScRH|$ zE1s}ok9t`t)IXm-yyvpgpVo?PvQocdf6iO&%nzz|JXB-g17XNz&ymeeEa^lo5(Mbk z-hB}GIQIz&%cNEdXRtJlw3@*aj&u62)iZbcZ)Qmhqq7+_yHZ&;?fC4NGO}JWMa=I% zrqQyglVUTK*^omTnGU9<$}?*F{`;^}`zf^jfwvzxleT{%&W&58S*35z0U|HqK0-{h zWbf9^+91bK&W6vg;7?UK9FSLv-A3;gr5IF0Qh65v*k zyc0htoa)N{`e6#doI0;gETVn+w!XxLFT!H8Q~iClIT5R7+Y?#+;Y~rqjX4Ri!d*K{ zZ|o+uLMK298IB~ve(X%ttcK+Xp2m479sq=iS2*Gf)$R=1>Qgop{m*I+SDtMDfrS zZS^QfCjCz_P%7DM`8j^BLH4>^@2Hq4x2@i(!#k-ZagK`VRc_0Vw)>O$@q=v3XBd9> z4OGLsr|`?{o`2VqUGEXm8d{4=YGU~rxjCd@*5>+|yC-BJBO?aIThFLTKShU$d5hi? z=QL7`T{yKOE{&m=nK@$GNIYcR*v>_8j)d)qxcGDLayfUaWe3F@?v(xB*ih4s7l>lW zZl(^BRlgsn5u1=)v~OhatKM9Te4j%wUcZv>J;}vCU>36x+i}DP_O9ruL*-C*rHk>y6f7HJl81 zp43w|@&Z@M94ZufGBC!vvsqA1gn2Rlb+;2U1}EbfRhC$JE{sx|z&Wn8&beX|q@`Es zo~w1#Ijg2c!_G`OP@fU#X+I2w%ro648w?ERAh01m#W{%C6VE{~WnmGT&q1&SbLWrU zoQH#)p>q)O(MG*S2>_jmQYJZ`U`FYR#-i+O;aynog(bG$gB)7#jl2oLS?`}vYJi^| z=Y=Id8$Cb->k^onZRTBUfEHuc`L22*Hh{Ol1|)U_T;M+6nEP}$0#NJCHen$ zV#g!XjO%o#r(`+ecu<|CN(p%%@yDNMC!9o`djTmU*&w~pU83iUlC6$g?*e+IevZFC zJ^iihUgGfDdKY$7*y{JEo9n#8P4SKQj=MPI*Pq_Uor8wSDEoAi9@i+`MH24U;~Pf- z)6JVUZe*6A%cY5TZRE1G_R2;_rPzL&jhq&x2D2tSlT&HdnJV*?2mYe72Obs-dMS~k zV{`Z{4$Cbs$J9r;n--tv1-XivZ&CB&@Xs0=70pVRb8KBu7tnl!EDK9(f#Qa#c>z19vE)6v*Yp_URp zDl;6XoPhIak@NKwgAbb@vpI?4+<@zPrwm3xB+2^&XB6{RNc}C;5xbSA+6STt=kruL zd#KBC+Bh34Zo;|qCWUwB9p~=6>7jS$ZC{a>&QU7vFktYYoeM zGym9arx;X+NMr48{zzNE%p>LG(})YtjGF{Rb78IS7gy(|)~RYWo($pCy?%Z_d$r!> zW?0@=n_*}UJ{y=e`s0|kxnUNaPfwv7*_`YbMG2wQvozRA_D^KW4)KSx;5yVOD4c|k z%R9}HeJzn0+_20op+|P=_w|}C*Wnk8!%y}J2S#?BxL%s@Nym=Kh2ymepO`B81f%Ld z>DYa_a)%pWrZr1p;AKGsR&R(>`GV%ReylZMe^)5rFP5y$GmNhBIh1@VAt?Mfbi<4MOh>7E?sE&}^6|isklB=%dt}iK>hK!{O4ooYP1p5+O zuv0K>V?XXu$(ijMfxabzWP-UI`OCH+vqN}d$Xpd@G4fM?hQqYe`SOZ5?dc}%0e$Fj{a&}Nz?uO;~bho;27oQx_3Gu5NsSeaR(I#}1{H;!**(ltKc^N-nKu0Mf zL?qc$ZMB$g+qz=C6q0Ahr>pI&%!`d*shAAlvX-Mr{ShgI&N6`!9;ir{%;I`l2)h}< zH{OKpf!DR1n5x@-DB`VDHJtn#i`Y%y#e-J=4^@QlLO92y06>u>Pga`SaXNm{v+>^8 zQL_c#WDjeXe~#_)S2%DnX<3W22^VS#O8Iq^qSVc|X#ys>vjMAUgBZ+IQ=4&fEiu@6 z@_&ngtN2X`Yv{Ib3M3qusm(Go*Z5$x2ew5=#met`vX_z}p{D9Tf{`l&8 zD=P%hmrw^{NheEmMsx_|tWtQZ_!aPN$lMo!r&PxFs5{}C;giQ%-~|2}C@9&1Lf@;q z5^G1RYsZB8J6!!%9rd&KbIs7@ia6{6@UnJy_j8r{+y+CenLnk>l;I-Re}gT0?0}k3 zqw6*}j|tKfRMlB1g6@+4U^LZ0we&fQ?ZtY-+Bt zsIaNAeNLZoDJ)=y0j6hAwz*y`;Epl@Nc)oV1)8j?MjuwoRTX@|Bvmb*Se2_i^$i;R z1y<}nn-1{6g>BXX%PFrsH&PF_1KA#6=+5Bp(A!o?@yZ7C${XzJYa1`bnnng0J6Jto z1#1&eF;09C4zo5vL5!Ow6_RHGkBQ_tYy?&Mb~OYyOxROQU|}c-lk@?(!t|XUX3*k% zA+mE?w#sRR6mA*6Xid_eE^&X6YiteNRGi@=a2L)dHa9D;c^3OxxzmU z_y)sf42<_}3?n1V&!WmTlR&JxpY4HaalG=>Aa%;d{0ImO7f#cdQ&gAre*tPa{%JHWp<&$27~t1Bvsfe5RB;eFmqp-#cc^Y*sSKx?91u znbI1qH42Uvb62LAxR{IlG`A za&P!_8<)KYCl)O0!EprQ2JcXU-s&xT;ty;$9Gp&YCRy$&99JmU6(XKgkaCV0j>Lqt zn#0m=`9+O!JD)GMw9&Xgb}eTw5kLuInjMBUH)2|F!GX20|aqb2&^!(SnLkd zT7|^fo}Fr~?rY8t{vqN$BRk_09e0Vy?W&SsGu!ljl51z6O}p*qUJ0*A$CypFcpE{| zieoxn^RuXq!gKnLiVa0{ul8}ajlkT<-B@ZEP0u7wuPo58$Aj=BNN;hvlg2}7v}hPK zh`_B}7soVk)yPp7v?!|dJCXs4+a^*&ScRQ3vT26-TE7XI-w<;a!dHo0M7| z_7?*Hnvu|bQ&%j8*Qgu0(R1uF3U95O~1L8z+9bW9>8Y0Ek{$IT>ZR?NO z^l~>8PfBgoqt&(ofhN%~@iMFiOJKlwyp9Hn_LoNM4B}mP0zJ3=ul^Qd$g-CwOL%-A zA>_jKI3>v_4^k7m38{{iG+Ix{PIHtrv4)afO>P&Yy6|7e)<#*85-O$6J}M?rjOFc* zYwe1qhXy^`RWY0-Ya z2|_@BGpmG$Pz(*RmLVBc!;OJa6RqJ;ElK--H7(syj~`?Z>n#rs$v}>RUpK4X)ijnG zZd3HQvBYhkwX-;y&F!=*^LCCO$yn{AlWrtW-Oi*U*>XZ(X*RbQbh`UuI_1%cLnokE z$^~7#$pBb5C&F&Gdr^ZDcm)-z7@yE_e_xSuNGowv@mlBuR8Ebq=#20R} zn=ZdkxvuxZh#ZE>ljwRUQ>;?3uCoK!)oZo&NGR(k(e<7|b0)oE@7Zoo<;BpiCP=b! zIVo0vBw&13$?<>HcPIYkT}frZM9LRgNvvj`t3^#@T%@CB0M8c1%bGJ<9=G)Fmu-#A z?@+BB~%XH4LCClum{s^jP5m&CJ~%PcN(Ps+k0 z4e0)Z;yff56&FEr$`M z#TxVy_<9=m^lrT{9lvlVCHywcJTRmDu;-|e;xWd~`CCQsSgr#Ge< z5)J+7sr~@gkXdJ%L(9$BW_wPX<&yDZ>jw4_jZvo?qhrlu^ojPQd{>LD#8O&0X<{TJRxyU*Ud zssHmIy!S)z`e=EyqVnnRu|1#pgU{^v*U%3ZYW!VO$9E$+t%x#?JaSk2M`Msl|Gh3_ zOUzP90h<<^jav3Yw%WSfV#ZMQA>BHY&2WIF3TjSNbG?+;Onri=?r zX_Pt6)p+=8OWRV;Cyk;VwO(50WP+v_ z_mtn#@<7`fyG2^8t>R0_CmK#=6kB~XhK56mXJlXgA|%tK244THO%XdQOC_Zg6c7zE@Vb z71uAJarU<~K|AyR*l$pDi?Le+Y{SQqZh&PCcKUUyqR4`55g7rsI+Z)AKkwy=zeKE- z<$|#&3AKBG2n(duo(?$jGTy;DeoBKWj*oj-*%v!lu{i}TT_pc%0>f7m@F zG14G`MbZY%6qmC}-ar2Mf4%SS*Ub{5^#A4m`?lZR_JgDM5w6TDB>djz z9{TiG-}cDA{$1n~p1AkFef~ZF{P34PtCS+ou-U>uJhOfr416BON#Gy%DB+Yn`(>Fb zK_*WEcmrrTs>~*Zn(sv?G}B}zwEKhcDL#I*RQNbULKho%J!9;YD$hSj#a1mWPj3Tm z&5)WI+T)5ec@9NV-_@?jB36Qn1*y~n2MleU$Q<^Ho@9rJv-z)SVRP}AK+GeHk%4=zNo5nADfez>4ZxvH< z-eFM9z--zq&k}7m{Xd8L>>9=qJYbNjL=dFom8jt3@L<=qEoqK6)C63aV(9 zi{PqER(GHV@9LIpEyy!0S~xA@>{Tm1vhKctuSj_(q?Eytk5s9yOw-JKxgEU`R7qOL z7N{~ZE-j<%l;K3&EajpKkp%Vy83TJkG@4{zxck?1QiRrB5Ir6HpaMU(KqdPR_7trv zFNh+(y#}md5;!|cpjXXWYHiv6KR*y54M+@I#BE{8$9GKu?MR}a@CJk1BSZ1o2 zUNy`8r!UDOHZejkW4fSQP^kn0_DX$wt>?rNYf2yI7{Fw)Mb^I*@Z#2N5uF1EMMW6$ zv~=w(P%}Y)SLbe~5@lh|?Mx;xtpPpREe#>8BrT-Vb@A6I0;k?XuI-ee^c_UhlVSom zf9o7a*))g5xvqgIE( zkepHzYeZ3%5DItfTVRKZ5>8dU;sqD6GMCEWM&#l zCYdrpyjn+wE$dpr)xG@CF(AK+6f(&zuzD*jDyYBB zZuv%w3I>W>rGUQPqUHphbQ@8NEh?y~&GzdWiGFFe@C2bh?UBY^t=M!pv;vL$B&~4e zH?_i*A6ntdN0N(cPgmw+%p2D;RO^$J>AKNWrmF_qZFc0NqgJM?CUC#L8g!m?A=^i* ztM4{7x>IWzLV+~-Tx`*qYFX);cQ|M0++zd?s%^U~u{>uJlg%}1nLYIxu`DJmiu#}Y z%l9AN^1Y9qs7st1^}qYCKmNq04{rPL5JFy|YSjP1zxa>6AO5S)jrF?(fAn9se`ep; z?!8A+U{~t#1_z{4$JGt*cfO<;vEyZ8R+4Yn>KavtDoxGWbf19f3q4_hd>7*i^}RA4 zuGpdPuxrY59&M0+#fcX8fAEKg-u};z-v6nO-0eE?y>D;-=I{T_4?gxk!TgN6ONmet*|DzWp~Jc*o9FN@2A(HUut3V?U60Zk$4!5n$|$ zm1e!;-WY)m=F6Yvio~kl1S_8OC4Hb;d5ENt60sIV#=^6^Nd}bwCtk1;?m{>Lhl2L@ zw2VWA#n~DGNz$%l$nD|hd!?clFLW>lHrPy)pyKW8D;g3sQ{FO_FXPUuVK`Knk0~XT z5Is5tB^zC*ee9y@%M&_{j$&#R?>6%A6IVPv%Ko0+a`r;tB!;U(Lw+$r&i0Fu;DJUgkUD1*y&7fpu!v{lG3jC(0ftSm?6TMdYx1Vk?Qy zQm_HL_Y?#FVt|aYClRx_Vj2nGRjPE*QlgjI$VBdpRe*1lofr$5tYwcA%v%;`-&3%n zy3e;#vO~vgD+VvX-YS~a6Gc(wOGz$jk*PbX=%f!6_&K?h-L3^?aux3CmW2`a9pYo) z0O3RE3)i|&xJu|$m$FY{C$gJS*0)uu3R~wSR?uY|l2b=U-{E zL-;;Up->#u0athLlffgHEGO$0d7Ej%M` ze{IRdo|qR3Rjr0w>CoF+Y#Eh@#ROQZ@TS!4@MsYAzB0a`FMt|W;D#B2)$z*>Nb#MQUh zQObMn-PFFy8bm?rh#d%G>*z9T2W!GsGSEbTJ)s)i`O2Wk6wZXB5`U6NLa;jJ=+Pp} z(Ma8NjiV9tmNwbpE6FEd_Qj*wjL!tnF!w)@__spbKgZ$gp}5i(LCC+CRKC}0$I+5L zh^VeGbIMAJnwuuZ9agVQQmV!L=`}o3yH8A2T|-E;S@(}6inz=@E&y(%W8qSfjxJ~5 zrwxZL#F9CBDcgMzI>Q+?HnVl4I$iZL8`^IADQPtPyEtY@ZsrajBL0$%>g+U1TMA73 zT!ooqg>@6UPgD~hD_SpwTOC81USSm>yTXm?O4(yt)fjcFK4G{dm~H{^T&kuv`cK;Q zu%77H-#l;SDvhD43Sl`uX62b{RkX7zARQ4!u}(3XDq6PjpgvSoioB@5!SlSH))3X+ z-(ZUr)!YiO(BvihgT;y3j0GLDky>oEp#!pUX9O^kNa(cYrXeV!GA~Kxp{<&BJXojX zp{zrjLMDlMhmZP;NUDZKDemN_OqEtB$RMt8PYZLanOMHu|EQ+C)J~tZZwuxqt9&PMX_H zS+ix~Qg7TB!0vnQDi+^(m#WxM~3_sxLFJjPmyawSpWr^oyMHtvM+86Ar% zpFelm(pAegtXeuUaKri)ONR&6-!QoPhFb=28(4kAO>0&!Uw^}z4I?*fSi3O2BYkO_ zUX}89`5h7G(%GT&t41ZB7xQe<^EcKH46na<`O?*^?^r&tYR$;V#TPAGI(*BTi-!kp z8C*Xye8hnHPExO(}(?H4T@rqcBn4X(NHikmOFa`~l~-gMK_OD>;3|B{<8UUA3T zf#K!DwBo{BmyWEsaQ;P?EV$?r%X`P*z^dgptY5oy*}z4^>#6fK)V+@9Z}aQrcgesd z3#QtqA@%8{=^c-Z>rcdiopPblIt{PaL-uU`~^&3`=EL^x@^_zy5uAMvY#&pf< zbm{8!##asx-YZ@0oT`AxOWH@w+3`ppATw3&9QtS}Cr zBCK%;FxkkvU=qR`cxM(hg;jU>zLxj13gKnE{}R7}+t&^(8=>bzFHK+e()7&(FO8x( z3BC#Vb}`SkLY|lLUaa%wgkMV>JWBZ`jGj*G~5fyednxbYdj z729=?aB+MU7L4cf3vD~Xd$kb$GVjH4QMfoRe@3`CE}tZiZeY z$5m@q-*WM-OK-Qy_$b#itfpSUOJni+fu+k_YhWcvl_a`%d094vSU~jtnkcmEN*pVEy`& zRgezq6ODq-jihfH99fYL3=gjvUf3BOq26CDlzSuZs`qCF%Qb5URs+n}4z3=&b;GSo zhL^5hzjWEi;F{H$fox&AX!Y6+BLRRTYu2Qz*1U=Ky$_#Zg4v5-*9UG{Is$>ExRC+K{>U-%q1w*#3x}2eXVvdztJbU+Nk@$q zt)*V!yXt>A@q?>xNk>);&{JM$EX3D__U3_s_36Ov%LWFPHzip+yhd^B1&^JS2f0Fc z@5+6iFE@m*BHUg0zJT}33gH*|?>_@LtY5Kac*IYpoIKvNVfifsBSs@{g*1&c5aI?m ziRj$>+NwrR9^^TT_Ri%g9QaFqg5j^PNdvB19YX)LYu2wHylK^dVDuR21(%TTgwLnx z>M}SWGnHL)_&&S6YBVb3xgMIMx*BbNoNP4I%swu3qKCpc4n!(j0<5@%d za)W)MD=Vm1bVPi^wftCSrp&vwlfKBig|fa%y!edJ*BDvad*Pz*`6W>+{kvMNTddZl znq)?vVSopCOP8%#4cJEXy6Do&uefM!#c@z?;i-`hwfr&f!iuYx4ywh4oW;^ZDN(ea z{F=Sr;@MFsXE*ON`2F-DuaR)rQ|@xu(?`A2_`RI1z?zYC`QUAX%Lme%?tph3UIWP) zCEdAv59!67S)Uv5n}}@#%NM5UucYb4X|#v@g4s8CmUuqmpP@Xh;Nplvcs}o)g|M(& z^@Z>3C7aqKPWha|_uuAS+@#)89-*1lz|(JZMtFY($#~@ZdkEq&5&ryMOQYFl%8phTE2%is2!xZ z;-X93_OH0rd(+bOw-z)09{DuJ7xELVL-?X`VeL4COX0i5eoi5r@!nbp_m2y|o^Ub$ z8weNk|HioV*NqF`K)BdGajI%#XpdIn;&)M{V))JD!fzQD{vE`82)~+l!6}5*uVQ)E5-ygfc{Z<*eiiS<@@^%3apC(K-d|J*Yu8jP z|8^ff1ssiS5^h~~cGcR75XQ<3;hPDIiw)shc)z3&Ucvk2h43Kn!k3VK<+!l=D7b|0 z>LbF%JghznPT{*~i{^a@i%Tu$A0{jqgzxKlFSc)lu;^#_zJYhq&k(+w_ZJqzqr4aU zbI-W%_Yy9azlpGLCY1L!-hZVKzK?g!kMRBNyuYFleh2TuqwxKAc-O8Vgzx9Q*xxOL zg#+RHJ9#g{`(1?DK;_@xJubYJa1mbrg>VtR+s1`Oql)A6Uc!RkDR9apD1K^2o6l*c zSs^U?FSvxT=IZo9IMA%{U1KEN4&e)Z`ct)IEr?w`w`#OT^Gb9pgf&K@X*xoGs(*rw z{)K$1S93mu1xwBG5EhLnhE=E99lop2>gTh?woGLQbO;z|Uj8z_nBVDkK(9E@@!zL_ zt)st%9pozV2*w&m&4&=y?p-uEglF?E{10LA`SS~5(P+`(@Ljt_!7qe0Zh~J33!cUL zG}nvetL|d``c|y(m4u7+X|2+j&X?GoXQ*cx?_K=PWY;x=^kx4O+(TKv$-D45gkQ&d z2S2UrszZ6SrfZHU{7iXqt%v%jx-~A(l!uv&7r$y|GcT?>^v`(mQy`8JhXUUG5#?x% ztNb*tLb!+bIfbz1q2^WiF4zh$LRhd9UYw$8hqIoUO3!!o23{(J1#{8Q5Ek52ZU_gu z6vBZng>axtA*{7i{R&~>l=>CIqTT9O2#eOLUm>iv6zjj5u;xhk{wlo}!opwiQsKMS z4&~Q847jB^sCoC3;Fj8;e;Rky_iW}W2Vne{p>t1lYs)6M~3&z$GE zwOMUfJt3^R)&3AxpRKPxz51)ZhVSa5+7ZH{uWCmKznu4C{#T3(3x|vO7ZJulZtH#| zQSWPewpPlM%h^o73E(Hnr#7J29bR>ZWbqAA)pb&bN{Y4Nl1mpXOyB$qRryqjsytWn z+{&+opO+NfylQZ5x_D$$!{V2CRhrqLntXw*X9LEgLhJzIUA3U^R`elvF< z?lw@0OL^C7_>)iyaYXtjN+Hhr*`yT5XuBv}kO-*`{nL182J0sZY_rb`a<3V<{pA=2 zpo1D1UdFd#T2W_H=8uaPmA-cQ^4AQkzGY;EFXs&=mvT|39V1Po!DD^`HRfYdtW^IvqaWIG)j|1 zBubq=9pGP4cYvRN27H^y)&E!Ab--CwT>aZ#-A-BB0vDt#u;ul#un5w1r57o(`*!y& ztZd5`5$jtZv7x9Tk=O!;D0WS;wz z;tAXHzXq6Mm53)yQD4BXAWZR1z%L_gZ;zJ%kF>@A4&g;<@Gu*^2jKy5zLJ=+zY}=- zW1vs6r6bHSAmaN0rbr{;e8Bd46DHjOU=?ZR;Ty+@9X`PZ)5yh+a}Hp8ThZvn&Ksu! z<`@+CP6kX~5vMPDQ*x~}?yZA#+BU7?(Pk4h<&_vLmQ7sw%+a~Vmay9L1yV%Ggvh@I`8l2he2GP)fbRiJo)z%jfH`Lz zukmN8rH#3YByx@C99K7lWS=)W3vac5}3w|*eP21^h6!xJ{{O8)HewGA=WE2Hdk5-Uz9n* zD)Z3HG8+d+$)@IxRjc&|2>FJ&DOX=?NP%!C@KLxF_`3SMqa6lM6|`J{+0wV7kiGzp zF*Y0&rr8dMrfEuZ69m)h4#TVgUE0=2JAqbn8DPJHJ{n@_Hp80|X~MW%!>B;e$}!1u zj!$1($L$?0wUmF-r=5dWES%KAPD9j!{gzjhYZy4~Kph$ZvkytTfKNl1>wcGo7?cL& z9g{VNNiE3FbyuX{fv`RQPXJS8BI1iMXK@}E@NW_395@*hEys&-%-EW2OrW8`W9Wlb z;8}8=u@qB0D%p!NxxNS-he_XYpr?mAyRgJO;_pED z><0n=JPqCrm~*R$e*)o5xZ_5%B>=wxdRtH~7%+5rl0Lda}bHf z#yYK9X-O8sG6i;$7|z{) zUYw!2cM4o0x+F?r+*pYwEH8qsB<2>3+XlmA!m_|DX-8SaeGz=lA9urN--)uXLfGEM zLBMn(ev>tK3HTsP{uS^uh-aJFVSD_Oh@WhWe;hE?{388$ z#iXyR6^!ZBzVj|OXV^-^#=m@9z^w26@VU1UcjB&Ac%20wS|0f(>+TX`99jH_;h;CdNQ@>p*sn;^Z$Sh1LEeygVdA*W zRo3R95an_%?Vf{sZD^>F|M(<$6|oiEW(`C2niEvX5%72O*3}?roB9451M;OC5AsI*wyu` zR+s3r+PgZVdrnA`zzntrD$p?@oNMsnY4ABl&xB8ftf03RVbUw$DG1XEcn`uH%L4ut z!sLAcKZbC&4fbNJ8tbjqM^3;jSET<6Ve+qleTZlI#sXgniKwZjz9rF6E-Fn?5}N!( zO^tDV1NL8R#J2K=h&7hs>o$Br3!lLMBf#8G*uy zqeL5g0$h}tL|XEX9oKZgoWDgpVd4_-WP~}N37C5>D%zp)J?e{qRWVa8-vnO;j?M5L zHr%HpOxlhVx44k^a2nqIfZ6YYX6m%OvMzCY4(?U(98ar080s8a&4y-w!> zuf1%_yxemN+6c330dsEbWrJ%FrVg$LZHKvtwik48|0d{4Zp|F_{t3YLdi)$P>ml;LhcNdfc9{6O>uCs<9qX)V8xwdLt`uPVmuRRw zn=>)?{$-~5si!r!PJ!qn$!8|MBud3%>A#utq9v`4gj{(TngCU7u4U{`$Ak& z6m?pW7QYNIkHL?_T;Fy1dt`O;VM`Z z5RF&rb7HQ<)>{srD`hKuw&I!aNyoPtJTgwSqi73q{qf6@a5$z&?a&tRmo12(vr^mm-{RgSmQA z10&)oL2wr8=Ayze1(Qu491S1b{ObB&Ng20fV$MF|3tlsU(LPrG`{Uf;!~fW5=4;fH zJ+%e?(HhNEoMi5aL|$^qvE=X#*>Kzk&V`!?M|p^O=cmEk7xLR`{q+ z&TPl&Twf@L4|Qa%*O*uEpe|^#?tG(eQ*({|#s{Ev4QS;k<*X~xpu7XR@3ERV?ye?Oby!;~%)xaG~1D=X$-(bKals@7%E6ThB z>2l#4%S%Nw>?vVjS*9B_;j{D%;&b4W-$mUyX4%gFm%29~KmSrJr*sB@ryWnnr>;JCD95MvFMfwNXN0Bj!U4bMLhe=jGuh-W~>-W3J*&@ z!_c$6j@A5sBy-_2pv68H9&SFFI@6p_7PhXN-rC$~R@rFlX|QE#;>ny)&lrc7I<+#3 z%oaQ!c|EB2h49%v$Eu!&)M_YV(=TC*=?Hpllu5qlxfJew{EpV$zwLTB>frr$(y3w^R05jwr?B7w@}<4iAJL#{O5~?qQPL;?+^JyQ9o>A zZRsyYn9^Gy6pZ2aZy+4-hr*#)C>r;LBH_3%8i~ik5fBxPbd~!c(o=^Qj0FO*U=Zlz z5l|fop&Fq;6rVxAFMwM3e5gw}Gp$7#V$5?667_xtVM@RPehT3s zHh3Gtl&VGiC2270Ji->wHnZnH4>0+_l4!fO=6Zu+BMdWPv99S&9gWpEHwOP(XSfZg zzqrK4D!B{AUh6~`zbtDpqM*^W(Am$H8eK9|p)sHms zKm?5#i-$tta3B;4hQg6hER0@?2IIb9G#-vcL-51VP%sz|`uP|3#r-~H@WmrhUpU}H zDPd%e01SlzMG+AJ29z0$MuNd$Bn-6Zt8f(D;RCw_L;h$m8jJX1_%8}J2uA#|5Ky2z ze8;y+A-|CR=S zkOu!X4gL#Y9queR{(*dn`ZZC1>KN_wD`9(k>;qh2OaBhS!))-|Y4BTV@SADyAJX7A z(%{!Em~`^5TRstweH?pjMebZvTd@Q_`=SXx=jB%Tq~pK8#v7}Dm(FSn%B2iA1`fZv zegBP+s2btgx&5}gaYtT7#HEGT#m;px^lct#w3yY67uJX3eD2R`!_AL&*U zX}J;!iJq&y9liiCzh%zPl~V9K;nu@#fZGW7T{vN4djr`aAL%;epkX>1;;)@`p+zs%5 zY`Jalx5EiKZcKxJ0+`?Sp$fxSQd2!rcOQtL1Kkf4k-GfKOW7aHQqVH25y- z+l0j?-n#+Y@!kVi%m_b2*beh-jo;2f-e17~B^>kK3rCvngA;9Ve;WJ%V1D}r@^WwR z5FGP949C1|cm8pM{RPq}2(uon1D!qm2)`}C`U3YT!jHi{4(IhwN#F)4o`YLws@c8X zE=`CR@lU`Bd`}|03vM@@D4X$uetRE^c+w`qTTnJ>)QvyX0k9LW*pk)OuY!?S9Sjm` zxt%oMKRQ-}C<*(n*0$oB=GJ6!pad@$g^cHEjCVjv>-mZoE}%-%OQ5L%{_o%dHuyyg z7Im>UD7DRaw~*Fyb)XzH15a_a5i};$!>yU=@sg~ln#1XGd#o65MrKxaPI|I#_;B&v zDgR$W$Ex%AMpb+9>f~9)em->Pvp+6{d1z^_p+m&)Nf>j(B5~Q22I*YZpg0|Em|4*l zp5{SyP``9yEqx>ya*h_W)v=-7O-fvW_Di}6&eHSUa_GLVdhB{B{m8gyI)NfvW^>%?IL88O%#~*xi}}VDng+Yn?7e%BV)av)!$8E3{L6-8zFkjaLSBzA|V|#R=W`vc}kL81!!iju7&uw|Q4O zl=C9e6d=v_;8>1;FGU*-0c_{DKLCCcPRMv~rNM6leh2PdIL^PEBmM}t5AHoU{&DR5 z3C>X2S0vWK%*zPAk8gsn_appgxWB;FB=ERB-e~UHR^i(fRi>_4)XQiygU?$NYb(!8 z)}UUuBMs{{0FL{J1P=nBo;NpRtqIB(hk2V)qCSRyr1=B5p5@gwwxg_qgxOc?&}KT) z9nJ3DUdG?Pv5Yo6{)a*kmqIzLPX`F1TqWq~nma&_HIhn7sA7alHX4g3s%vl`5b0SD z{*^5k6wWc;LrH(SU$2@CwZ3?|zdPSPlusPOH~9z)A{H^qx&I(?{4vcx;f%)+crB2F zx|$*>&bv5Xv6S%~!?+Sa*i48ol2lP`+RQe&0JLt$vT|#w8H4P zU97G+faF&ms2SfOG+zrG@loCX8*1PzCp-W4@Y_-zd$Dn#VC$0 zd{7nppnazX9h&rjKZp|(>TjXj^+WF(@CTqohQ=96TpX1^2MdL_A15DBdE*EN`t)Fo z%4r<4;5a1&rF|#@y>1NZZ67r3fp8G2|1h-YQE1!a5$L5O0cf#t&Jux29?I=Fj%uL( zhPE~YWigL$Vo>$+H~`vl92SIQ5vYZ6Mg&bY2%_2;>Rx1v<5SO7V=U)&STpnlb`N| z-;E<_?2_>N8~T2HC$ETjGrx)5D5;HHZg4Cz8Gz(Yn$|-@;BzitUQ$wWdNqFAqe;hd zNZf@Cj4?Gq#K^h1s%kRQQ&yM*pL65__$<2yKF1DM3{f!*3NCsHL!2=O5ni|*uXFw~ zUhU_NTfNX+WX5oyRY@CxCj)pk!yg6zm+(1fKLXzgUz9@(2aQfMdsqGskUrm*z6bYW zVYTKPsi4m6GumbrAy1FASXpbDYm=oA=EO<;^KeqeL?HfKN4NMc#( z4JvTCy%~M_MdD>UZ+Z1KPxOi_ce=deC)U+(zACS|^05y;T2}qZR|gg>yyn`H($R&B zuHUx(Cp&K5dB=kf?{a2j_8nYy;KR zWiwB%n7d%n;?tI`SXot*tXtD|)_E6Pvg6jf?tXmlop&`gKl=TZ!_RT3TCrNE%B3Z# z^@CM^PJuSUGsH2@F;&YRo4VCGLK~qKx&v~u{g46ie*cbU^0Dbo6-9+*(O zAakb2JAK-qneGKyvs~WPXVbld)fuy*YPQ?!jJv#@kpZspYQbVTCy=$_+PaR6)UHb^ zYO*%^a`QLex_-v?2iC`3W3?5|QQqm^LPziQcP~$#qQzZ#lgJWRf8pNv@>tJ}?{@}s z=QkcBZb`@G5=@Dob6fRXQ^@IVV$#p>l=p;j=pzW)21|5qCC{ zdR(dBjP!1FO0w#3IPtSzPPfaG=Pk$>kU20bH#;*&%T;^z>g~yw`)U2<0qQ{4Ah|#p zny;(l)Z&a1*{AuHfPAxZi*l=WoBLnNmyUlcU#kZ^cbv8E(#vl2EjjJdO;;5BAv@=k ziZ8z^DLrw;>6PzpyzKHTue#-)2Orw~)U&^SbKiRhB+X#xXxaGkStp;q@p44|;=zZW z`t|dB_Pr-{vHN)P`^wtn#w)MA{@LgEWaW)18$WHpSkss=bn0g&#c*VmMmRadGY0& z@45HB$A0zH)34;^_glW=v(LXikZSzSn{QHxQ_m1-f)rOGa+E6+POr2(ftE_ID_ zO!pRPU=G!vQKSuYW~iy#5mo9xRZZ=1Pf&Bz39guXoMZigy#DUeykd1&&aj-+CT;!I z12Xzvw8c^C7!OwK?@2v6ygf7Z^1#kqN9wJNf83x(J)JB1r0#d8e&g`=AFq0yG52)* zKzn<}5OtZh)RWrKzrdUCsnAlFIB(mL*-!It*E(Mx<;rw8Qa9yxe(I9-u};KZrllTL z2dOz(hn&K#sl1Z=EY9K?4dxxextOl0FA(qwgt>n7K!m6G5-sKeun>7U_s5tIZbipA zlK4iM^#nLb?a9U#>U;zk@ZgWw(LZ_wEy`<+F1zMEL`!M!4 zJ&FvP8|>inDud-RX4l+E;#CI9iW0}#rzv1Rd5EIQ8H623Aoo%7u`(hxaJyxf>Q#ow zNLISYXvSXBoY)1_n>SVVu7mi z)FerMa+suECRgc_6L(`Z*{dsa70jQYeSqSSuT}>3%92O92V|6}KGaQ7M$1#s@(O;c z(=C_EL10xB2kJdmamydF*<=V?xw#bK<#**DI3yLd)CyHi{weTF%3O7NhF?2Jj^vC% zJ-wI5lC*sEhLmn&&a;3_qM5D;p%c{Gt(Xz6fFK4?{$CGYWrXO1seZ_RL z@>kI2gg;1Gh)c#HQeV?XY)Lg{_dSM_DN`zpb6Br{E!5yyHnvR}m($o`NRq{?8k(yU Q4Q=Dxd?2wnc~<-X0xqo!R{#J2